commit 94a8d5caba74211ec76dac80fc6e2d5c391530df Merge: 2bcd57a 6ba2ef7 Author: Linus Torvalds Date: Wed Sep 23 18:14:11 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: (39 commits) cpumask: Move deprecated functions to end of header. cpumask: remove unused deprecated functions, avoid accusations of insanity cpumask: use new-style cpumask ops in mm/quicklist. cpumask: use mm_cpumask() wrapper: x86 cpumask: use mm_cpumask() wrapper: um cpumask: use mm_cpumask() wrapper: mips cpumask: use mm_cpumask() wrapper: mn10300 cpumask: use mm_cpumask() wrapper: m32r cpumask: use mm_cpumask() wrapper: arm cpumask: Use accessors for cpu_*_mask: um cpumask: Use accessors for cpu_*_mask: powerpc cpumask: Use accessors for cpu_*_mask: mips cpumask: Use accessors for cpu_*_mask: m32r cpumask: remove arch_send_call_function_ipi cpumask: arch_send_call_function_ipi_mask: s390 cpumask: arch_send_call_function_ipi_mask: powerpc cpumask: arch_send_call_function_ipi_mask: mips cpumask: arch_send_call_function_ipi_mask: m32r cpumask: arch_send_call_function_ipi_mask: alpha cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: ia64 ... commit 2bcd57ab61e7cabed626226a3771617981c11ce1 Author: Alexey Dobriyan Date: Thu Sep 24 04:22:25 2009 +0400 headers: utsname.h redux * remove asm/atomic.h inclusion from linux/utsname.h -- not needed after kref conversion * remove linux/utsname.h inclusion from files which do not need it NOTE: it looks like fs/binfmt_elf.c do not need utsname.h, however due to some personality stuff it _is_ needed -- cowardly leave ELF-related headers and files alone. Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 95e0d86badc410d525ea7218fd32df7bfbf9c837 Author: Sebastian Andrzej Siewior Date: Thu Sep 24 01:02:55 2009 +0200 Revert "kmod: fix race in usermodehelper code" This reverts commit c02e3f361c7 ("kmod: fix race in usermodehelper code") The patch is wrong. UMH_WAIT_EXEC is called with VFORK what ensures that the child finishes prior returing back to the parent. No race. In fact, the patch makes it even worse because it does the thing it claims not do: - It calls ->complete() on UMH_WAIT_EXEC - the complete() callback may de-allocated subinfo as seen in the following call chain: [] (__link_path_walk+0x20/0xeb4) from [] (path_walk+0x48/0x94) [] (path_walk+0x48/0x94) from [] (do_path_lookup+0x24/0x4c) [] (do_path_lookup+0x24/0x4c) from [] (do_filp_open+0xa4/0x83c) [] (do_filp_open+0xa4/0x83c) from [] (open_exec+0x24/0xe0) [] (open_exec+0x24/0xe0) from [] (do_execve+0x7c/0x2e4) [] (do_execve+0x7c/0x2e4) from [] (kernel_execve+0x34/0x80) [] (kernel_execve+0x34/0x80) from [] (____call_usermodehelper+0x130/0x148) [] (____call_usermodehelper+0x130/0x148) from [] (kernel_thread_exit+0x0/0x8) and the path pointer was NULL. Good that ARM's kernel_execve() doesn't check the pointer for NULL or else I wouldn't notice it. The only race there might be is with UMH_NO_WAIT but it is too late for me to investigate it now. UMH_WAIT_PROC could probably also use VFORK and we could save one exec. So the only race I see is with UMH_NO_WAIT and recent scheduler changes where the child does not always run first might have trigger here something but as I said, it is late.... Signed-off-by: Sebastian Andrzej Siewior Acked-by: Neil Horman Signed-off-by: Linus Torvalds commit 6ba2ef7baac23a5d9bb85e28b882d16b439a2293 Author: Rusty Russell Date: Thu Sep 24 09:34:53 2009 -0600 cpumask: Move deprecated functions to end of header. The new ones have pretty kerneldoc. Move the old ones to the end to avoid confusing people. Signed-off-by: Rusty Russell Cc: benh@kernel.crashing.org commit 4b805b17382c11a8b1c9bb8053ce9d1dcde0701a Author: Rusty Russell Date: Thu Sep 24 09:34:52 2009 -0600 cpumask: remove unused deprecated functions, avoid accusations of insanity We're not forcing removal of the old cpu_ functions, but we might as well delete the now-unused ones. Especially CPUMASK_ALLOC and friends. I actually got a phone call (!) from a hacker who thought I had introduced them as the new cpumask API. He seemed bewildered that I had lost all taste. Signed-off-by: Rusty Russell Cc: benh@kernel.crashing.org commit db7907865817137bfa3d5b4b30de9cc859b41bf1 Author: Rusty Russell Date: Thu Sep 24 09:34:52 2009 -0600 cpumask: use new-style cpumask ops in mm/quicklist. This slipped past the previous sweeps. Signed-off-by: Rusty Russell Acked-by: Christoph Lameter commit 78f1c4d6b027993763a5aba83873b0462d06db8f Author: Rusty Russell Date: Thu Sep 24 09:34:51 2009 -0600 cpumask: use mm_cpumask() wrapper: x86 Makes code futureproof against the impending change to mm->cpu_vm_mask (to be a pointer). It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell commit fa40699b975131028a61aa8e095b0b17f350da40 Author: Rusty Russell Date: Thu Sep 24 09:34:51 2009 -0600 cpumask: use mm_cpumask() wrapper: um Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell commit 55b8cab49dd43d227f0dd49e3524406fdc46d37b Author: Rusty Russell Date: Thu Sep 24 09:34:50 2009 -0600 cpumask: use mm_cpumask() wrapper: mips Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell commit 7ce1df49e1b1b004ff15fb0af9a02c6b1ff71f70 Author: Rusty Russell Date: Thu Sep 24 09:34:50 2009 -0600 cpumask: use mm_cpumask() wrapper: mn10300 Makes code futureproof against the impending change to mm->cpu_vm_mask (to be a pointer). It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Also change the actual arg name here to "mm" (which it is), not "task". Signed-off-by: Rusty Russell commit 49b92050f6ce436cde7f495bbb27437bcb09e238 Author: Rusty Russell Date: Thu Sep 24 09:34:49 2009 -0600 cpumask: use mm_cpumask() wrapper: m32r Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell Acked-by: Hirokazu Takata (fixes) commit 56f8ba83a52b9f9e3711eff8e54168ac14aa288f Author: Rusty Russell Date: Thu Sep 24 09:34:49 2009 -0600 cpumask: use mm_cpumask() wrapper: arm Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell commit a6a01063de6298c60f2506dc7659403e02b4b224 Author: Rusty Russell Date: Thu Sep 24 09:34:48 2009 -0600 cpumask: Use accessors for cpu_*_mask: um Use the accessors rather than frobbing bits directly (the new versions are const). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit ea0f1cab6ed43121ff6f24c1bb02e88a8d11a2d6 Author: Rusty Russell Date: Thu Sep 24 09:34:48 2009 -0600 cpumask: Use accessors for cpu_*_mask: powerpc Use the accessors rather than frobbing bits directly (the new versions are const). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 4037ac6e2cb4e3148c25124b431eead4e704a4ff Author: Rusty Russell Date: Thu Sep 24 09:34:47 2009 -0600 cpumask: Use accessors for cpu_*_mask: mips Use the accessors rather than frobbing bits directly (the new versions are const). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 2377afdde16a50b72e0b7ddb96d6b905f73754e2 Author: Rusty Russell Date: Thu Sep 24 09:34:47 2009 -0600 cpumask: Use accessors for cpu_*_mask: m32r Use the accessors rather than frobbing bits directly (the new versions are const). Signed-off-by: Rusty Russell Signed-off-by: Mike Travis commit 0748bd01773395003208996c4c0b3f80caf80976 Author: Rusty Russell Date: Thu Sep 24 09:34:46 2009 -0600 cpumask: remove arch_send_call_function_ipi Now everyone is converted to arch_send_call_function_ipi_mask, remove the shim and the #defines. Signed-off-by: Rusty Russell commit 630cd0460724e286d3c5cb2c33930b0ae9cd6645 Author: Rusty Russell Date: Thu Sep 24 09:34:45 2009 -0600 cpumask: arch_send_call_function_ipi_mask: s390 We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(). Signed-off-by: Rusty Russell commit f063ea02fba5782099b6730d5733ee44638df8f9 Author: Rusty Russell Date: Thu Sep 24 09:34:45 2009 -0600 cpumask: arch_send_call_function_ipi_mask: powerpc We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(), and by defining it, the old arch_send_call_function_ipi is defined by the core code. Signed-off-by: Rusty Russell commit 48a048fed82a8e5fdd8618574f6d3de1a0d67a50 Author: Rusty Russell Date: Thu Sep 24 09:34:44 2009 -0600 cpumask: arch_send_call_function_ipi_mask: mips We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(), and by defining it, the old arch_send_call_function_ipi is defined by the core code. We also take the chance to wean the implementations off the obsolescent for_each_cpu_mask(): making send_ipi_mask take the pointer seemed the most natural way to ensure all implementations used for_each_cpu. Signed-off-by: Rusty Russell commit c2a3a4881dc851ec9b5bdc83fdc03afa31d6fbed Author: Rusty Russell Date: Thu Sep 24 09:34:43 2009 -0600 cpumask: arch_send_call_function_ipi_mask: m32r We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(), and by defining it, the old arch_send_call_function_ipi is defined by the core code. We also take the chance to wean the implementations off the obsolescent for_each_cpu_mask(): making send_ipi_mask take the pointer seemed the most natural way to ensure all implementations used for_each_cpu. Signed-off-by: Rusty Russell commit 81065e4f2b525410d0c80040140e086abfbf7de2 Author: Rusty Russell Date: Thu Sep 24 09:34:43 2009 -0600 cpumask: arch_send_call_function_ipi_mask: alpha We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(). We also take the chance to wean the send_ipi_message off the obsolescent for_each_cpu_mask(): making it take a pointer seemed the most natural way to do this. Signed-off-by: Rusty Russell commit e50a6f19537362ed61f7f74af724345975e602ed Author: Rusty Russell Date: Thu Sep 24 09:34:42 2009 -0600 cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: ia64 There were replaced by topology_core_cpumask and topology_thread_cpumask. Signed-off-by: Rusty Russell commit 399d0682704144ddadb27164343a265774d8b301 Author: Rusty Russell Date: Thu Sep 24 09:34:42 2009 -0600 cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: powerpc There were replaced by topology_core_cpumask and topology_thread_cpumask. Signed-off-by: Rusty Russell commit 4f269bf5e1652370164a0b4b04db7c47c0c96a8a Author: Rusty Russell Date: Thu Sep 24 09:34:41 2009 -0600 cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: s390 There were replaced by topology_core_cpumask and topology_thread_cpumask. Signed-off-by: Rusty Russell commit 434e2187e69b97ad8d035258766e1ea56067625d Author: Rusty Russell Date: Thu Sep 24 09:34:41 2009 -0600 cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: sparc There were replaced by topology_core_cpumask and topology_thread_cpumask. Signed-off-by: Rusty Russell commit 6f401420e2822c24c36e6e1c657f6e7f7f777a93 Author: Rusty Russell Date: Thu Sep 24 09:34:40 2009 -0600 cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: core There were replaced by topology_core_cpumask and topology_thread_cpumask. Signed-off-by: Rusty Russell commit fe71a3c7dc8cfe0f239c04b4fc6501f4aa56aa0a Author: Rusty Russell Date: Thu Sep 24 09:34:40 2009 -0600 cpumask: remove the deprecated smp_call_function_mask() Everyone is now using smp_call_function_many(). Signed-off-by: Rusty Russell commit da83a84b53296a2ea498be8a497c86fb4a1fd2d6 Author: Rusty Russell Date: Thu Sep 24 09:34:39 2009 -0600 ia64: convert last user of smp_call_function_mask smp_call_function_many is the new version: it takes a pointer. Also, use mm accessor macro while we're changing this. Signed-off-by: Rusty Russell commit e0ad955680878998ff7dc51ce06ddad12260423a Author: Rusty Russell Date: Thu Sep 24 09:34:38 2009 -0600 cpumask: don't define set_cpus_allowed() if CONFIG_CPUMASK_OFFSTACK=y You're not supposed to pass cpumasks on the stack in that case. Signed-off-by: Rusty Russell commit e68110fb54c3c784fb66be67d8d18a86286eefdd Author: Bjorn Helgaas Date: Thu Sep 24 09:34:38 2009 -0600 ACPI: remove cpumask_t usage set_cpus_allowed() is on the way out; replace it with set_cpus_allowed_ptr(). Reference: http://lkml.org/lkml/2008/11/6/448 Signed-off-by: Bjorn Helgaas Signed-off-by: Rusty Russell commit 144e2ce6115c0a1ee4cb5c935360ea4e2966b0ce Author: Nobuhiro Iwamatsu Date: Mon Jun 15 12:16:54 2009 +0900 cpumask: Remove mask field from comments By 7be23e278f, mask field was deleted by irqaction. However, it was not deleted from comment. Signed-off-by: Nobuhiro Iwamatsu CC: Rusty Russell Signed-off-by: Rusty Russell commit ef79f8e191722dbc1fc33bdfc448f572266c37e9 Author: Rusty Russell Date: Thu Sep 24 09:34:37 2009 -0600 cpumask: remove unused mask field from struct irqaction. Up until 1.1.83, the primitive human tribes used struct sigaction for interrupts. The sa_mask field was overloaded to hold a pointer to the name. When someone created the new "struct irqaction" they carried across the "mask" field as a kind of ancestor worship: the fact that it was unused makes clear its spiritual significance. Signed-off-by: Rusty Russell commit 1d1afc1957a441fc75a27517b17437d8af3b3b93 Author: Rusty Russell Date: Thu Sep 24 09:34:36 2009 -0600 cpumask: remove last assignment to mask field of struct irqaction. This snuck in after the patch which removed all the others. Signed-off-by: Rusty Russell Cc: Ingo Molnar commit 72d78d05cbaa69f2a32f5f9d65a4551ba0da571f Author: Rusty Russell Date: Thu Sep 24 09:34:36 2009 -0600 cpumask: remove unused cpu_mask_all It's only defined for NR_CPUS > BITS_PER_LONG; cpu_all_mask is always defined (and const). Signed-off-by: Rusty Russell commit 51c870a2d8708bda83c4ba47f26012a8420bdaff Author: Rusty Russell Date: Thu Sep 24 09:34:35 2009 -0600 cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL.: mips (Thanks to Al Viro for reminding me of this, via Ingo) CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so: #define CPU_MASK_ALL (cpumask_t) { { ... } } Taking the address of such a temporary is questionable at best, unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added CPU_MASK_ALL_PTR: #define CPU_MASK_ALL_PTR (&CPU_MASK_ALL) Which formalizes this practice. One day gcc could bite us over this usage (though we seem to have gotten away with it so far). So replace everywhere which used &CPU_MASK_ALL or CPU_MASK_ALL_PTR with the modern "cpu_all_mask" (a real struct cpumask *), and remove CPU_MASK_ALL_PTR altogether. Signed-off-by: Rusty Russell Acked-by: Ingo Molnar Reported-by: Al Viro Cc: Mike Travis commit a0219d948dd712561817b0d7c95fd2f10b698203 Author: Rusty Russell Date: Thu Sep 24 09:34:35 2009 -0600 cpumask: remove dangerous CPU_MASK_ALL_PTR (Thanks to Al Viro for reminding me of this, via Ingo) CPU_MASK_ALL is the (deprecated) "all bits set" cpumask, defined as so: #define CPU_MASK_ALL (cpumask_t) { { ... } } Taking the address of such a temporary is questionable at best, unfortunately 321a8e9d (cpumask: add CPU_MASK_ALL_PTR macro) added CPU_MASK_ALL_PTR: #define CPU_MASK_ALL_PTR (&CPU_MASK_ALL) Which formalizes this practice. One day gcc could bite us over this usage (though we seem to have gotten away with it so far). Now all callers are removed, we kill it. Signed-off-by: Rusty Russell Acked-by: Ingo Molnar Reported-by: Al Viro Cc: Mike Travis commit 29c337a034b5526e80a785409d15d3b7c7edecf4 Author: Rusty Russell Date: Thu Sep 24 09:34:26 2009 -0600 cpumask: remove obsolete node_to_cpumask now everyone uses cpumask_of_node Signed-off-by: Rusty Russell commit b966cd6b285d4cd6feaf8b06b21bc87adb907929 Author: Rusty Russell Date: Thu Sep 24 09:34:25 2009 -0600 cpumask: remove the now-obsoleted pcibus_to_cpumask(): powerpc cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell commit f5564b823bbe211bab98d12de7b1f7d42cfb4a87 Author: Rusty Russell Date: Thu Sep 24 09:34:25 2009 -0600 cpumask: remove the now-obsoleted pcibus_to_cpumask(): mips cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell commit 8194a40bee5c2b47e336febb3666a68154fec427 Author: Rusty Russell Date: Thu Sep 24 09:34:24 2009 -0600 cpumask: remove the now-obsoleted pcibus_to_cpumask(): alpha cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell commit 79f5599772ac2f138d7a75b8f3f06a93f09c75f7 Author: Li Zefan Date: Mon Jun 15 14:58:26 2009 +0800 cpumask: use zalloc_cpumask_var() where possible Remove open-coded zalloc_cpumask_var() and zalloc_cpumask_var_node(). Signed-off-by: Li Zefan Signed-off-by: Rusty Russell commit 0dd52d0df02733dfc2d5f3824e41b96492305384 Merge: c37efa9 fde1132 Author: Linus Torvalds Date: Wed Sep 23 15:39:36 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: add driver for Atmel AT42QT2160 Sensor Chip Input: max7359 - use threaded IRQs Input: add driver for Maxim MAX7359 key switch controller Input: add driver for ADP5588 QWERTY I2C Keypad Input: add touchscreen driver for MELFAS MCS-5000 controller Input: add driver for OpenCores Keyboard Controller Input: dm355evm_keys - remove dm355evm_keys_hardirq Input: synaptics_i2c - switch to using __cancel_delayed_work() Input: ad7879 - add support for AD7889 Input: atkbd - rely on input core to restore state on resume Input: add generic suspend and resume for input devices Input: libps2 - additional locking for i8042 ports commit c37efa932598de5e30330a1414e34d9e082e0d9e Merge: 9e12a7e abe1ee3 Author: Linus Torvalds Date: Wed Sep 23 15:37:02 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-next: (30 commits) Use macros for .data.page_aligned section. Use macros for .bss.page_aligned section. Use new __init_task_data macro in arch init_task.c files. kbuild: Don't define ALIGN and ENTRY when preprocessing linker scripts. arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 kbuild: add static to prototypes kbuild: fail build if recordmcount.pl fails kbuild: set -fconserve-stack option for gcc 4.5 kbuild: echo the record_mcount command gconfig: disable "typeahead find" search in treeviews kbuild: fix cc1 options check to ensure we do not use -fPIC when compiling checkincludes.pl: add option to remove duplicates in place markup_oops: use modinfo to avoid confusion with underscored module names checkincludes.pl: provide usage helper checkincludes.pl: close file as soon as we're done with it ctags: usability fix kernel hacking: move STRIP_ASM_SYMS from General gitignore usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma kbuild: Check if linker supports the -X option kbuild: introduce ld-option ... Fix trivial conflict in scripts/basic/fixdep.c commit 9e12a7e7d89ad813d01092890010cf67d0f914bd Merge: a7ddbf8 2df5480 Author: Linus Torvalds Date: Wed Sep 23 15:22:41 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: NFS: Propagate 'fsc' mount option through automounts sunrpc/rpc_pipe: fix kernel-doc notation sunrpc: xdr_xcode_hyper helpers cannot presume 64-bit alignment NFS: Add nfs_alloc_parsed_mount_data NFS/RPC: fix problems with reestablish_timeout and related code. NFS: Get rid of the NFS_MOUNT_VER3 and NFS_MOUNT_TCP flags commit a7ddbf891b8236b51fb3c9574555eb7d7d13aca6 Merge: 3e56d49 f4edeeb Author: Linus Torvalds Date: Wed Sep 23 15:21:54 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 to add fscache related bits 9p: Add fscache support to 9p 9p: Fix the incorrect update of inode size in v9fs_file_write() 9p: Use the i_size_[read, write]() macros instead of using inode->i_size directly. commit 3e56d49390cd161f34cc049a3661045183d276d5 Merge: c82ffab 58f055e Author: Linus Torvalds Date: Wed Sep 23 15:20:16 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: (ltc4245) Clear faults at startup hwmon: (ltc4215) Clear faults at startup hwmon: (coretemp) Add Lynnfield CPU hwmon: (coretemp) Add support for Penryn mobile CPUs hwmon: (coretemp) Fix Atom CPUs support hwmon: Delete deprecated FSC drivers hwmon: (adm1031) Add sysfs files for temperature offsets commit c82ffab9a857f8286ed2b559624b7005a367b638 Merge: a724ead 5224ee0 Author: Linus Torvalds Date: Wed Sep 23 15:18:57 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: do not destroy the avc_cache_nodep KEYS: Have the garbage collector set its timer for live expired keys tpm-fixup-pcrs-sysfs-file-update creds_are_invalid() needs to be exported for use by modules: include/linux/cred.h: fix build Fix trivial BUILD_BUG_ON-induced conflicts in drivers/char/tpm/tpm.c commit 58f055e5314856a3badfa61fe144347903488989 Author: Ira W. Snyder Date: Wed Sep 23 22:59:44 2009 +0200 hwmon: (ltc4245) Clear faults at startup When power is applied to the ltc4245 chip it sometimes reports spurious faults, which are exposed as alarms in the hwmon output. Clear the fault register when the driver is installed to clear the alarms. Signed-off-by: Ira W. Snyder Signed-off-by: Jean Delvare commit b6b9d69602aec2c869dd2ca730aab2cc58473c2d Author: Ira W. Snyder Date: Wed Sep 23 22:59:43 2009 +0200 hwmon: (ltc4215) Clear faults at startup When power is applied to the ltc4215 chip it sometimes reports spurious faults. The faults are not yet exposed via sysfs, however it may be useful for userspace to read the fault register directly with the i2cget command. Clear the fault register when the driver is installed so userspace doesn't have to worry about spurious fault indications. Signed-off-by: Ira W. Snyder Signed-off-by: Jean Delvare commit fa08acd7d16cd7ea8114f3844b0ef2505a4276a8 Author: Huaxu Wan Date: Wed Sep 23 22:59:43 2009 +0200 hwmon: (coretemp) Add Lynnfield CPU Add Lynnfield processor support. Lynnfield is a quad-core Nehalem based microprocessor for Desktop market, which is introduced in September 2009. Signed-off-by: Huaxu Wan Signed-off-by: Kent Liu Acked-by: Rudolf Marek Signed-off-by: Jean Delvare commit eccfed42215bebda0acc3158c1a4ff8325dea275 Author: Rudolf Marek Date: Wed Sep 23 22:59:42 2009 +0200 hwmon: (coretemp) Add support for Penryn mobile CPUs Following patch adds support for mobile Penryn CPUs. Intel documents this poorly. I asked the Coretemp author for some help. This is totally untested and may not work. Please test! Signed-off-by: Rudolf Marek Cc: Huaxu Wan Cc: Kent Liu Signed-off-by: Jean Delvare commit 708a62bcd5f699756bae81491e64648fbf19e2a4 Author: Rudolf Marek Date: Wed Sep 23 22:59:42 2009 +0200 hwmon: (coretemp) Fix Atom CPUs support Fix Atom CPUs support. Intel documents TjMax at 90 degrees C but some Atoms may have 125 degrees C (this is undocumented speculation). Signed-off-by: Rudolf Marek Cc: Huaxu Wan Cc: Kent Liu Signed-off-by: Jean Delvare commit 91f17e02a224dc649eaffc8e0bca6db85efb9cd7 Author: Jean Delvare Date: Wed Sep 23 22:59:42 2009 +0200 hwmon: Delete deprecated FSC drivers The legacy fscpos and fscher drivers have been replaced by the unified fschmd driver. The transition period is over now, we can delete them. Signed-off-by: Jean Delvare Acked-by: Hans de Goede commit 49dc9efed05ad3e49000097ce1ec31cd3bbc909b Author: Ira Snyder Date: Wed Sep 23 22:59:41 2009 +0200 hwmon: (adm1031) Add sysfs files for temperature offsets The ADM1030/ADM1031 chips have temperature offset registers, for both the local and remote temperature sensors. Following the example set forth in the LM90/ADM1032 driver, expose the offset registers to userspace. Signed-off-by: Ira W. Snyder Signed-off-by: Jean Delvare commit 2df54806389205d76bc3d1ce8a10cc14889ddec9 Author: David Howells Date: Wed Sep 23 14:36:39 2009 -0400 NFS: Propagate 'fsc' mount option through automounts Propagate the NFS 'fsc' mount option through NFS automounts of various types. This is now required as commit: commit c02d7adf8c5429727a98bad1d039bccad4c61c50 Author: Trond Myklebust Date: Mon Jun 22 15:09:14 2009 -0400 NFSv4: Replace nfs4_path_walk() with VFS path lookup in a private namespace uses VFS-driven automounting to reach all submounts barring the root, thus preventing fscaching from being enabled on any submount other than the root. This patch gets around that by propagating the NFS_OPTION_FSCACHE flag across automounts. If a uniquifier is supplied to a mount then this is propagated to all automounts of that mount too. Signed-off-by: David Howells [Trond: Fixed up the definition of nfs_fscache_get_super_cookie for the case of #undef CONFIG_NFS_FSCACHE] Signed-off-by: Trond Myklebust commit 4111d4fde6aa04a2e42c43d0e74593e6144b0f0f Author: Randy Dunlap Date: Wed Sep 23 14:36:38 2009 -0400 sunrpc/rpc_pipe: fix kernel-doc notation Fix kernel-doc notation (& warnings) in sunrpc/rpc_pipe.c. Signed-off-by: Randy Dunlap Signed-off-by: Trond Myklebust commit 97363c6a4f93a20380b4a9e11f35e27fed68a517 Author: Benny Halevy Date: Wed Sep 23 14:36:38 2009 -0400 sunrpc: xdr_xcode_hyper helpers cannot presume 64-bit alignment Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 9423a08ad5773d0a7612d434700561dc8346b6d6 Author: Chuck Lever Date: Wed Sep 23 14:36:38 2009 -0400 NFS: Add nfs_alloc_parsed_mount_data Allocating nfs_parsed_mount_data and setting up the defaults is nearly the same for both nfs and nfs4 mounts. Both paths seem to use nfs_validate_transport_protocol(), so setting a default value for nfs_server.protocol ought to be unnecessary. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 61d0a8e6a8049cea246ee7ec19b042d4ff1f6ef6 Author: Neil Brown Date: Wed Sep 23 14:36:37 2009 -0400 NFS/RPC: fix problems with reestablish_timeout and related code. [[resending with correct cc: - "vfs.kernel.org" just isn't right!]] xprt->reestablish_timeout is used to cause TCP connection attempts to back off if the connection fails so as not to hammer the network, but to still allow immediate connections when there is no reason to believe there is a problem. It is not used for the first connection (when transport->sock is NULL) but only on reconnects. It is currently set: a/ to 0 when xs_tcp_state_change finds a state of TCP_FIN_WAIT1 on the assumption that the client has closed the connection so the reconnect should be immediate when needed. b/ to at least XS_TCP_INIT_REEST_TO when xs_tcp_state_change detects TCP_CLOSING or TCP_CLOSE_WAIT on the assumption that the server closed the connection so a small delay at least is required. c/ as above when xs_tcp_state_change detects TCP_SYN_SENT, so that it is never 0 while a connection has been attempted, else the doubling will produce 0 and there will be no backoff. d/ to double is value (up to a limit) when delaying a connection, thus providing exponential backoff and e/ to XS_TCP_INIT_REEST_TO in xs_setup_tcp as simple initialisation. So you can see it is highly dependant on xs_tcp_state_change being called as expected. However experimental evidence shows that xs_tcp_state_change does not see all state changes. ("rpcdebug -m rpc trans" can help show what actually happens). Results show: TCP_ESTABLISHED is reported when a connection is made. TCP_SYN_SENT is never reported, so rule 'c' above is never effective. When the server closes the connection, TCP_CLOSE_WAIT and TCP_LAST_ACK *might* be reported, and TCP_CLOSE is always reported. This rule 'b' above will sometimes be effective, but not reliably. When the client closes the connection, it used to result in TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_CLOSE. However since commit f75e674 (SUNRPC: Fix the problem of EADDRNOTAVAIL syslog floods on reconnect) we don't see *any* events on client-close. I think this is because xs_restore_old_callbacks is called to disconnect xs_tcp_state_change before the socket is closed. In any case, rule 'a' no longer applies. So all that is left are rule d, which successfully doubles the timeout which is never rest, and rule e which initialises the timeout. Even if the rules worked as expected, there would be a problem because a successful connection does not reset the timeout, so a sequence of events where the server closes the connection (e.g. during failover testing) will cause longer and longer timeouts with no good reason. This patch: - sets reestablish_timeout to 0 in xs_close thus effecting rule 'a' - sets it to 0 in xs_tcp_data_ready to ensure that a successful connection resets the timeout - sets it to at least XS_TCP_INIT_REEST_TO after it is doubled, thus effecting rule c I have not reimplemented rule b and the new version of rule c seems sufficient. I suspect other code in xs_tcp_data_ready needs to be revised as well. For example I don't think connect_cookie is being incremented as often as it should be. Signed-off-by: NeilBrown Signed-off-by: Trond Myklebust commit 8a6e5deb8a8caa810fef2c525f5dbea2cfe04a47 Author: Trond Myklebust Date: Wed Sep 23 14:36:37 2009 -0400 NFS: Get rid of the NFS_MOUNT_VER3 and NFS_MOUNT_TCP flags Keep it in the case of the legacy binary mount interface, but purge it from the nfs_server structure. Signed-off-by: Trond Myklebust commit a724eada8c2a7b62463b73ccf73fd0bb6e928aeb Merge: 1b9894f dfdd8cc Author: Linus Torvalds Date: Wed Sep 23 11:25:16 2009 -0700 Merge branch 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6 * 'ixp4xx' of git://git.kernel.org/pub/scm/linux/kernel/git/chris/linux-2.6: Add MAINTAINERS entry for ARM/INTEL IXP4xx arch support. ixp4xx: arch_idle() documentation fixup ixp4xx: timer and clocks cleanups commit 1b9894f342a39601bb0420b7b8c7e445670c1b51 Author: Randy Dunlap Date: Mon Sep 21 11:12:03 2009 -0700 serial core: fix new kernel-doc warnings Fix new kernel-doc warnings in serial_core.[hc] files. Warning(include/linux/serial_core.h:485): No description found for parameter 'uport' Warning(include/linux/serial_core.h:485): Excess function parameter 'port' description in 'uart_handle_dcd_change' Warning(include/linux/serial_core.h:511): No description found for parameter 'uport' Warning(include/linux/serial_core.h:511): Excess function parameter 'port' description in 'uart_handle_cts_change' Warning(drivers/serial/serial_core.c:2437): No description found for parameter 'uport' Warning(drivers/serial/serial_core.c:2437): Excess function parameter 'port' description in 'uart_add_one_port' Warning(drivers/serial/serial_core.c:2509): No description found for parameter 'uport' Warning(drivers/serial/serial_core.c:2509): Excess function parameter 'port' description in 'uart_remove_one_port' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 5224ee086321fec78970e2f2805892d2b34e8957 Author: Eric Paris Date: Sun Sep 20 21:21:10 2009 -0400 SELinux: do not destroy the avc_cache_nodep The security_ops reset done when SELinux is disabled at run time is done after the avc cache is freed and after the kmem_cache for the avc is also freed. This means that between the time the selinux disable code destroys the avc_node_cachep another process could make a security request and could try to allocate from the cache. We are just going to leave the cachep around, like we always have. SELinux: Disabled at runtime. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] kmem_cache_alloc+0x9a/0x185 PGD 0 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC last sysfs file: CPU 1 Modules linked in: Pid: 12, comm: khelper Not tainted 2.6.31-tip-05525-g0eeacc6-dirty #14819 System Product Name RIP: 0010:[] [] kmem_cache_alloc+0x9a/0x185 RSP: 0018:ffff88003f9258b0 EFLAGS: 00010086 RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000078c0129e RDX: 0000000000000000 RSI: ffffffff8130b626 RDI: ffffffff81122528 RBP: ffff88003f925900 R08: 0000000078c0129e R09: 0000000000000001 R10: 0000000000000000 R11: 0000000078c0129e R12: 0000000000000246 R13: 0000000000008020 R14: ffff88003f8586d8 R15: 0000000000000001 FS: 0000000000000000(0000) GS:ffff880002b00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 0000000000000000 CR3: 0000000001001000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: ffffffff827bd420 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process khelper (pid: 12, threadinfo ffff88003f924000, task ffff88003f928000) Stack: 0000000000000246 0000802000000246 ffffffff8130b626 0000000000000001 <0> 0000000078c0129e 0000000000000000 ffff88003f925a70 0000000000000002 <0> 0000000000000001 0000000000000001 ffff88003f925960 ffffffff8130b626 Call Trace: [] ? avc_alloc_node+0x36/0x273 [] avc_alloc_node+0x36/0x273 [] ? avc_latest_notif_update+0x7d/0x9e [] avc_insert+0x51/0x18d [] avc_has_perm_noaudit+0x9d/0x128 [] avc_has_perm+0x45/0x88 [] current_has_perm+0x52/0x6d [] selinux_task_create+0x2f/0x45 [] security_task_create+0x29/0x3f [] copy_process+0x82/0xdf0 [] ? register_lock_class+0x2f/0x36c [] ? mark_lock+0x2e/0x1e1 [] do_fork+0x16e/0x382 [] ? register_lock_class+0x2f/0x36c [] ? probe_workqueue_execution+0x57/0xf9 [] ? mark_lock+0x2e/0x1e1 [] ? probe_workqueue_execution+0x57/0xf9 [] kernel_thread+0x82/0xe0 [] ? ____call_usermodehelper+0x0/0x139 [] ? child_rip+0x0/0x20 [] ? __call_usermodehelper+0x65/0x9a [] run_workqueue+0x171/0x27e [] ? run_workqueue+0x11d/0x27e [] ? __call_usermodehelper+0x0/0x9a [] worker_thread+0xe8/0x10f [] ? autoremove_wake_function+0x0/0x63 [] ? worker_thread+0x0/0x10f [] kthread+0x91/0x99 [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0x99 [] ? child_rip+0x0/0x20 Code: 0f 85 99 00 00 00 9c 58 66 66 90 66 90 49 89 c4 fa 66 66 90 66 66 90 e8 83 34 fb ff e8 d7 e9 26 00 48 98 49 8b 94 c6 10 01 00 00 <48> 8b 1a 44 8b 7a 18 48 85 db 74 0f 8b 42 14 48 8b 04 c3 ff 42 RIP [] kmem_cache_alloc+0x9a/0x185 RSP CR2: 0000000000000000 ---[ end trace 42f41a982344e606 ]--- Reported-by: Ingo Molnar Signed-off-by: Eric Paris Signed-off-by: James Morris commit 606531c316d30e9639473a6da09ee917125ab467 Author: David Howells Date: Wed Sep 16 15:54:14 2009 +0100 KEYS: Have the garbage collector set its timer for live expired keys The key garbage collector sets a timer to start a new collection cycle at the point the earliest key to expire should be considered garbage. However, it currently only does this if the key it is considering hasn't yet expired. If the key being considering has expired, but hasn't yet reached the collection time then it is ignored, and won't be collected until some other key provokes a round of collection. Make the garbage collector set the timer for the earliest key that hasn't yet passed its collection time, rather than the earliest key that hasn't yet expired. Signed-off-by: David Howells Signed-off-by: James Morris commit f4edeeb3937d5f9953b5722f1cca9573d5ffe8a0 Author: Abhishek Kulkarni Date: Tue Sep 22 11:34:04 2009 -0500 9p: Update documentation to add fscache related bits Update the documentation to describe FS-Cache related caching parameters. This patch also updates the pointers to 9p-related papers and adds pointer to the Wiki. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 60e78d2c993e58d890596d951fff77d5965adcd6 Author: Abhishek Kulkarni Date: Wed Sep 23 13:00:27 2009 -0500 9p: Add fscache support to 9p This patch adds a persistent, read-only caching facility for 9p clients using the FS-Cache caching backend. When the fscache facility is enabled, each inode is associated with a corresponding vcookie which is an index into the FS-Cache indexing tree. The FS-Cache indexing tree is indexed at 3 levels: - session object associated with each mount. - inode/vcookie - actual data (pages) A cache tag is chosen randomly for each session. These tags can be read off /sys/fs/9p/caches and can be passed as a mount-time parameter to re-attach to the specified caching session. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 637d020a02cd734bf27acfc56c6d942cddd9eb80 Author: Abhishek Kulkarni Date: Tue Sep 22 11:34:05 2009 -0500 9p: Fix the incorrect update of inode size in v9fs_file_write() When using the cache=loose flags, the inode's size was not being updated correctly on a remote write. Thus subsequent reads of the whole file resulted in a truncated read. Fix it. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 7549ae3e81cc45908cbeee54a52b24f247fb0a2d Author: Abhishek Kulkarni Date: Tue Sep 22 11:34:05 2009 -0500 9p: Use the i_size_[read, write]() macros instead of using inode->i_size directly. Change all occurrence of inode->i_size with i_size_read() or i_size_write() as appropriate. Signed-off-by: Abhishek Kulkarni Signed-off-by: Eric Van Hensbergen commit 0afd9056f1b43c9fcbfdf933b263d72023d382fe Author: Jason Gunthorpe Date: Fri Sep 18 12:54:24 2009 -0700 tpm-fixup-pcrs-sysfs-file-update Signed-off-by: Jason Gunthorpe Cc: Debora Velarde Cc: Rajiv Andrade Cc: Marcel Selhorst Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 764db03fee50f7a3de91de80ef4a943f0d720801 Author: Randy Dunlap Date: Fri Sep 18 11:06:47 2009 -0700 creds_are_invalid() needs to be exported for use by modules: ERROR: "creds_are_invalid" [fs/cachefiles/cachefiles.ko] undefined! Signed-off-by: Randy Dunlap Cc: David Howells Cc: James Morris Cc: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 74908a0009eb36054190ab80deb9671014efed96 Author: Andrew Morton Date: Thu Sep 17 17:47:12 2009 -0700 include/linux/cred.h: fix build mips allmodconfig: include/linux/cred.h: In function `creds_are_invalid': include/linux/cred.h:187: error: `PAGE_SIZE' undeclared (first use in this function) include/linux/cred.h:187: error: (Each undeclared identifier is reported only once include/linux/cred.h:187: error: for each function it appears in.) Fixes commit b6dff3ec5e116e3af6f537d4caedcad6b9e5082a Author: David Howells AuthorDate: Fri Nov 14 10:39:16 2008 +1100 Commit: James Morris CommitDate: Fri Nov 14 10:39:16 2008 +1100 CRED: Separate task security context from task_struct I think. It's way too large to be inlined anyway. Dunno if this needs an EXPORT_SYMBOL() yet. Cc: David Howells Cc: James Morris Cc: Serge Hallyn Signed-off-by: Andrew Morton Acked-by: David Howells Signed-off-by: James Morris commit 7043078630bbc9eb908a56e08077c5abe7f2d311 Author: David Howells Date: Wed Sep 23 10:40:24 2009 +0100 MN10300: Handle removal of struct uart_info Commit ebd2c8f6d2ec4012c267ecb95e72a57b8355a705 removed struct uart_info and commit bdc04e3174e18f475289fa8f4144f66686326b7e further moved delta_msr_wait. Fix up the MN10300 on-chip serial port drivers to comply with this. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit a70770998c1d99e86eea97294ae3cce059a18d7e Author: Christoph Hellwig Date: Wed Sep 23 10:04:02 2009 +0100 FRV: Use asm/generic-hardirq.h Use asm/generic-hardirq.h to build asm/hardirq.h and also remove the unused idle_timestamp field in irq_cpustat whilst we're at it. Signed-off-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d19110baaf20d5183689287bdbcf91e26e40cb79 Merge: 433c24e b60e714 Author: Linus Torvalds Date: Wed Sep 23 10:11:26 2009 -0700 Merge branch 'x86/ptrace-syscall-exit' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland * 'x86/ptrace-syscall-exit' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland: x86: ptrace: sysret path should reach syscall_trace_leave commit 433c24ed7ff378b22c4d6531a4ce1ffc62642395 Merge: 85afd82 f056878 Author: Linus Torvalds Date: Wed Sep 23 10:11:08 2009 -0700 Merge git://git.infradead.org/battery-2.6 * git://git.infradead.org/battery-2.6: power_supply: Add driver for the PMU on WM831x PMICs ds2760_battery: Fix integer overflow for time_to_empty_now wm97xx_battery: Convert to dev_pm_ops wm97xx_battery: Use irq to detect charger state wm97xx_battery: Use platform_data wm97xx-core: Pass platform_data to battery ds2760_battery: implement set_charged() feature power_supply: get_by_name and set_charged functionality power_supply: EXPORT_SYMBOL cleanups ds2760_battery: add current_accum module parameter ds2760_battery: handle full_active_uAh == 0 case correctly ds2760_battery: add rated_capacity module parameter ds2760_battery: export more features ds2760_battery: delay power supply registration wm8350_power: Implement charge type property power_supply: Add a charge_type property, and use it for olpc driver olpc_battery: Add an 'error' sysfs device that displays raw errors Revert "power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL" commit 85afd82780df133f03185aec7943ee3e0ed56a7b Merge: a7c367b 5b31aee Author: Linus Torvalds Date: Wed Sep 23 10:09:18 2009 -0700 Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/r600: set correct pitch for 4 byte copy drm/radeon: consolidate family flags used in pciids. commit a7c367b95a9d8e65e0f0e7da31f700a556794efb Merge: 15f964b e107021 Author: Linus Torvalds Date: Wed Sep 23 10:07:49 2009 -0700 Merge git://git.infradead.org/mtd-2.6 * git://git.infradead.org/mtd-2.6: (58 commits) mtd: jedec_probe: add PSD4256G6V id mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board) mtd: nand: driver for Nomadik 8815 SoC (on NHK8815 board) m25p80: Add Spansion S25FL129P serial flashes jffs2: Use SLAB_HWCACHE_ALIGN for jffs2_raw_{dirent,inode} slabs mtd: sh_flctl: register sh_flctl using platform_driver_probe() mtd: nand: txx9ndfmc: transfer 512 byte at a time if possible mtd: nand: fix tmio_nand ecc correction mtd: nand: add __nand_correct_data helper function mtd: cfi_cmdset_0002: add 0xFF intolerance for M29W128G mtd: inftl: fix fold chain block number mtd: jedec: fix compilation problem with I28F640C3B definition mtd: nand: fix ECC Correction bug for SMC ordering for NDFC driver mtd: ofpart: Check availability of reg property instead of name property driver/Makefile: Initialize "mtd" and "spi" before "net" mtd: omap: adding DMA mode support in nand prefetch/post-write mtd: omap: add support for nand prefetch-read and post-write mtd: add nand support for w90p910 (v2) mtd: maps: add mtd-ram support to physmap_of mtd: pxa3xx_nand: add single-bit error corrections reporting ... commit 15f964bed054821d6d940d3752508c5f96a9ffd3 Merge: b09a75f 7c32928 Author: Linus Torvalds Date: Wed Sep 23 10:07:24 2009 -0700 Merge branch 'vgaarb-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'vgaarb-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: vgaarb: make client interface config invariant. commit b09a75fc5e77b7c58d097236f89b1ff72dcdb562 Merge: cf63ff5 b94996c Author: Linus Torvalds Date: Wed Sep 23 10:06:10 2009 -0700 Merge git://git.infradead.org/iommu-2.6 * git://git.infradead.org/iommu-2.6: (23 commits) intel-iommu: Disable PMRs after we enable translation, not before intel-iommu: Kill DMAR_BROKEN_GFX_WA option. intel-iommu: Fix integer wrap on 32 bit kernels intel-iommu: Fix integer overflow in dma_pte_{clear_range,free_pagetable}() intel-iommu: Limit DOMAIN_MAX_PFN to fit in an 'unsigned long' intel-iommu: Fix kernel hang if interrupt remapping disabled in BIOS intel-iommu: Disallow interrupt remapping if not all ioapics covered intel-iommu: include linux/dmi.h to use dmi_ routines pci/dmar: correct off-by-one error in dmar_fault() intel-iommu: Cope with yet another BIOS screwup causing crashes intel-iommu: iommu init error path bug fixes intel-iommu: Mark functions with __init USB: Work around BIOS bugs by quiescing USB controllers earlier ia64: IOMMU passthrough mode shouldn't trigger swiotlb init intel-iommu: make domain_add_dev_info() call domain_context_mapping() intel-iommu: Unify hardware and software passthrough support intel-iommu: Cope with broken HP DC7900 BIOS iommu=pt is a valid early param intel-iommu: double kfree() intel-iommu: Kill pointless intel_unmap_single() function ... Fixed up trivial include lines conflict in drivers/pci/intel-iommu.c commit cf63ff5fa4399e215cc5ef322ccd8bddfff9afa6 Author: Rusty Russell Date: Wed Sep 23 10:33:54 2009 +0100 misc: remove redundant start_kernel prototypes Impact: cleanup No need for redeclaration. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit fd8b327ee46593ccc5230bfd053287fbf7c38a69 Merge: 0c9af28 63209a7 Author: Linus Torvalds Date: Wed Sep 23 10:04:37 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: (41 commits) regulator: Add some brief design documentation regulator: fix voltage range in da9034 ldo12 regulator/driver: be more specific in nanodoc for is_enabled regulator/lp3971: drop unnecessary initialization regulator: drop 'default n' regulator: fix typos regulator: fix calculation of voltage range in da9034_set_ldo12_voltage() regulator: update a filename in documentation drivers/regulator/Kconfig: fix typo (s/Usersapce/Userspace/) in REGULATOR_USERSPACE_CONSUMER description REGULATOR Handle positive returncode from enable regulator: tps650xx - build fixes for x86_64 Fix some regulator documentation Regulator: Adding TPS65023 and TPS6507x in Kconfig and Makefile Regulator: Add TPS6507x regulator driver Regulator: Add TPS65023 regulator driver regulator: userspace: use sysfs_create_group regulator: Add GPIO enable control to fixed voltage regulator driver Regulator: Implement list_voltage for pcf50633 regulator driver. regulator: regulator_enable() permission checking regulator: Push locking for regulator_is_enabled() out ... commit 0c9af2807490cc5f4d2833799482c391a3a3fee4 Merge: fe61c99 8fdc9e8 Author: Linus Torvalds Date: Wed Sep 23 10:04:14 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: ALSA: lx6464es - remove unused struct member ALSA: lx6464es - cleanup of rmh message bus function ALSA: pcm - Simplify snd_pcm_drain() implementation commit fe61c99a1227aeb5a4324e39cecf465a4b2052d3 Merge: 9fd815b 877ae70 Author: Linus Torvalds Date: Wed Sep 23 10:02:43 2009 -0700 Merge branch 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: wm8753: fix mapping when MONOMIX is set to Stereo ASoC: some minor changes for AD1836 and AD1938 codec drivers ASoC: DaVinci: Fixes to McASP configuration ASoC: Blackfin I2S: fix resuming when device hasn't been used ASoC: Blackfin I2S: add lost platform_device parameter to resume function ASoC: fix typos in Blackfin headers ASoC: bf5xx-sport: the irq save/restore funcs take an unsigned long ASoC: Blackfin AC97: add a few missing multichannel define handling commit 9fd815b55f31be48dbb3dd23922587d247a4e497 Merge: 31bbb9b ed87b27 Author: Linus Torvalds Date: Wed Sep 23 10:02:14 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: (22 commits) [S390] Update default configuration. [S390] hibernate: Do real CPU swap at resume time [S390] dasd: tolerate devices that have no feature codes [S390] zcrypt: Do not add/remove devices in s/r callbacks [S390] hibernate: make sure pfn_is_nosave handles lowcore pages [S390] smp: introduce LC_ORDER and simplify lowcore handling [S390] ptrace: use common code for simple peek/poke operations [S390] fix disabled_wait inline assembly clobber list [S390] Change kernel_page_present coding style. [S390] hibernation: reset system after resume [S390] hibernation: fix guest page hinting related crash [S390] Get rid of init_module/delete_module compat functions. [S390] Convert sys_execve to function with parameters. [S390] Convert sys_clone to function with parameters. [S390] qdio: change state of all primed input buffers [S390] qdio: reduce per device debug messages [S390] cio: introduce consistent subchannel scanning [S390] cio: idset use actual number of ssids [S390] cio: dont kfree vmalloced memory [S390] cio: introduce css_settle ... commit 31bbb9b58d1e8ebcf2b28c95c2250a9f8e31e397 Merge: ff830b8 3f0a525 Author: Linus Torvalds Date: Wed Sep 23 09:46:15 2009 -0700 Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: itimers: Add tracepoints for itimer hrtimer: Add tracepoint for hrtimers timers: Add tracepoints for timer_list timers cputime: Optimize jiffies_to_cputime(1) itimers: Simplify arm_timer() code a bit itimers: Fix periodic tics precision itimers: Merge ITIMER_VIRT and ITIMER_PROF Trivial header file include conflicts in kernel/fork.c commit ff830b8e5f999d1ccbd0282a666520f0b557daa4 Merge: 746942d 625f085 Author: Linus Torvalds Date: Wed Sep 23 09:43:22 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: ieee1394: sbp2: remove a workaround for Momobay FX-3A firewire: sbp2: remove a workaround for Momobay FX-3A firewire: sbp2: fix status reception firewire: core: fix topology map response handler firewire: core: fix race with parallel PCI device probe firewire: core: header file cleanup firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow) ieee1394: raw1394: Do not leak memory on failed trylock. commit 746942d06acdb4dd78d16baa5f3728a48a033bdd Merge: c11f6c8 c602c65 Author: Linus Torvalds Date: Wed Sep 23 09:34:07 2009 -0700 Merge branch 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6 * 'sfi-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6: SFI: remove unneeded includes sfi: Remove unused code SFI: Hook PCI MMCONFIG x86: add arch-specific SFI support SFI: add capability to parse ACPI tables SFI: add platform-independent core support SFI: create linux/sfi.h SFI: Simple Firmware Interface - MAINTAINERS, Kconfig commit c11f6c82581e8be4e1829c677db54e7f55cebece Merge: 40aba21 193a6de Author: Linus Torvalds Date: Wed Sep 23 09:32:11 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: (119 commits) ACPI: don't pass handle for fixed hardware notifications ACPI: remove null pointer checks in deferred execution path ACPI: simplify deferred execution path acerhdf: additional BIOS versions acerhdf: convert to dev_pm_ops acerhdf: fix fan control for AOA150 model thermal: add missing Kconfig dependency acpi: switch /proc/acpi/{debug_layer,debug_level} to seq_file hp-wmi: fix rfkill memory leak on unload ACPI: remove unnecessary #ifdef CONFIG_DMI ACPI: linux/acpi.h should not include linux/dmi.h hwmon driver for ACPI 4.0 power meters topstar-laptop: add new driver for hotkeys support on Topstar N01 thinkpad_acpi: fix rfkill memory leak on unload thinkpad-acpi: report brightness events when required thinkpad-acpi: don't poll by default any of the reserved hotkeys thinkpad-acpi: Fix procfs hotkey reset command thinkpad-acpi: deprecate hotkey_bios_mask thinkpad-acpi: hotkey poll fixes thinkpad-acpi: be more strict when detecting a ThinkPad ... commit 40aba218969914d1b225e742617adb921cf94eae Merge: b64ada6 cfd550e Author: Linus Torvalds Date: Wed Sep 23 09:30:48 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: Clearly mark ACPI drivers as such i2c: Add driver for SMBus Control Method Interface i2c-pnx: Correct use of request_region/request_mem_region MAINTAINERS: Add maintainer for AT24 and PCA9564/PCA9665 i2c-piix4: Add AMD SB900 SMBus device ID i2c/chips: Remove deprecated pcf8574 driver i2c/chips: Remove deprecated pca9539 driver i2c/chips: Remove deprecated pcf8575 driver gpio/pcf857x: Copy i2c_device_id from old pcf8574 driver i2c/scx200_acb: Provide more information on bus errors i2c: Provide compatibility links for i2c adapters i2c: Convert i2c adapters to bus devices i2c: Convert i2c clients to a device type i2c/tsl2550: Use combined SMBus transactions i2c-taos-evm: Switch echo off to improve performance i2c: Drop unused i2c_driver.id field commit b64ada6b23d4a305fb3ca59b79dd38707fc53b69 Merge: be90a49 b80474b Author: Linus Torvalds Date: Wed Sep 23 09:29:20 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: (85 commits) ocfs2: Use buffer IO if we are appending a file. ocfs2: add spinlock protection when dealing with lockres->purge. dlmglue.c: add missed mlog lines ocfs2: __ocfs2_abort() should not enable panic for local mounts ocfs2: Add ioctl for reflink. ocfs2: Enable refcount tree support. ocfs2: Implement ocfs2_reflink. ocfs2: Add preserve to reflink. ocfs2: Create reflinked file in orphan dir. ocfs2: Use proper parameter for some inode operation. ocfs2: Make transaction extend more efficient. ocfs2: Don't merge in 1st refcount ops of reflink. ocfs2: Modify removing xattr process for refcount. ocfs2: Add reflink support for xattr. ocfs2: Create an xattr indexed block if needed. ocfs2: Call refcount tree remove process properly. ocfs2: Attach xattr clusters to refcount tree. ocfs2: Abstract ocfs2 xattr tree extend rec iteration process. ocfs2: Abstract the creation of xattr block. ocfs2: Remove inode from ocfs2_xattr_bucket_get_name_value. ... commit be90a49ca22a95f184d9f32d35b5247b44032849 Merge: 1f0918d a87371b Author: Linus Torvalds Date: Wed Sep 23 09:25:16 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: (142 commits) USB: Fix sysfs paths in documentation USB: skeleton: fix coding style issues. USB: O_NONBLOCK in read path of skeleton USB: make usb-skeleton honor O_NONBLOCK in write path USB: skel_read really sucks royally USB: Add hub descriptor update hook for xHCI USB: xhci: Support USB hubs. USB: xhci: Set multi-TT field for LS/FS devices under hubs. USB: xhci: Set route string for all devices. USB: xhci: Fix command wait list handling. USB: xhci: Change how xHCI commands are handled. USB: xhci: Refactor input device context setup. USB: xhci: Endpoint representation refactoring. USB: gadget: ether needs to select CRC32 USB: fix USBTMC get_capabilities success handling USB: fix missing error check in probing USB: usbfs: add USBDEVFS_URB_BULK_CONTINUATION flag USB: support for autosuspend in sierra while online USB: ehci-dbgp,ehci: Allow dbpg to work with suspend/resume USB: ehci-dbgp,documentation: Documentation updates for ehci-dbgp ... commit 1f0918d03ff4b5c94540c71ce889672abdbc2f4a Merge: 4266c97 ca60a42 Author: Linus Torvalds Date: Wed Sep 23 09:23:45 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: don't force VIRTIO_F_NOTIFY_ON_EMPTY lguest: cleanup for map_switcher() lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET lguest: use set_pte/set_pmd uniformly for real page table entries lguest: move panic notifier registration to its expected place. virtio_blk: add support for cache flush virtio: add virtio IDs file virtio: get rid of redundant VIRTIO_ID_9P definition virtio: make add_buf return capacity remaining virtio_pci: minor MSI-X cleanups commit 4266c97a3ef4604561a22212eb0eab8a3c338971 Author: Hugh Dickins Date: Wed Sep 23 17:05:53 2009 +0100 nommu: fix two build breakages My 58fa879e1e640a1856f736b418984ebeccee1c95 "mm: FOLL flags for GUP flags" broke CONFIG_NOMMU build by forgetting to update nommu.c foll_flags type: mm/nommu.c:171: error: conflicting types for `__get_user_pages' mm/internal.h:254: error: previous declaration of `__get_user_pages' was here make[1]: *** [mm/nommu.o] Error 1 My 03f6462a3ae78f36eb1f0ee8b4d5ae2f7859c1d5 "mm: move highest_memmap_pfn" broke CONFIG_NOMMU build by forgetting to add a nommu.c highest_memmap_pfn: mm/built-in.o: In function `memmap_init_zone': (.meminit.text+0x326): undefined reference to `highest_memmap_pfn' mm/built-in.o: In function `memmap_init_zone': (.meminit.text+0x32d): undefined reference to `highest_memmap_pfn' Fix both breakages, and give myself 30 lashes (ouch!) Reported-by: Michal Simek Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 4fd8da8d62416d0dae05603ab5990a498d9aeb12 Author: Heiko Carstens Date: Wed Sep 23 17:49:55 2009 +0200 fs: change sys_truncate length parameter type For this system call user space passes a signed long length parameter, while the kernel side takes an unsigned long parameter and converts it later to signed long again. This has led to bugs in compat wrappers see e.g. dd90bbd5 "powerpc: Add compat_sys_truncate". The s390 compat wrapper for this functions is broken as well since it also performs zero extension instead of sign extension for the length parameter. In addition if hpa comes up with an automated way of generating compat wrappers it would generate a wrong one here. So change the length parameter from unsigned long to long. Cc: "H. Peter Anvin" Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Heiko Carstens Signed-off-by: Linus Torvalds commit a6e995ad7409403c5bbd6fe8f666a280e086bb22 Merge: 547ad5a 7e48386 Author: Linus Torvalds Date: Wed Sep 23 08:32:05 2009 -0700 Merge branch 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score * 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score: score: update email address in MAINTAINERS. score: Cleanup linker script using new macros. score: Make THREAD_SIZE available to assembly files. score: Make PAGE_SIZE available to assembly. commit 547ad5ac665234953e32678f6a32385b58edefc3 Merge: 4fefce9 8cb3ed1 Author: Linus Torvalds Date: Wed Sep 23 08:29:57 2009 -0700 Merge branch 'x86/orig_ax' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland * 'x86/orig_ax' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-roland: x86: ptrace: set TS_COMPAT when 32-bit ptrace sets orig_eax>=0 x86: ptrace: do not sign-extend orig_ax on write x86: syscall_get_nr returns int asm-generic: syscall_get_nr returns int commit 4fefce9abaeef0d6ec45e06a882db23a65135272 Author: H Hartley Sweeten Date: Tue Sep 22 16:48:02 2009 -0700 jbd.h: bitfields should be unsigned bitfields should be unsigned. This fixes sparse noise: error: dubious one-bit signed bitfield Signed-off-by: H Hartley Sweeten Cc: Jan Kara Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4255e4c1c41f906488ae4d3fa328a66695cf200 Author: Heiko Carstens Date: Tue Sep 22 16:48:01 2009 -0700 ext2: fix format string compile warning (ino_t) Unlike on most other architectures ino_t is an unsigned int on s390. So add an explicit cast to avoid this compile warning: fs/ext2/namei.c: In function 'ext2_lookup': fs/ext2/namei.c:73: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'ino_t' Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9f6c1333938c5d93da8be8f29f3b5469a3c00f95 Author: Doug Graham Date: Tue Sep 22 16:48:00 2009 -0700 V3 minixfs: add missing directory type checking There are a few places in the Minix FS code where the "inode" field of a minix_dir_entry is used without checking first to see if the dirent is really a minix3_dir_entry. The inode number in a V1/V2 dirent is 16 bits, whereas that in a V3 dirent is 32 bits. Accessing it as a 16 bit field when it really should be accessed as a 32 bit field probably kinda sorta works on a little-endian machine, but leads to some rather odd behaviour on big-endian machines. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Doug Graham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 532f649f148bf70e6a5816d95fe55e6a065e8754 Author: Aaro Koskinen Date: Tue Sep 22 16:47:58 2009 -0700 sisfb: change SiS_DDC_Port type to SISIOADDRESS The patch enables the driver to be used on platforms such as ARM where an I/O address is a 32-bit memory address. The patch avoids the following kernel oops: debian:~# modprobe sisfb [ 73.070000] sisfb: Video ROM found [ 73.080000] sisfb: Video RAM at 0x80000000, mapped to 0xe0a00000, size 1024k [ 73.090000] sisfb: MMIO at 0x84080000, mapped to 0xe0b80000, size 256k [ 73.090000] sisfb: Memory heap starting at 800K, size 32K [ 73.360000] Unable to handle kernel paging request at virtual address 6e000844 [ 73.380000] pgd = df230000 [ 73.380000] [6e000844] *pgd=00000000 [ 73.380000] Internal error: Oops: 8f5 [#1] [ 73.380000] Modules linked in: sisfb(+) fb cfbcopyarea cfbimgblt cfbfillrect [ 73.380000] CPU: 0 Not tainted (2.6.31-iop32x #1) [ 73.380000] PC is at SiS_SetRegANDOR+0x10/0x38 [sisfb] [ 73.380000] LR is at SiS_SetSCLKHigh+0x38/0x94 [sisfb] [ 73.380000] pc : [] lr : [] psr: 60000013 [ 73.380000] sp : df38fd00 ip : 6e000000 fp : 00000002 [ 73.380000] r10: 00000108 r9 : 00000000 r8 : 00000108 [ 73.380000] r7 : df064258 r6 : 00000110 r5 : 6e000844 r4 : 0000010a [ 73.380000] r3 : 00000001 r2 : 0000000e r1 : 00000011 r0 : 00000844 [ 73.380000] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user [ 73.380000] Control: 0000397f Table: bf230000 DAC: 00000015 [ 73.380000] Process modprobe (pid: 1849, stack limit = 0xdf38e270) [ 73.380000] Stack: (0xdf38fd00 to 0xdf390000) [ 73.380000] fd00: 0000010a 00000108 df064258 df064258 df064258 00000000 00000000 bf02c4e0 [ 73.380000] fd20: 00000114 bf02c50c 00000013 00000114 0000010a df064258 00000000 bf02c980 [ 73.380000] fd40: 00009c66 00000004 00000001 df064250 a0010000 a6a2a0a0 df064250 00000003 [ 73.380000] fd60: df064250 00000000 df064258 0000fffd 00000000 00000000 00000000 bf033948 [ 73.380000] fd80: 00000000 00000000 00000000 bf019e2c 00000000 df064a70 bf03b470 00010000 [ 73.380000] fda0: 00000000 df064250 00000000 df831c00 00000012 bf039f70 00000000 c00abed8 [ 73.380000] fdc0: 000008a6 000008a4 df0649b0 df064878 df064258 df064000 00000000 00000000 [ 73.380000] fde0: 00000001 00008000 00000001 00030000 df81c930 bf049f88 df831c00 00000000 [ 73.380000] fe00: bf049f58 df3952a0 c0447708 bf049f88 bf049fe0 c0191980 df831c00 c0191b10 [ 73.380000] fe20: df831c58 bf049f58 df831c00 bf04aca8 df3952a0 df831c58 df831c58 bf049f88 [ 73.380000] fe40: c01ba1b4 c01ba0a0 df831c58 df831c8c bf049f88 c01ba1b4 df3952a0 00000000 [ 73.380000] fe60: c03e265c c01ba240 00000000 df38fe78 bf049f88 c01b990c df812938 df81b8d0 [ 73.380000] fe80: df3952a0 df807780 00000000 00000060 bf049f88 c01b9224 bf0429c8 00000000 [ 73.380000] fea0: bf049f58 00000000 bf049f88 00000000 00000000 bf04aea8 00000000 c01ba4e4 [ 73.380000] fec0: e09861a0 bf049f58 00000000 bf049f88 00000000 c0191f20 00000000 00000000 [ 73.380000] fee0: c03f7bac bf04d418 0000fff2 0000fff1 bf04ad08 0002f260 0002f260 e0986038 [ 73.380000] ff00: e0986150 e098568b df143340 e0990280 00000036 c03d8b00 fffffffd 00000000 [ 73.380000] ff20: bf04acfc 00000000 fffffffc 0003cf4b 00018098 c03f7bac 00000000 bf04d000 [ 73.380000] ff40: df38e000 00000000 bedc0984 c00272a4 ffffffff c005bc88 00000000 00000000 [ 73.380000] ff60: 0003cf4b 0003cf4b 00018098 bf04acfc 00000000 c0027fe8 df38e000 00000000 [ 73.380000] ff80: bedc0984 c006882c 00001000 00000003 00000000 00009064 00000000 00008edc [ 73.380000] ffa0: 00000080 c0027e20 00009064 00000000 4014e000 0003cf4b 00018098 0003cf4b [ 73.380000] ffc0: 00009064 00000000 00008edc 00000080 00000000 00000000 40025000 bedc0984 [ 73.380000] ffe0: 00000000 bedc08fc 0000b6b0 400e8f34 60000010 4014e000 00000000 00000000 [ 73.380000] [] (SiS_SetRegANDOR+0x10/0x38 [sisfb]) from [] (0xdf064258) [ 73.380000] Code: e92d0030 e20110ff e280546e e3a0c46e (e5c51000) [ 73.680000] ---[ end trace 62a93e01df37a5f2 ]--- Signed-off-by: Aaro Koskinen Cc: Thomas Winischhofer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3163eaba34943967aebb1eefa0d4bdc4e5dc197c Author: Peter Korsgaard Date: Tue Sep 22 16:47:55 2009 -0700 video: s3c_fb.c: fix build with CONFIG_HOTPLUG=n Fixes `s3c_fb_remove' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.devexit.text' of drivers/built-in.o With CONFIG_HOTPLUG=n, functions marked with __devexit gets removed, so make sure we use __devexit_p when referencing pointers to them. Signed-off-by: Peter Korsgaard Acked-by: Ben Dooks Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9672c4b861afcf547bfe2cafeec4ca85a63da67 Author: Andrew Morton Date: Tue Sep 22 16:47:54 2009 -0700 drivers/video/tmiofb.c: fix uninitialised return value drivers/video/tmiofb.c: In function 'tmiofb_resume': drivers/video/tmiofb.c:977: warning: 'retval' may be used uninitialized in this function Acked-by: Dmitry Eremin-Solenikov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0c7d2b72ad1a694c0c886a14cc708841181e9bd Author: Francisco Jerez Date: Tue Sep 22 16:47:53 2009 -0700 vgacon: prevent vgacon_deinit from touching the hardware for inactive consoles. fbcon makes the (reasonable) assumption that it only needs to program the hardware once, when fbcon_init() is called for the foreground console. This doesn't always play well with vgacon because vgacon_deinit() is only doing its job when the last console it owns is closed (when switching from vgacon to fbcon, that's usually *after* fbcon_init() has set the new mode). Depending on the hardware this can cause the wrong framebuffer location to be scanned out (e.g. reproduced on nv05 with the nouveau framebuffer driver). Signed-off-by: Francisco Jerez Cc: "H. Peter Anvin" Cc: Alan Cox Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ddce3fd0acbdc1be684fb5f919ae3d2e9518aac Author: Ian Armstrong Date: Tue Sep 22 16:47:52 2009 -0700 fbcon: only unbind from console if successfully registered Attempting to unload a framebuffer module calls unregister_framebuffer() which in turn gets fbcon to release it. If fbcon has no framebuffers linked to a console, it will also unbind itself from the console driver. However, if fbcon never registered itself as a console driver, the unbind will fail causing the framebuffer device entry to persist. In most cases this failure will result in an oops when attempting to access the now non-existent device. This patch ensures that the fbcon unbind request will succeed even if a bind was never done. It tracks if a successful bind ever occurred & will only attempt to unbind if needed. If there never was a bind, it simply returns with no error. Signed-off-by: Ian Armstrong Cc: Krzysztof Helt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a690606d1f54845b018d033ac32e91df25cb2680 Author: Jean Delvare Date: Tue Sep 22 16:47:50 2009 -0700 matroxfb: get rid of CONFIG_FB_MATROX_32MB CONFIG_FB_MATROX_32MB is always enabled, so there is no point in having ifdefs all around. And it is bad practice to use CONFIG_* as a name for something which is not a Kconfig option. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee5a27497957e55a520788f88536401e7b12bf41 Author: Jean Delvare Date: Tue Sep 22 16:47:50 2009 -0700 matroxfb: get rid of unneeded macro MINFO_FROM With multihead support always enabled, macros MINFO_FROM and MINFO_FROM_INFO are no longer needed and make the code harder to read. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 316b4d644caceb2cf7432d8a27e45b88f57ef2a0 Author: Jean Delvare Date: Tue Sep 22 16:47:49 2009 -0700 matroxfb: get rid of unneeded macros WPMINFO and friends With multihead support always enabled, these macros are no longer needed and make the code harder to read. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc2d10ddfc8989e82f74d2a38c7d6bfa45bcaba9 Author: Jean Delvare Date: Tue Sep 22 16:47:48 2009 -0700 matroxfb: get rid of unneeded macros ACCESS_FBINFO and MINFO With multihead support always enabled, these macros are no longer needed and make the code harder to read. Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0728bacbba3b0267fa8ca8be69aa43d81b57ab51 Author: Jean Delvare Date: Tue Sep 22 16:47:47 2009 -0700 matroxfb: make CONFIG_FB_MATROX_MULTIHEAD=y mandatory I would like to get rid of option CONFIG_FB_MATROX_MULTIHEAD and just always enable it. There are many reasons for doing this: * CONFIG_FB_MATROX_MULTIHEAD=y is what all x86 distributions do, so it definitely works or we would know by now. * Building the matroxfb driver with CONFIG_FB_MATROX_MULTIHEAD not set results in the following build warning: drivers/video/matrox/matroxfb_crtc2.c: In function 'matroxfb_dh_open': drivers/video/matrox/matroxfb_crtc2.c:265: warning: the address of 'matroxfb_global_mxinfo' will always evaluate as 'true' drivers/video/matrox/matroxfb_crtc2.c: In function 'matroxfb_dh_release': drivers/video/matrox/matroxfb_crtc2.c:285: warning: the address of 'matroxfb_global_mxinfo' will always evaluate as 'true' This is nothing to be worried about, the driver will work fine, but build warnings are still annoying. * The trick to get multihead support without CONFIG_FB_MATROX_MULTIHEAD, which is described in the config help text, no longer works: you can't load the same kernel module more than once. * I fail to see how CONFIG_FB_MATROX_MULTIHEAD=y would make the code significantly slower, contrary to what the help text says. A few extra parameters on the stack here and there can't really slow things down in comaprison to the rest of the code, and register access. * The driver built without CONFIG_FB_MATROX_MULTIHEAD is larger than the driver build with CONFIG_FB_MATROX_MULTIHEAD=y by 8%. * One less configuration option makes things simpler. We add options all the time, being able to remove one for once is nice. It improves testing coverage. And I don't think the Matrox adapters are still popular enough to warrant overdetailed configuration settings. * We should be able to unobfuscate the driver code quite a bit after this change (patches follow.) Signed-off-by: Jean Delvare Acked-by: Petr Vandrovec Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fcf6ada2b8eb42d132c0846384f1299889609e3 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:44 2009 -0700 fb: do not ignore fb_set_par errors At the moment about half of the framebuffer drivers can return an error code in fb_set_par. Until now it would be silently ignored by fbmem.c and fbcon.c. This patch fixes fbmem.c to return the error code and restore var on error. But it is not clear in which video mode the device is when fb_set_par fails. It would be good and reasonable if it were in the old state but there is no guarantee that this is true for all existing drivers. Additionally print a message if a failing fb_set_par is detected in fbmem.c or fbcon.c. Although most errors should be caught by the previous fb_check_var some errors can't as they are dynamic (memory allocations, ...) and can only be detected while performing the operations which is forbidden in fb_check_var. This patch shouldn't have a negative impact on normal operation as all drivers return 0 on success. The impact in case of error depends heavily on the driver and caller but it's expected to be better than before. Signed-off-by: Florian Tobias Schandinat Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 360fa58828784f307c3977d5ff4c8e400f074a56 Author: Ben Dooks Date: Tue Sep 22 16:47:43 2009 -0700 s3c2410fb: fix clockrate calculation In the final part of the calculation for the tft display clockrate we divide the output pf s3c2410fb_calc_pixclk() by 2 which leaves us with a rounding error if the result is odd. Change to using DIV_ROUND_UP() to ensure that we always choose a higher divisor and thus a lower frequency. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a4a83d2ed83da0c4b45289ca72f10205aa96589 Author: Jiri Slaby Date: Tue Sep 22 16:47:41 2009 -0700 video: console, use DIV_ROUND_UP Use DIV_ROUND_UP explicitly instead of manual shifts and adds. It makes the code more readable and consistent (sometimes there were shifts, sometimes divs). There is no change on the assembly level (compilers should do the right job). Signed-off-by: Jiri Slaby Cc: Sergey Senozhatsky Cc: Andi Kleen Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99e9e7d62becd6c7413a9e8fbda7f5b66adb5cbf Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:41 2009 -0700 fb: fix fb_pan_display range check Fix the range check for panning. The current code fails to detect some invalid values (very high ones that can occur if an app tries to move further up/left than 0,0) as the check uses the unknown values for calculation so that an overflow can occur. To fix this it is sufficient to move the calculation to the right side to use only trusted values. Kai Jiang detected this problem and proposed an initial patch. Signed-off-by: Florian Tobias Schandinat Cc: Kai Jiang Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff8147fe71246b81a48de5f37041b026b57d60ca Author: Julia Lawall Date: Tue Sep 22 16:47:39 2009 -0700 drivers/video: add kmalloc NULL tests Check that the result of kmalloc is not NULL before passing it to other functions. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ 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 ) // [akpm@linux-foundation.org: convert to kstrdup() as well] Signed-off-by: Julia Lawall Cc: Ming Lei Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7a595e98c3140f1271957aa742a6b84407620d4 Author: Roel Kluin Date: Tue Sep 22 16:47:38 2009 -0700 drivers/video/console/newport_con.c: fix read outside array bounds It reads linetable[] before checking bounds of index, and ARRAY_SIZE is required because linetable[] are unsigned shorts. Signed-off-by: Roel Kluin Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db8df7b0622cc6ddad993da2e4dfaf3b5d98ee30 Author: Harald Welte Date: Tue Sep 22 16:47:38 2009 -0700 viafb: pass reference to pci device when calling framebuffer_alloc() Signed-off-by: Harald Welte Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d280f758b2044151cb77fdd9c59d1903bbb6a19 Author: Harald Welte Date: Tue Sep 22 16:47:37 2009 -0700 viafb: make viafb a first-class citizen using pci_driver Signed-off-by: Harald Welte Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a32456909380150a92ed207c160a3a0bd687e14 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:36 2009 -0700 viafb: choose acceleration engine for VX855 Enable 2D hardware acceleration on VX855 for copyarea, imageblit and fillrect by selecting the correct engine which is the same as in VX800. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0306ab11c396f93056009152464ff104e4721817 Author: Harald Welte Date: Tue Sep 22 16:47:35 2009 -0700 viafb: add support for the VX855 chipset Add support for a new VIA integrated graphics chipset, the VX855. Signed-off-by: HaraldWelte Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ff32f69e75deca5ee1a2f421ca8a3e43cfaa339 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:34 2009 -0700 viafb: use read-only mode parsing viafb: use read-only mode parsing The previous method of mode parsing wrote to the strings resulting in truncated mode strings in the sysfs. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 837b0abba19a0ac7840f41debe267da2e2add6a7 Author: Harald Welte Date: Tue Sep 22 16:47:33 2009 -0700 viafb: remove unused structure member Remove a structure member 'on_slot' in the chip_info structure which is completely unused. Signed-off-by: Harald Welte Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93967bee6f8b5f5bfbab0e8d6cab13f45d1ace75 Author: Harald Welte Date: Tue Sep 22 16:47:32 2009 -0700 viafb: make module parameters visible in sysfs Signed-off-by: Harald Welte Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31de59d5e1cd6968ea9d1a19cceefb7a037e46bf Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:31 2009 -0700 viafb: hardware acceleration initialization cleanup The main motivation of this patch was to merge the three initialization functions in one and clean it up. However as some changes in other code areas where needed to do it right some small other changes were made. Changes to viafb_par: io_virt renamed as engine_mmio and moved to shared VQ_start renamed as vq_vram_addr and moved to shared VQ_end removed as it is easily recalculatable vq_vram_addr is not strictly needed but keep it to track where we allocated video memory. The memory allocated for the virtual queue was shrunk to VQ_SIZE as VQ_SIZE+CURSOR_SIZE looked like a bug to me. But to be honest I don't have the faintest idea what virtual queues are for in the graphic hardware and whether the driver needs them in any way. I only know that they aren't directly accessed by the driver and so the only potential current use would be as hardware internal buffers. For now keep them to avoid regressions and only remove the double cursor allocation. The most changes were caused by renames and the mentioned structure changes so the chance of regressions is pretty low. The meaning of viafb_accel changed slightly as previously it was changed back and forth in the code and allowed to enable the hardware acceleration by software if previously disabled. The new behaviour is that viafb_accel=0 always prevents hardware acceleration. With viafb_accel!=0 the acceleration can be freely choosen by set_var. This means viafb_accel is a diagnostic tool and if someone has to use viafb_accel=0 the driver needs to be fixed. As this is mostly a code cleanup no regressions beside the slightly change of viafb_accel is expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d6e8851f608bd0c811f2df83eeff4ad8631e723 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:29 2009 -0700 viafb: improve pitch handling Split the pitch handling up and replaces the calculation from virtual xres and bpp with fix.line_length which already contains the pitch and does not add any constrains for the virtual resolution. Also add a bit to the second pitch which the documentation mentions but which was ignored by the driver. Although it is a bit unclear what the right pitch for some LCD modes is this patch should have no negative runtime impact. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5016af53ebbd1450c2656c94dfbd1dad15c19f60 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:28 2009 -0700 viafb: cleanup viafb_cursor Clean the hardware cursor handling up. The most notable change is that it no longer buffers the values in viacursor but uses the ones in cursor instead as they are guaranteed to be always valid. Furthermore it uses local instead global variables where possible, moves the cursor variable in shared as only one hardware cursor is supported and returns an error if memory allocation fails. Last but not least it fixes a too small buffer (as u32 has only 4 and not 32 bytes) but this did not produce any known problems. This is mostly a code cleanup, no negative runtime changes are expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit afbd3c12aca5a29f1627c0c68e6bc77f32459935 Author: Alexey Dobriyan Date: Tue Sep 22 16:47:27 2009 -0700 viafb: switch to seq_file Signed-off-by: Alexey Dobriyan Acked-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3e25673843153ea75fda79a47cf12f10a25ca37 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:26 2009 -0700 viafb: 2D engine rewrite This patch is a completly rewritten 2D engine. The engine is no longer in a default state but reinitialized every time to allow usage for both framebuffers regardless of their settings. The whole engine handling is concentrated in a big function which takes 16 parameters. Although the number of parameters is worryingly it is good to have a single funtion to deal with this stuff as it allows to easily support different engines and avoids some code duplication. On the way support for the new 2D engine in VX800 was added. As the with less code duplication but it is probably better to duplicate the code as this way is easier to walk if VIA ever decides to release a new engine which changes anything the driver touches. The engine support for VX800 gives a notable boost in speed. There are no known regressions but as this patch changes paths I do neither have the hardware nor documentation to check and has the possibility to put the system in a critical state heavy testing is appreciated. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4df5489e40e55f2962b9e8100ebc0d4d1374415 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:24 2009 -0700 viafb: improve viafb_par This patch introduces viafb_shared and is the beginning of a smooth transition to use it. viafb_shared should contain all general, non-surface specific data that should be shared along all viafb framebuffers while viafb_par should only contain things that are specific to each surface or in other words extend fb_info. This change is intended to clean the dual/multi framebuffer handling up. This removes the annoyance that viafbinfo1->par points to a different structure than viaparinfo1. As the last change is fundamental it is difficult to ensure that all parts of the driver do not depend on the previous brokenness but the chance of regressions is very low. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68fa92082ffda84adcbae06fdd307fca53469c25 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:23 2009 -0700 viafb: another small cleanup of viafb_par This removes the completly useless io variable as well as the temporary used variables mmio_base and mmio_len in favor to use directly the fb_info variables. This is a code cleanup only, no runtime change expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8594ac33450e6d66460230e5d07f5515b51476c9 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:22 2009 -0700 viafb: remove LVDS initialization At least for VX800 this initialization is not very good as some parts of the register are written with reserved values. This makes the display go white in some configurations and not usable until the framebuffer is removed. It's better to not initialize it as it allows to use a previously (by BIOS) correctly configured display. This patch makes some displays work but might cause problems on others. This is bad but can not be easily avoided. If this causes some regressions it's probably the best to fix it in the 'active' display setup code. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b852abc263519e89a364dc81e697cba0d4371cf3 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:21 2009 -0700 viafb: remove unused video device stuff Remove everything related to video devices from the driver as it did not influence the driver operation. This patch does change the userspace behaviour as it removes two IOCTLs and one module parameter. But this is good as it removes useless stuff and helps the user to figure out the options that do affect the driver behaviour (which are still too many). Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db88e382a043bf288a6257dc5069f19c5ae67df6 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:20 2009 -0700 viafb: clean up virtual memory handling Clean the handling of ioremapped video memory up. The following changes were made: info->screen_base - viafb_FB_MM (VRAM offset calculation) was replaced by info->fix.smem_start - viafbinfo->fix.smem_start which is essentially the same calculation but done with physical instead virtual addresses. *->fbmem_virt was replaced by viafbinfo->screen_base This is true for viafbinfo and viafbinfo1 as the par pointers are equal. An early initialization of viafbinfo1->fix.smem* was removed as done later in viafb_setup_fixinfo. This patch highlights that the only usage of the ioremapped video memory in the driver is for hardware cursor handling. Even if it has to hold the used virtual screen mapped for old-fashioned read/write calls (vs. mmap'ed) a lot virtual memory could be saved by only ioremapping on demand. Code cleanup, no runtime changes expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b008c64b5dfe37ac14928668da60132e9c8361ff Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:18 2009 -0700 viafb: clean up duoview Clean the duoview handling up by replacing the varible with the funtion in the only place where it is used. This is a code cleanup only, no runtime change expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13147f291cb18489cbaa550b100dee6f9defd007 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:17 2009 -0700 viafb: remove duplicated mode information Remove the mode information from viafbdev.c and uses the one of viamode.c instead. This is possible because horizontal and vertical address are the same as horizontal and vertical resolution. The reduced blanking modes in the table are no problem because they have a higher index than the normal modes and therefore always the normal modes are selected just as the old behaviour. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit deb7aab6379502fd173cd34efa005108eb0b111b Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:16 2009 -0700 viafb: clean up viamode.h Remove unneeeded declarations from the header and makes it more maintainable by evaluating the array size in the file the array exist in and exporting it via variables. This removes the need to keep the array size in the header in sync with the real array size. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc6932bb4a25ced97c4f201874573e6097237b78 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:15 2009 -0700 viafb: fix ioremap_nocache error handling Correct the returned error code for remapping the video framebuffer. Introduce error handling for remapping MMIO register address space to avoid a NULL pointer dereference. Disable hardware acceleration if remapping MMIO register address space failed as those registers are only used for hardware acceleration. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09cf11806e4b4be92af76253ff9834c48b416129 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:14 2009 -0700 viafb: split viafb_set_start_addr up Move individual start address setting to viafb_set_primary_address and viafb_set_secondary_address and make it more flexible to reuse it for panning. Using central functions makes it easier to follow HW manipulations. Remove crt locking as it should be only needed for timing manipulation. Move iga_path manipulation to via_pci_probe. Remove memset for screen cleaning as it is currently done only for the second screen. This is not needed for normal operation but has a little chance of causing unwanted display artifacts. This can be fixed later more consistent and more efficient (using viafb_fillrect) if needed. This is a code clenup, no notable runtime changes expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81228a36a5d05181fff990c852a9abdf03c75593 Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:13 2009 -0700 viafb: merge viafb_update_viafb_par in viafb_update_fix Shrink and merge viafb_update_viafb_par. This removes a lot of duplicated data in viafb_par. Use the relevant data of fb_info instead. On the way it removes an inconsistency in handling a second framebuffer which only worked because viafbinfo1->par is modified to point to the same viafb_par as viafbinfo->par. Code cleanup only, no runtime change expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3915a927aaed8d158cba5ad6466e237ae0d84aab Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:12 2009 -0700 viafb: remove temporary start address setting Currently the start address is set to an initial value every time viafb_setmode is called. This is not done consistently along graphic cores and not even the whole address but often only parts of it. On top of that it seems useless as the real/final address will be set by viafb_set_start_addr a few lines later. Remove this superfluous initalization to shrink register initalization and as a start to decouple primary and secondary display. Code cleanup, no notable runtime change expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e3ca33ac7aa88ac2f28d4ec99f0bfeaf2a2318d Author: Florian Tobias Schandinat Date: Tue Sep 22 16:47:10 2009 -0700 viafb: remove duplicated CX700 register init The current code initializes the register for CX700 chips 2 times due to a missing break as discovered by Harald Welte. As CX700 and VX800 have exactly the same register initialization we can use one for both to avoid duplicated code. As this is a pure code cleanup no measurable runtime effects are expected. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Cc: Harald Welte Cc: Jonathan Corbet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88017bda96a5fd568a982b01546c8fb1782dda62 Author: Ryan Mallon Date: Tue Sep 22 16:47:09 2009 -0700 ep93xx video driver EP93xx video driver plus documentation. Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Cc: Daniele Venzano Cc: Russell King Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6012189a40d33213ead5d15769fab615443206f Author: Ryan Mallon Date: Tue Sep 22 16:47:09 2009 -0700 ep93xx video driver platform support Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Cc: Daniele Venzano Cc: Russell King Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d63870db3c41086d7f13ec8b41def4331db32327 Author: Roel Kluin Date: Tue Sep 22 16:47:07 2009 -0700 sisfb: read buffer overflow If called with mode_idx = 1, rate = 68, a read occurs from sisfb_vrate[-1].refresh. Signed-off-by: Roel Kluin Cc: Krzysztof Helt Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f93e8f4822fdd48fa9c4c901eea87ab1c902f87 Author: Sudhakar Rajashekhara Date: Tue Sep 22 16:47:06 2009 -0700 davinci-fb-frame-buffer-driver-for-ti-da8xx-omap-l1xx-v4 Since the previous version, return values in ioctl() function have been modified. [akpm@linux-foundation.org: simplify lcd_disable_raster()] Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Pavel Kiryukhin Signed-off-by: Steve Chen Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ed824d9aead77a6a4eb1e89c3b3d270ba386fad Author: Sudhakar Rajashekhara Date: Tue Sep 22 16:47:06 2009 -0700 davinci: fb: Frame Buffer driver for TI DA8xx/OMAP-L1xx Add LCD controller (LCDC) driver for TI's DA8xx/OMAP-L1xx architecture. LCDC specifications can be found at http://www.ti.com/litv/pdf/sprufm0a. LCDC on DA8xx consists of two independent controllers, the Raster Controller and the LCD Interface Display Driver (LIDD) controller. LIDD further supports character and graphic displays. This patch adds support for the graphic display (Sharp LQ035Q3DG01) found on the DA830 based EVM. The EVM details can be found at: http://support.spectrumdigital.com/boards/dskda830/revc/. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Pavel Kiryukhin Signed-off-by: Steve Chen Acked-by: Krzysztof Helt DESC davinci-fb-frame-buffer-driver-for-ti-da8xx-omap-l1xx-fix EDESC From: Andrew Morton fix kconfig indenting Cc: Krzysztof Helt Cc: Pavel Kiryukhin Cc: Steve Chen Cc: Sudhakar Rajashekhara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e3658f0df6f708202159302b4f3915d9b97b8dc Author: Roel Kluin Date: Tue Sep 22 16:47:04 2009 -0700 platinumfb: fix misplaced parenthesis Since `+' has a higher precedence than the trinary operator `?', this added `hres * (1 << color_mode)' to the boolean testing videomode and depth. Signed-off-by: Roel Kluin Cc: Geert Uytterhoeven Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Ville Syrjala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d480ace08d5b59133575e672a0bd1c97b0f8400f Author: Pavel Machek Date: Tue Sep 22 16:47:03 2009 -0700 fbdev: framebuffer support for HTC Dream Add a framebuffer driver for Qualcomm MSM/QSD SoCs, tested on HTC Dream smartphone (aka T-Mobile G1, aka ADP1). Brian said: I did the original quick and dirty version for bringup. Rebecca took over and (re)wrote the bulk of the driver, getting things stable for production ship of Dream and Sapphire, and Dima is currently adding support for later Qualcomm chipsets (QSD8x50, etc). Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Krzysztof Helt Cc: Rebecca Schultz Zavin Cc: Dima Zavin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 689620100172e24fdf0981e9978a9559e8769258 Author: Ville Syrjala Date: Tue Sep 22 16:47:01 2009 -0700 atyfb: coding style cleanup Fix a bunch of coding style problems in atyfb_base.c. Signed-off-by: Ville Syrjala Cc: "H Hartley Sweeten" Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 366ec51ba9622c44191fcf4d77ed4dc84acbdeec Author: Imre Deak Date: Tue Sep 22 16:47:00 2009 -0700 omapfb: HWA742: fix pointer to be const Fixes the following: warning: assignment discards qualifiers from pointer target type Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1d51dbb79c6398c88b45d4211545621b4d1a11c Author: Imre Deak Date: Tue Sep 22 16:47:00 2009 -0700 omapfb: add FB manual update option to Kconfig Also move the controller specific options up in the menu, to a more logical spot. Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5910d35cd6c0122a490000a6de0774ac7ebcc2de Author: arun c Date: Tue Sep 22 16:46:59 2009 -0700 omapfb: fix coding style / remove dead line - use __iomem type attribute where appropriate - expand (a ? : b) to (a ? a : b) As suggested by Russel King - remove a dead line from omapfb_main.c Signed-off-by: Arun C Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6c2b66d353dba229ce167acef49639b9ddf90d9 Author: Jouni Hogander Date: Tue Sep 22 16:46:58 2009 -0700 omapfb: suspend/resume only if FB device is already initialized Check wether fbdev is NULL in suspend / resume functions. Fbdev is NULL, if there is no lcd or it is not enabled in configuration. Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c88ef170f0f9b1f26923b43af526c973c5a74da Author: Daniel Stone Date: Tue Sep 22 16:46:57 2009 -0700 omapfb: dispc: allow multiple external IRQ handlers Previously, the only external (to dispc.c) IRQ handler was RFBI's frame done handler. dispc's IRQ framework was very dumb: you could only have one handler, and the semantics of {request,free}_irq were odd, to say the least. The new framework allows multiple consumers to register arbitrary IRQ masks. Signed-off-by: Daniel Stone Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48a00e7fe9a6abeedb62c99ca7b7860754aae3d8 Author: Jouni Hogander Date: Tue Sep 22 16:46:56 2009 -0700 omapfb: dispc: enable wake up capability Without wakeup enable omap doesn't wake up on dispc interrupts. This causes problems in a case where mpu is in sleep state and dispc interrupt fires. Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9e2bc8d7b8c2d9dd05a6702fce77aca3d4f2320 Author: Jouni Hogander Date: Tue Sep 22 16:46:55 2009 -0700 omapfb: dispc: disable iface clocks along with func clocks Leaving interface clocks enabled causes dss pwrdm to stay in active state when mpu is in active state. This fix puts dss to sleep state when it is not needed. Earlier version broke framebuffer on 24xx. This is fixed by enabling clocks before trying to access DISPC_IRQSTATUS register. Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd0eecbdfbb61076e75d34034cc5cd5ca1321a81 Author: Imre Deak Date: Tue Sep 22 16:46:54 2009 -0700 omapfb: dispc: various typo fixes - value and register offset was swapped in a dispc write - DISPC_CONTROL register was used instead of DISPC_SYSCONFIG - FIFO size bit field had incorrect length for OMAP3 Fixed-by: arun Fixed-by: Kalle Jokiniemi Fixed-by: Andrzej Zaborowski Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8f1c1b9e120223ab5b619ff0fc1f32c635248ad Author: Imre Deak Date: Tue Sep 22 16:46:54 2009 -0700 N770: enable LCD MIPI-DCS in Kconfig Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f21a62f16136f369788795a98aa5c313261f07b Author: Rodrigo Vivi Date: Tue Sep 22 16:46:53 2009 -0700 omapfb: add support for rotation on the Blizzard LCD ctrl The LCD controller (EPSON S1D13744) supports rotation (0, 90, 180 and 270 degrees) on hardware just setting the bits 0 and 1 of 0x28 register (LCD Panel Configuration Register). Now it is possible to use this caps only setting the angle degree on var rotate of fb_var_screeninfo using the FBIOPUT_VSCREENINFO ioctl. Fixed-by: Siarhei Siamashka Signed-off-by: Rodrigo Vivi Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fea8844a72f95ef22b108f5dc5c4237019771dd Author: Stanley.Miao Date: Tue Sep 22 16:46:52 2009 -0700 omapfb: add support for the ZOOM MDK LCD Add glue to control the OMAP_LDP LCD as a frame buffer device using the existing dispc.c driver under omapfb. Patch updated for mainline kernel. Note that the drivers/video/omap should be updated to pass omap_lcd_config in platform_data. The patch should also be updated to compile if twl4030 is not selected, and eventually to use the regulator framework. Fixed-by: Jarkko Nikula Fixed-by: Tony Lindgren Signed-off-by: Stanley.Miao Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be481941c6ddfe96e5c17a5d6f077b00e7b7bdf1 Author: Steve Sakoman Date: Tue Sep 22 16:46:51 2009 -0700 omapfb: add support for the Gumstix Overo LCD Signed-off-by: Steve Sakoman Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27969ccc2840c42bfbe4f55d08f0c7ec254d4e93 Author: Koen Kooi Date: Tue Sep 22 16:46:50 2009 -0700 omapfb: add support for the OMAP3 Beagle DVI output The default resolution is 1024x768@24bit This version addresses the comments from Felipe Balbi adn Arun Edarath Fixed-by: Felipe Contreras Fixed-by: Steve Sakoman Fixed-by: Jarkko Nikula Fixed-by: David Brownell Signed-off-by: Koen Kooi Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a8729c47a9dfe5c8ba55883b86b719b33e6e099 Author: Steve Sakoman Date: Tue Sep 22 16:46:49 2009 -0700 omapfb: add support for the OMAP3 EVM LCD Add LCD support for OMAP3 EVM Backlight support by Arun C Fixed-by: Jarkko Nikula Fixed-by: David Brownell Signed-off-by: Steve Sakoman Acked-by: Syed Mohammed Khasim Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb49b78452503f6cdf8b243ccb40cda81aae9998 Author: Kevin Hilman Date: Tue Sep 22 16:46:48 2009 -0700 omapfb: add support for the 3430SDP LCD The 3430SDP uses the same panel as the 2430SDP. The main difference are in the GPIO lines used for panel enable and backlight, and the VAUX register/commands sent to the TWL4030 power subsystem. Also, some misc. whitespace cleanups. Fixed-by: Tony Lindgren Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42acff34f85c5892c8c762145441e993a5596a13 Author: arun c Date: Tue Sep 22 16:46:47 2009 -0700 omapfb: add support for the OMAP2EVM LCD omap2evm LCD supports VGA and QVGA resolution, by default its in VGA mode. Fixed-by: Jarkko Nikula Fixed-by: David Brownell Signed-off-by: Arun C Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a76a819dda9a6de0ab83d04b48b3735a4d10b89 Author: Hunyue Yau Date: Tue Sep 22 16:46:45 2009 -0700 omapfb: add support for the 2430SDP LCD Add glue to control the 2430SDP LCD as a frame buffer device using the existing dispc.c driver under omapfb. Fixed-by: Kevin Hilman Fixed-by: Sergio Aguirre Fixed-by: Francisco Alecrim Fixed-by: Tony Lindgren Fixed-by: David Brownell Signed-off-by: Hunyue Yau Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92e0ed074a4f134084bef47a44e948b6c6429a89 Author: Jonathan McDowell Date: Tue Sep 22 16:46:44 2009 -0700 omapfb: add support for the Amstrad Delta LCD This is an updated version of the LCD driver for the Amstrad Delta to take into account the recent changes to the omapfb infrastructure. The Delta features a 480x320 12 bit DSTN panel. Signed-off-by: Jonathan McDowell Signed-off-by: Tony Lindgren Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66d2f99d0bb5a2972fb5c1d88b61169510e540d6 Author: Imre Deak Date: Tue Sep 22 16:46:41 2009 -0700 omapfb: add support for MIPI-DCS compatible LCDs Fixed-by: Mike Wege Fixed-by: Arnaud Patard Fixed-by: Timo Savola Fixed-by: Hiroshi DOYU Fixed-by: Trilok Soni Signed-off-by: Imre Deak Signed-off-by: Juha Yrjola Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28ff0c12b7069f076f08a936df66f1d5052e9121 Author: Kyungmin Park Date: Tue Sep 22 16:46:40 2009 -0700 omapfb: add support for the Apollon LCD Signed-off-by: Kyungmin Park Signed-off-by: Imre Deak Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef72af408259f0ff26a733dfa2088d570a111550 Author: Michael Hennerich Date: Tue Sep 22 16:46:39 2009 -0700 gpio: gpio support for ADP5520/ADP5501 MFD PMICs Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff77c352ae17768c61cfc36357f0a3904552f11c Author: Daniel Glöckner Date: Tue Sep 22 16:46:38 2009 -0700 gpiolib: allow poll() on value Many gpio chips allow to generate interrupts when the value of a pin changes. This patch gives usermode application the opportunity to make use of this feature by calling poll(2) on the /sys/class/gpio/gpioN/value sysfs file. The edge to trigger can be set in the edge file in the same directory. Possible values are "none", "rising", "falling", and "both". Using level triggers is not possible with current sysfs since nothing changes the GPIO value (and the IRQ keeps triggering). Edge triggering will "just work". Note that if there was an event between read() and poll(), the poll() returns immediately. Also note that this version only supports true GPIO interrupts. Some later patch might be able to synthesize this behavior by timer-driven polling; some systems seem to need that. [dbrownell@users.sourceforge.net: align ids to 16 bit ids; whitespace] Signed-off-by: Daniel Glöckner Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d120c17faeb391f5b4b99af8b1e190619934ecdd Author: H Hartley Sweeten Date: Tue Sep 22 16:46:37 2009 -0700 gpio: include not Drivers should be including not . Signed-off-by: H Hartley Sweeten Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61e0671c6740273663f35357987a2f7aa27479ca Author: Alek Du Date: Tue Sep 22 16:46:36 2009 -0700 gpio: pca953x: add support for MAX7315 MAX7315 is pin and software compatible with PCA9534, so add it to the I2C device ID table of pca953x driver. http://www.datasheetcatalog.org/datasheet/maxim/MAX7315.pdf Signed-off-by: Alek Du Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bf026177000c5bb566cafe2528a96f8380f38bd Author: Alek Du Date: Tue Sep 22 16:46:36 2009 -0700 gpio: add Intel Moorestown Platform Langwell chip gpio driver The Langwell chip is the IO hub for Intel Moorestown platform which has a 64-pin gpio block device inside. It is exposed as a dedicated PCI device. We use it to control outside peripheral as well as to do IRQ demuxing. The gpio block uses MSI to send level type interrupt to IOAPIC. Signed-off-by: Alek Du Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cf8e53b3b55fa2f9b2a6b9c3e557b649adf7c6a Author: Marek Vasut Date: Tue Sep 22 16:46:35 2009 -0700 mfd/gpio: add a GPIO interface to the UCB1400 MFD chip driver via gpiolib Cc: Eric Miao Cc: Russell King Cc: David Brownell Cc: Samuel Ortiz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e5db00687c1ebd93a902caf1d3694209013cb3e Author: Richard Röjfors Date: Tue Sep 22 16:46:34 2009 -0700 gpio: add MC33880 driver A GPIO driver for the Freescale MC33880 High/Low side switch Signed-off-by: Richard Röjfors Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4177ee7f1a83eecb1d75e85d32664b023ef65e9 Author: Jani Nikula Date: Tue Sep 22 16:46:33 2009 -0700 gpiolib: allow exported GPIO nodes to be named using sysfs links Commit 926b663ce8215ba448960e1ff6e58b67a2c3b99b (gpiolib: allow GPIOs to be named) already provides naming on the chip level. This patch provides more flexibility by allowing multiple names where ever in sysfs on a per GPIO basis. Adapted from David Brownell's comments on a similar concept: http://lkml.org/lkml/2009/4/20/203. [randy.dunlap@oracle.com: fix build for CONFIG_GENERIC_GPIO=n] Signed-off-by: Jani Nikula Acked-by: David Brownell Cc: Daniel Silverstone Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8c1acb1664d17dd995e34507533321e986d9215 Author: Matthew Garrett Date: Tue Sep 22 16:46:32 2009 -0700 rtc: add boot_timesource sysfs attribute CONFIG_RTC_HCTOSYS allows the kernel to read the system time from the RTC at boot and resume, avoiding the need for userspace to do so. Unfortunately userspace currently has no way to know whether this configuration option is enabled and thus cannot sensibly choose whether to run hwclock itself or not. Add a hctosys sysfs attribute which indicates whether a given RTC set the system clock. Signed-off-by: Matthew Garrett Acked-by: Alessandro Zummo Cc: Mark Brown Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea3d1606fd32059461309099e8856c6652888a79 Author: Matthew Garrett Date: Tue Sep 22 16:46:31 2009 -0700 rtc: document the sysfs interface The sysfs interface to the RTC class drivers is currently undocumented. Add some basic documentation defining the semantics of the fields. Signed-off-by: Matthew Garrett Cc: Mark Brown Acked-by: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dac94d9ec98517e8fe3f980e38f29ea3ac712168 Author: David Brownell Date: Tue Sep 22 16:46:31 2009 -0700 rtc: at91rm9200 fixes Fix two new-ish runtime warnings in the at91rm9200 (etc) RTC: Platform driver 'at91_rtc' needs updating - please use dev_pm_ops ... by just switching IRQ 1/at91_rtc: IRQF_DISABLED is not guaranteed on shared IRQs ... no longer needed now that rtc_update_irq() changed Signed-off-by: David Brownell Acked-by: Alessandro Zummo Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 971370cc18ae13e87b68ba1769cbad497fa4ab98 Author: Julia Lawall Date: Tue Sep 22 16:46:30 2009 -0700 drivers/rtc: 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/) // @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) // Signed-off-by: Julia Lawall Cc: David Brownell Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72445af880dbcd41cffd0d7b78a8c74da093e9eb Author: Julia Lawall Date: Tue Sep 22 16:46:29 2009 -0700 drivers/rtc: correct error-handling code This code is not executed before ds1307->rtc has been successfully initialized to the result of calling rtc_device_register. Thus the test that ds1307->rtc is not NULL is always true. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @match exists@ expression x, E; statement S1, S2; @@ x = rtc_device_register(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // Signed-off-by: Julia Lawall Acked-by: Wolfram Sang Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3c7a3f71a103abb7af5bdaf1adf6f693913a4a9 Author: Daniel Ribeiro Date: Tue Sep 22 16:46:27 2009 -0700 rtc: driver for PCAP2 PMIC [ospite@studenti.unina.it: get pcap data from the parent device] Signed-off-by: guiming zhuo Signed-off-by: Daniel Ribeiro Acked-by: Alessandro Zummo Signed-off-by: Antonio Ospite Cc: Mark Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88413e1eeb2cccc721cd5568544f32f4234700fb Author: Alessandro Zummo Date: Tue Sep 22 16:46:26 2009 -0700 rtc: reorder Makefile Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df17f63173bcfcc8b4b90f63bf88f54ca0dd2dd7 Author: dmitry pervushin Date: Tue Sep 22 16:46:26 2009 -0700 rtc: add Freescale stmp37xx/378x driver Add support for RTC on the Freescale STMP37xx/378x platform. Signed-off-by: dmitry pervushin Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bff5fb80b86b461a233eaea4da769ba1b349cbe Author: Michael Hennerich Date: Tue Sep 22 16:46:25 2009 -0700 rtc-bfin: do not share RTC IRQ The Blackfin RTC IRQ is an internal interrupt, so it makes no sense to have it be shared. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad91fd854f08d1795b58addc09752de3351644f3 Author: Mike Frysinger Date: Tue Sep 22 16:46:24 2009 -0700 rtc: update documentation wrt RTC_PIE/irq_set_state Signed-off-by: Mike Frysinger Cc: David Brownell Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa958f571ec9492b8100302ee70ac0ab2598bf19 Author: Linus Walleij Date: Tue Sep 22 16:46:24 2009 -0700 rtc: U300 COH 901 331 RTC driver v3 This adds a driver for the RTC COH 901 331 found in the ST-Ericsson U300 series mobile platforms to the RTC subsystem. It integrates to the ARM kernel support recently added to RMKs ARM tree and will be enabled in the U300 defconfig in due time. Signed-off-by: Linus Walleij Signed-off-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d00ed3cf6e54312fb59cd1fd6300d787d22373c7 Author: Daniel Mack Date: Tue Sep 22 16:46:23 2009 -0700 rtc: add driver for MXC's internal RTC module This adds a driver for Freescale's MXC internal real time clock modules. The code is taken from Freescale's BSPs, but modified to fit the current kernel coding mechanisms. Also, the PMIC external clock function was removed for now to not add dead bits and keep the code as simple as possible. [akpm@linux-foundation.org: make PIE_BIT_DEF[] static] Signed-off-by: Daniel Mack Cc: Sascha Hauer Signed-off-by: Alessandro Zummo Cc: Alessandro Zummo Cc: Daniel Mack Cc: Sascha Hauer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3d2570a1482a6d897ba29276964965f6fe970d8 Author: Chris Verges Date: Tue Sep 22 16:46:22 2009 -0700 rtc-philips-pcf2123-rtc-spi-driver-updates Signed-off: Chris Verges Cc: Christian Pellegrin Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f3923a184bb8e7ede5e5f58f1114bf7b8c611ea Author: Chris Verges Date: Tue Sep 22 16:46:20 2009 -0700 rtc: Philips PCF2123 RTC SPI driver Add support for the Philips/NXP PCF2123 RTC. Signed-off: Chris Verges Tested-by: Chris Verges Signed-off: Christian Pellegrin Tested-by: Christian Pellegrin Cc: Alessandro Zummo Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 568d0697f42771425ae9f1e9a3db769fef7e10b6 Author: David Brownell Date: Tue Sep 22 16:46:18 2009 -0700 spi: handle TX-only/RX-only Support two new half-duplex SPI implementation restrictions, for links that talk to TX-only or RX-only devices. (Existing half-duplex flavors support both transfer directions, just not at the same time.) Move spi_async() into the spi.c core, and stop inlining it. Then make that function perform error checks and reject messages that demand more than the underlying controller can support. Based on a patch from Marek Szyprowski which did this only for the bitbanged GPIO driver. Cc: Marek Szyprowski Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7869c0b9ed44404bbc675ef76f8ccb3be5496f39 Author: Syed Rafiuddin Date: Tue Sep 22 16:46:18 2009 -0700 spi: McSPI support for OMAP4 tAdd adds McSPI support for OMAP4430 SDP platform. All the base addresses are changed between OMAP1/2/3 and OMAP4. The fields of the resource structures are filled at runtime to have McSPI support on OMAP4. Signed-off-by: Syed Rafiuddin Acked-by: Kevin Hilman Acked-by: Tony Lindgren Acked-by: Santosh Shilimkar Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89c05372d08f3982eeb94d1ea22a60a5eaa8cd6d Author: Tero Kristo Date: Tue Sep 22 16:46:17 2009 -0700 spi: McSPI saves CHCONFx too Previous restore was lazy and only restored CHxCONF when it was needed by a specific chip select. This could cause occasional errors on an SPI bus where multiple chip selects are in use. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a41ae1ad907655b2efbb9b1a97736ab1451e1649 Author: Hemanth V Date: Tue Sep 22 16:46:16 2009 -0700 spi: McSPI off-mode support Add context save/restore feature to McSPI driver. Signed-off-by: Hemanth V Reviewed-by: Aaro Koskinen Signed-off-by: Kevin Hilman Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0644c48672a3146c01bf7314d440edecf8742d62 Author: dmitry pervushin Date: Tue Sep 22 16:46:15 2009 -0700 spi: Freescale STMP driver Add SPI driver for Freescale STMP 3xxx-based boards [dbrownell@users.sourceforge.net: cleanup sequence, spi_unregister_master] Signed-off-by: dmitry pervushin Signed-off-by: David Brownell Cc: Kumar Gala Cc: Timur Tabi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 570327d9f48b0be5ca626bcfd80266b7ee2001aa Author: Ben Dooks Date: Tue Sep 22 16:46:14 2009 -0700 spi_s3c24xx: cache device setup data With the update to the spi_bitbang driver, the transfer setup code is being called more often, and thus is often re-doing calculations that have been done before. The SPI layer allows our driver to add its own data to each device so add a result cache to each device. This should also remove the problem where we where directly setting up registers in the setup call which meant we might overwrite the state of an extant transfer., Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d61320707ac2960bc820616bd5921885b874780 Author: Ben Dooks Date: Tue Sep 22 16:46:13 2009 -0700 spi_s3c24xx: use dev_pm_ops Change the spi_s3c24xx driver to use dev_pm_ops to avoid the following warning during probe: Platform driver 's3c2410-spi' needs updating - please use dev_pm_ops Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5e3afb5e32c9acf69fcc17961c3fddc47e9cc06 Author: Ben Dooks Date: Tue Sep 22 16:46:13 2009 -0700 spi_s3c24xx: use resource_size() to get resource size Change the use of (res->end - res->start) to use resource_size() to get the size of the resource. Signed-off-by; Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a0c220f791be9e15fd897adee257e72ed4134f8 Author: Ben Dooks Date: Tue Sep 22 16:46:12 2009 -0700 spi_s3c24xx: fix header includes The driver includes where it should be including and also includes and without using anything from these. Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ed7ef526ade622cdc22ac365a95197ddd1e09fb Author: Ben Dooks Date: Tue Sep 22 16:46:11 2009 -0700 spi: fix spelling of `automatically' in documentation Fix spelling of `automatically' in Documentation/spi/spi-summary. Signed-off-by: Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b61a749e8fd0a45a5e37c267d20a43ef0590d68 Author: Antonio Ospite Date: Tue Sep 22 16:46:10 2009 -0700 pxa2xx_spi: register earlier Register pxa2xx_spi earlier so it can be used with cpufreq Signed-off-by: Daniel Ribeiro Acked-by: Mark Brown Cc: David Brownell Cc: Eric Miao Cc: Mark Brown Cc: Daniel Ribeiro Cc: Samuel Ortiz Cc: Liam Girdwood Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0626e3844e8f430fc1a4417f523a00797df7ca6 Author: Anton Vorontsov Date: Tue Sep 22 16:46:08 2009 -0700 spi: prefix modalias with "spi:" This makes it consistent with other buses (platform, i2c, vio, ...). I'm not sure why we use the prefixes, but there must be a reason. This was easy enough to do it, and I did it. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: David Woodhouse Cc: Grant Likely Cc: Jean Delvare Cc: Ben Dooks Cc: Benjamin Herrenschmidt Cc: Dmitry Torokhov Cc: Samuel Ortiz Cc: "John W. Linville" Acked-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cec03eee4a771f949c70cff07775c9bb21d4642 Author: Anton Vorontsov Date: Tue Sep 22 16:46:07 2009 -0700 hwmon: lm70: convert to device table matching Make the code a little bit nicer, and shorter. Signed-off-by: Anton Vorontsov Cc: Kaiwan N Billimoria Cc: David Brownell Cc: David Woodhouse Cc: Grant Likely Cc: Jean Delvare Cc: Ben Dooks Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2a5c10f806b089a6e6f10deefd01dc4ce67940d Author: Anton Vorontsov Date: Tue Sep 22 16:46:05 2009 -0700 hwmon: adxx: convert to device table matching Make the code a little bit nicer, and shorter. Signed-off-by: Anton Vorontsov Cc: Marc Pignat Cc: David Brownell Cc: David Woodhouse Cc: Grant Likely Cc: Jean Delvare Cc: Ben Dooks Cc: Benjamin Herrenschmidt Acked-by: Marc Pignat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 225d8b248843d1b3fbcf616d5e7d9544463aca3e Author: Anton Vorontsov Date: Tue Sep 22 16:46:04 2009 -0700 of: remove "stm,m25p40" alias The alias isn't needed any longer since the m25p80 driver converted to the module device table matching. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: David Woodhouse Cc: Grant Likely Cc: Jean Delvare Cc: Ben Dooks Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75368bf6c2876d8f33abfe77aa3864869a3893eb Author: Anton Vorontsov Date: Tue Sep 22 16:46:04 2009 -0700 spi: add support for device table matching With this patch spi drivers can use standard spi_driver.id_table and MODULE_DEVICE_TABLE() mechanisms to bind against the devices. Just like we do with I2C drivers. This is useful when a single driver supports several variants of devices but it is not possible to detect them in run-time (like non-JEDEC chips probing in drivers/mtd/devices/m25p80.c), and when platform_data usage is overkill. This patch also makes life a lot easier on OpenFirmware platforms, since with OF we extensively use proper device IDs in modaliases. Signed-off-by: Anton Vorontsov Cc: David Brownell Cc: David Woodhouse Cc: Grant Likely Cc: Jean Delvare Cc: Ben Dooks Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5f3294f0be5496aec01e5aa709a5fab8bb2f225 Author: Sascha Hauer Date: Tue Sep 22 16:46:02 2009 -0700 spi: add SPI driver for most known i.MX SoCs This driver has been tested on i.MX1/i.MX27/i.MX35 with an AT25 type EEPROM and on i.MX27/i.MX31 with a Freescale MC13783 PMIC. Signed-off-by: Sascha Hauer Tested-by: Guennadi Liakhovetski Acked-by: David Brownell Cc: Andrea Paterniani Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f33b29ee3309ba2cd56ade8e905b3640a7dea909 Author: linus.walleij@stericsson.com Date: Tue Sep 22 16:46:01 2009 -0700 spi: add default selection of PL022 for ARM reference platforms This makes the PL022 driver a default choice for any RealView and Versatile boards plus the integrator IMPD1 which all contain the PL022 PrimeCell. This will make it a default choice if and only if a user selects SPI support for their board. Signed-off-by: Linus Walleij Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b73b255956119111dc18fa063d1e3a0bb3f06328 Author: Randy Dunlap Date: Tue Sep 22 16:46:00 2009 -0700 spi.h: add missing kernel-doc for struct spi_master Add missing kernel-doc notation in spi.h for struct spi_master: Warning(include/linux/spi/spi.h:289): No description found for parameter 'mode_bits' Warning(include/linux/spi/spi.h:289): No description found for parameter 'flags' Signed-off-by: Randy Dunlap Acked-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44dab88e7cc99d1d2caa9a8936e09d9a98a6761a Author: Steven A. Falco Date: Tue Sep 22 16:45:58 2009 -0700 spi: add spi_ppc4xx driver This adds a SPI driver for the SPI controller found in the IBM/AMCC 4xx PowerPC's. Signed-off-by: Stefan Roese Signed-off-by: Wolfgang Ocker Acked-by: Josh Boyer Signed-off-by: Steven A. Falco Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a8fa725b21ae19a3d9a2de196a440da8c9085a6 Author: Jouni Hogander Date: Tue Sep 22 16:45:58 2009 -0700 spi: omap2_mcspi use BIT(n) Convert bit shifted values into BIT format Signed-off-by: Jouni Hogander Signed-off-by: Tony Lindgren Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07fcaa2486ca4f5c67bebedfa56e705c4dd23fc2 Author: Sascha Hauer Date: Tue Sep 22 16:45:56 2009 -0700 spi: remove i.MX SPI driver This driver is in a non working state at the moment and will be replaced by a bitbang driver which can also handle the newer i.MX variants Signed-off-by: Sascha Hauer Cc: Guennadi Liakhovetski Acked-by: David Brownell Acked-by: Andrea Paterniani Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b2feb10c907b610bf8a739792c6b967c65445b0 Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 16:45:55 2009 -0700 ncpfs: fix wrong check in __ncp_ioctl() We want to check for s_inode's existence, not inode's one (inode is always valid in this function). This takes care of the following entry from Dan's list: fs/ncpfs/ioctl.c +445 __ncp_ioctl(180) warning: variable derefenced before check 'inode' Reported-by: Dan Carpenter Cc: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b83df308f69a5a3cc59be03bd7fb23e4bcebd8e Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 16:45:54 2009 -0700 ncpfs: remove dead URL from documentation Noticed-by: Joe Perches Cc: Petr Vandrovec Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5df59136a55fe08c21d39321679cbb008479edf Author: Roel Kluin Date: Tue Sep 22 16:45:54 2009 -0700 ncpfs: read buffer overflow This function uses signed integers for the unix_date and local variables - if a negative number is supplied and the leap-year condition is not met, month will be 0, leading to a later read of day_n[-1] Signed-off-by: Roel Kluin Cc: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7e3108cca54c105f496919040f00df56767ec00 Author: maximilian attems Date: Tue Sep 22 16:45:53 2009 -0700 ramfs: move RAMFS_MAGIC to include/linux/magic.h initramfs userspace likes to use this magic number. Cc: Hugh Dickins Signed-off-by: maximilian attems Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d4c36a9b6ab6b15851f60956d901a3c53574ea8 Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:52 2009 -0700 /proc/kcore: update stat.st_size after memory hotplug After memory hotplug (or other events in future), kcore size can be modified. To update inode->i_size, we have to know inode/dentry but we can't get it from inside /proc directly. But considerinyg memory hotplug, kcore image is updated only when it's opened. Then, updating inode->i_size at open() is enough. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 678ad5d8aaf8925cb8465f84e1e47d9b1284666a Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:51 2009 -0700 /proc/kcore: fix stat.st_size Presently the size of /proc/kcore which can be read by 'ls -l' is 0. But it's not the correct value. On x86-64, ls -l shows ... root root 140737486266368 2009-09-17 10:29 /proc/kcore Then, 7FFFFFFE02000. This comes from vmalloc area's size. (*) This shows "core" size, not memory size. This patch shows the size by updating "size" field in struct proc_dir_entry. Later, lookup routine will create inode and fill inode->i_size based on this value. Then, this has a problem. - Once inode is cached, inode->i_size will never be updated. Then, this patch is not memory-hotplug-aware. To update inode->i_size, we have to know dentry or inode. But there is no way to lookup them by inside kernel. Hmmm.... Next patch will try it. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90396f96b7da0e2305ffe0266d22b6f8221f28ba Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:50 2009 -0700 kcore: more fixes for init proc_kcore_init() doesn't check NULL case. fix it and remove unnecessary comments. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81ac3ad9061dd9cd490ee92f0c5316a14d77ce18 Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:49 2009 -0700 kcore: register module area in generic way Some archs define MODULED_VADDR/MODULES_END which is not in VMALLOC area. This is handled only in x86-64. This patch make it more generic. And we can use vread/vwrite to access the area. Fix it. Signed-off-by: KAMEZAWA Hiroyuki Cc: Jiri Slaby Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26562c59fa9111ae3ea7b78045889662aac9e5ac Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:49 2009 -0700 kcore: register vmemmap range Benjamin Herrenschmidt pointed out that vmemmap range is not included in KCORE_RAM, KCORE_VMALLOC .... This adds KCORE_VMEMMAP if SPARSEMEM_VMEMMAP is used. By this, vmemmap can be readable via /proc/kcore Because it's not vmalloc area, vread/vwrite cannot be used. But the range is static against the memory layout, this patch handles vmemmap area by the same scheme with physical memory. This patch assumes SPARSEMEM_VMEMMAP range is not in VMALLOC range. It's correct now. [akpm@linux-foundation.org: fix typo] Signed-off-by: KAMEZAWA Hiroyuki Cc: Jiri Slaby Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: WANG Cong Cc: Benjamin Herrenschmidt Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3089aa1b0c07fb7c48f9829c619f50198307789d Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:48 2009 -0700 kcore: use registerd physmem information For /proc/kcore, each arch registers its memory range by kclist_add(). In usual, - range of physical memory - range of vmalloc area - text, etc... are registered but "range of physical memory" has some troubles. It doesn't updated at memory hotplug and it tend to include unnecessary memory holes. Now, /proc/iomem (kernel/resource.c) includes required physical memory range information and it's properly updated at memory hotplug. Then, it's good to avoid using its own code(duplicating information) and to rebuild kclist for physical memory based on /proc/iomem. Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Jiri Slaby Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: WANG Cong Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 908eedc6168bd92e89f90d89fa389065a36358fa Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:46 2009 -0700 walk system ram range Originally, walk_memory_resource() was introduced to traverse all memory of "System RAM" for detecting memory hotplug/unplug range. For doing so, flags of IORESOUCE_MEM|IORESOURCE_BUSY was used and this was enough for memory hotplug. But for using other purpose, /proc/kcore, this may includes some firmware area marked as IORESOURCE_BUSY | IORESOUCE_MEM. This patch makes the check strict to find out busy "System RAM". Note: PPC64 keeps their own walk_memory_resouce(), which walk through ppc64's lmb informaton. Because old kclist_add() is called per lmb, this patch makes no difference in behavior, finally. And this patch removes CONFIG_MEMORY_HOTPLUG check from this function. Because pfn_valid() just show "there is memmap or not* and cannot be used for "there is physical memory or not", this function is useful in generic to scan physical memory range. Signed-off-by: KAMEZAWA Hiroyuki Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: WANG Cong Cc: Américo Wang Cc: David Rientjes Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9492587cf35d370db33ef4b38375dfb35a105b61 Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:45 2009 -0700 kcore: register text area in generic way Some 64bit arch has special segment for mapping kernel text. It should be entried to /proc/kcore in addtion to direct-linear-map, vmalloc area. This patch unifies KCORE_TEXT entry scattered under x86 and ia64. I'm not familiar with other archs (mips has its own even after this patch) but range of [_stext ..._end) is a valid area of text and it's not in direct-map area, defining CONFIG_ARCH_PROC_KCORE_TEXT is only a necessary thing to do. Note: I left mips as it is now. Signed-off-by: KAMEZAWA Hiroyuki Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0614da88b67ffa3dbcc0d40b817e682c7c4a0ee Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:44 2009 -0700 kcore: register vmalloc area in generic way For /proc/kcore, vmalloc areas are registered per arch. But, all of them registers same range of [VMALLOC_START...VMALLOC_END) This patch unifies them. By this. archs which have no kclist_add() hooks can see vmalloc area correctly. Signed-off-by: KAMEZAWA Hiroyuki Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c30bb2a25fcfde6157e6154a32c14686fb0bedbe Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:43 2009 -0700 kcore: add kclist types Presently, kclist_add() only eats start address and size as its arguments. Considering to make kclist dynamically reconfigulable, it's necessary to know which kclists are for System RAM and which are not. This patch add kclist types as KCORE_RAM KCORE_VMALLOC KCORE_TEXT KCORE_OTHER This "type" is used in a patch following this for detecting KCORE_RAM. Signed-off-by: KAMEZAWA Hiroyuki Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ef43ec772551e975a6ea7cf22b59c84955aadf9 Author: KAMEZAWA Hiroyuki Date: Tue Sep 22 16:45:41 2009 -0700 kcore: use usual list for kclist This patchset is for /proc/kcore. With this, - many per-arch hooks are removed. - /proc/kcore will know really valid physical memory area. - /proc/kcore will be aware of memory hotplug. - /proc/kcore will be architecture independent i.e. if an arch supports CONFIG_MMU, it can use /proc/kcore. (if the arch uses usual memory layout.) This patch: /proc/kcore uses its own list handling codes. It's better to use generic list codes. No changes in logic. just clean up. Signed-off-by: KAMEZAWA Hiroyuki Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d899bf7b55f503ba7d3d07ed27c3a37e270fa7db Author: Stefani Seibold Date: Tue Sep 22 16:45:40 2009 -0700 procfs: provide stack information for threads A patch to give a better overview of the userland application stack usage, especially for embedded linux. Currently you are only able to dump the main process/thread stack usage which is showed in /proc/pid/status by the "VmStk" Value. But you get no information about the consumed stack memory of the the threads. There is an enhancement in the /proc//{task/*,}/*maps and which marks the vm mapping where the thread stack pointer reside with "[thread stack xxxxxxxx]". xxxxxxxx is the maximum size of stack. This is a value information, because libpthread doesn't set the start of the stack to the top of the mapped area, depending of the pthread usage. A sample output of /proc//task//maps looks like: 08048000-08049000 r-xp 00000000 03:00 8312 /opt/z 08049000-0804a000 rw-p 00001000 03:00 8312 /opt/z 0804a000-0806b000 rw-p 00000000 00:00 0 [heap] a7d12000-a7d13000 ---p 00000000 00:00 0 a7d13000-a7f13000 rw-p 00000000 00:00 0 [thread stack: 001ff4b4] a7f13000-a7f14000 ---p 00000000 00:00 0 a7f14000-a7f36000 rw-p 00000000 00:00 0 a7f36000-a8069000 r-xp 00000000 03:00 4222 /lib/libc.so.6 a8069000-a806b000 r--p 00133000 03:00 4222 /lib/libc.so.6 a806b000-a806c000 rw-p 00135000 03:00 4222 /lib/libc.so.6 a806c000-a806f000 rw-p 00000000 00:00 0 a806f000-a8083000 r-xp 00000000 03:00 14462 /lib/libpthread.so.0 a8083000-a8084000 r--p 00013000 03:00 14462 /lib/libpthread.so.0 a8084000-a8085000 rw-p 00014000 03:00 14462 /lib/libpthread.so.0 a8085000-a8088000 rw-p 00000000 00:00 0 a8088000-a80a4000 r-xp 00000000 03:00 8317 /lib/ld-linux.so.2 a80a4000-a80a5000 r--p 0001b000 03:00 8317 /lib/ld-linux.so.2 a80a5000-a80a6000 rw-p 0001c000 03:00 8317 /lib/ld-linux.so.2 afaf5000-afb0a000 rw-p 00000000 00:00 0 [stack] ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso] Also there is a new entry "stack usage" in /proc//{task/*,}/status which will you give the current stack usage in kb. A sample output of /proc/self/status looks like: Name: cat State: R (running) Tgid: 507 Pid: 507 . . . CapBnd: fffffffffffffeff voluntary_ctxt_switches: 0 nonvoluntary_ctxt_switches: 0 Stack usage: 12 kB I also fixed stack base address in /proc//{task/*,}/stat to the base address of the associated thread stack and not the one of the main process. This makes more sense. [akpm@linux-foundation.org: fs/proc/array.c now needs walk_page_range()] Signed-off-by: Stefani Seibold Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba8aafe1e07dfc8bae5ba78be8e02883bd34d31 Author: Vincent Li Date: Tue Sep 22 16:45:38 2009 -0700 fs/proc/base.c: fix proc_fault_inject_write() input sanity check Remove obfuscated zero-length input check and return -EINVAL instead of -EIO error to make the error message clear to user. Add whitespace stripping. No functionality changes. The old code: echo 1 > /proc/pid/make-it-fail (ok) echo 1foo > /proc/pid/make-it-fail (-bash: echo: write error: Input/output error) The new code: echo 1 > /proc/pid/make-it-fail (ok) echo 1foo > /proc/pid/make-it-fail (-bash: echo: write error: Invalid argument) This patch is conservative in changes to not breaking existing scripts/applications. Signed-off-by: Vincent Li Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb92a4b068be96799da3748c11cbd69760e44d7b Author: Vincent Li Date: Tue Sep 22 16:45:36 2009 -0700 fs/proc/task_mmu.c v1: fix clear_refs_write() input sanity check Andrew Morton pointed out similar string hacking and obfuscated check for zero-length input at the end of the function, David Rientjes suggested to use strict_strtol to replace simple_strtol, this patch cover above suggestions, add removing of leading and trailing whitespace from user input. It does not change function behavious. Signed-off-by: Vincent Li Acked-by: David Rientjes Cc: Matt Mackall Cc: Amerigo Wang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acef82b873b6899d80e639317228f2104dae79a2 Author: Amerigo Wang Date: Tue Sep 22 16:45:35 2009 -0700 kcore: fix /proc/kcore's stat.st_size In 9063c61fd5cbd ("x86, 64-bit: Clean up user address masking") Linus fixed the wrong size of /proc/kcore problem. But its size still looks insane, since it never equals the size of physical memory. Signed-off-by: WANG Cong Cc: "Eric W. Biederman" Cc: Tao Ma Cc: Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b4d1cbef8f41aff2b3e4ca31f566c071fe601de Author: Oleg Nesterov Date: Tue Sep 22 16:45:34 2009 -0700 proc_flush_task: flush /proc/tid/task/pid when a sub-thread exits The exiting sub-thread flushes /proc/pid only, but this doesn't buy too much: ps and friends mostly use /proc/tid/task/pid. Remove "if (thread_group_leader())" checks from proc_flush_task() path, this means we always remove /proc/tid/task/pid dentry on exit, and this actually matches the comment above proc_flush_task(). The test-case: static void* tfunc(void *arg) { char name[256]; sprintf(name, "/proc/%d/task/%ld/status", getpid(), gettid()); close(open(name, O_RDONLY)); return NULL; } int main(void) { pthread_t t; for (;;) { if (!pthread_create(&t, NULL, &tfunc, NULL)) pthread_join(t, NULL); } } slabtop shows that pid/proc_inode_cache/etc grow quickly and "indefinitely" until the task is killed or shrink_slab() is called, not good. And the main thread needs a lot of time to exit. The same can happen if something like "ps -efL" runs continuously, while some application spawns short-living threads. Reported-by: "James M. Leddy" Signed-off-by: Oleg Nesterov Cc: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Dominic Duval Cc: Frank Hirtz Cc: "Fuller, Johnray" Cc: Larry Woodman Cc: Paul Batkowski Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cff4edb591c153a779a27a3fd8e7bc1217f2f6b8 Author: Kees Cook Date: Tue Sep 22 16:45:32 2009 -0700 proc: fix reported unit for RLIMIT_CPU /proc/$pid/limits should show RLIMIT_CPU as seconds, which is the unit used in kernel/posix-cpu-timers.c: unsigned long psecs = cputime_to_secs(ptime); ... if (psecs >= sig->rlim[RLIMIT_CPU].rlim_max) { ... __group_send_sig_info(SIGKILL, SEND_SIG_PRIV, tsk); Signed-off-by: Kees Cook Acked-by: WANG Cong Acked-by: Neil Horman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27f6cb160b71b342b7a47d28a4b6c422ea74ccd1 Author: Chris Ball Date: Tue Sep 22 16:45:31 2009 -0700 sdhci: increase timeout for internal clock stabilization. On an OLPC XO-1.5 development board with Via VX855 chipset, the sdhci controller can take up to 12ms to stabilize its clock, but the current timeout at which we give up on the controller is 10ms. The patch increases the timeout delay rather than using a device-specific quirk -- since we exit the loop when the clock comes up, increasing the timeout value will only make us mdelay() longer in the errant case of a device with a clock that is not stabilizing, which it seems worth waiting a little longer for in general. Signed-off-by: Chris Ball Cc: Harald Welte Acked-by: Pierre Ossman Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a13abc7b0814da7733c531453a207729b542ecf8 Author: Richard Röjfors Date: Tue Sep 22 16:45:30 2009 -0700 sdhci: support for ADMA only hosts Add support for ADMA on SDHCI hosts, not supporting SDMA. According to the SDHCI specifications a host can support ADMA but not SDMA Signed-off-by: Richard Röjfors Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 996ad5686c5f868e67557cc1bfcb2cfdde1a18b4 Author: Nicolas Pitre Date: Tue Sep 22 16:45:30 2009 -0700 mmc: make SDIO device/driver struct accessors public Especially with the PM framework, those are quite handy to have in driver code too. Signed-off-by: Nicolas Pitre Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95cdfb72b9bc568803f395c266152c71b034b461 Author: Nicolas Pitre Date: Tue Sep 22 16:45:29 2009 -0700 mmc: propagate error codes back from bus drivers' suspend/resume methods Especially for SDIO drivers which may have special conditions/errors to report, it is a good thing to relay the returned error code back to upper layers. This also allows for the rationalization of the resume path where code to "remove" a no-longer-existing or replaced card was duplicated into the MMC, SD and SDIO bus drivers. In the SDIO case, if a function suspend method returns an error, then all previously suspended functions are resumed and the error returned. An exception is made for -ENOSYS which the core interprets as "we don't support suspend so just kick the card out for suspend and return success". When resuming SDIO cards, the core code only validates the manufacturer and product IDs to make sure the same kind of card is still present before invoking functions resume methods. It's the function driver's responsibility to perform further tests to confirm that the actual same card is present (same MAC address, etc.) and return an error otherwise. Signed-off-by: Nicolas Pitre Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17d33e14f7ffc05f8c81e4a3bdb9a8003a05dcce Author: Nicolas Pitre Date: Tue Sep 22 16:45:28 2009 -0700 mmc: core SDIO suspend/resume support Currently, all SDIO cards are virtually removed upon a suspend, and completely reprobed upon a resume. This adds the suspend and resume methods to the SDIO bus driver so to be able to dispatch those events to the actual SDIO function drivers for real suspend/resume instead. All active functions on a card must have a driver with both a suspend and a resume method though. Failing that, we fall back to the current behavior of simply "removing" the card when suspending. When resuming, we make sure the same card is still inserted by comparing the vendor and product IDs. If there is a mismatch, or if there is simply no card anymore in the slot, then the previous card is "removed" and the new card is detected. This is further enhanced with the next patch. [akpm@linux-foundation.org: fix warnings] Signed-off-by: Nicolas Pitre Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d08ebeddfb3293fa4bdfca9c610daf1e8ec8b233 Author: Wolfgang Muees Date: Tue Sep 22 16:45:26 2009 -0700 mmc_spi: fail gracefully if host or card do not support the switch command Some time ago, I have send a patch to the mmc_spi subsystem changing the error codes. This was after a discussion with Pierre about using EINVAL only for non-recoverable errors. This patch was accepted as http://git.kernel.org/linus/fdd858db7113ca64132de390188d7ca00701013d Unfortunately, several weeks later, I realized that this patch has opened a little can of worms because there are SD cards on the market which a) claim that they support the switch command AND b) refuse to execute this command if operating in SPI mode. So, such a card would get unusuable in an embedded linux system in SPI mode, because the init sequence terminates with an error. This patch adds the missing error codes to the caller of the switch command and restores the old behaviour to fail gracefully if these commands can not execute. Signed-off-by: Wolfgang Muees Cc: Cc: [2.6.31.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82cf818d54f0a415a031eabd0949a81946445198 Author: kishore kadiyala Date: Tue Sep 22 16:45:25 2009 -0700 omap4: mmc driver support on OMAP4 Add basic support for all 5 MMC controllers on OMAP4. This patch doesn't include mmc-regulator support Signed-off-by: Kishore Kadiyala Cc: Jarkko Lavinen Acked-by: Madhusudhan Chikkature Cc: Russell King Acked-by: Tony Lindgren Cc: Hiroshi DOYU Cc: Sakari Ailus Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c99436fb7505ca2427780d7ae49ebb427bb6f374 Author: Chris Ball Date: Tue Sep 22 16:45:22 2009 -0700 sdhci: add no-card-no-reset quirk for Ricoh R5C822/Sony Z11 Card insertion detection is broken without this quirk on a Sony Vaio Z11, as discussed on linux-mmc here: http://marc.info/?t=125017355000008 Signed-off-by: Chris Ball Tested-by: Norbert Preining Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 864f38ebdcb1f7dc4138b7ccb801f16f1696eb8e Author: Rob Emanuele Date: Tue Sep 22 16:45:22 2009 -0700 AT91: atmel-mci: Platform configuration to the the atmel-mci driver Created a modified version of the at91sam9g20 evaluation kit platform (board-sam9g20ek-2slot-mmc.c) and device support to make use of the updated atmel-mci driver. As the use of two slots modify GPIO pin allocation, we create another board file. This requires getting the most updated arch/arm/tools/mach-types from http://www.arm.linux.org.uk/developer/machines/download.php to have the machine type for the at91sam9g20ek-2slot-mmc board. [nicolas.ferre@atmel.com: printk, slot_count modification in at91sam9260_devices.c file] [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Rob Emanuele Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Andrew Victor Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04d699c3643fbf75dd72c03a4eacec87149c4aca Author: Rob Emanuele Date: Tue Sep 22 16:45:19 2009 -0700 atmel-mci: unified Atmel MCI drivers (AVR32 & AT91) Unification of the atmel-mci driver to support the AT91 processors MCI interface. The atmel-mci driver currently supports the AVR32 and this patch adds AT91 support. Add read/write proof selection switch dependent on chip availability of this feature. To use this new driver on a at91 the platform driver for your board needs to be updated. [nicolas.ferre@atmel.com indent, Kconfig comment and one printk modification] Signed-off-by: Rob Emanuele Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Andrew Victor Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c979ec7135d96bbff34790bf4b85a8508ede7fc Author: Ohad Ben-Cohen Date: Tue Sep 22 16:45:18 2009 -0700 sdio: add MMC_QUIRK_LENIENT_FN0 Normally writes to SDIO function 0 outside the vendor specific CCCR registers are prohibited. To support embedded devices that require writes to SDIO function 0 outside this range (e.g. TI WL127x embedded sdio wifi device), MMC_QUIRK_LENIENT_FN0 is introduced. A card quirks field is added to `struct mmc_card' to support non-standard devices (e.g. embedded sdio devices). [akpm@linux-foundation.org: code in C, not cpp!] Signed-off-by: Ohad Ben-Cohen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad1e597d4199ffcdee04b9fb402e45c5be6a5052 Author: Anton Vorontsov Date: Tue Sep 22 16:45:16 2009 -0700 sdhci-of: cleanup eSDHC's set_clock() a little bit - Get rid of incomprehensible "if { for { if } }" construction for the exponential divisor calculation. The first if statement isn't correct at all, since it should check for "host->max_clk / pre_div / 16 > clock". The error doesn't cause any bugs because the check in the for loop does the right thing, and so the outer check becomes useless; - For the linear divisor do the same: a single while statement is more readable than for + if construction; - Add dev_dbg() that prints desired and actual clock frequency. Signed-off-by: Anton Vorontsov Cc: Pierre Ossman Cc: Kumar Gala Cc: David Vrabel Cc: Ben Dooks Cc: Sascha Hauer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8226a219254bbcd20492df185f191a11a7a81dcd Author: Anton Vorontsov Date: Tue Sep 22 16:45:15 2009 -0700 sdhci-of: don't hard-code inverted write-protect quirk MPC85xx SOCs have normal write-protect state reporting, so we shouldn't hard-code the quirk. Instead, look for "sdhci,wp-inverted" property, plus check for mpc837x_{rdb,mds} machines since older device trees don't specify the new property. Signed-off-by: Anton Vorontsov Cc: Pierre Ossman Cc: Kumar Gala Cc: David Vrabel Cc: Ben Dooks Cc: Sascha Hauer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50dfe70fe9e216cf356830194630f9a39e498d76 Author: Anton Vorontsov Date: Tue Sep 22 16:45:14 2009 -0700 powerpc: introduce and document sdhci,wp-inverted property for eSDHC eSDHC block in MPC837x SOCs reports inverted write-protect state, soon sdhci-of driver will look for sdhci,wp-inverted properties to decide whether apply a specific quirk. So, document the property and add it to device tree source files. Signed-off-by: Anton Vorontsov Cc: Pierre Ossman Cc: Kumar Gala Cc: David Vrabel Cc: Ben Dooks Cc: Sascha Hauer Cc: Benjamin Herrenschmidt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81b39802468fe4bf5c6b038837319b608acfdd3e Author: Anton Vorontsov Date: Tue Sep 22 16:45:13 2009 -0700 sdhci-of: fix high-speed cards recognition eSDHC fails to recognize some SDHS cards, throwing timeout errors: mmc0: error -110 whilst initialising SD card That's because we calculate timeout value in a wrong way: on eSDHC hosts the timeout clock is derivied from the SD clock, which is set dynamically. As David Vrabel suggested, deriving timeout clock from SD clock is a common scheme, so let's implement DATA_TIMEOUT_USES_SDCLK quirk and use it for eSDHC hosts. Also, from now on we don't need esdhc_get_timeout_clock() callback, so remove it. Signed-off-by: Anton Vorontsov Cc: Pierre Ossman Cc: Kumar Gala Cc: David Vrabel Cc: Ben Dooks Cc: Sascha Hauer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c08592698534f390afe726c38301aa8f1620c361 Author: Anton Vorontsov Date: Tue Sep 22 16:45:11 2009 -0700 sdhci-of: avoid writing reserved bits into host control register SDHCI core tries to write HISPD bit into the host control register, but the eSDHC controllers don't have that bit, and that causes all sorts of misbehaviour when using 4-bit mode capable SD cards. Signed-off-by: Anton Vorontsov Cc: Pierre Ossman Cc: Kumar Gala Cc: David Vrabel Cc: Ben Dooks Cc: Sascha Hauer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e5df7525d0705dfbfded0c10a7b87b0a754a35d Author: Anton Vorontsov Date: Tue Sep 22 16:45:10 2009 -0700 sdhci-of: fix SD clock calculation Linear divisor's values in a register start at 0 (zero means "divide by 1"). Before this patch the code didn't account that fact, so SD cards were running underclocked. Signed-off-by: Anton Vorontsov Cc: Pierre Ossman Cc: Kumar Gala Cc: David Vrabel Cc: Ben Dooks Cc: Sascha Hauer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4245c0256da0784b1f96d01ff263a71a4ca3894e Author: Roel Kluin Date: Tue Sep 22 16:45:09 2009 -0700 sdio: fix read buffer overflow Avoid buffer underrun when parsing an invalid CISTPL_VERS_1. Signed-off-by: Roel Kluin Cc: David Vrabel Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9510176ff728135383f0cdfc9c90cfe57f9e162 Author: Anton Vorontsov Date: Tue Sep 22 16:45:08 2009 -0700 sdhci: be more strict with get_min_clock() usage get_min_clock() makes sense only with NONSTANDARD_CLOCK quirk and when set_clock() callback is specified. The patch should cause no functional changes, it just makes the code self-documented and avoids any possible misuse of get_min_clock(). Suggested-by: Pierre Ossman Signed-off-by: Anton Vorontsov Cc: Ian Molton Cc: Matt Fleming Cc: Philip Langdale Cc: Pierre Ossman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 006ebd5de13854d6250eecc76866bbfad1ff7daf Author: Ohad Ben-Cohen Date: Tue Sep 22 16:45:07 2009 -0700 sdio: add CD disable support Add support to disconnect the pull-up resistor on CD/DAT[3] (pin 1) of the card. This may be desired on certain setups of boards, controllers and embedded sdio devices which do not need the card's pull-up. As a result, card detection is disabled and power is saved. [akpm@linux-foundation.org: simplify sdio_disable_cd() a bit] Signed-off-by: Ohad Ben-Cohen Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Cc: Pierre Ossman Cc: David Vrabel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 653f41b52dfc63fecf4a2333f13be28b159a918c Author: Madhusudhan Chikkature Date: Tue Sep 22 16:45:06 2009 -0700 MAINTAINERS: update for TI OMAP hsmmc driver Update maintainers entry for TI OMAP HS MMC support. Signed-off-by: Madhusudhan Chikkature Acked-by: Kevin Hilman Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e763d2968148efafc352748b0ed598b1a695dad Author: Adrian Hunter Date: Tue Sep 22 16:45:05 2009 -0700 ARM: OMAP: RX51: set MMC capabilities and power-saving flag Specify MMC capabilities and set the power-saving flag for RX51. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2bf08d643a244ccb9d9b70aff655340a0d98626 Author: Adrian Hunter Date: Tue Sep 22 16:45:03 2009 -0700 omap_hsmmc: set a large data timeout for commands with busy signal Commands like SWITCH (CMD6) send a response and then signal busy while the operation is completed. These commands are expected to always succeed (otherwise the response would have indicated an error). Set an arbitrarily large data timeout value (100ms) for these commands to ensure that premature timeouts do not occur. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bec08937e3cdf6828d29421c7f870dca84f3b02 Author: Adrian Hunter Date: Tue Sep 22 16:45:02 2009 -0700 omap_hsmmc: ensure all clock enables and disables are paired [madhu.cr@ti.com: fix for the db clock failure message] Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Madhusudhan Chikkature Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b62f622812c5aaacad217fd8f4445562b917df6d Author: Adrian Hunter Date: Tue Sep 22 16:45:01 2009 -0700 omap_hsmmc: protect the card when the cover is open Depending on the manufacturer, there is a small possibility that removing a card while it is being written to, can render the card permanently unusable. To prevent that, the card is made inaccessible when the cover is open. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70a3341a711f27ae77714ae7dd360a4e7e2d5e7c Author: Denis Karpov Date: Tue Sep 22 16:44:59 2009 -0700 omap_hsmmc: code refactoring Functions', structures', variables' names are changed to start with omap_hsmmc_ prefix. Signed-off-by: Denis Karpov Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4dffd7a251172d78a157ff45ec1207012f44774a Author: Adrian Hunter Date: Tue Sep 22 16:44:58 2009 -0700 omap_hsmmc: prevent races with irq handler If an unexpected interrupt occurs while preparing the next request, an oops can occur. For example, a new request is setting up DMA for data transfer so host->data is not NULL. An unexpected transfer complete (TC) interrupt comes along and the interrupt handler sets host->data to NULL. Oops! Prevent that by adding a spinlock. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23050103c21d4d5314b7c978187e6e4305a00495 Author: Adrian Hunter Date: Tue Sep 22 16:44:57 2009 -0700 omap_hsmmc: cater for weird CMD6 behaviour Sometimes the controller unexpectedly produces a TC (transfer complete) interrupt before the CC (command complete) interrupt for command 6 (SWITCH). This is a problem because the CC interrupt can get mixed up with the next request. Add a hack for CMD6. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c653a6d4d18be5213d0e910cee75ebf089f8ba9d Author: Adrian Hunter Date: Tue Sep 22 16:44:56 2009 -0700 omap_hsmmc: clear interrupt status after init sequence Clear the interrupt status after sending the initialization sequence, as specified in the TRM. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 191d1f1de158cf4dee3a5595e845a498364c061f Author: Denis Karpov Date: Tue Sep 22 16:44:55 2009 -0700 omap_hsmmc: cleanup macro usage Use macro mmc_slot() in omap_hsmmc. Signed-off-by: Denis Karpov Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a40e64786933fb04be37af0a19aa320bc3414a8 Author: Jarkko Lavinen Date: Tue Sep 22 16:44:54 2009 -0700 omap_hsmmc: fix NULL pointer dereference Do not call 'mmc_omap_xfer_done()' if the request is already done. Signed-off-by: Jarkko Lavinen Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13189e78caa824f0285b1823519c020591641207 Author: Jarkko Lavinen Date: Tue Sep 22 16:44:53 2009 -0700 omap_hsmmc: add mmc card sleep and awake support After 1 second of inactivity, put card and/or regulator to sleep. After 8 seconds of inactivity, turn off the power. Signed-off-by: Jarkko Lavinen Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 623821f71bb40f9972630eb1f779817d462ef0ee Author: Adrian Hunter Date: Tue Sep 22 16:44:51 2009 -0700 omap_hsmmc: put MMC regulator to sleep When a card is not in use, the voltage regulator can be put to sleep. This is an alternative to powering the card off, when powering off is not safe because the card might be replaced without the driver being aware of it. That situation happens if: - the card is removable i.e. not eMMC - and there is no card detect - and there is a cover switch but the cover is open Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b7c18e070d59ba0acfdb936fd613dfa1d2a4e7d Author: Adrian Hunter Date: Tue Sep 22 16:44:50 2009 -0700 ARM: OMAP: mmc-twl4030: add regulator sleep / wake function Add the ability for the driver to put the card power regulators to sleep and wake them up again. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd498effcfa6a196ba097adae3c5aa641115df88 Author: Denis Karpov Date: Tue Sep 22 16:44:49 2009 -0700 omap_hsmmc: support for deeper power saving states Support for multi-level dynamic power saving states in omap_hsmmc (ENABLED->DISABLED->OFF). In the "deepest" state (OFF) we switch off the voltage regulators. Signed-off-by: Denis Karpov Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d99bb923fc23aeb1086d60eb1c70602b4e2036 Author: Adrian Hunter Date: Tue Sep 22 16:44:48 2009 -0700 omap_hsmmc: make use of new MMC_CAP_NONREMOVABLE host capability Let the board specify that a card is nonremovable e.g. eMMC Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3f406f861456987c9fce8cfa0a00d07b16cdec0 Author: Jarkko Lavinen Date: Tue Sep 22 16:44:46 2009 -0700 omap_hsmmc: fix scatter-gather list sanity checking Do not use host->dma_len when it is uninitialzed. Finish the request with an error if the mmc_omap_prepare_data() fails. Signed-off-by: Jarkko Lavinen Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6b2240da2b090874095832afc7eb9ed2968b27f Author: Adrian Hunter Date: Tue Sep 22 16:44:45 2009 -0700 omap_hsmmc: ensure workqueues are empty before suspend Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abb28e731a751f0b6c293a67b3e564eb0e336d53 Author: Denis Karpov Date: Tue Sep 22 16:44:44 2009 -0700 omap_hsmmc: set open drain bit correctly The code could set the bit to 1 but not reset it to 0. Signed-off-by: Denis Karpov Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11dd62a741047b9fd1faf37620e2b58595f04ce5 Author: Denis Karpov Date: Tue Sep 22 16:44:43 2009 -0700 omap_hsmmc: context save/restore support Keep the context over PM dynamic OFF states. Signed-off-by: Denis Karpov Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3621465b4fd91b7f8560f394afc494a57b77501 Author: Adrian Hunter Date: Tue Sep 22 16:44:42 2009 -0700 omap_hsmmc: keep track of power mode This patch is preparation for adding context save and restore support. Keep track of the current power mode so that the context restore function can avoid restoring the context for a card if the power has been switched off. If the power is off, the card must be reinitialized anyway which will re-establish the context. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1887bde391a3216789c9a03ac111d5f6ebfb0c00 Author: Denis Karpov Date: Tue Sep 22 16:44:40 2009 -0700 ARM: OMAP: mmc-twl4030: add context loss counter support PM dynamic OFF state results in context loss. That is, the host controller has been powered off at some point, which means the registers have been reset. The driver must detect when this happens, and restore the context. This patch adds the means to detect context loss. Note, the PM side is not yet implemented. Signed-off-by: Denis Karpov Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e2ea6173d71cee81e53da00911dcab8cc092acc Author: Adrian Hunter Date: Tue Sep 22 16:44:39 2009 -0700 omap_hsmmc: make use of new enable/disable interface For the moment enable / disable just turns the fclk on and off. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d900f7128cf73d77467209672db2dcf0ff02dde6 Author: Denis Karpov Date: Tue Sep 22 16:44:38 2009 -0700 omap_hsmmc: add debugfs entry (host registers) Adds /kernel/debug/mmc/regs entry, contents show registers' state and some driver internal state variables. Signed-off-by: Denis Karpov Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef0b27d4ccacac32afc3d1c0e8a95e4091dfbc8c Author: Adrian Hunter Date: Tue Sep 22 16:44:37 2009 -0700 mmc: check status after MMC SWITCH command According to the standard, the SWITCH command should be followed by a SEND_STATUS command to check for errors. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53509f0fe28e049e772897aa8fa1f5183b6823a2 Author: Denis Karpov Date: Tue Sep 22 16:44:36 2009 -0700 mmc: power off once at removal Fix MMC host stop sequence: power off once. Signed-off-by: Denis Karpov Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1ebe38456f7fe61a88af2844361e763ac6ea5ae Author: Jarkko Lavinen Date: Tue Sep 22 16:44:34 2009 -0700 mmc: add mmc card sleep and awake support Add support for the new MMC command SLEEP_AWAKE. Signed-off-by: Jarkko Lavinen Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eae1aeeed852aae37621b82a9e7f6c05096a18fd Author: Adrian Hunter Date: Tue Sep 22 16:44:33 2009 -0700 mmc: add ability to save power by powering off cards Power can be saved by powering off cards that are not in use. This is similar to suspend / resume except it is under the control of the driver, and does not require any power management support. It can only be used when the driver can monitor whether the card is removed, otherwise it is unsafe. This is possible because, unlike suspend, the driver still receives card detect and / or cover switch interrupts. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9feae246963c648b212abad0f0eb8938de5f5fe5 Author: Adrian Hunter Date: Tue Sep 22 16:44:32 2009 -0700 mmc: add MMC_CAP_NONREMOVABLE host capability eMMC's are not removable, so unsafe resume is OK always. To permit this a new host capability MMC_CAP_NONREMOVABLE has been added and suspend / resume updated accordingly. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 319a3f1429c91147058ac26c5f5bac8ec1730bc6 Author: Adrian Hunter Date: Tue Sep 22 16:44:30 2009 -0700 mmc: allow host claim / release nesting This change allows the MMC host to be claimed in situations where the host may or may not have already been claimed. Also 'mmc_try_claim_host()' is now exported. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ea926b22e2d13238e4d65d8f61c48fe424e6f4f Author: Adrian Hunter Date: Tue Sep 22 16:44:29 2009 -0700 mmc: add 'enable' and 'disable' methods to mmc host MMC hosts that support power saving can use the 'enable' and 'disable' methods to exit and enter power saving states. An explanation of their use is provided in the comments added to include/linux/mmc/host.h. Signed-off-by: Adrian Hunter Acked-by: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Jarkko Lavinen Cc: Denis Karpov Cc: Pierre Ossman Cc: Philip Langdale Cc: "Madhusudhan" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27cce39f555def6f5ebe7f03d69ccc44ab25f0b2 Author: Ohad Ben-Cohen Date: Tue Sep 22 16:44:28 2009 -0700 sdio: do not ignore MMC_VDD_165_195 This is needed for 1.8V embedded SDIO devices and supporting host controllers (e.g. TI 127x and ZOOM2 boards) Signed-off-by: Ohad Ben-Cohen Acked-by: Matt Fleming Cc: Ian Molton Cc: Pierre Ossman Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f400cd8c84ba51e0ef3d9b680fe9f45ab54c792c Author: Uwe Kleine-König Date: Tue Sep 22 16:44:26 2009 -0700 mmc: register mmci-omap-hs using platform_driver_probe omap_mmc_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 Cc: Jean Pihet Cc: Tony Lindgren Cc: Pierre Ossman Cc: Andy Lowe Cc: Adrian Hunter Cc: Andrew Morton Acked-by: David Brownell Cc: Madhusudhan Chikkature Cc: Greg Kroah-Hartman Cc: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5a74d6058e86546868242bb5283e16fb10fd90a Author: Joe Perches Date: Tue Sep 22 16:44:25 2009 -0700 msm_sdcc.c: move overly indented code to separate function Signed-off-by: Joe Perches Cc: Pavel Machek Cc: Brian Swetland Cc: Pierre Ossman Cc: San Mehat Cc: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75d145283b2e42619d7ee1e00b78466bacd51808 Author: Joe Perches Date: Tue Sep 22 16:44:24 2009 -0700 msm_sdcc.c: stylistic cleaning Make it a bit more like typical kernel style. Signed-off-by: Joe Perches Cc: Pavel Machek Cc: Brian Swetland Cc: Pierre Ossman Cc: San Mehat Cc: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a7ff7c7573011ec1f52052a8baeae68f4066dde Author: Joe Perches Date: Tue Sep 22 16:44:23 2009 -0700 msm_sdcc.c: convert printk(KERN_ to pr_( Signed-off-by: Joe Perches Cc: Pavel Machek Cc: Brian Swetland Cc: Pierre Ossman Cc: San Mehat Cc: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d2bd7383c71d38c60328a3dc8a946eda2013826 Author: San Mehat Date: Tue Sep 22 16:44:22 2009 -0700 mmc: msm_sdccc: driver for HTC Dream MMC Driver for HTC Dream. I picked the code up from Google git trees, removed stuff not strictly necessary, and did a few cleanups. It still works :-). Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Pierre Ossman Cc: Joe Perches Cc: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccdfe3a66a57f5e36f56101e60946ee341eb5f1b Author: Anand Gadiyar Date: Tue Sep 22 16:44:21 2009 -0700 OMAP: HSMMC: do not enable buffer ready interrupt if using DMA This considerably reduces the number of interrupts during a transfer and ought to result in some power saving. Signed-off-by: Anand Gadiyar Signed-off-by: Santosh Shilimkar Acked-by: Kishore Kadiyala Cc: Pierre Ossman Cc: Matt Fleming Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 500f35648e5ebd04be00f974738a9db959a892b8 Author: Balaji Rao Date: Tue Sep 22 16:44:18 2009 -0700 mmc: in mmc_power_up(), use previously selected ocr if available When mmc_power_up is called during unsafe resume, host->ocr should be used instead of host->ocr_avail. Signed-off-by: Balaji Rao Cc: Andy Green Cc: Pierre Ossman Cc: Ian Molton Cc: "Roberto A. Foglietta" Cc: Philip Langdale Acked-by: Matt Fleming Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e56770fbc48c1517f620f9f68e3f728e74d52bf5 Author: Mike Frysinger Date: Tue Sep 22 16:44:17 2009 -0700 Blackfin: override text/data checking functions Signed-off-by: Mike Frysinger Cc: Ingo Molnar Cc: Robin Getz Cc: Sam Ravnborg Cc: Peter Zijlstra Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a9ad18deb2870a9968f50351a0d4b8cc2a04099 Author: Mike Frysinger Date: Tue Sep 22 16:44:16 2009 -0700 lockdep: use new arch_is_kernel_data() This allows lockdep to locate symbols that are in arch-specific data sections (such as data in Blackfin on-chip SRAM regions). Signed-off-by: Mike Frysinger Cc: Ingo Molnar Cc: Robin Getz Cc: Sam Ravnborg Cc: Peter Zijlstra Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 128e8db38e30c1786498dfc011d0f9dd7f9f9266 Author: Mike Frysinger Date: Tue Sep 22 16:44:15 2009 -0700 kallsyms: use new arch_is_kernel_text() This allows kallsyms to locate symbols that are in arch-specific text sections (such as text in Blackfin on-chip SRAM regions). Signed-off-by: Mike Frysinger Cc: Ingo Molnar Cc: Robin Getz Cc: Sam Ravnborg Cc: Peter Zijlstra Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00afe029aab03bd95eba210b5e74a252017c4692 Author: Mike Frysinger Date: Tue Sep 22 16:44:14 2009 -0700 asm/sections: add text/data checking functions for arches to override Some ports (like the Blackfin arch) have a discontiguous memory map which means there may be text or data that falls outside of the standard range of the start/end text/data symbols. Creating some helper functions allows these non-standard ports to declare these regions without adversely affecting anyone else. Signed-off-by: Mike Frysinger Cc: Ingo Molnar Cc: Robin Getz Cc: Sam Ravnborg Cc: Peter Zijlstra Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9ece53c4089ef23d4002d34c4c7148d94622a40 Author: Paul Mundt Date: Tue Sep 22 16:44:12 2009 -0700 kallsyms: fix segfault in prefix_underscores_count() Commit b478b782e110fdb4135caa3062b6d687e989d994 "kallsyms, tracing: output more proper symbol name" introduces a "bugfix" that introduces a segfault in kallsyms in my configurations. The cause is the introduction of prefix_underscores_count() which attempts to count underscores, even in symbols that do not have them. As a result, it just uselessly runs past the end of the buffer until it crashes: CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 KSYM .tmp_kallsyms1.S /bin/sh: line 1: 16934 Done sh-linux-gnu-nm -n .tmp_vmlinux1 16935 Segmentation fault | scripts/kallsyms > .tmp_kallsyms1.S make: *** [.tmp_kallsyms1.S] Error 139 This simplifies the logic and just does a straightforward count. Signed-off-by: Paul Mundt Reviewed-by: Li Zefan Cc: Lai Jiangshan Cc: Sam Ravnborg Cc: Paulo Marques Cc: Ingo Molnar Cc: [2.6.30.x, 2.6.31.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f10206cf8e945220f7220a809d8bfc15c21f9a5 Author: Jiri Pirko Date: Tue Sep 22 16:44:10 2009 -0700 getrusage: fill ru_maxrss value Make ->ru_maxrss value in struct rusage filled accordingly to rss hiwater mark. This struct is filled as a parameter to getrusage syscall. ->ru_maxrss value is set to KBs which is the way it is done in BSD systems. /usr/bin/time (gnu time) application converts ->ru_maxrss to KBs which seems to be incorrect behavior. Maintainer of this util was notified by me with the patch which corrects it and cc'ed. To make this happen we extend struct signal_struct by two fields. The first one is ->maxrss which we use to store rss hiwater of the task. The second one is ->cmaxrss which we use to store highest rss hiwater of all task childs. These values are used in k_getrusage() to actually fill ->ru_maxrss. k_getrusage() uses current rss hiwater value directly if mm struct exists. Note: exec() clear mm->hiwater_rss, but doesn't clear sig->maxrss. it is intetionally behavior. *BSD getrusage have exec() inheriting. test programs ======================================================== getrusage.c =========== #include #include #include #include #include #include #include #include #include #include #include #include "common.h" #define err(str) perror(str), exit(1) int main(int argc, char** argv) { int status; printf("allocate 100MB\n"); consume(100); printf("testcase1: fork inherit? \n"); printf(" expect: initial.self ~= child.self\n"); show_rusage("initial"); if (__fork()) { wait(&status); } else { show_rusage("fork child"); _exit(0); } printf("\n"); printf("testcase2: fork inherit? (cont.) \n"); printf(" expect: initial.children ~= 100MB, but child.children = 0\n"); show_rusage("initial"); if (__fork()) { wait(&status); } else { show_rusage("child"); _exit(0); } printf("\n"); printf("testcase3: fork + malloc \n"); printf(" expect: child.self ~= initial.self + 50MB\n"); show_rusage("initial"); if (__fork()) { wait(&status); } else { printf("allocate +50MB\n"); consume(50); show_rusage("fork child"); _exit(0); } printf("\n"); printf("testcase4: grandchild maxrss\n"); printf(" expect: post_wait.children ~= 300MB\n"); show_rusage("initial"); if (__fork()) { wait(&status); show_rusage("post_wait"); } else { system("./child -n 0 -g 300"); _exit(0); } printf("\n"); printf("testcase5: zombie\n"); printf(" expect: pre_wait ~= initial, IOW the zombie process is not accounted.\n"); printf(" post_wait ~= 400MB, IOW wait() collect child's max_rss. \n"); show_rusage("initial"); if (__fork()) { sleep(1); /* children become zombie */ show_rusage("pre_wait"); wait(&status); show_rusage("post_wait"); } else { system("./child -n 400"); _exit(0); } printf("\n"); printf("testcase6: SIG_IGN\n"); printf(" expect: initial ~= after_zombie (child's 500MB alloc should be ignored).\n"); show_rusage("initial"); signal(SIGCHLD, SIG_IGN); if (__fork()) { sleep(1); /* children become zombie */ show_rusage("after_zombie"); } else { system("./child -n 500"); _exit(0); } printf("\n"); signal(SIGCHLD, SIG_DFL); printf("testcase7: exec (without fork) \n"); printf(" expect: initial ~= exec \n"); show_rusage("initial"); execl("./child", "child", "-v", NULL); return 0; } child.c ======= #include #include #include #include #include #include #include #include #include #include #include "common.h" int main(int argc, char** argv) { int status; int c; long consume_size = 0; long grandchild_consume_size = 0; int show = 0; while ((c = getopt(argc, argv, "n:g:v")) != -1) { switch (c) { case 'n': consume_size = atol(optarg); break; case 'v': show = 1; break; case 'g': grandchild_consume_size = atol(optarg); break; default: break; } } if (show) show_rusage("exec"); if (consume_size) { printf("child alloc %ldMB\n", consume_size); consume(consume_size); } if (grandchild_consume_size) { if (fork()) { wait(&status); } else { printf("grandchild alloc %ldMB\n", grandchild_consume_size); consume(grandchild_consume_size); exit(0); } } return 0; } common.c ======== #include #include #include #include #include #include #include #include #include #include #include #include "common.h" #define err(str) perror(str), exit(1) void show_rusage(char *prefix) { int err, err2; struct rusage rusage_self; struct rusage rusage_children; printf("%s: ", prefix); err = getrusage(RUSAGE_SELF, &rusage_self); if (!err) printf("self %ld ", rusage_self.ru_maxrss); err2 = getrusage(RUSAGE_CHILDREN, &rusage_children); if (!err2) printf("children %ld ", rusage_children.ru_maxrss); printf("\n"); } /* Some buggy OS need this worthless CPU waste. */ void make_pagefault(void) { void *addr; int size = getpagesize(); int i; for (i=0; i<1000; i++) { addr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); if (addr == MAP_FAILED) err("make_pagefault"); memset(addr, 0, size); munmap(addr, size); } } void consume(int mega) { size_t sz = mega * 1024 * 1024; void *ptr; ptr = malloc(sz); memset(ptr, 0, sz); make_pagefault(); } pid_t __fork(void) { pid_t pid; pid = fork(); make_pagefault(); return pid; } common.h ======== void show_rusage(char *prefix); void make_pagefault(void); void consume(int mega); pid_t __fork(void); FreeBSD result (expected result) ======================================================== allocate 100MB testcase1: fork inherit? expect: initial.self ~= child.self initial: self 103492 children 0 fork child: self 103540 children 0 testcase2: fork inherit? (cont.) expect: initial.children ~= 100MB, but child.children = 0 initial: self 103540 children 103540 child: self 103564 children 0 testcase3: fork + malloc expect: child.self ~= initial.self + 50MB initial: self 103564 children 103564 allocate +50MB fork child: self 154860 children 0 testcase4: grandchild maxrss expect: post_wait.children ~= 300MB initial: self 103564 children 154860 grandchild alloc 300MB post_wait: self 103564 children 308720 testcase5: zombie expect: pre_wait ~= initial, IOW the zombie process is not accounted. post_wait ~= 400MB, IOW wait() collect child's max_rss. initial: self 103564 children 308720 child alloc 400MB pre_wait: self 103564 children 308720 post_wait: self 103564 children 411312 testcase6: SIG_IGN expect: initial ~= after_zombie (child's 500MB alloc should be ignored). initial: self 103564 children 411312 child alloc 500MB after_zombie: self 103624 children 411312 testcase7: exec (without fork) expect: initial ~= exec initial: self 103624 children 411312 exec: self 103624 children 411312 Linux result (actual test result) ======================================================== allocate 100MB testcase1: fork inherit? expect: initial.self ~= child.self initial: self 102848 children 0 fork child: self 102572 children 0 testcase2: fork inherit? (cont.) expect: initial.children ~= 100MB, but child.children = 0 initial: self 102876 children 102644 child: self 102572 children 0 testcase3: fork + malloc expect: child.self ~= initial.self + 50MB initial: self 102876 children 102644 allocate +50MB fork child: self 153804 children 0 testcase4: grandchild maxrss expect: post_wait.children ~= 300MB initial: self 102876 children 153864 grandchild alloc 300MB post_wait: self 102876 children 307536 testcase5: zombie expect: pre_wait ~= initial, IOW the zombie process is not accounted. post_wait ~= 400MB, IOW wait() collect child's max_rss. initial: self 102876 children 307536 child alloc 400MB pre_wait: self 102876 children 307536 post_wait: self 102876 children 410076 testcase6: SIG_IGN expect: initial ~= after_zombie (child's 500MB alloc should be ignored). initial: self 102876 children 410076 child alloc 500MB after_zombie: self 102880 children 410076 testcase7: exec (without fork) expect: initial ~= exec initial: self 102880 children 410076 exec: self 102880 children 410076 Signed-off-by: Jiri Pirko Signed-off-by: KOSAKI Motohiro Cc: Oleg Nesterov Cc: Hugh Dickins Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b28cfd2c0616e1b42acc6ee3c77ef6cc3873c510 Author: Andi Kleen Date: Tue Sep 22 16:44:05 2009 -0700 kmap_types.h: rename D macro I tend to use a 'D' debugging macro a lot during debugging. When I define it before includes I often get conflicts with kmap_types.h's use of 'D' too. It's not very nice when a global include pollutes the name space like this. Rename the kmap_types.h D to KMAP_D. It is only used temporarily in the header so has no effect on anything else. Signed-off-by: Andi Kleen Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a49c59c042c63b432307c1bbf7dac5a104c786e6 Author: Rolf Eike Beer Date: Tue Sep 22 16:44:03 2009 -0700 Make sure the value in abs() does not get truncated if it is greater than 2^32 abs() will truncate the input if is it outside the 2^32 range. Fix that by assuming `long' input. This might generate worse code in the common case. Signed-off-by: Rolf Eike Beer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7d7561c908afa001ab0fc8212eee94731a213a6 Author: Suzuki Poulose Date: Tue Sep 22 16:44:02 2009 -0700 fix compat_sys_utimensat() Compat utimensat() returns EINVAL when the tv_nsec is one of UTIME_OMIT or UTIME_NOW and the tv_sec is set to non-zero. As per man pages, the tv_sec field should be ignored. sys_utimensat() works fine in this case. Test case: #define _GNU_SOURCE #define _ATFILE_SOURCE #include #include #include #include #include main(int argc, char *argv[]) { struct timespec ts[2]; struct timespec *tsp; if (argc < 2) { fprintf(stderr, "Usage : %s filename\n", argv[0]); exit (-1); } ts[0].tv_nsec = ts[1].tv_nsec = UTIME_NOW; ts[0].tv_sec = ts[1].tv_sec = 1; tsp = ts; if (utimensat(AT_FDCWD, argv[1],tsp,0) == -1) perror("utimensat"); else fprintf(stdout, "utimensat success\n"); return 0; } mjs22lp5:~ # cc -m64 utimensat-test.c -o utimensat_test64 mjs22lp5:~ # cc -m32 utimensat-test.c -o utimensat_test32 mjs22lp5:~ # ./utimensat_test32 /tmp/utimensat_test utimensat: Invalid argument mjs22lp5:~ # ./utimensat_test64 /tmp/utimensat_test utimensat success mjs22lp5:~ # uname -r 2.6.31-rc8 With the patch : mjs22lp5:~ # ./utimensat_test64 /tmp/utimensat_test utimensat success mjs22lp5:~ # ./utimensat_test32 /tmp/utimensat_test utimensat success mjs22lp5:~ # uname -r 2.6.31-rc8utimensat Signed-off-by: Suzuki K P Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54447c3e8f63524fcdd40395bb2d405cab5555a7 Author: Jaswinder Singh Rajput Date: Tue Sep 22 16:44:01 2009 -0700 vlynq: includecheck fix: drivers/vlynq/vlynq.c Fix the following 'make includecheck' warning: drivers/vlynq/vlynq.c: linux/device.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Florian Fainelli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 945ffe54bbd56ceed62de3b908800fd7c6ffb284 Author: Christoph Hellwig Date: Tue Sep 22 16:43:59 2009 -0700 qnx4: remove write support qnx4 wrte support has never been fully implement, is broken since the dawn of time and hasn't been actively developed since before git history started. Instead of letting it further bitrot and complicate API transition (like the new truncate code) remove it. Signed-off-by: Christoph Hellwig Cc: Anders Larsen Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a9f47ddb1d5cc3cda2d1f26f8da74e059fa7b87 Author: Christoph Hellwig Date: Tue Sep 22 16:43:58 2009 -0700 ntfs: remove ntfs_file_write do_sync_write() does the right thing for turning the aio_writev method into a normal non-vectored synchronous write, no need to duplicate it in ntfs. Signed-off-by: Christoph Hellwig Acked-by: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 562787a5c32ccdf182de27793a83a9f2ee86cd77 Author: Davide Libenzi Date: Tue Sep 22 16:43:57 2009 -0700 anonfd: split interface into file creation and install Split the anonfd interface into a bare file pointer creation one, and a file pointer creation plus install one. There are cases, like the usage of eventfds inside other kernel interfaces, where the file pointer created by anonfd needs to be used inside the initialization of other structures. As it is right now, as soon as anon_inode_getfd() returns, the kenrle can race with userspace closing the newly installed file descriptor. This patch, while keeping the old anon_inode_getfd(), introduces a new anon_inode_getfile() (whose services are reused in anon_inode_getfd()) that allows to split the file creation phase and the fd install one. Once all the kernel structures are initialized, the code can call the proper fd_install(). Gregory manifested the need for something like this inside KVM. Signed-off-by: Davide Libenzi Cc: Alexander Viro Cc: James Morris Cc: Peter Zijlstra Cc: Gregory Haskins Acked-by: Serge Hallyn Acked-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 515350b6fd041396f425180589e08812dd13615f Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 22 16:43:54 2009 -0700 MAINTAINERS: remove dead ncpfs list On Saturday 01 August 2009 00:30:39 Mail Delivery Subsystem wrote: > Delivery to the following recipient failed permanently: > > linware@sh.cvut.cz > > Technical details of permanent failure: > Google tried to deliver your message, but it was rejected by the recipient > domain. We recommend contacting the other email provider for further > information about the cause of this error. The error that the other server > returned was: 450 450 : Recipient address rejected: > undeliverable address: unknown user: "linware" (state 14). Cc: Petr Vandrovec Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 385773e04806e8903e9ec683f5c4bd14926a86dc Author: H Hartley Sweeten Date: Tue Sep 22 16:43:53 2009 -0700 aio.c: move EXPORT* macros to line after function As mentioned in Documentation/CodingStyle, move EXPORT* macro's to the line immediately after the closing function brace line. Also, move the __initcall() similarly. Signed-off-by: H Hartley Sweeten Cc: Zach Brown Cc: Benjamin LaHaise Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c87df457cb58fe75b9b893007917cf8095660a0 Author: Jan Beulich Date: Tue Sep 22 16:43:52 2009 -0700 BUILD_BUG_ON(): fix it and a couple of bogus uses of it gcc permitting variable length arrays makes the current construct used for BUILD_BUG_ON() useless, as that doesn't produce any diagnostic if the controlling expression isn't really constant. Instead, this patch makes it so that a bit field gets used here. Consequently, those uses where the condition isn't really constant now also need fixing. Note that in the gfp.h, kmemcheck.h, and virtio_config.h cases MAYBE_BUILD_BUG_ON() really just serves documentation purposes - even if the expression is compile time constant (__builtin_constant_p() yields true), the array is still deemed of variable length by gcc, and hence the whole expression doesn't have the intended effect. [akpm@linux-foundation.org: make arch/sparc/include/asm/vio.h compile] [akpm@linux-foundation.org: more nonsensical assertions in tpm.c..] Signed-off-by: Jan Beulich Cc: Andi Kleen Cc: Rusty Russell Cc: Catalin Marinas Cc: "David S. Miller" Cc: Rajiv Andrade Cc: Mimi Zohar Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fe72eaa0f46a0fa4cdcd8f3f7853b6d39469784 Author: H Hartley Sweeten Date: Tue Sep 22 16:43:51 2009 -0700 fs/buffer.c: clean up EXPORT* macros According to Documentation/CodingStyle the EXPORT* macro should follow immediately after the closing function brace line. Also, mark_buffer_async_write_endio() and do_thaw_all() are not used elsewhere so they should be marked as static. In addition, file_fsync() is actually in fs/sync.c so move the EXPORT* to that file. Signed-off-by: H Hartley Sweeten Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88e0fbc452ed94393bf89585c2b90edb94749b45 Author: Nick Piggin Date: Tue Sep 22 16:43:50 2009 -0700 fs: turn iprune_mutex into rwsem We have had a report of bad memory allocation latency during DVD-RAM (UDF) writing. This is causing the user's desktop session to become unusable. Jan tracked the cause of this down to UDF inode reclaim blocking: gnome-screens D ffff810006d1d598 0 20686 1 ffff810006d1d508 0000000000000082 ffff810037db6718 0000000000000800 ffff810006d1d488 ffffffff807e4280 ffffffff807e4280 ffff810006d1a580 ffff8100bccbc140 ffff810006d1a8c0 0000000006d1d4e8 ffff810006d1a8c0 Call Trace: [] io_schedule+0x63/0xa5 [] sync_buffer+0x3b/0x3f [] __wait_on_bit+0x47/0x79 [] out_of_line_wait_on_bit+0x6a/0x77 [] __wait_on_buffer+0x1f/0x21 [] __bread+0x70/0x86 [] :udf:udf_tread+0x38/0x3a [] :udf:udf_update_inode+0x4d/0x68c [] :udf:udf_write_inode+0x1d/0x2b [] __writeback_single_inode+0x1c0/0x394 [] write_inode_now+0x7d/0xc4 [] :udf:udf_clear_inode+0x3d/0x53 [] clear_inode+0xc2/0x11b [] dispose_list+0x5b/0x102 [] shrink_icache_memory+0x1dd/0x213 [] shrink_slab+0xe3/0x158 [] try_to_free_pages+0x177/0x232 [] __alloc_pages+0x1fa/0x392 [] alloc_page_vma+0x176/0x189 [] __do_fault+0x10c/0x417 [] handle_mm_fault+0x466/0x940 [] do_page_fault+0x676/0xabf This blocks with iprune_mutex held, which then blocks other reclaimers: X D ffff81009d47c400 0 17285 14831 ffff8100844f3728 0000000000000086 0000000000000000 ffff81000000e288 ffff81000000da00 ffffffff807e4280 ffffffff807e4280 ffff81009d47c400 ffffffff805ff890 ffff81009d47c740 00000000844f3808 ffff81009d47c740 Call Trace: [] __mutex_lock_slowpath+0x72/0xa9 [] mutex_lock+0x1e/0x22 [] shrink_icache_memory+0x49/0x213 [] shrink_slab+0xe3/0x158 [] try_to_free_pages+0x177/0x232 [] __alloc_pages+0x1fa/0x392 [] alloc_pages_current+0xd1/0xd6 [] __get_free_pages+0xe/0x4d [] __pollwait+0x5e/0xdf [] :nvidia:nv_kern_poll+0x2e/0x73 [] do_select+0x308/0x506 [] core_sys_select+0x1a6/0x254 [] sys_select+0xb5/0x157 Now I think the main problem is having the filesystem block (and do IO) in inode reclaim. The problem is that this doesn't get accounted well and penalizes a random allocator with a big latency spike caused by work generated from elsewhere. I think the best idea would be to avoid this. By design if possible, or by deferring the hard work to an asynchronous context. If the latter, then the fs would probably want to throttle creation of new work with queue size of the deferred work, but let's not get into those details. Anyway, the other obvious thing we looked at is the iprune_mutex which is causing the cascading blocking. We could turn this into an rwsem to improve concurrency. It is unreasonable to totally ban all potentially slow or blocking operations in inode reclaim, so I think this is a cheap way to get a small improvement. This doesn't solve the whole problem of course. The process doing inode reclaim will still take the latency hit, and concurrent processes may end up contending on filesystem locks. So fs developers should keep these problems in mind. Signed-off-by: Nick Piggin Cc: Jan Kara Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70867453092297be9afb2249e712a1f960ec0a09 Author: Roland Dreier Date: Tue Sep 22 16:43:46 2009 -0700 printk_once(): use bool for boolean flag Using the type bool (instead of int) for the __print_once flag in the printk_once() macro matches the intent of the code better, and allows the compiler to generate smaller code; eg a typical callsite with gcc 4.3.3 on i386: add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-6 (-6) function old new delta static.__print_once 4 1 -3 get_cpu_vendor 146 143 -3 Saving 6 bytes of object size per callsite by slightly improving the readability of the source seems like a win to me. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02b51df1b07b4e9ca823c89284e704cadb323cd1 Author: Scott James Remnant Date: Tue Sep 22 16:43:44 2009 -0700 proc connector: add event for process becoming session leader The act of a process becoming a session leader is a useful signal to a supervising init daemon such as Upstart. While a daemon will normally do this as part of the process of becoming a daemon, it is rare for its children to do so. When the children do, it is nearly always a sign that the child should be considered detached from the parent and not supervised along with it. The poster-child example is OpenSSH; the per-login children call setsid() so that they may control the pty connected to them. If the primary daemon dies or is restarted, we do not want to consider the per-login children and want to respawn the primary daemon without killing the children. This patch adds a new PROC_SID_EVENT and associated structure to the proc_event event_data union, it arranges for this to be emitted when the special PIDTYPE_SID pid is set. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Scott James Remnant Acked-by: Matt Helsley Cc: Oleg Nesterov Cc: Evgeniy Polyakov Acked-by: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88e9d34c727883d7d6f02cf1475b3ec98b8480c7 Author: James Morris Date: Tue Sep 22 16:43:43 2009 -0700 seq_file: constify seq_operations Make all seq_operations structs const, to help mitigate against revectoring user-triggerable function pointers. This is derived from the grsecurity patch, although generated from scratch because it's simpler than extracting the changes from there. Signed-off-by: James Morris Acked-by: Serge Hallyn Acked-by: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7ed698cc9d556306a4088c238e2ea9311ea2cb3 Author: Ladinu Chandrasinghe Date: Tue Sep 22 16:43:42 2009 -0700 Documentation/: fix warnings from -Wmissing-prototypes in HOSTCFLAGS Fix up -Wmissing-prototypes in compileable userspace code, mainly under Documentation/. Signed-off-by: Ladinu Chandrasinghe Signed-off-by: Trevor Keith Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 912e837aef72a3dd263dafc3717d92bbc1211a53 Author: Roel Kluin Date: Tue Sep 22 16:43:41 2009 -0700 dme1737: Keep index within pwm_config[] The static code scanner "Parfait" reported this because pwm_config is only 3 bytes - pwm_config[3] is out of range. Since this code path is never called with ix == 3 (the device has no PWM4 output) this doesn't change anything in practice. But to encourage testing with Parfait, lets make the warning go away... Signed-off-by: Roel Kluin Acked-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54fdade1c3332391948ec43530c02c4794a38172 Author: Xiao Guangrong Date: Tue Sep 22 16:43:39 2009 -0700 generic-ipi: make struct call_function_data lockless This patch can remove spinlock from struct call_function_data, the reasons are below: 1: add a new interface for cpumask named cpumask_test_and_clear_cpu(), it can atomically test and clear specific cpu, we can use it instead of cpumask_test_cpu() and cpumask_clear_cpu() and no need data->lock to protect those in generic_smp_call_function_interrupt(). 2: in smp_call_function_many(), after csd_lock() return, the current's cfd_data is deleted from call_function list, so it not have race between other cpus, then cfs_data is only used in smp_call_function_many() that must disable preemption and not from a hardware interrupthandler or from a bottom half handler to call, only the correspond cpu can use it, so it not have race in current cpu, no need cfs_data->lock to protect it. 3: after 1 and 2, cfs_data->lock is only use to protect cfs_data->refs in generic_smp_call_function_interrupt(), so we can define cfs_data->refs to atomic_t, and no need cfs_data->lock any more. Signed-off-by: Xiao Guangrong Cc: Ingo Molnar Cc: Jens Axboe Cc: Nick Piggin Cc: Peter Zijlstra Acked-by: Rusty Russell [akpm@linux-foundation.org: use atomic_dec_return()] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c725138437837291db5c25f4a076ee852e806e3 Author: Trevor Keith Date: Tue Sep 22 16:43:38 2009 -0700 Fix all -Wmissing-prototypes warnings in x86 defconfig Signed-off-by: Trevor Keith Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e898893399335514b10dfbd75598f8308976abe4 Author: Michael Buesch Date: Tue Sep 22 16:43:36 2009 -0700 dac960: fix undefined behavior on empty string Fix undefined behavior due to a buffer underrun if an empty string is written to the proc file. Signed-off-by: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c02e3f361c75da04ca3025b4d19e947e9cc62ed3 Author: Neil Horman Date: Tue Sep 22 16:43:36 2009 -0700 kmod: fix race in usermodehelper code The user mode helper code has a race in it. call_usermodehelper_exec() takes an allocated subprocess_info structure, which it passes to a workqueue, and then passes it to a kernel thread which it creates, after which it calls complete to signal to the caller of call_usermodehelper_exec() that it can free the subprocess_info struct. But since we use that structure in the created thread, we can't call complete from __call_usermodehelper(), which is where we create the kernel thread. We need to call complete() from within the kernel thread and then not use subprocess_info afterward in the case of UMH_WAIT_EXEC. Tested successfully by me. Signed-off-by: Neil Horman Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fd7317d02ec03c6fdf072317841287933d06d24 Author: Nick Black Date: Tue Sep 22 16:43:33 2009 -0700 Move magic numbers into magic.h Move various magic-number definitions into magic.h. Signed-off-by: Nick Black Acked-by: Pekka Enberg Cc: Al Viro Cc: "David S. Miller" Cc: Casey Schaufler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af91322ef3f29ae4114e736e2a72e28b4d619cf9 Author: Dave Young Date: Tue Sep 22 16:43:33 2009 -0700 printk: add printk_delay to make messages readable for some scenarios When syslog is not possible, at the same time there's no serial/net console available, it will be hard to read the printk messages. For example oops/panic/warning messages in shutdown phase. Add a printk delay feature, we can make each printk message delay some milliseconds. Setting the delay by proc/sysctl interface: /proc/sys/kernel/printk_delay The value range from 0 - 10000, default value is 0 [akpm@linux-foundation.org: fix a few things] Signed-off-by: Dave Young Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a3b6ed2235f2f619889dd6096e24b6d93bf3339 Author: Dave Young Date: Tue Sep 22 16:43:31 2009 -0700 printk boot_delay: rename printk_delay_msec to loops_per_msec Rename `printk_delay_msec' to `loops_per_msec', because the patch "printk: add printk_delay to make messages readable for some scenarios" wishes to more appropriately use the `printk_delay_msec' identifier. [akpm@linux-foundation.org: add a comment] Signed-off-by: Dave Young Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ae87e79ecb5baa65e9cf48be874098fafad0668 Author: Guillaume Knispel Date: Tue Sep 22 16:43:30 2009 -0700 poll/select: avoid arithmetic overflow in __estimate_accuracy() __estimate_accuracy() was prone to integer overflow, for example if *tv == {2147, 483648000} on a 32 bit computer (or even for delays as small as {429, 500000000} if the task is niced). Because the result was already forced between 0 and 100ms, the effect of the overflow was not too problematic, but the use of the hrtimer range feature was not optimal in overflow cases. This patch ensures that there can not be an integer overflow in this function. Signed-off-by: Guillaume Knispel Cc: Alexander Viro Cc: Arjan van de Ven Cc: Thomas Gleixner Cc: Heiko Carstens Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f58f2fa9286db0ce9124ca9986d56aa5420b7f59 Author: M. Mohan Kumar Date: Tue Sep 22 16:43:29 2009 -0700 kprobes: use do_IRQ() in lkdtm Current lkdtm code puts a probe on __do_IRQ for some of the kdump test cases. Since __do_IRQ is deprecated, change lkdtm code to use do_IRQ function. Signed-off-by: M. Mohan Kumar Cc: Ankita Garg Cc: Ingo Molnar Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Cc: "David S. Miller" Cc: Masami Hiramatsu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca976c53de0c33160083d36f70bd18d7970f6969 Author: Roel Kluin Date: Tue Sep 22 16:43:28 2009 -0700 smbfs: read buffer overflow This function uses signed integers for the unix_date and local variables - if a negative number is supplied and the leap-year condition is not met, month will be 0, leading to a read of day_n[-1] Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa081b00a80ef3f4575c99af6e97d29e1628cf51 Author: Andrew Morton Date: Tue Sep 22 16:43:27 2009 -0700 include/linux/kmemcheck.h: fix a trillion warnings of the form include/net/inet_sock.h:208: warning: ISO C90 forbids mixed declarations and code Cc: Johannes Berg Acked-by: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a87371b477774b290c27bc5cb7f4ccc5379574a9 Author: Jean Delvare Date: Sat Sep 12 17:00:46 2009 +0200 USB: Fix sysfs paths in documentation Neither /sys/usb/devices nor /sys/bus/devices exist. The correct path is /sys/bus/usb/devices. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 3ae9da1c99eda248b469fc10d8d9fcebebc949cf Author: Greg Kroah-Hartman Date: Fri Sep 11 16:07:30 2009 -0700 USB: skeleton: fix coding style issues. This fixes up the majority of the coding style issues in the usb-skeleton driver. Signed-off-by: Greg Kroah-Hartman commit 8cd01664344e983d73a85ce604f7c23f475cf303 Author: Oliver Neukum Date: Wed Sep 9 17:08:50 2009 +0200 USB: O_NONBLOCK in read path of skeleton Non blocking IO is supported in the read path of usb-skeleton. This is done by just not blocking. As support for handling signals without stopping IO is already there, it can be used for O_NONBLOCK, too. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 798199867385417ba6494472e39c016e3340758c Author: Oliver Neukum Date: Wed Sep 9 10:23:35 2009 +0200 USB: make usb-skeleton honor O_NONBLOCK in write path usb:usb-skeleton: honor O_NONBLOCK in write path nonblocking writes are allowed by using down_trylock if necessary to reserve an URB Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit e7389cc9a7ff7c6e760e741c81a751c834f7d145 Author: Oliver Neukum Date: Wed Sep 9 17:06:53 2009 +0200 USB: skel_read really sucks royally The read code path of the skeleton driver really sucks - skel_read works only for devices which always send data - the timeout comes out of thin air - it blocks signals for the duration of the timeout - it disallows nonblocking IO by design This patch fixes it by using a real urb, a completion and interruptible waits. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit b356b7c7696b289dda99022d71e3979c6134af52 Author: Sarah Sharp Date: Fri Sep 4 10:53:24 2009 -0700 USB: Add hub descriptor update hook for xHCI Add a hook for updating xHCI internal structures after khubd fetches the hub descriptor and sets up the hub's TT information. The xHCI driver must update the internal structures before devices under the hub can be enumerated. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit ac1c1b7f16ed287fcec5bcfae06d0165c3941ec3 Author: Sarah Sharp Date: Fri Sep 4 10:53:20 2009 -0700 USB: xhci: Support USB hubs. For a USB hub to work under an xHCI host controller, the xHC's internal scheduler must be made aware of the hub's characteristics. Add an xHCI hook that the USB core will call after it fetches the hub descriptor. This hook will add hub information to the slot context for that device, including whether it has multiple TTs or a single TT, the number of ports on the hub, and TT think time. Setting up the slot context for the device is different for 0.95 and 0.96 xHCI host controllers. Some of the slot context reserved fields in the 0.95 specification were changed into hub fields in the 0.96 specification. Don't set the TT think time or number of ports for a hub if we're dealing with a 0.95-compliant xHCI host controller. The 0.95 xHCI specification says that to modify the hub flag, we need to issue an evaluate context command. The 0.96 specification says that flag can be set with a configure endpoint command. Issue the correct command based on the version reported by the hardware. This patch does not add support for multi-TT hubs. Multi-TT hubs expose a single TT on alt setting 0, and multi-TT on alt setting 1. The xHCI driver can't handle setting alternate interfaces yet. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 07b6de102843b717ecd962cf35ec4ad9b1fbed9d Author: Sarah Sharp Date: Fri Sep 4 10:53:19 2009 -0700 USB: xhci: Set multi-TT field for LS/FS devices under hubs. When setting up a slot context for an address device command, set the multi-TT field if this is a low or full speed device under a HS hub with multiple transaction translators. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 4a0cd9670f22c308bc5936ee9734d8ee3f1baa52 Author: Sarah Sharp Date: Fri Sep 4 10:53:17 2009 -0700 USB: xhci: Set route string for all devices. The xHCI driver needs to set the route string in the slot context of all devices, not just SuperSpeed devices. The route string concept was added in the USB 3.0 specification, section 10.1.3.2. Each hub in the topology is expected to have no more than 15 ports in order for the route string of a device to be unique. SuperSpeed hubs are restricted to only having 15 ports, but FS/LS/HS hubs are not. The xHCI specification says that if the port number the device is under is greater than 15, that portion of the route string shall be set to 15. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit a50c8aa953c65fd690eca03a2618ac445a3da05d Author: Sarah Sharp Date: Fri Sep 4 10:53:15 2009 -0700 USB: xhci: Fix command wait list handling. In the xHCI driver, configure endpoint commands that are submitted to the hardware may involve one of two data structures. If the configure endpoint command is setting up a new configuration or modifying max packet sizes, the data structures and completions are statically allocated in the xhci_virt_device structure. If the command is being used to set up streams or add hub information, then the data structures are dynamically allocated, and placed on a device command waiting list. Break out the code to check whether a completed command is in the device command waiting list. Fix a subtle bug in the old code: continue processing the command if the command isn't in the wait list. In the old code, if there was a command in the wait list, but it didn't match the completed command, the completed command event would be dropped. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 913a8a344ffcaf0b4a586d6662a2c66a7106557d Author: Sarah Sharp Date: Fri Sep 4 10:53:13 2009 -0700 USB: xhci: Change how xHCI commands are handled. Some commands to the xHCI hardware cannot be allowed to fail due to out of memory issues or the command ring being full. Add a way to reserve a TRB on the command ring, and make all command queueing functions indicate whether they are using a reserved TRB. Add a way to pre-allocate all the memory a command might need. A command needs an input context, a variable to store the status, and (optionally) a completion for the caller to wait on. Change all code that assumes the input device context, status, and completion for a command is stored in the xhci virtual USB device structure (xhci_virt_device). Store pending completions in a FIFO in xhci_virt_device. Make the event handler for a configure endpoint command check to see whether a pending command in the list has completed. We need to use separate input device contexts for some configure endpoint commands, since multiple drivers can submit requests at the same time that require a configure endpoint command. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 5270b951b9cd5e50aea55cb52684a171fb10381c Author: Sarah Sharp Date: Fri Sep 4 10:53:11 2009 -0700 USB: xhci: Refactor input device context setup. Refactor common code to set up the add and drop flags for the input device context setup. This setup is used before a configure endpoint command for the reset endpoint quirk, and will be used for the command to alloc or free streams rings. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 63a0d9abd18cdcf5a985029c266c6bfe0511768f Author: Sarah Sharp Date: Fri Sep 4 10:53:09 2009 -0700 USB: xhci: Endpoint representation refactoring. The xhci_ring structure contained information that is really related to an endpoint, not a ring. This will cause problems later when endpoint streams are supported and there are multiple rings per endpoint. Move the endpoint state and cancellation information into a new virtual endpoint structure, xhci_virt_ep. The list of TRBs to be cancelled should be per endpoint, not per ring, for easy access. There can be only one TRB that the endpoint stopped on after a stop endpoint command (even with streams enabled); move the stopped TRB information into the new virtual endpoint structure. Also move the 31 endpoint rings and temporary ring storage from the virtual device structure (xhci_virt_device) into the virtual endpoint structure (xhci_virt_ep). Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 9e221be815cd263480928248bfd4541497017a1b Author: Randy Dunlap Date: Mon Sep 7 17:08:39 2009 -0700 USB: gadget: ether needs to select CRC32 Fix build error, ether uses/needs to select CRC32 config symbol: ether.c:(.text+0x271480): undefined reference to `crc32_le' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit d0a38365d9585bf3fb71f7c57fd532441a14f3e8 Author: Gergely Imreh Date: Mon Sep 7 10:47:01 2009 +0800 USB: fix USBTMC get_capabilities success handling In order: Add reference to relevant section of USBTMC usb488 subclass specs. Print debug output of capabilities only when it was retrieved successfully. Clear return value on success, otherwise driver always reports failure. Signed-off-by: Gergely Imreh Signed-off-by: Greg Kroah-Hartman commit 1e5ea5e32043094d96ca1e501110c1fbb631f693 Author: Oliver Neukum Date: Thu Aug 27 16:46:56 2009 +0200 USB: fix missing error check in probing usb: check for IO errors usb_set_interface can return if they happen while unbinding a flag is set to retry upon probe if they happen during probe they are handled as probe errors Signed-off-by: Oliver Neukum Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 01c6460f968d7b57fc6f98adb587952628c6e099 Author: Alan Stern Date: Tue Sep 1 11:09:56 2009 -0400 USB: usbfs: add USBDEVFS_URB_BULK_CONTINUATION flag This patch (as1283) adds a new flag, USBDEVFS_URB_BULK_CONTINUATION, to usbfs. It is intended for userspace libraries such as libusb and openusb. When they have to break up a single usbfs bulk transfer into multiple URBs, they will set the flag on all but the first URB of the series. If an error other than an unlink occurs, the kernel will automatically cancel all the following URBs for the same endpoint and refuse to accept new submissions, until an URB is encountered that is not marked as a BULK_CONTINUATION. Such an URB would indicate the start of a new transfer or the presence of an older library, so the kernel returns to normal operation. This enables libraries to delimit bulk transfers correctly, even in the presence of early termination as indicated by short packets. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit e6929a9020acbeb04d9a3ad9a88234c15be808fd Author: Oliver Neukum Date: Fri Sep 4 23:19:53 2009 +0200 USB: support for autosuspend in sierra while online This implements support for autosuspend in the sierra driver while online. Remote wakeup is used for reception. Transmission is facilitated with a queue and the asynchronous autopm mechanism. To prevent races a private flag for opened ports and a counter of running transmissions needs to be added. Signed-off-by: Oliver Neukum Tested-by: Elina Pasheva Signed-off-by: Greg Kroah-Hartman commit ad45f1dc836cb175e9aeea927837dd48039d652c Author: Jason Wessel Date: Thu Aug 20 15:39:58 2009 -0500 USB: ehci-dbgp,ehci: Allow dbpg to work with suspend/resume In order for the dbgp driver to survive suspend/resume, on every ehci resume operation the debug controller must get re-initialized. Signed-off-by: Jason Wessel Cc: Alan Stern Cc: dbrownell@users.sourceforge.net Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit 9780bc41dca728f9b082a42d9e1f1716d5057081 Author: Jason Wessel Date: Thu Aug 20 15:39:57 2009 -0500 USB: ehci-dbgp,documentation: Documentation updates for ehci-dbgp Add missing information about requirements of using the EHCI usb debug controller as well as to mention you can use a debug controller other than the first one in the system. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" Cc: Alan Stern Cc: Sarah Sharp Cc: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 68d2956a810b5c1b8213a1a9f59eacc54d7ce087 Author: Jason Wessel Date: Thu Aug 20 15:39:56 2009 -0500 USB: ehci-dbgp: errata for EHCI debug/host controller synchronization On some EHCI debug controllers after the host controller driver is activated, the debug controller will occasionally fail to submit a bulk write URB. On controllers that exhibit this behavior a dummy bulk write must get submitted to resynchronize the device. The "dummy bulk write" does not get received by the host attached to the other end of the usb debug device. The usb debug device simply acknowledges the "dummy bulk write" and returns to a usable state. The behavior, without this patch is that you see missing text from a complete kernel boot when using the keep option to the earlyprintk kernel argument. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit aab2d4086a1876fcff282aa36e2d4a92aa9935c9 Author: Jason Wessel Date: Thu Aug 20 15:39:55 2009 -0500 USB: ehci-dbgp: errata for EHCI debug controller initialization On some EHCI usb debug controllers, the EHCI debug device will fail to be seen after a port reset, after a warm reset. Two options exist to get the device to initialize correctly. Option 1 is to unplug and plug in the device. Option 2 is to use the EHCI port test to get the usb debug device to start talking again. At that point the debug controller port reset will succeed. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" CC: dbrownell@users.sourceforge.net Signed-off-by: Greg Kroah-Hartman commit 8d053c79f22462f55c02c8083580730b922cf7b4 Author: Jason Wessel Date: Thu Aug 20 15:39:54 2009 -0500 USB: ehci-dbgp,ehci: Allow early or late use of the dbgp device If the EHCI debug port is initialized and in use, the EHCI host controller driver must follow two rules. 1) If the EHCI host driver issues a controller reset, the debug controller driver re-initialization must get called after the reset is completed. 2) The EHCI host driver should ignore any requests to the physical EHCI debug port when the EHCI debug port is in use. The code to check for the debug port was moved from ehci_pci_reinit() to ehci_pci_setup because it must get called prior to ehci_reset() which will clear the debug port registers. Signed-off-by: Jason Wessel Cc: Alan Stern Cc: dbrownell@users.sourceforge.net Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit 917778267fbe67703ab7d5c6f0b7a05d4c3df485 Author: Jason Wessel Date: Thu Aug 20 15:39:53 2009 -0500 USB: ehci-dbgp: stability improvements and external re-init This patch implements several changes: 1) Improve the capability to debug the dbgp driver The dbgp_ehci_status() was added in a number of places to report the critical ehci registers to diagnose the cause of a failure of the ehci-dbgp driver. 2) Capability to survive the host controller initialization The dbgp_external_startup(), dbgp_not_safe, and dbgp_phys_port were added so as to allow the ehci-dbgp to re-initialize after the ehci host controller is reset by the standard host controller driver. This same routine is common for the early startup or re-initialization. This resulted in the need to move some of the initialization code out of the __init section because the ehci driver has the possibility to be loaded later on as a kernel module. 3) Stability improvements for device initialization The device enumeration from 0 to 127 has the possibility to fail the first time after a warm reset on some older EHCI debug controllers. The enumeration will be tried up to 3 times to account for this failure case. The dbg_wait_until_complete() was changed to wait up to 250 ms before failing which only comes into play during device initialization. The maximum delay will never get hit during the course of normal operation of the driver, unless the device got unplugged or there was a ehci controller failure, in which case the dbgp device driver will shut itself down. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: dbrownell@users.sourceforge.net Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit c9530948bc626c8b638015c0b32abb9615659ec6 Author: Jason Wessel Date: Thu Aug 20 15:39:52 2009 -0500 early_printk: Allow more than one early console It is desirable to be able to use one early boot device to debug another or to have multiple places you can see the early boot diagnostics, such as the vga screen or serial device. This patch changes the early_printk console device registration to allow more than one early printk device to get registered via register_console(). Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" Cc: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 56faf0f98fd53e4a27cec331a3ff6d4aa55b1213 Author: Jason Wessel Date: Thu Aug 20 15:39:51 2009 -0500 USB: dbgp: EHCI debug controller initialization delays When using the EHCI host controller as a polled device, a bit more tolerance is required in terms of delays. On some 3+ghz systems the cpu loops were faster than the EHCI device mmio and resulted in the controller failing to initialize. On at least one first generation EHCI controller when it was not operating in interrupt mode, it would fail to report a port change status, but executing the port reset allowed the debug controller to work correctly anyway. This errata causes a one time 300ms delay in the boot time, where as the typical delay is 1-5ms for an EHCI controller that does not have this errata. The debug printk's were fixed to have the correct state messages, and there was a conversion from using early_printk to printk to avoid calling the dbgp driver while debugging the initialization. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit 093344e1362cbf9525a5da09a565f357d8102f3b Author: Jason Wessel Date: Thu Aug 20 15:39:50 2009 -0500 USB: ehci-dbgp: Execute early BIOS hand off The PCI quirk code executes a BIOS hand off to obtain full control of the EHCI host controller, the self contained ehci-dbgp driver must do the same thing using the early PCI API, else the BIOS can cause a fatal fault. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: dbrownell@users.sourceforge.net Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit 87a5d15154ae2389251e6ad99216a846b905375c Author: Jason Wessel Date: Thu Aug 20 15:39:49 2009 -0500 USB: dbgp: insert cr prior to nl as needed The rs232 drivers send a carriage return prior to a new line in the early printk code. The usb debug driver should do the same because you want to be able to use the same terminal programs and tools for analysis of early printk data. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit df6c516900d48df3581b23d37d6516a22ec4f2ca Author: Jason Wessel Date: Thu Aug 20 15:39:48 2009 -0500 USB: ehci,dbgp,early_printk: split ehci debug driver from early_printk.c Move the dbgp early printk driver in advance of refactoring and adding new code, so the changes to this code are tracked separately from the move of the code. The drivers/usb/early directory will be the location of the current and future early usb code for driving usb devices prior initializing the standard interrupt driven USB drivers. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: Andrew Morton Cc: Yinghai Lu Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit fd4f3a931f6e047e88bc8c6023666acad957109a Author: Pete Zaitcev Date: Thu Aug 20 20:00:19 2009 -0600 USB: unusual_devs.h: drop some unneeded floppy entries We set pdt_1f_for_no_lun for UFI devices, so most floppy entiries should be unnecessary. This patch removes three entries which I'm certain are. - For Mitsumi I have a customer with RHEL 5 (bz#514296) - For SMSC I accessed Novell's Bugzilla and verified the entry - For Y-E I tested the patch with the actual device Signed-off-by: Pete Zaitcev Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit f0cc82a831d4d839eb6b67c7c046ebd2d1d7c4c2 Author: Rogério Brito Date: Sat Aug 22 17:33:53 2009 -0300 USB: fix paths in usbmon documentation Hi there. On Aug 21 2009, Alan Stern wrote: > On Thu, 20 Aug 2009, Rogério Brito wrote: > > Again, just reiterating, what I said before, even though I am not sure > > if I can reproduce it, I will try to. > > A usbmon trace showing what happens when you plug in the drive and > when you run smartctl would help. The documentation for usbmon in the kernel 2.6.31-rc7 kernel doesn't match what the kernel exposes in the debug fs tree. This patch fixes it. Signed-off-by: Rogério Brito Signed-off-by: Greg Kroah-Hartman commit d77282c836d6c2601da6a188812b20cff8e9bbe2 Author: Anand Gadiyar Date: Mon Aug 24 20:14:45 2009 +0530 USB: OMAP: ISP1301: Compile fix OMAP: ISP1301: Compile fix Fix this build error on non- OMAP-H2/H3/H4 systems: (factored out two empty functions as part of the fix) CC drivers/usb/otg/isp1301_omap.o drivers/usb/otg/isp1301_omap.c: In function 'otg_update_isp': drivers/usb/otg/isp1301_omap.c:635: error: implicit declaration of function 'notresponding' drivers/usb/otg/isp1301_omap.c: In function 'b_peripheral': drivers/usb/otg/isp1301_omap.c:973: error: implicit declaration of function 'enable_vbus_draw' drivers/usb/otg/isp1301_omap.c: In function 'isp_update_otg': drivers/usb/otg/isp1301_omap.c:1003: error: implicit declaration of function 'enable_vbus_source' make[2]: *** [drivers/usb/otg/isp1301_omap.o] Error 1 make[1]: *** [drivers/usb/otg] Error 2 make: *** [drivers] Error 2 Signed-off-by: Anand Gadiyar Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 7f536692afd45eea349501beb2b76492a3524a28 Author: Roel Kluin Date: Mon Aug 24 18:27:23 2009 +0200 USB: gadget: double free_irq() in at91udc_probe() If request_irq() fails, udp_irq is freed twice. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 392ca68b401e0797115a08836642faad5778fdb2 Author: George Spelvin Date: Mon Aug 24 22:06:41 2009 -0400 USB: Clean up root hub string descriptors The previous code had a bug that would add a trailing null byte to the returned descriptor. Signed-off-by: George Spelvin Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 48d316770bd4dcf3d21b53cfa91e358280c31d69 Author: Roel Kluin Date: Tue Aug 25 10:26:57 2009 +0200 USB: double put_tty_driver(gs_tty_driver) in gserial_setup() If the driver cannot be registered, put_tty_driver(gs_tty_driver) occurred here as well as at label fail. put_tty_driver() already occurs at label fail Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 2912282c06f219cf1634a624653c445329b37acf Author: Jiri Slaby Date: Sat Aug 22 20:24:49 2009 +0200 USB: make usb_buffer_map_sg consistent with doc usb_buffer_map_sg should return negative on error according to its documentation. But dma_map_sg returns 0 on error. Take this into account and return -ENOMEM in such situation. While at it, return -EINVAL instead of -1 when wrong input is passed in. If this wasn't done, usb_sg_* operations used after usb_sg_init which returned 0 may cause oopses/deadlocks since we don't init structures/entries, esp. completion and status entry. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a448c9d8c58ff7d3f8cc2a8f835065460099b22d Author: Alan Stern Date: Wed Aug 19 12:22:44 2009 -0400 USB: EHCI: change deschedule logic for interrupt QHs This patch (as1281) changes the way ehci-hcd deschedules interrupt QHs, copying the approach used for async QHs. The caller is no longer responsible for rescheduling the QH if its queue is non-empty; instead the reschedule is done directly by intr_deschedule(), after calling qh_completions(). This is exactly the same as how end_unlink_async() works. ehci_urb_dequeue() and intr_deschedule() now correctly handle the case where they are called while another interrupt URB for the same QH is being given back. This was a surprisingly large blind spot. And scan_periodic() now respects the new needs_rescan flag. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3a44494e233c0fdd818d485cfea8998500543589 Author: Alan Stern Date: Wed Aug 19 12:22:06 2009 -0400 USB: EHCI: rescan the queue after an unlink This patch (as1280) fixes an obscure bug in ehci-hcd's dequeuing logic for async URBs. If a later URB is unlinked and the completion routine unlinks an earlier URB, then the earlier URB won't be given back in a timely manner because the endpoint queue isn't rescanned as it should be. Similar bugs occur if an endpoint is reset or a halt is cleared while a completion routine is running, because the subroutines don't test for the COMPLETING state. All these problems are solved by adding a new needs_rescan flag to the ehci_qh structure. If the flag is set while scanning through an idle QH, the scan will be repeated. If the QH isn't idle then an unlink cycle will be initiated, and the proper action will be taken when it becomes idle. Also, an unnecessary test is removed from qh_link_async(): That routine is never called if the QH's state isn't IDLE. Signed-off-by: Alan Stern CC: David Brownell Signed-off-by: Greg Kroah-Hartman commit 04c4ab17c7c39603c5017bee20d3b8ccb2f19816 Author: Anton Vorontsov Date: Wed Aug 19 02:23:35 2009 +0400 USB: fsl_qe_udc: Add fsl,mpc8323-qe-usb compatible entry Current bindings specify that "fsl,mpc8323-qe-usb" compatible entry should be used as a base match for QE UDCs, so update the driver to comply with the bindings. Signed-off-by: Anton Vorontsov Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 29cf1b72f34519413b3fafbccc9ac776eb948ede Author: Frank Schaefer Date: Tue Aug 18 20:34:24 2009 +0200 USB-serial: pl2303: use 1.5 instead of 2 stop bits with 5 data bits This is how "real" UARTs (e.g. 16550) work and AFAIK what RS232 specifies, too. Make the driver more compliant. Signed-off-by: Frank Schaefer Signed-off-by: Greg Kroah-Hartman commit 6dd81b45fd7628f3eb308f387aee696366718f25 Author: Frank Schaefer Date: Tue Aug 18 20:31:11 2009 +0200 USB-serial: pl2303: add space/mark parity The device supports it, so why not use it ? Works fine ! Signed-off-by: Frank Schaefer Signed-off-by: Greg Kroah-Hartman commit 25b8286805e856c8c7fda127018e31032c918015 Author: Frank Schaefer Date: Tue Aug 18 20:15:07 2009 +0200 USB-serial: pl2303: fix baud rate handling in case of unsupported values According to the datasheets, the PL2303 supports a set of 25 baudrates. The baudrate is set as a 4 byte value directly. During my experiments with device 067b:2303 (PL2303X), I noticed that - the bridge-controller always uses 9600 baud if invalid/unsupported baud rate values are set - the baud rate value returned by usb_control_msg(..., GET_LINE_REQUEST, ...) does not reflect the actually used baudrate. Always the last set value is returned, even if it was invalid and not used by the controller. This patch fixes the following issues with the current code: 1.) make sure that only supported baudrates are set (are there any buggy chip revisions out there which don't "like" other values... ?). 2.) always set the baudrate to the next nearest supported baudrate. 3.) applications can now read back the resulting baudrate properly, because tty_encode_baud_rate(...) is now fed with the actually used baudrate. Signed-off-by: Frank Schaefer Signed-off-by: Greg Kroah-Hartman commit e55c6d06fead7e58b7c597fd9afc46a88ef740e6 Author: Olivier Bornet Date: Tue Aug 18 21:05:57 2009 +0200 USB: iuu_phoenix: add a way to select the default VCC Using the module parameter vcc_default, you can choose the default VCC value. Signed-off-by: Olivier Bornet Signed-off-by: Greg Kroah-Hartman commit 02b180665279df9de6b121ce0b4d42ce4f04c411 Author: Olivier Bornet Date: Tue Aug 18 21:05:56 2009 +0200 USB: iuu_phoenix: increment version number Signed-off-by: Olivier Bornet Signed-off-by: Greg Kroah-Hartman commit 20eda943cc55b2bfdb6b6e4a3da23c8f198910c8 Author: Olivier Bornet Date: Tue Aug 18 21:05:55 2009 +0200 USB: iuu_phoenix: add support for changing VCC You can now set the IUU reader to 3.3V VCC instead of 5V VCC, using the sysfs parameter vcc_mode. Valid values are 3 and 5. Signed-off-by: Olivier Bornet Signed-off-by: Greg Kroah-Hartman commit 8844a32d54988ddf9eaf8f439085491547debcc8 Author: Olivier Bornet Date: Tue Aug 18 21:05:54 2009 +0200 USB: iuu_phoenix: clean-up parameter's descriptions Signed-off-by: Olivier Bornet Signed-off-by: Greg Kroah-Hartman commit 27043930b573fc57923c7494d50933efb2e40138 Author: Olivier Bornet Date: Tue Aug 18 21:05:53 2009 +0200 USB: iuu_phoenix: Don't reset the device at close Resetting the device cause the device to have a new name in the /dev. Signed-off-by: Olivier Bornet Signed-off-by: Greg Kroah-Hartman commit 4143d178e7b39c00d5277040c69a1522c4d98871 Author: Steve Holland Date: Thu Jun 18 17:37:49 2009 -0500 USB: usbtmc: correct termination condition for reads. Follow T&M convention of obeying EOM flag. Avoid exception cases where instrument response size matches a buffer size. Signed-off-by: Steve Holland Signed-off-by: Greg Kroah-Hartman commit 92d07e422df3cc5370d0d9b95a671abb69d50ef1 Author: Steve Holland Date: Thu Jun 18 17:37:49 2009 -0500 USB: usbtmc: inhibit corruption Limit data copied to userspace to amount requested. Prevents a faulty instrument from overwriting user memory. Signed-off-by: Steve Holland Signed-off-by: Greg Kroah-Hartman commit c2cd26e15b84b964c489f2aff278cdaf03840c93 Author: Steve Holland Date: Thu Jun 18 17:37:49 2009 -0500 USB: usbtmc: Fix short reads in usbtmc_read() The header size should not be included in the number of bytes requested of the instrument Signed-off-by: Steve Holland Signed-off-by: Greg Kroah-Hartman commit 492896f011a411d17d02e696adbc4a9b4ff68e7f Author: Tim Small Date: Mon Aug 17 13:21:57 2009 +0100 USb: Break support for WinChipHead CH341 340 USB->Serial "chip" Here is a patch to the ch341 driver which adds serial break support. Signed-off-by: Tim Small Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 823c3fd9cc71714fe22ea415a68da746800d5a9a Author: Alan Stern Date: Mon Aug 3 11:05:59 2009 -0400 USB: s3c2410: unregister should call unbind, not disconnect This patch (as1275) fixes the s3c2410 device controller driver. Its usb_gadget_unregister_driver() routine is supposed to call the gadget driver's unbind method, not the disconnect method. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 9b39e9ddedeef48569f8aac60a7b4c1fbb127c7d Author: Brian Niebuhr Date: Fri Aug 14 10:04:22 2009 -0500 USB: gadget: Add EEM gadget driver This patch adds a CDC EEM ethernet gadget driver. CDC EEM is a newer USB ethernet specification that uses a simpler interface than the older CDC ECM. This makes CDC EEM usable by a wider set of USB hardware. By default the ethernet gadget will still use CDC ECM/Subset, but kernel configuration and/or a module parameter will allow alternative use of the CDC EEM protocol. Changes since last version: - Brought in missing RNDIS changes that caused compile error - Modified 'sentinel CRC' checking to match EEM host driver Signed-off-by: Brian Niebuhr Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 877accca79b706afe5d78b9a92cf4f22919fb2b0 Author: Oliver Neukum Date: Tue Aug 18 16:17:45 2009 +0200 USB: remove unneeded printks from microtek driver These printks can be removed as they only provide information about the driver not the device and nobody has ever provided feedback. Signed-off-by: Oliver Neukum commit 8e8dce065088833fc418bfa5fbf035cb0726c04c Author: David VomLehn Date: Fri Aug 28 12:54:27 2009 -0700 USB: use kfifo to buffer usb-generic serial writes When do_output_char() attempts to write a carriage return/line feed sequence, it first checks to see how much buffer room is available. If there are at least two characters free, it will write the carriage return/line feed with two calls to tty_put_char(). It calls the tty_operation functions write() for devices that don't support the tty_operations function put_char(). If the USB generic serial device's write URB is not in use, it will return the buffer size when asked how much room is available. The write() of the carriage return will cause it to mark the write URB busy, so the subsequent write() of the line feed will be ignored. This patch uses the kfifo infrastructure to implement a write FIFO that accurately returns the amount of space available in the buffer. Signed-off-by: David VomLehn Signed-off-by: Greg Kroah-Hartman commit 74aee796c613f54e9f089170df548c0b3f15af69 Author: H Hartley Sweeten Date: Thu Aug 13 13:18:02 2009 -0400 USB: ohci-ep93xx.c: remove unused variable Remove unused variable in ohci-ep93xx.c. This only shows up when CONFIG_PM is enabled. Signed-off-by: H Hartley Sweeten Cc: Lennert Buytenhek Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 63ead6a00d54a645667c141d8aaf0f6ffe1212be Author: Randy Dunlap Date: Tue Aug 11 11:31:31 2009 -0700 USB: otg: fix twl4030-usb build subsys_initcall_sync() is only defined for built-in code, not for loadable modules, so this driver build fails when built as a module. However, the _sync() forms of the initcalls are not implemented, so this should not be used -- just use the non-sync form of it. drivers/usb/otg/twl4030-usb.c:777: warning: data definition has no type or storage class drivers/usb/otg/twl4030-usb.c:777: warning: type defaults to 'int' in declaration of 'subsys_initcall_sync' drivers/usb/otg/twl4030-usb.c:777: warning: parameter names (without types) in function declaration Signed-off-by: Randy Dunlap Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 9ca33a0f1abdefea3811666d9e87af11fd0af6c6 Author: Brian Niebuhr Date: Mon Aug 10 16:46:59 2009 -0500 USB: Fix CDC EEM host driver 'sentinel' CRC validation This is an alternate solution to the EEM 'sentinel' CRC valiation issue. CDC EEM allows using a 'sentinel' ethernet frame CRC of 0xdeadbeef in place of a real CRC. The 'sentinel' value is transmitted in big-endian order whereas the normal CRC is little-endian. This patch handles both cases appropriately. Signed-off-by: Brian Niebuhr Signed-off-by: Greg Kroah-Hartman commit 5429c7316577fcd859f6b53e10884bb8e1e3bcef Author: Li Yang Date: Tue Aug 11 11:11:11 2009 +0800 USB: gadget: Update Freescale UDC entry in MAINTAINERS Change the F entry for file rename, and make it also cover fsl_qe_udc driver. Update the name accordingly. Signed-off-by: Li Yang Acked-by: Guennadi Liakhovetski Cc: Joe Perches Signed-off-by: Greg Kroah-Hartman commit 3d2b0814f15f94506156943c8148da90b6491453 Author: Julia Lawall Date: Wed Aug 12 16:51:09 2009 +0200 USB: isp1362: Correct use of ! and & Correct priority problem in the use of ! and &. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ - !E & C + !(E & C) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 015798b2f166725b1dae2b07b5ffb127ab187be0 Author: Jon Hunter Date: Wed Aug 12 11:57:59 2009 -0400 USB: EHCI: ensure all watchdog timer events are deleted when suspending usb This patch was previously discussed in the following thread: http://thread.gmane.org/gmane.linux.usb.general/19472/focus=19484 On the OMAP3 device the usbhost controller is in a separate internal power-domain. So when the usbhost is inactive or suspend is called, we can disable clocks and power-down the usbhost to save power. Recently we found that after calling ehci_bus_suspend() and disabling the usbhost clocks we would see the ehci watchdog timer event fire. This was causing a kernel panic because the usbhost controllers clocks were disabled and inside the watchdog timer function the clocks were not being re-enabled, so when the ehci registers were accessed this resulted in a CPU data-abort. To avoid this panic, per recommendation from Alan Stern (see above thread), we make sure any pending timer events (that may have been scheduled by calling ehci_work within the ehci_bus_suspend() function) are deleted before returning. Signed-off-by: Fei Yang Signed-off-by: Jon Hunter Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0ffd3b2902e28b13d8379df0f09a55668f330f77 Author: Ming Lei Date: Sat Aug 1 20:39:57 2009 +0800 USB: otg: twl4030-usb.c: mark .init as subsys_initcall_sync This patch fixes the .probe failure of twl4030_usb driver if it is compiled into kernel. Since twl4030_usb USB transceiver .probe depends on twl4030-regulator, marking twl4030_usb_init as subsys_initcall_sync can make it called after twl4030-regulator initialization is finished, then twl4030_usb USB transceiver driver can be probed successfully. Signed-off-by: Ming Lei Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit c740d0d80d385b178c319f3d6e627ade8f732488 Author: Ajay Kumar Gupta Date: Mon Aug 3 11:43:40 2009 +0530 USB: musb: fix put_device() call sequence Invoke put_device(musb->xceiv->dev) before musb_platform_exit()as xceiv is getting unregistered in musb_platform_exit(). Fixes put_device() panic when module insert/removal is performed multiple times. Signed-off-by: Ajay Kumar Gupta Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit db8be50c4307dac2b37305fc59c8dc0f978d09ea Author: David Woodhouse Date: Mon Aug 3 12:40:27 2009 +0100 USB: Work around BIOS bugs by quiescing USB controllers earlier We are seeing a number of crashes in SMM, when VT-d is enabled while 'Legacy USB support' is enabled in various BIOSes. The BIOS is supposed to indicate which addresses it uses for DMA in a special ACPI table ("RMRR"), so that we can punch a hole for it when we set up the IOMMU. The problem is, as usual, that BIOS engineers are totally incompetent. They write code which will crash if the DMA goes AWOL, and then they either neglect to provide an RMRR table at all, or they put the wrong addresses in it. And of course they don't do _any_ QA, since that would take too much time away from their crack-smoking habit. The real fix, of course, is for consumers to refuse to buy motherboards which only have closed-source firmware available. If we had _open_ firmware, bugs like this would be easy to fix. Since that's something I can only dream about, this patch implements an alternative -- ensuring that the USB controllers are handed off from the BIOS and quiesced _before_ the IOMMU is initialised. That would have been a much better design than this RMRR nonsense in the first place, of course. The bootloader has no business doing DMA after the OS has booted anyway. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit 5971897f3025249c0eea1987fb12efb8c65c93a4 Author: Markus Rechberger Date: Sun Aug 9 21:23:34 2009 +0200 USB: increase usbdevfs max isoc buffer size The current limit only allows isochronous transfers up to 32kbyte/urb, updating this to 192 kbyte/urb improves the reliability of the transfer. USB 2.0 transfer is possible with 32kbyte but increases the chance of corrupted/incomplete data when the system is performing some other tasks in the background. http://www.spinics.net/lists/linux-usb/msg19955.html Signed-off-by: Markus Rechberger Cc: Oliver Neukum Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7949f4e16456183bae0bc19ffe92072a27d0553e Author: Ken MacLeod Date: Thu Aug 6 14:18:27 2009 -0500 USB: isp1362: fix pulldown register defines and conf logic HCHWCFG_PULLDOWN_DS2 and HCHWCFG_PULLDOWN_DS1 were swapped. Incorrect operator precedence in isp1362_hc_start() hid part of the problem. This fixes a problem where Port 1 in Host mode fails to see disconnects. Signed-Off-By: Ken MacLeod Signed-off-by: Greg Kroah-Hartman commit e792b1b0b83c276ca786b01cad662dc2e5d18843 Author: Robin Callender Date: Sun Aug 2 11:38:58 2009 -0700 USB: gadget: audio driver seg-fault fix The included patch can be applied to the new usb gadget audio driver. It addresses a seg-fault in uncovered in g_audio.ko. The fault occurs in the function u_audio.c::gaudio_open_end_dev() when device /dev/snd/pcmC0D0c (FILE_PCM_CAPTURE) is not present. I suspect there may be similar problems with device /dev/snd/pcmC0D0p (FILE_PCM_PLAYBACK) handling also. I leave that for the developer(s), as I was unsure as to the side-effects of not calling playback_default_hw_params() in the initialization phase. Signed-off-by: Robin Callender Signed-off-by: Greg Kroah-Hartman commit 417b57b3e4e34df07a2aceaf75baffeacdd9385f Author: Roel Kluin Date: Thu Aug 6 16:09:51 2009 -0700 USB: gadget: Read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d0defb855c8504c49b92bdc0203689ce9b4cf7ba Author: fangxiaozhi Date: Fri Aug 7 12:30:35 2009 +0800 USB: usb-storage fails to attach to Huawei Datacard cdrom device In this patch, we always make the return value of function usb_stor_huawei_e220_init to be zero. Then it will not prevent usb-storage driver from attaching to the CDROM device of Huawei Datacard. Signed-off-by: fangxiaozhi Cc: stable Signed-off-by: Greg Kroah-Hartman commit 5128a66c6605d8178f69b7a8f2a70060933a26b4 Author: Ondrej Zary Date: Thu Aug 6 16:09:52 2009 -0700 USB: ark3116: add IrDA support for Gembird UIR-22 Add IrDA support to ark3116 driver. This makes Gembird UIR-22 USB to IrDA adapter work (vendor ID 0x18ec, device ID 0x3118). This adapter contains ARK3116T USB serial chip and an IrDA transceiver, thus a command like "irattach /dev/ttyUSB0 -s" is needed. All magic numbers were captured using usbsnoop from windows driver that came with the device. Signed-off-by: Ondrej Zary Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7b4361f0848193ddc36dfb2c9a7391c56a9df2ad Author: Aric Blumer Date: Thu Jul 30 13:26:58 2009 -0400 USB: ohci-pxa27x: Allow NOCP and OCPM to be cleared Some ohci-pxa27x platforms may require OCPM and NOCP in UHCRHDA to be clear, but the existing code was only allowing setting. This patch ensures that these bits are clear if the respective flags are not set. This is particularly important for the PXA3xx family where the documentation says OCPM must be cleared, but it is set after reset. Signed-off-by: Aric Blumer Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6e23ec4ff2f2181c22ea02cf3774b882acef27e0 Author: Anand Gadiyar Date: Tue Jul 28 23:52:21 2009 +0530 USB: EHCI: OHCI: Remove unnecessary includes of reboot.h EHCI: OHCI: Remove unnecessary includes of reboot.h Signed-off-by: Anand Gadiyar Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c35013087aa9b10e4674b53b7c8f7966de83c194 Author: Michael S. Tsirkin Date: Wed Jul 29 14:23:25 2009 +0300 USB: audio: guard kernel-only code with __KERNEL__ include/linux/usb/audio.h is exported to userspace, so part of this file that is for internal kernel usage need to be guarded with ifdef __KERNEL__. This way make headers_install will stript it out. Signed-off-by: Michael S. Tsirkin Signed-off-by: Greg Kroah-Hartman commit 2f2cac3c1af2bfc72c55b0054b6b95309882e27b Author: Nicolas Ferre Date: Mon Jul 27 14:59:24 2009 -0700 USB: at91: modify OHCI driver to allow shared interrupts At91sam9g45 series has a set of high speed USB interfaces. The host driver is an EHCI with its companion OHCI. OHCI is always handled by ohci-at91.c. This wrapper is just modified to allow IRQ sharing between two controllers. Signed-off-by: Nicolas Ferre Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit aa781af00a7f55ade0ce8a21d4b08f1f6c77e8cd Author: Nicolas Ferre Date: Mon Jul 27 15:00:35 2009 -0700 USB: at91: Add USB gadget driver selection for at91sam9g45 series Add gadget USB drivers for at91sam9g45 series. Those SOC include high speed USB interfaces. The gadget driver is the already available atmel_usba_udc. Signed-off-by: Nicolas Ferre Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 501c9c0802d9fee05efb300de06c8b3d04f17458 Author: Nicolas Ferre Date: Mon Jul 27 14:47:40 2009 -0700 USB: at91: Add USB EHCI driver for at91sam9g45 series Add host USB High speed driver for at91sam9g45 series. The host driver is an EHCI with its companion OHCI. EHCI is handled by the new ehci-atmel.c whereas the OHCI is always handled by ohci-at91.c. Signed-off-by: Nicolas Ferre Acked-by: David Brownell commit c0ad7291aae3f76920bdddbc517e20b8d4338ec2 Author: Bob Liu Date: Tue Jul 28 22:31:06 2009 +0800 USB: uhci: rm repeatedly evaluation for urbp->qh Signed-off-by: Bob Liu Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit a2fbf10eba3a38407e3984bc9503342de2b5e399 Author: Randy Dunlap Date: Tue Jul 28 11:22:41 2009 -0700 USB: usbtmc: fix printk format warnings Fix printk format warnings: drivers/usb/class/usbtmc.c:466: warning: format '%zu' expects type 'size_t', but argument 4 has type 'u32' drivers/usb/class/usbtmc.c:466: warning: format '%zu' expects type 'size_t', but argument 5 has type 'int' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 665d7662d15441b4b3e54131a9418a1a198d0d31 Author: Guus Sliepen Date: Wed Jul 22 17:39:42 2009 +0200 USB: usbtmc: sanity checks for DEV_DEP_MSG_IN urbs According to the specifications, an instrument should not return more data in a DEV_DEP_MSG_IN urb than requested. However, some instruments can send more than requested. This could cause the kernel to write the extra data past the end of the buffer provided by read(). Fix this by checking that the value of the TranserSize field is not larger than the urb itself and not larger than the size of the userspace buffer. Also correctly decrement the remaining size of the buffer when userspace read()s more than USBTMC_SIZE_IOBUFFER. Signed-off-by: Guus Sliepen Cc: stable Signed-off-by: Greg Kroah-Hartman commit a9d43091c5be1e7a60d5abe84be4f3050236b26a Author: Lothar Wassmann Date: Thu Jul 16 20:51:21 2009 -0400 USB: NXP ISP1362 USB host driver Signed-off-by: Lothar Wassmann Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit e9238221d3fef990e2fd01702ebe5af90dda52a2 Author: Alan Stern Date: Wed Jul 22 14:44:17 2009 -0400 USB: dummy-hcd: accept mismatch between wLength and transfer length This patch (as1269) fixes a bug in the way dummy_hcd handles control URBs. Currently it returns a -EOVERFLOW error if the wLength value in the setup packet is different from the URB's transfer_buffer_length. Other host controller drivers don't do this. There's no reason the two length values have to be equal, and in fact they sometimes aren't -- a driver might set the transfer length to the maxpacket value in order to handle buggy devices that don't respect wLength. This patch simply removes the unnecessary check and error return. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 527101ce6a96c037a2555aa43222faa6fdd21e97 Author: Alan Stern Date: Wed Jul 22 14:42:54 2009 -0400 USB: don't lose mode switch events on suspended devices This patch (as1268) changes the way usbcore handles child devices that undergo a disconnection and reconnection while the parent hub is suspended. Currently, if the child isn't enabled for remote wakeup we leave it alone, figuring that it will go through a reset-resume when somebody tries to use it. However this isn't a good approach if the reason for the disconnection is that the child decided to switch modes or in some other way alter its descriptors. In that case we want to re-enumerate it as soon as possible, not wait until somebody forces a reset-resume. To resolve the issue, this patch treats reconnected suspended child devices as though they had requested a remote wakeup, even if they weren't enabled for it. The mode switch or descriptor change will be detected during the reset part of the reset-resume, and the device will be re-enumerated immediately. The disadvantage of this change is that it will cause autosuspended devices to be resumed when the computer wakes up from a system sleep during which the root hub was reset or lost power. This shouldn't matter much; some people would even argue that autosuspended devices should _always_ be resumed when the system wakes up! Signed-off-by: Alan Stern Tested-by: "Yang Fei-AFY095" Signed-off-by: Greg Kroah-Hartman commit 25118084ef03f4fc314ab33ef6a9d9271d0e616a Author: Alan Stern Date: Wed Jul 22 14:41:18 2009 -0400 USB: check for hub driver not bound to root hub device This patch (as1267) changes usb_kick_khubd() and hdev_to_hub() to make them more resilient against situations where a hub device isn't bound to the hub driver. The code assumes that if a root hub was successfully registered then it must be bound to the hub driver. But this assumption can fail if the user manually unbinds the hub driver, or more importantly, if the host controller dies causing usb_set_configuration to fail. To protect against these possibilities, make hdev_to_hub() check that the hub device is configured before dereferencing the active configuration, and make usb_kick_khubd() check that the pointer to the hub's private data structure isn't NULL. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 81e5b23cd206d46d4872d25f3d7ff67a0f355c71 Author: Oliver Neukum Date: Tue Jul 21 08:47:34 2009 +0200 USB: fix wrong order of events in usb serial suspension if a subdriver has an additional suspend method, it must be called first to allow the subdriver to return -EBUSY, because the second half cannot be easily undone. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 807fcb5e19877d339a4cc56f2c6ddaf3a147457a Author: Manuel Lauss Date: Wed Jul 29 19:13:13 2009 +0200 USB: au1xxx: add dev_pm_ops move both ohci-au1xxx and ehci-au1xxx over to dev_pm_ops. Tested on Au1200. Signed-off-by: Manuel Lauss Signed-off-by: Greg Kroah-Hartman commit 64aebe73152ab3a9f5f426baaf65db632bd72c13 Author: Julia Lawall Date: Sun Jul 19 17:29:57 2009 +0200 USB: storage: Drop an unneeded a NULL test In each case, the NULL test is not necessary because the function is static and at the only places where it is called, the us argument has already been dereferenced. The semantic patch that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ 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; // Signed-off-by: Julia Lawall Cc: Matthew Dharm Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 981e60f037631ca725a9790e7b3512de4a60bba8 Author: Maxin John Date: Mon Jul 20 15:16:42 2009 +0530 USB: serial: Spelling correction in Motorola USB Phone driver Spelling correction in Motorola USB Phone driver Changed: * Mororola should be using the CDC ACM USB spec, but instead To: * Motorola should be using the CDC ACM USB spec, but instead Signed-off-by: Maxin B. John Signed-off-by: Greg Kroah-Hartman commit 9da69c604d87afea37b5411867bb76e3c624cc92 Author: Michael Hennerich Date: Wed Jul 15 23:22:54 2009 -0400 USB: isp1760: allow platform devices to customize devflags Platform device support was merged earlier, but support for boards to customize the devflags aspect of the controller was not. We want this on Blackfin systems to control the bus width, but might as well expose all of the fields while we're at it. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 331ac6b288d9f3689514ced1878041fb0df7e13c Author: Alek Du Date: Mon Jul 13 12:41:20 2009 +0800 USB: EHCI: Add Intel Moorestown EHCI controller HOSTPCx extensions and support phy low power mode The Intel Moorestown EHCI controller supports non-standard HOSTPCx register extension. This register controls the LPM behaviour and controls the behaviour of each USB port. Signed-off-by: Jacob Pan Signed-off-by: Alek Du Acked-by: Alan Stern Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3807e26d69b9ad3864fe03224ebebc9610d5802e Author: Alek Du Date: Tue Jul 14 07:23:29 2009 +0800 USB: EHCI: split ehci_qh into hw and sw parts The ehci_qh structure merged hw and sw together which is not good: 1. More and more items are being added into ehci_qh, the ehci_qh software part are unnecessary to be allocated in DMA qh_pool. 2. If HCD has local SRAM, the sw part will consume it too, and it won't bring any benefit. 3. For non-cache-coherence system, the entire ehci_qh is uncachable, actually we only need the hw part to be uncacheable. Spliting them will let the sw part to be cacheable. Signed-off-by: Alek Du Cc: David Brownell CC: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 403dbd36739e344d2d25f56ebbe342248487bd48 Author: Alek Du Date: Mon Jul 13 17:30:41 2009 +0800 USB: EHCI: add need_io_watchdog flag to ehci_hcd Basically the io watchdog is only useful for those quirk HCDs. For most good ones, it only brings unnecessary wakeups. At least, I know the Intel EHCI HCDs should turn off the flag. Signed-off-by: Alek Du Cc: David Brownell Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 4d155eb5f55b879e9947c3553b33764746fb15d5 Author: Oliver Neukum Date: Mon Jul 13 16:45:47 2009 +0200 USB: full autosuspend and power management support for usbsevseg This patch adds to the usbsevseg driver: - suspend/resume support - reset_resume support - autosuspend using the display's power state to determine idleness Signed-off-by: Oliver Neukum Signed-off-by: Harrison Metzger commit d9bfbd167b4dac51fed4edde7f6cfc378c9aea98 Author: Oliver Neukum Date: Sun Jul 12 23:58:23 2009 +0200 USB: full power management support for the idmouse driver usb: full runtime PM support for idmouse driver - add suspend/resume support - add reset_resume support - add support for autosuspend Signed-off-by: Oliver Neukum Tested-by: Andreas Deresch commit b7800218bccb52dbcb1613bb51425b21441b81f9 Author: Roel Kluin Date: Wed Jul 15 20:12:30 2009 +0200 USB: gadget: s3c-hsotg: missing parentheses Add missing parentheses Signed-off-by: Roel Kluin CC: Ben Dooks Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 058e698b6372aa32b3b0dbbb81e5531a2ae3e56c Author: Julia Lawall Date: Sun Jul 12 09:43:52 2009 +0200 USB: gadget: Drop NULL test on list_entry result list_entry, which is an alias for container_of, cannot return NULL, as there is no way to add a NULL value to a doubly linked list. A simplified version of the semantic match that findds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E; statement S1,S2; position p,p1; @@ *x = list_entry@p(...) ... when != x = E *if@p1 (x == NULL) S1 else S2 // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit d12b85e7de1abce4db940ebb169f064583b5796e Author: Oliver Neukum Date: Thu Jul 2 17:01:06 2009 +0200 USB: ldusb should signal an error in poll if the device is disconnected poll() should test for a disconnection of the device. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit d35b4ce164f393ad58580ad3e9fdde86328739ad Author: Oliver Neukum Date: Thu Jul 2 12:07:07 2009 +0200 USB: legousbtower: make poll notice disconnect poll needs to return an error if a device is disconnected - make poll check for device's presence - wake all waiters in disconnect Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit a4708103adeaf5731c329b37b0a2b397f814c55c Author: Oliver Neukum Date: Thu Jul 2 11:44:33 2009 +0200 USB: suspend/resume support for usbtmc a class driver should have suspend/resume. This makes sure we don't see a virtual disconnect unnecessarily. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 86286883fc8218c81cc1deb04cd1b4a8464bba6f Author: Oliver Neukum Date: Thu Jul 2 11:36:30 2009 +0200 USB: usbtmc can do IO to device after disconnect usbtmc will happily complete read/write requests even after disconnect has returned. The fix is to introduce a flag. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 75b48f09e577cbb91d9f2a36bede9a2507929714 Author: Jiri Slaby Date: Fri Jul 3 23:09:41 2009 +0200 USB: usb-serial, remove unused variables There are some unused variables in serial_do_down. Remove them. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 383cedc3bb435de7a27d31a92d622413daa5cb20 Author: Oliver Neukum Date: Wed Jul 1 16:00:32 2009 +0200 USB: serial: full autosuspend support for the option driver this adds autosupport usable even in an always online mode. - enables remote wakeup on open - autoresume for sending - timeout based autosuspend if nothing is sent or recieved - autosuspend without remote wakeup support on open/close Signed-off-by: Oliver Neukum Tested-off-by: Zhao Ming Signed-off-by: Greg Kroah-Hartman commit ab26d20f3ef1105d889f702cd01fba8c6fb32f73 Author: Philipp Zabel Date: Wed Jul 1 03:46:25 2009 -0700 USB: gadget: pxa25x: basic transceiver support This adds very basic otg_transceiver support, with vbus_session and vbus_draw callbacks. Now VBUS sensing can be handled by an external driver which registers the otg_transceiver interface. It also allows gadget drivers to configure the current drawn from VBUS. The UDC driver just passes their requests along to the transceiver driver. Signed-off-by: Philipp Zabel Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 4c6e8971cbe0148085fcf6fd30eaa3c39f8a8cce Author: Alan Stern Date: Mon Jun 29 11:02:04 2009 -0400 USB: make the "usbfs_snoop" log more pertinent This patch (as1261) reduces the amount of detailed URB information logged by usbfs when the usbfs_snoop parameter is enabled. Currently we don't display the final status value for a completed URB. But we do display the entire data buffer twice: both before submission and after completion. The after-completion display doesn't limit itself to the actual_length value. But since usbmon is readily available in virtually all distributions, there's no reason for usbfs to print out any buffer contents at all! So this patch restricts the information to: userspace buffer pointer, endpoint number, type, and direction, length or actual_length, and timeout value or status. Now everything fits neatly into a single line. Along with those changes, the patch also fixes the snoop output for the REAPURBNDELAY and REAPURBNDELAY32 ioctls. The current version omits the 'N' from the names. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ccf5b801cef4f9e2d708d3b87e91e2bc6abd5206 Author: Alan Stern Date: Mon Jun 29 11:00:01 2009 -0400 USB: make intf.pm_usage an atomic_t This patch (as1260) changes the pm_usage_cnt field in struct usb_interface from an int to an atomic_t. This is so that drivers can invoke the usb_autopm_get_interface_async() and usb_autopm_put_interface_async() routines without locking and without fear of corrupting the pm_usage_cnt value. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7cbe5dca399a50ce8aa74314b1d276e2fb904e1b Author: Alan Stern Date: Mon Jun 29 10:56:54 2009 -0400 USB: add API for userspace drivers to "claim" ports This patch (as1258) implements a feature that users have been asking for: It gives programs the ability to "claim" a port on a hub, via a new usbfs ioctl. A device plugged into a "claimed" port will not be touched by the kernel beyond the immediate necessities of initialization and enumeration. In particular, when a device is plugged into a "claimed" port, the kernel will not select and install a configuration. And when a config is installed by usbfs or sysfs, the kernel will not probe any drivers for any of the interfaces. (However the kernel will fetch various string descriptors during enumeration. One could argue that this isn't really necessary, but the strings are exported in sysfs.) The patch does not guarantee exclusive access to these devices; it is still possible for more than one program to open the device file concurrently. Programs are responsible for coordinating access among themselves. A demonstration program showing how to use the new interface can be found in an attachment to http://marc.info/?l=linux-usb&m=124345857431452&w=2 The patch also makes a small simplification to the hub driver, replacing a bunch of more-or-less useless variants of "out of memory" with a single message. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 831baa4915de465357b25c471bbb9b36472024df Author: David Vrabel Date: Wed Jun 24 18:26:40 2009 +0100 USB: whci-hcd: make endpoint_reset method async usb_hcd_endpoint_reset() may be called in atomic context and must not sleep. So make whci-hcd's endpoint_reset() asynchronous. URBs submitted while the reset is in progress will be queued (on the std list) and transfers will resume once the reset is complete. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 586dfc8cafc25cf785332fdfe9530f392e26f30d Author: Wan ZongShun Date: Sat Jun 13 09:14:28 2009 +0800 USB: Add nuvoton Ehci driver for w90p910 platform Add ehci support for w90p910 platform. Signed-off-by: Wan ZongShun Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit b95cd7ec3e93bae199e820bd65b21b23e4538acc Author: Laurent Pinchart Date: Sun Jun 21 23:21:55 2009 +0200 USB audio gadget: Un-inline generic_[gs]et_cmd Those functions are used only used to fill the set/get members of usb_audio_control. It doesn't make much sense to inline them. Signed-off-by: Laurent Pinchart Signed-off-by: Greg Kroah-Hartman commit 512ad27d8667158747de2e8da8a23e8f50e91856 Author: Laurent Pinchart Date: Sun Jun 21 23:23:05 2009 +0200 USB audio gadget: Prefix all macro definitions with UAC_ in linux/usb/audio.h linux/usb/audio.h is a public header file that includes definitions exported to userspace. To avoid namespace clashes, prefix all macro definitions with UAC_. Existing macros and structures prefixed with USB_AC_ and USB_AS_ are renamed for consistency. Signed-off-by: Laurent Pinchart Signed-off-by: Greg Kroah-Hartman commit 315ad3028c8aae14891797040f855fc3291a076b Author: Laurent Pinchart Date: Sun Jun 21 23:20:39 2009 +0200 USB: Move vendor subclass definition from usb/audio.h to usb/ch9.h USB_SUBCLASS_VENDOR_SPEC is common to several USB classes and as such belongs to usb/ch9.h. Signed-off-by: Laurent Pinchart Signed-off-by: Greg Kroah-Hartman commit 85e08ca54c5c203cd2638f0fc8fa899a539f6254 Author: Laurent Pinchart Date: Sun Jun 21 23:19:23 2009 +0200 USB: Move endpoint sync type definitions from usb/audio.h to usb/ch9.h And use the new definitions in the USB Audio Class gadget driver. Signed-off-by: Laurent Pinchart Signed-off-by: Greg Kroah-Hartman commit 81bf46f3034046c572714bdee1dc51beb3475082 Author: Pete Zaitcev Date: Thu Jun 11 08:40:39 2009 -0600 USB: Let usb_sg_init to set transfer_buffer more often This fix permits the "new" usbmon to access usb-storage's data buffer without DMA remapping tricks. It should be compatible with PIO controllers and not add any new crashes. Note that from now on PIO controllers and usbmon are uniform in their access pattern and if one crashes then the other will too. Hopefuly neither does. As a side effect, we get rid for #ifdefs, which were a little ugly. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit 4e9e92003529e5c7bb11281f7c2c9b3fe8858403 Author: Pete Zaitcev Date: Thu Jun 11 08:53:20 2009 -0600 USB: usbmon: end ugly tricks with DMA peeking This patch fixes crashes when usbmon attempts to access GART aperture. The old code attempted to take a bus address and convert it into a virtual address, which clearly was impossible on systems with actual IOMMUs. Let us not persist in this foolishness, and use transfer_buffer in all cases instead. I think downsides are negligible. The ones I see are: - A driver may pass an address of one buffer down as transfer_buffer, and entirely different entity mapped for DMA, resulting in misleading output of usbmon. Note, however, that PIO based controllers would do transfer the same data that usbmon sees here. - Out of tree drivers may crash usbmon if they store garbage in transfer_buffer. I inspected the in-tree drivers, and clarified the documentation in comments. - Drivers that use get_user_pages will not be possible to monitor. I only found one driver with this problem (drivers/staging/rspiusb). - Same happens with with usb_storage transferring from highmem, but it works fine on 64-bit systems, so I think it's not a concern. At least we don't crash anymore. Why didn't we do this in 2.6.10? That's because back in those days it was popular not to fill in transfer_buffer, so almost all traffic would be invisible (e.g. all of HID was like that). But now, the tree is almost 100% PIO friendly, so we can do the right thing at last. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit f4e2332cfcf900e0a926c4e0fc35f751bcbcaa1b Author: Pete Zaitcev Date: Wed Jun 10 15:23:52 2009 -0600 USB: usbmon: touch up the documentation I think this sentence was confusing regarding the possible size of the data area. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit b07f4d016ed179bc4fb8046657a84d5dc0e94b42 Author: Pete Zaitcev Date: Wed Jun 10 15:21:24 2009 -0600 USB: usbmon: drop Kconfig defaults These statements seem to be unnecessary. No idea why, but I built all possible configurations and everything gets built just as before. It's an old patch that popped from discussion with Paul in November 2008. Obviously not a very high priority but better late than never. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit d2fb1bb32b9b379a029aeca969b45d28bd91ae89 Author: Pete Zaitcev Date: Wed Jun 10 14:15:52 2009 -0600 USB: sisusbvga: drop usb_buffer_alloc This patch falls out of my work to fix usbmon so it uses virtual addresses. It is not necessary, the "new" usbmon should work just fine with sisusbvga. However, it seems ridiculous that anyone would use uncached memory to transfer bulk data. Dropping the unnecessary use of usb_buffer_alloc should be beneficial here, in case anyone ever uses the dongle on anything beyond x86. I had no success in raising the author of the driver by e-mail, so the patch is not actually tested. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit f8086a07c4740ae37e5221508b9cabc8fef4bf6e Author: Figo.zhang Date: Sat Jun 6 20:31:49 2009 +0800 USB: ehci-dbg.c: no need for checking it before call vfree vfree() does it's own NULL checking,so no need for check before calling it. Signed-off-by: Figo.zhang Signed-off-by: Greg Kroah-Hartman commit 6682bb39e111b34290e25c4d275c5bcf8bbccbe1 Author: Sarah Sharp Date: Tue Sep 8 13:20:16 2009 -0700 USB: Fix SS endpoint companion descriptor parsing. When there's a descriptor after the SuperSpeed endpoint companion descriptor, the previous code would have skipped over twice the length it was supposed to. This code fixes crashes seen with UASP devices (which have a UASP descriptor after the SS endpoint companion descriptor). Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 624defa12f304b4d11eda309bc207fa5a1900d0f Author: Sarah Sharp Date: Wed Sep 2 12:14:28 2009 -0700 USB: xhci: Support interrupt transfers. Interrupt transfers are submitted to the xHCI hardware using the same TRB type as bulk transfers. Re-use the bulk transfer enqueueing code to enqueue interrupt transfers. Interrupt transfers are a bit different than bulk transfers. When the interrupt endpoint is to be serviced, the xHC will consume (at most) one TD. A TD (comprised of sg list entries) can take several service intervals to transmit. The important thing for device drivers to note is that if they use the scatter gather interface to submit interrupt requests, they will not get data sent from two different scatter gather lists in the same service interval. For now, the xHCI driver will use the service interval from the endpoint's descriptor (bInterval). Drivers will need a hook to poll at a more frequent interval. Set urb->interval to the interval that the xHCI hardware will use. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 2f697f6cbff155b3ce4053a50cdf00b5be4dda11 Author: Sarah Sharp Date: Fri Aug 28 14:28:18 2009 -0700 USB: xhci: Set -EREMOTEIO when xHC gives bad transfer length. The xHCI hardware reports the number of bytes untransferred for a given transfer buffer. If the hardware reports a bytes untransferred value greater than the submitted buffer size, we want to play it safe and say no data was transferred. If the driver considers a short packet to be an error, remember to set -EREMOTEIO. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 204970a4bb2f584afc430ae330cd44aee329cea4 Author: Sarah Sharp Date: Fri Aug 28 14:28:15 2009 -0700 USB: xhci: Check URB_SHORT_NOT_OK before setting short packet status. Make sure that the driver that submitted the URB considers a short packet an error before setting -EREMOTEIO during a short control transfer. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 99eb32db45061443ab7552b8fdceae68b90fde55 Author: Sarah Sharp Date: Thu Aug 27 14:36:24 2009 -0700 USB: xhci: Check URB's actual transfer buffer size. Make sure that the amount of data the xHC says was transmitted is less than or equal to the size of the requested transfer buffer. Before, if the host controller erroneously reported that the number of bytes untransferred was bigger than the buffer in the URB, urb->actual_length could be set to a very large size. Make sure urb->actual_length <= urb->transfer_buffer_length. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9191eee7b8a0e18c07c06d6da502706805cab6d2 Author: Sarah Sharp Date: Thu Aug 27 14:36:14 2009 -0700 USB: xhci: Don't touch xhci_td after it's freed. On a successful transfer, urb->td is freed before the URB is ready to be given back to the driver. Don't touch urb->td after it's freed. This bug would have only shown up when xHCI debugging was turned on, and the freed memory was quickly reused for something else. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 83fbcdcca03013bb5af130d6d91eba11e3d3269e Author: Sarah Sharp Date: Thu Aug 27 14:36:03 2009 -0700 USB: xhci: Handle babbling endpoints correctly. The 0.95 xHCI spec says that non-control endpoints will be halted if a babble is detected on a transfer. The 0.96 xHCI spec says all types of endpoints will be halted when a babble is detected. Some hardware that claims to be 0.95 compliant halts the control endpoint anyway. When a babble is detected on a control endpoint, check the hardware's output endpoint context to see if the endpoint is marked as halted. If the control endpoint is halted, a reset endpoint command must be issued and the transfer ring dequeue pointer needs to be moved past the stopped transfer. Basically, we treat it as if the control endpoint had stalled. Handle bulk babbling endpoints as if we got a completion event with a stall completion code. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 66d1eebce5cca916e0b08d961690bb01c64751ef Author: Sarah Sharp Date: Thu Aug 27 14:35:53 2009 -0700 USB: xhci: Make TRB completion code comparison readable. Use trb_comp_code instead of getting the completion code from the transfer event every time. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit ac9d8fe7c6a8041cca5a0738915d2c4e21381421 Author: Sarah Sharp Date: Fri Aug 7 14:04:55 2009 -0700 USB: xhci: Add quirk for Fresco Logic xHCI hardware. This Fresco Logic xHCI host controller chip revision puts bad data into the output endpoint context after a Reset Endpoint command. It needs a Configure Endpoint command (instead of a Set TR Dequeue Pointer command) after the reset endpoint command. Set up the input context before issuing the Reset Endpoint command so we don't copy bad data from the output endpoint context. The HW also can't handle two commands queued at once, so submit the TRB for the Configure Endpoint command in the event handler for the Reset Endpoint command. Devices that stall on control endpoints before a configuration is selected will not work under this Fresco Logic xHCI host controller revision. This patch is for prototype hardware that will be given to other companies for evaluation purposes only, and should not reach consumer hands. Fresco Logic's next chip rev should have this bug fixed. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 82d1009f537c2a43be0a410abd33521f76ee3a5a Author: Sarah Sharp Date: Fri Aug 7 14:04:52 2009 -0700 USB: xhci: Handle stalled control endpoints. When a control endpoint stalls, the next control transfer will clear the stall. The USB core doesn't call down to the host controller driver's endpoint_reset() method when control endpoints stall, so the xHCI driver has to do all its stall handling for internal state in its interrupt handler. When the host stalls on a control endpoint, it may stop on the data phase or status phase of the control transfer. Like other stalled endpoints, the xHCI driver needs to queue a Reset Endpoint command and move the hardware's control endpoint ring dequeue pointer past the failed control transfer (with a Set TR Dequeue Pointer or a Configure Endpoint command). Since the USB core doesn't call usb_hcd_reset_endpoint() for control endpoints, we need to do this in interrupt context when we get notified of the stalled transfer. URBs may be queued to the hardware before these two commands complete. The endpoint queue will be restarted once both commands complete. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 2d3f1fac7ee8bb4c6fad40f838488edbeabb0c50 Author: Sarah Sharp Date: Fri Aug 7 14:04:49 2009 -0700 USB: xhci: Support full speed devices. Full speed devices have varying max packet sizes (8, 16, 32, or 64) for endpoint 0. The xHCI hardware needs to know the real max packet size that the USB core discovers after it fetches the first 8 bytes of the device descriptor. In order to fix this without adding a new hook to host controller drivers, the xHCI driver looks for an updated max packet size for control endpoints. If it finds an updated size, it issues an evaluate context command and waits for that command to finish. This should only happen in the initialization and device descriptor fetching steps in the khubd thread, so blocking should be fine. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 47aded8ade9fee6779b121b2b156235f261239d7 Author: Sarah Sharp Date: Fri Aug 7 14:04:46 2009 -0700 USB: xhci: Set correct max packet size for HS/FS control endpoints. Set the max packet size for the default control endpoint on high speed devices to be 64 bytes. High speed devices always have a max packet size of 64 bytes. There's no use setting it to eight for the initial 8 byte descriptor fetch and then issuing (and waiting for) an evaluate context command to update it to 64 bytes for the subsequent control transfers. The USB core guesses that the max packet size on a full speed control endpoint is 64 bytes, and then updates it after the first 8-byte descriptor fetch. Change the initial setup for the xHCI internal representation of the full speed device to have a 64 byte max packet size. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit f2217e8edd95b0428d8123d426e0097a5e955f9f Author: Sarah Sharp Date: Fri Aug 7 14:04:43 2009 -0700 USB: xhci: Configure endpoint code refactoring. Refactor out the code issue, wait for, and parse the event completion code for a configure endpoint command. Modify it to support the evaluate context command, which has a very similar submission process. Add functions to copy parts of the output context into the input context (which will be used in the evaluate context command). Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 018218d1d9eb06116d24a02dd5e7a390f0353d0f Author: Sarah Sharp Date: Fri Aug 7 14:04:40 2009 -0700 USB: xhci: Fix slot and endpoint context debugging. Use the virtual address of the memory hardware uses, not the address for the container of that memory. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit b0567b3f635db72c881a0d561cebb544ec085073 Author: Sarah Sharp Date: Fri Aug 7 14:04:36 2009 -0700 USB: xhci: Work around for chain bit in link TRBs. Different sections of the xHCI 0.95 specification had opposing requirements for the chain bit in a link transaction request buffer (TRB). The chain bit is used to designate that adjacent TRBs are all part of the same scatter gather list that should be sent to the device. Link TRBs can be in the middle, or at the beginning or end of these chained TRBs. Sections 4.11.5.1 and 6.4.4.1 both stated the link TRB "shall have the chain bit set to 1", meaning it is always chained to the next TRB. However, section 4.6.9 on the stop endpoint command has specific cases for what the hardware must do for a link TRB with the chain bit set to 0. The 0.96 specification errata later cleared up this issue by fixing the 4.11.5.1 and 6.4.4.1 sections to state that a link TRB can have the chain bit set to 1 or 0. The problem is that the xHCI cancellation code depends on the chain bit of the link TRB being cleared when it's at the end of a TD, and some 0.95 xHCI hardware simply stops processing the ring when it encounters a link TRB with the chain bit cleared. Allow users who are testing 0.95 xHCI prototypes to set a module parameter (link_quirk) to turn on this link TRB work around. Cancellation may not work if the ring is stopped exactly on a link TRB with chain bit set, but cancellation should be a relatively uncommon case. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 11eaf170363d264ff587f300e41c927ba5a33967 Author: Michael Hennerich Date: Mon Sep 14 10:39:53 2009 -0400 USB: serial: ftdi: handle gnICE+ JTAG adaptors Detect the UART on interface1 and blacklist interface0 (as that is the JTAG port). Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Cc: stable Signed-off-by: Greg Kroah-Hartman commit eb661bc88252e5c6dc69df732e77e42981dd4d8b Author: Hennerich, Michael Date: Wed Sep 2 09:26:21 2009 +0100 USB: sl811-hcd: Fix device disconnect: SL811 Device detected after removal used to be working in linux-2.6.22 but then broke somewhere between 2.6.22 and 2.6.28. Current hub_port_connect_change() in drivers/usb/core/hub.c won't call usb_disconnect() in case the SL811 driver sets portstatus USB_PORT_FEAT_CONNECTION upon removal. AFAIK the SL811 has only a combined Device Insert/Remove detection bit, therefore use a count to distinguish insert or remove. Signed-Off-By: Michael Hennerich Cc: stable Signed-off-by: Greg Kroah-Hartman commit ec3815c3e14dc68d49428e6505ae99e86e5dd067 Author: mail@rainerkeller.de Date: Thu Sep 3 11:55:17 2009 +0200 USB: add PIDs for FTDI based OpenDCC hardware Some devices from the OpenDCC project are missing in the list of the FTDI PIDs. These PIDs are listed at http://www.opendcc.de/elektronik/usb/opendcc_usb.html (Sorry for the german only page.) This patch adds the three missing devices. Signed-off-by: Rainer Keller Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7af25b4b34a2439020d78da765a3bed0ff73f25c Author: Oliver Neukum Date: Tue Sep 8 23:51:28 2009 +0200 USB: fix cdc-acm regression in open cdc-acm needs to set a flag during open to tell the tty layer that the device is initialized Signed-off-by: Oliver Neukum Cc: Marcel Holtmann Cc: Paul Martin Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7f1dc313d01f5f0f84c06051343a3b8623932d3c Author: Oliver Neukum Date: Wed Sep 9 10:12:48 2009 +0200 USB: CDC WDM driver doesn't support non-blocking reads support for O_NONBLOCK in read and write path by simply not waiting for data in read or availability of the write urb in write but returning -EAGAIN Signed-off-by: Oliver Neukum Tested-by: Marcel Holtmann Cc: stable Signed-off-by: Greg Kroah-Hartman commit ce60c48871d2b3a15ab3fa2450e783bebb4ae407 Author: Manuel Lauss Date: Tue Sep 1 09:04:35 2009 +0200 USB: option: TELIT UC864G support Add ID for Telit UC-864G GPS/UMTS/WCDMA modem and GPS receiver to the option driver. Signed-off-by: Manuel Lauss Cc: stable Signed-off-by: Greg Kroah-Hartman commit a67d8e6c1e49dc919c9d5480583fad8a46fc00aa Author: Huzaifa Sidhpurwala Date: Tue Sep 1 10:07:41 2009 +0530 USB: option.c Add support for ZTE AC2726 EVDO modem A few days ago i got the latest ZTE EVDO modem shown at: http://img.alibaba.com/photo/240150115/ZTE_AC2726_EVDO_USB_Data_Modem.jpg It seems that the latest kernel does not have support for it. I wrote a small patch for the options.c module to add the relevant usb ids to it. From: Huzaifa Sidhpurwala Cc: stable Signed-off-by: Greg Kroah-Hartman commit 35904e6b5106fda51b04c8b8080c04466865415f Author: Pawel Ludwikow Date: Thu Aug 27 14:15:50 2009 +0200 USB: serial: pl2303: new hardware support - sanwa multimeter I'd like to present my small patch enabling to use Sanwa PC5000 mulitimeter with linux. Signed-off-by: Pawel Ludwikow Cc: stable Signed-off-by: Greg Kroah-Hartman commit e7d7fcc09ebde1ea1773521ecab5a3f0ad6bef6e Author: Pawel Ludwikow Date: Thu Aug 27 14:15:50 2009 +0200 USB: serial: ftdi_sio: new hardware support - hameg power supply I'd like to present my small patch enabling to use Hameg HM8143 programmable power supply with linux. Signed-off-by: Pawel Ludwikow Cc: stable Signed-off-by: Greg Kroah-Hartman commit e5dc8ae121592239c2a2521d383bcb789849b2a3 Author: Oliver Neukum Date: Wed Aug 26 19:56:12 2009 +0200 USB: storage: fix a resume path GFP_NOIO must be used In the resume path of a block driver GFP_NOIO must be used to avoid a possible deadlock. The onetouch subdriver of storage violates the requirement. Signed-off-by: Oliver Neukum Cc: stable Signed-off-by: Greg Kroah-Hartman commit ca60a42c9be41c07ebcc2ec8c43dd1be53f147bf Author: Rusty Russell Date: Wed Sep 23 22:26:47 2009 -0600 lguest: don't force VIRTIO_F_NOTIFY_ON_EMPTY VIRTIO_F_NOTIFY_ON_EMPTY indicates to the Guest that we will hit them with an interrupt every time the xmit queue is emptied. Because it results in lots of tx interrupts, modern Guests probably don't want it, so let's only force it when they accept the option. Signed-off-by: Rusty Russell commit 6c189d8312246af776c2587c233d6afcf3714438 Author: Xiao Guangrong Date: Wed Aug 5 17:42:37 2009 +0800 lguest: cleanup for map_switcher() We can use alloc_page() instead of get_zeroed_page() and virt_to_page() Signed-off-by: Xiao Guangrong Signed-off-by: Rusty Russell commit fb100d78c04ff6053047625d0368d0d4b1d9912a Author: Rusty Russell Date: Wed Sep 23 22:26:46 2009 -0600 lguest: use PGDIR_SHIFT for PAE code to allow different PAGE_OFFSET We still assume the Guest and Host have the same PAGE_OFFSET settings, but now we don't assume 0xC0000000. Signed-off-by: Rusty Russell Cc: Matias Zabaljauregui commit 4c1ea3dd718a1d93a726cb3e66665ac4170dcccd Author: Rusty Russell Date: Wed Sep 23 22:26:45 2009 -0600 lguest: use set_pte/set_pmd uniformly for real page table entries If we're building a pte, we can use simple assigment; only use set_pte etc. when we're actually going to use that destination as a PTE. I don't know that we'll ever run under Xen, but it's neater. And use set_pte/set_pmd rather than assuming native_ versions, even though that's probably true for most people. (Includes compile fix by Kamalesh Babulal ) Signed-off-by: Rusty Russell Cc: Matias Zabaljauregui Cc: Kamalesh Babulal commit cdae0ad5e8ea630017d4cad3923f763c4e6c3127 Author: Rusty Russell Date: Wed Sep 23 22:26:42 2009 -0600 lguest: move panic notifier registration to its expected place. We used to defer it, so lockdep was happy. We now init lockdep early anyway, so just do it after that. Signed-off-by: Rusty Russell commit f1b0ef062602713c2c7cfa12362d5d90ed01c5f6 Author: Christoph Hellwig Date: Thu Sep 17 19:57:42 2009 +0200 virtio_blk: add support for cache flush Recent qemu has added a VIRTIO_BLK_F_FLUSH flag to advertise that the virtual disk has a volatile write cache that needs to be flushed. In case we see this feature implement tell the Linux block layer about the fact and use the new VIRTIO_BLK_T_FLUSH to flush the cache when required. This allows for an correct and simple implementation of write barriers. Signed-off-by: Christoph Hellwig Signed-off-by: Rusty Russell commit 3ca4f5ca73057a617f9444a91022d7127041970a Author: Fernando Luis Vazquez Cao Date: Fri Jul 31 15:25:56 2009 +0900 virtio: add virtio IDs file Virtio IDs are spread all over the tree which makes assigning new IDs bothersome. Putting them together should make the process less error-prone. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Rusty Russell commit 3a20210dc26bbfff3bbb48bb22d2846240b71d8f Author: Fernando Luis Vazquez Cao Date: Fri Jul 31 12:09:05 2009 +0900 virtio: get rid of redundant VIRTIO_ID_9P definition VIRTIO_ID_9P is already defined in include/linux/virtio_9p.h so use that definition instead. Signed-off-by: Fernando Luis Vazquez Cao Signed-off-by: Rusty Russell Cc: Eric Van Hensbergen commit 3c1b27d5043086a485f8526353ae9fe37bfa1065 Author: Rusty Russell Date: Wed Sep 23 22:26:31 2009 -0600 virtio: make add_buf return capacity remaining This API change means that virtio_net can tell how much capacity remains for buffers. It's necessarily fuzzy, since VIRTIO_RING_F_INDIRECT_DESC means we can fit any number of descriptors in one, *if* we can kmalloc. Signed-off-by: Rusty Russell Cc: Dinesh Subhraveti commit f68d24082e22ccee3077d11aeb6dc5354f0ca7f1 Author: Rusty Russell Date: Wed Sep 23 22:26:29 2009 -0600 virtio_pci: minor MSI-X cleanups 1) Rename vp_request_vectors to vp_request_msix_vectors, and take non-MSI-X case out to caller. 2) Comment weird pci_enable_msix API 3) Rename vp_find_vq to setup_vq. 4) Fix spaces to tabs 5) Make nvectors calc internal to vp_try_to_find_vqs() 6) Rename vector to msix_vector for more clarity. Signed-off-by: Rusty Russell Cc: "Michael S. Tsirkin" commit b80474b432913f73cce8db001e9fa3104f9b79ee Author: Tao Ma Date: Thu Sep 10 15:28:47 2009 +0800 ocfs2: Use buffer IO if we are appending a file. In ocfs2_file_aio_write, we will prevent direct io if we find that we are appending(changing i_size) and call generic_file_aio_write_nolock. But actually O_DIRECT flag is there and this function will call generic_file_direct_write eventually which will update i_size and leave di->i_size alone. The bug is http://oss.oracle.com/bugzilla/show_bug.cgi?id=1173. So this patch let ocfs2_direct_IO returns 0 directly if we are appending so that buffered write will be called and di->i_size get updated successfully. And this is also what we want in ocfs2_file_aio_write. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 83e32d9044a4510fffdf65c2691a25c0ba84e259 Author: Wengang Wang Date: Thu Sep 3 15:56:33 2009 +0800 ocfs2: add spinlock protection when dealing with lockres->purge. when we check/modify lockres->purge, we should with the protection of lockres->spinlock. in dlm_purge_lockres(), the checking/modifying is not with the protectin. this patch fixes it. Signed-off-by: Wengang Wang Signed-off-by: Joel Becker commit d92bc5127b27f315ef0ef2c1e1829fd6a5cba54a Author: Coly Li Date: Fri Aug 28 19:03:18 2009 +0800 dlmglue.c: add missed mlog lines This patch adds the missed mlog_exit() and mlog_exit_void() lines when routines return. Signed-off-by: Coly Li Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit a2f2ddbf2bafdbc7e4f3bbf09439b42c8fee2747 Author: Sunil Mushran Date: Wed Aug 19 15:16:01 2009 -0700 ocfs2: __ocfs2_abort() should not enable panic for local mounts In a clustered setup, we have to panic the box on journal abort. This is because we don't have the facility to go hard readonly. With hard ro, another node would detect node failure and initiate recovery. Having said that, we shouldn't force panic if the volume is mounted locally. This patch defers the handling to the mount option, errors. Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit e1070211f7327a1f197d535aa886f721a241c32f Author: Mike Frysinger Date: Wed Sep 23 00:49:39 2009 -0400 mtd: jedec_probe: add PSD4256G6V id Signed-off-by: Mike Frysinger Signed-off-by: David Woodhouse commit 8cb3ed13935b9b523c2de7afc8f68473fe1d4531 Author: Roland McGrath Date: Tue Sep 22 20:12:07 2009 -0700 x86: ptrace: set TS_COMPAT when 32-bit ptrace sets orig_eax>=0 The 32-bit ptrace syscall on a 64-bit kernel (32-bit debugger on 32-bit task) behaves differently than a native 32-bit kernel. When setting a register state of orig_eax>=0 and eax=-ERESTART* when the debugged task is NOT on its way out of a 32-bit syscall, the task will fail to do the syscall restart logic that it should do. Test case available at http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/erestartsys-trap.c?cvsroot=systemtap This happens because the 32-bit ptrace syscall sets eax=0xffffffff when it sets orig_eax>=0. The resuming task will not sign-extend this for the -ERESTART* check because TS_COMPAT is not set. (So the task thinks it is restarting after a 64-bit syscall, not a 32-bit one.) The fix is to have 32-bit ptrace calls set TS_COMPAT when setting orig_eax>=0. This ensures that the 32-bit syscall restart logic will apply when the child resumes. Signed-off-by: Roland McGrath commit 08ff18e299b1a1c91f4911fe9f35c4550218c73f Author: Roland McGrath Date: Tue Sep 22 19:58:58 2009 -0700 x86: ptrace: do not sign-extend orig_ax on write The high 32 bits of orig_ax will be ignored when it matters, so don't fiddle them when setting it. Signed-off-by: Roland McGrath commit 7e483865612568268773317219d07b38a8c4d62d Author: Chen Liqin Date: Wed Sep 23 11:40:15 2009 +0800 score: update email address in MAINTAINERS. Signed-off-by: Chen Liqin commit eccfbf98f4d77bb5849dfb96f829f14d2b292551 Author: Tim Abbott Date: Wed Sep 23 11:38:42 2009 +0800 score: Cleanup linker script using new macros. Signed-off-by: Tim Abbott Acked-by: Sam Ravnborg Signed-off-by: Chen Liqin commit 0dab1006896ef43f55b82b83ec2316f0179f681b Author: Tim Abbott Date: Sun Sep 20 13:32:58 2009 -0400 score: Make THREAD_SIZE available to assembly files. Signed-off-by: Tim Abbott Acked-by: Sam Ravnborg commit aa296ddf32da207b430f61b77a8e81c0663f07cf Author: Tim Abbott Date: Sun Sep 20 13:32:57 2009 -0400 score: Make PAGE_SIZE available to assembly. Signed-off-by: Tim Abbott Acked-by: Sam Ravnborg commit fde1132374c9ba7da98a73b9a3c150dca6cf8502 Author: Raphael Derosso Pereira Date: Mon Sep 21 22:24:06 2009 -0700 Input: add driver for Atmel AT42QT2160 Sensor Chip This version only supports individual cells (no slide support yet). The code has been tested on proprietary development ARM board, but should work fine on other machines. Signed-off-by: Raphael Derosso Pereira Signed-off-by: Dmitry Torokhov commit b60e714dc3ef2a2541e3b262b8b742ba08a07fc0 Author: Roland McGrath Date: Tue Sep 22 16:46:34 2009 -0700 x86: ptrace: sysret path should reach syscall_trace_leave If TIF_SYSCALL_TRACE or TIF_SINGLESTEP is set while inside a syscall, the path back to user mode should get to syscall_trace_leave. This does happen in most circumstances. The exception to this is on the 64-bit syscall fastpath, when no such flag was set on syscall entry and nothing else has punted it off the fastpath for exit. That one exit fastpath fails to check for _TIF_WORK_SYSCALL_EXIT flags. This makes the behavior inconsistent with what 32-bit tasks see and what the native 32-bit kernel always does, and what 64-bit tasks see in all cases where the iret path is taken anyhow. Perhaps the only example that is affected is a ptrace stop inside do_fork (for PTRACE_O_TRACE{CLONE,FORK,VFORK,VFORKDONE}). Other syscalls with internal ptrace stop points (execve) already take the iret exit path for unrelated reasons. Test cases for both PTRACE_SYSCALL and PTRACE_SINGLESTEP variants are at: http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/syscall-from-clone.c?cvsroot=systemtap http://sources.redhat.com/cgi-bin/cvsweb.cgi/~checkout~/tests/ptrace-tests/tests/step-from-clone.c?cvsroot=systemtap There was no special benefit to the sysret path's special path to call do_notify_resume, because it always takes the iret exit path at the end. So this change just makes the sysret exit path join the iret exit path for all the signals and ptrace cases. The fastpath still applies to the plain syscall-audit and resched cases. Signed-off-by: Roland McGrath CC: Oleg Nesterov commit bd50873dc725a9fa72592ecc986c58805e823051 Author: Tao Ma Date: Mon Sep 21 11:25:14 2009 +0800 ocfs2: Add ioctl for reflink. The ioctl will take 3 parameters: old_path, new_path and preserve and call vfs_reflink. It is useful when we backport reflink features to old kernels. Signed-off-by: Tao Ma commit 64871b8d62570fabec3b0959d494f8e0b87f5c4b Author: Tao Ma Date: Tue Aug 18 11:48:02 2009 +0800 ocfs2: Enable refcount tree support. Signed-off-by: Tao Ma commit 09bf27a000209e9e8c9c048b4c50f6bb0dd857bb Author: Tao Ma Date: Mon Sep 21 10:38:17 2009 +0800 ocfs2: Implement ocfs2_reflink. Implement ocfs2_reflink. Signed-off-by: Tao Ma commit 0fe9b66c65f3ff227da45381afe7612f91e32740 Author: Tao Ma Date: Tue Aug 18 11:47:56 2009 +0800 ocfs2: Add preserve to reflink. reflink has 2 options for the destination file: 1. snapshot: reflink will attempt to preserve ownership, permissions, and all other security state in order to create a full snapshot. 2. new file: it will acquire the data extent sharing but will see the file's security state and attributes initialized as a new file. So add the option to ocfs2. Signed-off-by: Tao Ma commit bc13d347574fc0a8a666bc0f4cc2b635d202e372 Author: Tao Ma Date: Tue Aug 18 11:44:14 2009 +0800 ocfs2: Create reflinked file in orphan dir. reflink is a very complicated process, so it can't be integrated into one transaction. So if the system panic in the operation, we may leave a unfinished inode in the destication directory. So we will try to create an inode in orphan_dir first, reflink it to the src file and then move it to the destication file in the end. In that way we won't be afraid of any corruption during the reflink. This patch adds 2 functions for orphan_dir operation: 1. Create a new inode in orphand dir. 2. Move an inode to a target dir. Note: fsck.ocfs2 should work for us to remove the unfinished file in the orphan_dir. Signed-off-by: Tao Ma commit 19bd341f6a6c6b314bcac55bbd906bfd3603fe9e Author: Tao Ma Date: Tue Aug 18 11:44:10 2009 +0800 ocfs2: Use proper parameter for some inode operation. In order to make the original function more suitable for reflink, we modify the following inode operations. Both are tiny. 1. ocfs2_mknod_locked only use dentry for mlog, so move it to the caller so that reflink can use it without dentry. 2. ocfs2_prepare_orphan_dir only want inode to get its ip_blkno. So use ip_blkno instead. Signed-off-by: Tao Ma commit c18b812d127a971901180188b918a7cd98ccd4d6 Author: Tao Ma Date: Tue Aug 18 11:44:07 2009 +0800 ocfs2: Make transaction extend more efficient. In ocfs2_extend_rotate_transaction, op_credits is the orignal credits in the handle and we only want to extend the credits for the rotation, but the old solution always double it. It is harmless for some minor operations, but for actions like reflink we may rotate tree many times and cause the credits increase dramatically. So this patch try to only increase the desired credits. Signed-off-by: Tao Ma commit 7540c1a77b26bc2f9d86a0bfbe6597b05ec5f93d Author: Tao Ma Date: Tue Aug 18 11:44:03 2009 +0800 ocfs2: Don't merge in 1st refcount ops of reflink. Actually the whole reflink will touch refcount tree 2 times: 1. It will add the clusters in the extent record to the tree if it isn't refcounted before. 2. It will add 1 refcount to these clusters when it add these extent records to the tree. So actually we shouldn't do merge in the 1st operation since the 2nd one will soon be called and we may have to split it again. Do a merge first and split soon is a waste of time. So we only merge in the 2nd round. This is done by adding a new internal __ocfs2_increase_refcount and call it with "not-merge" for 1st refcount operation in reflink. This also has a side-effect that we don't need to worry too much about the metadata allocation in the 2nd round since it will only merge and no split will happen for those records. Signed-off-by: Tao Ma commit ce9c5a54c0f06b0efb4db8720a0616cc6aa0e5b2 Author: Tao Ma Date: Tue Aug 18 11:43:59 2009 +0800 ocfs2: Modify removing xattr process for refcount. The old xattr value remove is quite simple, it just erase the tree and free the clusters. But as we have added refcount support, The process is a little complicated. We have to lock the refcount tree at the beginning, what's more, we may split the refcount tree in some cases, so meta/credits are needed. Signed-off-by: Tao Ma commit 2999d12f4d5529b282ce201b21444590c3f9f723 Author: Tao Ma Date: Tue Aug 18 11:43:55 2009 +0800 ocfs2: Add reflink support for xattr. Signed-off-by: Tao Ma commit a7fe7a3a1ab5dac8d81e531c060f51e12010133b Author: Tao Ma Date: Tue Aug 18 11:43:52 2009 +0800 ocfs2: Create an xattr indexed block if needed. With reflink, there is a need that we create a new xattr indexed block from the very beginning. So add a new parameter for ocfs2_create_xattr_block. Signed-off-by: Tao Ma commit 8b2c0dba5159570af5721d40490f6c529d721500 Author: Tao Ma Date: Tue Aug 18 11:43:49 2009 +0800 ocfs2: Call refcount tree remove process properly. Now with xattr refcount support, we need to check whether we have xattr refcounted before we remove the refcount tree. Now the mechanism is: 1) Check whether i_clusters == 0, if no, exit. 2) check whether we have i_xattr_loc in dinode. if yes, exit. 2) Check whether we have inline xattr stored outside, if yes, exit. 4) Remove the tree. Signed-off-by: Tao Ma commit 0129241e2b3b90ff83a8c774353e5612d84bd493 Author: Tao Ma Date: Mon Sep 21 13:04:19 2009 +0800 ocfs2: Attach xattr clusters to refcount tree. In ocfs2, when xattr's value is larger than OCFS2_XATTR_INLINE_SIZE, it will be kept outside of the blocks we store xattr entry. And they are stored in a b-tree also. So this patch try to attach all these clusters to refcount tree also. Signed-off-by: Tao Ma commit 47bca4950bc40fb54e9d41cbbc8b06cd653d2ae2 Author: Tao Ma Date: Tue Aug 18 11:43:42 2009 +0800 ocfs2: Abstract ocfs2 xattr tree extend rec iteration process. Currently we have ocfs2_iterate_xattr_buckets which can receive a para and a callback to iterate a series of bucket. It is good. But actually the 2 callers ocfs2_xattr_tree_list_index_block and ocfs2_delete_xattr_index_block are almost the same. The only difference is that the latter need to handle the extent record also. So add a new function named ocfs2_iterate_xattr_index_block. It can be given func callback which are used for exten record. So now we only have one iteration function for the xattr index block. Ane what's more, it is useful for our future reflink operations. Signed-off-by: Tao Ma commit 5aea1f0ef4024ba28213c10181e1b16ec678c82d Author: Tao Ma Date: Tue Aug 18 11:43:24 2009 +0800 ocfs2: Abstract the creation of xattr block. In xattr reflink, we also need to create xattr block, so abstract the process out. Signed-off-by: Tao Ma commit fd68a894fc9641f816d9cffa58e853ba91cbc1a1 Author: Tao Ma Date: Tue Aug 18 11:43:21 2009 +0800 ocfs2: Remove inode from ocfs2_xattr_bucket_get_name_value. In ocfs2_xattr_bucket_get_name_value, actually we only use super_block. So use it. Signed-off-by: Tao Ma commit 492a8a33e1cb966fa0b5756c5fc11d30c8f8848e Author: Tao Ma Date: Tue Aug 18 11:43:17 2009 +0800 ocfs2: Add CoW support for xattr. In order to make 2 transcation(xattr and cow) independent with each other, we CoW the whole xattr out in case we are setting them. Signed-off-by: Tao Ma commit 913580b4cd445c4fb25d7cf167911a8cf6bdb1eb Author: Tao Ma Date: Mon Aug 24 14:31:03 2009 +0800 ocfs2: Abstract duplicate clusters process in CoW. We currently use pagecache to duplicate clusters in CoW, but it isn't suitable for xattr case. So abstract it out so that the caller can decide which method it use. Signed-off-by: Tao Ma commit 1061f9c1c9f81ed88b5d268a95d8e3ace80da63a Author: Tao Ma Date: Tue Aug 18 11:41:57 2009 +0800 ocfs2: Return extent flags for xattr value tree. With the new refcount tree, xattr value can also be refcounted among multiple files. So return the appropriate extent flags so that CoW can used it later. Signed-off-by: Tao Ma commit a9063ab9a3827483007124bdb6f9877f0ab4c3f5 Author: Tao Ma Date: Tue Aug 18 11:40:59 2009 +0800 ocfs2: handle file attributes issue for reflink. A reflink creates a snapshot of a file, that means the attributes must be identical except for three exceptions - nlink, ino, and ctime. As for time changes, Here is a brief description: 1. Source file: 1) atime: Ignore. Let the lazy atime code handle that. 2) mtime: don't touch. 3) ctime: If we change the tree (adding REFCOUNTED to at least one extent), update it. 2. Destination file: 1) atime: ignore. 2) mtime: we want it to appear identical to the source. 3) ctime: update. The idea here is that an ls -l will show the same time for the src and target - it shows mtime. Backup software like rsync and tar will treat the new file correctly too. Signed-off-by: Tao Ma commit 110a045aca62f6f564e3b68f89af2a3a5a6ecff2 Author: Tao Ma Date: Sat Aug 22 23:54:27 2009 +0800 ocfs2: Add normal functions for reflink a normal file's extents. 2 major functions are added in this patch. ocfs2_attach_refcount_tree will create a new refcount tree to the old file if it doesn't have one and insert all the extent records to the tree if they are not refcounted. ocfs2_create_reflink_node will: 1. set the refcount tree to the new file. 2. call ocfs2_duplicate_extent_list which will iterate all the extents for the old file, insert it to the new file and increase the corresponding referennce count. Signed-off-by: Tao Ma commit 37f8a2bfaa8364dd3644cccee8824bb8f5e409a5 Author: Tao Ma Date: Wed Aug 26 09:47:28 2009 +0800 ocfs2: CoW a reflinked cluster when it is truncated. When we truncate a file to a specific size which resides in a reflinked cluster, we need to CoW it since ocfs2_zero_range_for_truncate will zero the space after the size(just another type of write). So we add a "max_cpos" in ocfs2_refcount_cow so that it will stop when it hit the max cluster offset. Signed-off-by: Tao Ma commit 293b2f70b4a16a1ca91efd28ef3d6634262c6887 Author: Tao Ma Date: Tue Aug 25 08:02:48 2009 +0800 ocfs2: Integrate CoW in file write. When we use mmap, we CoW the refcountd clusters in ocfs2_write_begin_nolock. While for normal file io(including directio), we do CoW in ocfs2_prepare_inode_for_write. Signed-off-by: Tao Ma commit 6ae23c5555176c5b23480c9c578ff27437085ba5 Author: Tao Ma Date: Tue Aug 18 11:30:55 2009 +0800 ocfs2: CoW refcount tree improvement. During CoW, if the old extent record is refcounted, we allocate som new clusters and do CoW. Actually we can have some improvement here. If the old extent has refcount=1, that means now it is only used by this file. So we don't need to allocate new clusters, just remove the refcounted flag and it is OK. We also have to remove it from the refcount tree while not deleting it. Signed-off-by: Tao Ma commit 6f70fa519976a379d72781d927cf8e5f5b05ec86 Author: Tao Ma Date: Tue Aug 25 08:05:12 2009 +0800 ocfs2: Add CoW support. This patch try CoW support for a refcounted record. the whole process will be: 1. Calculate how many clusters we need to CoW and where we start. Extents that are not completely encompassed by the write will be broken on 1MB boundaries. 2. Do CoW for the clusters with the help of page cache. 3. Change the b-tree structure with the new allocated clusters. Signed-off-by: Tao Ma commit bcbbb24a6a5c5b3e7b8e5284e0bfa23f45c32377 Author: Tao Ma Date: Tue Aug 18 11:29:12 2009 +0800 ocfs2: Decrement refcount when truncating refcounted extents. Add 'Decrement refcount for delete' in to the normal truncate process. So for a refcounted extent record, call refcount rec decrementation instead of cluster free. Signed-off-by: Tao Ma commit 1aa75fea64bc26bda9be9b1b20ae253d7a481877 Author: Tao Ma Date: Tue Aug 18 11:28:39 2009 +0800 ocfs2: Add functions for extents refcounted. Add function ocfs2_mark_extent_refcounted which can mark an extent refcounted. Signed-off-by: Tao Ma commit 1823cb0b9fe5e6d48017ee3f92428f69c0235d87 Author: Tao Ma Date: Tue Aug 18 11:24:49 2009 +0800 ocfs2: Add support of decrementing refcount for delete. Given a physical cpos and length, decrement the refcount in the tree. If the refcount for any portion of the extent goes to zero, that portion is queued for freeing. Signed-off-by: Tao Ma commit e73a819db9c2d6c4065b7cab7374709b6939e8f1 Author: Tao Ma Date: Tue Aug 11 14:33:14 2009 +0800 ocfs2: Add support for incrementing refcount in the tree. Given a physical cpos and length, increment the refcount in the tree. If the extent has not been seen before, a refcount record is created for it. Refcount records may be merged or split by this operation. Signed-off-by: Tao Ma commit e2e9f6082b5ff099978774d5c0148e062344c2f9 Author: Tao Ma Date: Tue Aug 18 11:22:34 2009 +0800 ocfs2: move tree path functions to alloc.h. Now fs/ocfs2/alloc.c has more than 7000 lines. It contains our basic b-tree operation. Although we have already make our b-tree operation generic, the basic structrue ocfs2_path which is used to iterate one b-tree branch is still static and limited to only used in alloc.c. As refcount tree need them and I don't want to add any more b-tree unrelated code to alloc.c, export them out. Signed-off-by: Tao Ma commit fe924415957e60471536762172d127e85519ef78 Author: Tao Ma Date: Tue Aug 18 11:22:25 2009 +0800 ocfs2: Add refcount b-tree as a new extent tree. Add refcount b-tree as a new extent tree so that it can use the b-tree to store and maniuplate ocfs2_refcount_rec. Signed-off-by: Tao Ma commit 555936bfcb1af26c6919d6cedb83710bb03d4322 Author: Tao Ma Date: Tue Aug 18 11:22:21 2009 +0800 ocfs2: Abstract extent split process. ocfs2_mark_extent_written actually does the following things: 1. check the parameters. 2. initialize the left_path and split_rec. 3. call __ocfs2_mark_extent_written. it will do: 1) check the flags of unwritten 2) do the real split work. The whole process is packed tightly somehow. So this patch will abstract 2 different functions so that future b-tree operation can work with it. 1. __ocfs2_split_extent will accept path and split_rec and do the real split work. 2. ocfs2_change_extent_flag will accept a new flag and initialize path and split_rec. So now ocfs2_mark_extent_written will do: 1. check the parameters. 2. call ocfs2_change_extent_flag. 1) initalize the left_path and split_rec. 2) check whether the new flags conflict with the old one. 3) call __ocfs2_split_extent to do the split. Signed-off-by: Tao Ma commit 853a3a1439b18d5a70ada2cb3fcd468e70b7d095 Author: Tao Ma Date: Tue Aug 18 11:22:18 2009 +0800 ocfs2: Wrap ocfs2_extent_contig in ocfs2_extent_tree. Add a new operation eo_ocfs2_extent_contig int the extent tree's operations vector. So that with the new refcount tree, We want this so that refcount trees can always return CONTIG_NONE and prevent extent merging. Signed-off-by: Tao Ma commit 8bf396de984e68491569b49770e4fd7aca40ba65 Author: Tao Ma Date: Mon Aug 24 11:12:02 2009 +0800 ocfs2: Basic tree root operation. Add basic refcount tree root operation. Signed-off-by: Tao Ma commit 374a263e790c4de85844283c098810a92985f623 Author: Tao Ma Date: Mon Aug 24 11:13:37 2009 +0800 ocfs2: Add refcount tree lock mechanism. Implement locking around struct ocfs2_refcount_tree. This protects all read/write operations on refcount trees. ocfs2_refcount_tree has its own lock and its own caching_info, protecting buffers among multiple nodes. User must call ocfs2_lock_refcount_tree before his operation on the tree and unlock it after that. ocfs2_refcount_trees are referenced by the block number of the refcount tree root block, So we create an rb-tree on the ocfs2_super to look them up. Signed-off-by: Tao Ma commit c732eb16bf07f9bfb7fa72b6868462471273bdbd Author: Tao Ma Date: Tue Aug 18 11:21:00 2009 +0800 ocfs2: Add caching info for refcount tree. refcount tree should use its own caching info so that when we downconvert the refcount tree lock, we can drop all the cached buffer head. Signed-off-by: Tao Ma commit 8dec98edfe9684ce00b580a09dde3dcd21ee785b Author: Tao Ma Date: Tue Aug 18 11:19:58 2009 +0800 ocfs2: Add new refcount tree lock resource in dlmglue. refcount tree lock resource is used to protect refcount tree read/write among multiple nodes. Signed-off-by: Tao Ma commit a433848132d8cdfb8173745b922ddb919de11527 Author: Tao Ma Date: Tue Aug 18 11:19:29 2009 +0800 ocfs2: Abstract caching info checkpoint. In meta downconvert, we need to checkpoint the metadata in an inode. For refcount tree, we also need it. So abstract the process out. Signed-off-by: Tao Ma commit f2c870e3b12e38da6d9b5b17c4c8ae56a0ed68e4 Author: Tao Ma Date: Tue Aug 18 11:19:26 2009 +0800 ocfs2: Add ocfs2_read_refcount_block. Signed-off-by: Tao Ma commit 93c97087a646429f4dc0d73298d64674ddd5cde8 Author: Tao Ma Date: Tue Aug 18 11:19:20 2009 +0800 ocfs2: Add metaecc for ocfs2_refcount_block. Add metaecc and journal trigger for ocfs2_refcount_block. Signed-off-by: Tao Ma commit 721f69c404c51a5d1dc93fddb48ee936e8e23770 Author: Tao Ma Date: Tue Aug 18 11:17:49 2009 +0800 ocfs2: Define refcount tree structure. Signed-off-by: Tao Ma commit 18c1e2c80d92adca50ffc654617639a4aa35f29c Author: Roland McGrath Date: Tue Sep 22 19:57:51 2009 -0700 x86: syscall_get_nr returns int Make syscall_get_nr() return int, so we always sign-extend the low 32 bits of orig_ax in checks. Signed-off-by: Roland McGrath commit 268e46712d57a6493cc0f98e7d200a0f674c31ed Author: Roland McGrath Date: Tue Sep 22 19:56:50 2009 -0700 asm-generic: syscall_get_nr returns int Only 32 bits of system call number are meaningful, so make the specification for syscall_get_nr() be to return int, not long. Signed-off-by: Roland McGrath commit 5b31aee9d72f529ee6b60e8d66967f817a0e39fc Author: Andre Maasikas Date: Mon Sep 21 08:59:41 2009 -0400 drm/radeon/r600: set correct pitch for 4 byte copy [agd5f: also fix the non-kms path] Signed-off-by: Alex Deucher commit c214271563c00f2721c5111e27b53bf06dabc6e4 Author: Dave Airlie Date: Tue Sep 22 08:50:10 2009 +1000 drm/radeon: consolidate family flags used in pciids. having these separate was pointless and introduced a bug when one got updated without the other. Signed-off-by: Dave Airlie commit 7c329288d72e025db4feac65f0fed95fb3e3ef1c Author: Ingo Molnar Date: Wed Sep 23 09:52:18 2009 +1000 vgaarb: make client interface config invariant. Fixes build when VGA_ARB is off. Reported-by: Ingo Molnar Signed-off-by: Ingo Molnar Signed-off-by: Dave Airlie commit f056878332a91ed984a116bad4e7d49aefff9e6e Merge: 3961f7c 7fa0772 Author: Anton Vorontsov Date: Wed Sep 23 03:49:27 2009 +0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/power/wm97xx_battery.c commit 63209a71e8e7727f52208d17bb7180cd392edcfb Author: Mark Brown Date: Tue Sep 22 08:50:32 2009 -0700 regulator: Add some brief design documentation Provide some brief documentation of some of the design decisions that are made by the regulator API. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit ed87b27e00d2ca240f62f3903583a2f1541fb9ef Author: Martin Schwidefsky Date: Tue Sep 22 22:58:54 2009 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 1aaf179d043856d80bbb354f9feaf706b9cfbcd3 Author: Michael Holzheu Date: Tue Sep 22 22:58:53 2009 +0200 [S390] hibernate: Do real CPU swap at resume time Currently, when the physical resume CPU is not equal to the physical suspend CPU, we swap the CPUs logically, by modifying the logical/physical CPU mapping. This has two major drawbacks: First the change is visible from user space (e.g. CPU sysfs files) and second it is hard to ensure that nowhere in the kernel the physical CPU ID is stored before suspend. To fix this, we now really swap the physical CPUs, if the resume CPU is not the pysical suspend CPU. We restart the suspend CPU and stop the resume CPU using SIGP restart and SIGP stop. If the suspend CPU is no longer available, we write a message and load a disabled wait PSW. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 68d1e5f08b13132504752cad54169376739753db Author: Stefan Weinhuber Date: Tue Sep 22 22:58:52 2009 +0200 [S390] dasd: tolerate devices that have no feature codes The DASD device driver reads the feature codes of a device during device initialization. These codes are later used to determine the availability of advanced features like PAV or High Performance FICON. Some very old devices do not support the command to read feature codes and the initialization routine fails. As the feature codes are not necessary for basic DASD operations, we can support such devices by just ignoring missing feature codes. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 5314af693da5149c2361d290bb184cf18ee21cdd Author: Felix Beck Date: Tue Sep 22 22:58:51 2009 +0200 [S390] zcrypt: Do not add/remove devices in s/r callbacks Devices are no longer removed or added in the suspend and resume callbacks. Instead they are marked unregistered in suspend. In the resume callback the ap_scan_bus method is scheduled. The bus scan function will remove the old device and add new ones. This way all the device handling will be done in only one function. Additionaly the case where the domain might change during suspend/resume is caught. In that case the devices qid needs to re-calculated in order of having it found by the scan method. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 2573a575304c5ce4765fc88f9d09ed4dbf8d04bf Author: Heiko Carstens Date: Tue Sep 22 22:58:50 2009 +0200 [S390] hibernate: make sure pfn_is_nosave handles lowcore pages pfn_is_nosave doesn't return the correct value for the second lowcore page if lowcore protection is enabled. Make sure it always returns the correct value. While at it simplify the whole thing. NSS special handling is done by the tprot check like it already works for DCSS as well. So remove the extra code for NSS. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3fd26a7793fb21b88ccf1e238670b2a508fcf835 Author: Heiko Carstens Date: Tue Sep 22 22:58:49 2009 +0200 [S390] smp: introduce LC_ORDER and simplify lowcore handling Removes a couple of simple code duplications. But before I have to do this again, just simplify it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 07805ac81c81634623042408ffea6bbad3160bfa Author: Christian Borntraeger Date: Tue Sep 22 22:58:48 2009 +0200 [S390] ptrace: use common code for simple peek/poke operations arch_ptrace on s390 implements PTRACE_(PEEK|POKE)(TEXT|DATA) instead of using using ptrace_request in kernel/ptrace.c. The only reason is the 31bit addressing mode, where we have to unmask the highest bit. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit bdd42b28cde0453fb8c3d9b4e4868ca2d8124806 Author: Heiko Carstens Date: Tue Sep 22 22:58:47 2009 +0200 [S390] fix disabled_wait inline assembly clobber list The disabled_wait inline assmembly also clobbers register r1, but it is missing in the clobber list. Fixes recursive Oops on panic. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 87458ff4582953d6b3bf45edeac8582849552e69 Author: Heiko Carstens Date: Tue Sep 22 22:58:46 2009 +0200 [S390] Change kernel_page_present coding style. Make the inline assembly look like all others. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2583d1efe04170cf166d43da6e4ed309e5601e84 Author: Heiko Carstens Date: Tue Sep 22 22:58:45 2009 +0200 [S390] hibernation: reset system after resume Force system into defined state after resume. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 846955c8afe5ebca2f8841b042ca3342e08a092b Author: Heiko Carstens Date: Tue Sep 22 22:58:44 2009 +0200 [S390] hibernation: fix guest page hinting related crash On resume the system that loads the to be resumed image might have unstable pages. When the resume image is copied back and a write access happen to an unstable page this causes an exception and the system crashes. To fix this set all free pages to stable before copying the resumed image data. Also after everything has been restored set all free pages of the resumed system to unstable again. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2e50195f58ec045bc4601ec94478d957974f4aa4 Author: Heiko Carstens Date: Tue Sep 22 22:58:43 2009 +0200 [S390] Get rid of init_module/delete_module compat functions. These functions aren't needed. Might be a leftover of the pre cond_syscall time. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 3e86a8c617413e344143839c514e9b0c1713065c Author: Heiko Carstens Date: Tue Sep 22 22:58:42 2009 +0200 [S390] Convert sys_execve to function with parameters. Use function parameters instead of accessing the pt_regs structure to get the parameters. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2d70ca23f86647e076e3a8b64b3a90e583b894d5 Author: Heiko Carstens Date: Tue Sep 22 22:58:41 2009 +0200 [S390] Convert sys_clone to function with parameters. Use function parameters instead of accessing the pt_regs structure to get the parameters. Also merge the 31 and 64 bit versions since they are identical. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6541f7b68f229aacd2e453bc9e94335fc56419fe Author: Jan Glauber Date: Tue Sep 22 22:58:40 2009 +0200 [S390] qdio: change state of all primed input buffers If input buffers stay in primed state qdio may not receive further interrupts for the input queue depending on the firmware. That can cause a connection hang on OSA cards. Change the state of all primed input buffers that are not acknowledged to not initialized. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 1d7e1500a6acfc89415aa2524e2c475c980ac42a Author: Jan Glauber Date: Tue Sep 22 22:58:39 2009 +0200 [S390] qdio: reduce per device debug messages Even if turned off the debug message overhead is measurable in the hot path. Reduce the number of debug message calls in do_QDIO and qdio_kick_handler. Also use hex numbers to save space in the debug entries. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 703e5c9993639284bc0a8929b6de362424df7019 Author: Sebastian Ott Date: Tue Sep 22 22:58:38 2009 +0200 [S390] cio: introduce consistent subchannel scanning Previously, there were multiple subchannel scanning mechanisms which could potentially conflict with each other. Fix this problem by moving blacklist and ccw driver triggered scanning to the existing evaluation method. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit b0a285d31bd475fdd4312e457288be558b705e55 Author: Sebastian Ott Date: Tue Sep 22 22:58:37 2009 +0200 [S390] cio: idset use actual number of ssids The functions idset_sch_new and for_each_subchannel_staged use different values for the number of subchannel sets. Make it consistent by changing idset_sch_new to also use the actual number of subchannel sets. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit b827d1c8b65b27a293433e7c4723c7dfd6c4b848 Author: Sebastian Ott Date: Tue Sep 22 22:58:36 2009 +0200 [S390] cio: dont kfree vmalloced memory Don't use kfree to free memory allocated by vmalloc. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 8ea7f5590142c0b9ab319aa3cae85cf430a207d8 Author: Sebastian Ott Date: Tue Sep 22 22:58:35 2009 +0200 [S390] cio: introduce css_settle Introduce the css_driver callback settle which can be implemented by a subchannel driver to wait for the subchannel type specific asynchronous work to finish. In channel_subsystem_init_sync we call that for each subchannel driver. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 255305536c1b56ad09590f1400fb2c788265e34e Author: Sebastian Ott Date: Tue Sep 22 22:58:34 2009 +0200 [S390] cio: introduce css_eval_scheduled Use css_eval_scheduled to determine if all scheduled subchannel evaluation is finished. Wait for this value to be 0 in the channel subsystem init function. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 2f17644d1cd0121daa0a997ff4eca5b3b44d1fae Author: Sebastian Ott Date: Tue Sep 22 22:58:33 2009 +0200 [S390] cio: merge init calls Define initialization sequence of css and ccw bus init calls by merging them into a single init call. Also introduce channel_subsystem_init_sync to wait for the initialization of devices to finish. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 7fa07729e439a6184bd824746d06a49cca553f15 Merge: 991d79b a8f90e9 Author: Linus Torvalds Date: Tue Sep 22 08:11:04 2009 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf_event, powerpc: Fix compilation after big perf_counter rename commit 991d79b0d1255f89267a350b0048eca59f100cbb Merge: a87e84b 181f7c5 Author: Linus Torvalds Date: Tue Sep 22 08:07:54 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck: kmemcheck: add missing braces to do-while in kmemcheck_annotate_bitfield kmemcheck: update documentation kmemcheck: depend on HAVE_ARCH_KMEMCHECK kmemcheck: remove useless check kmemcheck: remove duplicated #include commit a87e84b5cdfacf11af4e8a85c4bca9793658536f Merge: 342ff1a 3c394dd Author: Linus Torvalds Date: Tue Sep 22 07:54:33 2009 -0700 Merge branch 'for-2.6.32' of git://linux-nfs.org/~bfields/linux * 'for-2.6.32' of git://linux-nfs.org/~bfields/linux: (68 commits) nfsd4: nfsv4 clients should cross mountpoints nfsd: revise 4.1 status documentation sunrpc/cache: avoid variable over-loading in cache_defer_req sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req nfsd: return success for non-NFS4 nfs4_state_start nfsd41: Refactor create_client() nfsd41: modify nfsd4.1 backchannel to use new xprt class nfsd41: Backchannel: Implement cb_recall over NFSv4.1 nfsd41: Backchannel: cb_sequence callback nfsd41: Backchannel: Setup sequence information nfsd41: Backchannel: Server backchannel RPC wait queue nfsd41: Backchannel: Add sequence arguments to callback RPC arguments nfsd41: Backchannel: callback infrastructure nfsd4: use common rpc_cred for all callbacks nfsd4: allow nfs4 state startup to fail SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous nfsd4: fix null dereference creating nfsv4 callback client nfsd4: fix whitespace in NFSPROC4_CLNT_CB_NULL definition nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel sunrpc/cache: simplify cache_fresh_locked and cache_fresh_unlocked. ... commit 342ff1a1b558ebbdb8cbd55ab6a63eca8b2473ca Merge: 50223e4 24ed7a9 Author: Linus Torvalds Date: Tue Sep 22 07:51:45 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (34 commits) trivial: fix typo in aic7xxx comment trivial: fix comment typo in drivers/ata/pata_hpt37x.c trivial: typo in kernel-parameters.txt trivial: fix typo in tracing documentation trivial: add __init/__exit macros in drivers/gpio/bt8xxgpio.c trivial: add __init macro/ fix of __exit macro location in ipmi_poweroff.c trivial: remove unnecessary semicolons trivial: Fix duplicated word "options" in comment trivial: kbuild: remove extraneous blank line after declaration of usage() trivial: improve help text for mm debug config options trivial: doc: hpfall: accept disk device to unload as argument trivial: doc: hpfall: reduce risk that hpfall can do harm trivial: SubmittingPatches: Fix reference to renumbered step trivial: fix typos "man[ae]g?ment" -> "management" trivial: media/video/cx88: add __init/__exit macros to cx88 drivers trivial: fix typo in CONFIG_DEBUG_FS in gcov doc trivial: fix missing printk space in amd_k7_smp_check trivial: fix typo s/ketymap/keymap/ in comment trivial: fix typo "to to" in multiple files trivial: fix typos in comments s/DGBU/DBGU/ ... commit 50223e486cabdcf7e540e519da1f26bab3084e5d Merge: e258b80 a2d693c Author: Linus Torvalds Date: Tue Sep 22 07:51:28 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: Remove duplicate Kconfig entry HID: consolidate connect and disconnect into core code HID: fix non-atomic allocation in hid_input_report commit e258b80e691f1f3ae83a60aa80eaf7322bd55ec4 Author: David Härdeman Date: Mon Sep 21 17:04:53 2009 -0700 input: add a driver for the Winbond WPCD376I Consumer IR hardware Add a driver for the the Consumer IR (CIR) functionality of the Winbond WPCD376I chipset (found on e.g. Intel DG45FC motherboards). Signed-off-by: David Härdeman Reviewed-by: Jesse Barnes Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abd6633c67925f90775bb74755f9c547e30f1f20 Author: David Härdeman Date: Mon Sep 21 17:04:52 2009 -0700 pnp: add a shutdown method to pnp drivers The shutdown method is used by the winbond cir driver to setup the hardware for wake-from-S5. Signed-off-by: Bjorn Helgaas Signed-off-by: David Härdeman Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a976f150a6953da5ccbd40fa6dba3bd7d56f9f67 Author: Henrik Rydberg Date: Mon Sep 21 17:04:50 2009 -0700 hwmon: applesmc: restore accelerometer and keyboard backlight on resume On resume from suspend, the driver currently resets the logical state as if it was brought up from halt. This patch uses the dev_pm_ops.resume/restore methods to synchronize the hardware with the memorized logical state, in effect bringing back the accelerometer and backlight to the state prior to suspend. Works for both suspend to ram and hibernation. The patch has zero effect on the running state. Signed-off-by: Henrik Rydberg Cc: Nicolas Boichat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 560a64a2b501add585b494b2b9cd9f68c0636b50 Author: Roel Kluin Date: Mon Sep 21 17:04:48 2009 -0700 hwmon: fix freeing of gpio_data and irq If already requested, gpio_data and irq should be freed in the case of an error. Signed-off-by: Roel Kluin Acked-by: Jonathan Cameron Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 905ffdc35e50844ab45bbc59d5302238844f8526 Author: Michael Abbott Date: Mon Sep 21 17:04:47 2009 -0700 drivers/hwmon/adm1021.c: add low_power support for adm1021 driver Occasionally it is helpful to be able to turn a temperature sensor off (for example if it's making unwanted electrical noise). This patch adds a sysfs node to put any adm1021 compatible device into low power mode. Signed-off-by: Michael Abbott Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f266889517252bc697e7103bcd6ed46bdf2c1579 Author: Michael Abbott Date: Mon Sep 21 17:04:46 2009 -0700 drivers/hwmon/adm1021.c: support high precision ADM1023 remote sensor The ADM1023 temperature sensor supports higher resolution for its external sensor (sensitivity of 1/8 deg C). This patch makes this higher resolution available through the appropriate temperature sysfs nodes. Curiously, this functionality was available in the 2.4 kernel driver (but formatted in a less helpful manner). Cc: Jean Delvare Signed-off-by: Michael Abbott Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc791f8aeeeea4314beede83d6ee74e6af5f627b Author: Daniel Mack Date: Mon Sep 21 17:04:45 2009 -0700 lis3_spi: code cleanups Signed-off-by: Daniel Mack Acked-by: Pavel Machek Cc: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cd9645e2f0d60ed12268fe1738e79c119e2fe5a Author: Daniel Mack Date: Mon Sep 21 17:04:44 2009 -0700 lis3: add power management functions This enabled power management functions for the SPI transport layer of the lis3 devices. The device's suspend mode is only entered in case no wakeup threshold has been given. In this case, the device is supposed to wake up the system and must thus not be put to deep sleep. [randy.dunlap@oracle.com: fix lis3-spi for CONFIG_PM=n] Signed-off-by: Daniel Mack Acked-by: Pavel Machek Cc: Eric Piel Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8873c33483e62988ed886230aab71ef4c678f710 Author: Daniel Mack Date: Mon Sep 21 17:04:43 2009 -0700 lis3: add free-fall/wakeup function via platform_data This offers a way for platforms to define flags and thresholds for the free-fall/wakeup functions of the lis302d chips. More registers needed to be seperated as they are specific to the Signed-off-by: Daniel Mack Acked-by: Pavel Machek Cc: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ec48915e8bbb37dea3df85c41e4c3498b95664b Author: Daniel Mack Date: Mon Sep 21 17:04:42 2009 -0700 lis3: fix typo Bit 0x80 in CTRL_REG3 is an ACTIVE_LOW rather than an ACTIVE_HIGH function, I got that wrong during my last change. Signed-off-by: Daniel Mack Acked-by: Pavel Machek Cc: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bf41d9f414a5cf558aff234a0ff486257537574 Author: Michael Riepe Date: Mon Sep 21 17:04:41 2009 -0700 drivers/hwmon/coretemp.c: enable the Intel Atom Enable the coretemp driver on an Intel Atom. I'm not sure if the readings are correct, however - on my 330, the driver reports values between 27 and 41 °C (with core1 being about 8°C hotter than core0, given the same load). Maybe the maximum temperature of 100 °C is wrong for Atom CPUs. Cc: Arjan van de Ven Cc: Rudolf Marek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42e41c54d61e32e8a349943607daa53205324d7f Author: Mike Frysinger Date: Mon Sep 21 17:04:40 2009 -0700 checkpatch: add some common Blackfin checks Add checks for Blackfin-specific issues that seem to crop up from time to time. In particular, we have helper macros to break a 32bit address into the hi/lo parts, and we want to make sure people use the csync/ssync variant that includes fun anomaly workarounds. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0487683096decad0720dfaf80b9d28173d5f6662 Author: Andy Whitcroft Date: Mon Sep 21 17:04:39 2009 -0700 checkpatch: version 0.29 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb9e9096ba94385b738a8ad6c5864b5778285957 Author: Andy Whitcroft Date: Mon Sep 21 17:04:38 2009 -0700 checkpatch: limit sN/uN matches to actual bit sizes Limit our type matcher to the s/u/le/be etc sizes that actually exist to prevent miss categorising s2 as a type. Fix up the spelling of the error also. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea71a0a019f913bdf506103bd90140d93a2b83f0 Author: Andy Whitcroft Date: Mon Sep 21 17:04:38 2009 -0700 checkpatch: format strings should not have brackets in macros We should not recommend braces for the following: #define pr_fmt(fmt) "%s: " fmt, __func__ allow things with double quotes round them to avoid this check. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 77f5b10a82bbd832c99ec4b120d5645342a5b140 Author: Hannes Eder Date: Mon Sep 21 17:04:37 2009 -0700 checkpatch: make -f alias --file, add --help, more verbose help message Impact: - More verbose help/usage message. - Make the option -f an alias for --file. - On -h, --help, and --version display help message and exit(0). - With no FILE(s) given, exit(1) with "no input files". - On invalid options display help/usage and exit(1). Based on a patch by Pavel Machek. Signed-off-by: Hannes Eder Acked-by: Pavel Machek Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30dad6ebecffebddf6b9947d11e31377fa900ff3 Author: Andy Whitcroft Date: Mon Sep 21 17:04:36 2009 -0700 checkpatch: indent checks -- stop when we run out of continuation lines Ensure we terminate when there are no futher continuation lines when trying to determine relative indent of conditionals and their blocks. Reported-by: John Daiker Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 113f04a836481e9ecc26e8dee8b0e4d52878a288 Author: Daniel Walker Date: Mon Sep 21 17:04:35 2009 -0700 checkpatch: handle C99 comments correctly (performance issue) This fixes the sanitation process in checkpatch.pl so that it blocks out the text after a C99 style comment the same way it does with block style comments. This prevents the text from getting processed as regular code. Signed-off-by: Daniel Walker Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 463f28648586721c2191130c9b3c27589dcc11a0 Author: Andy Whitcroft Date: Mon Sep 21 17:04:34 2009 -0700 checkpatch: possible types -- else cannot start a type An else cannot start a type, it would have to be within a block after the else. This can trigger false modifier matching. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc0d8d944df0c58cd810f33db82f87dcf5dcc190 Author: David Rientjes Date: Mon Sep 21 17:04:33 2009 -0700 flex_array: add missing kerneldoc annotations Add kerneldoc annotations for function formals of type struct flex_array and gfp_t which are currently lacking. Signed-off-by: David Rientjes Cc: Dave Hansen Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45b588d6e5cc172704bac0c998ce54873b149b22 Author: David Rientjes Date: Mon Sep 21 17:04:33 2009 -0700 flex_array: introduce DEFINE_FLEX_ARRAY FLEX_ARRAY_INIT(element_size, total_nr_elements) cannot determine if either parameter is valid, so flex arrays which are statically allocated with this interface can easily become corrupted or reference beyond its allocated memory. This removes FLEX_ARRAY_INIT() as a struct flex_array initializer since no initializer may perform the required checking. Instead, the array is now defined with a new interface: DEFINE_FLEX_ARRAY(name, element_size, total_nr_elements) This may be prefixed with `static' for file scope. This interface includes compile-time checking of the parameters to ensure they are valid. Since the validity of both element_size and total_nr_elements depend on FLEX_ARRAY_BASE_SIZE and FLEX_ARRAY_PART_SIZE, the kernel build will fail if either of these predefined values changes such that the array parameters are no longer valid. Since BUILD_BUG_ON() requires compile time constants, several of the static inline functions that were once local to lib/flex_array.c had to be moved to include/linux/flex_array.h. Signed-off-by: David Rientjes Acked-by: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4af5a2f770cc8575840ccb1514ec76ecb592985c Author: David Rientjes Date: Mon Sep 21 17:04:31 2009 -0700 flex_array: add flex_array_shrink function Add a new function to the flex_array API: int flex_array_shrink(struct flex_array *fa) This function will free all unused second-level pages. Since elements are now poisoned if they are not allocated with __GFP_ZERO, it's possible to identify parts that consist solely of unused elements. flex_array_shrink() returns the number of pages freed. Signed-off-by: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19da3dd157f8db6fe727ff268dab4791d55a6371 Author: David Rientjes Date: Mon Sep 21 17:04:31 2009 -0700 flex_array: poison free elements Newly initialized flex_array's and/or flex_array_part's are now poisoned with a new poison value, FLEX_ARRAY_FREE. It's value is similar to POISON_FREE used in the various slab allocators, but is different to distinguish between flex array's poisoned kmem and slab allocator poisoned kmem. This will allow us to identify flex_array_part's that only contain free elements (and free them with an addition to the flex_array API). This could also be extended in the future to identify `get' uses on elements that have not been `put'. If __GFP_ZERO is passed for a part's gfp mask, the poisoning is avoided. These elements are considered to be in-use since they have been initialized. Signed-off-by: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6de3988aa52debb25a427d085061f3bf1181d54 Author: David Rientjes Date: Mon Sep 21 17:04:30 2009 -0700 flex_array: add flex_array_clear function Add a new function to the flex_array API: int flex_array_clear(struct flex_array *fa, unsigned int element_nr) This function will zero the element at element_nr in the flex_array. Although this is equivalent to using flex_array_put() and passing a pointer to zero'd memory, flex_array_clear() does not require such a pointer to memory that would most likely need to be allocated on the caller's stack which could be significantly large depending on element_size. Signed-off-by: David Rientjes Cc: Dave Hansen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f30b1f9e1b612cdd1a17daeecf514229e8d6a5f Author: Marcin Slusarz Date: Mon Sep 21 17:04:29 2009 -0700 vsprintf: use WARN_ON_ONCE Signed-off-by: Marcin Slusarz Reviewed-by: Frederic Weisbecker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc03ecb9d674588a13aee27289c2af2afe5e6b4 Author: Joe Perches Date: Mon Sep 21 17:04:27 2009 -0700 MAINTAINERS: move ARM lists to infradead Signed-off-by: Joe Perches Cc: Sebastian Andrzej Siewior Cc: Krzysztof Halasa Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 076cfaaece1c4e57ea7d924f38b911b9a5502365 Author: Joe Perches Date: Mon Sep 21 17:04:26 2009 -0700 MAINTAINERS: integrate P:/M: lines A couple of new uses of separate "P: name" "M: address" lines are converted to single line "M: name
" Signed-off-by: Joe Perches Cc: Anil Ravindranath Cc: Kalle Valo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e04d5a3d57accb0b05d381aa84d93d3749b15e2 Author: Felipe Contreras Date: Mon Sep 21 17:04:25 2009 -0700 MAINTAINERS: omap: fix regex Otherwise 'arch/arm/*omap*/foo.c' wouldn't match Signed-off-by: Felipe Contreras Cc: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43368e74d126f8e874fce2c248f094edfcf0baa6 Author: Felipe Contreras Date: Mon Sep 21 17:04:24 2009 -0700 MAINTAINERS: acpi: add 'include/acpi' Signed-off-by: Felipe Contreras Cc: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b781655a6f6d15bdcc96f2cc1d56b0658f9cf0b4 Author: Joe Perches Date: Mon Sep 21 17:04:24 2009 -0700 scripts/get_maintainer.pl: add maintainers in order listed in matched section Previous behavior was "bottom-up" in each section from the pattern "F:" entry that matched. Now information is entered into the various lists in the "as entered" order for each matched section. This also allows the F: entry to be put anywhere in a section, not just as the last entries in the section. And a couple of improvements: Don't alphabetically sort before outputting the matched scm, status, subsystem and web sections. Ignore content after a single email address so these entries are acceptable M: name
whatever other comment And a fix: Make an M: entry without a name again use the name from an immediately preceding P: line if it exists. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11ecf53c97863a0609db3816d82f1d0ddf3d2bc2 Author: Joe Perches Date: Mon Sep 21 17:04:22 2009 -0700 scripts/get_maintainer.pl: add --remove-duplicates Allow control over the elimination of duplicate email names and addresses --remove-duplicates will use the first email name or address presented --noremove-duplicates will emit all names and addresses --remove-duplicates is enabled by default For instance: $ ./scripts/get_maintainer.pl -f drivers/char/tty_ioctl.c Greg Kroah-Hartman Alan Cox Mike Frysinger Alexey Dobriyan linux-kernel@vger.kernel.org $ ./scripts/get_maintainer.pl -f --noremove-duplicates drivers/char/tty_ioctl.c Greg Kroah-Hartman Alan Cox Alan Cox Alan Cox Mike Frysinger Alexey Dobriyan linux-kernel@vger.kernel.org Using --remove-duplicates could eliminate multiple maintainers that share the same name but not the same email address. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42498316132e89ca2835b977a7cfb32a83e97b35 Author: Joe Perches Date: Mon Sep 21 17:04:21 2009 -0700 scripts/get_maintainer.pl: using --separator implies --nomultiline If a person sets a separator, it's only used if --nomultiline is set. Don't make the command line also include --nomultiline in that case. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8cbb3a77e1a91073fb279a495a11d5093461dfe5 Author: Joe Perches Date: Mon Sep 21 17:04:21 2009 -0700 scripts/get_maintainer.pl: add .mailmap use, shell and email cleanups Add reading and using .mailmap file if it exists Convert address entries in .mailmap to first encountered address Don't terminate shell commands with \n Strip characters found after sign-offs by: name
[stripped] Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e70e83dfd40cac47e1fc3e2f1c7b893ea0cd2f8 Author: Joe Perches Date: Mon Sep 21 17:04:20 2009 -0700 scripts/get_maintainer.pl: better email routines, use perl not shell where possible Added format_email and parse_email routines to reduce inline use. Added email_address_inuse to eliminate multiple maintainer entries for the same email address, the first name encountered is used. Used internal perl equivalents of shell cmd use of grep|cut|sort|uniq Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fb55652b9f754990e286723f209ce3c07c96d69 Author: Joe Perches Date: Mon Sep 21 17:04:17 2009 -0700 scripts/get_maintainer.pl: add --pattern-depth --pattern-depth is used to control how many levels of directory traversal should be performed to find maintainers. default is 0 (all directory levels). For instance: MAINTAINERS currently has multiple M: and F: entries that match net/netfilter/ipvs/ip_vs_app.c IPVS M: Wensong Zhang M: Simon Horman M: Julian Anastasov [...] F: net/netfilter/ipvs/ NETFILTER/IPTABLES/IPCHAINS [...] M: Patrick McHardy [...] F: net/netfilter/ NETWORKING [GENERAL] M: "David S. Miller" [...] F: net/ THE REST M: Linus Torvalds [...] F: */ Using this command will return all of those maintainers: (except Linus unless --git-chief-maintainers is specified) $ ./scripts/get_maintainer.pl --nogit -nol \ -f net/netfilter/ipvs/ip_vs_app.c Julian Anastasov Simon Horman Wensong Zhang Patrick McHardy David S. Miller Adding --pattern-depth=1 will match at the deepest level $ ./scripts/get_maintainer.pl --nogit -nol --pattern-depth=1 \ -f net/netfilter/ipvs/ip_vs_app.c Julian Anastasov Simon Horman Wensong Zhang Adding --pattern-depth=2 will match at the deepest level and 1 higher $ ./scripts/get_maintainer.pl --nogit -nol --pattern-depth=2 \ -f net/netfilter/ipvs/ip_vs_app.c Julian Anastasov Simon Horman Wensong Zhang Patrick McHardy and so on. Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d606b4e0bf8fe45e3f88543dfce83207ae0027d Author: Joe Perches Date: Mon Sep 21 17:04:14 2009 -0700 scripts/get_maintainer.pl: add sections in pattern match depth order Before this change, matched sections were added in the order of appearance in the normally alphabetic section order of the MAINTAINERS file. For instance, finding the maintainer for drivers/scsi/wd7000.c would first find "SCSI SUBSYSTEM", then "WD7000 SCSI SUBSYSTEM", then "THE REST". before patch: $ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c James E.J. Bottomley Miroslav Zagorac linux-scsi@vger.kernel.org linux-kernel@vger.kernel.org get_maintainer.pl now selects matched sections by longest pattern match. Longest is the number of "/"s and any specific file pattern. This changes the example output order of MAINTAINERS to whatever is selected in "WD7000 SUBSYSTEM", then "SCSI SYSTEM", then "THE REST". after patch: $ ./scripts/get_maintainer.pl --nogit -f drivers/scsi/wd7000.c Miroslav Zagorac James E.J. Bottomley linux-scsi@vger.kernel.org linux-kernel@vger.kernel.org Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5492666a3b62344de9026a960c11888160362c9 Author: Joe Perches Date: Mon Sep 21 17:04:13 2009 -0700 scripts/get_maintainer.pl: add --git-blame Julia Lawall suggested that get_maintainers.pl should have the ability to include signatories of commits that are modified by a particular patch. Vegard Nossum did something similar once. http://lkml.org/lkml/2008/5/29/449 The modified script looks the commits for all lines in the patch, and includes the "-by:" signatories for those commits. It uses the same git-min-percent, git-max-maintainers, and git-min-signatures options. git-since is ignored. It can be used independently from the --git default, so ./scripts/get_maintainers.pl --nogit --git-blame or ./scripts/get_maintainers.pl --nogit --git-blame -f is acceptable. If used with -f , all lines/commits for the file are checked. --git-blame can be slow if used with -f --git-blame does not work with -f Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b61d4a71e483fe1aa1c4b170c28d85be77edce4f Author: Hannes Eder Date: Mon Sep 21 17:04:12 2009 -0700 MAINTAINERS: add IPVS include files Signed-off-by: Hannes Eder Cc: Joe Perches Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d04c70754eec6d0fd342a5bc3f684db69cc2226 Author: Roel Kluin Date: Mon Sep 21 17:04:11 2009 -0700 uml: fix order of pud and pmd_free() If pmd_alloc() fails we should only free the prior allocated pud, if pte_alloc_map() fails, we should free pmd as well. Signed-off-by: Roel Kluin Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db4e5cbe2f201c6abd51f7dfe41dbd2589affeba Author: Christoph Hellwig Date: Mon Sep 21 17:04:10 2009 -0700 um: convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 672917dcc781ead7652a8b11b1fba14e38ac15b8 Author: Corrado Zoccolo Date: Mon Sep 21 17:04:09 2009 -0700 cpuidle: menu governor: reduce latency on exit Move the state residency accounting and statistics computation off the hot exit path. On exit, the need to recompute statistics is recorded, and new statistics will be computed when menu_select is called again. The expected effect is to reduce processor wakeup latency from sleep (C-states). We are speaking of few hundreds of cycles reduction out of a several microseconds latency (determined by the hardware transition), so it is difficult to measure. Signed-off-by: Corrado Zoccolo Cc: Venkatesh Pallipadi Cc: Len Brown Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69d25870f20c4b2563304f2b79c5300dd60a067e Author: Arjan van de Ven Date: Mon Sep 21 17:04:08 2009 -0700 cpuidle: fix the menu governor to boost IO performance Fix the menu idle governor which balances power savings, energy efficiency and performance impact. The reason for a reworked governor is that there have been serious performance issues reported with the existing code on Nehalem server systems. To show this I'm sure Andrew wants to see benchmark results: (benchmark is "fio", "no cstates" is using "idle=poll") no cstates current linux new algorithm 1 disk 107 Mb/s 85 Mb/s 105 Mb/s 2 disks 215 Mb/s 123 Mb/s 209 Mb/s 12 disks 590 Mb/s 320 Mb/s 585 Mb/s In various power benchmark measurements, no degredation was found by our measurement&diagnostics team. Obviously a small percentage more power was used in the "fio" benchmark, due to the much higher performance. While it would be a novel idea to describe the new algorithm in this commit message, I cheaped out and described it in comments in the code instead. [changes since first post: spelling fixes from akpm, review feedback, folded menu-tng into menu.c] Signed-off-by: Arjan van de Ven Cc: Venkatesh Pallipadi Cc: Len Brown Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Yanmin Zhang Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45d80eea87c9f8292d2d33173d6866c0ec57238a Author: Christoph Hellwig Date: Mon Sep 21 17:04:07 2009 -0700 m68k: convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ad4c76b7afb71774b846b322ad2ae42f814331a Author: john stultz Date: Mon Sep 21 17:04:05 2009 -0700 m68k: convert to use arch_gettimeoffset() Convert m68k to use GENERIC_TIME via the arch_getoffset() infrastructure, reducing the amount of arch specific code we need to maintain. I've taken my best swing at converting this, but I'm not 100% confident I got it right. My cross-compiler is now out of date (gcc4.2) so I wasn't able to check if it compiled. Any assistance from arch maintainers or testers to get this merged would be great. Signed-off-by: John Stultz Cc: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef187fd799c50e15dbb56a0286c81bf467bd0201 Author: Christoph Hellwig Date: Mon Sep 21 17:04:04 2009 -0700 m32r: convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95ad759c6b0f30ad9aa5efbdbcecb9597238c00f Author: john stultz Date: Mon Sep 21 17:04:04 2009 -0700 m32r: convert to use arch_gettimeoffset() Convert m32r to use GENERIC_TIME via the arch_getoffset() infrastructure, reducing the amount of arch specific code we need to maintain. I also noted that m32r doesn't seem to be taking the xtime write lock before calling do_timer()! That looks like a pretty bad bug to me. If folks agree, let me know and I can move the lock grab to the correct spot. Signed-off-by: John Stultz Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5a6d1739526ed8c383db3dabc232bc15603439a Author: Roel Kluin Date: Mon Sep 21 17:04:03 2009 -0700 m32r: remove redundant tests on unsigned `off' and `max_cpus' are unsigned. When negative they are wrapped and caught by the other test. Signed-off-by: Roel Kluin Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f693665457539e919856149151b7a7e96550d70 Author: Christoph Hellwig Date: Mon Sep 21 17:04:02 2009 -0700 alpha: convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 621731980fe1b19f0a107e17e2af5f8d4411db3e Author: Marcin Slusarz Date: Mon Sep 21 17:04:01 2009 -0700 alpha: use printk_once Signed-off-by: Marcin Slusarz Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27258e448eb301cf89e351df87aa8cb916653bf2 Author: Roel Kluin Date: Mon Sep 21 17:04:01 2009 -0700 arch/alpha/boot/tools/objstrip.c: wrong variable tested after open() The incorrect variable is tested. fd is used for another open() and is already tested. Signed-off-by: Roel Kluin Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f543fa41e78bd366123424a3378f2f4918c0f33 Author: john stultz Date: Mon Sep 21 17:04:00 2009 -0700 alpha: convert to use arch_gettimeoffset() Converts alpha to use GENERIC_TIME via the arch_getoffset() infrastructure, reducing the amount of arch specific code we need to maintain. I suspect the alpha arch could even be further improved to provide and rpcc() based clocksource, but not having the hardware, I don't feel comfortable attempting the more complicated conversion (but I'd be glad to help if anyone else is interested). [akpm@linux-foundation.org: fix build] Signed-off-by: John Stultz Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e0c9e77771e08b171c4abeb073285d8fb03f528 Author: Christoph Hellwig Date: Mon Sep 21 17:03:58 2009 -0700 h8300: convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb8cdec4a984fde123a91250dcc9e0bddf5eafdc Author: Bernd Schmidt Date: Mon Sep 21 17:03:57 2009 -0700 nommu: add support for Memory Protection Units (MPU) Some architectures (like the Blackfin arch) implement some of the "simpler" features that one would expect out of a MMU such as memory protection. In our case, we actually get read/write/exec protection down to the page boundary so processes can't stomp on each other let alone the kernel. There is a performance decrease (which depends greatly on the workload) however as the hardware/software interaction was not optimized at design time. Signed-off-by: Bernd Schmidt Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Acked-by: David Howells Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02e87d1a934c70e3599eb7a29db783806d329e17 Author: Kristoffer Ericson Date: Mon Sep 21 17:03:56 2009 -0700 pcmcia: cleanup/fixup patch for sa1100_jornada_pcmcia driver Clean up the /drivers/pcmcia/sa1100_jornada.c file with respect to formatting. It also changes a build warning into a code comment (since its a pain to watch every build and havent seen any problems with driver in 3.5years). Signed-off-by: Kristoffer Ericson Cc: Dominik Brodowski Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6be4a8c26d0a9bacd811084c468e25863e3d069 Author: Alexey Dobriyan Date: Mon Sep 21 17:03:55 2009 -0700 pcmcia: switch /proc/bus/pccard/drivers to seq_file Signed-off-by: Alexey Dobriyan Cc: Dominik Brodowski Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 470967dc6c38696f853b7f338eb9d743c28a9e11 Author: Roel Kluin Date: Mon Sep 21 17:03:54 2009 -0700 pcmcia: fix read buffer overflow If count > 0 and dev->rlen == dev->rpos and dev->proto == 0 then we read and write dev->rbuf[-1]; Signed-off-by: Roel Kluin Cc: Harald Welte Cc: Dominik Brodowski Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 734f3fa18d460995c8621cf2331b7fba88c977ce Author: Mike Frysinger Date: Mon Sep 21 17:03:53 2009 -0700 pcmcia: yenta: add missing __devexit marking The remove member of the pci_driver yenta_cardbus_driver uses __devexit_p(), so the remove function itself should be marked with __devexit. Even more so considering the probe function is marked with __devinit. Signed-off-by: Mike Frysinger Cc: Daniel Ritz Cc: Dominik Brodowski Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f68e14805085972b4e0b0ab684af37f713b9c262 Author: Michael S. Tsirkin Date: Mon Sep 21 17:03:52 2009 -0700 mm: reduce atomic use on use_mm fast path When the mm being switched to matches the active mm, we don't need to increment and then drop the mm count. In a simple benchmark this happens in about 50% of time. Making that conditional reduces contention on that cacheline on SMP systems. Acked-by: Andrea Arcangeli Signed-off-by: Michael S. Tsirkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d2d827f5ca5e32816194119d5c980c7e04474a6 Author: Michael S. Tsirkin Date: Mon Sep 21 17:03:51 2009 -0700 mm: move use_mm/unuse_mm from aio.c to mm/ Anyone who wants to do copy to/from user from a kernel thread, needs use_mm (like what fs/aio has). Move that into mm/, to make reusing and exporting easier down the line, and make aio use it. Next intended user, besides aio, will be vhost-net. Acked-by: Andrea Arcangeli Signed-off-by: Michael S. Tsirkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 425fbf047cc70bb30dff368a6da02c8c2d229318 Author: Pekka Enberg Date: Mon Sep 21 17:03:50 2009 -0700 shmem: initialize struct shmem_sb_info to zero Fixes the following kmemcheck false positive (the compiler is using a 32-bit mov to load the 16-bit sbinfo->mode in shmem_fill_super): [ 0.337000] Total of 1 processors activated (3088.38 BogoMIPS). [ 0.352000] CPU0 attaching NULL sched-domain. [ 0.360000] WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (9f8020fc) [ 0.361000] a44240820000000041f6998100000000000000000000000000000000ff030000 [ 0.368000] i i i i i i i i i i i i i i i i u u u u i i i i i i i i i i u u [ 0.375000] ^ [ 0.376000] [ 0.377000] Pid: 9, comm: khelper Not tainted (2.6.31-tip #206) P4DC6 [ 0.378000] EIP: 0060:[<810a3a95>] EFLAGS: 00010246 CPU: 0 [ 0.379000] EIP is at shmem_fill_super+0xb5/0x120 [ 0.380000] EAX: 00000000 EBX: 9f845400 ECX: 824042a4 EDX: 8199f641 [ 0.381000] ESI: 9f8020c0 EDI: 9f845400 EBP: 9f81af68 ESP: 81cd6eec [ 0.382000] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 0.383000] CR0: 8005003b CR2: 9f806200 CR3: 01ccd000 CR4: 000006d0 [ 0.384000] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 0.385000] DR6: ffff4ff0 DR7: 00000400 [ 0.386000] [<810c25fc>] get_sb_nodev+0x3c/0x80 [ 0.388000] [<810a3514>] shmem_get_sb+0x14/0x20 [ 0.390000] [<810c207f>] vfs_kern_mount+0x4f/0x120 [ 0.392000] [<81b2849e>] init_tmpfs+0x7e/0xb0 [ 0.394000] [<81b11597>] do_basic_setup+0x17/0x30 [ 0.396000] [<81b11907>] kernel_init+0x57/0xa0 [ 0.398000] [<810039b7>] kernel_thread_helper+0x7/0x10 [ 0.400000] [] 0xffffffff [ 0.402000] khelper used greatest stack depth: 2820 bytes left [ 0.407000] calling init_mmap_min_addr+0x0/0x10 @ 1 [ 0.408000] initcall init_mmap_min_addr+0x0/0x10 returned 0 after 0 usecs Reported-by: Ingo Molnar Analysed-by: Vegard Nossum Signed-off-by: Pekka Enberg Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e17b17f1fc7b2f24383a693d63550d9e1460081 Author: Arnd Bergmann Date: Mon Sep 21 17:03:48 2009 -0700 mm: remove duplicate asm/mman.h files A number of architectures have identical asm/mman.h files so they can all be merged by using the new generic file. The remaining asm/mman.h files are substantially different from each other. Signed-off-by: Arnd Bergmann Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 94bf5ceac095c7d4cb5e4d40fa7e2dd81d722b75 Author: Eric B Munson Date: Mon Sep 21 17:03:48 2009 -0700 hugetlb: add MAP_HUGETLB example Add an example of how to use the MAP_HUGETLB flag to the vm documentation directory and a reference to the example in hugetlbpage.txt. Signed-off-by: Eric B Munson Acked-by: David Rientjes Cc: Mel Gorman Cc: Adam Litke Cc: David Gibson Cc: Lee Schermerhorn Cc: Nick Piggin Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e52780d41a741fb4861ae1df2413dd816ec11b1 Author: Eric B Munson Date: Mon Sep 21 17:03:47 2009 -0700 hugetlb: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions Add a flag for mmap that will be used to request a huge page region that will look like anonymous memory to userspace. This is accomplished by using a file on the internal vfsmount. MAP_HUGETLB is a modifier of MAP_ANONYMOUS and so must be specified with it. The region will behave the same as a MAP_ANONYMOUS region using small pages. [akpm@linux-foundation.org: fix arch definitions of MAP_HUGETLB] Signed-off-by: Eric B Munson Acked-by: David Rientjes Cc: Mel Gorman Cc: Adam Litke Cc: David Gibson Cc: Lee Schermerhorn Cc: Nick Piggin Cc: Hugh Dickins Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90f72aa58bbf076b68e289fbd71eb829bc505923 Author: Arnd Bergmann Date: Mon Sep 21 17:03:45 2009 -0700 mm: add MAP_HUGETLB for mmaping pseudo-anonymous huge page regions Add a flag for mmap that will be used to request a huge page region that will look like anonymous memory to user space. This is accomplished by using a file on the internal vfsmount. MAP_HUGETLB is a modifier of MAP_ANONYMOUS and so must be specified with it. The region will behave the same as a MAP_ANONYMOUS region using small pages. The patch also adds the MAP_STACK flag, which was previously defined only on some architectures but not on others. Since MAP_STACK is meant to be a hint only, architectures can define it without assigning a specific meaning to it. Signed-off-by: Arnd Bergmann Cc: Eric B Munson Cc: Hugh Dickins Cc: David Rientjes Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bfde05bf5c9682e255c6a2c669dc80f91af6296 Author: Eric B Munson Date: Mon Sep 21 17:03:43 2009 -0700 hugetlbfs: allow the creation of files suitable for MAP_PRIVATE on the vfs internal mount This patchset adds a flag to mmap that allows the user to request that an anonymous mapping be backed with huge pages. This mapping will borrow functionality from the huge page shm code to create a file on the kernel internal mount and use it to approximate an anonymous mapping. The MAP_HUGETLB flag is a modifier to MAP_ANONYMOUS and will not work without both flags being preset. A new flag is necessary because there is no other way to hook into huge pages without creating a file on a hugetlbfs mount which wouldn't be MAP_ANONYMOUS. To userspace, this mapping will behave just like an anonymous mapping because the file is not accessible outside of the kernel. This patchset is meant to simplify the programming model. Presently there is a large chunk of boiler platecode, contained in libhugetlbfs, required to create private, hugepage backed mappings. This patch set would allow use of hugepages without linking to libhugetlbfs or having hugetblfs mounted. Unification of the VM code would provide these same benefits, but it has been resisted each time that it has been suggested for several reasons: it would break PAGE_SIZE assumptions across the kernel, it makes page-table abstractions really expensive, and it does not provide any benefit on architectures that do not support huge pages, incurring fast path penalties without providing any benefit on these architectures. This patch: There are two means of creating mappings backed by huge pages: 1. mmap() a file created on hugetlbfs 2. Use shm which creates a file on an internal mount which essentially maps it MAP_SHARED The internal mount is only used for shared mappings but there is very little that stops it being used for private mappings. This patch extends hugetlbfs_file_setup() to deal with the creation of files that will be mapped MAP_PRIVATE on the internal hugetlbfs mount. This extended API is used in a subsequent patch to implement the MAP_HUGETLB mmap() flag. Signed-off-by: Eric Munson Acked-by: David Rientjes Cc: Mel Gorman Cc: Adam Litke Cc: David Gibson Cc: Lee Schermerhorn Cc: Nick Piggin Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8dbf0a7a4c5d98e8b70da9f7f4f6a89f3b7a7bb Author: Huang Shijie Date: Mon Sep 21 17:03:41 2009 -0700 mmap: save some cycles for the shared anonymous mapping shmem_zero_setup() does not change vm_start, pgoff or vm_flags, only some drivers change them (such as /driver/video/bfin-t350mcqb-fb.c). Move these codes to a more proper place to save cycles for shared anonymous mapping. Signed-off-by: Huang Shijie Reviewed-by: Minchan Kim Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 252c5f94d944487e9f50ece7942b0fbf659c5c31 Author: Lee Schermerhorn Date: Mon Sep 21 17:03:40 2009 -0700 mmap: avoid unnecessary anon_vma lock acquisition in vma_adjust() We noticed very erratic behavior [throughput] with the AIM7 shared workload running on recent distro [SLES11] and mainline kernels on an 8-socket, 32-core, 256GB x86_64 platform. On the SLES11 kernel [2.6.27.19+] with Barcelona processors, as we increased the load [10s of thousands of tasks], the throughput would vary between two "plateaus"--one at ~65K jobs per minute and one at ~130K jpm. The simple patch below causes the results to smooth out at the ~130k plateau. But wait, there's more: We do not see this behavior on smaller platforms--e.g., 4 socket/8 core. This could be the result of the larger number of cpus on the larger platform--a scalability issue--or it could be the result of the larger number of interconnect "hops" between some nodes in this platform and how the tasks for a given load end up distributed over the nodes' cpus and memories--a stochastic NUMA effect. The variability in the results are less pronounced [on the same platform] with Shanghai processors and with mainline kernels. With 31-rc6 on Shanghai processors and 288 file systems on 288 fibre attached storage volumes, the curves [jpm vs load] are both quite flat with the patched kernel consistently producing ~3.9% better throughput [~80K jpm vs ~77K jpm] than the unpatched kernel. Profiling indicated that the "slow" runs were incurring high[er] contention on an anon_vma lock in vma_adjust(), apparently called from the sbrk() system call. The patch: A comment in mm/mmap.c:vma_adjust() suggests that we don't really need the anon_vma lock when we're only adjusting the end of a vma, as is the case for brk(). The comment questions whether it's worth while to optimize for this case. Apparently, on the newer, larger x86_64 platforms, with interesting NUMA topologies, it is worth while--especially considering that the patch [if correct!] is quite simple. We can detect this condition--no overlap with next vma--by noting a NULL "importer". The anon_vma pointer will also be NULL in this case, so simply avoid loading vma->anon_vma to avoid the lock. However, we DO need to take the anon_vma lock when we're inserting a vma ['insert' non-NULL] even when we have no overlap [NULL "importer"], so we need to check for 'insert', as well. And Hugh points out that we should also take it when adjusting vm_start (so that rmap.c can rely upon vma_address() while it holds the anon_vma lock). akpm: Zhang Yanmin reprts a 150% throughput improvement with aim7, so it might be -stable material even though thiss isn't a regression: "this issue is not clear on dual socket Nehalem machine (2*4*2 cpu), but is severe on large machine (4*8*2 cpu)" [hugh.dickins@tiscali.co.uk: test vma start too] Signed-off-by: Lee Schermerhorn Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Eric Whitney Tested-by: "Zhang, Yanmin" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f96b79ad96263cc0ece7bb340cddf9b2ddfb1b3 Author: Hugh Dickins Date: Mon Sep 21 17:03:37 2009 -0700 tmpfs: depend on shmem CONFIG_SHMEM off gives you (ramfs masquerading as) tmpfs, even when CONFIG_TMPFS is off: that's a little anomalous, and I'd intended to make more sense of it by removing CONFIG_TMPFS altogether, always enabling its code when CONFIG_SHMEM; but so many defconfigs have CONFIG_SHMEM on CONFIG_TMPFS off that we'd better leave that as is. But there is no point in asking for CONFIG_TMPFS if CONFIG_SHMEM is off: make TMPFS depend on SHMEM, which also prevents TMPFS_POSIX_ACL shmem_acl.o being pointlessly built into the kernel when SHMEM is off. And a selfish change, to prevent the world from being rebuilt when I switch between CONFIG_SHMEM on and off: the only CONFIG_SHMEM in the header files is mm.h shmem_lock() - give that a shmem.c stub instead. Signed-off-by: Hugh Dickins Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdf7b3418ad5a8783efe8f9124023d9b869fec0f Author: Huang Shijie Date: Mon Sep 21 17:03:36 2009 -0700 mmap: remove unnecessary code If (flags & MAP_LOCKED) is true, it means vm_flags has already contained the bit VM_LOCKED which is set by calc_vm_flag_bits(). So there is no need to reset it again, just remove it. Signed-off-by: Huang Shijie Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03f6462a3ae78f36eb1f0ee8b4d5ae2f7859c1d5 Author: Hugh Dickins Date: Mon Sep 21 17:03:35 2009 -0700 mm: move highest_memmap_pfn Move highest_memmap_pfn __read_mostly from page_alloc.c next to zero_pfn __read_mostly in memory.c: to help them share a cacheline, since they're very often tested together in vm_normal_page(). Signed-off-by: Hugh Dickins Cc: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62eede62dafb4a6633eae7ffbeb34c60dba5e7b1 Author: Hugh Dickins Date: Mon Sep 21 17:03:34 2009 -0700 mm: ZERO_PAGE without PTE_SPECIAL Reinstate anonymous use of ZERO_PAGE to all architectures, not just to those which __HAVE_ARCH_PTE_SPECIAL: as suggested by Nick Piggin. Contrary to how I'd imagined it, there's nothing ugly about this, just a zero_pfn test built into one or another block of vm_normal_page(). But the MIPS ZERO_PAGE-of-many-colours case demands is_zero_pfn() and my_zero_pfn() inlines. Reinstate its mremap move_pte() shuffling of ZERO_PAGEs we did from 2.6.17 to 2.6.19? Not unless someone shouts for that: it would have to take vm_flags to weed out some cases. Signed-off-by: Hugh Dickins Cc: Rik van Riel Reviewed-by: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ae77f43b1118a76ea37952d444319c15e002c03 Author: Hugh Dickins Date: Mon Sep 21 17:03:33 2009 -0700 mm: hugetlbfs_pagecache_present Rename hugetlbfs_backed() to hugetlbfs_pagecache_present() and add more comments, as suggested by Mel Gorman. Signed-off-by: Hugh Dickins Cc: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e919717c82c5773ac671816c8392c70d261685f Author: Hugh Dickins Date: Mon Sep 21 17:03:32 2009 -0700 mm: m(un)lock avoid ZERO_PAGE I'm still reluctant to clutter __get_user_pages() with another flag, just to avoid touching ZERO_PAGE count in mlock(); though we can add that later if it shows up as an issue in practice. But when mlocking, we can test page->mapping slightly earlier, to avoid the potentially bouncy rescheduling of lock_page on ZERO_PAGE - mlock didn't lock_page in olden ZERO_PAGE days, so we might have regressed. And when munlocking, it turns out that FOLL_DUMP coincidentally does what's needed to avoid all updates to ZERO_PAGE, so use that here also. Plus add comment suggested by KAMEZAWA Hiroyuki. Signed-off-by: Hugh Dickins Cc: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: Nick Piggin Acked-by: Mel Gorman Cc: Minchan Kim Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58fa879e1e640a1856f736b418984ebeccee1c95 Author: Hugh Dickins Date: Mon Sep 21 17:03:31 2009 -0700 mm: FOLL flags for GUP flags __get_user_pages() has been taking its own GUP flags, then processing them into FOLL flags for follow_page(). Though oddly named, the FOLL flags are more widely used, so pass them to __get_user_pages() now. Sorry, VM flags, VM_FAULT flags and FAULT_FLAGs are still distinct. (The patch to __get_user_pages() looks peculiar, with both gup_flags and foll_flags: the gup_flags remain constant; but as before there's an exceptional case, out of scope of the patch, in which foll_flags per page have FOLL_WRITE masked off.) Signed-off-by: Hugh Dickins Cc: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a13ea5b759645a0779edc6dbfec9abfd83220844 Author: Hugh Dickins Date: Mon Sep 21 17:03:30 2009 -0700 mm: reinstate ZERO_PAGE KAMEZAWA Hiroyuki has observed customers of earlier kernels taking advantage of the ZERO_PAGE: which we stopped do_anonymous_page() from using in 2.6.24. And there were a couple of regression reports on LKML. Following suggestions from Linus, reinstate do_anonymous_page() use of the ZERO_PAGE; but this time avoid dirtying its struct page cacheline with (map)count updates - let vm_normal_page() regard it as abnormal. Use it only on arches which __HAVE_ARCH_PTE_SPECIAL (x86, s390, sh32, most powerpc): that's not essential, but minimizes additional branches (keeping them in the unlikely pte_special case); and incidentally excludes mips (some models of which needed eight colours of ZERO_PAGE to avoid costly exceptions). Don't be fanatical about avoiding ZERO_PAGE updates: get_user_pages() callers won't want to make exceptions for it, so increment its count there. Changes to mlock and migration? happily seems not needed. In most places it's quicker to check pfn than struct page address: prepare a __read_mostly zero_pfn for that. Does get_dump_page() still need its ZERO_PAGE check? probably not, but keep it anyway. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ac0cb5d0e22d5e483f56b2bc12172dec1cf7536 Author: Hugh Dickins Date: Mon Sep 21 17:03:29 2009 -0700 mm: fix anonymous dirtying do_anonymous_page() has been wrong to dirty the pte regardless. If it's not going to mark the pte writable, then it won't help to mark it dirty here, and clogs up memory with pages which will need swap instead of being thrown away. Especially wrong if no overcommit is chosen, and this vma is not yet VM_ACCOUNTed - we could exceed the limit and OOM despite no overcommit. Signed-off-by: Hugh Dickins Cc: Acked-by: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a15efc953b26ad57d7d38b9e6782d57e53b4ab2 Author: Hugh Dickins Date: Mon Sep 21 17:03:27 2009 -0700 mm: follow_hugetlb_page flags follow_hugetlb_page() shouldn't be guessing about the coredump case either: pass the foll_flags down to it, instead of just the write bit. Remove that obscure huge_zeropage_ok() test. The decision is easy, though unlike the non-huge case - here vm_ops->fault is always set. But we know that a fault would serve up zeroes, unless there's already a hugetlbfs pagecache page to back the range. (Alternatively, since hugetlb pages aren't swapped out under pressure, you could save more dump space by arguing that a page not yet faulted into this process cannot be relevant to the dump; but that would be more surprising.) Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e4b9a60718970bbc02dfd3abd0b956ab65af231 Author: Hugh Dickins Date: Mon Sep 21 17:03:26 2009 -0700 mm: FOLL_DUMP replace FOLL_ANON The "FOLL_ANON optimization" and its use_zero_page() test have caused confusion and bugs: why does it test VM_SHARED? for the very good but unsatisfying reason that VMware crashed without. As we look to maybe reinstating anonymous use of the ZERO_PAGE, we need to sort this out. Easily done: it's silly for __get_user_pages() and follow_page() to be guessing whether it's safe to assume that they're being used for a coredump (which can take a shortcut snapshot where other uses must handle a fault) - just tell them with GUP_FLAGS_DUMP and FOLL_DUMP. get_dump_page() doesn't even want a ZERO_PAGE: an error suits fine. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Acked-by: Mel Gorman Reviewed-by: Minchan Kim Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3e8fccd06d27773186a0094371daf2d84c79469 Author: Hugh Dickins Date: Mon Sep 21 17:03:25 2009 -0700 mm: add get_dump_page In preparation for the next patch, add a simple get_dump_page(addr) interface for the CONFIG_ELF_CORE dumpers to use, instead of calling get_user_pages() directly. They're not interested in errors: they just want to use holes as much as possible, to save space and make sure that the data is aligned where the headers said it would be. Oh, and don't use that horrid DUMP_SEEK(off) macro! Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c3aff1ceec2cc86810e2690e67873ff0c505862 Author: Hugh Dickins Date: Mon Sep 21 17:03:24 2009 -0700 mm: remove unused GUP flags GUP_FLAGS_IGNORE_VMA_PERMISSIONS and GUP_FLAGS_IGNORE_SIGKILL were flags added solely to prevent __get_user_pages() from doing some of what it usually does, in the munlock case: we can now remove them. Signed-off-by: Hugh Dickins Acked-by: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 408e82b78bcc9f1b47c76e833c3df97f675947de Author: Hugh Dickins Date: Mon Sep 21 17:03:23 2009 -0700 mm: munlock use follow_page Hiroaki Wakabayashi points out that when mlock() has been interrupted by SIGKILL, the subsequent munlock() takes unnecessarily long because its use of __get_user_pages() insists on faulting in all the pages which mlock() never reached. It's worse than slowness if mlock() is terminated by Out Of Memory kill: the munlock_vma_pages_all() in exit_mmap() insists on faulting in all the pages which mlock() could not find memory for; so innocent bystanders are killed too, and perhaps the system hangs. __get_user_pages() does a lot that's silly for munlock(): so remove the munlock option from __mlock_vma_pages_range(), and use a simple loop of follow_page()s in munlock_vma_pages_range() instead; ignoring absent pages, and not marking present pages as accessed or dirty. (Change munlock() to only go so far as mlock() reached? That does not work out, given the convention that mlock() claims complete success even when it has to give up early - in part so that an underlying file can be extended later, and those pages locked which earlier would give SIGBUS.) Signed-off-by: Hugh Dickins Cc: Acked-by: Rik van Riel Reviewed-by: Minchan Kim Cc: KAMEZAWA Hiroyuki Cc: KOSAKI Motohiro Cc: Nick Piggin Cc: Mel Gorman Reviewed-by: Hiroaki Wakabayashi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d3bc2709114b416cab588c577e02c2470e40a6c Author: Minchan Kim Date: Mon Sep 21 17:03:21 2009 -0700 mm: fix NUMA accounting in numastat.txt In Documentation/numastat.txt, it confused me. For example, there are nodes [0,1] in system. barrios:~$ cat /proc/zoneinfo | egrep 'numa|zone' Node 0, zone DMA numa_hit 33226 numa_miss 1739 numa_foreign 27978 .. .. Node 1, zone DMA numa_hit 307 numa_miss 46900 numa_foreign 0 1) In node 0, NUMA_MISS means it wanted to allocate page in node 1 but ended up with page in node 0 2) In node 0, NUMA_FOREIGN means it wanted to allocate page in node 0 but ended up with page from Node 1. But now, numastat explains it oppositely about (MISS, FOREIGN). Let's fix up with viewpoint of zone. Signed-off-by: Minchan Kim Cc: KAMEZAWA Hiroyuki Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6f9edd65beaef24836e8934c8912c1e974dd45c Author: Mel Gorman Date: Mon Sep 21 17:03:20 2009 -0700 page-allocator: maintain rolling count of pages to free from the PCP When round-robin freeing pages from the PCP lists, empty lists may be encountered. In the event one of the lists has more pages than another, there may be numerous checks for list_empty() which is undesirable. This patch maintains a count of pages to free which is incremented when empty lists are encountered. The intention is that more pages will then be freed from fuller lists than the empty ones reducing the number of empty list checks in the free path. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mel Gorman Cc: Nick Piggin Cc: Christoph Lameter Reviewed-by: Minchan Kim Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f8dcc21211a3d4e3a7a5ca366b469fb88117f61 Author: Mel Gorman Date: Mon Sep 21 17:03:19 2009 -0700 page-allocator: split per-cpu list into one-list-per-migrate-type The following two patches remove searching in the page allocator fast-path by maintaining multiple free-lists in the per-cpu structure. At the time the search was introduced, increasing the per-cpu structures would waste a lot of memory as per-cpu structures were statically allocated at compile-time. This is no longer the case. The patches are as follows. They are based on mmotm-2009-08-27. Patch 1 adds multiple lists to struct per_cpu_pages, one per migratetype that can be stored on the PCP lists. Patch 2 notes that the pcpu drain path check empty lists multiple times. The patch reduces the number of checks by maintaining a count of free lists encountered. Lists containing pages will then free multiple pages in batch The patches were tested with kernbench, netperf udp/tcp, hackbench and sysbench. The netperf tests were not bound to any CPU in particular and were run such that the results should be 99% confidence that the reported results are within 1% of the estimated mean. sysbench was run with a postgres background and read-only tests. Similar to netperf, it was run multiple times so that it's 99% confidence results are within 1%. The patches were tested on x86, x86-64 and ppc64 as x86: Intel Pentium D 3GHz with 8G RAM (no-brand machine) kernbench - No significant difference, variance well within noise netperf-udp - 1.34% to 2.28% gain netperf-tcp - 0.45% to 1.22% gain hackbench - Small variances, very close to noise sysbench - Very small gains x86-64: AMD Phenom 9950 1.3GHz with 8G RAM (no-brand machine) kernbench - No significant difference, variance well within noise netperf-udp - 1.83% to 10.42% gains netperf-tcp - No conclusive until buffer >= PAGE_SIZE 4096 +15.83% 8192 + 0.34% (not significant) 16384 + 1% hackbench - Small gains, very close to noise sysbench - 0.79% to 1.6% gain ppc64: PPC970MP 2.5GHz with 10GB RAM (it's a terrasoft powerstation) kernbench - No significant difference, variance well within noise netperf-udp - 2-3% gain for almost all buffer sizes tested netperf-tcp - losses on small buffers, gains on larger buffers possibly indicates some bad caching effect. hackbench - No significant difference sysbench - 2-4% gain This patch: Currently the per-cpu page allocator searches the PCP list for pages of the correct migrate-type to reduce the possibility of pages being inappropriate placed from a fragmentation perspective. This search is potentially expensive in a fast-path and undesirable. Splitting the per-cpu list into multiple lists increases the size of a per-cpu structure and this was potentially a major problem at the time the search was introduced. These problem has been mitigated as now only the necessary number of structures is allocated for the running system. This patch replaces a list search in the per-cpu allocator with one list per migrate type. The potential snag with this approach is when bulk freeing pages. We round-robin free pages based on migrate type which has little bearing on the cache hotness of the page and potentially checks empty lists repeatedly in the event the majority of PCP pages are of one type. Signed-off-by: Mel Gorman Acked-by: Nick Piggin Cc: Christoph Lameter Cc: Minchan Kim Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d863b89688e5811cd9e5bd0082cb38abe03adf3 Author: KOSAKI Motohiro Date: Mon Sep 21 17:03:16 2009 -0700 oom: fix oom_adjust_write() input sanity check Andrew Morton pointed out oom_adjust_write() has very strange EIO and new line handling. this patch fixes it. Signed-off-by: KOSAKI Motohiro Cc: Paul Menage Cc: David Rientjes Cc: KAMEZAWA Hiroyuki Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c5cd6f3a1721085652da204d454af4f8b92eda2 Author: KOSAKI Motohiro Date: Mon Sep 21 17:03:15 2009 -0700 oom: oom_kill doesn't kill vfork parent (or child) Current oom_kill doesn't only kill the victim process, but also kill all thas shread the same mm. it mean vfork parent will be killed. This is definitely incorrect. another process have another oom_adj. we shouldn't ignore their oom_adj (it might have OOM_DISABLE). following caller hit the minefield. =============================== switch (constraint) { case CONSTRAINT_MEMORY_POLICY: oom_kill_process(current, gfp_mask, order, 0, NULL, "No available memory (MPOL_BIND)"); break; Note: force_sig(SIGKILL) send SIGKILL to all thread in the process. We don't need to care multi thread in here. Signed-off-by: KOSAKI Motohiro Cc: Paul Menage Cc: David Rientjes Cc: KAMEZAWA Hiroyuki Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 495789a51a91cb8c015d8d77fecbac1caf20b186 Author: KOSAKI Motohiro Date: Mon Sep 21 17:03:14 2009 -0700 oom: make oom_score to per-process value oom-killer kills a process, not task. Then oom_score should be calculated as per-process too. it makes consistency more and makes speed up select_bad_process(). Signed-off-by: KOSAKI Motohiro Cc: Paul Menage Cc: David Rientjes Cc: KAMEZAWA Hiroyuki Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28b83c5193e7ab951e402252278f2cc79dc4d298 Author: KOSAKI Motohiro Date: Mon Sep 21 17:03:13 2009 -0700 oom: move oom_adj value from task_struct to signal_struct Currently, OOM logic callflow is here. __out_of_memory() select_bad_process() for each task badness() calculate badness of one task oom_kill_process() search child oom_kill_task() kill target task and mm shared tasks with it example, process-A have two thread, thread-A and thread-B and it have very fat memory and each thread have following oom_adj and oom_score. thread-A: oom_adj = OOM_DISABLE, oom_score = 0 thread-B: oom_adj = 0, oom_score = very-high Then, select_bad_process() select thread-B, but oom_kill_task() refuse kill the task because thread-A have OOM_DISABLE. Thus __out_of_memory() call select_bad_process() again. but select_bad_process() select the same task. It mean kernel fall in livelock. The fact is, select_bad_process() must select killable task. otherwise OOM logic go into livelock. And root cause is, oom_adj shouldn't be per-thread value. it should be per-process value because OOM-killer kill a process, not thread. Thus This patch moves oomkilladj (now more appropriately named oom_adj) from struct task_struct to struct signal_struct. it naturally prevent select_bad_process() choose wrong task. Signed-off-by: KOSAKI Motohiro Cc: Paul Menage Cc: David Rientjes Cc: KAMEZAWA Hiroyuki Cc: Rik van Riel Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f168e1b6390e2d79cf57e48e6ae6d9b0a9e2851a Author: Vincent Li Date: Mon Sep 21 17:03:12 2009 -0700 mm/vmscan: remove page_queue_congested() comment Commit 084f71ae5c(kill page_queue_congested()) removed page_queue_congested(). Remove the page_queue_congested() comment in vmscan pageout() too. Signed-off-by: Vincent Li Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f86296317434b21585e229f6c49a33cb9ebab4d3 Author: Wu Fengguang Date: Mon Sep 21 17:03:11 2009 -0700 mm: do batched scans for mem_cgroup For mem_cgroup, shrink_zone() may call shrink_list() with nr_to_scan=1, in which case shrink_list() _still_ calls isolate_pages() with the much larger SWAP_CLUSTER_MAX. It effectively scales up the inactive list scan rate by up to 32 times. For example, with 16k inactive pages and DEF_PRIORITY=12, (16k >> 12)=4. So when shrink_zone() expects to scan 4 pages in the active/inactive list, the active list will be scanned 4 pages, while the inactive list will be (over) scanned SWAP_CLUSTER_MAX=32 pages in effect. And that could break the balance between the two lists. It can further impact the scan of anon active list, due to the anon active/inactive ratio rebalance logic in balance_pgdat()/shrink_zone(): inactive anon list over scanned => inactive_anon_is_low() == TRUE => shrink_active_list() => active anon list over scanned So the end result may be - anon inactive => over scanned - anon active => over scanned (maybe not as much) - file inactive => over scanned - file active => under scanned (relatively) The accesses to nr_saved_scan are not lock protected and so not 100% accurate, however we can tolerate small errors and the resulted small imbalanced scan rates between zones. Cc: Rik van Riel Reviewed-by: KOSAKI Motohiro Acked-by: Balbir Singh Reviewed-by: Minchan Kim Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a8670a29b5277cbe601f74ab63d2c5211fb3005 Author: Alexey Dobriyan Date: Mon Sep 21 17:03:09 2009 -0700 oom: move oom_killer_enable()/oom_killer_disable to where they belong Signed-off-by: Alexey Dobriyan Acked-by: David Rientjes Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b21767637c3c99890a248fe47ac414e51cf5eb7 Author: Vincent Li Date: Mon Sep 21 17:03:09 2009 -0700 mm/vmscan: rename zone_nr_pages() to zone_nr_lru_pages() The name `zone_nr_pages' can be mis-read as zone's (total) number pages, but it actually returns zone's LRU list number pages. Signed-off-by: Vincent Li Cc: KOSAKI Motohiro Cc: Rik van Riel Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c85f51d222ccdd8c401d77a36b723a89156810d Author: Jan Beulich Date: Mon Sep 21 17:03:07 2009 -0700 mm: also use alloc_large_system_hash() for the PID hash table This is being done by allowing boot time allocations to specify that they may want a sub-page sized amount of memory. Overall this seems more consistent with the other hash table allocations, and allows making two supposedly mm-only variables really mm-only (nr_{kernel,all}_pages). Signed-off-by: Jan Beulich Cc: Ingo Molnar Cc: "Eric W. Biederman" Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c1596efe167322dae87f8390d36f91ce2d7f936 Author: Jan Beulich Date: Mon Sep 21 17:03:06 2009 -0700 mm: don't use alloc_bootmem_low() where not strictly needed Since alloc_bootmem() will never return inaccessible (via virtual addressing) memory anyway, using the ..._low() variant only makes sense when the physical address range of the allocated memory must fulfill further constraints, espacially since on 64-bits (or more generally in all cases where the pools the two variants allocate from are than the full available range. Probably the use in alloc_tce_table() could also be eliminated (based on code inspection of pci-calgary_64.c), but that seems too risky given I know nothing about that hardware and have no way to test it. Signed-off-by: Jan Beulich Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4481374ce88ba8f460c8b89f2572027bd27057d0 Author: Jan Beulich Date: Mon Sep 21 17:03:05 2009 -0700 mm: replace various uses of num_physpages by totalram_pages Sizing of memory allocations shouldn't depend on the number of physical pages found in a system, as that generally includes (perhaps a huge amount of) non-RAM pages. The amount of what actually is usable as storage should instead be used as a basis here. Some of the calculations (i.e. those not intending to use high memory) should likely even use (totalram_pages - totalhigh_pages). Signed-off-by: Jan Beulich Acked-by: Rusty Russell Acked-by: Ingo Molnar Cc: Dave Airlie Cc: Kyle McMartin Cc: Jeremy Fitzhardinge Cc: Pekka Enberg Cc: Hugh Dickins Cc: "David S. Miller" Cc: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4738e1b9cf8f9e28d7de080a5e6ce5d0095ea18f Author: Jan Beulich Date: Mon Sep 21 17:03:03 2009 -0700 memory hotplug: fix updating of num_physpages for hot plugged memory Sizing of memory allocations shouldn't depend on the number of physical pages found in a system, as that generally includes (perhaps a huge amount of) non-RAM pages. The amount of what actually is usable as storage should instead be used as a basis here. In line with that, the memory hotplug code should update num_physpages in a way that it retains its original (post-boot) meaning; in particular, decreasing the value should at best be done with great care - this patch doesn't try to ever decrease this value at all as it doesn't really seem meaningful to do so. Signed-off-by: Jan Beulich Acked-by: Rusty Russell Cc: Yasunori Goto Cc: Badari Pulavarty Cc: Minchan Kim Cc: Mel Gorman Cc: Dave Hansen Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78986a678f6ec3759a01976749f4437d8bf2d6c3 Author: Mel Gorman Date: Mon Sep 21 17:03:02 2009 -0700 page-allocator: limit the number of MIGRATE_RESERVE pageblocks per zone After anti-fragmentation was merged, a bug was reported whereby devices that depended on high-order atomic allocations were failing. The solution was to preserve a property in the buddy allocator which tended to keep the minimum number of free pages in the zone at the lower physical addresses and contiguous. To preserve this property, MIGRATE_RESERVE was introduced and a number of pageblocks at the start of a zone would be marked "reserve", the number of which depended on min_free_kbytes. Anti-fragmentation works by avoiding the mixing of page migratetypes within the same pageblock. One way of helping this is to increase min_free_kbytes because it becomes less like that it will be necessary to place pages of of MIGRATE_RESERVE is unbounded, the free memory is kept there in large contiguous blocks instead of helping anti-fragmentation as much as it should. With the page-allocator tracepoint patches applied, it was found during anti-fragmentation tests that the number of fragmentation-related events were far higher than expected even with min_free_kbytes at higher values. This patch limits the number of MIGRATE_RESERVE blocks that exist per zone to two. For example, with a sufficient min_free_kbytes, 4MB of memory will be kept aside on an x86-64 and remain more or less free and contiguous for the systems uptime. This should be sufficient for devices depending on high-order atomic allocations while helping fragmentation control when min_free_kbytes is tuned appropriately. As side-effect of this patch is that the reserve variable is converted to int as unsigned long was the wrong type to use when ensuring that only the required number of reserve blocks are created. With the patches applied, fragmentation-related events as measured by the page allocator tracepoints were significantly reduced when running some fragmentation stress-tests on systems with min_free_kbytes tuned to a value appropriate for hugepage allocations at runtime. On x86, the events recorded were reduced by 99.8%, on x86-64 by 99.72% and on ppc64 by 99.83%. Signed-off-by: Mel Gorman Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ceddc3a52d783fabbf1ba623601419b9d6337194 Author: Johannes Weiner Date: Mon Sep 21 17:03:00 2009 -0700 mm: document is_page_cache_freeable() Enlighten the reader of this code about what reference count makes a page cache page freeable. Signed-off-by: Johannes Weiner Cc: Christoph Lameter Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edcf4748cd56adcdf0856cc99ef108a4ea3ac7fe Author: Johannes Weiner Date: Mon Sep 21 17:02:59 2009 -0700 mm: return boolean from page_has_private() Make page_has_private() return a true boolean value and remove the double negations from the two callsites using it for arithmetic. Signed-off-by: Johannes Weiner Cc: Christoph Lameter Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c0b13519d1c755d874e82c8fb8a6dcef0ee402c Author: Johannes Weiner Date: Mon Sep 21 17:02:59 2009 -0700 mm: return boolean from page_is_file_cache() page_is_file_cache() has been used for both boolean checks and LRU arithmetic, which was always a bit weird. Now that page_lru_base_type() exists for LRU arithmetic, make page_is_file_cache() a real predicate function and adjust the boolean-using callsites to drop those pesky double negations. Signed-off-by: Johannes Weiner Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 401a8e1c1670085b8177330ca47d4f7c4ac88761 Author: Johannes Weiner Date: Mon Sep 21 17:02:58 2009 -0700 mm: introduce page_lru_base_type() Instead of abusing page_is_file_cache() for LRU list index arithmetic, add another helper with a more appropriate name and convert the non-boolean users of page_is_file_cache() accordingly. This new helper gives the LRU base type a page is supposed to live on, inactive anon or inactive file. [hugh.dickins@tiscali.co.uk: convert del_page_from_lru() also] Signed-off-by: Johannes Weiner Reviewed-by: Rik van Riel Cc: Minchan Kim Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7c46d151cb82856a429709d1227ba1648028232 Author: Johannes Weiner Date: Mon Sep 21 17:02:56 2009 -0700 mm: drop unneeded double negations Remove double negations where the operand is already boolean. Signed-off-by: Johannes Weiner Cc: Mel Gorman Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bba78819548a59a52e60f0b259997bbd011164ae Author: Sage Weil Date: Mon Sep 21 17:02:56 2009 -0700 mm: remove broken 'kzalloc' mempool The kzalloc mempool zeros items when they are initially allocated, but does not rezero used items that are returned to the pool. Consequently mempool_alloc()s may return non-zeroed memory. Since there are/were only two in-tree users for mempool_create_kzalloc_pool(), and 'fixing' this in a way that will re-zero used (but not new) items before first use is non-trivial, just remove it. Signed-off-by: Sage Weil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbba809e96539672f775a3d70102657d05816a5b Author: Sage Weil Date: Mon Sep 21 17:02:55 2009 -0700 md: avoid use of broken kzalloc mempool The kzalloc mempool does not re-zero items that have been used and then returned to the pool. Manually zero the allocated multipath_bh instead. Acked-by: Neil Brown Signed-off-by: Sage Weil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72ff13b7036bc7923e0f2b5f4a724ca260d49aab Author: Jaswinder Singh Rajput Date: Mon Sep 21 17:02:53 2009 -0700 mm: includecheck fix for mm/nommu.c Fix the following 'make includecheck' warning: mm/nommu.c: internal.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: David Howells Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cff397e6b3c5bd67e26946792e81ab064c9acc1f Author: Jaswinder Singh Rajput Date: Mon Sep 21 17:02:53 2009 -0700 mm: includecheck fix for mm/shmem.c Fix the following 'make includecheck' warning: mm/shmem.c: linux/vfs.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ca4532a49be92d7b2766c3244b30fa8bfb0114d Author: Daisuke Nishimura Date: Mon Sep 21 17:02:52 2009 -0700 mm: add_to_swap_cache() does not return -EEXIST After commit 355cfa73 ("mm: modify swap_map and add SWAP_HAS_CACHE flag"), only the context which have set SWAP_HAS_CACHE flag by swapcache_prepare() or get_swap_page() would call add_to_swap_cache(). So add_to_swap_cache() doesn't return -EEXIST any more. Even though it doesn't return -EEXIST, it's not good behavior conceptually to call swapcache_prepare() in the -EEXIST case, because it means clearing SWAP_HAS_CACHE flag while the entry is on swap cache. This patch removes redundant codes and comments from callers of it, and adds VM_BUG_ON() in error path of add_to_swap_cache() and some comments. Signed-off-by: Daisuke Nishimura Reviewed-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31a5639623a487d6db996c8138c9e53fef2e2d91 Author: Daisuke Nishimura Date: Mon Sep 21 17:02:50 2009 -0700 mm: add_to_swap_cache() must not sleep After commit 355cfa73 ("mm: modify swap_map and add SWAP_HAS_CACHE flag"), read_swap_cache_async() will busy-wait while a entry doesn't exist in swap cache but it has SWAP_HAS_CACHE flag. Such entries can exist on add/delete path of swap cache. On add path, add_to_swap_cache() is called soon after SWAP_HAS_CACHE flag is set, and on delete path, swapcache_free() will be called (SWAP_HAS_CACHE flag is cleared) soon after __delete_from_swap_cache() is called. So, the busy-wait works well in most cases. But this mechanism can cause soft lockup if add_to_swap_cache() sleeps and read_swap_cache_async() tries to swap-in the same entry on the same cpu. This patch calls radix_tree_preload() before swapcache_prepare() and divides add_to_swap_cache() into two part: radix_tree_preload() part and radix_tree_insert() part(define it as __add_to_swap_cache()). Signed-off-by: Daisuke Nishimura Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Hugh Dickins Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fbb398f5c78832ee61e0d5ed0793fa8857bd853 Author: Mel Gorman Date: Mon Sep 21 17:02:49 2009 -0700 tracing, documentation: Add a document on the kmem tracepoints Knowing tracepoints exist is not quite the same as knowing what they should be used for. This patch adds a document giving a basic description of the kmem tracepoints and why they might be useful to a performance analyst. Signed-off-by: Mel Gorman Cc: Rik van Riel Reviewed-by: Ingo Molnar Cc: Larry Woodman Cc: Peter Zijlstra Cc: Li Ming Chun Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb72222086260695d71afe60fa105649c1ea9463 Author: Mel Gorman Date: Mon Sep 21 17:02:48 2009 -0700 tracing, documentation: add a document describing how to do some performance analysis with tracepoints The documentation for ftrace, events and tracepoints is pretty extensive. Similarly, the perf PCL tools help files --help are there and the code simple enough to figure out what much of the switches mean. However, pulling the discrete bits and pieces together and translating that into "how do I solve a problem" requires a fair amount of imagination. This patch adds a simple document intended to get someone started on the Signed-off-by: Mel Gorman Cc: Rik van Riel Reviewed-by: Ingo Molnar Cc: Larry Woodman Cc: Peter Zijlstra Cc: Li Ming Chun Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9d05cfc001fef3d6d37651e19ab9227a32b71f5 Author: Mel Gorman Date: Mon Sep 21 17:02:47 2009 -0700 tracing, page-allocator: add a postprocessing script for page-allocator-related ftrace events This patch adds a simple post-processing script for the page-allocator-related trace events. It can be used to give an indication of who the most allocator-intensive processes are and how often the zone lock was taken during the tracing period. Example output looks like Process Pages Pages Pages Pages PCPU PCPU PCPU Fragment Fragment MigType Fragment Fragment Unknown details allocd allocd freed freed pages drains refills Fallback Causing Changed Severe Moderate under lock direct pagevec drain swapper-0 0 0 2 0 0 0 0 0 0 0 0 0 0 Xorg-3770 10603 5952 3685 6978 5996 194 192 0 0 0 0 0 0 modprobe-21397 51 0 0 86 31 1 0 0 0 0 0 0 0 xchat-5370 228 93 0 0 0 0 3 0 0 0 0 0 0 awesome-4317 32 32 0 0 0 0 32 0 0 0 0 0 0 thinkfan-3863 2 0 1 1 0 0 0 0 0 0 0 0 0 hald-addon-stor-3935 2 0 0 0 0 0 0 0 0 0 0 0 0 akregator-4506 1 1 0 0 0 0 1 0 0 0 0 0 0 xmms-14888 0 0 1 0 0 0 0 0 0 0 0 0 0 khelper-12 1 0 0 0 0 0 0 0 0 0 0 0 0 Optionally, the output can include information on the parent or aggregate based on process name instead of aggregating based on each pid. Example output including parent information and stripped out the PID looks something like; Process Pages Pages Pages Pages PCPU PCPU PCPU Fragment Fragment MigType Fragment Fragment Unknown details allocd allocd freed freed pages drains refills Fallback Causing Changed Severe Moderate under lock direct pagevec drain gdm-3756 :: Xorg-3770 3796 2976 99 3813 3224 104 98 0 0 0 0 0 0 init-1 :: hald-3892 1 0 0 0 0 0 0 0 0 0 0 0 0 git-21447 :: editor-21448 4 0 4 0 0 0 0 0 0 0 0 0 0 This says that Xorg allocated 3796 pages and it's parent process is gdm with a PID of 3756; The postprocessor parses the text output of tracing. While there is a binary format, the expectation is that the binary output can be readily translated into text and post-processed offline. Obviously if the text format changes, the parser will break but the regular expression parser is fairly rudimentary so should be readily adjustable. Signed-off-by: Mel Gorman Cc: Rik van Riel Reviewed-by: Ingo Molnar Cc: Larry Woodman Cc: Peter Zijlstra Cc: Li Ming Chun Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d3d062a6e289e065bd0aa537a6806a1806bf8aa Author: Mel Gorman Date: Mon Sep 21 17:02:44 2009 -0700 tracing, page-allocator: add trace event for page traffic related to the buddy lists The page allocation trace event reports that a page was successfully allocated but it does not specify where it came from. When analysing performance, it can be important to distinguish between pages coming from the per-cpu allocator and pages coming from the buddy lists as the latter requires the zone lock to the taken and more data structures to be examined. This patch adds a trace event for __rmqueue reporting when a page is being allocated from the buddy lists. It distinguishes between being called to refill the per-cpu lists or whether it is a high-order allocation. Similarly, this patch adds an event to catch when the PCP lists are being drained a little and pages are going back to the buddy lists. This is trickier to draw conclusions from but high activity on those events could explain why there were a large number of cache misses on a page-allocator-intensive workload. The coalescing and splitting of buddies involves a lot of writing of page metadata and cache line bounces not to mention the acquisition of an interrupt-safe lock necessary to enter this path. [akpm@linux-foundation.org: fix build] Signed-off-by: Mel Gorman Acked-by: Rik van Riel Reviewed-by: Ingo Molnar Cc: Larry Woodman Cc: Peter Zijlstra Cc: Li Ming Chun Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0fff1bd12469c45dab088e353d8882761387bb6 Author: Mel Gorman Date: Mon Sep 21 17:02:42 2009 -0700 tracing, page-allocator: add trace events for anti-fragmentation falling back to other migratetypes Fragmentation avoidance depends on being able to use free pages from lists of the appropriate migrate type. In the event this is not possible, __rmqueue_fallback() selects a different list and in some circumstances change the migratetype of the pageblock. Simplistically, the more times this event occurs, the more likely that fragmentation will be a problem later for hugepage allocation at least but there are other considerations such as the order of page being split to satisfy the allocation. This patch adds a trace event for __rmqueue_fallback() that reports what page is being used for the fallback, the orders of relevant pages, the desired migratetype and the migratetype of the lists being used, whether the pageblock changed type and whether this event is important with respect to fragmentation avoidance or not. This information can be used to help analyse fragmentation avoidance and help decide whether min_free_kbytes should be increased or not. Signed-off-by: Mel Gorman Acked-by: Rik van Riel Reviewed-by: Ingo Molnar Cc: Larry Woodman Cc: Peter Zijlstra Cc: Li Ming Chun Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b4f278c030aa4b6ee0915f396e9a9478d92d610 Author: Mel Gorman Date: Mon Sep 21 17:02:41 2009 -0700 tracing, page-allocator: add trace events for page allocation and page freeing This patch adds trace events for the allocation and freeing of pages, including the freeing of pagevecs. Using the events, it will be known what struct page and pfns are being allocated and freed and what the call site was in many cases. The page alloc tracepoints be used as an indicator as to whether the workload was heavily dependant on the page allocator or not. You can make a guess based on vmstat but you can't get a per-process breakdown. Depending on the call path, the call_site for page allocation may be __get_free_pages() instead of a useful callsite. Instead of passing down a return address similar to slab debugging, the user should enable the stacktrace and seg-addr options to get a proper stack trace. The pagevec free tracepoint has a different usecase. It can be used to get a idea of how many pages are being dumped off the LRU and whether it is kswapd doing the work or a process doing direct reclaim. Signed-off-by: Mel Gorman Acked-by: Rik van Riel Reviewed-by: Ingo Molnar Cc: Larry Woodman Cc: Peter Zijlstra Cc: Li Ming Chun Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38a398572fa2d8124f7479e40db581b5b72719c9 Author: Mel Gorman Date: Mon Sep 21 17:02:39 2009 -0700 page-allocator: remove dead function free_cold_page() The function free_cold_page() has no callers so delete it. Signed-off-by: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc013a88906bad9d2832d6316de1c7dbc1c2a794 Author: Geert Uytterhoeven Date: Mon Sep 21 17:02:36 2009 -0700 arches: drop superfluous casts in nr_free_pages() callers Commit 96177299416dbccb73b54e6b344260154a445375 ("Drop free_pages()") modified nr_free_pages() to return 'unsigned long' instead of 'unsigned int'. This made the casts to 'unsigned long' in most callers superfluous, so remove them. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Geert Uytterhoeven Reviewed-by: Christoph Lameter Acked-by: Ingo Molnar Acked-by: Russell King Acked-by: David S. Miller Acked-by: Kyle McMartin Acked-by: WANG Cong Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Haavard Skinnemoen Cc: Mikael Starvik Cc: "Luck, Tony" Cc: Hirokazu Takata Cc: Ralf Baechle Cc: David Howells Acked-by: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Chris Zankel Cc: Michal Simek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73d7c33e81aed92ac185950a20407c1a2ea65a83 Author: KAMEZAWA Hiroyuki Date: Mon Sep 21 17:02:35 2009 -0700 kcore: /proc/kcore should use vread /proc/kcore has its own routine to access vmallc area. It can be replaced with vread(). And by this, /proc/kcore can do safe access to vmalloc area. Signed-off-by: KAMEZAWA Hiroyuki Cc: WANG Cong Cc: Mike Smith Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0107eb07320b5d37c0f8a9f015534caebb28a48 Author: KAMEZAWA Hiroyuki Date: Mon Sep 21 17:02:34 2009 -0700 kcore: fix vread/vwrite to be aware of holes vread/vwrite access vmalloc area without checking there is a page or not. In most case, this works well. In old ages, the caller of get_vm_ara() is only IOREMAP and there is no memory hole within vm_struct's [addr...addr + size - PAGE_SIZE] ( -PAGE_SIZE is for a guard page.) After per-cpu-alloc patch, it uses get_vm_area() for reserve continuous virtual address but remap _later_. There tend to be a hole in valid vmalloc area in vm_struct lists. Then, skip the hole (not mapped page) is necessary. This patch updates vread/vwrite() for avoiding memory hole. Routines which access vmalloc area without knowing for which addr is used are - /proc/kcore - /dev/kmem kcore checks IOREMAP, /dev/kmem doesn't. After this patch, IOREMAP is checked and /dev/kmem will avoid to read/write it. Fixes to /proc/kcore will be in the next patch in series. Signed-off-by: KAMEZAWA Hiroyuki Cc: WANG Cong Cc: Mike Smith Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd32c279983bf77fdcc8a9aa4a05b0ffdc75859c Author: KAMEZAWA Hiroyuki Date: Mon Sep 21 17:02:32 2009 -0700 vmalloc: unmap vmalloc area after hiding it vmap area should be purged after vm_struct is removed from the list because vread/vwrite etc...believes the range is valid while it's on vm_struct list. Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: WANG Cong Cc: Mike Smith Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f66a68f3fac2e94da360c342ff78ab45553f86c Author: Mel Gorman Date: Mon Sep 21 17:02:31 2009 -0700 page-allocator: change migratetype for all pageblocks within a high-order page during __rmqueue_fallback When there are no pages of a target migratetype free, the page allocator selects a high-order block of another migratetype to allocate from. When the order of the page taken is greater than pageblock_order, all pageblocks within that high-order page should change migratetype so that pages are later freed to the correct free-lists. The current behaviour is that pageblocks change migratetype if the order being split matches the pageblock_order. When pageblock_order < MAX_ORDER-1, ownership is not changing correct and pages are being later freed to the incorrect list and this impacts fragmentation avoidance. This patch changes all pageblocks within the high-order page being split to the correct migratetype. Without the patch, allocation success rates for hugepages under stress were about 59% of physical memory on x86-64. With the patch applied, this goes up to 65%. Signed-off-by: Mel Gorman Cc: Andy Whitcroft Cc: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe1ff49d0d1c30254dbfc84c3786eb538e0cc7d1 Author: Benjamin Herrenschmidt Date: Mon Sep 21 17:02:30 2009 -0700 mm: kmem_cache_create(): make it easier to catch NULL cache names Right now, if you inadvertently pass NULL to kmem_cache_create() at boot time, it crashes much later after boot somewhere deep inside sysfs which makes it very non obvious to figure out what's going on. Signed-off-by: Benjamin Herrenschmidt Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 398499d5f3613c47f2143b8c54a04efb5d7a6da9 Author: Moussa A. Ba Date: Mon Sep 21 17:02:29 2009 -0700 pagemap clear_refs: modify to specify anon or mapped vma clearing The patch makes the clear_refs more versatile in adding the option to select anonymous pages or file backed pages for clearing. This addition has a measurable impact on user space application performance as it decreases the number of pagewalks in scenarios where one is only interested in a specific type of page (anonymous or file mapped). The patch adds anonymous and file backed filters to the clear_refs interface. echo 1 > /proc/PID/clear_refs resets the bits on all pages echo 2 > /proc/PID/clear_refs resets the bits on anonymous pages only echo 3 > /proc/PID/clear_refs resets the bits on file backed pages only Any other value is ignored Signed-off-by: Moussa A. Ba Signed-off-by: Jared E. Hulbert Acked-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7103ad323b1ae32bedc3267402117e2f8b45e48d Author: Hugh Dickins Date: Mon Sep 21 17:02:28 2009 -0700 ksm: mremap use err from ksm_madvise mremap move's use of ksm_madvise() was assuming -ENOMEM on failure, because ksm_madvise used to say -EAGAIN for that; but ksm_madvise now says -ENOMEM (letting madvise convert that to -EAGAIN), and can also say -ERESTARTSYS when signalled: so pass the error from ksm_madvise. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35451beecbd7c86ce3249d543594517a5fe9a0cd Author: Hugh Dickins Date: Mon Sep 21 17:02:27 2009 -0700 ksm: unmerge is an origin of OOMs Just as the swapoff system call allocates many pages of RAM to various processes, perhaps triggering OOM, so "echo 2 >/sys/kernel/mm/ksm/run" (unmerge) is liable to allocate many pages of RAM to various processes, perhaps triggering OOM; and each is normally run from a modest admin process (swapoff or shell), easily repeated until it succeeds. So treat unmerge_and_remove_all_rmap_items() in the same way that we treat try_to_unuse(): generalize PF_SWAPOFF to PF_OOM_ORIGIN, and bracket both with that, to ask the OOM killer to kill them first, to prevent them from spawning more and more OOM kills. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a913e182ab9484308e870af37a14d372742d53b0 Author: Hugh Dickins Date: Mon Sep 21 17:02:26 2009 -0700 ksm: clean up obsolete references A few cleanups, given the munlock fix: the comment on ksm_test_exit() no longer applies, and it can be made private to ksm.c; there's no more reference to mmu_gather or tlb.h, and mmap.c doesn't need ksm.h. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8314c4f24a0a5c9b1f7544e9fa83a1d5367ddaa7 Author: Hugh Dickins Date: Mon Sep 21 17:02:25 2009 -0700 ksm: remove VM_MERGEABLE_FLAGS KSM originally stood for Kernel Shared Memory: but the kernel has long supported shared memory, and VM_SHARED and VM_MAYSHARE vmas, and KSM is something else. So we switched to saying "merge" instead of "share". But Chris Wright points out that this is confusing where mmap.c merges adjacent vmas: most especially in the name VM_MERGEABLE_FLAGS, used by is_mergeable_vma() to let vmas be merged despite flags being different. Call it VMA_MERGE_DESPITE_FLAGS? Perhaps, but at present it consists only of VM_CAN_NONLINEAR: so for now it's clearer on all sides to use that directly, with a comment on it in is_mergeable_vma(). Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7701c9c0f54feb682d0cefa2ae1f4a1e00e0ba09 Author: Hugh Dickins Date: Mon Sep 21 17:02:24 2009 -0700 ksm: add some documentation Add Documentation/vm/ksm.txt: how to use the Kernel Samepage Merging feature Signed-off-by: Hugh Dickins Cc: Michael Kerrisk Cc: Randy Dunlap Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ffd8679c8e4ec226718bff58b50b226dd477015 Author: Hugh Dickins Date: Mon Sep 21 17:02:23 2009 -0700 ksm: sysfs and defaults At present KSM is just a waste of space if you don't have CONFIG_SYSFS=y to provide the /sys/kernel/mm/ksm files to tune and activate it. Make KSM depend on SYSFS? Could do, but it might be better to provide some defaults so that KSM works out-of-the-box, ready for testers to madvise MADV_MERGEABLE, even without SYSFS. Though anyone serious is likely to want to retune the numbers to their taste once they have experience; and whether these settings ever reach 2.6.32 can be discussed along the way. Save 1kB from tiny kernels by #ifdef'ing the SYSFS side of it. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c2fb7a4c2ca7a958b02bc1e615d0254990bba8d Author: Andrea Arcangeli Date: Mon Sep 21 17:02:22 2009 -0700 ksm: fix deadlock with munlock in exit_mmap Rawhide users have reported hang at startup when cryptsetup is run: the same problem can be simply reproduced by running a program int main() { mlockall(MCL_CURRENT | MCL_FUTURE); return 0; } The problem is that exit_mmap() applies munlock_vma_pages_all() to clean up VM_LOCKED areas, and its current implementation (stupidly) tries to fault in absent pages, for example where PROT_NONE prevented them being faulted in when mlocking. Whereas the "ksm: fix oom deadlock" patch, knowing there's a race by which KSM might try to fault in pages after exit_mmap() had finally zapped the range, backs out of such faults doing nothing when its ksm_test_exit() notices mm_users 0. So revert that part of "ksm: fix oom deadlock" which moved the ksm_exit() call from before exit_mmap() to the middle of exit_mmap(); and remove those ksm_test_exit() checks from the page fault paths, so allowing the munlocking to proceed without interference. ksm_exit, if there are rmap_items still chained on this mm slot, takes mmap_sem write side: so preventing KSM from working on an mm while exit_mmap runs. And KSM will bail out as soon as it notices that mm_users is already zero, thanks to its internal ksm_test_exit checks. So that when a task is killed by OOM killer or the user, KSM will not indefinitely prevent it from running exit_mmap to release its memory. This does break a part of what "ksm: fix oom deadlock" was trying to achieve. When unmerging KSM (echo 2 >/sys/kernel/mm/ksm), and even when ksmd itself has to cancel a KSM page, it is possible that the first OOM-kill victim would be the KSM process being faulted: then its memory won't be freed until a second victim has been selected (freeing memory for the unmerging fault to complete). But the OOM killer is already liable to kill a second victim once the intended victim's p->mm goes to NULL: so there's not much point in rejecting this KSM patch before fixing that OOM behaviour. It is very much more important to allow KSM users to boot up, than to haggle over an unlikely and poorly supported OOM case. We also intend to fix munlocking to not fault pages: at which point this patch _could_ be reverted; though that would be controversial, so we hope to find a better solution. Signed-off-by: Andrea Arcangeli Acked-by: Justin M. Forbes Acked-for-now-by: Hugh Dickins Cc: Izik Eidus Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ba6929480088a85c1ff60a4b1f1c9fc80dbd2b7 Author: Hugh Dickins Date: Mon Sep 21 17:02:20 2009 -0700 ksm: fix oom deadlock There's a now-obvious deadlock in KSM's out-of-memory handling: imagine ksmd or KSM_RUN_UNMERGE handling, holding ksm_thread_mutex, trying to allocate a page to break KSM in an mm which becomes the OOM victim (quite likely in the unmerge case): it's killed and goes to exit, and hangs there waiting to acquire ksm_thread_mutex. Clearly we must not require ksm_thread_mutex in __ksm_exit, simple though that made everything else: perhaps use mmap_sem somehow? And part of the answer lies in the comments on unmerge_ksm_pages: __ksm_exit should also leave all the rmap_item removal to ksmd. But there's a fundamental problem, that KSM relies upon mmap_sem to guarantee the consistency of the mm it's dealing with, yet exit_mmap tears down an mm without taking mmap_sem. And bumping mm_users won't help at all, that just ensures that the pages the OOM killer assumes are on their way to being freed will not be freed. The best answer seems to be, to move the ksm_exit callout from just before exit_mmap, to the middle of exit_mmap: after the mm's pages have been freed (if the mmu_gather is flushed), but before its page tables and vma structures have been freed; and down_write,up_write mmap_sem there to serialize with KSM's own reliance on mmap_sem. But KSM then needs to be careful, whenever it downs mmap_sem, to check that the mm is not already exiting: there's a danger of using find_vma on a layout that's being torn apart, or writing into page tables which have been freed for reuse; and even do_anonymous_page and __do_fault need to check they're not being called by break_ksm to reinstate a pte after zap_pte_range has zapped that page table. Though it might be clearer to add an exiting flag, set while holding mmap_sem in __ksm_exit, that wouldn't cover the issue of reinstating a zapped pte. All we need is to check whether mm_users is 0 - but must remember that ksmd may detect that before __ksm_exit is reached. So, ksm_test_exit(mm) added to comment such checks on mm->mm_users. __ksm_exit now has to leave clearing up the rmap_items to ksmd, that needs ksm_thread_mutex; but shift the exiting mm just after the ksm_scan cursor so that it will soon be dealt with. __ksm_enter raise mm_count to hold the mm_struct, ksmd's exit processing (exactly like its processing when it finds all VM_MERGEABLEs unmapped) mmdrop it, similar procedure for KSM_RUN_UNMERGE (which has stopped ksmd). But also give __ksm_exit a fast path: when there's no complication (no rmap_items attached to mm and it's not at the ksm_scan cursor), it can safely do all the exiting work itself. This is not just an optimization: when ksmd is not running, the raised mm_count would otherwise leak mm_structs. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd551f97519d35855be5a8720a47cc802ee4fd06 Author: Hugh Dickins Date: Mon Sep 21 17:02:17 2009 -0700 ksm: distribute remove_mm_from_lists Do some housekeeping in ksm.c, to help make the next patch easier to understand: remove the function remove_mm_from_lists, distributing its code to its callsites scan_get_next_rmap_item and __ksm_exit. That turns out to be a win in scan_get_next_rmap_item: move its remove_trailing_rmap_items and cursor advancement up, and it becomes simpler than before. __ksm_exit becomes messier, but will change again; and moving its remove_trailing_rmap_items up lets us strengthen the unstable tree item's age condition in remove_rmap_item_from_tree. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d952b79136a6c32a3f97e0628ca78340f1d5c6f9 Author: Hugh Dickins Date: Mon Sep 21 17:02:16 2009 -0700 ksm: fix endless loop on oom break_ksm has been looping endlessly ignoring VM_FAULT_OOM: that should only be a problem for ksmd when a memory control group imposes limits (normally the OOM killer will kill others with an mm until it succeeds); but in general (especially for MADV_UNMERGEABLE and KSM_RUN_UNMERGE) we do need to route the error (or kill) back to the caller (or sighandling). Test signal_pending in unmerge_ksm_pages, which could be a lengthy procedure if it has to spill into swap: returning -ERESTARTSYS so that trivial signals will restart but fatals will terminate (is that right? we do different things in different places in mm, none exactly this). unmerge_and_remove_all_rmap_items was forgetting to lock when going down the mm_list: fix that. Whether it's successful or not, reset ksm_scan cursor to head; but only if it's successful, reset seqnr (shown in full_scans) - page counts will have gone down to zero. This patch leaves a significant OOM deadlock, but it's a good step on the way, and that deadlock is fixed in a subsequent patch. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81464e30609cdbd3d96d8dd6991e7481195a89a1 Author: Hugh Dickins Date: Mon Sep 21 17:02:15 2009 -0700 ksm: five little cleanups 1. We don't use __break_cow entry point now: merge it into break_cow. 2. remove_all_slot_rmap_items is just a special case of remove_trailing_rmap_items: use the latter instead. 3. Extend comment on unmerge_ksm_pages and rmap_items. 4. try_to_merge_two_pages should use try_to_merge_with_ksm_page instead of duplicating its code; and so swap them around. 5. Comment on cmp_and_merge_page described last year's: update it. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e15838425ac855982f10419558649954a0684a3 Author: Hugh Dickins Date: Mon Sep 21 17:02:14 2009 -0700 ksm: keep quiet while list empty ksm_scan_thread already sleeps in wait_event_interruptible until setting ksm_run activates it; but if there's nothing on its list to look at, i.e. nobody has yet said madvise MADV_MERGEABLE, it's a shame to be clocking up system time and full_scans: ksmd_should_run added to check that too. And move the mutex_lock out around it: the new counts showed that when ksm_run is stopped, a little work often got done afterwards, because it had been read before taking the mutex. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26465d3ea5a62d59efb3796b9e0e2b0656d02cb1 Author: Hugh Dickins Date: Mon Sep 21 17:02:12 2009 -0700 ksm: break cow once unshared We kept agreeing not to bother about the unswappable shared KSM pages which later become unshared by others: observation suggests they're not a significant proportion. But they are disadvantageous, and it is easier to break COW to replace them by swappable pages, than offer statistics to show that they don't matter; then we can stop worrying about them. Doing this in ksm_do_scan, they don't go through cmp_and_merge_page on this pass: give them a good chance of getting into the unstable tree on the next pass, or back into the stable, by computing checksum now. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 473b0ce4d13ee77925a7062e25dea0d16a91f654 Author: Hugh Dickins Date: Mon Sep 21 17:02:11 2009 -0700 ksm: pages_unshared and pages_volatile The pages_shared and pages_sharing counts give a good picture of how successful KSM is at sharing; but no clue to how much wasted work it's doing to get there. Add pages_unshared (count of unique pages waiting in the unstable tree, hoping to find a mate) and pages_volatile. pages_volatile is harder to define. It includes those pages changing too fast to get into the unstable tree, but also whatever other edge conditions prevent a page getting into the trees: a high value may deserve investigation. Don't try to calculate it from the various conditions: it's the total of rmap_items less those accounted for. Also show full_scans: the number of completed scans of everything registered in the mm list. The locking for all these counts is simply ksm_thread_mutex. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Acked-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e178dfde3952192cf44eeb0612882f01fc96c0a9 Author: Hugh Dickins Date: Mon Sep 21 17:02:10 2009 -0700 ksm: move pages_sharing updates The pages_shared count is incremented and decremented when adding a node to and removing a node from the stable tree: easy to understand. But the pages_sharing count was hard to follow, being adjusted in various places: increment and decrement it when adding to and removing from the stable tree. And the pages_sharing variable used to include the pages_shared, then those were subtracted when shown in the pages_sharing sysfs file: now keep it as an exclusive count of leaves hanging off the stable tree nodes, throughout. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Acked-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4028260334e1ecf63fb5e0a95d65bb2db02c1ec Author: Hugh Dickins Date: Mon Sep 21 17:02:09 2009 -0700 ksm: rename kernel_pages_allocated We're not implementing swapping of KSM pages in its first release; but when that follows, "kernel_pages_allocated" will be a very poor name for the sysfs file showing number of nodes in the stable tree: rename that to "pages_shared" throughout. But we already have a "pages_shared", counting those page slots sharing the shared pages: first rename that to... "pages_sharing". What will become of "max_kernel_pages" when the pages shared can be swapped? I guess it will just be removed, so keep that name. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Acked-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 339aa62469f65daf38a01d6c098b5f3ff8016653 Author: Izik Eidus Date: Mon Sep 21 17:02:07 2009 -0700 ksm: change ksm nice level to be 5 ksm should try not to disturb other tasks as much as possible. Signed-off-by: Izik Eidus Cc: Chris Wright Cc: Hugh Dickins Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36b2528dc1819dc783f69917ac20e66a678b3479 Author: Izik Eidus Date: Mon Sep 21 17:02:06 2009 -0700 ksm: change copyright message Adding Hugh Dickins into the authors list. Signed-off-by: Izik Eidus Cc: Chris Wright Cc: Hugh Dickins Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ff829957316670af64be24192ef849e7253a509 Author: Hugh Dickins Date: Mon Sep 21 17:02:05 2009 -0700 ksm: prevent mremap move poisoning KSM's scan allows for user pages to be COWed or unmapped at any time, without requiring any notification. But its stable tree does assume that when it finds a KSM page where it placed a KSM page, then it is the same KSM page that it placed there. mremap move could break that assumption: if an area containing a KSM page was unmapped, then an area containing a different KSM page was moved with mremap into the place of the original, before KSM's scan came around to notice. That could then poison a node of the stable tree, so that memcmps would "lie" and upset the ordering of the tree. Probably noone will ever need mremap move on a VM_MERGEABLE area; except that prohibiting it would make trouble for schemes in which we try making everything VM_MERGEABLE e.g. for testing: an mremap which normally works would then fail mysteriously. There's no need to go to any trouble, such as re-sorting KSM's list of rmap_items to match the new layout: simply unmerge the area to COW all its KSM pages before moving, but leave VM_MERGEABLE on so that they're remerged later. Signed-off-by: Hugh Dickins Signed-off-by: Chris Wright Signed-off-by: Izik Eidus Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31dbd01f314364b70c2e026a5793a29a4da8a9dc Author: Izik Eidus Date: Mon Sep 21 17:02:03 2009 -0700 ksm: Kernel SamePage Merging Ksm is code that allows merging of identical pages between one or more applications, in a way invisible to the applications that use it. Pages that are merged are marked as read-only, then COWed when any application tries to change them. Whereas fork() allows sharing anonymous pages between parent and child, ksm can share anonymous pages between unrelated processes. Ksm works by walking over the memory pages of the applications it scans, in order to find identical pages. It uses two sorted data structures, called the stable and unstable trees, to locate identical pages in an effective way. When ksm finds two identical pages, it marks them as readonly and merges them into a single page. After the pages have been marked as readonly and merged into one, Linux treats them as normal copy-on-write pages, copying to a fresh anonymous page if write access is required later. Ksm scans and merges anonymous pages only in those memory areas that have been registered with it by madvise(addr, length, MADV_MERGEABLE). The ksm scanner is controlled by sysfs files in /sys/kernel/mm/ksm/: max_kernel_pages - the maximum number of unswappable kernel pages which may be allocated by ksm (0 for unlimited). kernel_pages_allocated - how many ksm pages are currently allocated, sharing identical content between different processes (pages unswappable in this release). pages_shared - how many pages have been saved by sharing with ksm pages (kernel_pages_allocated being excluded from this count). pages_to_scan - how many pages ksm should scan before sleeping. sleep_millisecs - how many milliseconds ksm should sleep between scans. run - write 0 to disable ksm, read 0 while ksm is disabled (default), write 1 to run ksm, read 1 while ksm is running, write 2 to disable ksm and unmerge all its pages. Includes contributions by Andrea Arcangeli Chris Wright and Hugh Dickins. [hugh.dickins@tiscali.co.uk: fix rare page leak] Signed-off-by: Izik Eidus Signed-off-by: Hugh Dickins Signed-off-by: Chris Wright Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a840895147b12de5cdd633c600b38686840ee53 Author: Hugh Dickins Date: Mon Sep 21 17:02:01 2009 -0700 ksm: identify PageKsm pages KSM will need to identify its kernel merged pages unambiguously, and /proc/kpageflags will probably like to do so too. Since KSM will only be substituting anonymous pages, statistics are best preserved by making a PageKsm page a special PageAnon page: one with no anon_vma. But KSM then needs its own page_add_ksm_rmap() - keep it in ksm.h near PageKsm; and do_wp_page() must COW them, unlike singly mapped PageAnons. Signed-off-by: Hugh Dickins Signed-off-by: Chris Wright Signed-off-by: Izik Eidus Cc: Wu Fengguang Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21333b2b66b805a360641568588e5a0bb06d9d1f Author: Hugh Dickins Date: Mon Sep 21 17:01:59 2009 -0700 ksm: no debug in page_dup_rmap() page_dup_rmap(), used on each mapped page when forking, was originally just an inline atomic_inc of mapcount. 2.6.22 added CONFIG_DEBUG_VM out-of-line checks to it, which would need to be ever-so-slightly complicated to allow for the PageKsm() we're about to define. But I think these checks never caught anything. And if it's coding errors we're worried about, such checks should be in page_remove_rmap() too, not just when forking; whereas if it's pagetable corruption we're worried about, then they shouldn't be limited to CONFIG_DEBUG_VM. Oh, just revert page_dup_rmap() to an inline atomic_inc of mapcount. Signed-off-by: Hugh Dickins Signed-off-by: Chris Wright Signed-off-by: Izik Eidus Cc: Nick Piggin Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8af4da3b4c14e7267c4ffb952079af3912c51c5 Author: Hugh Dickins Date: Mon Sep 21 17:01:57 2009 -0700 ksm: the mm interface to ksm This patch presents the mm interface to a dummy version of ksm.c, for better scrutiny of that interface: the real ksm.c follows later. When CONFIG_KSM is not set, madvise(2) reject MADV_MERGEABLE and MADV_UNMERGEABLE with EINVAL, since that seems more helpful than pretending that they can be serviced. But when CONFIG_KSM=y, accept them even if KSM is not currently running, and even on areas which KSM will not touch (e.g. hugetlb or shared file or special driver mappings). Like other madvices, report ENOMEM despite success if any area in the range is unmapped, and use EAGAIN to report out of memory. Define vma flag VM_MERGEABLE to identify an area on which KSM may try merging pages: leave it to ksm_madvise() to decide whether to set it. Define mm flag MMF_VM_MERGEABLE to identify an mm which might contain VM_MERGEABLE areas, to minimize callouts when forking or exiting. Based upon earlier patches by Chris Wright and Izik Eidus. Signed-off-by: Hugh Dickins Signed-off-by: Chris Wright Signed-off-by: Izik Eidus Cc: Michael Kerrisk Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d19f352484467a5e518639ddff0554669c10ffab Author: Hugh Dickins Date: Mon Sep 21 17:01:53 2009 -0700 ksm: define MADV_MERGEABLE and MADV_UNMERGEABLE The out-of-tree KSM used ioctls on fds cloned from /dev/ksm to register a memory area for merging: we prefer now to use an madvise(2) interface. This patch just defines MADV_MERGEABLE (to tell KSM it may merge pages in this area found identical to pages in other mergeable areas) and MADV_UNMERGEABLE (to undo that). Most architectures use asm-generic, but alpha, mips, parisc, xtensa need their own definitions: included here for mmotm convenience, but we'll probably want to split this and feed pieces to arch maintainers. Based upon earlier patches by Chris Wright and Izik Eidus. Signed-off-by: Hugh Dickins Signed-off-by: Chris Wright Signed-off-by: Izik Eidus Cc: Michael Kerrisk Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Ralf Baechle Cc: Kyle McMartin Cc: Helge Deller Cc: Chris Zankel Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3866ea90d3635ddddcd77ce51087222ac7de85f2 Author: Hugh Dickins Date: Mon Sep 21 17:01:52 2009 -0700 ksm: first tidy up madvise_vma() madvise.c has several levels of switch statements, what to do in which? Move MADV_DOFORK code down from madvise_vma() to madvise_behavior(), so madvise_vma() can be a simple router, to madvise_behavior() by default. vma->vm_flags is an unsigned long so use the same type for new_flags. Add missing comment lines to describe MADV_DONTFORK and MADV_DOFORK. Signed-off-by: Hugh Dickins Signed-off-by: Chris Wright Signed-off-by: Izik Eidus Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 828502d30073036a486d96b1fe051e0f08b6df83 Author: Izik Eidus Date: Mon Sep 21 17:01:51 2009 -0700 ksm: add mmu_notifier set_pte_at_notify() KSM is a linux driver that allows dynamicly sharing identical memory pages between one or more processes. Unlike tradtional page sharing that is made at the allocation of the memory, ksm do it dynamicly after the memory was created. Memory is periodically scanned; identical pages are identified and merged. The sharing is made in a transparent way to the processes that use it. Ksm is highly important for hypervisors (kvm), where in production enviorments there might be many copys of the same data data among the host memory. This kind of data can be: similar kernels, librarys, cache, and so on. Even that ksm was wrote for kvm, any userspace application that want to use it to share its data can try it. Ksm may be useful for any application that might have similar (page aligment) data strctures among the memory, ksm will find this data merge it to one copy, and even if it will be changed and thereforew copy on writed, ksm will merge it again as soon as it will be identical again. Another reason to consider using ksm is the fact that it might simplify alot the userspace code of application that want to use shared private data, instead that the application will mange shared area, ksm will do this for the application, and even write to this data will be allowed without any synchinization acts from the application. Ksm was designed to be a loadable module that doesn't change the VM code of linux. This patch: The set_pte_at_notify() macro allows setting a pte in the shadow page table directly, instead of flushing the shadow page table entry and then getting vmexit to set it. It uses a new change_pte() callback to do so. set_pte_at_notify() is an optimization for kvm, and other users of mmu_notifiers, for COW pages. It is useful for kvm when ksm is used, because it allows kvm not to have to receive vmexit and only then map the ksm page into the shadow page table, but instead map it directly at the same time as Linux maps the page into the host page table. Users of mmu_notifiers who don't implement new mmu_notifier_change_pte() callback will just receive the mmu_notifier_invalidate_page() callback. Signed-off-by: Izik Eidus Signed-off-by: Chris Wright Signed-off-by: Hugh Dickins Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Wu Fengguang Cc: Balbir Singh Cc: Hugh Dickins Cc: KAMEZAWA Hiroyuki Cc: Lee Schermerhorn Cc: Avi Kivity Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 451ea25da71590361c71bf3044c55b870a887d53 Author: Johannes Weiner Date: Mon Sep 21 17:01:48 2009 -0700 mm: perform non-atomic test-clear of PG_mlocked on free By the time PG_mlocked is cleared in the page freeing path, nobody else is looking at our page->flags anymore. It is thus safe to make the test-and-clear non-atomic and thereby removing an unnecessary and expensive operation from a hotpath. Signed-off-by: Johannes Weiner Reviewed-by: Christoph Lameter Reviewed-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Mel Gorman Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf88c8c83e4425d17e29daa5354ffb1f8ba7b225 Author: Figo.zhang Date: Mon Sep 21 17:01:47 2009 -0700 vmalloc.c: fix double error checking There is no need for double error checking. Signed-off-by: Figo.zhang Acked-by: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 945a11136ebdfa7fcce319ee6215958e84cb85f6 Author: Akinobu Mita Date: Mon Sep 21 17:01:47 2009 -0700 mm: add gfp mask checking for __get_free_pages() __get_free_pages() with __GFP_HIGHMEM is not safe because the return address cannot represent a highmem page. get_zeroed_page() already has such a debug checking. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a26f5320c4ee3d46a0da48fa0f3ac6a00b575793 Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:46 2009 -0700 vmscan: kill unnecessary prefetch The pages in the list passed move_active_pages_to_lru() are already touched by shrink_active_list(). IOW the prefetch in move_active_pages_to_lru() don't populate any cache. it's pointless. This patch remove it. Signed-off-by: KOSAKI Motohiro Reviewed-by: Johannes Weiner Cc: Rik van Riel Cc: Minchan Kim Cc: Mel Gorman Cc: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74a1c48fb4e9f10e3c83dcd39af73487968e35bf Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:45 2009 -0700 vmscan: kill unnecessary page flag test The page_lru() already evaluate PageActive() and PageSwapBacked(). We don't need to re-evaluate it. Signed-off-by: KOSAKI Motohiro Reviewed-by: Johannes Weiner Cc: Rik van Riel Cc: Minchan Kim Cc: Mel Gorman Cc: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5205e56eeab04ce02f8bb6b47d1569b216bc0b6a Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:44 2009 -0700 vmscan: move ClearPageActive from move_active_pages() to shrink_active_list() The move_active_pages_to_lru() function is called under irq disabled and ClearPageActive() doesn't need irq disabling. Then, this patch move it into shrink_active_list(). Signed-off-by: KOSAKI Motohiro Reviewed-by: Johannes Weiner Cc: Rik van Riel Cc: Minchan Kim Cc: Mel Gorman Cc: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de2e7567c7ddf24f0ca80010163ed10da66a14e2 Author: Minchan Kim Date: Mon Sep 21 17:01:43 2009 -0700 vmscan: don't attempt to reclaim anon page in lumpy reclaim when no swap space is available The VM already avoids attempting to reclaim anon pages in various places, But it doesn't avoid it for lumpy reclaim. It shuffles lru list unnecessary so that it is pointless. [akpm@linux-foundation.org: cleanup] Signed-off-by: Minchan Kim Reviewed-by: KOSAKI Motohiro Reviewed-by: Rik van Riel Cc: Mel Gorman Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adea02a1bea71a508da32c04d715485a1fe62029 Author: Wu Fengguang Date: Mon Sep 21 17:01:42 2009 -0700 mm: count only reclaimable lru pages global_lru_pages() / zone_lru_pages() can be used in two ways: - to estimate max reclaimable pages in determine_dirtyable_memory() - to calculate the slab scan ratio When swap is full or not present, the anon lru lists are not reclaimable and also won't be scanned. So the anon pages shall not be counted in both usage scenarios. Also rename to _reclaimable_pages: now they are counting the possibly reclaimable lru pages. It can greatly (and correctly) increase the slab scan rate under high memory pressure (when most file pages have been reclaimed and swap is full/absent), thus reduce false OOM kills. Acked-by: Peter Zijlstra Reviewed-by: Rik van Riel Reviewed-by: Christoph Lameter Reviewed-by: Minchan Kim Cc: KOSAKI Motohiro Signed-off-by: Wu Fengguang Acked-by: Johannes Weiner Reviewed-by: Minchan Kim Reviewed-by: Jesse Barnes Cc: David Howells Cc: "Li, Ming Chun" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55c37a840d9ec0ebed5c944355156d490b1ad5d1 Author: Jan Kara Date: Mon Sep 21 17:01:40 2009 -0700 vm: document that setting vfs_cache_pressure to 0 isn't a good idea Reported-by: Christian Thaeter Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a2ae913f5229d6e1d4a666f0477350789d5128e Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:39 2009 -0700 mm: remove __{add,sub}_zone_page_state() __add_zone_page_state() and __sub_zone_page_state() are unused. Signed-off-by: KOSAKI Motohiro Cc: Wu Fengguang Cc: Rik van Riel Cc: Minchan Kim Cc: Christoph Lameter Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35cd78156c499ef83f60605e4643d5a98fef14fd Author: Rik van Riel Date: Mon Sep 21 17:01:38 2009 -0700 vmscan: throttle direct reclaim when too many pages are isolated already When way too many processes go into direct reclaim, it is possible for all of the pages to be taken off the LRU. One result of this is that the next process in the page reclaim code thinks there are no reclaimable pages left and triggers an out of memory kill. One solution to this problem is to never let so many processes into the page reclaim path that the entire LRU is emptied. Limiting the system to only having half of each inactive list isolated for reclaim should be safe. Signed-off-by: Rik van Riel Cc: KOSAKI Motohiro Cc: Wu Fengguang Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a731286de62294b63d8ceb3c5914ac52cc17e690 Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:37 2009 -0700 mm: vmstat: add isolate pages If the system is running a heavy load of processes then concurrent reclaim can isolate a large number of pages from the LRU. /proc/vmstat and the output generated for an OOM do not show how many pages were isolated. This has been observed during process fork bomb testing (mstctl11 in LTP). This patch shows the information about isolated pages. Reproduced via: ----------------------- % ./hackbench 140 process 1000 => OOM occur active_anon:146 inactive_anon:0 isolated_anon:49245 active_file:79 inactive_file:18 isolated_file:113 unevictable:0 dirty:0 writeback:0 unstable:0 buffer:39 free:370 slab_reclaimable:309 slab_unreclaimable:5492 mapped:53 shmem:15 pagetables:28140 bounce:0 Signed-off-by: KOSAKI Motohiro Acked-by: Rik van Riel Acked-by: Wu Fengguang Reviewed-by: Minchan Kim Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b35ea17b7bbf5dea35faa0de11030acc620c3197 Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:36 2009 -0700 mm: shrink_inactive_list() nr_scan accounting fix fix If sc->isolate_pages() return 0, we don't need to call shrink_page_list(). In past days, shrink_inactive_list() handled it properly. But commit fb8d14e1 (three years ago commit!) breaked it. current shrink_inactive_list() always call shrink_page_list() although isolate_pages() return 0. This patch restore proper return value check. Requirements: o "nr_taken == 0" condition should stay before calling shrink_page_list(). o "nr_taken == 0" condition should stay after nr_scan related statistics modification. Cc: Wu Fengguang Signed-off-by: KOSAKI Motohiro Reviewed-by: Rik van Riel Reviewed-by: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44c241f166b31999482c3c40448f4bbb2157a804 Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:35 2009 -0700 mm: rename pgmoved variable in shrink_active_list() Currently the pgmoved variable has two meanings. It causes harder reviewing. This patch separates it. Signed-off-by: KOSAKI Motohiro Reviewed-by: Rik van Riel Reviewed-by: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b259fbde0a86085264c89aa2ce9c6e35792a1aad Author: David Rientjes Date: Mon Sep 21 17:01:34 2009 -0700 mm: update alloc_flags after oom killer has been called It is possible for the oom killer to select current as the task to kill. When this happens, alloc_flags needs to be updated accordingly to set ALLOC_NO_WATERMARKS so the subsequent allocation attempt may use memory reserves as the result of its thread having TIF_MEMDIE set if the allocation is not __GFP_NOMEMALLOC. Acked-by: Mel Gorman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b02108ac1b3354a22b0d83c684797692efdc395 Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:33 2009 -0700 mm: oom analysis: add shmem vmstat Recently we encountered OOM problems due to memory use of the GEM cache. Generally a large amuont of Shmem/Tmpfs pages tend to create a memory shortage problem. We often use the following calculation to determine the amount of shmem pages: shmem = NR_ACTIVE_ANON + NR_INACTIVE_ANON - NR_ANON_PAGES however the expression does not consider isolated and mlocked pages. This patch adds explicit accounting for pages used by shmem and tmpfs. Signed-off-by: KOSAKI Motohiro Acked-by: Rik van Riel Reviewed-by: Christoph Lameter Acked-by: Wu Fengguang Cc: David Rientjes Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6a7f5728a1db45d30df55a01adc130b4ab0327c Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:32 2009 -0700 mm: oom analysis: Show kernel stack usage in /proc/meminfo and OOM log output The amount of memory allocated to kernel stacks can become significant and cause OOM conditions. However, we do not display the amount of memory consumed by stacks. Add code to display the amount of memory used for stacks in /proc/meminfo. Signed-off-by: KOSAKI Motohiro Reviewed-by: Christoph Lameter Reviewed-by: Minchan Kim Reviewed-by: Rik van Riel Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71de1ccbe1fb40203edd3beb473f8580d917d2ca Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:31 2009 -0700 mm: oom analysis: add buffer cache information to show_free_areas() It is often useful to know the statistics for all pages that are handled like page cache pages when looking at OOM log output. Therefore show_free_areas() should also display buffer cache statistics. Signed-off-by: KOSAKI Motohiro Acked-by: Wu Fengguang Reviewed-by: Rik van Riel Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a0aa73f1d613bf19bc8610bf090c941ef49d720 Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:30 2009 -0700 mm: oom analysis: add per-zone statistics to show_free_areas() show_free_areas() displays only a limited amount of zone counters. This patch includes additional counters in the display to allow easier debugging. This may be especially useful if an OOM is due to running out of DMA memory. Signed-off-by: KOSAKI Motohiro Reviewed-by: Christoph Lameter Acked-by: Wu Fengguang Reviewed-by: Minchan Kim Reviewed-by: Rik van Riel Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b2b9a875ddcbf9fcd667db9f961a6a163bd083f Author: Andi Kleen Date: Mon Sep 21 17:01:29 2009 -0700 Documentation/memory.txt: remove some very outdated recommendations Remove some very outdated recommendations in Documentation/memory.txt Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3701b0332330ca1add3e5d56513ef201ff7efdbb Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:29 2009 -0700 mm: show_free_areas(): display slab pages in two separate fields If an OOM happens, we really want to know the number of remaining reclaimable pages. So the reclaimable slab and unreclaimable slab fields should not be combined for display. Signed-off-by: KOSAKI Motohiro Reviewed-by: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b904dcfed6967e9cfc8a54778498f6d289420309 Author: KOSAKI Motohiro Date: Mon Sep 21 17:01:28 2009 -0700 mm: clean up page_remove_rmap() page_remove_rmap() has multiple PageAnon() tests and it has deep nesting. Clean this up. Signed-off-by: KOSAKI Motohiro Cc: KAMEZAWA Hiroyuki Acked-by: Mel Gorman Reviewed-by: Wu Fengguang Cc: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57dd28fb0513d2f772bb215f27925165e7b9ce5f Author: Lee Schermerhorn Date: Mon Sep 21 17:01:25 2009 -0700 hugetlb: restore interleaving of bootmem huge pages I noticed that alloc_bootmem_huge_page() will only advance to the next node on failure to allocate a huge page, potentially filling nodes with huge-pages. I asked about this on linux-mm and linux-numa, cc'ing the usual huge page suspects. Mel Gorman responded: I strongly suspect that the same node being used until allocation failure instead of round-robin is an oversight and not deliberate at all. It appears to be a side-effect of a fix made way back in commit 63b4613c3f0d4b724ba259dc6c201bb68b884e1a ["hugetlb: fix hugepage allocation with memoryless nodes"]. Prior to that patch it looked like allocations would always round-robin even when allocation was successful. This patch--factored out of my "hugetlb mempolicy" series--moves the advance of the hstate next node from which to allocate up before the test for success of the attempted allocation. Note that alloc_bootmem_huge_page() is only used for order > MAX_ORDER huge pages. I'll post a separate patch for mainline/stable, as the above mentioned "balance freeing" series renamed the next node to alloc function. Signed-off-by: Lee Schermerhorn Reviewed-by: Mel Gorman Reviewed-by: Andy Whitcroft Reviewed-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41a25e7e67b8be33d7598ff7968b9a8b405b6567 Author: Lee Schermerhorn Date: Mon Sep 21 17:01:24 2009 -0700 hugetlb: clean up and update huge pages documentation Attempt to clarify huge page administration and usage, and updates the doucmentation to mention the balancing of huge pages across nodes when allocating and freeing. Signed-off-by: Lee Schermerhorn Cc: Mel Gorman Cc: Nishanth Aravamudan Cc: David Rientjes Cc: Adam Litke Cc: Andy Whitcroft Cc: Eric Whitney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 685f345708096ed21078aa44a6f4a6e6d1d1b580 Author: Lee Schermerhorn Date: Mon Sep 21 17:01:23 2009 -0700 hugetlb: use free_pool_huge_page() to return unused surplus pages Use the [modified] free_pool_huge_page() function to return unused surplus pages. This will help keep huge pages balanced across nodes between freeing of unused surplus pages and freeing of persistent huge pages [from set_max_huge_pages] by using the same node id "cursor". It also eliminates some code duplication. Signed-off-by: Lee Schermerhorn Cc: Mel Gorman Cc: Nishanth Aravamudan Acked-by: David Rientjes Cc: Adam Litke Cc: Andy Whitcroft Cc: Eric Whitney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8c5c8249878fb6564125680a1d15e06adbd5639 Author: Lee Schermerhorn Date: Mon Sep 21 17:01:22 2009 -0700 hugetlb: balance freeing of huge pages across nodes Free huges pages from nodes in round robin fashion in an attempt to keep [persistent a.k.a static] hugepages balanced across nodes New function free_pool_huge_page() is modeled on and performs roughly the inverse of alloc_fresh_huge_page(). Replaces dequeue_huge_page() which now has no callers, so this patch removes it. Helper function hstate_next_node_to_free() uses new hstate member next_to_free_nid to distribute "frees" across all nodes with huge pages. Acked-by: David Rientjes Signed-off-by: Lee Schermerhorn Acked-by: Mel Gorman Cc: Nishanth Aravamudan Cc: Adam Litke Cc: Andy Whitcroft Cc: Eric Whitney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a4462af5722d2814858bc51ee8d58ca29544ab Author: Randy Dunlap Date: Mon Sep 21 17:01:20 2009 -0700 page_alloc: fix kernel-doc warning Ummark function as having kernel-doc notation, fixing the kernel-doc warning. Warning(mm/page_alloc.c:4519): No description found for parameter 'zone' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abfc3488118d48a2b8cce5a2345901aac6b03fee Author: Shaohua Li Date: Mon Sep 21 17:01:19 2009 -0700 memory hotplug: migrate swap cache page In test, some pages in swap-cache can't be migrated, as they aren't rmap. unmap_and_move() ignores swap-cache page which is just read in and hasn't rmap (see the comments in the code), but swap_aops provides .migratepage. Better to migrate such pages instead of ignore them. Signed-off-by: Shaohua Li Cc: Mel Gorman Cc: Christoph Lameter Cc: Yakui Zhao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f52407ce2deac76c87abc8211a63ea152ba72d54 Author: Shaohua Li Date: Mon Sep 21 17:01:19 2009 -0700 memory hotplug: alloc page from other node in memory online To initialize hotadded node, some pages are allocated. At that time, the node hasn't memory, this makes the allocation always fail. In such case, let's allocate pages from other nodes. Signed-off-by: Shaohua Li Signed-off-by: Yakui Zhao Cc: Mel Gorman Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e7e40d9658cf7b2ae2b76484e235799b3ddaa97 Author: Shaohua Li Date: Mon Sep 21 17:01:18 2009 -0700 memory hotplug: make pages from movable zone always isolatable Pages on movable zone have two types, MIGRATE_MOVABLE and MIGRATE_RESERVE, both them can be movable, because only movable memory allocation can get pages from movable zone. This makes pages in movable zone always be able to migrate. Signed-off-by: Shaohua Li Cc: Mel Gorman Cc: Christoph Lameter Cc: Yakui Zhao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fb332fabd7288af9dbe7992394aa6ba97c1a537 Author: Shaohua Li Date: Mon Sep 21 17:01:17 2009 -0700 memory hotplug: exclude isolated page from pco page alloc Pages marked as isolated should not be allocated again. If such pages reside in pcp list, they can be allocated too, so there is a ping-pong memory offline frees some pages to pcp list and the pages get allocated and then memory offline frees them again, this loop will happen again and again. This should have no impact in normal code path, because in normal code path, pages in pcp list aren't isolated, and below loop will break in the first entry. Signed-off-by: Shaohua Li Cc: Mel Gorman Cc: Christoph Lameter Cc: Yakui Zhao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 112067f0905b2de862c607ee62411cf47d2fe5c4 Author: Shaohua Li Date: Mon Sep 21 17:01:16 2009 -0700 memory hotplug: update zone pcp at memory online In my test, 128M memory is hot added, but zone's pcp batch is 0, which is an obvious error. When pages are onlined, zone pcp should be updated accordingly. [akpm@linux-foundation.org: fix warnings] Signed-off-by: Shaohua Li Cc: Mel Gorman Cc: Christoph Lameter Cc: Yakui Zhao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 478b81fd84a299adb401dbbae296f3767e552999 Author: David Rientjes Date: Mon Sep 21 17:01:15 2009 -0700 mm: remove obsoleted alloc_pages cpuset comment When a cpuset's nodemask is updated, all attached tasks have their cached task->mems_allowed updated by a heap instead of requiring an explicit call to cpuset_update_task_memory_state(), which has since been removed in 58568d2a8215cb6f55caf2332017d7bdff954e1c ("cpuset,mm: update tasks' mems_allowed in time"). Remove the obsoleted comment from the page allocator. Cc: Paul Menage Acked-by: Miao Xie Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5abeeacc44bbef2935a7a8e939264c28962def2 Author: Johannes Weiner Date: Mon Sep 21 17:01:13 2009 -0700 mm: make swap token dummies static inlines Make use of the compiler's typechecking on !CONFIG_SWAP as well. [akpm@linux-foundation.org: build fix] Signed-off-by: Johannes Weiner Reviewed-by: Rik van Riel Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83d5cde47dedf01b6a4a4331882cbc0a7eea3c2e Author: Alexey Dobriyan Date: Mon Sep 21 17:01:13 2009 -0700 const: make block_device_operations const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b021967c5e1463936042c8da72b550d3cabe9ac Author: Alexey Dobriyan Date: Mon Sep 21 17:01:12 2009 -0700 const: make lock_manager_operations const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6aed62853c72e29f2c97bbac7712cb398e8c9437 Author: Alexey Dobriyan Date: Mon Sep 21 17:01:11 2009 -0700 const: make file_lock_operations const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e1d5dcc2bbbe71dbf010c747e15739bef6b7218 Author: Alexey Dobriyan Date: Mon Sep 21 17:01:11 2009 -0700 const: mark remaining inode_operations as const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f09410bbc4306f592cfb43812389ea1c7905a20 Author: Alexey Dobriyan Date: Mon Sep 21 17:01:10 2009 -0700 const: mark remaining address_space_operations const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac4cfdd6d141c319a7af8655f750ed504c187a74 Author: Alexey Dobriyan Date: Mon Sep 21 17:01:10 2009 -0700 const: mark remaining export_operations const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b87221de6a4934eda856475a0065688d12973a04 Author: Alexey Dobriyan Date: Mon Sep 21 17:01:09 2009 -0700 const: mark remaining super_operations const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d54b217a247f39605361f867fefbb9e099a5432 Author: Alexey Dobriyan Date: Mon Sep 21 17:01:09 2009 -0700 const: make struct super_block::s_qcop const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61e225dc341107be304fd1088146c2a5e88ff9e0 Author: Alexey Dobriyan Date: Mon Sep 21 17:01:08 2009 -0700 const: make struct super_block::dq_op const Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00d3803b656a5f0935518d746f6bb27d5181d29d Author: Andrew Morton Date: Mon Sep 21 17:01:07 2009 -0700 drivers/mfd/ab3100-core.c: fix powerpc build error drivers/mfd/ab3100-core.c:647: error: ab3100_init_settings causes a section type conflict Cc: Anton Vorontsov Cc: Samuel Ortiz Cc: Benjamin Herrenschmidt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c574358e8b48adf646f9d5ef70dc76c5d4ad9387 Author: Eric Dumazet Date: Mon Sep 21 17:01:06 2009 -0700 proc: document `guest' column in /proc/stat We added a new column in cpuX lines of /proc/stat, to show the amount of time spent by a cpu servicing a guest, without updating Documentation/filesystems/proc.txt Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 580be0837a7a59b207c3d5c661d044d8dd0a6a30 Author: Jan Kara Date: Mon Sep 21 17:01:06 2009 -0700 fs: make sure data stored into inode is properly seen before unlocking new inode In theory it could happen that on one CPU we initialize a new inode but clearing of I_NEW | I_LOCK gets reordered before some of the initialization. Thus on another CPU we return not fully uptodate inode from iget_locked(). This seems to fix a corruption issue on ext3 mounted over NFS. [akpm@linux-foundation.org: add some commentary] Signed-off-by: Jan Kara Cc: Christoph Hellwig Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5be461657be65460ad92be3527e3bb1dd11c49ea Author: Pierre Ossman Date: Mon Sep 21 17:00:59 2009 -0700 sdhci: orphan driver and list Remove myself as maintainer from the sdhci driver and steer people towards the new MMC list for discussing it. Signed-off-by: Pierre Ossman Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a20b05f8178801c0a07324d92fe53c32177de97 Author: Andrew Morton Date: Mon Sep 21 17:00:58 2009 -0700 drivers/media/dvb/pt1/pt1.c needs vmalloc.h alpha: drivers/media/dvb/pt1/pt1.c: In function 'pt1_cleanup_tables': drivers/media/dvb/pt1/pt1.c:422: error: implicit declaration of function 'vfree' drivers/media/dvb/pt1/pt1.c: In function 'pt1_init_tables': drivers/media/dvb/pt1/pt1.c:431: error: implicit declaration of function 'vmalloc' drivers/media/dvb/pt1/pt1.c:431: warning: assignment makes pointer from integer without a cast Acked-by: Mauro Carvalho Chehab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55c1d7c60d9b269551cd7cc31e6be8323e1d94ec Author: Haojian Zhuang Date: Mon Sep 21 12:14:12 2009 -0400 regulator: fix voltage range in da9034 ldo12 Signed-off-by: Roel Kluin Signed-off-by: Haojian Zhuang Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit d87b969d15a084503870da598c97278fb4877753 Author: Wolfram Sang Date: Fri Sep 18 22:44:46 2009 +0200 regulator/driver: be more specific in nanodoc for is_enabled Document the possibility that is_enabled may also return with negative errorcodes. Signed-off-by: Wolfram Sang Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 12a1d933a99e1a2901575390dceea3819f2a575a Author: Wolfram Sang Date: Fri Sep 18 22:44:45 2009 +0200 regulator/lp3971: drop unnecessary initialization Signed-off-by: Wolfram Sang Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit a954c487b95e7061d9546f6897edbc20a73454d3 Author: Wolfram Sang Date: Fri Sep 18 22:44:44 2009 +0200 regulator: drop 'default n' Specifying 'default n' is superfluous. Signed-off-by: Wolfram Sang Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 2e7e65ce55566fc81036960b00e5e15f5d9578ea Author: Wolfram Sang Date: Fri Sep 18 22:44:43 2009 +0200 regulator: fix typos Fix a couple of typos I found while working with this subsystem. Signed-off-by: Wolfram Sang Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 656d0498ea14c51cd8ec00081b5e0662acc72614 Author: Roel Kluin Date: Fri Sep 18 12:56:20 2009 -0700 regulator: fix calculation of voltage range in da9034_set_ldo12_voltage() For val to be greater than 7 or less than 20 is logically always true. Signed-off-by: Roel Kluin Cc: Liam Girdwood Cc: Mark Brown Signed-off-by: Andrew Morton Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 77bb8ff968dddb42a773c7b32d1a6a07f96f3f79 Author: Wolfram Sang Date: Sun Sep 6 21:30:18 2009 +0200 regulator: update a filename in documentation Signed-off-by: Wolfram Sang Cc: Liam Girdwood Cc: Mark Brown Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 6f2653e63a4aedf877efbbcdbd4cea7db088bf29 Author: Michael Prokop Date: Sat Sep 5 02:59:14 2009 +0200 drivers/regulator/Kconfig: fix typo (s/Usersapce/Userspace/) in REGULATOR_USERSPACE_CONSUMER description Signed-off-by: Michael Prokop Signed-off-by: Liam Girdwood commit a7433cff9ed8e7982de8e0f210f0325d0f3d1949 Author: Linus Walleij Date: Wed Aug 26 12:54:04 2009 +0200 REGULATOR Handle positive returncode from enable This makes _regulator_enable() properly handle the case where a regulator is already on when you try to enable it. Currently it will erroneously handle positive return values as an error. Signed-off-by: Linus Walleij Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 9e108d33edcb88bac3db39ba1683fc2c0591d7d4 Author: Liam Girdwood Date: Mon Aug 24 10:31:34 2009 +0100 regulator: tps650xx - build fixes for x86_64 Fixes the following errors on both tps650xx regulator drivers :- drivers/regulator/tps65023-regulator: struct i2c_device_id is 32 bytes. The last of 1 is: 0x74 0x70 0x73 0x36 0x35 0x30 0x32 0x33 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 FATAL: drivers/regulator/tps65023-regulator: struct i2c_device_id is not terminated with a NULL entry! This patch also fixes the GPL v2 licence string for both drivers. Signed-off-by: Liam Girdwood commit 040932cdcfca9b0ac55a4f74f194c2e2c8a2527b Author: Linus Walleij Date: Fri Aug 21 14:00:57 2009 +0200 Fix some regulator documentation This fixes a spelling error and an API function signature mismatch in the regulator documentation. Signed-off-by: Linus Walleij Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 2de798506d7300830a102e18d3d299f740475bc8 Author: Anuj Aggarwal Date: Fri Aug 21 00:39:44 2009 +0530 Regulator: Adding TPS65023 and TPS6507x in Kconfig and Makefile Adding TPS65023 and TPS6507x regulator driver support in drivers/regulator/Makefile and drivers/regulator/Kconfig Signed-off-by: Anuj Aggarwal Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 3fa5b8e08296b250088b1a6b8e3db500ab1b847d Author: Anuj Aggarwal Date: Fri Aug 21 00:39:39 2009 +0530 Regulator: Add TPS6507x regulator driver Adding support for TI TPS6507x regulator driver Signed-off-by: Anuj Aggarwal Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 30e6599d317ec83c664f341f18b5b2b57b831a6d Author: Anuj Aggarwal Date: Fri Aug 21 00:39:31 2009 +0530 Regulator: Add TPS65023 regulator driver Adding support for TI TPS65023 regulator driver Signed-off-by: Anuj Aggarwal Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit e9d62698e8e5228638093c48783eb9dda788f1c3 Author: Felipe Balbi Date: Mon Aug 10 09:05:13 2009 +0300 regulator: userspace: use sysfs_create_group and avoid introducing our own loops for creating several sysfs entries. Signed-off-by: Felipe Balbi Acked-by: Mark Brown Acked-by: Mike Rapoport Signed-off-by: Liam Girdwood commit 86d9884b6a3646bc24e57430f1f694c5171c1bf6 Author: Roger Quadros Date: Thu Aug 6 19:37:29 2009 +0300 regulator: Add GPIO enable control to fixed voltage regulator driver Now fixed regulators that have their enable pin connected to a GPIO line can use the fixed regulator driver for regulator enable/disable control. The GPIO number and polarity information is passed through platform data. GPIO enable control is achieved using gpiolib. Signed-off-by: Roger Quadros Reviewed-by: Philipp Zabel Reviewed-by: Felipe Balbi Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit a6576cff1801e2f1a9f328f02bd4cbcab7b03f91 Author: Lars-Peter Clausen Date: Tue Aug 4 02:03:52 2009 +0200 Regulator: Implement list_voltage for pcf50633 regulator driver. This patch implements list_voltage for the pcf50644 regulator driver. As the voltages are linearly scaled the code to convert register values to voltages can be reused and most of the code can be shared with get_voltage. Signed-off-by: Lars-Peter Clausen Signed-off-by: Liam Girdwood commit 9a2372fa7a403ba327873d0208a619d781a8a150 Author: Mark Brown Date: Mon Aug 3 18:49:57 2009 +0100 regulator: regulator_enable() permission checking The regulator_enable() code wasn't actually checking that the machine constraints had given permission to enable the regulator. Add code to do that, but only if the regulator is not already on due to something like always_on or being left on at startup since in those cases there's no physical change being introduced and the constraint wouldn't make any sense. Also add matching code for disable(). We need to do less there since either regulator_enable() should have succeeded first or the board setup makes no sense. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 9332546fe88fa88bf6a7d9b1dce53ff5d314934e Author: Mark Brown Date: Mon Aug 3 18:49:56 2009 +0100 regulator: Push locking for regulator_is_enabled() out Allows use by more of the internal regulator API code. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit f25e0b4fcc38d120e704c377791158c4b2a54daa Author: Mark Brown Date: Mon Aug 3 18:49:55 2009 +0100 regulator: Check for constraints in regulator_init_complete() Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit b39480ac37951de126455991744c9dbb61bbb839 Author: Mark Brown Date: Mon Aug 3 18:49:54 2009 +0100 regulator: Check for constraints before using them for name Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit c53ad7fe5759cea10137c9e176d14f8c8f22d286 Author: Mark Brown Date: Mon Aug 3 18:49:53 2009 +0100 regulator: More explict error reporting for fixed regulator Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit c6db182822e292575b5beb56c003e95f616407f4 Author: Mike Rapoport Date: Sun Jul 26 13:33:04 2009 +0300 regulator: da903x: consolidate DA903[045]_DVC macros Signed-off-by: Mike Rapoport Signed-off-by: Liam Girdwood commit 72b86876d437a33253a47373579787b6dcc3bd36 Author: Mark Brown Date: Tue Jul 21 16:00:27 2009 +0100 regulator: Improve virtual consumer probe error handling Report errors to the user and try harder to clean up if we're not able to probe. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 9ed2099edca26d07947beb42c12bd1d6669e82bc Author: Mark Brown Date: Tue Jul 21 16:00:26 2009 +0100 regulator: Fix support for deviceless supply mappings The patch to add support for looking up consumers by device name had the side effect of causing us to require a device which is at best premature since at least cpufreq still operates outside the device model. Remove that requirement. Reported-by: Haojian Zhuang Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 6bf87d17c9f5b855e9dde7b3d6f726385b966814 Author: Mark Brown Date: Tue Jul 21 16:00:25 2009 +0100 regulator: Warn when unregistering an in-use regulator We're probably going to start oopsing fairly soon after this happens. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit a7a1ad9066e0266c8a4357ba3dbaeebfb80f531d Author: Mark Brown Date: Tue Jul 21 16:00:24 2009 +0100 regulator: Add regulator voltage range check API Simplify checking of support for voltage ranges by providing an API which wraps the existing count and list operations. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 5ffbd136e6c51c8d1eec7a4a0c5d2180c81aea30 Author: Mark Brown Date: Tue Jul 21 16:00:23 2009 +0100 regulator: Add regulator_get_exclusive() API Some consumers require complete control of the regulator and can't tolerate sharing it with other consumers, most commonly because they need to have the regulator actually disabled so can't have other consumers forcing it on. This new regulator_get_exclusive() API call allows these consumers to explicitly request this, documenting the assumptions that they are making. In order to simplify coding of such consumers the use count for regulators they request is forced to match the enabled state of the regulator when it is requested. This is not possible for consumers which can share regulators due to the need to keep track of the ownership of use counts. A new API call is used rather than an additional argument to the existing regulator_get() in order to avoid merge headaches with driver code in other trees. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit c1b60873ca2078bfca94b73bc88ef1c5adcc928b Author: Haojian Zhuang Date: Fri Jul 10 16:03:36 2009 +0800 regulator: support list voltage in da903x Make da903x driver to list voltage and count voltage. Signed-off-by: Haojian Zhuang Acked-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Liam Girdwood commit ed6543243a1c557dbe2005a86f6d8e851c1ebb79 Author: roald Date: Mon Jul 13 17:25:21 2009 +0800 regulator: add initialization macro of regulator supply Signed-off-by: Haojian Zhuang Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit e88267e1646037fa2c155515c78bd01a5c81f058 Author: Haojian Zhuang Date: Thu Jul 9 17:52:30 2009 +0800 regulator: replace ADTV1 register by ADTV2 in da903x In PXA3xx SoC family, V_CORE power doamin is supplied by BUCK1 that is controller by ADTV1 or ADTV2 register. By default, v1 and v2 has the same copy. If v1 or v2 is updated, the last value that is written to either register takes effect. It means that v1 and v2 has different copy. And the actual voltage output is determinated by last update on either register. DA9034/35 is binded with PXA3xx SoC family. While SoC is scaling OP or entering/exiting lower power mode, SoC needs to change voltage of V_CORE power doamin. In order to be efficient, POWER I2C (hardcode) mode could be enabled in SoC. In this mode, SoC will control v2 register directly. In original DA903x driver, software will only read regulator data from v1 register. But SoC controls v2 register directly. It results that v1 and v2 isn't synchronized. Wrong data will be read from v1 register. So access v2 register in da903x driver instead. Signed-off-by: Haojian Zhuang Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit fc4f42e7fb021340c14dfd726313be6cfdeab19e Author: Haojian Zhuang Date: Wed Jul 8 17:57:24 2009 +0800 regulator: support da9030 BUCK in da903x driver Support the operation of DA9030 BUCK2 in da903x driver. Signed-off-by: Haojian Zhuang Acked-by: Mark Brown Acked-by: Eric Miao Acked-by: Mike Rapoport Signed-off-by: Liam Girdwood commit 0198d1163b3e0313b3f073b62384abfab1a17cff Author: Haojian Zhuang Date: Fri Jun 26 19:20:59 2009 +0800 regulator: add buck3 in da903x driver BUCK3 is the new component in DA9035. So there're three BUCKs in DA9035. And there're two BUCKs in DA9034. Signed-off-by: Haojian Zhuang Acked-by: Mark Brown Acked-by: Eric Miao Signed-off-by: Liam Girdwood commit 9c19bc0444490e76197f47316c649590dc6f10a4 Author: Mark Brown Date: Thu Jul 9 15:44:31 2009 +0100 regulator: Define full constraints function with REGULATOR disabled This allows machine drivers to build without ifdefs if they have full constraints. Suggested by machine drivers contributed by Haojian Zhuang . Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 561864e8e3c263ff72bd0888aca80089027195ca Author: Joe Perches Date: Sun Jun 28 09:26:42 2009 -0700 drivers/regulator/pcf50633-regulator.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Liam Girdwood commit 40f9244f4da8976eeb6d5ed6313c635ba238a9d3 Author: Mark Brown Date: Wed Jun 17 17:56:39 2009 +0100 regulator: Allow consumer supplies to be set up with dev_name() Follow the approach suggested by Russell King and implemented by him in the clkdev API and allow consumer device supply mapings to be set up using the dev_name() for the consumer instead of the struct device. In order to avoid making existing machines instabuggy and creating merge issues the use of struct device is still supported for the time being. This resolves problems working with buses such as I2C which make the struct device available late providing that the final device name is known, which is the case for most embedded systems with fixed setups. Consumers must still use the struct device when calling regulator_get(). Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit a5d2abce4373810c0109c5939c0094ac16698625 Author: Mark Brown Date: Wed Jun 17 15:45:07 2009 +0100 regulator: Make virtual consumer a bit more chatty This makes it easier to read the logs when doing testing. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit a07ac217146e0fac18c80d93e02109f2c96574d0 Author: Mark Brown Date: Wed Jun 17 15:45:06 2009 +0100 regulator: Make virtual consumer use dev_printk Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit d61c3d56e23b3548a91b70ecce9dc226a8655a57 Author: Mark Brown Date: Mon Jun 15 20:01:01 2009 +0100 regulator: Report regulator_get() failure in virtual consumer The core will no longer complain so we should log an error here. Signed-off-by: Mark Brown Signed-off-by: Liam Girdwood commit 4dee4d441d3f90cd8cec10a9eb222d8a4f2fa2a3 Author: Roel Kluin Date: Mon Jun 15 22:30:39 2009 +0200 regulator: add check index of wm8350->pmic.pdev[] Ensure that reg is within the bounds of array wm8350->pmic.pdev[]. Signed-off-by: Roel Kluin Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit a8f90e906783f1f815120eefe813b23cb396e9bd Author: Paul Mackerras Date: Tue Sep 22 09:48:08 2009 +1000 perf_event, powerpc: Fix compilation after big perf_counter rename This fixes two places in the powerpc perf_event (perf_counter) code where 'list_entry' needs to be changed to 'group_entry', but were missed in commit 65abc865 ("perf_counter: Rename list_entry -> group_entry, counter_list -> group_list"). This also changes 'event' back to 'counter' in a couple of contexts: * Field and function names that deal with the limited-function counters: it's really the hardware counters whose function is limited, not the events that they count. Hence: MAX_LIMITED_HWEVENTS -> MAX_LIMITED_HWCOUNTERS limited_event -> limited_counter freeze/thaw_limited_events -> freeze/thaw_limited_counters * The machine-specific PMU description struct (struct power_pmu): this renames 'n_event' back to 'n_counter' since it really describes how many hardware counters the machine has. (Renaming this back avoids a compile error in each of the machine-specific PMU back-ends where they initialize their power_pmu struct.) Signed-off-by: Paul Mackerras Cc: linuxppc-dev@ozlabs.org Cc: Peter Zijlstra LKML-Reference: <19128.4280.813369.589704@cargo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 44ca397bcfda83a2b1c3e778c547c05678d7ec69 Author: Dmitry Torokhov Date: Mon Sep 21 22:17:57 2009 -0700 Input: max7359 - use threaded IRQs Convert max7359 driver to use IRQ threading instead of using workqueue. Tested-by: Joonyoung Shim Signed-off-by: Dmitry Torokhov commit 0baf81ba157cb2b89448f0b73fcd9a4f191be8c6 Author: Kim Kyuwon Date: Mon Sep 21 22:17:04 2009 -0700 Input: add driver for Maxim MAX7359 key switch controller The Maxim MAX7359 is a I2C interfaced key switch controller which provides microprocessors with management of up to 64 key switches. This patch adds support for the MAX7359 key switch controller. Signed-off-by: Kim Kyuwon Reviewed-by: Trilok Soni Signed-off-by: Dmitry Torokhov commit 877ae70763fa0b19ffbe25e7e119fc96f52fbbd3 Author: Phil Vandry Date: Mon Sep 21 11:36:08 2009 -0400 ASoC: wm8753: fix mapping when MONOMIX is set to Stereo When MONOMIX is set to Stereo, Left PGA was not powered on but should be. Add a mapping from Capture Left Mux to Capture Left Mixer to fix the issue. Signed-off-by: Phil Vandry Signed-off-by: Mark Brown commit 98235a4bb01f288c82f7b878996e507f6159fd69 Author: Barry Song <21cnbao@gmail.com> Date: Mon Sep 21 11:20:51 2009 +0800 ASoC: some minor changes for AD1836 and AD1938 codec drivers 1. delete redundant assignment to bus field in spi_driver structure 2. fix lost assignment to set_bias_level entry in ad1938 codec dai 3. change spi driver name of ad1836 from "ad1836-spi" to "ad1836" Signed-off-by: Barry Song Signed-off-by: Mark Brown commit 181f7c5dd3832763bdf2756b6d2d8a49bdf12791 Author: Johannes Berg Date: Mon Jul 6 11:53:03 2009 +0200 kmemcheck: add missing braces to do-while in kmemcheck_annotate_bitfield Whether or not the sparse warning warning: do-while statement is not a compound statement is justified or not in this case, it is annoying and trivial to fix. [vegard.nossum@gmail.com: title and cleanup] Signed-off-by: Johannes Berg Signed-off-by: Vegard Nossum commit 3c394ddaa7ea4205f933fd9b481166b2669368a9 Author: Steve Dickson Date: Wed Sep 9 15:02:40 2009 -0400 nfsd4: nfsv4 clients should cross mountpoints Allow NFS v4 clients to seamlessly cross mount point without have to set either the 'crossmnt' or the 'nohide' export options. Signed-Off-By: Steve Dickson Signed-off-by: J. Bruce Fields commit dfdd8cc903288bb2e2ad6731545be3db7304c133 Author: Krzysztof Hałasa Date: Mon Sep 21 18:31:24 2009 +0200 Add MAINTAINERS entry for ARM/INTEL IXP4xx arch support. Signed-off-by: Krzysztof Hałasa commit 74c32e7234afc4586391c0c0f290d266a3e57fe5 Author: Mikael Pettersson Date: Fri Sep 11 00:56:54 2009 +0200 ixp4xx: arch_idle() documentation fixup The body of the mach-ixp4xx arch_idle() is mysteriously disabled by an #if 0 .. #endif. Normally one would expect to find a call to cpu_do_idle() there, but that call is disabled, even though cpu_do_idle() is implemented for XScale cores (and ixp4xx is one). The explanation can be found in the ixp42x developer's manual which states that the XScale core clock and power management registers aren't implemented on ixp42x [3.5.2.2]. Also, the disabled code has suffered from bit rot: - it checks hlt_counter which is obsolete, as that variable and all related code now is private to kernel/process.c - it passes too many parameters to cpu_do_idle() So this patch: - adds a comment before the #if 0 to explain why cpu_do_idle() mustn't be called on ixp4xx - removes the obsolete test of hlt_counter and the obsolete parameter to cpu_do_idle() This is purely a documentation fixup and changes no generated code. Even so, it has been tested on an ixp420 machine (ds101). Signed-off-by: Mikael Pettersson Signed-off-by: Krzysztof Hałasa commit ceb69a899f0819bce825083bd487c6afacc0d1b4 Author: Mikael Pettersson Date: Fri Sep 11 00:59:07 2009 +0200 ixp4xx: timer and clocks cleanups This patch does a few simple cleanups of the ixp4xx timer and clocksource/clockevent code in mach-ixp4xx/common.c: - ixp4xx_clocksource_init() is static and always returns 0, which is ignored by its only caller: make it return void - ixp4xx_clockevent_init(): ditto - ixp4xx_get_cycles() is only referenced locally: make it static - use the ixp4xx_timer_irq.dev_id field to pass &clockevent_ixp4xx to ixp4xx_timer_interrupt() via its dev_id parameter, allowing the code in ixp4xx_timer_interrupt() to be smaller and faster Tested on an ixp420 machine (ds101). Signed-off-by: Mikael Pettersson Signed-off-by: Krzysztof Hałasa commit 43c1266ce4dc06bfd236cec31e11e9ecd69c0bef Merge: b8c7f1d 57c0c15 Author: Linus Torvalds Date: Mon Sep 21 09:15:07 2009 -0700 Merge branch 'perfcounters-rename-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-rename-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf: Tidy up after the big rename perf: Do the big rename: Performance Counters -> Performance Events perf_counter: Rename 'event' to event_id/hw_event perf_counter: Rename list_entry -> group_entry, counter_list -> group_list Manually resolved some fairly trivial conflicts with the tracing tree in include/trace/ftrace.h and kernel/trace/trace_syscalls.c. commit b8c7f1dc5ca4e0d10709182233cdab932cef593d Merge: f4eccb6 a71fca5 Author: Linus Torvalds Date: Mon Sep 21 09:06:52 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: rcu: Fix whitespace inconsistencies rcu: Fix thinko, actually initialize full tree rcu: Apply results of code inspection of kernel/rcutree_plugin.h rcu: Add WARN_ON_ONCE() consistency checks covering state transitions rcu: Fix synchronize_rcu() for TREE_PREEMPT_RCU rcu: Simplify rcu_read_unlock_special() quiescent-state accounting rcu: Add debug checks to TREE_PREEMPT_RCU for premature grace periods rcu: Kconfig help needs to say that TREE_PREEMPT_RCU scales down rcutorture: Occasionally delay readers enough to make RCU force_quiescent_state rcu: Initialize multi-level RCU grace periods holding locks rcu: Need to update rnp->gpnum if preemptable RCU is to be reliable commit f4eccb6d979e0cc5a719a50af5f9a56e79092a2d Merge: 8e4bc3d cd74c86 Author: Linus Torvalds Date: Mon Sep 21 09:06:31 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, sparc: Fix compilation after perf_counter_overflow() change perf_counter: x86: Fix PMU resource leak perf util: SVG performance improvements perf util: Make the timechart SVG width dynamic perf timechart: Show the duration of scheduler delays in the SVG perf timechart: Show the name of the waker/wakee in timechart commit 8e4bc3dd2ca07d77882eba73cea240aba95a1854 Merge: bd4c3a3 0d721ce Author: Linus Torvalds Date: Mon Sep 21 09:06:17 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: Simplify sys_sched_rr_get_interval() system call sched: Fix potential NULL derference of doms_cur sched: Fix raciness in runqueue_is_locked() sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair() sched: Remove unneeded indentation in sched_fair.c::place_entity() commit bd4c3a3441144cd46d1f544046523724c5bc6e94 Merge: b3727c2 583a22e Author: Linus Torvalds Date: Mon Sep 21 09:05:47 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: kernel/profile.c: Switch /proc/irq/prof_cpu_mask to seq_file tracing: Export trace_profile_buf symbols tracing/events: use list_for_entry_continue tracing: remove max_tracer_type_len function-graph: use ftrace_graph_funcs directly tracing: Remove markers tracing: Allocate the ftrace event profile buffer dynamically tracing: Factorize the events profile accounting commit b3727c24da69971503a4ca98b3b877753c6a4393 Merge: 58e75a0 6399c08 Author: Linus Torvalds Date: Mon Sep 21 09:05:19 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: Print the hypervisor returned tsc_khz during boot x86: Correct segment permission flags in 64-bit linker script x86: cpuinit-annotate SMP boot trampolines properly x86: Increase timeout for EHCI debug port reset completion in early printk x86: Fix uaccess_32.h typo x86: Trivial whitespace cleanups x86, apic: Fix missed handling of discrete apics x86/i386: Remove duplicated #include x86, mtrr: Convert loop to a while based construct, avoid naked semicolon Revert 'x86: Fix system crash when loading with "reservetop" parameter' x86, mce: Fix compile warning in case of CONFIG_SMP=n x86, apic: Use logical flat on intel with <= 8 logical cpus x86: SGI UV: Map MMIO-High memory range x86: SGI UV: Add volatile semantics to macros that access chipset registers x86: SGI UV: Fix IPI macros x86: apic: Convert BUG() to BUG_ON() x86: Remove final bits of CONFIG_X86_OLD_MCE commit 58e75a09732be9b850357ba3489bcfb103230b27 Merge: c720f56 48d0764 Author: Linus Torvalds Date: Mon Sep 21 09:04:30 2009 -0700 Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block * 'writeback' of git://git.kernel.dk/linux-2.6-block: nfs: initialize the backing_dev_info when creating the server writeback: make balance_dirty_pages() gradually back more off writeback: don't use schedule_timeout() without setting runstate nfs: nfs_kill_super() should call bdi_unregister() after killing super commit c720f5655df159a630fa0290a0bd67c93e92b0bf Merge: 33e6c1a 84d6ae4 Author: Linus Torvalds Date: Mon Sep 21 09:03:10 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: (222 commits) V4L/DVB (13033): pt1: Don't use a deprecated DMA_BIT_MASK macro V4L/DVB (13029): radio-si4713: remove #include V4L/DVB (13027): go7007: convert printks to v4l2_info V4L/DVB (13026): s2250-board: Implement brightness and contrast controls V4L/DVB (13025): s2250-board: Fix memory leaks V4L/DVB (13024): go7007: Implement vidioc_g_std and vidioc_querystd V4L/DVB (13023): go7007: Merge struct gofh and go declarations V4L/DVB (13022): go7007: Fix mpeg controls V4L/DVB (13021): go7007: Fix whitespace and line lengths V4L/DVB (13020): go7007: Updates to Kconfig and Makefile V4L/DVB (13019): video: initial support for ADV7180 V4L/DVB (13018): kzalloc failure ignored in au8522_probe() V4L/DVB (13017): gspca: kmalloc failure ignored in sd_start() V4L/DVB (13016): kmalloc failure ignored in lgdt3304_attach() and s921_attach() V4L/DVB (13015): kmalloc failure ignored in m920x_firmware_download() V4L/DVB (13014): Add support for Compro VideoMate E800 (DVB-T part only) V4L/DVB (13013): FM TX: si4713: Kconfig: Fixed two typos. V4L/DVB (13012): uvc: introduce missing kfree V4L/DVB (13011): Change tuner type of BeholdTV cards V4L/DVB (13009): gspca - stv06xx-hdcs: Reduce exposure range ... commit 33e6c1a0de818d3698cdab27c42915661011319d Merge: 0b887ef 7cce2f4 Author: Linus Torvalds Date: Mon Sep 21 08:15:18 2009 -0700 Merge branch 'linux-next' of git://git.infradead.org/ubifs-2.6 * 'linux-next' of git://git.infradead.org/ubifs-2.6: UBIFS: fix debugging dump UBIFS: improve lprops dump UBIFS: various minor commentary fixes UBIFS: improve journal head debugging prints UBIFS: define journal head numbers in ubifs-media.h UBIFS: amend commentaries UBIFS: check ubifs_scan error codes better UBIFS: do not print scary error messages needlessly UBIFS: add inode size debugging check UBIFS: constify file and inode operations UBIFS: remove unneeded call from ubifs_sync_fs UBIFS: kill BKL UBIFS: remove unused functions UBIFS: suppress compilation warning commit 0b887ef19d7319263f31babc2a7855bc92865c0e Merge: 44040f1 de75c77 Author: Linus Torvalds Date: Mon Sep 21 08:13:55 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: improve NOR flash erasure quirk UBI: introduce flash dump helper UBI: eliminate possible undefined behaviour UBI: print a warning if too many PEBs are corrupted UBI: amend NOR flash pre-erase quirk UBI: print a message if ECH is corrupted and VIDH is ok commit 285a0f00c27a02f1223a198c88de2130e9bab059 Author: J. Bruce Fields Date: Sun Sep 20 17:01:33 2009 -0400 nfsd: revise 4.1 status documentation Some small updates, a caveat about the minorversion control interface, and an attempt to put missing features in context. Signed-off-by: J. Bruce Fields commit 44040f107e64d689ccd3211ac62c6bc44f3f0775 Merge: 388dba3 28d5204 Author: Linus Torvalds Date: Mon Sep 21 08:10:09 2009 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (133 commits) drm/vgaarb: add VGA arbitration support to the drm and kms. drm/radeon: some r420s have a CP race with the DMA engine. drm/radeon/r600/kms: rv670 is not DCE3 drm/radeon/kms: r420 idle after programming GA_ENHANCE drm/radeon/kms: more fixes to rv770 suspend/resume path. drm/radeon/kms: more alignment for rv770.c with r600.c drm/radeon/kms: rv770 blit init called too late. drm/radeon/kms: move around new init path code to avoid posting at init drm/radeon/r600: fix some issues with suspend/resume. drm/radeon/kms: disable VGA rendering engine before taking over VRAM drm/radeon/kms: Move radeon_get_clock_info() call out of radeon_clocks_init(). drm/radeon/kms: add initial connector properties drm/radeon/kms: Use surfaces for scanout / cursor byte swapping on big endian. drm/radeon/kms: don't fail if we fail to init GPU acceleration drm/r600/kms: fixup number of loops per blit calculation. drm/radeon/kms: reprogram format in set base. drm/radeon: avivo chips have no separate int bit for display drm/radeon/r600: don't do interrupts drm: fix _DRM_GEM addmap error message drm: update crtc x/y when only fb changes ... Fixed up trivial conflicts in firmware/Makefile due to network driver (cxgb3) and drm (mga/r128/radeon) firmware being listed next to each other. commit 388dba30471c236a290c4082bce5f2b5cd1a7a06 Author: Ingo Molnar Date: Mon Sep 21 08:56:58 2009 +0200 Driver-Core: fix devnode callbacks for dabusb and industrialio The build of the dabusb driver broke: drivers/media/video/dabusb.c:758: error: unknown field 'nodename' specified in initializer drivers/media/video/dabusb.c:758: warning: initialization from incompatible pointer type make[3]: *** wait: No child processes. Stop. Due to this commit: e454cea: Driver-Core: extend devnode callbacks to provide permissions Missing the dabusb driver's dabusb_nodename() callback. Similar issues with the iio/industrialio driver in staging, pointed out and patched by Jean Delvare. Signed-off-by: Ingo Molnar Industrialio-parts-by: Jean Delvare Signed-off-by: Linus Torvalds commit 48d0764998ad4ab7570afab8bb3bee0fbfa55b2a Author: Jens Axboe Date: Mon Sep 21 09:59:39 2009 +0200 nfs: initialize the backing_dev_info when creating the server NFS may free the server structure without ever having used the bdi, so we either need to flag the bdi as being uninitialized or initialize it up front. This does the latter. This fixes a crash with mounting more than one NFS file system, should people ever need that kind of obscure NFS functionality. Tested-by: Peter Zijlstra Acked-by: Trond Myklebust Signed-off-by: Jens Axboe commit 87c6a9b253520b66e7f5e8f67a37a701eaa51cee Author: Jens Axboe Date: Thu Sep 17 19:59:14 2009 +0200 writeback: make balance_dirty_pages() gradually back more off Currently it just sleeps for a very short time, just 1 jiffy. If we keep looping in there, continually delay for a little longer of up to 100msec in total. That was the old limit for congestion wait. Signed-off-by: Jens Axboe commit 3542a5c0de3d5b33227214a692bf9b12e249078e Author: Jens Axboe Date: Thu Sep 17 19:56:01 2009 +0200 writeback: don't use schedule_timeout() without setting runstate Just use schedule_timeout_interruptible(), saves a call to set_current_state(). Signed-off-by: Jens Axboe commit 92f25053c0189f8d2887f837d3936cdca1cdf730 Author: Jens Axboe Date: Thu Sep 17 14:51:44 2009 +0200 nfs: nfs_kill_super() should call bdi_unregister() after killing super Otherwise we could be attempting to flush data for a writeback thread and bdi that have already disappeared. Signed-off-by: Jens Axboe commit 24ed7a97464db44592495f98cff8bcee02f92bc2 Author: Uwe Kleine-Koenig Date: Mon Sep 21 10:39:22 2009 +0200 trivial: fix typo in aic7xxx comment Signed-off-by: Uwe Kleine-König Signed-off-by: Jiri Kosina commit ad452d64c625147c77fca7e3986d59d1826fca84 Author: Krzysztof Halasa Date: Sun Sep 20 16:22:51 2009 +0200 trivial: fix comment typo in drivers/ata/pata_hpt37x.c A comment fix in drivers/ata/pata_hpt37x.c. Signed-off-by: Krzysztof Ha³asa Signed-off-by: Jiri Kosina commit a9ed83a581d01b8330cd1fc867fd8a770342828f Author: Stephen Hemminger Date: Thu Sep 17 14:14:45 2009 -0700 trivial: typo in kernel-parameters.txt Signed-off-by: Stephen Hemminger Signed-off-by: Jiri Kosina commit 6afb1c65d0e67547cef19e2d4c40f7b2d8578bff Author: Michal Sojka Date: Thu Sep 10 08:02:21 2009 +0200 trivial: fix typo in tracing documentation Signed-off-by: Michal Sojka Signed-off-by: Jiri Kosina commit 59f6a6c6e5625474b5e8e73a59425935b0028cfc Author: Peter Huewe Date: Sun Aug 23 02:01:10 2009 +0200 trivial: add __init/__exit macros in drivers/gpio/bt8xxgpio.c Trivial patch which adds the __init/__exit macro to the init/exit functions of drivers/gpio/bt8xxgpio.c Signed-off-by: Peter Huewe Acked-by: Michael Buesch Signed-off-by: Jiri Kosina commit 0e6b9e8c2c7b55569333a15e39d684dec986e226 Author: Peter Huewe Date: Sun Aug 23 01:46:55 2009 +0200 trivial: add __init macro/ fix of __exit macro location in ipmi_poweroff.c Trivial patch which adds the __init to the module_init function of drivers/char/ipmi/ipmy_poweroff.c and corrects the location of __exit for the cleanup function. Signed-off-by: Peter Huewe Acked-by: Corey Minyard Signed-off-by: Jiri Kosina commit a419aef8b858a2bdb98df60336063d28df4b272f Author: Joe Perches Date: Tue Aug 18 11:18:35 2009 -0700 trivial: remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Jiri Kosina commit 2944fcbe03d65a704f07e43efe14adb0d226fd09 Author: Uwe Kleine-Koenig Date: Wed Aug 5 22:06:42 2009 +0200 trivial: Fix duplicated word "options" in comment this was introduced in 5e0a093 (tracing: fix config options to not show when automatically selected) Signed-off-by: Uwe Kleine-Koenig Cc: Steven Rostedt Cc: trivial@kernel.org Signed-off-by: Jiri Kosina commit f0a75770bde5cb5f9596bd0256d8ec3649720525 Author: Trevor Keith Date: Fri Jul 24 11:29:29 2009 -0700 trivial: kbuild: remove extraneous blank line after declaration of usage() Signed-off-by: Trevor Keith Signed-off-by: Jiri Kosina commit 22f8b458223151272f6a1e57847b90979958cc7b Author: Frans Pop Date: Fri Jul 24 05:31:17 2009 +0200 trivial: improve help text for mm debug config options Improve the help text for PAGE_POISONING. Also fix some typos and improve consistency within the file. Signed-of-by: Frans Pop Signed-off-by: Jiri Kosina commit be3990b7efbe8784fe063fb6871a772c0703891a Author: Frans Pop Date: Sat Jul 25 21:00:12 2009 +0200 trivial: doc: hpfall: accept disk device to unload as argument Allows users who use an IDE driver for their disk to use hpfall without having to modify the source. By default /dev/sda is used. Suggested by Christian Thaeter in http://lkml.org/lkml/2009/3/25/505. While we're add it, improve error message if opening /dev/freefall fails. Signed-off-by: Frans Pop Cc: Christian Thaeter Acked-by: Pavel Machek Signed-off-by: Jiri Kosina commit 2bace8b95108746f6123d312f47f5bda4eb17a26 Author: Christian Thaeter Date: Sat Jul 25 20:55:15 2009 +0200 trivial: doc: hpfall: reduce risk that hpfall can do harm Improve the example code to be at least useable, as in not causing harm (as shown below). Code can still be improved further, but this adds some basic safeguards. 1. hpfall *MUST* mlockall(MCL_CURRENT|MCL_FUTURE); itself! Since the Program sits and waits most of the time it becomes very likely swapped out. If it gets woken up when the laptop drops from the table while it is swapped out it actually triggers harddrive activity! 2. Daemonize hpfall using 'daemon(0,0)' (quick and dirty). 3. Give hpfall realtime priority. Should give a chance that it has less latency when woken up. Signed-off-by: Christian Thaeter Signed-off-by: Frans Pop Acked-by: Pavel Machek Signed-off-by: Jiri Kosina commit 8103b5cc6216d461047514d188248bd14873624a Author: Michael Brunner Date: Tue Aug 4 00:41:11 2009 +0200 trivial: SubmittingPatches: Fix reference to renumbered step This patch fixes a reference to step "Select e-mail destination." which has been renumbered from 4) to 5) in linux-2.6.22. Signed-off-by: Michael Brunner Acked-by: Randy Dunlap Signed-off-by: Jiri Kosina commit 3dbda77e6f3375f87090cfce97b2551d3723521b Author: Uwe Kleine-Koenig Date: Thu Jul 23 08:31:31 2009 +0200 trivial: fix typos "man[ae]g?ment" -> "management" Signed-off-by: Uwe Kleine-Koenig Signed-off-by: Jiri Kosina commit 31d0f84591b3bf49801a7e3f905a6089d857aa87 Author: Peter Huewe Date: Fri Jul 17 01:00:01 2009 +0200 trivial: media/video/cx88: add __init/__exit macros to cx88 drivers Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions to several files in drivers/media/video/cx88/ Signed-off-by: Peter Huewe Acked-by: Mauro Carvalho Chehab Signed-off-by: Jiri Kosina commit 3c78f5d81ae8131a24577b5551a6d1467b30e0af Author: Marton Nemeth Date: Wed Jul 22 22:44:23 2009 +0200 trivial: fix typo in CONFIG_DEBUG_FS in gcov doc The correct name is CONFIG_DEBUG_FS, add the missing underscore. Signed-off-by: Marton Nemeth Signed-off-by: Jiri Kosina commit 7da8b6ddc7a03346f825925e0d981ca2bd1ed617 Author: Michael Tokarev Date: Wed Jul 22 17:50:23 2009 +0400 trivial: fix missing printk space in amd_k7_smp_check This trivial patch fixes one missing space in printk. I already fixed it about half a year ago or more, but the change (in arch/x86/kernel/cpu/smpboot.c at that time) didn't made into mainline yet. Signed-off-by: Michael Tokarev index 28e5f59..6c139ed 100644 Signed-off-by: Jiri Kosina commit 36726dd9229af008f31edd46b22a658354783232 Author: Thadeu Lima de Souza Cascardo Date: Tue Jul 21 15:57:47 2009 -0300 trivial: fix typo s/ketymap/keymap/ in comment Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Jiri Kosina commit fd589a8f0a13f53a2dd580b1fe170633cf6b095f Author: Anand Gadiyar Date: Thu Jul 16 17:13:03 2009 +0200 trivial: fix typo "to to" in multiple files Signed-off-by: Anand Gadiyar Signed-off-by: Jiri Kosina commit 4f37940d64a155c025968118849b596f6aaa8128 Author: Samuel R. C. Vale Date: Fri Jul 10 12:07:15 2009 -0300 trivial: fix typos in comments s/DGBU/DBGU/ DBGU means Debug Unit, was refered as "DGBU" in some files. Fixed to "DBGU". Signed-off-by: Samuel R. C. Vale Acked-by: Andrew Victor Signed-off-by: Jiri Kosina commit 3f6db50f1ebc4fa797445dd89af7211cafc52a92 Author: Peter Huewe Date: Fri Jul 3 14:39:40 2009 +0200 trivial: media/omap: adding __init/__exit macros to lcd_drivers Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions to several files in drivers/video/omap/ Signed-off-by: Peter Huewe Signed-off-by: Jiri Kosina commit 411c94038594b2a3fd123d09bdec3fe2500e383d Author: Anand Gadiyar Date: Tue Jul 7 15:24:23 2009 +0530 trivial: fix typo "for for" in multiple files trivial: fix typo "for for" in multiple files Signed-off-by: Anand Gadiyar Signed-off-by: Jiri Kosina commit 786d8ca341a30296264bc6cebac52d37b0851647 Author: Robert P. J. Day Date: Sat Jul 4 20:44:04 2009 -0400 trivial: Remove commented out usage of dead MODULE_PARM() in swarm_cs4297a Get rid of that commented usage of the now defunct MODULE_PARM macro. Signed-off-by: Robert P. J. Day Signed-off-by: Jiri Kosina commit b7f5ab6fbbb9459a91c0acae15097a495f800206 Author: Horst Schirmeier Date: Fri Jul 3 14:20:17 2009 +0200 trivial: doc: document missing value 2 for randomize-va-space The documentation for /proc/sys/kernel/* does not mention the possible value 2 for randomize-va-space yet. While being there, doing some reformatting, fixing grammar problems and clarifying the correlations between randomize-va-space, kernel parameter "norandmaps" and the CONFIG_COMPAT_BRK option. Signed-off-by: Horst Schirmeier Signed-off-by: Jiri Kosina commit 627df23c61ce28043a0715a941605ab42dfeb05e Author: Peter Huewe Date: Thu Jun 11 02:23:33 2009 +0200 trivial: mtd: add __init/__exit macros to init/exitfunctions Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions to the following modules from drivers/mtd/ devices/m25p80.c devices/slram.c linux version 2.6.30 ftl.c nand/cafe_nand.c nand/cmx270_nand.c Signed-off-by: Peter Huewe Signed-off-by: Jiri Kosina commit fe002a419755f991e1219249c8ffe7dc0b798232 Author: Robert P. J. Day Date: Sun Jun 28 21:10:07 2009 -0400 trivial: Correct print_tainted routine name in comment Signed-off-by: Robert P. J. Day Signed-off-by: Jiri Kosina commit b9049df5a0e7f35456c06b949b08b898b9c2e7bc Author: Dmitri Vorobiev Date: Tue Jun 23 12:09:29 2009 +0200 Change "useing" -> "using". Signed-off-by: Dmitri Vorobiev Signed-off-by: Jiri Kosina commit b519c15d4aacb3706bfff86ba316f9ed81b5032a Author: Frans Pop Date: Mon Jun 22 11:08:36 2009 +0200 trivial: cleanup hpfall example code (checkpatch) This patch makes hpfall.c conform to kernel coding style. I have not fixed the C99 // comments on two lines as they help indicate that those are not actually comments but incomplete code. Before: total: 10 errors, 6 warnings, 101 lines checked After: total: 2 errors, 0 warnings, 99 lines checked Signed-off-by: Frans Pop Acked-by: Pavel Machek Signed-off-by: Jiri Kosina commit cf83011d8faec99de51d6ba8879c0c61cf31e836 Author: Markus Heidelberg Date: Fri Jun 12 01:00:28 2009 +0200 trivial: update the Kernel Janitors' web-page URL The former address cannot be resolved. Signed-off-by: Markus Heidelberg Signed-off-by: Jiri Kosina commit 7d3392e54653171bd13467bf37f1182e83fadd08 Author: Markus Heidelberg Date: Fri Jun 12 01:02:35 2009 +0200 trivial: remove references to non-existent include/linux/config.h Ignore drivers/staging/ since it is very likely that new drivers introduce it again. Signed-off-by: Markus Heidelberg Signed-off-by: Jiri Kosina commit 3c36543aeadae32ed61251fa364881645456eb30 Author: Peter Huewe Date: Fri Jun 12 13:07:29 2009 +0200 trivial: add __init/__exit macros to DAC960.c Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions from drivers/block/DAC960.c Signed-off-by: Peter Huewe Signed-off-by: Jiri Kosina commit 4b26d50b33637b5b0e6dd84a4e0f38036999a192 Author: Anand Gadiyar Date: Mon Jun 22 15:55:45 2009 +0530 trivial: OHCI: Fix typo in a comment trivial: OHCI: Fix typo in a comment Signed-off-by: Anand Gadiyar Signed-off-by: Jiri Kosina commit 47a0dfaad9eb82b16193477cf99c2462af03c329 Author: Ori Avtalion Date: Tue Jun 16 12:17:53 2009 +0300 trivial: fix typo in namei.h comment Signed-off-by: Ori Avtalion Signed-off-by: Jiri Kosina commit bcf56442429a15bdd6e1d81a9d4c89f93a44fdf7 Author: GeunSik Lim Date: Tue Jun 16 10:26:25 2009 +0200 trivial: change address of the libcap source. This is patch to change ftp site of the libcap source. "ftp://linux.kernel.org" address does not exist. Signed-off-by: GeunSik Lim Signed-off-by: Jiri Kosina commit 8fdc9e870c07054bc34a62a4655cdb078953255d Author: Tim Blechmann Date: Mon Sep 21 15:00:57 2009 +0200 ALSA: lx6464es - remove unused struct member we cannot set the sampling rate of the device, but can only read it from the board, so we don't need the member for it. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit 95eff499c96ac728307fd34cbf1a28ea20a5b615 Author: Tim Blechmann Date: Mon Sep 21 15:00:22 2009 +0200 ALSA: lx6464es - cleanup of rmh message bus function the rmh bus is not used asynchronously, so it is safe to remove the specific code pieces. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit d3a7dcfeeb6856215412065bd0f774de83f43414 Author: Takashi Iwai Date: Thu Sep 17 18:46:26 2009 +0200 ALSA: pcm - Simplify snd_pcm_drain() implementation Simplify snd_pcm_drain() implementation and avoid unneeded array- allocation for waitqueues. Instead, one waitqueue is used for the first draining stream, and wait until all streams finished. Signed-off-by: Takashi Iwai commit 57c0c15b5244320065374ad2c54f4fbec77a6428 Author: Ingo Molnar Date: Mon Sep 21 12:20:38 2009 +0200 perf: Tidy up after the big rename - provide compatibility Kconfig entry for existing PERF_COUNTERS .config's - provide courtesy copy of old perf_counter.h, for user-space projects - small indentation fixups - fix up MAINTAINERS - fix small x86 printout fallout - fix up small PowerPC comment fallout (use 'counter' as in register) Reviewed-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit cdd6c482c9ff9c55475ee7392ec8f672eddb7be6 Author: Ingo Molnar Date: Mon Sep 21 12:02:48 2009 +0200 perf: Do the big rename: Performance Counters -> Performance Events Bye-bye Performance Counters, welcome Performance Events! In the past few months the perfcounters subsystem has grown out its initial role of counting hardware events, and has become (and is becoming) a much broader generic event enumeration, reporting, logging, monitoring, analysis facility. Naming its core object 'perf_counter' and naming the subsystem 'perfcounters' has become more and more of a misnomer. With pending code like hw-breakpoints support the 'counter' name is less and less appropriate. All in one, we've decided to rename the subsystem to 'performance events' and to propagate this rename through all fields, variables and API names. (in an ABI compatible fashion) The word 'event' is also a bit shorter than 'counter' - which makes it slightly more convenient to write/handle as well. Thanks goes to Stephane Eranian who first observed this misnomer and suggested a rename. User-space tooling and ABI compatibility is not affected - this patch should be function-invariant. (Also, defconfigs were not touched to keep the size down.) This patch has been generated via the following script: FILES=$(find * -type f | grep -vE 'oprofile|[^K]config') sed -i \ -e 's/PERF_EVENT_/PERF_RECORD_/g' \ -e 's/PERF_COUNTER/PERF_EVENT/g' \ -e 's/perf_counter/perf_event/g' \ -e 's/nb_counters/nb_events/g' \ -e 's/swcounter/swevent/g' \ -e 's/tpcounter_event/tp_event/g' \ $FILES for N in $(find . -name perf_counter.[ch]); do M=$(echo $N | sed 's/perf_counter/perf_event/g') mv $N $M done FILES=$(find . -name perf_event.*) sed -i \ -e 's/COUNTER_MASK/REG_MASK/g' \ -e 's/COUNTER/EVENT/g' \ -e 's/\/event_id/g' \ -e 's/counter/event/g' \ -e 's/Counter/Event/g' \ $FILES ... to keep it as correct as possible. This script can also be used by anyone who has pending perfcounters patches - it converts a Linux kernel tree over to the new naming. We tried to time this change to the point in time where the amount of pending patches is the smallest: the end of the merge window. Namespace clashes were fixed up in a preparatory patch - and some stylistic fallout will be fixed up in a subsequent patch. ( NOTE: 'counters' are still the proper terminology when we deal with hardware registers - and these sed scripts are a bit over-eager in renaming them. I've undone some of that, but in case there's something left where 'counter' would be better than 'event' we can undo that on an individual basis instead of touching an otherwise nicely automated patch. ) Suggested-by: Stephane Eranian Acked-by: Peter Zijlstra Acked-by: Paul Mackerras Reviewed-by: Arjan van de Ven Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Benjamin Herrenschmidt Cc: David Howells Cc: Kyle McMartin Cc: Martin Schwidefsky Cc: "David S. Miller" Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit dfc65094d0313cc48969fa60bcf33d693aeb05a7 Author: Ingo Molnar Date: Mon Sep 21 11:31:35 2009 +0200 perf_counter: Rename 'event' to event_id/hw_event In preparation to the renames, to avoid a namespace clash. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 65abc8653c282ded3dbdb9ec1227784140ba28cd Author: Ingo Molnar Date: Mon Sep 21 10:18:27 2009 +0200 perf_counter: Rename list_entry -> group_entry, counter_list -> group_list This is in preparation of the big rename, but also makes sense in a standalone way: 'list_entry' is a bad name as we already have a list_entry() in list.h. Also, the 'counter list' is too vague, it doesnt tell us the purpose of that list. Clarify these names to show that it's all about the group hiearchy. Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit ae82bfd61ca7e57cc2d914add9ab0873e260f2f5 Merge: cd74c86 ebc79c4 Author: Ingo Molnar Date: Mon Sep 21 12:51:27 2009 +0200 Merge branch 'linus' into perfcounters/rename Merge reason: pull in all the latest code before doing the rename. Signed-off-by: Ingo Molnar commit 7cce2f4cb7f5f641f78c8e3eea4e7b1b96cb71c0 Merge: e055f7e ebc79c4 Author: Artem Bityutskiy Date: Mon Sep 21 12:09:22 2009 +0300 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into linux-next Conflicts: fs/ubifs/super.c Merge the upstream tree in order to resolve a conflict with the per-bdi writeback changes from the linux-2.6-block tree. commit 0d721ceadbeaa24d7f9dd41b3e5e29912327a7e1 Author: Peter Williams Date: Mon Sep 21 01:31:53 2009 +0000 sched: Simplify sys_sched_rr_get_interval() system call By removing the need for it to know details of scheduling classes. This allows PlugSched to define orthogonal scheduling classes. Signed-off-by: Peter Williams Acked-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <06d1b89ee15a0eef82d7.1253496713@mudlark.pw.nest> Signed-off-by: Ingo Molnar commit cd74c86bdf705f824d494a2bbda393d1d562b40a Author: Paul Mackerras Date: Mon Sep 21 16:44:32 2009 +1000 perf_counter, powerpc, sparc: Fix compilation after perf_counter_overflow() change Commit 5622f295 ("x86, perf_counter, bts: Optimize BTS overflow handling") removed the regs field from struct perf_sample_data and added a regs parameter to perf_counter_overflow(). This breaks the build on powerpc (and Sparc) as reported by Sachin Sant: arch/powerpc/kernel/perf_counter.c: In function 'record_and_restart': arch/powerpc/kernel/perf_counter.c:1165: error: unknown field 'regs' specified in initializer This adjusts arch/powerpc/kernel/perf_counter.c to correspond with the new struct perf_sample_data and perf_counter_overflow(). [ v2: also fix Sparc, Markus Metzger ] Reported-by: Sachin Sant Signed-off-by: Paul Mackerras Cc: Markus Metzger Cc: David S. Miller Cc: benh@kernel.crashing.org Cc: linuxppc-dev@ozlabs.org Cc: Peter Zijlstra LKML-Reference: <19127.8400.376239.586120@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 28d520433b6375740990ab99d69b0d0067fd656b Author: Dave Airlie Date: Mon Sep 21 14:33:58 2009 +1000 drm/vgaarb: add VGA arbitration support to the drm and kms. VGA arb requires DRM support for non-kms drivers, to turn on/off irqs when disabling the mem/io regions. VGA arb requires KMS support for GPUs where we can turn off VGA decoding. Currently we know how to do this for intel and radeon kms drivers, which allows them to be removed from the arbiter. This patch comes from Fedora rawhide kernel. Signed-off-by: Dave Airlie commit aadd4e17452d3d5c2269cd2b000b7de7cfb6c79e Author: Alex Deucher Date: Mon Sep 21 14:48:45 2009 +1000 drm/radeon: some r420s have a CP race with the DMA engine. This patch makes sure the CP doesn't DMA do VRAM while 2D is active by inserting a CP resync token. todo: port to kms. Signed-off-by: Dave Airlie commit 5a6e9f9658c853fea8ebbf64cd36287f00a011a2 Author: Alex Deucher Date: Fri Sep 18 11:30:30 2009 -0400 drm/radeon/r600/kms: rv670 is not DCE3 RV670 was using the wrong modesetting code. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit abe1ee3a221d53778c3e58747bbec6e518e5471b Author: Tim Abbott Date: Sun Sep 20 18:14:15 2009 -0400 Use macros for .data.page_aligned section. This patch changes the remaining direct references to .data.page_aligned in C and assembly code to use the macros in include/linux/linkage.h. Signed-off-by: Tim Abbott Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Cc: Haavard Skinnemoen Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Martin Schwidefsky Signed-off-by: Sam Ravnborg commit 02b7da37f7acd49277dea1481dc0c5c246c09732 Author: Tim Abbott Date: Sun Sep 20 18:14:14 2009 -0400 Use macros for .bss.page_aligned section. This patch changes the remaining direct references to .bss.page_aligned in C and assembly code to use the macros in include/linux/linkage.h. Signed-off-by: Tim Abbott Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Acked-by: Paul Mundt Cc: Chris Zankel Signed-off-by: Sam Ravnborg commit d200c922bc2b1ac88b8d33b6cfff2ed837af186a Author: Joe Perches Date: Sun Sep 20 18:14:13 2009 -0400 Use new __init_task_data macro in arch init_task.c files. Signed-off-by: Joe Perches Signed-off-by: Tim Abbott Acked-by: Paul Mundt Signed-off-by: Sam Ravnborg commit 42f29a25207dc7b3051d299cc028d4b395d1328d Author: Tim Abbott Date: Sun Sep 20 18:14:12 2009 -0400 kbuild: Don't define ALIGN and ENTRY when preprocessing linker scripts. Adding a reference to to x86's causes the x86 linker script to have syntax errors, because the ALIGN and ENTRY keywords get redefined to the assembly implementations of those. One could fix this by adjusting the include structure, but I think any solution based on that approach would be fragile. Currently, it is impossible when writing a header to do something different for assembly files and linker scripts, even though there are clearly cases where one wants them to define macros differently for the two (ENTRY being an excellent example). So I think the right solution here is to introduce a new preprocessor definition, called LINKER_SCRIPT that is set along with __ASSEMBLY__ for linker scripts, and to use that to not define ALIGN and ENTRY in linker scripts. I suspect we'll find other uses for this mechanism in the future. Signed-off-by: Tim Abbott Signed-off-by: Sam Ravnborg commit 18a4cd2e9147dd41234dade56edb62c6222832eb Author: Dave Airlie Date: Mon Sep 21 14:15:10 2009 +1000 drm/radeon/kms: r420 idle after programming GA_ENHANCE https://bugs.freedesktop.org/show_bug.cgi?id=24041 The idle allows rs690 to startup properly. Signed-off-by: Dave Airlie commit fe62e1a45d8b11cf653cba79e244fc07bb9a84b0 Author: Dave Airlie Date: Mon Sep 21 14:06:30 2009 +1000 drm/radeon/kms: more fixes to rv770 suspend/resume path. This resumes my RV730PRO (4650) RV770 (4850) fine. Still researching the RV4550 (RV710), resumes without X fine. Signed-off-by: Dave Airlie commit ebc79c4f8da0f92efa968e0328f32334a2ce80cf Merge: dcbb559 5ac7687 Author: Linus Torvalds Date: Sun Sep 20 16:02:06 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6: includecheck fix: x86, cpu/common.c includecheck fix: kernel/trace, ring_buffer.c includecheck fix: include/linux, ftrace.h includecheck fix: include/linux, page_cgroup.h includecheck fix: include/linux, aio.h includecheck fix: include/drm, drm_memory.h includecheck fix: include/acpi, acpi_bus.h includecheck fix: drivers/xen, evtchn.c includecheck fix: drivers/video, vgacon.c includecheck fix: drivers/scsi, ibmvscsi.c includecheck fix: drivers/scsi, libfcoe.c includecheck fix: x86, shadow.c includecheck fix: x86, traps.c includecheck fix: um, helper.c includecheck fix: s390, sys_s390.c commit dcbb5593d980bbf4ceef320f8c75210398ed84db Author: Linus Torvalds Date: Sun Sep 20 15:57:28 2009 -0700 loongson: fix cut-and-paste mis-merge Ingo points out that I screwed up when merging the 'timers-for-linus' branch in commit a03fdb7612874834d6847107198712d18b5242c7. A bit too much copy-and-pasting caused the end result to have an extraneous 'return' in the middle of an expression. That was obviously bogus. Blush. Reported-by-with-patch: Ingo Molnar Signed-off-by: Linus Torvalds commit 996a798abb36aa92d0bad64ba23f4c685ce39537 Merge: a57c21c 5d3f333 Author: Linus Torvalds Date: Sun Sep 20 15:55:56 2009 -0700 Merge branch 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux * 'next-i2c' of git://aeryn.fluff.org.uk/bjdooks/linux: [PATCH] i2c-imx: make bus available early i2c-mv64xxx: correct mv64xxx_i2c_intr() return type commit a57c21c7159e07c27e317ea3513dfb382be3f153 Merge: e11c675 e454cea Author: Linus Torvalds Date: Sun Sep 20 15:55:39 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: extend devnode callbacks to provide permissions commit e11c675ede0d42a405ae595528bf0b29ce1ae56f Merge: 467f995 7bd032d Author: Linus Torvalds Date: Sun Sep 20 15:55:17 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: (79 commits) USB serial: update the console driver usb-serial: straighten out serial_open usb-serial: add missing tests and debug lines usb-serial: rename subroutines usb-serial: fix termios initialization logic usb-serial: acquire references when a new tty is installed usb-serial: change logic of serial lookups usb-serial: put subroutines in logical order usb-serial: change referencing of port and serial structures tty: Char: mxser, use THRE for ASPP_OQUEUE ioctl tty: Char: mxser, add support for CP112UL uartlite: support shared interrupt lines tty: USB: serial/mct_u232, fix tty refcnt tty: riscom8, fix tty refcnt tty: riscom8, fix shutdown declaration TTY: fix typos tty: Power: fix suspend vt regression tty: vt: use printk_once tty: handle VT specific compat ioctls in vt driver n_tty: move echoctl check and clean up logic ... commit 467f9957d9283be40101d7255d06fae7e211ff4c Merge: 78f28b7 cdf8073 Author: Linus Torvalds Date: Sun Sep 20 15:54:37 2009 -0700 Merge branch 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (58 commits) perf_counter: Fix perf_copy_attr() pointer arithmetic perf utils: Use a define for the maximum length of a trace event perf: Add timechart help text and add timechart to "perf help" tracing, x86, cpuidle: Move the end point of a C state in the power tracer perf utils: Be consistent about minimum text size in the svghelper perf timechart: Add "perf timechart record" perf: Add the timechart tool perf: Add a SVG helper library file tracing, perf: Convert the power tracer into an event tracer perf: Add a sample_event type to the event_union perf: Allow perf utilities to have "callback" options without arguments perf: Store trace event name/id pairs in perf.data perf: Add a timestamp to fork events sched_clock: Make it NMI safe perf_counter: Fix up swcounter throttling x86, perf_counter, bts: Optimize BTS overflow handling perf sched: Add --input=file option to builtin-sched.c perf trace: Sample timestamp and cpu when using record flag perf tools: Increase MAX_EVENT_LENGTH perf tools: Fix memory leak in read_ftrace_printk() ... commit 6399c087458859cddff2d6b46befb95b866df3e0 Author: Alok Kataria Date: Fri Sep 4 13:13:39 2009 -0700 x86: Print the hypervisor returned tsc_khz during boot On an AMD-64 system the processor frequency that is printed during system boot, may be different than the tsc frequency that was returned by the hypervisor, due to the value returned from calibrate_cpu. For debugging timekeeping or other related issues it might be better to get the tsc_khz value returned by the hypervisor. The patch below now prints the tsc frequency that the VMware hypervisor returned. Signed-off-by: Alok N Kataria LKML-Reference: <1252095219.12518.13.camel@ank32.eng.vmware.com> Signed-off-by: Ingo Molnar commit bfefb7a0c6e08736f2d5917c468467f134bf28bb Merge: 8d0cc63 78f28b7 Author: Ingo Molnar Date: Sun Sep 20 20:24:58 2009 +0200 Merge branch 'linus' into x86/urgent Merge reason: Bring in changes that the next patch will depend on. Signed-off-by: Ingo Molnar commit 8d0cc631f6dd0a9283ceb7d61d8b85ecbcd355ea Author: Jan Beulich Date: Fri Sep 4 09:18:07 2009 +0100 x86: Correct segment permission flags in 64-bit linker script While these don't get actively used (afaict), it still doesn't hurt for them to properly reflect what how respective segments will get mapped/ accessed. Signed-off-by: Jan Beulich LKML-Reference: <4AA0E95F0200007800013707@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 5f68563996e812f9ca35b3939ad2a42e5d254d66 Author: Jan Beulich Date: Fri Sep 4 09:16:22 2009 +0100 x86: cpuinit-annotate SMP boot trampolines properly Add missing annotations, and make use of include/linux/init.h's macros. Signed-off-by: Jan Beulich LKML-Reference: <4AA0E8F60200007800013703@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit 414128bd33fef3242747154dfa444970bc5caf4c Author: Jan Beulich Date: Fri Sep 4 09:13:49 2009 +0100 x86: Increase timeout for EHCI debug port reset completion in early printk On one of my systems, several thousand iterations are needed before CMD_RESET can be observed clear after setting it. Using a much higher value here obviously cannot hurt. Signed-off-by: Jan Beulich Cc: Yinghai Lu LKML-Reference: <4AA0E85D02000078000136F9@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit cb5fd13f1178dee4302646b2890d884c380160e1 Author: Yong Zhang Date: Mon Sep 14 20:20:16 2009 +0800 sched: Fix potential NULL derference of doms_cur If CONFIG_CPUMASK_OFFSTACK is enabled but doms_cur alloc failed in arch_init_sched_domains(), doms_cur will move back to fallback_doms. But this time, fallback_doms has not been initialized yet. Signed-off-by: Yong Zhang Cc: a.p.zijlstra@chello.nl LKML-Reference: <1252930816-7672-1-git-send-email-yong.zhang0@gmail.com> Signed-off-by: Ingo Molnar commit 4fe487828b912ca004b4f4505275ab164ed6ce9f Author: Sergey Senozhatsky Date: Thu Sep 17 15:54:01 2009 +0300 x86: Fix uaccess_32.h typo Trivial: correct "that the we don't" typo. Signed-off-by: Sergey Senozhatsky LKML-Reference: <20090917125401.GU3717@localdomain.by> Signed-off-by: Ingo Molnar commit 878f4f533e5b4498215e67e0f886b0fc81417f5e Author: Felipe Contreras Date: Thu Sep 17 00:38:38 2009 +0300 x86: Trivial whitespace cleanups Signed-off-by: Felipe Contreras Cc: Vegard Nossum Cc: Pekka Enberg Cc: Andrew Morton Cc: Alok N Kataria Cc: "Tan Wei Chong" Cc: Len Brown Cc: Lin Ming Cc: Bob Moore LKML-Reference: <1253137123-18047-2-git-send-email-felipe.contreras@gmail.com> Signed-off-by: Ingo Molnar commit 8312136fa8b0a3ec7323bbb1a46be8c0c26e994e Author: Cyrill Gorcunov Date: Tue Sep 15 11:12:30 2009 +0400 x86, apic: Fix missed handling of discrete apics In case of discrete (pretty old) apics we may have cpu_has_apic bit not set but have to check if smp_found_config (MP spec) is there and apic was not disabled. Also don't forget to print apic/io-apic for such case as well. Signed-off-by: Cyrill Gorcunov Cc: "Maciej W. Rozycki" Cc: Yinghai Lu LKML-Reference: <20090915071230.GA10604@lenovo> Signed-off-by: Ingo Molnar commit efc8f7419ea0a97c38d0b80785c8c3d9ab8a4872 Author: Huang Weiyi Date: Fri Sep 18 06:39:15 2009 +0800 x86/i386: Remove duplicated #include Remove duplicated #include in: arch/x86/kernel/cpu/common.c Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit 583a22e7c154dc0a3938db522696b4bc7f098f59 Author: Alexey Dobriyan Date: Fri Sep 18 12:57:09 2009 -0700 kernel/profile.c: Switch /proc/irq/prof_cpu_mask to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 9ff6d8e06fbd9249804d43574167c2acc52886be Author: Joe Perches Date: Mon Sep 14 09:28:07 2009 -0700 x86, mtrr: Convert loop to a while based construct, avoid naked semicolon Perhaps this is a more readable/standard form. Signed-off-by: Joe Perches LKML-Reference: <1252945687.3937.14.camel@Joe-Laptop.home> Signed-off-by: Ingo Molnar commit 89f19f04dc72363d912fd007a399cb10310eff6e Author: Andrew Morton Date: Sat Sep 19 11:55:44 2009 -0700 sched: Fix raciness in runqueue_is_locked() runqueue_is_locked() is unavoidably racy due to a poor interface design. It does cpu = get_cpu() ret = some_perpcu_thing(cpu); put_cpu(cpu); return ret; Its return value is unreliable. Fix. Signed-off-by: Andrew Morton Acked-by: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: <200909191855.n8JItiko022148@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit a1792cdacaf5180e04e07811e220c4a3b4a9c33e Author: Peter Zijlstra Date: Wed Sep 9 10:04:47 2009 +0200 perf_counter: x86: Fix PMU resource leak Dave noticed that we leak the PMU resource reservations when we fail the hardware counter init. Reported-by: David Miller Signed-off-by: Peter Zijlstra Acked-by: David Miller LKML-Reference: <1252483487.7746.164.camel@twins> Signed-off-by: Ingo Molnar commit 611a546bec3e1af2a87af0862398fc711dc47aef Author: Arjan van de Ven Date: Sun Sep 20 18:14:38 2009 +0200 perf util: SVG performance improvements Tweak the output SVG to increase performance in SVG viewers by limiting the different types of font sizes and by smarter transformations on the text. At least with Inkscape this gives a notable performance improvement during zoom and scrolling. Signed-off-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090920181438.3a49cb93@linux.intel.com> Signed-off-by: Ingo Molnar commit 5094b655452dd48367fb28af74ffc76019b93dc2 Author: Arjan van de Ven Date: Sun Sep 20 18:14:16 2009 +0200 perf util: Make the timechart SVG width dynamic This patch adds a command line option for timechart that allows the user to specify the width of the SVG file. This patch also makes sure that each second of recording has at least 200 units (pixels at 96 DPI) of width. This impacts recordings longer than 5 seconds; recordings shorter than 5 second will scale up to have a width of 1000 units for the whole recording (as before). Signed-off-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090920181416.69570c5d@linux.intel.com> Signed-off-by: Ingo Molnar commit a92fe7b3063db2caa578872fce975ff53aa56214 Author: Arjan van de Ven Date: Sun Sep 20 18:13:53 2009 +0200 perf timechart: Show the duration of scheduler delays in the SVG Given that scheduler latencies are the hot thing nowadays, show the duration of said latencies in the SVG in text form. In addition, if the latency is more than 10 msec, pick a brighter yellow color as a way to point these long delays out. Signed-off-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090920181353.796f4509@linux.intel.com> Signed-off-by: Ingo Molnar commit 4f1202c8e61478984ed2d0df616149faf84c2a7f Author: Arjan van de Ven Date: Sun Sep 20 18:13:28 2009 +0200 perf timechart: Show the name of the waker/wakee in timechart Timechart currently shows thin green lines for sending or receiving wakeups. This patch also prints (in a very small font) the name of the process that is being woken/wakes up this process. Signed-off-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090920181328.68baa978@linux.intel.com> Signed-off-by: Ingo Molnar commit 05bafda856092de0705de239c846777bddb94974 Author: Peter Zijlstra Date: Sun Sep 20 12:34:38 2009 +0200 tracing: Export trace_profile_buf symbols ERROR: "trace_profile_buf_nmi" [fs/jbd2/jbd2.ko] undefined! ERROR: "trace_profile_buf" [fs/jbd2/jbd2.ko] undefined! ERROR: "trace_profile_buf_nmi" [fs/ext4/ext4.ko] undefined! ERROR: "trace_profile_buf" [fs/ext4/ext4.ko] undefined! ERROR: "trace_profile_buf_nmi" [arch/x86/kvm/kvm.ko] undefined! ERROR: "trace_profile_buf" [arch/x86/kvm/kvm.ko] undefined! Signed-off-by: Peter Zijlstra Acked-by: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <1253442878.7542.3.camel@laptop> [ fixed whitespace noise and checkpatch complaint ] Signed-off-by: Ingo Molnar commit 8b85e7cbcfedfcdc2fa1bcc8945f23fc6ad3d07f Author: Alessandro Rubini Date: Fri Jul 24 13:30:04 2009 +0200 mtd: OneNand support for Nomadik 8815 SoC (on NHK8815 board) Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: David Woodhouse commit 63234717d170d39ee9cc873f29930b0fb142a114 Author: Alessandro Rubini Date: Wed Jul 29 18:51:56 2009 +0200 mtd: nand: driver for Nomadik 8815 SoC (on NHK8815 board) Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Acked-by: Russell King Signed-off-by: David Woodhouse commit 6469f540ea37d53db089c8fea9c0c77a3d9353d4 Merge: 304e6d5 78f28b7 Author: David Woodhouse Date: Sun Sep 20 05:55:36 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: drivers/mtd/mtdcore.c Merged in order that I can apply the Nomadik nand/onenand support patches. commit 5ac7687860dbfd3dd90e09d2c10dd31de91f20c2 Author: Jaswinder Singh Rajput Date: Sun Sep 20 16:34:24 2009 +0530 includecheck fix: x86, cpu/common.c fix the following 'make includecheck' warning: arch/x86/kernel/cpu/common.c: linux/smp.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Alan Cox Cc: Ingo Molnar LKML-Reference: <1252087783.6385.10.camel@ht.satnam> commit a0f320f48799f67329fcb1b26ff0451c304e1dde Author: Jaswinder Singh Rajput Date: Sun Sep 20 16:31:16 2009 +0530 includecheck fix: kernel/trace, ring_buffer.c fix the following 'make includecheck' warning: kernel/trace/ring_buffer.c: trace.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Steven Rostedt Cc: Ingo Molnar Cc: Sam Ravnborg LKML-Reference: <1247068617.4382.107.camel@ht.satnam> commit 83ba7c34d2b82dc608647f629616df393ab883f9 Author: Jaswinder Singh Rajput Date: Sun Sep 20 16:24:00 2009 +0530 includecheck fix: include/linux, ftrace.h fix the following 'make includecheck' warning: include/linux/ftrace.h: linux/sched.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Steven Rostedt Cc: Ingo Molnar Cc: Sam Ravnborg LKML-Reference: <1247068321.4382.102.camel@ht.satnam> commit 97572751d78133cf9a5f7165b252bf975f9dd17d Author: Jaswinder Singh Rajput Date: Sun Sep 20 16:20:44 2009 +0530 includecheck fix: include/linux, page_cgroup.h fix the following 'make includecheck' warning: include/linux/page_cgroup.h: linux/swap.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Li Zefan Acked-by: Paul Menage commit 43cc960980760f58d1f49ecd39e8cbfb063d63e1 Author: Jaswinder Singh Rajput Date: Sun Sep 20 16:09:20 2009 +0530 includecheck fix: include/linux, aio.h fix the following 'make includecheck' warning: include/linux/aio.h: linux/aio_abi.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: bcrl@kvack.org Cc: Sam Ravnborg LKML-Reference: <1247068254.4382.101.camel@ht.satnam> commit 067006a5f5b956fbdd183f9b799e7b8059b53f6c Author: Jaswinder Singh Rajput Date: Sun Sep 20 15:53:25 2009 +0530 includecheck fix: include/drm, drm_memory.h fix the following 'make includecheck' warning: include/drm/drm_memory.h: linux/vmalloc.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Sam Ravnborg LKML-Reference: <1247068169.4382.99.camel@ht.satnam> Acked-by: Dave Airlie commit b21495a03e20514eacd788a6b5d160667177cd94 Author: Jaswinder Singh Rajput Date: Sun Sep 20 15:48:42 2009 +0530 includecheck fix: include/acpi, acpi_bus.h fix the following 'make includecheck' warning: include/acpi/acpi_bus.h: linux/device.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Sam Ravnborg LKML-Reference: <1247068058.4382.96.camel@ht.satnam> Acked-by: Len Brown commit 56327c2a58b76291616f15c9c84a180cf7049645 Author: Jaswinder Singh Rajput Date: Sun Sep 20 15:41:10 2009 +0530 includecheck fix: drivers/xen, evtchn.c fix the following 'make includecheck' warning: drivers/xen/evtchn.c: linux/errno.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: chrisw@sous-sol.org Cc: Sam Ravnborg LKML-Reference: <1247067749.4382.90.camel@ht.satnam> Acked-by: Jeremy Fitzhardinge commit 6d6c971778c5257fc815e1ebe01779fefda6293c Author: Jaswinder Singh Rajput Date: Sun Sep 20 15:28:01 2009 +0530 includecheck fix: drivers/video, vgacon.c fix the following 'make includecheck' warning: drivers/video/console/vgacon.c: linux/slab.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Martin Mares Cc: mchehab@infradead.org Cc: Sam Ravnborg LKML-Reference: <1247067624.4382.88.camel@ht.satnam> commit 98840f2ce5339d46e1830b0455360ad03a840d9d Author: Jaswinder Singh Rajput Date: Sun Sep 20 15:23:00 2009 +0530 includecheck fix: drivers/scsi, ibmvscsi.c fix the following 'make includecheck' warning: drivers/scsi/ibmvscsi/ibmvscsi.c: asm/firmware.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: James Bottomley Cc: Sam Ravnborg LKML-Reference: <1247067016.4382.78.camel@ht.satnam> Acked-by: Brian King commit 39558c8f8e4c48805e702340e1610961d922268a Author: Jaswinder Singh Rajput Date: Sun Sep 20 15:20:55 2009 +0530 includecheck fix: drivers/scsi, libfcoe.c fix the following 'make includecheck' warning: drivers/scsi/fcoe/libfcoe.c: linux/netdevice.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: James Bottomley Cc: Sam Ravnborg LKML-Reference: <1247066936.4382.76.camel@ht.satnam> commit fcf989216138858003f0c354698260f29e6e10b0 Author: Jaswinder Singh Rajput Date: Sun Sep 20 15:13:18 2009 +0530 includecheck fix: x86, shadow.c fix the following 'make includecheck' warning: arch/x86/mm/kmemcheck/shadow.c: linux/module.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Ingo Molnar Cc: Sam Ravnborg LKML-Reference: <1247065179.4382.51.camel@ht.satnam> commit 144374dcc3ad0436f0a1bb3095836cf0ec32eebe Author: Jaswinder Singh Rajput Date: Sun Sep 20 15:09:26 2009 +0530 includecheck fix: x86, traps.c fix the following 'make includecheck' warning: arch/x86/kernel/traps.c: asm/traps.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: Ingo Molnar Cc: Sam Ravnborg LKML-Reference: <1247065094.4382.49.camel@ht.satnam> commit edf382bc6d4429d796fc3b26f7a33eaeca9db8ec Author: Jaswinder Singh Rajput Date: Sun Sep 20 14:41:40 2009 +0530 includecheck fix: um, helper.c fix the following 'make includecheck' warning: arch/um/os-Linux/helper.c: linux/limits.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: jdike@addtoit.com Cc: Sam Ravnborg LKML-Reference: <1247064950.4382.45.camel@ht.satnam> Acked-by: WANG Cong commit 51b563fc93c8cb5bff1d67a0a71c374e4a4ea049 Author: Sam Ravnborg Date: Sun Sep 20 12:28:22 2009 +0200 arm, cris, mips, sparc, powerpc, um, xtensa: fix build with bash 4.0 Albin Tonnerre reported: Bash 4 filters out variables which contain a dot in them. This happends to be the case of CPPFLAGS_vmlinux.lds. This is rather unfortunate, as it now causes build failures when using SHELL=/bin/bash to compile, or when bash happens to be used by make (eg when it's /bin/sh) Remove the common definition of CPPFLAGS_vmlinux.lds by pushing relevant stuff to either Makefile.build or the arch specific kernel/Makefile where we build the linker script. This is also nice cleanup as we move the information out where it is used. Notes for the different architectures touched: arm - we use an already exported symbol cris - we use a config symbol aleady available [Not build tested] mips - the jiffies complexity has moved to vmlinux.lds.S where we need it. Added a few variables to CPPFLAGS - they are only used by the linker script. [Not build tested] powerpc - removed assignment that is not needed [not build tested] sparc - simplified it using $(BITS) um - introduced a few new exported variables to deal with this xtensa - added options to CPP invocation [not build tested] Cc: Albin Tonnerre Cc: Russell King Cc: Mikael Starvik Cc: Jesper Nilsson Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: "David S. Miller" Cc: Jeff Dike Cc: Chris Zankel Signed-off-by: Sam Ravnborg commit 4356f4890792a678936c93c9196e8f7742e04535 Author: Trevor Keith Date: Fri Sep 18 12:49:23 2009 -0700 kbuild: add static to prototypes Warnings found via gcc -Wmissing-prototypes. Signed-off-by: Trevor Keith Acked-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 66a570623be0d96130470a41cd38bce889b7e885 Author: Andi Kleen Date: Fri Sep 18 12:49:37 2009 -0700 kbuild: fail build if recordmcount.pl fails When this script fails the build should fail too. Otherwise there are mysterious build failures later. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 8f7f5c9fc2966704579ff93f459ffa458bca6fc2 Author: Andi Kleen Date: Fri Sep 18 12:49:37 2009 -0700 kbuild: set -fconserve-stack option for gcc 4.5 The upcomming gcc 4.5 has a new -fconserve-stack option that tells the inliner to take stack frame size in account. Set it if the compiler supports it. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit c3c63b6bec3135e814fa07d30d57a253f41d53de Author: Andi Kleen Date: Fri Sep 18 12:49:36 2009 -0700 kbuild: echo the record_mcount command I had some problems with record_mcount in the Makefile and it was hard to track down. Echo it by default to make it easier to diagnose. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 78222caaeec01a84876f7e955d03e0c22d321287 Author: Diego Elio 'Flameeyes' Pettenò Date: Fri Sep 18 12:49:33 2009 -0700 gconfig: disable "typeahead find" search in treeviews When typeahead find is enabled, using 'y', 'n' and 'm' to change the status of the configuration items will also start up the search system, making you jump around the configuration. Disabling the enable_search property does not mean that search is not possible, it only disables the typeahead; to execute a search in the treeview, you can just call it up explicitly (i.e.: on most systems that will be Ctrl-f). Signed-off-by: Diego Elio 'Flameeyes' Pettenò Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit c47efe5548abbf53c2f66e06dcb46183b11d6b22 Author: Jory A. Pratt Date: Fri Sep 18 12:49:31 2009 -0700 kbuild: fix cc1 options check to ensure we do not use -fPIC when compiling The arch/*/boot/Makefile use cc-options to check for GCC command options and cc-options use the hardened specs when checking for GCC command options. When -fPIE is pass to cc1 it can't use -ffreestanding or -fno-toplevel-reorder. Then it fail to build stuff with -ffreestanding and -fno-toplevel-reorder. Thanks to Fredric Johansson for finding the main problem behind a failed build using a hardened toolchain. Signed-off-by: Magnus Granberg Signed-off-by: Jory A. Pratt Cc: Fredric Johansson Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Cc: Signed-off-by: Sam Ravnborg commit 92f3f19c519d2eb18812a38312b05075cf0407db Author: Luis R. Rodriguez Date: Fri Sep 18 12:49:27 2009 -0700 checkincludes.pl: add option to remove duplicates in place checkincludes.pl is more useful if it actually removed the lines. This adds support for that with -r. [akpm@linux-foundation.org: improve usage message] Signed-off-by: Luis R. Rodriguez Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 82fa39552fd858468a5647fa58d14955ecd50eb4 Author: Ozan Çaglayan Date: Fri Sep 18 12:49:27 2009 -0700 markup_oops: use modinfo to avoid confusion with underscored module names When EIP is at a module having an underscore in its name, the current code fails to find it because the module filenames has '-' instead of '_'. Use modinfo for a better path finding. Signed-off-by: Ozan Çaglayan Acked-by: WANG Cong Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit f9d490ab374236a115440c771ecf0fb2890eb929 Author: Luis R. Rodriguez Date: Fri Sep 18 12:49:26 2009 -0700 checkincludes.pl: provide usage helper Signed-off-by: Luis R. Rodriguez Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit d9a7a2bd07ed3b838d95559d547061afcf3e45f6 Author: Luis R. Rodriguez Date: Fri Sep 18 12:49:25 2009 -0700 checkincludes.pl: close file as soon as we're done with it Signed-off-by: Luis R. Rodriguez Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 7db86dc97fb0c47af63e6b965e8ff37126050d25 Author: Stefani Seibold Date: Fri Sep 18 12:49:24 2009 -0700 ctags: usability fix The tag file generated by the tags.sh script has some issue. First: The identifier-list miss the DEFINE_TRACE,EXPORT_TRACEPOINT_SYMBOL,EXPORT_TRACEPOINT_SYMBOL_GPL special handling, which can result in a wrong tag, not to jump to the right variable definition or function implementation. Second: It makes no real sense to include function prototypes and external and forward variable declarations, because jumping to a tag will sometimes go to this and not to the real definition and implementation. The information about the declaration is still there at the definition and implementation place. So this patch make it lot easier to navigate through the kernel source tree using vi. Signed-off-by: Stefani Seibold Acked-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 99657c7857fd47d6086682d4cf1194954170755a Author: Randy Dunlap Date: Fri Sep 18 12:49:22 2009 -0700 kernel hacking: move STRIP_ASM_SYMS from General Sam suggested moving STRIP_ASM_SYMS into the Kernel hacking menu from the General Setup menu. It makes more sense there. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 78074cfc6e5054d736a2adb144c0e0dcc301c14a Author: Jaswinder Singh Rajput Date: Fri Sep 18 12:49:21 2009 -0700 gitignore usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma usr/initramfs_data.cpio.bz2 and usr/initramfs_data.cpio.lzma are binary files should be ignored Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit d79a27195a33f4b5e591de5536799ad874ea6cf5 Author: Andi Kleen Date: Wed Sep 16 22:36:55 2009 +0200 kbuild: Check if linker supports the -X option The new alternative `gold' linker in recent binutils doesn't support the -X option. This breaks allyesconfig builds that have CONFIG_STRIP_ASM_SYMS enabled. Check if the linker really supports the option using ld-option. Signed-off-by: Andi Kleen Signed-off-by: Sam Ravnborg commit 691ef3e7fdc1fe4dded169d9404f740987f67d66 Author: Sam Ravnborg Date: Sat Sep 19 10:31:45 2009 +0200 kbuild: introduce ld-option ld-option is used to check if $(LD) supports a specific option. Based on patch from Andi Kleen. Cc: Andi Kleen Signed-off-by: Sam Ravnborg First use is to check if option -X is supported (upcoming patch). Theis is ne commit f86fd306605287d7c7f4f0f8e8e2a9d49d28b396 Author: Sam Ravnborg Date: Sat Sep 19 10:14:33 2009 +0200 kbuild: rename ld-option to cc-ldoption ld-option is misnamed as it test options to gcc, not to ld. Renamed it to reflect this. Cc: Andi Kleen Cc: Roland McGrath Signed-off-by: Sam Ravnborg commit 4779105e03cdb6639706991081839451d709230b Author: Cheng Renquan Date: Sun Jul 12 16:11:46 2009 +0800 kconfig: make use of menu_get_ext_help in gconfig Futhermore, gconfig interface lack the "search a symbol" function, do later. Signed-off-by: Cheng Renquan Cc: Roman Zippel [sam: fix SEGV in gconfig] Signed-off-by: Sam Ravnborg commit 66c4bd808508ae99e00e979ab3e9a1c6a6a7ad45 Author: Cheng Renquan Date: Sun Jul 12 16:11:48 2009 +0800 kconfig: make use of menu_get_ext_help in "make config" Signed-off-by: Cheng Renquan Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit d74c15f3b71804472dde59355d4960ce8287dae8 Author: Cheng Renquan Date: Sun Jul 12 16:11:47 2009 +0800 kconfig: make use of menu_get_ext_help in qconfig Signed-off-by: Cheng Renquan Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 1d525e7c1f8c34b74ddeb317f18c2ca9e9d81884 Author: Cheng Renquan Date: Sun Jul 12 16:11:45 2009 +0800 kconfig: make use of menu_get_ext_help in menuconfig The removed functions are moved into menu.c for sharing with gconfig & xconfig & config. Signed-off-by: Cheng Renquan Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 6bd5999d1a6166ad357f2ebf5e998ce49a407f62 Author: Cheng Renquan Date: Sun Jul 12 16:11:44 2009 +0800 kconfig: add menu_get_ext_help function to display more information The three functions are moved from mconf.c, then they can be shared in all menuconfig & gconfig & xconfig & config. +void menu_get_ext_help(struct menu *menu, struct gstr *help) +static void get_prompt_str(struct gstr *r, struct property *prop) +void get_symbol_str(struct gstr *r, struct symbol *sym) Signed-off-by: Cheng Renquan Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 544e433a9e2a8771b8281ac58acb5c794613e705 Author: Cheng Renquan Date: Sun Jul 12 16:11:43 2009 +0800 kconfig: add symbol value to help find the real depend Sometimes when configuring need to disable some unused item, but the item is selected by many other items, it's hard to find the real dependency which selected it, This patch add every symbol's value accompanied to make it possible to find the real dependency easily. An example is CONFIG_RFKILL, ---------------------- RF switch subsystem support ---------------------- | CONFIG_RFKILL: | | | | Say Y here if you want to have control over RF switches | | found on many WiFi and Bluetooth cards. | | | | To compile this driver as a module, choose M here: the | | module will be called rfkill. | | | | Symbol: RFKILL [=m] | | Prompt: RF switch subsystem support | | Defined at net/rfkill/Kconfig:4 | | Depends on: NET [=y] | | Location: | | -> Networking support (NET [=y]) | | Selected by: IWLCORE [=n] && NETDEVICES [=y] && !S390 [=S390] && PC | | | ----------------------------------------------------------------( 99%)--- Signed-off-by: Cheng Renquan Cc: Roman Zippel Signed-off-by: Sam Ravnborg commit 0bc9f9e63c0aa9c60ee309039d8f52708145ea4b Author: Robert P. J. Day Date: Sun Jul 5 09:46:19 2009 -0400 kbuild: correct initramfs compression comment Fix the Makefile comment since bzip2 is now supported. Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit 575543347b5baed0ca927cb90ba8807396fe9cc9 Author: Sam Ravnborg Date: Sun Sep 20 12:24:55 2009 +0200 kbuild: save ARCH & CROSS_COMPILE when building a kernel When building a kernel for a different architecture kbuild requires the user always to specify ARCH and CROSS_COMPILE on the command-line. We use the asm symlink to detect if user forgets to specify the correct ARCH value - but that symlink is about to die. And we do now want to loose this check. This patch save the settings of ARCH and CROSS_COMPILE in two files named: include/generated/kernel.arch include/generated/kernel.cross The settings are saved during "make *config" time and always read. If user try to change the settings we error out. This works both for plain builds and for O=... builds. So now you can do: $ mkdir sparc64 $ make O=sparc64 ARCH=sparc64 CROSS_COMPILE=sparc64-linux- defconfig $ cd sparc64 $ make Notice that you no longer need to tell kbuild the settings of ARCH and CROSS_COMPILE when you type make in the output directory. Likewise for plain builds where you do not use O=... Signed-off-by: Sam Ravnborg Cc: Roland McGrath commit caa27b66bd7188fd063769eaf4b33533ef0709e6 Author: Sam Ravnborg Date: Mon Jul 20 21:37:11 2009 +0200 kbuild: use INSTALLKERNEL to select customized installkernel script Replace the use of CROSS_COMPILE to select a customized installkernel script with the possibility to set INSTALLKERNEL to select a custom installkernel script when running make: make INSTALLKERNEL=arm-installkernel install With this patch we are now more consistent across different architectures - they did not all support use of CROSS_COMPILE. The use of CROSS_COMPILE was a hack as this really belongs to gcc/binutils and the installkernel script does not change just because we change toolchain. The use of CROSS_COMPILE caused troubles with an upcoming patch that saves CROSS_COMPILE when a kernel is built - it would no longer be installable. [Thanks to Peter Z. for this hint] This patch undos what Ian did in commit: 0f8e2d62fa04441cd12c08ce521e84e5bd3f8a46 ("use ${CROSS_COMPILE}installkernel in arch/*/boot/install.sh") The patch has been lightly tested on x86 only - but all changes looks obvious. Acked-by: Peter Zijlstra Acked-by: Mike Frysinger [blackfin] Acked-by: Russell King [arm] Acked-by: Paul Mundt [sh] Acked-by: "H. Peter Anvin" [x86] Cc: Ian Campbell Cc: Tony Luck [ia64] Cc: Fenghua Yu [ia64] Cc: Hirokazu Takata [m32r] Cc: Geert Uytterhoeven [m68k] Cc: Kyle McMartin [parisc] Cc: Benjamin Herrenschmidt [powerpc] Cc: Martin Schwidefsky [s390] Cc: Thomas Gleixner [x86] Cc: Ingo Molnar [x86] Signed-off-by: Sam Ravnborg commit 4765d681a4dccdc6ded7dd20329f5498aa53b0d0 Author: Jaswinder Singh Rajput Date: Sun Sep 20 14:38:09 2009 +0530 includecheck fix: s390, sys_s390.c fix the following 'make includecheck' warning: arch/s390/kernel/sys_s390.c: linux/syscalls.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Cc: schwidefsky@de.ibm.com Cc: heiko.carstens@de.ibm.com Cc: Sam Ravnborg LKML-Reference: <1247068809.4382.111.camel@ht.satnam> commit 304e6d5fe294b80e6d3107f99ec241816390ebcc Author: Kevin Cernekee Date: Fri Sep 18 19:36:42 2009 -0700 m25p80: Add Spansion S25FL129P serial flashes Tested 64KiB block size only. Signed-off-by: Kevin Cernekee Signed-off-by: David Woodhouse commit dd799983e947539bf3b5c0a502eba650d3dcc29a Author: David Woodhouse Date: Sat Sep 19 16:14:01 2009 -0700 jffs2: Use SLAB_HWCACHE_ALIGN for jffs2_raw_{dirent,inode} slabs We may end up doing DMA to/from these. Until the new MTD API fixes the issues, this should stop things from falling over. Original idea from Gilles Casse Signed-off-by: David Woodhouse commit 894572a363539dc2e8ddde83056bd22fadb30748 Author: David Woodhouse Date: Sat Sep 19 16:07:34 2009 -0700 mtd: sh_flctl: register sh_flctl using platform_driver_probe() As with orion_nand in commit f33dabbe79fdf7a8568c65faa1db7794c87ac4d3 ("register orion_nand using platform_driver_probe()"), avoid .init.text problems by using platform_device_probe(). This isn't going to be hotplugged anyway. Reported-by: Uwe Kleine-König Signed-off-by: David Woodhouse commit 5d3f33318a6c1f79f89e3dd2c7ddc11e0da14895 Author: Wolfram Sang Date: Sat Sep 19 09:09:50 2009 +0200 [PATCH] i2c-imx: make bus available early As I2C is used by PMICs also, make the busses available early via subsys_initcall(). Signed-off-by: Wolfram Sang Signed-off-by: Ben Dooks commit b94996c99c8befed9cbbb8804a4625e203913318 Author: David Woodhouse Date: Sat Sep 19 15:28:12 2009 -0700 intel-iommu: Disable PMRs after we enable translation, not before Signed-off-by: David Woodhouse commit b0999cc55bd49e315ec82d2fb770a0d9ef7cbed8 Author: Mikael Pettersson Date: Mon Sep 7 12:00:13 2009 +0200 i2c-mv64xxx: correct mv64xxx_i2c_intr() return type The mv64xxx_i2c_intr() irq handler in drivers/i2c/busses/i2c-mv64xxx.c is declared as returning 'int', resulting in this compile-time warning: drivers/i2c/busses/i2c-mv64xxx.c: In function 'mv64xxx_i2c_probe': drivers/i2c/busses/i2c-mv64xxx.c:540: warning: passing argument 2 of 'request_irq' from incompatible pointer type Fix: correct the return type to 'irqreturn_t'. Signed-off-by: Mikael Pettersson Signed-off-by: Ben Dooks commit c0cbfd0e81d879a950ba6f0df3f75ea30c5ab16e Author: Atsushi Nemoto Date: Sat Sep 5 01:20:45 2009 +0900 mtd: nand: txx9ndfmc: transfer 512 byte at a time if possible Using __nand_correct_data() helper function, this driver can read 512 byte (with 6 byte ECC) at a time. This results minor performance improvement. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse commit 0f777fb9318739baf517c4f4ef66347d8898643d Author: Atsushi Nemoto Date: Sat Sep 5 01:20:44 2009 +0900 mtd: nand: fix tmio_nand ecc correction This driver may be reading 512 bytes at a times, but still calculates 256-byte sector ECC. So the nand_correct_data() is not appropriate for this driver. Implement its ecc.correct function calling __nand_correct_data() twice. Signed-off-by: Atsushi Nemoto Acked-by: Dmitry Eremin-Solenikov Acked-by: Vimal Singh Signed-off-by: David Woodhouse commit be2f092bfc4f6a415bb4c3e2dcbf521a1f2a0fe5 Author: Atsushi Nemoto Date: Sat Sep 5 01:20:43 2009 +0900 mtd: nand: add __nand_correct_data helper function Split nand_correct_data() into two part, a pure calculation function and a wrapper for mtd interface. The tmio_nand driver can implement its ecc.correct function easily using this __nand_correct_data helper. Signed-off-by: Atsushi Nemoto Acked-by: Dmitry Eremin-Solenikov Acked-by: Vimal Singh Signed-off-by: David Woodhouse commit 23af51ecfb04ff65bae51bd8e2270f4449abc789 Author: Massimo Cirillo Date: Thu Sep 3 16:34:39 2009 +0200 mtd: cfi_cmdset_0002: add 0xFF intolerance for M29W128G The M29W128G Numonyx flash devices are intolerant to any 0xFF command: in the Cfi_util.c the function cfi_qry_mode_off() (that resets the device after the autoselect mode) must have a 0xF0 command after the 0xFF command. This fix solves also the cause of the fixup_M29W128G_write_buffer() fix, that can be removed now. The following patch applies to 2.6.30 kernel. Signed-off-by: Massimo Cirillo Acked-by: Alexey Korolev Cc: stable@kernel.org Signed-off-by: David Woodhouse commit 6ad08ddd9e8b85ad6c49eeb6c5d940ccdd119bde Author: Mohanlal Jangir Date: Thu Sep 3 22:56:17 2009 +0900 mtd: inftl: fix fold chain block number Signed-off-by: Mohan Lal Jangir Signed-off-by: David Woodhouse commit b4c8c8cf9ad6bac5a1d7fdae751ce38b8d3028ba Author: Stefan Roese Date: Tue Sep 1 11:51:25 2009 +0300 mtd: jedec: fix compilation problem with I28F640C3B definition Signed-off-by: Stefan Roese Signed-off-by: Vitaly Bordug Signed-off-by: David Woodhouse commit 76c23c32e3b3ad48e07e07897075ab19ae1ef117 Author: Feng Kan Date: Tue Aug 25 11:27:20 2009 -0700 mtd: nand: fix ECC Correction bug for SMC ordering for NDFC driver Fix ECC Correction bug where the byte offset location were double fliped causing correction routine to toggle the wrong byte location in the ECC segment. The ndfc_calculate_ecc routine change the order of getting the ECC code. /* The NDFC uses Smart Media (SMC) bytes order */ ecc_code[0] = p[2]; ecc_code[1] = p[1]; ecc_code[2] = p[3]; But in the Correction algorithm when calculating the byte offset location, the b1 is used as the upper part of the address. Which again reverse the order making the final byte offset address location incorrect. byte_addr = (addressbits[b1] << 4) + addressbits[b0]; The order is change to read it in straight and let the correction function to revert it to SMC order. Cc: stable@kernel.org Signed-off-by: Feng Kan Acked-by: Victor Gallardo Acked-by: Prodyut Hazarika Acked-by: Stefan Roese Signed-off-by: David Woodhouse commit ebd5a74db74ee2db833d43ea35108a4be9cab42f Author: Benjamin Krill Date: Tue Aug 25 15:52:41 2009 +0200 mtd: ofpart: Check availability of reg property instead of name property The previous implementation breaks the dts binding "mtd-physmap.txt". This implementation fixes the issue by checking the availability of the reg property instead of the name property. Cc: stable@kernel.org Signed-off-by: Benjamin Krill Signed-off-by: David Woodhouse commit 9289d4ef065a6c62db6bf13d624307f61e57dbbb Author: Sudhakar Rajashekhara Date: Tue Aug 18 12:34:04 2009 -0400 driver/Makefile: Initialize "mtd" and "spi" before "net" On TI's da850/omap-l138 EVM, MAC address is stored in SPI flash. This patch changes the initialization sequence of the drivers by moving mtd and spi ahead of net in drivers/Makefile thereby enabling da850/omap-l138 ethernet driver to read the MAC address while booting. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: David Woodhouse commit dfe32893cbe3e599a39770199b9982a6ad5daa7b Author: vimal singh Date: Mon Jul 13 16:29:16 2009 +0530 mtd: omap: adding DMA mode support in nand prefetch/post-write This patch adds DMA mode support for nand prefetch/post-write engine. Signed-off-by: Vimal Singh Signed-off-by: David Woodhouse commit 59e9c5ae17179fe561103fbe0808fac5976ca1bd Author: vimal singh Date: Mon Jul 13 16:26:24 2009 +0530 mtd: omap: add support for nand prefetch-read and post-write This patch adds prefetch support to access nand flash in mpu mode. This patch also adds 8-bit nand support (omap_read/write_buf8). Prefetch can be used for both 8- and 16-bit devices. Signed-off-by: Vimal Singh Acked-by: Tony Lindgren Signed-off-by: David Woodhouse commit 8bff82cbc30884fc52969608d090d874641e7196 Author: Wan ZongShun Date: Fri Jul 10 15:17:27 2009 +0800 mtd: add nand support for w90p910 (v2) Add w90p910 NAND driver for w90p910 evaluation board based on w90p910,there is a K8F1G08 NAND on my board. [dwmw2: depend on MTD_PARTITIONS] Signed-off-by: Wan ZongShun Signed-off-by: David Woodhouse commit fc28c39f0ef59bfb649ddfd633275be8e45c0f9c Author: Wolfram Sang Date: Fri Jul 17 14:39:23 2009 +0200 mtd: maps: add mtd-ram support to physmap_of Use physmap_of to access RAMs as mtd and add documenation for it. This approach is a lot less intrusive as adding an of-wrapper around plat-ram.c. As most extensions of plat-ram.c (e.g. custom map-functions) can't be mapped to the device tree anyhow, extending physmap_of seems to be the cleanest approach. Tested with a phyCORE-MPC5121e. Signed-off-by: Wolfram Sang Cc: Vitaly Wool Cc: Artem Bityutskiy Cc: Ken MacLeod Cc: Albrecht Dreß Acked-by: Grant Likely Signed-off-by: David Woodhouse commit 7bd032dc2793afcbaf4a350056768da84cdbd89b Author: Alan Stern Date: Fri Sep 4 15:29:59 2009 -0400 USB serial: update the console driver This patch (as1292) modifies the USB serial console driver, to make it compatible with the recent changes to the USB serial core. The most important change is that serial->disc_mutex now has to be unlocked following a successful call to usb_serial_get_by_index(). Other less notable changes include: Use the requested port number instead of port 0 always. Prevent the serial device from being autosuspended. Use the ASYNCB_INITIALIZED flag bit to indicate when the port hardware has been initialized. In spite of these changes, there's no question that the USB serial console code is still a big hack. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 320348c8d5c9b591282633ddb8959b42f7fc7a1c Author: Alan Stern Date: Tue Sep 1 11:39:59 2009 -0400 usb-serial: straighten out serial_open This patch (as1291) removes a bunch of code from serial_open(), things that were rendered unnecessary by earlier patches. A missing spinlock is added to protect port->port.count, which needs to be incremented even if the open fails but not if the tty has gotten a hangup. The test for whether the hardware has been initialized, based on the use count, is replaced by a more transparent test of the ASYNCB_INITIALIZED bit in the port flags. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit ff8324df1187b7280e507c976777df76c73a1ef1 Author: Alan Stern Date: Tue Sep 1 11:39:51 2009 -0400 usb-serial: add missing tests and debug lines This patch (as1290) adds some missing tests. serial_down() isn't supposed to do anything if the hardware hasn't been initialized, and serial_close() isn't supposed to do anything if the tty has gotten a hangup (because serial_hangup() takes care of shutting down the hardware). The patch also updates and adds a few debugging lines. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 74556123e034c8337b69a3ebac2f3a5fc0a97032 Author: Alan Stern Date: Tue Sep 1 11:39:40 2009 -0400 usb-serial: rename subroutines This patch (as1289) renames serial_do_down() to serial_down() and serial_do_free() to serial_release(). It also adds a missing call to tty_shutdown() in serial_release(). Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 7e29bb4b779f4f35385e6f21994758845bf14d23 Author: Alan Stern Date: Tue Sep 1 11:39:22 2009 -0400 usb-serial: fix termios initialization logic This patch (as1288) fixes the initialization logic in serial_install(). A new tty always needs to have a termios initialized no matter what, not just in the case where the lower driver will override the termios settings. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit cc56cd0157753c04a987888a2f793803df661a40 Author: Alan Stern Date: Tue Sep 1 11:39:13 2009 -0400 usb-serial: acquire references when a new tty is installed This patch (as1287) makes serial_install() be reponsible for acquiring references to the usb_serial structure and the driver module when a tty is first used. This is more sensible than having serial_open() do it, because a tty can be opened many times whereas it is installed only once, when it is created. (Not to mention that these actions are reversed when the tty is released, not when it is closed.) Finally, it is at install time that the TTY core takes its own reference to the usb_serial module, so it is only fitting that we should act the same way in regard to the lower-level serial driver. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 8bc2c1b2daf95029658868cb1427baea2da87139 Author: Alan Stern Date: Tue Sep 1 11:38:59 2009 -0400 usb-serial: change logic of serial lookups This patch (as1286) changes usb_serial_get_by_index(). Now the routine will check whether the serial device has been disconnected; if it has then the return value will be NULL. If the device hasn't been disconnected then the routine will return with serial->disc_mutex held, so that the caller can use the structure without fear of racing against driver unloads. This permits the scope of table_mutex in destroy_serial() to be reduced. Instead of protecting the entire function, it suffices to protect the part that actually uses serial_table[], i.e., the call to return_serial(). There's no longer any danger of the refcount being incremented after it reaches 0 (which was the reason for having the large scope previously), because it can't reach 0 until the serial device has been disconnected. Also, the patch makes serial_install() check that serial is non-NULL before attempting to use it. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit f5b0953a89fa3407fb293cc54ead7d8feec489e4 Author: Alan Stern Date: Tue Sep 1 11:38:44 2009 -0400 usb-serial: put subroutines in logical order This patch (as1285) rearranges the subroutines in usb-serial.c concerned with tty lifetimes into a more logical order: install, open, hangup, close, release. It also updates the formatting of the kerneldoc comments. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 41bd34ddd7aa46dbc03b5bb33896e0fa8100fe7b Author: Alan Stern Date: Tue Sep 1 11:38:34 2009 -0400 usb-serial: change referencing of port and serial structures This patch (as1284) changes the referencing of the usb_serial and usb_serial_port structures in usb-serial.c. It's not feasible to make the port structures keep a reference to the serial structure, because the ports need to remain in existence when serial is released -- quite a few of the drivers expect this. Consequently taking a reference to the port when the device file is open is insufficient; such a reference would not pin serial. To fix this, we now take a reference to serial when the device file is opened. The final put_device() for the ports occurs in destroy_serial(), so that the ports will last as long as they are needed. The patch initializes all the port devices, including those in the unused "fake" ports. This makes the code more uniform because they can all be released in the same way. The error handling code in usb_serial_probe() is much simplified by this approach; instead of freeing everything by hand we can use a single usb_serial_put() call. Also simplified is the port-release mechanism. Instead of being two separate routines, port_release() and port_free() can be combined into one. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit a75b7b68ef73685784781d6d2bc416b6dac20969 Author: Jiri Slaby Date: Thu Sep 10 12:20:08 2009 +0200 tty: Char: mxser, use THRE for ASPP_OQUEUE ioctl In moxa specific ASPP_OQUEUE ioctl command, they apparently want only know whether there is space in transmitter hold register. So switch UART_LSR_TEMT to UART_LSR_THRE in that specific case according to the change in 1.14 moxa drivers. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 502f295f6ca5cd034c69b0662b251ffdeed95d33 Author: Jiri Slaby Date: Thu Sep 10 12:20:07 2009 +0200 tty: Char: mxser, add support for CP112UL Add support for MOXA:0x1120 pci device. It's a 2-port device and differs in no way from the others. So this turns out to be a trivial pci_device_id change. Increase also the version number. Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit d2cfe9628c6187cafd1aac32a44dcd9ed7adb5fe Author: Peter Korsgaard Date: Wed Sep 9 16:54:04 2009 +0200 uartlite: support shared interrupt lines Adapt isr to work with shared interrupt lines. Signed-off-by: Peter Korsgaard Signed-off-by: Greg Kroah-Hartman commit 054f2346cb0e524cbb678759bfedabfdba4d0100 Author: Jiri Slaby Date: Sun Sep 6 23:10:10 2009 +0200 tty: USB: serial/mct_u232, fix tty refcnt Stanse found a tty refcnt leak in read_int_callback. In fact it's handled wrong altogether. tty_port_tty_get can return NULL and it's not checked in that manner. Fix that by checking the tty_port_tty_get retval and put tty kref properly. http://stanse.fi.muni.cz/ Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 7e63d0c453aa3fae714bc679f6768203b5dc9c32 Author: Jiri Slaby Date: Sun Sep 6 23:10:09 2009 +0200 tty: riscom8, fix tty refcnt Stanse found a tty refcnt leak on one fail path in rc_transmit. Fix that by jumping to the 'out' label. http://stanse.fi.muni.cz/ Signed-off-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 90387f5eb08e50d79ab305dab170b4a437d5802c Author: Jiri Slaby Date: Sat Aug 22 09:04:42 2009 +0200 tty: riscom8, fix shutdown declaration tty_port_ops.shutdown takes only one parameter: tty port. Remove the second one and use port->tty where needed instead. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 1f5c13fad4ec5617b610e12205902c06298c096a Author: Alan Stern Date: Thu Aug 20 15:23:47 2009 -0400 TTY: fix typos This patch (as1282) fixes some obvious typos in the TTY core. Signed-off-by: Alan Stern CC: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 797938b5e33991dadf4dd9228b932cc69c3e905a Author: Jiri Slaby Date: Tue Aug 11 23:20:41 2009 +0200 tty: Power: fix suspend vt regression vt_waitactive no longer accepts console parameter as console-1 since commit "vt: add an event interface". It expects console number directly (as viewed by userspace -- counting from 1). Fix a deadlock suspend regression by redefining adding one to vt in vt_move_to_console. Signed-off-by: Jiri Slaby Cc: Alan Cox Cc: Greg Kroah-Hartman Cc: "Rafael J. Wysocki" Signed-off-by: Greg Kroah-Hartman commit 9074d963f4a5ab9c45e9edea32c3df4960bc7490 Author: Marcin Slusarz Date: Sun Aug 9 21:54:03 2009 +0200 tty: vt: use printk_once Signed-off-by: Marcin Slusarz Signed-off-by: Greg Kroah-Hartman commit e92166517e3ca9bfb416f91e69cf0373b55b6ede Author: Arnd Bergmann Date: Thu Aug 6 15:09:28 2009 +0200 tty: handle VT specific compat ioctls in vt driver The VT specific compat_ioctl handlers are the only ones in common code that require the BKL. Moving them into the vt driver lets us remove the BKL from the other handlers and cleans up the code. Signed-off-by: Arnd Bergmann Signed-off-by: Greg Kroah-Hartman commit 62b263585bb5005d44a764c90d80f9c4bb8188c1 Author: Joe Peterson Date: Wed Sep 9 15:03:47 2009 -0600 n_tty: move echoctl check and clean up logic Check L_ECHOCTL before insertting a character in the echo buffer (rather than as the buffer is processed), to be more consistent with when all other L_ flags are checked. Also cleaned up the related logic. Note that this and the previous patch ("n_tty: honor opost flag for echoes") were verified together by the reporters of the bug that patch addresses (http://bugs.linuxbase.org/show_bug.cgi?id=2692), and the test now passes. Signed-off-by: Joe Peterson Cc: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit ee5aa7b8b98774f408d20a2f61f97a89ac66c29b Author: Joe Peterson Date: Wed Sep 9 15:03:13 2009 -0600 n_tty: honor opost flag for echoes Fixes the following bug: http://bugs.linuxbase.org/show_bug.cgi?id=2692 Causes processing of echoed characters (output from the echo buffer) to honor the O_OPOST flag, which is consistent with the old behavior. Note that this and the next patch ("n_tty: move echoctl check and clean up logic") were verified together by the bug reporters, and the test now passes. Signed-off-by: Joe Peterson Cc: Linux Torvalds Signed-off-by: Greg Kroah-Hartman commit fe1ae7fdd2ee603f2d95f04e09a68f7f79045127 Author: Alan Cox Date: Sat Sep 19 13:13:33 2009 -0700 tty: USB serial termios bits Various drivers have hacks to mangle termios structures. This stems from the fact there is no nice setup hook for configuring the termios settings when the port is created Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ba15ab0e8de0d4439a91342ad52d55ca9e313f3d Author: Deepak Saxena Date: Sat Sep 19 13:13:33 2009 -0700 Set proper console speed on resume if console suspend is disabled Commit b5b82df6, from May 2007, breaks no_console_suspend on the OLPC XO laptop. Basically what happens is that upon returning from resume, serial8250_resume_port() will reconfigure the port for high speed mode and all console output will be garbled, making debug of the resume path painful. This patch modifies uart_resume_port() to reset the port to the state it was in before we suspended. Original patch by Marcelo Tosatti Second patch by Deepak then reworked by Alan to fit with the tty changes before it got submitted. Also fixed the console path to set c_i/ospeed as some drivers require the termios fields are valid Signed-off-by: Deepak Saxena Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7b01478f97a671c97fad9254aa91892209b018b5 Author: Alan Cox Date: Sat Sep 19 13:13:33 2009 -0700 serial: introduce tty krefs Initially just use the helper and thus krefs when we set and clear the port values. Signed-off-by: Alan Cox commit 016af53a6de6837e5be3da68901083ea85ebb4da Author: Alan Cox Date: Sat Sep 19 13:13:32 2009 -0700 serial: kill USF_CLOSING_* definitions The serial layer for some reason uses different defines for the special case close delays and then conditionally switches to/from the normal ones in the ioctls. Remove this rather pointless abstraction Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b58d13a0216d4e0753668214f23e1d2c24c30f8c Author: Alan Cox Date: Sat Sep 19 13:13:32 2009 -0700 serial: move port users helper This little helper is now tty_port specific and useful generally so move it Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit bdc04e3174e18f475289fa8f4144f66686326b7e Author: Alan Cox Date: Sat Sep 19 13:13:31 2009 -0700 serial: move delta_msr_wait into the tty_port This is used by various drivers not just serial and can be extracted as commonality Signed-off-by: Alan Cox commit a2bceae065ed8c4f552b35c4dde4cc2db05ce9e3 Author: Alan Cox Date: Sat Sep 19 13:13:31 2009 -0700 serial: replace the state mutex with the tty port mutex They cover essentially the same stuff and we can therefore fold it into the tty_port one. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a03006860d272eac5a8ebf23f04f54c7e1e783a5 Author: Alan Cox Date: Sat Sep 19 13:13:30 2009 -0700 serial: kill off uif_t This typedef is now extinct Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ccce6debb62d94964e3878f978a56b0f3e32d94f Author: Alan Cox Date: Sat Sep 19 13:13:30 2009 -0700 serial: move the flags into the tty_port field Fortunately the serial layer was designed to use the same flag values but with different names. It has its own SUSPENDED flag which is a free slot in the ASYNC flags so we allocate it in the ASYNC flags instead. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 91312cdb4fcd832341e425f74f49938e0503c929 Author: Alan Cox Date: Sat Sep 19 13:13:29 2009 -0700 serial: move count into the tty_port version Remove more stuff from the serial special case code Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 46d57a449aa13d9c6adcc9d1dbc7b9a0ecfb69d8 Author: Alan Cox Date: Sat Sep 19 13:13:29 2009 -0700 serial: use tty_port pointers in the core code Extract out a lot of the x.port. uses and also show up where there are things left to be isolated that prevent use using the port helpers in the serial layer at this point Signed-off-by: Alan Cox commit 5e99df561fc830730d63672d795a0b02ef8cdd6f Author: Alan Cox Date: Sat Sep 19 13:13:28 2009 -0700 serial: Fold closing_* fields into the tty_port ones Remove some more serial specific use Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ebd2c8f6d2ec4012c267ecb95e72a57b8355a705 Author: Alan Cox Date: Sat Sep 19 13:13:28 2009 -0700 serial: kill off uart_info We moved this into uart_state, now move the fields out of the separate structure and kill it off. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 11d85d7b2ecc72fe752bba55389e7d11907528af Author: Alan Cox Date: Sat Sep 19 13:13:27 2009 -0700 isicom: split the open method for the isicom device Again moving towards being able to add a common open method Signed-off-by: Alan Cox commit a509a7e478e4766114d69f12d19d644ac63e9765 Author: Alan Cox Date: Sat Sep 19 13:13:26 2009 -0700 tty: USB does not need the filp argument in the drivers And indeed none of them use it. Clean this up as it will make moving to a standard open method rather easier. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d3b5cffcf84a8bdc7073dce4745d67c72629af85 Author: Alan Cox Date: Sat Sep 19 13:13:26 2009 -0700 vt: add an activate and lock X and other graphical interfaces need to be able to flip to a console and lock it into graphics mode without races. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a5eb56242d1e2d82938a066219ac1cdf0d68adc8 Author: Alan Cox Date: Sat Sep 19 13:13:25 2009 -0700 vt: move kernel stuff out of vt.h We have vt_kern.h for this Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8d233558cd99a888571bb5a88a74970879e0aba4 Author: Alan Cox Date: Sat Sep 19 13:13:25 2009 -0700 vt: remove power stuff from kernel/power In the past someone gratuitiously borrowed chunks of kernel internal vt code and dumped them in kernel/power. They have all sorts of deep relations with the vt code so put them in the vt tree instead Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8b92e87d39bfd046e7581e1fe0f40eac40f88608 Author: Alan Cox Date: Sat Sep 19 13:13:24 2009 -0700 vt: add an event interface This is needed and requested in various forms for ConsoleKit, screenblank handling and the like so do the job with a single interface. Also build the interface so that unlike VT_WAITACTIVE and friends it won't miss events. FIXME: Should this be a waitactive ioctl or a new device file you can poll and read events from. We need the code anyway to fix up the existing broken wait for console switch logic but the ConsoleKit people would prefer the new device to the ioctl we have here Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4455e344959a217ffc28de2ab1af87541322b343 Author: Alan Cox Date: Sat Sep 19 13:13:24 2009 -0700 tty: USB can now use the shutdown method for kref based freeing of ports Signed-off-by: Alan Cox Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9a68e39d4a701fb3be03cae9b462408664ebd205 Author: Alan Cox Date: Sat Sep 19 13:13:24 2009 -0700 tty: remove dtr/rts use from the driver open methods These are handled by the tty_port core code which will raise and lower the carrier correctly in tty_wait_until_ready Signed-off-by: Alan Cox Cc: stable Signed-off-by: Greg Kroah-Hartman commit d2b391822a11302add9e46476f3da4e18e6de84c Author: Alan Cox Date: Sat Sep 19 13:13:23 2009 -0700 tty: USB hangup is racy The USB layer uses tty_hangup to deal with unplugs of the physical hardware (analogous to loss of carrier) and then frees the resources. However the tty_hangup is asynchronous. As the hangup can sleep we can use tty_vhangup which is the non async version to avoid freeing resources too early. Signed-off-by: Alan Cox Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9b80fee149a875a6292b2556ab2c64dc7ab7d6f5 Author: Alan Cox Date: Sat Sep 19 13:13:23 2009 -0700 cdc_acm: Fix to use modern speed interfaces This changed in 2006 so its about time the ACM driver caught up Signed-off-by: Alan Cox Cc: stable Signed-off-by: Greg Kroah-Hartman commit b50989dc444599c8b21edc23536fc305f4e9b7d5 Author: Alan Cox Date: Sat Sep 19 13:13:22 2009 -0700 tty: make the kref destructor occur asynchronously We want to be able to sleep in the destructor for USB at least. It isn't a hot path so just pushing it to a work queue doesn't really cause any difficulty. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e936ffd5cb2b4c7ee04925c9b92b616c01f1e022 Author: Alan Cox Date: Sat Sep 19 13:13:22 2009 -0700 cyclades: use the full port_close function Convert cyclades to use the full tty_port_close helper Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6ff1ab28a2b0a8d863c8e0d4af79a758697f6ecc Author: Alan Cox Date: Sat Sep 19 13:13:22 2009 -0700 tty: riscom8 kref and tty_port_close We need to kref this driver in order to use port_close Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6f6412b4c76441f2060e580b8d5cbda07dabde37 Author: Alan Cox Date: Sat Sep 19 13:13:21 2009 -0700 isicom: Split the close hardware bits out Start to extract and build a model for a common tty_port_close() Signed-off-by: Alan Cox commit 1e2b025453d45d35b07d8105bea7fc9d339ff562 Author: Alan Cox Date: Sat Sep 19 13:13:21 2009 -0700 mxser: Split close ready for a standard tty_port_close method Prepare for the tty_port_close function by splitting out methods Signed-off-by: Alan Cox commit c146942573c84b16ccb480a9cfa885a7581585a8 Author: Alan Cox Date: Sat Sep 19 13:13:21 2009 -0700 riscom8: split open and close methods up Moving towards a tty_port method for open/close Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7ca0ff9ab3218ec443a7a9ad247e4650373ed41e Author: Alan Cox Date: Sat Sep 19 13:13:20 2009 -0700 tty: Add a full port_close function Now we are extracting out methods for shutdown and the like we can add a proper tty_port_close method that knows all the innards of the tty closing process and hides the lot from the caller. At some point in the future this will be paired with a similar open() helper and the drivers can stick to hardware management. Signed-off-by: Alan Cox Cc: stable Signed-off-by: Greg Kroah-Hartman commit 24d481ecae1614cf02e638c8dce9b6e8bf230603 Author: Anton Vorontsov Date: Sat Sep 19 13:13:20 2009 -0700 8250: Now honours baud rate lower bounds A platform clock drives 8250 ports in most SOC systems, the clock might run at high frequencies, and so it's not always possible to downscale uart clock to a desired value. Currently the 8250 uart driver accepts not supported baud rates, and what is worse, it is doing this silently, and then passes not accepted values to a new termios, so userspace has no chance to catch this kind of errors (userspace verifies that settings were accepted by reading back and comparing the settings). This patch fixes the issue by passing minimum baud rate to the uart_get_baud_rate() call, the call should take care of all bounds, so userspace should now report: # stty -F /dev/ttyS0 speed 300 115200 stty: /dev/ttyS0: unable to perform all requested operations p.s. uart_get_baud_rate() falls back to 9600, which still might be too low for some 10 GHz platforms, but that's a separate issue, and we can wait with fixing this till we find such a platform. Signed-off-by: Anton Vorontsov Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 1c2f04937b3e397a5695953c6b82aa4c77d21eb8 Author: Vikram Pandita Date: Sat Sep 19 13:13:19 2009 -0700 serial: 8250: add IRQ trigger support There is currently no provision for passing IRQ trigger flags for serial IRQs with triggering requirements (such as GPIO IRQs) This patch adds irqflags to plat_serial8250_port that can be passed from board file to reqest_irq() of 8250 driver Changes are backward compatible with boards passing UPF_SHARE_IRQ flag Tested on Zoom2 board that has IRQF_TRIGGER_RISING requirement for 8250 irq [Moved new flag to end to fix bugs in the original with the old_serial array -- Alan] Signed-off-by: Vikram Pandita Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 1e066d803ab7e34e9efb3b0766d618c0cd2598e4 Author: Alan Cox Date: Sat Sep 19 13:13:19 2009 -0700 mos7840: remove old dead modem logic The modem ioctls are not routed via the ioctl method so kill the old dead code. The correct code is also already present and hooked in. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6146b9af84cc771198195104b432eb13b96a9799 Author: Alan Cox Date: Sat Sep 19 13:13:19 2009 -0700 tty: Fix a typo noted in passing Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2f9ea55c98bd03265e1c3eb114718eb2974df4cb Author: Kees Schoenmakers Date: Sat Sep 19 13:13:18 2009 -0700 tty: usb_serial_mos7720: Fix get_lsr_info I made a correction for get_lsr_info, now it returns some meaningful information. I tested it with two simultaneous simplex modem channels. it is attached Signed-off-by: Kees Schoenmakers Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0f608f8926968b4beee2cb00ef05522ad84f36eb Author: Kees Schoenmakers Date: Sat Sep 19 13:13:18 2009 -0700 MOS7720 has no tiocmget method Fix the tiocmget/mset handling on the mos7720 USB serial port. [Minor space reformatting for coding style - Alan] Signed-off-by: Kees Schoenmakers Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f8a7c1a976a6672204c7f4f0f694f33715dfa617 Author: Alan Cox Date: Sat Sep 19 13:13:17 2009 -0700 kfifo: Use "const" definitions Currently kfifo cannot be used by parts of the kernel that use "const" properly as kfifo itself does not use const for passed data blocks which are indeed const. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5342b77c4123ba39f911d92a813295fb3bb21f69 Author: Alan Cox Date: Sat Sep 19 13:13:17 2009 -0700 slip: Clean up create and destroy The network layer now has a destructor we can hook to clean up the slip devices array. That needs us to initiate unregister events in the right places which with the current tty layer we can do, and with network refcounting is safe to do. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 46fb782522092f772c6ce2b129f201ca6e1e15a2 Author: Jiri Slaby Date: Sat Sep 19 13:13:17 2009 -0700 cyclades: remove more duplicated code Remove duplicated code from cy_set_line_char. There were 2 if branches with same contents except flags. Branch only for the flags computation and use them in the only copy of the code. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3aeea5b92210083c7cffd4f08a0bb141d3f2d574 Author: Jiri Slaby Date: Sat Sep 19 13:13:16 2009 -0700 cyclades: introduce cyy_readb/writeb Add helpers for io operations, so that we can eliminate huge amount of supporting code. It is now centralized in those helpers and used values are precomputed in the init phase. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0d3487294e4e175eb6371c8df8ef44b45964e0f6 Author: Jiri Slaby Date: Sat Sep 19 13:13:16 2009 -0700 cyclades: tiocm cleanup - save one indent level by inverting !fw_loaded condition - read rs_status on Z and write it after we change all the flags, don't do that separately - remove Y inverted rts/dtr branching, precompute registers and use them Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6c28181cf8b7d5af5f20a7bd102452033e14d946 Author: Jiri Slaby Date: Sat Sep 19 13:13:15 2009 -0700 cyclades: ioctls cleanup - add a cy_ prefix to functions with changed prototypes - cy_get_serial_info: initialize serial_struct by initializer, save a memset - inline simple functions (get_mon_info, {s,g}et_default_threshold, {s,g}et_default_timeout) directly in the ioctl handler - add a cy_cflags_changed helper to not copy its code by wait_event_interruptible - remove some ret_val = 0 assignments, it's preset to 0 - TIOCGICOUNT: don't do many put_user's, do one copy_to_user Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cc7fdf49d6f06efdf0cb7da8d7abe7eff663aa9b Author: Jiri Slaby Date: Sat Sep 19 13:13:15 2009 -0700 cyclades: merge cy_startup tails There is a duplicated code for Y and Z in cy_startup, merge the paths. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4d7682005ca88a37667c4af03908798e188b5224 Author: Jiri Slaby Date: Sat Sep 19 13:13:15 2009 -0700 cyclades: use dtr_rts helpers For Z cards, use tty helpers for dtr_rts. If we did the same for Y cards, it will cause a deadlock, because cyy_dtr_rts takes a lock which we already hold. Instead, we introduce a Y helper expecting card lock to be held. It may then be called with set/clear masks from other places. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f6e208c1119206e2382ef7df6e47aaee18eb7f10 Author: Jiri Slaby Date: Sat Sep 19 13:13:14 2009 -0700 cyclades: sleep instead busy-wait Avoid long busy loops (5 ms) which may be replaced by sleeps. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ebdb513596c0eb1dcb3bad8f53865964a2207ca9 Author: Jiri Slaby Date: Sat Sep 19 13:13:14 2009 -0700 cyclades: overall cleanup - remove changelog from the file. we don't care about ancient history - update copyright year - update version - constify some stuff - empty lines removal - unused variables and macros removal - remove some asm/ includes, they are sucked by linux/ variants Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 23342262964722b41c7d06cfadc215039e48881b Author: Jiri Slaby Date: Sat Sep 19 13:13:13 2009 -0700 cyclades: close cleanup Use new tty helpers for close, which allows much code removal. The only real change is locking. card_lock for protecting was used inappropriately (just to have a critical section, no matter which lock is used), so the change to port->lock is fine. Remove also useless debug printks while being there. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 174e6fe01e7881caaa350b5e98e4c6189b6cb593 Author: Jiri Slaby Date: Sat Sep 19 13:13:13 2009 -0700 cyclades: switch to tty_port_hangup Do not duplicate common tty_port_hangup code. Use it instead. Also do not unset ASYNC_NORMAL_ACTIVE and wake up from the tty_hangup() caller. It makes no sense since we don't check that flag in sleepers. tty_port_hangup() performed later will do the right job. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f0eefdc30e55e761facf645bd1be1339b21c30e6 Author: Jiri Slaby Date: Sat Sep 19 13:13:13 2009 -0700 cyclades: avoid addresses recomputation Don't fetch firmware address and recompute channel control on each port access. Precompute the values on init and use them later all the time. The same for board control. This simplify code and improves readability. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f0737579424dd2c4e68bdd54c718455a3f42c7b5 Author: Jiri Slaby Date: Sat Sep 19 13:13:12 2009 -0700 cyclades: remove block_til_ready Use a tty_port common instead. This saves lots of .text and makes the code a lot more readable. This involves separation of a dtr_rts handling, next patches will use that to not duplicate the code all over the place. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d13549f804d2965a9f279a8ff867f35d949572c8 Author: Jiri Slaby Date: Sat Sep 19 13:13:12 2009 -0700 cyclades: add tty refcounting While this is not problem for Y card handlers (they are protected by card_lock), Z handlers and other functions may dereference NULL at any point after hangup/close. Even if (tty == NULL) was already performed in the handler. Note that it's not an issue for Y cards just for now. After switching to tty_port_close_* et al. this will be a problem. So add refcounting to them all. Also proc .show doesn't take a tty reference and it should (along with a ldisc one). While at it and changing prototypes (adding tty param), prepend cy_ to functions which don't have it yet. Signed-off-by: Jiri Slaby Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 1607acaec38319c5e0b48a3586c00e667e920a0d Author: Roel Kluin Date: Fri Aug 14 14:02:34 2009 +0200 tty: icom: bit and/or confusion? Previously, if any bit other than CMD_SND_BREAK was set, CMD_SND_BREAK was not unset. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 60479ed59444de658d25c4d4000fa45b61b491a3 Author: Jaswinder Singh Rajput Date: Thu Aug 13 13:56:20 2009 +0530 tty: includecheck fix: drivers/char, vt.c fix the following 'make includecheck' warning: drivers/char/vt.c: linux/device.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Greg Kroah-Hartman commit 182274f85fc26ec3aa8c78dba8b0e7763af3c586 Author: Linus Torvalds Date: Mon Aug 3 16:01:28 2009 -0700 tty-ldisc: get rid of tty_ldisc_try_get() helper function Now that the /proc/tty/ldiscs handling doesn't play games with 'struct ldisc' any more, the only remaining user of 'tty_ldisc_try_get()' is 'tty_ldisc_get()' (note the lack of 'try'). And we're actually much better off folding the logic directly into that file, since the 'try' part was always about trying to get the ldisc operations, not the ldisc itself: and making that explicit inside of 'tty_ldisc_get()' clarifies the whole semantics. Signed-off-by: Linus Torvalds Cc: Alan Cox Cc: OGAWA Hirofumi , Tested-by: Sergey Senozhatsky Signed-off-by: Greg Kroah-Hartman commit f0de0e8d3565ee7feba6228d99763d4cea2087a6 Author: Linus Torvalds Date: Mon Aug 3 16:00:15 2009 -0700 tty-ldisc: make /proc/tty/ldiscs use ldisc_ops instead of ldiscs The /proc/tty/ldiscs file is totally and utterly un-interested in the "struct tty_ldisc" structures, and only cares about the underlying ldisc operations. So don't make it create a dummy 'struct ldisc' only to get a pointer to the operations, and then destroy it. Instead, we split up the function 'tty_ldisc_try_get()', and create a 'get_ldops()' helper that just looks up the ldisc operations based on the ldisc number. That makes the code simpler to read (smaller and more well-defined helper functions), and allows the /proc functions to avoid creating that useless dummy only to immediately free it again. Signed-off-by: Linus Torvalds Tested-by: Sergey Senozhatsky Cc: Alan Cox Cc: OGAWA Hirofumi Signed-off-by: Greg Kroah-Hartman commit 7a4b23104bd2624d16681158a9b338c502c103a0 Author: Wolfram Sang Date: Sat Aug 1 15:28:35 2009 +0200 tty: serial/pcmcia: add ID for Advantech card Add ID as reported in: http://lists.infradead.org/pipermail/linux-pcmcia/2009-May/006127.html Reported-by: Kenneth Moorman Signed-off-by: Wolfram Sang Cc: stable Signed-off-by: Greg Kroah-Hartman commit 0271edd4b1b16f255162029359bb69c1ee4d9c3b Author: Mike Frysinger Date: Thu Aug 6 15:20:05 2009 -0700 serial: bfin_5xx: fix building as module when early printk is enabled Since early printk only makes sense/works when the serial driver is built into the kernel, disable the option for this driver when it is going to be built as a module. Otherwise we get build failures due to the ifdef handling. Signed-off-by: Mike Frysinger Cc: Alan Cox Cc: stable Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a4304f2d5a3823deea894026ec95e43b33912357 Author: Tilman Schmidt Date: Thu Aug 6 20:33:33 2009 -0700 tty: gigaset: really fix chars_in_buffer The tty_operation chars_in_buffer() is not allowed to return a negative value to signal an error. Corrects the problem flagged by commit 23198fda7182969b619613a555f8645fdc3dc334, "tty: fix chars_in_buffers". Signed-off-by: Tilman Schmidt Cc: "David S. Miller" Cc: stable Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 223cf6c3b517cf6ef040cafe45af89f3b8adba74 Author: Yeasah Pell Date: Wed Jul 1 18:11:35 2009 +0300 mtd: pxa3xx_nand: add single-bit error corrections reporting Acked-by: Eric Miao Signed-off-by: Yeasah Pell Signed-off-by: Mike Rapoport Signed-off-by: David Woodhouse commit 71b7d0d90d536ae4e70929cc59a1a9f6ba457c6c Author: Eric Benard Date: Mon Jun 29 13:58:01 2009 +0200 mtd: mxc_nand: fix 2KiB pagesize NAND on i.MX27 This patch allows i.MX27 to support 2KiB pagesize NAND flash. We are using a 1.8V NAND flash which datasheet (unfortunately only available under NDA) says : Page size: x8: 2,112 bytes (2,048 + 64 bytes). Without this patch, all sectors are marked as bad eraseblock. Signed-off-by: Eric Benard Acked-by : Sascha Hauer Signed-off-by: David Woodhouse commit 64da392ab08a88ad83f4c3f60283711ee090c9ef Author: Mike Frysinger Date: Tue Jun 16 19:20:40 2009 +0000 phram: cleanup error handling and associated messages The error handling in the phram driver is pretty bad -- in many places, errors are silently ignored or logged, but then still ignored in the return value. So convert all of the code to pass back the correct return value and log error messages properly (and using the new pr_fmt() helper). If everything does go smoothly, rather than exit silently, dump a helpful info message like pretty much every other MTD driver does. Signed-off-by: Mike Frysinger Acked-by: Joern Engel Signed-off-by: David Woodhouse commit aa3651e4625e21c2eb8a8e504d9bbc3c2a964be0 Author: Graf Yang Date: Mon Jun 15 08:23:41 2009 +0000 mtd: m25p80: add SST WF SPI flash device information Support SST25WF{512,010,020,040} SPI flashes. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: David Woodhouse commit 49aac4aec53c523f16343b4668a5a239b69659f1 Author: Graf Yang Date: Mon Jun 15 08:23:41 2009 +0000 mtd: m25p80: add support for AAI programming with SST SPI flashes The SST SPI flashes are a bit non-standard in that they can be programmed one byte at a time (including address!), or they can be written two bytes at a time with auto address incrementing (AAI). The latter form is obviously much better for performance, so let's use it when possible. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger Signed-off-by: David Woodhouse commit e454cea20bdcff10ee698d11b8882662a0153a47 Author: Kay Sievers Date: Fri Sep 18 23:01:12 2009 +0200 Driver-Core: extend devnode callbacks to provide permissions This allows subsytems to provide devtmpfs with non-default permissions for the device node. Instead of the default mode of 0600, null, zero, random, urandom, full, tty, ptmx now have a mode of 0666, which allows non-privileged processes to access standard device nodes in case no other userspace process applies the expected permissions. This also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 80f53da0ac752fe16a01ffeddaea658670974a05 Author: Mike Frysinger Date: Sat Jun 13 06:15:18 2009 -0400 mtd: fix order of TEST/PARTITIONS kconfig options The MTD_TEST config option was added in between the MTD_PARTITIONS config and its dependent options which causes the resulting menu system to display incorrectly as MTD_TEST does not depend on MTD_PARTITIONS. So move it up a few lines where it won't cause a problem. Signed-off-by: Mike Frysinger Signed-off-by: David Woodhouse commit d79c326c048246b855b83a0092e6324df0717735 Author: Mike Frysinger Date: Wed May 20 12:04:09 2009 -0400 mtd/maps: gpio-addr-flash: new driver for GPIO assisted flash addressing This driver lets people use GPIO's for additional address lines in case their processor does not have enough address lines already. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Signed-off-by: David Woodhouse commit 1b533d227e5f8356d2f009f90b8c8c1f02eb71b8 Author: Mike Frysinger Date: Tue Jun 9 10:37:18 2009 +0000 mtd/maps: uclinux: depend on MTD_RAM being built into the kernel If MTD_RAM is built as a module, the uClinux map does not work since it can only be built in to the kernel. Signed-off-by: Mike Frysinger Signed-off-by: David Woodhouse commit 3ff230a742b8fc196c1fe69875a57a429877cacb Author: Timofei Bondarenko Date: Wed May 20 19:59:02 2009 -0400 mtd/maps: uclinux: fix building when partition support is disabled The uClinux map driver doesn't even use partitions, so we shouldn't require it in order to work properly. Signed-off-by: Timofei Bondarenko Signed-off-by: Mike Frysinger Signed-off-by: Sonic Zhang CC: Greg Ungerer CC: uclinux-dev@uclinux.org CC: linux-mtd@lists.infradead.org Signed-off-by: David Woodhouse commit eda6da9286ad5b35b1eb70f6368958a8ee41a9dd Author: Yinghai Lu Date: Sat Sep 19 11:07:57 2009 -0700 Revert 'x86: Fix system crash when loading with "reservetop" parameter' After close looking, commit 8126dec3 will break: 1. some cpu feature in early stage too, like cpu_has_x2apic 2. will break built-in-command line 3. will break other memmap= and mem= 4. early_dbgp and early_console that will use early_ioremap to access mmio (?) So revert it. Reported-by: Hugh Dickins , Cc: Linus Torvalds , Cc: Andrew Morton , LKML-Reference: <4AB51DFD.2000904@kernel.org> Signed-off-by: Ingo Molnar commit 9aff1b1afe9a30c358d1c3a0bb50ae77bd7f994b Author: Hiroshi Ito Date: Fri Sep 18 12:51:51 2009 -0700 mtd: jedec_probe: fix NEC uPD29F064115 detection linux v2.6.31-rc6 can not detect NEC uPD29F064115. uPD29F064115 is a 16 bit device. datasheet: http://www.cn.necel.com/memory/cn/download/M16062EJ2V0DS00.pdf This applies the same fix as used for SST chips in commit ca6f12c67ed19718cf37d0f531af9438de85b70c ("jedec_probe: Fix SST 16-bit chip detection"). Signed-off-by: Hiroshi Ito Cc: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit a57ca0466af5da83e379d636b8c01fd53b41e2c6 Author: Roel Kluin Date: Fri Sep 18 12:51:50 2009 -0700 mtd: mtdpart: prevent a read from regions[-1] If the erase region was found in the first iteration we read from regions[-1] Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ebf2e93036907fe2a7ddab942aa63d35f97f3b2b Author: Roel Kluin Date: Fri Sep 18 12:51:49 2009 -0700 mtd: mtdconcat: prevent a read from eraseregions[-1] If the erase region was found in the first iteration we read from eraseregions[-1] Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 4c1e6b2ce13b154a4a69cee220c98976f4b784df Author: Roel Kluin Date: Fri Sep 18 12:51:49 2009 -0700 mtd: lart: Prevent a read from mtd->eraseregions[-1] Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f12a9473283e68ae708e9ada37cb352ea2652397 Author: Sneha Narnakaje Date: Fri Sep 18 12:51:48 2009 -0700 mtd: nand: DaVinci: Add 4-bit ECC support for large page NAND chips This patch adds 4-bit ECC support for large page NAND chips using the new ECC mode NAND_ECC_HW_OOB_FIRST. The platform data from board-dm355-evm has been adjusted to use this mode. The patches have been verified on DM355 device with 2KiB-page Micron devices using mtd-tests and JFFS2. Error correction up to 4 bits has also been verified using nandwrite/nanddump utilities. Reviewed-by: David Brownell Signed-off-by: Sneha Narnakaje Signed-off-by: Sandeep Paulraj Cc: Thomas Gleixner Cc: Troy Kisky Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 6e0cb135b3f3713b95ea41a11155e83a8c70f5f8 Author: Sneha Narnakaje Date: Fri Sep 18 12:51:47 2009 -0700 mtd: nand: add new ECC mode - ECC_HW_OOB_FIRST This patch adds the new mode NAND_ECC_HW_OOB_FIRST in the nand code to support 4-bit ECC on TI DaVinci devices with large page (up to 2KiB) NAND chips. This ECC mode is similar to NAND_ECC_HW, with the exception of read_page API that first reads the OOB area, reads the data in chunks, feeds the ECC from OOB area to the ECC hw engine and perform any correction on the data as per the ECC status reported by the engine. "ECC_HW_OOB_FIRST" name suggested by Thomas Gleixner Reviewed-by: David Brownell Signed-off-by: Sneha Narnakaje Signed-off-by: Sandeep Paulraj Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 46a8cf2df2232c0051f29716ff8a166ebeb08daf Author: Sneha Narnakaje Date: Fri Sep 18 12:51:46 2009 -0700 mtd: nand: add "page" parameter to all read_page/read_page_raw APIs This patch adds a new "page" parameter to all NAND read_page/read_page_raw APIs. The read_page API for the new mode ECC_HW_OOB_FIRST requires the page information to send the READOOB command and read the OOB area before the data area. Reviewed-by: David Brownell Signed-off-by: Sneha Narnakaje Signed-off-by: Sandeep Paulraj Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 778dbcc1ebea6f9a560020110987449bf4607e5f Author: Magnus Damm Date: Fri Sep 18 12:51:44 2009 -0700 mtd: onenand: make onenand/generic.c more generic Remove the ARM dependency from the generic "onenand" platform device driver. This change makes the driver useful for other architectures as well. Needed for the SuperH kfr2r09 board. Apart from the obvious Kconfig bits, the most important change is the move away from ARM specific includes and platform data. Together with this change the only in-tree board code gets an update, and the driver name is also changed gracefully break potential out of tree drivers. The driver is also updated to allow NULL as platform data together with a few changes to make use of resource_size() and dev_name(). Signed-off-by: Magnus Damm Cc: Paul Mundt Cc: Tony Lindgren Cc: Kyungmin Park Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f33dabbe79fdf7a8568c65faa1db7794c87ac4d3 Author: Uwe Kleine-König Date: Fri Sep 18 12:51:43 2009 -0700 mtd: nand: register orion_nand using platform_driver_probe() orion_nand_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 Nicolas Pitre 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 Cc: Lennert Buytenhek Cc: Saeed Bishara Cc: Joern Engel Acked-by: Nicolas Pitre Cc: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 2eaaa5ff87c675aacd3a869fc5fe75a35bbd5278 Author: Jiri Slaby Date: Fri Sep 18 12:51:42 2009 -0700 mtd: sst25l, fix lock imbalance Add an omitted unlock to one sst25l_erase fail path. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit ec77e21b91f0393a5201cfd4571a82ab7d64fd29 Author: Ryan Mallon Date: Fri Sep 18 12:51:40 2009 -0700 mtd: SST25L (non JEDEC) SPI Flash driver Add support for the non JEDEC SST25L SPI Flash devices. [dwmw2: Some cleanups] Signed-off-by: Andre Renaud Signed-off-by: Ryan Mallon Acked-by: Linus Walleij Cc: Anton Vorontsov Cc: "H Hartley Sweeten" Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit a017421ddcdf34474f1133b27e33ab2ca6c19b96 Author: Andreas Herrmann Date: Tue Sep 15 17:17:27 2009 +0200 x86, mce: Fix compile warning in case of CONFIG_SMP=n Fix following compile warning: arch/x86/kernel/cpu/mcheck/mce_amd.c: In function 'threshold_create_bank': arch/x86/kernel/cpu/mcheck/mce_amd.c:492: warning: unused variable 'c' which shows up when kernel is compiled with CONFIG_SMP=n. Signed-off-by: Andreas Herrmann LKML-Reference: <20090915151727.GB21670@alberich.amd.com> Signed-off-by: Ingo Molnar commit cdf8073d6b2c6c5a3cd6ce0e6c1297157f7f99ba Author: Ian Schram Date: Fri Sep 18 21:26:26 2009 +0200 perf_counter: Fix perf_copy_attr() pointer arithmetic There is still some weird code in per_copy_attr(). Which supposedly checks that all bytes trailing a struct are zero. It doesn't seem to get pointer arithmetic right. Since it increments an iterating pointer by sizeof(unsigned long) rather than 1. Signed-off-by: Ian Schram [ v2: clean up the messy PTR_ALIGN logic as well. ] Signed-off-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: # for v2.6.31.x LKML-Reference: <4AB3DEE2.3030600@telenet.be> Signed-off-by: Ingo Molnar commit 2df28818047f7cbd8ece9c965a0e8a423c80d511 Merge: be4bdbf 30bd39c Author: Ingo Molnar Date: Sat Sep 19 19:21:15 2009 +0200 Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit ec60a3fe478c0fc6d109eb5840b435ecee4d132b Author: Arjan van de Ven Date: Sat Sep 19 13:36:30 2009 +0200 perf utils: Use a define for the maximum length of a trace event As per Ingo's review: use a #define rather than an open coded constant for the maximum length of a trace event for storing in the perf.data file. Signed-off-by: Arjan van de Ven Cc: fweisbec@gmail.com Cc: peterz@infradead.org Cc: Paul Mackerras LKML-Reference: <20090919133630.10533d3e@infradead.org> [ add a few comments to nearby functions ] Signed-off-by: Ingo Molnar commit 151750cec5db3c7ea45255d2901e581e2162317a Author: Arjan van de Ven Date: Sat Sep 19 13:36:04 2009 +0200 perf: Add timechart help text and add timechart to "perf help" As suggested by Ingo, add a timechart man page help text, as well as add it to the "perf help" overview. Signed-off-by: Arjan van de Ven Cc: fweisbec@gmail.com Cc: peterz@infradead.org Cc: Paul Mackerras LKML-Reference: <20090919133604.3767fa35@infradead.org> Signed-off-by: Ingo Molnar commit 288f023e708efd89d77ce9acf977a33a623ae83d Author: Arjan van de Ven Date: Sat Sep 19 13:35:33 2009 +0200 tracing, x86, cpuidle: Move the end point of a C state in the power tracer The "end of a C state" trace point currently happens before the code runs that corrects the TSC for having stopped during idle. The result of this is that the timestamp of the end-of-C-state event is garbage on cpus where the TSC stops during idle. This patch moves the end point of the C state to after the timekeeping engine of the kernel has been corrected. Signed-off-by: Arjan van de Ven Cc: Len Brown Cc: fweisbec@gmail.com Cc: peterz@infradead.org Cc: Paul Mackerras LKML-Reference: <20090919133533.139c2a46@infradead.org> Signed-off-by: Ingo Molnar commit 964a0b3d2b1b1cac1d01e29b635831b3d92a3fdd Author: Arjan van de Ven Date: Sat Sep 19 13:35:07 2009 +0200 perf utils: Be consistent about minimum text size in the svghelper Be more consistent in the svghelper about the minimum text size by having a global #define for this. There needs to be a minimum text size in order to keep the size of the SVG file within the reach of what current SVG viewers can cope with. Signed-off-by: Arjan van de Ven Cc: fweisbec@gmail.com Cc: peterz@infradead.org Cc: Paul Mackerras Cc: Arjan van de Ven LKML-Reference: <20090919133507.7374ef8b@infradead.org> Signed-off-by: Ingo Molnar commit 3c09eebd61eaacca866cd60b50416f18640bc731 Author: Arjan van de Ven Date: Sat Sep 19 13:34:42 2009 +0200 perf timechart: Add "perf timechart record" Add a command line option to record a trace, similar to "perf sched record". Signed-off-by: Arjan van de Ven Cc: fweisbec@gmail.com Cc: peterz@infradead.org Cc: Paul Mackerras LKML-Reference: <20090919133442.0dc2c7f5@infradead.org> Signed-off-by: Ingo Molnar commit 0c02a20ff7695f9c54cc7c013dda326270ccdac8 Author: David Woodhouse Date: Sat Sep 19 09:37:23 2009 -0700 intel-iommu: Kill DMAR_BROKEN_GFX_WA option. Just make it depend on BROKEN for now, in case people scream really loud about it (and because we might want to keep some of this logic for an upcoming BIOS workaround, so I don't just want to rip it out entirely just yet). But for graphics devices, it really ought to be unnecessary. Signed-off-by: David Woodhouse commit 64de5af000e99f32dd49ff5dd9a0fd7db1f60305 Author: Benjamin LaHaise Date: Wed Sep 16 21:05:55 2009 -0400 intel-iommu: Fix integer wrap on 32 bit kernels The following 64 bit promotions are necessary to handle memory above the 4GiB boundary correctly. [dwmw2: Fix the second part not to need 64-bit arithmetic at all] Signed-off-by: Benjamin LaHaise Signed-off-by: David Woodhouse commit 30bd39cd6244ffe3258c9203405286ef77b1c4eb Author: Li Zefan Date: Fri Sep 18 14:07:05 2009 +0800 tracing/events: use list_for_entry_continue Simplify s_next() and t_next(). Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4AB32389.1030005@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit ee6c2c1bd15e60a442d1861b66285f112ce4f25c Author: Li Zefan Date: Fri Sep 18 14:06:47 2009 +0800 tracing: remove max_tracer_type_len Limit the length of a tracer's name within 100 chars, and then we don't have to play with max_tracer_type_len. Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4AB32377.9020601@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit a4ec5e0c2681b8cf99ddabf118705847f7460f19 Author: Li Zefan Date: Fri Sep 18 14:06:28 2009 +0800 function-graph: use ftrace_graph_funcs directly No need to store ftrace_graph_funcs in file->private. Acked-by: Frederic Weisbecker Signed-off-by: Li Zefan LKML-Reference: <4AB32364.7020602@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 3f04e8cd5b24727a2500f8ab8f3de730ba47b02c Author: Mike Galbraith Date: Sat Sep 19 16:52:35 2009 +0200 sched: Re-add lost cpu_allowed check to sched_fair.c::select_task_rq_fair() While doing some testing, I pinned mplayer, only to find it following X around like a puppy. Looking at commit c88d591, I found a cpu_allowed check that went AWOL. I plugged it back in where it looks like it needs to go, and now when I say "sit, stay!", mplayer obeys again. 'c88d591 sched: Merge select_task_rq_fair() and sched_balance_self()' accidentally dropped the check, causing wake_affine() to pull pinned tasks - put it back. [ v2: use a cheaper version from Peter ] Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 59c36286b74ae6a8adebf6e133a83d7f2e3e6704 Author: David Woodhouse Date: Sat Sep 19 07:36:28 2009 -0700 intel-iommu: Fix integer overflow in dma_pte_{clear_range,free_pagetable}() If end_pfn is equal to (unsigned long)-1, then the loop will never end. Seen on 32-bit kernel, but could have happened on 64-bit too once we get hardware that supports 64-bit guest addresses. Change both functions to a 'do {} while' loop with the test at the end, and check for the PFN having wrapper round to zero. Reported-by: Benjamin LaHaise Tested-by: Benjamin LaHaise Signed-off-by: David Woodhouse commit 2ebe31513fcbe7a781f27002f065b50ae195022f Author: David Woodhouse Date: Sat Sep 19 07:34:04 2009 -0700 intel-iommu: Limit DOMAIN_MAX_PFN to fit in an 'unsigned long' This means we're limited to 44-bit addresses on 32-bit kernels, and makes it sane for us to use 'unsigned long' for PFNs throughout. Which is just as well, really, since we already do that. Reported-by: Benjamin LaHaise Tested-by: Benjamin LaHaise Signed-off-by: David Woodhouse commit be4bdbfbae6b303c21ebe446648f617908a794b5 Merge: fc53776 20ab442 Author: Ingo Molnar Date: Sat Sep 19 12:05:25 2009 +0200 Merge branch 'tracing/core-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/urgent commit 10274989fd595db455874fc2c83272fb33f6b27b Author: Arjan van de Ven Date: Sat Sep 12 07:53:05 2009 +0200 perf: Add the timechart tool timechart is a tool to visualize what is going on in the system. The user makes a trace of what is going on with > perf record --timechart /usr/bin/some_command and then can turn the output of this into an svg file > perf timechart which then can be viewed with any SVG view; inkscape works well enough for me. The idea behind timechart is to create a "infinitely zoomable" picture; something that has high level information on a 1:1 zoom level, but which exposes more details every time you zoom into a specific area. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090912130713.6a77bbc0@infradead.org> Signed-off-by: Ingo Molnar commit f48d55ce7871824eae3065f4d81956d7113eff19 Author: Arjan van de Ven Date: Sat Sep 12 12:52:11 2009 +0200 perf: Add a SVG helper library file The timechart tool writes out SVG format output; this patch adds a set of helper functions to abstract dealing with SVG from the core timechart code. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090912130613.677f0516@infradead.org> Signed-off-by: Ingo Molnar commit 6161352142d5fed4cd753b32e5ccde66e705b14e Author: Arjan van de Ven Date: Thu Sep 17 16:11:28 2009 +0200 tracing, perf: Convert the power tracer into an event tracer This patch converts the existing power tracer into an event tracer, so that power events (C states and frequency changes) can be tracked via "perf". This also removes the perl script that was used to demo the tracer; its functionality is being replaced entirely with timechart. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090912130542.6d314860@infradead.org> Signed-off-by: Ingo Molnar commit fd39e055c4fefa4553efc9030f9903afdc6ee323 Author: Arjan van de Ven Date: Sat Sep 12 07:53:00 2009 +0200 perf: Add a sample_event type to the event_union Add a sample_event type to the event_union so that raw samples can be processed easily. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090912130511.411434b5@infradead.org> Signed-off-by: Ingo Molnar commit a79d7db9fdb0037925ffa31f6ff9b189ff75d235 Author: Arjan van de Ven Date: Sat Sep 12 07:52:54 2009 +0200 perf: Allow perf utilities to have "callback" options without arguments timechart needs to add a "callback" type command line argument that does not take arguments. This patch adds the parse-options.h infrastructure to make this possible. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090912130440.548666c1@infradead.org> Signed-off-by: Ingo Molnar commit 8755a8f27ae590dde225f9005ee18c6d9c4c6d78 Author: Arjan van de Ven Date: Sat Sep 12 07:52:51 2009 +0200 perf: Store trace event name/id pairs in perf.data The trace event name<->id mapping is dynamic for each kernel compile. In order for perf.data to be useable outside the actual system, we thus need to store a table of this mapping for later use. This patch adds this table to perf.data, and provides helper functions for lookup up fields from this table. To avoid mistakes, lookup-from-table is kept completely seprate from lookup-from-local-debugfs. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090912130405.6960d099@infradead.org> Signed-off-by: Ingo Molnar commit 393b2ad8c757ba3ccd2a99ca5bbcd6db4d3fa53d Author: Arjan van de Ven Date: Sat Sep 12 07:52:47 2009 +0200 perf: Add a timestamp to fork events perf timechart needs to know when a process forked, in order to be able to visualize properly when tasks start. This patch adds a time field to the event structure, and fills it in appropriately. Signed-off-by: Arjan van de Ven Acked-by: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090912130341.51ad2de2@infradead.org> Signed-off-by: Ingo Molnar commit 929bf0d0156562ce631728b6fa53d68004d456d2 Merge: def0a9b 202c467 Author: Ingo Molnar Date: Sat Sep 19 11:27:32 2009 +0200 Merge branch 'linus' into perfcounters/core Merge reason: Bring in tracing changes we depend on. Signed-off-by: Ingo Molnar commit 2fbd07a5f5d1295fa9b0c0564ec27da7c276a75a Author: Suresh Siddha Date: Fri Sep 18 19:29:59 2009 -0700 x86, apic: Use logical flat on intel with <= 8 logical cpus On Intel platforms, we can use logical flat mode if there are <= 8 logical cpu's (irrespective of physical apic id values). This will enable simplified and efficient IPI and device interrupt routing on such platforms. Fix the relevant comments while we are at it. We can clean up default_setup_apic_routing() by using apic->probe() but that is a different item. Signed-off-by: Suresh Siddha Cc: "yinghai@kernel.org" LKML-Reference: <1253327399.3948.747.camel@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit a71fca58b7f4abca551ae2256ac08dd9123a03f9 Author: Paul E. McKenney Date: Fri Sep 18 10:28:19 2009 -0700 rcu: Fix whitespace inconsistencies Fix a number of whitespace ^Ierrors in the include/linux/rcu* and the kernel/rcu* files. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <20090918172819.GA24405@linux.vnet.ibm.com> [ did more checkpatch fixlets ] Signed-off-by: Ingo Molnar commit 49e291266d0920264471d9d64268fb030e33a99a Author: Paul E. McKenney Date: Fri Sep 18 09:50:19 2009 -0700 rcu: Fix thinko, actually initialize full tree Commit de078d8 ("rcu: Need to update rnp->gpnum if preemptable RCU is to be reliable") repeatedly and incorrectly initializes the root rcu_node structure's ->gpnum field rather than initializing the ->gpnum field of each node in the tree. Fix this. Also add an additional consistency check to catch this in the future. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <125329262011-git-send-email-> Signed-off-by: Ingo Molnar commit e7d8842ed34a7fe19d1ed90f84c211fb056ac523 Author: Paul E. McKenney Date: Fri Sep 18 09:50:18 2009 -0700 rcu: Apply results of code inspection of kernel/rcutree_plugin.h o Drop the calls to cpu_quiet() from the online/offline code. These are unnecessary, since force_quiescent_state() will clean up, and removing them simplifies the code a bit. o Add a warning to check that we don't enqueue the same blocked task twice onto the ->blocked_tasks[] lists. o Rework the phase computation in rcu_preempt_note_context_switch() to be more readable, as suggested by Josh Triplett. o Disable irqs to close a race between the scheduling clock interrupt and rcu_preempt_note_context_switch() WRT the ->rcu_read_unlock_special field. o Add comments to rnp->lock acquisition and release within rcu_read_unlock_special() noting that irqs are already disabled. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <12532926201851-git-send-email-> Signed-off-by: Ingo Molnar commit 28ecd58020409be8eb176c716f957fc3386fa2fa Author: Paul E. McKenney Date: Fri Sep 18 09:50:17 2009 -0700 rcu: Add WARN_ON_ONCE() consistency checks covering state transitions o Verify that qsmask bits stay clear through GP initialization. o Verify that cpu_quiet_msk_finish() is never invoked unless there actually is an RCU grace period in progress. o Verify that all internal-node rcu_node structures have empty blocked_tasks[] lists. o Verify that child rcu_node structure's bits remain clear after acquiring parent's lock. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <12532926191947-git-send-email-> Signed-off-by: Ingo Molnar commit 193a6dec1c0246a80b6d0101e4f351ccf877bcac Merge: 53de535 90c53ca Author: Len Brown Date: Sat Sep 19 02:31:39 2009 -0400 Merge branch 'video' into release Conflicts: drivers/acpi/video.c Signed-off-by: Len Brown commit 53de5356be3ac62c22ae1da266943059b169d9b1 Author: Bjorn Helgaas Date: Mon Aug 31 22:32:20 2009 +0000 ACPI: don't pass handle for fixed hardware notifications Fixed hardware devices have no handles, so just pass an explicit NULL rather than something that looks like it might be meaningful. acpi_device_notify() doesn't need the handle anyway; the only reason it takes it as an argument is because the acpi_notify_handler typedef requires it. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 59fc9e5e21baf2bf5c87d8006e006007c3a708c2 Author: Bjorn Helgaas Date: Mon Aug 31 22:32:15 2009 +0000 ACPI: remove null pointer checks in deferred execution path Better to oops and learn about a bug than to silently cover it up. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 9ac6185669d0d277c4082fa92ba8eb2e55534cbf Author: Bjorn Helgaas Date: Mon Aug 31 22:32:10 2009 +0000 ACPI: simplify deferred execution path We had two functions, acpi_os_execute_deferred() and acpi_os_execute_hp_deferred() that differed only in that the latter did acpi_os_wait_events_complete(NULL) before executing the deferred function. This patch consolidates those two functions and uses a flag in the struct acpi_os_dpc to determine whether to do the wait. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit d26f0528d588e596955bf296a609afe52eafc099 Merge: b963bd3 df43176 Author: Len Brown Date: Sat Sep 19 02:14:45 2009 -0400 Merge branch 'misc-2.6.32' into release Conflicts: drivers/pci/dmar.c Signed-off-by: Len Brown commit b963bd39c9000328f6ce4f12aa52abbb0c68ee91 Merge: cbeee13 5f0dadb Author: Len Brown Date: Sat Sep 19 02:11:06 2009 -0400 Merge branch 'thinkpad' into release commit cbeee13570adfb0af494a07074958e4888c2351c Merge: 7ef0143 b188e4c Author: Len Brown Date: Sat Sep 19 02:10:40 2009 -0400 Merge branch 'processor-procfs-2.6.32' into release commit 7ef0143e2f898f9bf675c81bdf0e045c8dd53c57 Merge: 44396a2 138d156 Author: Len Brown Date: Sat Sep 19 02:10:27 2009 -0400 Merge branch 'preempt' into release commit 44396a262286d1a07216a7c7792d4ed7a4c89ea7 Merge: 89ae400 de584af Author: Len Brown Date: Sat Sep 19 02:10:22 2009 -0400 Merge branch 'power-meter' into release commit 89ae400e3f57c9d60cd4da3501bb09c1502b723c Merge: bf25400 84a6ce2 Author: Len Brown Date: Sat Sep 19 02:09:50 2009 -0400 Merge branch 'fujitsu' into release commit bf25400e889dac3f9a3d5a5b77e8ec4c170a5006 Merge: 762caf0 a5fe1a0 Author: Len Brown Date: Sat Sep 19 02:09:37 2009 -0400 Merge branch 'bugzilla-13620' into release commit 762caf0baafc657c410b9c04f4a95d4e3aa4dda1 Merge: 3b87bb6 f25752e Author: Len Brown Date: Sat Sep 19 02:05:34 2009 -0400 Merge branch 'ec' into release Conflicts: drivers/acpi/ec.c Signed-off-by: Len Brown commit 3b87bb640e77023c97cf209e3dd85887a1113ad0 Merge: 7a92d80 dcf52fb Author: Len Brown Date: Sat Sep 19 01:56:39 2009 -0400 Merge branch 'bjorn-start-stop-2.6.32' into release commit 7a92d803227a523a9a5546e4e0dce1325a4b5926 Merge: b4549a2 bc76f90 Author: Len Brown Date: Sat Sep 19 01:56:17 2009 -0400 Merge branch 'battery' into release commit b4549a24b6194201077d0295207ec204f785fab1 Merge: 3bb29ec 52cc96b Author: Len Brown Date: Sat Sep 19 01:55:27 2009 -0400 Merge branch 'asus' into release commit 3bb29ec14ce5f448ab37a5da16c3d720ae5af9cf Merge: 985f387 f944915 Author: Len Brown Date: Sat Sep 19 01:54:35 2009 -0400 Merge branch 'acer' into release commit f944915187f53810130eb1c56985e27e3cbe4a6d Author: Peter Feuerer Date: Fri Sep 18 12:41:07 2009 -0700 acerhdf: additional BIOS versions Added BIOS versions: Acer: AOA110-v0.3307, AOA150-v0.3301, AOA150-v0.3307 Packard Bell: AOA150-v0.3105 Signed-off-by: Peter Feuerer Cc: Andreas Mohr Cc: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit ff27e1f3037535a547e2474eecb688428d654dc3 Author: Borislav Petkov Date: Fri Sep 18 12:41:05 2009 -0700 acerhdf: convert to dev_pm_ops Signed-off-by: Borislav Petkov Signed-off-by: Peter Feuerer Cc: Andreas Mohr Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit ded0cdfc6a7673916b0878c32fa8ba566b4f8cdb Author: Peter Feuerer Date: Thu Aug 6 15:57:52 2009 -0700 acerhdf: fix fan control for AOA150 model - Apply Borislav Petkov's patch (convert the fancmd[] array to a real struct thus disambiguating command handling and making code more readable.) - Add BIOS product to BIOS table as AOA110 and AOA150 have different register values - Add force_product parameter to allow forcing different product - fix linker warning caused by "acerhdf_drv" not being named "acerhdf_driver" Signed-off-by: Peter Feuerer Cc: Andreas Mohr Acked-by: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 985f38781d19101aba121df423f92c87b208c6df Merge: d093d70 c976623 Author: Len Brown Date: Sat Sep 19 01:45:22 2009 -0400 Merge branch 'acpica' into release commit df43176c934f2bc01f7615a6e20a4b8e77dcdd11 Author: Jan Beulich Date: Fri Sep 18 12:41:10 2009 -0700 thermal: add missing Kconfig dependency Otherwise THERMAL_HWMON can be selected when HWMON=n and THERMAL=n, which fails to build. Signed-off-by: Jan Beulich Cc: Zhang Rui Cc: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 7d7decb213a65dea0973ed980c02dae2b1b88dbe Author: Alexey Dobriyan Date: Fri Sep 18 12:41:08 2009 -0700 acpi: switch /proc/acpi/{debug_layer,debug_level} to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 09729f0b11a389e046f621f3e4841043f460b603 Author: Corentin Chary Date: Mon Sep 14 12:43:51 2009 +0200 hp-wmi: fix rfkill memory leak on unload rfkill_unregister() should always be followed by rfkill_destroy() In this case, rfkill_destroy was called two times on wifi_rfkill and never on bluetooth_rfkill. Signed-off-by: Corentin Chary Acked-by: Matthew Garrett Signed-off-by: Len Brown commit e4f55966d02c5dfade2978c2aa05fb202a78a4d1 Author: Len Brown Date: Mon Jul 6 23:42:10 2009 -0400 ACPI: remove unnecessary #ifdef CONFIG_DMI acpi_osi_setup() does not depend on CONFIG_DMI acpi_dmi_osi_linux()'s definition doesn't depend on CONFIG_DMI either Signed-off-by: Len Brown commit eb27cae8adaa658a0bf31631baa1ce29d8183759 Author: Len Brown Date: Mon Jul 6 23:40:19 2009 -0400 ACPI: linux/acpi.h should not include linux/dmi.h users of acpi.h that need dmi.h should include it directly. Signed-off-by: Len Brown commit de584afa5e188a2da484bb5373d449598cdb9f5e Author: Darrick J. Wong Date: Fri Sep 18 12:41:09 2009 -0700 hwmon driver for ACPI 4.0 power meters This driver exposes ACPI 4.0 compliant power meters as hardware monitoring devices. This second revision of the driver also exports the ACPI string info as sysfs attributes, a list of the devices that the meter measures, and will send ACPI notifications over the ACPI netlink socket. This latest revision only enables the power capping controls if it can be confirmed that the power cap can be enforced by the hardware and explains how the notification interfaces work. [akpm@linux-foundation.org: remove default-y] [akpm@linux-foundation.org: build fix] Signed-off-by: Darrick J. Wong Cc: Zhang Rui Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit d093d70a81b08673d1577ad73419998f02be9d29 Merge: 596fb7a 9caeb53 Author: Len Brown Date: Sat Sep 19 01:29:01 2009 -0400 Merge branch 'topstar-laptop' into release commit 9caeb5324427990db7bc97e674794d201c1f0797 Author: Herton Ronaldo Krzesinski Date: Mon Sep 14 21:11:21 2009 -0300 topstar-laptop: add new driver for hotkeys support on Topstar N01 This adds Topstar Laptop Extras ACPI driver. It enables hotkeys functionality with Topstar N01 netbook. Besides hotkeys there are other functions exposed by its ACPI firmware, but for now only hotkeys reporting on Topstar N01 is supported. Topstar is a chinese manufacturer, its website can be currently reached at http://www.topstardigital.cn/ Signed-off-by: Herton Ronaldo Krzesinski Reviewed-by: Alan Jenkins Reviewed-by: Bjorn Helgaas Signed-off-by: Len Brown commit 5f0dadb4bd259c3b832e19702f552947244edfb9 Author: Corentin Chary Date: Mon Sep 14 12:43:52 2009 +0200 thinkpad_acpi: fix rfkill memory leak on unload rfkill_unregister() should always be followed by rfkill_destroy() Signed-off-by: Corentin Chary Acked-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 596fb7ae462f5c82a1d663fe04f8c98464c963c9 Merge: 003d6a3 de4c8cc Author: Len Brown Date: Sat Sep 19 01:06:16 2009 -0400 Merge branch 'thinkpad' into release commit de4c8cc7bddd9c43dc1b85517ab445ffa8163058 Author: Henrique de Moraes Holschuh Date: Sat Sep 12 15:22:18 2009 -0300 thinkpad-acpi: report brightness events when required Report KEY_BRIGHTNESSUP and KEY_BRIGHTNESSDOWN input events when the ThinkPad is in "passive brightness control" mode (because either we or ACPI video touched _BCL), and ACPI video is not processing these events by itself. This happens only on Lenovo ThinkPads with ACPI video support, when operating with the ACPI video driver in acpi_backlight=vendor mode. Issuing these events is the right thing to do, and will work around bugzilla #13368, if userspace is properly configured and actively handles these events. For other ThinkPads, and when ACPI video is handling brightness changes, thinkpad-acpi will continue NOT sending KEY_BRIGHTNESS* events by default. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 230d8cf25ac32c7d2fdb4dda861ec5d954000ffb Author: Henrique de Moraes Holschuh Date: Sat Sep 12 15:22:17 2009 -0300 thinkpad-acpi: don't poll by default any of the reserved hotkeys Init hotkey_source_mask late, so that we can make use of hotkey_reserved_mask to avoid polling any of the reserved hotkeys by default. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 20c9aa46f644b3ddb161a819d1b0c2b07097c4ee Author: Henrique de Moraes Holschuh Date: Sat Sep 12 15:22:16 2009 -0300 thinkpad-acpi: Fix procfs hotkey reset command echo "reset" > /proc/acpi/ibm/hotkey should do something non-useless, so instead of setting it to Fn+F2, Fn+F3, Fn+F5, set it to hotkey_recommended_mask. It is not like it will survive for much longer, anyway. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 06777be6d8688ba93103fffbbe9e64a5e6fab3c8 Author: Henrique de Moraes Holschuh Date: Sat Sep 12 15:22:15 2009 -0300 thinkpad-acpi: deprecate hotkey_bios_mask Some analysis of the ACPI DSDTs shows that the HKEY pre-enabled mask is always 0x80c (FN+F3,FN+F4 and FN+F12), which are the hotkeys that the second gen of HKEY firmware supported (the first gen didn't report any hotkeys, the second reported these tree hotkeys but had no mask support, and the third added mask support). So, this is probably some sort of backwards compatibility with older versions of the IBM ThinkVantage suite. We have no use for that, and I know of exactly ZERO users of that attribute, anyway. Start the process of getting rid of it. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit db25f16d1dcce8de12f2f5daf884cda02196b28c Author: Henrique de Moraes Holschuh Date: Sat Sep 12 15:22:14 2009 -0300 thinkpad-acpi: hotkey poll fixes Fix some locking, avoid exiting the kthread before kthread_stop() is called on it, and clean up the hotkey poll routines a little bit. Also, restore bits in the firmware mask after hotkey_source_mask is changed. Without this, we leave events disabled... Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit e675abafcc0df38125e6e94a9ba91c92fe774f52 Author: Henrique de Moraes Holschuh Date: Sat Sep 12 15:22:13 2009 -0300 thinkpad-acpi: be more strict when detecting a ThinkPad Use stricter checks to decide that we're running on a supported ThinkPad. This should remove some possible false positives, although nobody ever bothered to report any. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 600a99fa3b4ce4a54375fb089e5ce0f3a1c9a7e1 Author: Henrique de Moraes Holschuh Date: Sat Sep 12 15:22:12 2009 -0300 thinkpad-acpi: firmware version checks Use the quirk infrastructure to warn of outdated firmware and also of firmware versions that are known to cause problems. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 6da25bf51689a5cc60370d30275dbb9e6852e0cb Author: Henrique de Moraes Holschuh Date: Sat Sep 12 15:22:11 2009 -0300 thinkpad-acpi: don't ask about brightness_mode for fw. 1V and 1R X40 (firmware 1V) and T41 (firmware 1R) have been confirmed to work well with the new defaults, so we can stop pestering people to confirm that fact. For now, whitelist just these two firmware types. It is best to have at least one more firmware type confirmed for Radeon 9xxx and Intel GMA-2 ThinkPads before removing the confirmation requests entirely. Reported-by: Robert de Rooy Signed-off-by: Henrique de Moraes Holschuh Cc: stable@kernel.org Signed-off-by: Len Brown commit 003d6a38ce1a59e0053a02fd9e9a65b588bc8e33 Merge: 71fd68e e55a599 Author: Len Brown Date: Sat Sep 19 00:37:13 2009 -0400 Merge branch 'sfi-base' into release Conflicts: drivers/acpi/power.c Signed-off-by: Len Brown commit c602c65b2f81d14456771d1e3f15d1381f4b7efa Merge: 3834f47 78f28b7 Author: Len Brown Date: Sat Sep 19 00:11:26 2009 -0400 Merge branch 'linus' into sfi-release Conflicts: arch/x86/kernel/setup.c drivers/acpi/power.c init/main.c Signed-off-by: Len Brown commit 84d6ae431f315e8973aac3c3fe1d550fc9240ef3 Author: Mauro Carvalho Chehab Date: Sat Sep 19 01:01:26 2009 -0300 V4L/DVB (13033): pt1: Don't use a deprecated DMA_BIT_MASK macro drivers/media/dvb/pt1/pt1.c: In function ‘pt1_probe’: drivers/media/dvb/pt1/pt1.c:915: warning: ‘DMA_nnBIT_MASK’ is deprecated Signed-off-by: Mauro Carvalho Chehab commit 71fd68e7d234f6b7d8407c8f486764d24f8411f4 Merge: 8ff0e08 78f28b7 Author: Len Brown Date: Sat Sep 19 00:06:59 2009 -0400 Merge branch 'linus' into release commit 2ff88bc34314ace6035b5aecd36e786342e64758 Author: Huang Weiyi Date: Fri Sep 18 23:33:47 2009 -0300 V4L/DVB (13029): radio-si4713: remove #include Remove #include Cc: Eduardo Valentin Signed-off-by: Huang Weiyi Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 62474076c533ee4f35aee08656ce57d224f533d4 Author: Pete Eberlein Date: Fri Sep 18 23:06:15 2009 -0300 V4L/DVB (13027): go7007: convert printks to v4l2_info Use v4l2_info and v4l2_err where appropriate. Signed-off-by: Pete Eberlein Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 047efc7db9fea32703e8ba04629562e52cccdf88 Author: Pete Eberlein Date: Fri Sep 18 22:55:13 2009 -0300 V4L/DVB (13026): s2250-board: Implement brightness and contrast controls The brightness and contrast controls were added to the Sensoray 2250 device. A read register function was added to set the correct bit fields. Signed-off-by: Pete Eberlein Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d66ddf21723146a69915a0cf46db77f409e74602 Author: Pete Eberlein Date: Fri Sep 18 22:05:19 2009 -0300 V4L/DVB (13025): s2250-board: Fix memory leaks In some error cases, allocated buffers need to be freed before returning. Signed-off-by: Pete Eberlein Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bb871652d9523d5be811c0c36b04c05c4ac37f92 Author: Pete Eberlein Date: Fri Sep 18 21:59:29 2009 -0300 V4L/DVB (13024): go7007: Implement vidioc_g_std and vidioc_querystd Implemented the vidio_g_std and vidio_querystd ioctls. Signed-off-by: Pete Eberlein Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f4135b69cf9cb13ad4d639a1b368e14ccbb6348b Author: Pete Eberlein Date: Fri Sep 18 21:50:54 2009 -0300 V4L/DVB (13023): go7007: Merge struct gofh and go declarations The declarations for struct go7007_file *gofh and struct go7007 *go can be merged when gofh isn't used by the function. Signed-off-by: Pete Eberlein Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 669022a21662b9c8182a00c22c27afc8757f3481 Author: Pete Eberlein Date: Fri Sep 18 21:36:45 2009 -0300 V4L/DVB (13022): go7007: Fix mpeg controls MPEG controls were disabled by Mauro's ioctl conversion patch. They are now re-enabled and cleaned up. Signed-off-by: Pete Eberlein Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f4a7d6e4ef5ae06dc81803d3e69df3c959207d1c Author: Pete Eberlein Date: Fri Sep 18 21:28:59 2009 -0300 V4L/DVB (13021): go7007: Fix whitespace and line lengths Trailing whitespace is removed. Source lines wrap at 80 columns. Signed-off-by: Pete Eberlein Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit c24db7065e9ed717c38792fc23075fcd02a0a544 Author: Pete Eberlein Date: Fri Sep 18 21:21:55 2009 -0300 V4L/DVB (13020): go7007: Updates to Kconfig and Makefile Replace "weird device" with accurate descriptions. Add menu options and makefile lines for the i2c modules. Added comment about why dvb-usb is included. Added include sound/config.h for Ubuntu 8.04 distro kernel. Signed-off-by: Pete Eberlein Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 6789cb5230f8b06271b6a89ace20449af14be303 Author: Richard Röjfors Date: Fri Sep 18 21:17:20 2009 -0300 V4L/DVB (13019): video: initial support for ADV7180 This is an initial driver for Analog Devices ADV7180 Video Decoder. So far it only supports query standard. [akpm@linux-foundation.org: remove unneeded cast] Cc: Hans Verkuil Signed-off-by: Richard Röjfors Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 40d2951758d788a0375d27062caf9cc75de735a9 Author: Roel Kluin Date: Fri Sep 18 21:03:34 2009 -0300 V4L/DVB (13018): kzalloc failure ignored in au8522_probe() Prevent NULL dereference if kzalloc() fails. Cc: Devin Heitmueller Signed-off-by: Roel Kluin Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d8370f7eff14ef646ba4a81eb9642800518a7324 Author: Roel Kluin Date: Fri Sep 18 20:33:27 2009 -0300 V4L/DVB (13017): gspca: kmalloc failure ignored in sd_start() Prevent NULL dereference if kmalloc() fails. Cc: Jean-Francois Moine Signed-off-by: Roel Kluin Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8d04df4997b530d978d48a66655a99714af197ca Author: Roel Kluin Date: Fri Sep 18 20:26:53 2009 -0300 V4L/DVB (13016): kmalloc failure ignored in lgdt3304_attach() and s921_attach() Prevent NULL dereference if kmalloc() fails. Cc: Markus Rechberger Signed-off-by: Roel Kluin Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1601fb14980b1295e00087460d57256a87f334bf Author: Roel Kluin Date: Fri Sep 18 20:09:52 2009 -0300 V4L/DVB (13015): kmalloc failure ignored in m920x_firmware_download() Prevent NULL dereference if kmalloc() fails. Signed-off-by: Roel Kluin Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 34e383dd13edf402e87bf0a87f4a19b193b4bd7a Author: Vladimir Geroy Date: Fri Sep 18 18:55:47 2009 -0300 V4L/DVB (13014): Add support for Compro VideoMate E800 (DVB-T part only) Adding Compro VideoMate E800 (DVB-T part only) Cc: Steven Toth Signed-off-by: Vladimir Geroy Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7a254f468f699a5870143dcabf279eae67339029 Author: Matti J. Aaltonen Date: Thu Sep 17 23:46:18 2009 -0300 V4L/DVB (13013): FM TX: si4713: Kconfig: Fixed two typos. Fixed two typos. Signed-off-by: Matti J. Aaltonen Acked-by: Eduardo Valentin Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d2be76437c20161a31460306e555bb546e30dfc7 Author: Julia Lawall Date: Thu Sep 17 23:44:01 2009 -0300 V4L/DVB (13012): uvc: introduce missing kfree Move the kzalloc and associated test after the stream/query test, to avoid the need to free the allocated if the stream/query test fails. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @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) // Signed-off-by: Julia Lawall Acked-by: Laurent Pinchart Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit c6e56cd344da17134f3d57247d52eaf640107087 Author: Dmitry Belimov Date: Thu Sep 17 23:39:37 2009 -0300 V4L/DVB (13011): Change tuner type of BeholdTV cards Change tuner type to correct for BeholdTV cards with FM1216MK5. Cc: Hermann Pitton Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 35ccf8f8eaa97637ccadbc4b4c6345eb3753d9a9 Author: James Blanford Date: Fri Sep 18 14:56:04 2009 -0300 V4L/DVB (13009): gspca - stv06xx-hdcs: Reduce exposure range Due to rounding and clipping, exposure and gain settings do not map to unique register values. Rather than read the registers and report gain and exposure that may be different than the values that were set, just cache the latest values that were set and report them. Reduce exposure range from 0-65535 to 0-255 so libv4l's autogain doesn't take forever. Remove vestiges of driver signal processing that is now handled by libv4l. Signed-off-by: James Blanford Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4711ca823bed12be879f22a930aa9deded9736df Author: James Blanford Date: Fri Sep 18 14:53:09 2009 -0300 V4L/DVB (13008): gspca - stv06xx-hdcs: Fixup exposure Initialize image size before it's used to initialize exposure. Work around lack of exposure set hardware latch with a sequence of register writes in a single I2C command packet. Signed-off-by: James Blanford Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 4fac17b4e73715aefe48f4ada7d4930cd4df6c31 Author: Erik Andrén Date: Wed Jun 24 04:38:02 2009 -0300 V4L/DVB (13007): gspca - stv06xx-hdcs: Add exposure and gain ctrls to hdcs_1020 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit a8ca20b209addeae0d3017c2928048fc7f75ff70 Author: Erik Andrén Date: Fri Sep 18 14:31:03 2009 -0300 V4L/DVB (13006): gspca - stv06xx: Fix a misindentation Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit bf5c562a3e6f7fd4071284caa01f81b031aacc97 Author: Erik Andrén Date: Mon Jun 22 11:25:22 2009 -0300 V4L/DVB (13005): gspca - stv06xx: Translate swedish comments to english Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit be3bdfb6e01f3e72b814758606e89d4829e9e88f Author: Erik Andrén Date: Mon Jun 22 11:12:29 2009 -0300 V4L/DVB (13004): gspca - stv06xx: Harmonize the debug macros when tracing writes and reads Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 607cfab6e7bce8049e61795e86f9bbbe07abd514 Author: Andreas Mohr Date: Mon Sep 14 19:13:29 2009 -0300 V4L/DVB (13003): Correct dangerous and inefficient msecs_to_jiffies() calculation in some V4L2 drivers Signed-off-by: Andreas Mohr Signed-off-by: Mauro Carvalho Chehab commit 6c119ff493039af862ae57d88d52b4383c9d8ece Author: Henk Vergonet Date: Fri Sep 18 20:44:37 2009 -0300 V4L/DVB (13002): Adds support for Zolid Hybrid PCI card: http://linuxtv.org/wiki/index.php/Zolid_Hybrid_TV_Tuner test status analog (PAL-B): - Sometimes picture is noisy, but it becomes crystal clear after switching between channels. (happens for example at 687.25 Mhz) - On a lower frequency (511.25 Mhz) the picture is always sharp, but lacks colour. - No sound problems. - radio untested. Digital: - DVB-T/H stream reception works. - Would expect to see some more channels in the higher frequency region. Overall is the impression that sensitivity still needs improvement both in analog and digital modes. Signed-off-by: Henk Vergonet Signed-off-by: Mauro Carvalho Chehab commit 2d21ffe05a188ee7e5583172c06f2b820c4ad44a Author: Dmitri Belimov Date: Mon Sep 7 20:36:05 2009 -0300 V4L/DVB (13001): Key filter for BeholdTV cards. When fast push-pull button of remote control we can received incorrect key code 0x00. Key information from IR decoder has ID of remote control 2 bytes, byte of key code and byte of mirror key code. Correct data 0x86 0x6B 0x00 0xFF Wrong data 0x86 0x6B 0x00 0x00 This patch added additional test of mirror byte for filtering. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 5eca4823ea8f99a7109779f68cedb00535aa6834 Author: Akihiro Tsukada Date: Tue Aug 25 02:39:51 2009 -0300 V4L/DVB (13000): add driver for 774 Friio White USB ISDB-T receiver This patch adds driver for 774 Friio White, ISDB-T USB receiver Friio White is an USB 2.0 ISDB-T receiver. (http://www.friio.com/) The device has a GL861 chip and a Comtech JDVBT90502 canned tuner module. This driver ignores all the frontend_parameters except frequency, as ISDB-T shares the same parameter configuration across the country and thus the device can work like an intelligent one. As this device does not include a CAM nor hardware descrambling feature, the driver passes through scrambled TS streams. There is Friio Black, a variant for ISDB-S, which shares the same USB Vendor/Product ID with White, but it is not supported in this driver. They should be identified in the initialization sequence, but this feature is not tested. Signed-off-by: Akihiro Tsukada Signed-off-by: Mauro Carvalho Chehab commit 3d17fb1be937c8c025fc9f54b4e17e91081e7a4f Author: Mauro Carvalho Chehab Date: Sun Aug 23 00:51:22 2009 -0300 V4L/DVB (12999): Add a driver for Earthsoft PT1 Add a driver for Earthsoft PT1 Eearthsoft PT1 is a PCI card for Japanese broadcasting with two ISDB-S and ISDB-T demodulators. This card has neither MPEG decoder nor conditional access module onboard. It transmits only compressed and possibly encrypted MPEG data over the PCI bus, so you need an external software decoder and a decrypter to watch TV on your computer. This driver is originally developed by Tomoaki Ishikawa by reverse engineering. [mchehab@redhat.com: renamed isdb_ts to isdbs_ts to use the current standard] Signed-off-by: HIRANO Takahito Signed-off-by: Mauro Carvalho Chehab commit 98293ef3e54f9f2175f11b4d14c119a2ff753d61 Author: HIRANO Takahito Date: Fri Sep 18 11:17:54 2009 -0300 V4L/DVB (12997): Add the DTV_ISDB_TS_ID property for ISDB_S In ISDB-S, time-devision duplex is used to multiplexing several waves in the same frequency. Each wave is identified by its own transport stream ID, or TS ID. We need to provide some way to specify this ID from user applications to handle ISDB-S frontends. This code has been tested with the Earthsoft PT1 driver. [mchehab@infradead.org: Fix merge conflicts with isdbt and rename the new parameter to DTV_ISDBS_TS_ID] Signed-off-by: HIRANO Takahito Signed-off-by: Mauro Carvalho Chehab commit 0030ec38ce5b50a77287a22bf88a65338da21547 Author: Mauro Carvalho Chehab Date: Sat Sep 19 00:49:11 2009 -0300 V4L/DVB(12993b): gl860: Prevent a potential risk of zeroing a floating pointer drivers/media/video/gspca/gl860/gl860.c: In function ‘gl860_build_control_table’: drivers/media/video/gspca/gl860/gl860.c:119: warning: ‘sd_ctrls’ may be used uninitialized in this function Signed-off-by: Mauro Carvalho Chehab commit ab2058571dc6028e2ff0809ef37c9ae2461b0c74 Author: Mauro Carvalho Chehab Date: Sat Sep 19 00:41:18 2009 -0300 V4L/DVB (12993a): saa7164: Fix compilation warning on i386 drivers/media/video/saa7164/saa7164-buffer.c: In function ‘saa7164_buffer_alloc’: drivers/media/video/saa7164/saa7164-buffer.c:110: warning: cast to pointer from integer of different size drivers/media/video/saa7164/saa7164-buffer.c:112: warning: cast to pointer from integer of different size Signed-off-by: Mauro Carvalho Chehab commit d28a6df608fa4fade5e1d7e22d1be652a71412e0 Author: Muralidharan Karicheri Date: Wed Sep 16 14:31:20 2009 -0300 V4L/DVB (12906d): V4L : vpif updates for DM6467 vpif capture driver Following changes done for vpif driver to support vpif capture:- 1) Current version of display driver defined vpif register space as part for vpif display platform driver resource This is not correct since vpif is common across capture and display drivers. So the resource iomap function is moved to this module 2) Since there are common registers, a spinlock is added for mutual exclusion. This has incorporated comments against version v0 of the patch series Resending to merge to V4L linux-next Reviewed-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit 6ffefff5a9e76c2e9cb5081e219a7a6a4a5eee9f Author: Muralidharan Karicheri Date: Wed Sep 16 14:31:10 2009 -0300 V4L/DVB (12906c): V4L : vpif capture driver for DM6467 This is the vpif capture bridge driver for DM6467. This video supports two video channels each having a tvp5147 device at the input. This allows simultaneous capture of NTSC/PAL video in each of this channel. Both MMAP and USERPTR io mechanism are supported. Currently buffer allocation happens at REQBUF ioctl request. Since USERPTR IO is supported, this is not an issue since user applications can allocate buffers and pass the user space address to the driver. Following are TODOs :- 1) Adding support for allocation of buffers at init 2) VBI/HBI data service This has incorporated comments received against version v0 of the patch series. Resending to merge V4l linux-next create mode 100644 drivers/media/video/davinci/vpif_capture.c create mode 100644 drivers/media/video/davinci/vpif_capture.h Reviewed-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit 89803d83b69c5ce05c590f01a0ba92b99d28b057 Author: Muralidharan Karicheri Date: Wed Sep 16 14:31:02 2009 -0300 V4L/DVB (12906b): V4L : vpif capture - Kconfig and Makefile changes Adds Kconfig and Makefile changes required for vpif capture driver Resending to merge to V4L linux-next Reviewed-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit 317b2e2f4b5d2b69d9bd49e4fed386d176344e76 Author: Muralidharan Karicheri Date: Wed Sep 16 14:30:53 2009 -0300 V4L/DVB (12906a): V4L : vpif display updates to support vpif capture The structure name for vpif display driver changed since it was not unique. So this update is done to reflect the same. Also removed the code related to register address space iomap. Uses v4l2_i2c_new_subdev_board() instead of v4l2_i2c_new_probed_subdev() so that platform data can be added for subdevice configuration for polarities. This has incorporated comments against version v0 of the patch series. Resending the original patch for merge to V4L linux-next Reviewed-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit 6b5270d21202fcf6ae16a6266fed83a30ccece7a Author: Hans Verkuil Date: Sun Sep 6 07:54:00 2009 -0300 V4L/DVB (12725): v4l: warn when desired devnodenr is in use & add _no_warn function Warn when the desired device node number is already in use, except when the new video_register_device_no_warn function is called since in some use-cases that warning is not relevant. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5062cb70c828bd7b2a8223390ae836c5baa250b9 Author: Hans Verkuil Date: Mon Sep 7 03:40:24 2009 -0300 V4L/DVB (12724): v4l2-dev: add simple wrapper functions around the devnode numbers There are some subtle differences in the way the devnode numbers are handled depending on whether the FIXED_MINOR_RANGES config option is set. Add some simple wrapper functions to handle that correctly. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 581644d9c95dd04aa46267aa0b6b5619d02b02ea Author: Hans Verkuil Date: Fri Jun 19 11:54:00 2009 -0300 V4L/DVB (12723): ivtv/cx18: replace 'kernel number' with 'device node number'. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 22e221258b56cc1a4dc5a9fb2c26f4d6ed9dde81 Author: Hans Verkuil Date: Sun Sep 6 07:13:14 2009 -0300 V4L/DVB (12722): v4l2-dev: replace 'kernel number' by 'device node number'. The term 'kernel number' is very vague, so replace it with the somewhat more descriptive term 'device node number'. In one place the local variable 'nr' was used to create the device node number of the new device name. This has been replaced with the vdev->num field to more clearly mark this as being the device node number and not the minor number. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7ae0cd9bc793e16d8d68df3c17c601732cc1d3c7 Author: Hans Verkuil Date: Fri Jun 19 11:32:56 2009 -0300 V4L/DVB (12541): v4l: remove video_register_device_index video_register_device_index is never actually called, instead the stream index number is always calculated automatically. This patch removes this function and simplifies the internal get_index function since that can now always just return the first free index. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 53dacb15705901e14b03dcba27e40364fedd9d09 Author: Hans Verkuil Date: Mon Aug 10 02:49:08 2009 -0300 V4L/DVB (12540): v4l: simplify v4l2_i2c_new_subdev and friends Rewrite v4l2_i2c_new_subdev as a simplified version of v4l2_i2c_new_subdev_cfg and remove v4l2_i2c_new_probed_subdev and v4l2_i2c_new_probed_subdev_addr. This simplifies this API substantially. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0da2808ca27ab7f65346d4d191569c669db8f628 Author: Guennadi Liakhovetski Date: Sat Aug 29 17:36:50 2009 -0300 V4L/DVB (12580): soc-camera: remove now unneeded subdevice group ID assignments Since we are not using v4l2_device_call_* calls any more, we don't need to initialise subdevice .grp_id any more. This also fixes compiler warnings on 64-bit platforms. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 96c75399544838e1752001c8abdde36dd459cf8f Author: Guennadi Liakhovetski Date: Tue Aug 25 11:53:23 2009 -0300 V4L/DVB (12536): soc-camera: remove .gain and .exposure struct soc_camera_device members This makes the soc-camera interface for V4L2 subdevices thinner yet. Handle gain and exposure internally in each driver just like all other controls. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a4c56fd8892e51d675f7665ddee4fd9d7e5c2cc3 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:53:23 2009 -0300 V4L/DVB (12535): soc-camera: remove .init() and .release() methods from struct soc_camera_ops Remove unneeded soc-camera operations, this also makes the soc-camera API to v4l2 subdevices thinner. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6a6c8786725c0b3d143674effa8b772f47b1c189 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:50:46 2009 -0300 V4L/DVB (12534): soc-camera: V4L2 API compliant scaling (S_FMT) and cropping (S_CROP) The initial soc-camera scaling and cropping implementation turned out to be incompliant with the V4L2 API, e.g., it expected the user to specify cropping in output window pixels, instead of input window pixels. This patch converts the soc-camera core and all drivers to comply with the standard. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 0166b74374cae3fa8bff0caef726a3d960a9a50a Author: Guennadi Liakhovetski Date: Tue Aug 25 11:47:00 2009 -0300 V4L/DVB (12533): soc-camera: Use video device object for output in host drivers Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 2aa58db47f5c70635ea278f6a5ff9e1e920bfe6a Author: Guennadi Liakhovetski Date: Tue Aug 25 11:47:00 2009 -0300 V4L/DVB (12532): soc-camera: Use camera device object for core output Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 85f8be68125163085392ed4fc30adcbea641586d Author: Guennadi Liakhovetski Date: Tue Aug 25 11:47:00 2009 -0300 V4L/DVB (12531): soc-camera: Use I2C device for dev_{dbg,info,...} output in all clients Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit c9c1f1c0dbe90b82939917fdc3e4c9ccad42342d Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:59 2009 -0300 V4L/DVB (12530): soc-camera: switch to using v4l2_subdev_call() Use v4l2_subdev_call() instead of v4l2_device_call_until_err() in all host drivers and in soc-camera core. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 08590b9613f7f624fe3a052586eea2dbb3584b38 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:54 2009 -0300 V4L/DVB (12529): soc-camera: switch to s_crop v4l2-subdev video operation Remove set_crop soc-camera device method and switch to s_crop from v4l2-subdev video operations. Also extend non-i2c drivers to also hold a pointer to their v4l2-subdev instance in control device driver-data, i.e., in dev_get_drvdata((struct device *)to_soc_camera_control(icd)) Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 961801bbb3448a86f0cc93747cecbfae686d81d1 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:54 2009 -0300 V4L/DVB (12528): sh_mobile_ceu_camera: implement host-side image scaling Use host-side image scaling when the client fails to set the requested format. We also have to take scaling into account when performing host-side cropping. Similar to cropping we try to use client-side scaling as much as possible to preserve bus bandwidth and optimise the frame-rate. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 4a5a5b2d620c3ec362936c4fe3799a29f8de163c Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:53 2009 -0300 V4L/DVB (12527): tw9910: do not lie about cropping abilities The current tw9910 driver does not implement cropping correctly. Therefore, and also because various rectangles in struct soc_camera_device are in user scale, we cannot and shall not use rect_current as window location. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 94896298bea7823cbccbff563c77b4ae6cabb08e Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:53 2009 -0300 V4L/DVB (12526): ov772x: do not use scaling for cropping OV772x sensors cannot crop, they only support two fixed formats: VGA and QVGA. We should not change the format when requested to crop, only S_FMT can do this. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b897a91afbed57558324ef4059efa2e2419e8b66 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:53 2009 -0300 V4L/DVB (12525): soc-camera: prohibit geometry change with initialised buffers Prohibit S_FMT and S_CROP with a different window width or height after video buffer initialisation. This simplifies the work to be done in specific host and client drivers, and it doesn't seem to make much sense to allow these changes. We do however allow S_CROP with equal width and height to just move the window, this doesn't affect video buffer management and is usually easy enough to implement. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 68a54f0e53b62806040fb7884b2e0d79b922bf00 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:52 2009 -0300 V4L/DVB (12524): soc-camera: S_CROP V4L2 API compliance fix V4L2 API mandates, that drivers do not update the argument of the S_CROP ioctl() with the actual geometry. Comply. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 123ab622c075e2252b46565c81dbf5c0748a82af Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:52 2009 -0300 V4L/DVB (12523): tw9910: return updated geometry on successful S_FMT and S_CROP Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 904078f16fab80ed1f6adf7f6a0bd166d6b58d07 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:52 2009 -0300 V4L/DVB (12522): sh-mobile-ceu-camera: implement host-side cropping Not all video capture devices can configure arbitrary cropping, whereas the CEU module on SuperH CPUs can crop with pixel precision. However, we want to use camera cropping if possible to save bandwidth and increase the frame-rate. This patch verifies whether the camera managed to crop exactly the requested rectangle, and if not, uses host-side cropping. To be able to crop on CEU we have to preserve camera rectangle too, for which the host_priv member in struct soc_camera_device is used. We now allocate memory dynamically, thus we have to use the .put_formats() method from struct soc_camera_host_ops to free it. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a12222a73e7a9efd927eb99d1dec1cedc9887e0a Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:51 2009 -0300 V4L/DVB (12521): soc-camera: use .s_std() from struct v4l2_subdev_core_ops Remove .set_std() method from struct soc_camera_ops, use .s_std() from struct v4l2_subdev_core_ops instead. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit cca0e54905259a456d97652d4f1e2fe8b188b6ad Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:51 2009 -0300 V4L/DVB (12520): sh-mobile-ceu-camera: do not wait for interrupt when releasing buffers Patch [PATCH] video: use videobuf_waiton() in sh_mobile_ceu free_buffer() was not quite correct. It closed a race, but introduced a potential lock-up, if for some reason an interrupt does not come. This has been observed in tests with tw9910. This patch safely dequeues buffers without waiting for their completion. It also moves a buffer state assignment under a spinlock to make it atomic with queuing of the buffer. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit fa48984e36ee73e964eeb994a45de6525114e871 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:43 2009 -0300 V4L/DVB (12519): soc-camera: put pixel format initialisation back in probe, add .put_formats() The move of format translation initialisation into soc_camera_open() was temporary for the soc-camera as platform driver intermediate step, put it back into soc_camera_probe(). Also add a .put_formats() method to soc_camera_host_ops to free any resources host driver might have allocated in .get_formats(). Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 0d205b6a09177cd14c109321fb40873418a11f7e Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:42 2009 -0300 V4L/DVB (12518): ov772x: S_CROP must return actually configured geometry V4L2 drivers are allowed to configure a geometry different than what has been requested by the user with S_CROP, but then they have to adjust the input rectangle accordingly. Fix ov772x to comply with this requirement. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit e330919a215714796efb451984a753a46b570eb7 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:42 2009 -0300 V4L/DVB (12517): mt9t031: improve rectangle placement in invalid S_CROP 1. soc-camera always requests a valid rectangle, when calling .s_fmt(), no need to check and adjust 2. in .s_crop(), if the rectangle exceeds sensor limits, push it to the respective border instead of centering 3. take into account left and top borders when checking Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit bf62e1da6ac848b0c3f72665d05939263e9f4128 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:42 2009 -0300 V4L/DVB (12516): ov772x: successful S_FMT and S_CROP must update user-provided rectangle Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a0705b07f1816ae2b85388fcda71de69c221b4b8 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:46:17 2009 -0300 V4L/DVB (12515): soc-camera: use struct v4l2_rect in struct soc_camera_device Switch to using struct v4l2_rect in struct soc_camera_device for uniformity and simplicity. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 4a6110bc50da9a1883bf45614ac1d591253f0457 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:44:15 2009 -0300 V4L/DVB (12514): sh_mobile_ceu_camera: add a control for the camera low-pass filter Use the V4L2_CID_SHARPNESS control to switch SH-mobile camera low-pass filter. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 2840d2497b912f25d2957477faa1c922ddd733e0 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:44:15 2009 -0300 V4L/DVB (12513): soc-camera: add support for camera-host controls Until now soc-camera only supported client (sensor) controls. This patch enables camera-host drivers to implement their own controls too. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit a813d01f823259d1b27668c2149785515843a7eb Author: Guennadi Liakhovetski Date: Tue Aug 25 11:44:14 2009 -0300 V4L/DVB (12512): ov772x: implement a band-stop filter support The V4L2_CID_BAND_STOP_FILTER control is used to switch the "Banding Filter" on OV772x cameras on and off and to set the minimum AEC value in BDBASE register. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 3418f165cc1cbcb30a8c017d7ebbc774710066bb Author: Guennadi Liakhovetski Date: Tue Aug 25 11:44:14 2009 -0300 V4L/DVB (12511): V4L2: add a new V4L2_CID_BAND_STOP_FILTER integer control Add a new V4L2_CID_BAND_STOP_FILTER integer control, which either switches the band-stop filter off, or sets it to a certain strength. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 979ea1ddf80ac7383acdea03471355ca62702539 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:43:33 2009 -0300 V4L/DVB (12510): soc-camera: (partially) convert to v4l2-(sub)dev API Convert the soc-camera framework to use the v4l2-(sub)dev API. Start using v4l2-subdev operations. Only a part of the interface between the soc_camera core, soc_camera host drivers on one side and soc_camera device drivers on the other side is replaced so far. The rest of the interface will be replaced in incremental steps, and will require extensions and, possibly, modifications to the v4l2-subdev code. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 0bab829de1ab60d8c3cbf7e402192bb9446840b7 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:34:18 2009 -0300 V4L/DVB (12509): sh: prepare board-ap325rxa.c for v4l2-subdev conversion We will be registering and unregistering the soc_camera_platform platform device multiple times, therefore we need a .release() method and have to nullify the kobj. Signed-off-by: Guennadi Liakhovetski Acked-by: Paul Mundt Signed-off-by: Mauro Carvalho Chehab commit dd4f0ad4b027078b0642d99a2d30c9c93a5e38ac Author: Guennadi Liakhovetski Date: Tue Aug 25 11:34:17 2009 -0300 V4L/DVB (12508): soc-camera: remove unused .iface from struct soc_camera_platform_info Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 83fe78ea02df8a992dbda8fc3397ddb2646e733e Author: Guennadi Liakhovetski Date: Tue Aug 25 11:34:17 2009 -0300 V4L/DVB (12507): sh: soc-camera updates Update ap325rxa to specify .bus_id in struct soc_camera_link explicitly, remove unused .iface from struct soc_camera_platform_info. Signed-off-by: Guennadi Liakhovetski Acked-by: Paul Mundt Signed-off-by: Mauro Carvalho Chehab commit 40e2e0927003424c25807b575dd40da2b8685857 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:28:22 2009 -0300 V4L/DVB (12506): soc-camera: convert to platform device Convert soc-camera core and all drivers to platform device API. We already converted platforms to register a platform device for each soc-camera client, now we remove the compatibility code and switch completely to the new scheme. This is a preparatory step for the v4l2-subdev conversion. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit bc1937b41d8253e2b554da385023a92189d38917 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:06:22 2009 -0300 V4L/DVB (12505): soc_camera_platform: pass device pointer from soc-camera core on .add_device() Add a struct device pointer to struct soc_camera_platform_info and let the user (ap325rxa) pass it down to soc_camera_platform.c in its .add_device() method. Signed-off-by: Guennadi Liakhovetski Acked-by: Paul Mundt Signed-off-by: Mauro Carvalho Chehab commit c41debafc6e396a8e15f1f017aec7c0cf67e1b54 Author: Guennadi Liakhovetski Date: Tue Aug 25 11:06:21 2009 -0300 V4L/DVB (12504): soc-camera: prepare soc_camera_platform.c and its users for conversion soc_camera_platform.c is only used by y SuperH ap325rxa board. This patch converts soc_camera_platform.c and its users for the soc-camera platform- device conversion and also extends soc-camera core to handle non-I2C cameras. Cc: Paul Mundt Signed-off-by: Guennadi Liakhovetski Acked-by: Paul Mundt Signed-off-by: Mauro Carvalho Chehab commit 2639ead140aa7063188b6599a1a7398d60db2712 Author: Muralidharan Karicheri Date: Mon Jul 6 15:08:31 2009 -0300 V4L/DVB (12254): v4l: Makefile and config files for vpfe capture driver This adds Makefile and Kconfig changes to build vpfe capture driver. Reviewed by: Laurent Pinchart Signed-off-by: Muralidharan Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 210fa70d3aa25da78e7ca7a43d993cd2603c0540 Author: Chaithrika U S Date: Mon Jul 20 05:03:10 2009 -0300 V4L/DVB (12453a): DaVinci: DM646x: Update the structure name as per header file changes In the platform header file, the subdev_info structure name has been changed to vpif_subdev_info. Update this change in the driver too. Applies to v4l-dvb repository. Signed-off-by: Chaithrika U S Signed-off-by: Mauro Carvalho Chehab commit 7b140b89307a59527df644100ce5ab3bc1be7d1b Author: Muralidharan Karicheri Date: Fri Jun 19 09:20:16 2009 -0300 V4L/DVB (12253): v4l: common vpss module for video drivers This is a new module added for vpss library functions that are used for configuring vpss system module. All video drivers will include vpss.h header file and call functions defined in this module to configure vpss system module. Reviewed by: Hans Verkuil Reviewed by: Laurent Pinchart Reviewed by: Alexey Klimov Signed-off-by: Muralidharan Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 92ee438b8e27f1b96ce5a7e8d73cb11b71a02584 Author: Muralidharan Karicheri Date: Fri Jun 19 09:19:17 2009 -0300 V4L/DVB (12252): v4l: ccdc types used across ccdc modules for vpfe capture driver common types used across CCDC modules Reviewed by: Hans Verkuil Reviewed by: Laurent Pinchart Signed-off-by: Muralidharan Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 5f15fbb68fd774780a7fa8fe25a88e4c9e518109 Author: Muralidharan Karicheri Date: Fri Jun 19 09:18:14 2009 -0300 V4L/DVB (12251): v4l: dm644x ccdc module for vpfe capture driver This is the hw module for DM644x CCDC. This registers with the vpfe capture driver and provides a set of hw_ops to configure CCDC for a specific decoder device connected to the VPFE. Reviewed by: Hans Verkuil Reviewed by: Laurent Pinchart Signed-off-by: Muralidharan Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit dd2ceb1a4028dc9644ed4df80cea9c05ca0b5f6d Author: Muralidharan Karicheri Date: Fri Jul 3 05:23:07 2009 -0300 V4L/DVB (12250): v4l: dm355 ccdc module for vpfe capture driver Adds ccdc hw module for DM355 CCDC. This registers with the bridge driver a set of hw_ops for configuring the CCDC for a specific decoder device connected to vpfe. Reviewed by: Hans Verkuil Reviewed by: Laurent Pinchart Reviewed by: Mauro Carvalho Chehab Signed-off-by: Muralidharan Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 638c97400829a43eecc2ad924a0f5143b6c56a6d Author: Muralidharan Karicheri Date: Fri Jun 19 09:14:10 2009 -0300 V4L/DVB (12249): v4l: ccdc hw device header file for vpfe capture Adds ccdc hw device header for vpfe capture driver Reviewed by: Hans Verkuil Reviewed by: Laurent Pinchart Signed-off-by: Muralidharan Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 7da8a6cb3e5b60e73b196f1c71031423e0791032 Author: Muralidharan Karicheri Date: Mon Jul 6 15:04:12 2009 -0300 V4L/DVB (12248): v4l: vpfe capture bridge driver for DM355 and DM6446 This the vpfe capture bridge driver for doing video capture on DM355 and DM6446 evms. The ccdc hw modules register with the driver and are used for configuring the CCD Controller for a specific decoder interface. The driver also registers the sub devices required for a specific evm. More than one sub devices can be registered. This allows driver to switch dynamically to capture video from any sub device that is registered. Currently only one sub device (tvp5146) is supported. But in future this driver is expected to do capture from sensor devices such as Micron's MT9T001, MT9T031 and MT9P031 etc. The driver currently supports MMAP based IO. Reviewed by: Laurent Pinchart Reviewed by: Alexey Klimov Signed-off-by: Muralidharan Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c1c9d09cd368f75bbd10253b8266898fb9fecc7f Author: Muralidharan Karicheri Date: Wed Jul 1 04:20:43 2009 -0300 V4L/DVB (12247): tvp514x: formatting comments as per kernel documentation Fix documentation style based on comments from Mauro. Reviewed by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 62ef80a1f3fb69711dc7e59394ddc8e88097a7cc Author: Muralidharan Karicheri Date: Fri Jun 19 07:13:44 2009 -0300 V4L/DVB (12246): tvp514x: Migration to sub-device framework This patch converts TVP514x driver to sub-device framework from V4L2-int framework. [hverkuil@xs4all.nl: remove inline from the dump_reg function] Signed-off-by: Brijesh Jadav Signed-off-by: Hardik Shah Signed-off-by: Vaibhav Hiremath Signed-off-by: Murali Karicheri Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6bcbc08faa575e82f9701c4022847ea594806bcb Author: Huang Weiyi Date: Thu Jul 2 16:54:14 2009 -0300 V4L/DVB (12201): adv7343: remove unused #include Remove unused #include 's in drivers/media/video/adv7343.c. Cc: Chaithrika U S Signed-off-by: Huang Weiyi Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 13df4f6a36e41e0c8f25273ef2077b239f633265 Author: Chaithrika U S Date: Mon Jun 22 09:02:55 2009 -0300 V4L/DVB (12178): vpif_display: Fix compile time warnings for mutex locking mutex_lock_interruptible return value has to be handled properly to indicate the status to the higher layers of the kernel. Signed-off-by: Chaithrika U S Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e9f4bb559c39cd85ef5365fa50e1893df4b67b96 Author: Chaithrika U S Date: Tue Jun 9 06:38:58 2009 -0300 V4L/DVB (12177): dm646x: Add an entry for dm646x EVM card at building system Makefile and Kconfig changes for DM646x Video Display device, using davinci/vpif, adv7343 and ths7303 drivers. Signed-off-by: Manjunath Hadli Signed-off-by: Brijesh Jadav Signed-off-by: Chaithrika U S Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e7332e3a552f6e18b39f5b77ce964818d10c9743 Author: Chaithrika U S Date: Tue Jun 9 05:55:37 2009 -0300 V4L/DVB (12176): davinci/vpif_display: Add VPIF display driver Adds the VPIF display driver and the associated header file. Signed-off-by: Manjunath Hadli Signed-off-by: Brijesh Jadav Signed-off-by: Chaithrika U S Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 63a8e71c4453a38c3468f84f0f452e2643abdad3 Author: Chaithrika U S Date: Tue Jun 9 05:54:02 2009 -0300 V4L/DVB (12175): davinci/vpif: Add Video Port Interface (VPIF) driver This code be used by the display and capture drivers. Signed-off-by: Manjunath Hadli Signed-off-by: Brijesh Jadav Signed-off-by: Chaithrika U S Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit bb3baf89d197f392c011c64935b79ed67a6542db Author: Erik Andrén Date: Mon Sep 14 13:14:41 2009 -0300 V4L/DVB (12992): gspca - m5602-ov7660: Disable red and blue gain for now Red and blue gain isn't handled in conformance with the v4l2 specification. Disable them for now. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit e1e7e677a4818500b220cebc45a1b47055c9443a Author: Erik Andrén Date: Fri Jun 26 09:30:42 2009 -0300 V4L/DVB (12991): gspca - m5602-ov7660: Remove redundant init writes Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 87fad38e6eede2305e57eeb7d75a67a01b77e063 Author: Erik Andrén Date: Fri Jun 26 09:22:59 2009 -0300 V4L/DVB (12990): gspca - m5602-ov7660: Don't set blue and red gain during init Don't set blue and red gain during init as we manuall set it later Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit b5b93844ace95712f88933d5f622cd5d833530c5 Author: Erik Andrén Date: Fri Jun 26 09:21:46 2009 -0300 V4L/DVB (12989): gspca - m5602-ov7660: Don't set gain during init We manually set the gain later, no need to do it during init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit eb3678fbe5d5be8315628885b7c93228c97a433d Author: Erik Andrén Date: Fri Jun 26 09:20:04 2009 -0300 V4L/DVB (12988): gspca - m5602-ov7660: Remove old init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2ec92c28d73a0d2206c961180b955876d4f62a94 Author: Erik Andrén Date: Fri Jun 26 04:45:07 2009 -0300 V4L/DVB (12987): gspca - m5602-ov7660: Set the hsync correctly Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit a66887d2ba2f829cbbc23a64e19a0b757b79c39e Author: Erik Andrén Date: Fri Jun 26 04:35:37 2009 -0300 V4L/DVB (12986): gspca - m5602-ov7660: Add hflip, vflip controls Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 41532b91daeb7789472bfbdcf3a5a862230482ee Author: Erik Andrén Date: Tue Jun 23 02:57:05 2009 -0300 V4L/DVB (12985): gspca - m5602-ov7660: Replace magic constants with defines Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit bf40b382f6ce53cdee48917d14b13ae004c3deab Author: Erik Andrén Date: Sun Jun 21 14:58:55 2009 -0300 V4L/DVB (12984): gspca - m5602-ov7660: Use a new raw init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 7c7ddf1638a45923ab053d1f7818c6d123148b4b Author: Erik Andrén Date: Sat Jun 20 13:58:41 2009 -0300 V4L/DVB (12983): gspca - m5602-ov7660: Add auto exposure ctrl Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 456ebe4e92063b92d2672da272bfc7ac70bd8bdd Author: Erik Andrén Date: Sat Jun 20 09:29:00 2009 -0300 V4L/DVB (12982): gspca - m5602-ov7660: Add auto gain ctrl Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 36e64d5cec0a210d87e8e8c02566a1cbe24c00f3 Author: Erik Andrén Date: Sat Jun 20 08:11:13 2009 -0300 V4L/DVB (12981): gspca - m5602-ov7660: Set blue and red gain at init Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit f1f59fe60e38c4c56b8acba9690cd08d86d2ac0e Author: Erik Andrén Date: Sat Jun 20 08:01:27 2009 -0300 V4L/DVB (12980): gspca - m5602-ov7660: Create auto white balance ctrl Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit a94e2f2cb91678f106fb31e6fa58b7af451a42e9 Author: Erik Andrén Date: Wed Jun 17 13:01:07 2009 -0300 V4L/DVB (12979): gspca - m5602-ov7660: Ensure that the default exposure is set Ensure that the default exposure value is set at startup Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 68fdb7a5b52cb060f7824f9d6e98e105af36a474 Author: Erik Andrén Date: Wed Jun 17 03:14:12 2009 -0300 V4L/DVB (12978): gspca - m5602-ov7660: Add red gain control Hook up the red gain controller Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit cbd1f7fb7059c629cb9e5131a755febc906496a6 Author: Erik Andrén Date: Wed Jun 17 03:11:24 2009 -0300 V4L/DVB (12977): gspca - m5602-ov7660: Create blue gain control Hook up a blue gain v4l2 controller Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit b8298e7e588dc906adc358179349841d58f6f580 Author: Steven Toth Date: Thu Sep 17 21:00:40 2009 -0300 V4L/DVB (12976): SAA7164: Removed bus registration messages from driver startup SAA7164: Removed bus registration messages from driver startup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit efac8aaa8e747b1c1e9eff12b3d3c26f92e26018 Author: Steven Toth Date: Thu Sep 17 15:06:45 2009 -0300 V4L/DVB (12975): SAA7164: Remove the i2c client_attach/detach support, no longer required. SAA7164: Remove the i2c client_attach/detach support, no longer required. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c9230457a98f33fe3658fd0bd9b9ceffdd97b63b Author: Steven Toth Date: Thu Sep 17 15:05:38 2009 -0300 V4L/DVB (12974): SAA7164: Remove the SAA7164 bus id, no longer required. SAA7164: Remove the SAA7164 bus id, no longer required. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 3b501de58bf4cd16563d1acec43a11c7cd1517fe Author: Mauro Carvalho Chehab Date: Thu Sep 17 13:45:00 2009 -0300 Docbook/media: Fix some issues at the docbooks - Add a few missing entities; - Some text fixes at remote controllers; - Add a missing tag at videodev2.h xml version. Signed-off-by: Mauro Carvalho Chehab commit 6df84ea86e3ae331bd692fb4fbf8b75f43bb4262 Author: Michael Krufky Date: Sun Sep 6 11:13:09 2009 -0300 V4L/DVB (12970): saa7164: fix 64bit build warning Fix the following build warning: CC [M] saa7164-core.o saa7164-core.c: In function 'saa7164_buffer_deliver': saa7164-core.c:113: warning: passing argument 2 of 'dvb_dmx_swfilter_packets' from incompatible pointer type Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 66cb930e957ccab9e51a7896b13e16d5caf31b0e Author: Michael Krufky Date: Sun Sep 6 10:59:47 2009 -0300 V4L/DVB (12968): saa7164: fix Kconfig: remove HOTPLUG dependency Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 6d052dda59775cbb984f547efc600c188bef12a2 Author: Michael Krufky Date: Sun Sep 6 10:58:42 2009 -0300 V4L/DVB (12967): saa7164: fix Kconfig: rename DVB_FE_CUSTOMIZE to MEDIA_TUNER_CUSTOMISE Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 93463895ae0a87b689d71d65c44d5ccdcd950dc4 Author: Michael Krufky Date: Tue Sep 15 23:04:18 2009 -0300 V4L/DVB (12964): tuner-core: add support for NXP TDA18271 without TDA829X demod Add support for NXP TDA18271 as a standalone tuner, allowing the use of analog demodulators other than the Philips/NXP TDA829x. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit eb3b2d89bcd7bbdcff46f427d0f6f85c9e88701d Author: Antti Palosaari Date: Wed Sep 16 20:21:52 2009 -0300 V4L/DVB (12962): ce6230: increase BULK transfer size from 512 to 8192 Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ae3745f63ad28233d23f3a2f7407b95717d0dba8 Author: Antti Palosaari Date: Wed Sep 16 19:50:25 2009 -0300 V4L/DVB (12960): anysee: coding style fix Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit ab69333690c9e0f278d5ca1dab4e76015f7ecc66 Author: Antti Palosaari Date: Wed Sep 16 19:47:01 2009 -0300 V4L/DVB (12959): anysee: increase BULK transfer size from 512 to 8192 increase BULK transfer size from 512 to 8192 to increase wakeups Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 2034188a0bff7bd80ae0e0201e03d5a6cb37a153 Author: Abylay Ospan Date: Wed Sep 16 14:11:15 2009 -0300 V4L/DVB (12957): Fix MAC address reading from EEPROM in NetUP Dual DVB-S2 CI card. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 8386c27f4786482c569a0f53f78ca6624068ba10 Author: Abylay Ospan Date: Wed Sep 16 13:08:06 2009 -0300 V4L/DVB (12956): Fix gpio mutex in NetUP Dual DVB-S2 CI card. The card uses the same cx23885 gpio lines for two adapters. In case of there is several cards in system we must implement gpio mutex per cx23885 chip. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 4f7cb8837cec65ade18b0e2655292fd98040234e Author: Olivier Lorin Date: Tue Sep 15 14:17:07 2009 -0300 V4L/DVB (12954): gspca - gl860: Addition of GL860 based webcams - add the Genesys Logic 05e3:0503 and 05e3:f191 webcam Signed-off-by: Olivier Lorin Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ba624ce4adb408a1924e96993cccf8a8ffda3b9d Author: Jean-Francois Moine Date: Thu Sep 3 13:46:59 2009 -0300 V4L/DVB (12953): gspca - vc032x: Bad GPIO of the Samsung Q1 on start/stop streaming. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 285eb1a40242adb3feaf9c73d352cbfeee1bea1c Author: Antti Palosaari Date: Tue Sep 15 14:42:13 2009 -0300 V4L/DVB (12951): em28xx: add Reddo DVB-C USB TV Box Support for Reddo DVB-C USB TV Box device. Remote is not working yet. Thanks to Benjamin Larsson Cc: Benjamin Larsson Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit e558170a91677d3065be3922bb4467d8969d875c Author: Antti Palosaari Date: Tue Sep 15 14:37:20 2009 -0300 V4L/DVB (12950): tuner-simple: add Philips CU1216L add Philips CU1216L NIM Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 707ca1e30f087f9a6d144693dafc4b67880678c2 Author: Hans Verkuil Date: Tue Sep 15 08:08:20 2009 -0300 V4L/DVB (12948): v4l1-compat: fix VIDIOC_G_STD handling The VIDIOC_G_STD ioctl may not be present in the case of radio receivers. In that case G_STD will return an error. The v4l1-compat layer should not attempt to propagate that error to the caller, instead it should be ignored. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3a360ced7b3756efbfe822871cc36dc0490fc46b Author: Steven Toth Date: Thu Sep 3 23:46:16 2009 -0300 V4L/DVB (12946): SAA7164: Add support for a new HVR-2250 hardware revision SAA7164: Add support for a new HVR-2250 hardware revision Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 151ec0d9ed902e4b44caf2640d5c61885ea4a499 Author: Steven Toth Date: Sat Aug 29 14:41:18 2009 -0300 V4L/DVB (12945): SAA7164: Ensure the HVR-2200 second tuner is configured in slave mode. SAA7164: Ensure the HVR-2200 second tuner is configured in slave mode. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 8bfd4b290ac28752234bce8febe96497b389cc3e Author: Steven Toth Date: Sat Aug 29 14:33:06 2009 -0300 V4L/DVB (12944): SAA7164: Minor i2c assignment cleanup SAA7164: Minor i2c assignment cleanup Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 1f8c40b44161d64fd127aa93e717576ae0d6e9d2 Author: Steven Toth Date: Sat Aug 29 14:22:05 2009 -0300 V4L/DVB (12943): SAA7164: Add a warning about addr usage SAA7164: Remove meaningless if'0 code Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 90e801acb2134d905d98152a919128b9f56bbd33 Author: Steven Toth Date: Thu Aug 27 18:08:21 2009 -0300 V4L/DVB (12942): SAA7164: HVR2250 changes related to attach time tuner configuration Ensure that by default all tuners are set correctly to master/slave mode. For all HVR2250's, ensure slave based tuners are caliberated during attach to avoid locking problems on tuner# above channel 91. HVR2200 tuner attach time to be reviewed in a future patch. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c64b2f78b7912bad38a73bf892fb6d0da4673c67 Author: Steven Toth Date: Wed Aug 12 21:12:32 2009 -0300 V4L/DVB (12941): SAA7164: Removed spurious debug SAA7164: Removed spurious debug Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 39e469ab6dee0977a6fb632c711fba1ec5fca401 Author: Steven Toth Date: Wed Aug 12 12:14:37 2009 -0300 V4L/DVB (12940): SAA7164: IRQ / message timeout related change In some cases we're seeing large timeouts on commands. I'm changing the implementation so that the deferred worker checks the PCI bus for any messages and signals the waiting caller accordingly. The previous mechanism was too unreliable. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 068ed40b8fc14cd3d16b5cf2db59ecd735a68ca8 Author: Steven Toth Date: Wed Aug 12 12:06:27 2009 -0300 V4L/DVB (12939): SAA7164: Removed a duplicate call to address any PCI quirks. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit bbf504c37ddced9957fa65aac9a213f322871b07 Author: Steven Toth Date: Sat Aug 8 10:22:02 2009 -0300 V4L/DVB (12938): SAA7164: Increase the firmware command timeout to avoid firmware errors. The firmware typically responds in < 50ms and, via the interrupts and deferred work queue the caller (blocked in the driver) is signalled very efficiently. In a highly stressed system this can take many multiples of seconds. So, we need a larger maximum timeout for busy systems. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 2ceae8fdfa55475ef8d7cb9bcaf3fd242ea1edcc Author: Steven Toth Date: Sat Aug 8 10:13:51 2009 -0300 V4L/DVB (12937): SAA7164: Cleanup a printk Cleanup a printk and output two helpful driver params in debug mode. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit dd1ee4442d14f90d4da6b8a2ee37ab922100f250 Author: Steven Toth Date: Thu Jul 30 09:09:30 2009 -0300 V4L/DVB (12936): SAA7164: Added waitsecs module parameter Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 3224401e4c6154bf556d669ed36743cc9a38ffad Author: Steven Toth Date: Fri May 15 21:13:32 2009 -0300 V4L/DVB (12935): SAA7164: Ensure we specify I/F's for all bandwidths Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 30015c1ed77560aa4466802bcf48b0ccdb13f3bc Author: Steven Toth Date: Thu May 14 01:15:15 2009 -0300 V4L/DVB (12934): SAA7164: Fix i2c eeprom read errors during load (some boards). Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 50bcb4aefe382df28031867e16a0a8d1dfb39c94 Author: Steven Toth Date: Wed May 13 02:53:08 2009 -0300 V4L/DVB (12933): SAA7164: Fix IRQ related system hang when firmware is not found. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit c303e3e10a7aad1a54946dd060078224e3f1327d Author: Steven Toth Date: Tue May 12 16:20:37 2009 -0300 V4L/DVB (12932): SAA7164: Fixed the missing eeprom parse on a specific board. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit e333522225ac5c4f37ea49c12724e6c67d896214 Author: Steven Toth Date: Mon May 11 22:03:07 2009 -0300 V4L/DVB (12931): SAA7164: Fix the 88021 definition to work with production boards. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 78d155693a741f19ab514393a6c4b2da7be9f2ce Author: Steven Toth Date: Tue May 12 10:13:11 2009 -0300 V4L/DVB (12930): SAA7164: Removed spurious I2C errors during driver load with DVB-T boards. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit d888ea03a0a8798e5a7632d0808cd69f577b75c5 Author: Steven Toth Date: Mon May 11 22:16:05 2009 -0300 V4L/DVB (12929): SAA7164: OOPS avoidance during interrupt handling Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f4a6adf1e54324756917459c52ec7bfdc28d6e7f Author: Steven Toth Date: Mon May 11 20:42:03 2009 -0300 V4L/DVB (12928): SAA7164: Increase firmware load tolerance It's timing out and aborting firmware load too quickly on some platforms, this increases the upper limit. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 1a6450d4d43a4d4caecaa3ca7796cbe8c7cfbba3 Author: Steven Toth Date: Sun May 10 14:08:27 2009 -0300 V4L/DVB (12927): SAA7164: Remove volatiles for PCI writes (coding style violation) Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9d119c3314cd7ad251e1e2c97b4e081d870a31f7 Author: Steven Toth Date: Sun May 10 11:17:58 2009 -0300 V4L/DVB (12926): SAA7164: Email address change SAA7164: Email address change Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7aa2e795f2e3d9a7787641162d39725f44e62189 Author: Steven Toth Date: Sun May 10 10:25:34 2009 -0300 V4L/DVB (12925): SAA7164: Adjust I/F's to the TDA10048 enabling DVB-T lock SAA7164: Adjust I/F's to the TDA10048 enabling DVB-T lock Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 207b42c492cc335806957c139381eb260a808837 Author: Steven Toth Date: Sat May 9 21:30:05 2009 -0300 V4L/DVB (12924): SAA7164: Fix some 32/64bit compile time warnings SAA7164: Fix some 32/64bit compile time warnings Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 443c1228d50518f3c550e1fef490a2c9d9246ce7 Author: Steven Toth Date: Sat May 9 21:17:28 2009 -0300 V4L/DVB (12923): SAA7164: Add support for the NXP SAA7164 silicon This patch adds support for all of the known shipping Hauppauge HVR-2200 and HVR-2250 boards. Digital TV ATSC/QAM and DVB-T is enabled at this time. Both tuners are supported. Volatiles and typedefs need rework, the rest is coding style compliant. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 9afef394308cf63ddb67b003a1c6036615456eb9 Author: Steven Toth Date: Sat May 9 13:24:12 2009 -0300 V4L/DVB (12922): Add the SAA7164 I2C bus identifier Add the SAA7164 I2C bus identifier Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit db17ab98460496df59453ff2790aac23ebcc2e90 Author: Mauro Carvalho Chehab Date: Thu Sep 17 01:44:22 2009 -0300 V4L/DVB (12920): DocBook/media: Some xmlto or DTD's don't accept reference inside appendix That was weird: on some distros, we need to remove tag for it to work. Signed-off-by: Mauro Carvalho Chehab commit c18038d2bfe61863a8d8c78cd5a08dcea71db9dd Author: Mauro Carvalho Chehab Date: Thu Sep 17 01:25:41 2009 -0300 V4L/DVB (12919): DocBook/media: fix some DocBook non-compliances Signed-off-by: Mauro Carvalho Chehab commit 4e5fee2bc15bf1226783db5855c25ec8ebfb25ac Author: Mauro Carvalho Chehab Date: Wed Sep 16 23:56:44 2009 -0300 V4L/DVB (12917): DocBook/media: add V4L2_PIX_FMT_TM6000 This is a proprietary format found with Trident tm6000 series of chipsets. Signed-off-by: Mauro Carvalho Chehab commit 453d63c6a1afff9aa7e83ac9c3a9dbd6254a1fcd Author: Mauro Carvalho Chehab Date: Wed Sep 16 23:22:05 2009 -0300 V4L/DVB (12915): DocBook/media: Add isdb-t documentation Adds ISDB-T_and_ISDB-Tsb_with_S2API spec converted into DocBook format. The text is authored by Patrick Boettcher, and was converted to DocBook by me. Signed-off-by: Mauro Carvalho Chehab commit aaeab30f753d9499e04979e2a5a7feadba18c39d Author: Mauro Carvalho Chehab Date: Wed Sep 16 09:18:26 2009 -0300 V4L/DVB (12906): dib0700: Add support for Prolink SBTVD Signed-off-by: Mauro Carvalho Chehab commit 78f3bc631f39fbfa4eaf039f0664265e71f725fb Author: Patrick Boettcher Date: Mon Aug 17 12:53:51 2009 -0300 V4L/DVB (12903): DiB8000: fix channel search parameter initialization This patch is fixing the initialization of the channel search parameters. Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b8423ee91ff250006907e58099450c923dc19c62 Author: Uwe Bugla Date: Mon Aug 17 08:09:06 2009 -0300 V4L/DVB (12902): Documentation: synchronize documentation for Technisat cards The patch does the following: a. it synchronizes /Documentation/dvb/technisat.txt to the current kernel design b. it syncs Trent Piepho' s latest changes to the flexcop driver concept: implementation of the dvb pll library for some cards that need it Signed-off-by: Uwe Bugla Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit ba3fe3a96374ff209f532a4924743bb1fa4d57f6 Author: Patrick Boettcher Date: Wed Sep 16 09:51:30 2009 -0300 V4L/DVB (12901): DiB0700: add support for STK807XP and STK807XPVR This patchs adds support for the DiB8000 based devices STK807xP and STK807xPVR to the dib0700-device-tree. [mchehab@redhat.com: Fix merge conflicts] Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 77e2c0f5d471e2b14140f0695a1b6a718f318dd7 Author: Patrick Boettcher Date: Mon Aug 17 07:01:10 2009 -0300 V4L/DVB (12900): DiB8000: added support for DiBcom ISDB-T/ISDB-Tsb demodulator DiB8000 This commit adds support for the DiB8000 ISDB-T demodulator made by DiBcom. Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 2a6a30e05cc4afa4aa4da406ece75e6846d5b408 Author: Patrick Boettcher Date: Mon Aug 17 05:13:28 2009 -0300 V4L/DVB (12899): DiB0070: Indenting driver with indent -linux In order to follow a little bit the kernel coding style from now on after the generation of that driver file and indent -linux call is emitted. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 7e5ce6515d0deb76a49dcb4112a6dff5d950bfb6 Author: Patrick Boettcher Date: Mon Aug 3 13:43:40 2009 -0300 V4L/DVB (12898): DiB0070: Update to latest internal release General update of the dib0070-driver based on DiBcom's latest release. New driver features can enable better performance in some reception situations. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit e7b7949a95441affe937fa25f4d6d8f3df0ca271 Author: Patrick Boettcher Date: Fri Aug 14 05:24:19 2009 -0300 V4L/DVB (12896): ISDB-T: add mapping of LAYER_ENABLED to frontend-cache It was forgotten to map the LAYER_ENABLED ioctl to the frontend-cache and back. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit b6e760f3097501e60e76fbcb7a313d42da930c1f Author: Patrick Boettcher Date: Mon Aug 3 14:39:15 2009 -0300 V4L/DVB (12892): DVB-API: add support for ISDB-T and ISDB-Tsb (version 5.1) This patch increments the DVB-API to version 5.1 in order to reflect the addition of ISDB-T and ISDB-Tsb on Linux' DVB-API. Changes in detail: - added a small document to describe how to use the API to tune to an ISDB-T or ISDB-Tsb channel - added necessary fields to dtv_frontend_cache - added a smarter clear-cache function which resets all fields of the dtv_frontend_cache - added a TRANSMISSION_MODE_4K to fe_transmit_mode_t Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit fc27f04698275ed28e64ba615e60e4d716a11e42 Author: Mauro Carvalho Chehab Date: Tue Sep 15 21:50:59 2009 -0300 DocBook/media: Remove Satellites from Analog TV Tuners and Modulators There were never any satellite support for analog, and adding it right now doesn't make sense. For digital TV, this is already covered at part II. Signed-off-by: Mauro Carvalho Chehab commit 62b122aba1ed96e2d4c7905bcf19fc8caf73dcd6 Author: Mauro Carvalho Chehab Date: Tue Sep 15 21:03:45 2009 -0300 DocBook/media: update dvb url's and use ulink tag instead of emphasis Signed-off-by: Mauro Carvalho Chehab commit e5b20214e6628cc30d32b153640e230a4bfdea3b Author: Mauro Carvalho Chehab Date: Tue Sep 15 20:49:43 2009 -0300 DocBook/media: fix some broken links Signed-off-by: Mauro Carvalho Chehab commit 9aa08855a47a7d25e231457f893af6f5ab903870 Author: Mauro Carvalho Chehab Date: Tue Sep 15 20:27:18 2009 -0300 DocBook/media: Some typo fixes Signed-off-by: Mauro Carvalho Chehab commit b131e04eae22e653efc3b9b6a861faa10e4894b8 Author: Mauro Carvalho Chehab Date: Tue Sep 15 19:49:44 2009 -0300 DocBook: Don't use graphics callouts By default, when a callout is used, DocBook will try to use a graphics image for callouts. This requires that the graphics to be copied to the documentation directory. As this is not done, use the text callouts: (1), (2), ... Signed-off-by: Mauro Carvalho Chehab commit 7ac9405570def8267df08d1c561d7e00b2b766b7 Author: Mauro Carvalho Chehab Date: Tue Sep 15 18:46:15 2009 -0300 DocBook/media: copy also the pictures to the proper place Signed-off-by: Mauro Carvalho Chehab commit d80bd70f0833582328f1df8d69322067fd1891c2 Author: Mauro Carvalho Chehab Date: Tue Sep 15 15:27:57 2009 -0300 DocBook/media: renamed xml documents to tmpl DocBook makefile expects that the documents to be in tmpl extension, since it has some preprocessing that it is done on it. This preprocessing is not needed currently, but, as it removes the xml versions, we're forced to rename anyway. Signed-off-by: Mauro Carvalho Chehab commit db48138f6bc4d2b613b08731ffc8b319432ebc25 Author: Patrick Boettcher Date: Tue Sep 15 07:16:51 2009 -0300 V4L/DVB (12889): DIB0700: added USB IDs for a Terratec DVB-T XXS Since there is now correct support for the DiB7770 the support for the 'Terratec Cinergy T USB XXS (HD)' can be added. One USB-ID has been moved, another one has been added. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit d300bd691464ffb87342e375793ac2418e66c3f3 Author: Olivier Grenie Date: Tue Sep 15 06:55:35 2009 -0300 V4L/DVB (12888): STK7770P: Add support for STK7770P Added support for the dib7770P and the STK7770P Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit ef80196490d6533e74a49509112804aa88a21c6f Author: Olivier Grenie Date: Tue Sep 15 06:46:52 2009 -0300 V4L/DVB (12887): DIB7000P: SNR calcuation forr DiB7000P Add the SNR monitoring for the dib7000p. The result is in dB. Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 74b76f213640b4ebde9134d94a8013dbfecfcd93 Author: Olivier Grenie Date: Wed Sep 2 08:19:19 2009 -0300 V4L/DVB (12886): Added new Pinnacle USB devices Added Pinnacle PCTV USB devices based on PCTV 73e. Signed-off-by: Olivier Grenie Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 958411bc484d15c3c3f7579b84b57d3b9d80ff21 Author: Andy Walls Date: Mon Sep 7 14:32:45 2009 -0300 V4L/DVB (12884): cx18: Eliminate warning about discarding 'const' is assignment for IR init i2c-kbd-i2c allows a bridge driver to pass information about IR configuration, but uses a "void *" to pass along what is essentially constant data. This change casts a const * to a void * to remove the warning. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 0e12e1536c1b8aaef9baeed09a8f81da393fcba6 Author: Devin Heitmueller Date: Tue Sep 15 00:20:29 2009 -0300 V4L/DVB (12882): em28xx: remove text editor tags from em28xx-vbi.c Remove some emacs tags from em28xx-vbi.c, which were copied from cx88-vbi.c, per Mauro Carvalho Chehab's request. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit e3ba4d34d031985366f7ea06395fa9772ff77ce6 Author: Devin Heitmueller Date: Tue Sep 15 00:18:06 2009 -0300 V4L/DVB (12881): em28xx: fix codingstyle issues in em28xx-video.c Fix some codingstyle issues introduced during the addition of em28xx VBI support. The patch makes no functional changes other than converting a few debug printk() statements to em28xx_isocdbg. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit cb0409ffb7fa83a9ab561fe7e551ba8f817ca148 Author: Devin Heitmueller Date: Tue Sep 15 00:10:15 2009 -0300 V4L/DVB (12880): em28xx: fix codingstyle issues introduced with VBI support Fix a few codingstyle issues introduced when I was adding the VBI support to the em28xx driver. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 95e6dcd1bbb98ea215ad22585743ef9e60cfa3ff Author: Brian Kloppenborg Date: Sun Aug 30 09:43:40 2009 -0300 V4L/DVB (12878): gspca - m5602-s5k4aa: Add vflip quirk for the GX700 The MSI GX700 is a tricky machine to support. Some revisions do need the sensor flipped, but not all. Add another quirk, distinguished by its BIOS date. Signed-off-by: Brian Kloppenborg Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 9760677417c27ea59442cc748ee0b8d5f44162d3 Author: Erik Andrén Date: Wed Jul 1 02:49:23 2009 -0300 V4L/DVB (12877): gspca - m5602-s5k4aa: Add vflip quirk for the Amilo Pa 2548 Add vflip quirk for the Fujitsu Siemens Amilo Pa 2548 Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 04a68baa20d8faa0fb5f2924a1169280961be643 Author: Michael Krufky Date: Sun Sep 6 14:11:09 2009 -0300 V4L/DVB (12875): cx23885: disable tda18271 slave tuner output / loop thru in standby mode Enable the standby mode optimization to disable the tda18271 slave tuner output / loop thru options when in low power mode Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a18eaf02c8cd60ad1e6cec3fa0d04a568d31801a Author: Michael Krufky Date: Sat Aug 29 17:47:01 2009 -0300 V4L/DVB (12874): pvrusb2: disable tda18271 slave tuner output / loop thru in standby mode Enable the standby mode optimization to disable the tda18271 slave tuner output / loop thru options when in low power mode Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 542cb057368ab9450c51a331e65eea5aa9d7c008 Author: Michael Krufky Date: Sat Aug 29 17:45:48 2009 -0300 V4L/DVB (12873): saa7134: disable tda18271 slave tuner output / loop thru in standby mode Enable the standby mode optimization to disable the tda18271 slave tuner output / loop thru options when in low power mode Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d1f7510b9179ef7249db08e50d51654f1bf8e261 Author: Henk Vergonet Date: Tue Sep 15 02:25:35 2009 -0300 V4L/DVB (12871): tda18271: fix bad data in tda18271_cid_target table Fixed one value and removed a duplicate in tda18271_cid_target[], based on table 54 "CID_Target_map" in Rev.04 of the TDA18271HD datasheet. Signed-off-by: Henk Vergonet Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit b5d189702b56c5d09bec71798c0314090b36116d Author: Henk Vergonet Date: Tue Sep 15 02:09:17 2009 -0300 V4L/DVB (12870): tda18271: update temperature compensation calculatation formula Update the tda18271c2_rf_tracking_filters_correction function to include the modified temperature compensation calculatation formula as described in Rev.04 of the TDA18271HD datasheet. Signed-off-by: Henk Vergonet Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ecda427340b7bb5c61fbf18857645286c2bfec6c Author: Michael Krufky Date: Sun Sep 6 14:38:48 2009 -0300 V4L/DVB (12869): tda18271: fix comments and make tda18271_agc debug less verbose Don't display "no agc configuration provided" unless DBG_ADV is set. Fix comments in function, tda18271_agc. This config variable is not for LNA configuration -- it is for external AGC configuration. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 650901c0b6917505e81f6593d230ea3cdcf6518a Author: Michael Krufky Date: Sat Sep 5 19:01:56 2009 -0300 V4L/DVB (12868): tda18271: improve error log in function tda18271_write_regs Display function parameters, idx and len, in error log. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d5abef6be1715040ac50e834bc042031f7613fa9 Author: Michael Krufky Date: Sun Aug 30 03:07:10 2009 -0300 V4L/DVB (12867): tda18271: ensure that configuration options are set for multiple instances For the case of multiple tuner instances, ensure that non-default configuration options are saved into the driver's state. This resolves an issue where a configuration option may not be carried into the driver if the analog side of a hybrid driver initializes before the digital side. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1216531a1f416df24f67ca8e626df9b3c91e5c75 Author: Michael Krufky Date: Sun Aug 30 02:32:23 2009 -0300 V4L/DVB (12866): tda18271: move small_i2c assignment to the state config block minor cleanup: move small_i2c assignment to the state config block Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cc7e26d47f327a928e241b8d59b9203b469d692e Author: Michael Krufky Date: Sat Aug 29 16:27:21 2009 -0300 V4L/DVB (12865): tda18271: move tda18271_sleep directly below tda18271_init Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4240b460f0dbb4bf4e3f64e6abd423f476012756 Author: Michael Krufky Date: Sat Aug 29 16:25:37 2009 -0300 V4L/DVB (12864): tda18271: change output feature configuration to a bitmask For better readability, treat the low power standby mode configuration as an output option feature configuration, and change it to a bitmask. If left unconfigured, all features will remain enabled, just as the default configuration was before these changes were introduced. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2dfca76303937f256e11754a716eb198b22afdd5 Author: Michael Krufky Date: Fri Aug 28 20:53:30 2009 -0300 V4L/DVB (12863): tda18271: add new standby mode: slave tuner output / loop thru on Add new standby mode: TDA18271_STANDBY_LT_ON = slave tuner output loop thru on w/ xtal osc off Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 72c8364a662b7e995f86931dcb768b77bc44bca5 Author: Michael Krufky Date: Fri Aug 28 18:52:26 2009 -0300 V4L/DVB (12862): tda18271: add debug to show which standby mode is in use Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 81259f210ef09c6e6e643c7cecc803a7083f970e Author: Michael Krufky Date: Sun May 11 12:46:52 2008 -0300 V4L/DVB (12861): tda18271: add support for additional low-power standby modes By default, the driver enters standby mode with slave tuner output loop thru enabled and xtal oscillator on. Not all designs require that slave tuner output loop thru and xtal oscillator remain active while in standby mode, so two additional standby modes have been added: - standby mode with xtal oscillator on (loop thru off) - total power off Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fd9a40da1db372833e1af6397d2f6c94ceff3dad Author: Mauro Carvalho Chehab Date: Tue Sep 15 11:07:59 2009 -0300 V4L/DVB (12859): go7007: semaphore -> mutex conversion Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 028d4c989ab9e839471739332d185f8f158b0043 Author: Mauro Carvalho Chehab Date: Tue Sep 15 11:06:04 2009 -0300 V4L/DVB (12858): go7007: whitespacing cleanups Signed-off-by: Mauro Carvalho Chehab commit dd694441e31ebdabc439874c7eca4af0fa8ab338 Author: Mauro Carvalho Chehab Date: Mon Sep 14 16:36:54 2009 -0300 V4L/DVB (12851): cx25821/Makefile: Cleanup Remove an extra line that it is not needed Signed-off-by: Mauro Carvalho Chehab commit 68071add91b22fa361b65765e80107c44927b5fb Author: Mauro Carvalho Chehab Date: Mon Sep 14 13:03:43 2009 -0300 V4L/DVB (12847): cx25821: Add README with todo list Signed-off-by: Mauro Carvalho Chehab commit 8e080c2e6cadada82a6b520e0c23a1cb974822d5 Author: Mauro Carvalho Chehab Date: Sun Sep 13 22:16:04 2009 -0300 V4L/DVB (12761): DocBook: add media API specs The V4L and DVB API's are there for a long time. however, up to now, no efforts were done to merge them to kernel DocBook. This patch adds the current versions of the specs as an unique compendium. Signed-off-by: Mauro Carvalho Chehab commit f4e96deb4513d044653027d4921fd7592195503a Author: Antti Palosaari Date: Sat Sep 12 21:25:59 2009 -0300 V4L/DVB (12756): af9015: fix typo in register compare And mask should be 0xff00 instead of 0xae00. Thanks to Jochen Friedrich for pointing this. Cc: Jochen Friedrich Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 06565d7a4231b77a1181f5b853b076f374535649 Author: Antti Palosaari Date: Sat Sep 12 20:46:30 2009 -0300 V4L/DVB (12755): af9015: improve usb control message function slightly * define names for few values * decrease buffer len by one byte which was not used * add check for buffer overflow for sure * indentation fixes * remove useless 0 len check from memcpy It should not happen and if it happens memcpy should not do anything. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 9c863278097a4905a78ee0d70d417641aecfac2e Author: Antti Palosaari Date: Sat Sep 12 13:35:29 2009 -0300 V4L/DVB (12754): af9015: [2/2] fix USB TS configuration Fix wrongly configured USB1.1 TS EP. Patch serie also increases USB URB size to reduce wakeups. USB1.1 URB size from 64 to 940 bytes USB2.0 URB size from 512 to 16356 bytes Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 353330c3ebf01c8f436b41690d95ec1548b6f364 Author: Jose Alberto Reguero Date: Sat Sep 12 09:51:36 2009 -0300 V4L/DVB (12753): af9015: [1/2] fix USB TS configuration Fix wrongly configured USB2.0 TS EP. Signed-off-by: Jose Alberto Reguero Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 9254078c6b453ce02dab150189ed85744f254ddb Author: Antti Palosaari Date: Sat Sep 12 09:43:25 2009 -0300 V4L/DVB (12752): get_dvb_firmware: add af9015 firmware Add af9015 firmware to get_dvb_firmware script. Firmware version is 4.95.0.0. Signed-off-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit 891114a413f2ff8722ef4397bb6a902aab006414 Author: Devin Heitmueller Date: Fri Sep 11 00:53:44 2009 -0300 V4L/DVB (12750): em28xx: fix unused variable warning Remove unused variable from when I introduced the g_std() function. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 10e01255026fb6a68b5aaa29427488ba2b35fc64 Author: Devin Heitmueller Date: Fri Sep 11 00:51:48 2009 -0300 V4L/DVB (12749): em28xx: remove unneeded code that set VINCTRL register Remove redundant call to set the vinctrl register. This eliminates any ambiguity as to how the register is configured (since it is now always set in em28xx_set_outfmt). This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 19bf00384a6d5bbe5d7b8afbcc25772e3675d423 Author: Devin Heitmueller Date: Fri Sep 11 00:40:18 2009 -0300 V4L/DVB (12748): em28xx: implement g_std v4l call We need to implement the g_std call, or else the default norm always gets returned, which breaks VBI capturing if you had changed the standard to NTSC using s_std. I had temporarily changed the default norm to NTSC so that zvbi-ntsc-cc wouldn't choke, so now that we are returning the correct value, switch it back to PAL as the default. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 0414614aab32d84da2bb092eb83b5e456946022d Author: Devin Heitmueller Date: Fri Sep 11 00:08:44 2009 -0300 V4L/DVB (12747): em28xx: only advertise VBI capability if supported Change the code so we only claim to support VBI if the underlying chipset actually has the support. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 290c0cfac9050fa2442e93f35f47e4faa4227e85 Author: Devin Heitmueller Date: Fri Sep 11 00:01:06 2009 -0300 V4L/DVB (12746): em28xx: do not create /dev/vbiX device if VBI not supported Do not create the VBI device in cases where VBI is not supported on the target em28xx chip. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 365adee851ae8312e6d9e0ba6fdc6a98599e2778 Author: Devin Heitmueller Date: Thu Sep 3 00:25:54 2009 -0300 V4L/DVB (12745): em28xx: remove unreferenced variable Remove an unreferenced variable introduced during the VBI introduction. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 8c873d31af868b4e340defc7053945636c8bd0e1 Author: Devin Heitmueller Date: Thu Sep 3 00:23:27 2009 -0300 V4L/DVB (12744): em28xx: restructure fh/dev locking to handle both video and vbi The current locking infrastructure didn't support having multiple fds accessing the device (such as video and vbi). Rework the locking infrastructure, borrowing the design from cx88. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 91f6dcec929b37a4568ddf55ef84e007d8fccc34 Author: Devin Heitmueller Date: Wed Sep 2 22:23:23 2009 -0300 V4L/DVB (12743): em28xx: fix mmap_mapper with vbi When adding support for both video and VBI, I missed the mmap ioctl. Add the missing call. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 28abf083d356bc4ec459ded7a95b6a22a20f6c3d Author: Devin Heitmueller Date: Tue Sep 1 01:54:54 2009 -0300 V4L/DVB (12742): em28xx: add raw VBI support for NTSC Add support for raw VBI capture for the em28xx bridge, currently only for NTSC. Support for PAL capture to follow shortly (including the removal of numerous hard-coded NTSC-specific sizes for capture buffers, etc). Note that the code currently changes the default current norm from PAL to NTSC (so that zvbi-ntsc-cc works properly). The default norm really should be moved into a board-level parameter. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit da52a55cff643b8e0b346b9894adf5b93946040d Author: Devin Heitmueller Date: Tue Sep 1 01:19:46 2009 -0300 V4L/DVB (12741): em28xx: make video isoc stream work when VBI is enabled Add code enabling the VBI registers for variants of the em28xx chip that support VBI, and make sure the isoc streaming code continues to work for the video component of the stream (note the video and vbi data arrive intermixed on the same isoc pipe). Note that this version just drops the actual VBI data onto the floor as opposed to processing it. The "#ifdef 0" tags are for the videobuf code that appears in the next patch in this series. We created a separate version of the isoc_copy version for parsing the version of the stream that includes VBI data. In theory, they might be able to be merged at some point in the future, but the initial goal is to ensure that we do not cause any regressions with devices that do not have VBI support. This work was sponsored by EyeMagnet Limited. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 206313db83641022c5ee213ac5f619973a9b427b Author: Devin Heitmueller Date: Mon Aug 31 23:23:03 2009 -0300 V4L/DVB (12740): em28xx: better describe vinctrl registers Properly document the video input control register, in preparation for the addition of VBI support. Note this patch makes no functional changes. Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit df72f32ae2eebb1d8cd3994ec7b54344f4164c68 Author: Mauro Carvalho Chehab Date: Tue Sep 15 12:15:15 2009 -0300 cx25821: Add driver to the building system Signed-off-by: Mauro Carvalho Chehab commit 53e712d0844e99b8d8720327470b86ef401fb727 Author: Mauro Carvalho Chehab Date: Sun Sep 13 11:39:12 2009 -0300 V4L/DVB (12734): cx25821: Fix some compilation troubles Lindent caused some compilation breakages. There were also others related to some other changes at kernel KABI. There's still one missing warning fix against 2.6.30: /home/v4l/cx25821/v4l/cx25821-alsa.c: In function 'cx25821_audio_initdev': /home/v4l/cx25821/v4l/cx25821-alsa.c:706: warning: 'snd_card_new' is deprecated (declared at include/sound/core.h:306) Signed-off-by: Mauro Carvalho Chehab commit 1a9fc855643f8770c92ba99fad5f209358c6030d Author: Mauro Carvalho Chehab Date: Sun Sep 13 11:30:11 2009 -0300 V4L/DVB (12733): cx25821: some CodingStyle fixes The original driver were generated with some dos editor, and used their own coding style. This patch does some automatic CodingStyle fixes, by running dos2unix and Lindent tools. More work still needs to be done for it to use upstream CodingStyle. Signed-off-by: Mauro Carvalho Chehab commit bb4c9a74b88aac4c30566cc8616a01c47028761f Author: Mauro Carvalho Chehab Date: Sun Sep 13 11:25:45 2009 -0300 V4L/DVB (12732): cx25821: fix bad whitespacing Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Mauro Carvalho Chehab commit 466a1c15b5dff85810cb86d6b37b96b07846cd82 Author: Mauro Carvalho Chehab Date: Sun Sep 13 11:24:22 2009 -0300 V4L/DVB (12731): cx25821: Add missing include /home/v4l/master/v4l/cx25821-audups11.c:99: error: implicit declaration of function 'lock_kernel' /home/v4l/master/v4l/cx25821-audups11.c:112: error: implicit declaration of function 'unlock_kernel' Signed-off-by: Mauro Carvalho Chehab commit 02b20b0b4cde011f7ad6b5363fb88b93f7ad4e5b Author: Mauro Carvalho Chehab Date: Tue Sep 15 11:33:54 2009 -0300 V4L/DVB (12730): Add conexant cx25821 driver GIT_BRANCH=devel GIT_AUTHOR_DATE=1252851239 GIT_AUTHOR_NAME=Palash Bandyopadhyay GIT_AUTHOR_EMAIL=Palash.Bandyopadhyay@conexant.com Add conexant cx25821 driver release v106 of the Athena driver. Signed-off-by: Palash Bandyopadhyay Signed-off-by: Mauro Carvalho Chehab commit 78f28b7c555359c67c2a0d23f7436e915329421e Merge: 3240a77 7bd867d Author: Linus Torvalds Date: Fri Sep 18 14:05:47 2009 -0700 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (38 commits) x86: Move get/set_wallclock to x86_platform_ops x86: platform: Fix section annotations x86: apic namespace cleanup x86: Distangle ioapic and i8259 x86: Add Moorestown early detection x86: Add hardware_subarch ID for Moorestown x86: Add early platform detection x86: Move tsc_init to late_time_init x86: Move tsc_calibration to x86_init_ops x86: Replace the now identical time_32/64.c by time.c x86: time_32/64.c unify profile_pc x86: Move calibrate_cpu to tsc.c x86: Make timer setup and global variables the same in time_32/64.c x86: Remove mca bus ifdef from timer interrupt x86: Simplify timer_ack magic in time_32.c x86: Prepare unification of time_32/64.c x86: Remove do_timer hook x86: Add timer_init to x86_init_ops x86: Move percpu clockevents setup to x86_init_ops x86: Move xen_post_allocator_init into xen_pagetable_setup_done ... Fix up conflicts in arch/x86/include/asm/io_apic.h commit cd68c374ea9ce202ae7c6346777d10078e243d49 Author: NeilBrown Date: Wed Sep 9 16:32:54 2009 +1000 sunrpc/cache: avoid variable over-loading in cache_defer_req In cache_defer_req, 'dreq' is used for two significantly different values that happen to be of the same type. This is both confusing, and makes it hard to extend the range of one of the values as we will in the next patch. So introduce 'discard' to take one of the values. Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields commit 3240a77b515f4a15e24d8a3a2135bc87b02cf1d6 Author: Geoffrey Thomas Date: Fri Sep 18 15:52:09 2009 -0400 sparc: Clean up linker script using new linker script macros. Signed-off-by: Geoffrey Thomas Signed-off-by: Tim Abbott Acked-by: Sam Ravnborg Acked-by: David S. Miller Signed-off-by: Linus Torvalds commit 9c88b25bcfde51eccf2cca13d933a2948d0ca4eb Author: Nelson Elhage Date: Fri Sep 18 15:52:08 2009 -0400 frv: clean up linker script using new linker script macros. This is largely a straightforward conversion. The patch results in fewer output sections, and some data being reordered, but should have no functional impact. Also, note that this patch moves some data (namely, init_task and cacheline-aligned) inside [_sdata,_edata]. Because frv already builds using -ffunction-sections -fdata-sections, we can't use BSS_SECTION or RW_DATA_SECTION yet, since they do not currently include the required .bss.* and .data.* sections. Signed-off-by: Nelson Elhage Acked-by: David Howells Signed-off-by: Tim Abbott Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit 88ddb81e0f56cc7b603174d9666ecc80237425a0 Author: Nelson Elhage Date: Fri Sep 18 15:52:07 2009 -0400 frv: remove unused .altinstructions code It appears that frv copied the .altinstructions definitions in its linker script from x86. Since frv doesn't put anything in those sections, this is just dead code. Signed-off-by: Nelson Elhage Acked-by: David Howells Signed-off-by: Tim Abbott Acked-by: Sam Ravnborg Signed-off-by: Linus Torvalds commit cfd550ed3d3bd509b475c7a9d425fc63bf843a7c Author: Jean Delvare Date: Fri Sep 18 22:45:52 2009 +0200 i2c: Clearly mark ACPI drivers as such Now that we have ACPI-based SMBus controller drivers, and we will start telling users to use them instead of native drivers when I/O resources conflict, I think it would be good to clearly mark ACPI drivers as such in Kconfig. This is exactly the same as we just did for hwmon drivers. Signed-off-by: Jean Delvare Cc: Crane Cai commit dc9854212e0d7318d7133697906d98b78f3088b6 Author: Crane Cai Date: Fri Sep 18 22:45:51 2009 +0200 i2c: Add driver for SMBus Control Method Interface This driver supports the SMBus Control Method Interface. It needs BIOS declare ACPI control methods which described in SMBus Control Method Interface Spec. http://smbus.org/specs/smbus_cmi10.pdf Signed-off-by: Crane Cai Signed-off-by: Jean Delvare commit 449d2c759ddba46a89b698bdc64bfc2f7cc5bb66 Author: Julia Lawall Date: Fri Sep 18 22:45:51 2009 +0200 i2c-pnx: Correct use of request_region/request_mem_region request_mem_region should be used when ioremap is used subsequently. release_region is then correspondingly replaced by release_mem_region. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ expression start,E; @@ - request_region + request_mem_region (start,...) ... when != request_mem_region(start,...) when != start = E ioremap(start,...) @@ expression r.start; @@ - release_region + release_mem_region (start,...) // Signed-off-by: Julia Lawall Cc: Vitaly Wool Signed-off-by: Jean Delvare commit a1867d36b3bda28314fdd832a510dc9e55821c4c Author: Wolfram Sang Date: Fri Sep 18 22:45:51 2009 +0200 MAINTAINERS: Add maintainer for AT24 and PCA9564/PCA9665 Add me as the maintainer for the i2c drivers I feel responsible for as I found patches going mainline I missed due to no Cc. Signed-off-by: Wolfram Sang Cc: David Brownell Signed-off-by: Jean Delvare commit 76b3e28fa728bb68895cbd8375f5ce233bd891de Author: Crane Cai Date: Fri Sep 18 22:45:50 2009 +0200 i2c-piix4: Add AMD SB900 SMBus device ID Add new SMBus device ID for AMD SB900. Signed-off-by: Crane Cai Signed-off-by: Jean Delvare commit e7c5c49ecdac6dc5a6b67a27838b1b562eeec1b9 Author: Wolfram Sang Date: Fri Sep 18 22:45:49 2009 +0200 i2c/chips: Remove deprecated pcf8574 driver The pcf8574 driver in drivers/i2c/chips which just exports its register to sysfs is superseded by drivers/gpio/pcf857x.c which properly uses the gpiolib. As this driver has been deprecated for more than a year, finally remove it. Signed-off-by: Wolfram Sang Cc: Aurelien Jarno Signed-off-by: Jean Delvare commit 732d481127abaa0add41ee918191ea08e9ede17e Author: Wolfram Sang Date: Fri Sep 18 22:45:48 2009 +0200 i2c/chips: Remove deprecated pca9539 driver The pca9539 driver in drivers/i2c/chips which just exports its registers to sysfs is superseded by drivers/gpio/pca953x.c which properly uses the gpiolib. As this driver has been deprecated for more than a year, finally remove it. Signed-off-by: Wolfram Sang Acked-by: Ben Gardner Signed-off-by: Jean Delvare commit 8f67eeb0b44cde19216955975ffef8513a87c0c0 Author: Wolfram Sang Date: Fri Sep 18 22:45:48 2009 +0200 i2c/chips: Remove deprecated pcf8575 driver The pcf8575 driver in drivers/i2c/chips which just exports its register to sysfs is superseded by drivers/gpio/pcf857x.c which properly uses the gpiolib. As this driver has been deprecated for more than a year, finally remove it. Signed-off-by: Wolfram Sang Cc: Bart Van Assche Signed-off-by: Jean Delvare commit 4ba2ccb83e03077bb94f8848ee573f1e27cea969 Author: Wolfram Sang Date: Fri Sep 18 22:45:47 2009 +0200 gpio/pcf857x: Copy i2c_device_id from old pcf8574 driver The deprecated pcf8574 driver is going to be removed. Make sure the replacement driver inherits all i2c_device_ids for a smooth transition. Signed-off-by: Wolfram Sang Cc: David Brownell Signed-off-by: Jean Delvare commit fce96f3e5d34b0e3195f9d1bf2b3c7e3841e90ff Author: Willy Tarreau Date: Fri Sep 18 22:45:47 2009 +0200 i2c/scx200_acb: Provide more information on bus errors Upon a bus error, it's rather hard to guess what happened. Dumping the address, length and status provides a lot of value for troubleshooting issues. Signed-off-by: Willy Tarreau Signed-off-by: Jean Delvare commit 2bb5095affdb8d6e8646a5b8b5a35c1d6a28c3e7 Author: Jean Delvare Date: Fri Sep 18 22:45:46 2009 +0200 i2c: Provide compatibility links for i2c adapters Some user-space applications may be relying on i2c adapters showing up as class devices in sysfs. Provide compatibility links for them for the time being. We will remove them after a long transition period. Signed-off-by: Jean Delvare Cc: Kay Sievers commit 4f8cf8240a0c8b232c2ae22e019a4ba1d5f19ccd Author: Jean Delvare Date: Fri Sep 18 22:45:46 2009 +0200 i2c: Convert i2c adapters to bus devices Kay says i2c adapters shouldn't be class devices but bus devices. Convert them that way, using a device type. Signed-off-by: Jean Delvare Cc: Kay Sievers commit 51298d1257b9f0a356ad66650c9fe2ca5bfa5ae3 Author: Jean Delvare Date: Fri Sep 18 22:45:45 2009 +0200 i2c: Convert i2c clients to a device type This is required for upcoming changes. Signed-off-by: Jean Delvare Cc: Kay Sievers commit ac7809414fb1e3e49b88ad6016e57598594aa4e2 Author: Jean Delvare Date: Fri Sep 18 22:45:44 2009 +0200 i2c/tsl2550: Use combined SMBus transactions Make the I/O faster, mainly by using combined SMBus transactions when possible. While the TSL2550 datasheet doesn't say the device supports them, they seem to work just fine in practice, and a combined transaction is faster than two simple transactions in many cases and always more reliable. A side effect is to suppress the delays between SMBus writes and reads. The datasheet doesn't say they are needed and things work just fine for me without them. I also couldn't see any reason for the delay between reading the two channels. Nor for the loop to get a reading in the first place. The 400 ms delay between samples only matters at chip power-up, after that the chip always hold the previously sampled value so we never get to wait. All these changes make reading the lux value much faster and cheaper. Signed-off-by: Jean Delvare Tested-by: Michele De Candia Cc: Rodolfo Giometti commit 27693ce5f372c0af3b0730f5152b35432afa0fd7 Author: Jean Delvare Date: Fri Sep 18 22:45:43 2009 +0200 i2c-taos-evm: Switch echo off to improve performance When echo is on, we waste time reading back our orders. Switching echo off makes performance much better: SMBus byte data transactions are 47% faster and byte transactions are 24% faster. Signed-off-by: Jean Delvare commit 6a891a3111fe701517bb31c2204304724c7299c8 Author: Jean Delvare Date: Fri Sep 18 22:45:43 2009 +0200 i2c: Drop unused i2c_driver.id field Nobody is using i2c_driver.id any longer, so we can drop that field. Signed-off-by: Jean Delvare commit fc5377668c3d808e1d53c4aee152c836f55c3490 Author: Christoph Hellwig Date: Thu Sep 17 19:35:28 2009 +0200 tracing: Remove markers Now that the last users of markers have migrated to the event tracer we can kill off the (now orphan) support code. Signed-off-by: Christoph Hellwig Acked-by: Mathieu Desnoyers Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <20090917173527.GA1699@lst.de> Signed-off-by: Ingo Molnar commit def0a9b2573e00ab0b486cb5382625203ab4c4a6 Author: Peter Zijlstra Date: Fri Sep 18 20:14:01 2009 +0200 sched_clock: Make it NMI safe Arjan complained about the suckyness of TSC on modern machines, and asked if we could do something about that for PERF_SAMPLE_TIME. Make cpu_clock() NMI safe by removing the spinlock and using cmpxchg. This also makes it smaller and more robust. Affects architectures that use HAVE_UNSTABLE_SCHED_CLOCK, i.e. IA64 and x86. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit cf450a7355a116af793998c118a6bcf7f5a8367e Author: Peter Zijlstra Date: Fri Sep 18 12:18:14 2009 +0200 perf_counter: Fix up swcounter throttling /me dons the brown paper bag. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5622f295b53fb60dbf9bed3e2c89d182490a8b7f Author: Markus Metzger Date: Tue Sep 15 13:00:23 2009 +0200 x86, perf_counter, bts: Optimize BTS overflow handling Draining the BTS buffer on a buffer overflow interrupt takes too long resulting in a kernel lockup when tracing the kernel. Restructure perf_counter sampling into sample creation and sample output. Prepare a single reference sample for BTS sampling and update the from and to address fields when draining the BTS buffer. Drain the entire BTS buffer between a single perf_output_begin() / perf_output_end() pair. Signed-off-by: Markus Metzger Signed-off-by: Peter Zijlstra LKML-Reference: <20090915130023.A16204@sedona.ch.intel.com> Signed-off-by: Ingo Molnar commit 3530c1886291df061e3972c55590777ef1cb67f8 Merge: 6952b61 1358870 Author: Linus Torvalds Date: Fri Sep 18 10:56:26 2009 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (64 commits) ext4: Update documentation about quota mount options ext4: replace MAX_DEFRAG_SIZE with EXT_MAX_BLOCK ext4: Fix the alloc on close after a truncate hueristic ext4: Add a tracepoint for ext4_alloc_da_blocks() ext4: store EXT4_EXT_MIGRATE in i_state instead of i_flags ext4: limit block allocations for indirect-block files to < 2^32 ext4: Fix different block exchange issue in EXT4_IOC_MOVE_EXT ext4: Add null extent check to ext_get_path ext4: Replace BUG_ON() with ext4_error() in move_extents.c ext4: Replace get_ext_path macro with an inline funciton ext4: Fix include/trace/events/ext4.h to work with Systemtap ext4: Fix initalization of s_flex_groups ext4: Always set dx_node's fake_dirent explicitly. ext4: Fix async commit mode to be safe by using a barrier ext4: Don't update superblock write time when filesystem is read-only ext4: Clarify the locking details in mballoc ext4: check for need init flag in ext4_mb_load_buddy ext4: move ext4_mb_init_group() function earlier in the mballoc.c ext4: Make non-journal fsync work properly ext4: Assure that metadata blocks are written during fsync in no journal mode ... commit 6952b61de9984073289859073e8195ad0bee8fd5 Author: Alexey Dobriyan Date: Fri Sep 18 23:55:55 2009 +0400 headers: taskstats_kern.h trim Remove net/genetlink.h inclusion, now sched.c won't be recompiled because of some networking changes. Signed-off-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 6423133bdee0e07d1c2f8411cb3fe676c207ba33 Author: Johannes Weiner Date: Thu Sep 17 19:26:53 2009 -0700 kernel-doc: allow multi-line declaration purpose descriptions Allow the short description after symbol name and dash in a kernel-doc comment to span multiple lines, e.g. like this: /** * unmap_mapping_range - unmap the portion of all mmaps in the * specified address_space corresponding to the specified * page range in the underlying file. * @mapping: the address space containing mmaps to be unmapped. * ... */ The short description ends with a parameter description, an empty line or the end of the comment block. Signed-off-by: Johannes Weiner Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 27f5de7963f46388932472b660f2f9a86ab58454 Author: Jianjun Kong Date: Thu Sep 17 19:26:26 2009 -0700 mm: Fix problem of parameter in note 'current' is a pointer, so the right form is 'down_write(¤t->mm->mmap_sem)'. Signed-off-by: Jianjun Kong Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 8f1ecc9fbc5b223e4f5d5bb8bcd6f5672c4bc4b6 Author: Roel Kluin Date: Thu Sep 17 19:26:04 2009 -0700 kref: double kref_put() in my_data_handler() The kref_put() already occurs after the out label Signed-off-by: Roel Kluin Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit afa12e72decb84cb8378ae2e66e51336e3c66962 Merge: 81ce31b e04ab95 Author: Linus Torvalds Date: Fri Sep 18 09:47:25 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] sizeof cleanup [WATCHDOG] wdt_pci: fix printk and variable type [WATCHDOG] wdt_pci - use pci_request_region [WATCHDOG] ar7_wdt: Fix error handling during probe. [WATCHDOG] ar7_wdt: convert to become a platform driver [WATCHDOG] fix book E watchdog to take WDIOC_SETTIMEOUT arg in seconds [WATCHDOG] davinci: use clock framework for timer frequency [WATCHDOG] Use DIV_ROUND_UP() macro in the coh901327 WDT [WATCHDOG] Add support for WM831x watchdog [WATCHDOG] Add watchdog driver for NUC900 [WATCHDOG] add SBC-FITPC2 watchdog driver commit 81ce31b773226332475f89501b1072bec0c0e241 Merge: 515b696 9973aff Author: Linus Torvalds Date: Fri Sep 18 09:45:08 2009 -0700 Merge branch 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score * 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score: (22 commits) score: add TIF_NOTIFY_RESUME define in asm/thread_info.h score: make init_thread_union align to THREAD_SIZE score: update files according to review comments. score: add old syscall support score: add MEMORY_START and MEMORY_SIZE define, to make the code clear score: update inconsistent declare after .c was changed score: remove unused code, add include files in .c score: clean up mm/init.c score: make irq.h definitions local score: cleanups: dead code, 0 as pointer, shadowed variables score: fix function prototypes score: add address space annotations score: add missing #includes score: move save arg5 and arg6 instruction in front of enable_irq score: add prototypes for wrapped syscalls score: remove init_mm score: add generic sys_call_table score: remove __{put,get}_user_unknown score: unset __ARCH_WANT_IPC_PARSE_VERSION score: update files according to review comments ... commit 515b696b282f856c3ad1679ccd658120faa387d0 Merge: fa877c7 064a16d Author: Linus Torvalds Date: Fri Sep 18 09:43:09 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (262 commits) sh: mach-ecovec24: Add user debug switch support sh: Kill off unused se_skipped in alignment trap notification code. sh: Wire up HAVE_SYSCALL_TRACEPOINTS. video: sh_mobile_lcdcfb: use both register sets for display panning video: sh_mobile_lcdcfb: implement display panning sh: Fix up sh7705 flush_dcache_page() build. sh: kfr2r09: document the PLL/FLL <-> RF relationship. sh: mach-ecovec24: need asm/clock.h. sh: mach-ecovec24: deassert usb irq on boot. sh: Add KEYSC support for EcoVec24 sh: add kycr2_delay for sh_keysc sh: cpufreq: Include CPU id in info messages. sh: multi-evt support for SH-X3 proto CPU. sh: clkfwk: remove bogus set_bus_parent() from SH7709. sh: Fix the indication point of the liquid crystal of AP-325RXA(AP3300) sh: Add EcoVec24 romImage defconfig sh: USB disable process is needed if romImage boot for EcoVec24 sh: EcoVec24: add HIZA setting for LED sh: EcoVec24: write MAC address in boot sh: Add romImage support for EcoVec24 ... commit fa877c71e2136bd682b45022c96d5e073ced9f58 Merge: 9eead2a 6ae8635 Author: Linus Torvalds Date: Fri Sep 18 09:33:07 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] Clean up linker script using standard macros. [IA64] Use standard macros for page-aligned data. [IA64] Use .ref.text, not .text.init for start_ap. [IA64] sgi-xp: fix printk format warnings [IA64] ioc4_serial: fix printk format warnings [IA64] mbcs: fix printk format warnings [IA64] pci_br, fix infinite loop in find_free_ate() [IA64] kdump: Short path to freeze CPUs [IA64] kdump: Try INIT regardless of [IA64] kdump: Mask INIT first in panic-kdump path [IA64] kdump: Don't return APs to SAL from kdump [IA64] kexec: Unregister MCA handler before kexec [IA64] kexec: Make INIT safe while transition to [IA64] kdump: Mask MCA/INIT on frozen cpus Fix up conflict in arch/ia64/kernel/vmlinux.lds.S as per Tony's suggestion. commit 9eead2a8115d2a6aecf267c292f751f7761fa5f8 Merge: 6f13047 79a9d99 Author: Linus Torvalds Date: Fri Sep 18 09:23:03 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: add fusectl interface to max_background fuse: limit user-specified values of max background requests fuse: use drop_nlink() instead of direct nlink manipulation fuse: document protocol version negotiation fuse: make the number of max background requests and congestion threshold tunable commit 6f130478e24d810078c3f0ee292bcc4ec034dcce Merge: 6f128fa 75f2ba8 Author: Linus Torvalds Date: Fri Sep 18 09:22:36 2009 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (55 commits) regulator: Voltage count for AB3100 mfd: Convert WM8350 to use request_threaded_irq() mfd: Update MAINTAINERS patterns for WM831x mfd: Fix twl4030-power warnings regulator: AB3100 support rtc: AB3100 RTC support mfd: Fix ab3100-otp build failure mfd: OMAP: Board-specifc twl4030 DPS scripts for RX51 board mfd: Print warning for twl4030 out-of-order script loading mfd: Add support for TWL4030/5030 dynamic power switching mfd: AB3100 OTP readout regulator: Add Freescale MC13783 driver mfd: Add Freescale MC13783 driver mfd: AB3100 disable irq nosync mfd: AB3100 alter default setting mfd: AB3100 propagate error mfd: AB3100 accessor function cleanups rtc: Add support for RTCs on Wolfson WM831x devices regulator: get pcap data from the parent device input: PCAP2 misc input driver ... commit 1358870deaf11a752a84fbd89201749aa62498e8 Author: Jan Kara Date: Fri Sep 18 12:22:29 2009 -0400 ext4: Update documentation about quota mount options Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 6f128fa344833bf8bf076a51d14401661c146470 Merge: 73c583e 85609c1 Author: Linus Torvalds Date: Fri Sep 18 09:20:37 2009 -0700 Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci * 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (62 commits) DaVinci: DM646x - platform changes for vpif capture and display drivers davinci: DM355 - platform changes for vpfe capture davinci: DM644x platform changes for vpfe capture davinci: audio: move tlv320aic33 i2c setup into board files DaVinci: EDMA: Adding 2 new APIs for allocating/freeing PARAMs DaVinci: DM365: Adding entries for DM365 IRQ's DaVinci: DM355: Adding PINMUX entries for DM355 Display davinci: Handle pinmux conflict between mmc/sd and nor flash davinci: Add NOR flash support for da850/omap-l138 davinci: Add NAND flash support for DA850/OMAP-L138 davinci: Add MMC/SD support for da850/omap-l138 davinci: Add platform support for da850/omap-l138 GLCD davinci: Macro to convert GPIO signal to GPIO pin number davinci: Audio support for DA850/OMAP-L138 EVM davinci: Audio support for DA830 EVM davinci: Correct the number of GPIO pins for da850/omap-l138 davinci: Configure MDIO pins for EMAC DaVinci: DM365: Add Support for new Revision of silicon DaVinci: DM365: Fix Compilation issue due to PINMUX entry DaVinci: EDMA: Updating default queue handling ... commit 73c583e4e2dd0fbbf2fafe0cc57ff75314fe72df Merge: 5ce0028 1f685b3 Author: Linus Torvalds Date: Fri Sep 18 09:19:26 2009 -0700 Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (47 commits) OMAP clock: use debugfs_remove_recursive() for rewinding OMAP2/3/4 core: create omap_device layer OMAP: omap_hwmod: call omap_hwmod init at boot; create interconnects OMAP2/3/4: create omap_hwmod layer OMAP2/3 board-*.c files: read bootloader configuration earlier OMAP2/3/4 PRCM: add module IDLEST wait code OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op layer OMAP3 clock: remove superfluous calls to omap2_init_clk_clkdm OMAP clock: associate MPU clocks with the mpu_clkdm OMAP3 clock: Fixed processing of bootarg 'mpurate' OMAP: SDRC: Add several new register definitions OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups. OMAP: PM: Added suspend target state control to debugfs for OMAP3 OMAP: PM debug: Add PRCM register dump support OMAP: PM debug: make powerdomains use PM-debug counters OMAP: PM: Add pm-debug counters OMAP: PM: Add closures to clkdm_for_each and pwrdm_for_each. OMAP: PM: Hook into PM counters OMAP: PM counter infrastructure. OMAP3: PM: fix lockdep warning caused by omap3_pm_init ... commit 5ce00289875a853280985aee671258795b77e089 Merge: 2511817 1329e3f Author: Linus Torvalds Date: Fri Sep 18 09:19:10 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: use kernel_sendpage dlm: fix connection close handling dlm: fix double-release of socket in error exit path commit 2511817cf9b1cf2506f47e20bb128e2da231c150 Merge: 714af06 56fcad2 Author: Linus Torvalds Date: Fri Sep 18 09:18:52 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: Flush disk caches on fsync when needed ext3: Add locking to ext3_do_update_inode ext3: Fix possible deadlock between ext3_truncate() and ext3_get_blocks() jbd: Annotate transaction start also for journal_restart() jbd: Journal block numbers can ever be only 32-bit use unsigned int for them ext3: Update MAINTAINERS for ext3 and JBD JBD: round commit timer up to avoid uncommitted transaction commit 714af0693863dfb6f075f4465053976d2d076a21 Merge: a03fdb7 f0adb13 Author: Linus Torvalds Date: Fri Sep 18 09:16:57 2009 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix NULL ptr regression in powernow-k8 [CPUFREQ] Create a blacklist for processors that should not load the acpi-cpufreq module. [CPUFREQ] Powernow-k8: Enable more than 2 low P-states [CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site) [CPUFREQ] ondemand - Use global sysfs dir for tuning settings [CPUFREQ] Introduce global, not per core: /sys/devices/system/cpu/cpufreq [CPUFREQ] Bail out of cpufreq_add_dev if the link for a managed CPU got created [CPUFREQ] Factor out policy setting from cpufreq_add_dev [CPUFREQ] Factor out interface creation from cpufreq_add_dev [CPUFREQ] Factor out symlink creation from cpufreq_add_dev [CPUFREQ] cleanup up -ENOMEM handling in cpufreq_add_dev [CPUFREQ] Reduce scope of cpu_sys_dev in cpufreq_add_dev [CPUFREQ] update Doc for cpuinfo_cur_freq and scaling_cur_freq commit a03fdb7612874834d6847107198712d18b5242c7 Merge: 202c467 12e0933 Author: Linus Torvalds Date: Fri Sep 18 09:15:24 2009 -0700 Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (34 commits) time: Prevent 32 bit overflow with set_normalized_timespec() clocksource: Delay clocksource down rating to late boot clocksource: clocksource_select must be called with mutex locked clocksource: Resolve cpu hotplug dead lock with TSC unstable, fix crash timers: Drop a function prototype clocksource: Resolve cpu hotplug dead lock with TSC unstable timer.c: Fix S/390 comments timekeeping: Fix invalid getboottime() value timekeeping: Fix up read_persistent_clock() breakage on sh timekeeping: Increase granularity of read_persistent_clock(), build fix time: Introduce CLOCK_REALTIME_COARSE x86: Do not unregister PIT clocksource on PIT oneshot setup/shutdown clocksource: Avoid clocksource watchdog circular locking dependency clocksource: Protect the watchdog rating changes with clocksource_mutex clocksource: Call clocksource_change_rating() outside of watchdog_lock timekeeping: Introduce read_boot_clock timekeeping: Increase granularity of read_persistent_clock() timekeeping: Update clocksource with stop_machine timekeeping: Add timekeeper read_clock helper functions timekeeping: Move NTP adjusted clock multiplier to struct timekeeper ... Fix trivial conflict due to MIPS lemote -> loongson renaming. commit 67e7328f1577230ef3a1430c1a7e5c07978c6e51 Author: NeilBrown Date: Wed Sep 9 16:32:54 2009 +1000 sunrpc/cache: use list_del_init for the list_head entries in cache_deferred_req Using list_del_init is generally safer than list_del, and it will allow us, in a subsequent patch, to see if an entry has already been processed or not. Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields commit 0c31cf3e4af79ea18bbd365b07ef0de207673894 Author: Chaithrika U S Date: Tue Sep 15 18:13:29 2009 -0400 ASoC: DaVinci: Fixes to McASP configuration McASP register settings are not correct for DSP mode of operation. There is a channel swap initally. This patch provides fixes to the register values for proper working. Tested on DA830/OMAP-L137 EVM, DM6467 EVM. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit ad80efc469f56d41f3f4adc1b2c86bf65689ebeb Author: Cliff Cai Date: Wed Sep 16 20:25:12 2009 -0400 ASoC: Blackfin I2S: fix resuming when device hasn't been used If the sound system hasn't been utilized yet and we suspend, then we attempt to save/restore using state that doesn't exist. So use a global handle instead to reconfigure properly. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 202c4675c55ddf6b443c7e057d2dff6b42ef71aa Author: Linus Torvalds Date: Fri Sep 18 07:05:58 2009 -0700 pty_write: don't do a tty_wakeup() when the buffers are full Commit ac89a9174 ("pty: don't limit the writes to 'pty_space()' inside 'pty_write()'") removed the pty_space() checking, in order to let the regular tty buffer code limit the buffering itself. That was all good, but as a subtle side effect it meant that we'd be doing a tty_wakeup() even in the case where the buffers were all filled up, and didn't actually make any progress on the write. Which sounds innocuous, but it interacts very badly with the ppp_async code, which has an infinite loop in ppp_async_push() that tries to push out data to the tty. When we call tty_wakeup(), that loop ends up thinking that progress was made (see the subtle interactions between XMIT_WAKEUP and 'tty_stuffed' for details). End result: one unhappy ppp user. Fixed by noticing when tty_insert_flip_string() didn't actually do anything, and then not doing any more processing (including, very much not calling tty_wakeup()). Bisected-and-tested-by: Peter Volkov Cc: stable@kernel.org (2.6.31) Signed-off-by: Linus Torvalds commit daf7b9c9216e2b82e4c14b7248a85286dab021c3 Author: Jack Steiner Date: Wed Sep 9 10:43:39 2009 -0500 x86: SGI UV: Map MMIO-High memory range UV depends on the MMRHI space being identity mapped. The patch: x86: Make 64-bit efi_ioremap use ioremap on MMIO regions changed this to make efi regions at a different address using ioremap. Add the identity mapping to uv_system_init. ( Note this code was previously present but was deleted when BIOS added the ranges to the EFI map - previous efi code identify mapped the ranges. ) Signed-off-by: Jack Steiner LKML-Reference: <20090909154339.GA7946@sgi.com> Signed-off-by: Ingo Molnar commit 8dc579e868addafd24c0a015c12f0e536b1084b1 Author: Jack Steiner Date: Thu Sep 10 09:31:49 2009 -0500 x86: SGI UV: Add volatile semantics to macros that access chipset registers Add volatile-semantics to the SGI UV read/write macros that are used to access chipset memory mapped registers. No direct references to volatile are made. Instead the readq/writeq macros are used. Signed-off-by: Jack Steiner Cc: linux-mm@kvack.org Cc: dwalker@fifo99.com Cc: cfriesen@nortel.com LKML-Reference: <20090910143149.GA14273@sgi.com> Signed-off-by: Ingo Molnar commit d2374aecda3f6c9b0d13287027132a37311da300 Author: Jack Steiner Date: Wed Sep 9 10:41:05 2009 -0500 x86: SGI UV: Fix IPI macros The UV BIOS has changed the way interrupt remapping is being done. This affects the id used for sending IPIs. The upper id bits no longer need to be masked off. Signed-off-by: Jack Steiner Cc: LKML-Reference: <20090909154104.GA25083@sgi.com> Signed-off-by: Ingo Molnar commit c2777f98c205148f1a0d4f9ac03b9cb20b39b2da Author: Daniel Walker Date: Sat Sep 12 10:40:20 2009 -0700 x86: apic: Convert BUG() to BUG_ON() This was done using Coccinelle's BUG_ON semantic patch. Signed-off-by: Daniel Walker Cc: Julia Lawall LKML-Reference: <1252777220-30796-1-git-send-email-dwalker@fifo99.com> Signed-off-by: Ingo Molnar commit 4153e584ee02ee59388a89879795fd3653a6b6da Author: Dave Airlie Date: Fri Sep 18 18:41:24 2009 +1000 drm/radeon/kms: more alignment for rv770.c with r600.c Signed-off-by: Dave Airlie commit e04ab958727a4b314df3e40036d72d9348835d0c Author: Wim Van Sebroeck Date: Wed Sep 2 09:10:07 2009 +0000 [WATCHDOG] sizeof cleanup Use sizeof(*) instead of sizeof * (See Codingstyle documentation). Signed-off-by: Wim Van Sebroeck commit d1833c21256e7b0ac3997493d31f0f3926f6d592 Author: Randy Dunlap Date: Fri Aug 7 15:02:00 2009 -0700 [WATCHDOG] wdt_pci: fix printk and variable type Fix printk format warning: drivers/watchdog/wdt_pci.c:652: warning: format '%04x' expects type 'unsigned int', but argument 2 has type 'resource_size_t' and then use resource_size_t for the "io" variable as well so that it won't be truncated. Signed-off-by: Randy Dunlap Signed-off-by: Wim Van Sebroeck commit 119d3e56e7c82a73d27b5dd010c52dab1bc9f846 Author: Wim Van Sebroeck Date: Thu Aug 6 18:57:49 2009 +0000 [WATCHDOG] wdt_pci - use pci_request_region Use pci_request_region instead of request_region for this pci_driver. Signed-off-by: Wim Van Sebroeck commit d7e9791bc1cbf635f13859216a825af5199a2061 Author: Wim Van Sebroeck Date: Mon Aug 31 13:49:14 2009 +0000 [WATCHDOG] ar7_wdt: Fix error handling during probe. Fix error handling in the probe function. Signed-off-by: Wim Van Sebroeck Tested-by: Florian Fainelli commit 64d4062a3813e4816f31e2f49fd42129411975f8 Author: Florian Fainelli Date: Tue Jul 21 12:11:32 2009 +0200 [WATCHDOG] ar7_wdt: convert to become a platform driver This patch converts the ar7_wdt driver to become a platform driver. The AR7 SoC specific identification and base register calculation is performed by the board code, therefore we no longer need to have access to ar7_chip_id. We also remove the reboot notifier code to use the platform shutdown method as Wim suggested. Signed-off-by: Florian Fainelli Signed-off-by: Wim Van Sebroeck commit dcfb748422d01245b6e89c94d85fcdb3c71a56a0 Author: Chris Friesen Date: Wed Aug 12 12:02:46 2009 -0600 [WATCHDOG] fix book E watchdog to take WDIOC_SETTIMEOUT arg in seconds The WDIOC_SETTIMEOUT argument is supposed to be a "seconds" value. However, the book E wdt currently treats it as a "period" which is interpreted in a board-specific way. This patch allows the user to pass in a "seconds" value and the driver will set the smallest timeout that is at least as large as specified by the user. It's been tested on e500 hardware and works as expected. The patch only modifies the CONFIG_FSL_BOOKE case, the CONFIG_4xx case is left unmodified as I don't have any hardware to test it on. Signed-off-by: Chris Friesen Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Wim Van Sebroeck commit 9fd868f440c3d722199a14200b2a64a0a5e70221 Author: Kevin Hilman Date: Tue Feb 10 20:30:37 2009 -0800 [WATCHDOG] davinci: use clock framework for timer frequency Remove use of CLOCK_TICK_RATE in favor of using clock framework for getting timer frequency. Signed-off-by: Kevin Hilman Signed-off-by: Russell King Signed-off-by: Wim Van Sebroeck commit 0ecc3bf47b09de24c6b1163ba6558448aadd31ce Author: Linus Walleij Date: Mon Aug 10 00:04:35 2009 +0200 [WATCHDOG] Use DIV_ROUND_UP() macro in the coh901327 WDT I saw Julia Lawalls various commits fixing up the use of rounding macros and since my already submitted patch was not caught in this I took it upon myself to fix it up for this driver as well. Signed-off-by: Linus Walleij Signed-off-by: Wim Van Sebroeck commit 502a0106b2cc31940f690dc6693fddfd3b97cab5 Author: Mark Brown Date: Mon Jul 27 14:46:12 2009 +0100 [WATCHDOG] Add support for WM831x watchdog The WM831x series of devices provide a watchdog with configurable behaviour on timer expiry. Currently this driver support refreshes via a register or GPIO line and autonomous refreshes from a hardware source (eg, a clock). Signed-off-by: Mark Brown Signed-off-by: Wim Van Sebroeck commit 0400e3134b03336617138f9ebf2cd0f117ceef20 Author: Wan ZongShun Date: Mon Aug 17 18:00:01 2009 +0800 [WATCHDOG] Add watchdog driver for NUC900 Add watchdog device driver for the Nuvoton NUC900 series SoCs. Signed-off-by: Wan ZongShun Signed-off-by: Wim Van Sebroeck commit 3a5f90002e9d08e5a6406fc650bfd838bf23bc1b Author: Denis Turischev Date: Tue Jul 21 13:13:29 2009 +0300 [WATCHDOG] add SBC-FITPC2 watchdog driver Add support for watchdog found on SBC-FITPC2 board. Signed-off-by: Denis Turischev Signed-off-by: Mike Rapoport Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 9052aa2458fc13788e468a010fa0ed9aa4020380 Author: Dave Airlie Date: Fri Sep 18 18:33:07 2009 +1000 drm/radeon/kms: rv770 blit init called too late. re-align with r600 code, to init blit earlier. Signed-off-by: Dave Airlie commit a2e7a7eb2fea109891ffff90f947e8306080a2a3 Author: Mike Galbraith Date: Fri Sep 18 09:19:25 2009 +0200 sched: Remove unneeded indentation in sched_fair.c::place_entity() Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: <1253258365.22787.33.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 4b77a7297795229eca96c41e1709a3c87909fabe Author: Mike Galbraith Date: Fri Sep 18 08:22:24 2009 +0200 perf sched: Add --input=file option to builtin-sched.c perf sched record passes unparsed args on to perf record, so specifying an output file via perf sched record -o FILE (cmd) just works. Ergo, provide an option to specify input file as well. Also add the missing 'map' command to help. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1253254944.20589.11.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit bc3eb7076b2b808f79abd4bd33b6a7feebb6f5d5 Author: Andi Kleen Date: Fri Sep 18 07:49:25 2009 +0200 x86: Remove final bits of CONFIG_X86_OLD_MCE Caught by Linus. Reported-by: Linus Torvalds Signed-off-by: Andi Kleen Cc: Hidetoshi Seto Cc: Huang Ying Cc: Bartlomiej Zolnierkiewicz Cc: Borislav Petkov [ fixed up context conflict manually. ] Signed-off-by: Ingo Molnar commit 88751dd6ce1fb0627c36c4ab08a40730e5a50d3e Author: Michael Hennerich Date: Thu Sep 17 22:39:38 2009 -0700 Input: add driver for ADP5588 QWERTY I2C Keypad Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit 38e783b38148531c0840ac130b97eb8158f84b48 Author: Joonyoung Shim Date: Thu Sep 17 22:35:45 2009 -0700 Input: add touchscreen driver for MELFAS MCS-5000 controller The MELPAS MCS-5000 is the touchscreen controller. The overview of this controller can see at the following website: http://www.melfas.com/product/product01.asp?k_r=eng_ This driver is tested on s3c6410 NCP board and supports only the i2c interface. Signed-off-by: Joonyoung Shim Signed-off-by: Dmitry Torokhov commit 422b552debae59b4bebc0ea5fbb9c809d3dfd057 Author: Javier Herrero Date: Wed Sep 16 01:06:42 2009 -0700 Input: add driver for OpenCores Keyboard Controller Driver for the keyboard hardware documented here: http://www.opencores.org/project,keyboardcontroller Signed-off-by: Javier Herrero Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit 3b0a9ce0a6918e881c3f44bf1fc2194a8d019104 Author: Dmitry Torokhov Date: Wed Sep 16 01:06:42 2009 -0700 Input: dm355evm_keys - remove dm355evm_keys_hardirq The genirq already provides default hard IRQ handler for threaded IRQs, no need to implement our own here. Signed-off-by: Dmitry Torokhov commit 30b37131aa63f4f73ebc48a026666448e5907255 Author: Dmitry Torokhov Date: Wed Sep 16 01:06:42 2009 -0700 Input: synaptics_i2c - switch to using __cancel_delayed_work() cancel_delayed_work() may spin and therefore should not be used in interrupt contexts. Acked-by: Mike Rapoport Signed-off-by: Dmitry Torokhov commit 36fb25277825b6ef6acd57091e6aaa6dc8a4c203 Author: Michael Hennerich Date: Wed Sep 16 01:06:42 2009 -0700 Input: ad7879 - add support for AD7889 The AD7889 is a new part but 100% software compatible with the AD7879, so add it to the id_table and help text. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit 9605fb48e1998935a5ee70c965f90ad1ac023add Author: Dmitry Torokhov Date: Wed Sep 16 01:06:43 2009 -0700 Input: atkbd - rely on input core to restore state on resume Now that input core takes care of restoring state of input devices upon resume we don't need to do anything special here. Signed-off-by: Dmitry Torokhov commit ffd0db97196c1057f09c2ab42dd5b30e94e511d9 Author: Dmitry Torokhov Date: Wed Sep 16 01:06:43 2009 -0700 Input: add generic suspend and resume for input devices Automatically turn off leds and sound effects as part of suspend process and restore led state, sounds and repeat rate at resume. Signed-off-by: Dmitry Torokhov commit 181d683d752c432635eda0f182ee71548c1f1820 Author: Dmitry Torokhov Date: Wed Sep 16 01:06:43 2009 -0700 Input: libps2 - additional locking for i8042 ports The serio ports on i8042 are not completely isolated; while we provide enough locking to ensure proper serialization when accessing control and data registers AUX and KBD ports can still have an effect on each other on PS/2 protocol level. The most prominent effect is that issuing a command for the device connected to one port may cause abort of the command currently executing by the device connected to another port. Since i8042 nor serio subsystem are not aware of the details of the PS/2 protocol (length of the commands and their replies and so on) the locking should be done on libps2 level by adding special handling when we see that we are dealing with serio port on i8042. Signed-off-by: Dmitry Torokhov commit fc30b8efbe1b271eb64e0d4f6cb2a91bb57ee5f3 Author: Dave Airlie Date: Fri Sep 18 15:19:37 2009 +1000 drm/radeon/kms: move around new init path code to avoid posting at init We really don't want to post the card at init, it takes a relatively long time and isn't required, so split the resume path into a startup path called by both init/resume and separate resume entry point to do posting. Signed-off-by: Dave Airlie commit bc1a631e5104317cc8b4ef7d14adc597f2844003 Author: Dave Airlie Date: Tue Sep 15 11:07:52 2009 +1000 drm/radeon/r600: fix some issues with suspend/resume. a) don't zero gart table on gart enable b) move pinning shader object into resume path c) unpin shader object on suspend d) set cp ready to false after cp shutdown on suspend. Signed-off-by: Dave Airlie commit 698443d9ec1a33eff65b27b9514e06998bf57eb3 Author: Dave Airlie Date: Fri Sep 18 14:16:38 2009 +1000 drm/radeon/kms: disable VGA rendering engine before taking over VRAM Before we use any of VRAM, we need to disable the VGA rendering engine, this render text mode into a graphical framebuffer for scanout, however it does this on vblank, and can end up overwriting the GART table and r600 shader objects. Signed-off-by: Dave Airlie commit 5e6dde7ec2e72f49ff749204efc03a59478d7d34 Author: Michel Dänzer Date: Thu Sep 17 09:42:28 2009 +0200 drm/radeon/kms: Move radeon_get_clock_info() call out of radeon_clocks_init(). Someone on IRC reported problems after commit 95a8f1bf4f48b434c9f839ab5a0773f66b39d7c6 ('drm/radeon/kms: Move radeon_clocks_init() call back after getting VRAM info.'). And indeed, at least some ASIC vram_info hooks use the clock info obtained by radeon_get_clock_info(). So, move that call out of radeon_clocks_init(), ahead of the radeon_vram_info() call. [airlied - fixup missing r600/rv770 calls] Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie drm/radeon/kms: fix get clock info calls for r600/rv770 init path. These were missed when it got split out. Signed-off-by: Dave Airlie commit 445282db9e815e7f5e82761c3c971dc9ea988d85 Author: Dave Airlie Date: Wed Sep 9 17:40:54 2009 +1000 drm/radeon/kms: add initial connector properties This adds: coherent mode: TMDS coherent mode for atom cards. scaling mode: LVDS scaler mode load detect: DAC load detection, DVI-I, VGA, TV tmds pll: legacy TMDS pll selection tv standard: TV standard selection. for later: other TV ones? dvi subconnector selection using std prop [contains fixes pointed out on dri-devel for atom bios mixups by Michel] Signed-off-by: Dave Airlie commit c88f9f0c91de55efaece6d9bd9ec920b90244776 Author: Michel Dänzer Date: Tue Sep 15 17:09:30 2009 +0200 drm/radeon/kms: Use surfaces for scanout / cursor byte swapping on big endian. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 733289c2656c556d5cf36eafa1c8ec77222c359f Author: Jerome Glisse Date: Wed Sep 16 15:24:21 2009 +0200 drm/radeon/kms: don't fail if we fail to init GPU acceleration Userspace can query if acceleration is working or not true get info ioctl and could fallback to software if for some reason kernel failed to initialize KMS. This should allow to give a working KMS setup in all case (even with non functionning accel). Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 7cbb355e947b3b426cefd9a3dc0dda3af9f9345a Author: Dave Airlie Date: Thu Sep 17 16:11:31 2009 +1000 drm/r600/kms: fixup number of loops per blit calculation. Some people were seeing *ERROR* radeon: writting more dword to ring than expected after certain blits, the loops calculation didn't take into account that we do a separate blit for the remainder after doing the aligned blits. Acked-by: Alex Deucher Signed-off-by: Dave Airlie commit 41456df2d45299c2eea5aaabafbaa2430ab9a124 Author: Dave Airlie Date: Wed Sep 16 10:15:21 2009 +1000 drm/radeon/kms: reprogram format in set base. This should in theory fix the problem with a mode set being required for adjusting the color depth. This also adds in the necessary bits to the format tables for 8-bit, though it doesn't work yet. Signed-off-by: Dave Airlie commit 20ab4425a77a1f34028cc6ce57053c22c184ba5f Author: Frederic Weisbecker Date: Fri Sep 18 06:10:28 2009 +0200 tracing: Allocate the ftrace event profile buffer dynamically Currently the trace event profile buffer is allocated in the stack. But this may be too much for the stack, as the events can have large statically defined field size and can also grow with dynamic arrays. Allocate two per cpu buffer for all profiled events. The first cpu buffer is used to host every non-nmi context traces. It is protected by disabling the interrupts while writing and committing the trace. The second buffer is reserved for nmi. So that there is no race between them and the first buffer. The whole write/commit section is rcu protected because we release these buffers while deactivating the last profiling trace event. v2: Move the buffers from trace_event to be global, as pointed by Steven Rostedt. v3: Fix the syscall events to handle the profiling buffer races by disabling interrupts, now that the buffers are globals. Suggested-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Li Zefan Cc: Jason Baron Cc: Masami Hiramatsu Cc: Ingo Molnar commit 65cb15a686cedab52abc336d7a400fe3a110ac4c Author: Dave Airlie Date: Fri Sep 18 14:31:48 2009 +1000 drm/radeon: avivo chips have no separate int bit for display display interrupts are not enabled via this register, the DISPLAY_INT bit is a status only to show that other regs need to be read. Noticed by Alex Deucher Signed-off-by: Dave Airlie commit b15591f3120309093fc6d3df26b4242187d7b384 Author: Alex Deucher Date: Thu Sep 17 14:25:12 2009 -0400 drm/radeon/r600: don't do interrupts Interrupts are not supported yet. This prevents things like mesa from trying to use them. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 812c369dbf3b5a726b52bbfb8adbc230f3f81bcf Author: Pekka Paalanen Date: Thu Sep 17 22:59:54 2009 +0300 drm: fix _DRM_GEM addmap error message Fix the error message: this is add, not rm. Move the closing brace to proper spot: _DRM_GEM branch should not be included in the block. Signed-off-by: Pekka Paalanen Signed-off-by: Dave Airlie commit 9b1596af17dc9bf38c304f69fb253d6cfa73d136 Author: Ben Skeggs Date: Fri Sep 18 10:43:52 2009 +1000 drm: update crtc x/y when only fb changes Signed-off-by: Ben Skeggs Signed-off-by: Dave Airlie commit e87b2c42b397ae64ac13a390011931f7ef222321 Author: Jesse Barnes Date: Thu Sep 17 18:14:41 2009 -0700 drm: fix drm_fb_helper handling of kernel crtcs The drm_fb_helper shouldn't mess with CRTCs that aren't enabled or in its initial config. Ideally it shouldn't even include CRTCs in its initial config if they're not in use, but my old fix for that no longer works. At any rate, this fixes a real bug I was seeing where after a console blank, both pipes would come back on, even though only one had been enabled before that. Since the other pipe had a bogus config, this led to some screen corruption. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit e5e25cf47b0bdd1f7e9b8bb6368ee48e16de0c87 Author: Frederic Weisbecker Date: Fri Sep 18 00:54:43 2009 +0200 tracing: Factorize the events profile accounting Factorize the events enabling accounting in a common tracing core helper. This reduces the size of the profile_enable() and profile_disable() callbacks for each trace events. Signed-off-by: Frederic Weisbecker Acked-by: Steven Rostedt Acked-by: Li Zefan Cc: Peter Zijlstra Cc: Jason Baron Cc: Masami Hiramatsu Cc: Ingo Molnar commit df58bee21ed218cb7dfb561a590b1bd2a99531cf Merge: dcbf77b e34e77c Author: Linus Torvalds Date: Thu Sep 17 21:07:08 2009 -0700 Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits) x86, mce: Fix compilation with !CONFIG_DEBUG_FS in mce-severity.c x86, mce: CE in last bank prevents panic by unknown MCE x86, mce: Fake panic support for MCE testing x86, mce: Move debugfs mce dir creating to mce.c x86, mce: Support specifying raise mode for software MCE injection x86, mce: Support specifying context for software mce injection x86, mce: fix reporting of Thermal Monitoring mechanism enabled x86, mce: remove never executed code x86, mce: add missing __cpuinit tags x86, mce: fix "mce" boot option handling for CONFIG_X86_NEW_MCE x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs x86: mce: Lower maximum number of banks to architecture limit x86: mce: macros to compute banks MSRs x86: mce: Move per bank data in a single datastructure x86: mce: Move code in mce.c x86: mce: Rename CONFIG_X86_NEW_MCE to CONFIG_X86_MCE x86: mce: Remove old i386 machine check code x86: mce: Update X86_MCE description in x86/Kconfig x86: mce: Make CONFIG_X86_ANCIENT_MCE dependent on CONFIG_X86_MCE x86, mce: use atomic_inc_return() instead of add by 1 ... Manually fixed up trivial conflicts: Documentation/feature-removal-schedule.txt arch/x86/kernel/cpu/mcheck/mce.c commit dcbf77b9e86e1726f5fbd01bb98820dac06d456e Merge: ca043a6 29cd8ba Author: Linus Torvalds Date: Thu Sep 17 21:00:02 2009 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (37 commits) sched: Fix SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL vs SD_WAKE_AFFINE sched: Stop buddies from hogging the system sched: Add new wakeup preemption mode: WAKEUP_RUNNING sched: Fix TASK_WAKING & loadaverage breakage sched: Disable wakeup balancing sched: Rename flags to wake_flags sched: Clean up the load_idx selection in select_task_rq_fair sched: Optimize cgroup vs wakeup a bit sched: x86: Name old_perf in a unique way sched: Implement a gentler fair-sleepers feature sched: Add SD_PREFER_LOCAL sched: Add a few SYNC hint knobs to play with sched: Fix sync wakeups again sched: Add WF_FORK sched: Rename sync arguments sched: Rename select_task_rq() argument sched: Feature to disable APERF/MPERF cpu_power x86: sched: Provide arch implementations using aperf/mperf x86: Add generic aperf/mperf code x86: Move APERF/MPERF into a X86_FEATURE ... Fix up trivial conflict in arch/x86/include/asm/processor.h due to nearby addition of amd_get_nb_id() declaration from the EDAC merge. commit ca043a66ae48c74fa628ec92178f7a54f5b9a106 Merge: 1218259 3bb045f Author: Linus Torvalds Date: Thu Sep 17 20:58: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, pat: don't use rb-tree based lookup in reserve_memtype() x86: Increase MIN_GAP to include randomized stack commit 1218259b2d09c79ed1113d3a6dbb9a1d6391f5cb Merge: ca9a702 0efb4d2 Author: Linus Torvalds Date: Thu Sep 17 20:56:37 2009 -0700 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (44 commits) vsnprintf: remove duplicate comment of vsnprintf softirq: add BLOCK_IOPOLL to softirq_to_name oprofile: fix oprofile regression: select RING_BUFFER_ALLOW_SWAP tracing: switch function prints from %pf to %ps vsprintf: add %ps that is the same as %pS but is like %pf tracing: Fix minor bugs for __unregister_ftrace_function_probe tracing: remove notrace from __kprobes annotation tracing: optimize global_trace_clock cachelines MAINTAINERS: Update tracing tree details ftrace: document function and function graph implementation tracing: make testing syscall events a separate configuration tracing: remove some unused macros ftrace: add compile-time check on F_printk() tracing: fix F_printk() typos tracing: have TRACE_EVENT macro use __flags to not shadow parameter tracing: add static to generated TRACE_EVENT functions ring-buffer: typecast cmpxchg to fix PowerPC warning tracing: add filter event logic to special, mmiotrace and boot tracers tracing: remove trace_event_types.h tracing: use the new trace_entries.h to create format files ... commit ca9a702e50287cf429f1c12832319a26a715e70b Merge: bbe5a96 d15d6e6 Author: Linus Torvalds Date: Thu Sep 17 20:54:49 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: Add pata_atp867x driver for Artop/Acard ATP867X controllers pata_amd: do not filter out valid modes in nv_mode_filter sata_promise: update reset code sata_promise: disable hotplug on 1st gen chips libata: fix spurious WARN_ON_ONCE() on port freeze ahci: restore pci_intx() handling commit bbe5a96f678efcad83de8f900ab4ab963a99c805 Merge: f205ce8 0a375d7 Author: Linus Torvalds Date: Thu Sep 17 20:54:12 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: sparc: Update defconfigs. sparc: Kill PROM console driver. commit f205ce83a766c08965ec78342f138cdc00631fba Merge: 3dc9566 b31c50a Author: Linus Torvalds Date: Thu Sep 17 20:53:52 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: (66 commits) be2net: fix some cmds to use mccq instead of mbox atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA pkt_sched: Fix qstats.qlen updating in dump_stats ipv6: Log the affected address when DAD failure occurs wl12xx: Fix print_mac() conversion. af_iucv: fix race when queueing skbs on the backlog queue af_iucv: do not call iucv_sock_kill() twice af_iucv: handle non-accepted sockets after resuming from suspend af_iucv: fix race in __iucv_sock_wait() iucv: use correct output register in iucv_query_maxconn() iucv: fix iucv_buffer_cpumask check when calling IUCV functions iucv: suspend/resume error msg for left over pathes wl12xx: switch to %pM to print the mac address b44: the poll handler b44_poll must not enable IRQ unconditionally ipv6: Ignore route option with ROUTER_PREF_INVALID bonding: make ab_arp select active slaves as other modes cfg80211: fix SME connect rc80211_minstrel: fix contention window calculation ssb/sdio: fix printk format warnings p54usb: add Zcomax XG-705A usbid ... commit 3dc95666df0e1ae5b7381a8ec97a583bb3ce4306 Merge: b938fb6 9b1fc55 Author: Linus Torvalds Date: Thu Sep 17 20:52:32 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: (51 commits) MIPS: BCM63xx: Add integrated ethernet mac support. MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs. MIPS: BCM63xx: Add Broadcom 63xx CPU definitions. MIPS: Octeon: Move some platform device registration to its own file. MIPS: Don't corrupt page tables on vmalloc fault. MIPS: Shrink the size of tlb handler MIPS: Alchemy: override loops_per_jiffy detection MIPS: hw_random: Add hardware RNG for Octeon SOCs. MIPS: Octeon: Add hardware RNG platform device. MIPS: Remove useless zero initializations. MIPS: Alchemy: get rid of allow_au1k_wait MIPS: Octeon: Set kernel_uses_llsc to false on non-SMP builds. MIPS: Allow kernel use of LL/SC to be separate from the presence of LL/SC. MIPS: Get rid of CONFIG_CPU_HAS_LLSC MIPS: Malta: Remove pointless use use of CONFIG_CPU_HAS_LLSC MIPS: Rewrite clearing of ll_bit on context switch in C MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. MIPS: Clean up linker script using new linker script macros. MIPS: Use PAGE_SIZE in assembly instead of _PAGE_SIZE. ... commit 1281a49b7aa865a1f0d60e2b28410e6234fc686b Author: Li Zefan Date: Thu Sep 17 16:49:43 2009 +0800 perf trace: Sample timestamp and cpu when using record flag Sample timestamp and cpu just like the -R option. Before: init-0 [-01] 1266874889.17179869184709551615: irq_handler_entry: irq=18 handler=eth0 init-0 [-01] 1266874889.17179869184709551615: irq_handler_entry: irq=18 handler=eth0 init-0 [-01] 1266874889.17179869184709551615: irq_handler_entry: irq=1 handler=i8042 init-0 [-01] 1266874889.17179869184709551615: irq_handler_entry: irq=18 handler=eth0 init-0 [-01] 1266874889.17179869184709551615: irq_handler_entry: irq=1 handler=i8042 After: init-0 [001] 7364.568965353: irq_handler_entry: irq=18 handler=eth0 init-0 [001] 7365.530226877: irq_handler_entry: irq=1 handler=i8042 init-0 [001] 7365.542831563: irq_handler_entry: irq=18 handler=eth0 init-0 [001] 7365.644156299: irq_handler_entry: irq=18 handler=eth0 init-0 [001] 7365.694556201: irq_handler_entry: irq=18 handler=eth0 Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: Peter Zijlstra LKML-Reference: <4AB1F827.8040905@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 270bbbe80d82fad8b698d0b407eb3ad67cc3492b Author: Li Zefan Date: Thu Sep 17 16:34:51 2009 +0800 perf tools: Increase MAX_EVENT_LENGTH The name length of some trace events is longer than 30, like sys_enter_sched_get_priority_max and ext4_mb_discard_preallocations. Passing those events to perf-record will fail, try: # ./perf record -f -e syscalls:sys_enter_sched_get_priority_max -F 1 -a Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: Peter Zijlstra LKML-Reference: <4AB1F4AB.7050205@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 6706ccf8e776e51e38ffa89fe7dd20e80eb1e860 Author: Li Zefan Date: Thu Sep 17 16:34:23 2009 +0800 perf tools: Fix memory leak in read_ftrace_printk() get_tracing_file() should be paired with put_tracing_file(). Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: Peter Zijlstra LKML-Reference: <4AB1F48F.4070807@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 16e3081191837a6a04733de5cd5d1d1b303140d4 Author: Paul E. McKenney Date: Sun Sep 13 09:15:11 2009 -0700 rcu: Fix synchronize_rcu() for TREE_PREEMPT_RCU The redirection of synchronize_sched() to synchronize_rcu() was appropriate for TREE_RCU, but not for TREE_PREEMPT_RCU. Fix this by creating an underlying synchronize_sched(). TREE_RCU then redirects synchronize_rcu() to synchronize_sched(), while TREE_PREEMPT_RCU has its own version of synchronize_rcu(). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <12528585111916-git-send-email-> Signed-off-by: Ingo Molnar commit c3422bea5f09b0e85704f51f2b01271630b8940b Author: Paul E. McKenney Date: Sun Sep 13 09:15:10 2009 -0700 rcu: Simplify rcu_read_unlock_special() quiescent-state accounting The earlier approach required two scheduling-clock ticks to note an preemptable-RCU quiescent state in the situation in which the scheduling-clock interrupt is unlucky enough to always interrupt an RCU read-side critical section. With this change, the quiescent state is instead noted by the outermost rcu_read_unlock() immediately following the first scheduling-clock tick, or, alternatively, by the first subsequent context switch. Therefore, this change also speeds up grace periods. Suggested-by: Josh Triplett Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <12528585111945-git-send-email-> Signed-off-by: Ingo Molnar commit b0e165c035b13e1074fa0b555318bd9cb7102558 Author: Paul E. McKenney Date: Sun Sep 13 09:15:09 2009 -0700 rcu: Add debug checks to TREE_PREEMPT_RCU for premature grace periods Check to make sure that there are no blocked tasks for the previous grace period while initializing for the next grace period, verify that rcu_preempt_qs() is given the correct CPU number and is never called for an offline CPU. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu LKML-Reference: <12528585111986-git-send-email-> Signed-off-by: Ingo Molnar commit bbe3eae8bb039b5ffd64a6e3d1a0deaa1f3cbae9 Author: Paul E. McKenney Date: Sun Sep 13 09:15:08 2009 -0700 rcu: Kconfig help needs to say that TREE_PREEMPT_RCU scales down To quote Valdis: This leaves somebody who has a laptop wondering which choice is best for a system with only one or two cores that has CONFIG_PREEMPT defined. One choice says it scales down nicely, the other explicitly has a 'depends on PREEMPT' attached to it... So add "scales down nicely" to TREE_PREEMPT_RCU to match that of TREE_RCU. Suggested-by: Valdis Kletnieks Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12528585112362-git-send-email-> Signed-off-by: Ingo Molnar commit b8d57a76d9f92aa63b4f12990da5697b17000b0c Author: Josh Triplett Date: Tue Sep 8 15:54:35 2009 -0700 rcutorture: Occasionally delay readers enough to make RCU force_quiescent_state rcutorture already delays readers, but never for long enough to make RCU force a quiescent state. Add an occasional delay of 50ms. Signed-off-by: Josh Triplett Signed-off-by: Paul E. McKenney Acked-by: Steven Rostedt Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org LKML-Reference: <12524504772607-git-send-email-> Signed-off-by: Ingo Molnar commit b835db1f9cadaf008750a32664e35a207782c95e Author: Paul E. McKenney Date: Tue Sep 8 15:54:37 2009 -0700 rcu: Initialize multi-level RCU grace periods holding locks Prior implementations initialized the root and any internal nodes without holding locks, then initialized the leaves holding locks. This is a false economy, as the leaf nodes will usually greatly outnumber the root and internal nodes. Acquiring locks on all nodes is conceptually much simpler as well. Signed-off-by: Paul E. McKenney Acked-by: Steven Rostedt Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org LKML-Reference: <12524504773190-git-send-email-> Signed-off-by: Ingo Molnar commit de078d875cc7fc709f7818f26d38389c04369826 Author: Paul E. McKenney Date: Tue Sep 8 15:54:36 2009 -0700 rcu: Need to update rnp->gpnum if preemptable RCU is to be reliable Without this patch, tasks preempted in RCU read-side critical sections can fail to block the grace period, given that rnp->gpnum is used to determine which rnp->blocked_tasks[] element the preempted task is enqueued on. Before the patch, rnp->gpnum is always zero, so preempted tasks are always enqueued on rnp->blocked_tasks[0], which is correct only when the current CPU has not checked into the current grace period and the grace-period number is even, or, similarly, if the current CPU -has- checked into the current grace period and the grace-period number is odd. Signed-off-by: Paul E. McKenney Acked-by: Steven Rostedt Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org LKML-Reference: <12524504771622-git-send-email-> Signed-off-by: Ingo Molnar commit 3bb045f1e2e51124200ef043256df4c7ad86bebd Merge: 8093833 dcb73bf Author: H. Peter Anvin Date: Thu Sep 17 14:40:19 2009 -0700 Merge branch 'x86/pat' into x86/urgent Merge reason: Suresh Siddha (1): x86, pat: don't use rb-tree based lookup in reserve_memtype() ... requires previous x86/pat commits already pushed to Linus. Signed-off-by: H. Peter Anvin commit dcb73bf402e0d5b28ce925dbbe4dab3b00b21eee Author: Suresh Siddha Date: Wed Sep 16 14:28:03 2009 -0700 x86, pat: don't use rb-tree based lookup in reserve_memtype() Recent enhancement of rb-tree based lookup exposed a bug with the lookup mechanism in the reserve_memtype() which ensures that there are no conflicting memtype requests for the memory range. memtype_rb_search() returns an entry which has a start address <= new start address. And from here we traverse the linear linked list to check if there any conflicts with the existing mappings. As the rbtree is based on the start address of the memory range, it is quite possible that we have several overlapped mappings whose start address is much less than new requested start but the end is >= new requested end. This results in conflicting memtype mappings. Same bug exists with the old code which uses cached_entry from where we traverse the linear linked list. But the new rb-tree code exposes this bug fairly easily. For now, don't use the memtype_rb_search() and always start the search from the head of linear linked list in reserve_memtype(). Linear linked list for most of the systems grow's to few 10's of entries(as we track memory type of RAM pages using struct page). So we should be ok for now. We still retain the rbtree and use it to speed up free_memtype() which doesn't have the same bug(as we know what exactly we are searching for in free_memtype). Also use list_for_each_entry_from() in free_memtype() so that we start the search from rb-tree lookup result. Reported-by: Markus Trippelsdorf Signed-off-by: Suresh Siddha Cc: Venkatesh Pallipadi LKML-Reference: <1253136483.4119.12.camel@sbs-t61.sc.intel.com> Signed-off-by: H. Peter Anvin commit d15d6e6cc340566d53d953ffdec2c9e96816fa52 Author: John(Jung-Ik) Lee Date: Mon Sep 14 21:32:33 2009 -0700 libata: Add pata_atp867x driver for Artop/Acard ATP867X controllers This is a new pata driver for ARTOP 867X 64bit 4-channel UDMA133 ATA ctrls. Based on the Atp867 data sheet rev 1.2, Acard, and in part on early ide codes from Eric Uhrhane . Signed-off-by: John(Jung-Ik) Lee Reviewed-by: Grant Grundler Reviewed-by: Gwendal Gringo Signed-off-by: Jeff Garzik commit 90950a2504b66d626a73f55ca949a2e79ff4b7c4 Author: Robert Hancock Date: Sat Sep 12 23:54:47 2009 -0600 pata_amd: do not filter out valid modes in nv_mode_filter On a Compaq Presario V3000 laptop (NVIDIA MCP51 chipset), pata_amd selects PIO0 mode for the PATA DVD-RAM drive instead of MWDMA2 which it supports: ata4.00: ATAPI: HL-DT-ST DVDRAM GSA-4084N, KQ09, max MWDMA2 ata4: nv_mode_filter: 0x39f&0x7001->0x1, BIOS=0x0 (0x0) ACPI=0x7001 (60:600:0x11) ata4.00: configured for PIO0 For some reason, the BIOS-set UDMA configuration returns 0 and the ACPI _GTM reports that UDMA2 and PIO0 are enabled. This causes nv_mode_filter to end up allowing only PIO0 and UDMA0-2. Since the drive doesn't support UDMA we end up using PIO0. Since the controllers should always support PIO4, MWDMA2 and UDMA2 regardless of what cable type is used, let's make sure we don't filter out these modes regardless of what wacky settings the BIOS is using. Signed-off-by: Robert Hancock Cc: stable@kernel.org Signed-off-by: Jeff Garzik commit ff7cddf59e3618d29e12b061651ab3f5a53f4a98 Author: Mikael Pettersson Date: Tue Sep 15 15:08:47 2009 +0200 sata_promise: update reset code sata_promise's reset code has deviated quite a bit from the Promise reference driver's, and it has been observed to fail to recover from errors in some cases. This patch thus updates the reset code to more closely match the reference driver: - soft reset (pdc_reset_port): * wait for ATA engine to not be in packet command mode (2nd gen only) * write reset bit in PDC_CTLSTAT before the first read in the loop * for 2nd gen SATA follow up with FPDMA reset and clearing error status registers - hard reset (pdc_sata_hardreset): * wait for ATA engine to not be in packet command mode (2nd gen only) * reset ATA engine via the PCI control register * Tejun's change to use non-waiting hardreset + follow-up SRST I'm not changing the hotplug mask bits since they are taken care of by sata_promise's ->freeze() and ->thaw() operations. And I'm not writing the PMP port # because that's always zero (for now). Tested here on various controllers. In particular, one disk which used to timeout and fail to recover from certain hdparm and smartmonctl commands now works nicely. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 0ae6654da437db4ae6333d232e718b570c7a3eac Author: Mikael Pettersson Date: Tue Sep 15 15:07:32 2009 +0200 sata_promise: disable hotplug on 1st gen chips 1st generation Promise SATA chips are prone to generating spurious hotplug events which can disrupt normal operation. This has been observed on 20376 and 20378 chips. This patch thus disables hotplug support on 1st gen chips while leaving it enabled for 2nd gen chips. The pdc_sata_hotplug_offset() function becomes redundant so it is removed. Tested on 1st gen 20376 and 20378 mainboard chips and on a 2nd gen SATA300 PCI card. Signed-off-by: Mikael Pettersson Tested-by: Kurt Roeckx Signed-off-by: Jeff Garzik commit 4dc738ed2adf28f62f46dd53ef700a51603777f7 Author: Tejun Heo Date: Thu Sep 17 18:45:27 2009 +0900 libata: fix spurious WARN_ON_ONCE() on port freeze Commit 54c38444fad6a99b4b19512f8f0055d69115e69e makes libata abort qcs after the port is frozen. This is necessary to guarantee that TF registers are accessed after the DMA engine is shutdown after an error. However, this triggers WARN_ON_ONCE() check in ata_qc_complete() spuriously. Move WARN_ON_ONCE() downwards such that failing commands while frozen doesn't trigger it. Signed-off-by: Tejun Heo Cc: stable Signed-off-by: Jeff Garzik commit 31b239ad1ba7225435e13f5afc47e48eb674c0cc Author: Tejun Heo Date: Thu Sep 17 00:34:39 2009 +0900 ahci: restore pci_intx() handling Commit a5bfc4714b3f01365aef89a92673f2ceb1ccf246 dropped explicit pci_intx() manipulation from ahci because it seemed unnecessary and ahci doesn't seem to be the right place to be tweaking it if it were. This was largely okay but there are exceptions. There was one on an embedded platform which was fixed via firmware and now bko#14124 reports it on a HP DL320. http://bugzilla.kernel.org/show_bug.cgi?id=14124 I still think this isn't something libata drivers should be caring about (the only ones which are calling pci_intx() explicitly are libata ones and one other driver) but for now reverting the change seems to be the right thing to do. Signed-off-by: Tejun Heo Reported-by: Thomas Jarosch Signed-off-by: Jeff Garzik commit b938fb6f491113880ebaabfa06c6446723c702fd Merge: de55a89 87bfa1d Author: Linus Torvalds Date: Thu Sep 17 13:21:52 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 MSI GX620 mixer ASoC: remove unused #include ASoC: S3C lrsync function made to work with IRQs disabled. ALSA: hda - Fix Dell S14 pin setup ALSA: hda - Fix IDT92HD83* codec setup ASoC: Fix display of stream name in DAPM debugfs ALSA: hda - Add support for HP dv6 ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecs ALSA: hda - Set default GPIO for IDT92HD71bxx ALSA: hda - Set default GPIO for STAC/IDT codecs ASoC: Clean up error handling in MPC5200 DMA setup ALSA: hda - Add missing model=auto entry for ALC269 commit 40749d0ff49f99c3661b336fe5e5625207bd925a Author: Ingo Molnar Date: Thu Sep 17 18:24:55 2009 +0200 perf sched: Determine the number of CPUs automatically For 'perf sched map' output, determine max_cpu automatically, instead of the static default of 15. [ v2: use sysconf() pointed out by Arjan van de Ven ] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 8b412664d0a487c2e16ac43f4fcede346df33254 Author: Peter Zijlstra Date: Thu Sep 17 19:59:05 2009 +0200 perf record: Disable profiling before draining the buffer I noticed that perf-record continues profiling itself after the child terminated and we're draining the buffer. This can cause a _lot_ of overhead with --all recording - we keep and keep recording, which produces new and new events. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 2667de81f3256c944b06abdf2c56c2f192fcb724 Author: Peter Zijlstra Date: Thu Sep 17 19:01:10 2009 +0200 perf_counter: Allow for a wakeup watermark Currently we wake the mmap() consumer once every PAGE_SIZE of data and/or once event wakeup_events when specified. For high speed sampling this results in too many wakeups wrt. the buffer size, hence change this. We move the default wakeup limit to 1/4-th the buffer size, and provide for means to manually specify this limit. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 850bc73ffcc99cddfb52bc23217c60810c508853 Author: Peter Zijlstra Date: Thu Sep 17 18:47:11 2009 +0200 perf_counter: Do not throttle single swcounter events We can have swcounter events that contribute more than a single count per event, when used with a non-zero period, those can generate multiple events, which is when we need throttling. However, swcounter that contribute only a single count per event can only come as fast as we can run code, hence don't throttle them. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0efb4d20723d58edbad29d1ff98a86b631adb5e6 Author: Steven Rostedt Date: Thu Sep 17 09:27:29 2009 -0400 vsnprintf: remove duplicate comment of vsnprintf Remove the duplicate comment of bstr_printf that is the same as the vsnprintf. Add the 's' option to the comment for the pointer function. This is more of an internal function so the little duplication of the comment here is OK. Reported-by: Zhaolei Cc: Linus Torvalds Signed-off-by: Steven Rostedt commit 5dd4de587fd9c25cb32a7a0fe9feec3647509b6f Author: Li Zefan Date: Thu Sep 17 17:38:32 2009 +0800 softirq: add BLOCK_IOPOLL to softirq_to_name With BLOCK_IOPOLL_SOFTIRQ added, softirq_to_name[] and show_softirq_name() needs to be updated. Signed-off-by: Li Zefan LKML-Reference: <4AB20398.8070209@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 9a5963eb494c8a7be65199e15854551df7d2d939 Author: Christian Borntraeger Date: Wed Sep 16 21:56:49 2009 +0200 oprofile: fix oprofile regression: select RING_BUFFER_ALLOW_SWAP commit 85bac32c4a52c592b857f2c360cc5ec93a097d70 ring-buffer: only enable ring_buffer_swap_cpu when needed broke oprofile (at least on s390, but likely on all platforms). this patch lets oprofile select RING_BUFER_ALLOW_SWAP to make ring_buffer_swap_cpu usable for oprofile. Signed-off-by: Christian Borntraeger LKML-Reference: <200909162156.49239.borntraeger@de.ibm.com> Cc: Ingo Molnar Cc: Robert Richter Signed-off-by: Steven Rostedt commit b375a11a239e9e1cac40c7f3ff28b343d9f7ac51 Author: Steven Rostedt Date: Thu Sep 17 00:05:58 2009 -0400 tracing: switch function prints from %pf to %ps For direct function pointers (like what mcount provides) PowerPC64 requires the use of %ps, otherwise nothing is printed. This patch converts all prints of functions retrieved through mcount to use the %ps format from the %pf. Signed-off-by: Steven Rostedt commit 91adcd2c4b104a8ce2973e6e84b01fd48735ffc6 Author: Steven Rostedt Date: Wed Sep 16 20:03:06 2009 -0400 vsprintf: add %ps that is the same as %pS but is like %pf On PowerPC64 function pointers do not point directly at the functions, but instead point to pointers to the functions. The output of %pF expects to point to a pointer to the function, whereas %pS will show the function itself. mcount returns the direct pointer to the function and not the pointer to the pointer. Thus %pS must be used to show this. The function tracer requires printing of the functions without offsets and uses the %pf instead. %pF produces run_local_timers+0x4/0x1f %pf produces just run_local_timers For PowerPC64, we need to use the direct pointer, and we only have %pS which will produce .run_local_timers+0x4/0x1f This patch creates a %ps that matches the %pf as %pS matches %pF. Cc: Linus Torvalds Cc: Zhao Lei Acked-by: Benjamin Herrenschmidt Signed-off-by: Steven Rostedt commit 87bfa1dbfb22aab2bb6c1085c1fe7d56cdd2f044 Merge: 673bca1 b99dba3 Author: Takashi Iwai Date: Thu Sep 17 21:08:56 2009 +0200 Merge branch 'fix/hda' into for-linus * fix/hda: ALSA: hda - Fix MSI GX620 mixer ALSA: hda - Fix Dell S14 pin setup ALSA: hda - Fix IDT92HD83* codec setup ALSA: hda - Add support for HP dv6 ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecs ALSA: hda - Set default GPIO for IDT92HD71bxx ALSA: hda - Set default GPIO for STAC/IDT codecs ALSA: hda - Add missing model=auto entry for ALC269 commit 673bca1906334972c2b54e7c7c002941329039cd Merge: 1110afb d4e54e8 Author: Takashi Iwai Date: Thu Sep 17 21:08:53 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: remove unused #include ASoC: S3C lrsync function made to work with IRQs disabled. ASoC: Fix display of stream name in DAPM debugfs ASoC: Clean up error handling in MPC5200 DMA setup commit 45bd00d31de886f8425b4dd33204b911b0a466a9 Merge: 40d9d82 ab86e57 Author: Ingo Molnar Date: Thu Sep 17 20:52:23 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: Pick up kernel/softirq.c update for dependent fix. Signed-off-by: Ingo Molnar commit 9b1fc55a05006523bced65f4d99f7072831ff56a Author: Maxime Bizon Date: Tue Aug 18 13:23:40 2009 +0100 MIPS: BCM63xx: Add integrated ethernet mac support. Signed-off-by: Maxime Bizon Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller Signed-off-by: Ralf Baechle commit e7300d04bd0809eb7ea10a2ed8c729459f816e36 Author: Maxime Bizon Date: Tue Aug 18 13:23:37 2009 +0100 MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs. Signed-off-by: Maxime Bizon Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 0de663ef8627f35fda9106a8faaca512f29e493e Author: Maxime Bizon Date: Tue Aug 18 13:23:37 2009 +0100 MIPS: BCM63xx: Add Broadcom 63xx CPU definitions. Todo: Nothing ever detects CPU_BCM6338 but the code tests for it anyway. Signed-off-by: Maxime Bizon Signed-off-by: Ralf Baechle commit 512254ba8383c5dd7eca6819d0da1ce2fe9ede47 Author: David Daney Date: Wed Sep 16 14:54:18 2009 -0700 MIPS: Octeon: Move some platform device registration to its own file. There is a bunch of platform device registration in arch/mips/cavium-octeon/setup.c. We move it to its own file in preparation for adding more platform devices. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 2ca2ebfd952d0338a0972c1f1f56b9b0c1a3b09c Author: David Daney Date: Wed Sep 2 15:47:34 2009 -0700 MIPS: Don't corrupt page tables on vmalloc fault. The code after the vmalloc_fault: label in do_page_fault() modifies user page tables, this is not correct for 64-bit kernels. For 64-bit kernels we should go straight to the no_context handler skipping vmalloc_fault. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit e0cc87f59490d7d62a8ab2a76498dc8a2b64927a Author: Wu Fei Date: Thu Sep 3 22:29:53 2009 +0800 MIPS: Shrink the size of tlb handler By combining swapper_pg_dir and module_pg_dir, several if conditions can be eliminated from the tlb exception handler. The reason they can be combined is that, the effective virtual address of vmalloc returned is at the bottom, and of module_alloc returned is at the top. It also fixes the bug in vmalloc(), which happens when its return address is not covered by the first pgd. Signed-off-by: Wu Fei Signed-off-by: Ralf Baechle commit a7bcb1ae6094db78b077ae17e92c69de7643014f Author: Manuel Lauss Date: Thu Aug 27 19:21:18 2009 +0200 MIPS: Alchemy: override loops_per_jiffy detection loops_per_jiffy depends on coreclk speed; preset it instead of letting the kernel waste precious microseconds trying to approximate it. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit f7557dc8215a2e7eb22da583d03e1aef72c58b3c Author: David Daney Date: Thu Aug 20 14:10:23 2009 -0700 MIPS: hw_random: Add hardware RNG for Octeon SOCs. Signed-off-by: David Daney Acked-by: Herbert Xu Signed-off-by: Ralf Baechle commit e26449153c386904d2801d6348d66d00e5ba2211 Author: David Daney Date: Thu Aug 20 14:10:22 2009 -0700 MIPS: Octeon: Add hardware RNG platform device. Add a platform device for the Octeon Random Number Generator (RNG). Signed-off-by: David Daney Acked-by: Herbert Xu Signed-off-by: Ralf Baechle commit 982f6ffeeed5ef6104cfd72e517ff9e7a9270fda Author: Ralf Baechle Date: Thu Sep 17 02:25:07 2009 +0200 MIPS: Remove useless zero initializations. Signed-off-by: Ralf Baechle commit 2882b0c63ac6085fd5c18959240b6f7d6ffb8d5b Author: Manuel Lauss Date: Sat Aug 22 18:09:27 2009 +0200 MIPS: Alchemy: get rid of allow_au1k_wait Eliminate the 'allow_au1k_wait' variable. MIPS kernel installs the Alchemy-specific wait code before timer initialization; if the C0 timer must be used for timekeeping the wait function is set to NULL which means no wait implementation is available. As a sideeffect, the 'wait instruction available' output in /proc/cpuinfo now correctly indicates whether 'wait' is usable. Run-tested on DB1200. Signed-off-by: Manuel Lauss Signed-off-by: Ralf Baechle commit 9d24bafb0d1ecf636f71a56f9d6f071f5c7a882d Author: David Daney Date: Mon Jul 13 11:15:20 2009 -0700 MIPS: Octeon: Set kernel_uses_llsc to false on non-SMP builds. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit b791d1193af9772040e592d5aa161790f800b762 Author: David Daney Date: Mon Jul 13 11:15:19 2009 -0700 MIPS: Allow kernel use of LL/SC to be separate from the presence of LL/SC. On some CPUs, it is more efficient to disable and enable interrupts in the kernel rather than use ll/sc for atomic operations. But if we were to set cpu_has_llsc to false, we would break the userspace futex interface (in asm/futex.h). We separate the two concepts, with a new predicate kernel_uses_llsc, that lets us disable the kernel's use of ll/sc while still allowing the futex code to use it. Also there were a couple of cases in bitops.h where we were using ll/sc unconditionally even if cpu_has_llsc were false. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit f7ade3c168e4f437c11f57be012992bbb0e3075c Author: Ralf Baechle Date: Thu Sep 17 02:25:06 2009 +0200 MIPS: Get rid of CONFIG_CPU_HAS_LLSC CONFIG_CPU_HAS_LLSC duplicated the function of cpu_has_llsc for no good reason and and the results if the one was enabled and the other disabled was very unobvious. Remove it now that there are no more remaining users. Signed-off-by: Ralf Baechle commit b8d6f78cd058e34ec706f7cb353fdb2eb743c050 Author: Ralf Baechle Date: Thu Sep 17 02:25:06 2009 +0200 MIPS: Malta: Remove pointless use use of CONFIG_CPU_HAS_LLSC All CPUs for Malta support LL/SC. Signed-off-by: Ralf Baechle commit 43e6ae6d9f08304682294c14c6b7f2b2441668e7 Author: Ralf Baechle Date: Thu Sep 17 02:25:05 2009 +0200 MIPS: Rewrite clearing of ll_bit on context switch in C This also means there is now only one implementation not 3 left. Signed-off-by: Ralf Baechle commit f1e39a4a616cd9981a9decfd5332fd07a01abb8b Author: Ralf Baechle Date: Thu Sep 17 02:25:05 2009 +0200 MIPS: Rewrite sysmips(MIPS_ATOMIC_SET, ...) in C with inline assembler This way it doesn't have to use CONFIG_CPU_HAS_LLSC anymore. Signed-off-by: Ralf Baechle commit f4c6b6bc5a4fc8d607f2d89369008c85a3a12a8b Author: Ralf Baechle Date: Thu Sep 17 02:25:05 2009 +0200 MIPS: Consolidate all CONFIG_CPU_HAS_LLSC use in a single C file. Signed-off-by: Ralf Baechle commit 6eb10bc9e2deab06630261cd05c4cb1e9a60e980 Author: Nelson Elhage Date: Fri Jul 31 16:58:19 2009 -0400 MIPS: Clean up linker script using new linker script macros. This patch results in fewer output sections and in some data being reordered, but should have no functional impact. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Signed-off-by: Ralf Baechle commit a0b54e256d513ed99e456bea6e4e188ff92e7c46 Author: Nelson Elhage Date: Fri Jul 31 16:58:18 2009 -0400 MIPS: Use PAGE_SIZE in assembly instead of _PAGE_SIZE. Now that PAGE_SIZE is available to assembly directly, there is no need to separately expose it as _PAGE_SIZE through asm-offsets. In addition, remove _PAGE_SHIFT from asm-offsets, since it was never needed, and is not used anywhere. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Signed-off-by: Ralf Baechle commit 24ffce18a4b6b5e9769200582c09df7ff044259f Author: Christoph Hellwig Date: Tue Aug 4 16:54:04 2009 +0200 MIPS: Convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Signed-off-by: Ralf Baechle commit d47fbb5996269f3081deb7a1b4ba717557256555 Author: Florian Fainelli Date: Wed Jul 15 12:09:34 2009 +0200 MIPS: AR7: Make board code register ar7_wdt as a platform device This patch makes the board code register the ar7_wdt driver as a platform device. We move the dynamic resource calculation here since the driver should not be aware of the AR7 SoC version it is running on. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 6f4c7b32e156ac67ae170554cfba0929272c7adf Author: Wu Zhangjin Date: Thu Jul 2 23:28:04 2009 +0800 MIPS: Loongson: Update the default config file for fuloong2e Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 3702bba5eb4f7a0c89107089af6fd9bc2966b65a Author: Wu Zhangjin Date: Thu Jul 2 23:27:41 2009 +0800 MIPS: Loongson: Add GCC 4.4 support for Loongson2E Because only gcc >=4.4 have loongson-specific support, we need to choose the suitable -march argument for gcc <= 4.3 and gcc >= 4.4, and here, we use -march=loongson2e for loongson2e. Thanks goes to Arnaud Patard for suggestion of using cc-options(Documentation/kbuild/makefiles.txt). and thanks Zhang Le for introducing the new CPU_LOONGSON2E kernel option. NOTE: -mtune option is not need if -march and -mtune use the same value. Signed-off-by: Zhang Le Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 3209e70e5ed1821be8d9b87fe9e8bd6cffa4b4c7 Author: Wu Zhangjin Date: Thu Jul 2 23:27:12 2009 +0800 MIPS: Loongson: Add a machtype kernel command line argument The difference between some loongson-based machines is very small, so, if there is no necessary to add new kernel config options to cope with this difference, it will be better to share the same kernel image file between them, benefit from this, the linux distribution developers only have a need to compile the kernel one time. This machtype kernel command line argument will be used later to share the same kernel image file between two different machines(menglong & yeeloong) made by lemote. Thanks very much to Zhang Le for cleaning up the machtype implementation. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 85749d24bcf90440b10394312e5b1c96d1a62cdb Author: Wu Zhangjin Date: Thu Jul 2 23:26:45 2009 +0800 MIPS: Loongson: Split common loongson source code out To share common loongson source code between all of the loongson-based machines. there is a need to split it out of the fuloong-2e/ directory. at the same time, other according tuning is needed. the machine-specific parts are defined as macros in relative header file, pci.h, mem.h, machine.h. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 8e4971175acc910eb4258df82a6bd8f2c4e4e5b5 Author: Wu Zhangjin Date: Thu Jul 2 23:26:08 2009 +0800 MIPS: Loongson: Change naming methods To make source code of loongson sharable to the machines(such as gdium) made by the other companies, we rename arch/mips/lemote to arch/mips/loongson, asm/mach-lemote to asm/mach-loongson, and rename lm2e to the name of the machine: fuloong-2e. accordingly, FULONG are renamed to FULOONG2E to make it distinguishable to the future FULOONG2F. and also, some other relative tuning is needed. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 67b35e5d01aba7a83f2161b0c90acb08afa01e3e Author: Wu Zhangjin Date: Thu Jul 2 23:25:46 2009 +0800 MIPS: Loongson: Add oprofile support This kernel support is needed by the user-space tool:oprofile to profile linux kernel or applications via loongson2 performance counters. you can enable this driver via CONFIG_OPROFILE = y or m. On Loongson2 there are two performance counters, each one can count 16 events respectively. when anyone of the performance counter overflows, an interrupt will be generated and is routed to the IRQ MIPS_CPU_IRQ_BASE + 6. Signed-off-by: Yanhua Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 92d1b63dbae0865bee5317ca6b65e0b304dc590d Author: Wu Zhangjin Date: Thu Jul 2 23:24:01 2009 +0800 MIPS: Loongson: RTC: Enable legacy RTC driver on fulong RTC_LIB is selected by MIPS by default, and therefore, the legacy RTC driver is disabled. but fortunately, RTC_LIB not works on fulong, so, enabling the legcy RTC driver is needed, otherwise, the tools like hwclock will not work. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit f7face03c66cea12159191ba8d2a9ee735da0b0d Author: Wu Zhangjin Date: Thu Jul 2 23:23:30 2009 +0800 MIPS: Loongson: PCI: Clean up pcimap setup Fixup the wrong original comment of pcimap, and make the source code more understandable. and also, some new extra consideration is added in. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 5e983ff654ca3df3007b5b558b5271bb4622afa4 Author: Wu Zhangjin Date: Thu Jul 2 23:23:03 2009 +0800 MIPS: Loongson: clean up the coding style With the help of script/checkpatch.pl, i have cleaned up the coding style. 1. remove un-needed header files and tune some comments. 2. remove some un-needed { } add a new header file loongson.h: 3. move some common header files to loongson.h 4. move some common extern declartions to loongson.h and this new header file is needed for future loongson2f support. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit bd92aa013e8fcd17328ec8e060477761cf3380d9 Author: Wu Zhangjin Date: Thu Jul 2 23:22:36 2009 +0800 MIPS: Loongson: Split the implementation of prom and setup parts This patch split the old initilization and setup implementation to several file, one file one logic function. the other main changes include: 1. as the script/checkpatch.pl suggests, use strict_strtol instead of simple_strtol in arch/mips/lemote/lm2e/cmdline.c 2. use the existed macros in asm/mips-boards/bonito64.h as the arguments of set_io_port_base() and remove the un-needed ones in asm/mach-lemote/pci.h Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit f54a40ee6b3cb4da638d7705e433bc80aa4f49f6 Author: Wu Zhangjin Date: Thu Jul 2 23:22:11 2009 +0800 MIPS: Loongson: PCI: use existing mips_io_port_base mips_io_port_base is initialized via set_io_port_base() in arch/mips/lemote/lm2e/setup.c, we can use it directly here. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit f256a5775a357e2527c7bbfb59c125c4c4c356ad Author: Wu Zhangjin Date: Thu Jul 2 23:21:27 2009 +0800 MIPS: Loongson: pm: clean up the reboot support Several magic numbers have been replaced by relative macros, which will be more readable and understandable. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 8f0de87fa97667fa05c7bc938396ec759f021a21 Author: Wu Zhangjin Date: Thu Jul 2 23:20:56 2009 +0800 MIPS: Loongson: pm: Remove redundant source code The implmentation of loongson2e_power_off and loongson2e_halt is almostly the same, just preserve one of them. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit f6a2740d0c1b3fd0d3cc8ec17e232f82f2d8b14c Author: Wu Zhangjin Date: Thu Jul 2 23:20:20 2009 +0800 MIPS: Loongson: Add new early_printk implmentation This patch is based on the implementation in the lm2e-fixes branch of Philippe's git://git.linux-cisco.org/linux-mips.git and the malta-specific early_printk implementation. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit 95ff7c955376d5bd52f044f445ea04eab4fb0f9a Author: Wu Zhangjin Date: Thu Jul 2 23:19:33 2009 +0800 MIPS: Loongson: Remove out-of-date board-specific kgdb source code Since the re-implementation of kgdb by commit 8854700115ecf8aa6f087aa915b7b6cf18090d39 the platform-specific version has become superfluous, remove it. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit efc49ef556b135739386c64fd5c2ecd99b300446 Author: Wu Zhangjin Date: Thu Jul 2 23:18:09 2009 +0800 MIPS: Loongson: Remove existing early_printk implementation Removes the existing implementation of early_printk for fulong. The old implementation was based on the outdated board-specific dbg_io.c. Since commit 8d60a903d986ffa26c41f0092320a3b9da20bfaf dbg_io.c is not longer needed; it will be removed by the next patch, and a new implementation of early_printk will be added later. Signed-off-by: Wu Zhangjin Signed-off-by: Ralf Baechle commit eb42306b7a45703815e898a4742507c08ca01860 Author: Ralf Baechle Date: Tue Sep 15 23:04:59 2009 +0200 MIPS: IP22, IP28: Build with -Werror Signed-off-by: Ralf Baechle commit 03bf6ad9d8b4d2f490fe08812e2c8a461219c91c Author: Ralf Baechle Date: Tue Sep 15 22:58:23 2009 +0200 MIPS: FW: Build with -Werror Signed-off-by: Ralf Baechle commit 38c9fb743f0d6e9dd8ee45e3e6247bc7d147c4de Author: Ralf Baechle Date: Tue Sep 15 15:00:02 2009 +0200 MIPS: Fulong: Convert reset initialization to initcall. Signed-off-by: Ralf Baechle commit 1f320d053c666567a8e440ebcec4ed7f7006b006 Author: Ralf Baechle Date: Tue Sep 15 14:50:39 2009 +0200 MIPS: Malta: Convert reset initialization to initcall. Signed-off-by: Ralf Baechle commit 7e17615c45980fc34d3f7d04bc7063cfc32180ec Author: Ralf Baechle Date: Tue Sep 15 13:36:13 2009 +0200 MIPS: Get rid of duplicate cpu_idle() prototype. Since 2.6.11-rc1 there is a prototype in . Signed-off-by: Ralf Baechle commit 70ebadc8e30efef3bf21ba94b3571537de8bcf4e Author: Julia Lawall Date: Sun Sep 13 21:15:18 2009 +0200 MIPS: TXx9: Fix error handling. Error handling code following a kzalloc should free the allocated data. Error handling code following an ioremap should iounmap the allocated data. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @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) // Signed-off-by: Julia Lawall Signed-off-by: Ralf Baechle commit 13680ade4e57090a8ccad332e84e1f3d48b67125 Author: Atsushi Nemoto Date: Fri Sep 4 22:09:04 2009 +0900 MIPS: TXx9: Disable PM capability of TX493[89] internal ether Some TC35815 variants (i.e. TX493[89] internal ether) report existance of PM registers though they are not supported. Disable PM features by clearing pdev->pm_cap. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 99502d94c3649c5c5e6e81e323caf422a2f1591c Author: Nelson Elhage Date: Fri Jul 31 16:58:17 2009 -0400 MIPS: make page.h constants available to assembly. page.h includes ifndef __ASSEMBLY__ guards, but PAGE_SIZE and some other constants are defined using "1UL", which the assembler does not support. Use the _AC macro from const.h to make them available to assembly (and linker scripts). Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Signed-off-by: Ralf Baechle commit 75f453164178a1749297fc466300bf3e34ef8103 Author: Manuel Lauss Date: Fri Aug 28 11:26:58 2009 +0200 MIPS: Alchemy: add gpio_request/gpio_free stubs for CONFIG_GPIOLIB=n Some drivers use gpio_request/gpio_free regardless of whether gpiolib is actually built; add stubs to work around the ensuing compile failures. Signed-off-by: Manuel Lauss Tested-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 6de4c6f9c8ead69d2f423ea80a384ef98bb4b3f8 Author: Alexey Dobriyan Date: Wed Aug 12 23:59:27 2009 +0400 MIPS: Lasat: Fix compilation Header needed for current_cpu_data which expands to smp_processor_id(). However, linux/smp.h can't be included into asm/cpu-info.h due to horrible circular dependencies, so plug it here. Signed-off-by: Alexey Dobriyan Signed-off-by: Ralf Baechle commit 2608441164fde82b7fc0dd050ca0c46be0df23f8 Author: David Daney Date: Thu Aug 20 12:35:53 2009 -0700 MIPS: Octeon: Check all CCAs in cvmx_write_csr. The current code only checks CCA of 0 when deciding if a dummy read is needed. Since the kernel can (and does) use other CCAs we need to mask out the CCA bits from the address. Since the address constant now fits in 16 bits, there is an added benefit that smaller code is generated. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit fff9c815291d5f4132976ac337337ea5813663e6 Author: Roel Kluin Date: Wed Aug 26 14:48:35 2009 +0200 MIPS: Octeon: False positive timeout If we reach the test just below the loop with a `timeout' value of 0, this does not mean that the timeout caused the loop to end, but rather the `smi_rd.s.pending', in the last iteration. If timeout caused the loop to end, then `timeout' is -1, not 0. Since this can occur only in the last iteration, it is not very likely to be a problem. By changing the post- to prefix decrement we ensure that a timeout of 0 does mean it timed out. Signed-off-by: Roel Kluin Acked-by: David Daney Signed-off-by: Ralf Baechle commit e3bf887d73309808d47c74f2f024d2497c8f7048 Author: Ralf Baechle Date: Fri Aug 28 12:29:58 2009 +0100 MIPS: Fix potencial build error in will break if HZ isn't defined. In 2.6.26 and later we're usually lucky ... Signed-off-by: Ralf Baechle commit b31c50a7f9e93a61d14740dedcbbf2c376998bc7 Author: Sathya Perla Date: Thu Sep 17 10:30:13 2009 -0700 be2net: fix some cmds to use mccq instead of mbox All cmds issued to BE after the creation of mccq must now use the mcc-q (and not mbox) to avoid a hw issue that results in mbox poll timeout. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 03f18991614cba1fa5be5dcd1a79b0e30ac44c50 Author: Jie Yang Date: Thu Sep 17 10:27:28 2009 -0700 atl1e: fix 2.6.31-git4 -- ATL1E 0000:03:00.0: DMA-API: device driver frees DMA use the wrong API when free dma. So when map dma use a flag to demostrate whether it is 'pci_map_single' or 'pci_map_page'. When free the dma, check the flags to select the right APIs('pci_unmap_single' or 'pci_unmap_page'). set the flags type to u16 instead of unsigned long on David's comments. Signed-off-by: Jie Yang Signed-off-by: David S. Miller commit a19d2158439d6fba8160d7d2446f233f525f09e7 Author: Jarek Poplawski Date: Thu Sep 17 10:26:07 2009 -0700 pkt_sched: Fix qstats.qlen updating in dump_stats Some classful qdiscs miss qstats.qlen updating with q.qlen of their child qdiscs in dump_stats methods. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 0522fea6505f7b03a82787acdc6ad3066d9b4de3 Author: Jens Rosenboom Date: Thu Sep 17 10:24:24 2009 -0700 ipv6: Log the affected address when DAD failure occurs If an interface has multiple addresses, the current message for DAD failure isn't really helpful, so this patch adds the address itself to the printk. Signed-off-by: Jens Rosenboom Signed-off-by: David S. Miller commit 3264690b04ce4edc517fa5d31fa72496f71a7321 Author: David S. Miller Date: Thu Sep 17 10:18:30 2009 -0700 wl12xx: Fix print_mac() conversion. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: David S. Miller commit de55a8958f6e3ef5ce5f0971b80bd44bfcac7cf1 Merge: 79b520e 0672453 Author: Linus Torvalds Date: Thu Sep 17 09:55:52 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: check NB MCE bank enable on the current node properly amd64_edac: Rewrite unganged mode code of f10_early_channel_count amd64_edac: cleanup amd64_check_ecc_enabled x86, EDAC: Provide function to return NodeId of a CPU amd64_edac: build driver only on AMD hardware commit 79b520e87e1214cfa107bdc8528b5d6c055a8b82 Merge: abf5940 fdec29c Author: Linus Torvalds Date: Thu Sep 17 09:54:37 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: (39 commits) xfs: includecheck fix for fs/xfs/xfs_iops.c xfs: switch to seq_file xfs: Record new maintainer information xfs: use correct log reservation when handling ENOSPC in xfs_create xfs: xfs_showargs() reports group *and* project quotas enabled xfs: un-static xfs_inobt_lookup xfs: actually enable the swapext compat handler xfs: simplify xfs_trans_iget xfs: merge fsync and O_SYNC handling xfs: speed up free inode search xfs: rationalize xfs_inobt_lookup* xfs: untangle xfs_dialloc xfs: factor out debug checks from xfs_dialloc and xfs_difree xfs: improve xfs_inobt_update prototype xfs: improve xfs_inobt_get_rec prototype xfs: factor out inode initialisation fs/xfs: Correct redundant test xfs: remove XFS_INO64_OFFSET un-static xfs_read_agf xfs: add more statics & drop some unused functions ... commit abf5940dad78dde95edd7f6ba6e329cd10a92a5c Merge: 66bc4a6 5bf9cbe Author: Linus Torvalds Date: Thu Sep 17 09:53:04 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: (75 commits) Blackfin: update ftrace for latest toolchain Blackfin: fix elf_fpregset_t definition Blackfin: unify cache init functions Blackfin: swap clocksource ratings for gptimer/cycles Blackfin: update ftrace_push_return_trace() breakage Blackfin: update cm board resources Blackfin: cm-bf537u: split board from cm-bf537e Blackfin: bf538-ezkit: add SPI IRQ resources Blackfin: increase default async timings for parallel flashes Blackfin: add ICPLB coverage for async banks Blackfin: use KERN_ALERT in all kgdb_test output Blackfin: fix BF54x SPI CS resources Blackfin: fix typo in isram_write() Blackfin: bf537-stamp: add adp5588 gpio resources Blackfin: add some isram-driver self tests Blackfin: workaround anomaly 05000283 Blackfin: fix spelling in a few comments Blackfin: use raw_smp_processor_id() in exception code Blackfin: remove useless duplicated assignment in gpio code Blackfin: Fix link errors with binutils 2.19 and GCC 4.3 ... commit 66bc4a6f34a950c7aede597c578352c3eba82017 Merge: 96c015b 2985709 Author: Linus Torvalds Date: Thu Sep 17 09:52:43 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (53 commits) m68knommu: Make PAGE_SIZE available to assembly files. m68knommu: fix ColdFire definition of CLOCK_TICK_RATE m68knommu: set multi-function pins for ethernet when enabled m68knommu: remove special interrupt handling code for ne2k support m68knommu: relax IO_SPACE_LIMIT setting m68knommu: remove ColdFire direct interrupt register access m68knommu: create a speciailized ColdFire 5272 interrupt controller m68knommu: add support for second interrupt controller of ColdFire 5249 m68knommu: clean up old ColdFire timer irq setup m68knommu: map ColdFire interrupts to correct masking bits m68knommu: clean up ColdFire 532x CPU timer setup m68knommu: simplify ColdFire "timers" clock initialization m68knommu: support code to mask external interrupts on old ColdFire CPU's m68knommu: merge old ColdFire interrupt controller masking macros m68knommu: remove duplicate ColdFire mcf_autovector() code m68knommu: move ColdFire INTC definitions to new include file m68knommu: mask off all interrupts in ColdFire intc-simr controller m68knommu: remove timer device interrupt setup for ColdFire 532x m68knommu: remove interrupt masking from ColdFire pit timer m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup ... commit 96c015b75feaaa67c8744229937bd9c35919d16b Merge: 3aee060 5cfaf33 Author: Linus Torvalds Date: Thu Sep 17 09:47:35 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: (lm85) Don't bind to Winbond/Nuvoton WPCD377I hwmon: (pcf8591) Documentation clean-ups hwmon: Clearly mark ACPI drivers as such hwmon: Use resource_size hwmon: Include instead of hwmon: (tmp421) Add documentation hwmon: Add driver for Texas Instruments TMP421/422/423 sensor chips hwmon-vid: Ignore 6th VID pin of AMD family 0Fh processors hwmon: (asus_atk0110) Add maintainer information hwmon: (abituguru3) Support multiple DMI strings per chip ID commit 3aee0605a41399063c0ad396f1f4267108f210d3 Merge: f4c3f03 0396c21 Author: Linus Torvalds Date: Thu Sep 17 09:44:09 2009 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: uwb: avoid radio controller reset loops uwb: stop uwbd thread if rc->start() fails uwb: handle radio controller events with out-of-range IDs correctly commit b99dba34dc9ec007a0c8be98c0333dd37463d2fd Author: Takashi Iwai Date: Thu Sep 17 18:23:00 2009 +0200 ALSA: hda - Fix MSI GX620 mixer The headphone and speaker mixer elements aren't properly set for MSI GX620 with targa-8ch-dig quirk. Also fixed the speaker volume control for other ALC883-targa quirks, too. Signed-off-by: Takashi Iwai commit 0a80e9867db154966b2a771042e10452ac110e1e Author: Eric Sandeen Date: Thu Sep 17 11:55:58 2009 -0400 ext4: replace MAX_DEFRAG_SIZE with EXT_MAX_BLOCK There's no reason to redefine the maximum allowable offset in an extent-based file just for defrag; EXT_MAX_BLOCK already does this. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit c0826574ddc0df486ecfc2d655e08904c6513209 Author: Stephen Rothwell Date: Thu Sep 17 17:03:06 2009 +1000 nfsd: return success for non-NFS4 nfs4_state_start Today's linux-next build (sparc64_defconfig) failed like this: In file included from arch/sparc/kernel/sys_sparc32.c:32: include/linux/nfsd/nfsd.h: In function 'nfs4_state_start': include/linux/nfsd/nfsd.h:177: error: no return statement in function returning non-void Caused by commit 29ab23cc5d351658d01a4327d55e9106a73fd04f ("nfsd4: allow nfs4 state startup to fail"). Please, if you add code that depends on a CONFIG option, build with that option enabled and disabled. Signed-off-by: Stephen Rothwell Signed-off-by: J. Bruce Fields commit 75f2ba8f0006440e720e47ae14c917e07c452d72 Author: Linus Walleij Date: Thu Sep 17 09:17:33 2009 +0200 regulator: Voltage count for AB3100 This sets the number of voltages for the AB3100 regulators so that they play well with the voltage listing functions and can be used properly with the MMC regulator integration glue for example. Signed-off-by: Linus Walleij Signed-off-by: Samuel Ortiz commit 37bce07077b0c335d8747f1ddb27ad585434a47e Author: Mark Brown Date: Wed Sep 16 19:07:32 2009 +0100 mfd: Convert WM8350 to use request_threaded_irq() Instead of hand rolling our own variant. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 3860e6c4b93d6a1c2428f0f45c77e083197da2d4 Author: Mark Brown Date: Wed Sep 9 14:46:43 2009 +0100 mfd: Update MAINTAINERS patterns for WM831x The WM831x PMICs added a backlight driver and a new include directory. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit a2d693cf650f000ea22351484ee66cf4c2651eef Author: Alessandro Guido Date: Thu Sep 17 15:42:57 2009 +0200 HID: Remove duplicate Kconfig entry Signed-off-by: Alessandro Guido Signed-off-by: Jiri Kosina commit 5534fb5bb35a62a94e0bd1fa2421f7fb6e894f10 Author: Theodore Ts'o Date: Thu Sep 17 09:34:16 2009 -0400 ext4: Fix the alloc on close after a truncate hueristic In an attempt to avoid doing an unneeded flush after opening a (previously non-existent) file with O_CREAT|O_TRUNC, the code only triggered the hueristic if ei->disksize was non-zero. Turns out that the VFS doesn't call ->truncate() if the file doesn't exist, and ei->disksize is always zero even if the file previously existed. So remove the test, since it isn't necessary and in fact disabled the hueristic. Thanks to Clemens Eisserer that he was seeing problems with files written using kwrite and eclipse after sudden crashes caused by a buggy Intel video driver. Signed-off-by: "Theodore Ts'o" commit c4c259bcc27c4242b012106afdba183622b1735f Author: Jiri Kosina Date: Tue Sep 15 16:27:45 2009 +0200 HID: consolidate connect and disconnect into core code HID core registers input, hidraw and hiddev devices, but leaves unregistering it up to the individual driver, which is not really nice. Let's move all the logic to the core. Reported-by: Marcel Holtmann Reported-by: Brian Rogers Acked-by: Marcel Holtmann Signed-off-by: Jiri Kosina commit e055f7e873d900925c222cf2d1ec955af4a9ca90 Author: Artem Bityutskiy Date: Thu Sep 17 15:08:31 2009 +0300 UBIFS: fix debugging dump In 'dbg_check_space_info()' we want to dump current lprops statistics, but actually dump old statistics. Fix this. Signed-off-by: Artem Bityutskiy commit fab19bae0c2951ed8bc517a53848b027fead293d Author: Barry Song Date: Wed Sep 16 20:25:11 2009 -0400 ASoC: Blackfin I2S: add lost platform_device parameter to resume function Commit dc7d7b830ee1 trimmed the platform_device parameter from all of the suspend functions, but it also accidentally removed it from the resume function in the Blackfin I2S driver. So restore it. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 7d156a25bd3e8e6ff74faf02faecb5fc5fb4839e Author: Barry Song Date: Wed Sep 16 20:25:10 2009 -0400 ASoC: fix typos in Blackfin headers Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit d75150d7c49db42021b8f966d2cbdc215a530208 Author: Mike Frysinger Date: Wed Sep 16 20:25:09 2009 -0400 ASoC: bf5xx-sport: the irq save/restore funcs take an unsigned long Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 79dfc9687661c13ef95eb4c2226f3db4ccab52c9 Author: Cliff Cai Date: Wed Sep 16 20:25:08 2009 -0400 ASoC: Blackfin AC97: add a few missing multichannel define handling Somewhere along the line, most of SND_BF5XX_MULTICHAN_SUPPORT handling was merged, but two places were missed (the probe/resume functions). Restore handling of this option so it gets initialized properly. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 29cd8bae396583a2ee9a3340db8c5102acf9f6fd Author: Peter Zijlstra Date: Thu Sep 17 09:01:14 2009 +0200 sched: Fix SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL vs SD_WAKE_AFFINE The SD_POWERSAVING_BALANCE|SD_PREFER_LOCAL code can break out of the domain iteration early, making us miss the SD_WAKE_AFFINE bits. Fix this by continuing iteration until there is no need for a larger domain. This also cleans up the cgroup stuff a bit, but not having two update_shares() invocations. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit de69a80be32445b0a71e8e3b757e584d7beb90f7 Author: Peter Zijlstra Date: Thu Sep 17 09:01:20 2009 +0200 sched: Stop buddies from hogging the system Clear buddies more agressively. The (theoretical, haven't actually observed any of this) problem is that when we do not select either buddy in pick_next_entity() because they are too far ahead of the left-most task, we do not clear the buddies. This means that as soon as we service the left-most task, these same buddies will be tried again on the next schedule. Now if the left-most task was a pure hog, it wouldn't have done any wakeups and it wouldn't have set buddies of its own. That leads to the old buddies dominating, which would lead to bad latencies. Signed-off-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit ad4b78bbcbab66998b05d422ac6106b645796e54 Author: Peter Zijlstra Date: Wed Sep 16 12:31:31 2009 +0200 sched: Add new wakeup preemption mode: WAKEUP_RUNNING Create a new wakeup preemption mode, preempt towards tasks that run shorter on avg. It sets next buddy to be sure we actually run the task we preempted for. Test results: root@twins:~# while :; do :; done & [1] 6537 root@twins:~# while :; do :; done & [2] 6538 root@twins:~# while :; do :; done & [3] 6539 root@twins:~# while :; do :; done & [4] 6540 root@twins:/home/peter# ./latt -c4 sleep 4 Entries: 48 (clients=4) Averages: ------------------------------ Max 4750 usec Avg 497 usec Stdev 737 usec root@twins:/home/peter# echo WAKEUP_RUNNING > /debug/sched_features root@twins:/home/peter# ./latt -c4 sleep 4 Entries: 48 (clients=4) Averages: ------------------------------ Max 14 usec Avg 5 usec Stdev 3 usec Disabled by default - needs more testing. Signed-off-by: Peter Zijlstra Acked-by: Mike Galbraith Signed-off-by: Ingo Molnar LKML-Reference: commit eb24073bc1fe3e569a855cf38d529fb650c35524 Author: Ingo Molnar Date: Wed Sep 16 21:09:13 2009 +0200 sched: Fix TASK_WAKING & loadaverage breakage Fix this: top - 21:54:00 up 2:59, 1 user, load average: 432512.33, 426421.74, 417432.74 Which happens because we now set TASK_WAKING before activate_task(). Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit c82693317e4a34b2b3ed4220c6fca3e99a75b045 Author: Samuel Ortiz Date: Tue Sep 15 13:06:02 2009 +0200 mfd: Fix twl4030-power warnings KEY_1 and KEY_2 definitions conflicts with include/linux/input.h Signed-off-by: Samuel Ortiz commit d619bc143e311a738113dbbe7792bd032403939f Author: Linus Walleij Date: Wed Sep 9 11:31:00 2009 +0200 regulator: AB3100 support This adds support for the regulators found in the AB3100 Mixed-Signal IC. It further also defines platform data for the ST-Ericsson U300 platform and extends the AB3100 MFD driver so that platform/board data with regulation constraints and an init function can be passed down all the way from the board to the regulators. Signed-off-by: Linus Walleij Acked-by: Mark Brown Signed-off-by: Liam Girdwood Signed-off-by: Samuel Ortiz commit bd207cfb0011389d55827b3f3181c60e8c3c7148 Author: Linus Walleij Date: Sun Aug 30 23:49:04 2009 +0200 rtc: AB3100 RTC support This adds support for the RTC found inside the AB3100 Mixed Signal chip. The symbols used for communicating with the chip is found in the mfd/ab3100-core.c driver that also provides the platform device. Signed-off-by: Linus Walleij Acked-by: Alessandro Zummo Signed-off-by: Samuel Ortiz commit 8aba721b23917bc6d374ad42bf80bde5058710e2 Author: Samuel Ortiz Date: Thu Aug 27 20:49:08 2009 +0200 mfd: Fix ab3100-otp build failure ab3100.h should include linux/workqueue.h for otp to build properly. Signed-off-by: Samuel Ortiz commit 9312fffbad5661a0ad52b5ca5a04875c763a35fa Author: Amit Kucheria Date: Thu Aug 27 20:27:57 2009 +0200 mfd: OMAP: Board-specifc twl4030 DPS scripts for RX51 board Add support for Dynamic Power Switching (DPS) for the RX51 board. These scripts are still a work-in-progress. I'll keep sending patches to update the scripts as they are optimised. Signed-off-by: Amit Kucheria Acked-by: Tony Lindgren Signed-off-by: Samuel Ortiz commit 75a7456539224c5c5c254130afdb18bd7eb2286f Author: Amit Kucheria Date: Mon Aug 17 17:01:56 2009 +0300 mfd: Print warning for twl4030 out-of-order script loading When the sleep script is loaded before the wakeup script, there is a chance that the system might go to sleep before the wakeup script loading is completed. This will lead to a system that does not wakeup and has been observed to cause non-booting boards. Various options were considered to solve this problem, including modification of the core twl4030 power code to be smart enough to reorder the loading of the scripts. But it felt too over-engineered. Hence this patch just warns the DPS script developer so that they may be reordered in the board-code itself. Signed-off-by: Amit Kucheria Signed-off-by: Samuel Ortiz commit ebf0bd366ed8161e6fbc919705d878ccbfd51624 Author: Amit Kucheria Date: Mon Aug 31 18:32:18 2009 +0200 mfd: Add support for TWL4030/5030 dynamic power switching The TWL4030/5030 family of multifunction devices allows board-specific control of the the various regulators, clock and reset lines through 'scripts' that are loaded into its memory. This allows for Dynamic Power Switching (DPS). Implement board-independent core support for DPS that is then used by board-specific code to load custom DPS scripts. Signed-off-by: Amit Kucheria Signed-off-by: Samuel Ortiz commit 12992dd89c84839167f97aae540f2ec889daf782 Author: Linus Walleij Date: Tue Aug 18 22:52:26 2009 +0200 mfd: AB3100 OTP readout This adds the ability to read out OTP (One-Time Programmable) registers in the AB3100 MFD ASIC. It's a simple sysfs file you can cat to prompt. The OTP registers of the AB3100 are used to store various device-unique information such as customer ID, product flags and the 3GPP standard IMEI (International Mobile Equipment Indentity) number. Signed-off-by: Linus Walleij Signed-off-by: Samuel Ortiz commit 295c08bc69a5dd8cef69ceaeaaf551a17f50c34b Author: Sascha Hauer Date: Wed Aug 19 01:43:50 2009 +0200 regulator: Add Freescale MC13783 driver This driver provides basic support for the voltage regulators integrated into the Freescale MC13783 PMIC. It is currently only possible to enable/disable outputs, not to actually set the voltage. Signed-off-by: Sascha Hauer Signed-off-by: Liam Girdwood Signed-off-by: Samuel Ortiz commit 8238addcc52c94c59b10c3c1e9850d3a7921f825 Author: Sascha Hauer Date: Wed Aug 19 01:40:28 2009 +0200 mfd: Add Freescale MC13783 driver This driver provides the core Freescale MC13783 support. It registers the client platform_devices and provides access to the A/D converter. Signed-off-by: Sascha Hauer Signed-off-by: Samuel Ortiz commit 0ad651c94c7a1f3706f63dc0174e681315e7dc81 Author: Linus Walleij Date: Thu Aug 13 11:50:01 2009 +0200 mfd: AB3100 disable irq nosync This will make the worker fire interrupt disable the AB3100 IRQ without sync which resolves a race since the interrupt obviously cannot wait for itself to complete while being handled. Signed-off-by: Linus Walleij Signed-off-by: Samuel Ortiz commit ce290b0e865ae19f0ae49968def0a2edcb4e6a65 Author: Linus Walleij Date: Thu Aug 13 11:49:49 2009 +0200 mfd: AB3100 alter default setting This alters the default setting for AB3100_IMRB1 from 0xff to 0xbf. These registers are used for the yet unimplemented ADC and this new setting will deactivate ADC Trigger 1. Signed-off-by: Linus Walleij Signed-off-by: Samuel Ortiz commit 7cdc2b98cec4c9b5bd563adf9eec90e7a7e12234 Author: Linus Walleij Date: Thu Aug 13 11:49:38 2009 +0200 mfd: AB3100 propagate error This makes ab3100_set_register_interruptible() propagate the error code from suboperations properly so it can be handles properly. (A special case comes from signal interruption.) Signed-off-by: Linus Walleij Signed-off-by: Samuel Ortiz commit 956f25a6778a2510d52973ab8a3ac2e03e2c3704 Author: Linus Walleij Date: Thu Aug 13 11:49:23 2009 +0200 mfd: AB3100 accessor function cleanups This adds the _interruptible suffix to the AB3100 accessor functions on par with mutex_lock_interruptible() that's used for blocking simultaneous calls to the AB3100 acessor functions. Since these accesses are slow on a 100kHz I2C bus and may line up waiting for the mutex, we need to handle interruption by system shutdown or kill signals and may just as well denote that in the function names. Signed-off-by: Linus Walleij Signed-off-by: Samuel Ortiz commit 35c86bf66d9d0ebc3f32f8c56251197b3921394e Author: Mark Brown Date: Thu Aug 27 19:59:05 2009 +0200 rtc: Add support for RTCs on Wolfson WM831x devices The WM831x series of PMICs contain RTC functionality. The hardware provides a 32 bit counter incrementing at 1Hz together with a per tick interrupt and an alarm value. For simplicity the driver chooses to define the epoch for the counter as the Unix epoch - if required platform data can be used in future to customise this. When powered on from a completely cold state the RTC reports that it has not been configured - when this happens an error is returned when attempting to read the RTC in order to avoid use of values we know to be invalid. The hardware also provides security features which mean that it can ignore attempts to set the RTC time in certain circumstances, most notably if the RTC is written to too often. These errors are detected by verifying the written RTC value. Signed-off-by: Mark Brown Acked-by: Alessandro Zummo Signed-off-by: Samuel Ortiz commit 70fde5cbd421773f0b9d684933ecb441efe89c84 Author: Antonio Ospite Date: Fri Aug 7 23:18:41 2009 +0200 regulator: get pcap data from the parent device Right now the pcap core driver passes a reference to its pcap data abusing the subdrivers platform drvdata, this is not good. Get the reference directly from the parent device. Signed-off-by: Antonio Ospite Acked-by: Mark Brown Signed-off-by: Samuel Ortiz commit d0a821324819a2908b886ae8b2f33fc7824ff83f Author: Daniel Ribeiro Date: Mon Aug 10 20:27:48 2009 +0200 input: PCAP2 misc input driver This is a driver for misc input events for the PCAP2 PMIC, it handles the Power key and the Headphone button. Signed-off-by: Daniel Ribeiro Signed-off-by: Ilya Petrov Signed-off-by: Antonio Ospite Acked-by: Dmitry Torokhov Signed-off-by: Samuel Ortiz commit 0387e107d6043c810915bf552c3fee367f536f3a Author: Daniel Ribeiro Date: Fri Aug 7 22:54:56 2009 +0200 input: PCAP2 based touchscreen driver Touchscreen driver for the PCAP2 multi function device used in Motorola EZX smartphones. Signed-off-by: Daniel Ribeiro Signed-off-by: Stefan Schmidt Signed-off-by: Antonio Ospite Acked-by: Dmitry Torokhov Signed-off-by: Samuel Ortiz commit e397e7ed50e3fb573aa5de183ae308dc7bf20b9e Author: Antonio Ospite Date: Thu Aug 6 16:08:52 2009 -0700 regulator: register pcap earlier Register pcap-regulator earlier so it can be used with cpufreq Signed-off-by: Daniel Ribeiro Acked-by: Mark Brown Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz commit d4d6b722e780f005f0d4e43a43909fa51cc33a11 Author: Mark Brown Date: Tue Jul 28 15:23:46 2009 +0100 regulator: Add WM831x ISINK support The WM831x series of PMICs provide two constant current sinks designed to drive strings of serially connected LEDs for applications such as backlights. This driver adds support for those regulators. Signed-off-by: Mark Brown Acked-by: Liam Girdwood Signed-off-by: Samuel Ortiz commit 1304850d4c5d2f915bdcb8d547f3ef26c60cc825 Author: Mark Brown Date: Tue Jul 28 15:23:16 2009 +0100 regulator: Add WM831x DC-DC boost convertor support The WM831x series of PMICs include a single DC-DC boost convertor. This adds basic support for this convertor. Signed-off-by: Mark Brown Acked-by: Liam Girdwood Signed-off-by: Samuel Ortiz commit 8267a9ba8299e1e70d54c7666da6aada637de4fc Author: Mark Brown Date: Tue Jul 28 15:22:23 2009 +0100 regulator: Add WM831x EPE support The WM831x series of PMICs provide two optional outputs for controlling external devices during power sequencing, for example an external regulator. While in essence these are GPIOs the hardware presents them as DCDCs with very little control so provide support via the regulator API in that fashion. Signed-off-by: Mark Brown Acked-by: Liam Girdwood Signed-off-by: Samuel Ortiz commit d1c6b4fe668b2ae02f490deee86eaab60822a362 Author: Mark Brown Date: Tue Jul 28 15:22:02 2009 +0100 regulator: Add WM831x LDO support The WM831x series of devices provide three types of LDO: - General purpose LDOs supporting voltages from 0.9-3.3V - High performance analogue LDOs supporting voltages from 1-3.5V - Very low power consumption LDOs intended to support always on functionality. This patch adds support for all three kinds of LDO. Each regulator is probed as an individual platform device with resources used to provide the register map location of the regulator. Mixed hardware and software control of regulators is not current supported. Signed-off-by: Mark Brown Acked-by: Liam Girdwood Signed-off-by: Samuel Ortiz commit e4ee831f949a7c7746a56bcf1e7ca057d6f69e2a Author: Mark Brown Date: Tue Jul 28 15:21:49 2009 +0100 regulator: Add WM831x DC-DC buck convertor support The WM831x series of devices all have 3 DC-DC buck convertors. This driver implements software control for these regulators via the regulator API. Use with split hardware/software control of individual regulators is not supported, though regulators not controlled by software may be controlled via the hardware control interfaces. Signed-off-by: Mark Brown Acked-by: Liam Girdwood Signed-off-by: Samuel Ortiz commit be721979dd6b335e4ab6f83abb5cc11c33662aa8 Author: Mark Brown Date: Tue Aug 4 20:09:52 2009 +0200 regulator: Provide mode to status conversion function This is useful for implementing get_status() in terms of get_mode(). Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 0c73b992dd4c645f050344cb13142c0fd3496824 Author: Mark Brown Date: Tue Sep 15 12:07:12 2009 +0200 input: Add support for the WM831x ON pin The WM831x series of PMICs support control of initial power on through the ON pin on the device with soft control of the pin at other times. Represent this to userspace as KEY_POWER. Signed-off-by: Mark Brown Acked-by: Dmitry Torokhov Signed-off-by: Samuel Ortiz commit 08bad5a821371548942aa13565831f18fe1875f3 Author: Mark Brown Date: Tue Jul 28 15:52:22 2009 +0100 hwmon: WM831x PMIC hardware monitoring driver This driver adds support for the hardware monitoring features of the WM831x PMICs to the hwmon API. Monitoring is provided for the system voltages supported natively by the WM831x, the chip temperature, the battery temperature and the auxiliary inputs of the WM831x. Currently no alarms are supported, though digital comparators on the WM831x devices would allow these to be provided. Since the auxiliary and battery temperature input scaling depends on the system configuration the value is reported as a voltage to userspace. Signed-off-by: Mark Brown Acked-by: Jean Delvare Signed-off-by: Samuel Ortiz commit e4b736f18f338daae141325c818187c4ab3e244c Author: Mark Brown Date: Mon Jul 27 14:46:00 2009 +0100 gpio: Add WM831X GPIO driver Add support for the GPIO pins on the WM831x. No direct support is currently supplied for configuring non-gpiolib functionality such as pull configuration and alternate functions, soft configuration of these will be provided in a future patch. Currently use of these pins as interrupts is not supported due to the ongoing issues with generic irq not support interrupt controllers on interrupt driven buses. Users can directly request the interrupts with the wm831x-specific APIs currently provided if required. Signed-off-by: Mark Brown Acked-by: David Brownell Signed-off-by: Samuel Ortiz commit b11062b9c558695cd054f16c697e1db0988e2603 Author: Mark Brown Date: Mon Jul 27 14:45:58 2009 +0100 mfd: Hook WM831x into build system Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 698659d5f78606c698781574773f433c60176e40 Author: Mark Brown Date: Mon Jul 27 14:45:57 2009 +0100 mfd: Export ISEL values from WM831x core The current settings which can be used with the WM831x current sinks can't easily be mapped between register values and currents at run time without a lookup table since the values scale logarithmically to match the way the human eye interprets brightness. This lookup table is inclided in the core since several drivers need to use it. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 6704e5171ba9053ba173bcd807c7392d2076bdb4 Author: Mark Brown Date: Mon Jul 27 14:45:56 2009 +0100 mfd: Add basic WM831x OTP support The WM831x series of devices use OTP (One Time Programmable, a type of PROM) to store system configuration. At run time this data is visible via registers. Currently the only explicitly supported feature is that the unique ID provided by every WM831x device is exported to user space via sysfs. Other configuration data may be read by system-specific code in the pre_init() and post_init() platform data operations. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 63aed85e3535b4603798184cc941e49de386d354 Author: Mark Brown Date: Mon Jul 27 14:45:55 2009 +0100 mfd: Conditionally add WM831x backlight subdevice The WM831x backlight driver requires at least the specification of the current sink to use and a maximum current to allow them to function and will actively interfere with other users of the regulators it uses if misconfigured so only register the subdevice for it if this platform data has been supplied. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 7e9f9fd4b8285c52c0950a1929864346de5caa6d Author: Mark Brown Date: Mon Jul 27 14:45:54 2009 +0100 mfd: Add WM831x AUXADC support The WM831x contains an auxiliary ADC with a number of switchable inputs which is used to monitor some of the voltages and temperatures in the system and has some external inputs which can be used for machine specific purposes. Provide an API allowing drivers to read values from the ADC. An internal reference voltage is provided to allow callibration of the ADC. This is used to calibrate the device at startup. The hardware also supports continuous readings and digital comparators. These are not yet supported by the driver. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 7d4d0a3e7343e3190afaa17253073db58e3d9bff Author: Mark Brown Date: Mon Jul 27 14:45:53 2009 +0100 mfd: Add WM831x interrupt support The WM831x includes an interrupt controller managing interrupts for the various functions on the chip. This patch adds support for the core interrupt block on the device. Ideally this would be supported by genirq, particularly for the GPIOs, but currently genirq is unable to cope with controllers on interrupt driven buses so we cut'n'paste the generic interface. Once genirq is able to cope chips like this it should be a case of filing the prefixes off the code and redoing wm831x-irq.c to move over. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit d2bedfe7a8b2f34beee2cad9cae74a088ee8ed07 Author: Mark Brown Date: Mon Jul 27 14:45:52 2009 +0100 mfd: Initial core support for WM831x series devices The WM831x series of devices are register compatible processor power management subsystems, providing regulator and power path management facilities along with other services like watchdog, RTC and touch panel controllers. This patch adds very basic support, providing basic single register I2C access, handling of the security key and registration of the devices. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit 3bed6e415fc2cbf8d706848a62a48aebe84435e5 Author: Mark Brown Date: Mon Jul 27 14:45:51 2009 +0100 mfd: Allow multiple MFD cells with the same name Provide basic support for MFDs having multiple cells of a given type with different IDs by adding an id to the mfd_cell structure and then adding that to the id passed in to mfd_add_devices(). As it stands this approach requires that MFDs using this feature deal with ensuring that there aren't any ID collisions resulting from multiple MFDs of the same type being instantiated. This needs to happen with the existing code too, but with this approach there is a knock on effect on the IDs for non-duplicated devices. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit f078237bcf6d5ffe322f6de7f05c0541989a8d35 Author: Antonio Ospite Date: Fri Jul 31 15:55:45 2009 -0700 mfd: register ezx-pcap earlier Register ezx-pcap earlier so it can be used with cpufreq Signed-off-by: Daniel Ribeiro Acked-by: Mark Brown Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz commit 327bc3a3efa408fb285948bfef112a6c58dfb375 Author: Daniel Ribeiro Date: Fri Jul 31 12:38:02 2009 +0200 mfd: Remove VIB defines from pcap header file Vibrator will be accessed via the pcap-regulator driver, no need to expose its bits in the header file. Signed-off-by: Daniel Ribeiro Signed-off-by: Samuel Ortiz commit 89a99e76f6888166edb145f576cc4a761ee0e0a9 Author: Vipin Bhandari Date: Thu Jul 30 04:19:17 2009 -0400 mfd: Correct ro and cd implemantion on DM355 This patch corrects the support for MMCSD card detection and read only feature for SoC DM355. EVMDM355_ECP_VA4.pdf, from Spectrum digital, suggests that Bit 2 and 4 should be checked for card detection. However on the EVM, bits 1 and 3 gives this status, for MMC/SD instance 0 and 1 respectively. The pdf also suggests that Bit 1 and 3 should be checked for write protection. However on the EVM bits 2 and 4 gives this status. This document can be downloaded from http://c6000.spectrumdigital.com/evmdm355/reve/files/EVMDM355_ECP_VA4.pdf Signed-off-by: Vipin Bhandari Acked-by: David Brownell Signed-off-by: Kevin Hilman Signed-off-by: Samuel Ortiz commit 8d360d8c03e1e8514bbaf606b1cd3b818dfc445d Author: Paul Fertser Date: Tue Jul 28 01:09:04 2009 +0400 mfd: fix wrong define for 10bit pcf50633 ADC mode The 10 bits definition was the 8 bits one. Signed-off-by: Paul Fertser Signed-off-by: Samuel Ortiz commit bd8ef10261d7ae92ad2b4925afd2b56f46175c47 Author: Paul Fertser Date: Tue Jul 28 00:58:48 2009 +0400 mfd: revise locking for pcf50633 ADC Current implementation is prone to races, this patch attempts to remove all but one (in pcf50633_adc_sync_read). The idea is that we need to guard the queue access only on inserting and removing items. If we insert and there're no more items in the queue it means that the last irq already happened and we need to trigger ADC manually. If not, then the next conversion will be triggered by the irq handler upon completion of the previous. Signed-off-by: Paul Fertser Signed-off-by: Samuel Ortiz commit ed52e62ebec9e703eb0b69704feaf1b6e847d882 Author: Paul Fertser Date: Tue Jul 28 00:41:15 2009 +0400 mfd: use a dedicated workqueue for pcf50633 irq processing Using the default kernel "events" workqueue causes problems with synchronous adc readings if initiated from some task on the same workqueue. I had a deadlock trying to use pcf50633_adc_sync_read from a power_supply class driver because the reading was initiated from the workqueue and it waited for the irq processing to complete (to get the result) and that was put on the same workqueue. Signed-off-by: Paul Fertser Signed-off-by: Samuel Ortiz commit 9c3664ddcee8d56c54bc6a735bbc3cf77723d85d Author: Felipe Balbi Date: Mon Aug 3 18:16:38 2009 +0200 mfd: Add twl4030-pwrbutton as a twl4030 child Make that twl4030-pwrbutton.c driver probe with current child creation api for twl4030. Cc: David Brownell Signed-off-by: Felipe Balbi Signed-off-by: Samuel Ortiz commit fb6c023a2b845df1ec383b74644ac35a4bbb76b6 Author: Mark Brown Date: Mon Jul 20 12:43:45 2009 +0100 hwmon: Add WM835x PMIC hardware monitoring driver This driver provides reporting of the status supply voltage rails of the WM835x series of PMICs via the hwmon API. Signed-off-by: Mark Brown Acked-by: Jean Delvare Signed-off-by: Samuel Ortiz commit 39b1772a24126d74699cea623f96b50ca6b6f08f Author: Daniel Ribeiro Date: Sat Jun 27 00:18:02 2009 -0300 regulator: add pcap driver Add (partial) support for the voltage regulators on the PCAP2 PMIC. Signed-off-by: Daniel Ribeiro Signed-off-by: Liam Girdwood Signed-off-by: Samuel Ortiz commit b75ea16ae74e77244e134943a5676ca770036cac Author: Mark Brown Date: Thu Jul 2 16:43:08 2009 +0100 MAINTAINERS: Add entry for Wolfson PMIC drivers Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit df10d6465f135b1e240ca7eb9565a492cf58be7c Author: Joe Perches Date: Sun Jun 28 09:26:30 2009 -0700 mfd: remove unnecessary semicolons from twl4030 Signed-off-by: Joe Perches Signed-off-by: Samuel Ortiz commit e9a22635b0d794d0cb242ffb0249f7b2a410bca2 Author: Daniel Ribeiro Date: Sat Jun 27 00:17:20 2009 -0300 mfd: add ezx_pcap_setbits Provides an atomic set_bits functions, as needed by the pcap-regulator driver. Signed-off-by: Daniel Ribeiro Signed-off-by: Samuel Ortiz commit b1148fd46c248c8f6c9f3beb79f27cdd83702621 Author: Daniel Ribeiro Date: Tue Jun 23 12:34:13 2009 -0300 mfd: fix pcap irq bottom handler Mask interrupts before servicing them and loop while pcap asserts the interrupt line. Signed-off-by: Daniel Ribeiro Signed-off-by: Samuel Ortiz commit ecd78cbdb989fd593bf4fd69cdb572200e70a553 Author: Daniel Ribeiro Date: Tue Jun 23 12:33:10 2009 -0300 mfd: add set_ts_bits for pcap Some TS controller bits are on the same register as the ADC control, save TS specific bits and export a set_ts_bits function so the TS driver can set it with the adc_mutex lock held. Signed-off-by: Daniel Ribeiro Signed-off-by: Samuel Ortiz commit 9f7b07d6cc3ed14783c9427a5b2a69794eb2de64 Author: Daniel Ribeiro Date: Tue Jun 23 12:32:11 2009 -0300 mfd: Introduce irq_to_pcap() Export an irq_to_pcap function to get pcap irq number, for the keypad driver. Signed-off-by: Daniel Ribeiro Signed-off-by: Samuel Ortiz commit dfc3aa7221f50bf3d05c67b826414ab290b95c46 Author: Samuel Ortiz Date: Tue Jun 23 10:48:36 2009 +0200 mfd: fix ab3100 warning on x86_64 The file_operations write prototype should return a ssize_t. Signed-off-by: Samuel Ortiz commit 064a16dc41be879d12bd5de5d2f9d38d890e0ee7 Author: Kuninori Morimoto Date: Wed Sep 16 11:34:34 2009 +0000 sh: mach-ecovec24: Add user debug switch support Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 9973affe9bbcde64041890d8793eb2e74143c298 Author: Chen Liqin Date: Thu Sep 17 12:05:56 2009 +0800 score: add TIF_NOTIFY_RESUME define in asm/thread_info.h commit bf95d20fdbd602d72c28a009a55d90d5109b8a86 Author: Hendrik Brueckner Date: Wed Sep 16 04:37:28 2009 +0000 af_iucv: fix race when queueing skbs on the backlog queue iucv_sock_recvmsg() and iucv_process_message()/iucv_fragment_skb race for dequeuing an skb from the backlog queue. If iucv_sock_recvmsg() dequeues first, iucv_process_message() calls sock_queue_rcv_skb() with an skb that is NULL. This results in the following kernel panic: <1>Unable to handle kernel pointer dereference at virtual kernel address (null) <4>Oops: 0004 [#1] PREEMPT SMP DEBUG_PAGEALLOC <4>Modules linked in: af_iucv sunrpc qeth_l3 dm_multipath dm_mod vmur qeth ccwgroup <4>CPU: 0 Not tainted 2.6.30 #4 <4>Process client-iucv (pid: 4787, task: 0000000034e75940, ksp: 00000000353e3710) <4>Krnl PSW : 0704000180000000 000000000043ebca (sock_queue_rcv_skb+0x7a/0x138) <4> R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:0 PM:0 EA:3 <4>Krnl GPRS: 0052900000000000 000003e0016e0fe8 0000000000000000 0000000000000000 <4> 000000000043eba8 0000000000000002 0000000000000001 00000000341aa7f0 <4> 0000000000000000 0000000000007800 0000000000000000 0000000000000000 <4> 00000000341aa7f0 0000000000594650 000000000043eba8 000000003fc2fb28 <4>Krnl Code: 000000000043ebbe: a7840006 brc 8,43ebca <4> 000000000043ebc2: 5930c23c c %r3,572(%r12) <4> 000000000043ebc6: a724004c brc 2,43ec5e <4> >000000000043ebca: e3c0b0100024 stg %r12,16(%r11) <4> 000000000043ebd0: a7190000 lghi %r1,0 <4> 000000000043ebd4: e310b0200024 stg %r1,32(%r11) <4> 000000000043ebda: c010ffffdce9 larl %r1,43a5ac <4> 000000000043ebe0: e310b0800024 stg %r1,128(%r11) <4>Call Trace: <4>([<000000000043eba8>] sock_queue_rcv_skb+0x58/0x138) <4> [<000003e0016bcf2a>] iucv_process_message+0x112/0x3cc [af_iucv] <4> [<000003e0016bd3d4>] iucv_callback_rx+0x1f0/0x274 [af_iucv] <4> [<000000000053a21a>] iucv_message_pending+0xa2/0x120 <4> [<000000000053b5a6>] iucv_tasklet_fn+0x176/0x1b8 <4> [<000000000014fa82>] tasklet_action+0xfe/0x1f4 <4> [<0000000000150a56>] __do_softirq+0x116/0x284 <4> [<0000000000111058>] do_softirq+0xe4/0xe8 <4> [<00000000001504ba>] irq_exit+0xba/0xd8 <4> [<000000000010e0b2>] do_extint+0x146/0x190 <4> [<00000000001184b6>] ext_no_vtime+0x1e/0x22 <4> [<00000000001fbf4e>] kfree+0x202/0x28c <4>([<00000000001fbf44>] kfree+0x1f8/0x28c) <4> [<000000000044205a>] __kfree_skb+0x32/0x124 <4> [<000003e0016bd8b2>] iucv_sock_recvmsg+0x236/0x41c [af_iucv] <4> [<0000000000437042>] sock_aio_read+0x136/0x160 <4> [<0000000000205e50>] do_sync_read+0xe4/0x13c <4> [<0000000000206dce>] vfs_read+0x152/0x15c <4> [<0000000000206ed0>] SyS_read+0x54/0xac <4> [<0000000000117c8e>] sysc_noemu+0x10/0x16 <4> [<00000042ff8def3c>] 0x42ff8def3c Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 7514bab04e567c9408fe0facbde4277f09d5eb74 Author: Hendrik Brueckner Date: Wed Sep 16 04:37:27 2009 +0000 af_iucv: do not call iucv_sock_kill() twice For non-accepted sockets on the accept queue, iucv_sock_kill() is called twice (in iucv_sock_close() and iucv_sock_cleanup_listen()). This typically results in a kernel oops as shown below. Remove the duplicate call to iucv_sock_kill() and set the SOCK_ZAPPED flag in iucv_sock_close() only. The iucv_sock_kill() function frees a socket only if the socket is zapped and orphaned (sk->sk_socket == NULL): - Non-accepted sockets are always orphaned and, thus, iucv_sock_kill() frees the socket twice. - For accepted sockets or sockets created with iucv_sock_create(), sk->sk_socket is initialized. This caused the first call to iucv_sock_kill() to return immediately. To free these sockets, iucv_sock_release() uses sock_orphan() before calling iucv_sock_kill(). <1>Unable to handle kernel pointer dereference at virtual kernel address 000000003edd3000 <4>Oops: 0011 [#1] PREEMPT SMP DEBUG_PAGEALLOC <4>Modules linked in: af_iucv sunrpc qeth_l3 dm_multipath dm_mod qeth vmur ccwgroup <4>CPU: 0 Not tainted 2.6.30 #4 <4>Process iucv_sock_close (pid: 2486, task: 000000003aea4340, ksp: 000000003b75bc68) <4>Krnl PSW : 0704200180000000 000003e00168e23a (iucv_sock_kill+0x2e/0xcc [af_iucv]) <4> R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3 <4>Krnl GPRS: 0000000000000000 000000003b75c000 000000003edd37f0 0000000000000001 <4> 000003e00168ec62 000000003988d960 0000000000000000 000003e0016b0608 <4> 000000003fe81b20 000000003839bb58 00000000399977f0 000000003edd37f0 <4> 000003e00168b000 000003e00168f138 000000003b75bcd0 000000003b75bc98 <4>Krnl Code: 000003e00168e22a: c0c0ffffe6eb larl %r12,3e00168b000 <4> 000003e00168e230: b90400b2 lgr %r11,%r2 <4> 000003e00168e234: e3e0f0980024 stg %r14,152(%r15) <4> >000003e00168e23a: e310225e0090 llgc %r1,606(%r2) <4> 000003e00168e240: a7110001 tmll %r1,1 <4> 000003e00168e244: a7840007 brc 8,3e00168e252 <4> 000003e00168e248: d507d00023c8 clc 0(8,%r13),968(%r2) <4> 000003e00168e24e: a7840009 brc 8,3e00168e260 <4>Call Trace: <4>([<000003e0016b0608>] afiucv_dbf+0x0/0xfffffffffffdea20 [af_iucv]) <4> [<000003e00168ec6c>] iucv_sock_close+0x130/0x368 [af_iucv] <4> [<000003e00168ef02>] iucv_sock_release+0x5e/0xe4 [af_iucv] <4> [<0000000000438e6c>] sock_release+0x44/0x104 <4> [<0000000000438f5e>] sock_close+0x32/0x50 <4> [<0000000000207898>] __fput+0xf4/0x250 <4> [<00000000002038aa>] filp_close+0x7a/0xa8 <4> [<00000000002039ba>] SyS_close+0xe2/0x148 <4> [<0000000000117c8e>] sysc_noemu+0x10/0x16 <4> [<00000042ff8deeac>] 0x42ff8deeac Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 56a73de3889383b70ed1fef06aaab0677731b0ea Author: Hendrik Brueckner Date: Wed Sep 16 04:37:26 2009 +0000 af_iucv: handle non-accepted sockets after resuming from suspend After resuming from suspend, all af_iucv sockets are disconnected. Ensure that iucv_accept_dequeue() can handle disconnected sockets which are not yet accepted. Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d9973179aef2af88b6fe4cc1df7ced6fe7cec7d0 Author: Hendrik Brueckner Date: Wed Sep 16 04:37:25 2009 +0000 af_iucv: fix race in __iucv_sock_wait() Moving prepare_to_wait before the condition to avoid a race between schedule_timeout and wake up. The race can appear during iucv_sock_connect() and iucv_callback_connack(). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit b29e4da41eb1114080b06dce31326d5a0e96a15a Author: Hendrik Brueckner Date: Wed Sep 16 04:37:24 2009 +0000 iucv: use correct output register in iucv_query_maxconn() The iucv_query_maxconn() function uses the wrong output register and stores the size of the interrupt buffer instead of the maximum number of connections. According to the QUERY IUCV function, general register 1 contains the maximum number of connections. If the maximum number of connections is not set properly, the following warning is displayed: Badness at /usr/src/kernel-source/2.6.30-39.x.20090806/net/iucv/iucv.c:1808 Modules linked in: netiucv fsm af_iucv sunrpc qeth_l3 dm_multipath dm_mod vmur qeth ccwgroup CPU: 0 Tainted: G W 2.6.30 #4 Process seq (pid: 16925, task: 0000000030e24a40, ksp: 000000003033bd98) Krnl PSW : 0404200180000000 000000000053b270 (iucv_external_interrupt+0x64/0x224) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3 Krnl GPRS: 00000000011279c2 00000000014bdb70 0029000000000000 0000000000000029 000000000053b236 000000000001dba4 0000000000000000 0000000000859210 0000000000a67f68 00000000008a6100 000000003f83fb90 0000000000004000 000000003f8c7bc8 00000000005a2250 000000000053b236 000000003fc2fe08 Krnl Code: 000000000053b262: e33010000021 clg %r3,0(%r1) 000000000053b268: a7440010 brc 4,53b288 000000000053b26c: a7f40001 brc 15,53b26e >000000000053b270: c03000184134 larl %r3,8434d8 000000000053b276: eb220030000c srlg %r2,%r2,48 000000000053b27c: eb6ff0a00004 lmg %r6,%r15,160(%r15) 000000000053b282: c0f4fffff6a7 brcl 15,539fd0 000000000053b288: 4310a003 ic %r1,3(%r10) Call Trace: ([<000000000053b236>] iucv_external_interrupt+0x2a/0x224) [<000000000010e09e>] do_extint+0x132/0x190 [<00000000001184b6>] ext_no_vtime+0x1e/0x22 [<0000000000549f7a>] _spin_unlock_irqrestore+0x96/0xa4 ([<0000000000549f70>] _spin_unlock_irqrestore+0x8c/0xa4) [<00000000002101d6>] pipe_write+0x3da/0x5bc [<0000000000205d14>] do_sync_write+0xe4/0x13c [<0000000000206a7e>] vfs_write+0xae/0x15c [<0000000000206c24>] SyS_write+0x54/0xac [<0000000000117c8e>] sysc_noemu+0x10/0x16 [<00000042ff8defcc>] 0x42ff8defcc Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d28ecab0c40f587fd1e28701c195747220c984e2 Author: Hendrik Brueckner Date: Wed Sep 16 04:37:23 2009 +0000 iucv: fix iucv_buffer_cpumask check when calling IUCV functions Prior to calling IUCV functions, the DECLARE BUFFER function must have been called for at least one CPU to receive IUCV interrupts. With commit "iucv: establish reboot notifier" (6c005961), a check has been introduced to avoid calling IUCV functions if the current CPU does not have an interrupt buffer declared. Because one interrupt buffer is sufficient, change the condition to ensure that one interrupt buffer is available. In addition, checking the buffer on the current CPU creates a race with CPU up/down notifications: before checking the buffer, the IUCV function might be interrupted by an smp_call_function() that retrieves the interrupt buffer for the current CPU. When the IUCV function continues, the check fails and -EIO is returned. If a buffer is available on any other CPU, the IUCV function call must be invoked (instead of failing with -EIO). Signed-off-by: Hendrik Brueckner Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 4c89d86b4df8e4f2cdccb72495e2f4664118ebf1 Author: Ursula Braun Date: Wed Sep 16 04:37:22 2009 +0000 iucv: suspend/resume error msg for left over pathes During suspend IUCV exploiters have to close their IUCV connections. When restoring an image, it can be checked if all IUCV pathes had been closed before the Linux instance was suspended. If not, an error message is issued to indicate a problem in one of the used programs exploiting IUCV communication. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 12cbcfd386df56dce8b8ba6ba2c7f85680793716 Merge: 0aad191 c4835d8 Author: David S. Miller Date: Wed Sep 16 20:55:28 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 0aad191c5fea3627c8efbc453cfebb6d1dca496c Author: Jean-Christophe PLAGNIOL-VILLARD Date: Wed Sep 16 14:07:38 2009 +0000 wl12xx: switch to %pM to print the mac address Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Acked-by: John W. Linville Signed-off-by: David S. Miller commit e99b1f04d922f132ffab8310b470bcc93d3ddf80 Author: Dongdong Deng Date: Wed Sep 16 16:10:47 2009 +0000 b44: the poll handler b44_poll must not enable IRQ unconditionally net/core/netpoll.c::netpoll_send_skb() calls the poll handler when it is available. As netconsole can be used from almost any context, IRQ must not be enabled blindly in the NAPI handler of the driver which supports netpoll. Call trace: netpoll_send_skb() { local_irq_save(flags) -> netpoll_poll() -> poll_napi() -> poll_one_napi() -> napi->poll() -> b44_poll() local_irq_restore(flags) } Signed-off-by: Dongdong Deng Signed-off-by: David S. Miller commit 5bf9cbef9972f851172391a37261b12bba63f733 Author: Yi Li Date: Tue Sep 15 09:24:31 2009 +0000 Blackfin: update ftrace for latest toolchain The mcount support that was finally added to the Blackfin gcc port isn't exactly the same as what ftrace was developed against. Now that the final gcc version is in place, update the ftrace code to match. While updating this, fix the swapped arguments to the tracer (signature is (ip, parent_ip) while we were passing (parent_ip, ip)). Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 3b67d91b3e2c789952379f5157704c2162330492 Author: Mike Frysinger Date: Mon Sep 14 21:22:06 2009 +0000 Blackfin: fix elf_fpregset_t definition The elf_fpregset_t type relied on an empty struct in the asm/user.h, but the transition to asm-generic/user.h dropped that empty struct. Rather than restore this useless struct, define the only user (elf_fpregset_t) as an empty struct itself. This fixes building when ELF dump support is enabled. Signed-off-by: Mike Frysinger commit ea426e6c62d0f742d87451adc47e91d87b9c3d27 Author: Mike Frysinger Date: Mon Sep 14 19:42:26 2009 +0000 Blackfin: unify cache init functions The CPLB implementations (mpu/nompu) had exact copies of the cacheinit code. Even the i/d cache functions are largely the same. So unify them both in the common kernel cache code. Signed-off-by: Mike Frysinger commit e78feaaeeb9bbf78f961917d72d692802ac110e8 Author: Graf Yang Date: Mon Sep 14 04:41:00 2009 +0000 Blackfin: swap clocksource ratings for gptimer/cycles The cycles clocksource is a higher resolution than the gptimer one, so make sure the ratings field reflects this. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 3289651a9767556822adbd492be957a1287ffd3f Author: Mike Frysinger Date: Mon Sep 14 01:50:22 2009 +0000 Blackfin: update ftrace_push_return_trace() breakage Commit 71e308a239c updated ftrace_push_return_trace() prototype but didn't update the Blackfin ftrace code, so things broke. Since we don't support the new stuff yet, call it with stub values. Signed-off-by: Mike Frysinger commit 9c21453e376c03bcba9c6d89dc5735b40a35b098 Author: Harald Krapfenbauer Date: Thu Sep 10 15:30:03 2009 +0000 Blackfin: update cm board resources Signed-off-by: Harald Krapfenbauer Signed-off-by: Mike Frysinger commit 6058434468daa16580a77922661b31b880d60db5 Author: Harald Krapfenbauer Date: Thu Sep 10 15:12:08 2009 +0000 Blackfin: cm-bf537u: split board from cm-bf537e The cm-bf537u module, while similar to the cm-bf537e, is different enough to warrant its own resources. It has a USB controller but no PHY. Signed-off-by: Harald Krapfenbauer Signed-off-by: Mike Frysinger commit 769cfc0d08e796c593b903ec393a2e90aae5f807 Author: Barry Song Date: Thu Sep 10 04:32:47 2009 +0000 Blackfin: bf538-ezkit: add SPI IRQ resources Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 88c28b2df99d306a47d7fb88520482059643e503 Author: Sonic Zhang Date: Mon Sep 7 03:20:48 2009 +0000 Blackfin: increase default async timings for parallel flashes The default async timings are a little too fast for the parallel flash that is attached by default to the async banks. So slow things down a bit so accessing the hardware is stable. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 4663f6ef251766cc9f7ab21af35661d8a736bef2 Author: Bernd Schmidt Date: Wed Sep 2 08:14:05 2009 +0000 Blackfin: add ICPLB coverage for async banks When doing XIP, we need to execute out of the async banks, so we need ICPLBs to allow this. Signed-off-by: Bernd Schmidt Signed-off-by: Mike Frysinger commit 4a3e53c1c4dd44b9d0fa1537c1294eb72229bfce Author: Mingquan Pan Date: Mon Aug 31 04:56:06 2009 +0000 Blackfin: use KERN_ALERT in all kgdb_test output Most messages are already using KERN_ALERT, so be consistent to make things easier to check with test scripts. Signed-off-by: Mingquan Pan Signed-off-by: Mike Frysinger commit 4e4d496ee3bdc587682f2bf675bed71d64752416 Author: Yi Li Date: Sun Aug 30 20:45:50 2009 +0000 Blackfin: fix BF54x SPI CS resources The BF54x has three slave select signals for SPI0/SPI1, not eight. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 774b80229fcb9df22aadec8fc5b143a842135535 Author: Robin Getz Date: Thu Aug 27 14:39:31 2009 +0000 Blackfin: fix typo in isram_write() The DTEST write bit is 2, not 1. Improve comments in the related macro while we're here. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit ba877d4491a06ae69d53981bc242ef97a8157026 Author: Michael Hennerich Date: Thu Aug 27 04:09:32 2009 +0000 Blackfin: bf537-stamp: add adp5588 gpio resources For the adp5588 GPIO daughter card. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit c40cdb2cbdd3cfa783c22087d29ef570d60dd141 Author: Mike Frysinger Date: Thu Aug 27 01:46:48 2009 +0000 Blackfin: add some isram-driver self tests Make it easy to figure out if code changes here are correct. Signed-off-by: Mike Frysinger commit dedfd5d7f21b08d50ba8c0220778e119952e2f77 Author: Robin Getz Date: Wed Aug 26 15:54:10 2009 +0000 Blackfin: workaround anomaly 05000283 Make sure our interrupt entry code with exact hardware errors handles anomaly 05000283 (infinite stall in system MMR kill) so we don't stall while under load. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 05d17dfaab6671def3fcdcd95c39fd49924dbb3b Author: Michael Hennerich Date: Fri Aug 21 03:49:19 2009 +0000 Blackfin: fix spelling in a few comments Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit b6dbde27dd95cc0397d9722ad8365fa93a07b0d3 Author: Yi Li Date: Thu Aug 20 04:17:47 2009 +0000 Blackfin: use raw_smp_processor_id() in exception code When preempt debugging is enabled, smp_processor_id() may utilize the "current" structure. This may not be safe to access under all exceptions due to it being in dynamically allocated memory. So in exception code, make sure we use raw_smp_processor_id() instead to get at the real value directly. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 00dd66d012f944817a7d0cdcb0c8cb174e46937a Author: Michael Hennerich Date: Wed Aug 19 03:15:56 2009 +0000 Blackfin: remove useless duplicated assignment in gpio code Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 8d7ac69ffaf740cdf98bdd5073c2d70a8828200e Author: Ingo Molnar Date: Tue Aug 18 16:45:25 2009 +0000 Blackfin: Fix link errors with binutils 2.19 and GCC 4.3 Not sure whether this has been reported/fixed before. Today I built a Blackfin tool-chain from scratch for -tip testing, and it triggers: arch/blackfin/kernel/vmlinux.lds:1238: undefined section `.data_a_l1' referenced in expression and: arch/blackfin/kernel/vmlinux.lds:1238: undefined section `.text_data_l1' referenced in expression Now i dont have any way to test this linker script, but it now at least builds fine after fixing what appears to be typos in those assert statements. Signed-off-by: Ingo Molnar Signed-off-by: Mike Frysinger commit 1794131471ba19c7e30610515074b520cb34d3bb Author: Graf Yang Date: Tue Aug 18 04:29:33 2009 +0000 Blackfin: handle the core timer interrupt with handle_percpu_irq on SMP Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 926494943b7d9dbc998adb298a92a708232ce46b Author: Mike Frysinger Date: Mon Aug 17 19:05:07 2009 +0000 Blackfin: optimize fixed code handling for the most common case The majority of the time we are returning to user space, it is not in the fixed atomic code region. So rather than branch to a function where we check the PC and return, do the check inline and branch only when needed. Also, tweak some of the fixed code handling based on assumptions we are aware of but cannot be expressed in C. Signed-off-by: Mike Frysinger commit dac981740f4b990eadf523b0900859f189dd2b4e Author: Barry Song Date: Thu Aug 13 21:07:37 2009 +0000 Blackfin: delete '-spi' suffix in ad1836/ad1938 driver name The ASoC drivers have dropped the redundant "-spi" suffix in the driver name, so update the board resources accordingly. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 3aa670419a02b19a2168894f7edbb5e4b9e4e607 Author: Mike Frysinger Date: Thu Aug 13 19:32:11 2009 -0400 Blackfin: punt dead cache locking code No one uses these functions, and some are duplicate of existing C code. So just punt the whole thing. Signed-off-by: Mike Frysinger commit 0198b3bcaed1374f454e56e46f0e1ca1fc24e0a1 Author: Mike Frysinger Date: Thu Aug 13 04:27:31 2009 +0000 Blackfin: drop board resources for dead devices (pbx/ad9960) These hardware devices are dead and the drivers never cleaned up/merged, so punt the useless board resource info. Signed-off-by: Mike Frysinger commit c4baebf2683d16f24a84a99268ef5f7318905337 Author: Yi Li Date: Wed Aug 12 23:05:35 2009 +0000 Blackfin: do not trace the exception handler Since the exception handler cannot cause exceptions, we cannot trace it without easily causing double faults and crashing the system. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 7b06263bd70b66210fbb919be9e706ef5e82836a Author: Mike Frysinger Date: Tue Aug 11 21:27:09 2009 +0000 Blackfin: fix BF522/BF523 max VCO mixup The BF522 and BF523 had their real max VCO values swapped. Signed-off-by: Mike Frysinger commit ad46163ac2c78eb828bbe52eaf562cab922b9e5d Author: Graf Yang Date: Fri Aug 7 03:52:54 2009 +0000 Blackfin: SMP port does not yet support cpu frequency scaling We have an item to get this fixed, but in the mean time, disable selection via Kconfig dependencies. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit eb7bd9c461bbfbb195cb1e1346453222a4352df4 Author: Yi Li Date: Fri Aug 7 01:20:58 2009 +0000 Blackfin: cleanup sync handling when enabling/disabling cplbs The handling of updating the [DI]MEM_CONTROL MMRs does not follow proper sync procedures as laid out in the Blackfin programming manual. So rather than audit/fix every call location, create helper functions that do the right things in order to safely update these MMRs. Then convert all call sites to use these new helper functions. While we're fixing the code, drop the workaround for anomaly 05000125 as that anomaly applies to old versions of silicon that we do not support. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 8312440e05ea74feabc648ad8f36c823af4ddd8e Author: Barry Song Date: Thu Aug 6 21:03:02 2009 +0000 Blackfin: bf537-stamp: update ad1836 resources Update the ad1836 resources for the new ASoC driver. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit bd411b15cc4b3f31f67d15e1afffbd1ec650d5b8 Author: Yi Li Date: Wed Aug 5 10:02:14 2009 +0000 Blackfin: update anomaly lists Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit f1cb64625c4f5309747b8067a309e0bcc630b303 Author: Barry Song Date: Mon Aug 3 04:40:36 2009 +0000 Blackfin: bf538-ezkit: add resources for parallel flash The board has some parallel flash hooked up to the async banks, so add appropriate physmap resources for it. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit ac860751eb2cb1bdf8bb341d849b38c483f5d83b Author: Roel Kluin Date: Sun Aug 2 14:26:48 2009 +0200 Blackfin: fix read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: Mike Frysinger commit 0e101ec12e68f25dd769a4b7ecb5e7ead0aae7c0 Author: Stefan Pledl Date: Wed Jul 29 08:09:45 2009 +0000 Blackfin: bf548-ezkit: fix incorrect LCD size parameters I think we have to use the physical dimensions [mm] of the display for .width and .heigth in struct bfin_bf54xfb_mach_info bf54x_lq043_data which are copied to fbinfo->var.height/.width in bf54x-lq043fb.c. linux/fb.h describes this values as 'height/weight of picture in mm' Otherwise QT calcs the wrong dpi value and the displayed fonts are very small. Signed-off-by: Stefan Pledl Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit b3dec4a4ff495248170358cb3b8254a814e5b096 Author: Barry Song Date: Mon Jul 27 06:42:50 2009 +0000 Blackfin: cm-bf527/bf537-stamp: fix dm9000 resources The dm9000 driver expects two IORESOURCE_MEM to get at the device, so make sure we declare things properly. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 8d71e075966e29232cd38d8ca6335047a164c1dc Author: Mike Frysinger Date: Mon Jul 27 00:44:25 2009 +0000 Blackfin: drop unused MMR defines that only cause bad code to be written Signed-off-by: Mike Frysinger commit 61f09b5a09fb3962bbd3990a9a5a8470197955bb Author: Michael Hennerich Date: Fri Jul 24 08:48:31 2009 +0000 Blackfin: convert boards to use platform data with smc91x Latest smc91x driver allows you to specify settings in board resources rather than needing CONFIG_BLACKFIN in the drivers/net/smc91x.h header. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 2fff7f8800e3567adf74e29b91ad192761d8fb3c Author: Barry Song Date: Thu Jul 23 04:20:48 2009 +0000 Blackfin: bf537-stamp: drop ATA interrupt probe workaround The interrupt probe workaround doesn't work without hacks to common code, and the add-on card only needs a simple resistor to fix the problem, so drop the board-specific hack. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 01b9f4b0ed3b1111b2080a3c9bcb66df1fdf48b7 Author: Graf Yang Date: Wed Jul 22 11:56:24 2009 +0000 Blackfin: improve double fault debug handling Since the hardware only provides reporting for the last exception handled, and the values are valid only when executing the exception handler, we need to save the context for reporting at a later point. While we do this for one exception, it doesn't work properly when handling a second one as the original exception is clobbered by the double fault. So when double fault debugging is enabled, create a dedicated shadow of these values and save/restore out of there. Now the crash report properly displays the first exception as well as the second one. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 858c5e9abc5c614b2eceb6a361118f31821ac968 Author: Cliff Cai Date: Wed Jul 22 06:34:55 2009 +0000 Blackfin: bf533-stamp: fix typo in SPI frequency for ad1836 codec One too many zeros means we run way faster than the codec can handle. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger commit 36b841288656b9b30b5d2add2fd136ac7eab5867 Author: Graf Yang Date: Tue Jul 21 02:26:57 2009 +0000 Blackfin: fix MPU handling of invalid memory accesses The protect_page() function was incorrectly setting up the hardware tables based on possible access capabilities rather than the actual requested values. This means we would grant more access to mmap-ed pages than we should have. Once we fix this, we need to tweak the signal generated by such accesses to aline ourselves with other ports. This allows the LTP mmap0{5,6,7} cases to run properly. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 8fc4dd9e876cbda4dfe09ca85e4e1520b36dce77 Author: Jean Delvare Date: Sat Jul 18 16:54:03 2009 +0200 Blackfin: clean up duplicate I2C device type definitions I2C_BOARD_INFO() already sets .type, no need to set it again. Signed-off-by: Jean Delvare Signed-off-by: Mike Frysinger commit 427f277e5f472b6c1bc444ef5f7d30ebe280420e Author: Barry Song Date: Fri Jul 17 07:04:55 2009 +0000 Blackfin: bf537-stamp: update AD714x resources Push the device table to the board resources as data interpretation can be changed on a per-board basis. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 407505dc01ac2b4f2944cd3c6a0c02473ffb869e Author: Sonic Zhang Date: Thu Jul 16 10:36:35 2009 +0000 Blackfin: do not try displaying the end of the stack The end of the stack may not be valid (and that could be OK), so do not attempt to parse it. If we do, we might use a bad pointer in kernel space which makes things panic(). Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 2120b68f31d3b08be99010b3992f58f07794b8b0 Author: Yi Li Date: Thu Jul 16 10:12:30 2009 +0000 Blackfin: bf533-stamp: add resources for mmc_spi card Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit f41e2fded031cd8f3c0430687fa6b35ca0589088 Author: Barry Song Date: Mon Jul 13 04:16:42 2009 +0000 Blackfin: bf538: add bfin_clear_PPI_STATUS() helper Add the bf538 version of bfin_clear_PPI_STATUS() to match all other ports. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit a2f78cfc656e3013e5024460a7b8a0b3dde456d3 Author: Stefan Pledl Date: Sat Jul 11 13:50:42 2009 +0200 Blackfin: fix BF548 UART0 DMA IRQ translation The initial BF54x port included some defines to keep code simple across different processors, but it just ended up causing the UART0 DMA IRQs to be set to the UART1 channels. Signed-off-by: Stefan Pledl Signed-off-by: Mike Frysinger commit 837ec2d56c41640d1f1238e52c350b2a516d29ba Author: Robin Getz Date: Tue Jul 7 20:17:09 2009 +0000 Blackfin: catch hardware errors earlier during booting Allow hardware errors to be caught during early portions of booting, and leave something in the shadow console that people can use to debug their system with (to be printed out by the bootloader on next reset). This enables the hardare error interrupts in head.S, allowing us to find hardware errors when they happen (well, as much as you can with a hardware error) and prints out the trace if it is enabled. This will catch errors (like booting the wrong image on a 533) which previously resulted in a infinite loop/hang, as well as random hardware errors before before setup_arch(). To disable this debug only feature - turn off EARLY_PRINTK. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 3f871feaf3390c6d6e578818f867917c2e4738a2 Author: Robin Getz Date: Mon Jul 6 14:53:19 2009 +0000 Blackfin: add an early shadow console Add a memory based shadow console to keep a copy of the printk buffer in a location which can be found externally. This allows bootloaders to locate and utilize the log buffer in case of silent (early/resume/etc...) crashes. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 53e18df745b6f833df07ead62ded09ebae3b0303 Author: Mike Frysinger Date: Fri Jul 3 00:17:45 2009 +0000 Blackfin: add support for common FDPIC ptrace requests The FDPIC arches support a standard set of ptrace requests so rather than define our own custom API, hook up those requests for common code to leverage. Signed-off-by: Mike Frysinger commit 81c969a8bc4bdc39032f6c58e50e61a8daeeb655 Author: Mike Frysinger Date: Wed Jul 1 15:42:13 2009 +0000 Blackfin: push SRAM locks down into related ifdefs Rather than defining the locks and initializing them all the time, only do so when we actually need them (i.e. the SRAM regions exist). This avoids dead data and code bloat during runtime. Signed-off-by: Mike Frysinger commit 9c954f89412b346e0aeec01c5729cb7ca63e2673 Author: Sonic Zhang Date: Tue Jun 30 09:48:03 2009 +0000 Blackfin: unify duplicated SMP checks in L2 cache kconfig Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 204844ebd08cfb0c83689e55d6633dcd0230d36d Author: Michael Hennerich Date: Tue Jun 30 14:57:22 2009 +0000 Blackfin: rename PCF8574 driver config The "TWI_KEYPAD" driver was renamed to "INPUT_PCF8574", so update the defines in the board resources accordingly. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 2f812c0bd5ee1d9c145fb1c3523ecdf45e05f8ce Author: Robin Getz Date: Fri Jun 26 12:52:46 2009 +0000 Blackfin: clean up early memory setup code Remove code duplication, and only print out memory warnings when they are an actual problem. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit a769094061289453e8c331d7746e0e26f5d1e38b Author: Mike Frysinger Date: Fri Jun 26 00:49:51 2009 +0000 Blackfin: fix module reloc handling for all memory regions The current module relocation code has spotty handling wrt different memory regions (like L1 instruction). Rather than try to fix each little spot, use the new common memory functions to greatly simplify everything and make sure it is always correct. Signed-off-by: Mike Frysinger commit 459fec9073bca854badc1a719f7c12f5162d0edd Author: Mike Frysinger Date: Fri Jun 26 00:48:33 2009 +0000 Blackfin: cleanup module section checking The current module section handling code has a lot of verbose statements copied and pasted throughout which makes it pretty hard to digest at a glance. By unifying all of these up front, it is a lot easier to quickly get an idea of what is actually going on. Signed-off-by: Mike Frysinger commit 70deca9f9ca99e7a5fb88b9e4cb18e5eb1b79120 Author: Mike Frysinger Date: Fri Jun 26 00:37:40 2009 +0000 Blackfin: convert malloc()/memset() to zalloc() in module code Signed-off-by: Mike Frysinger commit dc6b1ac98434d2c39d86de19aec9cf701b588c81 Author: Mike Frysinger Date: Fri Jun 26 00:35:24 2009 +0000 Blackfin: cleanup printk() usage in module code Convert all printk() statements to use the common pr_xxx() funcs and use the new pr_fmt() function to standardize all of the output. Signed-off-by: Mike Frysinger commit 22532578ee0f8725e0155e528c29ff992c1950c7 Author: Robin Getz Date: Thu Jun 25 15:49:38 2009 +0000 Blackfin: reject outdated/unused/wrong relocation types All kernel modules are required to be built with -mlong-calls and thus should not generate any of these relocations. If they do, it means the module has not been compiled properly, so rather than trying to handle them (and running into random run time errors) just error out on module load to force the module to be compiled correctly. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit c014e15a2f667f91b5c2d08a90d77197a89d8065 Author: Mike Frysinger Date: Wed Jun 24 20:02:58 2009 -0400 Blackfin: convert ptrace to new memory functions Now that we have a Blackfin memory function to figure out how to properly access the different regions, drop the custom memory range checks in our ptrace code and use that. It makes the code nicer and fixes bugs where the ptrace logic wasn't handling all the different regions. Signed-off-by: Mike Frysinger commit 18070dd6692a35bec266ed9ea559c24da4fdeeef Author: Mike Frysinger Date: Tue Jun 23 20:17:21 2009 +0000 Blackfin: cleanup traps decode_address() a bit Unify the address display to shrink the code, and add missing decoding of a few special Blackfin-specific regions (L1 ROM and MMRs). Signed-off-by: Mike Frysinger commit f4e129399c9ead8ec37910ce9793813698c2df51 Author: Philippe Gerum Date: Mon Jun 22 18:26:22 2009 +0200 Blackfin: inline I-pipe bypass code in ret_from_exception Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 9ea7770fdb0d6742d6a0aba62facda4b35356cf2 Author: Philippe Gerum Date: Mon Jun 22 18:26:07 2009 +0200 Blackfin: sanitize manual control of IPEND[4] Cleanup is performed in two ways: - remove extraneous updates of IPEND[4] w/ CONFIG_IPIPE, and document remaining use. - substitute pop-reg-from-stack instructions with plain SP fixups in all save-RETI-then-discard patterns. Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 7a7967dc1b606f8c88e33bbec773bf82b4a52e6e Author: Philippe Gerum Date: Mon Jun 22 18:25:52 2009 +0200 Blackfin: document __ipipe_call_irqtail Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 70f47202320623270f327e249df0121c09e45c09 Author: Philippe Gerum Date: Mon Jun 22 18:24:18 2009 +0200 Blackfin: allow EVT5 to preempt irqtail prologue (CONFIG_DEBUG_HWERR) Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit fc9afb997f3e871d1c289258d59b48db30984950 Author: Philippe Gerum Date: Mon Jun 22 18:24:02 2009 +0200 Blackfin: reuse evt_evt14 handler to perform irqtail epilogue Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 9703a73c983edab860d6d145c87480440fc83348 Author: Philippe Gerum Date: Mon Jun 22 18:23:48 2009 +0200 Blackfin: use generic name for EVT14 handler The purpose of the EVT14 handler may depend on whether CONFIG_IPIPE is enabled, albeit its implementation can be the same in both cases. When the interrupt pipeline is enabled, EVT14 can be used to raise the core priority level for the running code; when CONFIG_IPIPE is off, EVT14 can be used to lower this level before running softirq handlers. Rename evt14_softirq to evt_evt14 to pick an identifier that fits both, which allows to reuse the same vector setup code as well. Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit 6b8019c85e18295466095a5778a14c1e9a067554 Author: Philippe Gerum Date: Mon Jun 22 18:23:32 2009 +0200 Blackfin: allow high priority domains to preempt schedule_tail() ret_from_fork is always entered with hw interrupts off, which prevents real-time domains to preempt the Linux kernel during part of the initial context switch to the new task, which could in turn raise the worst-case latency figures. To avoid this, stall the root domain stage in the interrupt pipeline to keep the scheduling tail code free from Linux-handled IRQs, then enable hardware interrupts again. Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit bc569f1a77199926be97ba6266dbea27768264df Author: Philippe Gerum Date: Mon Jun 22 18:23:12 2009 +0200 Blackfin: export show_stack() to modules Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit b9c7eb498ddce1f77536707398b6175696570e80 Author: Philippe Gerum Date: Mon Jun 22 18:22:48 2009 +0200 Blackfin: fix misnomer of some I-pipe helpers __ipipe_{stall, unstall}_root_raw() identifiers may leave the reader under the impression that only the virtual state is affected by these operations, which is wrong. Pick names following the convention used throughout the interrupt pipeline code. Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit d8ca63955a81fd443016ef8813f8e6fd8dea7de4 Author: Philippe Gerum Date: Mon Jun 22 18:22:25 2009 +0200 Blackfin: checkpatch --file arch/blackfin/kernel/ipipe.c Signed-off-by: Philippe Gerum Signed-off-by: Mike Frysinger commit ae4f073c40bf677b03826262e6022b4a251fe437 Author: Robin Getz Date: Mon Jun 22 02:02:16 2009 +0000 Blackfin: make EVT3->EVT5 lowering more robust wrt IPEND[4] We handle many exceptions at EVT5 (hardware error level) so that we can catch exceptions in our exception handling code. Today - if the global interrupt enable bit (IPEND[4]) is set (interrupts disabled) our trap handling code goes into a infinite loop, since we need interrupts to be on to defer things to EVT5. Normal kernel code should not trigger this for any reason as IPEND[4] gets cleared early (when doing an interrupt context save) and the kernel stack there should be sane (or something much worse is happening in the system). But there have been a few times where this has happened, so this change makes sure we dump a proper crash message even when things have gone south. Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit d4b834c13940b5433d16ae3605794b3d74804348 Author: Barry Song Date: Thu Jun 4 10:14:17 2009 +0000 Blackfin: bf537-stamp: add resources for AD1938 audio card Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit e68d1ebc30e033612bb69f949da654d72beae57d Author: Yi Li Date: Wed Jun 3 09:46:22 2009 +0000 Blackfin: bf537-stamp: declare SPI IRQ resources Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit f39d56ec469a9ade221ceeb85a37b051374f616b Author: Michael Hennerich Date: Tue Dec 2 14:08:58 2008 +0000 Blackfin: bf537-stamp: update ADP5588 header name Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 3933fc952a5a5af4cf23fca94e20203251c9d825 Author: Jens Rosenboom Date: Thu Sep 10 06:25:11 2009 +0000 ipv6: Ignore route option with ROUTER_PREF_INVALID RFC4191 says that "If the Reserved (10) value is received, the Route Information Option MUST be ignored.", so this patch makes us conform to the RFC. This is different to the usage of the Default Router Preference, where an invalid value must indeed be treated as PREF_MEDIUM. Signed-off-by: Jens Rosenboom Signed-off-by: David S. Miller commit b9f602533e2f5c32a09a3a75904e5373cb6e6377 Author: Jiri Pirko Date: Mon Aug 31 11:09:38 2009 +0000 bonding: make ab_arp select active slaves as other modes When I was implementing primary_passive option (formely named primary_lazy) I've run into troubles with ab_arp. This is the only mode which is not using bond_select_active_slave() function to select active slave and instead it selects it itself. This seems to be not the right behaviour and it would be better to do it in bond_select_active_slave() for all cases. This patch makes this happen. Please review. Signed-off-by: Jiri Pirko Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit c127bdf9f6c8a8aaa531321721b29ab15f250a72 Merge: 4e36a95 bbac31f Author: David S. Miller Date: Wed Sep 16 17:01:24 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit fb40ba0d98968bc3454731360363d725b4f1064c Author: Theodore Ts'o Date: Wed Sep 16 19:30:40 2009 -0400 ext4: Add a tracepoint for ext4_alloc_da_blocks() Signed-off-by: "Theodore Ts'o" commit 1b9c12f44c1eb614fd3b8822bfe8f1f5d8e53737 Author: Theodore Ts'o Date: Thu Sep 17 08:32:22 2009 -0400 ext4: store EXT4_EXT_MIGRATE in i_state instead of i_flags EXT4_EXT_MIGRATE is only intended to be used for an in-memory flag, and the hex value assigned to it collides with FS_DIRECTIO_FL (which is also stored in i_flags). There's no reason for the EXT4_EXT_MIGRATE bit to be stored in i_flags, so we switch it to use i_state instead. Cc: "Aneesh Kumar K.V" Signed-off-by: "Theodore Ts'o" commit bbac31f4c0339f6c51afbd0edfb4959df9b53fa9 Author: Johannes Berg Date: Wed Sep 16 09:04:26 2009 -0700 cfg80211: fix SME connect There's a check saying /* we're good if we have both BSSID and channel */ if (wdev->conn->params.bssid && wdev->conn->params.channel) { but that isn't true -- we need the BSS struct. This leads to errors such as Trying to associate with 00:1b:53:11:dc:40 (SSID='TEST' freq=2412 MHz) ioctl[SIOCSIWFREQ]: No such file or directory ioctl[SIOCSIWESSID]: No such file or directory Association request to the driver failed Associated with 00:1b:53:11:dc:40 in wpa_supplicant, as reported by Holger. Instead, we really need to have the BSS struct, and if we don't, then we need to initiate a scan for it. But we may already have the BSS struct here, so hang on to it if we do and scan if we don't. Signed-off-by: Johannes Berg Tested-by: Holger Schurig Signed-off-by: John W. Linville commit 8c6c03fe230c448e5795464a9d73efb796acf3d6 Author: Pavel Roskin Date: Tue Sep 15 22:24:30 2009 -0400 rc80211_minstrel: fix contention window calculation The contention window is supposed to be a power of two minus one, i.e. 15, 31, 63, 127... minstrel_rate_init() forgets to subtract 1, so the sequence becomes 15, 32, 66, 134... Bug reported by Dan Halperin Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit de32cce132a9c96e1ba3fddc0c5a6d110af42ea4 Author: Randy Dunlap Date: Tue Sep 15 14:52:40 2009 -0700 ssb/sdio: fix printk format warnings Fix printk format warnings: drivers/ssb/sdio.c:336: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'size_t' drivers/ssb/sdio.c:443: warning: format '%u' expects type 'unsigned int', but argument 7 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit f7f71173ea69d4dabf166533beffa9294090b7ef Author: Christian Lamparter Date: Mon Sep 14 23:08:43 2009 +0200 p54usb: add Zcomax XG-705A usbid This patch adds a new usbid for Zcomax XG-705A to the device table. Cc: stable@kernel.org Reported-by: Jari Jaakola Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit d4e54e871f4d2ca29df081abf8e0d5209d252979 Author: Huang Weiyi Date: Wed Sep 16 21:05:45 2009 +0800 ASoC: remove unused #include Remove unused #include ('s) in sound/soc/codecs/ad1836.c sound/soc/codecs/ad1938.c sound/soc/codecs/wm8974.c Signed-off-by: Huang Weiyi Signed-off-by: Mark Brown commit f4c3f03838ae47a92f2d15d48ddf68deae5d7ebb Author: Anirban Sinha Date: Wed Sep 16 10:16:18 2009 -0700 Fix ia64 build breakage in head.S The "cleanup console_print()" patch in commit 353f6dd2dec992ddd34620a94b051b0f76227379 introduced an "extern" declaration into an assembly language file. Remove it. Signed-off-by: Anirban Sinha Signed-off-by: Tony Luck Signed-off-by: Linus Torvalds commit 40d9d82c8ab8c4e2373a23a1e31dc8d84c53aa01 Merge: 983f216 b36461d Author: Ingo Molnar Date: Wed Sep 16 21:16:37 2009 +0200 Merge branch 'tip/tracing/core4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit fb0a387dcdcd21aab1b09ee7fd80b7c979bdbbfd Author: Eric Sandeen Date: Wed Sep 16 14:45:10 2009 -0400 ext4: limit block allocations for indirect-block files to < 2^32 Today, the ext4 allocator will happily allocate blocks past 2^32 for indirect-block files, which results in the block numbers getting truncated, and corruption ensues. This patch limits such allocations to < 2^32, and adds BUG_ONs if we do get blocks larger than that. This should address RH Bug 519471, ext4 bitmap allocator must limit blocks to < 2^32 * ext4_find_goal() is modified to choose a goal < UINT_MAX, so that our starting point is in an acceptable range. * ext4_xattr_block_set() is modified such that the goal block is < UINT_MAX, as above. * ext4_mb_regular_allocator() is modified so that the group search does not continue into groups which are too high * ext4_mb_use_preallocated() has a check that we don't use preallocated space which is too far out * ext4_alloc_blocks() and ext4_xattr_block_set() add some BUG_ONs No attempt has been made to limit inode locations to < 2^32, so we may wind up with blocks far from their inodes. Doing this much already will lead to some odd ENOSPC issues when the "lower 32" gets full, and further restricting inodes could make that even weirder. For high inodes, choosing a goal of the original, % UINT_MAX, may be a bit odd, but then we're in an odd situation anyway, and I don't know of a better heuristic. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit c40ce3c9ea97425a12d7e44031a98fe50add6fc1 Author: Akira Fujita Date: Wed Sep 16 14:25:39 2009 -0400 ext4: Fix different block exchange issue in EXT4_IOC_MOVE_EXT If logical block offset of original file which is passed to EXT4_IOC_MOVE_EXT is different from donor file's, a calculation error occurs in ext4_calc_swap_extents(), therefore wrong block is exchanged between original file and donor file. As a result, we hit ext4_error() in check_block_validity(). To detect the logical offset difference in EXT4_IOC_MOVE_EXT, add checks to mext_calc_swap_extents() and handle it as error, since data exchange must be done between the same blocks in EXT4_IOC_MOVE_EXT. Reported-by: Peng Tao Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 347fa6f1c7cb5df2b38d3c9167cfe242ce0cd1da Author: Akira Fujita Date: Wed Sep 16 14:25:07 2009 -0400 ext4: Add null extent check to ext_get_path There is the possibility that path structure which is taken by ext4_ext_find_extent() indicates null extents. Because during data block exchanging in ext4_move_extents(), constitution of an extent tree may be changed. As a solution, the patch adds null extent check to ext_get_path(). Reported-by: Peng Tao Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 2147b1a6a48e28399120ca51d4a91840a278611f Author: Akira Fujita Date: Wed Sep 16 13:46:35 2009 -0400 ext4: Replace BUG_ON() with ext4_error() in move_extents.c Replace BUG_ON calls with a call to ext4_error() to print an error message if EXT4_IOC_MOVE_EXT failed with some kind of reasons. This will help to debug. Ted pointed this out, thanks. Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit e8505970af46658ece2545e9bc1fe594998fdcdf Author: Akira Fujita Date: Wed Sep 16 13:46:38 2009 -0400 ext4: Replace get_ext_path macro with an inline funciton Replace get_ext_path macro with an inline function, since this macro looks like a function call but its arguments get modified. Ted pointed this out, thanks. Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 85609c1ccda64af7d7c277469183f20e4f3b69c3 Author: Muralidharan Karicheri Date: Wed Sep 16 13:15:30 2009 -0400 DaVinci: DM646x - platform changes for vpif capture and display drivers VPIF display changes (Chaithrika) Add platform device and resource structures. Also define a platform specific clock setup function that can be accessed by the driver to configure the clock and CPLD. VPIF caputure changes (Murali) 1) Modify vpif_subdev_info to add board_info, routing information and vpif interface configuration. Remove addr since it is part of board_info 2) Add code to setup channel mode and input decoder path for vpif capture driver Also incorporated comments against version v0 of the patch series and added a spinlock to protect writes to common registers Tested on DM6467 on channel 0 using TVP514x. Following bootargs used for drivers: vpif_capture.ch0_bufsize=829440 vpif_display.ch2_bufsize=829440 Signed-off-by: Manjunath Hadli Signed-off-by: Brijesh Jadav Signed-off-by: Chaithrika U S Reviewed-by: Hans Verkuil Signed-off-by: Muralidharan Karicheri Signed-off-by: Kevin Hilman commit 51e68e27d310034332b67a6762914af9589b3db5 Author: Muralidharan Karicheri Date: Wed Sep 16 12:02:50 2009 -0400 davinci: DM355 - platform changes for vpfe capture DM355 platform and board setup This has platform and board setup changes to support vpfe capture driver for DM355 EVMs. Tested video capture on DM355 using tvp514x Reviewed-by: Hans Verkuil Reviewed-by: Laurent Pinchart Reviewed-by: David Brownell Signed-off-by: Muralidharan Karicheri Signed-off-by: Denys Dmytriyenko Signed-off-by: Kevin Hilman commit ab8e8df87421574fe053bf1770353af5b24a2bbb Author: Muralidharan Karicheri Date: Wed Sep 16 11:53:18 2009 -0400 davinci: DM644x platform changes for vpfe capture DM644x platform and board setup This adds platform and board setup changes required to support vpfe capture driver on DM644x Tested video capture on DM6446 with tvp514x driver Reviewed-by: Hans Verkuil Reviewed-by: Laurent Pinchart Reviewed-by: David Brownell Signed-off-by: Muralidharan Karicheri Signed-off-by: Denys Dmytriyenko Signed-off-by: Kevin Hilman commit 56fcad29d4b3cbcbb2ed47a9d3ceca3f57175417 Author: Jan Kara Date: Tue Sep 8 14:59:42 2009 +0200 ext3: Flush disk caches on fsync when needed In case we fsync() a file and inode is not dirty, we don't force a transaction to disk and hence don't flush disk caches. Thus file data could be just in disk caches and not on persistent storage. Fix the problem by flushing disk caches if we didn't force a transaction commit. Signed-off-by: Jan Kara commit 4f003fd32bc54ec438b8691795279844df27ce38 Author: Chris Mason Date: Tue Sep 8 00:22:14 2009 +0200 ext3: Add locking to ext3_do_update_inode I've been struggling with this off and on while I've been testing the data=guarded work. The symptom is corrupted orphan lists and inodes with the wrong i_size stored on disk. I was convinced the data=guarded code was just missing a call to ext3_mark_inode_dirty, but tracing showed the i_disksize I was sending to ext3_mark_inode_dirty wasn't actually making it to the drive. ext3_mark_inode_dirty can be called without locks held (atime updates and a few others), so the data=guarded code uses locks while updating the in-memory inode, and then calls ext3_mark_inode_dirty without any locks held. But, ext3_mark_inode_dirty has no internal locking to make sure that only one CPU is updating the buffer head at a time. Generally this works out ok because everyone that changes the inode then calls ext3_mark_inode_dirty themselves. Even though it races, eventually someone updates the buffer heads and things move on. But there is still a risk of the wrong values getting in, and the data=guarded code seems to hit the race very often. Since everyone that changes the inode also logs it, it should be possible to fix this with some memory barriers. I'll leave that as an exercise to the reader and lock the buffer head instead. It it probably a good idea to have a different patch series for lockless bit flipping on the ext3 i_state field. ext3_do_update_inode &= clears EXT3_STATE_NEW without any locks held. Signed-off-by: Chris Mason Signed-off-by: Jan Kara commit 00171d3c7e3b738ba582c7a9b37408e796f49046 Author: Jan Kara Date: Tue Aug 11 19:06:10 2009 +0200 ext3: Fix possible deadlock between ext3_truncate() and ext3_get_blocks() During truncate we are sometimes forced to start a new transaction as the amount of blocks to be journaled is both quite large and hard to predict. So far we restarted a transaction while holding truncate_mutex and that violates lock ordering because truncate_mutex ranks below transaction start (and it can lead to a real deadlock with ext3_get_blocks() allocating new blocks from ext3_writepage()). Luckily, the problem is easy to fix: We just drop the truncate_mutex before restarting the transaction and acquire it afterwards. We are safe to do this as by the time ext3_truncate() is called, all the page cache for the truncated part of the file is dropped and so writepage() cannot come and allocate new blocks in the part of the file we are truncating. The rest of writers is stopped by us holding i_mutex. Signed-off-by: Jan Kara commit 3adae9da0b35d2ca908039f42a1e90395c335181 Author: Jan Kara Date: Tue Aug 11 17:27:21 2009 +0200 jbd: Annotate transaction start also for journal_restart() lockdep annotation for a transaction start has been at the end of journal_start(). But a transaction is also started from journal_restart(). Move the lockdep annotation to start_this_handle() which covers both cases. Signed-off-by: Jan Kara commit 9c28cbccec66a5ca292c6659bf5a0fe0c8459fa7 Author: Jan Kara Date: Mon Aug 3 19:21:00 2009 +0200 jbd: Journal block numbers can ever be only 32-bit use unsigned int for them It does not make sense to store block number for journal as unsigned long since they can be only 32-bit (because of on-disk format limitation). So change in-memory structures and variables to use unsigned int instead. Signed-off-by: Jan Kara commit 19003c18e9b41f5c3aeb81c92356f90958e1f22f Author: Jan Kara Date: Mon Aug 3 19:00:57 2009 +0200 ext3: Update MAINTAINERS for ext3 and JBD Stephen agreed that he's unlikely to find time for working on ext3/JBD in the near future and is not working on it for some time already. So remove him. Added myself to JBD since after Andrew I'm probably the second most sensible contact ;). CC: Stephen Tweedie Signed-off-by: Jan Kara commit b449fc6fcc07a392c69f3c1db9a4ad4dda8cbcba Author: Andreas Dilger Date: Thu Jul 30 20:09:46 2009 +0200 JBD: round commit timer up to avoid uncommitted transaction Fix jiffie rounding in jbd commit timer setup code. Rounding down could cause the timer to be fired before the corresponding transaction has expired. That transaction can stay not committed forever if no new transaction is created or explicit sync/umount happens. Signed-off-by: Andreas Dilger Signed-off-by: Jan Kara commit ab86e5765d41a5eb4239a1c04d613db87bea5ed8 Merge: 7ea6176 2b2af54 Author: Linus Torvalds Date: Wed Sep 16 08:27:10 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: devtmpfs - kernel-maintained tmpfs-based /dev debugfs: Modify default debugfs directory for debugging pktcdvd. debugfs: Modified default dir of debugfs for debugging UHCI. debugfs: Change debugfs directory of IWMC3200 debugfs: Change debuhgfs directory of trace-events-sample.h debugfs: Fix mount directory of debugfs by default in events.txt hpilo: add poll f_op hpilo: add interrupt handler hpilo: staging for interrupt handling driver core: platform_device_add_data(): use kmemdup() Driver core: Add support for compatibility classes uio: add generic driver for PCI 2.3 devices driver-core: move dma-coherent.c from kernel to driver/base mem_class: fix bug mem_class: use minor as index instead of searching the array driver model: constify attribute groups UIO: remove 'default n' from Kconfig Driver core: Add accessor for device platform data Driver core: move dev_get/set_drvdata to drivers/base/dd.c Driver core: add new device to bus's list before probing commit f0adb134d8dc9993a9998dc50845ec4f6ff4fadc Author: Kurt Roeckx Date: Wed Sep 16 11:09:32 2009 -0400 [CPUFREQ] Fix NULL ptr regression in powernow-k8 Fixes bugzilla #13780 From: Kurt Roeckx Signed-off-by: Dave Jones commit 7ea61767e41e2baedd6a968d13f56026522e1207 Merge: 0950efd e9d5992 Author: Linus Torvalds Date: Wed Sep 16 08:11:54 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: (641 commits) Staging: remove sxg driver Staging: remove heci driver Staging: remove at76_usb wireless driver. Staging: rspiusb: remove the driver Staging: meilhaus: remove the drivers Staging: remove me4000 driver. Staging: line6: ffzb returns an unsigned integer Staging: line6: pod.c: style cleanups Staging: iio: introduce missing kfree Staging: dream: introduce missing kfree Staging: comedi: addi-data: NULL dereference of amcc in v_pci_card_list_init() Staging: vt665x: fix built-in compiling Staging: rt3090: enable NATIVE_WPA_SUPPLICANT_SUPPORT option Staging: rt3090: port changes in WPA_MIX_PAIR_CIPHER to rt3090 Staging: rt3090: rename device from raX to wlanX Staging: rt3090: remove possible conflict with rt2860 Staging: rt2860/rt2870/rt3070/rt3090: fix compiler warning on x86_64 Staging: rt2860: add new device ids Staging: rt3090: add device id 1462:891a Staging: asus_oled: Cleaned up checkpatch issues. ... commit 0950efd1a1490e869d19ec631eed75ef57772f8b Merge: 4406c56 889c277 Author: Linus Torvalds Date: Wed Sep 16 08:11:23 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pcmcia-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/pcmcia-2.6: pcmcia: document return value of pcmcia_loop_config pcmcia: dtl1_cs: fix pcmcia_loop_config logic pcmcia: drop non-existant includes pcmcia: disable prefetch/burst for OZ6933 pcmcia: fix incorrect argument order to list_add_tail() pcmcia: drivers/pcmcia/pcmcia_resource.c: Remove unnecessary semicolons pcmcia: Use phys_addr_t for physical addresses pcmcia: drivers/pcmcia: Make static commit 4406c56d0a4da7a37b9180abeaece6cd00bcc874 Merge: 6b7b352 5e3573d Author: Linus Torvalds Date: Wed Sep 16 07:49:54 2009 -0700 Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (75 commits) PCI hotplug: clean up acpi_run_hpp() PCI hotplug: acpiphp: use generic pci_configure_slot() PCI hotplug: shpchp: use generic pci_configure_slot() PCI hotplug: pciehp: use generic pci_configure_slot() PCI hotplug: add pci_configure_slot() PCI hotplug: clean up acpi_get_hp_params_from_firmware() interface PCI hotplug: acpiphp: don't cache hotplug_params in acpiphp_bridge PCI hotplug: acpiphp: remove superfluous _HPP/_HPX evaluation PCI: Clear saved_state after the state has been restored PCI PM: Return error codes from pci_pm_resume() PCI: use dev_printk in quirk messages PCI / PCIe portdrv: Fix pcie_portdrv_slot_reset() PCI Hotplug: convert acpi_pci_detect_ejectable() to take an acpi_handle PCI Hotplug: acpiphp: find bridges the easy way PCI: pcie portdrv: remove unused variable PCI / ACPI PM: Propagate wake-up enable for devices w/o ACPI support ACPI PM: Replace wakeup.prepared with reference counter PCI PM: Introduce device flag wakeup_prepared PCI / ACPI PM: Rework some debug messages PCI PM: Simplify PCI wake-up code ... Fixed up conflict in arch/powerpc/kernel/pci_64.c due to OF device tree scanning having been moved and merged for the 32- and 64-bit cases. The 'needs_freset' initialization added in 6e19314cc ("PCI/powerpc: support PCIe fundamental reset") is now in arch/powerpc/kernel/pci_of_scan.c. commit 6b7b352f2102e21f9d8f38e932f01d9c5705c073 Merge: a3eb51e cb684b5 Author: Linus Torvalds Date: Wed Sep 16 07:46:34 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: fix linkage problem with blk_iopoll and !CONFIG_BLOCK commit a3eb51ecfa1d7be689f05c9f12cb0fcf862c516e Merge: fdaa45e 1ef7d9a Author: Linus Torvalds Date: Wed Sep 16 07:45:38 2009 -0700 Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block * 'writeback' of git://git.kernel.dk/linux-2.6-block: writeback: fix possible bdi writeback refcounting problem writeback: Fix bdi use after free in wb_work_complete() writeback: improve scalability of bdi writeback work queues writeback: remove smp_mb(), it's not needed with list_add_tail_rcu() writeback: use schedule_timeout_interruptible() writeback: add comments to bdi_work structure writeback: splice dirty inode entries to default bdi on bdi_destroy() writeback: separate starting of sync vs opportunistic writeback writeback: inline allocation failure handling in bdi_alloc_queue_work() writeback: use RCU to protect bdi_list writeback: only use bdi_writeback_all() for WB_SYNC_NONE writeout fs: Assign bdi in super_block writeback: make wb_writeback() take an argument structure writeback: merely wakeup flusher thread if work allocation fails for WB_SYNC_NONE writeback: get rid of wbc->for_writepages fs: remove bdev->bd_inode_backing_dev_info commit 182a85f8a119c789610a9d464f4129ded9f3c107 Author: Peter Zijlstra Date: Wed Sep 16 13:24:49 2009 +0200 sched: Disable wakeup balancing Sysbench thinks SD_BALANCE_WAKE is too agressive and kbuild doesn't really mind too much, SD_BALANCE_NEWIDLE picks up most of the slack. On a dual socket, quad core, dual thread nehalem system: sysbench (--num_threads=16): SD_BALANCE_WAKE-: 13982 tx/s SD_BALANCE_WAKE+: 15688 tx/s kbuild (-j16): SD_BALANCE_WAKE-: 47.648295846 seconds time elapsed ( +- 0.312% ) SD_BALANCE_WAKE+: 47.608607360 seconds time elapsed ( +- 0.026% ) (same within noise) Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5a9b86f647a56862cdc0a1362bfb015ae921af7f Author: Peter Zijlstra Date: Wed Sep 16 13:47:58 2009 +0200 sched: Rename flags to wake_flags For consistencies sake, rename the argument (again). Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5158f4e4428c6b8d52796b3b460e95796123a114 Author: Peter Zijlstra Date: Wed Sep 16 13:46:59 2009 +0200 sched: Clean up the load_idx selection in select_task_rq_fair Clean up the code a little. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 3b6408942206f940dd538e980e9904e48f4b64f8 Author: Peter Zijlstra Date: Wed Sep 16 13:44:33 2009 +0200 sched: Optimize cgroup vs wakeup a bit We don't need to call update_shares() for each domain we iterate, just got the largets one. However, we should call it before wake_affine() as well, so that that can use up-to-date values too. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0ec04e16d08b69d8da46abbcfa3e3f2cd9738852 Author: Ingo Molnar Date: Wed Sep 16 17:40:48 2009 +0200 perf sched: Add 'perf sched map' scheduling event map printout This prints a textual context-switching outline of workload captured via perf sched record. For example, on a 16 CPU box it outputs: N1 O1 . . . S1 . . . B0 . *I0 C1 . M1 . 23002.773423 secs N1 O1 . *Q0 . S1 . . . B0 . I0 C1 . M1 . 23002.773423 secs N1 O1 . Q0 . S1 . . . B0 . *R1 C1 . M1 . 23002.773485 secs N1 O1 . Q0 . S1 . *S0 . B0 . R1 C1 . M1 . 23002.773478 secs *L0 O1 . Q0 . S1 . S0 . B0 . R1 C1 . M1 . 23002.773523 secs L0 O1 . *. . S1 . S0 . B0 . R1 C1 . M1 . 23002.773531 secs L0 O1 . . . S1 . S0 . B0 . R1 C1 *T1 M1 . 23002.773547 secs T1 => irqbalance:2089 L0 O1 . . . S1 . S0 . *P0 . R1 C1 T1 M1 . 23002.773549 secs *N1 O1 . . . S1 . S0 . P0 . R1 C1 T1 M1 . 23002.773566 secs N1 O1 . . . *J0 . S0 . P0 . R1 C1 T1 M1 . 23002.773571 secs N1 O1 . . . J0 . S0 *B0 P0 . R1 C1 T1 M1 . 23002.773592 secs N1 O1 . . . J0 . *U0 B0 P0 . R1 C1 T1 M1 . 23002.773582 secs N1 O1 . . . *S1 . U0 B0 P0 . R1 C1 T1 M1 . 23002.773604 secs N1 O1 . . . S1 . U0 B0 *. . R1 C1 T1 M1 . 23002.773615 secs N1 O1 . . . S1 . U0 B0 . . *K0 C1 T1 M1 . 23002.773631 secs N1 O1 . *M0 . S1 . U0 B0 . . K0 C1 T1 M1 . 23002.773624 secs N1 O1 . M0 . S1 . U0 *. . . K0 C1 T1 M1 . 23002.773644 secs N1 O1 . M0 . S1 . U0 . . . *R1 C1 T1 M1 . 23002.773662 secs N1 O1 . M0 . S1 . *. . . . R1 C1 T1 M1 . 23002.773648 secs N1 O1 . *. . S1 . . . . . R1 C1 T1 M1 . 23002.773680 secs N1 O1 . . . *L0 . . . . . R1 C1 T1 M1 . 23002.773717 secs *N0 O1 . . . L0 . . . . . R1 C1 T1 M1 . 23002.773709 secs *N1 O1 . . . L0 . . . . . R1 C1 T1 M1 . 23002.773747 secs Columns stand for individual CPUs, from CPU0 to CPU15, and the two-letter shortcuts stand for tasks that are running on a CPU. '*' denotes the CPU that had the event. A dot signals an idle CPU. New tasks are assigned new two-letter shortcuts - when they occur first they are printed. In the above example 'T1' stood for irqbalance: T1 => irqbalance:2089 Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1ef7d9aa32a8ee054c4d4fdcd2ea537c04d61b2f Author: Nick Piggin Date: Tue Sep 15 21:37:55 2009 +0200 writeback: fix possible bdi writeback refcounting problem wb_clear_pending AFAIKS should not be called after the item has been put on the list, except by the worker threads. It could lead to the situation where the refcount is decremented below 0 and cause lots of problems. Presumably the !wb_has_dirty_io case is not a common one, so it can be discovered when the thread wakes up to check? Also add a comment in bdi_work_clear. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 77b9d059cb3ddb8b1246d5878e81d52926550b23 Author: Nick Piggin Date: Tue Sep 15 21:34:51 2009 +0200 writeback: Fix bdi use after free in wb_work_complete() By the time bdi_work_on_stack gets evaluated again in bdi_work_free, it can already have been deallocated and used for something else in the !on stack case, giving a false positive in this test and causing corruption. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 77fad5e625e56eb31a343ae1d489979fdc61a2aa Author: Nick Piggin Date: Tue Sep 15 21:34:12 2009 +0200 writeback: improve scalability of bdi writeback work queues If you're going to do an atomic RMW on each list entry, there's not much point in all the RCU complexities of the list walking. This is only going to help the multi-thread case I guess, but it doesn't hurt to do now. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit deed62edffe600bc5b379c872d3004116e001b66 Author: Nick Piggin Date: Tue Sep 15 21:32:58 2009 +0200 writeback: remove smp_mb(), it's not needed with list_add_tail_rcu() list_add_tail_rcu contains required barriers. Signed-off-by: Nick Piggin Signed-off-by: Jens Axboe commit 49db041430e8a856dbc3af15430bf068f1c74655 Author: Jens Axboe Date: Tue Sep 15 21:27:40 2009 +0200 writeback: use schedule_timeout_interruptible() Gets rid of a manual set_current_state(). Signed-off-by: Jens Axboe commit 8010c3b6349b407f8f11b3f4d7e9f94cb00fe528 Author: Jens Axboe Date: Tue Sep 15 20:04:57 2009 +0200 writeback: add comments to bdi_work structure And document its retriever, get_next_work_item(). Acked-by: Jan Kara Signed-off-by: Jens Axboe commit ce5f8e7795195edb6f84f74aa9d72e739df38486 Author: Jens Axboe Date: Mon Sep 14 12:57:56 2009 +0200 writeback: splice dirty inode entries to default bdi on bdi_destroy() We cannot safely ensure that the inodes are all gone at this point in time, and we must not destroy this bdi with inodes having off it. So just splice our entries to the default bdi since that one will always persist. Signed-off-by: Jens Axboe commit b6e51316daede0633e9274e1e30391cfa4747877 Author: Jens Axboe Date: Wed Sep 16 15:13:54 2009 +0200 writeback: separate starting of sync vs opportunistic writeback bdi_start_writeback() is currently split into two paths, one for WB_SYNC_NONE and one for WB_SYNC_ALL. Add bdi_sync_writeback() for WB_SYNC_ALL writeback and let bdi_start_writeback() handle only WB_SYNC_NONE. Push down the writeback_control allocation and only accept the parameters that make sense for each function. This cleans up the API considerably. Signed-off-by: Jens Axboe commit bcddc3f01c9122882c8b9f12ab94a934e55aef97 Author: Jens Axboe Date: Sun Sep 13 20:07:36 2009 +0200 writeback: inline allocation failure handling in bdi_alloc_queue_work() This gets rid of work == NULL in bdi_queue_work() and puts the OOM handling where it belongs. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit cfc4ba5365449cb6b5c9f68d755a142f17da1e47 Author: Jens Axboe Date: Mon Sep 14 13:12:40 2009 +0200 writeback: use RCU to protect bdi_list Now that bdi_writeback_all() no longer handles integrity writeback, it doesn't have to block anymore. This means that we can switch bdi_list reader side protection to RCU. Signed-off-by: Jens Axboe commit f11fcae8401a3175f528e2f7917362645d570111 Author: Jens Axboe Date: Tue Sep 15 09:53:35 2009 +0200 writeback: only use bdi_writeback_all() for WB_SYNC_NONE writeout Data integrity writeback must use bdi_start_writeback() and ensure that wbc->sb and wbc->bdi are set. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit 32a88aa1b6dfb901cec64e1898cac78d0f25028a Author: Jens Axboe Date: Wed Sep 16 15:02:33 2009 +0200 fs: Assign bdi in super_block We do this automatically in get_sb_bdev() from the set_bdev_super() callback. Filesystems that have their own private backing_dev_info must assign that in ->fill_super(). Note that ->s_bdi assignment is required for proper writeback! Acked-by: Christoph Hellwig Signed-off-by: Jens Axboe commit c4a77a6c7dcff04a2abc7fe4b6b2ae605be41c5b Author: Jens Axboe Date: Wed Sep 16 15:18:25 2009 +0200 writeback: make wb_writeback() take an argument structure We need to be able to pass in range_cyclic as well, so instead of growing yet another argument, split the arguments into a struct wb_writeback_args structure that we can use internally. Also makes it easier to just copy all members to an on-stack struct, since we can't access work after clearing the pending bit. Signed-off-by: Jens Axboe commit f0fad8a530e7cbad5f686dbca3079d1a626a3882 Author: Christoph Hellwig Date: Fri Sep 11 09:47:56 2009 +0200 writeback: merely wakeup flusher thread if work allocation fails for WB_SYNC_NONE Since it's an opportunistic writeback and not a data integrity action, don't punt to blocking writeback. Just wakeup the thread and it will flush old data. Acked-by: Jan Kara Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 1fe06ad89255c211fe100d7f690d10b161398df8 Author: Jens Axboe Date: Tue Sep 15 15:10:20 2009 +0200 writeback: get rid of wbc->for_writepages It's only set, it's never checked. Kill it. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit 2c96ce9f2084c1e04d02883e622f74a537a63aea Author: Jens Axboe Date: Tue Sep 15 09:43:56 2009 +0200 fs: remove bdev->bd_inode_backing_dev_info It has been unused since it was introduced in: commit 520808bf20e90fdbdb320264ba7dd5cf9d47dcac Author: Andrew Morton Date: Fri May 21 00:46:17 2004 -0700 [PATCH] block device layer: separate backing_dev_info infrastructure So lets just kill it. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit b36461da2a0389149d7f88f3cbc05a30d1db9faa Author: Atsushi Tsuji Date: Tue Sep 15 19:06:30 2009 +0900 tracing: Fix minor bugs for __unregister_ftrace_function_probe Fix the condition of strcmp for "*". Also fix NULL pointer dereference when glob is NULL. Signed-off-by: Atsushi Tsuji LKML-Reference: <4AAF6726.5090905@bk.jp.nec.com> Signed-off-by: Steven Rostedt commit 7bd867dfb4e0357e06a3211ab2bd0e714110def3 Author: Feng Tang Date: Thu Sep 10 10:48:56 2009 +0800 x86: Move get/set_wallclock to x86_platform_ops get/set_wallclock() have already a set of platform dependent implementations (default, EFI, paravirt). MRST will add another variant. Moving them to platform ops simplifies the existing code and minimizes the effort to integrate new variants. Signed-off-by: Feng Tang LKML-Reference: Signed-off-by: Thomas Gleixner commit 79a9d99434b104c562f30f21b75317667f444793 Author: Csaba Henk Date: Wed Aug 26 19:18:24 2009 +0200 fuse: add fusectl interface to max_background Make the max_background and congestion_threshold parameters of a FUSE mount tunable at runtime by adding the respective knobs to its directory within the fusectl filesystem. Signed-off-by: Csaba Henk Signed-off-by: Miklos Szeredi commit 487ea5af6358cb27c994e2cf056d4ee0872e43c3 Author: Csaba Henk Date: Wed Aug 26 19:17:22 2009 +0200 fuse: limit user-specified values of max background requests An untrusted user could DoS the system if s/he were allowed to accumulate an arbitrary number of pending background requests by setting the above limits to extremely high values in INIT. This patch excludes this possibility by imposing global upper limits on the possible values of per-mount "max background requests" and "congestion threshold" parameters for unprivileged FUSE filesystems. These global limits are implemented as module parameters. Signed-off-by: Csaba Henk Signed-off-by: Miklos Szeredi commit d6db07ded51c5fb4df2f4a32e6a41e9bb5db7fc4 Author: Csaba Henk Date: Mon Aug 24 06:14:07 2009 +0200 fuse: use drop_nlink() instead of direct nlink manipulation drop_nlink() is the API function to decrease the link count of an inode. However, at a place the control filesystem used the decrement operator on i_nlink directly. Fix this. Cc: Anand Avati Signed-off-by: Csaba Henk Signed-off-by: Miklos Szeredi commit 06724535f8fa26e78238bf8adfc9c81650a665f7 Author: Borislav Petkov Date: Wed Sep 16 13:05:46 2009 +0200 amd64_edac: check NB MCE bank enable on the current node properly The old code was using smp_call_function_many which skips the current cpu if it is in the supplied cpumask. Switch to the rdmsr_on_cpus() interface which takes care of that. In addition, add get_cpus_on_this_dct_cpumask helper which computes a cpumask of all the cores on a node and thus on a DCT. Signed-off-by: Borislav Petkov commit 57a30854c89f862eeada4cce822f3a87bc006c95 Author: Wan Wei Date: Fri Aug 7 17:04:49 2009 +0200 amd64_edac: Rewrite unganged mode code of f10_early_channel_count Simplify the procedure by checking if there is any DIMM in each channel. This patch will fix the bugs such as when there is no DIMMs under certain node, two DIMMs in the same channel, and only one DIMM in each channel of the node. Borislav: minor fixups Signed-off-by: Wan Wei Signed-off-by: Borislav Petkov commit be3468e8ff768c986849870b24e85fa84806da73 Author: Borislav Petkov Date: Wed Aug 5 15:47:22 2009 +0200 amd64_edac: cleanup amd64_check_ecc_enabled Simplify code flow and make sure return value is always valid since further driver init depends on it. Carve out long warning string and make code more readable. Shorten some names, while at it. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov commit 80ed0987f363d7eb50193df3e6f6d71451f74bc3 Author: Ingo Molnar Date: Wed Sep 16 14:12:36 2009 +0200 perf sched: Make idle thread and comm/pid names more consistent Peter noticed that we have 3 ways of referring to the idle thread: [idle]:0 swapper:0 swapper-0 Standardize on 'swapper:0'. Reported-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit c8a37751043427c6e4397a2cbfd617cb5f215c72 Author: Ingo Molnar Date: Wed Sep 16 14:07:00 2009 +0200 perf sched: Sanity check context switch events Use 'perf sched latency' to track the current task based on context-switch events, and flag the cases where there's some impossible transition: such as a PID being switched out that was not switched in. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit dc02bf7178c8e2cb3d442ae19027b736d51c7dd5 Author: Ingo Molnar Date: Wed Sep 16 13:45:00 2009 +0200 perf sched: Account for lost events, increase default buffering Output such lost event and state machine weirdness stats: TOTAL: | 14974.910 ms | 46384 | --------------------------------------------------- INFO: 8.865% lost events (19132 out of 215819, in 8 chunks) INFO: 0.198% state machine bugs (49 out of 24708) (due to lost events?) And increase buffering to -m 1024 (4 MB) by default. Since we use output multiplexing that kind of space is needed. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 6a8126911a5ab167783fce18ae9cc70ec9b84fe2 Author: Andreas Herrmann Date: Wed Sep 16 11:33:40 2009 +0200 x86, EDAC: Provide function to return NodeId of a CPU Signed-off-by: Andreas Herrmann Signed-off-by: Borislav Petkov Acked-by: H. Peter Anvin commit b9183f9b99a9bd3349aefbd51d22f7e1bdc4a087 Author: Ingo Molnar Date: Tue Sep 15 15:56:32 2009 +0200 amd64_edac: build driver only on AMD hardware -tip testing found the following build failure (config attached): drivers/built-in.o: In function `amd64_check': amd64_edac.c:(.text+0x3e9491): undefined reference to `amd_decode_nb_mce' drivers/built-in.o: In function `amd64_init_2nd_stage': amd64_edac.c:(.text+0x3e9b46): undefined reference to `amd_report_gart_errors' amd64_edac.c:(.text+0x3e9b55): undefined reference to `amd_register_ecc_decoder' drivers/built-in.o: In function `amd64_nbea_store': amd64_edac_dbg.c:(.text+0x3ea22e): undefined reference to `amd_decode_nb_mce' drivers/built-in.o: In function `amd64_remove_one_instance': amd64_edac.c:(.devexit.text+0x3eea): undefined reference to `amd_report_gart_errors' amd64_edac.c:(.devexit.text+0x3ef6): undefined reference to `amd_unregister_ecc_decoder' the AMD EDAC code has a dependency on CONFIG_CPU_SUP_AMD facilities. The patch below solves the problem here. Signed-off-by: Ingo Molnar Signed-off-by: Borislav Petkov commit 7c423e98856df9b941223a7e7845b2502ad84b00 Author: Peter Zijlstra Date: Wed Sep 16 09:38:24 2009 +0200 sched: x86: Name old_perf in a unique way Silly percpu bits don't respect static.. Signed-off-by: Peter Zijlstra LKML-Reference: commit 54e2603f1a85b9725aa13518d69148b6e7061aa9 Author: Thomas Gleixner Date: Wed Sep 16 08:42:26 2009 +0200 x86: platform: Fix section annotations init_IRQ() and x86_late_time_init() are missing __init annotations. The x86 platform ops variables are annotated, but the annotation needs to be put between the variable name and the "=" of the initializer. Signed-off-by: Thomas Gleixner commit 0a375d75902c522ea36c6dc409296622f93db4a7 Author: David S. Miller Date: Wed Sep 16 00:31:26 2009 -0700 sparc: Update defconfigs. Signed-off-by: David S. Miller commit 51e0304ce6e55a6e59658558916b4f74da085ff0 Author: Ingo Molnar Date: Wed Sep 16 08:54:45 2009 +0200 sched: Implement a gentler fair-sleepers feature Add back FAIR_SLEEPERS and GENTLE_FAIR_SLEEPERS. FAIR_SLEEPERS is the old logic: credit sleepers with their sleep time. GENTLE_FAIR_SLEEPERS dampens this a bit: 50% of their sleep time gets credited. The hope here is to still give the benefits of fair-sleepers logic (quick wakeups, etc.) while not allow them to have 100% of their sleep time as if they were running. Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: Signed-off-by: Ingo Molnar commit 4e36a95e591e9c58dd10bb4103c00993917c27fd Author: David Howells Date: Wed Sep 16 00:01:13 2009 -0700 RxRPC: Use uX/sX rather than uintX_t/intX_t types Use uX rather than uintX_t types for consistency. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 634354d753898f9d9d146bd47628a1ef27f7dc98 Author: Vitaliy Gusev Date: Wed Sep 16 00:00:21 2009 -0700 mlx4: Fix access to freed memory catas_reset() uses pointer to mlx4_priv, but mlx4_priv is not valid after call mlx4_restart_one(). Signed-off-by: Vitaliy Gusev Acked-by: Roland Dreier Signed-off-by: David S. Miller commit 657e9649e745b06675aa5063c84430986cdc3afa Author: Robert Varga Date: Tue Sep 15 23:49:21 2009 -0700 tcp: fix CONFIG_TCP_MD5SIG + CONFIG_PREEMPT timer BUG() I have recently came across a preemption imbalance detected by: <4>huh, entered ffffffff80644630 with preempt_count 00000102, exited with 00000101? <0>------------[ cut here ]------------ <2>kernel BUG at /usr/src/linux/kernel/timer.c:664! <0>invalid opcode: 0000 [1] PREEMPT SMP with ffffffff80644630 being inet_twdr_hangman(). This appeared after I enabled CONFIG_TCP_MD5SIG and played with it a bit, so I looked at what might have caused it. One thing that struck me as strange is tcp_twsk_destructor(), as it calls tcp_put_md5sig_pool() -- which entails a put_cpu(), causing the detected imbalance. Found on 2.6.23.9, but 2.6.31 is affected as well, as far as I can tell. Signed-off-by: Robert Varga Signed-off-by: David S. Miller commit 59abf02644c45f1591e1374ee7bb45dc757fcb88 Author: Peter Zijlstra Date: Wed Sep 16 08:28:30 2009 +0200 sched: Add SD_PREFER_LOCAL And turn it on for NUMA and MC domains. This improves locality in balancing decisions by keeping up to capacity amount of tasks local before looking for idle CPUs. (and twice the capacity if SD_POWERSAVINGS_BALANCE is set.) Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 7c64b9f3f584008000cf3b960f25cd6a68fce191 Author: Jarek Poplawski Date: Tue Sep 15 23:42:05 2009 -0700 pkt_sched: Fix qdisc_create on stab error handling If qdisc_get_stab returns error in qdisc_create there is skipped qdisc ops->destroy, which is necessary because it's after ops->init at the moment, so memory leaks are quite probable. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 8dfaa8a7779ad2667d539aca6ae11cd87f562db6 Author: Michel Dänzer Date: Tue Sep 15 17:09:27 2009 +0200 drm/radeon/kms: Get LVDS native mode details from EDID if necessary. Fixes RMX problems on older Apple laptops which don't have an x86 BIOS ROM. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 480c646c32f368dfa2a076f7a120a7795e786e62 Author: Paul Mundt Date: Wed Sep 16 15:06:39 2009 +0900 sh: Kill off unused se_skipped in alignment trap notification code. Nothing is using this, resulting in a build error with certain configurations. Just kill it off. Signed-off-by: Paul Mundt commit a74f7e0410da9da7942cf4f08bbdb0e4fc76f972 Author: Paul Mundt Date: Wed Sep 16 14:30:34 2009 +0900 sh: Wire up HAVE_SYSCALL_TRACEPOINTS. This is necessary to get ftrace syscall tracing working again.. a fairly trivial and mechanical change. The one benefit is that this can also be enabled on sh64, despite not having its own ftrace port. Signed-off-by: Paul Mundt commit ea88023b3491a384575ebcd5e8a449e841a28a24 Merge: a6f15ad 0cb583f Author: Paul Mundt Date: Wed Sep 16 13:48:32 2009 +0900 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/sh/kernel/vmlinux.lds.S commit fe832a3a48737b24f95fab202b1c67fb588b071d Author: Steven Rostedt Date: Tue Sep 15 23:51:31 2009 -0400 tracing: remove notrace from __kprobes annotation When ftrace had issues with NMIs, it was needed to annotate all the areas that kprobes had issues with notrace. Now that ftrace is NMI safe, the functions that limit ftrace from tracing are just a small few. Kprobes is too big of a set for ftrace not to trace. Remove the coupling. Signed-off-by: Steven Rostedt commit fdec29c5fcd2705d61c1d14a1d4c74be03e9627c Merge: 0cb583f 9ef96da Author: Alex Elder Date: Tue Sep 15 21:37:47 2009 -0500 Merge branch 'master' of git://oss.sgi.com/xfs/xfs into for-linus Conflicts: fs/xfs/linux-2.6/xfs_lrw.c commit b09333c4644d173d95b8f3fd4f1dc4375d91be2a Author: Ricardo Labiaga Date: Thu Sep 10 12:27:34 2009 +0300 nfsd41: Refactor create_client() Move common initialization of 'struct nfs4_client' inside create_client(). Signed-off-by: Ricardo Labiaga [nfsd41: Remember the auth flavor to use for callbacks] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 3ddc8bf5f31c906c558ce3da4856208a864d2fc1 Author: Alexandros Batsakis Date: Thu Sep 10 12:27:21 2009 +0300 nfsd41: modify nfsd4.1 backchannel to use new xprt class This patch enables the use of the nfsv4.1 backchannel. Signed-off-by: Alexandros Batsakis [initialize rpc_create_args.bc_xprt too] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 0421b5c55acd0e88920cb9a5bcea6ed738186853 Author: Ricardo Labiaga Date: Thu Sep 10 12:27:04 2009 +0300 nfsd41: Backchannel: Implement cb_recall over NFSv4.1 Signed-off-by: Ricardo Labiaga [nfsd41: cb_recall callback] [Share v4.0 and v4.1 back channel xdr] Signed-off-by: Andy Adamson Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [Share v4.0 and v4.1 back channel xdr] Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [nfsd41: use nfsd4_cb_sequence for callback minorversion] [nfsd41: conditionally decode_sequence in nfs4_xdr_dec_cb_recall] Signed-off-by: Benny Halevy [nfsd41: Backchannel: Add sequence arguments to callback RPC arguments] Signed-off-by: Ricardo Labiaga [pulled-in definition of nfsd4_cb_done] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 2af73580b7d7b687175f47ba092640761602b221 Author: Benny Halevy Date: Thu Sep 10 12:26:51 2009 +0300 nfsd41: Backchannel: cb_sequence callback Implement the cb_sequence callback conforming to draft-ietf-nfsv4-minorversion1 Note: highest slot id and target highest slot id do not have to be 0 as was previously implemented. They can be greater than what the nfs server sent if the client supports a larger slot table on the backchannel. At this point we just ignore that. Signed-off-by: Benny Halevy Signed-off-by: Ricardo Labiaga [Rework the back channel xdr using the shared v4.0 and v4.1 framework.] Signed-off-by: Andy Adamson [fixed indentation] Signed-off-by: Benny Halevy [nfsd41: use nfsd4_cb_sequence for callback minorversion] Signed-off-by: Benny Halevy [nfsd41: fix verification of CB_SEQUENCE highest slot id[ Signed-off-by: Benny Halevy [nfsd41: Backchannel: Remove old backchannel serialization] [nfsd41: Backchannel: First callback sequence ID should be 1] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfsd41: decode_cb_sequence does not need to actually decode ignored fields] Signed-off-by: Benny Halevy Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 2a1d1b593803d7c18a369bf148f3b48c5a3260fc Author: Ricardo Labiaga Date: Thu Sep 10 12:26:38 2009 +0300 nfsd41: Backchannel: Setup sequence information Follows the model used by the NFS client. Setup the RPC prepare and done function pointers so that we can populate the sequence information if minorversion == 1. rpc_run_task() is then invoked directly just like existing NFS client operations do. nfsd4_cb_prepare() determines if the sequence information needs to be setup. If the slot is in use, it adds itself to the wait queue. nfsd4_cb_done() wakes anyone sleeping on the callback channel wait queue after our RPC reply has been received. It also sets the task message result pointer to NULL to clearly indicate we're done using it. Signed-off-by: Ricardo Labiaga [define and initialize cl_cb_seq_nr here] [pulled out unused defintion of nfsd4_cb_done] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 199ff35e1c8724871e157c2e48556c2794946e82 Author: Ricardo Labiaga Date: Thu Sep 10 12:26:25 2009 +0300 nfsd41: Backchannel: Server backchannel RPC wait queue RPC callback requests will wait on this wait queue if the backchannel is out of slots. Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 132f97715c098393fb8de3c26b07b9fdbd2334f1 Author: Ricardo Labiaga Date: Thu Sep 10 12:26:12 2009 +0300 nfsd41: Backchannel: Add sequence arguments to callback RPC arguments Follow the model we use in the client. Make the sequence arguments part of the regular RPC arguments. None of the callbacks that are soon to be implemented expect results that need to be passed back to the caller, so we don't define a separate RPC results structure. For session validation, the cb_sequence decoding will use a pointer to the sequence arguments that are part of the RPC argument. Signed-off-by: Ricardo Labiaga [define struct nfsd4_cb_sequence here] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 38524ab38f2752beee262a97403d871665838172 Author: Andy Adamson Date: Thu Sep 10 12:25:59 2009 +0300 nfsd41: Backchannel: callback infrastructure Keep the xprt used for create_session in cl_cb_xprt. Mark cl_callback.cb_minorversion = 1 and remember the client provided cl_callback.cb_prog rpc program number. Use it to probe the callback path. Use the client's network address to initialize as the callback's address as expected by the xprt creation routines. Define xdr sizes and code nfs4_cb_compound header to be able to send a null callback rpc. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy Signed-off-by: Ricardo Labiaga [get callback minorversion from fore channel's] Signed-off-by: Benny Halevy [nfsd41: change bc_sock to bc_xprt] Signed-off-by: Benny Halevy [pulled definition for cl_cb_xprt] Signed-off-by: Benny Halevy [nfsd41: set up backchannel's cb_addr] [moved rpc_create_args init to "nfsd: modify nfsd4.1 backchannel to use new xprt class"] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 80fc015bdfe1f5b870c1e1ee02d78e709523fee7 Author: J. Bruce Fields Date: Tue Sep 15 18:07:35 2009 -0400 nfsd4: use common rpc_cred for all callbacks Callbacks are always made using the machine's identity, so we can use a single auth_generic credential shared among callbacks to all clients and let the rpc code take care of the rest. Signed-off-by: J. Bruce Fields commit 29ab23cc5d351658d01a4327d55e9106a73fd04f Author: J. Bruce Fields Date: Tue Sep 15 15:56:50 2009 -0400 nfsd4: allow nfs4 state startup to fail The failure here is pretty unlikely, but we should handle it anyway. Signed-off-by: J. Bruce Fields commit 5d351754fcf58d1a604aa7cf95c2805e8a098ad9 Author: Trond Myklebust Date: Tue Sep 15 13:32:13 2009 -0400 SUNRPC: Defer the auth_gss upcall when the RPC call is asynchronous Otherwise, the upcall is going to be synchronous, which may not be what the caller wants... Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 886e3b7fe6054230c89ae078a09565ed183ecc73 Author: J. Bruce Fields Date: Tue Sep 15 12:22:42 2009 -0400 nfsd4: fix null dereference creating nfsv4 callback client On setting up the callback to the client, we attempt to use the same authentication flavor the client did. We find an rpc cred to use by calling rpcauth_lookup_credcache(), which assumes that the given authentication flavor has a credentials cache. However, this is not required to be true--in particular, auth_null does not use one. Instead, we should call the auth's lookup_cred() method. Without this, a client attempting to mount using nfsv4 and auth_null triggers a null dereference. Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit f657c2a7310ad56e2b67f35f4c5c6106a7146b9c Author: Yang Zhao Date: Tue Sep 15 12:21:01 2009 +1000 drm/radeon: Save and restore bios scratch regs during S/R [airlied:- adapted slightly in naming] Signed-off-by: Yang Zhao Signed-off-by: Dave Airlie commit 09d3f3f0e02c8a900d076c302c5c02227f33572d Author: David S. Miller Date: Tue Sep 15 17:04:38 2009 -0700 sparc: Kill PROM console driver. Many years ago when this driver was written, it had a use, but these days it's nothing but trouble and distributions should not enable it in any situation. Pretty much every console device a sparc machine could see has a bonafide real driver, making the PROM console hack unnecessary. If any new device shows up, we should write a driver instead of depending upon this crutch to save us. We've been able to take care of this even when no chip documentation exists (sunxvr500, sunxvr2500) so there are no excuses. Signed-off-by: David S. Miller commit 2985709d7f3078c7609ae7f16affc0fb478d7d7a Author: Tim Abbott Date: Mon Sep 7 17:26:49 2009 +1000 m68knommu: Make PAGE_SIZE available to assembly files. Signed-off-by: Tim Abbott Signed-off-by: Greg Ungerer commit 2756730b798e4f1f8343cf034c33cc730ae3a5d4 Author: Philippe De Muyter Date: Wed Aug 12 16:35:28 2009 +1000 m68knommu: fix ColdFire definition of CLOCK_TICK_RATE The good definition of CLOCK_TICK_RATE for coldfires has been lost in the merge of m68k and m68knommu include files. Restore it. Culprit : commit ebafc17468d58bd903c886175ca84a4edc69ae1d Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 14c16db3906ba9453e9c786323f872e11fd0f48d Author: Greg Ungerer Date: Wed Aug 12 16:14:43 2009 +1000 m68knommu: set multi-function pins for ethernet when enabled The ethernet pins on the 532x ColdFire CPU family are multi-function pins. We need to enable them as ethernet pins when using the FEC ethernet driver. Bug report, and older patch, from timothee@manaud.net. Signed-off-by: Greg Ungerer commit d89395babbe811811e70c6ee3465e3b60c0cdc11 Author: Greg Ungerer Date: Wed Aug 12 11:35:49 2009 +1000 m68knommu: remove special interrupt handling code for ne2k support The improved interrupt support for ColdFire CPU cores means we no longer need all the interrupt setup and ack hacks to support the NE2000 driver on ColdFire platforms. Remove all that code. Signed-off-by: Greg Ungerer commit fe84c1087a6e2e76396cd4003a525c3110354ad0 Author: Greg Ungerer Date: Tue Aug 11 16:33:51 2009 +1000 m68knommu: relax IO_SPACE_LIMIT setting There is really no limit to the addresses which can be used by the in*() and out*() family of IO space calls in m68k non-MMU environments. So don't impose an artificial address limit, allow the full 32bit range. Signed-off-by: Greg Ungerer commit 49802967cb7ec4f36a64e192108babe1c3b67e8e Author: Greg Ungerer Date: Tue Jul 7 12:13:23 2009 +1000 m68knommu: remove ColdFire direct interrupt register access Now that the ColdFire 5272 has full interrupt controller functionality we can remove all the interrupt masking and acking code from the FEC ethernet driver. Signed-off-by: Greg Ungerer commit 9075216d2c8761c91dc268125f6580af3ffc58b5 Author: Greg Ungerer Date: Tue Jul 7 09:39:11 2009 +1000 m68knommu: create a speciailized ColdFire 5272 interrupt controller The ColdFire 5272 CPU has a very different interrupt controller than any of the other ColdFire parts. It needs its own controller code to correctly setup and ack interrupts. Signed-off-by: Greg Ungerer commit da3601a5fa664c8d51383fe916d96bd4fbce84b8 Author: Greg Ungerer Date: Fri May 22 14:16:39 2009 +1000 m68knommu: add support for second interrupt controller of ColdFire 5249 The ColdFire 5249 CPU has a second (compleletly different) interrupt controller. It is the only ColdFire CPU that has this type. It controlls GPIO interrupts amongst a number of interrupts from other internal peripherals. Add support code for it. Signed-off-by: Greg Ungerer commit 3945ca0f84fee3fe564189fe8cf8f02491d19622 Author: Greg Ungerer Date: Fri May 22 13:50:53 2009 +1000 m68knommu: clean up old ColdFire timer irq setup The recent changes to the old ColdFire interrupt controller code means we no longer need to manually unmask the timer interrupt. That is now done in the interrupt controller code proper. Signed-off-by: Greg Ungerer commit 39f0fb6a3448cfc316e0d5295ed1b121db50037e Author: Greg Ungerer Date: Fri May 22 13:33:35 2009 +1000 m68knommu: map ColdFire interrupts to correct masking bits The older simple ColdFire interrupt controller has no one-to-one mapping of interrupt numbers to bits in the interrupt mask register. Create a mapping array that each ColdFire CPU type can populate with its available interrupts and the bits that each use in the interrupt mask register. Signed-off-by: Greg Ungerer commit f6a66276f5fdc018d2a9378c71de3bae13c588d7 Author: Greg Ungerer Date: Tue May 19 15:00:01 2009 +1000 m68knommu: clean up ColdFire 532x CPU timer setup The newer ColdFire 532x family of CPU's uses the old timer, but has a newer interrupt controller. It doesn't need the special timer setup that was required when using the older interrupt controller. Remove the dead timer irq and level setting code, and define the hard coded vector. Signed-off-by: Greg Ungerer commit 04b75b10dceadf937e3707ecc3dfccf6a076fd29 Author: Greg Ungerer Date: Tue May 19 14:52:40 2009 +1000 m68knommu: simplify ColdFire "timers" clock initialization The ColdFire "timers" clock setup can be simplified. There is really no need for the flexible per-platform setup code. The clock interrupt can be hard defined per CPU platform (in CPU include files). This makes the actual timer code simpler. Signed-off-by: Greg Ungerer commit f9311f26434cea3e926f56ca2aa3e5740e962c72 Author: Greg Ungerer Date: Tue May 19 14:39:19 2009 +1000 m68knommu: support code to mask external interrupts on old ColdFire CPU's The external interrupts used on the old Coldfire parts with the old style interrupt controller can be properly mask/unmasked in the interrupt handling code. Signed-off-by: Greg Ungerer commit f2154bef817ac3d0ea67b52526fd8e88898b66f9 Author: Greg Ungerer Date: Tue May 19 14:38:08 2009 +1000 m68knommu: merge old ColdFire interrupt controller masking macros Currently the code that supports setting the old style ColdFire interrupt controller mask registers is macros in the include files of each of the CPU types. Merge all these into a set of real masking functions in the old Coldfire interrupt controller code proper. All the macros are basically the same (excepting a register size difference on really early parts). Signed-off-by: Greg Ungerer commit 5187995f0a9253e915dfee83684eae7b692213e6 Author: Greg Ungerer Date: Tue May 19 14:08:47 2009 +1000 m68knommu: remove duplicate ColdFire mcf_autovector() code Each of the ColdFire CPU platform code that used the old style interrupt controller had its own copy of the mcf_autovector() function. They are all the same, remove them all and create a single function in the common coldfire/intc.c code. Signed-off-by: Greg Ungerer commit 5938084bd8843490a4493d19fb108df70d87df2d Author: Greg Ungerer Date: Tue May 19 13:56:44 2009 +1000 m68knommu: move ColdFire INTC definitions to new include file Create an mcfintc.h include file with the definitions for the old style ColdFire interrupt controller. They are only needed on CPU's that use this old controller - so isolate them on their own. Signed-off-by: Greg Ungerer commit e47cc3d6acacffdc673779a44c21a4a12b20db23 Author: Greg Ungerer Date: Wed May 6 14:28:25 2009 +1000 m68knommu: mask off all interrupts in ColdFire intc-simr controller The ColdFire intc-simr interrupt controller should mask off all interrupt sources at init time. Doing it here instead of separately in each platform setup. Signed-off-by: Greg Ungerer commit 91b1b94f88219ea1b747264f4f6995a1202566cb Author: Greg Ungerer Date: Wed May 6 14:25:40 2009 +1000 m68knommu: remove timer device interrupt setup for ColdFire 532x With fully implemented interrupt controller code we don't need to do the custom interrupt setup for the timer device of the ColdFire 532x. Remove that code. Signed-off-by: Greg Ungerer commit f1a59d244abd8d7b94b90f45ee5e0988e5a154cb Author: Greg Ungerer Date: Wed May 6 11:36:00 2009 +1000 m68knommu: remove interrupt masking from ColdFire pit timer With proper interrupt controller code in place there is no need for devices like the timers to have custom interrupt masking code. Remove it (and the defines that go along with it). Signed-off-by: Greg Ungerer commit a3d9bf1dfdaf6f7df6c5340521dff1aafe39393f Author: Greg Ungerer Date: Wed May 6 10:14:04 2009 +1000 m68knommu: remove unecessary interrupt level setting in ColdFire 520x setup The new code for the interrupt controller in the ColdFire 520x takes care of all the interrupt controller setup. No manual config of the level registers (ICR) is required by the platform device setup code. So remove it. Signed-off-by: Greg Ungerer commit de4cbfb5994465e7c0f4cc545722b1144e8ba717 Author: Greg Ungerer Date: Fri May 1 17:23:37 2009 +1000 m68knommu: remove the common interrupt controller structure Each different m68knommu CPU interrupt controller type has its own interrupt controller data structures now. Remove the old, and now not used, common irq structs and init code from here. Signed-off-by: Greg Ungerer commit 0531d7b36b9894b60ba9c0633993d49a813555ff Author: Greg Ungerer Date: Fri May 1 17:22:36 2009 +1000 m68knommu: complete interrupt controller code for the 68360 CPU Define the interrupt controller structures along with the interrupt controller code for the 68360 CPU. This brings the interrupt setup and control into one place for this CPU family. Signed-off-by: Greg Ungerer commit 1985d2538cccdcdb444d03bc5994be82e85e1f60 Author: Greg Ungerer Date: Fri May 1 16:54:49 2009 +1000 m68knommu: complete interrupt controller code for the 68328 CPU's Define the interrupt controller structures along with the interrupt controller code for the 68328 CPU family. This brings the interrupt setup and control into one place for this CPU family. Signed-off-by: Greg Ungerer commit 33a21263bf74177209c11f08246fc308916d9ffa Author: Greg Ungerer Date: Thu Apr 30 16:22:24 2009 +1000 m68knommu: use common interrupt controller code for older ColdFire CPU's The old ColdFire CPU's (5206, 5307, 5407, 5249 etc) use a simple interrupt controller. Use common setup code for them. This addition means that all ColdFire CPU's now have some specific type of interrupt controller code. Signed-off-by: Greg Ungerer commit 6589c1d71581618dfc344628fb425ee4f09ce904 Author: Greg Ungerer Date: Wed Apr 29 13:31:27 2009 +1000 m68knommu: clean up ColdFire 532x interrupt setup With the common intc-simr interrupt controller code in place the ColdFire 532x family startup code can be greatly simplified. Remove all the interrupt masking code, and the per-device interrupt config here. Signed-off-by: Greg Ungerer commit 277c5e3e26cac45010f57a581c56476639b2cfa0 Author: Greg Ungerer Date: Wed Apr 29 12:07:13 2009 +1000 m68knommu: general interrupt controller for ColdFire 532x parts The ColdFire 532x family of parts uses 2 of the same INTC interrupt controlers used in the ColdFire 520x family. So modify the code to support both parts. The extra code for the second INTC controler in the case of the 520x is easily optimized away to nothing. Signed-off-by: Greg Ungerer commit 1f946533bb562f5144752ea583cac45e9410fdaa Author: Greg Ungerer Date: Tue Apr 28 15:59:10 2009 +1000 m68knommu: clean up ColdFire 523x interrupt setup With the common intc-2 interrupt controller code in place the ColdFire 523x family startup code can be greatly simplified. Remove all the interrupt masking code, and the per-device interrupt config here. Signed-off-by: Greg Ungerer commit 980f9235eba5091d9fbbeb7fb72348c19d1ba710 Author: Greg Ungerer Date: Tue Apr 28 14:24:25 2009 +1000 m68knommu: clean up ColdFire 528x interrupt setup With the common intc-2 interrupt controller code in place the ColdFire 528x family startup code can be greatly simplified. Remove all the interrupt masking code, and the per-device interrupt config here. Signed-off-by: Greg Ungerer commit 1b718c71b7830c77a9b70826be83b899e314b585 Author: Greg Ungerer Date: Tue Apr 28 10:57:36 2009 +1000 m68knommu: clean up ColdFire 527x interrupt setup With the common intc-2 interrupt controller code in place the ColdFire 527x family startup code can be greatly simplified. Remove all the interrupt masking code, and the per-device interrupt config here. Signed-off-by: Greg Ungerer commit 2fba4f0b035f7723073068cf8b3a01ec38f72ed5 Author: Greg Ungerer Date: Mon Apr 27 15:38:03 2009 +1000 m68knommu: general interrupt controller for ColdFire many 52xx parts Create general interrupt controller code for the many ColdFire version 2 cores that use the two region INTC interrupt controller. This includes the 523x family, 5270, 5271, 5274, 5275, and the 528x families. This code does proper masking and unmasking of interrupts. With this in place some of the driver hacks in place to support ColdFire interrupts can finally go away. Signed-off-by: Greg Ungerer commit d0d77c26cb6195e881325befc950cc54732ba261 Author: Greg Ungerer Date: Mon Apr 27 15:15:01 2009 +1000 m68knommu: remove per device interrupt mask setting for ColdFire 520x With general interrupt controller code in place we don't need specific unmasking code for the internal ColdFire 520x UARTs or ethernet (FEC). Signed-off-by: Greg Ungerer commit cd3dd4068db5e1258a14b63e0feaf0332640d896 Author: Greg Ungerer Date: Mon Apr 27 15:09:29 2009 +1000 m68knommu: use general interrupt controller for ColdFire 520x family Create general interrupt controller code for the ColdFire 520x family, that does proper masking and unmasking of interrupts. With this in place some of the driver hacks in place to support ColdFire interrupts can finally go away. Within the ColdFire family there is a variety of different interrupt controllers in use. Some are used on multiple parts, some on only one. There is quite some differences in some varients, so much so that common code for all ColdFire parts would be impossible. This commit introduces code to support one of the newer interrupt controllers in the ColdFire 5208 and 5207 parts. It has very simple mask and unmask operations, so is one of the easiest to support. Signed-off-by: Greg Ungerer commit 584320156b7e42e74105ca78bdf895d2b0269251 Author: Greg Ungerer Date: Wed Aug 5 14:02:48 2009 +1000 m68k: clean up comment delimiters in dma.h Change C99 style comments to traditional K&R style. Signed-off-by: Greg Ungerer commit cba89e231f97139dc6013030210624efd1087f68 Author: Greg Ungerer Date: Fri Jun 12 15:11:17 2009 +1000 m68k: merge mmu and non-mmu versions of dma.h The non-mmu version of dma.h contains a lot of ColdFire specific DMA support, but also all of the base m68k support. So use the non-mmu version of dma.h for all. Signed-off-by: Greg Ungerer commit 6192c1ea0ac5806592c5c9cc2b2b94b0298df02b Author: Greg Ungerer Date: Thu Jul 2 16:11:58 2009 +1000 m68k: merge the mmu and non-mmu versions of checksum.h The mmu and non-mmu versions of checksum.h are mostly the same, merge them. Signed-off-by: Greg Ungerer commit 3ddc7e261a990d03fa4e78e37e6623ca45b18d77 Author: Greg Ungerer Date: Fri Jun 26 16:51:05 2009 +1000 m68k: merge mmu and non-mmu versions of irq.h It is reasonably strait forward to merge the mmu and non-mmu versions of irq.h. Most of the defines and structs are not needed on non-mmu. Signed-off-by: Greg Ungerer commit 633ea5d78b8b01ba903aeaae10297033830a52dd Author: Greg Ungerer Date: Thu Apr 23 11:03:20 2009 +1000 m68k: merge mmu and non-mmu versions of processor.h The mmu and non-mmu versions of processor.h have a lot of common code. This is a strait forward merge. start_thread() could be improved, but that is not quite as strait forward, leaving for a follow on change. Signed-off-by: Greg Ungerer commit d668bf0a0d73daea4eaaf748435752f52cc077aa Author: Christoph Hellwig Date: Tue Aug 4 16:52:44 2009 +0200 m68knommu: convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Signed-off-by: Greg Ungerer commit f3aa42c6b26f502f6502ea2e07908d5768a3dd35 Author: Greg Ungerer Date: Sat Jul 4 00:13:57 2009 +1000 m68k: remove unused elia.h include file Signed-off-by: Greg Ungerer commit c573b29baf3e1b71a60ee6de76dd28c9c49fb87f Author: Joe Perches Date: Thu Jul 2 14:08:03 2009 +1000 arch/m68knommu/kernel/time.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Greg Ungerer commit ecb114a128d150422d22eda238cb812f6b20bf39 Author: Dave Airlie Date: Tue Sep 15 11:12:56 2009 +1000 drm/radeon/kms: IB locking dumps out a lockdep ordering issue We sometimes lock IB then the ring and sometimes the ring then the IB. This is mostly due to the IB locking not being well defined about what data in the structs it actually locks. Define what I believe is the correct behaviour and gets rid of the lock dep ordering warning. Signed-off-by: Dave Airlie commit 42dea5ddb56fe10e1d9a7840ddcb1df97a208a99 Author: Dave Airlie Date: Tue Sep 15 20:21:11 2009 +1000 drm/radeon/kms: we should return 0 when we have no modes not -1. This fixes my monitor with broken EDID so it at least get 800x600. Signed-off-by: Dave Airlie commit 48e113e516a94ac9622a8326c4de670beb3366e6 Author: Michel Dänzer Date: Tue Sep 15 17:09:32 2009 +0200 drm/radeon/kms: Free CS parser state tracking memory. Fixes leak hidden in commit 9f022ddfb23793b475ff7e57ac08a766dd5d31bd ('drm/radeon/kms: convert r4xx to new init path'). Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit fdd5cace733370ab7a518a98ef084e02aa76fdea Author: Michel Dänzer Date: Tue Sep 15 17:09:33 2009 +0200 drm/radeon/kms: Don't kzalloc memory which is immediately overwritten. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit 95a8f1bf4f48b434c9f839ab5a0773f66b39d7c6 Author: Michel Dänzer Date: Tue Sep 15 17:09:26 2009 +0200 drm/radeon/kms: Move radeon_clocks_init() call back after getting VRAM info. It may indirectly call radeon_set_clock_gating() which relies on the VRAM info. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit fb1fbf8e098cd4cd2c1dece3dc8f15e7de82170a Author: Michel Dänzer Date: Tue Sep 15 17:09:28 2009 +0200 drm/radeon/kms: Only add common modes which fit in both panel dimensions. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit cb684b5bcd6a79ae7e2360c6b158c4aa7b0a293a Author: Jens Axboe Date: Tue Sep 15 21:53:11 2009 +0200 block: fix linkage problem with blk_iopoll and !CONFIG_BLOCK kernel/built-in.o:(.data+0x17b0): undefined reference to `blk_iopoll_enabled' Since the extern declaration makes the compile work, but the actual symbol is missing when block/blk-iopoll.o isn't linked in. Signed-off-by: Jens Axboe commit fdaa45e95d2ef59a140d2fb2e487141f83f5a07c Author: Ingo Molnar Date: Tue Sep 15 11:00:26 2009 +0200 slub: Fix build error in kmem_cache_open() with !CONFIG_SLUB_DEBUG This build bug: mm/slub.c: In function 'kmem_cache_open': mm/slub.c:2476: error: 'disable_higher_order_debug' undeclared (first use in this function) mm/slub.c:2476: error: (Each undeclared identifier is reported only once mm/slub.c:2476: error: for each function it appears in.) Triggers because there's no !CONFIG_SLUB_DEBUG definition for disable_higher_order_debug. Signed-off-by: Ingo Molnar Signed-off-by: Pekka Enberg commit 3834f47291df475be3f0f0fb7ccaa098967cc054 Author: Feng Tang Date: Mon Sep 14 13:01:53 2009 +0800 SFI: remove unneeded includes Signed-off-by: Feng Tang Signed-off-by: Len Brown commit 8079ce34f2c3f5bfedcea8d4fb7290ce46ac5b56 Author: Thomas Gleixner Date: Mon Aug 31 16:49:19 2009 +0200 sfi: Remove unused code Signed-off-by: Thomas Gleixner Signed-off-by: Feng Tang Signed-off-by: Len Brown commit e9d599220b97e7d52311f6011c75ba0cfcb356fe Author: Greg Kroah-Hartman Date: Tue Sep 15 10:09:27 2009 -0700 Staging: remove sxg driver Unfortunatly, the upstream company has abandonded development of this driver. So it's best to just remove the driver from the tree. Cc: Christopher Harrer Signed-off-by: Greg Kroah-Hartman commit 0b33559a1adb3b9953503c9b55a61c37db34ffc0 Author: Greg Kroah-Hartman Date: Fri Sep 11 09:46:35 2009 -0700 Staging: remove heci driver Intel has officially abandoned this project and does not want to maintian it or have it included in the main kernel tree, as no one should use the code, it's not needed anymore. Signed-off-by: Greg Kroah-Hartman commit 1c6592f3b78640902494650efb88d8c2520c5c92 Author: Greg Kroah-Hartman Date: Thu Sep 3 11:58:09 2009 -0700 Staging: remove at76_usb wireless driver. There is already an in-kernel driver for this hardware (since 2.6.30), at76c50x-usb, and it supports all of the same devices. So this driver can now be deleted. Acked-by: Kalle Valo Cc: linux-wireless Signed-off-by: Greg Kroah-Hartman commit ffac040c05f7887896fbd5e1139e7fc59c30fa21 Author: Greg Kroah-Hartman Date: Wed Sep 2 21:33:06 2009 -0700 Staging: rspiusb: remove the driver No one cares, it's a custom userspace interface, and the code hasn't built in a long time. So remove it. Signed-off-by: Greg Kroah-Hartman commit a8fcffbde4cedf319f7009cec21baddf9422685e Author: Greg Kroah-Hartman Date: Wed Sep 2 21:29:37 2009 -0700 Staging: meilhaus: remove the drivers The comedi drivers should be used instead, no need to have these in here as well. Cc: David Kiliani Cc: Meilhaus Support Signed-off-by: Greg Kroah-Hartman commit 06bf27ddaae4deb796ec90a11c5ecefd7364e3ed Author: Greg Kroah-Hartman Date: Wed Sep 2 21:27:08 2009 -0700 Staging: remove me4000 driver. The comedi drivers should be used instead, no need to have this driver in the tree duplicating that one. Cc: Wolfgang Beiter Cc: Guenter Gebhardt Signed-off-by: Greg Kroah-Hartman commit c2f5e9d2bfa41cd4ba1c7dc49b32d6b6df6d195b Author: Frederik Deweerdt Date: Mon Sep 14 08:52:37 2009 +0000 Staging: line6: ffzb returns an unsigned integer find_first_zero_bit returns a positive value, use it accordingly. Signed-off-by: Frederik Deweerdt Signed-off-by: Greg Kroah-Hartman commit e1769b3cf0670935d1988e65f758bf6f29c0e107 Author: Frederik Deweerdt Date: Mon Sep 14 08:51:38 2009 +0000 Staging: line6: pod.c: style cleanups Line6 pod.c: Minor style cleanups Signed-off-by: Frederik Deweerdt Signed-off-by: Greg Kroah-Hartman commit 542f491542b0312f8b28e17a013f6f8f114bda68 Author: Julia Lawall Date: Fri Sep 11 18:22:27 2009 +0200 Staging: iio: introduce missing kfree Error handling code following a kmalloc or kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @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) // Signed-off-by: Julia Lawall commit 2bb6a12a88aeac9bab4ed0cf0da1edc03f5eb686 Author: Julia Lawall Date: Fri Sep 11 18:22:27 2009 +0200 Staging: dream: introduce missing kfree Error handling code following a kmalloc or kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @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) // Signed-off-by: Julia Lawall commit a2279ae5b58edb7cbe2196d08572fcf59f292354 Author: Roel Kluin Date: Mon Aug 31 10:54:37 2009 +0200 Staging: comedi: addi-data: NULL dereference of amcc in v_pci_card_list_init() amcc allocation may fail, prevent a NULL dereference. allocation may fail, prevent a dereference. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 14386fd10c33b6a6a53901a64832f34f038857cf Author: Alexander Beregalov Date: Thu Sep 3 20:38:14 2009 +0400 Staging: vt665x: fix built-in compiling Fix this build error: undefined reference to "__this_module" Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 48118b53c6ba0c48440ba552cd7b82c9a9cf530d Author: Bartlomiej Zolnierkiewicz Date: Tue Sep 8 22:35:41 2009 +0200 Staging: rt3090: enable NATIVE_WPA_SUPPLICANT_SUPPORT option Similarly as it has been done in other in-kernel Ralink drivers and in openSUSE's rt3090sta package. Cc: Axel Koellhofer Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 230da57e68636e35c07b144fd25f4bd7f67c1e1c Author: Axel K Date: Thu Sep 3 22:04:59 2009 +0200 Staging: rt3090: port changes in WPA_MIX_PAIR_CIPHER to rt3090 This patch ports a change recently applied to rt2860/rt2870 in order to change handling of WPA1/WPA2 mixed mode to rt3090. Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0961284c7208dfd907456fa73823f5967331b957 Author: Axel K Date: Thu Sep 3 21:53:37 2009 +0200 Staging: rt3090: rename device from raX to wlanX This patch sets "wlan" as the default suffix for naming the device, a change which has also been previously applied to rt2860/rt2870 in staging. Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7dbefe3d581b6283c2ba70b292b450d3e2631f42 Author: Axel K Date: Thu Sep 3 21:24:19 2009 +0200 Staging: rt3090: remove possible conflict with rt2860 Both drivers (rt2860 and rt3090) register themselves as "rt2860" on loading the module. In the very rare case of somebody having two cards in his machine, one using rt3090 and the other one using the rt2860 driver, loading both modules would be impossible, the second one will not be loaded as the kernel will tell you that the driver is already registered. This was also present with rt2870/rt3070 (with both driver registering as "rt2870"), but the code has been merged to one driver recently. The follwoing patch fixes this potential problem until merging of rt2860/rt3090 code to a single driver. Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 25cf62e43110c43869a58505dae22ad5e2b1416a Author: Axel K Date: Thu Sep 3 21:13:56 2009 +0200 Staging: rt2860/rt2870/rt3070/rt3090: fix compiler warning on x86_64 When compiling rt2860/rt2870/rt3070 or rt3090 on x86_64, the following warning is displayed: drivers/staging/rt3090/rt_linux.c: In function 'duplicate_pkt': drivers/staging/rt3090/rt_linux.c:531: warning: passing argument 1 of 'memmove' makes pointer from integer without a cast include2/asm/string_64.h:58: note: expected 'void *' but argument is of type 'sk_buff_data_t' drivers/staging/rt3090/rt_linux.c:533: warning: passing argument 1 of 'memmove' makes pointer from integer without a cast include2/asm/string_64.h:58: note: expected 'void *' but argument is of type 'sk_buff_data_t' The following patch fixes this warning. Credits go to Helmut Schaa for his kind advice/help on this patch. Signed-off-by: Axel Koellhofer Cc: Helmut Schaa Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a85236c34116621b372c309aa25c2f9bae1b8a15 Author: Axel K Date: Thu Sep 3 20:53:36 2009 +0200 Staging: rt2860: add new device ids This patch adds new device IDs to ralink rt2860 driver in linux staging. The device IDs were retrieved from the latest vendor release (version 2.1.2.0). Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 87cbcb673481be97b96cbbeba4aac654937bc335 Author: Axel K Date: Thu Sep 3 20:47:11 2009 +0200 Staging: rt3090: add device id 1462:891a This patch adds a new device ID (1462:819a) to ralink rt3090 driver in linux staging. The device ID was retrieved from the latest vendor release (version 2.2.0.0). Signed-off-by: Axel Koellhofer Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1ff12a4aa354bed093a0240d5e6347b1e27601bc Author: Kevin A. Granade Date: Sat Sep 5 01:03:39 2009 -0500 Staging: asus_oled: Cleaned up checkpatch issues. Signed-off-by: Kevin A. Granade Cc: Belisko Marek Signed-off-by: Greg Kroah-Hartman commit a89dfebdad050598479c73c1a22e2323085b5596 Author: Roel Kluin Date: Mon Aug 31 12:26:43 2009 +0200 Staging: rt2860: fix possible NULL dereferences Allocations may fail, prevent NULL dereferences. Signed-off-by: Roel Kluin Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 18526c7896fca5229c8d7b4b415605a17f9952d0 Author: Julia Lawall Date: Mon Aug 31 21:34:25 2009 +0200 Staging: rtl8192e: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit c07d3c75a76d93f00182af2c6b750a52ea4d9869 Author: Greg Kroah-Hartman Date: Fri Sep 11 14:20:21 2009 -0700 Staging: vt665x: rename the module binary So it doesn't conflict with a mainline kernel driver currently under development. Signed-off-by: Greg Kroah-Hartman commit 88ff720865fb8f9d18196810ed6a9553e034834f Author: Greg Kroah-Hartman Date: Tue Aug 25 16:26:56 2009 -0700 Staging: cowloop: remove kernel version checks Now that the code is in the kernel tree, remove the unneeded version checks. Cc: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit a3b2e09333ce811e69ac71379a2dd8ccd1b2ca6f Author: Greg Kroah-Hartman Date: Tue Aug 25 16:00:48 2009 -0700 Staging: add cowloop to the build Now that the code can build, let's add it to the build system. Cc: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit 5cc06df69f0865750ed5c95e3d930be31b7c861e Author: Greg Kroah-Hartman Date: Tue Aug 25 16:04:46 2009 -0700 Staging: cowloop: add TODO file Add a TODO file with a few things that needs to be fixed up. Cc: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit 8cd9c297a8ad1366789b934b0e4510c87beaf274 Author: Greg Kroah-Hartman Date: Tue Aug 25 16:01:33 2009 -0700 Staging: get cowloop to build properly There has been some block api changes since the last release of the cowloop code. This patch updates the code to properly build. Cc: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit dbda83255cf6a12d06527131214c123ee7ae96b9 Author: H.J. Thomassen Date: Tue Aug 25 15:39:04 2009 -0700 Staging: add cowloop driver Cowloop is a "copy-on-write" pseudo block driver. It can be stacked on top of a "real" block driver, and catches all write operations on their way from the file systems layer above to the real driver below, effectively shielding the lower driver from those write accesses. The requests are then diverted to an ordinary file, located somewhere else (configurable). Later read requests are checked to see whether they can be serviced by the "real" block driver below, or must be pulled in from the diverted location. More information is on the project's website http://www.ATComputing.nl/cowloop/ From: "H.J. Thomassen" Signed-off-by: Greg Kroah-Hartman commit fa052e912d4d575b86a7fd3623380aba897a1a8e Author: Greg Kroah-Hartman Date: Mon Aug 24 14:40:50 2009 -0700 Staging: rtl8192e: fix timeouts on firmware download We need to actually wait a specific ammount of time, not just hope that a set number of loops will be long enough. Based on a conversation with Ralink, and a proposed patch for their older kernel driver. Cc: david woo Signed-off-by: Greg Kroah-Hartman commit 3ef5a262ad0061d6147da7e3ee03aead7c160d91 Author: Greg Kroah-Hartman Date: Thu Aug 20 06:14:22 2009 -0700 Staging: rtl8192e: fix for stack bug This should be a fix for the lockup bug when attaching to an access point. Patch came from a diff from RealTek. Hopefully it resolves the issue. Signed-off-by: Greg Kroah-Hartman commit 54fb0579b9a35101b01d7b277a933e6af200ae88 Author: Greg Kroah-Hartman Date: Fri Aug 14 16:11:28 2009 -0700 Staging: rtl8192e: remove annoying printk() This message doesn't need to be constantly sent to the syslog, it's nothing but annoying gibberish. Signed-off-by: Greg Kroah-Hartman commit cbe892f6772145f160b89ef5fd4759a8dc7bf6c6 Author: Greg Kroah-Hartman Date: Wed Aug 12 16:50:57 2009 -0700 Staging: rtl8192e: remove unneeded ieee80211 files These files are not even built or used, so just remove them. Signed-off-by: Greg Kroah-Hartman commit 96ed5846c4eeb29934b789e6d83e35a8d498778f Author: Greg Kroah-Hartman Date: Wed Aug 12 16:39:54 2009 -0700 Staging: rtl8192e: coding style cleanups on r819xE_firmware.c This cleans up everything but a few 80 column issues in the r819xE_firmware.c file. Signed-off-by: Greg Kroah-Hartman commit 5bf30d96884818df79a08df8811e3eaa2f5a0818 Author: Greg Kroah-Hartman Date: Wed Aug 12 16:37:49 2009 -0700 Staging: rtl8192e: remove another firmware header file not being used The built-in firmware images are never used, the firmware files are downloaded to the device through the standard firmware interface. This removes the firmware header file as it's not ever used. It also removes a .h file as it is not needed. Signed-off-by: Greg Kroah-Hartman commit 8bfd185b950a25e511b5856bdaa67a696e533d1e Author: Greg Kroah-Hartman Date: Wed Aug 12 16:37:49 2009 -0700 Staging: rtl8192e: remove firmware header file not being used This removes the r819xP firmware file that is never used. The size of the built code after this patch is identical to before it. Signed-off-by: Greg Kroah-Hartman commit 96a51d06ccaeb2ca7e23d9e7b9b91c4a45471841 Author: Greg Kroah-Hartman Date: Wed Aug 12 16:37:26 2009 -0700 Staging: rtl8192e: remove kernel version checks This removes a lot of code that is never built in to the driver. The size of the built code after this patch is identical to before it. Signed-off-by: Greg Kroah-Hartman commit 19bebc5217c0798a16b56c18609e0f52db6b0924 Author: Greg Kroah-Hartman Date: Wed Aug 12 16:36:38 2009 -0700 Staging: rtl8192e: remove #if 0 sections This removes a lot of code that is never built in to the driver. The size of the built code after this patch is identical to before it. Signed-off-by: Greg Kroah-Hartman commit ca9b2f88d97ee39286be3cc83ac10f2c09194410 Author: Jeff Mahoney Date: Tue Aug 4 10:26:19 2009 -0400 Staging: rtl8192e: compile fixes This patch removes -fhard-float and the software float helpers. In-kernel floating point is not allowed. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit df34e5e396e6cff3389549b27e898fdb5d140269 Author: Greg Kroah-Hartman Date: Mon Aug 10 16:33:53 2009 -0700 Staging: rtl8192e: remove unused functions This removes a number of unused functions. Signed-off-by: Greg Kroah-Hartman commit 5e1ad18a8d198ccb0e201cb444a58f7e277dfb4d Author: Greg Kroah-Hartman Date: Mon Aug 10 16:34:22 2009 -0700 Staging: rtl8192e: fix lots of sparse warnings This removes a number of static and extern warnings that sparse complains about. Signed-off-by: Greg Kroah-Hartman commit ecdfa44610fa18678c3dd481af75368b9800c6c7 Author: Greg Kroah-Hartman Date: Tue Aug 4 15:57:55 2009 -0700 Staging: add Realtek 8192 PCI wireless driver This wireless driver should work for the Realtek 8192 PCI devices. It comes directly from Realtek and has been tested to work on at least one laptop in the wild. Cc: Anthony Wong Signed-off-by: Greg Kroah-Hartman commit 2d7cf8ef75abbe0d33d9115872d4545e9cefced2 Author: Evgeniy Polyakov Date: Fri Aug 28 17:57:58 2009 +0400 Staging: pohmelfs: sync with the development tree * cache coherency protocol fix * proper timeout handling * implement dump/del all config group command (Signed-off-by: Pierpaolo Giacomin ) Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 252a1b9162b6dbac7324854eb4137404932b574d Author: Alexander Beregalov Date: Tue Aug 25 17:25:44 2009 +0400 Staging: agnx: remove flush_workqueue() mac80211 already does flush_workqueue() at stop/start and suspend\resume. (fix build error) Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 7ff177a88782461893316a512e75a3f169fbae8b Author: Roel Kluin Date: Tue Aug 25 15:19:27 2009 +0200 Staging: comedi: apci3200: fix test of ui_DelayTime range in i_APCI3200_CommandTestAnalogInput() For ui_DelayTime to be less than 1 and greater than 1023 is logically impossible. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Cc: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit 48c8276d7ac534d62c594c9a493130ff9137675d Author: Roel Kluin Date: Sat Aug 22 19:32:44 2009 +0200 Staging: rspiusb: Check usb_buffer_map_sg() retval usb_buffer_map_sg() may return -1, check this directly. Signed-off-by: Roel Kluin Reviewed-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 77943d31b7dfdbd1ad58d49bd16ae6e7601bcd6c Author: Sudhakar Rajashekhara Date: Thu Aug 20 18:13:18 2009 -0400 Staging: panel: Add support for TI CLCD interface On TI DA850/OMAP-L138 EVM, HD44780 (24x2) LCD panel is being used[1], but it is interfaced through the SoC specific LCD interface and not through parallel port. A parallel port driver has been developed which interfaces to the panel driver through the SoC specific LCD interface. Basically, both the serial and parallel interfaces supported by the panel driver do not suit the specific interface SoC is supporting so, a new interface type has been introduced. Ideally the panel driver should be de-coupled from parallel and serial port related items but this patch is something that can be merged in the meantime. [1]Specification of the character LCD interface on TI DA850/OMAP-L138: http://www.ti.com/litv/pdf/sprufm0a. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Greg Kroah-Hartman commit bcb903fa303bea505902be8b1e275769515c2380 Author: Alan Cox Date: Thu Aug 27 11:03:38 2009 +0100 Staging: et131x: kill off the TXDMA CSR type Go to a u32 and masks Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit fba84166978c334f90593d4f1d6e1309c029a097 Author: Alan Cox Date: Thu Aug 27 11:03:29 2009 +0100 Staging: et131x: kill off the TXDMA error type This isn't actually used properly anyway Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7ca5d4229093bedef3a89772249f8a2f74421a1a Author: Alan Cox Date: Thu Aug 27 11:03:21 2009 +0100 Staging: et131x: re-order the initpci code to match usual Linux style Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 15700039b108fccc36507bcabdd4dda93f7c4c61 Author: Alan Cox Date: Thu Aug 27 11:03:09 2009 +0100 Staging: et131x: prune all the debug code We don't need it, we have a perfectly good set of debug tools. For this pass keep a few debug printks around which are "should not happen" items Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit bc7f9c597fa55814548845a7c43f53d6bbbce94b Author: Alan Cox Date: Thu Aug 27 11:02:43 2009 +0100 Staging: et131x: kill the loopback type Kill off the loopback type in the driver Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e266b2022209a2bc389c1cd6b809395c67671a92 Author: Alan Cox Date: Thu Aug 27 11:02:34 2009 +0100 Staging: et131x: kill MSI type Kill off the MSI structure Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b8c4cc46541d864b37497d0047b81b62a5d4e073 Author: Alan Cox Date: Thu Aug 27 11:02:25 2009 +0100 Staging: et131x: put the jagcore routines in with their users We have two trivial IRQ routines, a single statement and a real function - relocate them. While we are at it kill the trivial to sort out soft reset and slv bits in the same areas of code. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2211b732ba8050bc228e129cdc30b4fdedcbea86 Author: Alan Cox Date: Thu Aug 27 11:02:12 2009 +0100 Staging: et131x: kill the interrupt magic define and types Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f6b35d66cf3284fd76cd3b7dd170630235ce304c Author: Alan Cox Date: Thu Aug 27 11:02:05 2009 +0100 Staging: et131x: clean up MP_FLAG macros Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 356c74b401f6b05ae5d793e9d1a9ba8297b8e3ff Author: Alan Cox Date: Thu Aug 27 11:01:57 2009 +0100 Staging: et131x: clean up DMA10/DMA4 types Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f2c98d27b8e88cd17bb3e77f8fccf70f8d2ebd2f Author: Alan Cox Date: Thu Aug 27 11:01:49 2009 +0100 Staging: et131x: clean up PM_CSR_t Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b8ab735253320dcb9432d941536a49640cdbd914 Author: Alan Cox Date: Thu Aug 27 11:01:42 2009 +0100 Staging: et131x: kill the Q_ADDR struct Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c47a601d696e24f63f0429914b96f9cf10987e30 Author: Alan Cox Date: Thu Aug 27 11:01:31 2009 +0100 Staging: et131x: quick tidy of the debug code Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit e5cf1b75f5675c3169d638f914d1212a5b9071fa Author: Alan Cox Date: Thu Aug 27 11:01:22 2009 +0100 Staging: et131x: clean up MMC_SRAM_ Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit df482a0916a0ad7473687745e363475e8ce9cd5a Author: Alan Cox Date: Thu Aug 27 11:01:13 2009 +0100 Staging: et131x: sort out the mmc enable routine Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 13071fded6df0979d50307a463be819377fc2822 Author: Alan Cox Date: Thu Aug 27 11:01:04 2009 +0100 Staging: et131x: eeprom remove features We only read eeprom id 0, in byte mode - so the rest can go away Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c6c9f8cb38d369985c66b73ed8c15dc9cec7bd09 Author: Alan Cox Date: Thu Aug 27 11:00:56 2009 +0100 Staging: et131x: remove unused PCI identifiers Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 576b38e0cd5ab57af1c84312b0b14d77090dbeda Author: Alan Cox Date: Thu Aug 27 11:00:47 2009 +0100 Staging: et131x: continue pruning unused fields Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9fa81099210076a0269d1ef774d2e1f3c04de6e0 Author: Alan Cox Date: Thu Aug 27 11:00:36 2009 +0100 Staging: et131x: de-hungarianise a bit bOverrideAddress is write only so kill it rather than fix it Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8c5f20f36a1550d7bda22216202372a31d92825c Author: Alan Cox Date: Thu Aug 27 11:00:24 2009 +0100 Staging: et131x: fold the diet config into the other code No point having a file just for that Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8d0e4fd405cc796a14f317257f11e3d12cbece2d Author: Alan Cox Date: Thu Aug 27 11:00:14 2009 +0100 Staging: et131x: config is already zeroed Adapter was cleared by netdev allocation so any zero defaults do not need writing. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 94831463690c2a1bab2bcb9d6637e469b63d5536 Author: Alan Cox Date: Thu Aug 27 11:00:06 2009 +0100 Staging: et131x: attack the config stuff Prune this back as most of it isn't relevant or used Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c2557177f16cc0b63115a1ea09c732e3ace14d5f Author: Alan Cox Date: Thu Aug 27 10:59:56 2009 +0100 Staging: et131x: clean up constant rx/tx registry fields Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c3b4a7a92e98a51b3dd253ec6fd825ccf0dd17f7 Author: Alan Cox Date: Thu Aug 27 10:59:47 2009 +0100 Staging: et131x: eliminate write only registry fields Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3bc9da3ed44c7abee310b3c4761845cb0e9bae60 Author: Alan Cox Date: Thu Aug 27 10:59:37 2009 +0100 Staging: et131x: Eliminate RegistryDMA Cache One writer, of a constant, one user .. it can go. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f3f415a3b4f2982391c0e790b226b43793a8ae72 Author: Alan Cox Date: Thu Aug 27 10:59:30 2009 +0100 Staging: et131x: CSRAddress to regs Switch this to a Linux like naming as it occurs all over. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6ae56042c19afe8d6be91b5d80ba85d695fa982d Author: Alan Cox Date: Thu Aug 27 10:59:21 2009 +0100 Staging: et131x: Take a kref for the PCI pointer we cache Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 5ec3487ac566dd443365100eab6861f004f617fb Author: Alan Cox Date: Thu Aug 27 10:59:13 2009 +0100 Staging: et131x: kill copied PCI fields They are all in the pcidev anyway plus are not used by the code Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 817550815e80ff237439b1631a316bebc3023649 Author: Alan Cox Date: Thu Aug 27 10:58:59 2009 +0100 Staging: et131x: MPSend macros Most are unused, one is used and can be replaced with the definition Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit bf1aa8e1befc9eadd6911773494e59f563d01ebe Author: Alan Cox Date: Thu Aug 27 10:58:49 2009 +0100 Staging et131x: kill refcount The RefCount field is accessed only by a macro and the only use of it in the tree is to read it, so it can go Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 649050894d75f374bf263d2c6046f9743e4276fb Author: Alan Cox Date: Thu Aug 27 10:58:37 2009 +0100 Staging: et131x: kill unused RCV_REF macros Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 20dedd3faa8785937df45e8518f3930be7110d96 Author: Alan Cox Date: Wed Aug 19 18:21:56 2009 +0100 Staging: et131x: power state This is assigned once to ndis d0, and then never changes so it is a constant and we can zap it Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 37628606661a8a1d3abfa5bb898426a38fa62b73 Author: Alan Cox Date: Wed Aug 19 18:21:50 2009 +0100 Staging: et131x: spinlocks Switch to the more normal "flags" naming. Also fix up the nested use of spin_lock_irqsave Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 25ad00bba42d49e37e81e7c449bbcc86a71f2894 Author: Alan Cox Date: Wed Aug 19 18:21:44 2009 +0100 Staging: et1310: kill pAdapter in favour of a sane name Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 106a47ba0a4fcdfa62e7cd708a4284c03e4db05c Author: Alan Cox Date: Wed Aug 19 17:52:08 2009 +0100 Staging: pohmelfs: fix type errors Signed-off-by: Alan Cox Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 76efa5e34ed81587e26e483a624dc7f72efb389a Author: Alan Cox Date: Wed Aug 19 17:52:02 2009 +0100 Staging: pohmelfs: fix atomic type spew atomic_long != atomic Signed-off-by: Alan Cox Cc: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman commit 9cfa2bc2f455aa9ba1b7bd92eb6790d78c8fab4a Author: Alan Cox Date: Wed Aug 19 17:18:04 2009 +0100 Staging: altpciechdma: 64bit type warning fix Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2fdec57610309f2cf67a8c0a82d262045bcd8c41 Author: Randy Dunlap Date: Fri Aug 21 13:59:08 2009 -0700 Staging: iio: fix duplicate dev_attr_name device attr's should be static, otherwise duplicate identifiers are created: drivers/staging/iio/trigger/iio-trig-gpio.o:(.data+0x1c): multiple definition of `dev_attr_name' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Cc: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 3860dc82e64f66b861159ae6ffd7f128ff7a5c19 Author: Alan Cox Date: Wed Aug 19 16:59:31 2009 +0100 Staging: iio: Fix type warnings Signed-off-by: Alan Cox Cc: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit ff460c39ea80f4a66e47990d82211c14379d9e8a Author: Jonathan Cameron Date: Tue Aug 18 18:06:33 2009 +0100 Staging: IIO: Add todo list for staging Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit c57f1ba7326100fd90c35259a588a8484bf569b4 Author: Jonathan Cameron Date: Tue Aug 18 18:06:32 2009 +0100 Staging: IIO: Initial documentation This needs considerably more work, all comments / suggestions welcomed. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 930bae8667c100d727360c0fa0df0378af9097ea Author: Jonathan Cameron Date: Tue Aug 18 18:06:31 2009 +0100 Staging: IIO: Proof of concept gpio trigger Simple example of how a gpio trigger driver would work. Things to be added include interupt type control (high, low). Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 7f3a1fb998e11a45d14556cc17f72d4f8aa89732 Author: Jonathan Cameron Date: Tue Aug 18 18:06:30 2009 +0100 Staging: IIO: Periodic timer based trigger The original posting of this driver led to a discussion in which it was commented that a better system was needed for dealing with the many possible periodic interrupt sources available on some SoCs. Unfortunately that is a big task and as far as I know, no-one has taken it on as yet. So in the meantime this driver is still in here. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 0a1231dfea57516fb6cf107afdfb625a11a1cc5e Author: Jonathan Cameron Date: Tue Aug 18 18:06:29 2009 +0100 Staging: IIO: max1363 add software ring buffer support using ring_sw Changes since V2: * Moved to new registration methodology. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 14cd9a73d97e3c1063fa1b2b02ef32ac8a914e11 Author: Jonathan Cameron Date: Tue Aug 18 18:06:28 2009 +0100 Staging: IIO: lis3l02dq ring buffer and data ready trigger support Example of relatively common case of device sampling based on internal clock and providing a data ready signal to indicate that new data is available to be read out. Generic trigger approach used to allow other devices to be sampled 'at the same time' as this the accelerometer. This is very useful in various motion estimation algorithms. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 2235acb21890cdd3bc189720b4e98fc1b5c3b268 Author: Jonathan Cameron Date: Tue Aug 18 18:06:27 2009 +0100 Staging: IIO: Ring buffer: Initial pass at rarely locked ring buffer Please note this ring buffer implementation is very much a work in progress (and hence RFC). In it's current form it is stable and reasonably efficient. There are a couple of unlikely cases that will lead to more data being lost that is strictly necessary. The target was for the case of requiring regular sampling even during user space reads. All comments welcome. The intention is to make this only one of several implementations with run time selection. For now there is only one, so it is hard coded into the drivers using it. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 1637db44413e32a0f100dd4bd164644e641842f7 Author: Jonathan Cameron Date: Tue Aug 18 18:06:26 2009 +0100 Staging: IIO: Trigger support added to core. Add general registration support for IIO triggers. These are currently only used to initialize a 'poll' of a given device. Examples include the lis3l02dq's data ready signal being used to initialize a read and gpio triggers being used to allow externally synchronized sensor reading. Each trigger can cause any number of 'consumer' devices to be polled with each storing data into a related ring buffer. Two stage triggering is supported with 'fast' and 'slow' paths. The first is used for things like pulling a data hold line high and the second for actual read which may take far longer. Changes since V2: * As with IIO triggers now use a registration approach much closer to that of input leading to cleaner code. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 574fb258d63658e4564c32c1940068a3bad666a0 Author: Jonathan Cameron Date: Tue Aug 18 18:06:25 2009 +0100 Staging: IIO: VTI sca3000 series accelerometer driver (spi) Example of how a device with a hardware ring buffer is handled within IIO. Changes since V2: * Moved to new registration functions giving much cleaner interface. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 7026ea4b52cf23a76507b5bddc92f394603c689e Author: Jonathan Cameron Date: Tue Aug 18 18:06:24 2009 +0100 Staging: IIO: Add generic ring buffer support to the IIO core This provides a unified interface for hardware and software ring buffers. Changes since V2: * Moved to a more consistent structure. Now the ring buffer has an associated struct device which is a child of the relevant iio_dev. This in turn has two children, one for the event interface and one for the access interface. These two interfaces are now managed via cdev structures. * Numerous minor cleanups Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit e435bc191f6a224192b548bed8cb1893b64e7df2 Author: Jonathan Cameron Date: Tue Aug 18 18:06:23 2009 +0100 Staging: IIO: kxsd9 accelerometer minimal support This provides only very minimal support for this device. Note that an alternate driver has been posted to the input mailing list. When the original LMKL discussion that led to the descision to develop IIO occured, the question on whether the differing requirements of IIO and input drivers made it a good idea to have unified drivers was left as an open question. It still is. All opinions on this question welcome. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 66533b488e17df35f5cd3bc2ebdafdf1444eb187 Author: Jonathan Cameron Date: Tue Aug 18 18:06:22 2009 +0100 Staging: IIO: lis3l02dq accelerometer core support A later patch in the series will add data ready triggering and ring buffer support. This core patch provides an event interface and sysfs based reading of values. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 78632b609a71ff2f598b114026fca03747f3a8c8 Author: Jonathan Cameron Date: Tue Aug 18 18:06:21 2009 +0100 Staging: IIO: tsl2561 digital light sensor core support This is a pretty minimalist example of an IIO driver. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit d1325cf45077bd27db3271dfc320c40bf65a8a07 Author: Jonathan Cameron Date: Tue Aug 18 18:06:20 2009 +0100 Staging: IIO: max1363 ADC driver Core support for MAX1361, MAX1362, MAX1363, MAX1364, MAX1136, MAX1137, MAX1138, MAX1139, MAX1236, MAX1237, MAX1238, MAX1239. Ring buffer support later in series. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 847ec80bbaa76aae41062d6802cea9c1b2289f14 Author: Jonathan Cameron Date: Tue Aug 18 18:06:19 2009 +0100 Staging: IIO: core support for device registration and management Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit a5ca2dfc4ebd33e18f981f562833c39efdc2585c Author: Julia Lawall Date: Fri Aug 14 22:10:00 2009 +0200 staging: Make some structures static This was done using a semantic patch (http://coccinelle.lip6.fr/) that checks that the declaration is not inside a function definition, that the defined variable is not exported using EXPORTED_SYMBOL, etc, and that the defined variable does not occur in any other file. If these conditions hold, static is added before the declaration. Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit e7fcbf0e51e8a8bac9d20ac19f8ba62c8a256cc5 Author: Ben Hutchings Date: Wed Aug 26 23:32:38 2009 +0100 Staging: rt{2860,2870,3070}sta: Remove unused CRC code Signed-off-by: Ben Hutchings Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8f679185a300d89b73ed348ecae361515b97ef59 Author: Roel Kluin Date: Tue Aug 25 14:31:11 2009 +0200 Staging: rt2860: Fix test in rt_ioctl_siwfrag() The test always evaluated to true. MIN_FRAG_THRESHOLD is defined 256, MAX_FRAG_THRESHOLD is defined 2346 Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 49debb5684009d56ec5a0f930e513b1044db5e76 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:32:20 2009 +0200 Staging: remove no longer needed rt3070 driver rt2870 handles now all rt2870/rt3070 chipsets. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e9564b81ede1645bf1d3df2657fdbb6f9e71f9fa Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:32:13 2009 +0200 Staging: rt2870: remove old firmware Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9eeb783ed4a11d7eb82d0cb5d23cc214e3827c8d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:32:06 2009 +0200 Staging: rtxx70: merge rt3070 with rt2870 * remove RT30xx ifdefs * add -DRT3070 to rt2870's EXTRA_CFLAGS * because of changes in the way that hardware is initialized/accessed rt3070 driver's firmware should be now also used by rt2870 driver (this is also done by newer out-of-tree vendor driver versions, i.e. 2.1.0.0, historically in-kernel driver was based on 1.4.0.0 version) * change RT28xx_CHIP_NAME to RTxx70 * update rt2870's help entry text * add MODULE_ALIAS("rt3070sta") to rt2870 * update rt3070's dependencies Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 606661ea0476fb506ca87cd41b58cbb7dc14fcc0 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:32:00 2009 +0200 Staging: rt2870: add Antenna Diversity support rt3070: * remove non-working AntDiversity config parameter * remove unused bRxAntDiversity field from COMMON_CONFIG rt2870: * propagate Antenna Diversity support from rt3070 Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5cc86f28ca09738652000e73827a5579279ef810 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:54 2009 +0200 Staging: rt2870: add eFuse support rt3070: * remove unused bEEPROMFile field from RTMP_ADAPTER rt2870: * propagate eFuse support from rt3070 Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 30d36c28d03b099d5bc94dab50e91a3940f84a22 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:47 2009 +0200 Staging: rtxxxx: remove unused AsicAntenna{Select,Setting}() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 940911da242f830ab6b593b1492512694451b2f4 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:41 2009 +0200 Staging: rt2870: remove SHOW_ADHOC_ENTRY_INFO support Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 71ff9bf365d84d57957af3eb56e7a14a0175ad74 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:34 2009 +0200 Staging: rt3070: remove unused RT_CMD_SET_* internal commands Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3d49ad3327a7f95e4445b7560e2e9650b0e34ea4 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:28 2009 +0200 Staging: rt3070: remove unused MiniportDataMMRequest() Then remove no longer needed MlmeDataHardTransmit(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f57c3b7c75a3a88d55df2e56df731da5e8f64f90 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:22 2009 +0200 Staging: rt28x0: LinkUp() fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6e87be5d6aefdebeb66115480dbdf0c7fa96dd28 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:15 2009 +0200 Staging: rt28x0: rt_ioctl_siwencode() fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a0f2906f3385cfb84a6ec6b0c2c0c028dcc8cfde Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:09 2009 +0200 Staging: rt28x0: MlmeAssocReqAction() fixes for wpa_supplicant support Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7e514725c8fe3128dee131a8d4ee23545c3e8c1f Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:31:03 2009 +0200 Staging: rt28x0: MlmeCheckPsmChange() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 598dc0e39b6267968f5a02d122295981e176ee2b Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:56 2009 +0200 Staging: rt28x0: MlmeSelectTxRateTable() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b14e5084e429a88591c92d50f36f2e0ec348325d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:50 2009 +0200 Staging: rt28x0: BssTableSetEntry() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 375d662f9fbbc177485f6f6ce030fc0eb622f3d3 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:43 2009 +0200 Staging: rt28x0: AsicSwitchChannel() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9a93e4e1aa8c4f65f455456bc2bb1bcb306ac0f1 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:37 2009 +0200 Staging: rt28x0 fix BACapability policy handling Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ff81b066fb9fd2a6eaa77a8bedfad2e5dcddd9a2 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:30 2009 +0200 Staging: rt28x0: fix fOP_STATUS_DOZE flag handling Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7765e89d2048fb96d91e8ad06908e87319e4aac4 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:24 2009 +0200 Staging: rt28x0: fix BPP_R66 register handling Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 74eaa42b5c2808b37f15a2911cfeb7544790ee93 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:17 2009 +0200 Staging: rt28x0: fix GTK length check in ParseKeyData() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 118d67df58a5e2e28375951aa7eb6f672e543515 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:11 2009 +0200 Staging: rt28x0: add SIOCGIWNAME support to rt_ioctl_giwscan() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 256311d34372fa8f7f2fe2af8b5f52f93fe68577 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:30:04 2009 +0200 Staging: rt2870: add fRTUSB_BULK_OUT_DATA_NORMAL_5 quirk Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6e50c49684ff3240b04b91d8d8e64ad7a902ca78 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:58 2009 +0200 Staging: rt2870: use internal command for AsicUpdateProtect() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0df20b67eb6db0e4a8c011e8d5a45c47a228083a Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:51 2009 +0200 Staging: rt3070: add remaining rt2870 device ids Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b19925513b9911e1e534b8f78b745b810e0bc410 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:45 2009 +0200 Staging: rt3070: remove needless EFUSE_TAG register read * remove write-only EFuseTag field from RTMP_ADAPTER * remove needless EFUSE_TAG register read Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9a5e59add33d0962544703ed4964d2835892e21a Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:39 2009 +0200 Staging: rt3070: AsicSetSlotTime() fix Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3cf830a1dbd3ad5da682b9f6f338428f97500432 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:32 2009 +0200 Staging: rt3070: WEP fixes Propagate WEP fixes from rt28[67]0 to rt3070. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a149b51d2d2a2913e30e8697e4cc65a20719c695 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:26 2009 +0200 Staging: rt3070: fix PID checking in RTUSBEnqueueCmdFromNdis() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 34bbd837df3d4fa899de9658866068d364271da0 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:19 2009 +0200 Staging: rt3070: update allowed channels list for Japan rt3070 driver allows use of 5G channel 34 while rt{286,287,309}0 drivers don't and quick googling seems to confirm the limitation. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2ac6ff20265b2503cb1b172ac6e4e362676aaead Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:11 2009 +0200 Staging: rtxxxx: RTMPGetRalinkAuthModeStr() fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5686ecd5aef71f2035f56540184f411584db06e6 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:29:05 2009 +0200 Staging: rtxx70: unify NICInitRT30xxRFRegisters() Unify RT30xx and !RT30xx code in NICInitRT30xxRFRegisters(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f59a9420adbd5443339c73988a1e5f70b3e1e798 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:28:58 2009 +0200 Staging: rtxxxx: unify AsicSwitchChannel() Unify RT30xx and !RT30xx code in AsicSwitchChannel(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 331e0c169a9feb66a689ecc9e7494aea4df154b8 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 23 15:28:52 2009 +0200 Staging: rtxxxx: unify AsicRxAntEvalTimeout() Unify RT30xx and !RT30xx code in AsicRxAntEvalTimeout(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5b4df5c61799411d00dde1e3937dcfbd77c865d8 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:32:09 2009 +0200 Staging: rtxxx0: remove unused code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 881abc9d2205e54f9e37e005fb5856f18021265d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:32:02 2009 +0200 Staging: rtxxx0: remove private ioctls Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a59601e4e7f01b87227a6acf5803f68d1138ad1e Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:56 2009 +0200 Staging: rtxxx0: remove private debugging ioctls Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c338d4d73eb763217576a95b4138e0c350c50c11 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:49 2009 +0200 Staging: rtxxx0: remove superfluous function prototypes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 232939f2660e6b850ec1f33089f8770a8c701914 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:43 2009 +0200 Staging: rtxxx0: remove unused link_list.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e96e946c6f3a3c58048b277b8bc50d30dc8ee6a2 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:36 2009 +0200 Staging: rtxxx0: debug messages fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2497322e370710df2f7b9aa4e6df530c4853ce6a Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:30 2009 +0200 Staging: rtxxx0: remove dead virtual adapter support * remove dead virtual adapter support * remove needless rt28xx_ioctl() wrapper * remove superfluous NULL checks Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 66b1bfd10f647b0bc139363908a85022dea15bfc Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:24 2009 +0200 Staging: rtxxx0: remove dead DBG_DIAGNOSE code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e932e724ba3a20876cda90732b376b64ca2cd4e8 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:17 2009 +0200 Staging: rtxxx0: unify AsicEvaluateRxAnt() Unify RT30xx and !RT30xx code in AsicEvaluateRxAnt(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 003cb3c42a6ac4da982621efc2ac04a44d966527 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:11 2009 +0200 Staging: rtxxx0: unify MlmeCheckPsmChange() Unify RT30xx and !RT30xx code in MlmeCheckPsmChange(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 170ee4d26f70f322fdecee4cc3cb1794df2e7842 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:31:04 2009 +0200 Staging: rtxxx0: unify RT{USB,MP}FilterCalibration() RTMP_BBP_IO_{READ,WRITE}8_BY_REG_ID equals RTUSB{Read,Write}BBPRegister in case of USB chipsets so unify RT30xx and !RT30xx code. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 37843390d1645d1d3dbc20ec6da373ac0ae5c4ed Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:57 2009 +0200 Staging: rtxxx0: remove superfluous RT30xx ifdefs * add !RT30xx version of IS_RT3090() macro * remove superfluous RT30xx ifdefs * unify RT30xx and !RT30xx code where possible * kill RT28XX_UPDATE_PROTECT() macro * remove needless variable initializations * kill some needless function prototypes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bf5f6ca4a855f85e2c01ca9ca7761a466db64ed5 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:38 2009 +0200 Staging: rtxxx0: unify different RT30xx{Read,Write}RFRegister() flavors RTMP_IO_{READ,WRITE}32 equals RTUSB{Read,Write}MACRegister in case of USB chipsets so unify RT30xx and !RT30xx code. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ca3d0a5ce9d744e78755142bfa3709ec3ee7f85a Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:32 2009 +0200 Staging: rtxxx0: remove unused defines Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a7cc76b2fa30a8a641e642ae92ded0dee9ce098b Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:25 2009 +0200 Staging: rtxxx0: kill PID macros * kill PID macros * unify now identical RT30xx and !RT30xx code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 659473ceaacb678856dcfb395ee4a290a078f8e0 Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:19 2009 +0200 Staging: rt3070: kill TimerQThr thread first in RT28xxThreadTerminate() * kill TimerQThr thread first in RT28xxThreadTerminate() * remove the debugging printk() while at it This makes rt3070 driver match rt2870 driver's behavior. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 382280ae9d0f94a7ffed1f8963be16b96348684c Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:12 2009 +0200 Staging: rtxxx0: PID checking fixes * rt3070: - add missing pid_nr() invocations * rt{28,30}70: - do not treat PID 0 as valid Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c43254c13aebeb7ed1e3534ad77d8dc98dc6475f Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:30:06 2009 +0200 Staging: rtxxx0: kill RT8270_USB_DEVICES() macro Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c6597767af41d8d9d1021bc1bd7983a2d119596c Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:29:59 2009 +0200 Staging: rtxxx0: remove dead platform specific code Remove dead support for: * IKANOS_VX_1X0 * INF_TWINPASS * INF_DANUBE * BRCM_6358 platforms. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 20e3c65381e80ea8411d7786ce786013e52b97fe Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:29:53 2009 +0200 Staging: rtxxx0: remove support for older wireless extensions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0b2e3aefc34d3d5824e687529c6992521765614d Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:29:47 2009 +0200 Staging: rt3070: fix build warnings In file included from drivers/staging/rt3070/common/../../rt2870/common/cmm_data.c:2, from drivers/staging/rt3070/common/cmm_data.c:2: drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/cmm_data.c: In function ‘RTMP_FillTxBlkInfo’: drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/cmm_data.c:1018: warning: label ‘FillTxBlkErr’ defined but not used In file included from drivers/staging/rt3070/common/../../rt2870/common/eeprom.c:2, from drivers/staging/rt3070/common/eeprom.c:2: drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/eeprom.c: In function ‘set_eFuseLoadFromBin_Proc’: drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/eeprom.c:1041: warning: unused variable ‘orgfsgid’ drivers/staging/rt3070/common/../../rt2870/common/../../rt2860/common/eeprom.c:1041: warning: unused variable ‘orgfsuid’ In file included from drivers/staging/rt3070/../rt2870/rt_profile.c:2, from drivers/staging/rt3070/rt_profile.c:2: drivers/staging/rt3070/../rt2870/../rt2860/rt_profile.c: In function ‘RTMPReadParametersHook’: drivers/staging/rt3070/../rt2870/../rt2860/rt_profile.c:863: warning: unused variable ‘orgfsgid’ drivers/staging/rt3070/../rt2870/../rt2860/rt_profile.c:863: warning: unused variable ‘orgfsuid’ In file included from drivers/staging/rt3070/common/rtusb_io.c:2: drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c: In function ‘CMDHandler’: drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1763: warning: ‘CipherAlg’ may be used uninitialized in this function drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1758: note: ‘CipherAlg’ was declared here drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1763: warning: ‘KeyIdx’ may be used uninitialized in this function drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1757: note: ‘KeyIdx’ was declared here drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1763: warning: ‘ApIdx’ may be used uninitialized in this function drivers/staging/rt3070/common/../../rt2870/common/rtusb_io.c:1759: note: ‘ApIdx’ was declared here Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f0da335bdc9bb9410889b4196a9ce9d7173f8c9c Author: Bartlomiej Zolnierkiewicz Date: Sun Aug 16 21:29:41 2009 +0200 Staging: rt2870: duplicated code is executed twice in AsicEvaluateRxAnt() Fix it. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9dccc61c83db762c2bef1e100643032b92548c87 Author: Pekka Enberg Date: Wed Aug 12 11:03:39 2009 +0300 Staging: w35und: Remove some write-only struct members There's no point in keeping around struct members that are only written to but never read. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit a95c69cfe44d96489777f9eda8c2005963730bef Author: Pekka Enberg Date: Wed Aug 12 11:03:38 2009 +0300 Staging: w35und: Convert typedef MTO_PARAMETERS to struct wb35_mto_param Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 58b32cba16ecf2ffeb28a87b20d0a83c6a8ff90a Author: Pekka Enberg Date: Wed Aug 12 11:03:37 2009 +0300 Staging: w35und: Remove unused struct _STATISTICS_INFO Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 27d4642105b3fc6781e9110c7f4d0741434985ca Author: Pekka Enberg Date: Wed Aug 12 11:03:36 2009 +0300 Staging: w35und: Convert typedef DESCRIPTOR to struct wb35_descriptor Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit ef3bf091f33ea0358323da5a163e98e9c78bed32 Author: Pekka Enberg Date: Wed Aug 12 11:03:35 2009 +0300 Staging: w35und: Cleanup the mlmetxrx_f.h header file This patch removes the unused MLMEProcThread and MLMEReturnPacket declarations and indents the header file. Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 27f362e7692be874348c02ac8676367842c842cc Author: Pekka Enberg Date: Wed Aug 12 11:03:34 2009 +0300 Staging: w35und: Remove unused struct _RXBUFFER Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit b7caf94fb8dcfea7a44251977bb3f1b7a8cbfeb4 Author: Pekka Enberg Date: Wed Aug 12 11:03:33 2009 +0300 Staging: w35und: Convert MDS typedef to struct w35_mds Acked-by: Pavel Machek Signed-off-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 7c3ab53c467acf23fd4e8265f3b867461f0bebe4 Author: Jaswinder Singh Rajput Date: Thu Aug 13 13:11:12 2009 +0530 Staging: rt2860: includecheck fix: rt_linux.h fix the following 'make includecheck' warning: drivers/staging/rt2860/rt_linux.h: linux/wireless.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Greg Kroah-Hartman commit b3184e1ec36a94602d54339699df6e1036cd71f8 Author: Michael Buesch Date: Sun Aug 9 18:02:30 2009 +0200 Staging: rtl8187se: Fix comment-out-typo This fixes a comment-out-typo that resulted in a dangling if-branch. Signed-off-by: Michael Buesch Signed-off-by: Greg Kroah-Hartman commit 9f07453d8643e224a57e2053a4536ee4a5f2e375 Author: Daniele Napolitano Date: Wed Aug 12 18:59:21 2009 +0200 Staging: rt2870: new USB ID for Belkin N+ F5D8055 New USB ID for Belkin N+ F5D8055 (USB 802.11n adapter). I've made this patch with drivers/staging branch found here: http://git.kernel.org/?p=linux/kernel/git/gregkh/staging-2.6.git Signed-off-by: Daniele Napolitano Signed-off-by: Greg Kroah-Hartman commit d1aed89996dac8326fd7eebc95da0856754f36b5 Author: Jeff Mahoney Date: Tue Aug 4 10:26:23 2009 -0400 Staging: rtl8192su: add linux/vmalloc.h Some arches don't provide vmalloc.h through the includes already included in rtl8192su. This patch adds it. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 8109c2fd0509f935dc811223e95f52292f1b5892 Author: Jeff Mahoney Date: Tue Aug 4 10:26:22 2009 -0400 Staging: rtl8192su: stop using skb->tail This patch replaces uses of skb->tail with skb_tail_pointer(skb). Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit f357e6ecbc4696d11539df3fd604c8da59c1e6d1 Author: Jeff Mahoney Date: Tue Aug 4 10:26:21 2009 -0400 Staging: rtl8192su: fixup size comparison warning sizeof(val) returns type unsigned long. count is already unsigned long, so just use that. This fixes a compile warning. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 859ebd9748fb086a272bebe6cce4d8e6461dd7fc Author: Jeff Mahoney Date: Tue Aug 4 10:26:20 2009 -0400 Staging: rtl8192su: fix up printk warnings This patch addresses printk warnings. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit b1af19f19d43567ddc956ed37b710cba0c8b1f95 Author: Jeff Mahoney Date: Tue Aug 4 10:26:19 2009 -0400 Staging: rtl8192su: compile fixes This patch removes -fhard-float and the software float helpers. In-kernel floating point is not allowed. Signed-off-by: Jeff Mahoney Signed-off-by: Greg Kroah-Hartman commit 56791f0a85382936d3922ecd05b4eedbfb53d2a6 Author: Greg Kroah-Hartman Date: Tue Aug 25 22:07:56 2009 -0700 Staging: echo: coding style cleanups Some remaining coding style cleanups to the header files and the echo.c file. Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit c8b3953c4c267133ed3276d7b052282dca1e2e91 Author: Greg Kroah-Hartman Date: Tue Aug 25 22:07:13 2009 -0700 Staging: echo: remove unneeded USE_SSE2 defines This define is never set in the kernel, so remove the code using it. Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 325e3b4c72ba1aaca7ceba4cac22173b1e7ae427 Author: Greg Kroah-Hartman Date: Tue Aug 25 22:06:46 2009 -0700 Staging: echo: remove unneeded USE_MMX defines This define is never set in the kernel, so remove the code using it. This lets us drop the mmx.h file as well. Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 248ed329ac543fc795d20990495ed429043159ac Author: Greg Kroah-Hartman Date: Tue Aug 25 22:05:45 2009 -0700 Staging: echo: remove bit_operations.h This file is no longer needed, thanks to the work done by David. Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 196e76e86a3a909125daff3d62f0a38761f79c66 Author: David Rowe Date: Sun Aug 23 10:57:53 2009 +0930 Staging: echo: top bit patch This patch removes the need for the bit_operations.h include file which can now be deleted. It also contains some minor corrections to comments (typos and alignment of ASCII formulas). I have also removed some #if lines that were not necessary. I have tested the patch using a unit test module that runs in kernel mode and have verified that the patched code gives identical results to the previous version using a 8000 sample input sequence. Let me know if you want this unit test, it runs automatically when the module is insmod-ed and outputs a go/no go result: # insmod oslec.ko # dmesg [17191803.480000] oslec_test installed [17191803.480000] Testing OSLEC with 128 taps (16 ms tail) [17191803.496000] Oslec Unit Test PASSED! pass: 8000 fail: 0 Signed-off-by: David Rowe Signed-off-by: Greg Kroah-Hartman commit a3c0f0aa4f206297ea84f91ffb61c8687e23e1a4 Author: Greg Kroah-Hartman Date: Mon Aug 10 10:46:37 2009 -0700 Staging: echo: remove TODO item The proc interface is no longer in the echo code, so remove the TODO item. Cc: Steve Underwood Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 49bb9e6d75346980acdc43f5198032c2a0a22c2c Author: Greg Kroah-Hartman Date: Mon Aug 10 10:45:25 2009 -0700 Staging: echo: fix up remaining checkpatch.pl issues It's all just minor comment spacing issues. This patch fixes up the remaining ones and now the code is checkpatch.pl clean. Cc: Steve Underwood Cc: David Rowe Signed-off-by: Greg Kroah-Hartman commit 817bb334337e747a26322e034694042222388cd6 Author: Kamalesh Babulal Date: Fri Aug 14 15:52:50 2009 +0530 Staging: sep: SEP driver build breaks with CONFIG_PCI=n next-20090813 randconfig build breaks Discretix SEP driver when configured with CONFIG_PCI=n. drivers/staging/sep/sep_driver.c: In function 'sep_probe': drivers/staging/sep/sep_driver.c:2548: error: implicit declaration of function 'pci_dev_get' This patch adds the dependency on PCI for the DX SEP driver. Signed-off-by: Kamalesh Babulal Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 663d8bb0a9971666875551acfc15107a9b09e986 Author: Alan Cox Date: Fri Aug 14 15:49:35 2009 +0100 Staging: sep: use ioremap helpers Whee lots of code vanishes. While we are it note various existing stuff that couldn't work but was ifdeffed in this area. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a4e80a1bcc5df3a48cb8a51dd357045c4ebbebc0 Author: Alan Cox Date: Fri Aug 14 15:49:22 2009 +0100 Staging: sep: untangle the register_fs code While goto can be useful for cleaner cleaning up in C (as Linux sometimes does and I think Linus borrowed stylistically from Amiga) you can overdo it. Here is a fine fine example of when it's overkill Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cfd498be6e1b89735259690755ad7b9b9bc2a154 Author: Alan Cox Date: Fri Aug 14 15:49:15 2009 +0100 Staging: sep: clean up time The SEP time setting stuff can now get a hoover Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2e7dcc3bbffb0b87f64369b3dab3ac8993d446b3 Author: Alan Cox Date: Fri Aug 14 15:43:05 2009 +0100 Staging: sep: clean up command sending Split out the debug dumping functionality. Clean up the rest. For the moment leave the hideous cache flush in there as the code needs fixing to use the dma_map_sg interfaces not its own crazed table functions Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6f9e0f60c46d597ee924dd073628ca2424f4178c Author: Alan Cox Date: Fri Aug 14 15:42:41 2009 +0100 Staging: sep: flow ioctl cleanup Simple ioctl taking a single numeric argument so ditch the structs and weirdness. While we are it lock it properly and fix the error returns. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 70ae04e6cc38454187c9ade023f2bdce474e6936 Author: Alan Cox Date: Fri Aug 14 15:42:18 2009 +0100 Staging: sep: kick out various fields we can prove are not needed #1: sep->cache_addr is assigned to sep->rar_addr and never changed sep->rar_addr is never assigned after this point #2: sep->cache_bus ditto for sep->rar_bus #3 sep->rar_region_addr is assigned but necer used #4 sep->io_addr is in fact private to the probe function and the same as the reg_addr #5 The remainig sep->io fields are in fact function locals #6 sep->message_shared_area is assigned once from sep->shared_area sep->shared_area does not then change #7 sep->shared_addr and sep->shared_area_addr are the same thing, ditto for the bus addresses. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4c29e9799878b6a5fc9ec37d40132c2380911e0f Author: Alan Cox Date: Fri Aug 14 15:41:16 2009 +0100 Staging: sep: Implement some proper open/close methods Use the mutex as a protection for open close rather than leaving it hanging invalidly across userspace. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6f13ea3df5de2af5c50e15218553c2434e455be9 Author: Alan Cox Date: Fri Aug 14 15:41:50 2009 +0100 Staging: sep: tidy firmware load Start by removing unused fields and then work this back to eliminate unused chunks of the firmware loading ioctl (ie almost all of it) Also fix the wrong handling of shared allocations and allocate the rar region properly with dma_alloc_coherent not kmalloc, as it is device shared. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 51faa9d27cbcfd5165d31762161319a2fdb11856 Author: Alan Cox Date: Fri Aug 14 15:40:45 2009 +0100 Staging: sep: various minor tidyups Do these in one batch rather than generate lots of tiny diffs Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit c7b7556245f3d0e825bf5c73dd9380b6b26737c5 Author: Alan Cox Date: Fri Aug 14 15:40:32 2009 +0100 Staging: sep: fix a conversion thinko Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ad6b9ab7a3ef6818a7b10e1202a0fb62fe242aeb Author: Alan Cox Date: Fri Aug 7 19:25:43 2009 +0100 Staging: sep: Use the proper allocators for the shared area The DMA handling in the driver is a bit of a catastrophe. Start with the simple things - allocate the shared area properly. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d7d90a269d6c55f978645c927080c6f5991c47e1 Author: Alan Cox Date: Fri Aug 7 19:25:25 2009 +0100 Staging: sep: remove extra CFLAGS we don't use Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 790cf1b912d3166746c8a1e1e807019a397d85d9 Author: Alan Cox Date: Fri Aug 7 19:25:16 2009 +0100 Staging: sep: Try and get kernel address and user address types right We will need to tackle this in order to begin doing something about the bus handled and shared memory object mess. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3b66bb651e6b29c1976b6d407cb53f11fcb8e7e0 Author: Alan Cox Date: Fri Aug 7 19:25:06 2009 +0100 Staging: sep: remove module int macro Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit dabe6e694685150b25ff357e1ef401b96ab81ec3 Author: Alan Cox Date: Fri Aug 7 19:24:58 2009 +0100 Staging: sep: load_rom is remarkably verbose and repetetive Give it a haircut Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 3cacf72922067271ee2ad4debc398a53aeaf8a41 Author: Alan Cox Date: Fri Aug 7 19:24:51 2009 +0100 Staging: sep: fix flow API We can return NULL - much cleaner Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8c7ff81ac371a9d90faa985241867ce5af67fc8b Author: Alan Cox Date: Fri Aug 7 19:24:43 2009 +0100 Staging: sep: clean up after switching to passing sep Various function calls can now be cleaned up Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit ca605bb68ccd1216871659371497f1e6a2543dc4 Author: Alan Cox Date: Fri Aug 7 19:24:36 2009 +0100 Staging: sep: Use filp->private_data to create proper device instances Move from using a sep_dev global. The workqueue still uses it and we use the pointer in order to know if a device was found. This requires some restructuring as the pci probe and the init module logic are all rather messed up and only worked by luck. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6343cefdc8174f2d00abf8201ecd17d354e5ddf7 Author: Alan Cox Date: Fri Aug 7 19:24:26 2009 +0100 Staging: sep: Fix PCI irq usage Don't read the IRQ from the device, the device has no idea what is going on in the full bus topology and remapping above PCI. Use the pdev->irq field. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 904290c0b7b48e757b3dc9451f4b014f42c25098 Author: Alan Cox Date: Fri Aug 7 19:24:18 2009 +0100 Staging: sep: rename some fields Make them more Linuxlike - also favour _bus over _phys Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 577092ac155005ecb3a1385d628ef27fc9b52b72 Author: Alan Cox Date: Fri Aug 7 19:24:08 2009 +0100 Staging: sep: use O_NDELAY instead of magic APIs Open is still completely bogus in this driver but we'll tackle that later - for now fix the bogus API Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 7913c21a25a9d54b093bed3522d35b188aadf6a4 Author: Alan Cox Date: Fri Aug 7 19:24:00 2009 +0100 Staging: sep: fix time handler Cleaning up the code reveals an obvious thinko Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0a18d7b5f36f3c77a239ee752c4ce1197af7b617 Author: Alan Cox Date: Fri Aug 7 19:23:50 2009 +0100 Staging: sep: forward declaration removal time Exterminate! Exterminate! Exterminate! Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 91410066476f050121b6dc496aaa1a589e82dc21 Author: Alan Cox Date: Fri Aug 7 19:23:41 2009 +0100 Staging: sep: squish some of the wrapper functions Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b636803313b99450d21b6942f86bc57ac572b482 Author: Alan Cox Date: Fri Aug 7 19:23:34 2009 +0100 Staging: sep: kill off unused code Now it is static we can see what code is unused Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit b10b483efe9f232d5d33bec2bbf91b359be590bd Author: Alan Cox Date: Fri Aug 7 19:23:26 2009 +0100 Staging: sep: make everything static Now we have it in one file we can make it all static and see what falls out Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 0097a69d55d1dd0349f8d76da50eb882f8e5af74 Author: Alan Cox Date: Fri Aug 7 19:23:19 2009 +0100 Staging: sep: merge the two files Now we have it trimmed down a bit merge the two pieces so we can clean it up properly. Code moves but no changes in functions. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8407248231df774ba81d0b968bf112edb4069461 Author: Alan Cox Date: Fri Aug 7 19:23:11 2009 +0100 Staging: sep: kill lock wrapper We don't need wrappers for this so clean them up Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 2f82614ca597ef0aa4ddc26de5f9a176f1a91ee6 Author: Alan Cox Date: Fri Aug 7 19:23:04 2009 +0100 Staging: sep: statically initialize the fops like other drivers This doesn't need to be done at runtime so do it at compile time Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit a2171b6807b01bb942de9524b01df29cf71b46c6 Author: Alan Cox Date: Fri Aug 7 19:22:57 2009 +0100 Staging: sep: function shuffle Shuffle the functions into a more normal order. Don't however change any of them. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 8f3aa57f8244aaeb882a83a94c994b654160ddec Author: Alan Cox Date: Fri Aug 7 19:11:48 2009 +0100 Staging: sep: Put all the ARM bits together I suspect these can be killed off entirely Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 43e8c4a3ceb2d92a89612c858753cbda0b505163 Author: Alan Cox Date: Thu Aug 6 20:46:22 2009 +0100 Staging: sep: priceless ... Remove some rather pointless goto calls Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f93e4bf953d125d634cb6a2c06aacfde18d3de05 Author: Alan Cox Date: Thu Aug 6 20:46:08 2009 +0100 Staging: sep: first pass after indent Again all formatting Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit d19cf32fddeb05a13799fd766fced4204cc9164d Author: Alan Cox Date: Thu Aug 6 20:45:57 2009 +0100 Staging: sep: indent pass Ok time to indent and get the code in vague shape. No other changes in this patch. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 46eb5a13b7f397b37bac14fbfa240cffa463783c Author: Alan Cox Date: Thu Aug 6 20:45:47 2009 +0100 Staging: sep: do something about all the printk macros Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 794f1d789520d423ef6d90d5390edea5c1b687c2 Author: Alan Cox Date: Thu Aug 6 20:45:35 2009 +0100 Staging: sep: We have two different repeats of the same logic So how about a little helper Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 79de99e864fb731392bec78f251ce0310fed5d9a Author: Alan Cox Date: Thu Aug 6 20:45:24 2009 +0100 Staging: sep: rework write_register/read_register Replace the macros with an inline to get type safety and pass sep_dev instead of the reg pointer Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit f5e3980f9b28b703bc009af9dfa33ae2236503da Author: Alan Cox Date: Thu Aug 6 20:45:07 2009 +0100 Staging: sep: Create a structure to hold all the current crap spewed about as globals For now keep the field names matching the variable names Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 6a107539899803c1f8f36bcd3cc5a3c68660bd13 Author: Alan Cox Date: Thu Aug 6 20:44:46 2009 +0100 Staging: rar/sep: Remove C++isms from the headers C++ header wrapping goes on the user space side Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 9dd3bd42162123553b62d44c02582f735fa25763 Author: Alan Cox Date: Thu Aug 6 20:44:09 2009 +0100 Staging: sep: Fix rar build Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 4dd00845690a6744dbd879fa49584c49098823d8 Author: Alan Cox Date: Thu Aug 6 20:44:37 2009 +0100 Staging: rar/sep: Don't use random VENDOR_ID macros but the proper names Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 137cf5b22f5fd38751265eae881749c311d27c75 Author: Alan Cox Date: Thu Aug 6 20:44:29 2009 +0100 Staging: rar: fix some initial type problems Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 542385ee6da337529c1087dd3d8c7af3e4269602 Author: Alan Cox Date: Thu Aug 6 20:44:18 2009 +0100 Staging: sep: Move the RAR support into staging where it is supposed to be Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cd1bb431d8b183e2d063267419984cc9bbe22b0b Author: Mark Allyn Date: Thu Aug 6 20:43:59 2009 +0100 Staging: sep: Upstream revision 3 of the security processor kernel driver Upstream revision 3 of the security processor kernel driver; now located in drivers/staging This revision adds an initial TODO file This driver no longer requires to have the firmware compiled in it with the CONFIG_EXTRA_FIRMWARE configuration option. Furthermore, we now have the right to distribute the firmware binaries. This is the Linux kernel driver for the Security Processor, which is a hardware device the provides cryptographic, secure storage, and key management services. Please be aware that this patch does not contain any encryption algorithm. It only transports data to and from user space applications to the security processor. Signed-off-by: Mark Allyn Signed-off-by: Greg Kroah-Hartman commit 249c033c29ed4eccd24b52959747f2663deaa02f Author: Greg Kroah-Hartman Date: Wed Jul 29 06:54:11 2009 -0700 Staging: pata_rdc: remove the driver from the staging tree Now that a "real" driver is in the libata tree for this hardware, we need to remove the staging driver as it is no longer needed. Cc: Kevin Huang Cc: Tomy Wang Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 0841a555af4e15c1048f69b800a475f2fbf315a9 Author: Greg Kroah-Hartman Date: Tue Jul 28 17:05:51 2009 -0700 Staging: remove epl driver This is no longer maintained upstream, and no one cares about it at all, so delete it. The fact that it is duplicating an existing network driver also is a good reason to remove it, it's causing nothing but trouble right now. Cc: Daniel Krueger Cc: Ronald Sieber Signed-off-by: Greg Kroah-Hartman commit 51be97961fc74de75e9e30a7339804afb77c7b1e Author: Greg Kroah-Hartman Date: Fri Sep 11 09:51:31 2009 -0700 Staging: vme: change to VME_BUS Turns out the m68k arch already has a CONFIG_VME, so use CONFIG_VME_BUS instead. Thanks to Geet Uytterhoeven for pointing this out. Cc: Geert Uytterhoeven Cc: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit bf39f9a5bdcfdce2e4871cdb8f4219ea5f32f3c8 Author: Martyn Welch Date: Fri Aug 28 11:28:56 2009 +0100 Staging: vme: Separate the list of TODOs from the API documentation This patch moves the API documentation to it's own file and provides a proper list of TODOs. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 3d0f8bc7517718a4846de6f538ad67a4f7f83239 Author: Martyn Welch Date: Thu Aug 27 17:00:40 2009 +0100 Staging: vme: Update support for the Universe II VME driver This patch starts the reworking of the vme_ca91cx42.c for the VME core. The driver seems to have only supported the Universe II for a long time, I have no hardware to check to see if it would work on the Universe I. This patch is compile tested with minimal run-time testing. It enables basic support for slave and master windows and interrupts. The master windows have undergone basic run testing. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 42fb503122d8cd428b5b1078bd473847ca2b206c Author: Martyn Welch Date: Tue Aug 11 17:44:56 2009 +0100 Staging: vme: add VME Location Monitor management mechanism Extend the image and DMA channel resource management methods to control the location monitor resource. The location monitor should be controlled as it can only be used at a single location at a time. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 400822fec46ce69d2ba7692689a1689653f7b847 Author: Martyn Welch Date: Tue Aug 11 16:20:22 2009 +0100 Staging: Use proper mutexes in the tsi-148 VME driver The VME core and tsi-148 driver currently use semaphores as mutexes. Switch to proper mutex implementation. Signed-off-by: Martyn Welch Reviewed-by: Emilio G. Cota Signed-off-by: Greg Kroah-Hartman commit 238add523bf9c89db1a191599fff2770af55e0fd Author: Martyn Welch Date: Tue Aug 11 14:37:15 2009 +0100 Staging: Update VME vme_user module * Add ifdef wrapper to vme_user.h * Correct Initialisation routine * Add remove routine to correct probe routine * Remove old test routines Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 75155020c8dc3aa38f8cabc95f17ccd8389c37b6 Author: Martyn Welch Date: Tue Aug 11 13:50:49 2009 +0100 Staging: vme: Add syncronize interrupts before removing callback As identified by Jiri, there is no syncronisation before callback is removed. Signed-off-by: Martyn Welch Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 51a569f757f233bcffbffcdfeeff510916991a55 Author: Emilio G. Cota Date: Mon Aug 10 16:52:42 2009 +0200 Staging: vme: fix {master,slave}_get check bug It's checking the wrong functions; fix it. Signed-off-by: Emilio G. Cota Acked-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit a37b0dad8b3d278fa64482ccd2381c947f432bf7 Author: Martyn Welch Date: Thu Aug 6 09:43:07 2009 +0100 Staging: vme: Extend VME core probing for special matches Add the ability to define all slots and current slot in the VME buses bind table. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit df45517536eb010ce2b3c4c7b75c1a02bdb10018 Author: Martyn Welch Date: Wed Aug 5 17:38:31 2009 +0100 Staging: vme: Correct tsi-148 VME interrupt free routine As identified by Jiri, the VME interrupt free routine removes the service routine before disabling the interrupt. Re-order operations to be performed in the reverse of the request routine. Signed-off-by: Martyn Welch Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit c7ef5da35a5323bf1375eea4dd8e455c0696b206 Author: Martyn Welch Date: Fri Jul 31 14:07:53 2009 +0100 Staging: vme: add TODO file This describes the current vme api, along with a list of things that needs to be fixed up. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit d22b8ed9a3b0a157b732580258ec16b729265953 Author: Martyn Welch Date: Fri Jul 31 09:28:17 2009 +0100 Staging: vme: add Tundra TSI148 VME-PCI Bridge driver Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 60479690af6d559d4202bed139db90323386bd2b Author: Martyn Welch Date: Fri Jul 31 09:28:17 2009 +0100 Staging: vme: add Universe I/II bridge driver Currently this code doesn't compile, so it is disabled. That should be fixed up... Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit f00a86d98a1ec3e99d352cda926fab767ba43b1f Author: Martyn Welch Date: Fri Jul 31 09:28:17 2009 +0100 Staging: vme: add VME userspace driver Adds a VME userspace access driver Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit a17a75e2666f7175baac838bc4b6d11324dca3ef Author: Martyn Welch Date: Fri Jul 31 09:28:17 2009 +0100 Staging: VME Framework for the Linux Kernel This framework aims to colelese, extend and improve the VME Linux drivers found at vmelinux.org, universe2.sourceforge.net and openfmi.net/frs/?group_id=144. The last 2 drivers appear to be forks of the original code found at vmelinux.org though have extended the codebase. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit 03cd7136d68b4877a9e1793d31cab38fdcb67434 Author: Roel Kluin Date: Sat Aug 8 00:35:31 2009 +0200 Staging: vt6655: fix possible Read buffer overflow If pDevice->sOpts.nRxDescs{0,1} or nTxDescs[{0,1}] is zero, the loop ends with i == 0, and we write aRD{0,1}Ring[-1]. apTD{0,1}Rings[-1] respectively. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 256a816b6b78bf29fba0c0f1bbcf998953429422 Author: Jim Lieb Date: Wed Aug 12 14:54:16 2009 -0700 Staging: vt665x: remove tbit.h part 2 Remove use of tbit macros adn remove header file. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 8a3d91b02830dd7c58d27e5de65222219ac2163f Author: Jim Lieb Date: Wed Aug 12 14:54:15 2009 -0700 Staging: vt665x: remove tbit.h Remove use of tbit macros and remove the header file. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit dad72fed3692a918fb567915f110ae71fb7ffe32 Author: Jim Lieb Date: Wed Aug 12 14:54:14 2009 -0700 Staging: vt665x: cleanup USB definitions Remove gratuitous macros re-defining usb functions. One result is to make kcompat.h now identical in both driver dirs Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit f9de7e7bd927196adb578b418ebaa9d0d37826b5 Author: Jim Lieb Date: Wed Aug 12 14:54:13 2009 -0700 Staging: vt665x: remove tpci.h file in vt6656 Remove tpci.h. It is not even used in the usb version Minor cleanup of janitor work missed earlier. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 1e5743ca6c91cf345f72b012ae362b88db115bcc Author: Jim Lieb Date: Wed Aug 12 14:54:12 2009 -0700 Staging: vt665x: remove tpci.h file Convert pci register/command defs to use kernel definitions. Remove tpci.h. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 3e362598fd3c7b8729afd0383a4cdf08849b020e Author: Jim Lieb Date: Wed Aug 12 14:54:11 2009 -0700 Staging: vt665x: Remove umem.h Part 2 Remove references to umem.h macros and refer directly to memcpy functions. Delete the include file. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 51b6d9c299f10780b3093d3748257ecc4ae7340d Author: Jim Lieb Date: Wed Aug 12 14:54:10 2009 -0700 Staging: vt665x: Remove umem.h Part 1 Remove references to umem.h macros and refer directly to memcpy functions. Delete the include file. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit a7ad322a46663755718a214a9a34e5cfe64d07f7 Author: Jim Lieb Date: Wed Aug 12 14:54:09 2009 -0700 Staging: vt665x: Clean up include files, Part 2 Remove cplusplus lines from include files Remove needless ifdefs on includes to conform with C conventions. Remove misc commented code/includes Update TODO Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 9d26d60f99855056a20ac7c0b68eb5ed04619831 Author: Jim Lieb Date: Wed Aug 12 14:54:08 2009 -0700 Staging: vt665x: Clean up include files, Part 1 Remove cplusplus lines from include files Remove needless ifdefs on includes to conform with C conventions. Remove misc commented code/includes Update TODO Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit a884847a1a30be9a55d975f1e3fe8cf5f922bb79 Author: Jim Lieb Date: Wed Aug 12 14:54:07 2009 -0700 Staging: vt665x: Typedef and macro cleanup Part 2 Clean up unused typedefs and macros to remove Win32'isms and misc non-linux constructs. Text edits to referencing source for less frequently used macros. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 193a823caaf0e2a79a447014be00a6b70ed216a2 Author: Jim Lieb Date: Wed Aug 12 14:54:06 2009 -0700 Staging: vt665x: Typedef and macro cleanup Part 1 Clean up unused typedefs and macros to remove Win32'isms and misc non-linux constructs. Text edits to referencing source for less frequently used macros. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 555044bf893bb7e6d00c304362c80672b237c49c Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 12 14:54:05 2009 -0700 Staging: vt6656: add TODO Cc: Forest Bond Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 100a538442b8efe1a4b3a3632b410685ebea49ec Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 12 14:54:04 2009 -0700 Staging: vt6655: add TODO Cc: Forest Bond Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 612822f5dd1638de442cf50eb9da54632fba0e66 Author: Jim Lieb Date: Wed Aug 12 14:54:03 2009 -0700 Staging: vt665x: Text janitor in prep for driver merge, part 2 Text only changes to remove textual differences between the vt6655 and vt6656 trees in prep for driver merge. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 77f58b133ea1da92faed89ec384b5e4279f6574f Author: Jim Lieb Date: Thu Jul 30 10:30:32 2009 -0700 Staging: vt665x: Text janitor in prep for driver merge These changes in vt6656 match changes in vt6655 to minimize text differences prior to merging the two trees into a single driver source. Signed-off-by: Jim Lieb Cc: Forest Bond Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7e809a9b10ab5ee985e23dea537e0236f026d1ca Author: Jim Lieb Date: Thu Jul 30 10:27:21 2009 -0700 Staging: vt6655 textual cleanup in prep for driver merge The vt6655 and vt6656 drivers are from a common origin but have drifted apart with minor textual differences. There are two changes: s/DEVICE_PRT/DBG_PRT/g and s/byPktTyp/byPktType/g This significantly reduces the differences between the two file sets in preparation to merging the common code. A few whitespace and text bits were also adjusted. Signed-off-by: Jim Lieb Cc: Forest Bond Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d899d403862863cf2230432e18e7b294a517fd96 Author: Jim Lieb Date: Thu Jul 23 17:22:42 2009 -0700 Staging: vt665x: 64bit compile fixes Part 2 Fix compile problems with 64bit. These issues could cause corrupted address crashes. Cleanup definition use to use more portable kernel typedefs etc. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit db6cb9036b2756c50efc43127c476786ea92eae2 Author: Jim Lieb Date: Thu Jul 23 17:20:49 2009 -0700 Staging: vt665x: 64bit compile fixes Part 1 Fix compile problems with 64bit. These issues could cause corrupted address crashes. In the process, replaced some definitions to use more portable kernel types. Signed-off-by: Jim Lieb Signed-off-by: Greg Kroah-Hartman commit 6f92a8d0b863619227a5865e58ca38f9a759a9a1 Author: Jaswinder Singh Rajput Date: Fri Aug 14 11:54:37 2009 +0530 Staging: otus: includecheck fix: drivers/staging/otus/usbdrv.h fix the following 'make includecheck' warning: drivers/staging/otus/usbdrv.h: linux/usb.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Greg Kroah-Hartman commit 2386b331802b1b2664c35f9f4c7aef778aac725f Author: Bill Pemberton Date: Thu Aug 6 15:22:01 2009 -0400 Staging: serqt_usb2: fix qt_open parameters The parameter list for qt_open() was from the old non usb-serial driver. Signed-off-by: Bill Pemberton Signed-off-by: Greg Kroah-Hartman commit f66abce70504514b1173e4fc9973126b99f65d89 Author: Randy Dunlap Date: Thu Aug 6 16:09:35 2009 -0700 Staging: udlfb: fix printk format warning Fix printk format warning: use %td for ptrdiff: drivers/staging/udlfb/udlfb.h:209: warning: format '%d' expects type 'int', but argument 3 has type 'long int' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e82bf85ec92e9cb2db9b226c1a29e2219b489b94 Author: Alexander Beregalov Date: Thu Aug 6 16:09:34 2009 -0700 Staging: rt2860: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependencies. WIRELESS_EXT is 22 now. Signed-off-by: Alexander Beregalov Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7d5efd61999c8d0e63f995339f76bbfc653b645a Author: Mike Galbraith Date: Fri Jul 31 07:52:58 2009 +0200 Staging: rt2870sta interface names The rest of the known universe prefers wlanN for wireless interface names, to the point that some distro configuration tools, such as opensuse's Yast, don't even allow the user to enter a name, and simply pre-select "wlan". Signed-off-by: Mike Galbraith Signed-off-by: Greg Kroah-Hartman commit d0e0507ad6ccbeaad1f6bfe5923bdc5110df8636 Author: Julia Lawall Date: Tue Jul 28 17:52:56 2009 +0200 Staging: dst: correct error-handling code dst_state_alloc 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/) // @match exists@ expression x, E; statement S1, S2; @@ x = dst_state_alloc(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit b6ac161364eccce1bea4a23a9de395883e90d7ab Author: Stoyan Gaydarov Date: Tue Jul 21 22:02:27 2009 -0500 Staging: ARRAY_SIZE changes These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ Signed-off-by: Stoyan Gaydarov Signed-off-by: Greg Kroah-Hartman commit 2e9ab1e72c631041f8a1c1d1fc7e5359e7e4a476 Author: Julia Lawall Date: Mon Jul 27 21:59:48 2009 +0200 Staging: Correct use of ! and & Correct priority problem in the use of ! and &. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ - !E & C + !(E & C) // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 658ce9d653056a537df70e3a796654446fc9ff64 Author: Uwe Kleine-König Date: Thu Jul 23 08:33:56 2009 +0200 Staging: fix typos "man[ae]g?ment" -> "management" This patch was generated by running git grep -E -l 'man[ae]g?ment' drivers/staging | xargs -r perl -p -i -e 's/\bman[ae]g?ment\b/management/g' Signed-off-by: Uwe Kleine-König Cc: Jiri Kosina Signed-off-by: Greg Kroah-Hartman commit a7cd5829d8b3837755105d71f76a75cddf49003f Author: Shan Wei Date: Fri Jul 24 16:57:35 2009 +0800 Staging: usb-ip: vhci_hdc:Fix the returned error value Compared with other drivers, the "ret" should be nagative and returned. But in vhci_hdc, it always return 0; I dont't use the driver, and I'm not familiar with the code. Hope the patch is helpful. Signed-off-by: Shan Wei Signed-off-by: Greg Kroah-Hartman commit 91c0f68ff6723cfa45aade768f89fac7c500cd0b Author: Felipe Balbi Date: Tue Jul 21 15:52:26 2009 +0300 Staging: cpc-usb: add one todo entry we need to get rid of those driver-specific error codes Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 6c4d3708f6945846785f3512d7a483d20a774745 Author: Felipe Balbi Date: Tue Jul 21 15:52:25 2009 +0300 Staging: cpc-usb: convert comment style in cpcusb.h Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 6414842a82d54464a9b6fee0b038907ac4d052f4 Author: Felipe Balbi Date: Tue Jul 21 15:52:24 2009 +0300 Staging: cpc-usb: convert comment style in cpc_int.h Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 4bbd9365c83117d7e22ed282ff567ee482a0dfe5 Author: Felipe Balbi Date: Tue Jul 21 17:35:50 2009 +0300 Staging: cpc-usb: convert comment style in cpc.h Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit b8868e45c5f8956d57ba489df3ebd24e3f858684 Author: Brian G. Merrell Date: Tue Jul 21 00:46:13 2009 -0600 Staging: USB-IP code cleanup This includes fixes for all of the legit checkpatch.pl errors and warnings. I have also included several of the suggestions from the linux-kernel mailing list when the USB-IP code was first added. Signed-off-by: Brian G. Merrell Signed-off-by: Greg Kroah-Hartman commit 1dd7def0b5d7d0464991640687fc85c143b3c850 Author: Julia Lawall Date: Sat Jul 18 17:25:30 2009 +0200 Staging: meilhaus: 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/) // @@ expression lock1,lock2; expression flags; @@ *spin_lock_irqsave(lock1,flags) ... when != flags *spin_lock_irqsave(lock2,flags) // Signed-off-by: Julia Lawall Cc: David Kiliani Cc: Meilhaus Support Signed-off-by: Greg Kroah-Hartman commit c60adf37eb9cbb244025a0d02ba41bc7931bc674 Author: Pavel Machek Date: Sat Aug 8 15:40:50 2009 +0200 Staging: dream: Synaptics touchscreen: check that smbus is available Check that SMBUS APIs are available in touchscreen driver. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 420818f9755a5676db7c392ba6f77d795f13675b Author: Arve Hjønnevåg Date: Sat Aug 8 15:03:15 2009 +0200 Staging: dream: add support for input on GPIO pins Support for input devices connected to GPIO pins. This adds support for HTC Dream's keyboard and its trackball. Generic support already exists for keyboard on GPIO, but this one is more advanced because it can detect shadow key presses (and actually works with Dream :-). (It also contains Kconfig/Makefile changes, including some that were missing from previous commit. Sorry.) Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 347a799cef17e66bd532fca4e55a5f5a2f9ff36c Author: Pavel Machek Date: Sat Aug 8 14:27:02 2009 +0200 Staging: Dream: separate Kconfig/Makefile into subdirectory Separate Kconfig/Makefile glue from dream into subdirectory. I plan to add few more drivers, and changing staging/Makefile each time sounds like inviting conflicts. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 4d62691b609cc4e66e15c8e5b2261ddb6785b7ca Author: Jiri Slaby Date: Sat Aug 8 11:33:58 2009 +0200 Staging: dream, fix buf overflow In vfe_send_msg_no_payload there is a wrong struct vfe_message allocation. It allocates only sizeof(pointer to vfe_message) for a whole structure. Add a dereference to the sizeof to allocate sizeof(vfe_message). Signed-off-by: Jiri Slaby Acked-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 58c6d6d1a6ff66d81ad933cdbfbf7064a064e906 Author: Pavel Machek Date: Wed Aug 5 00:00:10 2009 +0200 Staging: dream: synaptics touchscreen for dream: documentation This adds pointer to hardware documentation, and adds code comment from Arve. Signed-off-by: Pavel Machek Signed-off-by: Greg Kroah-Hartman commit 4191934cb6cf15a813ba8d2a05366859f7bd1c0b Author: Pavel Machek Date: Tue Jul 21 12:04:26 2009 +0200 Staging: HTC Dream: touchscreen: more cleanups This separates coefficient computation into separate function, so that main probe does not have 1001 variables, and is of a more reasonable size. Signed-off-by: Pavel Machek Cc: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 261314a9f242962cfde842d7a70563d6471e6bf7 Author: Pavel Machek Date: Mon Jul 20 23:59:11 2009 +0200 Staging: HTC Dream: Cleanup Dream touchscreen driver This is first part of touchscreen cleanups. I did not remove earlysuspend functionality for now (to help Google merge the changes). I mainly introduced helpers to reduce code duplication, and split huge functions into smaller ones. Signed-off-by: Pavel Machek Cc: Arve Hjønnevåg Signed-off-by: Greg Kroah-Hartman commit 2e4d2af96aad73b7275de45cb34453d18423767d Author: Arve Hjønnevåg Date: Mon Jul 20 12:53:40 2009 +0200 Staging: HTC Dream: touchscreen driver for staging This adds support for synaptic touchscreen, used in HTC dream cellphone. This is original version from Arve, fixed only to compile; I do have cleaner version, but I broken something inside, and this will preserve authorship better. I originally tried to push the driver directly to input/touchscreen, but the driver has some issues with interrupt handling that are more difficult to fix than I expected at first. Signed-off-by: Arve Hjønnevåg Signed-off-by: Pavel Machek commit d4d000f636d3fa119df5023a6b2d890dea6cef7e Author: Pavel Machek Date: Tue Jul 21 12:38:46 2009 +0200 Staging: htc: Dream: limit Kconfig for only MSM platforms Limit SMD communication glue to MSM platform. It is closely tied to MSM architecture. Signed-off-by: Pavel Machek Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0949a02544b7ffc8378fdb61aa7d0e783de73c36 Author: Greg Kroah-Hartman Date: Mon Sep 14 14:34:20 2009 -0700 Staging: hv: update the TODO file Remove a few items that have already been resolved. There are only a few checkpatch issues, they need to be resolved by larger code logic changes that are not "simple" changes. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 19d7810624d9a05d73c03b567145b7743c22b8a4 Author: Bill Pemberton Date: Fri Sep 11 21:46:46 2009 -0400 Staging: hv: Remove List.h List.h is no longer used and can be removed. Signed-off-by: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 1f5459bcb1d944d3c1b4112fa14cac2eda981db8 Author: Bill Pemberton Date: Fri Sep 11 21:46:45 2009 -0400 Staging: hv: remove use of internal list routines in RndisFilter The hv driver has it's own linked list routines. This removes them from RndisFilter.c Signed-off-by: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 53af545b277508d6b4829e90546cbd1beef536a9 Author: Bill Pemberton Date: Fri Sep 11 21:46:44 2009 -0400 Staging: hv: remove more usages of internal list routines The hv driver has it's own linked list routines. This removes them from more places in hv. Signed-off-by: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit d29274efb73735c6a94f20214b1e4ea994da8848 Author: Bill Pemberton Date: Fri Sep 11 21:46:43 2009 -0400 Staging: hv: remove use of internal list routines in NetVsc The hv driver has it's own linked list routines. This removes them from NetVsc and uses the kernels routines instead. Signed-off-by: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 03a6b30a8c4420fb4be765a945a6989d4bcd24a8 Author: Haiyang Zhang Date: Tue Sep 8 20:12:55 2009 +0000 Staging: hv: Add Haiyang's email to the TODO file Add Haiyang's email to the TODO file. Cc: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 21707bed7e0577c32546e8e0ce74a18528acf398 Author: Greg Kroah-Hartman Date: Wed Sep 2 11:53:59 2009 -0700 Staging: hv: remove function pointer typedefs from vmbus.h It's amazing the hoops that people go through to make code work when they don't opensource the whole thing. Passing these types of function pointers around for no good reason is a mess, this needs to be unwound as everything is now in the open. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7903506975905605bbb9077008ca83eabc0f6272 Author: Greg Kroah-Hartman Date: Wed Sep 2 11:44:19 2009 -0700 Staging: hv: remove PFN_CHANNEL_CALLBACK Come on people, it doesn't get simpler than this, why have a typedef for something so tiny... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f25c749bb830890a3e31236857523a57cf6ddc7c Author: Greg Kroah-Hartman Date: Wed Sep 2 11:28:55 2009 -0700 Staging: hv: remove function pointer typedefs from StorVscApi.h function pointer typedefs are allowed in the kernel, but only if they make sense, which they really do not here, as they are not passed around with any kind of frequency. So just spell them all out, it makes the code smaller and easier to understand overall. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 211ccd6e0b4b62abc0c93eeb671f5cd970b3c185 Author: Greg Kroah-Hartman Date: Wed Sep 2 11:24:48 2009 -0700 Staging: hv: remove function pointer typedefs from NetVscApi.h function pointer typedefs are allowed in the kernel, but only if they make sense, which they really do not here, as they are not passed around with any kind of frequency. So just spell them all out, it makes the code smaller and easier to understand overall. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 74982610d08e7687c435fa6f07245fdfb2362f6d Author: Greg Kroah-Hartman Date: Wed Sep 2 11:18:10 2009 -0700 Staging: hv: remove function pointer typedefs from VmbusApi.h function pointer typedefs are allowed in the kernel, but only if they make sense, which they really do not here, as they are not passed around with any kind of frequency. So just spell them all out, it makes the code smaller and easier to understand overall. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit ce9ea4cf49b0ba4c67be71550d6cd955b718e967 Author: Greg Kroah-Hartman Date: Wed Sep 2 10:35:56 2009 -0700 Staging: hv: rename struct NETVSC_DEVICE The Linux kernel doesn't have all caps structures, we don't like to shout at our programmers, it makes them grumpy. Instead, we like to sooth them with small, rounded letters, which puts them in a nice, compliant mood, and makes them more productive and happier, allowing them more fufilling lives overall. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 21a8082043aa474107f4ed62fb62651ffad8e2f6 Author: Greg Kroah-Hartman Date: Wed Sep 2 10:33:05 2009 -0700 Staging: hv: coding style cleanup for NetVsc.c Still a lot of long lines, but that's nothing I can fix up at this time Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0120ee0d77014eb0f10b25591fcc3fa286720239 Author: Greg Kroah-Hartman Date: Wed Sep 2 09:17:52 2009 -0700 Staging: hv: coding style cleanup for RndisFilter.c It's much better now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit ff568d3a1a1ac4f562a2303e27ce027097054803 Author: Greg Kroah-Hartman Date: Wed Sep 2 08:37:47 2009 -0700 Staging: hv: coding style cleanup for storvsc_drv.c Where's the hazard pay for cleaning up this mess... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 90c9960e20549954d905ff9d761c954b93042b8b Author: Greg Kroah-Hartman Date: Wed Sep 2 07:11:14 2009 -0700 Staging: hv: coding style cleanups for vmbus_drv.c Almost clean. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 689bf406829c8a5e44ebf8fc8918b77b3806ee48 Author: Greg Kroah-Hartman Date: Tue Sep 1 20:12:58 2009 -0700 Staging: hv: warn the world of a bug in the release function All device release functions need to do something, if not, it's a bug. By merely providing an "empty" release function, it gets the kernel to shut up, but that's not solving the problem at all. Stick a big fat WARN_ON(1); in there to get people's attention. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f4266e342527b4309119edde777bb9fbb4e0ef33 Author: Greg Kroah-Hartman Date: Tue Sep 1 17:24:57 2009 -0700 Staging: hv: coding style cleanup for Channel.c All clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 8a280399b3396ded11bbdf74f7f3bba629e3b1df Author: Greg Kroah-Hartman Date: Tue Sep 1 16:34:56 2009 -0700 Staging: hv: coding style fixes for blkvsc_drv.c There are still some very long lines, someone needs to unwind the logic there to resolve that. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 163680b4dbc056c2f1ccf497d12ae8f6fa38c455 Author: Greg Kroah-Hartman Date: Mon Aug 31 22:31:22 2009 -0700 Staging: hv: reorg StorVsc.c This gets rid of all of the forward declarations. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 068c5df20e7118d37e8c3f866ec22ee081548704 Author: Greg Kroah-Hartman Date: Mon Aug 31 22:25:48 2009 -0700 Staging: hv: coding style cleanups for StorVsc.c Some one owes me a lot of beer, or a nice bottle of rum for all of this crud cleanup... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b1f1d2723f71547624b8007a988f06380d6dbfe0 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:56:16 2009 -0700 Staging: hv: TODO: add some more items Add List.h and RingBuffer.h removal items. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c8212f04d677ff7571339da66e7dc523ef8e8ae1 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:51:50 2009 -0700 Staging: hv: reorg ChannelMgmt a bit This gets rid of the unneeded typedef and the forward declarations, saving a bit of code file size. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit bd60c33e77a806e18309bb8ab787aa852e30fa56 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:47:21 2009 -0700 Staging: hv: coding style cleanups for ChannelMgmt.c There are still some too-long lines here, hopefully they will get resolved later. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit df2fff28ec9e120d458e56e210557c6a1416e819 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:11:12 2009 -0700 Staging: hv: reorganize netvsc_drv.c Saves space by getting rid of the forward declarations. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 02fafbc619a57dd4b850ed6af47a40bbb8e1eae8 Author: Greg Kroah-Hartman Date: Mon Aug 31 21:09:45 2009 -0700 Staging: hv: coding style cleanups for netvsc_drv.c There are still some horrible long lines in here, which some simple code reworking will make smaller and easier to understand. Also note the FIXME in struct netvsc_driver_context... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0831ad041fd3611b31c10b46b9716b3c6289f1a1 Author: Greg Kroah-Hartman Date: Mon Aug 31 20:23:33 2009 -0700 Staging: hv: fix coding style issues in Hv.c Lots of cleanups. Note, the use of volatile still needs to be resolved, and possibly the #ifdef could be done a bit "better". Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b3bfb3cecfef142a0caf49fbb85a1d5a056f5c16 Author: Greg Kroah-Hartman Date: Mon Aug 31 17:37:58 2009 -0700 Staging: hv: code reduction from Vmbus.c Reorder some functions to get rid of all of the forward declarations. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 772ec4e208053d125820b86b109c6339572f3961 Author: Greg Kroah-Hartman Date: Mon Aug 31 17:37:18 2009 -0700 Staging: hv: coding style cleanups on Vmbus.c It's now much nicer and cleaner. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit fd8b85eae9928f84c7780f93b8005b3dee7ccbb2 Author: Greg Kroah-Hartman Date: Mon Aug 31 11:40:14 2009 -0700 Staging: hv: coding style cleanups for Connection.c Everything is clean except for some very long lines that need a bit more code rework to resolve. That will have to be done by someone that can test the code. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7dd03fc4be4bcfcc8c56b22494da501c569e5b4d Author: Greg Kroah-Hartman Date: Fri Aug 28 16:26:48 2009 -0700 Staging: hv: remove typedefs from StorVsc.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit e681b95438da3db44d7f847960ba827b624f59d5 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:26:27 2009 -0700 Staging: hv: remove typedefs from RndisFilter.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 1d7e907fb7486768acb843f85f0b300352add431 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:26:11 2009 -0700 Staging: hv: remove typedefs from ChannelMgmt.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 490707d2aaf4b142fb2fb53d8065dbae95b41377 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:25:39 2009 -0700 Staging: hv: coding style cleanups of ChannelInterface.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 44c67577b3e98ee89aabf021bdae1cacee362660 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:25:21 2009 -0700 Staging: hv: coding style cleanups of BlkVsc.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 216260d8b8225249a114494581ab387290102c1b Author: Greg Kroah-Hartman Date: Fri Aug 28 16:24:48 2009 -0700 Staging: hv: move VmbusPacketFormat.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0197e34c1b22f64bf6ac0f49160f8d6bf6fffb31 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:24:34 2009 -0700 Staging: hv: move VmbusChannelInterface.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f363ce27abacf6d67b080da209bd52c85bbb1b8c Author: Greg Kroah-Hartman Date: Fri Aug 28 16:24:16 2009 -0700 Staging: hv: move VmbusApi.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 731a7884f63586184feea6ecd418f1732d2d5161 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:23:49 2009 -0700 Staging: hv: move StorVscApi.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit cc21181217549e0a894dd6b57feacbcb979d831b Author: Greg Kroah-Hartman Date: Fri Aug 28 16:23:17 2009 -0700 Staging: hv: move NetVscApi.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 645954c54287faee983d37705b80e9ae90c63782 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:22:59 2009 -0700 Staging: hv: move logging.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0b43c1806d6fe1f1f004f9e437c992ac1ddb931e Author: Greg Kroah-Hartman Date: Fri Aug 28 16:22:45 2009 -0700 Staging: hv: move List.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 2def7b8bcd4c49ca71a950611c9d456fd35282d2 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:22:33 2009 -0700 Staging: hv: remove ChannelMessages.h It's only ever used within the ChannelMgmt.h file, so pull it into there. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 64a1403d797d38c0bd18ba43bda5653c012c0d58 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:21:33 2009 -0700 Staging: hv: move nvspprotocol.h Move it out of the include subdirectory. No code changes here, just file movements. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 223c1aa632dbad672ad9b907e5d5e8f385417945 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:20:53 2009 -0700 Staging: hv: fix typedefs in nvspprotocol.h It's all clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit abb7aacb5070bad0e94eeaf5fad340ab4f97b33e Author: Greg Kroah-Hartman Date: Fri Aug 28 16:20:34 2009 -0700 Staging: hv: fix coding style issues in nvspprotocol.h No typedef changes yet though. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 9f0c7d2cc30a0691d478b069b499d6b1d01546a2 Author: Greg Kroah-Hartman Date: Fri Aug 28 16:20:07 2009 -0700 Staging: hv: fix typedefs in StorVscApi.h It's all clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 9bcd786a311d7601f25a986e106d2bf774a22fdd Author: Greg Kroah-Hartman Date: Fri Aug 28 16:19:17 2009 -0700 Staging: hv: fix coding style issues in StorVscApi.h No typedef changes yet though. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 8dc0a06ad1f192ea0c8dbe4d2090206c7d880281 Author: Greg Kroah-Hartman Date: Thu Aug 27 16:02:36 2009 -0700 Staging: hv: remove typedefs from VmbusPacketFormat.h All spiffied up now, shines like a brass button on the bump of a barge's bilge. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4bedd6be8b9e9a24f48792c1bef82f521a01db2a Author: Greg Kroah-Hartman Date: Thu Aug 27 16:01:23 2009 -0700 Staging: hv: fix coding style issues in VmbusPacketFormat.h Heh, volatiles, like that was a good idea... Turns out they were not even used, wierd stuff. All clean except for the typedefs. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b3715ee49f33f336f196e9720e44c76885eacd19 Author: Greg Kroah-Hartman Date: Thu Aug 27 16:00:24 2009 -0700 Staging: hv: fix typedefs in vstorage.h It's all clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f3c7c96c8bb587263b408bf98f9208ac1c1d1c92 Author: Greg Kroah-Hartman Date: Thu Aug 27 15:59:39 2009 -0700 Staging: hv: fix remaining style issue in ChannelInterface.h It snuck in with the other typedef cleanups, sorry about that. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 2dd88b511b3ca7907b3fc0e318ff95643a87f2af Author: Greg Kroah-Hartman Date: Thu Aug 27 15:58:52 2009 -0700 Staging: hv: move vstorage.h to hv dir Move it out of the include subdir, it doesn't need to be there. No code was changed in the move. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7e23a6e9626bf93242712f146a9657d38dda497b Author: Greg Kroah-Hartman Date: Thu Aug 27 15:58:15 2009 -0700 Staging: hv: fix up typedefs in NetVscApi.h It's now all clean from a coding style standpoint. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 8eef67392e25c04c52454e656c079bbec62487e1 Author: Greg Kroah-Hartman Date: Thu Aug 27 15:57:15 2009 -0700 Staging: hv: fix up coding style issues in NetVscApi.h Everything but the typedefs. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0b8ffe077776543bfcd7aa470ee9df0ab64651d0 Author: Greg Kroah-Hartman Date: Thu Aug 27 15:55:48 2009 -0700 Staging: hv: fix up some coding style issues in logging.h It's now clean. Well, from a coding style guide, not from a logic standpoint, the whole file needs to be tossed overboard and cheered on as the sharks tear it to individual bits. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 82250213d08689ab34589923be3064bb8f4c1964 Author: Greg Kroah-Hartman Date: Wed Aug 26 15:16:04 2009 -0700 Staging: hv: typedef removal for ChannelMessages.h ChannelMessages.h is now coding style clean. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 314b1c8b1064f4727687bd374aa4ccbe5f10b6ab Author: Greg Kroah-Hartman Date: Wed Aug 26 15:14:51 2009 -0700 Staging: hv: codingsyle cleanups for ChannelMessages.h Everything but the typedefs are taken care of. Also a number of unused defines were removed. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit ee3d7ddfe54108e2e1e3259fb62ec085404c3a74 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:17:36 2009 -0700 Staging: hv: typedef removal for VmbusApi.h The function pointers still have ugly names, but the structures are now cleaned up. Note, a comment was added where the driver structure is pointing at a problem that needs to be fixed up later in the code. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 54b2b847f522eb2c015455bd592a7214972f4d6c Author: Greg Kroah-Hartman Date: Thu Aug 20 12:16:33 2009 -0700 Staging: hv: coding style cleanups for VmbusApi.h typedefs still need to be fixed up. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 1732a1e8a48459cfe4b6244284507a321e9b7725 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:15:54 2009 -0700 Staging: hv: typedef removal from VmbusChannelInterface.h It's all clean now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 1aa2383b144be596f7a09e237e47ecefdeef07af Author: Greg Kroah-Hartman Date: Thu Aug 20 12:15:54 2009 -0700 Staging: hv: coding style cleanups for VmbusChannelInterface.h typedefs still need to be fixed up. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 65452d1f728c95877cad1b7e71dc2ef0c6a8297c Author: Greg Kroah-Hartman Date: Thu Aug 20 12:15:17 2009 -0700 Staging: hv: move HvStatus.h into hv_api.h It doesn't need to be a standalone file anymore. No code changed, only moving things around. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 034469e6338b8d683419e3ee7f2543419dd5b574 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:14:11 2009 -0700 Staging: hv: coding style cleanups for HvStatus.h Ugh, what a mess, it's all better now. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 6658be6ad728c347df33b8593b75aafa3c52eeba Author: Greg Kroah-Hartman Date: Thu Aug 20 12:13:27 2009 -0700 Staging: hv: create hv_api.h Merge the different include/Hv*Api.h files together into hv_api.h as they really don't justify separate files. No code was changed here, only moving stuff around. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0d08737cadc38515695540522cd8ceaa975506b4 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:12:31 2009 -0700 Staging: hv: remove volatile usage from HvSynicApi.h It's pretty pointless as no one is using this structure, but even so the use of volatile is so wrong here it's sad... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit eacb1b4d24c2a8b7c1d73bb72e04920980ec8a4f Author: Greg Kroah-Hartman Date: Thu Aug 20 12:11:26 2009 -0700 Staging: hv: typdef fixes for HvSynicApi.h Still some volatile mis-usages left to fix. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c786a84e9c7a3a342cda0aa19831417a64383444 Author: Greg Kroah-Hartman Date: Thu Aug 20 12:10:52 2009 -0700 Staging: hv: coding style cleanups for HvSynicApi.h Don't fix the typedef issues, that will come next. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f80b3d51a6708b5f14a59c53b1343db59efdda1e Author: Greg Kroah-Hartman Date: Thu Aug 20 12:09:34 2009 -0700 Staging: hv: coding style cleanups for HvPtApi.h Fix up the typedefs in there as well. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 462eeeca0382fb00b3bd6db36a5ee9668a961eae Author: Greg Kroah-Hartman Date: Wed Aug 19 16:26:24 2009 -0700 Staging: hv: rndis.h: typedef removal, part 2 This removes the rest of the typedefs in rndis.h The file is now checkpatch.pl clean. Note, there are a lot of structures in this file that are not used anywhere. I don't know if we want to remove them, but I guess they don't take up any space so it's a nice documentation trail. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 9f33d054394314ba5b7734c6fb7a0eb1d01d3b04 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:26:24 2009 -0700 Staging: hv: rndis.h: typedef removal, part 1 This removes about half of the typedefs in rndis.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 88a3716f0c60fc6e2829e67c6be78b7c91113f62 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:25:51 2009 -0700 Staging: hv: rndis.h: codingstyle fixes This fixes all of the coding style issues in rndis.h with the exception of the typedefs. That comes next. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c488bd746b18ae1804747ff7b6d0c3207727dfda Author: Greg Kroah-Hartman Date: Wed Aug 19 16:25:13 2009 -0700 Staging: hv: rndis.h: remove pointless typedefs The typedefs for u32 are now removed. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit e27edab4b5ae6c0d2d619af7baa9575956ad8d87 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:24:29 2009 -0700 Staging: hv: move rndis.h This moves rndis.h from the include/ subdirectory. It doesn't belong there. No code changes happened here. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 089786553723cc134ab584ecd9e19986181e04ff Author: Greg Kroah-Hartman Date: Wed Aug 19 16:23:45 2009 -0700 Staging: hv: vmbus.h coding style cleanups Coding style fixes for vmbus.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 870cde8086a40b96ce6e39552e57482d577ddd9d Author: Greg Kroah-Hartman Date: Wed Aug 19 16:21:28 2009 -0700 Staging: hv: move vmbus.h This moves vmbus.h from the include/ subdirectory. It doesn't belong there. No code changes happened here. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b4f3fda5d475931d596d5cf599a193f42b857594 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:21:28 2009 -0700 Staging: hv: coding style cleanup of include/HvVpApi.h Coding style fixes for include/HvVpApi.h All of the include/Hv*.h files should be merged eventually... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit cba4decdd3dcd224b17631572456951aace0a27e Author: Greg Kroah-Hartman Date: Wed Aug 19 16:21:28 2009 -0700 Staging: hv: coding style cleanup of include/HvHcApi.h Coding style fixes for include/HvHcApi.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 910d7b31f598a1ce7a0325889537aa993ed1ce1c Author: Greg Kroah-Hartman Date: Wed Aug 19 16:20:41 2009 -0700 Staging: hv: remove include/HvHalApi.h It isn't needed at all, was only being used for one typedef, which is now removed. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b1fe0dca03ea41c703f2899991ae6b45dbb48e2b Author: Greg Kroah-Hartman Date: Wed Aug 19 16:20:15 2009 -0700 Staging: hv: remove include/HvTypes.h It isn't needed at all, was only being used for one typedef, which is now removed. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 93b5c9e17ab2285cc0f6527a8444e157069364a4 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:19:23 2009 -0700 Staging: hv: osd.c: coding style fixes Codingstyle fixes for osd.c Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit daaa8cc31fbd2b7356a0d67dd9ca6d336507f118 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:18:56 2009 -0700 Staging: hv: osd.h: fix GUID reference problem As GUID was a typedef, it hid the fact that we were passing it a 2 variables in functions. This fixes this up by passing it as a pointer, as it should be. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit caf26a31b51a148f70113700fd4f9860b5da3931 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:17:03 2009 -0700 Staging: hv: osd.h: remove GUID typedef GUID should not be a typedef. As proof of the problem of typedefs, look, we are passing 2 of these as a value in functions! Bah... Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0ccafb365803b3256aa75fd07bf9e5c6814a260d Author: Greg Kroah-Hartman Date: Wed Aug 19 16:16:21 2009 -0700 Staging: hv: osd.h: codingstyle cleanups This fixes up the coding style issues in osd.h, with the exception of the typedefs, they will be removed later. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4983b39a0687b00688478e6748b979a02934b234 Author: Greg Kroah-Hartman Date: Wed Aug 19 16:14:47 2009 -0700 Staging: hv: move osd.h This moves osd.h out of the include/ subdirectory. No code changes are made here. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit d7363a194ba9fc4e91a354d5f4ba7f084b847c82 Author: Greg Kroah-Hartman Date: Tue Aug 18 15:21:19 2009 -0700 Staging: hv: clean up vstorage.h Lots of coding style cleanups in vstorage.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit aded7165f262e0f018b23a6cd5cba6e33fd6efd1 Author: Greg Kroah-Hartman Date: Tue Aug 18 15:21:19 2009 -0700 Staging: hv: clean up typedefs in ChannelMgmt.h This removes the typedefs from ChannelMgmt.h, it's now clean from a codingstyle.pl standpoint. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit af248e1f1283792e95fd9842fe343f9260300c9d Author: Greg Kroah-Hartman Date: Tue Aug 18 15:20:34 2009 -0700 Staging: hv: clean up typedefs in Hv.h This removes the typedefs from Hv.h, it's now clean from a codingstyle.pl standpoint. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 6ddf5a789653175350745debeb92b7c018daef22 Author: Greg Kroah-Hartman Date: Tue Aug 18 15:19:43 2009 -0700 Staging: hv: clean up RndisFilter.h Cleans up coding style issues with RndisFilter.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b010e5a7bc3673d219363b01bf8591629215c384 Author: Greg Kroah-Hartman Date: Tue Aug 18 15:18:36 2009 -0700 Staging: hv: clean up NetVsc.h Cleans up coding style issues with NetVsc.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit a0086dc512ba6c2161dcf48195daf177ad0c3615 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:22:08 2009 -0700 Staging: hv: remove Sources.c It's a .c file including other .c files, ick. Remove that mess now that the header files are unwound. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 3523a805fd2462e7df1c3601c25a7a8df2f8f6a9 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:22:08 2009 -0700 Staging: hv: cleanup coding style issues in RingBuffer.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f346fdc27384c2dd0f1ffcccb5f701aaf4af75d2 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:23:00 2009 -0700 Staging: hv: cleanup coding style issues in VmbusPrivate.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b239549ca6ce78ac46d0c59ac6a5179c46256876 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:22:08 2009 -0700 Staging: hv: cleanup coding style issues in ChannelMgmt.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit e89ce628ba255537c69c6a90a20a8bb08939c963 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:22:08 2009 -0700 Staging: hv: cleanup coding style issues in ChannelInterface.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit d41024f70fa25acfa039b53720a73ff1b15098d2 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:21:51 2009 -0700 Staging: hv: cleanup coding style issues in VersionInfo.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 46a0525385f59872e16d5d0962ba3e488fb18165 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:21:31 2009 -0700 Staging: hv: cleanup coding style issues in Channel.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 98d9fac4f0dec8545ed94abe729a15865cff6686 Author: Greg Kroah-Hartman Date: Mon Aug 17 17:20:55 2009 -0700 Staging: hv: cleanup coding style issues in Hv.h Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit a51ed7d65d62aa5ad8d364aa76af30328c26263f Author: Greg Kroah-Hartman Date: Mon Aug 17 17:20:02 2009 -0700 Staging: hv: remove ReadMsr and WriteMsr functions from Hv.h They aren't needed as wrappers. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit e1415db7b6f216d4344db028581227e828a38eca Author: Jan Beulich Date: Mon Aug 17 05:54:31 2009 -0600 Staging: hv: adjust Hyper-V Kconfig Hyper-V sub-components' options should all depend on the base option. The default of these sub-component options is also more reasonably set to that of the base option (since it makes little sense to enable the base option without the sub-component ones). Signed-off-by: Jan Beulich Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 79e5cdb208aaf5e7ead5c98b08a31ce6d604fead Author: Randy Dunlap Date: Fri Aug 7 11:17:04 2009 -0700 Staging: hv: blk dev depends on SCSI hv block driver uses scsi_*() interfaces so it should depend on SCSI. ERROR: "scsi_normalize_sense" [drivers/staging/hv/hv_blkvsc.ko] undefined! ERROR: "scsi_print_sense_hdr" [drivers/staging/hv/hv_blkvsc.ko] undefined! Signed-off-by: Randy Dunlap Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b219b3f7329d71cdd27355c8c64e65416a0096ce Author: Nicolas Palix Date: Thu Jul 30 17:37:23 2009 +0200 Staging: hv: Replace typedef SG_BUFFER_LIST by struct scatterlist typedef SG_BUFFER_LIST is removed and its uses are replaced by the use of struct scatterlist. Signed-off-by: Nicolas Palix Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 45dcfb3809fda1f40f10a0650518a0320974caee Author: Greg Kroah-Hartman Date: Wed Jul 29 15:42:27 2009 -0700 Staging: hv: remove duplicated osd.o inclusions Now that we have properly prefixed the osd.c functions, we don't need to include it in each of the modules. So only build it into the hv_vmbus module. Export the symbols that the other hv_ modules need, so that they can properly find them. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c8a429a465f9aaabe7fc7ddf5f34ff6dd188a68f Author: Greg Kroah-Hartman Date: Wed Jul 29 15:40:57 2009 -0700 Staging: hv: remove timer wrapper functions Use a real timer (there's only one in the code), no wrapper is needed, it just increases the complexity for no reason. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit bfc30aae73b6be57528059a9e03ce8674320e67b Author: Greg Kroah-Hartman Date: Wed Jul 29 15:40:18 2009 -0700 Staging: hv: osd: add osd_ prefix to global functions Put a "osd_" prefix on the osd.c functions in order for us to play nicer in the kernel namespace. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit fa56d361b07513cba87cc5c2b57f3f51248f89a8 Author: Greg Kroah-Hartman Date: Wed Jul 29 15:39:27 2009 -0700 Staging: hv: osd: remove physical address wrapper functions Use the real functions the kernel provides, so that people can see what is actually going on in the code easier. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4a66384567dfa68fb0bf6604842b1262e601d4a2 Author: Greg Kroah-Hartman Date: Wed Jul 29 15:38:00 2009 -0700 Staging: hv: remove custom rdmsrl and wrmsrl functions Use the ones that the kernel provides, they do it correctly. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f931a70c370cc826191a51a79500b34cd592b25b Author: Greg Kroah-Hartman Date: Wed Jul 29 15:37:12 2009 -0700 Staging: hv: remove custom cpuid function Use the one that the kernel provides, it does it correctly. Cc: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 45da89e559219d24a639f24a8d95a6c71d54736f Author: Bill Pemberton Date: Wed Jul 29 17:00:15 2009 -0400 Staging: hv: remove wrapper functions around kmap_ Remove PageMapVirtualAddress() and PageUnmapVirtualAddress() which were wrappers around kmap_atomic() and kunmap_atomic() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b7c947f04888b8bb2dc79832c10ede73c5b8dae2 Author: Bill Pemberton Date: Wed Jul 29 17:00:13 2009 -0400 Staging: hv: remove wrapper function VirtualFree Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit f4888417083723c4f5cbfdf4895653279ffdc31e Author: Bill Pemberton Date: Wed Jul 29 17:00:12 2009 -0400 Staging: hv: remove wrapper functions for atomic operations Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7c369f405bc918f3245c7ee0b0ad6c6b6c750166 Author: Bill Pemberton Date: Wed Jul 29 17:00:11 2009 -0400 Staging: hv: remove wrapper functions for bit operations There were several Bit* functions that did nothing but call the kernel functions with the parameters reversed. Remove these and call the functions directly. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 420beac4fcc9efd6f7d838ef7cc5693c58c98015 Author: Bill Pemberton Date: Wed Jul 29 17:00:10 2009 -0400 Staging: hv: remove WaitEventClose() All WaitEventClose() close did was call kfree(), so get rid of it and replace it with a call to kfree() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit de65a38406bdf712abc2a845fe1f3db7d1a083ed Author: Bill Pemberton Date: Wed Jul 29 17:00:09 2009 -0400 Staging: hv: rework use of workqueues in osd Change the usage of workqueues to be consistant with other parts of the kernel. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 949cadaa054588db0c4a3a0cfc3ac93f08fda913 Author: Greg Kroah-Hartman Date: Wed Jul 29 09:06:51 2009 -0700 Staging: hv: fix sparse NULL pointer warnings This fixes up all of the sparse warnings where NULL should be used instead of 0. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 127729066686c363c405c586731235443c03c252 Author: Greg Kroah-Hartman Date: Wed Jul 29 09:05:33 2009 -0700 Staging: hv: fix sparse function warnings This fixes up all of the sparse warnings about functions not being properly declared. Meaning, void functions need to say they are a void function, otherwise the compiler assumes it is an integer here. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit bd1de709165a4f59878d4a272370fa228aa753f7 Author: Greg Kroah-Hartman Date: Wed Jul 29 09:04:51 2009 -0700 Staging: hv: fix sparse static warnings This fixes up all of the sparse warnings about static functions. Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0b3f683488aaf5f501dfa9758054a23b1b625e4f Author: Nicolas Palix Date: Wed Jul 29 14:10:19 2009 +0200 Staging: hv: Remove typedef STORVSC_REQUEST and PSTORVSC_REQUEST typedef STORVSC_REQUEST and PSTORVSC_REQUEST are removed and their usages are replace by the use of struct hv_storvsc_request and struct hv_storvsc_request * respectively. Here is the semantic patch generated to perform this transformation: (http://coccinelle.lip6.fr/) // @rm_STORVSC_REQUEST@ @@ -typedef struct _STORVSC_REQUEST +struct hv_storvsc_request {...} -STORVSC_REQUEST ; @rm_PSTORVSC_REQUEST@ @@ -typedef struct _STORVSC_REQUEST *PSTORVSC_REQUEST; +struct hv_storvsc_request; @fixtypedef_STORVSC_REQUEST@ typedef STORVSC_REQUEST; @@ -STORVSC_REQUEST +struct hv_storvsc_request @fixstruct__STORVSC_REQUEST@ @@ struct -_STORVSC_REQUEST +hv_storvsc_request @fixtypedef_PSTORVSC_REQUEST@ typedef PSTORVSC_REQUEST; @@ -PSTORVSC_REQUEST +struct hv_storvsc_request* // Signed-off-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4193d4f41ca771d03d43aa9c38d70a7438e59ca7 Author: Nicolas Palix Date: Wed Jul 29 14:10:10 2009 +0200 Staging: hv: Remove typedef NETVSC_PACKET and PNETVSC_PACKET typedef NETVSC_PACKET and PNETVSC_PACKET are removed and their usages are replace by the use of struct hv_netvsc_packet and struct hv_netvsc_packet * respectively. Here is the semantic patch generated to perform this transformation: (http://coccinelle.lip6.fr/) // @rm_NETVSC_PACKET@ @@ -typedef struct _NETVSC_PACKET +struct hv_netvsc_packet {...} -NETVSC_PACKET ; @rm_PNETVSC_PACKET@ @@ -typedef struct _NETVSC_PACKET *PNETVSC_PACKET; +struct hv_netvsc_packet; @fixtypedef_NETVSC_PACKET@ typedef NETVSC_PACKET; @@ -NETVSC_PACKET +struct hv_netvsc_packet @fixstruct__NETVSC_PACKET@ @@ struct -_NETVSC_PACKET +hv_netvsc_packet @fixtypedef_PNETVSC_PACKET@ typedef PNETVSC_PACKET; @@ -PNETVSC_PACKET +struct hv_netvsc_packet* // Signed-off-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 775ef25e575959ba6d104179b62b1b91a256f573 Author: Nicolas Palix Date: Wed Jul 29 14:09:45 2009 +0200 Staging: hv: Remove typedef DRIVER_OBJECT and PDRIVER_OBJECT typedef DRIVER_OBJECT and PDRIVER_OBJECT are removed and their usages are replace by the use of struct hv_driver and struct hv_driver * respectively. Here is the semantic patch generated to perform this transformation: (http://coccinelle.lip6.fr/) // @rm_DRIVER_OBJECT@ @@ -typedef struct _DRIVER_OBJECT +struct hv_driver {...} -DRIVER_OBJECT ; @rm_PDRIVER_OBJECT@ @@ -typedef struct _DRIVER_OBJECT *PDRIVER_OBJECT; +struct hv_driver; @fixtypedef_DRIVER_OBJECT@ typedef DRIVER_OBJECT; @@ -DRIVER_OBJECT +struct hv_driver @fixstruct__DRIVER_OBJECT@ @@ struct -_DRIVER_OBJECT +hv_driver @fixtypedef_PDRIVER_OBJECT@ typedef PDRIVER_OBJECT; @@ -PDRIVER_OBJECT +struct hv_driver* // Signed-off-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b7d7ae6f1de803667f86d2f2a839bf513b294427 Author: Greg Kroah-Hartman Date: Tue Jul 28 16:18:05 2009 -0700 Staging: hv: properly fix the printk() warnings This fixes the printk() warnings on all platforms now (x86-64 and i386). Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit bafd2c2a16d4257fd580ad387f18a15377f60dc6 Author: Greg Kroah-Hartman Date: Tue Jul 28 15:05:29 2009 -0700 Staging: hv: remove more printk() warnings This should fix up the rest of the printk() warnings on an i386 build Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 44f357f835d8a8223b922984eea01aaea29a5f0f Author: Bill Pemberton Date: Tue Jul 28 13:46:26 2009 -0400 Staging: hv: remove HANDLE typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 06d2e318b749689d659b3f0c90a157f1ebb31f15 Author: Bill Pemberton Date: Tue Jul 28 13:46:25 2009 -0400 Staging: hv remove TIMER typedef Remove the TIMER typedef and also replace HANDLE types that use the timer calls. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit aedb444a577184f7e113e1461fccc0ef10ffde55 Author: Bill Pemberton Date: Tue Jul 28 13:46:24 2009 -0400 Staging: hv: remove WAITEVENT typedef Remove the WAITEVENT typedef and also replace HANDLE types that use the WaitEvent calls with struct osd_waitevent. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b578852955765bfbe12bd31ac1e7888a3deaff40 Author: Bill Pemberton Date: Tue Jul 28 13:46:23 2009 -0400 Staging: hv: comment out blkdev variable in blkvsc_ioctl This variable generated an unused variable warning due to other code in the fuction being commented out. This comments out the variable defination so that the code compiles without warnings. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 2295ba2e7c4141e864f66830b07e635245233a3d Author: Bill Pemberton Date: Tue Jul 28 13:46:22 2009 -0400 Staging: hv: check return value of driver_for_each_device() The return value of driver_for_each_device() is now checked. A non-zero value simply generates a warning message, but it's better than not checking at all. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 3d3b5518a35fa3c31b74224d944cbc83302c5ab4 Author: Nicolas Palix Date: Tue Jul 28 17:32:53 2009 +0200 Staging: hv: Transform PDEVICE_OBJECT and DEVICE_OBJECT typedefs into their corresponding structs Remove typedef DEVICE_OBJECT and use a struct named hv_device instead. Remove typedef PDEVICE_OBJECT which aliases a pointer and use struct hv_device * instead. Here is the semantic patch to perform this transformation: (http://coccinelle.lip6.fr/) // @rm_PDEVICE_OBJECT@ @@ -typedef struct _DEVICE_OBJECT *PDEVICE_OBJECT; @rm_DEVICE_OBJECT@ @@ -typedef struct _DEVICE_OBJECT +struct hv_device {...} -DEVICE_OBJECT ; @fixtypedef_PDEVICE_OBJECT@ typedef PDEVICE_OBJECT; @@ -PDEVICE_OBJECT +struct hv_device* @fixtypedef_DEVICE_OBJECT@ typedef DEVICE_OBJECT; @@ -DEVICE_OBJECT +struct hv_device @fixstruct__DEVICE_OBJECT@ @@ struct -_DEVICE_OBJECT +hv_device // Signed-off-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit df8d9b1f6deb468dd6752f0cd1029157c15248fd Author: Bill Pemberton Date: Mon Jul 27 16:47:45 2009 -0400 Staging: hv: Remove WORKQUEUE typedef WORKQUEUE was a wrapper around struct workqueue_struct so just use that instead. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit d1af1db7d6cd7818e92531e170cc65510dd57692 Author: Bill Pemberton Date: Mon Jul 27 16:47:44 2009 -0400 Staging: hv: remove NETVSC_DEVICE typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit a9a71354b07dc1a3ee6a4053b43d5219fcda7a42 Author: Bill Pemberton Date: Mon Jul 27 16:47:43 2009 -0400 Staging: hv: remove VMBUS_MSGINFO typedef Note that this struct doesn't appear to be used anywhere and can probably be removed. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 662e66b0e4f91f08e0d57e30b0bd83421e04bf79 Author: Bill Pemberton Date: Mon Jul 27 16:47:42 2009 -0400 Staging: hv: remove VMBUS_CONNECTION typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 5c3e375cf5cf709c95c705d564001c5a0ca3c50e Author: Bill Pemberton Date: Mon Jul 27 16:47:41 2009 -0400 Staging: hv: remove VMBUS_CONNECT_STATE typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 3fcc523adca8e979eb710d54f467f8fc890a77da Author: Bill Pemberton Date: Mon Jul 27 16:47:40 2009 -0400 Staging: hv: remove VMBUS_CHANNEL_PACKET_MULITPAGE_BUFFER typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 0cf4fa80781dcdb5bf6096fa221f3fc6c7073405 Author: Bill Pemberton Date: Mon Jul 27 16:47:39 2009 -0400 Staging: hv: remove VMBUS_CHANNEL_PACKET_PAGE_BUFFER typedef Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b75f9c8cd2b0ed58f07142af84ddc68be45068c3 Author: Bill Pemberton Date: Mon Jul 27 16:47:38 2009 -0400 Staging: hv: Hv.c: remove unused physAddr physAddr was declared but never used in HvInit() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 25fb66ce44fc7bf54a7d57b5d740fca4c2cf0297 Author: Bill Pemberton Date: Mon Jul 27 16:47:37 2009 -0400 Staging: hv: vmbus_drv.c: remove unused structs vmbus_ctl_table_hdr, vmbus_dev_ctl_table, vmbus_ctl_table, and vmus_root_ctl_table were never used. This removes them. Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 5d48a1c20268871395299672dce5c1989c9c94e4 Author: Bill Pemberton Date: Mon Jul 27 16:47:36 2009 -0400 Staging: hv: check return value of device_register() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit c19fbca307c19bd0d49e86b9417613c90eb9de95 Author: Bill Pemberton Date: Mon Jul 27 16:47:35 2009 -0400 Staging: hv: check return value of bus_register() Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit b2aba7cc7105de5ce7769d7b5ddb0b0bc28909c5 Author: Bill Pemberton Date: Mon Jul 27 16:47:34 2009 -0400 Staging: hv: vmbus_drv.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 7f6f27d65cfd94cab66b64cf4a1ef87f1bd8ea86 Author: Bill Pemberton Date: Mon Jul 27 16:47:33 2009 -0400 Staging: hv: storvsc_drv.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 38d3af06737c6724e6f785fddf2679da02275dcb Author: Bill Pemberton Date: Mon Jul 27 16:47:32 2009 -0400 Staging: hv: RndisFilter.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 4d4a0e22418b517907340248460583bbd22d0609 Author: Bill Pemberton Date: Mon Jul 27 16:47:31 2009 -0400 Staging: hv: NetVsc.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit ed39aa6ac482f37e72634bb9fc95d976b2fd13d3 Author: Bill Pemberton Date: Mon Jul 27 16:47:30 2009 -0400 Staging: hv: Remove X2V_LINUX check Remove preprocessor check for X2V_LINUX in osd.c Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit dfe8b2d9d809fef5df24280e1e275fcd30776bd5 Author: Bill Pemberton Date: Mon Jul 27 16:47:29 2009 -0400 Staging: hv: fix blkvsc_ioctl() parameters blkvsc_ioctl() had the wrong parameter list for struct block_device_operations Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 77d2d9da7c74678b69170485909e63ff21e4af07 Author: Bill Pemberton Date: Mon Jul 27 16:47:28 2009 -0400 Staging: hv: fix blkvsc_release() parameters blkvsc_release() had the wrong parameter list for struct block_device_operations Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 39635f7d8de679d97e2773e6c5d2749a420bed87 Author: Bill Pemberton Date: Mon Jul 27 16:47:27 2009 -0400 Staging: hv: fix blkvsc_open() parameters blkvsc_open() had the wrong parameter list for struct block_device_operations Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 627c156d75582c6e678efabc64d33d4b1c66b4ce Author: Bill Pemberton Date: Mon Jul 27 16:47:26 2009 -0400 Staging: hv: blkvsc_drv.c: fix print formatting Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 78cd20035dc28f308e8c3d7a285ddfd23f129e65 Author: Bill Pemberton Date: Mon Jul 27 16:47:25 2009 -0400 Staging: hv: StorVsc.c: fix print formatting There were a few places that used %lx when they should have used %x and a few places that used %d when they should have used %ld Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 454f18a963cf6519bf317e74e6b9781ffef8d253 Author: Bill Pemberton Date: Mon Jul 27 16:47:24 2009 -0400 Staging: hv: Remove C99 comments Remove C99 // comments with traditional /* */ comments Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 226408a4998041d7832123ab9ccd743e878197ed Author: Bill Pemberton Date: Mon Jul 27 16:47:23 2009 -0400 Staging: hv: Use %ld instead of %d for a long ints Signed-off-by: Bill Pemberton Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 222076b681cb59ec0bcaf10075ecb9e05f3810b4 Author: Greg Kroah-Hartman Date: Mon Jul 27 09:17:51 2009 -0700 Staging: hv: force hyper-v drivers to be built as a module Right now they can not be built into the kernel due to global symbol name conflicts that this code is causing. Thanks to Nicolas Palix for pointing this out. Reported-by: Nicolas Palix Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit 06da0bc86565765cb6bf2fd85dbdeeea88095051 Author: Nicolas Palix Date: Wed Jul 22 15:39:13 2009 +0200 Staging: hv: Transform some kzalloc calls to kcalloc Here is a short excerpt of the semantic patch performing this transformation: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1,E2,E3; @@ - kzalloc(E1*sizeof(E2),E3) + kcalloc(E1,sizeof(E2),E3) @@ expression E1,E3; type T; @@ - kzalloc(E1*sizeof(T),E3) + kcalloc(E1,sizeof(T),E3) // Signed-off-by: Nicolas Palix Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c18b5aed9d8c37db5e5835eb7d25f99f62a7f06a Author: Moritz Muehlenhoff Date: Tue Jul 21 01:22:08 2009 +0200 Staging: hv: Remove compatibility ifdefry Signed-off-by: Moritz Muehlenhoff Cc: Hank Janssen Signed-off-by: Greg Kroah-Hartman commit d4923090c1591f12d8f65e9d15a7ce2b63be2e87 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:37:18 2009 -0700 Staging: hv: osd: remove GetTickCount and GetTimestamp wrappers No one was even using them. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 2701f686d7083d516c2f937031515b032d71f563 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:36:37 2009 -0700 Staging: hv: fix up printk warnings After LogMsg was converted to printk, lots of build warnings showed up as no one was checking the arguments to LogMsg. This patch fixes them all. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 04f50c4d25184edb5a47dc0dcbcf8f71c42e7a16 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:35:37 2009 -0700 Staging: hv: osd: remove PrintBytes wrapper Use the "real" print_hex_dump_bytes call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit a14bd58cd39b6af4d9af5827c5c70c4582c5b486 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:35:07 2009 -0700 Staging: hv: osd: remove LogMsg wrapper Use the "real" printk call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 28b6ca9c07787885b89972929f45084eb3197d98 Author: Greg Kroah-Hartman Date: Thu Jul 16 12:34:20 2009 -0700 Staging: hv: osd: remove MemoryFence wrapper Use the "real" mb call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit b4362c9c1fe8bec487e275f92fdf57c585ac236a Author: Greg Kroah-Hartman Date: Thu Jul 16 11:50:41 2009 -0700 Staging: hv: osd: remove Sleep wrapper Use the "real" udelay call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 3bcfa88868fd9338606d66ee8ae18aa45fa36566 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:58:10 2009 -0700 Staging: hv: osd: remove spinlock wrapper functions Now that there are no users of the wrapper functions for spinlocks, remove them. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0f5e44ca6e777660af6b0eb44d4787563932eda8 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:57:16 2009 -0700 Staging: hv: make gVmbusConnection.ChannelLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit dd0813b6f51b33529f37ba43334ac65e82d772e8 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:56:45 2009 -0700 Staging: hv: make gVmbusConnection.ChannelMsgLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 6436873afce6f20fecc0c5099db899b25e1e6c2b Author: Greg Kroah-Hartman Date: Wed Jul 15 14:56:15 2009 -0700 Staging: hv: make netDevice->ReceivePacketListLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 880fb89c1f23c17de6c964dca7943d2f76a8e17c Author: Greg Kroah-Hartman Date: Wed Jul 15 14:55:29 2009 -0700 Staging: hv: make Device->RequestLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit a98f96eed5fa16f4868b4af2d50af77f57a1b231 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:55:14 2009 -0700 Staging: hv: make RingInfo->RingLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 54411c425fe0f5f8a5fcc1f3098693419ae87306 Author: Greg Kroah-Hartman Date: Wed Jul 15 14:48:32 2009 -0700 Staging: hv: make Channel->InboundLock a real spinlock Don't use the wrapper functions for this lock, make it a real lock so that we know what is going on. I don't think we really want to be doing a irqsave for this code, but I left it alone to preserve the original codepath. It should be reviewed later. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 8c69f52ab3d918be9d91c8202e5321421876ea50 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:48:29 2009 -0700 Staging: hv: osd: remove MemFree wrapper Use the "real" kfree call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0a72f3cf9f53ae0f4f1c6e05bb081d99b5d72db2 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:48:01 2009 -0700 Staging: hv: osd: remove MemAllocAtomic wrapper Use the "real" kmalloc call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit e276a3a5781f1e1ce0f912cc909ade147fa86a53 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:47:43 2009 -0700 Staging: hv: osd: remove MemAllocZeroed wrapper Use the "real" kzalloc call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit e40d37cc002de9a6e3058646114b585ec4354745 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:47:22 2009 -0700 Staging: hv: osd: remove MemAlloc wrapper Use the "real" kmalloc call instead of a wrapper function. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0e727613ac6e1648d681a75d794862225c801d4b Author: Greg Kroah-Hartman Date: Wed Jul 15 12:46:44 2009 -0700 Staging: hv: remove TRUE, FALSE, and NULL usage Don't define things that are either already provided (like NULL), or you shouldn't use (like TRUE and FALSE). Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 1f765540f49141e5418c3101df0f7580e7b10aa7 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:46:02 2009 -0700 Staging: hv: remove FIELD_OFFSET usage This isn't needed, or even used, at all. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 4e9bfefa3c0262726607d7633cbcbec7a3f50df4 Author: Greg Kroah-Hartman Date: Wed Jul 15 12:45:20 2009 -0700 Staging: hv: remove UNUSED_VAR usage This isn't needed at all. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit b211a955d4f48c855c5341e00d27b4b61b96c1f6 Author: Greg Kroah-Hartman Date: Wed Jul 15 11:07:45 2009 -0700 Staging: hv: remove STRUCT_PACKED and STRUCT_ALIGNED defines Use the correct __attribute__((packed)) one if it's really needed. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0ffa63b09bf99ce3ee879c7de1c687267a90d20b Author: Greg Kroah-Hartman Date: Wed Jul 15 11:06:01 2009 -0700 Staging: hv: remove PAGE_SIZE and PAGE_SHIFT and __builtin functions The kernel provides all of this, and actually gets it correct, so don't try to redefine these types of things. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit fc6a4b2609b35448ad72302d375a40edf31887d2 Author: Greg Kroah-Hartman Date: Wed Jul 15 11:05:14 2009 -0700 Staging: hv: remove MIN and MAX usages The kernel has the "correct" min() and max() functions, so use those. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 22ae0bea092e5d1d1deeeffde43b780006935335 Author: Greg Kroah-Hartman Date: Wed Jul 15 11:04:20 2009 -0700 Staging: hv: remove #defines from osd.c Remove the unneeded #defines from osd.c Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 27274e5df29d6457f1b7f74d211cde0c1b4a55c1 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:13:46 2009 -0700 Staging: hv: remove BOOL and BOOLEAN typedefs The BOOL and BOOLEAN typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 84988a105e4acfa00f5a1e48b2c7edf1d4aa46a2 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:14:52 2009 -0700 Staging: hv: remove DWORD and BYTE typedefs No one was even using them... Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 45635d9703d649645afa52b23896d02e38a73852 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:14:20 2009 -0700 Staging: hv: remove SIZE_T typedef The SIZE_T typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 3abcbc45cb768ec84b9643bc8f141639dcfba4c3 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:13:46 2009 -0700 Staging: hv: remove ULONG and LONG typedefs The ULONG and LONG typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c4b0bc94828a86cfb6a975b0e0d92dc1cd389565 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:12:46 2009 -0700 Staging: hv: remove ULONG_PTR typedef The ULONG_PTR typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit b509bf5badcd30b1c163349a87a56933b59663e1 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:11:45 2009 -0700 Staging: hv: remove ULONGLONG and LONGLONG typedefs The ULONGLONG and LONGLONG typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 2be8093ac39fa59d9e451f4bf81e1fee38e23bbb Author: Greg Kroah-Hartman Date: Tue Jul 14 15:11:03 2009 -0700 Staging: hv: remove USHORT typedef The USHORT typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 59471438ccbebafb0d63baf8b818d0ca692f882a Author: Greg Kroah-Hartman Date: Tue Jul 14 15:10:26 2009 -0700 Staging: hv: remove UINT64 and INT64 and UCHAR typedefs The UINT64 and INT64 and UCHAR typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 4d64311468a90d4ab1e83c62d63b27da598b73ea Author: Greg Kroah-Hartman Date: Tue Jul 14 15:09:36 2009 -0700 Staging: hv: remove UINT32 and INT32 typedefs The UINT32 and INT32 typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 5cd508bc3ac032343e6853cd5712ac392942fb2c Author: Greg Kroah-Hartman Date: Tue Jul 14 15:09:10 2009 -0700 Staging: hv: remove UINT16 and INT16 typedefs The UINT16 and INT16 typedefs are now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 5654e932262840f853233317689fc59536226d76 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:08:20 2009 -0700 Staging: hv: remove UINT8 and INT8 typedefs The UINT8 and INT8 typedefs are now removed from the Hyper-V driver code. Had to include in a few places to get the build to work properly as well. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit e20f683b6451a39619cd67e20d69597070aa8d17 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:07:21 2009 -0700 Staging: hv: remove VOID typedef The VOID typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 8282c400144a83f85f637a5251740d670e392e84 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:06:28 2009 -0700 Staging: hv: remove PVOID typedef The PVOID typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 2be1301b7dafe5c1d081607377291d4274b40d66 Author: Greg Kroah-Hartman Date: Tue Jul 14 15:05:36 2009 -0700 Staging: hv: remove INTERNAL typedef The INTERNAL typedef is now removed from the Hyper-V driver code. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 621d7fb7597e8cc2e24e6b0ca67118b452675d90 Author: Greg Kroah-Hartman Date: Fri Jul 24 11:00:39 2009 -0700 Staging: hv: netvsc: fix up driver_data usage driver_data is gone now from struct device, so use the proper functions to access it instead. Thanks to Bill Pemberton for pointing out this build error. Cc: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 511bda8fe1607ab2e4b2f3b008b7cfbffc2720b1 Author: Greg Kroah-Hartman Date: Tue Jul 14 11:01:18 2009 -0700 Staging: hv: add the Hyper-V virtual network driver to the build Add the Hyper-V virtual network driver to the kernel build system. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c86f3e2a73f4924b20ed7a56ebdaf874af861911 Author: Greg Kroah-Hartman Date: Tue Jul 14 10:59:56 2009 -0700 Staging: hv: make the Hyper-V virtual network driver build The #define KERNEL_2_6_27 needs to be set, and I adjusted the include directories a bit to get things to build properly. The driver was changed to use net_device_ops, as that is needed to build and operate properly now. The hv_netvsc code should now build with no errors. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit b57a68dcd9030515763133f79c5a4a7c572e45d6 Author: Greg Kroah-Hartman Date: Fri Jul 24 11:00:10 2009 -0700 Staging: hv: blkvsc: fix up driver_data usage driver_data is gone now from struct device, so use the proper functions to access it instead. Thanks to Bill Pemberton for pointing out this build error. Cc: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 88d3bb31b42f3f095bd176ccabe210023a0231b8 Author: Greg Kroah-Hartman Date: Tue Jul 14 10:25:53 2009 -0700 Staging: hv: add the Hyper-V virtual block driver to the build Add the Hyper-V virtual block driver to the kernel build system. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0fce4c2f491cc1a579cac28b67208600cfff6d38 Author: Greg Kroah-Hartman Date: Tue Jul 14 10:24:38 2009 -0700 Staging: hv: make the Hyper-V virtual block driver build The #define KERNEL_2_6_27 needs to be set, and I adjusted the include directories a bit to get things to build properly. I also fixed up the direct access of bus_id, as that field is now gone. Lots of block api changes were needed, and I don't think I got it all correct. It would be great of someone who knows the block api better could review it. The hv_blkvsc code should now build, with no errors. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 0883c52bb245cb2be20546babcd54121e7ff17e2 Author: Greg Kroah-Hartman Date: Fri Jul 24 10:58:22 2009 -0700 Staging: hv: storvsc: fix up driver_data usage driver_data is gone now from struct device, so use the proper functions to access it instead. Thanks to Bill Pemberton for pointing out this build error. Cc: Bill Pemberton Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c3260cfe8f08ca4564df61950cbebbb693aee292 Author: Greg Kroah-Hartman Date: Tue Jul 14 10:19:52 2009 -0700 Staging: hv: add the Hyper-V virtual scsi driver to the build Add the Hyper-V virtual scsi driver to the kernel build system. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 97f4ee3d93602882eb22a3f5e6bf4eb51b7414ce Author: Greg Kroah-Hartman Date: Tue Jul 14 10:18:50 2009 -0700 Staging: hv: make the Hyper-V virtual storage driver build The #define KERNEL_2_6_27 needs to be set, and I adjusted the include directories a bit to get things to build properly. I also fixed up the direct access of bus_id, as that field is now gone. Some minor scsi api changes were needed as well. The hv_storvsc code should now build properly, with no errors. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit c4ca0e9e6de92f46271599db90f4ab006c133441 Author: Greg Kroah-Hartman Date: Mon Jul 13 16:04:02 2009 -0700 Staging: hv: add the Hyper-V virtual bus to the build Add the Hyper-V virtual bus to the kernel build system. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 530cf2070be30831a371b6c7181d15e5976b6fc7 Author: Greg Kroah-Hartman Date: Thu Jul 16 22:31:15 2009 -0700 Staging: hv: use the correct #ifdef for x86-64 x86-64 needs a different config check. Thanks to Hank for the debugging to determine the fix for this. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 09d50ff8a233a39e8697e776b06cf5be2de48bb1 Author: Greg Kroah-Hartman Date: Mon Jul 13 17:09:34 2009 -0700 Staging: hv: make the Hyper-V virtual bus code build The #define KERNEL_2_6_27 needs to be set, and I adjusted the include directories a bit to get things to build properly. I also fixed up the direct access of bus_id, as that field is now gone. The hv_vmbus code should now build properly, with no errors. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 51b671f2f40c303fd4d18e346f63af62c9b1f622 Author: Greg Kroah-Hartman Date: Wed Jul 15 10:21:36 2009 -0700 Staging: hv: add a TODO file First cut at what needs to be done to this codebase. Cc: Hank Janssen Cc: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit bef4a34a281ec9d631dc2acc21538a1d86bfe928 Author: Hank Janssen Date: Mon Jul 13 16:01:31 2009 -0700 Staging: hv: add the Hyper-V virtual storage driver This is the virtual storage driver when running Linux on top of Hyper-V. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit fceaf24a943d8d50391f409ac7fb888cd1f36f32 Author: Hank Janssen Date: Mon Jul 13 15:34:54 2009 -0700 Staging: hv: add the Hyper-V virtual network driver This is the virtual network driver when running Linux on top of Hyper-V. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit f82bd0462f251ecbe13160a3f34bd48b5087666c Author: Hank Janssen Date: Mon Jul 13 15:33:02 2009 -0700 Staging: hv: add the Hyper-V virtual block driver This is the virtual block driver when running Linux on top of Hyper-V. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 3e7ee4902fe6996048f03433dd111426db3cfa92 Author: Hank Janssen Date: Mon Jul 13 16:02:34 2009 -0700 Staging: hv: add the Hyper-V virtual bus This is the virtual bus that all of the Linux Hyper-V drivers use. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit ab05778195b5cc1e77130424f7f6b6f848a137f1 Author: Hank Janssen Date: Mon Jul 13 15:19:28 2009 -0700 Staging: hv: add the Hyper-V driver header files These are the header files for the different Linux Hyper-V drivers to use. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 565e7dc81d9f239aa5896e754816c4f9dc51f1be Author: Hank Janssen Date: Mon Jul 13 15:15:47 2009 -0700 Staging: hv: add the Hyper-V api header files These are the header files for the API to talk to the Hyper-V core. Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Signed-off-by: Greg Kroah-Hartman commit 578f2938a43f83988f6edab86cff487889b4ef58 Author: Pavel Machek Date: Fri Jul 17 14:55:53 2009 +0200 Staging: HTC Dream: Makefile glue This provides Makefile/Kconfig glue for HTC Dream staging parts. Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit eb7b797b40043a79aafa33d8493918985e2c72ab Author: Brian Swetland Date: Fri Jul 17 14:45:17 2009 +0200 Staging: HTC Dream: add camera support This patch adds driver for HTC Dream camera. I guess driver is slightly higher quality than usual for staging/ , but it is fairly big and I don't feel like doing all the cleanups myself. Also some parts can probably be removed, as they did not end up in shipping hardware.. Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit caff4caead44f6a1ed0bc8ca50d8607d01f69b78 Author: Iliyan Malchev Date: Fri Jul 17 13:10:30 2009 +0200 Staging: HTC Dream: add qdsp support QDSP code is neccessarry for communication with some hardware components on HTC Dream, including camera hardware. It also drives DSP coproccessor. Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit 7bf06dace0ed0f3ced257c1906409890c32f9664 Author: Brian Swetland Date: Fri Jul 17 13:09:09 2009 +0200 Staging: HTC Dream: add rpcrouter driver rpcrouter code is neccessarry for communication with QDSP and thus many hardware components on HTC Dream, including camera hardware. Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Pavel Machek commit 0d8dc6b05bf2645181eeac1f7e0cc4b105911565 Author: Brian Swetland Date: Fri Jul 17 13:08:15 2009 +0200 Staging: HTC Dream: add smd code Infrastructure to support the Qualcomm "shared memory driver" interface, used to communicate with the baseband processor on MSM7k SoCs. The smd core provides low level facilities to interact with the shared memory comms region, and a "virtual serial channel" interface that higher level transports (AT command channel, rmnet virtual ethernet, qmi network management protocol, and oncrpc, for example) are routed over. Signed-off-by: Pavel Machek Cc: Brian Swetland Cc: Iliyan Malchev Cc: San Mehat Signed-off-by: Greg Kroah-Hartman commit dda7940539b7f2122776ec22737d6f6c24d8724f Author: miaofng Date: Wed Jul 15 10:33:35 2009 -0400 Staging: vt6656: disable wpa related function due to memory failure of this part of codes Signed-off-by: miaofng Cc: Forest Bond Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c0593dd9343298a3a9d8e25bd42173765bbe9919 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:41 2009 +0200 Staging: rtl8192su/ieee80211: move rtl8192su specific code out from ieee80211.h Move rtl8192su specific code out from ieee80211.h to ieee80211_r8192s.h. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f59d012790af9402e276e073fd89b1ed35ef91c5 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:34 2009 +0200 Staging: rtl8192su/ieee80211: ieee80211.h cleanups * remove unused / duplicated definitions * remove unused / used only once typedefs * fix comments, remove useless ones * convert defines to enums where appropriate * use __func__ instead of __FUNCTION__ * make some minor coding style fixes * misc cleanups Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 86467e7bc1816f13b25691487f3a64861cb33b9a Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:28 2009 +0200 Staging: rtl8192su/ieee80211: remove unused ieee80211_wx_get_encode_ext() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7d74deed7cd15cd5c3b54b32b9b48c37d1f54002 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:21 2009 +0200 Staging: rtl8192su/ieee80211: remove unused IEEE80211_PRINT_STR() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit d643db940d4a2e3fd2741082334e50274f721323 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:15 2009 +0200 Staging: rtl8192su: remove NOT_YET ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 793f96b58571ec09b2a332c52f5218240eddab0c Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:08 2009 +0200 Staging: rtl8192su/ieee80211: remove superfluous container_of definition Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fbe0051dbb265b0cc6723ae5ae1f17b28a006631 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:14:02 2009 +0200 Staging: rtl8192su/ieee80211: remove OPENSUSE_SLED ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0766f233b6332d0ab21f61a5c5c33e7629d03d45 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:13:55 2009 +0200 Staging: rtl8192su: remove JOHN_DUMP[_TXDESC] ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5d9baea95f45bddcecab050de1af2ef678e85339 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:13:49 2009 +0200 Staging: rtl8192su: make private ieee80211 stack really private * rename ieee80211_{init,exit}() to ieee80211_debug_{init,exit}() * make private ieee80211 stack really private * cleanup Makefile * remove superfluous ieee80211_* defines * remove superfluous EXPORT_SYMBOLs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit add6e6342d7d72b6a53e81f053bf86562eb14e74 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:13:36 2009 +0200 Staging: rtl8192su: remove more unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e1b19da1184190904c6782b56378969970620034 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:02:17 2009 +0200 Staging: rtl8187se/ieee80211: convert MMIE_TYPE_* defines to enums Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bea385aceb2dbd14c09180274ba74edadd46ccf3 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:02:10 2009 +0200 Staging: rtl8187se/ieee80211: ieee80211.h reorderings Reorder the code in ieee80211.h for easier comparisions with rtl8192su's version of the file. While at it: * use IEEE80211_4ADDR_LEN for IEEE80211_LEN definition * remove unused country_code_type_t typedef * make some minor coding style fixes Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 03ea5099ad34b119f8dfba7e9a981d639d38dd3b Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:02:04 2009 +0200 Staging: rtl8187se/ieee80211: switch to use While at it: * remove some commented out code * remove some unused definitions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0ddd6f6f441607ca4a202e786460023d64b31e3f Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:57 2009 +0200 Staging: rtl8187se: rename struct ieee80211_hdr_QOS to struct ieee80211_hdr_4addrqos Rename struct ieee80211_hdr_QOS to struct ieee80211_hdr_4addrqos and QOS_ctl field to qos_ctl (to match the naming used by rtl8192su). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 726f11e810da1fda13e0fad8af43feb8963a6232 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:51 2009 +0200 Staging: rtl8187se: rename struct ieee80211_hdr_3addr_qos to struct ieee80211_hdr_3addrqos Rename struct ieee80211_hdr_3addr_QOS to struct ieee80211_hdr_3addrqos and QOS_ctl field to qos_ctl (to match the naming used by rtl8192su). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0604384d4ba4cebb4e1c81a8b2c61958f49e31fe Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:44 2009 +0200 Staging: rtl8187se: rename struct ieee80211_hdr to struct ieee80211_hdr_4addr ieee80211_hdr name is too generic so use ieee80211_hdr_4addr one instead (which matches the naming used by rtl8192su driver). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f5ce8fe1fd256bc7f32d13aba83145e559a76942 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:38 2009 +0200 Staging: rtl8187se: remove ENABLE_IPS ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 343c17b0508586a5624ebce490c619064e51cc03 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:31 2009 +0200 Staging: rtl8187se/ieee80211: remove NOT_YET ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 946c2adde827557c10b05bacfe9cd573a191a4a1 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:25 2009 +0200 Staging: rtl8187se/ieee80211: remove FEDORACORE_9 ifdef Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 846eec42ba24c27d1ad24123d33ddb75c2e2c842 Author: Bartlomiej Zolnierkiewicz Date: Mon Jul 13 20:01:19 2009 +0200 Staging: rtl8187se/ieee80211: remove OPENSUSE_SLED ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 980fd895e63a831bb8f0db8741a19169d9274c75 Author: Julia Lawall Date: Sun Jul 12 09:43:21 2009 +0200 Staging: b3dfg: Drop NULL test on list_entry result list_entry, which is an alias for container_of, cannot return NULL, as there is no way to add a NULL value to a doubly linked list. A simplified version of the semantic match that findds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E; statement S1,S2; position p,p1; @@ *x = list_entry@p(...) ... when != x = E *if@p1 (x == NULL) S1 else S2 // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit f2eb5197740d5c1c85de8a96111f153c33c4891e Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 10 21:47:17 2009 +0200 Staging: vt6655: remove unused Makefile.{arm,x86} files Cc: Forest Bond Cc: Alexander Beregalov Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 83a27326ee616d6b6dcdd074ad088554a52f9b11 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 10 21:48:16 2009 +0200 Staging: vt6655: remove PRIVATE_OBJ ifdefs Cc: Forest Bond Cc: Alexander Beregalov Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b8bc58c5fbfb25acbafc021fc392a8d93b541585 Author: Marcin Slusarz Date: Wed Jul 8 22:07:26 2009 +0200 Staging: rt*: don't confuse user of rt3070 driver with rt2870 strings Original author didn't bother to change strings for rt3070 driver. Fix it. Signed-off-by: Marcin Slusarz Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bc0db7314240c7aa2866546e80b8ba157c8009f7 Author: Marcin Slusarz Date: Wed Jul 8 22:07:20 2009 +0200 Staging: rt*: fix wait_queue_head_t declaration on stack othwerwise lockdep complains: "INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator." Signed-off-by: Marcin Slusarz Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a777167fbf3965cbc40f0c4594e2a7ba61c19e1f Author: Marcin Slusarz Date: Wed Jul 8 22:07:07 2009 +0200 Staging: rt3070: add support for Linksys WUSB54GC-EU v3 According to FCC (*1) and *2 there's really RT2070L inside, but according to *2 RT3070 and RT2070 are compatible. *1 https://fjallfoss.fcc.gov/oetcf/eas/reports/ViewExhibitReport.cfm?mode=Exhibits&RequestTimeout=500&calledFromFrame=N&application_id=327783&fcc_id=%27Q87-WUSB54GCV3%27 (look for "Internal Photos") *2 http://rt2x00.serialmonkey.com/phpBB/viewtopic.php?f=5&t=5245 Signed-off-by: Marcin Slusarz Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 35c1b4629183ef4d234b5f92728be2d9526a9a21 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:32 2009 +0200 Staging: rtl8192su: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9f7f00cd28e9f3bc578eb41489f4a75cf17fbdc8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:24 2009 +0200 Staging: rtl8192su: remove unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0f29f5871c165e346409f62d903f97cfad3894c5 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:16 2009 +0200 Staging: rtl8192su: remove RTL8192SU ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 60083ee0c210ff1e7b5c921f5ef8d70d54634593 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:08 2009 +0200 Staging: rtl8192su: remove RTL8192SE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit bd7b22c91af8ae58c013d5bd2774dbca8fd979a1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:08:02 2009 +0200 Staging: rtl8192su: remove RTL8192SU_DISABLE_IQK ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8b804677f9d38f07e2e8644e3a96440759cdfa76 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:54 2009 +0200 Staging: rtl8192su: remove RTL8192S_PREPARE_FOR_NORMAL_RELEASE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 68b6f506c675b5c70a99b861d3044c388d35858d Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:48 2009 +0200 Staging: rtl8192su: remove RTL8190_Download_Firmware_From_Header ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 642ec04b78f77e44a2a3c88ddb4fe6ffe57d9c33 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:40 2009 +0200 Staging: rtl8192su: remove RTL8192SU_USB_PHY_TEST ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 16fb15baea85302af9215b8558103aa27e008d36 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:34 2009 +0200 Staging: rtl8192su: remove RTL8192SU_ASIC_VERIFICATION ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit cd2c3c978fffaec1dd9fd8e8a5c8a93144a9f3f3 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:27 2009 +0200 Staging: rtl8192su: remove RTL8192SU_FPGA_2MAC_VERIFICATION ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1522987a7f5c4be0e0a19217749ff10a26e89cdb Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:20 2009 +0200 Staging: rtl8192su: remove RTL8192SU_FPGA_UNSPECIFIED_NETWORK ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3a63e8287d8d8a6e0150b27deaf7ba97110dc274 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:14 2009 +0200 Staging: rtl8192su: remove RTL8192SU_USE_PARAM_TXPWR ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 385b330228b1f10877a66b87ab9164275f33d350 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:07 2009 +0200 Staging: rtl8192su: remove DISABLE_BB_RF ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b8bd14b9123b44f53013995914b86f44a55fa272 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:07:00 2009 +0200 Staging: rtl8192su: remove RTL8192S_DISABLE_FW_DM ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f063ba768e4e9096c4f8502446fb0838d557402c Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:53 2009 +0200 Staging: rtl8192su: remove RTL8192SU_DISABLE_CCK_RATE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5b36d3bfbcf0afbc6dd49375fcd088103f6af0ac Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:47 2009 +0200 Staging: rtl8192su: remove USB_TX_DRIVER_AGGREGATION_ENABLE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit db28336458f7f86c9c1b977e0235dd8baac93253 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:40 2009 +0200 Staging: rtl8192su: remove USB_RX_AGGREGATION_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a7e3c1d62124ca5de34aebd0451fa211d410ef93 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:33 2009 +0200 Staging: rtl8192su: remove EEPROM_OLD_FORMAT_SUPPORT ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ee13be2f9404b9d46b566f5105d67d047a6ce478 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:27 2009 +0200 Staging: rtl8192su: remove USE_ONE_PIPE ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b8545591a9d057a9a13920322e9dc5da385d7638 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:20 2009 +0200 Staging: rtl8192su: remove THOMAS_TURBO ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b81ad777b9ee66a69dd270a451c214b7e443a0c1 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:11 2009 +0200 Staging: rtl8192su: remove CONFIG_RTL8192_PM ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 622d501862c5a237311b22f3a33e094d07626762 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 3 16:06:05 2009 +0200 Staging: rtl8192su: remove ENABLE_DOT11D ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fe4f699c6fb886a8deaf1120fd52402c3bd7c459 Author: Robert P. J. Day Date: Sun Jul 5 05:19:29 2009 -0400 Staging: vt6655: Remove Makefile refs to EXPORT_SYMTAB Given that EXPORT_SYMTAB was removed long ago, remove the Makefile references to it. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 6fdc7f80c90f212ff3a37492edb7a3f91efbd0e1 Author: Alexander Beregalov Date: Fri Jul 3 16:25:53 2009 +0400 Staging: wlan-ng: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependency. WIRELESS_EXT is 22 now and it is always defined. Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit b63768681f0deba6a645304f3e5f88ce53952a66 Author: Alexander Beregalov Date: Fri Jul 3 16:25:51 2009 +0400 Staging: at76_usb: replace mac2str() with %pM Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit bbff696edead56dd87e1d10593ff0b438d29fbc5 Author: Alexander Beregalov Date: Fri Jul 3 16:25:50 2009 +0400 Staging: at76_usb: fix !CONFIG_WIRELESS_EXT build Fix this build error when CONFIG_WIRELESS_EXT is not set at76_usb.c:5322: error: 'struct net_device' has no member named 'wireless_data' at76_usb.c:5325: error: 'struct net_device' has no member named 'wireless_handlers' Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit e882335bb19c0b9f96971fa6b1fe6c019280056b Author: Alexander Beregalov Date: Sat Jul 4 23:09:32 2009 +0400 Staging: vt665x: depend on WIRELESS_EXT Make vt665x depended on WIRELESS_EXT and remove remain ifdef's Signed-off-by: Alexander Beregalov Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 70f38b105311c8e19a7fe89811d13ef81690072c Author: Alexander Beregalov Date: Fri Jul 3 14:07:14 2009 +0400 Staging: vt6656: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependency. WIRELESS_EXT is 22 now and it is always defined. Signed-off-by: Alexander Beregalov Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit edb3a9507c898ae5f71bbaae932e66801318e90b Author: Alexander Beregalov Date: Fri Jul 3 09:52:59 2009 +0400 Staging: vt6656: remove dependency on kernel version Signed-off-by: Alexander Beregalov Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 560a9be8320ab632c7d1dac058662f6c82e5676a Author: Richard Ash Date: Thu Aug 20 11:25:12 2009 +0100 Staging: quatech_usb2: Improvements to set_termios method This patch implements several improvements to the set_termios method suggested by Alan Cox: * Correct check for whether any changes are being requested. * Inform callers that mark/space parity isn't supported by always clearing the bit. * Pass back the actual used baud rate in case it doesn't match what was requested. Remaining known issues are that IXANY flow control is not supported, but we don't tell the caller that, and input and output XON/XOFF flow control are either both on or both off, but we don't indicate that back to the caller either. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit eba1aaddc0fd427d62f51747c6ec5f965ef5dc56 Author: Richard Ash Date: Thu Aug 20 11:24:59 2009 +0100 Staging: quatech_usb2: Improve debug output and fix write_room This patch contains changes made in the course of successfully reading data from the device. These consist of a number of corrections and additions to debug messages, and a fix for incorrect calculation of the number of characters in the device FIFO which affected the operation of the write_room method. The use of semaphores to control access to port settings is replaced by the preferred use of mutexes as this is the only code that uses them. Aug 18 17:09:32 [kernel] BUG: unable to handle kernel paging request at f82f122c Aug 18 17:09:32 [kernel] IP: [] tty_port_close_start+0x8c/0x15e Aug 18 17:09:32 [kernel] *pde = 00000000 Aug 18 17:09:32 [kernel] Modules linked in: snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect quatech_usb2(C) usbserial uhci_hcd ehci_hcd snd_intel8x0 snd_ac97_codec ac97_bus usbcore tg3 snd_pcm snd_timer libphy snd intel_agp psmouse evdev ohci1394 soundcore ide_cd_mod cdrom ieee1394 snd_page_alloc agpgart floppy Aug 18 17:09:32 [kernel] Pid: 4192, comm: cat Tainted: G C (2.6.31-rc6-gkh #9) HP Compaq dc5100 MT(PW097ET) Aug 18 17:09:32 [kernel] EIP: 0060:[] EFLAGS: 00010046 CPU: 0 Aug 18 17:09:32 [kernel] EIP is at tty_port_close_start+0x8c/0x15e Aug 18 17:09:32 [kernel] EAX: 00000000 EBX: 00000246 ECX: ebacc380 EDX: 00000000 Aug 18 17:09:32 [kernel] ESI: f72f1204 EDI: e6073000 EBP: e60b3ce4 ESP: e60b3ccc Aug 18 17:09:32 [kernel] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 Aug 18 17:09:32 [kernel] bcc17886 e60b3d2c bcc17886 f72f1200 f72f1204 e6073000 e60b3d10 f8b01a67 Aug 18 17:09:32 [kernel] <0> 00000000 e60b3d10 c11d9343 e60730a0 ebacc380 bcc17886 e6073000 00000000 Aug 18 17:09:32 [kernel] <0> ebacc380 e60b3d90 c11da71c 00000000 f7802480 bcc17886 ebacc380 00000000 Aug 18 17:09:32 [kernel] [] ? serial_close+0x3c/0x9a [usbserial] Aug 18 17:09:32 [kernel] [] ? tty_fasync+0x63/0xe3 Aug 18 17:09:32 [kernel] [] ? tty_release_dev+0x159/0x47d Aug 18 17:09:32 [kernel] [] ? prio_tree_remove+0x6c/0xc5 Aug 18 17:09:32 [kernel] [] ? put_object+0x46/0x5e Aug 18 17:09:32 [kernel] [] ? tty_release+0x19/0x35 Aug 18 17:09:32 [kernel] [] ? __fput+0xed/0x1e4 Aug 18 17:09:32 [kernel] [] ? fput+0x24/0x39 Aug 18 17:09:32 [kernel] [] ? filp_close+0x4c/0x7b Aug 18 17:09:32 [kernel] [] ? put_files_struct+0xc3/0xd2 Aug 18 17:09:32 [kernel] [] ? exit_files+0x2c/0x40 Aug 18 17:09:32 [kernel] [] ? do_exit+0xd0/0x5f5 Aug 18 17:09:32 [kernel] [] ? recalc_sigpending+0x1b/0x4b Aug 18 17:09:32 [kernel] [] ? dequeue_signal+0x96/0x154 Aug 18 17:09:32 [kernel] [] ? do_group_exit+0x3b/0x77 Aug 18 17:09:32 [kernel] [] ? get_signal_to_deliver+0x140/0x31b Aug 18 17:09:32 [kernel] [] ? tty_put_char+0x43/0x4b Aug 18 17:09:32 [kernel] [] ? do_notify_resume+0xae/0x7fb Aug 18 17:09:32 [kernel] [] ? tty_read+0x8f/0xb5 Aug 18 17:09:32 [kernel] [] ? n_tty_read+0x0/0x5d2 Aug 18 17:09:32 [kernel] [] ? vfs_read+0xb4/0x178 Aug 18 17:09:32 [kernel] [] ? tty_read+0x0/0xb5 Aug 18 17:09:32 [kernel] [] ? sys_read+0x52/0x8b Aug 18 17:09:32 [kernel] [] ? work_notifysig+0x13/0x19 Aug 18 17:09:32 [kernel] ---[ end trace 16f434ec7e2925bc ]--- Aug 18 17:09:32 [kernel] Fixing recursive fault but reboot is needed! My guess is that my driver is doing something "wrong" in terms of it's interface to the higher level layers and so is causing the oops. Are there any mechanisms to turn on more checking / debugging in the layers above the usb-serial layer to try and catch the cause of the problem? I've already got USB_DEBUG enabled, what others might be relevant (presumably USB_SERIAL_DEBUG isn't)? Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit d3f0e10a702defea05b6c3277ec6326c87138e82 Author: Richard Ash Date: Thu Aug 20 11:24:49 2009 +0100 Staging: quatech_usb2: vendor implementation of break_ctl This patch imports the implementation of the break_ctl, throttle and unthrottle methods from the vendor driver into the staging driver. This compiles but is not yet tested. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 2715dd6a93c69b29f59bec4c6e2fca84883078f0 Author: Richard Ash Date: Thu Aug 20 11:24:39 2009 +0100 Staging: quatech_usb2: vendor implementation of set_termios method This patch imports the implementation of the set_termios method from the vendor driver into the staging driver. The common terminal setting changes should be supported. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 2feb633d6580d8e6a61890bef1c0ea9020e61225 Author: Richard Ash Date: Mon Aug 17 10:43:49 2009 +0100 Staging: quatech_usb2: chars_in_buffer() fix It seems I can't count. Patch to fix chars_in_buffer() method (broken in vendor driver), and subsequently simplify the close() method, making it somewhat less broken. There is quite a bit more improvement to do on this method though. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit dbe2481580a6933c07627d4da0d20db5fd05a044 Author: Richard Ash Date: Mon Aug 17 10:39:58 2009 +0100 Staging: quatech_usb2: TIOCMGET and TIOCMSET removal Patch to remove TIOCMGET and TIOCMSET from the driver ioctl method, as they never get used (error in vendor driver). Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 89b5098d8ea97eb29c064a0e093f48b7618fc88e Author: Richard Ash Date: Mon Aug 17 10:35:18 2009 +0100 Staging: quatech_usb2: write_room rewrite The following patch re-writes the write_room method to work in the obvious sort of way, so it keeps it's promises to the layers above. Based on feedback from Alan Cox. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 713e5f69d07ce6ff4ac9c2637ece4829a8127606 Author: Richard Ash Date: Mon Aug 17 10:32:53 2009 +0100 Staging: quatech_usb2: close, read, and some ioctl support This patch implements close(), read(), write() and some ioctls, and fixes some implementation issues in open(). Compared to the previous patch it doesn't suffer an oops in the module code, however if you try to open any of the serial devices a second time then an oops occurs in tty_open(), presumably because my code isn't playing nicely on the previous close(): Aug 13 11:44:01 [kernel] WARNING: at drivers/char/tty_io.c:1268 tty_open+0x3e5/0x46d() Aug 13 11:44:01 [kernel] Hardware name: HP Compaq dc5100 MT(PW097ET) Aug 13 11:44:01 [kernel] Modules linked in: quatech_usb2(C) usbserial snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd snd_pcm snd_timer usbcore snd ohci1394 psmouse ide_cd_mod cdrom tg3 soundcore snd_page_alloc ieee1394 libphy intel_agp agpgart floppy evdev [last unloaded: usbserial] Aug 13 11:44:01 [kernel] Pid: 26765, comm: stty Tainted: G C 2.6.31-rc5-git3-gkh #7 Aug 13 11:44:01 [kernel] Call Trace: Aug 13 11:44:01 [kernel] [] ? tty_open+0x3e5/0x46d Aug 13 11:44:01 [kernel] [] warn_slowpath_common+0x88/0xb0 Aug 13 11:44:01 [kernel] [] ? tty_open+0x3e5/0x46d Aug 13 11:44:01 [kernel] [] warn_slowpath_null+0x21/0x3b Aug 13 11:44:01 [kernel] [] tty_open+0x3e5/0x46d Aug 13 11:44:01 [kernel] [] chrdev_open+0x77/0x113 Aug 13 11:44:01 [kernel] [] __dentry_open+0xb8/0x230 Aug 13 11:44:01 [kernel] [] ? chrdev_open+0x0/0x113 Aug 13 11:44:01 [kernel] [] nameidata_to_filp+0x61/0x6a Aug 13 11:44:01 [kernel] [] do_filp_open+0x248/0x7cd Aug 13 11:44:01 [kernel] [] ? __do_fault+0x2ba/0x3b2 Aug 13 11:44:01 [kernel] [] ? alloc_fd+0x6a/0xf1 Aug 13 11:44:01 [kernel] [] do_sys_open+0x5f/0x12b Aug 13 11:44:01 [kernel] [] sys_open+0x2e/0x47 Aug 13 11:44:01 [kernel] [] sysenter_do_call+0x12/0x26 Aug 13 11:44:01 [kernel] ---[ end trace 1d6b9e2cd7636394 ]--- Aug 13 11:44:01 [kernel] BUG: unable to handle kernel NULL pointer dereference at 00000004 Aug 13 11:44:01 [kernel] IP: [] file_move+0x26/0x47 Aug 13 11:44:01 [kernel] *pde = 00000000 Aug 13 11:44:01 [kernel] Modules linked in: quatech_usb2(C) usbserial snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss nls_iso8859_1 cifs xt_limit xt_NFLOG nfnetlink_log nfnetlink xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state nf_conntrack iptable_filter ip_tables x_tables i915 fb drm i2c_algo_bit cfbcopyarea i2c_core video backlight output cfbimgblt cfbfillrect snd_intel8x0 snd_ac97_codec ehci_hcd ac97_bus uhci_hcd snd_pcm snd_timer usbcore snd ohci1394 psmouse ide_cd_mod cdrom tg3 soundcore snd_page_alloc ieee1394 libphy intel_agp agpgart floppy evdev [last unloaded: usbserial] Aug 13 11:44:01 [kernel] Pid: 26765, comm: stty Tainted: G WC (2.6.31-rc5-git3-gkh #7) HP Compaq dc5100 MT(PW097ET) Aug 13 11:44:01 [kernel] EIP: 0060:[] EFLAGS: 00010282 CPU: 0 Aug 13 11:44:01 [kernel] EIP is at file_move+0x26/0x47 Aug 13 11:44:01 [kernel] EAX: 00000000 EBX: e593b508 ECX: ea7e9900 EDX: f734a888 Aug 13 11:44:01 [kernel] ESI: 00000000 EDI: 0bc00004 EBP: d8923e10 ESP: d8923e08 Aug 13 11:44:01 [kernel] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 Aug 13 11:44:01 [kernel] 2ba6efc8 c8c93180 d8923e48 c11dbca7 ea7e9900 eed37e6c 00000000 00008800 Aug 13 11:44:01 [kernel] <0> 00000000 e593b400 e593b400 00000004 2ba6efc8 c8c93188 00000000 eed37e6c Aug 13 11:44:01 [kernel] <0> d8923e68 c10883d1 ea7e9900 2ba6efc8 2ba6efc8 ea7e9900 eed37e6c ffffffe9 Aug 13 11:44:01 [kernel] [] ? tty_open+0x194/0x46d Aug 13 11:44:01 [kernel] [] ? chrdev_open+0x77/0x113 Aug 13 11:44:01 [kernel] [] ? __dentry_open+0xb8/0x230 Aug 13 11:44:01 [kernel] [] ? chrdev_open+0x0/0x113 Aug 13 11:44:01 [kernel] [] ? nameidata_to_filp+0x61/0x6a Aug 13 11:44:01 [kernel] [] ? do_filp_open+0x248/0x7cd Aug 13 11:44:01 [kernel] [] ? __do_fault+0x2ba/0x3b2 Aug 13 11:44:01 [kernel] [] ? alloc_fd+0x6a/0xf1 Aug 13 11:44:01 [kernel] [] ? do_sys_open+0x5f/0x12b Aug 13 11:44:01 [kernel] [] ? sys_open+0x2e/0x47 Aug 13 11:44:01 [kernel] [] ? sysenter_do_call+0x12/0x26 Aug 13 11:44:01 [kernel] ---[ end trace 1d6b9e2cd7636395 ]--- Read and Write also do not work at the moment, and I'm fairly sure that the URB completion callbacks are not running. Why this is I don't know, and haven't tried to investigate. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit 72ba94ec61d1ceb9b80e317f72548b1e88e539f4 Author: Richard Ash Date: Wed Jul 29 17:12:18 2009 +0100 Staging: quatech_usb2: implement open functionality Part two of the driver implementation has finally got done. It implements the rest of open and the callback for reads from the box. I seem to have finally found a structure that can be made to work, with a single set of URBs for bulk read and write for the whole device, which are used by all the ports. I've rationalised a few things, but there will still be a lot of clean-up needed. This one definitely can panic the kernel when a port is opened for reading, but I'm off on holiday so I thought I'd post where I have got to so far. I haven't tried to debug why it panics with a null pointer dereference yet. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit c4f3020fc40b7977090dba42e1165db653408440 Author: Richard Ash Date: Tue Jun 23 17:28:06 2009 +0100 Staging: add Support for Quatech ESU2-100 USB 2.0 8-port serial adaptor The patch is of the "works as far as it goes" variety, in that the module compiles and loads, the device nodes are registered and the unit switched on, but nothing actually works. On the other hand, it doesn't panic the kernel, as far as I know. Signed-off-by: Richard Ash Signed-off-by: Greg Kroah-Hartman commit d89505998e007f88e08e84381dcc720a8990507d Author: Karl Relton Date: Wed Aug 19 08:06:39 2009 +0100 Staging: wlan-ng: Convert firmware loading to load binary ihex format Convert prism2_usb firmware loading to load firmware in pre-compiled binary 'ihex' format rather than ascii 'srec' format. This moves the srec processing and sorting of records out of kernel space into a pre-compiler. The driver now just works with the binary image, but still does the 'pda plugging' of that image at runtime, as required by the prism hardware. Some Notes: - The firmware is now expected to be in the same 'ihex' (.fw) format used by other drivers. - The now driver assumes the data records are already sorted into ascending address order. - Plug and crc records are still recognised by special address locations as in original srec processing. - The srec S7 start address record is assumed to have been converted into a data record with another special address location (0xff400000), with the original start address being stored as a 4 byte data word (little endian). Signed-off-by: Karl Relton Signed-off-by: Greg Kroah-Hartman commit c4004175eb51a40069b879d547e32fe8b4d6fde1 Author: Moritz Muehlenhoff Date: Sun Jun 21 22:43:47 2009 +0200 Staging: wlan-ng: Remove more superflous comments Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 84d9bd7d55fea1d1da364a4cdd9766f1b26aa747 Author: Moritz Muehlenhoff Date: Sun Jun 21 22:43:46 2009 +0200 Staging: wlan-ng: Drop the special case handling of older wireless extensions, WIRELESS_EXT is at 22 for the current kernel. Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 2f5851917c7a2b29b0f73d974f241b9f8aaa62dd Author: Moritz Muehlenhoff Date: Sun Jun 21 22:43:45 2009 +0200 Staging: wlan-ng: Use kzfree() to securely zero-out the WEP key when freeing it Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit 0d0202fd888a0f6e42d14aa903c6d79fc8777125 Author: Moritz Muehlenhoff Date: Sun Jun 21 22:43:44 2009 +0200 Staging: wlan-ng: Remove some superflous comments Signed-off-by: Moritz Muehlenhoff Signed-off-by: Greg Kroah-Hartman commit f60f79e05aa35eaae7fc1cedaba117bdafe306e2 Author: Huang Weiyi Date: Sat Jun 20 19:16:51 2009 +0800 Staging: cpc-usb: remove unused #include Remove unused #include 's in drivers/staging/cpc-usb/cpc-usb_drv.c. Signed-off-by: Huang Weiyi Signed-off-by: Greg Kroah-Hartman commit 4ff863b1db411481971de481002aa644057b1fa6 Author: Roel Kluin Date: Sat Aug 8 00:14:20 2009 +0200 Staging: comedi: s626: Possible read buffer overflow fix If `cmd->chanlist_len' is 0, then we write ppl[-1]. Signed-off-by: Roel Kluin Signed-off-by: Greg Kroah-Hartman commit 88a28c828f25f15bf8258ae834bcb47adf3e67b4 Author: Robert P. J. Day Date: Sat Jul 4 20:32:08 2009 -0400 Staging: comedi: Remove references to dead EXPORT_SYMTAB Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit b455073c885cf78cfea1704ce9587806ec8e3c30 Author: Figo.zhang Date: Sat Jun 6 19:11:31 2009 +0800 Staging: comedi: no need for checking vfree call vfree() does it's own NULL checking,so no need for check before calling it. 'pages' is local variable argment,so in v2, it is no need assignment to NULL. Signed-off-by: Figo.zhang Acked-by: Pekka Enberg Signed-off-by: Greg Kroah-Hartman commit 0a85b6f0ab0d2edb0d41b32697111ce0e4f43496 Author: Mithlesh Thukral Date: Mon Jun 8 21:04:41 2009 +0530 Staging: Comedi: Lindent changes to comdi driver in staging tree Lindent changes to comdi driver in staging tree. This patch is followed by the checkpatch.pl error fixes. Did not make them part of this patch as the patch size is already huge. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit df6785681be9f05435f4299b921c41397ea061a1 Author: Julia Lawall Date: Sat Jul 11 10:32:23 2009 +0200 Staging: otus: Drop an unnecessary NULL test Apparently, the NULL test is not necessary at this point. The semantic patch that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ 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; // Signed-off-by: Julia Lawall Acked-by: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 92e6765f4080520759acfb0bc41402485271365a Author: Alexander Beregalov Date: Fri Jul 3 16:25:52 2009 +0400 Staging: otus: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependency. WIRELESS_EXT is 22 now and it is always defined. Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 4a5629b92ee530e7c3077689d5efb90be613a9a5 Author: Pranith Kumar Date: Mon Jun 8 13:38:26 2009 +0530 Staging: otus: Fix warnings in staging/otus/ioctl.c This fixes a number of warnings in the otus driver. Signed-off-by: D Pranith Kumar Signed-off-by: Greg Kroah-Hartman commit 4c47b34cd6c62cb4cf9fb8f873aeb99b6cc60b4d Author: Alexander Beregalov Date: Sat Jun 20 20:07:50 2009 +0400 Staging: vt6655: remove dependency on WIRELESS_EXT version As the driver is in mainline now we can remove such dependencies. WIRELESS_EXT is 22 now. Cc: Forest Bond Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 761e95493982f3365e6ef34991a6c7ff84e33d25 Author: Alexander Beregalov Date: Sat Jun 20 19:07:40 2009 +0400 Staging: vt6655: fix build when !CONFIG_WIRELESS_EXT Fix this build error when CONFIG_WIRELESS_EXT is not set: drivers/staging/vt6655/device_main.c:1153: error: 'struct net_device' has no member named 'wireless_handlers' Cc: Forest Bond Signed-off-by: Alexander Beregalov Signed-off-by: Greg Kroah-Hartman commit 5d1fe0c98f2aef99fb57aaf6dd25e793c186cea3 Author: Forest Bond Date: Sat Jun 13 07:39:00 2009 -0400 Staging: vt6656: Integrate vt6656 into build system. Integrate drivers/staging/vt6656 into build system. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit f4a8df99716c9103efa423474c70a36219c58ace Author: Forest Bond Date: Sat Jun 13 07:38:56 2009 -0400 Staging: vt6656: replace call to info with printk call. vt6656: replace call to info with printk call. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit dd8db704adce547bd099096a6431aada124867a4 Author: Forest Bond Date: Sat Jun 13 07:38:54 2009 -0400 Staging: vt6656: use net_device_ops for management functions vt6656: use net_device_ops for management functions Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 1e28efa3eb3cdfe6a3be0499d309fb75250c1028 Author: Forest Bond Date: Sat Jun 13 07:38:50 2009 -0400 Staging: vt6656: Replace net_device->priv accesses with netdev_priv calls. vt6656: Replace net_device->priv accesses with netdev_priv calls. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 8f9c466f291a94b138560f28242c44e320a79ca4 Author: Forest Bond Date: Sat Jun 13 07:38:47 2009 -0400 Staging: vt6656: main_usb.c: Drop obsolete fsuid/fsgid accesses. drivers/staging/vt6656/main_usb.c: Drop obsolete fsuid/fsgid accesses. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit f02a8cbc50aaef89f56faf0cf1e27fa5a80faec6 Author: Forest Bond Date: Sat Jun 13 07:38:43 2009 -0400 Staging: vt6656: Build vt6656.ko, not vntwusb.ko. Build vt6656.ko, not vntwusb.ko. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 66252c3a27d2392e0901e220157510450bd6c2a1 Author: Forest Bond Date: Sat Jun 13 07:38:40 2009 -0400 Staging: vt6656: Add includes to drivers/staging/vt6656. Add includes to drivers/staging/vt6656. These came from the includes directory in the upstream source archive. Trailing whitespace was stripped. This is GPL-licensed code. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 92b96797118e5836294a6d42a5a8e10b86f50e3f Author: Forest Bond Date: Sat Jun 13 07:38:31 2009 -0400 Staging: Add pristine upstream vt6656 driver sources to drivers/staging/vt6656. Add pristine upstream vt6656 driver sources to drivers/staging/vt6656. These files were copied from the driver directory in the upstream source archive, available here: http://www.viaarena.com/Driver/VT6656_Linux_src_v1.19_12_x86.zip After copying, trailing whitespace was stripped. This is GPL-licensed code. Signed-off-by: Forest Bond Signed-off-by: Greg Kroah-Hartman commit 36c7928c3e948cf8862d4b5c3df27c5a841cb503 Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 25 15:40:31 2009 +0200 Staging: add rt3090 wireless driver This is the vendor driver for the Ralink RT3090 chipset. It should be later cleaned and ported to use the existing rt2x00 infrastructure or just replaced by the proper version. [ Unfortunately since it follows the same design/implementation like rt{286,287,307}0 drivers (already present in the staging tree) it is highly unlikely that it will see much love from the wireless development community.. ] However since the development of the cleaner/proper version can take significant time lets give distros (i.e. openSUSE seems to already have the package with the original vendor driver) and users "something" to use in the meantime. I forward ported it to 2.6.31-rc1, ported to the Linux build system and did some initial cleanups. More fixes/cleanups to come later (it seems that the driver can be made to share most of its code with the other Ralink drivers already present in the staging tree). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fd882783abc0760075d42982d155e8eac2f802ac Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:38 2009 +0200 Staging: rtl8187se: cleanup r8180_core.c * remove commented out code * remove useless comments * beautify code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 22eec79469f32f0f9153ec19a37f7e8f448c0522 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:32 2009 +0200 Staging: rtl8187se: cleanup r8180_rtl8225z2.c * make read_rtl8225() static * make tables static const * remove commented out code * remove useless comments * beautify code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 02236f3fd5a2b0162c0e29595adb2458aaa441ef Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:23 2009 +0200 Staging: rtl8187se: remove unused definitions from r8180.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7abb66eba486b6268e00b3752926a0d0af9c3973 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:16 2009 +0200 Staging: rtl8187se: remove unused definitions from r8180_hw.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b6d11c07e5fca796e426329e76b0cc6ab400c0fd Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:10 2009 +0200 Staging: rtl8187se: merge r8180_pm.c with r8180_core.c * merge r8180_pm.c with r8180_core.c * make functions static Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b72490a5f970051bb02602c69fa918fd53b512c9 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:20:04 2009 +0200 Staging: rtl8187se: cleanup r8180_pm.c * remove unused rtl8180_{save_state,enable_wake}() * remove commented out code * beautify code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 44a7dcbc4984e57807c2c985fba84ba6521b905b Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:57 2009 +0200 Staging: rtl8187se: merge r8180_rtl8225.c with r8180_rtl8225z2.c * merge r8180_rtl8225.c with r8180_rtl8225z2.c * make functions static * make tables static const * remove unused rtl8225_set_gain() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 322f3f2fa73e42fe3163d14deabf12fd4cacc3b2 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:51 2009 +0200 Staging: rtl8187se: cleanup r8180_rtl8225.c * remove empty rtl8225_host_usb_init() * remove commented out code * remove useless comments * beautify code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit e99b82d558b1fcc61a029d8e7b3f2a970371ca24 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:45 2009 +0200 Staging: rtl8187se: remove unused rtl8225_rf_* functions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit ff9548530572ba272d913d0a7e0147a9f674e373 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:38 2009 +0200 Staging: rtl8187se: remove debugging code from r8180_core.c Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6dc1585fe4020b0c22853c5bfa9bcc3add01fc22 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:31 2009 +0200 Staging: rtl8187se: remove unused radio frontends Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5521a513e5803c31b834c55220313e363ce02ccf Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:23 2009 +0200 Staging: rtl8187se: remove dead code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 6a9a9e42b6b62551804c8c496704f5c851871fde Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:17 2009 +0200 Staging: rtl8187se: remove CONFIG_RTL8180_IO_MAP ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f19fd3357768b5964167d5ad9139b4f619007dc7 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:10 2009 +0200 Staging: rtl8187se: remove CONFIG_RTL8185B ifdefs CONFIG_RTL8185B is defined in drivers/staging/rtl8187se/r8180_hw.h. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5474405fd68ba1b7516d1cdaa68369e5e2883d6e Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:19:03 2009 +0200 Staging: rtl8187se: remove CONFIG_RTL818x_S ifdefs CONFIG_RTL818x_S is defined in drivers/staging/rtl8187se/r8180_hw.h. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9a5aabffd1a8c09b6567b0c10c961f4513014893 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:18:57 2009 +0200 Staging: rtl8187se: remove THOMAS_TURBO ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2e0baea9773e44f08fc2d6d6a7ebd03cf1712f53 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:18:51 2009 +0200 Staging: rtl8187se: remove CONFIG_RTL8180_PM ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 5212499a7a41822496c3a62abae6fe103d308f18 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 16:18:44 2009 +0200 Staging: rtl8187se: remove ENABLE_DOT11D ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0bd2f8efe94ab4e6ef630a311dfd58812c80b653 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 17:40:24 2009 +0200 Staging: rtl8187se: add TODO Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 9d7a9fa8be168c2637ab3ccb2dac4f545f523fa1 Author: Bartlomiej Zolnierkiewicz Date: Sun Jun 28 17:40:50 2009 +0200 Staging: rtl8192su: add TODO Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit b4fcc8a24fbbadb9efeff67d69dd0a05034ef79d Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:37:33 2009 +0200 Staging: rtl8192su/ieee80211: switch to use * s/WLAN_AUTH_LEAP/RTL_WLAN_AUTH_LEAP/g * s/struct ieee80211_hdr/struct rtl_ieee80211_hdr/g * switch to use There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 68da8fcd50561b95d6a379455088ec7ba8ee95da Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:36:47 2009 +0200 Staging: rtl8192su/ieee80211: remove unused _ReasonCode enums Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3bd709f28f63fd316233cac4471678cb23b0c581 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:35:58 2009 +0200 Staging: rtl8192su: remove support for older wireless extensions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 1ec9e48dbfe29e4919a9ca3d0c692c982f484c73 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:35:04 2009 +0200 Staging: rtl8192su: remove kernel version compatibility wrappers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 7fdb78d097e4282e8b54312351a135c6f54ae03c Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:35:00 2009 +0200 Staging: rtl8187se/ieee80211: remove superfluous JOHN_* ifdefs Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8f75675c3a99c91325f17bcc02651c4447d9fb81 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:33:17 2009 +0200 Staging: rtl8187se/ieee80211: remove unused dump_chnl_map() Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit c6e43bc83fd0f156eeb64bc2fa47323fdff16ba8 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:32:41 2009 +0200 Staging: rtl8187se/ieee80211: remove superfluous ieee80211_* defines Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 30bb89f333c566d14443efe2d03f45739c9be5ee Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:31:54 2009 +0200 Staging: rtl8187se/ieee80211: remove dead _RTL8187_EXT_PATCH_ code Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 8efff1758aedb8cfbfe533304cb30eb50a6ec096 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:31:18 2009 +0200 Staging: rtl8187se: remove support for older wireless extensions Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 0370453f6cc0e2d8fab5cb0001127798eb1ddeb6 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:30:28 2009 +0200 Staging: rtl8187se: remove kernel version compatibility wrappers Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit f8450cf62cec9f3db424956664a11bf29244f968 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:30:22 2009 +0200 Staging: rtl8192su: remove unused ieee80211_crypt.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit a974762356673f704fb67dfc401e43f4f4dc5355 Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 13 18:30:14 2009 +0200 Staging: rtl8187se: remove unused ieee80211_crypt.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 2a7d71ad5763f9b4b0d0ff53338a1283af73d3c0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 12 18:29:19 2009 +0200 Staging: rtl8192su: remove duplicate dot11d.h and ieee80211.h includes Always use includes from ieee80211/ subdirectory. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit fd9b8d6e29c65711c44e115673dcbe85f1f24319 Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 12 18:28:35 2009 +0200 Staging: rtl8187se: remove duplicate dot11d.h and ieee80211.h includes Always use includes from ieee80211/ subdirectory. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 3380121b2a3a6543d08748aa146968dac5fe880f Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 11 20:50:02 2009 +0200 Staging: rtl8192su/ieee80211: remove unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 015ffd82da1c777419f81effe264ec7038521f27 Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 11 20:48:11 2009 +0200 Staging: rtl8187se/ieee80211: remove unused files Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit db80ba562b05f9bf5a1e824164d417677413d7ac Author: Bartlomiej Zolnierkiewicz Date: Thu Jun 11 20:12:19 2009 +0200 Staging: rt28[67]0: remove unused md4.h Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Greg Kroah-Hartman commit 64f930361bede4e049509858bcef8b333399547f Author: Alan Cox Date: Wed Jun 10 17:30:41 2009 +0100 Staging: et1310: Fix the coding style UTF-8 for copyright symbols etc included. Typedefs and anything else which would cause actual code changes skipped. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 297f06cea635ea4552541a11e7fb7014425110c6 Author: Mithlesh Thukral Date: Wed Jun 10 19:36:11 2009 +0530 staging: wlan-ng: scripts/checkpatch.pl error fixes. scripts/checkpatch.pl error fixes. This is a TODO item. This patch fixes most of the errors reported by checkpatch.pl in wlan-ng directory of staging tree. Signed-off-by: Mithlesh Thukral Signed-off-by: Greg Kroah-Hartman commit 0984e56a65a29ad0700c5abf657327e73929ea1f Author: Randy Dunlap Date: Fri Jul 31 11:10:45 2009 -0700 Staging: android: lowmemorykiller: fix module param errors Move module_params to near the end of the source file so that their references are already known/defined. Fixes build errors: drivers/staging/android/lowmemorykiller.c: In function '__check_cost': drivers/staging/android/lowmemorykiller.c:60: error: 'lowmem_shrinker' undeclared (first use in this function) drivers/staging/android/lowmemorykiller.c: At top level: drivers/staging/android/lowmemorykiller.c:60: error: 'lowmem_shrinker' undeclared here (not in a function) drivers/staging/android/lowmemorykiller.c:60: warning: type defaults to 'int' in declaration of 'type name' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 10626434f473a7b4b0a21f427b301d3dd0db65a8 Author: Daniel Walker Date: Sun Jul 5 09:32:45 2009 -0700 Staging: android: binder: partial checkpatch cleanup Clean up 3 or so checkpatch errors from one of my prior patches. Signed-off-by: Daniel Walker Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 272bb3d8759448b2017aee149d226d7bf2d2bbb7 Author: Daniel Walker Date: Sun Jul 5 09:32:44 2009 -0700 Staging: android: lowmemorykiller: delete the decription file Move the lowmemorykiller.txt into the actual source file which is really the correct place for it, and delete lowmemorykiller.txt. Signed-off-by: Daniel Walker Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit edd540ea92954f896bfb7ee0ebf5dfdde6e6cb41 Author: Daniel Walker Date: Sun Jul 5 09:32:43 2009 -0700 Staging: android: lowmemorykiller: remove a predefine I moved the struct shrinker down so that the predefine isn't needed. Signed-off-by: Daniel Walker Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 707636ff4bd4057b8fb9c1e6cc68885014623b17 Author: Daniel Walker Date: Sun Jul 5 09:32:42 2009 -0700 Staging: android: binder: cleanup some long lines This file has a lot of long line problems due to the massive indent issues that exist. This just cleans up some of the really really long ones. Signed-off-by: Daniel Walker Cc: Arve Hjønnevåg Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 8683b987285e4542dd79192054ee4591b8cc7700 Author: Daniel Walker Date: Fri Jun 12 11:51:18 2009 -0700 staging: android: binder: clean up for all the stat statments An initial cleanup of all the binder_stat statements. The binder command and return stats still need some assistance tho. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 39e420e0a918e7d2123e26a3617568fe2b6af8c6 Author: Daniel Walker Date: Fri Jun 12 11:51:17 2009 -0700 staging: android: binder: global variable cleanup. Replaced a manual hlist_head declaration with a macro based one. Also reorganized the globals to be grouped better. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit fd0a2f07d9b37fa52ece5bdec4f1130e080c1f51 Author: Daniel Walker Date: Fri Jun 12 11:51:16 2009 -0700 staging: android: binder: add enum usage in function arguments Declare the binder_deferred_state enum, and use the new enum for one of the binder_defer_work function arguments. This should keep the argument within the confines of the enum instead of the whole int range. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit 9980318e5405fe34a8f7e3af439647a729d10014 Author: Daniel Walker Date: Fri Jun 12 11:51:15 2009 -0700 staging: android: binder: remove a predefine I removed the binder_transaction_buffer_release predefine, and put the actual function in place of it. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit df56cb1f37415f16a187738ee9e3c03e2106e305 Author: Daniel Walker Date: Fri Jun 12 11:51:14 2009 -0700 staging: android: binder: move debugging mask into a macro I moved the continual, if (binder_debug_mask & mask) printk() into a single macro so it's all in one place. It could be refined further from there. Signed-off-by: Daniel Walker Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman commit e69b0f1b41c0e57bb1e29100b5810a5914efcb45 Author: Peter Zijlstra Date: Tue Sep 15 19:38:52 2009 +0200 sched: Add a few SYNC hint knobs to play with Currently we use overlap to weaken the SYNC hint, but allow it to set the hint as well. echo NO_SYNC_WAKEUP > /debug/sched_features echo SYNC_MORE > /debug/sched_features preserves pipe-test behaviour without using the WF_SYNC hint. Worth playing with on more workloads... Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 63859d4fe4c97b737e7adbfe60acb1c2b2e668cb Author: Peter Zijlstra Date: Tue Sep 15 19:14:42 2009 +0200 sched: Fix sync wakeups again The sync argument rename to introduce WF_* broke stuff by missing a local alias for an argument in __wake_up_common, fix it by using the more descriptive wake_flags name. This restores WF_SYNC propagation, which fixes wake_affine() behaviour, which fixes pipe-test. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 9ef96da6ec5e1b4cf7eb8e30852cd88ec7d5fdc0 Author: Jaswinder Singh Rajput Date: Sun Aug 9 20:23:12 2009 +0530 xfs: includecheck fix for fs/xfs/xfs_iops.c fix the following 'make includecheck' warning: fs/xfs/linux-2.6/xfs_iops.c: xfs_acl.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 361735fd8ff8f7d8b9f0e134d0d99d99ee193d92 Author: Alexey Dobriyan Date: Fri Aug 28 23:55:00 2009 +0400 xfs: switch to seq_file create_proc_read_entry() is getting deprecated. Signed-off-by: Alexey Dobriyan Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit 889c27744c30eb7a43b68c11e33e679cfafc8cd5 Author: Wolfram Sang Date: Wed Jul 29 14:25:37 2009 +0200 pcmcia: document return value of pcmcia_loop_config Hopefully it will be harder to get it wrong now. Also fix an unneeded initialization while we are here. Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit cb6dbd79628a53e66352387b53b426fa88640bfe Author: Philipp Zabel Date: Fri Feb 27 17:54:08 2009 +0100 pcmcia: dtl1_cs: fix pcmcia_loop_config logic pcmcia_loop_config returns 0 on success. [wsa: added '< 0' for better readability] Signed-off-by: Philipp Zabel Acked-by: Marcel Holtmann Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit cc677441007a48f56117e74ac8cfc19c7851fac7 Author: Wolfram Sang Date: Mon Jul 27 11:35:07 2009 +0200 pcmcia: drop non-existant includes See http://lists.infradead.org/pipermail/linux-pcmcia/2009-April/006109.html Reported-by: Robert P. J. Day Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit 1ff84890b62b20823b3697a6041bbec1b5280cee Author: Tomas Kovacik Date: Sun Jul 26 22:04:58 2009 +0200 pcmcia: disable prefetch/burst for OZ6933 Problems have been reported [1], so disable prefetch/burst, to be on the safe side. [1] http://www.mail-archive.com/linux-pcmcia@lists.infradead.org/msg02048.html Signed-off-by: Tomáš Kováčik Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit b4b3d7bbe1e1d924dc5f3b48b6c06977aee2d494 Author: Wolfram Sang Date: Mon Jul 20 10:58:59 2009 +0200 pcmcia: fix incorrect argument order to list_add_tail() Commit a56bc69a182f501582557af7fad5bc882b1c856c fixed a wrong usage of list_add_tail() within store_new_id() for PCI. Port the fix to PCMCIA, which adapted this function from PCI. Signed-off-by: Wolfram Sang Cc: Dominik Brodowski Cc: Greg Kroah-Hartman commit d598de02187e4de89595537f69dffe8334f9a066 Author: Joe Perches Date: Sun Jun 28 09:26:41 2009 -0700 pcmcia: drivers/pcmcia/pcmcia_resource.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit 1d80766554322236aee50d6023693b3210b9cf38 Author: Steven A. Falco Date: Tue Jun 16 12:35:00 2009 -0400 pcmcia: Use phys_addr_t for physical addresses Physical addresses are currently represented as int or long types. However, this does not work for processors like the PPC440EPx, which is a 32-bit processor with a 36-bit address space. This patch uses the phys_addr_t type, which correctly holds a 36-bit address on this processor. Signed-off-by: Steven A. Falco Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit a0779327d25bc74a50b23136e278dba24c628741 Author: Roel Kluin Date: Tue Dec 9 22:12:50 2008 +0100 pcmcia: drivers/pcmcia: Make static Sparse asked whether these could be static. Signed-off-by: Roel Kluin Signed-off-by: Wolfram Sang Signed-off-by: Greg Kroah-Hartman commit 0cb583fd2862f19ea88b02eb307d11c09e51e2f8 Merge: 723e9db a2d1056 Author: Linus Torvalds Date: Tue Sep 15 10:01:16 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6: ide: fixup for fujitsu disk ide: convert to ->proc_fops at91_ide: remove headers specific for at91sam9263 IDE: palm_bk3710: convert clock usage after clkdev conversion ide: fix races in handling of user-space SET XFER commands ide: allow ide_dev_read_id() to be called from the IRQ context ide: ide-taskfile.c fix style problems drivers/ide/ide-cd.c: Use DIV_ROUND_CLOSEST ide-tape: fix handling of postponed rqs ide-tape: convert to ide_debug_log macro ide-tape: fix debug call ide: Fix annoying warning in ide_pio_bytes(). IDE: Save a call to PageHighMem() commit 6ae86350857bf3e862f8dcd10039ccb45e056f85 Author: Nelson Elhage Date: Fri Jul 31 16:57:53 2009 -0400 [IA64] Clean up linker script using standard macros. Aside from using fewer output sections and moving some data around, the main side effect of this change is changing the alignment of some sections. In particular: * cachline-aligned and read_mostly data are now aligned to SMP_CACHE_BYTES. (Previously, they were laid out consecutively after a PAGE_SIZE alignment) * .init.ramfs is now page-aligned, per the INIT_RAM_FS macro. (Previously it had no explicit alignment). Signed-off-by: Nelson Elhage Signed-off-by: Tony Luck commit 723e9db7a46e328527cc3da2b478b831184fe828 Merge: ada3fa1 d331d83 Author: Linus Torvalds Date: Tue Sep 15 09:51:09 2009 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (134 commits) powerpc/nvram: Enable use Generic NVRAM driver for different size chips powerpc/iseries: Fix oops reading from /proc/iSeries/mf/*/cmdline powerpc/ps3: Workaround for flash memory I/O error powerpc/booke: Don't set DABR on 64-bit BookE, use DAC1 instead powerpc/perf_counters: Reduce stack usage of power_check_constraints powerpc: Fix bug where perf_counters breaks oprofile powerpc/85xx: Fix SMP compile error and allow NULL for smp_ops powerpc/irq: Improve nanodoc powerpc: Fix some late PowerMac G5 with PCIe ATI graphics powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT powerpc/book3e: Add missing page sizes powerpc/pseries: Fix to handle slb resize across migration powerpc/powermac: Thermal control turns system off too eagerly powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() powerpc/405ex: support cuImage via included dtb powerpc/405ex: provide necessary fixup function to support cuImage powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC powerpc/44x: Add Eiger AMCC (AppliedMicro) PPC460SX evaluation board support. powerpc/44x: Update Arches defconfig powerpc/44x: Update Arches dts ... Fix up conflicts in drivers/char/agp/uninorth-agp.c commit 2b2af54a5bb6f7e80ccf78f20084b93c398c3a8b Author: Kay Sievers Date: Thu Apr 30 15:23:42 2009 +0200 Driver Core: devtmpfs - kernel-maintained tmpfs-based /dev Devtmpfs lets the kernel create a tmpfs instance called devtmpfs very early at kernel initialization, before any driver-core device is registered. Every device with a major/minor will provide a device node in devtmpfs. Devtmpfs can be changed and altered by userspace at any time, and in any way needed - just like today's udev-mounted tmpfs. Unmodified udev versions will run just fine on top of it, and will recognize an already existing kernel-created device node and use it. The default node permissions are root:root 0600. Proper permissions and user/group ownership, meaningful symlinks, all other policy still needs to be applied by userspace. If a node is created by devtmps, devtmpfs will remove the device node when the device goes away. If the device node was created by userspace, or the devtmpfs created node was replaced by userspace, it will no longer be removed by devtmpfs. If it is requested to auto-mount it, it makes init=/bin/sh work without any further userspace support. /dev will be fully populated and dynamic, and always reflect the current device state of the kernel. With the commonly used dynamic device numbers, it solves the problem where static devices nodes may point to the wrong devices. It is intended to make the initial bootup logic simpler and more robust, by de-coupling the creation of the inital environment, to reliably run userspace processes, from a complex userspace bootstrap logic to provide a working /dev. Signed-off-by: Kay Sievers Signed-off-by: Jan Blunck Tested-By: Harald Hoyer Tested-By: Scott James Remnant Signed-off-by: Greg Kroah-Hartman commit ea5ffff57dce2f4c85ab056f4b0a202f71db2bdf Author: GeunSik Lim Date: Mon Sep 7 21:39:25 2009 +0900 debugfs: Modify default debugfs directory for debugging pktcdvd. As we all know, We need change default directory for consistency of debugfs by Greg K-H Signed-off-by: GeunSik Lim Signed-off-by: Greg Kroah-Hartman commit 837cbb07618d61114354596931dd1998b672c5d8 Author: GeunSik Lim Date: Mon Sep 7 21:39:05 2009 +0900 debugfs: Modified default dir of debugfs for debugging UHCI. Change default debugfs directory as mounting point for debugging UHCI(Universal Host Controller Interface driver) for USB. As we all know, We need change default directory for consistency of debugfs by Greg K-H Signed-off-by: GeunSik Lim Signed-off-by: Greg Kroah-Hartman commit 9d480b88d830e6d6eb90767b0722def8fffc0365 Author: GeunSik Lim Date: Mon Sep 7 21:37:53 2009 +0900 debugfs: Change debugfs directory of IWMC3200 Change default debugfs directory that mount for debugging IWMC3200(Intel Wireless Multicomm 3200 WiFi driver). As we all know, We need change default directory for consistency of debugfs by Greg.K.H Signed-off-by: GeunSik Lim Acked-by: Zhu Yi Signed-off-by: Greg Kroah-Hartman commit 088a4eed282c9f75a2c165ba4909433c6dd6f959 Author: GeunSik Lim Date: Mon Sep 7 21:37:37 2009 +0900 debugfs: Change debuhgfs directory of trace-events-sample.h Default directory of debug filesystem for ftrace is /sys/kernel/debug/. Signed-off-by: GeunSik Lim Signed-off-by: Greg Kroah-Hartman commit 52ad51e7a93558a218cd00059bd69881a82eb2bb Author: GeunSik Lim Date: Mon Sep 7 21:37:17 2009 +0900 debugfs: Fix mount directory of debugfs by default in events.txt We need common default directory of denbugfs for consistency. (debugfs's default directory is /sys/kernel/debug/ by debugfs.) Signed-off-by: GeunSik Lim Signed-off-by: Greg Kroah-Hartman commit 4a351471df352474956f1fdc7bc4e7cf6836503a Author: David Altobelli Date: Mon Aug 17 17:08:01 2009 -0600 hpilo: add poll f_op Add poll handler to hpilo, to allow applications a low overhead method of waiting for data. Signed-off-by: David Altobelli Signed-off-by: Greg Kroah-Hartman commit 9f7048412163d8f8175ba01063f3db02d42cc6a7 Author: David Altobelli Date: Mon Aug 17 17:07:33 2009 -0600 hpilo: add interrupt handler Add interrupt handler to hpilo. This is enablement for poll handler, and it also simplifies the logic for handling an iLO reset, because now only the interrupt handler needs to look for reset, the file system interfaces only need to return failure when a reset has happened. Signed-off-by: David Altobelli Signed-off-by: Greg Kroah-Hartman commit 66d5e5169c96f3e0175235e2bcbaedc8bc1c728f Author: David Altobelli Date: Mon Aug 17 17:07:03 2009 -0600 hpilo: staging for interrupt handling Refactor some hpilo routines in order to allow for locking changes in interrupt handling. Should not be functionally different. Signed-off-by: David Altobelli Signed-off-by: Greg Kroah-Hartman commit daa4122673f002911122cac2b996bd36b6c01b32 Author: Andrew Morton Date: Thu Aug 6 16:00:44 2009 -0700 driver core: platform_device_add_data(): use kmemdup() Instead of open-coding it. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 4622709445705c1e423d2addcfd8ccae052fe0ba Author: Jean Delvare Date: Tue Aug 4 12:55:34 2009 +0200 Driver core: Add support for compatibility classes When turning class devices into bus devices, we may need to temporarily add links in sysfs so that user-space applications are not confused. This is done by adding the following API: * Functions to register and unregister compatibility classes. These appear in sysfs at the same location as regular classes, but instead of class devices, they contain links to bus devices. * Functions to create and delete such links. Additionally, the caller can optionally pass a target device to which a "device" link should point (typically that would be the device's parent), to fully emulate the original class device. The i2c subsystem will be the first user of this API, as i2c adapters are being converted from class devices to bus devices. Signed-off-by: Jean Delvare Signed-off-by: Kay Sievers commit ccb86a6907c9ba7b5be5f521362fc308e80bed34 Author: Michael S. Tsirkin Date: Mon Jul 20 10:29:34 2009 +0300 uio: add generic driver for PCI 2.3 devices This adds a generic uio driver that can bind to any PCI device. First user will be virtualization where a qemu userspace process needs to give guest OS access to the device. Interrupts are handled using the Interrupt Disable bit in the PCI command register and Interrupt Status bit in the PCI status register. All devices compliant to PCI 2.3 (circa 2002) and all compliant PCI Express devices should support these bits. Driver detects this support, and won't bind to devices which do not support the Interrupt Disable Bit in the command register. It's expected that more features of interest to virtualization will be added to this driver in the future. Possibilities are: mmap for device resources, MSI/MSI-X, eventfd (to interface with kvm), iommu. Signed-off-by: Michael S. Tsirkin Acked-by: Chris Wright Signed-off-by: Hans J. Koch Acked-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman commit a56af87648054089d89874b52e3fc23ed4f274ad Author: Ming Lei Date: Sun Jul 12 21:44:55 2009 +0800 driver-core: move dma-coherent.c from kernel to driver/base Placing dma-coherent.c in driver/base is better than in kernel, since it contains code to do per-device coherent dma memory handling. Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman commit 162dd4212409fd2d36ff22547ea821bf3e86bcc9 Author: Jin Dongming Date: Mon Sep 14 16:02:26 2009 +0900 mem_class: fix bug When I build and boot -next on fedora 10, I can not login anymore. When I input the user name and password, the system does not output any message and requires user to input the user name and password again and again. I find the patch which caused this problem with "GIT BISECT" command. And the patch is commit 7c4b7daa1878972ed0137c95f23569124bd6e2b1 "mem_class: use minor as index instead of searching the array". Though I don't know the real reason why user could not login, I confirmed the patch I made as following could resolve the problem on fedora 10. Signed-off-by: Jin Dongming Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 389e0cb9a1dec22ec37a104dec5009dd7a33dd59 Author: Kay Sievers Date: Sat Jul 4 16:51:29 2009 +0200 mem_class: use minor as index instead of searching the array Declare the device list with the minor numbers as the index, which saves us from searching for a matching list entry. Remove old devfs permissions declaration. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a4dbd6740df0872cdf0a86841f75beec8381964d Author: David Brownell Date: Wed Jun 24 10:06:31 2009 -0700 driver model: constify attribute groups Let attribute group vectors be declared "const". We'd like to let most attribute metadata live in read-only sections... this is a start. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5b2ea2f10dbb2fa91d8033993000f8664309395f Author: Daniel Mack Date: Wed Jun 24 17:30:25 2009 +0200 UIO: remove 'default n' from Kconfig 'default n' is the default, there is no need for these lines. Signed-off-by: Daniel Mack Cc: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit a5b8b1ada6dd76503884f5492b995cd29eefae0f Author: Mark Brown Date: Fri Jul 17 15:06:08 2009 +0100 Driver core: Add accessor for device platform data For consistency with driver data provide a dev_get_platdata() accessor for reading the platform data from a device. Signed-off-by: Mark Brown Signed-off-by: Greg Kroah-Hartman commit b4028437876866aba4747a655ede00f892089e14 Author: Greg Kroah-Hartman Date: Mon May 11 14:16:57 2009 -0700 Driver core: move dev_get/set_drvdata to drivers/base/dd.c No one should directly access the driver_data field, so remove the field and make it private. We dynamically create the private field now if it is needed, to handle drivers that call get/set before they are registered with the driver core. Also update the copyright notices on these files while we are there. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 2023c610dc54a4f4130b0494309a9bd668ca3df8 Author: Alan Stern Date: Thu Jul 30 15:27:18 2009 -0400 Driver core: add new device to bus's list before probing This patch (as1271) affects when new devices get linked into their bus's list of devices. Currently this happens after probing, and it doesn't happen at all if probing fails. Clearly this is wrong, because at that point quite a few symbolic links have already been created in sysfs. We are committed to adding the device, so it should be linked into the bus's list regardless. In addition, this needs to happen before the uevent announcing the new device gets issued. Otherwise user programs might try to access the device before it has been added to the bus. To fix both these problems, the patch moves the call to klist_add_tail() forward from bus_attach_device() to bus_add_device(). Since bus_attach_device() now does nothing but probe for drivers, it has been renamed to bus_probe_device(). And lastly, the kerneldoc is updated. Signed-off-by: Alan Stern CC: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit ed7af3e63bd2458d5138c4b7e92fe4e1cdc97d9d Author: Nelson Elhage Date: Fri Jul 31 16:57:52 2009 -0400 [IA64] Use standard macros for page-aligned data. Signed-off-by: Nelson Elhage Signed-off-by: Tony Luck commit ada3fa15057205b7d3f727bba5cd26b5912e350f Merge: 2f82af0 5579fd7 Author: Linus Torvalds Date: Tue Sep 15 09:39:44 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: (46 commits) powerpc64: convert to dynamic percpu allocator sparc64: use embedding percpu first chunk allocator percpu: kill lpage first chunk allocator x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA percpu: update embedding first chunk allocator to handle sparse units percpu: use group information to allocate vmap areas sparsely vmalloc: implement pcpu_get_vm_areas() vmalloc: separate out insert_vmalloc_vm() percpu: add chunk->base_addr percpu: add pcpu_unit_offsets[] percpu: introduce pcpu_alloc_info and pcpu_group_info percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward percpu: add @align to pcpu_fc_alloc_fn_t percpu: make @dyn_size mandatory for pcpu_setup_first_chunk() percpu: drop @static_size from first chunk allocators percpu: generalize first chunk allocator selection percpu: build first chunk allocators selectively percpu: rename 4k first chunk allocator to page percpu: improve boot messages percpu: fix pcpu_reclaim() locking ... Fix trivial conflict as by Tejun Heo in kernel/sched.c commit 2f82af08fcc7dc01a7e98a49a5995a77e32a2925 Author: Nicolas Pitre Date: Mon Sep 14 03:25:28 2009 -0400 Nicolas Pitre has a new email address Due to problems at cam.org, my nico@cam.org email address is no longer valid. FRom now on, nico@fluxnic.net should be used instead. Signed-off-by: Nicolas Pitre Signed-off-by: Linus Torvalds commit f199fd990639f93d07d8e104b0a66aabaf01d67d Merge: 043fe50 b3e62e3 Author: Linus Torvalds Date: Tue Sep 15 09:34:27 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 buffer overflow in perf_copy_attr() commit f172468a142c6989144ccb827c1b57c69229e8ba Author: Tim Abbott Date: Fri Jul 31 16:57:51 2009 -0400 [IA64] Use .ref.text, not .text.init for start_ap. It seems that start_ap doesn't need to be in a special location in the kernel, but it references some init code so it should be in .ref.text. Since this is the only thing in the .text.head section, eliminate .text.head from the linker script. Signed-off-by: Tim Abbott Signed-off-by: Tony Luck commit 6ca6cca31ddc7cc8b1dc38b12d7593d2667defe8 Author: Steven Rostedt Date: Tue Sep 15 12:24:22 2009 -0400 tracing: optimize global_trace_clock cachelines The prev_trace_clock_time is only read or written to when the trace_clock_lock is taken. For better perfomance, they should share the same cache line. Reported-by: Peter Zijlstra Signed-off-by: Steven Rostedt commit 043fe50f8085c12651c96f04576eae4d8a22f3d8 Merge: 2274239 ea47689 Author: Linus Torvalds Date: Tue Sep 15 09:22:18 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: (213 commits) V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2 V4L/DVB (12713): em28xx: Cleanups at ir_i2c handler V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when needed V4L/DVB (12701): saa7134: ir-kbd-i2c init data needs a persistent object V4L/DVB (12699): cx18: ir-kbd-i2c initialization data should point to a persistent object V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent object V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111 V4L/DVB (12706): gspca - sn9c20x: disable exposure/gain controls for MT9M111 sensors. V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968 V4L/DVB (12703): gspca - sn9c20x: Reduces size of object V4L/DVB (12704): gspca - sn9c20x: Fix exposure on SOI968 sensors V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and 0c45:613e. V4L/DVB (12695): gspca - vc032x: Do the LED work with the sensor hv7131r. V4L/DVB (12694): gspca - vc032x: Change the start exchanges of the sensor hv7131r. V4L/DVB (12693): gspca - sunplus: The brightness is signed. V4L/DVB (12692): gspca - sunplus: Optimize code. V4L/DVB (12691): gspca - sonixj: Don't use mdelay(). V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added. V4L/DVB (12686): dvb-core: check supported QAM modulations V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return value ... commit 227423904c709a8e60245c97081bbeb4fb500655 Merge: 1aaf2e5 fa526d0 Author: Linus Torvalds Date: Tue Sep 15 09:19:38 2009 -0700 Merge branch 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-pat-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, pat: Fix cacheflush address in change_page_attr_set_clr() mm: remove !NUMA condition from PAGEFLAGS_EXTENDED condition set x86: Fix earlyprintk=dbgp for machines without NX x86, pat: Sanity check remap_pfn_range for RAM region x86, pat: Lookup the protection from memtype list on vm_insert_pfn() x86, pat: Add lookup_memtype to get the current memtype of a paddr x86, pat: Use page flags to track memtypes of RAM pages x86, pat: Generalize the use of page flag PG_uncached x86, pat: Add rbtree to do quick lookup in memtype tracking x86, pat: Add PAT reserve free to io_mapping* APIs x86, pat: New i/f for driver to request memtype for IO regions x86, pat: ioremap to follow same PAT restrictions as other PAT users x86, pat: Keep identity maps consistent with mmaps even when pat_disabled x86, mtrr: make mtrr_aps_delayed_init static bool x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init generic-ipi: Allow cpus not yet online to call smp_call_function with irqs disabled x86: Fix an incorrect argument of reserve_bootmem() x86: Fix system crash when loading with "reservetop" parameter commit 1aaf2e59135fd67321f47c11c64a54aac27014e9 Merge: 66a4fe0 936e894 Author: Linus Torvalds Date: Tue Sep 15 09:19:20 2009 -0700 Merge branch 'x86-txt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-txt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, intel_txt: clean up the impact on generic code, unbreak non-x86 x86, intel_txt: Handle ACPI_SLEEP without X86_TRAMPOLINE x86, intel_txt: Fix typos in Kconfig help x86, intel_txt: Factor out the code for S3 setup x86, intel_txt: tboot.c needs intel_txt: Force IOMMU on for Intel TXT launch x86, intel_txt: Intel TXT Sx shutdown support x86, intel_txt: Intel TXT reboot/halt shutdown support x86, intel_txt: Intel TXT boot support commit 66a4fe0cb80a9fde8cb173289afb863fd279466a Merge: 1824090 1212648 Author: Linus Torvalds Date: Tue Sep 15 09:18:07 2009 -0700 Merge branch 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 * 'agp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6: agp/intel: remove restore in resume agp: fix uninorth build intel-agp: Set dma mask for i915 agp: kill phys_to_gart() and gart_to_phys() intel-agp: fix sglist allocation to avoid vmalloc() intel-agp: Move repeated sglist free into separate function agp: Switch agp_{un,}map_page() to take struct page * argument agp: tidy up handling of scratch pages w.r.t. DMA API intel_agp: Use PCI DMA API correctly on chipsets new enough to have IOMMU agp: Add generic support for graphics dma remapping agp: Switch mask_memory() method to take address argument again, not page commit f509e34a57086874a736db66d37ac0456fe455fe Author: Randy Dunlap Date: Fri Sep 4 17:02:59 2009 -0700 [IA64] sgi-xp: fix printk format warnings Fix warnings in SGI XPC sn2 driver: lots of printk format warnings and: drivers/misc/sgi-xp/xpc_sn2.c: In function 'xpc_get_partition_rsvd_page_pa_sn2': drivers/misc/sgi-xp/xpc_sn2.c:618: warning: passing argument 3 of 'sn_partition_reserved_page_pa' from incompatible pointer type drivers/misc/sgi-xp/xpc_sn2.c:618: warning: passing argument 4 of 'sn_partition_reserved_page_pa' from incompatible pointer type (likely due to generic u64 / long long changes) Signed-off-by: Randy Dunlap Acked-by: Robin Holt Signed-off-by: Tony Luck commit 0e12ddf13256fdcf6bb4dcd4c6af7ae6f7e3ab71 Author: Randy Dunlap Date: Fri Sep 4 17:04:28 2009 -0700 [IA64] ioc4_serial: fix printk format warnings drivers/serial/ioc4_serial.c:943: warning: format '%lx' expects type 'long unsigned int', but argument 2 has type 'long long unsigned int' Signed-off-by: Randy Dunlap Cc: Pat Gefre Signed-off-by: Tony Luck commit a81a8f580b6b525112aba19319dcc5dd3db4dfee Author: Randy Dunlap Date: Fri Sep 4 16:58:05 2009 -0700 [IA64] mbcs: fix printk format warnings drivers/char/mbcs.c:719: warning: format '%lx' expects type 'long unsigned int', but argument 3 has type 'uint64_t' drivers/char/mbcs.c:719: warning: format '%lx' expects type 'long unsigned int', but argument 4 has type 'uint64_t' Signed-off-by: Randy Dunlap Cc: Bruce Losure Signed-off-by: Tony Luck commit 9b6b93998a0d9c44d6701be5b472f3302c3a8596 Author: Jiri Slaby Date: Tue Aug 25 20:54:10 2009 +0200 [IA64] pci_br, fix infinite loop in find_free_ate() When * there is almost out of ates * one asks for more than one ate * there are some available at the end of ate array then the inner for loop will end without incrementing 'index'. This means the outer loop will start at the same point finding it's available and runs the inner loop again from the same index. This repeats forever. Hence make sure we check we were at the end of ate array and return an error in such case. Signed-off-by: Jiri Slaby Cc: Fenghua Yu Found-by: Jeff Mahoney Signed-off-by: Tony Luck commit 5cfaf338134605ce8d9272b9c16605bc920d25be Author: Jean Delvare Date: Tue Sep 15 17:18:14 2009 +0200 hwmon: (lm85) Don't bind to Winbond/Nuvoton WPCD377I The Winbond/Nuvoton WPCD377I is the reduced version of a Super-I/O which emulates the National Semiconductor LM96000 hardware monitoring chips, but without the hardware monitoring part. Instead of plain disabling the emulation, the vendor left the emulated chip visible, but all monitored values are always zero. This is rather confusing for the users. So detect this case and refuse to bind to such fake chips. This fixes lm-sensors ticket #2182: http://www.lm-sensors.org/ticket/2182 Signed-off-by: Jean Delvare commit afc31875fa5774dbc117f8c62034d77390156edc Author: Jean Delvare Date: Tue Sep 15 17:18:14 2009 +0200 hwmon: (pcf8591) Documentation clean-ups Clean up the pcf8591 driver documentation: * The PCF8591 chip is now an NXP product. * Fix a sysfs path. * Fix the name of sysfs attributes. * And a few other random fixes. Signed-off-by: Jean Delvare Cc: Aurelien Jarno commit 61cba5c244bd52e91c01e9f79abba30e54f68dd8 Author: Jean Delvare Date: Tue Sep 15 17:18:13 2009 +0200 hwmon: Clearly mark ACPI drivers as such Now that we have ACPI-based hardware monitoring drivers, and we will start telling users to use them instead of native drivers when I/O resources conflict, I think it would be good to clearly mark ACPI drivers as such in Kconfig. Also, in the case of monolithic kernels, I think the ACPI drivers should take precedence over native drivers, so they should be listed first in Makefile. Signed-off-by: Jean Delvare Cc: Luca Tettamanti commit 86855b0c1fd75338c67cabbf85d64d033612c47b Author: Julia Lawall Date: Tue Sep 15 17:18:13 2009 +0200 hwmon: 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/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Signed-off-by: Jean Delvare commit 6055fae8aceee41471edfd1876e5617d16e028fe Author: H Hartley Sweeten Date: Tue Sep 15 17:18:13 2009 +0200 hwmon: Include instead of Drivers should be including instead of . Signed-off-by: H Hartley Sweeten Cc: Alistair John Strachan Cc: Nicolas Boichat Cc: Juerg Haefliger Cc: Frank Seidel Acked-by: Jim Cromie Cc: "Mark M. Hoffman" Cc: Roger Lucas Signed-off-by: Jean Delvare commit 1915fb70fa23230894cd35d98fcac5a168ec5c23 Author: Andre Prendel Date: Tue Sep 15 17:18:12 2009 +0200 hwmon: (tmp421) Add documentation Add documentation for the tmp421 driver. Signed-off-by: Andre Prendel Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 9410700b881f867a50dd8dc3204372fd9dccd8f8 Author: Andre Prendel Date: Tue Sep 15 17:18:11 2009 +0200 hwmon: Add driver for Texas Instruments TMP421/422/423 sensor chips Add support for Texas Instruments TMP421/422/423 temperature sensor IC. TI's TMP421/422/423 are I2C temperature sensor chips. These chips are similar to TI's TMP401/411 chips, but with reduced functionality (only temperature measurement). The chips have one local sensor and up to three (TMP423) remote sensors. Signed-off-by: Andre Prendel Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 5bed13f5809927be10facccb63add834b712df51 Author: Jean Delvare Date: Tue Sep 15 17:18:11 2009 +0200 hwmon-vid: Ignore 6th VID pin of AMD family 0Fh processors We had a report about a mainboard for AMD family 0Fh processors not routing the 6th VID pin from the CPU to the hardware monitoring chip. While the vendor should have wired the pin (or, failing that, should have hardwired it to level high rather than low), the fact is that none of these processors are currently known to operate at the lower voltage levels which require the 6th VID pin. So, as a practical workaround, I propose to ignore the 6th VID pin for these CPUs. If this decision ever causes problems, we'll reconsider. Signed-off-by: Jean Delvare Cc: Frank Myhr Tested-by: Hleb Valoshka <375gnu@gmail.com> Cc: Rudolf Marek Cc: Andreas Herrmann commit 2c2a6172afab7421f6af7e228cd3121f423ea932 Author: Luca Tettamanti Date: Tue Sep 15 17:18:10 2009 +0200 hwmon: (asus_atk0110) Add maintainer information Add myself as asus_atk0110 maintainer. Signed-off-by: Luca Tettamanti Signed-off-by: Jean Delvare commit bbe5939ab1834f79f177739cb84904bc12d08073 Author: Alistair John Strachan Date: Tue Sep 15 17:18:10 2009 +0200 hwmon: (abituguru3) Support multiple DMI strings per chip ID Most known Abit motherboards have unique uguru chip IDs. However, some "refresh" boards keep the same chip ID but have a different DMI string. As our DMI board string matching is (necessarily) strict, some boards were failing DMI detection, and as the old probe method was also failing, the driver would not load. The only known boards affected by this problem are the IP35 Pro XE (vs IP35 Pro) and the AB9 Pro (vs AB9). Is it not sufficient to relax the match criteria, as some boards (e.g. the AB9 Quad GT) have different uguru chip IDs. This patch replaces the dmi_name string with a NULL terminated array of strings to be matched per uguru chip ID. It has been compile and runtime tested (thanks Rune). References: https://bugs.launchpad.net/bugs/298798 Signed-off-by: Alistair John Strachan Tested-by: Rune Svendsen Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit a7558e01056f5191ff2ecff53b075dcb9e484188 Author: Peter Zijlstra Date: Mon Sep 14 20:02:34 2009 +0200 sched: Add WF_FORK Avoid the cache buddies from biasing the time distribution away from fork()ers. Normally the next buddy will be the preferred scheduling target, but this makes fork()s prefer to run the new child, whereas we prefer to run the parent, since that will generate more work. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 7d47872146398dbede13223299fe1cb368ebc781 Author: Peter Zijlstra Date: Mon Sep 14 19:55:44 2009 +0200 sched: Rename sync arguments In order to extend the functions to have more than 1 flag (sync), rename the argument to flags, and explicitly define a WF_ space for individual flags. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0763a660a84220cc3900fd32abdd7ad109e2278d Author: Peter Zijlstra Date: Mon Sep 14 19:37:39 2009 +0200 sched: Rename select_task_rq() argument In order to be able to rename the sync argument, we need to rename the current flag argument. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 8e6598af3f35629c37249a610cf13e73f70db279 Author: Peter Zijlstra Date: Thu Sep 3 13:20:03 2009 +0200 sched: Feature to disable APERF/MPERF cpu_power I suspect a feed-back loop between cpuidle and the aperf/mperf cpu_power bits, where when we have idle C-states lower the ratio, which leads to lower cpu_power and then less load, which generates more idle time, etc.. Put in a knob to disable it. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 47fe38fcff0517e67d395c039d2e26d2de688a60 Author: Peter Zijlstra Date: Wed Sep 2 13:49:18 2009 +0200 x86: sched: Provide arch implementations using aperf/mperf APERF/MPERF support for cpu_power. APERF/MPERF is arch defined to be a relative scale of work capacity per logical cpu, this is assumed to include SMT and Turbo mode. APERF/MPERF are specified to both reset to 0 when either counter wraps, which is highly inconvenient, since that'll give a blimp when that happens. The manual specifies writing 0 to the counters after each read, but that's 1) too expensive, and 2) destroys the possibility of sharing these counters with other users, so we live with the blimp - the other existing user does too. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5cbc19a983141729d716be17197028434127b376 Author: Peter Zijlstra Date: Wed Sep 2 11:49:52 2009 +0200 x86: Add generic aperf/mperf code Move some of the aperf/mperf code out from the cpufreq driver thingy so that other people can enjoy it too. Cc: H. Peter Anvin Cc: Venkatesh Pallipadi Cc: Yanmin Cc: Dave Jones Cc: Len Brown Cc: Yinghai Lu Cc: cpufreq@vger.kernel.org Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit a8303aaf2b2f74714db6d204ab4fcb810942664e Author: Peter Zijlstra Date: Wed Sep 2 10:56:56 2009 +0200 x86: Move APERF/MPERF into a X86_FEATURE Move the APERFMPERF capacility into a X86_FEATURE flag so that it can be used outside of the acpi cpufreq driver. Cc: H. Peter Anvin Cc: Venkatesh Pallipadi Cc: Yanmin Cc: Dave Jones Cc: Len Brown Cc: Yinghai Lu Cc: cpufreq@vger.kernel.org Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit d6a59aa3a2b1ca8411884c833a313b33b5f76e20 Author: Peter Zijlstra Date: Wed Sep 2 13:28:02 2009 +0200 sched: Provide arch_scale_freq_power Provide an ach specific hook for cpufreq based scaling of cpu_power. Signed-off-by: Peter Zijlstra [ego@in.ibm.com: spotting bugs] LKML-Reference: Signed-off-by: Ingo Molnar commit b8a543ea5a5896830a9969bacfd047f9d15940b2 Author: Peter Zijlstra Date: Tue Sep 15 15:22:03 2009 +0200 sched: Reduce forkexec_idx If we're looking to place a new task, we might as well find the idlest position _now_, not 1 tick ago. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 0ec9fab3d186d9cbb00c0f694d4a260d07c198d9 Author: Mike Galbraith Date: Tue Sep 15 15:07:03 2009 +0200 sched: Improve latencies and throughput Make the idle balancer more agressive, to improve a x264 encoding workload provided by Jason Garrett-Glaser: NEXT_BUDDY NO_LB_BIAS encoded 600 frames, 252.82 fps, 22096.60 kb/s encoded 600 frames, 250.69 fps, 22096.60 kb/s encoded 600 frames, 245.76 fps, 22096.60 kb/s NO_NEXT_BUDDY LB_BIAS encoded 600 frames, 344.44 fps, 22096.60 kb/s encoded 600 frames, 346.66 fps, 22096.60 kb/s encoded 600 frames, 352.59 fps, 22096.60 kb/s NO_NEXT_BUDDY NO_LB_BIAS encoded 600 frames, 425.75 fps, 22096.60 kb/s encoded 600 frames, 425.45 fps, 22096.60 kb/s encoded 600 frames, 422.49 fps, 22096.60 kb/s Peter pointed out that this is better done via newidle_idx, not via LB_BIAS, newidle balancing should look for where there is load _now_, not where there was load 2 ticks ago. Worst-case latencies are improved as well as no buddies means less vruntime spread. (as per prior lkml discussions) This change improves kbuild-peak parallelism as well. Reported-by: Jason Garrett-Glaser Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: <1253011667.9128.16.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit c4835d81efb1795eb8bbeb40b73d74e5c04b1257 Author: Dmitry Eremin-Solenikov Date: Thu Sep 10 18:02:30 2009 +0400 ieee802154: add locking for seq numbers Signed-off-by: Dmitry Eremin-Solenikov commit 066fc51275cef94d1624fd58bb3065d050a6f17e Author: Dmitry Eremin-Solenikov Date: Tue Sep 15 17:54:43 2009 +0400 af_ieee802154: setsockopt optlen arg isn't __user Remove __user annotation from optlen arg as it's bogus. Signed-off-by: Dmitry Eremin-Solenikov commit be9e62a7307583594d88f6ccf57a4e30308e7b21 Author: Artem Bityutskiy Date: Sun Dec 28 10:17:23 2008 +0200 UBIFS: improve lprops dump Improve 'dbg_dump_lprop()' and print dark and dead space there, decode flags, and journal heads. Signed-off-by: Artem Bityutskiy commit 055da1b704e95fea39597bd84d64cea7d4f7d2aa Author: Artem Bityutskiy Date: Tue Sep 15 17:09:24 2009 +0300 UBIFS: various minor commentary fixes Signed-off-by: Artem Bityutskiy commit 77a7ae580c6cc8a0f0d5d7a7d61eb7e9fe8d99dc Author: Artem Bityutskiy Date: Tue Sep 15 15:03:51 2009 +0300 UBIFS: improve journal head debugging prints Convert the journal head integer into the head name when printing debugging information. Signed-off-by: Artem Bityutskiy commit 6bd7821f905a8d6c471f0d6675f5cb7ea448d791 Author: Peter Zijlstra Date: Fri Sep 11 18:42:15 2009 +0200 sched: Fix some domain tunings CPU level should have WAKE_AFFINE, whereas ALLNODES is dubious. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 78e7ed53c9f42f04f9401ada6f7047db60781676 Author: Peter Zijlstra Date: Thu Sep 3 13:16:51 2009 +0200 sched: Tweak wake_idx When merging select_task_rq_fair() and sched_balance_self() we lost the use of wake_idx, restore that and set them to 0 to make wake balancing more aggressive. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit d7c33c4930f569caf6b2ece597432853c4151a45 Author: Peter Zijlstra Date: Fri Sep 11 12:45:38 2009 +0200 sched: Fix task affinity for select_task_rq_fair While merging select_task_rq_fair() and sched_balance_self() I made a mistake that leads to testing the wrong task affinty. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 83f54960c11a14942ab00b54c51e91906b9d8235 Author: Peter Zijlstra Date: Thu Sep 10 18:18:47 2009 +0200 sched: for_each_domain() vs RCU for_each_domain() uses RCU to serialize the sched_domains, except it doesn't actually use rcu_read_lock() and instead relies on disabling preemption -> FAIL. XXX: audit other sched_domain code. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit ae154be1f34a674e6cbb43ccf6e442f56acd7a70 Author: Peter Zijlstra Date: Thu Sep 10 14:40:57 2009 +0200 sched: Weaken SD_POWERSAVINGS_BALANCE One of the problems of power-saving balancing is that under certain scenarios it is too slow and allows tons of real work to pile up. Avoid this by ignoring the powersave stuff when there's real work to be done. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit c88d5910890ad35af283344417891344604f0438 Author: Peter Zijlstra Date: Thu Sep 10 13:50:02 2009 +0200 sched: Merge select_task_rq_fair() and sched_balance_self() The problem with wake_idle() is that is doesn't respect things like cpu_power, which means it doesn't deal well with SMT nor the recent RT interaction. To cure this, it needs to do what sched_balance_self() does, which leads to the possibility of merging select_task_rq_fair() and sched_balance_self(). Modify sched_balance_self() to: - update_shares() when walking up the domain tree, (it only called it for the top domain, but it should have done this anyway), which allows us to remove this ugly bit from try_to_wake_up(). - do wake_affine() on the smallest domain that contains both this (the waking) and the prev (the wakee) cpu for WAKE invocations. Then use the top-down balance steps it had to replace wake_idle(). This leads to the dissapearance of SD_WAKE_BALANCE and SD_WAKE_IDLE_FAR, with SD_WAKE_IDLE replaced with SD_BALANCE_WAKE. SD_WAKE_AFFINE needs SD_BALANCE_WAKE to be effective. Touch all topology bits to replace the old with new SD flags -- platforms might need re-tuning, enabling SD_BALANCE_WAKE conditionally on a NUMA distance seems like a good additional feature, magny-core and small nehalem systems would want this enabled, systems with slow interconnects would not. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e9c8431185d6c406887190519f6dbdd112641686 Author: Peter Zijlstra Date: Tue Sep 15 14:43:03 2009 +0200 sched: Add TASK_WAKING We're going to want to drop rq->lock in try_to_wake_up() for a longer period of time, however we also want to deal with concurrent waking of the same task, which is currently handled by holding rq->lock. So introduce a new TASK state, namely TASK_WAKING, which indicates someone is already waking the task (other wakers will fail p->state & state). We also keep preemption disabled over the whole ttwu(). Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5f3edc1b1ead6d9bd45a85c551f44eff8fe76b9f Author: Peter Zijlstra Date: Thu Sep 10 13:42:00 2009 +0200 sched: Hook sched_balance_self() into sched_class::select_task_rq() Rather ugly patch to fully place the sched_balance_self() code inside the fair class. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit aaee1203ca52b9db799433c33c9bffc33cdf8909 Author: Peter Zijlstra Date: Thu Sep 10 13:36:25 2009 +0200 sched: Move sched_balance_self() into sched_fair.c Move the sched_balance_self() code into sched_fair.c This facilitates the merger of sched_balance_self() and sched_fair::select_task_rq(). Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit f5f08f39ee4c5fd0a757d25d9e04d696676b3df7 Author: Peter Zijlstra Date: Thu Sep 10 13:35:28 2009 +0200 sched: Move code around In preparation to other code movement, move weighted_cpuload(), source_load() and target_load() before the class includes. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e26af0e8b2c9916f1e8a12ddaf52057bbe8ff600 Author: Peter Zijlstra Date: Fri Sep 11 12:31:23 2009 +0200 sched: Add come comments to the sched features Add text... Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 3cb63d527f76e25dbccce4f577f21aecfa2abac7 Author: Mike Galbraith Date: Fri Sep 11 12:01:17 2009 +0200 sched: Complete buddy switches Add a NEXT_BUDDY feature flag to aid in debugging. Signed-off-by: Mike Galbraith Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit e6b1b2c9c0461c4e0971ed905ce3cda6512ee82a Author: Peter Zijlstra Date: Fri Sep 11 11:59:22 2009 +0200 sched: Split WAKEUP_OVERLAP It consists of two conditions, split them out in separate toggles so we can test them independently. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit b78bb868c54bebbf8d8786a3f8320700d6d2b864 Author: Peter Zijlstra Date: Tue Sep 15 14:23:18 2009 +0200 sched: Fix double_rq_lock() compile warning Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit fa68e0025d4184ba917621a9c977d4243d0a013e Author: Jassi Date: Tue Sep 15 19:02:37 2009 +0900 ASoC: S3C lrsync function made to work with IRQs disabled. s3c2412_snd_lrsync() maybe reached with IRQs disabled and if LRCLK is dead due to improper initialization of CPU or CODEC, the system gets stuck in the loop because jiffies may never get updated. Implemented counter based wait mechanism for atleast the same timeout period. Signed-off-by: Jassi Signed-off-by: Mark Brown commit a6f15ade97989d414e9bf33874c9d5d1f39808ec Author: Phil Edworthy Date: Tue Sep 15 12:00:30 2009 +0000 video: sh_mobile_lcdcfb: use both register sets for display panning Switch to using both register sets - side A and side B for display panning. Signed-off-by: Phil Edworthy Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 9dd38819c2257375ea05bcb92b1f607a1d523c84 Author: Phil Edworthy Date: Tue Sep 15 12:00:18 2009 +0000 video: sh_mobile_lcdcfb: implement display panning Signed-off-by: Phil Edworthy Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit d6d140097beb554daa967d3fb576e94ad2f82dcd Author: Artem Bityutskiy Date: Tue Sep 15 14:44:06 2009 +0300 UBIFS: define journal head numbers in ubifs-media.h The journal head names and numbers are part of the UBIFS format, so they should be in the ubifs-media.h. Signed-off-by: Artem Bityutskiy commit 69b5655a85b7bbfdb724a3fb25ae01fd4bc7f53b Author: Takashi Iwai Date: Tue Sep 15 12:37:42 2009 +0200 ALSA: hda - Fix Dell S14 pin setup The pin setup for Dell S14 quirk is rather wrong for the latest driver. Fixed pin 0x0a, 0x0b, 0x0d and 0x0f. Signed-off-by: Takashi Iwai commit 44da531e95647b2c90f2b89dec9000d36705934e Author: Takashi Iwai Date: Tue Sep 15 12:35:56 2009 +0200 ALSA: hda - Fix IDT92HD83* codec setup Remove unnecessary (and buggy) init sequences left for IDT92HD83* codecs in the previous fixes. The DACs are now dynamically connected, thus shouldn't be set statically in init verbs. Also, the mono_nid is detected dynamically, thus shouldn't be set staticaly, too. Signed-off-by: Takashi Iwai commit d1ff65226c5afe55f9af38a439058f41b71e114f Author: Jiri Kosina Date: Tue Sep 15 11:59:49 2009 +0200 HID: fix non-atomic allocation in hid_input_report 'interrupt' variable can't be used to safely determine whether we are running in atomic context or not, as we might be called from during control transfer completion through hid_ctrl() in atomic context with interrupt == 0. Reported-by: Jens Axboe Signed-off-by: Jiri Kosina commit 983f2163e7fdf11a15e05816de243f93f07eafca Author: Ingo Molnar Date: Tue Sep 15 12:29:20 2009 +0200 MAINTAINERS: Update tracing tree details Acked-by: Steven Rostedt Acked-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 926e61b7c44db83013159ac2f74bccd451607b5a Author: Jarek Poplawski Date: Tue Sep 15 02:53:07 2009 -0700 pkt_sched: Fix tx queue selection in tc_modify_qdisc After the recent mq change there is the new select_queue qdisc class method used in tc_modify_qdisc, but it works OK only for direct child qdiscs of mq qdisc. Grandchildren always get the first tx queue, which would give wrong qdisc_root etc. results (e.g. for sch_htb as child of sch_prio). This patch fixes it by using parent's dev_queue for such grandchildren qdiscs. The select_queue method's return type is changed BTW. With feedback from: Patrick McHardy Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit ca519274d537706b6fb1e3e91238d34a23320584 Author: Stephen Hemminger Date: Mon Sep 14 06:22:29 2009 +0000 sky2: Make sure both ports initialize correctly Sorry Mike, I sent you off the wrong way. The following is simpler and the second port is diffrent enough in setup (because of NAPI), that the following is simpler. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 07e316377458484d95f7624f7af7af99d9bd18cb Author: Stephen Hemminger Date: Mon Sep 14 06:12:55 2009 +0000 sky2: transmit ring accounting Be more accurate about number of transmit list elements required. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 99455153d0670ba110e6a3b855b8369bcbd11120 Author: David Howells Date: Mon Sep 14 01:17:46 2009 +0000 RxRPC: Parse security index 5 keys (Kerberos 5) Parse RxRPC security index 5 type keys (Kerberos 5 tokens). Signed-off-by: David Howells Signed-off-by: David S. Miller commit ed6dd18b5aceb322da9840f01a68d648e91c8a72 Author: David Howells Date: Mon Sep 14 01:17:40 2009 +0000 RxRPC: Allow RxRPC keys to be read Allow RxRPC keys to be read. This is to allow pioctl() to be implemented in userspace. RxRPC keys are read out in XDR format. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 339412841d7620f93fea805fbd7469f08186f458 Author: David Howells Date: Mon Sep 14 01:17:35 2009 +0000 RxRPC: Allow key payloads to be passed in XDR form Allow add_key() and KEYCTL_INSTANTIATE to accept key payloads in XDR form as described by openafs-1.4.10/src/auth/afs_token.xg. This provides a way of passing kaserver, Kerberos 4, Kerberos 5 and GSSAPI keys from userspace, and allows for future expansion. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 8b815477f382f96deefbe5bd4404fa7b31cf5dcf Author: David Howells Date: Mon Sep 14 01:17:30 2009 +0000 RxRPC: Declare the security index constants symbolically Declare the security index constants symbolically rather than just referring to them numerically. Signed-off-by: David Howells Signed-off-by: David S. Miller commit 531afd64d027e3d798c416b2b37b3cfb1de417d9 Author: Ken Kawasaki Date: Tue Sep 15 02:42:25 2009 -0700 pcnet_cs: add cis of Linksys multifunction pcmcia card pcnet_cs,serial_cs: add cis of Linksys lan&modem mulitifunction pcmcia card and some modem card(MT5634ZLX, RS-COM-2P). Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit 29a020d35f629619c67fa5e32acaaac3f8a1ba90 Author: Eric Dumazet Date: Tue Sep 15 02:39:20 2009 -0700 [PATCH] net: kmemcheck annotation in struct socket struct socket has a 16 bit hole that triggers kmemcheck warnings. As suggested by Ingo, use kmemcheck annotations Signed-off-by: Eric Dumazet Acked-by: Ingo Molnar Signed-off-by: David S. Miller commit 75c78500ddad74b229cd0691496b8549490496a2 Author: Moni Shoua Date: Tue Sep 15 02:37:40 2009 -0700 bonding: remap muticast addresses without using dev_close() and dev_open() This patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach there is to call dev_close()/dev_open() whenever the device type is changed in order to remap the device IP multicast addresses to HW multicast addresses. This approach suffers from 2 drawbacks: *. It assumes tha the device is UP when calling dev_close(), or otherwise dev_close() has no affect. It is worth to mention that initscripts (Redhat) and sysconfig (Suse) doesn't act the same in this matter. *. dev_close() has other side affects, like deleting entries from the routing table, which might be unnecessary. The fix here is to directly remap the IP multicast addresses to HW multicast addresses for a bonding device that changes its type, and nothing else. Reported-by: Jason Gunthorpe Signed-off-by: Moni Shoua Signed-off-by: David S. Miller commit a2d10568fd3965fffeb29a3a6f29966dd3801727 Author: Wu Zhangjin Date: Tue Sep 15 01:36:25 2009 -0700 ide: fixup for fujitsu disk This patch will fix the following problem on Yeeloong netbook with fujitsu disk. irq 14: nobody cared (try booting with the "irqpoll" option) Call Trace: [] dump_stack+0x8/0x40 [] __report_bad_irq+0x58/0xe4 [] note_interrupt+0x17c/0x23c [] handle_level_irq+0xcc/0x134 [] mach_irq_dispatch+0xb8/0x1e0 [] ret_from_irq+0x0/0x4 [] free_hot_cold_page+0x224/0x2a0 [] swsusp_free+0xb0/0x14c [] hibernate+0x198/0x218 [] state_store+0x90/0x138 [] sysfs_write_file+0x130/0x194 [] vfs_write+0xb8/0x180 [] SyS_write+0x50/0x98 [] handle_sys+0x158/0x174 handlers: [] (ide_intr+0x0/0x300) Disabling IRQ #14 References: 1. commit 1fde02e7146d4a1bab80fd1506f9018fe71e8521 of git://dev.lemote.com/linux_loongson.git 2. 8bc1e5aa06a2a9a425c4a6795fc564cba1521487 (ide: respect quirk_drives[] list on all controllers) Signed-off-by: Yan Hua Signed-off-by: Wu Zhangjin Signed-off-by: David S. Miller commit 481a8199142c050b72bff8a1956a49fd0a75bbe0 Author: Oliver Hartkopp Date: Tue Sep 15 01:31:34 2009 -0700 can: fix NOHZ local_softirq_pending 08 warning When using nanosleep() in an userspace application we get a ratelimit warning NOHZ: local_softirq_pending 08 for 10 times. The echo of CAN frames is done from process context and softirq context only. Therefore the usage of netif_rx() was wrong (for years). This patch replaces netif_rx() with netif_rx_ni() which has to be used from process/softirq context. It also adds a missing comment that can_send() must no be used from hardirq context. Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann Signed-off-by: David S. Miller commit 0b6a05c1dbebe8c616e2e5b0f52b7a01fd792911 Author: Ilpo Järvinen Date: Tue Sep 15 01:30:10 2009 -0700 tcp: fix ssthresh u16 leftover It was once upon time so that snd_sthresh was a 16-bit quantity. ...That has not been true for long period of time. I run across some ancient compares which still seem to trust such legacy. Put all that magic into a single place, I hopefully found all of them. Compile tested, though linking of allyesconfig is ridiculous nowadays it seems. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 12e09337fe238981cb0c87543306e23775d1a143 Author: Thomas Gleixner Date: Mon Sep 14 23:37:40 2009 +0200 time: Prevent 32 bit overflow with set_normalized_timespec() set_normalized_timespec() nsec argument is of type long. The recent timekeeping changes of ktime_get_ts() feed ts->tv_nsec + tomono.tv_nsec + nsecs to set_normalized_timespec(). On 32 bit machines that sum can be larger than (1 << 31) and therefor result in a negative value which screws up the result completely. Make the nsec argument of set_normalized_timespec() s64 to fix the problem at hand. This also prevents similar problems for future users of set_normalized_timespec(). Signed-off-by: Thomas Gleixner Tested-by: Carsten Emde LKML-Reference: Cc: Martin Schwidefsky Cc: John Stultz commit b3e62e35058fc744ac794611f4e79bcd1c5a4b83 Author: Xiao Guangrong Date: Tue Sep 15 14:44:36 2009 +0800 perf_counter: Fix buffer overflow in perf_copy_attr() If we pass a big size data over perf_counter_open() syscall, the kernel will copy this data to a small buffer, it will cause kernel crash. This bug makes the kernel unsafe and non-root local user can trigger it. Signed-off-by: Xiao Guangrong Acked-by: Peter Zijlstra Acked-by: Paul Mackerras Cc: LKML-Reference: <4AAF37D4.5010706@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 18240904960a39e582ced8ba8ececb10b8c22dd3 Merge: f86054c 8a47890 Author: Linus Torvalds Date: Mon Sep 14 20:07:31 2009 -0700 Merge branch 'for-linus3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus3' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX KEYS: Fix garbage collector KEYS: Unlock tasklist when exiting early from keyctl_session_to_parent CRED: Allow put_cred() to cope with a NULL groups list SELinux: flush the avc before disabling SELinux SELinux: seperate avc_cache flushing Creds: creds->security can be NULL is selinux is disabled commit f86054c24565d09d1997f03192761dabf6b8a9c9 Merge: c91d7d5 33f82d1 Author: Linus Torvalds Date: Mon Sep 14 20:03:54 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: (23 commits) at_hdmac: Rework suspend_late()/resume_early() PM: Reset transition_started at dpm_resume_noirq PM: Update kerneldoc comments in drivers/base/power/main.c PM: Add convenience macro to make switching to dev_pm_ops less error-prone hp-wmi: Switch driver to dev_pm_ops floppy: Switch driver to dev_pm_ops PM: Trivial fixes PM / Hibernate / Memory hotplug: Always use for_each_populated_zone() PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2) PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2) PM/Hibernate: Rework shrinking of memory PM: Fix typo in label name s/Platofrm_finish/Platform_finish/ PM: Run-time PM platform device bus support PM: Introduce core framework for run-time PM of I/O devices (rev. 17) Driver Core: Make PM operations a const pointer PM: Remove platform device suspend_late()/resume_early() V2 USB: Rework musb suspend()/resume_early() I2C: Rework i2c-s3c2410 suspend_late()/resume() V2 I2C: Rework i2c-pxa suspend_late()/resume_early() DMA: Rework txx9dmac suspend_late()/resume_early() ... Fix trivial conflict in drivers/base/platform.c (due to same constification patch being merged in both sides, along with some other PM work in the PM branch) commit 3661d28615ea580c1db02a972fd4d3898df1cb01 Author: Theodore Ts'o Date: Mon Sep 14 22:59:50 2009 -0400 ext4: Fix include/trace/events/ext4.h to work with Systemtap Using relative pathnames in #include statements interacts badly with SystemTap, since the fs/ext4/*.h header files are not packaged up as part of a distribution kernel's header files. Since systemtap doesn't use TP_fast_assign(), we can use a blind structure definition and then make sure the needed header files are defined before the ext4 source files #include the trace/events/ext4.h header file. https://bugzilla.redhat.com/show_bug.cgi?id=512478 Signed-off-by: "Theodore Ts'o" commit c91d7d54ea9e75ec18c733969ba16dd7ab94fc99 Merge: 133309a 4858621 Author: Linus Torvalds Date: Mon Sep 14 19:59:37 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-kconfig: kconfig: add missing dependency of conf to localyesconfig kconfig: test if a .config already exists kconfig: make local .config default for streamline_config kconfig: test for /boot/config-uname after /proc/config.gz in localconfig kconfig: unset IKCONFIG_PROC and clean up nesting kconfig: search for a config to base the local(mod|yes)config on kconfig: keep config.gz around even if CONFIG_IKCONFIG_PROC is not set kconfig: have extract-ikconfig read ELF files kconfig: add check if end exists in extract-ikconfig kconfig: enable CONFIG_IKCONFIG from streamline_config.pl kconfig: do not warn about modules built in kconfig: streamline_config.pl do not stop with no depends kconfig: add make localyesconfig option kconfig: make localmodconfig to run streamline_config.pl kconfig: add streamline_config.pl to scripts commit 555f386c98cc93890f48fdea098936755270304b Author: Mike Frysinger Date: Mon Sep 14 20:10:15 2009 -0400 ftrace: document function and function graph implementation While implementing function tracer and function tracer graph support, I found the exact arch implementation details to be a bit lacking (and my x86 foo ain't great). So after pounding out support for the Blackfin arch, start documenting the requirements/details. Signed-off-by: Mike Frysinger LKML-Reference: <1252973415-21264-1-git-send-email-vapier@gentoo.org> Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit ea47689e74a1637fac4f5fc44890f3662c976849 Author: Douglas Schilling Landgraf Date: Sun Sep 6 18:41:59 2009 -0300 V4L/DVB (12720): em28xx-cards: Add vendor/product id for Kworld DVD Maker 2 Added Kworld DVD Maker 2 Thanks to C Western for reporting this board. Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8a478905adbb2e09a59644e76f7fe7e0ab644204 Author: Eric Paris Date: Mon Sep 14 20:59:48 2009 -0400 SELinux: inline selinux_is_enabled in !CONFIG_SECURITY_SELINUX Without this patch building a kernel emits millions of warning like: include/linux/selinux.h:92: warning: ?selinux_is_enabled? defined but not used When it is build without CONFIG_SECURITY_SELINUX. This is harmless, but the function should be inlined, so it gets compiled out. Reported-by: Linus Torvalds Signed-off-by: Eric Paris Signed-off-by: James Morris commit 5579fd7e6aed8860ea0c8e3f11897493153b10ad Merge: 04a13c7 c2a7e81 Author: Tejun Heo Date: Tue Sep 15 09:57:19 2009 +0900 Merge branch 'for-next' into for-linus * pcpu_chunk_page_occupied() doesn't exist in for-next. * pcpu_chunk_addr_search() updated to use raw_smp_processor_id(). Conflicts: mm/percpu.c commit 133309a89e7430f907ebe85e78906ee12c311727 Merge: 5489375 fc8e1ea Author: Linus Torvalds Date: Mon Sep 14 17:56:51 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: (52 commits) Input: bcm5974 - silence uninitialized variables warnings Input: wistron_btns - add keymap for AOpen 1557 Input: psmouse - use boolean type Input: i8042 - use platform_driver_probe Input: i8042 - use boolean type where it makes sense Input: i8042 - try disabling and re-enabling AUX port at close Input: pxa27x_keypad - allow modifying keymap from userspace Input: sunkbd - fix formatting Input: i8042 - bypass AUX IRQ delivery test on laptops Input: wacom_w8001 - simplify querying logic Input: atkbd - allow setting force-release bitmap via sysfs Input: w90p910_keypad - move a dereference below a NULL test Input: add twl4030_keypad driver Input: matrix-keypad - add function to build device keymap Input: tosakbd - fix cleaning up KEY_STROBEs after error Input: joydev - validate axis/button maps before clobbering current ones Input: xpad - add USB ID for the drumkit controller from Rock Band Input: w90p910_keypad - rename driver name to match platform Input: add new driver for Sentelic Finger Sensing Pad Input: psmouse - allow defining read-only attributes ... commit 5489375d481c8456c8259b48e107d03b05309d1d Merge: 355bbd8 8123e8f Author: Linus Torvalds Date: Mon Sep 14 17:55:53 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: completely remove apple mightymouse from blacklist HID: support larger reports than 64 bytes in hiddev HID: local function should be static HID: ignore Philips IEEE802.15.4 RF Dongle HID: ignore all recent SoundGraph iMON devices HID: fix memory leak on error patch in debug code HID: fix overrun in quirks initialization HID: Drop NULL test on list_entry result HID: driver for Twinhan USB 6253:0100 remote control HID: adding __init/__exit macros to module init/exit functions HID: add rumble support for Thrustmaster Dual Trigger 3-in-1 HID: ntrig tool separation and pen usages HID: Avoid double spin_lock_init on usbhid->lock HID: add force feedback support for Logitech WingMan Formula Force GP HID: Support new variants of Samsung USB IR receiver (0419:0001) HID: fix memory leak on error path in debug code HID: fix debugfs build with !CONFIG_DEBUG_FS HID: use debugfs for events/reports dumping HID: use debugfs for report dumping descriptor commit 355bbd8cb82e60a592f6cd86ce6dbe5677615cf4 Merge: 3969522 746cd1e Author: Linus Torvalds Date: Mon Sep 14 17:55:15 2009 -0700 Merge branch 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.32' of git://git.kernel.dk/linux-2.6-block: (29 commits) block: use blkdev_issue_discard in blk_ioctl_discard Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads block: don't assume device has a request list backing in nr_requests store block: Optimal I/O limit wrapper cfq: choose a new next_req when a request is dispatched Seperate read and write statistics of in_flight requests aoe: end barrier bios with EOPNOTSUPP block: trace bio queueing trial only when it occurs block: enable rq CPU completion affinity by default cfq: fix the log message after dispatched a request block: use printk_once cciss: memory leak in cciss_init_one() splice: update mtime and atime on files block: make blk_iopoll_prep_sched() follow normal 0/1 return convention cfq-iosched: get rid of must_alloc flag block: use interrupts disabled version of raise_softirq_irqoff() block: fix comment in blk-iopoll.c block: adjust default budget for blk-iopoll block: fix long lines in block/blk-iopoll.c block: add blk-iopoll, a NAPI like approach for block devices ... commit 39695224bd84dc4be29abad93a0ec232a16fc519 Merge: a9bbd21 ea038f6 Author: Linus Torvalds Date: Mon Sep 14 17:53:36 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (209 commits) [SCSI] fix oops during scsi scanning [SCSI] libsrp: fix memory leak in srp_ring_free() [SCSI] libiscsi, bnx2i: make bound ep check common [SCSI] libiscsi: add completion function for drivers that do not need pdu processing [SCSI] scsi_dh_rdac: changes for rdac debug logging [SCSI] scsi_dh_rdac: changes to collect the rdac debug information during the initialization [SCSI] scsi_dh_rdac: move the init code from rdac_activate to rdac_bus_attach [SCSI] sg: fix oops in the error path in sg_build_indirect() [SCSI] mptsas : Bump version to 3.04.12 [SCSI] mptsas : FW event thread and scsi mid layer deadlock in SYNCHRONIZE CACHE command [SCSI] mptsas : Send DID_NO_CONNECT for pending IOs of removed device [SCSI] mptsas : PAE Kernel more than 4 GB kernel panic [SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off [SCSI] mptsas : Sanity check for phyinfo is added [SCSI] scsi_dh_rdac: Add support for Sun StorageTek ST2500, ST2510 and ST2530 [SCSI] pmcraid: PMC-Sierra MaxRAID driver to support 6Gb/s SAS RAID controller [SCSI] qla2xxx: Update version number to 8.03.01-k6. [SCSI] qla2xxx: Properly delete rports attached to a vport. [SCSI] qla2xxx: Correct various NPIV issues. [SCSI] qla2xxx: Correct qla2x00_eh_wait_on_command() to wait correctly. ... commit a9bbd210a44102cc50b30a5f3d111dbf5f2f9cd4 Merge: 2ca7d67 6c19efb Author: Linus Torvalds Date: Mon Sep 14 17:52:32 2009 -0700 Merge branch 'docs-next' of git://git.lwn.net/linux-2.6 * 'docs-next' of git://git.lwn.net/linux-2.6: Document the flex_array library. Doc: seq_file.txt fix wrong dd command example. commit 2ca7d674d7ab2220707b2ada0b690c0e7c95e7ac Merge: 2195d28 87d721a Author: Linus Torvalds Date: Mon Sep 14 17:48:14 2009 -0700 Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (257 commits) [ARM] Update mach-types ARM: 5636/1: Move vendor enum to AMBA include ARM: Fix pfn_valid() for sparse memory [ARM] orion5x: Add LaCie NAS 2Big Network support [ARM] pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume ARM: 5686/1: at91: Correct AC97 reset line in at91sam9263ek board ARM: 5640/1: This patch modifies the support of AC97 on the at91sam9263 ek board ARM: 5689/1: Update default config of HP Jornada 700-series machines ARM: 5691/1: fix cache aliasing issues between kmap() and kmap_atomic() with highmem ARM: 5688/1: ks8695_serial: disable_irq() lockup ARM: 5687/1: fix an oops with highmem ARM: 5684/1: Add nuc960 platform to w90x900 ARM: 5683/1: Add nuc950 platform to w90x900 ARM: 5682/1: Add cpu.c and dev.c and modify some files of w90p910 platform ARM: 5626/1: add suspend/resume functions to amba-pl011 serial driver ARM: 5625/1: fix hard coded 4K resource size in amba bus detection MMC: MMCI: convert realview MMC to use gpiolib ARM: 5685/1: Make MMCI driver compile without gpiolib ARM: implement highpte ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ ... Fix up trivial conflict in arch/arm/kernel/signal.c. It was due to the TIF_NOTIFY_RESUME addition in commit d0420c83f ("KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures") and follow-ups. commit c8c2df9055074197ba12902c6d7e840667fb56d6 Author: Paul Mundt Date: Tue Sep 15 09:47:35 2009 +0900 sh: Fix up sh7705 flush_dcache_page() build. Type mismatch caused the page deref to blow up, fix it up as per the sh4 change. Signed-off-by: Paul Mundt commit 2195d2818c37bdf263865f1e9effccdd9fc5f9d4 Author: Hugh Dickins Date: Sat Sep 12 12:21:27 2009 +0100 fix undefined reference to user_shm_unlock My 353d5c30c666580347515da609dd74a2b8e9b828 "mm: fix hugetlb bug due to user_shm_unlock call" broke the CONFIG_SYSVIPC !CONFIG_MMU build of both 2.6.31 and 2.6.30.6: "undefined reference to `user_shm_unlock'". gcc didn't understand my comment! so couldn't figure out to optimize away user_shm_unlock() from the error path in the hugetlb-less case, as it does elsewhere. Help it to do so, in a language it understands. Reported-by: Mike Frysinger Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 69def9f05dfce3281bb06599057e6b8097385d39 Merge: 353f6dd 8e616fc Author: Linus Torvalds Date: Mon Sep 14 17:43:43 2009 -0700 Merge branch 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (202 commits) MAINTAINERS: update KVM entry KVM: correct error-handling code KVM: fix compile warnings on s390 KVM: VMX: Check cpl before emulating debug register access KVM: fix misreporting of coalesced interrupts by kvm tracer KVM: x86: drop duplicate kvm_flush_remote_tlb calls KVM: VMX: call vmx_load_host_state() only if msr is cached KVM: VMX: Conditionally reload debug register 6 KVM: Use thread debug register storage instead of kvm specific data KVM guest: do not batch pte updates from interrupt context KVM: Fix coalesced interrupt reporting in IOAPIC KVM guest: fix bogus wallclock physical address calculation KVM: VMX: Fix cr8 exiting control clobbering by EPT KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp KVM: Document KVM_CAP_IRQCHIP KVM: Protect update_cr8_intercept() when running without an apic KVM: VMX: Fix EPT with WP bit change during paging KVM: Use kvm_{read,write}_guest_virt() to read and write segment descriptors KVM: x86 emulator: Add adc and sbb missing decoder flags KVM: Add missing #include ... commit 353f6dd2dec992ddd34620a94b051b0f76227379 Author: Anirban Sinha Date: Mon Sep 14 11:13:37 2009 -0700 cleanup console_print() console_print() is an old legacy interface mostly unused in the entire kernel tree. It's best to clean up its existing use and let developers use their own implementation of it as they feel fit. Signed-off-by: Anirban Sinha Signed-off-by: Linus Torvalds commit 5e3573db2bd5db6925159279d99576a4635bdb66 Author: Bjorn Helgaas Date: Mon Sep 14 16:35:40 2009 -0600 PCI hotplug: clean up acpi_run_hpp() This patch cleans up acpi_run_hpp() and follows the style of acpi_run_hpx(): - remove unnecessary METHOD_NAME__HPP #define - use ACPI_ALLOCATE_BUFFER rather than evaluating _HPP twice - validate _HPP package length (defined as 4 by the spec) - avoid ref to undefined data if FW provides < 4 elements - remove temporary nui[] array Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit e81995bb1c0077a312cb621abc406a36f65a986a Author: Bjorn Helgaas Date: Mon Sep 14 16:35:35 2009 -0600 PCI hotplug: acpiphp: use generic pci_configure_slot() Use the generic pci_configure_slot() rather than the acpiphp-specific decode_hpp() and program_hpp(). Unlike the previous acpiphp-specific code, pci_configure_slot() programs PCIe settings when an _HPX method provides them, so acpiphp-managed PCIe devices can now be configured. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 11876e52e9148bf923795d6fcf8abed7f3662aaa Author: Bjorn Helgaas Date: Mon Sep 14 16:35:30 2009 -0600 PCI hotplug: shpchp: use generic pci_configure_slot() Use the generic pci_configure_slot() rather than the SHPC-specific program_fw_provided_values(). Unlike the previous SHPC-specific code, pci_configure_slot() programs PCIe settings when an _HPX method provides them, so if it's possible to have an SHPC-managed PCIe device, it can now be configured. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit d569c74d78ffcde2f163256e4da934ec3bacff0e Author: Bjorn Helgaas Date: Mon Sep 14 16:35:25 2009 -0600 PCI hotplug: pciehp: use generic pci_configure_slot() Use the generic pci_configure_slot() rather than the PCIe-specific program_fw_provided_values(). Unlike the previous pciehp-specific code, we now walk through subordinate devices even if there are no settings for the parent. This should be harmless because we won't change anything unless we discover firmware settings farther down. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 8838400db5193c37588813c2eb1249b821781950 Author: Bjorn Helgaas Date: Mon Sep 14 16:35:20 2009 -0600 PCI hotplug: add pci_configure_slot() This patch adds a new pci_configure_slot() function that programs the PCI bus characteristics for a newly-added device. This is based on code in pciehp_pci.c, but should be generic enough to be used by pciehp, shpchp, and acpiphp. The hotplug_params struct and the program_hpp_typeX() functions are based on the ACPI definitions, but they aren't really ACPI-specific, and there's no alternate implementation, so I don't see the need to abstract them yet. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit bb7001b50123fcb05f331b22092243f92e9bcec9 Author: Kuninori Morimoto Date: Fri Sep 11 09:05:00 2009 +0000 sh: kfr2r09: document the PLL/FLL <-> RF relationship. Early clock initialization sets up PLL/FLL values for optimal RF behaviour. As this relationship is presently undocumented, we document this in the script so the rationale is apparent. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit bb193c986a7104f718c1b92709e1e6e22ac3f864 Merge: f65ac45 aceda77 Author: Linus Torvalds Date: Mon Sep 14 17:38:52 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: fix slab_pad_check() slub: release kobject if sysfs_create_group failed in sysfs_slab_add SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256 SLUB: Fix some coding style issues SLUB: Drop write permission to /proc/slabinfo slab: remove duplicate kmem_cache_init_late() declarations slub: change kmem_cache->align to record the real alignment slub: use size and objsize orders to disable debug flags slub: add option to disable higher order debugging slabs commit f65ac45e20b03081ed64f41ce91bb982f8ac258d Merge: 4142e0d 22223c9 Author: Linus Torvalds Date: Mon Sep 14 17:38:38 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: x86, mce: do not compile mcelog message on AMD EDAC, AMD: decode FR MCEs EDAC, AMD: decode load store MCEs EDAC, AMD: decode bus unit MCEs EDAC, AMD: decode instruction cache MCEs EDAC, AMD: decode data cache MCEs EDAC, AMD: carve out decoding of MCi_STATUS ErrorCode EDAC, AMD: carve out MCi_STATUS decoding x86, mce: pass mce info to EDAC for decoding amd64_edac: cleanup amd64_decode_bus_error amd64_edac: remove memory and GART TLB error decoders amd64_edac: cleanup/complete NB MCE decoding amd64_edac: cleanup amd64_process_error_info EDAC: beef up ErrorCodeExt error signatures EDAC: move MCE error descriptions to EDAC core commit 6a29172ba90e49c046245610caff9848307bfd6a Author: Bjorn Helgaas Date: Mon Sep 14 16:35:15 2009 -0600 PCI hotplug: clean up acpi_get_hp_params_from_firmware() interface This patch makes acpi_get_hp_params_from_firmware() take a pci_dev rather than a pci_bus and makes it return a standard int errno rather than acpi_status. Signed-off-by: Bjorn Helgaas Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit fca6825ad7382ae9df8ecda9068ac13ee9e343f4 Author: Bjorn Helgaas Date: Mon Sep 14 16:35:10 2009 -0600 PCI hotplug: acpiphp: don't cache hotplug_params in acpiphp_bridge We always look up hotplug_params with decode_hpp() immediately before using them, so we don't need to save them in the acpiphp_bridge struct. This patch follows the example of program_fw_provided_values() in pciehp_pci.c and shpchp_pci.c by just keeping the params on the stack while we need them. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit dffb4bb560ed73937a52c68c304b232c743b49f7 Author: Bjorn Helgaas Date: Mon Sep 14 16:35:05 2009 -0600 PCI hotplug: acpiphp: remove superfluous _HPP/_HPX evaluation decode_hpp() looks up hotplug PCI parameters from ACPI and saves them in the acpiphp_bridge structure. These parameters (in bridge->hpp) are only used by the acpiphp_set_hpp_values() -> program_hpp() path. In that path, we always call decode_hpp() before program_hpp(), so there's no need to do it in init_bridge_misc(). Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Reviewed-by: Kenji Kaneshige Acked-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit a991801a7029ebba4a3eb72536f73c26d1482be0 Author: Kuninori Morimoto Date: Mon Sep 14 11:23:16 2009 +0000 sh: mach-ecovec24: need asm/clock.h. Fixes up build failures. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 147df2d68f209fef6a53b345a5a9a9ea38a60f66 Author: Kuninori Morimoto Date: Mon Sep 14 11:22:31 2009 +0000 sh: mach-ecovec24: deassert usb irq on boot. This patch prevents the USB1 interrupt from remaining asserted immediately after re-boot or during a jump in to a secondary kernel. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit e9103e74907d748f3cfe1b75b9d895f61c4ebc17 Author: Kuninori Morimoto Date: Mon Sep 14 11:23:00 2009 +0000 sh: Add KEYSC support for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 1f85d381062a046fd8f3ddb654a5276266daf72c Author: Kuninori Morimoto Date: Tue Sep 15 00:21:34 2009 +0000 sh: add kycr2_delay for sh_keysc After KYCR2 is set, udelay might become necessary if there are only a small number of keys attached. This patch introduces an optional delay through the platform data to address this problem. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 033eb0acddb71bbee32dce285256b3489b17ef7f Author: Paul Mundt Date: Tue Sep 15 09:26:04 2009 +0900 sh: cpufreq: Include CPU id in info messages. This tidies up the printks when running on SMP, and aids in debugging when certain cores are unable to be scaled. Signed-off-by: Paul Mundt commit 036d6a673fa0a2e2c5b72a3b1d1b86114c1711c0 Author: Jarek Poplawski Date: Sun Sep 13 22:35:44 2009 +0000 pkt_sched: Fix qdisc_graft WRT ingress qdisc After the recent mq change using ingress qdisc overwrites dev->qdisc; there is also a wrong old qdisc pointer passed to notify_and_destroy. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit d314737ad3bad6b4603b243fd6db572385259690 Author: Alexander Duyck Date: Mon Sep 14 08:23:13 2009 +0000 igb: do not allow phy sw reset code to make calls to null pointers In the case of fiber and serdes adapters we were seeing issues with ethtool -t causing kernel panics due to null function pointers. To prevent this we need to exit out of the phy reset code in the event that we do not have a valid phy. Signed-off-by: Alexander Duyck Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit 2fb02a26bda1cbc3553164a8358c303d936255c5 Author: Alexander Duyck Date: Mon Sep 14 08:22:54 2009 +0000 igb: reset sgmii phy at start of init Our SGMII phy code was incomplete in that it was not actually placing the phy in SGMII mode and as a result the PHY was not able to establish a link when connected to a non serdes link partner. This patch updates the code to combine the SGMII/serdes PCS init and to add the necessary reset. Signed-off-by: Alexander Duyck Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit 6b1be1990d2f7d1a3b1f25bf3e6444600665764a Author: Peter P Waskiewicz Jr Date: Mon Sep 14 07:48:10 2009 +0000 ixgbe: Create separate media type for CX4 adapters Currently the media type detection for CX4 adapters lumps them into a type of fiber. This causes some strange fallout when firmware verification is done on the NIC, and certain fiber NIC rules get enforced incorrectly. This patch introduces a new media type for CX4, and puts both 82598 and 82599 CX4 adapters into this bucket. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit 8911184fed68d2cdde1a8a920813e07a6d4f997f Author: Peter P Waskiewicz Jr Date: Mon Sep 14 07:47:49 2009 +0000 ixgbe: Add support for 82599-based CX4 adapters This patch adds support for CX4 adapters based on 82599. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit 1b3ff02eac6dcb6d7d03a5be6a642b58ec9cf4bb Author: Peter P Waskiewicz Jr Date: Mon Sep 14 07:47:27 2009 +0000 ixgbe: Properly disable packet split per-ring when globally disabled The packet split feature was recently moved out of the adapter-wide flags feature field and into a per-Rx ring feature field. In the process, packet split isn't properly disabled in the Rx ring if the adapter has it globally disabled, followed by a device reset. This won't impact the driver today, since it's always in packet split mode. However, this will prevent any pitfalls if someone disables packet split on the adapter in the future and doesn't disable it in each ring. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: Don Skidmore Signed-off-by: David S. Miller commit ce187619e8f39abd60a8d99eeb2c52b4c00adc13 Author: Rémi Denis-Courmont Date: Mon Sep 14 03:10:28 2009 +0000 cdc-phonet: remove noisy debug statement From: Rémi Denis-Courmont Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit b11b5165ae7b6506e0e4889b6bf6a11491e1ec6b Author: Rémi Denis-Courmont Date: Mon Sep 14 03:10:27 2009 +0000 Phonet: Netlink event for autoconfigured addresses From: Rémi Denis-Courmont Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 5708e868dc512f055f0ea4a14d01f8252c3ca8a1 Author: Alexey Dobriyan Date: Mon Sep 14 12:23:23 2009 +0000 net: constify remaining proto_ops Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 41135cc836a1abeb12ca1416bdb29e87ad021153 Author: Alexey Dobriyan Date: Mon Sep 14 12:22:28 2009 +0000 net: constify struct inet6_protocol Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 32613090a96dba2ca2cc524c8d4749d3126fdde5 Author: Alexey Dobriyan Date: Mon Sep 14 12:21:47 2009 +0000 net: constify struct net_protocol Remove long removed "inet_protocol_base" declaration. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit e4c57d0f964cdbe278ed6b3bf632138fe575267e Author: Michael Hennerich Date: Mon Sep 14 08:03:42 2009 +0000 netdev: smc91x: drop Blackfin cruft Now that all Blackfin boards are using the board resources, we don't need to keep the arch/board specific crap in the driver header. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit aa1b1ff0991b469eca6fde4456190df6ed59ff40 Author: Gerrit Renker Date: Sat Sep 12 07:47:01 2009 +0000 net-next-2.6 [PATCH 1/1] dccp: ccids whitespace-cleanup / CodingStyle No code change, cosmetical changes only: * whitespace cleanup via scripts/cleanfile, * remove self-references to filename at top of files, * fix coding style (extraneous brackets), * fix documentation style (kernel-doc-nano-HOWTO). Thanks are due to Ivo Augusto Calado who raised these issues by submitting good-quality patches. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit d136f1bd366fdb7e747ca7e0218171e7a00a98a5 Author: Johannes Berg Date: Sat Sep 12 03:03:15 2009 +0000 genetlink: fix netns vs. netlink table locking Since my commits introducing netns awareness into genetlink we can get this problem: BUG: scheduling while atomic: modprobe/1178/0x00000002 2 locks held by modprobe/1178: #0: (genl_mutex){+.+.+.}, at: [] genl_register_mc_grou #1: (rcu_read_lock){.+.+..}, at: [] genl_register_mc_g Pid: 1178, comm: modprobe Not tainted 2.6.31-rc8-wl-34789-g95cb731-dirty # Call Trace: [] __schedule_bug+0x85/0x90 [] schedule+0x108/0x588 [] netlink_table_grab+0xa1/0xf0 [] netlink_change_ngroups+0x47/0x100 [] genl_register_mc_group+0x12f/0x290 because I overlooked that netlink_table_grab() will schedule, thinking it was just the rwlock. However, in the contention case, that isn't actually true. Fix this by letting the code grab the netlink table lock first and then the RCU for netns protection. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 8be8057e72d7d319f8e97b26e16de8021fe63988 Author: Mark Smith Date: Sat Sep 12 20:48:43 2009 +0000 Have atalk_route_packet() return NET_RX_SUCCESS not NET_XMIT_SUCCESS Have atalk_route_packet() return NET_RX_SUCCESS not NET_XMIT_SUCCESS atalk_route_packet() returns NET_RX_DROP if it's call to aarp_send_ddp() returns NET_XMIT_DROP. If aarp_send_ddp() returns anything else atalk_route_packet() should return NET_RX_SUCCESS, not NET_XMIT_SUCCESS. Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit 0cced40e7c58b1105aef3ca446da7b158a18a9a6 Author: Hidetoshi Seto <[seto.hidetoshi@jp.fujitsu.com]> Date: Thu Aug 6 14:51:58 2009 -0700 [IA64] kdump: Short path to freeze CPUs Setting monarch_cpu = -1 to let slaves frozen might not work, because there might be slaves being late, not entered the rendezvous yet. Such slaves might be caught in while (monarch_cpu == -1) loop. Use kdump_in_progress instead of monarch_cpus to break INIT rendezvous and let all slaves enter DIE_INIT_SLAVE_LEAVE smoothly. And monarch no longer need to manage rendezvous if once kdump_in_progress is set, catch the monarch in DIE_INIT_MONARCH_ENTER then. Signed-off-by: Hidetoshi Seto Cc: Vivek Goyal Cc: Haren Myneni Cc: kexec@lists.infradead.org Acked-by: Fenghua Yu Signed-off-by: Tony Luck commit 5959906ee9dee602a46e49c868a7e543e050d605 Author: Hidetoshi Seto <[seto.hidetoshi@jp.fujitsu.com]> Date: Thu Aug 6 14:51:57 2009 -0700 [IA64] kdump: Try INIT regardless of kdump_on_init CPUs should be frozen if possible, otherwise it might hinder kdump. So if there are CPUs not respond to IPI, try INIT to stop them. Signed-off-by: Hidetoshi Seto Cc: Vivek Goyal Cc: Haren Myneni Cc: kexec@lists.infradead.org Acked-by: Fenghua Yu Signed-off-by: Tony Luck commit 1726b0883dd08636705ea55d577eb0ec314ba427 Author: Hidetoshi Seto <[seto.hidetoshi@jp.fujitsu.com]> Date: Thu Aug 6 14:51:57 2009 -0700 [IA64] kdump: Mask INIT first in panic-kdump path Summary: Asserting INIT might block kdump if the system is already going to start kdump via panic. Description: INIT can interrupt anywhere in panic path, so it can interrupt in middle of kdump kicked by panic. Therefore there is a race if kdump is kicked concurrently, via Panic and via INIT. INIT could fail to invoke kdump if the system is already going to start kdump via panic. It could not restart kdump from INIT handler if some of cpus are already playing dead with INIT masked. It also means that INIT could block kdump's progress if no monarch is entered in the INIT rendezvous. Panic+INIT is a rare, but possible situation since it can be assumed that the kernel or an internal agent decides to panic the unstable system while another external agent decides to send an INIT to the system at same time. How to reproduce: Assert INIT just after panic, before all other cpus have frozen Expected results: continue kdump invoked by panic, or restart kdump from INIT Actual results: might be hang, crashdump not retrieved Proposed Fix: This patch masks INIT first in panic path to take the initiative on kdump, and reuse atomic value kdump_in_progress to make sure there is only one initiator of kdump. All INITs asserted later should be used only for freezing all other cpus. This mask will be removed soon by rfi in relocate_kernel.S, before jump into kdump kernel, after all cpus are frozen and no-op INIT handler is registered. So if INIT was in the interval while it is masked, it will pend on the system and will received just after the rfi, and handled by the no-op handler. If there was a MCA event while psr.mc is 1, in theory the event will pend on the system and will received just after the rfi same as above. MCA handler is unregistered here at the time, so received MCA will not reach to OS_MCA and will result in warmboot by SAL. Note that codes in this masked interval are relatively simpler than that in MCA/INIT handler which also executed with the mask. So it can be said that probability of error in this interval is supposed not so higher than that in MCA/INIT handler. Signed-off-by: Hidetoshi Seto Cc: Vivek Goyal Cc: Haren Myneni Cc: kexec@lists.infradead.org Acked-by: Fenghua Yu Signed-off-by: Tony Luck commit 68cb14c7c46d9204ba451a534f15a8bc12c88e28 Author: Hidetoshi Seto <[seto.hidetoshi@jp.fujitsu.com]> Date: Thu Aug 6 14:51:57 2009 -0700 [IA64] kdump: Don't return APs to SAL from kdump Summary: Asserting INIT on cpu going to be offline will result in unexpected behavior. It will be a real problem in kdump cases where INIT might be asserted to unstable APs going to be offline by returning to SAL. Description: Since psr.mc is cleared when bits in psr are set to SAL_PSR_BITS_TO_SET in ia64_jump_to_sal(), there is a small window (~few msecs) that the cpu can receive INIT even if the cpu enter there via INIT handler. In this window we do restore of registers for SAL, so INIT asserted here will not work properly. It is hard to remove this window by masking INIT (i.e. setting psr.mc) because we have to unmask it later in OS, because we have to use branch instruction (br.ret, not rfi) to return SAL, due to OS_BOOT_RENDEZ to SAL return convention. I suppose this window will not be a real problem on cpu offline if we can educate people not to push INIT button during hotplug operation. However, only exception is a race in kdump and INIT. Now kdump returns APs to SAL before processing dump, but the kernel might receive INIT at that point in time. Such INIT might be asserted by kdump itself if an AP doesn't react IPI soon and kdump decided to use INIT to stop the AP. Or it might be asserted by operator or an external agent to start dump on the unstable system. Such panic+INIT or INIT+INIT cases should be rare, but it will be happy if we can retrieve crashdump even in such cases. How to reproduce: panic+INIT or INIT+INIT, with kdump configured Expected results: crashdump is retrieved anyway Actual results: panic, hang etc. (unexpected) Proposed fix To avoid the window on the way to SAL, this patch stops returning APs to SAL in case of kdump. In other words, this patch makes APs spin in OS instead of spinning in SAL. (* Note: What impact would be there? If a cpu is spinning in SAL, the cpu is in BOOT_RENDEZ loop, as same as offlined cpu. In theory if an INIT is asserted there, cpus in the BOOT_RENDEZ loop should not invoke OS_INIT on it. So in either way, no matter where the cpu is spinning actually in, once cpu starts spin and act as "frozen," INIT on the cpu have no effects. From another point of view, all debug information on the cpu should have stored to memory before the cpu start to be frozen. So no more action on the cpu is required.) I confirmed that the kdump sometime hangs by concurrent INITs (another INIT after an INIT), and it doesn't hang after applying this patch. Signed-off-by: Hidetoshi Seto Cc: Vivek Goyal Cc: Haren Myneni Cc: kexec@lists.infradead.org Acked-by: Fenghua Yu Signed-off-by: Tony Luck commit 6cc3efcdf01cf874ffe770919395918a3ee9365b Author: Hidetoshi Seto <[seto.hidetoshi@jp.fujitsu.com]> Date: Thu Aug 6 14:51:57 2009 -0700 [IA64] kexec: Unregister MCA handler before kexec Summary: MCA on the beginning of kdump/kexec kernel will result in unexpected behavior because MCA handler for previous kernel is invoked on the kdump kernel. Description: Once a cpu is passed to new kernel, all resources in previous kernel should not be used from the cpu. Even the resources for MCA handler are no exception. So we cannot handle MCAs and its machine check errors during kernel transition, until new handler for new kernel is registered with new resources ready for handling the MCA. How to reproduce: Assert MCA while kdump kernel is booting, before new MCA handler for kdump kernel is registered. Expected(Desirable) results: No recovery, cancel kdump and reboot the system. Actual results: MCA handler for previous kernel is invoked on the kdump kernel. => panic, hang etc. (unexpected) Proposed fix: To avoid entering MCA handler from early stage of new kernel, unregister the entry point from SAL before leave from current kernel. Then SAL will make all MCAs to warmboot safely, without invoking OS_MCA. Signed-off-by: Hidetoshi Seto Cc: Vivek Goyal Cc: Haren Myneni Cc: kexec@lists.infradead.org Acked-by: Fenghua Yu Signed-off-by: Tony Luck commit 07a6a4ae827b54cec4c1b1d92bed1cc9176b45ec Author: Hidetoshi Seto <[seto.hidetoshi@jp.fujitsu.com]> Date: Thu Aug 6 14:51:56 2009 -0700 [IA64] kexec: Make INIT safe while transition to kdump/kexec kernel Summary: Asserting INIT on the beginning of kdump/kexec kernel will result in unexpected behavior because INIT handler for previous kernel is invoked on new kernel. Description: In panic situation, we can receive INIT while kernel transition, i.e. from beginning of panic to bootstrap of kdump kernel. Since we initialize registers on leave from current kernel, no longer monarch/slave handlers of current kernel in virtual mode are called safely. (In fact system goes hang as far as I confirmed) How to Reproduce: Start kdump # echo c > /proc/sysrq-trigger Then assert INIT while kdump kernel is booting, before new INIT handler for kdump kernel is registered. Expected(Desirable) result: kdump kernel boots without any problem, crashdump retrieved Actual result: INIT handler for previous kernel is invoked on kdump kernel => panic, hang etc. (unexpected) Proposed fix: We can unregister these init handlers from SAL before jumping into new kernel, however then the INIT will fallback to default behavior, result in warmboot by SAL (according to the SAL specification) and we cannot retrieve the crashdump. Therefore this patch introduces a NOP init handler and register it to SAL before leave from current kernel, to start kdump safely by preventing INITs from entering virtual mode and resulting in warmboot. On the other hand, in case of kexec that not for kdump, it also has same problem with INIT while kernel transition. This patch handles this case differently, because for kexec unregistering handlers will be preferred than registering NOP handler, since the situation "no handlers registered" is usual state for kernel's entry. Signed-off-by: Hidetoshi Seto Cc: Vivek Goyal Cc: Haren Myneni Cc: kexec@lists.infradead.org Acked-by: Fenghua Yu Signed-off-by: Tony Luck commit 4295ab34883d2070b1145e14f4619478e9788807 Author: Hidetoshi Seto <[seto.hidetoshi@jp.fujitsu.com]> Date: Thu Aug 6 14:51:56 2009 -0700 [IA64] kdump: Mask MCA/INIT on frozen cpus Summary: INIT asserted on kdump kernel invokes INIT handler not only on a cpu that running on the kdump kernel, but also BSP of the panicked kernel, because the (badly) frozen BSP can be thawed by INIT. Description: The kdump_cpu_freeze() is called on cpus except one that initiates panic and/or kdump, to stop/offline the cpu (on ia64, it means we pass control of cpus to SAL, or put them in spinloop). Note that CPU0(BSP) always go to spinloop, so if panic was happened on an AP, there are at least 2cpus (= the AP and BSP) which not back to SAL. On the spinning cpus, interrupts are disabled (rsm psr.i), but INIT is still interruptible because psr.mc for mask them is not set unless kdump_cpu_freeze() is not called from MCA/INIT context. Therefore, assume that a panic was happened on an AP, kdump was invoked, new INIT handlers for kdump kernel was registered and then an INIT is asserted. From the viewpoint of SAL, there are 2 online cpus, so INIT will be delivered to both of them. It likely means that not only the AP (= a cpu executing kdump) enters INIT handler which is newly registered, but also BSP (= another cpu spinning in panicked kernel) enters the same INIT handler. Of course setting of registers in BSP are still old (for panicked kernel), so what happen with running handler with wrong setting will be extremely unexpected. I believe this is not desirable behavior. How to Reproduce: Start kdump on one of APs (e.g. cpu1) # taskset 0x2 echo c > /proc/sysrq-trigger Then assert INIT after kdump kernel is booted, after new INIT handler for kdump kernel is registered. Expected results: An INIT handler is invoked only on the AP. Actual results: An INIT handler is invoked on the AP and BSP. Sample of results: I got following console log by asserting INIT after prompt "root:/>". It seems that two monarchs appeared by one INIT, and one panicked at last. And it also seems that the panicked one supposed there were 4 online cpus and no one did rendezvous: : [ 0 %]dropping to initramfs shell exiting this shell will reboot your system root:/> Entered OS INIT handler. PSP=fff301a0 cpu=0 monarch=0 ia64_init_handler: Promoting cpu 0 to monarch. Delaying for 5 seconds... All OS INIT slaves have reached rendezvous Processes interrupted by INIT - 0 (cpu 0 task 0xa000000100af0000) : <> : Entered OS INIT handler. PSP=fff301a0 cpu=0 monarch=1 Delaying for 5 seconds... mlogbuf_finish: printing switched to urgent mode, MCA/INIT might be dodgy or fail. OS INIT slave did not rendezvous on cpu 1 2 3 INIT swapper 0[0]: bugcheck! 0 [1] : <> : Kernel panic - not syncing: Attempted to kill the idle task! Proposed fix: To avoid this problem, this patch inserts ia64_set_psr_mc() to mask INIT on cpus going to be frozen. This masking have no effect if the kdump_cpu_freeze() is called from INIT handler when kdump_on_init == 1, because psr.mc is already turned on to 1 before entering OS_INIT. I confirmed that weird log like above are disappeared after applying this patch. Signed-off-by: Hidetoshi Seto Cc: Vivek Goyal Cc: Haren Myneni Cc: kexec@lists.infradead.org Acked-by: Fenghua Yu Signed-off-by: Tony Luck commit c08ef808ef24df32e25fbd949fe5310172f3c408 Author: David Howells Date: Mon Sep 14 17:26:13 2009 +0100 KEYS: Fix garbage collector Fix a number of problems with the new key garbage collector: (1) A rogue semicolon in keyring_gc() was causing the initial count of dead keys to be miscalculated. (2) A missing return in keyring_gc() meant that under certain circumstances, the keyring semaphore would be unlocked twice. (3) The key serial tree iterator (key_garbage_collector()) part of the garbage collector has been modified to: (a) Complete each scan of the keyrings before setting the new timer. (b) Only set the new timer for keys that have yet to expire. This means that the new timer is now calculated correctly, and the gc doesn't get into a loop continually scanning for keys that have expired, and preventing other things from happening, like RCU cleaning up the old keyring contents. (c) Perform an extra scan if any keys were garbage collected in this one as a key might become garbage during a scan, and (b) could mean we don't set the timer again. (4) Made key_schedule_gc() take the time at which to do a collection run, rather than the time at which the key expires. This means the collection of dead keys (key type unregistered) can happen immediately. Signed-off-by: David Howells Signed-off-by: James Morris commit 5c84342a3e147a23752276650340801c237d0e56 Author: Marc Dionne Date: Mon Sep 14 12:46:23 2009 +0100 KEYS: Unlock tasklist when exiting early from keyctl_session_to_parent When we exit early from keyctl_session_to_parent because of permissions or because the session keyring is the same as the parent, we need to unlock the tasklist. The missing unlock causes the system to hang completely when using keyctl(KEYCTL_SESSION_TO_PARENT) with a keyring shared with the parent. Signed-off-by: Marc Dionne Signed-off-by: David Howells Signed-off-by: James Morris commit 4a5d6ba1914d1bf1fcfb5e15834c29d84a879219 Author: David Howells Date: Mon Sep 14 12:45:39 2009 +0100 CRED: Allow put_cred() to cope with a NULL groups list put_cred() will oops if given a NULL groups list, but that is now possible with the existence of cred_alloc_blank(), as used in keyctl_session_to_parent(). Added in commit: commit ee18d64c1f632043a02e6f5ba5e045bb26a5465f Author: David Howells Date: Wed Sep 2 09:14:21 2009 +0100 KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] Reported-by: Marc Dionne Signed-off-by: David Howells Signed-off-by: James Morris commit 70ba2a374704e00df8868a7ac3d7350329d28924 Author: Dave Airlie Date: Tue Sep 15 09:03:43 2009 +1000 drm/radeon/kms: add 32/64 ioctl support. Although the new radeon driver ioctls don't need this, some of the drm initialisation ioctls require it, so add this to make them work. Signed-off-by: Dave Airlie commit 4aac047323e3082d0866b8ad3784236632105af4 Author: Jerome Glisse Date: Mon Sep 14 18:29:49 2009 +0200 drm/radeon/kms: clear confusion in GART init/deinit path GART static one time initialization was mixed up with GART enabling/disabling which could happen several time for instance during suspend/resume cycles. This patch splits all GART handling into 4 differents function. gart_init is for one time initialization, gart_deinit is called upon module unload to free resources allocated by gart_init, gart_enable enable the GART and is intented to be call after first initialization and at each resume cycle or reset cycle. Finaly gart_disable stop the GART and is intended to be call at suspend time or when unloading the module. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 4142e0d1def2c0176c27fd2e810243045a62eb6d Merge: 33f1de6 2daea67 Author: Linus Torvalds Date: Mon Sep 14 14:36:47 2009 -0700 Merge branch 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: fsync: wait for data writeout completion before calling ->fsync vfs: Remove generic_osync_inode() and sync_page_range{_nolock}() fat: Opencode sync_page_range_nolock() pohmelfs: Use new syncing helper xfs: Convert sync_page_range() to simple filemap_write_and_wait_range() ocfs2: Update syncing after splicing to match generic version ntfs: Use new syncing helpers and update comments ext4: Remove syncing logic from ext4_file_write ext3: Remove syncing logic from ext3_file_write ext2: Update comment about generic_osync_inode vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode vfs: Rename generic_file_aio_write_nolock ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() vfs: Export __generic_file_aio_write() and add some comments vfs: Introduce filemap_fdatawait_range commit 33f1de69312432baecb997a570b7d77c4d02d1ed Merge: 041d6d0 86d0063 Author: Linus Torvalds Date: Mon Sep 14 14:35:56 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: Whitespace fixes GFS2: Remove unused sysfs file GFS2: Be extra careful about deallocating inodes GFS2: Remove no_formal_ino generating code GFS2: Rename eattr.[ch] as xattr.[ch] GFS2: Clean up of extended attribute support GFS2: Add explanation of extended attr on-disk format GFS2: Add "-o errors=panic|withdraw" mount options GFS2: jumping to wrong label? GFS2: free disk inode which is deleted by remote node -V2 GFS2: Add a document explaining GFS2's uevents GFS2: Add sysfs link to device GFS2: Replace assertion with proper error handling GFS2: Improve error handling in inode allocation GFS2: Add some more info to uevents GFS2: Add online uevent to GFS2 commit 041d6d0be82bed7e0b87181dba5d10b8ab14afd9 Merge: af8cb8a cbc8cc3 Author: Linus Torvalds Date: Mon Sep 14 14:35:07 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 possible corruption when close races with write udf: Perform preallocation only for regular files udf: Remove wrong assignment in udf_symlink udf: Remove dead code commit af8cb8aa38296ecc43aca7fae9e574db7b8ae0c4 Merge: 6cdb593 41f4db0 Author: Linus Torvalds Date: Mon Sep 14 14:34: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: (21 commits) fs/Kconfig: move nilfs2 outside misc filesystems nilfs2: convert nilfs_bmap_lookup to an inline function nilfs2: allow btree code to directly call dat operations nilfs2: add update functions of virtual block address to dat nilfs2: remove individual gfp constants for each metadata file nilfs2: stop zero-fill of btree path just before free it nilfs2: remove unused btree argument from btree functions nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free nilfs2: shorten freeze period due to GC in write operation v3 nilfs2: add more check routines in mount process nilfs2: An unassigned variable is assigned to a never used structure member nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT nilfs2: stop using periodic write_super callback nilfs2: clean up nilfs_write_super nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs nilfs2: remove redundant super block commit nilfs2: implement nilfs_show_options to display mount options in /proc/mounts nilfs2: always lookup disk block address before reading metadata block nilfs2: use semaphore to protect pointer to a writable FS-instance nilfs2: fix format string compile warning (ino_t) ... commit 6cdb5930a6fa0e35b236f4aa0e056001fe1384b4 Merge: 99bc470 9162ab2 Author: Linus Torvalds Date: Mon Sep 14 14:33:13 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: consolidate reconnect logic in smb_init routines cifs: Replace wrtPending with a real reference count cifs: protect GlobalOplock_Q with its own spinlock cifs: use tcon pointer in cifs_show_options cifs: send IPv6 addr in upcall with colon delimiters [CIFS] Fix checkpatch warnings PATCH] cifs: fix broken mounts when a SSH tunnel is used (try #4) [CIFS] Memory leak in ntlmv2 hash calculation [CIFS] potential NULL dereference in parse_DFS_referrals() commit 4b77b0a2ba27d64f58f16d8d4d48d8319dda36ff Author: Rafael J. Wysocki Date: Wed Sep 9 23:49:59 2009 +0200 PCI: Clear saved_state after the state has been restored Some PCI devices fail if their standard configuration registers are restored twice in a row. Prevent this from happening by making pci_restore_state() clear the saved_state flag of the device right after the device's standard configuration registers have been populated with the previously saved values. Simplify PCI PM callbacks by removing the direct clearing of state_saved from them, as it shouldn't be necessary any more (except in pci_pm_thaw(), where it has to be cleared, so that the values saved during the "freeze" phase of hibernation are not used later by mistake). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 999cce4a52d5abdda5d2cec6bac241899bc19e4c Author: Rafael J. Wysocki Date: Wed Sep 9 23:51:27 2009 +0200 PCI PM: Return error codes from pci_pm_resume() Currently pci_pm_resume() always returns 0, which makes the error variable defined in there a bit pointless. Make pci_pm_resume() return error codes obtained from drivers' callbacks. Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit fdcdaf6c4feca025de2f5e1b6c8e08ba0649e85a Author: Bjorn Helgaas Date: Mon Sep 14 14:36:41 2009 -0600 PCI: use dev_printk in quirk messages Convert quirk printks to dev_printk(). Signed-off-by: Bjorn Helgaas CC: Olaf Dabrunz Signed-off-by: Jesse Barnes commit e9d8288871efa0d98a1d1d1f17976b5b00a0234d Author: Rafael J. Wysocki Date: Mon Sep 14 22:25:11 2009 +0200 PCI / PCIe portdrv: Fix pcie_portdrv_slot_reset() After commit c82f63e411f1b58427c103bd95af2863b1c96dd1 (PCI: check saved state before restore) pcie_portdrv_slot_reset() may not work correctly if dev->error_state is equal to pci_channel_io_frozen, because dev->state_saved need not be set at that time. Fix this issue by setting dev->state_saved before pci_restore_state() is called in pcie_portdrv_slot_reset(). Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 54a6bc0b071c50150bc6d1da16c2cd9a963e288c Author: Thomas Gleixner Date: Mon Sep 14 19:49:02 2009 +0200 clocksource: Delay clocksource down rating to late boot The down rating of clock sources in the early boot process via the clock source watchdog mechanism can happen way before the per cpu event queues are initialized. This leads to a boot crash on x86 when the TSC is marked unstable in the SMP bring up. The selection of a clock source for time keeping happens in the late boot process so we can safely delay the list manipulation until clocksource_done_booting() is called. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Martin Schwidefsky commit e6c733050faa93ce616bfedccd279ab12cffdd7b Author: Thomas Gleixner Date: Mon Sep 14 19:51:11 2009 +0200 clocksource: clocksource_select must be called with mutex locked The callers of clocksource_select must hold clocksource_mutex to protect the clocksource_list. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Martin Schwidefsky commit e34e77ce348feac3c8c607774efb1f8a9262127d Author: Andi Kleen Date: Mon Sep 14 20:52:25 2009 +0200 x86, mce: Fix compilation with !CONFIG_DEBUG_FS in mce-severity.c Fix compilation error in arch/x86/kernel/cpu/mcheck/mce-severity.c when CONFIG_DEBUG_FS is disabled, introduced in commit 5be9ed251f58881dfc3dd6742a81ff9ad1a7bb04. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit cd559b36e77c396425284a58ce4b2c5d2167d40d Author: Larry Finger Date: Sun Sep 13 15:55:13 2009 -0500 ssb: Fix error when V1 SPROM extraction is forced When an SPROM revision is not recognized, the code falls back to a V1 SPROM; however, that revision is not forced in the appropriate structure. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 559a4741b8a5b4551b8c7e8e0de7f3e41a79bb5a Author: Johannes Berg Date: Fri Sep 11 10:50:37 2009 -0700 iwlwifi: disable powersave for 4965 There's a bug in 4965 powersave that appears to be related to the way it keeps track of its data during sleep, but we haven't found it yet. Due to that, using powersave may spontaneously cause the device to SYSASSERT when transitioning from sleep to wake. Therefore, disable powersave for 4965, until (if ever, unfortunately) we can identify and fix the problem. Cf. http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=1982 which was closed, but now has re-appeared with IDLE mode, which probably means we never really fixed it. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2ff6578ba2ac38c0082c1e56babd5f575029faf8 Author: Wey-Yi Guy Date: Fri Sep 11 10:38:18 2009 -0700 iwlwifi: find the correct first antenna We can not assume antenna "A" is the first valid anttena for all the NIC. Need to make sure choice the correct antenna based on h/w configuration for transmit to avoid sending frame on invalid antenna Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 0aae511c0bf9e49165cfa04c51f6a3bf179aef09 Author: Reinette Chatre Date: Fri Sep 11 10:38:12 2009 -0700 iwlwifi: fix potential rx buffer loss RX handling maintains a few lists that keep track of the RX buffers. Buffers move from one list to the other as they are used, replenished, and again made available for usage. In one such instance, when a buffer is used it enters the "rx_used" list. When buffers are replenished an skb is attached to the buffer and it is moved to the "rx_free" list. The problem here is that the buffer is first removed from the "rx_used" list _before_ the skb is allocated. Thus, if the skb allocation fails this buffer remains removed from the "rx_used" list and is thus lost for future usage. Fix this by first allocating the skb before trying to attach it to a list. We add an additional check to not do this unnecessarily. Reported-by: Rick Farrington Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 392a0baf31b39b50cc6bf6d4400d542641d466c4 Author: Daniel C Halperin Date: Fri Sep 11 10:38:08 2009 -0700 iwlwifi: fix HT operation in 2.4 GHz band When we cleaned up the driver to properly tell mac80211 about HT rates ("iwlwifi: use iwl_hwrate_get_mac80211_idx where appropriate"), we broke internal rate indexing in 2.4 GHz band. Signed-off-by: Daniel C Halperin Tested-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e175e99646f21602d844ce85a727c83ba644ab87 Author: Michael Buesch Date: Fri Sep 11 18:31:32 2009 +0200 b43: Fix resume failure This fixes a resume failure where a signal is pending on resume so the firmware upload fails. This removes the interruptible sleep, because we don't really need it. In the worst case (with broken firmware) the sleep loop will take 1 second. In the common case (working firmware), it will only take a few milliseconds. So we don't really need to be interruptible. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 54a68d14e0bc4f2328fb630a3058729f61452c2e Author: Michael Buesch Date: Fri Sep 11 16:08:06 2009 +0200 ssb: Disable verbose SDIO coreswitch Disable SDIO coreswitch debugging. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ff4d572a186c1276ea2118e405528432eb1f747c Author: Luis R. Rodriguez Date: Fri Sep 11 04:43:29 2009 -0400 wireless: default CONFIG_WLAN to y When this was added no defaults were set and it seems this implies n. Default this to y. Reported-by: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8862dc5f25153a3c565a097220ed3de14ed72dfd Author: Holger Schurig Date: Fri Sep 11 10:13:55 2009 +0200 cfg80211: minimal error handling for wext-compat freq scanning Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a4e7b730f1c8c9179def7033a024183c58cf2538 Author: Holger Schurig Date: Fri Sep 11 10:13:53 2009 +0200 cfg80211: use cfg80211_wext_freq() for freq conversion WEXT's "struct iw_freq" can also be used to handle a channel. This patch now uses cfg80211_wext_freq() instead of hand-converting the frequency. That allows user-space to specify channels as well, like with SIOCSIWFREQ. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit d37b7da39dbac8197e41a5f9c8162730f6b36d8b Author: Sujith Date: Fri Sep 11 08:30:03 2009 +0530 ath9k: Fix bug in ANI channel handling When processing MIB interrupts, OFDM and CCK error handling routines for low RSSI values have to be invoked only when the channel mode is 11G/11B. Since HT channels will also fall under the bands 2Ghz/5Ghz, check appropriately. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 32f6afd82c1c4e9415db9f8d18e3fd6fc65cfd46 Author: Michael Buesch Date: Thu Sep 10 20:31:46 2009 +0200 b43: Force-wake queues on init Force wake the mac80211 queues on init. Under rare circumstances they may be stopped, if a DMA error or something else causes a device reset while a queue was stopped. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit e484c16f6212f7f06407382efa4d3ad214b6c589 Author: Martin Decky Date: Thu Sep 10 03:44:47 2009 +0200 hostap: Revert a toxic part of the conversion to net_device_ops As the hostap driver was converted to use net_device_ops, a mistake was made in hostap_main.c (commit 5ae4efbcd2611562a8b93596be034e63495706a5). Originally, the tx_queue_len was set to 0 for every other interface than HOSTAP_INTERFACE_MASTER, but the new fragment of code sets tx_queue_len to 0 only for HOSTAP_INTERFACE_MASTER. The opposite of the previous behavior makes the driver to drop all packets in AP mode. Change the way 0 is assigned to tx_queue_len according to the original logic. Signed-off-by: Martin Decky Signed-off-by: John W. Linville commit 33f82d141c897f39cd8bce592d88cb3c5af58342 Author: Dan Williams Date: Thu Sep 10 00:06:44 2009 +0200 at_hdmac: Rework suspend_late()/resume_early() This patch reworks platform driver power management code for at_hdmac from legacy late/early callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Dan Williams Signed-off-by: Rafael J. Wysocki commit 3eb132c986f04f64b9c360abd67a1e0d18d6d5b4 Author: Xiaotian Feng Date: Thu Aug 20 20:28:33 2009 +0200 PM: Reset transition_started at dpm_resume_noirq transition_started should be set once the preparation of devices for a PM has started, reset before starting to resume devices. When resuming devices, kernel calls dpm_resume_noirq then dpm_resume_end(dpm_resume). Thus we should reset transition_started at dpm_resume_noirq. This patch fixes ACPI warning when resuming from suspend/hibernate: ACPI: \_SB_.PCI0.IDE1.PRI1.MAS1 - docking ------------[ cut here ]------------ WARNING: at drivers/base/power/main.c:87 device_pm_add+0x8b/0xcc() Hardware name: OptiPlex 760 Device: acpi Parentless device registered during a PM transaction [rjw: Fixed up the changelog.] Signed-off-by: Xiaotian Feng Signed-off-by: Rafael J. Wysocki commit 20d652d7d1c2f202215ecf0306ccecc3569df9ba Author: Rafael J. Wysocki Date: Thu Aug 20 20:25:52 2009 +0200 PM: Update kerneldoc comments in drivers/base/power/main.c The kerneldoc comments in drivers/base/power/main.c are generally outdated and some of them don't describe the functions very accurately. Update them and standardize the format to use spaces instead of tabs. Signed-off-by: Rafael J. Wysocki Acked-by: Randy Dunlap Acked-by: Greg Kroah-Hartman Acked-by: Alan Stern commit 9d62ec6ca71d71c8a0d2cb1004f476d33f668955 Author: Albin Tonnerre Date: Wed Aug 5 23:59:59 2009 +0200 PM: Add convenience macro to make switching to dev_pm_ops less error-prone In a number of cases, the .suspend, .freeze, .poweroff and .resume, .thaw, .restore functions are identical. However, they all need to be assigned to avoid regressionsm as the previous code called .suspend resp. .resume in all those cases. SIMPLE_DEV_PM_OPS helps to deal with this case. [rjw: Changed the name of the macro and added the comment explaining its purpose.] Signed-off-by: Albin Tonnerre Signed-off-by: Rafael J. Wysocki commit 8dd2b42665f9d4ca4fded99f048631b60f669dc5 Author: Frans Pop Date: Thu Aug 20 20:38:13 2009 +0200 hp-wmi: Switch driver to dev_pm_ops Gets rid of the following warning: Platform driver 'hp-wmi' needs updating - please use dev_pm_ops I tested that the resume handler still works on my HP 2510p notebook. [rjw: Fixed up the definition of hp_wmi_pm_ops.] Signed-off-by: Frans Pop Signed-off-by: Andrew Morton Signed-off-by: Rafael J. Wysocki commit c90cd332d3dbf9fc78934b8bda271c1f909216ea Author: Frans Pop Date: Sat Jul 25 22:24:54 2009 +0200 floppy: Switch driver to dev_pm_ops Gets rid of the following warning: Platform driver 'floppy' needs updating - please use dev_pm_ops [rjw: Fixed up the definition of floppy_pm_ops.] Signed-off-by: Frans Pop Signed-off-by: Andrew Morton Signed-off-by: Rafael J. Wysocki commit 8de0307326be94148436082a9abf365da8e3c66d Author: Wu Fengguang Date: Wed Jul 22 19:56:10 2009 +0200 PM: Trivial fixes Fix the definition of BM_BITS_PER_BLOCK and kerneldoc description of create_bm_block_list(). [rjw: Added changelog.] Signed-off-by: Wu Fengguang Signed-off-by: Rafael J. Wysocki commit 98e73dc5d2dadfcb95305ad71ac9239f4e361870 Author: Gerald Schaefer Date: Wed Jul 22 00:36:56 2009 +0200 PM / Hibernate / Memory hotplug: Always use for_each_populated_zone() Use for_each_populated_zone() instead of for_each_zone() in hibernation code. This fixes a bug on s390, where we allow both config options HIBERNATION and MEMORY_HOTPLUG, so that we also have a ZONE_MOVABLE here. We only allow hibernation if no memory hotplug operation was performed, so in fact both features can only be used exclusively, but this way we don't need 2 differently configured (distribution) kernels. If we have an unpopulated ZONE_MOVABLE, we allow hibernation but run into a BUG_ON() in memory_bm_test/set/clear_bit() because hibernation code iterates through all zones, not only the populated zones, in several places. For example, swsusp_free() does for_each_zone() and then checks for pfn_valid(), which is true even if the zone is not populated, resulting in a BUG_ON() later because the pfn cannot be found in the memory bitmap. Replacing all occurences of for_each_zone() in hibernation code with for_each_populated_zone() would fix this issue. [rjw: Rebased on top of linux-next hibernation patches.] Signed-off-by: Gerald Schaefer Acked-by: KOSAKI Motohiro Signed-off-by: Rafael J. Wysocki commit ef4aede3f10d82adef1fb044b565ba5f08f851e0 Author: Rafael J. Wysocki Date: Wed Jul 8 13:24:12 2009 +0200 PM/Hibernate: Do not try to allocate too much memory too hard (rev. 2) We want to avoid attempting to free too much memory too hard during hibernation, so estimate the minimum size of the image to use as the lower limit for preallocating memory. The approach here is based on the (experimental) observation that we can't free more page frames than the sum of: * global_page_state(NR_SLAB_RECLAIMABLE) * global_page_state(NR_ACTIVE_ANON) * global_page_state(NR_INACTIVE_ANON) * global_page_state(NR_ACTIVE_FILE) * global_page_state(NR_INACTIVE_FILE) minus * global_page_state(NR_FILE_MAPPED) Namely, if this number is subtracted from the number of saveable pages in the system, we get a good estimate of the minimum reasonable size of a hibernation image. Signed-off-by: Rafael J. Wysocki Acked-by: Wu Fengguang commit 64a473cb74a88cb4991edf985d55a266e65292e1 Author: Rafael J. Wysocki Date: Wed Jul 8 13:24:05 2009 +0200 PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2) Since the hibernation code is now going to use allocations of memory to make enough room for the image, it can also use the page frames allocated at this stage as image page frames. The low-level hibernation code needs to be rearranged for this purpose, but it allows us to avoid freeing a great number of pages and allocating these same pages once again later, so it generally is worth doing. [rev. 2: Take highmem into account correctly.] Signed-off-by: Rafael J. Wysocki commit 4bb334353ebd821bc8eeabeb019eaac33c7307df Author: Rafael J. Wysocki Date: Wed Jul 8 13:23:51 2009 +0200 PM/Hibernate: Rework shrinking of memory Rework swsusp_shrink_memory() so that it calls shrink_all_memory() just once to make some room for the image and then allocates memory to apply more pressure to the memory management subsystem, if necessary. Unfortunately, we don't seem to be able to drop shrink_all_memory() entirely just yet, because that would lead to huge performance regressions in some test cases. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek commit e681c9dd62fe8fcc5bba28a3ca3f7dc8be940206 Author: Thadeu Lima de Souza Cascardo Date: Wed Jul 8 13:23:32 2009 +0200 PM: Fix typo in label name s/Platofrm_finish/Platform_finish/ Although the same label name is used somewhere else in the file, this particular label was consistently typoed in all of its uses. Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: Rafael J. Wysocki commit ac8d513a6801c8636922ccf4f30211810c9a56ce Merge: bf992fa 99bc470 Author: Rafael J. Wysocki Date: Mon Sep 14 20:26:05 2009 +0200 Merge branch 'master' into for-linus commit 39aeb52f99f2380c1f16036deed2f7bb8b2e0559 Author: mingo Date: Mon Sep 14 20:04:48 2009 +0200 perf sched: Add support for sched:sched_stat_runtime events This allows more precise 'perf sched latency' output: --------------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | --------------------------------------------------------------------------------------- ksoftirqd/0-4 | 0.010 ms | 2 | avg: 2.476 ms | max: 2.977 ms | perf-12328 | 15.844 ms | 66 | avg: 1.118 ms | max: 9.979 ms | bdi-default-235 | 0.009 ms | 1 | avg: 0.998 ms | max: 0.998 ms | events/1-8 | 0.020 ms | 2 | avg: 0.998 ms | max: 0.998 ms | events/0-7 | 0.018 ms | 2 | avg: 0.992 ms | max: 0.996 ms | sleep-12329 | 0.742 ms | 3 | avg: 0.906 ms | max: 2.289 ms | sshd-12122 | 0.163 ms | 2 | avg: 0.283 ms | max: 0.562 ms | loop-getpid-lon-12322 | 1023.636 ms | 69 | avg: 0.208 ms | max: 5.996 ms | loop-getpid-lon-12321 | 1038.638 ms | 5 | avg: 0.073 ms | max: 0.171 ms | migration/1-5 | 0.000 ms | 1 | avg: 0.006 ms | max: 0.006 ms | --------------------------------------------------------------------------------------- TOTAL: | 2079.078 ms | 153 | ------------------------------------------------- Also, streamline the code a bit more, add asserts for various state machine failures (they should be debugged if they occur) and fix a few odd ends. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 99bc47067910f7070e65ee318a6dd79a2371f1e5 Merge: d7e9660 cabc5c0 Author: Linus Torvalds Date: Mon Sep 14 10:48:59 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6: (21 commits) sparc64: Initial niagara2 perf counter support. sparc64: Perf counter 'nop' event is not constant. sparc64: Provide a way to specify a perf counter overflow IRQ enable bit. sparc64: Provide hypervisor tracing bit support for perf counters. sparc64: Initial hw perf counter support. sparc64: Implement a real set_perf_counter_pending(). sparc64: Use nmi_enter() and nmi_exit(), as needed. sparc64: Provide extern decls for sparc_??u_type strings. sparc64: Make touch_nmi_watchdog() actually work. sparc64: Kill unnecessary cast in profile_timer_exceptions_notify(). sparc64: Manage NMI watchdog enabling like x86. sparc: add basic support for 'perf' sparc: convert /proc/io_map, /proc/dvma_map to seq_file sparc, leon: sparc-leon specific SRMMU initialization and bootup fixes. sparc,leon: Added support for AMBAPP bus. sparc,leon: Introduce the sparc-leon CPU type. sparc,leon: Redefine MMU register access asi if CONFIG_LEON sparc,leon: CONFIG_SPARC_LEON option and leon specific files. sparc64: cheaper asm/uaccess.h inclusion SPARC: fix duplicate declaration ... commit d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b Merge: b8cb48a 13af7a6 Author: Linus Torvalds Date: Mon Sep 14 10:37:28 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits) netxen: update copyright netxen: fix tx timeout recovery netxen: fix file firmware leak netxen: improve pci memory access netxen: change firmware write size tg3: Fix return ring size breakage netxen: build fix for INET=n cdc-phonet: autoconfigure Phonet address Phonet: back-end for autoconfigured addresses Phonet: fix netlink address dump error handling ipv6: Add IFA_F_DADFAILED flag net: Add DEVTYPE support for Ethernet based devices mv643xx_eth.c: remove unused txq_set_wrr() ucc_geth: Fix hangs after switching from full to half duplex ucc_geth: Rearrange some code to avoid forward declarations phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs drivers/net/phy: introduce missing kfree drivers/net/wan: introduce missing kfree net: force bridge module(s) to be GPL Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded ... Fixed up trivial conflicts: - arch/x86/include/asm/socket.h converted to in the x86 tree. The generic header has the same new #define's, so that works out fine. - drivers/net/tun.c fix conflict between 89f56d1e9 ("tun: reuse struct sock fields") that switched over to using 'tun->socket.sk' instead of the redundantly available (and thus removed) 'tun->sk', and 2b980dbd ("lsm: Add hooks to the TUN driver") which added a new 'tun->sk' use. Noted in 'next' by Stephen Rothwell. commit b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca Merge: 0cc6d77 78c86e5 Author: Linus Torvalds Date: Mon Sep 14 10:23:49 2009 -0700 Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: split __phys_addr out into separate file xen: use stronger barrier after unlocking lock xen: only enable interrupts while actually blocking for spinlock xen: make -fstack-protector work under Xen commit aceda773606f2506a25b91aaafae87b2e4315834 Merge: 0cc6d77 5086c38 8a3d271 Author: Pekka Enberg Date: Mon Sep 14 20:19:06 2009 +0300 Merge branches 'slab/cleanups' and 'slab/fixes' into for-linus commit cbc8cc33529b0e0e55ae0ff077b8cb0b71d54c7a Author: Jan Kara Date: Fri Aug 7 00:27:27 2009 +0200 udf: Fix possible corruption when close races with write When we close a file, we remove preallocated blocks from it. But this truncation was not protected by i_mutex and thus it could have raced with a write through a different fd and cause crashes or even filesystem corruption. Signed-off-by: Jan Kara commit 81056dd04465902461b627169c4b4487a11acba1 Author: Jan Kara Date: Thu Jul 16 18:02:25 2009 +0200 udf: Perform preallocation only for regular files So far we preallocated blocks also for directories but that brings a problem, when to get rid of preallocated blocks we don't need. So far we removed them in udf_clear_inode() which has a disadvantage that 1) blocks are unavailable long after writing to a directory finished and thus one can get out of space unnecessarily early 2) releasing blocks from udf_clear_inode is problematic because VFS does not expect us to redirty inode there and it also slows down memory reclaim. So preallocate blocks only for regular files where we can drop preallocation in udf_release_file. Signed-off-by: Jan Kara commit 7c6e3d1aaeb3b25b49510d193000c27037004acb Author: Jan Kara Date: Thu Jul 16 17:36:54 2009 +0200 udf: Remove wrong assignment in udf_symlink Recomputation of the pointer was wrong (it should have been just increment). Luckily, we never use the computed value. Remove it. Signed-off-by: Jan Kara commit 5891d9dd2a47d38c205115211841a3d82304628f Author: Jan Kara Date: Thu Jul 16 17:35:11 2009 +0200 udf: Remove dead code Remove code that gets never used. Signed-off-by: Jan Kara commit 22223c9b417be5fd0ab2cf9ad17eb7bd1e19f7b9 Author: Borislav Petkov Date: Tue Jul 28 14:47:10 2009 +0200 x86, mce: do not compile mcelog message on AMD Now that decoding is done in-kernel, suppress mcelog message part. CC: Andi Kleen Signed-off-by: Borislav Petkov commit 53bd5fedca7d0c28b35b02cab5f4e27bf8d7fabe Author: Borislav Petkov Date: Tue Jul 28 14:20:46 2009 +0200 EDAC, AMD: decode FR MCEs See Fam10h BKDG (31116, rev. 3.28), Table 101. Signed-off-by: Borislav Petkov commit f9350efd6f37ef60d2334739edb76ef1f8ee0183 Author: Borislav Petkov Date: Tue Jul 28 14:17:30 2009 +0200 EDAC, AMD: decode load store MCEs See Fam10h BKDG (31116, rev. 3.28), Table 100. Signed-off-by: Borislav Petkov commit 56cad2d6fb832a876ab8bda4b01e5d0722dc754b Author: Borislav Petkov Date: Tue Jul 28 14:14:24 2009 +0200 EDAC, AMD: decode bus unit MCEs ... according to Table 69, Fam10h BKDG (31116, rev. 3.28). Signed-off-by: Borislav Petkov commit ab5535e70fb35b8046b6ace50259fe212e074a4f Author: Borislav Petkov Date: Tue Jul 28 14:06:26 2009 +0200 EDAC, AMD: decode instruction cache MCEs See Fam10h BKDG (31116, rev. 3.28), Table 95 Signed-off-by: Borislav Petkov commit 51966241360874e85d1e4d93c9fcdd2ef917b0fb Author: Borislav Petkov Date: Tue Jul 28 13:50:43 2009 +0200 EDAC, AMD: decode data cache MCEs Those get reported in MC0_STATUS, see Table 92, F10h BKDG (31116, rev. 3.28) for more details. Signed-off-by: Borislav Petkov commit d93cc222adf3532ddb442648f8db00c15d1dc4c1 Author: Borislav Petkov Date: Tue Jul 28 10:56:15 2009 +0200 EDAC, AMD: carve out decoding of MCi_STATUS ErrorCode This is the MCE error code from the MCi_STATUS banks, bits [15:0] which describe what type of error was encountered: GART TLB, Memory or Bus error. The semantics of those bits are identical across all MCE banks so decode those separately, irrespectively of MCE type. Signed-off-by: Borislav Petkov commit b69b29de65fe4078b125acc9dea34be82f7c362c Author: Borislav Petkov Date: Mon Jul 27 16:21:14 2009 +0200 EDAC, AMD: carve out MCi_STATUS decoding The MCi_STATUS registers have most field definitions in common so decode them in the general path. Do not pass ecc_type along and compute it in __amd64_decode_bus_error instead. Signed-off-by: Borislav Petkov commit 549d042df240dfb4203bab40ad44f9336751b7d6 Author: Borislav Petkov Date: Fri Jul 24 13:51:42 2009 +0200 x86, mce: pass mce info to EDAC for decoding Move NB decoder along with required defines to EDAC MCE core. Add registration routines for further decoding of the MCE info in the AMD64 EDAC module. CC: Andi Kleen Signed-off-by: Borislav Petkov commit ecaf5606de65cdd04de5f526185fe28fb0df654e Author: Borislav Petkov Date: Thu Jul 23 16:32:01 2009 +0200 amd64_edac: cleanup amd64_decode_bus_error Signed-off-by: Borislav Petkov commit b7225e4fc19ce27a594cb2b868ef151bf82f8f93 Author: Borislav Petkov Date: Thu Jul 23 16:05:53 2009 +0200 amd64_edac: remove memory and GART TLB error decoders Signed-off-by: Borislav Petkov commit 5110dbdeab546268dda2e4c6a83448639b2fc5ae Author: Borislav Petkov Date: Thu Jun 25 19:51:04 2009 +0200 amd64_edac: cleanup/complete NB MCE decoding * don't dump info which mcheck already does * update to newest BKDG * mv amd64_process_error_info -> amd64_decode_nb_mce * shorten error struct names * remove redundant info ptr in amd64_process_error_info * remove unused ErrorCodeExt[19:16] (MCx_STATUS) defines Signed-off-by: Borislav Petkov commit ef44cc4c2245d3c43f3c11c7bff6239852eef498 Author: Borislav Petkov Date: Thu Jul 23 14:45:48 2009 +0200 amd64_edac: cleanup amd64_process_error_info * mv amd64_error_info_regs -> err_regs * remove redundant info ptr Signed-off-by: Borislav Petkov commit 1c43f2e24d059913bce58887f1d6e4267aaed284 Author: Borislav Petkov Date: Thu Jul 23 15:47:51 2009 +0200 EDAC: beef up ErrorCodeExt error signatures Signed-off-by: Borislav Petkov commit b70ef01016850de87b9a28a6af19fed8801df076 Author: Borislav Petkov Date: Thu Jun 25 19:32:38 2009 +0200 EDAC: move MCE error descriptions to EDAC core This is in preparation of adding AMD-specific MCE decoding functionality to the EDAC core. The error decoding macros originate from the AMD64 EDAC driver albeit in a simplified and cleaned up version here. While at it, add macros to generate the error description strings and use them in the error type decoders directly which removes a bunch of code and makes the decoding functions much more readable. Also, fix strings and shorten macro names. Remove superfluous htlink_msgs. Signed-off-by: Borislav Petkov commit 08f69e6c2e59b3d73343f8c9ecf758e0133dbc22 Author: mingo Date: Mon Sep 14 18:30:44 2009 +0200 perf sched: Print PIDs too Often it's useful to know the PID of the task as well - print it out too. ( While at it, reformat the output to be a bit more paste-into-commit-logs friendly. ) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit d11533893b31ab7806ff04bfa69ae646068610ce Author: Ingo Molnar Date: Mon Sep 14 18:22:53 2009 +0200 perf sched: Fix 'perf sched latency' output on 32-bit systems Before: ----------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------- perf |4853313.251 ms | 10 | avg: 0.046 ms | max: 0.337 ms | flush-8:0 |2426659.202 ms | 5 | avg: 0.015 ms | max: 0.016 ms | sleep |485331.966 ms | 1 | avg: 0.012 ms | max: 0.012 ms | ksoftirqd/1 |485331.320 ms | 1 | avg: 0.005 ms | max: 0.005 ms | ----------------------------------------------------------------------------------- TOTAL: |8250635.739 ms | 17 | --------------------------------------------- After: ----------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------- perf | 0.206 ms | 10 | avg: 0.046 ms | max: 0.337 ms | flush-8:0 | 2.680 ms | 5 | avg: 0.015 ms | max: 0.016 ms | sleep | 0.662 ms | 1 | avg: 0.012 ms | max: 0.012 ms | ksoftirqd/1 | 0.015 ms | 1 | avg: 0.005 ms | max: 0.005 ms | ----------------------------------------------------------------------------------- TOTAL: | 3.563 ms | 17 | --------------------------------------------- Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1f5a6b45416694ff8c0d04625f1a438a0e380add Author: Steven Rostedt Date: Mon Sep 14 11:58:24 2009 -0400 tracing: make testing syscall events a separate configuration Parag noticed that the number of event tests has increased tremendously: grep "Testing event" dmesg.31rc9 |wc -l 100 grep "Testing event" dmesg.31git |wc -l 1172 This is due to the testing of every syscall event when ftrace self test is enabled. This adds a bit more time to kernel boot up and can affect development by slowing down the time it takes between reboots. This option makes the testing of the syscall events into a separate config, to still be able to test most of ftrace internals at boot up but not have to wait for all the syscall events to be tested. The syscall event testing only tests the enabling and disabling of the trace point, since the syscalls are not executed. What really needs to be done is to somehow have a userspace tool test the syscall tracepoints as well. Reported-by: Parag Warudkar LKML-Reference: Signed-off-by: Steven Rostedt commit 3eef08ba522775360cc59fe0a6b1bca6ecc8da4e Author: Mark Brown Date: Mon Sep 14 16:49:00 2009 +0100 ASoC: Fix display of stream name in DAPM debugfs Also display streams all the time while we're here. Signed-off-by: Mark Brown commit 7f53866932fd08add06ee2f93ead129949158490 Author: Alex Chiang Date: Thu Sep 10 12:34:09 2009 -0600 PCI Hotplug: convert acpi_pci_detect_ejectable() to take an acpi_handle acpi_pci_detect_ejectable() goes through effort to convert its struct pci_bus arg to an acpi_handle, but every time we use this interface, we already have the handle available. So let's just use the handle instead of converting back and forth. Reviewed-by: Kenji Kaneshige Tested-by: Kenji Kaneshige Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 6edd7679db92376ca54f328d6b0f12291c2dab35 Author: Alex Chiang Date: Thu Sep 10 12:34:04 2009 -0600 PCI Hotplug: acpiphp: find bridges the easy way Instead of constantly evaluating _ADR and _SEG over and over again, let's simplify our lives by using: acpi_pci_find_root() for root bridges acpi_get_pci_dev() for p2p bridges This change eliminates some copy 'n paste code and also allows us to simplify some internal interfaces. Reviewed-by: Kenji Kaneshige Tested-by: Kenji Kaneshige Cc: Bjorn Helgaas Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 20a58a77231c5f5f61470932503b889303e8d4f3 Author: Li Zefan Date: Mon Sep 14 15:55:18 2009 +0800 tracing: remove some unused macros - remove FTRACE_ENTRY_STRUCT_ONLY() - remove TRACE_XXX() macros Signed-off-by: Li Zefan LKML-Reference: <4AADF6E6.3080606@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 05ffa2d02066c2cb169c02d5417308ee8ecab638 Author: Li Zefan Date: Mon Sep 14 15:54:52 2009 +0800 ftrace: add compile-time check on F_printk() Make sure F_printk() has corrent format and args, and make sure changes in F_STRUCT() won't break F_printk(). Signed-off-by: Li Zefan LKML-Reference: <4AADF6CC.1060809@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit c16de8fd7a608aba8708dd056cf6e4d9462e800a Author: Li Zefan Date: Mon Sep 14 15:51:39 2009 +0800 tracing: fix F_printk() typos I found some typos in F_printk(), so I wrote compile-time check for it, and triggered some compile errors and warnings. I've fixed them on x86_32, but I have no x86_64 in my hand, so there may still be some compile warnings on 64bits. Signed-off-by: Li Zefan LKML-Reference: <4AADF60B.5070407@cn.fujitsu.com> [ tested on x86_64, and works fine ] Signed-off-by: Steven Rostedt commit a48f494e1dbdcf4fb7c02100ae3208c4c1daecbf Author: Steven Rostedt Date: Mon Sep 14 11:18:02 2009 -0400 tracing: have TRACE_EVENT macro use __flags to not shadow parameter The generated functions of TRACE_EVENT uses "flags" in one of the sub macros which shadows a parameter in the outside macro. Simple fix is to make the submacro use __flags instead. Discovered by sparse. Reported-by: Jaswinder Singh Rajput Signed-off-by: Steven Rostedt commit 2daea67e966dc0c42067ebea015ddac6834cef88 Author: Christoph Hellwig Date: Thu Sep 3 12:39:39 2009 +0200 fsync: wait for data writeout completion before calling ->fsync Currenly vfs_fsync(_range) first calls filemap_fdatawrite to write out the data, the calls into ->fsync to write out the metadata and then finally calls filemap_fdatawait to wait for the data I/O to complete. What sounds like a clever micro-optimization actually is nast trap for many filesystems. For many modern filesystems i_size or other inode information is only updated on I/O completion and we need to wait for I/O to finish before we can write out the metadata. For old fashionen filesystems that instanciate blocks during the actual write and also update the metadata at that point it opens up a large window were we could expose uninitialized blocks after a crash. While a few filesystems that need it already wait for the I/O to finish inside their ->fsync methods it is rather suboptimal as it is done under the i_mutex and also always for the whole file instead of just a part as we could do for O_SYNC handling. Here is a small audit of all fsync instances in the tree: - spufs_mfc_fsync: - ps3flash_fsync: - vol_cdev_fsync: - printer_fsync: - fb_deferred_io_fsync: - bad_file_fsync: - simple_sync_file: don't care - filesystems/drivers do't use the page cache or are purely in-memory. - simple_fsync: - file_fsync: - affs_file_fsync: - fat_file_fsync: - jfs_fsync: - ubifs_fsync: - reiserfs_dir_fsync: - reiserfs_sync_file: never touch pagecache themselves. We need to wait before if we do not want to expose stale data after an allocation. - afs_fsync: - fuse_fsync_common: do the waiting writeback itself in awkward ways, would benefit from proper semantics - block_fsync: Does a filemap_write_and_wait on the block device inode. Because we now have f_mapping that is the same inode we call it on in vfs_fsync. So just removing it and letting the VFS do the work in one go would be an improvement. - btrfs_sync_file: - cifs_fsync: - xfs_file_fsync: need the wait first and currently do it themselves. would benefit from doing it outside i_mutex. - coda_fsync: - ecryptfs_fsync: - exofs_file_fsync: - shm_fsync: only passes the fsync through to the lower layer - ext3_sync_file: doesn't seem to care, comments are confusing. - ext4_sync_file: would need the wait to work correctly for delalloc mode with late i_size updates. Otherwise the ext3 comment applies. currently implemens it's own writeback and wait in an odd way, could benefit from doing it properly. - gfs2_fsync: not needed for journaled data mode, but probably harmless there. Currently writes back data asynchronously itself. Needs some major audit. - hostfs_fsync: just calls fsync/datasync on the host FD. Without the wait before data might not even be inflight yet if we're unlucky. - hpfs_file_fsync: - ncp_fsync: no-ops. Dangerous before and after. - jffs2_fsync: just calls jffs2_flush_wbuf_gc, not sure how this relates to data. - nfs_fsync_dir: just increments stats, claims all directory operations are synchronous - nfs_file_fsync: only writes out data??? Looks very odd. - nilfs_sync_file: looks like it expects all data done, but not sure from the code - ntfs_dir_fsync: - ntfs_file_fsync: appear to do their own data writeback. Very convoluted code. - ocfs2_sync_file: does it's own data writeback, but no wait. probably needs the wait. - smb_fsync: according to a comment expects all pages written already, probably needs the wait before. This patch only changes vfs_fsync_range, removal of the wait in the methods that have it is left to the filesystem maintainers. Note that most filesystems really do need an audit for their fsync methods given the gems found in this very brief audit. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 18f2ee705d98034b0f229a3202d827468d4bffd9 Author: Jan Kara Date: Tue Aug 18 18:43:15 2009 +0200 vfs: Remove generic_osync_inode() and sync_page_range{_nolock}() Remove these three functions since nobody uses them anymore. Signed-off-by: Jan Kara commit 2f3d675bcd4a84251d6e8eea8096ec8fc795e5d6 Author: Jan Kara Date: Mon Aug 17 17:00:02 2009 +0200 fat: Opencode sync_page_range_nolock() fat_cont_expand() is the only user of sync_page_range_nolock(). It's also the only user of generic_osync_inode() which does not have a file open. So opencode needed actions for FAT so that we can convert generic_osync_inode() to a standard syncing path. Update a comment about generic_osync_inode(). CC: OGAWA Hirofumi Signed-off-by: Jan Kara commit aa3caafe53cab7ef60605e481cd5d7943e1c3022 Author: Jan Kara Date: Tue Aug 18 18:38:45 2009 +0200 pohmelfs: Use new syncing helper Use new generic_write_sync() helper instead of sync_page_range(). Acked-by: Evgeniy Polyakov Signed-off-by: Jan Kara commit af0f4414f343429971d33b0dd8dccc85c1f3dcd2 Author: Jan Kara Date: Tue Aug 18 18:32:55 2009 +0200 xfs: Convert sync_page_range() to simple filemap_write_and_wait_range() Christoph Hellwig says that it is enough for XFS to call filemap_write_and_wait_range() instead of sync_page_range() because we do all the metadata syncing when forcing the log. CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Christoph Hellwig Signed-off-by: Jan Kara commit d23c937b0f740888765676f6f82f509dbbb2bbad Author: Jan Kara Date: Tue Aug 18 18:24:31 2009 +0200 ocfs2: Update syncing after splicing to match generic version Update ocfs2 specific splicing code to use generic syncing helper. The sync now does not happen under rw_lock because generic_write_sync() acquires i_mutex which ranks above rw_lock. That should not matter because standard fsync path does not hold it either. Acked-by: Joel Becker Acked-by: Mark Fasheh CC: ocfs2-devel@oss.oracle.com Signed-off-by: Jan Kara commit ebbbf757c6b8577ac2fb6181c08c2059153bb0e2 Author: Jan Kara Date: Tue Aug 18 18:13:58 2009 +0200 ntfs: Use new syncing helpers and update comments Use new syncing helpers in .write and .aio_write functions. Also remove superfluous syncing in ntfs_file_buffered_write() and update comments about generic_osync_inode(). CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net Signed-off-by: Jan Kara commit 0d34ec62e18984ac9476208660372306ef54e70d Author: Jan Kara Date: Tue Aug 18 17:48:27 2009 +0200 ext4: Remove syncing logic from ext4_file_write The syncing is now properly handled by generic_file_aio_write() so no special ext4 code is needed. CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Signed-off-by: Jan Kara commit e367626b6164aeecb97fb7c20509ed8696babc26 Author: Jan Kara Date: Tue Aug 18 17:51:23 2009 +0200 ext3: Remove syncing logic from ext3_file_write Syncing is now properly done by generic_file_aio_write() so no special logic is needed in ext3. CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara commit a2a735ad666a04306a708b5a0109cc1fe113f569 Author: Jan Kara Date: Tue Aug 18 17:54:11 2009 +0200 ext2: Update comment about generic_osync_inode We rely on generic_write_sync() now. CC: linux-ext4@vger.kernel.org Signed-off-by: Jan Kara commit 148f948ba877f4d3cdef036b1ff6d9f68986706a Author: Jan Kara Date: Mon Aug 17 19:52:36 2009 +0200 vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode Introduce new function for generic inode syncing (vfs_fsync_range) and use it from fsync() path. Introduce also new helper for syncing after a sync write (generic_write_sync) using the generic function. Use these new helpers for syncing from generic VFS functions. This makes O_SYNC writes to block devices acquire i_mutex for syncing. If we really care about this, we can make block_fsync() drop the i_mutex and reacquire it before it returns. CC: Evgeniy Polyakov CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com CC: Anton Altaparmakov CC: linux-ntfs-dev@lists.sourceforge.net CC: OGAWA Hirofumi CC: linux-ext4@vger.kernel.org CC: tytso@mit.edu Acked-by: Christoph Hellwig Signed-off-by: Jan Kara commit eef99380679e20e7edc096aa4d8a98b875404d79 Author: Christoph Hellwig Date: Thu Aug 20 17:43:41 2009 +0200 vfs: Rename generic_file_aio_write_nolock generic_file_aio_write_nolock() is now used only by block devices and raw character device. Filesystems should use __generic_file_aio_write() in case generic_file_aio_write() doesn't suit them. So rename the function to blkdev_aio_write() and move it to fs/blockdev.c. Signed-off-by: Christoph Hellwig Signed-off-by: Jan Kara commit 918941a3f3d46c2a69971b4718aaf13b1be2f1a7 Author: Jan Kara Date: Mon Aug 17 18:50:08 2009 +0200 ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock Use the new helper. We have to submit data pages ourselves in case of O_SYNC write because __generic_file_aio_write does not do it for us. OCFS2 developpers might think about moving the sync out of i_mutex which seems to be easily possible but that's out of scope of this patch. CC: ocfs2-devel@oss.oracle.com Acked-by: Joel Becker Signed-off-by: Jan Kara commit b04f932171e8a99bb8ca2f863b2b9eadb85741e8 Author: Jan Kara Date: Mon Aug 17 18:14:33 2009 +0200 pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock Use new helper __generic_file_aio_write(). Since the fs takes care of syncing by itself afterwards, there are no more changes needed. CC: Evgeniy Polyakov Signed-off-by: Jan Kara commit c7b50db21fe8c295092518e224d60b95e69da3b0 Author: Jan Kara Date: Tue Aug 18 16:18:20 2009 +0200 vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write() generic_file_direct_write() and generic_file_buffered_write() called generic_osync_inode() if it was called on O_SYNC file or IS_SYNC inode. But this is superfluous since generic_file_aio_write() does the syncing as well. Also XFS and OCFS2 which call these functions directly handle syncing themselves. So let's have a single place where syncing happens: generic_file_aio_write(). We slightly change the behavior by syncing only the range of file to which the write happened for buffered writes but that should be all that is required. CC: ocfs2-devel@oss.oracle.com CC: Joel Becker CC: Felix Blyakher CC: xfs@oss.sgi.com Signed-off-by: Jan Kara commit e4dd9de3c66bc7e26c5c7f149a060c5a67cf06a0 Author: Jan Kara Date: Mon Aug 17 18:10:06 2009 +0200 vfs: Export __generic_file_aio_write() and add some comments Rename __generic_file_aio_write_nolock() to __generic_file_aio_write(), add comments to write helpers explaining how they should be used and export __generic_file_aio_write() since it will be used by some filesystems. CC: ocfs2-devel@oss.oracle.com CC: Joel Becker Acked-by: Evgeniy Polyakov Reviewed-by: Christoph Hellwig Signed-off-by: Jan Kara commit d3bccb6f4b886060aa0f58976b92b77d951f5434 Author: Jan Kara Date: Mon Aug 17 19:30:27 2009 +0200 vfs: Introduce filemap_fdatawait_range This simple helper saves some filesystems conversion from byte offset to page numbers and also makes the fdata* interface more complete. Reviewed-by: Christoph Hellwig Signed-off-by: Jan Kara commit 0cc6d77e55eca9557bbe41bf2db94b31aa8fcb2a Merge: 55e0715 5051fd6 Author: Linus Torvalds Date: Mon Sep 14 08:01:47 2009 -0700 Merge branch 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-setup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, e820: Guard against array overflowed in __e820_add_region() x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables commit 55e0715f612f19b44c17497929091df2f3357e5d Merge: 7dfd54a bdf977b Author: Linus Torvalds Date: Mon Sep 14 08:01:28 2009 -0700 Merge branch 'x86-percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-percpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, percpu: Collect hot percpu variables into one cacheline x86, percpu: Fix DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() x86, percpu: Add 'percpu_read_stable()' interface for cacheable accesses commit 7dfd54a905be0242bd604557d543c3a2d7b0a540 Merge: 6512c0d 565b0c1 Author: Linus Torvalds Date: Mon Sep 14 07:59:32 2009 -0700 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, highmem_32.c: Clean up comment x86, pgtable.h: Clean up types x86: Clean up dump_pagetable() commit 6512c0d62589c9f4da00328518e492ddd1c01c7f Merge: 625037c c7bd041 Author: Linus Torvalds Date: Mon Sep 14 07:59:07 2009 -0700 Merge branch 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-kbuild-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Simplify the Makefile in a minor way through use of cc-ifversion commit 625037cc405eabbfd2a39e9297e583a94886225f Merge: 8fafa0a 17950c5 Author: Linus Torvalds Date: Mon Sep 14 07:58:08 2009 -0700 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86-64: move clts into batch cpu state updates when preloading fpu x86-64: move unlazy_fpu() into lazy cpu state part of context switch x86-32: make sure clts is batched during context switch x86: split out core __math_state_restore commit 8fafa0a789faaff4318cbfa9c2f827d2198505dc Merge: c7208de 23b6c52 Author: Linus Torvalds Date: Mon Sep 14 07:57:50 2009 -0700 Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Decrease the level of some NUMA messages to KERN_DEBUG commit c7208de304ac335d5d58db346bb773a471fc636b Merge: 15b0404 5367b68 Author: Linus Torvalds Date: Mon Sep 14 07:57:32 2009 -0700 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (22 commits) x86: Fix code patching for paravirt-alternatives on 486 x86, msr: change msr-reg.o to obj-y, and export its symbols x86: Use hard_smp_processor_id() to get apic id for AMD K8 cpus x86, sched: Workaround broken sched domain creation for AMD Magny-Cours x86, mcheck: Use correct cpumask for shared bank4 x86, cacheinfo: Fixup L3 cache information for AMD multi-node processors x86: Fix CPU llc_shared_map information for AMD Magny-Cours x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too x86: Move kernel_fpu_using to irq_fpu_usable in asm/i387.h x86, msr: fix msr-reg.S compilation with gas 2.16.1 x86, msr: Export the register-setting MSR functions via /dev/*/msr x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs() x86, msr: Have the _safe MSR functions return -EIO, not -EFAULT x86, msr: CFI annotations, cleanups for msr-reg.S x86, asm: Make _ASM_EXTABLE() usable from assembly code x86, asm: Add 32-bit versions of the combined CFI macros x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit x86, msr: Rewrite AMD rd/wrmsr variants x86, msr: Add rd/wrmsr interfaces with preset registers x86: add specific support for Intel Atom architecture ... commit 15b0404272e1513940223cf9eefadfd22804a060 Merge: 9b74aec d535e43 Author: Linus Torvalds Date: Mon Sep 14 07:56:43 2009 -0700 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Make memtype_seq_ops const x86: uv: Clean up uv_ptc_init(), use proc_create() x86: Use printk_once() x86/cpu: Clean up various files a bit x86: Remove duplicated #include x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number x86: Further clean up of mtrr/generic.c x86: Clean up mtrr/main.c x86: Clean up mtrr/state.c x86: Clean up mtrr/mtrr.h x86: Clean up mtrr/if.c x86: Clean up mtrr/generic.c x86: Clean up mtrr/cyrix.c x86: Clean up mtrr/cleanup.c x86: Clean up mtrr/centaur.c x86: Clean up mtrr/amd.c: x86: ds.c fix invalid assignment commit 9b74aec028e7d7ce57b8deef490e440003555520 Merge: b581af5 73a2d09 Author: Linus Torvalds Date: Mon Sep 14 07:55:37 2009 -0700 Merge branch 'x86-asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: remove all now-duplicate header files x86: convert termios.h to the asm-generic version x86: convert almost generic headers to asm-generic version x86: convert trivial headers to asm-generic version x86: add copies of some headers to convert to asm-generic commit b581af5110ab62db3a33f86ea7531d5f898a520c Merge: ffaf854 53f8245 Author: Linus Torvalds Date: Mon Sep 14 07:53:49 2009 -0700 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/i386: Put aligned stack-canary in percpu shared_aligned section x86/i386: Make sure stack-protector segment base is cache aligned x86: Detect stack protector for i386 builds on x86_64 x86: allow "=rm" in native_save_fl() x86: properly annotate alternatives.c x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically x86, 32-bit: Use generic sys_pipe() x86: Introduce GDT_ENTRY_INIT(), fix APM x86: Introduce GDT_ENTRY_INIT() x86: Introduce set_desc_base() and set_desc_limit() x86: Remove unused patch_espfix_desc() x86: Use get_desc_base() commit ffaf854b011bde97d63955a71232a20fe4382a38 Merge: 86d7101 eebc57f Author: Linus Torvalds Date: Mon Sep 14 07:51:20 2009 -0700 Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (24 commits) ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI=n x86, apic: Slim down stack usage in early_init_lapic_mapping() x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources() x86, ioapic: Define IO_APIC_DEFAULT_PHYS_BASE constant x86: Fix x86_model test in es7000_apic_is_cluster() x86, apic: Move dmar_table_init() out of enable_IR() x86, ioapic: Panic on irq-pin binding only if needed x86/apic: Enable x2APIC without interrupt remapping under KVM x86, apic: Drop redundant bit assignment x86, ioapic: Throw BUG instead of NULL dereference x86, ioapic: Introduce for_each_irq_pin() helper x86: Remove superfluous NULL pointer check in destroy_irq() x86/ioapic.c: unify ioapic_retrigger_irq() x86/ioapic.c: convert __target_IO_APIC_irq to conventional for() loop x86/ioapic.c: clean up replace_pin_at_irq_node logic and comments x86/ioapic.c: convert replace_pin_at_irq_node to conventional for() loop x86/ioapic.c: simplify add_pin_to_irq_node() x86/ioapic.c: convert io_apic_level_ack_pending loop to normal for() loop x86/ioapic.c: move lost comment to what seems like appropriate place x86/ioapic.c: remove redundant declaration of irq_pin_list ... commit ec827c7ece8901044e6b3f92aeea489be9e1bcf7 Author: Steven Rostedt Date: Mon Sep 14 10:50:23 2009 -0400 tracing: add static to generated TRACE_EVENT functions Some of the generated functions used in the TRACE_EVENT macros are not declared static, but they are not global. Discovered by sparse. Reported-by: Jaswinder Singh Rajput Signed-off-by: Steven Rostedt commit ea57c4f5203d82c7844c54cdef54e972cf4e9d1f Author: Ingo Molnar Date: Sun Sep 13 18:15:54 2009 +0200 perf tools: Implement counter output multiplexing Finish the -M/--multiplex option implementation: - separate it out from group_fd - correctly set it via the ioctl and dont mmap counters that are multiplexed - modify the perf record event loop to deal with buffer-less counters. - remove the -g option from perf sched record - account for unordered events in perf sched latency - (add -f to perf sched record to ease measurements) - skip idle threads (pid==0) in latency output The result is better latency output by 'perf sched latency': ----------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------- ksoftirqd/8 | 0.071 ms | 2 | avg: 0.458 ms | max: 0.913 ms | at-spi-registry | 0.609 ms | 19 | avg: 0.013 ms | max: 0.023 ms | perf | 3.316 ms | 16 | avg: 0.013 ms | max: 0.054 ms | Xorg | 0.392 ms | 19 | avg: 0.011 ms | max: 0.018 ms | sleep | 0.537 ms | 2 | avg: 0.009 ms | max: 0.009 ms | ----------------------------------------------------------------------------------- TOTAL: | 4.925 ms | 58 | --------------------------------------------- Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit aa1ab9d26ae9fe2566a9036e3cb83e7d555b3987 Author: Frederic Weisbecker Date: Mon Sep 14 03:01:12 2009 +0200 perf tools: Fix processing of randomly serialized sched traces Currently it's possible to meet such too high latency results with 'perf sched latency'. ----------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------- xfce4-panel | 0.222 ms | 2 | avg: 4718.345 ms | max: 9436.493 ms | scsi_eh_3 | 3.962 ms | 36 | avg: 55.957 ms | max: 1977.829 ms | The origin is on traces that are sometimes badly serialized across cpus. For example the raw traces that raised such results for xfce4-panel: (1) [init]-0 [000] 1494.663899990: sched_switch: task swapper:0 [140] (R) ==> xfce4-panel:4569 [120] (2) xfce4-panel-4569 [000] 1494.663928373: sched_switch: task xfce4-panel:4569 [120] (S) ==> swapper:0 [140] (3) Xorg-4276 [001] 1494.663860125: sched_wakeup: task xfce4-panel:4569 [120] success=1 [000] (4) Xorg-4276 [001] 1504.098252756: sched_wakeup: task xfce4-panel:4569 [120] success=1 [000] (5) perf-5219 [000] 1504.100353302: sched_switch: task perf:5219 [120] (S) ==> xfce4-panel:4569 [120] The traces are processed in the order they arrive. Then in (2), xfce4-panel sleeps, it is first waken up in (3) and eventually scheduled in (5). The latency reported is then 1504 - 1495 = 9 secs, as reported by perf sched. But this is wrong, we are confident in the fact the traces are nicely serialized while we should actually more trust the timestamps. If we reorder by timestamps we get: (1) Xorg-4276 [001] 1494.663860125: sched_wakeup: task xfce4-panel:4569 [120] success=1 [000] (2) [init]-0 [000] 1494.663899990: sched_switch: task swapper:0 [140] (R) ==> xfce4-panel:4569 [120] (3) xfce4-panel-4569 [000] 1494.663928373: sched_switch: task xfce4-panel:4569 [120] (S) ==> swapper:0 [140] (4) Xorg-4276 [001] 1504.098252756: sched_wakeup: task xfce4-panel:4569 [120] success=1 [000] (5) perf-5219 [000] 1504.100353302: sched_switch: task perf:5219 [120] (S) ==> xfce4-panel:4569 [120] Now the trace make more sense, xfce4-panel is sleeping. Then it is woken up in (1), scheduled in (2) It goes to sleep in (3), woken up in (4) and scheduled in (5). Now, latency captured between (1) and (2) is of 39 us. And between (4) and (5) it is 2.1 ms. Such pattern of bad serializing is the origin of the high latencies reported by perf sched. Basically, we need to check whether wake up time is higher than schedule out time. If it's not the case, we need to tag the current work atom as invalid. Beside that, we may need to work later on a better ordering of the traces given by the kernel. After this patch: xfce4-session | 0.221 ms | 1 | avg: 0.538 ms | max: 0.538 ms | Signed-off-by: Frederic Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 6e34c033210bb86b3f5f45fd6497f74150bdf620 Author: Takashi Iwai Date: Mon Sep 14 15:42:18 2009 +0200 ALSA: hda - Add support for HP dv6 Add the quirk entry for HP dv6. Also add a workaround for the headphone detection by setting hp_detect=1 beforehand. Without this, the driver won't do auto-muting because BIOS doesn't give any HP pin but only a line-out pin. Signed-off-by: Takashi Iwai commit 08a408161749d2406f94f4e3d47cfdbc826ad1cc Author: Steven Rostedt Date: Mon Sep 14 09:31:35 2009 -0400 ring-buffer: typecast cmpxchg to fix PowerPC warning The cmpxchg used by PowerPC does the following: ({ \ __typeof__(*(ptr)) _o_ = (o); \ __typeof__(*(ptr)) _n_ = (n); \ (__typeof__(*(ptr))) __cmpxchg((ptr), (unsigned long)_o_, \ (unsigned long)_n_, sizeof(*(ptr))); \ }) This does a type check of *ptr to both o and n. Unfortunately, the code in ring-buffer.c assigns longs to pointers and pointers to longs and causes a warning on PowerPC: ring_buffer.c: In function 'rb_head_page_set': ring_buffer.c:704: warning: initialization makes pointer from integer without a cast ring_buffer.c:704: warning: initialization makes pointer from integer without a cast ring_buffer.c: In function 'rb_head_page_replace': ring_buffer.c:797: warning: initialization makes integer from pointer without a cast This patch adds the typecasts inside cmpxchg to annotate that a long is being cast to a pointer and a pointer is being casted to a long and this removes the PowerPC warnings. Reported-by: Stephen Rothwell Signed-off-by: Steven Rostedt commit 5f380eb1eff2031b5101a64c76b54cca8e1c7079 Author: Takashi Iwai Date: Mon Sep 14 15:36:14 2009 +0200 ALSA: hda - Fix HP/line-out initialization with IDT/STAC codecs It's possible that hp_detect is set even though no headphone pin is detected. The driver issues, however, an unsol event only to hp_pins[0], which can be invalid. This patch adds the check of the valid pin to send an unsol event at initialization and resume callbacks. Signed-off-by: Takashi Iwai commit fc64b26cfa3c7ee5ba23ab549ecd6415bed6b0eb Author: Takashi Iwai Date: Mon Sep 14 15:33:01 2009 +0200 ALSA: hda - Set default GPIO for IDT92HD71bxx A smiliar fix for IDT 92HD71Bxx codecs like the previous commit for other IDT/STAC codecs. Signed-off-by: Takashi Iwai commit af6ee302020101bd16c7224c2b03a5fb36e17d99 Author: Takashi Iwai Date: Mon Sep 14 15:03:12 2009 +0200 ALSA: hda - Set default GPIO for STAC/IDT codecs IDT92HD73xx and STAC927x codecs use GPIO0 bit as EAPD on many machines. However, currently we don't set it unless the model is specified just for safety reason. But, most machines do need this bit, so this safety handling is rather annoying. This patch enables GPIO0 setup as default for them. Many HP / Dell laptops should work even without model override with this change. Signed-off-by: Takashi Iwai commit 41f4db0f48c72db3a93cc1a0b18368d9a9aca700 Author: Ryusuke Konishi Date: Sat Aug 8 16:09:46 2009 +0900 fs/Kconfig: move nilfs2 outside misc filesystems Some people asked me questions like the following: On Wed, 15 Jul 2009 13:11:21 +0200, Leon Woestenberg wrote: > just wondering, any reasons why NILFS2 is one of the miscellaneous > filesystems and, for example, btrfs, is not in Kconfig? Actually, nilfs is NOT a filesystem came from other operating systems, but a filesystem created purely for Linux. Nor is it a flash filesystem but that for generic block devices. So, this moves nilfs outside the misc category as I responded in LKML "Re: Why does NILFS2 hide under Miscellaneous filesystems?" (Message-Id: <20090716.002526.93465395.ryusuke@osrg.net>). Signed-off-by: Ryusuke Konishi commit 0f3fe33b398abbecfcf9f08c16959d1a9a14a49a Author: Ryusuke Konishi Date: Sat Aug 15 02:29:28 2009 +0900 nilfs2: convert nilfs_bmap_lookup to an inline function The nilfs_bmap_lookup() is now a wrapper function of nilfs_bmap_lookup_at_level(). This moves the nilfs_bmap_lookup() to a header file converting it to an inline function and gives an opportunity for optimization. Signed-off-by: Ryusuke Konishi commit 2e0c2c73923fed27337039ddfd69985e6c4b91fe Author: Ryusuke Konishi Date: Sat Aug 15 15:34:33 2009 +0900 nilfs2: allow btree code to directly call dat operations The current btree code is written so that btree functions call dat operations via wrapper functions in bmap.c when they allocate, free, or modify virtual block addresses. This abstraction requires additional function calls and causes frequent call of nilfs_bmap_get_dat() function since it is used in the every wrapper function. This removes the wrapper functions and makes them available from btree.c and direct.c, which will increase the opportunity of compiler optimization. Signed-off-by: Ryusuke Konishi commit bd8169efae8bdd292675c386010f6b35f0771057 Author: Ryusuke Konishi Date: Sat Aug 15 17:22:13 2009 +0900 nilfs2: add update functions of virtual block address to dat This is a preparation for the successive cleanup ("nilfs2: allow btree to directly call dat operations"). This adds functions bundling a few operations to change an entry of virtual block address on the dat file. Signed-off-by: Ryusuke Konishi commit 7a102b09232be1ad7c180dfd1f46c7aa95dff1e0 Author: Ryusuke Konishi Date: Sat Aug 15 13:47:09 2009 +0900 nilfs2: remove individual gfp constants for each metadata file This gets rid of NILFS_CPFILE_GFP, NILFS_SUFILE_GFP, NILFS_DAT_GFP, and NILFS_IFILE_GFP. All of these constants refer to NILFS_MDT_GFP, and can be removed. Signed-off-by: Ryusuke Konishi commit 3218929dbd25245e0f601df1e359a3ed3f7fb03b Author: Ryusuke Konishi Date: Sat Aug 15 01:54:59 2009 +0900 nilfs2: stop zero-fill of btree path just before free it The btree path object is cleared just before it is freed. This will remove the code doing the unnecessary clear operation. Signed-off-by: Ryusuke Konishi commit 6d28f7ea43856449ed2f344cb209af3ba1c6b757 Author: Ryusuke Konishi Date: Sat Aug 15 01:14:10 2009 +0900 nilfs2: remove unused btree argument from btree functions Even though many btree functions take a btree object as their first argument, most of them are not used in their functions. This sticky use of the btree argument is hurting code readability and giving the possibility of inefficient code generation. So, this removes the unnecessary btree arguments. Signed-off-by: Ryusuke Konishi commit 9ead98637300dc7caefd904bbe1e092bf4d21f87 Author: Ryusuke Konishi Date: Fri Aug 14 23:39:45 2009 +0900 nilfs2: remove nilfs_dat_abort_start and nilfs_dat_abort_free These functions are not called from any functions. Signed-off-by: Ryusuke Konishi commit 1cf58fa840472ec7df6bf2312885949ebb308853 Author: Jiro SEKIBA Date: Thu Sep 3 22:24:17 2009 +0900 nilfs2: shorten freeze period due to GC in write operation v3 This is a re-revised patch to shorten freeze period. This version include a fix of the bug Konishi-san mentioned last time. When GC is runnning, GC moves live block to difference segments. Copying live blocks into memory is done in a transaction, however it is not necessarily to be in the transaction. This patch will get the nilfs_ioctl_move_blocks() out from transaction lock and put it before the transaction. I ran sysbench fileio test against nilfs partition. I copied some DVD/CD images and created snapshot to create live blocks before starting the benchmark. Followings are summary of rc8 and rc8 w/ the patch of per-request statistics, which is min/max and avg. I ran each test three times and bellow is average of those numers. According to this benchmark result, average time is slightly degrated. However, worstcase (max) result is significantly improved. This can address a few seconds write freeze. - random write per-request performance of rc8 min 0.843ms max 680.406ms avg 3.050ms - random write per-request performance of rc8 w/ this patch min 0.843ms -> 100.00% max 380.490ms -> 55.90% avg 3.233ms -> 106.00% - sequential write per-request performance of rc8 min 0.736ms max 774.343ms avg 2.883ms - sequential write per-request performance of rc8 w/ this patch min 0.720ms -> 97.80% max 644.280ms-> 83.20% avg 3.130ms -> 108.50% -----8<-----8<-----nilfs_cleanerd.conf-----8<-----8<----- protection_period 150 selection_policy timestamp # timestamp in ascend order nsegments_per_clean 2 cleaning_interval 2 retry_interval 60 use_mmap log_priority info -----8<-----8<-----nilfs_cleanerd.conf-----8<-----8<----- Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 43be0ec0387a5ccce2e064cb78502e7b2b4dd590 Author: Zhu Yanhai Date: Wed Aug 12 14:17:59 2009 +0800 nilfs2: add more check routines in mount process nilfs2: Add more safeguard routines and protections in mount process, which also makes nilfs2 report consistency error messages when checkpoint number is invalid. Signed-off-by: Zhu Yanhai Signed-off-by: Ryusuke Konishi commit a4f0b9c5b4ae83636dafde8f3a0e04b5e411a0f3 Author: Zhang Qiang Date: Sun Aug 9 19:13:10 2009 +0800 nilfs2: An unassigned variable is assigned to a never used structure member nilfs2: In procedure 'nilfs_get_sb()', when a nilfs filesysttem is mounted for the first time, local variable 'nilfs->ns_last_cno' is used before loading the latest checkpoint number from disk (in 'nilfs_fill_super'). 'nilfs->ns_last_cno' is assigned to 'sd.cno', but 'sd.cno' has never been used in the procedure. Signed-off-by: Zhang Qiang Signed-off-by: Ryusuke Konishi commit c1b353f04a42f1b531be920149b85343d56a6b3b Author: Ryusuke Konishi Date: Fri Jun 19 15:25:42 2009 +0900 nilfs2: use GFP_NOIO for bio_alloc instead of GFP_NOWAIT Alberto Bertogli advised me about bio_alloc() use in nilfs: On Sat, 13 Jun 2009 22:52:40 -0300, Alberto Bertogli wrote: > By the way, those bio_alloc()s are using GFP_NOWAIT but it looks > like they could use at least GFP_NOIO or GFP_NOFS, since the caller > can (and sometimes do) sleep. The only caller is nilfs_submit_bh(), > which calls nilfs_submit_seg_bio() which can sleep calling > wait_for_completion(). This takes in the comment and replaces the use of GFP_NOWAIT flag with GFP_NOIO. Signed-off-by: Ryusuke Konishi commit 1dfa27105a6cf4171c439fd40a004a0a17838115 Author: Jiro SEKIBA Date: Thu Jul 23 01:33:49 2009 +0900 nilfs2: stop using periodic write_super callback This removes nilfs_write_super and commit super block in nilfs internal thread, instead of periodic write_super callback. VFS layer calls ->write_super callback periodically. However, it looks like that calling back is ommited when disk I/O is busy. And when cleanerd (nilfs GC) is runnig, disk I/O tend to be busy thus nilfs superblock is not synchronized as nilfs designed. To avoid it, syncing superblock by nilfs thread instead of pdflush. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 79efdd94111f30c373fce05e4e5822d8ff671c2a Author: Jiro SEKIBA Date: Thu Jul 23 01:26:34 2009 +0900 nilfs2: clean up nilfs_write_super Separate conditions that check if syncing super block and alternative super block are required as inline functions to reuse the conditions. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 6233caa9d5b153c2190d6c1c35c1dd1010104fc1 Author: Jiro SEKIBA Date: Thu Jul 23 01:26:33 2009 +0900 nilfs2: fix disorder of nilfs_write_super in nilfs_sync_fs This fixes disorder of nilfs_write_super in nilfs_sync_fs. Commiting super block must be the end of the function so that every changes are reflected. ->sync_fs() is not called frequently so this makes nilfs_sync_fs call nilfs_commit_super instead of nilfs_write_super. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit ec5d66abdb0caf8b753a138568f20770a3d64c8c Author: Jiro SEKIBA Date: Fri Jul 10 19:57:28 2009 +0900 nilfs2: remove redundant super block commit This removes redundant super block commit. nilfs_write_super will call nilfs_commit_super to store super block into block device. However, nilfs_put_super will call nilfs_commit_super right after calling nilfs_write_super. So calling nilfs_write_super in nilfs_put_super would be redundant. Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit b58a285ba40866e22e5876969a8f796a74311d9e Author: Jiro SEKIBA Date: Wed Jun 24 20:06:34 2009 +0900 nilfs2: implement nilfs_show_options to display mount options in /proc/mounts This is a patch to display mount options in procfs. Mount options will show up in the /proc/mounts as other fs does. ... /dev/sda6 /mnt nilfs2 ro,relatime,barrier=off,cp=3,order=strict 0 0 ... Signed-off-by: Jiro SEKIBA Signed-off-by: Ryusuke Konishi commit 143511046765504d2d1be633efd710f8d84e0407 Author: Ryusuke Konishi Date: Sun Sep 6 17:49:49 2009 +0900 nilfs2: always lookup disk block address before reading metadata block The current metadata file code skips disk address lookup for its data block if the buffer has a mapped flag. This has a potential risk to cause read request to be performed against the stale block address that GC moved, and it may lead to meta data corruption. The mapped flag is safe if the buffer has an uptodate flag, otherwise it may prevent necessary update of disk address in the next read. This will avoid the potential problem by ensuring disk address lookup before reading metadata block even for buffers with the mapped flag. Signed-off-by: Ryusuke Konishi commit 027d6404eb4327878454db72a006adfcb8001bb8 Author: Ryusuke Konishi Date: Sun Aug 2 22:45:33 2009 +0900 nilfs2: use semaphore to protect pointer to a writable FS-instance will get rid of nilfs_get_writer() and nilfs_put_writer() pair used to retain a writable FS-instance for a period. The pair functions were making up some kind of recursive lock with a mutex, but they became overkill since the commit 201913ed746c7724a40d33ee5a0b6a1fd2ef3193. Furthermore, they caused the following lockdep warning because the mutex can be released by a task which didn't lock it: ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- kswapd0/422 is trying to release lock (&nilfs->ns_writer_mutex) at: [] mutex_unlock+0x8/0xa but there are no more locks to release! other info that might help us debug this: no locks held by kswapd0/422. stack backtrace: Pid: 422, comm: kswapd0 Not tainted 2.6.31-rc4-nilfs #51 Call Trace: [] ? printk+0xf/0x18 [] print_unlock_inbalance_bug+0xcc/0xd7 [] ? prop_put_global+0x3/0x35 [] lock_release+0xed/0x1dc [] ? mutex_unlock+0x8/0xa [] __mutex_unlock_slowpath+0xaf/0x119 [] mutex_unlock+0x8/0xa [] nilfs_mdt_write_page+0xd8/0xe1 [nilfs2] [] shrink_page_list+0x379/0x68d [] ? isolate_pages_global+0xb4/0x18c [] shrink_list+0x26b/0x54b [] shrink_zone+0x20c/0x2a2 [] kswapd+0x407/0x591 [] ? isolate_pages_global+0x0/0x18c [] ? autoremove_wake_function+0x0/0x33 [] ? kswapd+0x0/0x591 [] kthread+0x69/0x6e [] ? kthread+0x0/0x6e [] kernel_thread_helper+0x7/0x1a This patch uses a reader/writer semaphore instead of the own lock and kills this warning. Signed-off-by: Ryusuke Konishi commit b5696e5e0dbfb6323277d51d67d230317c18aba9 Author: Heiko Carstens Date: Thu Sep 3 17:42:48 2009 +0200 nilfs2: fix format string compile warning (ino_t) Unlike on most other architectures ino_t is an unsigned int on s390. So add an explicit cast to avoid this compile warning: fs/nilfs2/recovery.c: In function 'recover_dsync_blocks': fs/nilfs2/recovery.c:555: warning: format '%lu' expects type 'long unsigned int', but argument 3 has type 'ino_t' Signed-off-by: Heiko Carstens Signed-off-by: Ryusuke Konishi commit 1b2f5a641bca91966fd91dc489238068a0ab4b69 Author: Ryusuke Konishi Date: Sat Aug 22 19:10:07 2009 +0900 nilfs2: fix ignored error code in __nilfs_read_inode() The __nilfs_read_inode function is ignoring the error code returned from nilfs_read_inode_common(), and wrongly delivers a success code (zero) when it escapes from the function in erroneous cases. This adds the missing error handling. Signed-off-by: Ryusuke Konishi commit 121264827656f5f06328b17983c796af17dc5949 Author: Zhenyu Wang Date: Mon Sep 14 10:47:06 2009 +0800 agp/intel: remove restore in resume As early pci resume has already restored config for host bridge and graphics device, don't need to restore it again, This removes an original order hack for graphics device restore. This fixed the resume hang issue found by Alan Stern on 845G, caused by extra config restore on graphics device. Cc: Stable Team Cc: Alan Stern Signed-off-by: Zhenyu Wang Signed-off-by: Dave Airlie commit 86d006365610fe6cda243d89b67d5047dca44656 Author: Steven Whitehouse Date: Mon Sep 14 09:50:57 2009 +0100 GFS2: Whitespace fixes Reported-by: Daniel Walker Signed-off-by: Steven Whitehouse commit 3639dfb57d39747a3069678237e8ab810525fcb0 Author: Paul Mundt Date: Mon Sep 14 17:29:35 2009 +0900 sh: multi-evt support for SH-X3 proto CPU. This adds support for multiple vectors per unique IRQ masking source on the SH-X3 proto CPU. Signed-off-by: Paul Mundt commit d13025222cdb0043e2239b3b819389358bb31bc0 Author: Frederic Weisbecker Date: Mon Sep 14 08:57:15 2009 +0200 perf tools: Add an option to multiplex counters in a single channel Add an option to multiplex counters output in the channel of the group leader, ie: the first counter opened: -M --multiplex The effect is better serialized samples. This is especially useful for tracepoint samples that need to be well serialized for their post-processing. Also make use of this option in 'perf sched'. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 746cd1e7e4a555ddaee53b19a46e05c9c61eaf09 Author: Christoph Hellwig Date: Sat Sep 12 07:35:43 2009 +0200 block: use blkdev_issue_discard in blk_ioctl_discard blk_ioctl_discard duplicates large amounts of code from blkdev_issue_discard, the only difference between the two is that blkdev_issue_discard needs to send a barrier discard request and blk_ioctl_discard a non-barrier one, and blk_ioctl_discard needs to wait on the request. To facilitates this add a flags argument to blkdev_issue_discard to control both aspects of the behaviour. This will be very useful later on for using the waiting funcitonality for other callers. Based on an earlier patch from Matthew Wilcox . Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe commit 3d2257f157c2324acbc0fa0fa54e8626a987edd2 Author: David Woodhouse Date: Sat Sep 12 07:35:37 2009 +0200 Make DISCARD_BARRIER and DISCARD_NOBARRIER writes instead of reads The commands are conceptually writes, and in the case of IDE and SCSI commands actually are writes. They were only reads because we thought that would interact better with the elevators. Now the elevators know about discard requests, that advantage no longer exists. Signed-off-by: David Woodhouse Signed-off-by: Matthew Wilcox Signed-off-by: Jens Axboe commit b8a9ae779f2c7049071034661e09cb7e1e82250c Author: Jens Axboe Date: Fri Sep 11 22:44:29 2009 +0200 block: don't assume device has a request list backing in nr_requests store Stacked devices do not. For now, just error out with -EINVAL. Later we could make the limit apply on stacked devices too, for throttling reasons. This fixes 5a54cd13353bb3b88887604e2c980aa01e314309 and should go into 2.6.31 stable as well. Cc: stable@kernel.org Signed-off-by: Jens Axboe commit 3c5820c743479285ce2678fd3c12b1fd39fe998f Author: Martin K. Petersen Date: Fri Sep 11 21:54:52 2009 +0200 block: Optimal I/O limit wrapper Implement blk_limits_io_opt() and make blk_queue_io_opt() a wrapper around it. DM needs this to avoid poking at the queue_limits directly. Signed-off-by: Martin K. Petersen Signed-off-by: Mike Snitzer Signed-off-by: Jens Axboe commit 06d2188644c85c56d243efab914f368d1d23c4a3 Author: Jeff Moyer Date: Fri Sep 11 17:08:59 2009 +0200 cfq: choose a new next_req when a request is dispatched This patch addresses http://bugzilla.kernel.org/show_bug.cgi?id=13401, a regression introduced in 2.6.30. From the bug report: Signed-off-by: Jens Axboe commit a9327cac440be4d8333bba975cbbf76045096275 Author: Nikanth Karthikesan Date: Fri Sep 11 09:18:54 2009 +0200 Seperate read and write statistics of in_flight requests Currently, there is a single in_flight counter measuring the number of requests in the request_queue. But some monitoring tools would like to know how many read requests and write requests are in progress. Split the current in_flight counter into two seperate counters for read and write. This information is exported as a sysfs attribute, as changing the currently available stat files would break the existing tools. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit 18d8217bc441630c3c5ec7416c5a65c69e8a0979 Author: Ed Cashin Date: Thu Sep 10 22:30:47 2009 +0200 aoe: end barrier bios with EOPNOTSUPP BugLink: http://bugzilla.kernel.org/show_bug.cgi?id=13942 Bruno Premont noticed that aoe throws a BUG during umount of an XFS in 2.6.31: [ 5259.349897] aoe: bi_io_vec is NULL [ 5259.349940] ------------[ cut here ]------------ [ 5259.349958] kernel BUG at /usr/src/linux-2.6/drivers/block/aoe/aoeblk.c:177! [ 5259.349990] invalid opcode: 0000 [#1] The bio in question is a barrier. Jens Axboe suggested that such bios need to be recognized and ended with -EOPNOTSUPP by any driver that provides its own ->make_request_fn handler and does not handle barriers. In testing the changes below eliminate the BUG. (Better would be real barrier support, something that Ed says he'll add for later in the .32 cycle. For now, this at least gets rid of a bug with crashing on an empty barrier. Jens) Signed-off-by: Ed L. Cashin Signed-off-by: Jens Axboe commit 21f9a437222e92adb3abc68584a5f04801b92739 Author: Jerome Glisse Date: Fri Sep 11 15:55:33 2009 +0200 drm/radeon/kms: cleanup - remove radeon_share.h radeon_share.h was begining to give problem with include order in respect of radeon.h. It's easier and also i think cleaner to move what was in radeon_share.h into radeon.h. At the same time use the extern keyword for function shared accross the module. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit a4d68279b44522a2b2374a6bd4861756bfad40fe Author: Jerome Glisse Date: Fri Sep 11 13:00:43 2009 +0200 drm/radeon/kms: move mtrr range add and memory information Move mtrr range and memory information printing to radeon_object_init, this are memory information and initialization common to all GPU and they better fit in this function. Will also prevent code duplication with upcoming init path changes. airlied: fixed warning introduced Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 9f022ddfb23793b475ff7e57ac08a766dd5d31bd Author: Jerome Glisse Date: Fri Sep 11 15:35:22 2009 +0200 drm/radeon/kms: convert r4xx to new init path This convert r4xx to new init path it also fix few bugs. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 2fd5a021071ef54c503ab8d9894acae3eccf4f92 Author: Rafael Ignacio Zurita Date: Mon Sep 14 03:01:58 2009 +0000 sh: clkfwk: remove bogus set_bus_parent() from SH7709. This fixes up broken clock re-parenting undertaken by the SH7709 clock framework code, which is currently in conflict with the legacy CPG framework. With this change in place, the legacy CPG ancestry is used, and we manage to avoid contending on the clock_list_sem mutex, which is already held under the legacy registration path, resulting in livelock. In order for SH7709 to fully support the varying clock modes, it needs to implement a more complete clock framework. After this change it is in sync with legacy CPG mode, which ends up being the default configuration for this CPU anyways. Signed-off-by: Rafael Ignacio Zurita Signed-off-by: Paul Mundt commit 8a3d271deb0cc9c2fc47317d8e431046382939c9 Author: Eric Dumazet Date: Thu Sep 3 16:08:06 2009 +0200 slub: fix slab_pad_check() When SLAB_POISON is used and slab_pad_check() finds an overwrite of the slab padding, we call restore_bytes() on the whole slab, not only on the padding. Acked-by: Christoph Lameer Reported-by: Zdenek Kabelac Signed-off-by: Eric Dumazet Signed-off-by: Pekka Enberg commit fc8e1ead9314cf0e0f1922e661428b93d3a50d88 Merge: 2bcaa6a 9de48cc Author: Dmitry Torokhov Date: Sun Sep 13 21:16:56 2009 -0700 Merge branch 'next' into for-linus commit 4e6d0bffd3d72a32b620525c9007d2482c731775 Author: Eric Paris Date: Sat Sep 12 22:54:23 2009 -0400 SELinux: flush the avc before disabling SELinux Before SELinux is disabled at boot it can create AVC entries. This patch will flush those entries before disabling SELinux. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 008574b11171a1ee9583a00188e27ff9e0432061 Author: Eric Paris Date: Sat Sep 12 22:54:17 2009 -0400 SELinux: seperate avc_cache flushing Move the avc_cache flushing into it's own function so it can be reused when disabling SELinux. Signed-off-by: Eric Paris Signed-off-by: James Morris commit ed868a56988464cd31de0302426a5e94d3127f10 Author: Eric Paris Date: Sat Sep 12 22:54:10 2009 -0400 Creds: creds->security can be NULL is selinux is disabled __validate_process_creds should check if selinux is actually enabled before running tests on the selinux portion of the credentials struct. Signed-off-by: Eric Paris Signed-off-by: James Morris commit 4be36ca0cefc09725f52a9590d061399d3e524d7 Author: Benny Halevy Date: Thu Sep 10 12:25:46 2009 +0300 nfsd4: fix whitespace in NFSPROC4_CLNT_CB_NULL definition Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit f300baba5a1536070d6d77bf0c8c4ca999bb4f0f Author: Alexandros Batsakis Date: Thu Sep 10 17:33:30 2009 +0300 nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel [sunrpc: change idle timeout value for the backchannel] Signed-off-by: Alexandros Batsakis Signed-off-by: Benny Halevy Acked-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 8123e8f7c89a07cb22279b15bf47cdee0205d4a1 Merge: affbb8c 42960a1 a809dda Author: Jiri Kosina Date: Sun Sep 13 20:09:41 2009 +0200 Merge branches 'upstream', 'upstream-fixes' and 'debugfs' into for-linus commit f977bb4937857994312fff4f9c2cad336a36a932 Author: Ingo Molnar Date: Sun Sep 13 18:15:54 2009 +0200 perf_counter, sched: Add sched_stat_runtime tracepoint This allows more precise tracking of how the scheduler accounts (and acts upon) a task having spent N nanoseconds of CPU time. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 9de48cc300fb10f7d9faa978670becf5e352462a Author: Henrik Rydberg Date: Sun Sep 13 09:10:11 2009 -0700 Input: bcm5974 - silence uninitialized variables warnings Signed-off-by: Dmitry Torokhov commit 85927b0d5240dd2f48f1debf2797bd28ed4d112b Author: Dmitry Torokhov Date: Wed Sep 9 19:17:24 2009 -0700 Input: wistron_btns - add keymap for AOpen 1557 This one does not have anything useful in DMI either so again we need to use: force=1 keymap=aopen1557 Signed-off-by: Dmitry Torokhov commit c13f0d3c8165e9592102687fa999da0a0d9c3724 Author: Ingo Molnar Date: Sun Sep 13 16:51:04 2009 +0200 perf sched: Add 'perf sched trace', improve documentation Alias 'perf sched trace' to 'perf trace', for workflow completeness. Add a bit of documentation for perf sched. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 459ec28ab404d7afcd512ce9b855959ad301605a Author: Ingo Molnar Date: Sun Sep 13 17:33:44 2009 +0200 perf_counter: Allow mmap if paranoid checks are turned off Before: $ perf sched record -f sleep 1 Error: failed to mmap with 1 (Operation not permitted) After: $ perf sched record -f sleep 1 [ perf record: Captured and wrote 0.095 MB perf.data (~4161 samples) ] Note, this is only allowed if perfcounter_paranoid is set to the most permissive (non-default) value of -1. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1fc35b29b4098aa3bf9fc9acb4c1615d0b5dd95d Author: Ingo Molnar Date: Sun Sep 13 09:44:29 2009 +0200 perf sched: Implement the 'perf sched record' subcommand Implement the 'perf sched record' subcommand that adds a default list of events, turns on raw sampling and system-wide tracing and passes off the rest of the command to perf record. This is more convenient than having to specify the events all the time. Before: $ perf record -a -R -e sched:sched_switch:r -e sched:sched_stat_wait:r -e sched:sched_stat_sleep:r -e sched:sched_stat_iowait:r -e sched:sched_process_exit:r -e sched:sched_process_fork:r -e sched:sched_wakeup:r -e sched:sched_migrate_task:r -c 1 sleep 1 After: $ perf sched record -f sleep 1 Also fix an assumption in the event string parser that assumed that strings passed in can be modified. (In this case they wont be as they come from a readonly constant section.) Signed-off-by: Ingo Molnar commit b5fae128e41021889777f8ead810cbd2a8b249fc Author: Ingo Molnar Date: Fri Sep 11 12:12:54 2009 +0200 perf sched: Clean up PID sorting logic Use a sort list for thread atoms insertion as well - instead of hardcoded for PID. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit b1ffe8f3e0c96f5527a89e24410d6b0e59b3554a Author: Ingo Molnar Date: Fri Sep 11 12:12:54 2009 +0200 perf sched: Finish latency => atom rename and misc cleanups - Rename 'latency' field/variable names to the better 'atom' ones - Reduce the number of #include lines and consolidate them - Gather file scope variables at the top of the file - Remove unused bits No change in functionality. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit f2858d8ad9858e63c87257553c5721cba5db95ae Author: Ingo Molnar Date: Fri Sep 11 12:12:54 2009 +0200 perf sched: Add 'perf sched latency' and 'perf sched replay' Separate the option parsing cleanly and add two variants: - 'perf sched latency' (can be abbreviated via 'perf sched lat') - 'perf sched replay' (can be abbreviated via 'perf sched rep') Also add a repeat count option to replay and add a separation set of options for replay. Do the sorting setup only in the latency sub-command. Display separate help screens for 'perf sched' and 'perf sched replay -h' - i.e. further separation of the sub-commands. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit daa1d7a5eafc0a3a91a9add6a9a9f1bcaed63108 Author: Frederic Weisbecker Date: Sun Sep 13 03:36:29 2009 +0200 perf sched: Implement multidimensional sorting Implement multidimensional sorting on perf sched so that you can sort either by number of switches, latency average, latency maximum, runtime. perf sched -l -s avg,max (this is the default) ----------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------- gnome-power-man | 0.113 ms | 1 | avg: 4998.531 ms | max: 4998.531 ms | xfdesktop | 1.190 ms | 7 | avg: 136.475 ms | max: 940.933 ms | xfce-mcs-manage | 2.194 ms | 22 | avg: 38.534 ms | max: 735.174 ms | notification-da | 2.749 ms | 31 | avg: 27.436 ms | max: 731.791 ms | xfce4-session | 3.343 ms | 28 | avg: 26.796 ms | max: 734.891 ms | xfwm4 | 3.159 ms | 22 | avg: 12.406 ms | max: 241.333 ms | xchat | 42.789 ms | 214 | avg: 11.886 ms | max: 100.349 ms | xfce4-terminal | 5.386 ms | 22 | avg: 11.414 ms | max: 241.611 ms | firefox | 151.992 ms | 123 | avg: 9.543 ms | max: 153.717 ms | xfce4-panel | 24.324 ms | 47 | avg: 8.189 ms | max: 242.352 ms | :5090 | 6.932 ms | 111 | avg: 8.131 ms | max: 102.665 ms | events/0 | 0.758 ms | 12 | avg: 1.964 ms | max: 21.879 ms | Xorg | 280.558 ms | 340 | avg: 1.864 ms | max: 99.526 ms | geany | 63.391 ms | 295 | avg: 1.099 ms | max: 9.334 ms | reiserfs/0 | 0.039 ms | 2 | avg: 0.854 ms | max: 1.487 ms | kondemand/0 | 8.251 ms | 245 | avg: 0.691 ms | max: 34.372 ms | Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 7362262687b21b0d04927a7615c162a3d064849e Author: Frederic Weisbecker Date: Sun Sep 13 01:59:05 2009 +0200 perf sched: Fix nsec to msec conversion We are dividing a time in ns by 1e9. This is a nsec to sec conversion. What we want is msecs. Fix it by dividing by 1e6. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 66685678a03d0d8e8ba015472f280fb4f12f84c1 Author: Frederic Weisbecker Date: Sun Sep 13 01:56:25 2009 +0200 perf sched: Export the total, max latency and total runtime to thread atoms list Add a field in the thread atom list that keeps track of the total and max latencies and also the total runtime. This makes a faster output and also prepares for sorting. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit c6ced61112f1e6139914149fab65695801a74f0f Author: Frederic Weisbecker Date: Sun Sep 13 00:46:19 2009 +0200 perf sched: Add involuntarily sleeping task in work atoms Currently in perf sched, we are measuring the scheduler wakeup latencies. Now we also want measure the time a task wait to be scheduled after it gets preempted. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 175622053069afbd366ba3c6030b5af82f378d40 Author: Frederic Weisbecker Date: Sat Sep 12 23:11:32 2009 +0200 perf sched: Rename struct lat_snapshot to struct work atoms To measures the latencies, we capture the sched atoms data into a specific structure named struct lat_snapshot. As this structure can be used for other purposes of scheduler profiling and mirrors what happens in a thread work atom, lets rename it to struct work_atom and propagate this renaming in other functions and structures names to keep it coherent. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 3e304147cdb404ce6d1dd0e50cb19f52142bb363 Author: Ingo Molnar Date: Sat Sep 12 10:08:34 2009 +0200 perf sched: Output runtime and context switch totals After: ----------------------------------------------------------------------------------- Task | Runtime ms | Switches | Average delay ms | Maximum delay ms | ----------------------------------------------------------------------------------- make | 0.678 ms | 13 | avg: 0.018 ms | max: 0.050 ms | gcc | 0.014 ms | 2 | avg: 0.320 ms | max: 0.627 ms | gcc | 0.000 ms | 2 | avg: 0.185 ms | max: 0.369 ms | ... ----------------------------------------------------------------------------------- TOTAL: | 21.316 ms | 63 | --------------------------------------------- Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit ea92ed5a8f4e6c638efe7de2efe8a875d580ad3f Author: Ingo Molnar Date: Sat Sep 12 10:08:34 2009 +0200 perf sched: Add runtime stats Extend the latency tracking structure with scheduling atom runtime info - and sum it up during per task display. (Also clean up a few details.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit d9340c1db3f52460a8335eeb127a2728c5bba6ce Author: Ingo Molnar Date: Sat Sep 12 10:08:34 2009 +0200 perf sched: Display time in milliseconds, reorganize output After: ----------------------------------------------------------------------------------- Task | runtime ms | switches | average delay ms | maximum delay ms | ----------------------------------------------------------------------------------- migration/0 | 0.000 ms | 1 | avg: 0.047 ms | max: 0.047 ms | ksoftirqd/0 | 0.000 ms | 1 | avg: 0.039 ms | max: 0.039 ms | migration/1 | 0.000 ms | 3 | avg: 0.013 ms | max: 0.016 ms | migration/3 | 0.000 ms | 2 | avg: 0.003 ms | max: 0.004 ms | migration/4 | 0.000 ms | 1 | avg: 0.022 ms | max: 0.022 ms | distccd | 0.000 ms | 1 | avg: 0.004 ms | max: 0.004 ms | distccd | 0.000 ms | 1 | avg: 0.014 ms | max: 0.014 ms | distccd | 0.000 ms | 2 | avg: 0.000 ms | max: 0.000 ms | distccd | 0.000 ms | 2 | avg: 0.012 ms | max: 0.019 ms | distccd | 0.000 ms | 1 | avg: 0.002 ms | max: 0.002 ms | as | 0.000 ms | 2 | avg: 0.019 ms | max: 0.019 ms | as | 0.000 ms | 3 | avg: 0.015 ms | max: 0.017 ms | as | 0.000 ms | 1 | avg: 0.009 ms | max: 0.009 ms | perf | 0.000 ms | 1 | avg: 0.001 ms | max: 0.001 ms | gcc | 0.000 ms | 1 | avg: 0.021 ms | max: 0.021 ms | run-mozilla.sh | 0.000 ms | 2 | avg: 0.010 ms | max: 0.017 ms | mozilla-plugin- | 0.000 ms | 1 | avg: 0.006 ms | max: 0.006 ms | gcc | 0.000 ms | 2 | avg: 0.013 ms | max: 0.013 ms | ----------------------------------------------------------------------------------- (The runtime ms column is not filled in yet.) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 46f392c97f9fd772426ed3361c5179a0d44b8c3f Author: Ingo Molnar Date: Sat Sep 12 10:08:34 2009 +0200 perf sched: Clean up latency and replay sub-commands - Separate the latency and the replay commands more cleanly - Use consistent naming - Display help page on 'perf sched' outlining comments, instead of aborting Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit cdce9d738b91e1ec686e4ef6ca46d46e2891e208 Author: Frederic Weisbecker Date: Sat Sep 12 08:06:14 2009 +0200 perf sched: Add sched latency profiling Add the -l --latency option that reports statistics about the scheduler latencies. For now, the latencies are measured in the following sequence scope: - task A is sleeping (D or S state) - task B wakes up A ^ | | latency timeframe | | v - task A is scheduled in Start by recording every scheduler events: perf record -e sched:* and then fetch the results: perf sched -l Tasks count total avg max migration/0 2 39849 19924 28826 ksoftirqd/0 7 756383 108054 373014 migration/1 5 45391 9078 10452 ksoftirqd/1 2 399055 199527 359130 events/0 8 4780110 597513 4500250 events/1 9 6353057 705895 2986012 kblockd/0 42 37805097 900121 5077684 The snapshot are in nanoseconds. - Count: number of snapshots taken for the given task - Total: total latencies in nanosec - Avg : average of latency between wake up and sched in - Max : max snapshot latency Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 419ab0d6a959f41ec7fde807fe311aaafb05c3be Author: Frederic Weisbecker Date: Sat Sep 12 03:59:01 2009 +0200 perf sched: Make it easier to plug in new sub profilers Create a sched event structure of handlers in which various sched events reader can plug their own callbacks. This makes easier the addition of new perf sched sub commands. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 46538818023e8ea94f656acfa1e38297e2df20e2 Author: Frederic Weisbecker Date: Sat Sep 12 02:43:45 2009 +0200 perf sched: Fix bad event alignment perf sched raises the following error when it meets a sched switch event: perf: builtin-sched.c:286: register_pid: Assertion `!(pid >= 65536)' failed. Abandon Currently in x86-64, the sched switch events have a hole in the middle of the structure: u16 common_type; u8 common_flags; u8 common_preempt_count; u32 common_pid; u32 common_tgid; char prev_comm[16]; u32 prev_pid; u32 prev_prio; <--- there u64 prev_state; char next_comm[16]; u32 next_pid; u32 next_prio; Gcc inserts a 4 bytes hole there for prev_state to be u64 aligned. And the events are exported to userspace with this hole. But in userspace, from perf sched, we fetch it using a structure that has a new field in the beginning: u32 size. This is because our trace is exported with its size as a field. But now that we have this new field, the hole in the middle disappears because it makes prev_state becoming well aligned. And since we are using a pointer to the raw trace using this struct, instead of reading prev_state, we are reading the hole. We could fix it by keeping the size seperate from the struct but actually there a lot of other potential problems: some fields may be saved as long in a 64 bits system and later read as long in a 32 bits system. Also this direct cast doesn't care about the endianness differences between the host traced machine and the machine in which we do the post processing. So instead of using such dangerous direct casts, fetch the values using the trace parsing API that already takes care of all these problems. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit bcd3279f465cdcc1e0454b5f605f021c4ff4dbb5 Author: Frederic Weisbecker Date: Fri Sep 11 23:19:45 2009 +0200 perf tools: Allow the specification of all tracepoints at once Currently, when one wants to activate every tracepoint counters of a subsystem from perf record, the current sequence is needed: perf record -e subsys:ev1 -e subsys:ev2 -e subsys:ev3 This may annoy the most patient of us. Now we can just do: perf record -e subsys:* Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit ad236fd23b6d6372dcacd549983cce051d2ccff6 Author: Ingo Molnar Date: Fri Sep 11 12:12:54 2009 +0200 perf sched: Tighten up the code Various small cleanups - removal of debug printks and dead functions, etc. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit fbf9482911825f965829567aea8acff3bbc5279c Author: Ingo Molnar Date: Fri Sep 11 12:12:54 2009 +0200 perf sched: Implement the scheduling workload replay engine Integrate the schedbench.c bits with the raw trace events that we get from the perf machinery, and activate the workload replayer/simulator. Example of a captured 'make -j' workload: $ perf sched run measurement overhead: 90 nsecs sleep measurement overhead: 2724743 nsecs the run test took 1000081 nsecs the sleep test took 2981111 nsecs version = 0.5 ... nr_run_events: 70 nr_sleep_events: 66 nr_wakeup_events: 9 target-less wakeups: 71 multi-target wakeups: 47 run events optimized: 139 task 0 ( perf: 6607), nr_events: 2 task 1 ( perf: 6608), nr_events: 6 task 2 ( : 0), nr_events: 1 task 3 ( make: 6609), nr_events: 5 task 4 ( sh: 6610), nr_events: 4 task 5 ( make: 6611), nr_events: 6 task 6 ( sh: 6612), nr_events: 4 task 7 ( make: 6613), nr_events: 5 task 8 ( migration/11: 25), nr_events: 1 task 9 ( migration/13: 29), nr_events: 1 task 10 ( migration/15: 33), nr_events: 1 task 11 ( migration/9: 21), nr_events: 1 task 12 ( sh: 6614), nr_events: 4 task 13 ( make: 6615), nr_events: 5 task 14 ( sh: 6616), nr_events: 4 task 15 ( make: 6617), nr_events: 7 task 16 ( migration/3: 9), nr_events: 1 task 17 ( migration/5: 13), nr_events: 1 task 18 ( migration/7: 17), nr_events: 1 task 19 ( migration/1: 5), nr_events: 1 task 20 ( sh: 6618), nr_events: 4 task 21 ( make: 6619), nr_events: 5 task 22 ( sh: 6620), nr_events: 4 task 23 ( make: 6621), nr_events: 10 task 24 ( sh: 6623), nr_events: 3 task 25 ( gcc: 6624), nr_events: 4 task 26 ( gcc: 6625), nr_events: 4 task 27 ( gcc: 6626), nr_events: 5 task 28 ( collect2: 6627), nr_events: 5 task 29 ( sh: 6622), nr_events: 1 task 30 ( make: 6628), nr_events: 7 task 31 ( sh: 6630), nr_events: 4 task 32 ( gcc: 6631), nr_events: 4 task 33 ( sh: 6629), nr_events: 1 task 34 ( gcc: 6632), nr_events: 4 task 35 ( gcc: 6633), nr_events: 4 task 36 ( collect2: 6634), nr_events: 4 task 37 ( make: 6635), nr_events: 8 task 38 ( sh: 6637), nr_events: 4 task 39 ( sh: 6636), nr_events: 1 task 40 ( gcc: 6638), nr_events: 4 task 41 ( gcc: 6639), nr_events: 4 task 42 ( gcc: 6640), nr_events: 4 task 43 ( collect2: 6641), nr_events: 4 task 44 ( make: 6642), nr_events: 6 task 45 ( sh: 6643), nr_events: 5 task 46 ( sh: 6644), nr_events: 3 task 47 ( sh: 6645), nr_events: 4 task 48 ( make: 6646), nr_events: 6 task 49 ( sh: 6647), nr_events: 3 task 50 ( make: 6648), nr_events: 5 task 51 ( sh: 6649), nr_events: 5 task 52 ( sh: 6650), nr_events: 6 task 53 ( make: 6651), nr_events: 4 task 54 ( make: 6652), nr_events: 5 task 55 ( make: 6653), nr_events: 4 task 56 ( make: 6654), nr_events: 4 task 57 ( make: 6655), nr_events: 5 task 58 ( sh: 6656), nr_events: 4 task 59 ( gcc: 6657), nr_events: 9 task 60 ( ksoftirqd/3: 10), nr_events: 1 task 61 ( gcc: 6658), nr_events: 4 task 62 ( make: 6659), nr_events: 5 task 63 ( sh: 6660), nr_events: 3 task 64 ( gcc: 6661), nr_events: 5 task 65 ( collect2: 6662), nr_events: 4 ------------------------------------------------------------ #1 : 256.745, ravg: 256.74, cpu: 0.00 / 0.00 #2 : 439.372, ravg: 275.01, cpu: 0.00 / 0.00 #3 : 411.971, ravg: 288.70, cpu: 0.00 / 0.00 #4 : 385.500, ravg: 298.38, cpu: 0.00 / 0.00 #5 : 366.526, ravg: 305.20, cpu: 0.00 / 0.00 #6 : 381.281, ravg: 312.81, cpu: 0.00 / 0.00 #7 : 410.756, ravg: 322.60, cpu: 0.00 / 0.00 #8 : 368.009, ravg: 327.14, cpu: 0.00 / 0.00 #9 : 408.098, ravg: 335.24, cpu: 0.00 / 0.00 #10 : 368.582, ravg: 338.57, cpu: 0.00 / 0.00 I.e. we successfully analyzed the trace, replayed it via real threads and measured the replayed workload's scheduling properties. This is how it looked like in 'top' output: PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7164 mingo 20 0 1434m 8080 888 R 57.0 0.1 0:02.04 :perf 7165 mingo 20 0 1434m 8080 888 R 41.8 0.1 0:01.52 :perf 7228 mingo 20 0 1434m 8080 888 R 39.8 0.1 0:01.44 :gcc 7225 mingo 20 0 1434m 8080 888 R 33.8 0.1 0:01.26 :gcc 7202 mingo 20 0 1434m 8080 888 R 31.2 0.1 0:01.16 :sh 7222 mingo 20 0 1434m 8080 888 R 25.2 0.1 0:00.96 :sh 7211 mingo 20 0 1434m 8080 888 R 21.9 0.1 0:00.82 :sh 7213 mingo 20 0 1434m 8080 888 D 19.2 0.1 0:00.74 :sh 7194 mingo 20 0 1434m 8080 888 D 18.6 0.1 0:00.72 :make There's still various kinks in it - more patches to come. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit ec156764d424dd67283c2cd5e9f6f1b8388364ac Author: Ingo Molnar Date: Fri Sep 11 12:12:54 2009 +0200 perf sched: Import schedbench.c Import the schedbench.c tool that i wrote some time ago to simulate scheduler behavior but never finished. It's a good basis for perf sched nevertheless. Most of its guts are not hooked up to the perf event loop yet - that will be done in the patches to come. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 0a02ad9331dd4db56c29c60db2e99c4daaad8a48 Author: Ingo Molnar Date: Fri Sep 11 12:12:54 2009 +0200 perf: Add 'perf sched' tool This turn-key tool allows scheduler measurements to be conducted and the results be displayed numerically. First baby step towards that goal: clone the new command off of perf trace. Fix a few other details along the way: - add (minimal) perf trace documentation - reorder a few places - list perf trace in the mainporcelain list as well as it's a very useful utility. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 60ba77022712c7cda0eda286154bae160446b24a Author: Steven Rostedt Date: Sat Sep 12 23:34:04 2009 -0400 tracing: add filter event logic to special, mmiotrace and boot tracers Now that the pluging tracers use macros to create the structures and automate the exporting of their formats to the format files, they also automatically get a filter file. This patch adds the code to implement the filter logic in the trace recordings. Signed-off-by: Steven Rostedt commit 51df5fcbc1296a84cf1c093c6cb56d40ca3e697e Author: Steven Rostedt Date: Sat Sep 12 20:29:22 2009 -0400 tracing: remove trace_event_types.h The macros in trace_entries.h have made the code in trace_event_types.h obsolete. The file is no longer used, so this patch removes it. Signed-off-by: Steven Rostedt commit 4e5292ea1ac0c2939e815e6c44fad3d8696ea281 Author: Steven Rostedt Date: Sat Sep 12 19:26:21 2009 -0400 tracing: use the new trace_entries.h to create format files This patch changes the way the format files in debugfs/tracing/events/ftrace/*/format are created. It uses the new trace_entries.h file to automate the creation of the format files to ensure that they are always in sync with the actual structures. This is the same methodology used to create the format files for the TRACE_EVENT macro. This also updates the filter creation that was built on the creation of the format files. Signed-off-by: Steven Rostedt commit d73150943cf47b6cabcb4f4e52dd25975e820ae2 Author: Steven Rostedt Date: Sat Sep 12 19:22:23 2009 -0400 tracing: show details of structures within the ftrace structures Some of the internal ftrace structures use structures within. The output of a field saying it is just a structure is useless for a format file. A binary reader of the ring buffer needs to know more about how the fields are broken up. This patch adds to the ftrace structure macros new fields to describe the structures inside a structure. Signed-off-by: Steven Rostedt commit 0a1c49db8d91c538f104f8d70e560c6fdd589bd4 Author: Steven Rostedt Date: Sat Sep 12 19:17:15 2009 -0400 tracing: use macros to create internal ftrace entry ring buffer structures The entries used by ftrace internal code (plugins) currently have their formats manually exported to userspace. That is, the format files in debugfs/tracing/events/ftrace/*/format are currently created by hand. This is a maintenance nightmare, and can easily become out of sync with what is actually shown. This patch uses the methodology of the TRACE_EVENT macros to build the structures so that their formats can be automated and this will keep the structures in sync with what users can see. This patch only changes the way the structures are created. Further patches will build off of this to automate the format files. Signed-off-by: Steven Rostedt commit 16bb8eb1b73bf940d30ff88cae622bfcd3790f61 Author: Steven Rostedt Date: Sat Sep 12 19:04:54 2009 -0400 tracing: allow filter predicates to handle ksym symbols This patch increases the max string used by predicates to handle KSYM_SYMBOL_LEN. Also moves an include to look nicer. Signed-off-by: Steven Rostedt commit 95b696088c1cf152c3bb62560bbe3a441922d68b Author: Tom Zanussi Date: Thu Sep 10 23:13:51 2009 -0500 tracing/filters: add filter Documentation Documentation for event filters and formats. v2 changes: fix a few problems noticed by Randy Dunlap. Reviewed-by: Li Zefan Acked-by: Randy Dunlap Signed-off-by: Tom Zanussi LKML-Reference: <1252642431.8016.9.camel@tropicana> Signed-off-by: Steven Rostedt commit 558e6547e4b8a2b13608a24a9d3679802f91c4c7 Author: Li Zefan Date: Mon Aug 24 12:19:47 2009 +0800 tracing/profile: fix profile_disable vs module_unload If the correspoding module is unloaded before ftrace_profile_disable() is called, event->profile_disable() won't be called, which can cause oops: # insmod trace-events-sample.ko # perf record -f -a -e sample:foo_bar sleep 3 & # sleep 1 # rmmod trace_events_sample # insmod trace-events-sample.ko OOPS! Signed-off-by: Li Zefan LKML-Reference: <4A9214E3.2070807@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 4818d80942b7c0021d213b7c5f1a14a832820a01 Author: Jiri Olsa Date: Wed Jul 29 10:58:37 2009 +0200 tracing/function-graph: x86_64 stack allocation cleanup Only 24 bytes needs to be reserved on the stack for the function graph tracer on x86_64. Signed-off-by: Jiri Olsa LKML-Reference: <20090729085837.GB4998@jolsa.lab.eng.brq.redhat.com> Signed-off-by: Steven Rostedt commit 4b3b4c5e64ce26612646867ee354373620063534 Author: John Reiser Date: Mon Jul 27 11:23:50 2009 -0700 ftrace: __start_mcount_loc should be .init.rodata __start_mcount_loc[] is unused after init, yet occupies RAM forever as part of .rodata. 152kiB is typical on a 64-bit architecture. Instead, __start_mcount_loc should be in the interval [__init_begin, __init_end) so that the space is reclaimed after init. __start_mcount_loc[] is generated during the load portion of kernel build, and is used only by ftrace_init(). ftrace_init is declared '__init' and is in .init.text, which is freed after init. __start_mcount_loc is placed into .rodata by a call to MCOUNT_REC inside the RO_DATA macro of include/asm-generic/vmlinux.lds.h. The array *is* read-only, but more importantly it is not used after init. So the call to MCOUNT_REC should be moved from RO_DATA to INIT_DATA. This patch has been tested on x86_64 with CONFIG_DEBUG_PAGEALLOC=y which verifies that the address range never is accessed after init. Signed-off-by: John Reiser LKML-Reference: <4A6DF0B6.7080402@bitwagon.com> Signed-off-by: Steven Rostedt commit b5130b1e7d3717d03ab1916b198bf0d49fa0a619 Author: Carsten Emde Date: Sun Sep 13 01:43:07 2009 +0200 tracing: do not update tracing_max_latency when tracer is stopped The state of the function pair tracing_stop()/tracing_start() is correctly considered when tracer data are updated. However, the global and externally accessible variable tracing_max_latency is always updated - even when tracing is stopped. The update should only occur, if tracing was not stopped. Signed-off-by: Carsten Emde Signed-off-by: Steven Rostedt commit 41dfba4367109b92d92ec6e059be6950497d932f Author: Carsten Emde Date: Sun Sep 13 01:41:31 2009 +0200 tracing: remove unused local variables in tracer probe functions When the nsecs_to_usecs() conversion in probe_wakeup_sched_switch() and check_critical_timing() was moved to a later stage in order to avoid unnecessary computing, it was overlooked to remove the original variables, assignments and comments.. Signed-off-by: Carsten Emde Signed-off-by: Steven Rostedt commit fe63b94a430c0c8058de317f0a8ce921c69dbee4 Author: Carsten Emde Date: Sat Sep 12 00:05:37 2009 +0200 tracing: prevent NULL pointer dereference in ftrace_raw_event_block_bio_bounce Booting 2.6.31 and executing echo 1 >/sys/kernel/debug/tracing/events/enable leads to BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] ftrace_raw_event_block_bio_bounce+0x4b/0xb9 Apparently, bio = bio_map_user(q, NULL, uaddr, len, reading, gfp_mask); is called in block/blk-map.c:58 where bio->bi_bdev in set to NULL and still is NULL when an attempt is made to evaluate bio->bi_bdev->bd_dev in include/trace/events/block.h:189. The tracepoint should ensure bio->bi_bdev is not dereferenced, if NULL. Signed-off-by: Carsten Emde LKML-Reference: <4AAAC9B1.9060505@osadl.org> Signed-off-by: Steven Rostedt commit 7e8e16ca39801279697c6cb6195710ba7653bfc2 Author: Mauro Carvalho Chehab Date: Tue Sep 8 14:07:05 2009 -0300 V4L/DVB (12713): em28xx: Cleanups at ir_i2c handler There are some extra parenthesis at the clauses, and some switch() tests for boards that don't have i2c ir. Remove those extra code. Signed-off-by: Mauro Carvalho Chehab commit ac07bb73fe226ae2088f060c63829afddb3f2403 Author: Mauro Carvalho Chehab Date: Tue Sep 8 14:04:41 2009 -0300 V4L/DVB (12712): em28xx: properly load ir-kbd-i2c when needed Currently, the logic to load ir i2c ancillary module is broken. It is associated to Hauppauge devices with IR flag on their eeprom, no matter if the device uses i2c or em28xx direct IR support. That's wrong. Instead, add a flag to the boards that use i2c IR chips and load the module only for those devices and if ir is not disabled. Signed-off-by: Mauro Carvalho Chehab commit 7aedd5ec87686c557d48584d69ad880c11a0984d Author: Mauro Carvalho Chehab Date: Mon Sep 7 02:22:01 2009 -0300 V4L/DVB (12701): saa7134: ir-kbd-i2c init data needs a persistent object ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers, Dustin Mitchell, Andy Walls and Jean Delvare to rise this question. Before this patch, if ir-kbd-i2c were probed after SAA7134, trash data were used. Compile tested only, but the patch is identical to em28xx one. So, it should work properly. Signed-off-by: Mauro Carvalho Chehab commit 78f2e672b37ae8935ec0b97cedbc2d877ffa0c5f Author: Andy Walls Date: Sat Sep 5 10:58:37 2009 -0300 V4L/DVB (12699): cx18: ir-kbd-i2c initialization data should point to a persistent object ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers for pointing out a solution, and Dustin Mitchell for testing against a 2.6.30 kernel. Reported-by: Dustin Mitchell Reported-by: Brian Rogers Tested-by: Dustin Mitchell Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d2ebd0f806fdb6104903365e355675934eec22b2 Author: Mauro Carvalho Chehab Date: Mon Sep 7 02:16:47 2009 -0300 V4L/DVB (12698): em28xx: ir-kbd-i2c init data needs a persistent object ir-kbd-i2c's ir_probe() function can be called much later (i.e. at ir-kbd-i2c module load), than the lifetime of a struct IR_i2c_init_data allocated off of the stack in cx18_i2c_new_ir() at registration time. Make sure we pass a pointer to a persistent IR_i2c_init_data object at i2c registration time. Thanks to Brian Rogers, Dustin Mitchell, Andy Walls and Jean Delvare to rise this question. Before this patch, if ir-kbd-i2c were probed after em28xx, trash data were used. After the patch, no matter what order, it is properly reported as tested by me: input: i2c IR (i2c IR (EM2840 Hauppaug as /class/input/input10 ir-kbd-i2c: i2c IR (i2c IR (EM2840 Hauppaug detected at i2c-4/4-0030/ir0 [em28xx #0] Signed-off-by: Mauro Carvalho Chehab commit 4d708a5e9e5db74da28965fa00082d8c9323f523 Author: Brian Johnson Date: Thu Sep 3 19:10:15 2009 -0300 V4L/DVB (12707): gspca - sn9c20x: Add SXGA support to MT9M111 Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit 13a84fa4de7c050b27f14d39720f8b036cecde24 Author: Brian Johnson Date: Thu Sep 3 19:07:13 2009 -0300 V4L/DVB (12706): gspca - sn9c20x: disable exposure/gain controls for MT9M111 sensors. Using the MT9M111's IFP to handle exposure/gain gives better results. Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit e8b7acc18045afd52c801e196e6a04aefc252795 Author: Brian Johnson Date: Wed Sep 2 13:14:41 2009 -0300 V4L/DVB (12705): gspca - sn9c20x: Add SXGA support to SOI968 Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit 58aa68c2fbdc3d025a3aff280935ede66dbcdc3e Author: Joe Perches Date: Wed Sep 2 01:12:13 2009 -0300 V4L/DVB (12703): gspca - sn9c20x: Reduces size of object Use s16 instead of int where possible. Use struct instead of arrays Signed-off-by: Joe Perches Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit e14304712939133d58a5132501e80509658e0449 Author: Brian Johnson Date: Wed Sep 2 12:39:41 2009 -0300 V4L/DVB (12704): gspca - sn9c20x: Fix exposure on SOI968 sensors Fixes broken exposure on SOI968 webcams that was causing the camera to display a black screen Signed-off-by: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit f077b0a64856c5b3bf346ae9fba8631c1fb210cf Author: Jean-Francois Moine Date: Tue Sep 1 14:52:04 2009 -0300 V4L/DVB (12696): gspca - sonixj / sn9c102: Two drivers for 0c45:60fc and 0c45:613e. Let 0c45:60fc in sn9c102 and 0c45:613e in gspca-sonixj (sensor not supported). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ae310ee1090113edeb46dfb6f07ab125046ec50c Author: Jean-Francois Moine Date: Tue Sep 1 14:02:22 2009 -0300 V4L/DVB (12695): gspca - vc032x: Do the LED work with the sensor hv7131r. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 0ee7e4d6d4f58c3b2d9f0ca8ad8f63abda8694b1 Author: Jean-Francois Moine Date: Tue Sep 1 13:49:05 2009 -0300 V4L/DVB (12694): gspca - vc032x: Change the start exchanges of the sensor hv7131r. The new exchanges are taken from the information file of the ms-win driver (usbvm326.inf - webcam 15b8:6002). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 760f2713cb09c532154d41ae6f2d32e787580758 Author: Jean-Francois Moine Date: Wed Sep 2 06:04:14 2009 -0300 V4L/DVB (12693): gspca - sunplus: The brightness is signed. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 2e1794b51b3917d09412a118711ef994ea72a403 Author: Jean-Francois Moine Date: Mon Aug 31 06:15:22 2009 -0300 V4L/DVB (12692): gspca - sunplus: Optimize code. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1f78a976ce18bc98e8b509cee04c5b3756098614 Author: Jean-Francois Moine Date: Sat Aug 29 07:11:58 2009 -0300 V4L/DVB (12691): gspca - sonixj: Don't use mdelay(). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit b5948bee1332eff719c074a760f99da9f02c7308 Author: Stephane Marguet (Stemp) Date: Tue Aug 25 04:14:04 2009 -0300 V4L/DVB (12690): gspca - pac7311: Webcam 06f8:3009 added. Signed-off-by: Stephane Marguet (Stemp) Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f51fad85af7b296b56031747c873c309b24ff77c Author: Janne Grunau Date: Tue Sep 1 19:24:08 2009 -0300 V4L/DVB (12686): dvb-core: check supported QAM modulations Check the modulation in dvb_frontend_check_parameters against frontend's capabilties for FE_QAM devices. Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 01886255ddf440eb21d3388bfc5343c966904d0e Author: Janne Grunau Date: Tue Sep 1 19:23:09 2009 -0300 V4L/DVB (12685): dvb-core: check fe->ops.set_frontend return value Various frontend driver have parameter checks in their set_frontend functions and return an error if the parameters are not supported, tda10021 and cx24116 to name two. The tuning ioctls FE_SET_FRONTEND/FE_SET_PROPERTY only change values in the property cache and return before set_frontend is called. If a set_frontend call in software zigzag algorithm fails and the card was previously locked it will report a lock and the new parameters but is still tuned to the old transport. This is not detectable from userspace. This change checks the return values of fe->ops.set_frontend and changes the state to the added FESTATE_ERROR for software zigzag. No lock will be reported to userspace if the State is FESTATE_ERROR. Signed-off-by: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 4457ef1d6163533073efdebed82a049aad44e3b3 Author: Janne Grunau Date: Tue Sep 1 19:15:39 2009 -0300 V4L/DVB (12684): DVB: make DVB_MAX_ADAPTERS configurable Support for more than 8 DVB devices is requested regularly so make it a kconfig variable instead of a header define. Values in the range 4-32 are tested. Signed-off-by: Janne Grunau Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9089b0f9ed48be9c83101d1f1fded37b415a90e Author: Hans de Goede Date: Thu Sep 3 04:14:36 2009 -0300 V4L/DVB (12627): gspca_mr97310a: Add one more vivitar mini cam to the list of CIF cams gspca_mr97310a: Add one more vivitar mini cam to the list of CIF cams Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 780287061b844aa44833b3e7d1a6b760e7aff2f6 Author: Hans de Goede Date: Wed Sep 2 09:55:16 2009 -0300 V4L/DVB (12626): gspca_mr97310a: Allow overriding of detected sensor type gspca_mr97310a: Allow overriding of detected sensor type Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 1e3c1f7695a446742e24ea1f0c80715be98edbc4 Author: Hans de Goede Date: Mon Aug 31 11:32:46 2009 -0300 V4L/DVB (12625): Add new V4L2_FMT_FLAG_EMULATED flag to videodev2.h V4L2_FMT_FLAG_EMULATED 0x0002 This format is not native to the device but emulated through software (usually libv4l2), where possible try to use a native format instead for better performance. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 823902defe89b1de8caab1ae82c8916feeb19b01 Author: Hans de Goede Date: Mon Aug 17 12:25:17 2009 -0300 V4L/DVB (12624): gspca_mr97310a: Use correct register for CIF type 1 sensor gain settings gspca_mr97310a: Use correct register for CIF type 1 sensor gain settings Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit a2e081b64ed5ea344bdfe6115059c08f3d0b26f6 Author: Hans de Goede Date: Fri Aug 14 17:11:36 2009 -0300 V4L/DVB (12623): gspca_mr97310a: Add controls for CIF type 0 sensor cams gspca_mr97310a: Add controls for CIF type 0 sensor cams Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 5494378911df767d408df28524a19a1617154ea3 Author: Hans de Goede Date: Fri Aug 14 11:05:38 2009 -0300 V4L/DVB (12622): gspca_mr97310a: make the probing a bit less chatty gspca_mr97310a: make the probing a bit less chatty Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 5f5e26b1e6c23f23e9b116a4439437e752e56eb7 Author: Hans de Goede Date: Fri Aug 14 10:40:26 2009 -0300 V4L/DVB (12621): gspca_mr97310a: Move detection of CIF sensor type to probe() function gspca_mr97310a: Move detection of CIF sensor type to probe() function, so that the right controls are set to disabled from the start, rather then having them disappear all of a sudden when the stream is started. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 9ac6978a10a22499f6333d55364809f4ddb32b0c Author: Hans de Goede Date: Fri Aug 14 10:15:52 2009 -0300 V4L/DVB (12620): gspca_mr97310a: cleanup/fixup control handling gspca_mr97310a: cleanup/fixup control handling Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 58d0b2f66e2495429bc7c4e7c8b0f02fe4a7c260 Author: Hans de Goede Date: Fri Aug 14 06:56:32 2009 -0300 V4L/DVB (12619): gspca: mr97310a fix detection of sensortype for vivicam with id byte of 0x53 gspca: mr97310a fix detection of sensortype for vivicam with id byte of 0x53 Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 89f0863c4225aaed2763f526815c54a9e1b0f788 Author: Theodore Kilgore Date: Fri Aug 14 06:51:52 2009 -0300 V4L/DVB (12618): gspca: mr97310a add support for CIF and more VGA camera's This patch adds supports for mr97310a camera's with CIF sensors (2 different types) and for VGA mr97310a camera with a different sensor then supported until now. This patch also add support for controls for one of the 2 CIF sensors, this was written by Thomas Kaiser Signed-off-by: Theodore Kilgore Signed-off-by: Thomas Kaiser Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 0e4a90993dceffa881ee6d42266eb3080b7fad04 Author: Hans de Goede Date: Wed Jul 29 08:03:17 2009 -0300 V4L/DVB (12617): gspca_pac207: enable higher framerates / lower exposure settings Now that we've figured out the higher compression settings (supported in libv4l-0.6.0 and later, so after this patch the driver should be used with libv4l-0.6.0 or higher only!), we can enable higher framerates. Which means lower exposure times, which is important for the use of the pac207 in full daylight. This patch also tweakes the brightness default and the per color gain balances to use the values which are adviced by Pixart in the pac207 application note. Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit c529e556f64951a9d50f39e39c4be04ae43f5499 Author: Hans de Goede Date: Wed Jul 29 08:02:50 2009 -0300 V4L/DVB (12616): gspca_pac207: remove a number of unneeded (repeated) register writes gspca_pac207: remove a number of unneeded (repeated) register writes Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 8d81ae243158b0ac8b2c1646d5adcbdf26a260bc Author: Hans Verkuil Date: Mon Aug 31 17:57:52 2009 -0300 V4L/DVB (12613): cx25840: fix determining the firmware name Depending on the model there are three different firmwares to choose from. Unfortunately if a cx23885 is loaded first, then the global firmware name is overwritten with that firmware and if ivtv is loaded next, then it tries to load the wrong firmware. In addition, the original approach would also overwrite any firmware that the user specified explicitly. Cc: Jarod Wilson Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a65f3159244f27ce6ff84dd1bb641079acdbd396 Author: Hans Verkuil Date: Mon Aug 31 17:21:04 2009 -0300 V4L/DVB (12612): si4713: simplify the code to remove a compiler warning. The compiler warned about an uninitialized stereo variable. By simplifying the code it 1) improved readability and 2) fixed the compiler warning. Acked-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a4c1cbc7819e890d4c2bc2b79b6cbf0fd9cad699 Author: Mauro Carvalho Chehab Date: Sat Aug 29 22:03:47 2009 -0300 V4L/DVB (12600): dvb-usb-remote: return KEY_RESERVED if there's free space for new keys The input subsystem checks if get_keycode works for a scan code. Due to that, we need to return a valid value when there's some space at the table that can be used by a scancode. Signed-off-by: Mauro Carvalho Chehab commit b77f0a76304dae754003b0a84fb4f66bf9934c97 Author: Mauro Carvalho Chehab Date: Sat Aug 29 15:27:29 2009 -0300 V4L/DVB (12599): dvb-usb-remote: Allow dynamically replacing the IR keycodes Implements handler for EVIOCGKEYCODE/EVIOCSKEYCODE via adding two new callbacks to the input device. Since on dvb-usb a scan code has 16 bits, to fulfill rc5 standard codes, the default getkeycode/setkeycode input methods would require the driver to spend up to 64 Kb of a sparse table. Instead, add two new callbacks to the event device. With this, it is now possible to replace the keycode tables. There are, however, a few implementation details at the current patch: 1) It will replace the existing device keytable, instead of creating an instance of the data. This works. However, if two devices pointing to the same table were connected, changing the IR table of one will also change the IR table for the other (the solution for this one is simple: just kmalloc some memory); 2) In order to change the scan code, you need first to change the key to KEY_RESERVED or KEY_UNKNOWN to free some space at the table (solution: allocate some additional space for newer scan codes or allow dynamic table grow); 3) The table size cannot be extended. It would be easy to allow the table to grow dynamically: just calling kmalloc(size+1); kfree(old). Yet, maybe we can just create a bigger table with a fixed size, like for example a table with 128 entries. This should be enough even for a very big IR. The current issues should be addressed on a later patch. Signed-off-by: Mauro Carvalho Chehab commit 2e3658836efad06662968bd6373c72df06c4b2f1 Author: Mauro Carvalho Chehab Date: Sat Aug 29 15:19:31 2009 -0300 V4L/DVB (12598): dvb-usb: store rc5 custom and data at the same field In order to be closer to V4L IR implementation, it is needed to replace u8 custom, data to: u16 scan This allows using non-rc5 mappings, like the 8 bit keycodes used on older protocols. It will also allow future implementations of rc6 keystrokes when needed. Signed-off-by: Mauro Carvalho Chehab commit 715a223323c8c8bcbe7739e20f6c619f7343b595 Author: Mauro Carvalho Chehab Date: Sat Aug 29 14:15:55 2009 -0300 V4L/DVB (12595): common/ir: use a struct for keycode tables Currently, V4L uses a scancode table whose index is the scancode and the value is the keycode. While this works, it has some drawbacks: 1) It requires that the scancode to be at the range 00-7f; 2) keycodes should be masked on 7 bits in order for it to work; 3) due to the 7 bits approach, sometimes it is not possible to replace the default keyboard to another one with a different encoding rule; 4) it is different than what is done with dvb-usb approach; 5) it requires a typedef for it to work. This is not a recommended Linux CodingStyle. This patch is part of a larger series of IR changes. It basically replaces the IR_KEYTAB_TYPE tables by a structured table: struct ir_scancode { u16 scancode; u32 keycode; }; This is very close to what dvb does. So, a further integration with DVB code will be easy. While we've changed the tables, for now, the IR keycode handling is still based on the old approach. The only notable effect is the redution of about 35% of the ir-common module size: text data bss dec hex filename 6721 29208 4 35933 8c5d old/ir-common.ko 5756 18040 4 23800 5cf8 new/ir-common.ko In thesis, we could be using above u8 for scancode, reducing even more the size of the module, but defining it as u16 is more convenient, since, on dvb, each scancode has up to 16 bits, and we currently have a few troubles with rc5, as their scancodes are defined with more than 8 bits. This patch itself shouldn't be doing any functional changes. Signed-off-by: Mauro Carvalho Chehab commit 47f7f6fb7949b6546baf4b6f26bf0ca075d12759 Author: Jean-Francois Moine Date: Tue Aug 25 06:14:54 2009 -0300 V4L/DVB (12501): gspca - sonixj: Do the ov7660 sensor work again. - bad sensor power - bad edge gain/threshold - set back the auto gain - light frequency filter inverted Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 5706934967e4d98e531615b116c86e2b01b858b8 Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:14:45 2009 -0300 V4L/DVB (12469): fix bad whitespaces at cx88_geniatech_x8000_mt It were using 7 spaces instead of tab for indent. Signed-off-by: Mauro Carvalho Chehab commit 6d888a66be1c50c2f5193c53d6ea556e01dd60e3 Author: Mauro Carvalho Chehab Date: Sun Aug 30 13:05:56 2009 -0300 V4L/DVB (12591): em28xx: Add entry for GADMEI UTV330+ and related IR keymap [mchehab@redhat.com: Fix a few wrong IR keymaps] Signed-off-by: Shine Liu Signed-off-by: Mauro Carvalho Chehab commit 23389b8852e32824186c76fa4d87f818268adca1 Author: Eugene Yudin Date: Sat Aug 29 09:32:11 2009 -0300 V4L/DVB (12589): Add support for RoverMedia TV Link Pro FM This patch add support for RoverMedia TV Link Pro FM (LR138 REV:I) card based on saa7134. Signed-off-by: Eugene Yudin Signed-off-by: Mauro Carvalho Chehab commit 2012c87f8346ebf322826c3de5126d917ed75281 Author: Dmitri Belimov Date: Wed Aug 26 01:01:12 2009 -0300 V4L/DVB (12587): Add support BeholdTV X7 card Add support our new TV card based on xc5000 and saa7134. Analog TV works well. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 736dadaa17218b6e516053ee896dbb075eadba4b Author: Oldřich Jedlička Date: Sat Aug 22 15:13:51 2009 -0300 V4L/DVB (12586): Update ALSA capture controls according to selected source. The patch introduces new snd_saa7134_capsrc_set (code taken from snd_saa7134_capsrc_put) that updates also the ALSA capture controls during snd_card_saa7134_capture_prepare and snd_saa7134_capsrc_put. There can be much more work done in order to unify the control of the card (now the card's capture source is tuned/switched in saa7134-video.c too), but I don't have enough time. This work could be a starting point, but it can be applied as-is too (it doesn't need any further work to make it working). Signed-off-by: Oldřich Jedlička Signed-off-by: Mauro Carvalho Chehab commit ed44f66e4039dfc8fb7905078d546c83adf76811 Author: Mauro Carvalho Chehab Date: Sat Aug 22 14:43:50 2009 -0300 V4L/DVB (12585): Add remote support to cph03x bttv card Hello kernel developers. I found a bug report from an user in launchpad. I just copy it here. It includes patch. I don't own the necessary hardware to test it but the patch looks trivial. I'm not subscribed to this list, so please CC me. Thanks! Here is the text: """ remote control for my tv card doesnt work I have Askey CPH03x TV Capturer. When I load bttv module with "card=59" option which is proper for this tv card, I can watch tv with sound but my remote control doesnt work. There is no ir event in /proc/bus/input/device . When bttv module is loaded with "card=137" option remote control works very well. $ cat /proc/bus/input/devices ....... ........ : Bus=0001 Vendor=109e Product=0350 Version=0001 N: Name="bttv IR (card=137)" P: Phys=pci-0000:00:0d.0/ir0 S: Sysfs=/devices/pci0000:00/0000:00:0d.0/input/input144 U: Uniq= H: Handlers=kbd event6 B: EV=100003 B: KEY=2c0814 100004 0 0 0 4 2008000 2090 2001 1e0000 4400 0 ffc Unfortunately there is no sound. """ https://bugs.launchpad.net/ubuntu/+bug/239733 http://bugzilla.kernel.org/show_bug.cgi?id=11995 -- Signed-off-by: Mauro Carvalho Chehab commit 200e861c511ded56783a3032f9d41fc6f1474e7a Author: James A Webb Date: Tue Aug 4 02:38:05 2009 -0300 V4L/DVB (12584): Support for Kaiser Baas ExpressCard Dual HD Tuner The card is reported as YUAN High-Tech Development Co., Ltd STK7700D [mchehab@redhat.com: fix merge conflicts and properly name USB PID] Cc: Patrick Boettcher Signed-off-by: James A Webb Signed-off-by: Mauro Carvalho Chehab commit 96e242a594961d40c9b2be3f16d6d83e2091c8e7 Author: Stefan Richter Date: Sat Aug 1 08:05:16 2009 -0300 V4L/DVB (12583): firedtv: combine some debug logging code Shrinks source and kernel object size a bit. Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 15344779b28f8ba12d769a4aa62d48c9ea1f4ce5 Author: Henrik Kurelid Date: Sat Aug 1 08:04:06 2009 -0300 V4L/DVB (12582): The current AVC debugging can clog the log down a lot since many applications tend to check the signal strength very often. This patch enables users to select which AVC messages to log using a bitmask. In addition, it also enables the possibility to debug application PMTs sent to the driver. This will be usable since the CA support is still poorly tested for lots of CAMs and CA systems. Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 81016b496ee75cfb13d346ee58176d36a5f9c191 Author: Michael Krufky Date: Thu Aug 27 16:58:06 2009 -0300 V4L/DVB (12578): tda18271: allow drivers to request RF tracking filter calibration during attach On certain master / slave dual tuner configurations, tuning performance improves when the RF tracking filter calibration is performed sequentially. This patch allows for the bridge driver to specify this behavior in the configuration structure at attach-time. The "cal" module option will continue to override this attach-time configuration: set cal=0 to prevent RF tracking filter calibration on startup, and set cal=1 to force it. Signed-off-by: Michael Krufky Reviewed-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit ee8145d5634da4e062f8693f59695b0b2ed6e60d Author: Michael Krufky Date: Wed Aug 26 22:43:16 2009 -0300 V4L/DVB (12577): tda18271: remove excess whitespace from tda_foo printk macros remove excess spacing from the tda_foo printk macros & line things up better Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1b6b73336dbb3c6513ce7d8454b279fd96603126 Author: Michael Krufky Date: Wed Aug 26 22:43:16 2009 -0300 V4L/DVB (12576): tda18271: simplify debug printk macros Rename dprintk to tda_dprintk to be consistent with the other tda_foo macros. Move KERN_DEBUG facility level to tda_dprintk. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8e30ddcf2fbd2ec68ec42156d9a04d946d195b54 Author: Roel Kluin Date: Wed Aug 26 22:13:43 2009 -0300 V4L/DVB (12575): Fix test of bandwidth range in cx22700_set_tps() For the bandwidth to be less than 8 MHZ and greater than 6 MHZ is logically impossible. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5a5e1da579beb38fa8bf7d0a80cfa027cd7a2751 Author: Vasiliy Temnikov Date: Wed Aug 26 22:10:55 2009 -0300 V4L/DVB (12574): support AverMedia Studio 505 Added support to AverMedia Studio 505 [dougsland@redhat.com: fixed rejects and removed the change to add dk as default secam variant] [mchehab@redhat.com: fix a few CodingStyle issues] Signed-off-by: Vasiliy Temnikov Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5bc53a9f91d15628b65761e43234137904627642 Author: Dmitri Belimov Date: Wed Aug 26 22:06:28 2009 -0300 V4L/DVB (12573): FM1216MK5 FM radio Implement Philips FM1216MK5. 1. Implement get_stereo function. 2. Add correct data byte for FM radio mode Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 092315a76ca28a2e8e09b071f1c0efb83bafc234 Author: Mauro Carvalho Chehab Date: Sat Aug 29 09:48:21 2009 -0300 V4L/DVB (12567): ir-keymaps: use KEY_CAMERA for snapshots KEY_CAMERA is already used for a long time with webcam drivers to take a picture. On other media drivers, due to the lack of a snapshot button, random KEY codes were sent, being KEY_SHUFFLE the most used one, probably due to cut-and-paste from other remotes, since one of them uses the same key for snapshot and shuffle. The better is to use KEY_CAMERA on all drivers solving this issue. This follows the IR standard map as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers Signed-off-by: Mauro Carvalho Chehab commit cd748871fe5e689cd9917f561967bf4c63960e66 Author: Mauro Carvalho Chehab Date: Sat Aug 29 09:37:00 2009 -0300 V4L/DVB (12566): ir-keymaps: Fix IR mappings for channel and volume +/- keys Use standard definitions for channel controls, as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers While here, fix a few broken up/down/left/right mappings Signed-off-by: Mauro Carvalho Chehab commit f545cb43942d0556958af9f35cc06cdd42a78971 Author: Mauro Carvalho Chehab Date: Sat Aug 29 09:06:07 2009 -0300 V4L/DVB (12565): ir-keymaps: standardize timeshift key Each remote were using a different keycode for timeshift. Use the same keycode for all of them, using the map as defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers Signed-off-by: Mauro Carvalho Chehab commit 62f1aa9f98dca68d5393d555faa8a038bb91cedc Author: Mauro Carvalho Chehab Date: Sat Aug 29 09:01:54 2009 -0300 V4L/DVB (12564): ir-keymaps: Replace most KEY_[A-Z] to the proper definitions There are several IR's that were using IR to type a letter that it is known by some random application. Instead, the better is to use the standard definitions found at: http://linuxtv.org/wiki/index.php/Remote_Controllers And, if needed, submit a patch for the application to understand the media keys. Signed-off-by: Mauro Carvalho Chehab commit 7f9d6913619eebc84bb447e8f4635c331fd373d8 Author: Mauro Carvalho Chehab Date: Sat Aug 29 08:43:20 2009 -0300 V4L/DVB (12563): ir-keymaps: add a link to the IR standard layout page While we're still discussing it, let's point to the wiki page. In the future, this should be added at V4L2 API spec DocBooks. Signed-off-by: Mauro Carvalho Chehab commit 88d25a1ee47fb6fcb5073240e48c340b2409a85e Author: Mauro Carvalho Chehab Date: Sat Aug 29 08:37:58 2009 -0300 V4L/DVB (12562): ir-keymaps: replace KEY_KP[0-9] to KEY_[0-9] This is needed to match the standard mapping defined at: http://linuxtv.org/wiki/index.php/Remote_Controllers#Remote_Controllers Signed-off-by: Mauro Carvalho Chehab commit a83520f432a335ff12f260e9cf3602eabb64ee48 Author: Mauro Carvalho Chehab Date: Thu Aug 27 09:54:44 2009 -0300 V4L/DVB (12560): Fix a number of EXPORT_SYMBOL warnings Make Checkpatch tool happy: -:2349: WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable On all cases, it were just a blank line at the wrong place. Yet, fixing it is trivial Signed-off-by: Mauro Carvalho Chehab commit 5d35364e3163531bf08984091bcaf605337efa6a Author: Mauro Carvalho Chehab Date: Thu Aug 27 09:50:21 2009 -0300 V4L/DVB (12559): Properly indent comments with tabs Signed-off-by: Mauro Carvalho Chehab commit 3b82bddb15d677653a9e0c790fba4dde0e5488fa Author: Mauro Carvalho Chehab Date: Thu Aug 27 09:31:30 2009 -0300 V4L/DVB (12558): CodingStyle: Use [0x0f] instead of [ 0x0f ] Signed-off-by: Mauro Carvalho Chehab commit 97fd4f7fb62b018ff7afc0aea8cfffa2d79e59cd Author: Mauro Carvalho Chehab Date: Thu Aug 27 09:28:48 2009 -0300 V4L/DVB (12557): Use C99 comment CodingStyle The ir-keymaps.c has frequent additions. As people tend to copy an old keyboard entry, a bad CodingStyle at an ancient entry may result on a freshly bad CodingStyle patch. So, better to fix the CodingStyle for the entire file. This patch is the first of a series of patches fixing it, generated by some perl magic plus manual handling. Signed-off-by: Mauro Carvalho Chehab commit 436e7e7c07ff153be6ee22220f47c7fa62176a26 Author: Eduardo Valentin Date: Sat Aug 8 09:01:34 2009 -0300 V4L/DVB (12554): FM TX: si4713: Add document file This patch adds a document file for si4713 device driver. It describes the driver interfaces and organization. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 9c9dbedf397c704dd694f6066af114d373a75a5d Author: Hans Verkuil Date: Sat Aug 8 09:00:37 2009 -0300 V4L/DVB (12553): FM TX: si4713: Add Kconfig and Makefile entries Simply add Makefile and Kconfig entries. [hverkuil@xs4all.nl: auto-select I2C_SI4713] Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 02bee89e79b1302776e32214b8ca96a00c70c446 Author: Eduardo Valentin Date: Sat Aug 8 08:46:53 2009 -0300 V4L/DVB (12552): FM TX: si4713: Add files to handle si4713 i2c device This patch adds files to control si4713 devices. Internal functions to control device properties and initialization procedures are into these files. Also, a v4l2 subdev interface is also exported. This way other drivers can use this as v4l2 i2c subdevice. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1fd2121c08eeef2e9a792719628a467e0fe97b96 Author: Eduardo Valentin Date: Sat Aug 8 08:45:49 2009 -0300 V4L/DVB (12551): FM TX: si4713: Add files to add radio interface for si4713 This patch adds files which creates the radio interface for si4713 FM transmitter (modulator) devices. In order to do the real access to device registers, this driver uses the v4l2 subdev interface exported by si4713 i2c driver. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fdf82dc2e2d43cf135b5fd352dea523642bb553a Author: Eduardo Valentin Date: Tue Aug 11 18:49:12 2009 -0300 V4L/DVB (12549): v4l2: video device: Add FM TX controls default configurations This patch adds basic configurations for FM TX extended controls. That includes controls names, menu strings, pointer identification, type classification and flags configuration. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b4249413abb634d9b2ff44c685da744f02e49d1 Author: Eduardo Valentin Date: Sat Aug 8 08:38:58 2009 -0300 V4L/DVB (12548): v4l2: video device: Add V4L2_CTRL_CLASS_FM_TX controls This patch adds a new class of extended controls. This class is intended to support FM Radio Modulators properties such as: rds, audio limiters, audio compression, pilot tone generation, tuning power levels and preemphasis properties. Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d6bacea6cfc3bb8a385f8c4104ee6b3d5768af8a Author: Eduardo Valentin Date: Sat Aug 8 08:34:18 2009 -0300 V4L/DVB (12547): v4l2-subdev.h: Add g/s_modulator callbacks to subdev api Signed-off-by: Eduardo Valentin Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6b5a9492ca0c991bab1ac495624e17520e9edf18 Author: Hans Verkuil Date: Tue Aug 11 18:47:18 2009 -0300 V4L/DVB (12543): v4l: introduce string control support. The upcoming RDS encoder needs support for string controls. This patch implements the core implementation. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a138ebcf826b9cbf6683e1db25905d7cd89e2dd1 Author: hermann pitton Date: Wed Aug 19 22:30:58 2009 -0300 V4L/DVB (12492): saa7134-input: don't probe for the Pinnacle remotes anymore With the recent improvements we don't need to probe anymore, if we know the i2c address of the receiver. The address of the receiver for the remote with the gray buttons is not confirmed anywhere, but it is very unlikely to see it on something else. We want to have that information anyway. BTW, those remaining still probing, please join. Signed-off-by: hermann pitton Signed-off-by: Mauro Carvalho Chehab commit 821c777080c43710a3ddbf8bcd708093191b1630 Author: Oliver Neukum Date: Wed Aug 19 16:41:59 2009 -0300 V4L/DVB (12491): remove unnecessary power management primitive in stk-webcam This patch removes an unneeded power management primitive. Power management is automatically enabled as probe ends. Signed-off-by: Oliver Neukum Signed-off-by: Mauro Carvalho Chehab commit 7b54360293c9d72b54e462d146c9376287d2f71b Author: Oldřich Jedlička Date: Tue Aug 18 16:24:54 2009 -0300 V4L/DVB (12490): Report only 32kHz for ALSA There are several reasons: - SAA7133/35 uses DDEP (DemDec Easy Programming mode), which works in 32kHz only - SAA7134 for TV mode uses DemDec mode (32kHz) - Radio works in 32kHz only - When recording 48kHz from Line1/Line2, switching of capture source to TV means switching to 32kHz without any frequency translation Signed-off-by: Oldřich Jedlička Acked-by: hermann pitton Signed-off-by: Mauro Carvalho Chehab commit 89dec01b7e251697720ac3d6a5310d72359eba69 Author: Dmitry Torokhov Date: Fri Aug 14 02:22:52 2009 -0300 V4L/DVB (12489): pwc - fix few use-after-free and memory leaks I just happen to peek inside the PWC driver and did not like what I saw there. Please consider applying the patch below. Signed-off-by: Mauro Carvalho Chehab commit 35c3057bb71ba0683e6f1268f3663099d8454e5f Author: Dmitri Belimov Date: Mon Aug 10 21:47:29 2009 -0300 V4L/DVB (12488): Add RDS config for BeholdTV cards Add config of RDS part for the BeholdTV tuners. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit 7ae26889635d0708bb2a0b5d21f99368abc2366c Author: Dmitri Belimov Date: Mon Aug 10 04:48:16 2009 -0300 V4L/DVB (12487): Fix control AC-3 of the 6752HS Fix error for AC-3 control of the 6752HS MPEG-2 coder. Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Mauro Carvalho Chehab commit ad5f74c0ad9afcc9a20f35850aa5170768c64a0c Author: Igor M. Liplianin Date: Wed Jul 29 19:18:28 2009 -0300 V4L/DVB (12486): cx88: fix TBS 8920 card support It does matter to set explicitly gpio0 value in cx88_board structure for TBS 8920 card. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit decee2e8a9538ae5476e6cb3f4b7714c92a04a2b Author: Aleksandr V. Piskunov Date: Sun Aug 2 16:01:19 2009 -0300 V4L/DVB (12485): zl10353: correct implementation of FE_READ_UNCORRECTED_BLOCKS Makes zl10353 a bit more DVB API compliant: FE_READ_UNCORRECTED_BLOCKS - keep a counter of UNC blocks FE_GET_FRONTEND - return last set frequency instead of zero Signed-off-by: Aleksandr V. Piskunov Signed-off-by: Mauro Carvalho Chehab commit 75b697f747b14b0c6afae48ee0f5e605abd2df4c Author: Julia Lawall Date: Sat Aug 1 16:48:41 2009 -0300 V4L/DVB (12483): 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/) // @haskernel@ @@ @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit 166987c6987a25a95cef6889d24088f0eb2daa36 Author: Henrik Kurelid Date: Sat Aug 1 08:02:38 2009 -0300 V4L/DVB (12482): firedtv: add PID filtering for SW zigzag retune The AVC protocol uses the same command for tuning and PID filtering and since dvb-core uses a software zigzagging to do automatic retuning this could cause all PID filters to be cleared. PID filter information is now included in all DSD commands to the card. Background: There is a problem in the firedtv driver that causes recordings to stop if the SW zigzag algorithm in dvb-core kicks in with a retune after the application has set up the PID filters. Since tuning and setting PID filters uses the same AVC command (DSD) and only the replace subfunction is supported by the card, it is not possible to do a retune without setting the PID filters. This means that the PID filtering has to be sent in each tune. This problem applies to C and T cards since S and S2 cards tune using a vendor specific command. The patch corrects the problem by sending the PID list in each tune. I have tested it on my T card with a good result. How to trigger problem: Zap to a channel and output AV to a file, e.g. "tzap -c channels.conf SVT1 -r -o SVT1.ts". After a short while, pull the antenna cable from the card. The lock on the channel will disappear and the TS file will stop increasing in size. Wait a couple of seconds. Replug the cable again. You will get a lock on the channel again, but the TS file will never increase in size agains sinze no PIDS are filtered. Tested with kaffeine with DVB-T and DVB-C: Fixes retuning after antenna was plugged out and back in with DVB-T. Does not fix this with DVB-C, but also doesn't regress on DVB-C. Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 114323ede9e84a64327b74ff6f7da5576c9ae361 Author: Julian Scheel Date: Fri Jul 31 13:40:43 2009 -0300 V4L/DVB (12481): Fix lowband tuning with tda8261 Attached is a patch which fixes tuning to low frequency channels with stb0899+tda8261 cards like the KNC TV-Station DVB-S2. The cause of the issue was a broken if construct, which should have been an if/else if, so that the setting for the lowest matching frequency is applied. Without this patch for example tuning to "arte" on Astra 19.2, 10744MHz SR22000 failed most times and when it failed the communication between driver and tda8261 was completely broken. This problem disappears with the attached patch. Signed-off-by: Julian Scheel Signed-off-by: Mauro Carvalho Chehab commit c92f056308c4a77a833e1cc1e16c1b68974483a6 Author: Mart Raudsepp Date: Fri Jul 24 13:45:41 2009 -0300 V4L/DVB: af9015: add new USB ID for KWorld PlusTV Dual DVB-T Stick (DVB-T 399U) Add new USB ID (1b80:e400) for KWorld PlusTV Dual DVB-T Stick (DVB-T 399U). The model number on the devices sticker label is "KW-DVB-T 399UR". Signed-off-by: Mart Raudsepp Acked-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab commit d6f76b979c9f83aaf2fa3d51eb5b175690f7acbc Author: Mauro Carvalho Chehab Date: Wed Jul 22 00:02:29 2009 -0300 V4L/DVB (12478): ARRAY_SIZE changes These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ [mchehab@redhat.com: fix a merge conflict] Signed-off-by: Stoyan Gaydarov Signed-off-by: Mauro Carvalho Chehab commit 3227c860b6c96f97671e9373c14a280429956928 Author: Julia Lawall Date: Tue Jul 21 13:47:46 2009 -0300 V4L/DVB (12477): Use dst_type field instead of type_flags It seems from other code that it is the dst_type field rather than the type_flags field that contains values of the form DST_TYPE_IS... The type_flags field contains values of the form DST_TYPE_HAS... The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct dst_state E; @@ ( *E.type_flags == \( DST_TYPE_IS_SAT\|DST_TYPE_IS_TERR\|DST_TYPE_IS_CABLE\|DST_TYPE_IS_ATSC \) | *E.type_flags != \( DST_TYPE_IS_SAT\|DST_TYPE_IS_TERR\|DST_TYPE_IS_CABLE\|DST_TYPE_IS_ATSC \) ) // Cc: Manu Abraham Signed-off-by: Julia Lawall Signed-off-by: Mauro Carvalho Chehab commit ce212f052fa2fe1a5e71af13be63667e1916d084 Author: Nam Phạm Thành Date: Sun Jul 12 11:51:10 2009 -0300 V4L/DVB (12475): Add support for Humax/Coex DVB-T USB Stick 2.0 High Speed This patch adds support for Humax/Coex DVB-T USB Stick 2.0 High Speed which is a very popular tuner sold in Vietnam. Tested with at least 3 tuners. Cc: Patrick Boettcher Signed-off-by: Pham Thanh Nam Signed-off-by: Mauro Carvalho Chehab commit 1c2ca352944e1899e72a39cc640d874dfa008a1b Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:20:06 2009 -0300 V4L/DVB (12472): hdpvr-control: fix bad whitespaces It were using 7 spaces instead of tab for indent. Cc: Janne Grunau Signed-off-by: Mauro Carvalho Chehab commit 272ece5e798b7ff0d9bc083fe7df2e960e8d5db8 Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:18:29 2009 -0300 V4L/DVB (12471): stv06xx: fix bad whitespaces It were using 7 spaces instead of tab for indent. Cc: Erik Andren Signed-off-by: Mauro Carvalho Chehab commit 8ccd4cd07e36bd8529010a520865fa275c3051f0 Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:15:48 2009 -0300 V4L/DVB (12470): cx231xx/cx231xx-conf-reg.h: fix bad whitespaces It were using 7 spaces instead of tab for indent. Signed-off-by: Mauro Carvalho Chehab commit dfb4ba1e13061b655cb2d077f621fc87cf4e920f Author: Mauro Carvalho Chehab Date: Thu Aug 20 10:13:40 2009 -0300 V4L/DVB (12468): saa7134: Fix bad whitespacing The changeset 0b17d0ed that aded ASUSTeK P7131 Analog were using 7 spaces instead of tab, probably due to some bad cut-and-paste. Signed-off-by: Mauro Carvalho Chehab commit b24ed7b662351c8ea5c4b3dbc879c9971e721070 Author: Mauro Carvalho Chehab Date: Thu Aug 20 09:38:44 2009 -0300 V4L/DVB (12466): Kconfig files: Fix improper use of whitespaces On VIDEO_M52790 and USB_GSPCA_SN9C20X, instead of tab, it were using 7 whitespaces at the beginning, probably due to some cut-and-paste trouble. Signed-off-by: Mauro Carvalho Chehab commit 3c1c48bbcf892e97c4e965b8528f4d735bf9a746 Author: Andrzej Hajda Date: Thu Jul 2 11:50:35 2009 -0300 V4L/DVB (12465): cx88: High resolution timer for Remote Controls Patch solves problem of missed keystrokes on some remote controls, as reported on http://bugzilla.kernel.org/show_bug.cgi?id=9637 . Signed-off-by: Andrzej Hajda Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit ecfcfec80493097967aa40e3433d65a8ff65c86b Author: Igor M. Liplianin Date: Thu Aug 13 21:42:21 2009 -0300 V4L/DVB (12463): Add support for Compro VideoMate S350 DVB-S PCI card. Add Compro VideoMate S350 DVB-S driver. The card uses zl10313, zl10039, saa7130 integrated circuits. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit d0a1ddad1c9723f4a61e9b216c4c34ac03344fdd Author: Igor M. Liplianin Date: Sat Jun 20 09:54:18 2009 -0300 V4L/DVB (12462): Add TeVii S630 USB DVB-S card support. The card includes Intel ce5039(Zarlink zl10039) tuner and Intel ce6313 (Zarlink zl10313) demod. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 2ccf5a9906564cd06facc846c32d065752268dcf Author: Igor M. Liplianin Date: Sat Jun 20 09:51:48 2009 -0300 V4L/DVB (12461): Add ce5039(zl10039) tuner support. The code from Jan D. Louw with some minor changes. http://article.gmane.org/gmane.linux.drivers.dvb/38163 Tested with TeVii S630 DVB-S USB card by me (Igor) Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 3040b043423c1726a14595d500f6409070b1e722 Author: Theodore Kilgore Date: Mon Aug 3 04:13:23 2009 -0300 V4L/DVB (12459): gspca - jeilinj: New subdriver for Jeilin chip. Signed-off-by: Theodore Kilgore Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 9d7530d53d6cd8b50efc8dcecad4febe8ae53fd4 Author: Hans Verkuil Date: Wed Aug 12 10:10:20 2009 -0300 V4L/DVB (12455): radio-typhoon: remove obsolete RADIO_TYPHOON_PROC_FS config option Thanks to Robert P.J. Day for finding this. Thanks-to: Robert P.J. Day Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 17d8dfe8c8a23dfadd714315465d992410bebd88 Author: Mauro Carvalho Chehab Date: Fri Aug 14 01:45:57 2009 -0300 V4L/DVB (12452): gspca/Kconfig: Fix bad identation for USB_GSPCA_SN9C20X_EVDEV Signed-off-by: Mauro Carvalho Chehab commit 8cd9aaefad5968f8f5aff3852a67870550ce941d Author: Devin Heitmueller Date: Mon Aug 3 23:56:51 2009 -0300 V4L/DVB (12444): em28xx: add support for Terratec Cinergy Hybrid T USB XS remote control Add support for the remote control that comes with the Cinergy Hybrid T USB XS Thanks to Jelle de Jong for providing sample hardware to test with. Cc: Jelle de Jong Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab commit 4d14c833c0d5f926721da1e0b07287ab8b64f0ba Author: Vlastimil Labsky Date: Mon Aug 10 22:15:54 2009 -0300 V4L/DVB (12439): cx88: add support for WinFast DTV2000H rev. J I updated and simplyfied patch from Zbynek Hrabovsky for recent kernel. It enables autodetection of card, sound in analog TV , sound in FM radio and switching between antenna and cable RF input. Radio tuner still doesn't work, I don't even know how it works. Some guys wrote me that FM radio works with TV tuner used instead of radio part (symlink video0 -> radio0). Cc: Gerd Knorr Signed-off-by: Vlastimil Labsky Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit bd0eb12f61fef7f500e374b8d5068e7556f61901 Author: Roel Kluin Date: Sat Aug 8 12:58:52 2009 -0300 V4L/DVB (12435): strlcpy() will always null terminate the string. Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit a35c87c7084f3f4972f3ce5f23cfcb34f95341b1 Author: Douglas Schilling Landgraf Date: Thu Aug 6 12:52:11 2009 -0300 V4L/DVB (12434): em28xx: fix empire auto-detect Fixed eeprom hash table Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit eb2de30b318ae583fef113cac94150924ae1ed6b Author: Hans Verkuil Date: Fri Aug 7 05:50:02 2009 -0300 V4L/DVB (12427): cx24113: fix mips compiler warning do_div requires an u64 as the first argument, not a s64. Signed-off-by: Hans Verkuil Acked-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f19b56a8eb54d758bff94ae6a1b4f79335155238 Author: Hans Verkuil Date: Fri Aug 7 05:32:20 2009 -0300 V4L/DVB (12426): pvrusb2: fix compile warning Signed-off-by: Hans Verkuil Acked-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit 6bf1a997ed135df322e64b6f604227f6fdc54865 Author: David T.L. Wong Date: Wed Aug 5 13:07:10 2009 -0300 V4L/DVB (12423): cxusb, d680 dmbth use unified lgs8gxx code instead of lgs8gl5 Use unified lgs8gxx frontend instead of reverse engineered lgs8gl5 frontend. After this patch, lgs8gl5 frontend could be mark as deprecated. Future development should base on unified lgs8gxx frontend. Signed-off-by: David T.L. Wong Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit b807d17555dcc4ea28abadd4d647ba0c4d822cdb Author: Julia Lawall Date: Tue Aug 4 22:00:24 2009 -0300 V4L/DVB (12421): drivers/media/video/gspca: introduce missing kfree Error handling code following a kmalloc should free the allocated data. Signed-off-by: Julia Lawall Acked-by: Erik Andrén Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 46058128ff57db466ec132cb7de76cf9ecbd3dd3 Author: hermann pitton Date: Tue Aug 4 20:11:43 2009 -0300 V4L/DVB (12420): saa7134: fix the radio on Avermedia GO 007 FM We have support for radio on saa7133/35/31e cards with tda8290/8275(a) and 5.5MHz ceramic filter on the bridge chips since a while. It was previously not tested, if this card supports it too, but the old "ghost" radio with wrong filters doesn't work anymore. Thanks go to Pham Thanh Nam and Laszlo Kustan for reporting it working on that input. Signed-off-by: hermann pitton Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 4786dd65fc354cae804635726c2768b8559a51bf Author: Beholder Intl. Ltd. Dmitry Belimov Date: Tue Aug 4 20:07:42 2009 -0300 V4L/DVB (12419): Fix incorrect type of tuner for the BeholdTV H6 card Define correct tuner in config. Radio now works fine Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 9dcb79c2eedb5b3ec50f73bd531fb6dd52c94bfc Author: Tobias Lorenz Date: Mon Aug 10 18:44:14 2009 -0300 V4L/DVB (12417): I2C cleanups and version checks The structure and comments of the I2C part have been adopted to fit to the USB part. Some additional cleanups and precisements have been made to the version detection and checking functionality to clearly separate HW/SW/FW version. Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit cc35bbddfe10f77d949f0190764b252cd2b70c3c Author: Joonyoung Shim Date: Sun Aug 9 14:23:35 2009 -0300 V4L/DVB (12416): radio-si470x: add i2c driver for si470x This patch supports i2c interface of si470x. The i2c specific part exists in radio-si470x-i2c.c file and the common part uses radio-si470x-common.c file. The '#if defined' is inserted inevitably because of parts used only si470x usb in the common file. The current driver version doesn't support the RDS. Signed-off-by: Joonyoung Shim Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 3c7cc8d52c0bd60d214aca22772aa3602a2b3198 Author: Joonyoung Shim Date: Sun Aug 9 14:23:02 2009 -0300 V4L/DVB (12415): radio-si470x: add disconnect check function The si470x_disconnect_check is function to check disconnect state of radio in common file. The function is implemented in each interface file. Signed-off-by: Joonyoung Shim Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit a9d6fd5e316f1bbed08278c88cb984a2616a0278 Author: Joonyoung Shim Date: Sun Aug 9 14:22:41 2009 -0300 V4L/DVB (12414): radio-si470x: change to dev_* macro from printk This patch is for using dev_* macro instead of printk. Signed-off-by: Joonyoung Shim Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit b09cd16354454daa1f047b4982691a3826787a0b Author: Joonyoung Shim Date: Sun Aug 9 14:22:20 2009 -0300 V4L/DVB (12413): radio-si470x: separate common and usb code This patch is a preceding work to add the i2c interface of si470x. The si470x directory includes a common file and usb specific file and header file. The part unrelated with usb interface and i2c interface exists in radio-si470x-common.c file, and The usb specific part exists in radio-si470x-usb.c file. Signed-off-by: Joonyoung Shim [tobias.lorenz@gmx.net: Small changes, due to new include "linux/smp_lock.h"] Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 4efa2d75d4a3b86c2d47c422237c848d1f04ba58 Author: Mauro Carvalho Chehab Date: Sun Aug 9 19:39:23 2009 -0300 V4L/DVB (12408): em28xx: Implement g/s_register via address match Signed-off-by: Mauro Carvalho Chehab commit c53d83ccc8a180d05f6f930167a4acd4a9694e5d Author: Pete Hildebrandt Date: Wed Aug 5 11:46:38 2009 -0300 V4L/DVB (12396): [patch] Added Support for STK7700D (DVB) This patch adds support for the STK7700D USB-DVB-Device. lsusb identifies it as: idVendor 0x1164 YUAN High-Tech Development Co., Ltd idProduct 0x1efc iProduct 2 STK7700D The device is build into a Samsung R55-T5500 notebook. Signed-off-by: Pete Hildebrandt Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0b0157398eb5c0786567b11fcf651147b0892c81 Author: Eberhard Mattes Date: Sun Aug 2 15:44:37 2009 -0300 V4L/DVB (12388): dvb-usb: fix tuning with Cinergy T2 cinergyInitialize param.flags. Signed-off-by: Eberhard Mattes Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit bb2c818fae1dfdb6bea6e4f80b391656101bbd38 Author: Jean-Francois Moine Date: Sun Aug 2 06:56:47 2009 -0300 V4L/DVB (12383): gspca - vc032x: Bad h/v flip controls when inverted by default. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d40a1da2b4eb8f798175fdf98d92b83746a31a31 Author: Marton Nemeth Date: Wed Jul 29 05:01:54 2009 -0300 V4L/DVB (12382): gspca - main: Remove vidioc_s_std(). The vidioc_s_std() is not necessary when vdev->tvnorms == 0. Signed-off-by: Marton Nemeth Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8e113595edf0741b45ba10ba88cb5d077787c155 Author: Laurent Pinchart Date: Wed Jul 1 20:24:47 2009 -0300 V4L/DVB (12379): uvcvideo: Multiple streaming interfaces support Restructure the UVC descriptors parsing code to handle multiple streaming interfaces. The driver now creates a uvc_video_chain instance for each chain detected in the UVC control interface descriptors, and tries to register one video device per streaming endpoint. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 35f02a681b72ece756cf005e17f305a72329c140 Author: Laurent Pinchart Date: Sun Jun 28 08:37:50 2009 -0300 V4L/DVB (12378): uvcvideo: Restructure the driver to support multiple simultaneous streams. As a first step towards multiple streaming interfaces support, reorganize the driver's data structures to cleanly separate video control and video streaming data. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 6c428b578b15a1dbf40832d3aeed43761940b81f Author: Mauro Carvalho Chehab Date: Tue Aug 4 19:52:37 2009 -0300 V4L/DVB (12376): em28xx: fix V4L2 API compliance: don't expose audio inputs for devices without it V4L2 API (chapter 1.5) states that: Drivers must implement all input ioctls when the device has one or more inputs, all output ioctls when the device has one or more outputs. When the device has any audio inputs or outputs the driver must set the V4L2_CAP_AUDIO flag in the struct v4l2_capability returned by the VIDIOC_QUERYCAP ioctl. So, devices without audio input should return -EINVAL. Signed-off-by: Mauro Carvalho Chehab commit 00c1e2167e3163d2e193644b7d768f06d2a8c279 Author: Jiri Slaby Date: Thu Jul 30 20:00:44 2009 -0300 V4L/DVB (12373): hdpvr: fix lock imbalances There are many lock imbalances in this driver. Fix all found. Signed-off-by: Jiri Slaby Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit b9ab3508efa57905ae037ddf48c97ea6ed74b799 Author: Jiri Slaby Date: Tue Jul 28 11:56:33 2009 -0300 V4L/DVB (12372): saa7134: fix lock imbalance There seems to be one superfluos unlock in a poll function. Remove it. Signed-off-by: Jiri Slaby Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 575f9af89952c7e7703e48666d95609daaf99630 Author: Mhayk Whandson Date: Tue Jul 28 11:53:20 2009 -0300 V4L/DVB (12370): v4l doc: fix cqcam source code path Fixed the c-qcam source code path in the linux kernel tree. Signed-off-by: Mhayk Whandson Signed-off-by: Randy Dunlap Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 085575a325de87b4931a43c9d0a75ca0d3ba5075 Author: Oliver Neukum Date: Tue Jul 28 11:52:10 2009 -0300 V4L/DVB (12369): stv680: kfree called before usb_kill_urb The irq handler will touch memory. Even in the error case some URBs may complete. Thus no memory must be kfreed before all URBs are killed. Signed-off-by: Oliver Neukum Acked-by: Greg Kroah-Hartman Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit f5d887ae60ea1b05fcdab65e51e1ef88398ed274 Author: Andy Walls Date: Tue Jul 28 11:50:14 2009 -0300 V4L/DVB (12368): ir-kbd-i2c: Add support for Z8F0811/Hauppage IR transceivers This patch adds support for Zilog Z8F0811 IR transceiver chips on CX2341[68] based boards to ir-kbd-i2c for both the old i2c binding model and the new i2c binding model. Signed-off-by: Andy Walls Reviewed-by: Jean Delvare Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 8ca955689a957ecf956bb052f60412da2753a977 Author: Andy Walls Date: Tue Jul 28 11:48:18 2009 -0300 V4L/DVB (12367): cx18: Add i2c initialization for Z8F0811/Hauppage IR transceivers This patch add support to the cx18 driver for setting up the Z8F0811/Hauppauge IR Tx/Rx chip with the i2c binding model in newer kernels. Signed-off-by: Andy Walls Reviewed-by: Jean Delvare Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1b6e59e3f48eecdab97bdd1568422e22f7d2f4f5 Author: Andy Walls Date: Tue Jul 28 11:44:05 2009 -0300 V4L/DVB (12366): ir-kbd-i2c: Allow use of ir-kdb-i2c internal get_key funcs and set ir_type This patch augments the init data passed by bridge drivers to ir-kbd-i2c, so that the ir_type can be set explicitly, and so ir-kbd-i2c internal get_key functions can be reused without requiring symbols from ir-kbd-i2c in the bridge driver. Signed-off-by: Andy Walls Reviewed-by: Jean Delvare Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 157da2762c610073e76329bb030e993fb4c2cc77 Author: Jean Delvare Date: Tue Jul 28 11:41:35 2009 -0300 V4L/DVB (12365): ir-kbd-i2c: Remove superfulous inlines Functions which are referenced by their address can't be inlined by definition. Signed-off-by: Jean Delvare Signed-off-by: Andy Walls Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 5376176199fdd55e6310738bfacb57bf606f16bf Author: Michael Krufky Date: Mon Jul 27 17:35:59 2009 -0300 V4L/DVB (12360): au0828: fix typo: dvb uses bulk xfer, dont say isoc in debug The au0828-dvb driver uses bulk usb transfers for digital transport, but the debug reports, "iso xfer already running!\n". Fix this to report bulk instead of isoc. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1c8336d338099cbef6eb4bacd869c602c3988a06 Author: Jean-Francois Moine Date: Tue Jul 28 04:38:25 2009 -0300 V4L/DVB (12358): gspca - main: Memorize the current alt before setting it This prevents a loop if a permanent error occurs in usb_set_interface(). Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c61fd24f2d613264d08d2cac844bdcbd754da285 Author: Hans de Goede Date: Tue Jul 28 04:28:45 2009 -0300 V4L/DVB (12357): gspca - tv8532: Bad ISOC packet scan Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 6baefab531b22288be3b4ddef5671ea6469b09f8 Author: Denis Loginov Date: Tue Jul 28 03:39:10 2009 -0300 V4L/DVB (12356): gspca - sonixj: Webcam 0c45:6148 added Signed-off-by: Denis Loginov Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 8b605f18104c369e838e29a123ed768a7457d3d3 Author: Jean-Francois Moine Date: Mon Jul 27 06:28:37 2009 -0300 V4L/DVB (12355): gspca - vc032x: Cleanup source Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit e27188ee6bed7fae205dfeee0d22fc9fc83a3cb2 Author: Jean-Francois Moine Date: Mon Jul 27 06:00:03 2009 -0300 V4L/DVB (12354): gspca - vc032x: H and V flip controls added for mi13x0_soc sensors Also, H/V flip default values adjusted according to the webcam IDs. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 111815ef7e944d28aff9be7bee6e71a33c401a51 Author: Jean-Francois Moine Date: Mon Jul 27 05:52:27 2009 -0300 V4L/DVB (12353): gspca - vc032x: Add the 1280x960 resolution for sensor mi1310_soc Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 4041f6b3b4deaa3c67fbe71b67c3c18ac9ce0207 Author: AceLan Kao Date: Mon Jul 27 05:43:55 2009 -0300 V4L/DVB (12352): gspca - vc032x: Fix mi1310_soc preview and LED The patches gspca - vc032x: Add resolution 1280x1024 for sensor mi1310_soc. gspca - vc032x: Webcam 041e:405b added and mi1310_soc updated. will make the preview function not work, so I disable the 1280x1024 resolution and revert back to the origin mi1310_soc settings. And, using USB snoop tool on Windows to get the correct i2c commands to turn on/off the LED flash. Signed-off-by: AceLan Kao Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 00b581ef0d31db9c28215254b64f3890c7c9f939 Author: Brian Johnson Date: Thu Jul 23 05:55:43 2009 -0300 V4L/DVB (12351): gspca - sn9c20x: Misc fixes * use i2c_w instead of reg_w * return error on failure * read the correct number of bytes Signed-off-by: Brian Johnson Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit f3d6f63302bfcd7462d46bd1fe44146c971634d4 Author: Steven Toth Date: Thu Jul 23 12:18:54 2009 -0300 V4L/DVB (12347): cx25840: Bugfix for no DVB-T on the Hauppauge HVR-1700 After the i2c subdev changes the ordering of initialization changed, causing a total loss of previous GPIO settings and a loss of DTV. The generic firmware loading routine has now changed to preserve GPIO values if the device is cx23885 based (safety) and I've moved the GPIO configuration from probe() into the cx23885 init func which is a little clearer and fixes the bug. Tested-by: Sohail Syyed Reviewed-by: Michael Krufky Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 73c6f462d1d07f276e279467f311a96a2a43d9c5 Author: Mauro Carvalho Chehab Date: Wed Jul 29 01:42:02 2009 -0300 V4L/DVB (12345): em28xx: fix audio VIDIOC_S_CTRL adjustments on devices without ac97 Even devices without ac97 needs to call analog audio setup function, to properly set xclk and mute/unmute. Thanks to Angelo Cano for reporting and testing it. Signed-off-by: Mauro Carvalho Chehab commit e81516c58ef84663ee05a43760a53a416d529de7 Author: Jean Delvare Date: Fri Jun 19 16:56:56 2009 -0300 V4L/DVB (12343): Stop defining I2C adapter IDs nobody uses There is no point in defining I2C adapter IDs when no code is using them. As this field might go away in the future, stop using it when we don't need to. Signed-off-by: Jean Delvare Signed-off-by: Mauro Carvalho Chehab commit 43f8de7ac6d504dea159d7842724857e9e020964 Author: Jan Nikitenko Date: Mon Jul 27 19:05:19 2009 -0300 V4L/DVB (12342): af9015: avoid magically sized temporary buffer in eeprom_dump Replace printing to magically sized temporary buffer with use of KERN_CONT for continual printing of eeprom registers dump. Since deb_info is defined as dprintk, which is conditionally defined to printk without additional parameters, meaning that deb_info is equivalent to direct printk (without adding KERN_ facility), we can use KERN_DEBUG and KERN_CONT in there, eliminating the need for sprintf into temporary buffer with not easily readable/magical size. Though it's strange, that deb_info definition uses printk without KERN_ facility and callers don't use it either. Signed-off-by: Jan Nikitenko Signed-off-by: Mauro Carvalho Chehab commit 1420d498fd8890bbd878d261f317f9d64544ce0b Author: Andy Walls Date: Wed Jul 22 21:24:53 2009 -0300 V4L/DVB (12336): ivtv: Fix improper GPIO audio mux input switch on video standard change Remove the subdev_s_std() method from the GPIO subdev. It appears it was used in the past to effect the switch back from radio mode to tuner mode, but it had a side effect that is improper and against the V4L2 spec, when you were not in radio mode. Whenever the video stanadrd was changed, the GPIO audio mux was set back to the tuner audio input, even if you were set to a Line In input. Thanks to Ravi A. for doing the troubleshooting to point me right to the problem. Reported-by: Ravi A Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d31b67d81b1b724d0610e9f0cfeac494d62ffca4 Author: Andy Walls Date: Wed Jul 22 21:15:58 2009 -0300 V4L/DVB (12335): ivtv: Fix errors in AVerTV M113 card definitions and add a new M113 card Tested-by: Ravi A. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit e3e1920b28d47cb18b477fc9884b889f9622fc97 Author: Andy Walls Date: Wed Jul 22 21:02:44 2009 -0300 V4L/DVB (12334): tuner-simple: Add an entry for the Partsnic PTI-5NF05 NTSC tuner Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit d8300df9fb76552ba81bf57d79c3ad3309eda13d Author: Igor M. Liplianin Date: Wed Jul 22 17:30:25 2009 -0300 V4L/DVB (12332): Create card parameters array in SDMC DM1105 driver Create card parameters array in SDMC DM1105 driver. It is useful for cards with the same pci id, but different tuners, lnb power control circuits, etc. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit bab6f66c08043a93b9460f6e0bf2b1cd9cc03e53 Author: Laurent Pinchart Date: Sun Jul 19 18:39:56 2009 -0300 V4L/DVB (12327): uvcvideo: Add PROBE_DEF quirk and enable it for the MT6227 device At least one MT6227 model crashes when receiving a GET_DEF request on the video probe control. As the various models can't be told apart based on the descriptors, add a PROBE_DEF quirk to avoid sending the GET_DEF request and enable the quirk for all models. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 76594c5315d843fb1d3bffe7a8e2559086755f72 Author: Lamarque Vieira Souza Date: Wed Jul 22 16:54:51 2009 -0300 V4L/DVB (12326): zr364xx: error message when buffer is too small and code cleanup . added code to print an error message when buffer is too small to hold frame data, that is better than just a hard crash. Tested using MAX_FRAME_SIZE = 50000, lots of error messages appeared in /var/log/messages but no crash. . removed line "f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;" in zr364xx_vidioc_try_fmt_vid_cap, it should not be there. . changes to improve performance (or at least not hurt it): removed some unneeded debug messages; added macro FULL_DEBUG to enable debug messages in performance critical places, this macro is disabled by default; removed "if (frm->lpvbits == NULL)..." in zr364xx_read_video_callback because after analisying the source code I concluded it will always results to false, so it is not needed. . some small code reorganization. Signed-off-by: Lamarque V. Souza Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 8c5f32ac2f8c1b92149b08bba673ccecb7578e57 Author: Lamarque Vieira Souza Date: Mon Jul 20 20:46:42 2009 -0300 V4L/DVB (12325): Implement changing resolution on the fly for zr364xx driver This patch implements changing resolution in zr364xx_vidioc_s_fmt_vid_cap for zr364xx driver. This version is synced with v4l-dvb as of 20/Jul/2009. Tested with Creative PC-CAM 880. OBS: I had to increase MAX_FRAME_SIZE to prevent a hard crash in my notebook (caps lock blinking) when testing with mplayer, which automatically sets resolution to the maximum (640x480). Maybe we should add code to auto-detect frame size to prevent this kind of crash in the future. Signed-off-by: Lamarque V. Souza Signed-off-by: Antoine Jacquet Signed-off-by: Mauro Carvalho Chehab commit 6ace40effd34331a604c5eeae90838cf8dd7eb8f Author: Hans Verkuil Date: Sat Jun 20 09:50:39 2009 -0300 V4L/DVB (12316): v4l: add V4L2_CAP_RDS_OUTPUT and V4L2_CAP_MODULATOR caps Add capabilities to describe an FM transmitter device. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8db6d633be17a1ed3459dbc0d4d43c4238ccf082 Author: Igor M. Liplianin Date: Mon Jul 20 12:27:27 2009 -0300 V4L/DVB (12314): cx23885: add CAM presence checkout Add CAM presence checkout during CiMax init for NetUP card. CAM presence checkout is needed after power on PC. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit c846121058c2604cc8c513addd0fad1050014b3d Author: Igor M. Liplianin Date: Sun Jul 19 18:21:38 2009 -0300 V4L/DVB (12313): stv6110: Read registers through one time i2c_transfer calling Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit fc7e4a3e7201ee8a9a6359fdbcb6677231f353b5 Author: Abylay Ospan Date: Sun Jul 19 18:15:45 2009 -0300 V4L/DVB (12312): stv0900: fix i2c repeater configuration must be set to manual In automatic mode every stop event on SDA line ends repetition. However, in NetUP Dual card on the same i2c bus we have several devices. If someone using both adapters to lock simultaneously or working with CAM interface during lock procedure, it lead to end repetition prematurely quite often. Set stv0900 i2c repeater to manual mode prevents such situation. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit 644c7ef0b9a9c4f4dec4a44249b7047452654722 Author: Abylay Ospan Date: Sun Jul 19 18:06:00 2009 -0300 V4L/DVB (12311): Change clocking configuration and frequency for NetUP card. Signed-off-by: Abylay Ospan Signed-off-by: Mauro Carvalho Chehab commit ee5e7d94c96ae5a95906fcecde6c69c9d9ee4352 Author: Igor M. Liplianin Date: Sun Jul 19 17:57:29 2009 -0300 V4L/DVB (12310): stv6110 tuner: remove unused iq_wiring configuration parameter. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 92782bb00387585e2a4249f6996da3c863c1f580 Author: Igor M. Liplianin Date: Sun Jul 19 17:37:09 2009 -0300 V4L/DVB (12309): Add output clock configuration for stv6110 tuner. Signed-off-by: Igor M. Liplianin Signed-off-by: Mauro Carvalho Chehab commit 25ea66e2696066a12274119ceec084963427e75b Author: Steven Toth Date: Mon Jul 20 15:40:31 2009 -0300 V4L/DVB (12307): cx23885: Modify hardware revision detection for newer silicon cx23885: Modify hardware revision detection for newer silicon Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 1369738023900302ef9677c90c4da873b5593ee7 Author: Steven Toth Date: Mon Jul 20 15:37:25 2009 -0300 V4L/DVB (12306): cx23885: Add support for ATSC/QAM on Hauppauge HVR-1850 cx23885: Add support for ATSC/QAM on Hauppauge HVR-1850 Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 21ff3e4f63a3095f739f6398accd3b43d77e30b5 Author: Steven Toth Date: Thu Jun 25 23:50:39 2009 -0300 V4L/DVB (12305): cx23885: Convert existing HVR1800 GPIO calls into new format ... improves readability and routes the calls through a specific single point. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit f659c513d59b91cd5f3c0e2a59d8d287221e98f7 Author: Steven Toth Date: Thu Jun 25 23:43:31 2009 -0300 V4L/DVB (12304): cx23885: Remove hardcoded gpio bits from the encoder driver The encoder driver has hardcoded GPIO bits set for the HVR1800, regardless of whether it's being used by a HVR1800 or not. I've implemented some generic GPIO manipulation routines and I'm calling them only when appropriate. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 7a6fbd83378dd0a6127b5d59a51d35688bcd6d9d Author: Trent Piepho Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12294): b2c2: Use dvb-pll for Cablestar2 The dvb-pll code should do the same thing that alps_tdee4_stv0297_tuner_set_params() was doing. Except the dvb-pll code will check for tuner presence when attaching, while the old code didn't. This tuner appears to not be behind the stv0297's I2C gate but is instead on a different I2C adapter provided by the flexcop chip. The old code would turn the I2C gate off each time the tuner was used. I've changed it to turn the gate off when the tuner is attached and then disable the gate control function. This should result in the gate staying off, which should be even better. [hverkuil@xs4all.nl: fix compile error] Signed-off-by: Trent Piepho Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 016e53de0a5929c7b2ce2661e3af240e7f85fd55 Author: Trent Piepho Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12293): b2c2: Use dvb-pll for Skystar2 rev 2.3 and rev 2.6 The code in skystar23_samsung_tbdu18132_tuner_set_params() and samsung_tbmu24112_tuner_set_params() is equivalent to what the dvb-pll code does. There could be an issue because the dvb-pll code will probe to check for the tuner, while the previous code didn't do any checks. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 6d67c9717bb71fd23a1f87c464df3ac886759cd0 Author: Trent Piepho Date: Thu Jun 11 19:31:22 2009 -0300 V4L/DVB (12292): b2c2: Use dvb-pll for AirStar DVB-T's tuner The code in samsung_tdtc9251dh0_calc_regs() is equivalent to what dvb-pll's code does. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit d799ce570871bcb3f035e753a5bb3814f9530681 Author: Trent Piepho Date: Thu Jun 11 19:24:00 2009 -0300 V4L/DVB (12290): dvb-pll: Add support for Alps TDEE4 DVB-C NIM No datasheet, data take from code in flexcop driver. That code rounded down the divisor rather than rounding to nearest, which was probably not intentional and the dvb-pll code will round to nearest. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 9d5d75a9eb85d49dc539ce0beb184754e0bad60d Author: Trent Piepho Date: Thu Jun 11 19:21:34 2009 -0300 V4L/DVB (12289): dvb-pll: Add support for Samsung TBMU24112 DVB-S NIM Tuner parameters determined from code in flexcop driver. That code rounded the divisor down instead of to the nearest value. This was probably not intentional and the dvb-pll version will round to nearest. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit f52c48535ffc5c470b07d774d9dc8414c98deb2b Author: Trent Piepho Date: Thu Jun 11 19:21:34 2009 -0300 V4L/DVB (12288): dvb-pll: Add support for Samsung TBDU18132 DVB-S NIM Tuner parameters taken from flexcop driver. This PLL has a 17 bit divisor while the dvb-pll driver is designed for 15 bit divisors. It's not a problem as 15 bits is enough for the tuner's entire range. But if a larger range was wanted, it could be done by adding additional bands with the extra divisor bits appearing as band switch bits. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit a104ed073bc33b262fa9250c1f262c27da56067d Author: Trent Piepho Date: Thu Jun 11 19:21:34 2009 -0300 V4L/DVB (12287): dvb-pll: Add Samsung TDTC9251DH0 DVB-T NIM No datasheet, tuner data comes from code in flexcop driver. This tuner is also used on the AVerTV 771 supported by the bttv driver, but that code uses a different tuner configuration, which is surprising. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit af5f88c8776b2b9163460ff94127f68a9a0e02da Author: Johannes Goerner Date: Thu Jul 9 03:28:46 2009 -0300 V4L/DVB (12281): gspca - sunplus: Webcam 052b:1803 added. Signed-off-by: Johannes Goerner Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit d8f400efc1ef7b344e07590fb6b77431bc358ba0 Author: Jean-Francois Moine Date: Wed Jul 8 06:33:44 2009 -0300 V4L/DVB (12280): gspca - sonixj: Remove auto gain/wb/expo for the ov7660 sensor. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit ccbf035ae5de4c535160fc99f73feb44cc55b534 Author: Lamarque Vieira Souza Date: Wed Jul 15 20:54:55 2009 -0300 V4L/DVB (12278): zr364xx: implement V4L2_CAP_STREAMING This patch implements V4L2_CAP_STREAMING for the zr364xx driver, by converting the driver to use videobuf. This version is synced with v4l-dvb as of 15/Jul/2009. Tested with Creative PC-CAM 880. It basically: . implements V4L2_CAP_STREAMING using videobuf; . re-implements V4L2_CAP_READWRITE using videobuf; . copies cam->udev->product to the card field of the v4l2_capability struct. That gives more information to the users about the webcam; . moves the brightness setting code from before requesting a frame (in read_frame) to the vidioc_s_ctrl ioctl. This way the brightness code is executed only when the application requests a change in brightness and not before every frame read; . comments part of zr364xx_vidioc_try_fmt_vid_cap that says that Skype + libv4l do not work. This patch fixes zr364xx for applications such as mplayer, Kopete+libv4l and Skype+libv4l can make use of the webcam that comes with zr364xx chip. Signed-off-by: Lamarque V. Souza Signed-off-by: Antoine Jacquet [mchehab@redhat.com: fix the lack of linux/version.h] Signed-off-by: Mauro Carvalho Chehab commit a4afd65870188b872ec9b5cc0330f7c818c4c3a4 Author: Andreas Oberritter Date: Tue Jul 14 20:48:37 2009 -0300 V4L/DVB (12276): Remove a useless check from dvb_dmx_swfilter_packet() Values for 'pid' range from 0 to 0x1fff. Therefore 'feed->pid' can never be equal to both 'pid' and 0x2000. This makes the continue statement have no effect. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit 1cb662a3144992259edfd3cf9f54a6b25a913a0f Author: Andreas Oberritter Date: Tue Jul 14 20:28:50 2009 -0300 V4L/DVB (12275): Add two new ioctls: DMX_ADD_PID and DMX_REMOVE_PID DMX_ADD_PID allows to add multiple PIDs to a transport stream filter previously set up with DMX_SET_PES_FILTER and output=DMX_OUT_TSDEMUX_TAP. DMX_REMOVE_PID is used to drop a PID from a filter. These ioctls are to be used by readers of /dev/dvb/adapterX/demuxY. They may be called at any time, i.e. before or after the first filter on the shared file descriptor was started. They make it possible to record multiple services without the need to de- or re-multiplex TS packets. To accomplish this, dmxdev_filter->feed.ts has been converted to a list of struct dmxdev_feeds, each containing a PID value and a pointer to a struct dmx_ts_feed. Signed-off-by: Andreas Oberritter Signed-off-by: Mauro Carvalho Chehab commit a98f6af96ec5b22453054b36eaa325ebf20ea429 Author: Mauro Carvalho Chehab Date: Sun Jul 19 10:45:49 2009 -0300 V4L/DVB (12274): em28xx-video: better implement ac97 control ioctls In the past, some devices with saa711x had their parameters controlled directly inside em28xx driver, instead of using their proper module for it. Due to that, the ac97 controls were mixed with saa711x ones. Older patches removed all saa711x controls, but we still need to control ac97 devices on em28xx, since we don't have a separate v4l2 device for it. The proper way to address is to create a separate ac97 v4l2 device. While we don't have it, we should clean up the code to allow having a better view of what is part of em28xx core code and what's due to ac97 control inside it. Signed-off-by: Mauro Carvalho Chehab commit ed10daaeb3512165505eda8bb311edabea5cb485 Author: Mauro Carvalho Chehab Date: Sun Jul 19 09:10:06 2009 -0300 V4L/DVB (12273): em28xx-video: rename ac97 audio controls to better document it As em28xx chip has nothing to do with volume/mute controls, rename those controls to properly indicate that they control the companion AC97 chip that it is inside the boards with this chip. Signed-off-by: Mauro Carvalho Chehab commit 2365b2d307ee0323062c674ea0495584085e8c24 Author: David Wong Date: Wed Jun 17 01:38:12 2009 -0300 V4L/DVB (12272): cx23885: add card Magic-Pro ProHDTV Extreme 2 cx23885: add card Magic-Pro ProHDTV Extreme 2 PCI-E. Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit b80dc1c673f5ff79805215eb94ff008e634e4b2d Author: David Wong Date: Wed Jun 17 01:38:10 2009 -0300 V4L/DVB (12271): lgs8gxx: add lgs8g75 support lgs8gxx: add lgs8g75 demodulator support Signed-off-by: David T.L. Wong Signed-off-by: Mauro Carvalho Chehab commit a0d64456f765297782d34750cf4dc862f2a8bce0 Author: Jean-Francois Moine Date: Tue Jul 7 04:13:23 2009 -0300 V4L/DVB (12231): gspca - main: Version change. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 78a6d74e8101c5bdb7439a46689e9c81f784f570 Author: Jean-Francois Moine Date: Tue Jul 7 04:03:24 2009 -0300 V4L/DVB (12230): gspca - t613: Change tas5130a init sequences. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1f53b0b0107e3d4b5a4382eaed6a8b4fc146b50c Author: Jean-Francois Moine Date: Tue Jun 30 07:07:01 2009 -0300 V4L/DVB (12229): gspca - main: Change the ISOC initialization mechanism. - call a new subdriver function 'isoc_init' before chosing the first alternate setting. - call a new subdriver function 'isoc_nego' when submitting the URBs failed. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 1852e75a55287156f2a435ca4ea4f8c1c75bac6c Author: Jean-Francois Moine Date: Sat Jun 27 05:33:48 2009 -0300 V4L/DVB (12228): gspca - vc032x: Webcam 0ac8:c301 added. Only the back sensor (mi1320_soc) is usable. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 3eed78259935bc833242f6d47e7b77cd327334c7 Author: Jean-Francois Moine Date: Sat Jun 20 04:58:57 2009 -0300 V4L/DVB (12227): gspca - pac7311: Webcam 093a:2629 added. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit c4d363ccd75e1bf6a32f10df7ceb789a86f9291a Author: Jean-Francois Moine Date: Fri Jun 12 03:49:39 2009 -0300 V4L/DVB (12226): gspca - spca508: Extend the write_vector routine. Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit 43b786677eb15edf7e8a2440878e5fa912bcccc6 Author: Hans Verkuil Date: Sat Jun 20 06:25:14 2009 -0300 V4L/DVB (12218): radio-si470x: conform to the RDS spec. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 8e280f24d33dbe7dab719978dfc2f266af76c8af Author: Hans Verkuil Date: Sat Jun 20 06:19:09 2009 -0300 V4L/DVB (12217): radio-cadet: conform to the RDS spec. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit f101a2a7877d0573d93649a62c4ed65284e7ed9d Author: Hans Verkuil Date: Sat Jun 20 06:09:52 2009 -0300 V4L/DVB (12216): saa7134: set RDS capability if applicable. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3c86cf7a7d323019a7942df8bacf47c9fd2c31fa Author: Hans Verkuil Date: Sat Jun 20 06:09:14 2009 -0300 V4L/DVB (12215): saa6588: conform to the final RDS spec. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6a052c84342dd047226ecad0e1aa4e4b37d45a6c Author: Hans Verkuil Date: Sat Jun 20 06:09:33 2009 -0300 V4L/DVB (12214): bttv: set RDS capability if applicable. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ef5b5b7e73038f2c7d0d1b020c6eac6435c2b552 Author: Hans Verkuil Date: Sat Jun 20 05:37:27 2009 -0300 V4L/DVB (12212): v4l2: add RDS API to videodev2.h Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 3bd10fc9f53fffe5913619733d7b1707a06899cf Author: Andy Walls Date: Sun Jul 5 15:13:56 2009 -0300 V4L/DVB (12210): ivtv: Fix automatic detection of AVerMedia UltraTV 1500MCE. My initial change left the AVerMedia UtlraTV 1500MCE card entry out of the list of cards to check during the probe. This change adds it to the ivtv_card_list[]. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 50364593f8d4a5b9c2a025c8acb41dc92f1c901d Author: Andy Walls Date: Thu Jul 2 23:08:59 2009 -0300 V4L/DVB (12209): ivtv: Add card entry for AVerMedia UltraTV 1500 MCE (M113 variant) Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 25a42e4d4a4e03d5807f8aa1a5619f4d805f6fd8 Author: Andy Walls Date: Sun Jul 5 17:09:28 2009 -0300 V4L/DVB (12207): cx18: Add an EEPROM dump routine for the Yuan MPC718 and future cards Add a routine for dumping the EEPROM of the MPC718. It is generic enough to use for other cards in the future that may have an EEPROM. Signed-off-by: Andy Walls Signed-off-by: Mauro Carvalho Chehab commit 76e9741d1d7deb332abbbc3d8fc4c55154e2c180 Author: Joe Perches Date: Sun Jul 5 15:59:21 2009 -0300 V4L/DVB (12204): bttv and meye: Use PCI_VDEVICE Signed-off-by: Joe Perches Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 0389b34e7c5c2dcdef61ed1741db674b47e4dc00 Author: Matthias Schwarzott Date: Thu Jul 2 16:17:28 2009 -0300 V4L/DVB (12200): mt312: Fix checkpatch warnings This patch fixes some checkpatch warnings in mt312-driver. Signed-off-by: Matthias Schwarzott Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit de81c3c3f5db3ca35548c54024df50be18d64830 Author: Roel Kluin Date: Thu Jul 2 16:09:25 2009 -0300 V4L/DVB (12199): remove redundant tests on unsigned input, inp and i are unsigned. When negative they are wrapped and caught by the other test. Cc: Andy Walls Signed-off-by: Roel Kluin Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit ce27cd3bf989fe7187526cb120c69bf33b0b68d0 Author: Joe Perches Date: Thu Jul 2 16:02:20 2009 -0300 V4L/DVB (12198): ivtv-driver.c: Remove unnecessary semicolons Cc: Hans Verkuil Signed-off-by: Joe Perches Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 1ebcad77078a10571eb194b53cb65006d3daf3c4 Author: Joe Perches Date: Thu Jul 2 15:57:09 2009 -0300 V4L/DVB (12197): Remove unnecessary semicolons Cc: Patrick Boettcher Cc: Steven Toth Cc: Igor M. Liplianin Cc: Srinivasa Deevi Signed-off-by: Joe Perches Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 32a60955fb6312f19ea4856e66b894bfb6c4e949 Author: Joe Perches Date: Thu Jul 2 13:52:46 2009 -0300 V4L/DVB (12196): cx18-fileops.c: Remove unnecessary semicolons Signed-off-by: Joe Perches Acked-by: Andy Walls Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 7c8b56795fdf59761ee3475b6add2fd4b635d2b6 Author: Zhenyu Wang Date: Sun Jul 5 10:51:21 2009 -0300 V4L/DVB (12190): em28xx: Add support for Gadmei UTV330+ em28xx: Add support for Gadmei UTV330+ Signed-off-by: Zhenyu Wang Signed-off-by: Mauro Carvalho Chehab commit 5bdf1377587bbde8ef0893cf726de116c2250208 Author: Laurent Pinchart Date: Fri Jul 3 12:32:46 2009 -0300 V4L/DVB (12188): uvcvideo: Set PROBE_MINMAX quirk for Aveo Technology webcams Some Aveo Technology USB 2.0 Camera (1871:0306) revisions seem to require the PROBE_MINMAX quirk. As the camera supports uncompressed YUYV data only, it's safe to set the quirk even if not strictly required for all models. Update the device entry in the device IDs list. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit de05f63430e8cb8cde0a21260bc6b01765111e5c Author: Laurent Pinchart Date: Fri Jun 26 12:15:38 2009 -0300 V4L/DVB (12187): uvcvideo: Move UVC definitions to linux/usb/video.h To make UVC constants accessible by a future UVC gadget driver, move them from drivers/media/video/uvc/uvcvideo.h to include/linux/usb/video.h. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 446a164b70655d7cc19f6e9023c129b7425eb0f8 Author: Laurent Pinchart Date: Fri Jun 26 11:41:04 2009 -0300 V4L/DVB (12186): uvcvideo: Remove unused Logitech-specific constants Those constants are not used anymore, remove them. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit b482d9231a73478763e6b42fd88ea453731a67eb Author: Laurent Pinchart Date: Fri Jun 26 11:39:42 2009 -0300 V4L/DVB (12185): uvcvideo: Prefix all UVC constants with UVC_ In preparation to moving UVC constants to a public location, prefix all constants with UVC_ to avoid namespace clashes. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 042e143e8b21dca7c84e32c2e647980cb9101224 Author: Laurent Pinchart Date: Fri Jun 26 11:30:09 2009 -0300 V4L/DVB (12184): uvcvideo: Use class-specific descriptor types from usb/ch9.h uvcvideo.h redefines class-specific descriptor types already present in usb/ch9.h. Remove the duplicated definitions and use the ones from usb/ch9.h. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit d33fbcbb21ba53358ba8a83765cfd1401e06d883 Author: Mauro Carvalho Chehab Date: Thu Jul 2 17:07:32 2009 -0300 V4L/DVB (12168): v4l2-ioctl: avoid flooding log with unasked debug messages Thanks to Hans Verkuil for pointing this issue on my last patch. Signed-off-by: Mauro Carvalho Chehab commit d1afe4250a0aecf7ee92fa3d563a2f2aabf6cc0b Author: Mauro Carvalho Chehab Date: Sun Jun 21 22:37:12 2009 -0300 V4L/DVB (12124): v4l2-ioctl: better output debug messages for VIDIOC_ENUM_FRAMESIZES Signed-off-by: Mauro Carvalho Chehab commit b7f2cef0c80c3ac29c13d2f4fc31691f2bd75f05 Author: Guennadi Liakhovetski Date: Wed Jun 24 10:31:25 2009 -0300 V4L/DVB (12158): v4l: add cropping prototypes to struct v4l2_subdev_video_ops Add g_crop, s_crop and cropcap methods to video v4l2-subdev operations. Signed-off-by: Guennadi Liakhovetski Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 65dd2f93febf6345ce9e39d2f6e35ce1122f4a4a Author: Mauro Carvalho Chehab Date: Tue Jun 30 16:14:17 2009 -0300 V4L/DVB (12149): videodev2.h: Reorganize fourcc table With the changes this file suffered along the time, things got a little disorganized. In particular, V4L2_PIX_FMT_YVYU were shown as a device-specific format, instead of yet another variant of YUV. There's no functional change on this patch. It just adds some comments and reorder fourcc formats to their proper places. Signed-off-by: Mauro Carvalho Chehab commit c85e46e3486e786a4ce5ff9febf0028882987029 Author: Mauro Carvalho Chehab Date: Tue Jun 30 12:45:45 2009 -0300 V4L/DVB (12147): pwc: remove definitions that are already present at videodev2.h Signed-off-by: Mauro Carvalho Chehab commit fca9596b17dd39a110121fc2b2daedcda441ecf4 Author: Tobias Lorenz Date: Sat Jun 20 19:17:30 2009 -0300 V4L/DVB (12144): radio-si470x: removed v4l2_queryctrl in favor of v4l2_ctrl_query_fill Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 9817dc3133b8f75812b8b2c9e7a52c7c34f715d9 Author: Tobias Lorenz Date: Sat Jun 20 19:14:50 2009 -0300 V4L/DVB (12143): radio-si470x: cleanups - Remove user count log messages - Comments adopted to general style Signed-off-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit 721f59ed612477a9f83f3f3a222a14d16505c1a4 Author: Tobias Lorenz Date: Sat Jun 20 19:00:06 2009 -0300 V4L/DVB (12142): radio-si470x: Add suport for RDS endpoint interrupt mode Add support for interrupt mode for RDS endpoint, instead of polling. Improves RDS reception significantly Signed-off-by: Edouard Lafargue Acked-by: Tobias Lorenz Signed-off-by: Mauro Carvalho Chehab commit ea038f63ac52439e7816295fa6064fe95e6c1f51 Author: James Bottomley Date: Fri Aug 21 09:47:54 2009 -0600 [SCSI] fix oops during scsi scanning Chris Webb reported: p0# uname -a Linux f7ea8425-d45b-490f-a738-d181d0df6963.host.elastichosts.com 2.6.30.4-elastic-lon-p #2 SMP PREEMPT Thu Aug 20 14:30:50 BST 2009 x86_64 Intel(R) Xeon(R) CPU E5420 @ 2.50GHz GenuineIntel GNU/Linux p0# zgrep SCAN_ASYNC /proc/config.gz # CONFIG_SCSI_SCAN_ASYNC is not set p0# cat /var/log/kern/2009-08-20 [...] 15:27:10.485 kernel: scsi9 : iSCSI Initiator over TCP/IP 15:27:11.493 kernel: scsi 9:0:0:0: RAID IET Controller 0001 PQ: 0 ANSI: 5 15:27:11.493 kernel: scsi 9:0:0:0: Attached scsi generic sg6 type 12 15:27:11.495 kernel: scsi 9:0:0:1: Direct-Access IET VIRTUAL-DISK 0001 PQ: 0 ANSI: 5 15:27:11.495 kernel: sd 9:0:0:1: Attached scsi generic sg7 type 0 15:27:11.495 kernel: sd 9:0:0:1: [sdg] 4194304 512-byte hardware sectors: (2.14 GB/2.00 GiB) 15:27:11.495 kernel: sd 9:0:0:1: [sdg] Write Protect is off 15:27:11.495 kernel: sd 9:0:0:1: [sdg] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA 15:27:13.012 kernel: sdg:<6>scsi 9:0:0:1: [sdg] Unhandled error code 15:27:13.012 kernel: scsi 9:0:0:1: [sdg] Result: hostbyte=0x07 driverbyte=0x00 15:27:13.012 kernel: end_request: I/O error, dev sdg, sector 0 15:27:13.012 kernel: Buffer I/O error on device sdg, logical block 0 15:27:13.012 kernel: ldm_validate_partition_table(): Disk read failed. 15:27:13.012 kernel: unable to read partition table 15:27:13.014 kernel: BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 15:27:13.014 kernel: IP: [] disk_part_iter_next+0x74/0xfd 15:27:13.014 kernel: PGD 82ad0b067 PUD 82cd7e067 PMD 0 15:27:13.014 kernel: Oops: 0000 [#1] PREEMPT SMP 15:27:13.014 kernel: last sysfs file: /sys/devices/platform/host9/session4/iscsi_session/session4/ifacename 15:27:13.014 kernel: CPU 5 15:27:13.014 kernel: Modules linked in: 15:27:13.014 kernel: Pid: 13999, comm: async/0 Not tainted 2.6.30.4-elastic-lon-p #2 X7DBN 15:27:13.014 kernel: RIP: 0010:[] [] disk_part_iter_next+0x74/0xfd 15:27:13.014 kernel: RSP: 0018:ffff88066afa3dd0 EFLAGS: 00010246 15:27:13.014 kernel: RAX: ffff88082b58a000 RBX: ffff88066afa3e00 RCX: 0000000000000000 15:27:13.014 kernel: RDX: 0000000000000000 RSI: ffff88082b58a000 RDI: 0000000000000000 15:27:13.014 kernel: RBP: ffff88066afa3df0 R08: ffff88066afa2000 R09: ffff8806a204f000 15:27:13.014 kernel: R10: 000000fb12c7d274 R11: ffff8806c2bf0628 R12: ffff88066afa3e00 15:27:13.014 kernel: R13: ffff88082c829a00 R14: 0000000000000000 R15: ffff8806bc50c920 15:27:13.014 kernel: FS: 0000000000000000(0000) GS:ffff88002818a000(0000) knlGS:0000000000000000 15:27:13.014 kernel: CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b 15:27:13.014 kernel: CR2: 0000000000000010 CR3: 000000082ade3000 CR4: 00000000000426e0 15:27:13.014 kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 15:27:13.014 kernel: DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 15:27:13.014 kernel: Process async/0 (pid: 13999, threadinfo ffff88066afa2000, task ffff8806c2bf05e0) 15:27:13.014 kernel: Stack: 15:27:13.014 kernel: 0000000000000000 ffff88066afa3e00 ffff88066afa3e00 ffff88082c829a00 15:27:13.014 kernel: ffff88066afa3e40 ffffffff80306feb ffff88082b58a000 0000000000000000 15:27:13.014 kernel: 0000000000000001 ffff8806bc50c920 ffff88066afa3e40 ffff88082b58a000 15:27:13.014 kernel: Call Trace: 15:27:13.014 kernel: [] register_disk+0x122/0x13a 15:27:13.014 kernel: [] add_disk+0xaa/0x106 15:27:13.014 kernel: [] sd_probe_async+0x198/0x25b 15:27:13.014 kernel: [] async_thread+0x10c/0x20d 15:27:13.014 kernel: [] ? default_wake_function+0x0/0xf 15:27:13.014 kernel: [] ? async_thread+0x0/0x20d 15:27:13.014 kernel: [] kthread+0x55/0x80 15:27:13.014 kernel: [] child_rip+0xa/0x20 15:27:13.014 kernel: [] ? kthread+0x0/0x80 15:27:13.014 kernel: [] ? child_rip+0x0/0x20 15:27:13.014 kernel: Code: c8 ff 80 e1 0c b9 00 00 00 00 0f 44 c1 41 83 cd ff 48 8d 7a 20 48 be ff ff ff ff 08 00 00 00 48 b9 00 00 00 00 08 00 00 00 eb 50 <8b> 42 10 41 bd 01 00 00 00 eb db 4c 63 c2 4e 8d 04 c7 4d 8b 20 15:27:13.015 kernel: RIP [] disk_part_iter_next+0x74/0xfd 15:27:13.015 kernel: RSP 15:27:13.015 kernel: CR2: 0000000000000010 15:27:13.015 kernel: ---[ end trace 6104b56ef5590e25 ]--- The problem is caused because the async scanning split in sd.c doesn't hold any reference to the device when it kicks off the async piece. What's happening is that an iSCSI disconnect is destorying the device again *before* the async sd scanning thread even starts. Fix this by taking a reference before starting the thread and dropping it again when the thread completes. Reported-by: Chris Webb Cc: Stable Tree Signed-off-by: James Bottomley commit afffd3dabe5209882c8cc59a373a4d33b5db304a Author: Bart Van Assche Date: Sun Aug 30 12:36:48 2009 +0200 [SCSI] libsrp: fix memory leak in srp_ring_free() This patch fixes a memory leak in the libsrp function srp_ring_free(). It is not documented whether or not this function should free the ring pointer itself. But the source code of the callers of this function (srp_target_alloc() and srp_target_free()) makes it clear that srp_ring_free() should deallocate the ring pointer itself. Furthermore, the patch below makes srp_ring_free() deallocate all memory allocated by srp_ring_alloc(). This patch affects the ibmvstgt driver, which is the only in-tree driver that calls the srp_ring_free() function (indirectly). Signed-off-by: Bart Van Assche Acked-by: FUJITA Tomonori Cc: Stable Tree Signed-off-by: James Bottomley commit 661134ad3765348ecd6150a92e736bf28ba40f80 Author: Mike Christie Date: Sat Sep 5 07:35:33 2009 +0530 [SCSI] libiscsi, bnx2i: make bound ep check common bnx2i currently has a check for if a ep is properly bound, so if iscsi_queuecommand/xmit_task is called while there is no ep we will not queue IO. be2iscsi sends IO from queuecommand/xmit_task like how bnx2i does and needs a similar test. This patch has us just use the suspend_bit test for this. When ep_poll has succeeed iscsid will call conn_bind, the LLD will then call iscsi_conn_bind which will clear the suspend bit. When ep_disconnect is called (or if there is a conn error) we set the suspend bit. For the ep_disconnect case I am adding a helper in this patch that will take the session lock to make sure iscsi_queuecommand/xmit_task is not running and it will set the suspend bit. Signed-off-by: Mike Christie Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit 4c0ba5d2593b5156327263f3ef6d7399dc0717b8 Author: Mike Christie Date: Sat Sep 5 07:34:23 2009 +0530 [SCSI] libiscsi: add completion function for drivers that do not need pdu processing beiscsi does not need the iscsi scsi cmd processing. It does not even get this info on the completion path. This adds a function to just update the sequencing numbers and complete a task. Signed-off-by: Mike Christie Signed-off-by: Jayamohan Kallickal Signed-off-by: James Bottomley commit dd784edcfc080fb4c83f1f3d10d905c5ab61616f Author: Moger, Babu Date: Thu Sep 3 21:42:28 2009 -0600 [SCSI] scsi_dh_rdac: changes for rdac debug logging Patch to add debugging stuff for rdac device handler. - Added a bit mask "module parameter" rdac_logging with 2 bits for each type of logging. - currently defined only two types of logging(failover and sense logging). Can be enhanced later if required. - By default only failover logging is enabled which is equivalent of current logging. Signed-off-by: Babu Moger Reviewed-by: Vijay Chauhan Reviewed-by: Bob Stankey Signed-off-by: James Bottomley commit 1527666e6af977cc287e0f7088356c8be29b3f75 Author: Moger, Babu Date: Thu Sep 3 21:42:21 2009 -0600 [SCSI] scsi_dh_rdac: changes to collect the rdac debug information during the initialization Adding the code to read the debug information during initialization. This patch collects the information about storage and controllers during rdac_activate. Signed-off-by: Babu Moger Reviewed-by: Vijay Chauhan Reviewed-by: Bob Stankey Signed-off-by: James Bottomley commit 87b79a53277c21a2de07106d0affa857bd79e1bb Author: Moger, Babu Date: Thu Sep 3 21:42:15 2009 -0600 [SCSI] scsi_dh_rdac: move the init code from rdac_activate to rdac_bus_attach Moving the initialization code from rdac_activate to rdac_bus_attach which is more efficient. We don't have to collect all the information during every activate. Signed-off-by: Babu Moger Reviewed-by: Vijay Chauhan Reviewed-by: Bob Stankey Signed-off-by: James Bottomley commit e71044ee2efa4792e21d243b03d49006db66aec9 Author: Michal Schmidt Date: Thu Sep 3 14:27:08 2009 +0200 [SCSI] sg: fix oops in the error path in sg_build_indirect() When the allocation fails in sg_build_indirect(), an oops happens in the error path. It's caused by an obvious typo. Signed-off-by: Michal Schmidt Reported-by: Bob Tracy Acked-by: Douglas Gilbert Cc: Stable Tree Signed-off-by: James Bottomley commit b437b95620dbf4bf7bd13af0f9d32fdac82c5d37 Author: Kashyap, Desai Date: Wed Sep 2 12:44:10 2009 +0530 [SCSI] mptsas : Bump version to 3.04.12 Bump version to 3.04.12 Signed-off-by: James Bottomley commit 9766096d331c82e71d3c9df61f1c88eff6ad916b Author: Kashyap, Desai Date: Wed Sep 2 11:46:33 2009 +0530 [SCSI] mptsas : FW event thread and scsi mid layer deadlock in SYNCHRONIZE CACHE command Normally In HBA reset path MPT driver will flush existing work in current work queue (mpt/0) . This is just a dummy activity for MPT driver point of view, since HBA reset will turn off Work queue events. It means we will simply returns from work queue without doing anything. But for the case where Work is already done (half the way), we have to have that work to be done. Considering above condition we stuck forever since Deadlock in scsi midlayer and MPT driver. sd_sync_cache() will wait forever since HBA is not in Running state, and it will never come into Running state since sd_sync_cache() is called from HBA reset context. Now new code will not wait for half cooked work to be finished before returning from HBA reset. Once we are out of HBA reset, EH thread will change host state to running from recovery and work waiting for running state of HBA will be finished. New code is turning ON firmware event from another special work called Rescan toplogy. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit fea984034b1ccdb26e8163ed5350ce7f0563b136 Author: Kashyap, Desai Date: Wed Sep 2 11:45:53 2009 +0530 [SCSI] mptsas : Send DID_NO_CONNECT for pending IOs of removed device Driver is modified to return DID_NO_CONNECT for all pending I/O requests for bus type SAS, if it founds the target is removed at the firmware level. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit c55b89fba9872ebcd5ac15cdfdad29ffb89329f0 Author: Kashyap, Desai Date: Wed Sep 2 11:44:57 2009 +0530 [SCSI] mptsas : PAE Kernel more than 4 GB kernel panic This patch is solving problem for PAE kernel DMA operation. On PAE system dma_addr and unsigned long will have different values. Now dma_addr is not type casted using unsigned long. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit f44fd18198eb26b62ba86b17016e9441ce95fc71 Author: Kashyap, Desai Date: Wed Sep 2 11:44:19 2009 +0530 [SCSI] mptsas : NULL pointer on big endian systems causing Expander not to tear off On Big endian system kernel will crash due to address translation is not handle properly. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 9e39089b958818c8f3d772414cd27f84fb2622f2 Author: Kashyap, Desai Date: Wed Sep 2 11:43:36 2009 +0530 [SCSI] mptsas : Sanity check for phyinfo is added Check for phyinfo->phy before calling sas_port_delete_phy. Signed-off-by: Kashyap Desai Signed-off-by: James Bottomley commit 5bab08858cecaacba803e8c90638db14bde470c0 Author: Charlie Brady Date: Wed Aug 26 14:16:57 2009 -0400 [SCSI] scsi_dh_rdac: Add support for Sun StorageTek ST2500, ST2510 and ST2530 These storage arrays can use RDAC when configured with 'linux' as the initiator. http://www.sun.com/storage/disk_systems/workgroup/2500/ http://www.sun.com/storage/disk_systems/workgroup/2510/ http://www.sun.com/storage/disk_systems/workgroup/2530/ Signed-off-by: Charlie Brady Reviewed-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 89a3681041507773dfee1b88c1c90c8a811a79d3 Author: Anil Ravindranath Date: Tue Aug 25 17:35:18 2009 -0700 [SCSI] pmcraid: PMC-Sierra MaxRAID driver to support 6Gb/s SAS RAID controller Signed-off-by: Anil Ravindranath Signed-off-by: James Bottomley commit 073ed91e245d56d71a85e2a49bf0b3962fe74dc4 Author: Giridhar Malavali Date: Tue Aug 25 11:36:21 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k6. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 67becc0041615651b75e4496204a0835a8c345a8 Author: Andrew Vasquez Date: Tue Aug 25 11:36:20 2009 -0700 [SCSI] qla2xxx: Properly delete rports attached to a vport. Original code would inadvertently skip the deferred fc_remote_port_delete() call for rports hanging off any vport. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 0d6e61bc6a4f3f54444b088ae6d447f1703a21dd Author: Andrew Vasquez Date: Tue Aug 25 11:36:19 2009 -0700 [SCSI] qla2xxx: Correct various NPIV issues. * Consolidate vport-count processing. * Correct vp_idx restrictions during RSCN processing. * Push topology verification check to qla2x00_do_dpc_all_vps(). * Don't skip vport full-login-lip/lip-reset mailbox handling. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit d970432c48ab8dd28216e80942723aeb505b623e Author: Lalit Chandivade Date: Tue Aug 25 11:36:18 2009 -0700 [SCSI] qla2xxx: Correct qla2x00_eh_wait_on_command() to wait correctly. Original code would break-out of loop after only one iteration. Signed-off-by: Lalit Chandivade Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit ab67114935d611caffe18063d1777f8c4f8b4272 Author: Andrew Vasquez Date: Tue Aug 25 11:36:17 2009 -0700 [SCSI] qla2xxx: Further limit device-table (qla_devtbl) lookup to non-24xx. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 8474f3a02a18e18459663ad88951822c62a45068 Author: Santosh Vernekar Date: Tue Aug 25 11:36:16 2009 -0700 [SCSI] qla2xxx: Correctly set FCF_TAPE_PRESENT flag based on scsi-device. In fabric-login based on iop BIT_8 firmware notifies presence of a FCP2 device and not necessarily a TAPE device. So instead of setting FCF_TAPE_PRESENT flag there we set it using scsi_device->type after mid-layer scan recognises "type" of the device. It also adds a new flag FCF_FCP2_DEVICE for any future use. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 625f0850a8e27b6a8d6fdb95056f35bc22d92b55 Author: Stefan Richter Date: Sun Sep 6 19:34:17 2009 +0200 ieee1394: sbp2: remove a workaround for Momobay FX-3A The inquiry delay is not necessary anymore in tests on a recent kernel. Signed-off-by: Stefan Richter commit 3c5f80357c3fb3170e39e5d0ae87ddd6652f36ac Author: Stefan Richter Date: Sun Sep 6 19:33:50 2009 +0200 firewire: sbp2: remove a workaround for Momobay FX-3A The inquiry delay does more harm than good in tests on a recent kernel. Signed-off-by: Stefan Richter commit 094614fc14966bc6a6259ade55f051fe17f36122 Author: Stefan Richter Date: Sun Sep 6 18:51:27 2009 +0200 firewire: sbp2: fix status reception Per SBP-2 clause 5.3, a target shall store 8...32 bytes of status information. Trailing zeros after the first 8 bytes don't need to be stored, they are implicit. Fix the status write handler to clear all unwritten status data. Signed-off-by: Stefan Richter commit 85cb9b68640cf467a99d4b6d518f1293222dbc9e Author: Stefan Richter Date: Tue Sep 8 01:13:53 2009 +0200 firewire: core: fix topology map response handler This register is 1 kBytes large. Adjust topology_map.length to prevent registration of other response handlers in this region and to make sure that we respond to requests to the upper half of the register. Signed-off-by: Stefan Richter commit b171e204b32b69e241af994d6e9be559e33535c1 Author: Stefan Richter Date: Sun Sep 6 18:50:29 2009 +0200 firewire: core: fix race with parallel PCI device probe The config ROM buffer received from generate_config_rom is a globally shared static buffer. Extend the card_mutex protection in fw_add_card until after the config ROM was copied into the card driver's buffer. Otherwise, parallelized card driver probes may end up with ROM contents that were meant for a different card. firewire-ohci's card->driver->enable hook is safe to be called within the card_mutex. Furthermore, it is safe to reorder card_list update versus card enable, which simplifies the code a little. Signed-off-by: Stefan Richter commit 18668ff9a3232d5f942a2f7abc1ad67d2760dcdf Author: Stefan Richter Date: Sun Sep 6 18:49:48 2009 +0200 firewire: core: header file cleanup fw_card_get, fw_card_put, fw_card_release are currently not exported for use outside the firewire-core. Move their definitions/ declarations from the subsystem header file to the core header file. Signed-off-by: Stefan Richter commit 928ec5f148e729076e9202e7c78babede628a50c Author: Stefan Richter Date: Sun Sep 6 18:49:17 2009 +0200 firewire: ohci: fix Self ID Count register mask (safeguard against buffer overflow) The selfIDSize field of Self ID Count is 9 bits wide, and we are only interested in the high 8 bits. Fix the mask accordingly. The previously too large mask didn't do damage though because the next few bits in the register are reserved and therefore zero with presently existing hardware. Also, check for the maximum possible self ID count of 252 (according to OHCI 1.1 clause 11.2 and IEEE 1394a-2000 clause 4.3.4.1, i.e. up to four self IDs of up to 63 nodes, even though IEEE 1394 up to edition 2008 defines only up to three self IDs per node). More than 252 self IDs would only happen if the self ID receive DMA unit malfunctioned, which would likely be caught by other self ID buffer checks. However, check it early to be sure. More than 253 quadlets would overflow the Topology Map CSR. Reported-By: PaX Team Signed-off-by: Stefan Richter commit 64549e9357e5222a73e41aa87372b37abb047720 Author: Michael Buesch Date: Sun Jul 19 21:40:39 2009 +0200 ieee1394: raw1394: Do not leak memory on failed trylock. Do not leak the allocated memory in case the mutex_trylock() failed to acquire the lock. Signed-off-by: Michael Buesch This bug does not happen in practice: All raw1394 clients use libraw1394, and accesses to a libraw1394 handle need to be serialized by the client. This is documented in libraw1394's API reference. Signed-off-by: Stefan Richter commit 33d7f77850476a8b8df50bd50221bc644dd44357 Author: Julia Lawall Date: Sat Sep 12 14:25:35 2009 +0200 ASoC: Clean up error handling in MPC5200 DMA setup Error handling code following a kzalloc should free the allocated data. Error handling code following an ioremap should iounmap the allocated data. The semantic match that finds the first problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @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) // Signed-off-by: Julia Lawall Signed-off-by: Mark Brown commit 87d721ad7a37b7650dd710c88dd5c6a5bf9fe996 Merge: ddd559b b7cfda9 Author: Russell King Date: Sat Sep 12 12:04:37 2009 +0100 Merge branch 'master' into devel commit ddd559b13f6d2fe3ad68c4b3f5235fd3c2eae4e3 Merge: cf7a2b4 f17a1f0 Author: Russell King Date: Sat Sep 12 12:02:26 2009 +0100 Merge branch 'devel-stable' into devel Conflicts: MAINTAINERS arch/arm/mm/fault.c commit cf7a2b4fb6a9b86779930a0a123b0df41aa9208f Merge: b736b89 8c3cbd5 57a473f af1057a c1cb6b7 65cec8e 8e22676 Author: Russell King Date: Sat Sep 12 12:01:34 2009 +0100 Merge branches 'arm', 'at91', 'bcmring', 'ep93xx', 'mach-types', 'misc' and 'w90x900' into devel commit c1cb6b7fb5190ad55b31aa3289d48fedd288ddaa Author: Russell King Date: Sat Sep 12 12:00:17 2009 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit f17a1f06d2fa93f4825be572622eb02c4894db4e Author: Linus Walleij Date: Tue Aug 4 01:01:02 2009 +0100 ARM: 5636/1: Move vendor enum to AMBA include This moves the primecell vendor enum definition inside vic.c out to linux/amba/bus.h where it belongs and replace any occurances of specific vendor ID:s with the respective enums instead. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 701038144945ef98c5817f43079952fa38c35999 Merge: 4abf27a c2b4554 Author: Russell King Date: Sat Sep 12 11:50:52 2009 +0100 Merge branch 'nomadik' into devel-stable commit b7cfda9fc3d7aa60cffab5367f2a72a4a70060cd Author: Russell King Date: Mon Sep 7 15:06:42 2009 +0100 ARM: Fix pfn_valid() for sparse memory On OMAP platforms, some people want to declare to segment up the memory between the kernel and a separate application such that there is a hole in the middle of the memory as far as Linux is concerned. However, they want to be able to mmap() the hole. This currently causes problems, because update_mmu_cache() thinks that there are valid struct pages for the "hole". Fix this by making pfn_valid() slightly more expensive, by checking whether the PFN is contained within the meminfo array. Signed-off-by: Russell King Tested-by: Khasim Syed Mohammed commit 8e616fc8d343bd7f0f0a0c22407fdcb77f6d22b1 Author: Marcelo Tosatti Date: Thu Sep 10 17:21:34 2009 -0300 MAINTAINERS: update KVM entry Add myself to KVM MAINTAINERS entry. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit cabc5c0f7fa1342049042d6e147db5a73773955b Merge: b73d884 86d7101 Author: David S. Miller Date: Fri Sep 11 20:35:13 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: arch/sparc/Kconfig commit 13af7a6ea502fcdd4c0e3d7de6e332b102309491 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:15 2009 +0000 netxen: update copyright o Add QLogic copyright, add linux-driver@qlogic.com to MAINTAINERS. o Delete old contact information. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 74c520da5414d15b0ab2839d67efab2e7227be75 Author: Amit Kumar Salecha Date: Fri Sep 11 11:28:14 2009 +0000 netxen: fix tx timeout recovery Redesign tx timeout handling in line with new firmware reset design that co-ordinates with other PCI function drivers. o For NX3031, first try to reset PCI function's own context before requesting firmware reset. o For NX2031, since firmware heartbit is not supported directly request firmware reset. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ec5c50cb93c446a4686863df74e4b7a547628115 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:13 2009 +0000 netxen: fix file firmware leak Release file firmware when no firmware reset is required. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ea6828b8aa3a8ebae8d7740f32f212ba1d2f0742 Author: Dhananjay Phadke Date: Fri Sep 11 11:28:12 2009 +0000 netxen: improve pci memory access o Access on card memory through memory controller (agent) rather than moving small pci window around. Clean up the code for moving windows around. o Restrict memory accesss to 64 bit, currently only firmware download uses this. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f78c0850d2ebe7a44a4b0263480a2f1a36a92218 Author: Amit Kumar Salecha Date: Fri Sep 11 11:28:11 2009 +0000 netxen: change firmware write size Use 8 byte strides for firmware download into card memory since oncard memory controller needs 8 byte (64 bit) accesses. This avoids unnecessary rmw cycles. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 5ea1c50662d447de344812054175d7151783ea25 Author: Matt Carlson Date: Fri Sep 11 16:50:16 2009 -0700 tg3: Fix return ring size breakage Commit f6eb9b1fc1411d22c073f5264e5630a541d0f7df, "tg3: Add 5717 asic rev" changed how the rx return ring size operations are done. It effectively inverts the sense of the previous test, but it failed to also invert the resulting sizes. This patch corrects that error. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 86d710146fb9975f04c505ec78caa43d227c1018 Merge: 8637343 ab3bbaa Author: Linus Torvalds Date: Fri Sep 11 16:39:11 2009 -0700 Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (87 commits) NFSv4: Disallow 'mount -t nfs4 -overs=2' and 'mount -t nfs4 -overs=3' NFS: Allow the "nfs" file system type to support NFSv4 NFS: Move details of nfs4_get_sb() to a helper NFS: Refactor NFSv4 text-based mount option validation NFS: Mount option parser should detect missing "port=" NFS: out of date comment regarding O_EXCL above nfs3_proc_create() NFS: Handle a zero-length auth flavor list SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc... nfs: fix compile error in rpc_pipefs.h nfs: Remove reference to generic_osync_inode from a comment SUNRPC: cache must take a reference to the cache detail's module on open() NFS: Use the DNS resolver in the mount code. NFS: Add a dns resolver for use with NFSv4 referrals and migration SUNRPC: Fix a typo in cache_pipefs_files nfs: nfs4xdr: optimize low level decoding nfs: nfs4xdr: get rid of READ_BUF nfs: nfs4xdr: simplify decode_exchange_id by reusing decode_opaque_inline nfs: nfs4xdr: get rid of COPYMEM nfs: nfs4xdr: introduce decode_sessionid helper nfs: nfs4xdr: introduce decode_verifier helper ... commit 86373435d2299b722ec87c416005953215f049c1 Merge: 483e3cd c984123 Author: Linus Torvalds Date: Fri Sep 11 16:38:33 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: (25 commits) pata_rz1000: use printk_once ahci: kill @force_restart and refine CLO for ahci_kick_engine() pata_cs5535: add pci id for AMD based CS5535 controllers ahci: Add AMD SB900 SATA/IDE controller device IDs drivers/ata: use resource_size sata_fsl: Defer non-ncq commands when ncq commands active libata: add SATA PMP revision information for spec 1.2 libata: fix off-by-one error in ata_tf_read_block() ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic dmi: extend dmi_get_year() to dmi_get_date() dmi: fix date handling in dmi_get_year() libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru() sata_sis: convert to slave_link sata_sil24: always set protocol override for non-ATAPI data commands libata: Export AHCI capabilities libata: Delegate nonrot flag setting to SCSI [libata] Add pata_rdc driver for RDC ATA devices drivers/ata: Remove unnecessary semicolons libata: remove spindown skipping and warning ... commit 9feae56c0de65fdd8b1f64f376bb6578417d2b79 Author: Randy Dunlap Date: Fri Sep 11 12:41:04 2009 +0000 netxen: build fix for INET=n When CONFIG_INET is disabled, netxen has a build failure: netxen_nic_main.c:(.text+0x118fd1): undefined reference to `netxen_config_indev_addr' so make that function just an empty stub when CONFIG_INET=n. (not "inline" since that conflicts with other declarations of it) Signed-off-by: Randy Dunlap Acked-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d42571efe33552cd519b7f3800a788b5f2d51798 Author: Alex Deucher Date: Fri Sep 11 15:27:14 2009 -0400 drm/radeon/kms: fix typo in quirks Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 1be340563cf40210487afe332c0d7c9a523dba5f Author: Alex Deucher Date: Fri Sep 11 12:02:03 2009 -0400 drm/radeon/kms/r600: fix blit dword count for non r6xx rv6xx emits two extra dwords in the render target setup. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7747b713049e63aa64bcac679535ddfff92b312d Author: Alex Deucher Date: Fri Sep 11 11:15:43 2009 -0400 drm/radeon/kms: add common lvds modes in the ddc case previous patch only handled the non-ddc case. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 908329f2c08b8b5af7b394f709b0ee9c43b93041 Author: NeilBrown Date: Wed Sep 9 16:32:54 2009 +1000 sunrpc/cache: simplify cache_fresh_locked and cache_fresh_unlocked. The extra call to cache_revisit_request in cache_fresh_unlocked is not needed, as should have been fairly clear at the time of commit 4013edea9a0b6cdcb1fdf5d4011e47e068fd6efb If there are requests to be revisited, then we can be sure that CACHE_PENDING is set, so the second call is sufficient. So remove the first call. Then remove the 'new' parameter, then remove the return value for cache_fresh_locked which is only used to provide the value for 'new'. Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields commit 9e4c6379a62d94d3362b12c7a00f2105df6d7eeb Author: NeilBrown Date: Wed Sep 9 16:32:54 2009 +1000 sunrpc/cache: change cache_defer_req to return -ve error, not boolean. As "cache_defer_req" does not sound like a predicate, having it return a boolean value can be confusing. It is more consistent to return 0 for success and negative for error. Exactly what error code to return is not important as we don't differentiate between reasons why the request wasn't deferred, we only care about whether it was deferred or not. Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields commit 7ad9bb651fc2036ea94bed94da76a4b08959a911 Author: Theodore Ts'o Date: Fri Sep 11 16:51:28 2009 -0400 ext4: Fix initalization of s_flex_groups The s_flex_groups array should have been initialized using atomic_add to sum up the free counts from the block groups that make up a flex_bg. By using atomic_set, the value of the s_flex_groups array was set to the values of the last block group in the flex_bg. The impact of this bug is that the block and inode allocation algorithms might not pick the best flex_bg for new allocation. Thanks to Damien Guibouret for pointing out this problem! Signed-off-by: "Theodore Ts'o" commit 483e3cd6a34ad2d7e41100bc1b98614ac42a4567 Merge: 774a694 d28daf9 Author: Linus Torvalds Date: Fri Sep 11 13:24:03 2009 -0700 Merge branch 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (105 commits) ring-buffer: only enable ring_buffer_swap_cpu when needed ring-buffer: check for swapped buffers in start of committing tracing: report error in trace if we fail to swap latency buffer tracing: add trace_array_printk for internal tracers to use tracing: pass around ring buffer instead of tracer tracing: make tracing_reset safe for external use tracing: use timestamp to determine start of latency traces tracing: Remove mentioning of legacy latency_trace file from documentation tracing/filters: Defer pred allocation, fix memory leak tracing: remove users of tracing_reset tracing: disable buffers and synchronize_sched before resetting tracing: disable update max tracer while reading trace tracing: print out start and stop in latency traces ring-buffer: disable all cpu buffers when one finds a problem ring-buffer: do not count discarded events ring-buffer: remove ring_buffer_event_discard ring-buffer: fix ring_buffer_read crossing pages ring-buffer: remove unnecessary cpu_relax ring-buffer: do not swap buffers during a commit ring-buffer: do not reset while in a commit ... commit 774a694f8cd08115d130a290d73c6d8563f26b1b Merge: 4f0ac85 e1f8450 Author: Linus Torvalds Date: Fri Sep 11 13:23:18 2009 -0700 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (64 commits) sched: Fix sched::sched_stat_wait tracepoint field sched: Disable NEW_FAIR_SLEEPERS for now sched: Keep kthreads at default priority sched: Re-tune the scheduler latency defaults to decrease worst-case latencies sched: Turn off child_runs_first sched: Ensure that a child can't gain time over it's parent after fork() sched: enable SD_WAKE_IDLE sched: Deal with low-load in wake_affine() sched: Remove short cut from select_task_rq_fair() sched: Turn on SD_BALANCE_NEWIDLE sched: Clean up topology.h sched: Fix dynamic power-balancing crash sched: Remove reciprocal for cpu_power sched: Try to deal with low capacity, fix update_sd_power_savings_stats() sched: Try to deal with low capacity sched: Scale down cpu_power due to RT tasks sched: Implement dynamic cpu_power sched: Add smt_gain sched: Update the cpu_power sum during load-balance sched: Add SD_PREFER_SIBLING ... commit 4f0ac854167846bd55cd81dbc9a36e03708aa01c Merge: b9356c5 6b58e7f Author: Linus Torvalds Date: Fri Sep 11 13:22:43 2009 -0700 Merge branch 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perfcounters-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (60 commits) perf tools: Avoid unnecessary work in directory lookups perf stat: Clean up statistics calculations a bit more perf stat: More advanced variance computation perf stat: Use stddev_mean in stead of stddev perf stat: Remove the limit on repeat perf stat: Change noise calculation to use stddev x86, perf_counter, bts: Do not allow kernel BTS tracing for now x86, perf_counter, bts: Correct pointer-to-u64 casts x86, perf_counter, bts: Fail if BTS is not available perf_counter: Fix output-sharing error path perf trace: Fix read_string() perf trace: Print out in nanoseconds perf tools: Seek to the end of the header area perf trace: Fix parsing of perf.data perf trace: Sample timestamps as well perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access perf trace: Sample the CPU too perf tools: Work around strict aliasing related warnings perf tools: Clean up warnings list in the Makefile perf tools: Complete support for dynamic strings ... commit b9356c53ba2f593081e5aa45eb67adcce243d1c0 Merge: d90a7e8 4680e64 Author: Linus Torvalds Date: Fri Sep 11 13:22:30 2009 -0700 Merge branch 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (55 commits) arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type Revert "x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()" x86/oprofile: Small coding style fixes x86/oprofile: Add counter reservation check for virtual counters x86/oprofile: Implement op_x86_virt_to_phys() oprofile: Adding switch counter to oprofile statistic variables x86/oprofile: Implement mux_clone() x86/oprofile: Enable multiplexing only if the model supports it x86/oprofile: Add function has_mux() to check multiplexing support x86/oprofile: Modify initialization of num_virt_counters x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec x86/oprofile: Remove const qualifier from struct op_x86_model_spec x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c x86/oprofile: Implement multiplexing setup/shutdown functions oprofile: Grouping multiplexing code in op_model_amd.c oprofile: Introduce op_x86_phys_to_virt() oprofile: Grouping multiplexing code in oprof.c oprofile: Remove oprofile_multiplexing_init() ... commit d90a7e86401ffea2163a4337f3a47f3909c4e255 Merge: 12a4996 4dbc9ca Author: Linus Torvalds Date: Fri Sep 11 13:21:31 2009 -0700 Merge branch 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-threaded-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Do not mask oneshot edge type interrupts genirq: Support nested threaded irq handling genirq: Add buslock support genirq: Add oneshot support commit 12a499612e1ff439bdad240c7f86c55366941d4d Merge: eee2775 70590ea Author: Linus Torvalds Date: Fri Sep 11 13:20:42 2009 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: pci/intr_remapping: Allocate irq_iommu on node irq: Add irq_node() primitive irq: Make sure irq_desc for legacy irq get correct node setting genirq: Add prototype for handle_nested_irq() irq: Remove superfluous NULL pointer check in check_irq_resend() irq: Clean up by removing irqfixup MODULE_PARM_DESC() genirq: Fix comment describing suspend_device_irqs() genirq: Remove obsolete defines and typedefs commit eee2775d9924b22643bd89b2e568cc5eed7e8a04 Merge: 53e16fb 7db905e Author: Linus Torvalds Date: Fri Sep 11 13:20:18 2009 -0700 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (28 commits) rcu: Move end of special early-boot RCU operation earlier rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees rcu: Remove lockdep annotations from RCU's _notrace() API members rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds rcu: Add CPU-offline processing for single-node configurations rcu: Add "notrace" to RCU function headers used by ftrace rcu: Remove CONFIG_PREEMPT_RCU rcu: Merge preemptable-RCU functionality into hierarchical RCU rcu: Simplify rcu_pending()/rcu_check_callbacks() API rcu: Use debugfs_remove_recursive() simplify code. rcu: Merge per-RCU-flavor initialization into pre-existing macro rcu: Fix online/offline indication for rcudata.csv trace file rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h rcu: Renamings to increase RCU clarity rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation. rcu: Fix typo in rcu_irq_exit() comment header rcu: Make rcupreempt_trace.c look at offline CPUs ... commit 53e16fbd30005905168d9b75555fdc7e0a2eac58 Merge: 4e3408d 42c2c8c Author: Linus Torvalds Date: Fri Sep 11 13:19:40 2009 -0700 Merge branch 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-printk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: printk: Fix "printk: Enable the use of more than one CON_BOOT (early console)" printk: Restore previous console_loglevel when re-enabling logging printk: Ensure that "console enabled" messages are printed on the console printk: Enable the use of more than one CON_BOOT (early console) commit 4e3408d9f71a70316ebe844c20ef0d7715281f84 Merge: a66a500 96910b6 Author: Linus Torvalds Date: Fri Sep 11 13:17:24 2009 -0700 Merge branch 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (32 commits) locking, m68k/asm-offsets: Rename signal defines locking: Inline spinlock code for all locking variants on s390 locking: Simplify spinlock inlining locking: Allow arch-inlined spinlocks locking: Move spinlock function bodies to header file locking, m68k: Calculate thread_info offset with asm offset locking, m68k/asm-offsets: Rename pt_regs offset defines locking, sparc: Rename __spin_try_lock() and friends locking, powerpc: Rename __spin_try_lock() and friends lockdep: Remove recursion stattistics lockdep: Simplify lock_stat seqfile code lockdep: Simplify lockdep_chains seqfile code lockdep: Simplify lockdep seqfile code lockdep: Fix missing entries in /proc/lock_chains lockdep: Fix missing entry in /proc/lock_stat lockdep: Fix memory usage info of BFS lockdep: Reintroduce generation count to make BFS faster lockdep: Deal with many similar locks lockdep: Introduce lockdep_assert_held() lockdep: Fix style nits ... commit a66a50054e46ec2a03244bc14c48b9125fcd75a7 Merge: 7193bea 695a461 Author: Linus Torvalds Date: Fri Sep 11 13:16:37 2009 -0700 Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (59 commits) x86/gart: Do not select AGP for GART_IOMMU x86/amd-iommu: Initialize passthrough mode when requested x86/amd-iommu: Don't detach device from pt domain on driver unbind x86/amd-iommu: Make sure a device is assigned in passthrough mode x86/amd-iommu: Align locking between attach_device and detach_device x86/amd-iommu: Fix device table write order x86/amd-iommu: Add passthrough mode initialization functions x86/amd-iommu: Add core functions for pd allocation/freeing x86/dma: Mark iommu_pass_through as __read_mostly x86/amd-iommu: Change iommu_map_page to support multiple page sizes x86/amd-iommu: Support higher level PTEs in iommu_page_unmap x86/amd-iommu: Remove old page table handling macros x86/amd-iommu: Use 2-level page tables for dma_ops domains x86/amd-iommu: Remove bus_addr check in iommu_map_page x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX x86/amd-iommu: Change alloc_pte to support 64 bit address space x86/amd-iommu: Introduce increase_address_space function x86/amd-iommu: Flush domains if address space size was increased x86/amd-iommu: Introduce set_dte_entry function x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices ... commit 7193bea53f9d9730bbc859777c2f86c76349914d Merge: 989aa44 84bc4af Author: Linus Torvalds Date: Fri Sep 11 13:16:22 2009 -0700 Merge branch 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: futex: Detect mismatched requeue targets futex: Correct futex_wait_requeue_pi() commentary commit 989aa44a5f215427085ccfe65c1e378e3399c9eb Merge: 4004f02 47cab6a Author: Linus Torvalds Date: Fri Sep 11 13:15:55 2009 -0700 Merge branch 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: debug lockups: Improve lockup detection, fix generic arch fallback debug lockups: Improve lockup detection commit 4004f02d7af9bb1f5fd993fba60ed5bd0f5397a9 Merge: 332a339 5b0f437 Author: Linus Torvalds Date: Fri Sep 11 13:13:32 2009 -0700 Merge branch 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: workqueues: Improve schedule_work() documentation commit 02571f89871e009b66fb5f8d5ae222e90e9f357c Author: Rémi Denis-Courmont Date: Wed Sep 9 00:00:06 2009 +0000 cdc-phonet: autoconfigure Phonet address Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f5bb1c558405aaac41b08b2ea71137db9db46e72 Author: Rémi Denis-Courmont Date: Wed Sep 9 00:00:05 2009 +0000 Phonet: back-end for autoconfigured addresses In some cases, the network device driver knows what layer-3 address the device should have. This adds support for the Phonet stack to automatically request from the driver and add that address to the network device. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 998ec759ef2fc9c60319815c72b2b699ab939733 Author: Rémi Denis-Courmont Date: Tue Sep 8 23:59:51 2009 +0000 Phonet: fix netlink address dump error handling Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit cc411d0bae9c19ec85a150aeab4b08335f5751d1 Author: Brian Haley Date: Wed Sep 9 14:41:32 2009 +0000 ipv6: Add IFA_F_DADFAILED flag Add IFA_F_DADFAILED flag to denote an IPv6 address that has failed Duplicate Address Detection, that way tools like /sbin/ip can be more informative. 3: eth0: mtu 1500 qlen 1000 inet6 2001:db8::1/64 scope global tentative dadfailed valid_lft forever preferred_lft forever Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 384912ed194e43c03ad1cdaa09b0b1e488c34d46 Author: Marcel Holtmann Date: Mon Aug 31 21:08:19 2009 +0000 net: Add DEVTYPE support for Ethernet based devices The Ethernet framing is used for a lot of devices these days. Most prominent are WiFi and WiMAX based devices. However for userspace application it is important to classify these devices correctly and not only see them as Ethernet devices. The daemons like HAL, DeviceKit or even NetworkManager with udev support tries to do the classification in userspace with a lot trickery and extra system calls. This is not good and actually reaches its limitations. Especially since the kernel does know the type of the Ethernet device it is pretty stupid. To solve this problem the underlying device type needs to be set and then the value will be exported as DEVTYPE via uevents and available within udev. # cat /sys/class/net/wlan0/uevent DEVTYPE=wlan INTERFACE=wlan0 IFINDEX=5 This is similar to subsystems like USB and SCSI that distinguish between hosts, devices, disks, partitions etc. The new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual device type. All device types are free form, but for convenience the same strings as used with RFKILL are choosen. Signed-off-by: Marcel Holtmann Signed-off-by: David S. Miller commit f510c35de0e63e1066db83d2fdce99e6dbde0c80 Author: Mikael Pettersson Date: Sun Sep 6 23:59:16 2009 +0000 mv643xx_eth.c: remove unused txq_set_wrr() The txq_set_wrr() function in drivers/net/mv643xx_eth.c is unused, not even referenced under #if 0 or something like that, which results in a compile-time warning: drivers/net/mv643xx_eth.c:1070: warning: 'txq_set_wrr' defined but not used Fix: remove it. Signed-off-by: Mikael Pettersson Signed-off-by: David S. Miller commit 864fdf884e82bacbe8ca5e93bd43393a61d2e2b4 Author: Anton Vorontsov Date: Thu Sep 10 11:48:12 2009 +0000 ucc_geth: Fix hangs after switching from full to half duplex MPC8360 QE UCC ethernet controllers hang when changing link duplex under a load (a bit of NFS activity is enough). PHY: mdio@e0102120:00 - Link is Up - 1000/Full sh-3.00# ethtool -s eth0 speed 100 duplex half autoneg off PHY: mdio@e0102120:00 - Link is Down PHY: mdio@e0102120:00 - Link is Up - 100/Half NETDEV WATCHDOG: eth0 (ucc_geth): transmit queue 0 timed out ------------[ cut here ]------------ Badness at c01fcbd0 [verbose debug info unavailable] NIP: c01fcbd0 LR: c01fcbd0 CTR: c0194e44 ... The cure is to disable the controller before changing speed/duplex and enable it afterwards. Though, disabling the controller might take quite a while, so we better not grab any spinlocks in adjust_link(). Instead, we quiesce the driver's activity, and only then disable the controller. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 7de8ee787e8e10adaf5635bffab4ee19a7558afb Author: Anton Vorontsov Date: Wed Sep 9 16:01:40 2009 +0000 ucc_geth: Rearrange some code to avoid forward declarations We'll need ugeth_disable() and ugeth_enable() calls earlier in the file, so rearrange some code to avoid forward declarations. The patch doesn't contain any functional changes. Signed-off-by: Anton Vorontsov Acked-by: Timur Tabi Signed-off-by: David S. Miller commit 8ff44985c761ad6697a3c97e7b14cf5362ff3801 Author: Anton Vorontsov Date: Wed Sep 9 16:01:30 2009 +0000 phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs According to specs, when auto-negotiation is disabled, Marvell PHYs need a software reset after changing speed/duplex forcing bits. Otherwise, the modified bits have no effect. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit a4b11649618ef5366ee553f4083449d6bee5d8ec Author: Julia Lawall Date: Fri Sep 11 06:22:09 2009 +0000 drivers/net/phy: 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/) // @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) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 966a5d1b85c45f1b55abbc1b595e0b5ca14b87db Author: Julia Lawall Date: Fri Sep 11 06:21:51 2009 +0000 drivers/net/wan: introduce missing kfree Error handling code following a kmalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @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) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 4fb019a01a7f67342d4a88d26c0817afe392c669 Author: Stephen Hemminger Date: Fri Sep 11 11:50:08 2009 -0700 net: force bridge module(s) to be GPL The only valid usage for the bridge frame hooks are by a GPL components (such as the bridge module). The kernel should not leave a crack in the door for proprietary networking stacks to slip in. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ffcfb8db540ff879c2a85bf7e404954281443414 Author: Arnaldo Carvalho de Melo Date: Fri Sep 11 11:35:22 2009 -0700 Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded And also do a better job of returning proper NET_{RX,XMIT}_ values. Based on a patch and suggestions by Mark Smith. This fixes CVE-2009-2903 Reported-by: Mark Smith Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 689fd8b65d669b96d612ccc37d6fb87bf7ed6907 Author: jolsa@redhat.com Date: Fri Sep 11 17:29:29 2009 +0200 tracing: trace parser support for function and graph Convert the writing to 'set_graph_function', 'set_ftrace_filter' and 'set_ftrace_notrace' to use the generic trace_parser 'trace_get_user' function. Removed FTRACE_ITER_CONT flag, since it's not needed after this change. Minor fix in set_graph_function display - g_show function. Signed-off-by: Jiri Olsa LKML-Reference: <1252682969-3366-4-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit 4cfc7e6019caa3e97d2a81c48c8d575d7b38d751 Author: Rahul Iyer Date: Thu Sep 10 17:32:28 2009 +0300 nfsd41: sunrpc: Added rpc server-side backchannel handling When the call direction is a reply, copy the xid and call direction into the req->rq_private_buf.head[0].iov_base otherwise rpc_verify_header returns rpc_garbage. Signed-off-by: Rahul Iyer Signed-off-by: Mike Sager Signed-off-by: Marc Eshel Signed-off-by: Benny Halevy Signed-off-by: Ricardo Labiaga Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy [get rid of CONFIG_NFSD_V4_1] [sunrpc: refactoring of svc_tcp_recvfrom] [nfsd41: sunrpc: create common send routine for the fore and the back channels] [nfsd41: sunrpc: Use free_page() to free server backchannel pages] [nfsd41: sunrpc: Document server backchannel locking] [nfsd41: sunrpc: remove bc_connect_worker()] [nfsd41: sunrpc: Define xprt_server_backchannel()[ [nfsd41: sunrpc: remove bc_close and bc_init_auto_disconnect dummy functions] [nfsd41: sunrpc: eliminate unneeded switch statement in xs_setup_tcp()] [nfsd41: sunrpc: Don't auto close the server backchannel connection] [nfsd41: sunrpc: Remove unused functions] Signed-off-by: Alexandros Batsakis Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfsd41: change bc_sock to bc_xprt] [nfsd41: sunrpc: move struct rpc_buffer def into a common header file] [nfsd41: sunrpc: use rpc_sleep in bc_send_request so not to block on mutex] [removed cosmetic changes] Signed-off-by: Benny Halevy [sunrpc: add new xprt class for nfsv4.1 backchannel] [sunrpc: v2.1 change handling of auto_close and init_auto_disconnect operations for the nfsv4.1 backchannel] Signed-off-by: Alexandros Batsakis [reverted more cosmetic leftovers] [got rid of xprt_server_backchannel] [separated "nfsd41: sunrpc: add new xprt class for nfsv4.1 backchannel"] Signed-off-by: Benny Halevy Cc: Trond Myklebust [sunrpc: change idle timeout value for the backchannel] Signed-off-by: Alexandros Batsakis Signed-off-by: Benny Halevy Acked-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit ab3bbaa8b257845e248e9a01d12a69ca245f4197 Merge: 332a339 2ecda72 Author: Trond Myklebust Date: Fri Sep 11 14:59:37 2009 -0400 Merge branch 'nfs-for-2.6.32' commit 489663644c35d50a20f58d468a7cbc705e6a29ce Author: jolsa@redhat.com Date: Fri Sep 11 17:29:28 2009 +0200 tracing: trace parser support for set_event Convert the parsing of the file 'set_event' to use the generic trace_praser 'trace_get_user' function. Signed-off-by: Jiri Olsa LKML-Reference: <1252682969-3366-3-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit b63f39ea50330f836e301ddda21c6a93dcf0d6a3 Author: jolsa@redhat.com Date: Fri Sep 11 17:29:27 2009 +0200 tracing: create generic trace parser Create a "trace_parser" that can parse the user space input for separate words. struct trace_parser is the descriptor. Generic "trace_get_user" function that can be a helper to read multiple words passed in by user space. Signed-off-by: Jiri Olsa LKML-Reference: <1252682969-3366-2-git-send-email-jolsa@redhat.com> Signed-off-by: Steven Rostedt commit 8ba69ba6a324b13e1190fc31e41954d190fd4f1d Author: Miklos Szeredi Date: Fri Sep 11 11:31:45 2009 -0700 net: unix: fix sending fds in multiple buffers Kalle Olavi Niemitalo reported that: "..., when one process calls sendmsg once to send 43804 bytes of data and one file descriptor, and another process then calls recvmsg three times to receive the 16032+16032+11740 bytes, each of those recvmsg calls returns the file descriptor in the ancillary data. I confirmed this with strace. The behaviour differs from Linux 2.6.26, where reportedly only one of those recvmsg calls (I think the first one) returned the file descriptor." This bug was introduced by a patch from me titled "net: unix: fix inflight counting bug in garbage collector", commit 6209344f5. And the reason is, quoting Kalle: "Before your patch, unix_attach_fds() would set scm->fp = NULL, so that if the loop in unix_stream_sendmsg() ran multiple iterations, it could not call unix_attach_fds() again. But now, unix_attach_fds() leaves scm->fp unchanged, and I think this causes it to be called multiple times and duplicate the same file descriptors to each struct sk_buff." Fix this by introducing a flag that is cleared at the start and set when the fds attached to the first buffer. The resulting code should work equivalently to the one on 2.6.26. Reported-by: Kalle Olavi Niemitalo Signed-off-by: Miklos Szeredi Signed-off-by: David S. Miller commit f81c972d27c36729e65d4a815e3d7b782a540bad Author: Steven Rostedt Date: Fri Sep 11 14:24:13 2009 -0400 tracing: consolidate code between trace_output.c and trace_function_graph.c Both trace_output.c and trace_function_graph.c do basically the same thing to handle the printing of the latency-format. This patch moves the code into one function that both can use. Signed-off-by: Steven Rostedt commit f79e0258ea1f04d63db499479b5fb855dff6dbc5 Author: Martin Schwidefsky Date: Fri Sep 11 15:33:05 2009 +0200 clocksource: Resolve cpu hotplug dead lock with TSC unstable, fix crash The watchdog timer is started after the watchdog clocksource and at least one watched clocksource have been registered. The clocksource work element watchdog_work is initialized just before the clocksource timer is started. This is too late for the clocksource_mark_unstable call from native_cpu_up. To fix this use a static initializer for watchdog_work. This resolves a boot crash reported by multiple people. Signed-off-by: Martin Schwidefsky Cc: Jens Axboe Cc: John Stultz LKML-Reference: <20090911153305.3fe9a361@skybase> Signed-off-by: Ingo Molnar commit 637e7e864103a7a68c1ce43ada27dfc25c0d113f Author: Steven Rostedt Date: Fri Sep 11 13:55:35 2009 -0400 tracing: add lock depth to entries This patch adds the lock depth of the big kernel lock to the generic entry header. This way we can see the depth of the lock and help in removing the BKL. Example: # _------=> CPU# # / _-----=> irqs-off # | / _----=> need-resched # || / _---=> hardirq/softirq # ||| / _--=> preempt-depth # |||| /_--=> lock-depth # |||||/ delay # cmd pid |||||| time | caller # \ / |||||| \ | / -0 2.N..3 5902255250us+: lock_acquire: read rcu_read_lock -0 2.N..3 5902255253us+: lock_release: rcu_read_lock -0 2dN..3 5902255257us+: lock_acquire: xtime_lock -0 2dN..4 5902255259us : lock_acquire: clocksource_lock -0 2dN..4 5902255261us+: lock_release: clocksource_lock Signed-off-by: Steven Rostedt commit 332a3392188e0ad966543c87b8da2b9d246f301d Merge: a9c86d4 81bd5f6 Author: Linus Torvalds Date: Fri Sep 11 09:38:37 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: (102 commits) crypto: sha-s390 - Fix warnings in import function crypto: vmac - New hash algorithm for intel_txt support crypto: api - Do not displace newly registered algorithms crypto: ansi_cprng - Fix module initialization crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx crypto: fips - Depend on ansi_cprng crypto: blkcipher - Do not use eseqiv on stream ciphers crypto: ctr - Use chainiv on raw counter mode Revert crypto: fips - Select CPRNG crypto: rng - Fix typo crypto: talitos - add support for 36 bit addressing crypto: talitos - align locks on cache lines crypto: talitos - simplify hmac data size calculation crypto: mv_cesa - Add support for Orion5X crypto engine crypto: cryptd - Add support to access underlaying shash crypto: gcm - Use GHASH digest algorithm crypto: ghash - Add GHASH digest algorithm for GCM crypto: authenc - Convert to ahash crypto: api - Fix aligned ctx helper crypto: hmac - Prehash ipad/opad ... commit a9c86d42599519f3d83b5f46bdab25046fe47b84 Merge: a12e4d3 1110afb Author: Linus Torvalds Date: Fri Sep 11 09:19:35 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: (377 commits) ASoC: au1x: PSC-AC97 bugfixes ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 ALSA: dummy - Add debug proc file ALSA: Add const prefix to proc helper functions ALSA: Re-export snd_pcm_format_name() function ALSA: hda - Use auto model for HP laptops with ALC268 codec ALSA: cs46xx - Fix minimum period size ASoC: Fix WM835x Out4 capture enumeration ALSA: Remove unneeded ifdef from sound/core.h ALSA: Remove struct snd_monitor_file from public sound/core.h ASoC: Remove unuused hw_read_t sound: oxygen: work around MCE when changing volume ALSA: dummy - Fake buffer allocations ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital ASoC: fix pxa2xx-ac97.c breakage ALSA: dummy - Fix the timer calculation in systimer mode ALSA: dummy - Add more description ALSA: dummy - Better jiffies handling ALSA: dummy - Support high-res timer mode ALSA: Release v1.0.21 ... commit a12e4d304ce701844c639541d90df86e165d03f9 Merge: 89af571 500b067 Author: Linus Torvalds Date: Fri Sep 11 09:17:05 2009 -0700 Merge branch 'writeback' of git://git.kernel.dk/linux-2.6-block * 'writeback' of git://git.kernel.dk/linux-2.6-block: writeback: check for registered bdi in flusher add and inode dirty writeback: add name to backing_dev_info writeback: add some debug inode list counters to bdi stats writeback: get rid of pdflush completely writeback: switch to per-bdi threads for flushing data writeback: move dirty inodes from super_block to backing_dev_info writeback: get rid of generic_sync_sb_inodes() export commit 89af571ca633ada14d17746519a179553a732d31 Merge: 1b195b1 59e3692 Author: Linus Torvalds Date: Fri Sep 11 09:16:39 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: (54 commits) [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code [S390] Wire up page fault events for software perf counters. [S390] Remove smp_cpu_not_running. [S390] Get rid of cpuid.h header file. [S390] Limit cpu detection to 256 physical cpus. [S390] tape: Fix device online messages [S390] Enable guest page hinting by default. [S390] use generic scatterlist.h [S390] s390dbf: Add description for usage of "%s" in sprintf events [S390] Initialize __LC_THREAD_INFO early. [S390] fix recursive locking on page_table_lock [S390] kvm: use console_initcall() to initialize s390 virtio console [S390] tape: reversed order of labels [S390] hypfs: Use "%u" instead of "%d" for unsigned ints in snprintf [S390] kernel: Print an error message if kernel NSS cannot be defined [S390] zcrypt: Free ap_device if dev_set_name fails. [S390] zcrypt: Use spin_lock_bh in suspend callback [S390] xpram: Remove checksum validation for suspend/resume [S390] vmur: Invalid allocation sequence for vmur class [S390] hypfs: remove useless variable qname ... commit 1b195b170da6d75abafa290deeb8863dc8a4d79b Merge: 2490138 addd72c Author: Linus Torvalds Date: Fri Sep 11 09:16:22 2009 -0700 Merge branch 'kmemleak' of git://linux-arm.org/linux-2.6 * 'kmemleak' of git://linux-arm.org/linux-2.6: kmemleak: Improve the "Early log buffer exceeded" error message kmemleak: fix sparse warning for static declarations kmemleak: fix sparse warning over overshadowed flags kmemleak: move common painting code together kmemleak: add clear command support kmemleak: use bool for true/false questions kmemleak: Do no create the clean-up thread during kmemleak_disable() kmemleak: Scan all thread stacks kmemleak: Don't scan uninitialized memory when kmemcheck is enabled kmemleak: Ignore the aperture memory hole on x86_64 kmemleak: Printing of the objects hex dump kmemleak: Do not report alloc_bootmem blocks as leaks kmemleak: Save the stack trace for early allocations kmemleak: Mark the early log buffer as __initdata kmemleak: Dump object information on request kmemleak: Allow rescheduling during an object scanning commit 2490138cb785d299d898b579fa2874a59a3d321a Merge: f6f7919 73f526d Author: Linus Torvalds Date: Fri Sep 11 08:58:32 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: (48 commits) RDMA/iwcm: Reject the connection when the cm_id is destroyed RDMA/cxgb3: Clean up properly on FW mismatch failures RDMA/cxgb3: Don't ignore insert_handle() failures MAINTAINERS: InfiniBand/RDMA mailing list transition to vger IB/mad: Allow tuning of QP0 and QP1 sizes IB/mad: Fix possible lock-lock-timer deadlock RDMA/nes: Map MTU to IB_MTU_* and correctly report link state RDMA/nes: Rework the disconn routine for terminate and flushing RDMA/nes: Use the flush code to fill in cqe error RDMA/nes: Make poll_cq return correct number of wqes during flush RDMA/nes: Use flush mechanism to set status for wqe in error RDMA/nes: Implement Terminate Packet RDMA/nes: Add CQ error handling RDMA/nes: Clean out CQ completions when QP is destroyed RDMA/nes: Change memory allocation for cqp request to GFP_ATOMIC RDMA/nes: Allocate work item for disconnect event handling RDMA/nes: Update refcnt during disconnect IB/mthca: Don't allow userspace open while recovering from catastrophic error IB/mthca: Distinguish multiple devices in /proc/interrupts IB/mthca: Annotate CQ locking ... commit f6f79190866d5b2d06a2114d673f91f54e7c7ce4 Merge: 0d03d59 a3c8b97 Author: Linus Torvalds Date: Fri Sep 11 08:55:49 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: (57 commits) binfmt_elf: fix PT_INTERP bss handling TPM: Fixup boot probe timeout for tpm_tis driver sysfs: Add labeling support for sysfs LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information. VFS: Factor out part of vfs_setxattr so it can be called from the SELinux hook for inode_setsecctx. KEYS: Add missing linux/tracehook.h #inclusions KEYS: Fix default security_session_to_parent() Security/SELinux: includecheck fix kernel/sysctl.c KEYS: security_cred_alloc_blank() should return int under all circumstances IMA: open new file for read KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6] KEYS: Do some whitespace cleanups [try #6] KEYS: Make /proc/keys use keyid not numread as file position [try #6] KEYS: Add garbage collection for dead, revoked and expired keys. [try #6] KEYS: Flag dead keys to induce EKEYREVOKED [try #6] KEYS: Allow keyctl_revoke() on keys that have SETATTR but not WRITE perm [try #6] KEYS: Deal with dead-type keys appropriately [try #6] CRED: Add some configurable debugging [try #6] selinux: Support for the new TUN LSM hooks ... commit 9965976a38f66fc170fc0528b3115bf1a8a58b0a Author: Jesse Barnes Date: Fri Sep 11 08:46:07 2009 -0700 PCI: pcie portdrv: remove unused variable Remove unused port_data variable left over from the MCH hotplug quirk cleanup. Signed-off-by: Jesse Barnes commit 074835f0143b83845af5044af2739c52c9f53808 Author: Youquan Song Date: Wed Sep 9 12:05:39 2009 -0400 intel-iommu: Fix kernel hang if interrupt remapping disabled in BIOS BIOS clear DMAR table INTR_REMAP flag to disable interrupt remapping. Current kernel only check interrupt remapping(IR) flag in DRHD's extended capability register to decide interrupt remapping support or not. But IR flag will not change when BIOS disable/enable interrupt remapping. When user disable interrupt remapping in BIOS or BIOS often defaultly disable interrupt remapping feature when BIOS is not mature.Though BIOS disable interrupt remapping but intr_remapping_supported function will always report to OS support interrupt remapping if VT-d2 chipset populated. On this cases, kernel will continue enable interrupt remapping and result kernel panic. This bug exist on almost all platforms with interrupt remapping support. This patch add DMAR table INTR_REMAP flag check before enable interrupt remapping. Signed-off-by: Youquan Song Signed-off-by: David Woodhouse commit e936d0773df172ec8600777fdd72bbc1f75f22ad Author: Youquan Song Date: Mon Sep 7 10:58:07 2009 -0400 intel-iommu: Disallow interrupt remapping if not all ioapics covered Current kernel enable interrupt remapping only when all the vt-d unit support interrupt remapping. So it is reasonable we should also disallow enabling intr-remapping if there any io-apics that are not listed under vt-d units. Otherwise we can run into issues. Acked-by: Suresh Siddha Signed-off-by: Youquan Song Signed-off-by: David Woodhouse commit 48659d31195bb76d688e99dabd816c5472fb1656 Author: Steven Rostedt Date: Fri Sep 11 11:36:23 2009 -0400 tracing: move tgid out of generic entry and into userstack The userstack trace required the recording of the tgid entry. Unfortunately, it was added to the generic entry where it wasted 4 bytes of every entry and was only used by one entry. This patch moves it out of the generic field and moves it into the only user (userstack_entry). Signed-off-by: Steven Rostedt commit 49ff590390a22c49e9063dcdec4cd5903127526b Author: Steven Rostedt Date: Fri Sep 11 00:30:26 2009 -0400 tracing: add latency format to function_graph tracer While debugging something with the function_graph tracer, I found the need to see the preempt count of the traces. Unfortunately, since the function graph tracer has its own output formatting, it does not honor the latency-format option. This patch makes the function_graph tracer honor the latency-format option, but still keeps control of the output. But now we have the same details that the latency-format supplies. # tracer: function_graph # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / # |||| # CPU|||| DURATION FUNCTION CALLS # | |||| | | | | | | 3) d..1 1.333 us | idle_cpu(); 3) d.h1 | tick_check_idle() { 3) d.h1 0.550 us | tick_check_oneshot_broadcast(); 3) d.h1 | tick_nohz_stop_idle() { 3) d.h1 | ktime_get() { 3) d.h1 | ktime_get_ts() { Signed-off-by: Steven Rostedt commit f08a59f1467b92cd9b8c78961506f69c74bb01a5 Author: Alex Elder Date: Fri Sep 11 09:51:25 2009 -0500 xfs: Record new maintainer information Update the MAINTAINERS file entry for XFS. Signed-off-by: Alex Elder Signed-off by: Felix Blyakher commit 01edede41e352e4879a89cdc5468f72ffc89b713 Author: Minchan Kim Date: Tue Sep 8 21:56:38 2009 +0200 block: trace bio queueing trial only when it occurs If BIO is discarded or cross over end of device, BIO queueing trial doesn't occur. Actually the trace was called just before make_request at first: [PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23      2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4 And then 2 patches added some checks between them: [PATCH] md: check bio address after mapping through partitions        5ddfe9691c91a244e8d1be597b6428fcefd58103, [BLOCK] Don't allow empty barriers to be passed down to queues that don't grok them        51fd77bd9f512ab6cc9df0733ba1caaab89eb957 It breaks original goal. Let's trace it only when it happens. Signed-off-by: Minchan Kim Acked-by: Wu Fengguang Cc: Li Zefan Signed-off-by: Jens Axboe commit 01e97f6b897bf06ec83375d691f2f4d57f5b3a09 Author: Jens Axboe Date: Thu Sep 3 20:06:47 2009 +0200 block: enable rq CPU completion affinity by default Test results here look good, and on big OLTP runs it has also shown to significantly increase cycles attributed to the database and cause a performance boost. Signed-off-by: Jens Axboe commit b217a903ab6581cba04f88c44284dcdd2a752561 Author: Shan Wei Date: Tue Sep 1 10:06:42 2009 +0200 cfq: fix the log message after dispatched a request The blktrace tools can show process id when cfq dispatched a request, using cfq_log_cfqq() instead of cfq_log(). Signed-off-by: Shan Wei Signed-off-by: Jens Axboe commit 49b3a3cbc0311f8f809183696b1f2ab824b18a51 Author: Marcin Slusarz Date: Mon Aug 24 10:56:38 2009 +0200 block: use printk_once Signed-off-by: Marcin Slusarz Cc: Jens Axboe Cc: Tim Waugh Signed-off-by: Jens Axboe commit 212a502676c308ead964a024e081529ad3f8d94c Author: Eric Dumazet Date: Mon Aug 24 10:01:53 2009 +0200 cciss: memory leak in cciss_init_one() commit 22bece00dc1f28dd3374c55e464c9f02eb642876 (cciss: fix regression firmware not displayed in procfs) added a small memory leak in cciss_init_one() Signed-off-by: Eric Dumazet Signed-off-by: Jens Axboe commit 723590ed52d244b025f10a8e2f54c2f57ed02b4d Author: Miklos Szeredi Date: Sat Aug 15 08:43:22 2009 +0200 splice: update mtime and atime on files Splice should update the modification and access times on regular files just like read and write. Not updating mtime will confuse backup tools, etc... This patch only adds the time updates for regular files. For pipes and other special files that splice touches the need for updating the times is less clear. Let's discuss and fix that separately. Signed-off-by: Miklos Szeredi Signed-off-by: Jens Axboe commit d62f843b295393124970d29316344150c7de009b Author: Jens Axboe Date: Tue Aug 11 08:31:14 2009 +0200 block: make blk_iopoll_prep_sched() follow normal 0/1 return convention Return 0 if we successfully marked this iopoll structure as ours for scheduling, instead of 1. Signed-off-by: Jens Axboe commit 1b379d8daf4e981b2220f057683e35af022d45bc Author: Jens Axboe Date: Tue Aug 11 08:26:11 2009 +0200 cfq-iosched: get rid of must_alloc flag It's not currently used, as pointed out by Gui Jianfeng . We already check the wait_request flag to allow an idling queue priority allocation access, so we don't need this extra flag. Signed-off-by: Jens Axboe commit a33dac26d42d6f156b3b05a929961bd8d904f6e2 Author: Jens Axboe Date: Thu Aug 6 20:53:45 2009 +0200 block: use interrupts disabled version of raise_softirq_irqoff() We already have interrupts disabled at that point, so use the __raise_softirq_irqoff() variant. Signed-off-by: Jens Axboe commit fca51d64c5baf64604bc1edc5c5f0e7ed176322f Author: Jens Axboe Date: Thu Aug 6 20:53:23 2009 +0200 block: fix comment in blk-iopoll.c Signed-off-by: Jens Axboe commit 37867ae7c549c58d44337e27738577ed8b7cd753 Author: Jens Axboe Date: Thu Aug 6 20:50:48 2009 +0200 block: adjust default budget for blk-iopoll It's not exported, I doubt we'll have a reason to change this... Signed-off-by: Jens Axboe commit 1badcfbd7febd33f71fc02bda9112bd25e9c294b Author: Jens Axboe Date: Thu Aug 6 20:49:14 2009 +0200 block: fix long lines in block/blk-iopoll.c Note sure why they happened in the first place, probably some bad terminal setting. Signed-off-by: Jens Axboe commit 5e605b64a183a6c0e84cdb99a6f8acb1f8200437 Author: Jens Axboe Date: Wed Aug 5 09:07:21 2009 +0200 block: add blk-iopoll, a NAPI like approach for block devices This borrows some code from NAPI and implements a polled completion mode for block devices. The idea is the same as NAPI - instead of doing the command completion when the irq occurs, schedule a dedicated softirq in the hopes that we will complete more IO when the iopoll handler is invoked. Devices have a budget of commands assigned, and will stay in polled mode as long as they continue to consume their budget from the iopoll softirq handler. If they do not, the device is set back to interrupt completion mode. This patch holds the core bits for blk-iopoll, device driver support sold separately. Signed-off-by: Jens Axboe commit fb1e75389bd06fd5987e9cda1b4e0305c782f854 Author: Jens Axboe Date: Thu Jul 30 08:18:24 2009 +0200 block: improve queue_should_plug() by looking at IO depths Instead of just checking whether this device uses block layer tagging, we can improve the detection by looking at the maximum queue depth it has reached. If that crosses 4, then deem it a queuing device. This is important on high IOPS devices, since plugging hurts the performance there (it can be as much as 10-15% of the sys time). Signed-off-by: Jens Axboe commit 1f98a13f623e0ef666690a18c1250335fc6d7ef1 Author: Jens Axboe Date: Fri Sep 11 14:32:04 2009 +0200 bio: first step in sanitizing the bio->bi_rw flag testing Get rid of any functions that test for these bits and make callers use bio_rw_flagged() directly. Then it is at least directly apparent what variable and flag they check. Signed-off-by: Jens Axboe commit e7e503aedb1f4d165081cb8d47a58c38f80f0cb4 Author: Jens Axboe Date: Tue Jul 28 10:15:30 2009 +0200 block: make bio_rw_flagged() return a bool Makes for a saner interface, instead of returning the bit position. Signed-off-by: Jens Axboe commit e3264a4d7de147677f1995f119eba05c9abe9c1c Author: Hannes Reinecke Date: Tue Jul 28 09:13:13 2009 +0200 Send uevents for write_protect changes Whenever a block device changes it's read-only attribute notify the userspace about it. Signed-off-by: Hannes Reinecke Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit d58b85e1e891cd842d6e183f5d94d06a4fd0122c Author: Vivek Goyal Date: Fri Jul 10 10:20:30 2009 +0200 cfq-iosched: no need to keep track of busy_rt_queues o Get rid of busy_rt_queues infrastructure. Looks like it is redundant. o Once an RT queue gets request it will preempt any of the BE or IDLE queues immediately. Otherwise this queue will be put on service tree and scheduler will anyway select this queue before any of the BE or IDLE queue. Hence looks like there is no need to keep track of how many busy RT queues are currently on service tree. Signed-off-by: Vivek Goyal Signed-off-by: Jens Axboe commit 5ad531db6e0f3c3c985666e83d3c1c4d53acccf9 Author: Jens Axboe Date: Fri Jul 3 12:57:48 2009 +0200 cfq-iosched: drain device queue before switching to a sync queue To lessen the impact of async IO on sync IO, let the device drain of any async IO in progress when switching to a sync cfqq that has idling enabled. Signed-off-by: Jens Axboe commit da6c5c720c52cc717124f8f0830b710ea6a092fd Author: Tejun Heo Date: Fri Sep 11 14:26:40 2009 +0200 scsi,block: update SCSI to handle mixed merge failures Update scsi_io_completion() such that it only fails requests till the next error boundary and retry the leftover. This enables block layer to merge requests with different failfast settings and still behave correctly on errors. Allow merge of requests of different failfast settings. As SCSI is currently the only subsystem which follows failfast status, there's no need to worry about other block drivers for now. Signed-off-by: Tejun Heo Cc: Niel Lambrechts Cc: James Bottomley Signed-off-by: Jens Axboe commit 80a761fd33cf812f771e212139157bf8f58d4b3f Author: Tejun Heo Date: Fri Jul 3 17:48:17 2009 +0900 block: implement mixed merge of different failfast requests Failfast has characteristics from other attributes. When issuing, executing and successuflly completing requests, failfast doesn't make any difference. It only affects how a request is handled on failure. Allowing requests with different failfast settings to be merged cause normal IOs to fail prematurely while not allowing has performance penalties as failfast is used for read aheads which are likely to be located near in-flight or to-be-issued normal IOs. This patch introduces the concept of 'mixed merge'. A request is a mixed merge if it is merge of segments which require different handling on failure. Currently the only mixable attributes are failfast ones (or lack thereof). When a bio with different failfast settings is added to an existing request or requests of different failfast settings are merged, the merged request is marked mixed. Each bio carries failfast settings and the request always tracks failfast state of the first bio. When the request fails, blk_rq_err_bytes() can be used to determine how many bytes can be safely failed without crossing into an area which requires further retrials. This allows request merging regardless of failfast settings while keeping the failure handling correct. This patch only implements mixed merge but doesn't enable it. The next one will update SCSI to make use of mixed merge. Signed-off-by: Tejun Heo Cc: Niel Lambrechts Signed-off-by: Jens Axboe commit a82afdfcb8c0df09776b6458af6b68fc58b2e87b Author: Tejun Heo Date: Fri Jul 3 17:48:16 2009 +0900 block: use the same failfast bits for bio and request bio and request use the same set of failfast bits. This patch makes the following changes to simplify things. * enumify BIO_RW* bits and reorder bits such that BIOS_RW_FAILFAST_* bits coincide with __REQ_FAILFAST_* bits. * The above pushes BIO_RW_AHEAD out of sync with __REQ_FAILFAST_DEV but the matching is useless anyway. init_request_from_bio() is responsible for setting FAILFAST bits on FS requests and non-FS requests never use BIO_RW_AHEAD. Drop the code and comment from blk_rq_bio_prep(). * Define REQ_FAILFAST_MASK which is OR of all FAILFAST bits and simplify FAILFAST flags handling in init_request_from_bio(). Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit addd72c1a917091f4bb5e699e307c4c4553f6fd3 Author: Catalin Marinas Date: Fri Sep 11 10:42:09 2009 +0100 kmemleak: Improve the "Early log buffer exceeded" error message Based on a suggestion from Jaswinder, clarify what the user would need to do to avoid this error message from kmemleak. Reported-by: Jaswinder Singh Rajput Signed-off-by: Catalin Marinas commit 2f9a60d76692ffbc749d97ac55717f70eb1f9432 Author: Dave Airlie Date: Fri Sep 11 18:35:38 2009 +1000 drm/radeon/kms: set fbdev_info for suspend/resume this hopefully will bring back suspend/resume under kms. Signed-off-by: Dave Airlie commit 59e36927ee08f3bf06d8d14597e57389bf1b41dc Author: Michael Holzheu Date: Fri Sep 11 10:29:07 2009 +0200 [S390] tape: Use pr_xxx instead of dev_xxx in shared driver code For messages from the tape core that is shared between the 3590 and 34xx tape disciplines, we want to have the "tape" prefix instead of "tape_3590" or "tape_34xx". In order to fix this, we now use the pr_xxx printk macros. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit bde69af2ab696eebfac9583ea1e8a46b571e317f Author: Heiko Carstens Date: Fri Sep 11 10:29:06 2009 +0200 [S390] Wire up page fault events for software perf counters. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5c0b912e755caaad555eb6feefdb1124462d8f37 Author: Heiko Carstens Date: Fri Sep 11 10:29:05 2009 +0200 [S390] Remove smp_cpu_not_running. smp_cpu_not_running() and cpu_stopped() are doing the same. Remove one and also get rid of the last hard_smp_processor_id() leftover. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit e86a6ed63f46fe8fb555fda531084bca3ef62fd7 Author: Heiko Carstens Date: Fri Sep 11 10:29:04 2009 +0200 [S390] Get rid of cpuid.h header file. Merge cpuid.h header file into cpu.h. While at it convert from typedef to struct declaration and also convert cio code to use proper lowcore structure instead of casts. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 4bb5e07b68565d7983108993aa23eccf5f1b35fe Author: Heiko Carstens Date: Fri Sep 11 10:29:03 2009 +0200 [S390] Limit cpu detection to 256 physical cpus. Saves us more than 65k pointless IPIs. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 53f8c573ea3b54b7e1b81d2cd403373b08103736 Author: Michael Holzheu Date: Fri Sep 11 10:29:02 2009 +0200 [S390] tape: Fix device online messages Currently, when a tape device is set online and no cartridge is loaded, we get the messages "The tape cartridge has been successfully unloaded" and "Determining the size of the recorded area". These messages are not correct. To fix this, we now print the "cartridge loaded/unloaded" messages only, when the load/unload event really occurs. In addition to that, the message "Determining the size of the recorded area" is only printed, if a cartridge is loaded. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 2ddddf3e0a55a7fcd6f240a7416cfcb12dd38b7e Author: Heiko Carstens Date: Fri Sep 11 10:29:01 2009 +0200 [S390] Enable guest page hinting by default. Get rid of the PAGE_STATES config option and enable guest page hinting by default. It can be disabled by specifying "cmma=off" at the command line. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5dd1d2ece0250125fec2dcccbfb8ab9bb2ac020c Author: Heiko Carstens Date: Fri Sep 11 10:29:00 2009 +0200 [S390] use generic scatterlist.h Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f64d04c042193183c6dad98944ae2861b998e8b7 Author: Michael Holzheu Date: Fri Sep 11 10:28:59 2009 +0200 [S390] s390dbf: Add description for usage of "%s" in sprintf events Using "%s" in sprintf event functions is dangerous. This patch adds a short description for this issue to the s390 debug feature documentation. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 0c88ee5b7523e76e290d558c28cd0be48ffad597 Author: Heiko Carstens Date: Fri Sep 11 10:28:58 2009 +0200 [S390] Initialize __LC_THREAD_INFO early. "lockdep: Fix backtraces" reveales a bug in early setup code: when lockdep tries to save a stack backtrace before setup_arch has been called the lowcore pointer for the current thread info pointer isn't initialized yet. However our save stack backtrace code relies on it. If the pointer isn't initialized the saved backtrace will have zero entries. lockdep however relies (correctly) on the fact that that cannot happen. A write access to some random memory region is the result. Fix this by initializing the thread info pointer early. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 50aa98bad056a17655864a4d71ebc32d95c629a7 Author: Martin Schwidefsky Date: Fri Sep 11 10:28:57 2009 +0200 [S390] fix recursive locking on page_table_lock Suzuki Poulose reported the following recursive locking bug on s390: Here is the stack trace : (see Appendix I for more info) [<0000000000406ed6>] _spin_lock+0x52/0x94 [<0000000000103bde>] crst_table_free+0x14e/0x1a4 [<00000000001ba684>] __pmd_alloc+0x114/0x1ec [<00000000001be8d0>] handle_mm_fault+0x2cc/0xb80 [<0000000000407d62>] do_dat_exception+0x2b6/0x3a0 [<0000000000114f8c>] sysc_return+0x0/0x8 [<00000200001642b2>] 0x200001642b2 The page_table_lock is already acquired in __pmd_alloc (mm/memory.c) and it tries to populate the pud/pgd with a new pmd allocated. If another thread populates it before we get a chance, we free the pmd using pmd_free(). On s390x, pmd_free(even pud_free ) is #defined to crst_table_free(), which acquires the page_table_lock to protect the crst_table index updates. Hence this ends up in a recursive locking of the page_table_lock. The solution suggested by Dave Hansen is to use a new spin lock in the mmu context to protect the access to the crst_list and the pgtable_list. Reported-by: Suzuki Poulose Cc: Dave Hansen Signed-off-by: Martin Schwidefsky commit c4de0c1a18237c2727dde8ad392e333539b0af3c Author: Hendrik Brueckner Date: Fri Sep 11 10:28:56 2009 +0200 [S390] kvm: use console_initcall() to initialize s390 virtio console Use a console_initcall() to initialize the s390 virtio console and clean up s390 console initialization in setup.c. Signed-off-by: Hendrik Brueckner Tested-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 68d36bdbf6377d36129b2c6bcbe9d24c5fb1739a Author: Roel Kluin Date: Fri Sep 11 10:28:55 2009 +0200 [S390] tape: reversed order of labels Fix the order of goto labels in tape_generic_online. Signed-off-by: Roel Kluin commit ad2a5d8e0b518f997af126dd737127bdada90a6f Author: Michael Holzheu Date: Fri Sep 11 10:28:54 2009 +0200 [S390] hypfs: Use "%u" instead of "%d" for unsigned ints in snprintf For printing unsigned integers hypfs uses "%d" in snprintf(). This is wrong. With this patch "%u" is used instead. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 11af97e18ea8c310d73b59f1361e6f04444e05a8 Author: Hendrik Brueckner Date: Fri Sep 11 10:28:53 2009 +0200 [S390] kernel: Print an error message if kernel NSS cannot be defined If a named saved system (NSS) cannot be defined or saved, print out an error message with the return code of the underlying z/VM CP command. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit edc44fa03ed7bc9847787e080190cf1d7ed68ceb Author: Felix Beck Date: Fri Sep 11 10:28:52 2009 +0200 [S390] zcrypt: Free ap_device if dev_set_name fails. If dev_set_name fails during scanning the AP bus, the reserved memory has to be freed. Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 95f1556c35529a162cef50296f3dc7f978852048 Author: Felix Beck Date: Fri Sep 11 10:28:51 2009 +0200 [S390] zcrypt: Use spin_lock_bh in suspend callback Fix lock dependency warning. inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage. bash/1442 [HC0[0]:SC0[0]:HE1:SE1] takes: (&ap_dev->lock){+.?...}, at: [<000003e001280404>] __ap_poll_device+0x40/0x3e8 [ap] {IN-SOFTIRQ-W} state was registered at: [<000000000017f094>] __lock_acquire+0xb78/0x182c [<000000000017fe8e>] lock_acquire+0x146/0x178 [<0000000000549cf2>] _spin_lock+0x5a/0x98 [<000003e001280404>] __ap_poll_device+0x40/0x3e8 [ap] [<000003e001280afe>] ap_poll_all+0xaa/0x1a4 [ap] [<000000000014fa82>] tasklet_action+0xfe/0x1f4 [<0000000000150a56>] __do_softirq+0x116/0x284 [<0000000000111058>] do_softirq+0xe4/0xe8 [<00000000001504ba>] irq_exit+0xba/0xd8 [<00000000003dd04a>] do_IRQ+0x176/0x1fc [<000000000011823c>] io_return+0x0/0x8 [<0000004bfbfd2c0e>] 0x4bfbfd2c0e Signed-off-by: Felix Beck Signed-off-by: Martin Schwidefsky commit 99b5e2d3d7ae8f5a2dba7a41a02ba7eb25523b3f Author: Michael Holzheu Date: Fri Sep 11 10:28:50 2009 +0200 [S390] xpram: Remove checksum validation for suspend/resume Currently in the suspend process checksums for the XPRAM partitions are created and stored. During the resume process it is checked, if the checksums are still the same. If this is not the case, a kernel panic is triggered. Unfortunately this prevents XPRAM from beeing used as suspend device, because in this case after the checksum has been created, the memory image is written to XPRAM and therefore the contents of the suspend partition is changed. In order to allow XPRAM to be used as suspend device, this patch removes the checksum validation. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 3f7cb51fac60618aa543058a90e668956d5fb518 Author: Michael Holzheu Date: Fri Sep 11 10:28:49 2009 +0200 [S390] vmur: Invalid allocation sequence for vmur class The vmur class is allocated after the CCW driver is registered and it is destroyed before the CCW driver is unregistered. This is not the correct sequence, because the vmur class can be used via driver core callbacks that are triggered during the CCW driver deregistration. For Example: 1. vmur device is online 2. vmur module is unloaded This leads to the following function call stack: <4> [<0000000000387286>] device_destroy+0x36/0x5c <4> [<000003e000209714>] ur_set_offline_force+0x9c/0x10c [vmur] <4> [<000003e00020a928>] ur_remove+0x64/0xbc [vmur] <4> [<00000000003e4d2e>] ccw_device_remove+0x42/0x1ac <4> [<000000000038a1aa>] __device_release_driver+0x9a/0xe4 <4> [<000000000038a2da>] driver_detach+0xe6/0xec <4> [<0000000000388ee4>] bus_remove_driver+0xc0/0x108 <4> [<000003e00020ad5a>] ur_exit+0x52/0x84 [vmur] In device_destroy() the vmur class is used. Since it is already freed, this can lead to a kernel panic. To fix the problem, the vmur class has to be allocated before the CCW driver is registered and destroyed after the CCW driver has ben unregistered. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 2395ecd98f028b16a6200eb81108a0f67461d16b Author: Vitaliy Gusev Date: Fri Sep 11 10:28:48 2009 +0200 [S390] hypfs: remove useless variable qname Local variable 'qname' in the function hypfs_create_file() really is not used for any purpose. Signed-off-by: Vitaliy Gusev Cc: Michael Holzheu Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit c114728af2acdca0bd8b1d2f5792e393c775f5fc Author: Hans-Joachim Picht Date: Fri Sep 11 10:28:47 2009 +0200 [S390] add call home support Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit 275c340941991a925969c03ec6b900fd135d09dd Author: Christoph Hellwig Date: Fri Sep 11 10:28:46 2009 +0200 [S390] remove unused irq_cpustat_t defintion No need to defined a irq_cpustat_t type if __ARCH_IRQ_STAT is defined. Signed-off-by: Christoph Hellwig Signed-off-by: Martin Schwidefsky commit d3135e0c40c9a13ad0c57783f2b9569c4c00bd26 Author: Heiko Carstens Date: Fri Sep 11 10:28:45 2009 +0200 [S390] kernel: always keep machine flags in lowcore Eleminate the local variable machine_flags and always change machine flags directly in the lowcore. This avoids confusion about when and why the two variables have to be synchronized. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 04a95f6df9d7753098729ef1464e38552627af9d Author: Nelson Elhage Date: Fri Sep 11 10:28:44 2009 +0200 [S390] clean up linker script using new linker script macros. Note that this patch moves .data.init_task inside _edata. In addition, the alignment of .init.ramfs changes: It is now PAGE_ALIGNED and __initramfs_end is arbitrarily aligned; Previously it was only aligned to a 0x100-byte boundary, and always ended on an even byte. This change results in fewer output sections and in some data being reordered, but should have no functional effect. Signed-off-by: Nelson Elhage Signed-off-by: Tim Abbott Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: linux-s390@vger.kernel.org Signed-off-by: Martin Schwidefsky commit 26803144666bd2155a19392fa58a7d512d9c0962 Author: Tim Abbott Date: Fri Sep 11 10:28:43 2009 +0200 [S390] Use macros for .data.page_aligned. .data.page_aligned should not need a separate output section, so as part of this cleanup I moved into the .data output section in the linker scripts in order to eliminate unnecessary references to the section name. Remove the reference to .data.idt, since nothing is put into the .data.idt section on the s390 architecture. It looks like Cyrill Gorcunov posted a patch to remove the .data.idt code on s390 previously: CCing him and the people who acked that patch in case there's a reason it wasn't applied. Signed-off-by: Tim Abbott Cc: Martin Schwidefsky Acked-by: Cyrill Gorcunov Cc: Sam Ravnborg Signed-off-by: Martin Schwidefsky commit a8c3cb4955d1a051732ead9ecf8bcffc8e7c039d Author: Hendrik Brueckner Date: Fri Sep 11 10:28:42 2009 +0200 [S390] move (io|sysc)_restore_trace_psw into .data section The sysc_restore_trace_psw and io_restore_trace_psw storage locations are created in the .text section. When creating and IPLing from a named saved system (NSS), writing to these locations causes a protection exception (because the .text section is mapped as shared read-only in the NSS). To permit write access, move the storage locations into the .data section. The problem occurs only when CONFIG_TRACE_IRQFLAGS is set. The git commmit that has introduced these variables is: 411788ea7fca01ee803af8225ac35807b4d02050 Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 18d00acfe2f3fc5ee62f679eb2e397ae962fe69b Author: Hendrik Brueckner Date: Fri Sep 11 10:28:41 2009 +0200 [S390] kernel: Convert upper case scpdata to lower case If the CP SET LOADDEV on the 3215 console has been used to specify SCPdata, all data is converted to upper case letters. When scpdata contains upper case letters only, convert all letters to lower case. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 684d2fd48e718e70dad21ef7c528649578147e48 Author: Hendrik Brueckner Date: Fri Sep 11 10:28:40 2009 +0200 [S390] kernel: Append scpdata to kernel boot command line Append scpdata to the kernel boot command line. If scpdata starts with the equal sign (=), the kernel boot command line is replaced. (For consistency with zIPL and IPL PARM parameters.) To use scpdata for the kernel boot command line, scpdata must consist of ascii characters only. If scpdata contains other characters, scpdata is not appended to the kernel boot command line. In addition, re-IPL is extended for setting scpdata for the next Linux reboot. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 6292b9ef5a4e85d6b782412a85725dd38df24b85 Author: Frank Munzert Date: Fri Sep 11 10:28:39 2009 +0200 [S390] tape: use init_timer_on_stack() rather than init_timer() With CONFIG_DEBUG_OBJECTS_TIMERS=y "chccwdev --online" for a tape device will fail with message "ODEBUG: object is on stack, but not annotated". We now use init_timer_on_stack. Signed-off-by: Frank Munzert Signed-off-by: Martin Schwidefsky commit c6304933274f8e3cc6983d496456757ac8ab2e0b Author: Sebastian Ott Date: Fri Sep 11 10:28:38 2009 +0200 [S390] proper use of device register Don't use kfree directly after device registration started. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit c48ff644f2c86f34f69f382b68b16c6d30854783 Author: Heiko Carstens Date: Fri Sep 11 10:28:37 2009 +0200 [S390] hibernation: merge files and move to kernel/ Merge the nearly empty C files and move everything from power/ to kernel/. That way the files are easier to handle. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f3d1263e81daf2be1353baf1ad3f6e25d135f2c5 Author: Heiko Carstens Date: Fri Sep 11 10:28:36 2009 +0200 [S390] hibernation: remove dead file There is no caller of do_after_copyback() anywhere. Remove it. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bfe3349b516df011dcf6462b0fd748a6f5c2e8af Author: Heiko Carstens Date: Fri Sep 11 10:28:35 2009 +0200 [S390] atomic ops: small cleanups Couple of coding style fixes, replace __inline__ with inline and remove #ifdef __KERNEL_- since the header file isn't exported. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 12751058515860ed43c8f874ebcb2097b323736a Author: Heiko Carstens Date: Fri Sep 11 10:28:34 2009 +0200 [S390] atomic ops: add effecient atomic64 support for 31 bit Use compare double and swap to implement efficient atomic64 ops for 31 bit. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6ac2a4ddd10d6916785b4c566d521025c855f823 Author: Martin Schwidefsky Date: Fri Sep 11 10:28:33 2009 +0200 [S390] improve mcount code Move the 64 bit mount code from mcount.S into mcount64.S and avoid code duplication. Signed-off-by: Martin Schwidefsky commit 04efc3be767cfed0d348fd598eba8fe5f5bf5fe6 Author: Heiko Carstens Date: Fri Sep 11 10:28:32 2009 +0200 [S390] convert/optimize csum_fold() to C In the meantime gcc generates better code than the old inline assemblies do. Original inline assembly results in: lr %r1,%r2 sr %r3,%r3 lr %r2,%r1 srdl %r2,16 alr %r2,%r3 alr %r1,%r2 srl %r1,16 xilf %r1,65535 llghr %r2,%r1 br %r14 Out of the C code gcc generates this: rll %r1,%r2,16 ar %r1,%r2 srl %r1,16 xilf %r1,65535 llghr %r2,%r1 br %r14 In addition we don't have any static register allocations anymore and gcc is free to shuffle instructions around for better pipeline usage. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 05e7ff7da78bad3edc1290ed86b4a37da72ced62 Author: Heiko Carstens Date: Fri Sep 11 10:28:31 2009 +0200 [S390] introduce get_clock_monotonic Introduce get_clock_monotonic() function which can be used to get a (fast) timestamp. Resolution is the same as for get_clock(). The only difference is that the timestamps are monotonic and don't jump backward or forward. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ca99dab01dd63dcc413395bd3e75b0be152dfefc Author: Stefan Haberland Date: Fri Sep 11 10:28:30 2009 +0200 [S390] dasd: fix message naming This patch fixes message naming so that generic dasd messages do not contain the device discipline. For this purpose the dev_ makros are replaced by pr_ makros for generic dasd messages. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 68b781fe1bed89011ab7c58ede8476abe64432d2 Author: Stefan Haberland Date: Fri Sep 11 10:28:29 2009 +0200 [S390] dasd: optimize cpu usage in goodcase remove unnecessary dbf call, remove string operations for magic Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 97f604b07473669f4da52b1f859ee45e8d48d42a Author: Stefan Weinhuber Date: Fri Sep 11 10:28:28 2009 +0200 [S390] dasd: fail requests when device state is less then ready A DASD device that is not ready or online has no defined disk layout, so all requests that arrive in such a state need to be returned as failed. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 3ac276f8cb020adbbc3399c47edc1100748c2c16 Author: Sebastian Ott Date: Fri Sep 11 10:28:27 2009 +0200 [S390] cio: remove ccw_device init_name We used the init_name to set the console ccw_device's name early at the boot stage. This patch moves the name setting (for all ccw devices) to the point where we actually register the device. At this time we can do dynamic allocations and therefore use dev_set_name. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 3b554a14f4bdf754ba9d2f64c2b6edf8dafe93b9 Author: Sebastian Ott Date: Fri Sep 11 10:28:26 2009 +0200 [S390] cio: move final put_device to ccw_device_unregister We use a test_and_clear_bit to prevent a device from being unregistered twice. Unfortunately in this cases the "final" put_device (from device_initialize) was issued more than once, resulting in an use after free error. Fix this by moving this put_device to ccw_device_unregister. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 6ee4fec6be06f7d138860b37cba58982cc3ccb16 Author: Sebastian Ott Date: Fri Sep 11 10:28:25 2009 +0200 [S390] cio: remove subchannel init_name We used the init_name to set the console subchannels name early at the boot stage. With the patch cio: fix memleak in subchannel validation we moved the name setting to the point where we actually register the console subchannel. At this time we can do dynamic allocations and therefore use dev_set_name. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit ab6aae09024be1b039df441fa1b64dbe092d0acb Author: Sebastian Ott Date: Fri Sep 11 10:28:24 2009 +0200 [S390] cio: fix memleak in subchannel validation When scanning for new subchannels we have a code path where we allocate memory for a struct subchannel, set the device name (which is dynamically allocated now) and do a check if the underlying device is blacklisted - if so we free the subchannel structure. Since we have not set up refcounting at this stage, the device name's memory is lost. Fix this by moving the dev_set_name after the blacklist test. Note: With this patch the init_name for the console subchannel becomes virtually obsolete. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit f014824ee72e66292c3b1172dc142f959b42e61b Author: Sebastian Ott Date: Fri Sep 11 10:28:23 2009 +0200 [S390] cio: fix use after free in s390 debug feature When using s390dbf with "%s" in sprintf format strings the string itself is not copied to the dbf buffer. Since in this case only pointers are stored in the s390dbf, we should not use dev_name - which is bound to the lifetime of the device. Reading this entry from s390dbf after the device was released will cause an use after free error. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 3f09bb8965cefe36f42a9ec09ebb821523eba530 Author: Jan Glauber Date: Fri Sep 11 10:28:22 2009 +0200 [S390] qdio: remove limited number of debugfs entries The number of qdio debugfs entries was limited. Remove this limit and group the queue files in a per device directory. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit 217ee6c64a9589bc5ad4d1c88136fc359d17930b Author: Michael Ernst Date: Fri Sep 11 10:28:21 2009 +0200 [S390] cio: failing set online/offline processing. When unit checks trigger sensing the device state is set to W4SENSE until sense completion; then the device state is set back to ONLINE. If a unit check occurs while set online or set offline requests are processed then it might happen that the device's temporary W4SENSE state causes these functions to terminate, leaving the device in an inconsistent state when the state is set back to ONLINE later on so that the device cannot be set online or offline any longer. To solve this, set online/offline and related rollback or error routines are processed only if the device is in a final or DISCONNECTED state. Signed-off-by: Michael Ernst Signed-off-by: Martin Schwidefsky commit be7a2ddce66991c05a1c6ad19790289591e53547 Author: Sebastian Ott Date: Fri Sep 11 10:28:20 2009 +0200 [S390] cio: ensure to hold a reference for deferred deregistration Ensure to always hold an extra device reference for scheduling a subchannel deregistration, by moving the get_device to ccw_device_schedule_sch_unregister. This fixes an use after free error in ccw_device_call_sch_unregister where put_device was called on an already freed device structure. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit e2910bcf8ca762b306767a0894ab1987be014c9e Author: Jan Glauber Date: Fri Sep 11 10:28:19 2009 +0200 [S390] qdio: continue polling if the queue is not finished With commit c38f96080955854e54df9cb392bc674e1ae330e1 polling was stopped for the queue even if new data is available. Return immediately after scheduling the queue tasklet if the queue is not done. Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit efd986db2d720e8f6660ec2c292509ee7d28cc6a Author: Sebastian Ott Date: Fri Sep 11 10:28:18 2009 +0200 [S390] cio: increase trace level Move debug traces for start I/O and interrupt events to exclusive trace levels. Also change tracing in hot-path from sprintf (costly) to hex. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 626e476ae011cafddc0ccb39ab838b90cc5d2272 Author: Sebastian Ott Date: Fri Sep 11 10:28:17 2009 +0200 [S390] cio: fix not oper handling after failed [on|off]line processing If online/offline processing of a ccw device fails, resulting in not operational state, notify the driver and unregister the device in case the driver dosn't want to keep it. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 1da73bc80bdfc9588192a6e6f5a72f8138f7378d Author: Peter Oberparleiter Date: Fri Sep 11 10:28:16 2009 +0200 [S390] cio: consolidate subchannel intparm reset Ensure that the hardware interruption parameter for a subchannel is reset when the associated subchannel data structure is freed. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 62733e5a5a480a893e56fa6133ae90904d857bc4 Author: Heiko Carstens Date: Fri Sep 11 10:28:15 2009 +0200 [S390] cio: move scsw helper functions to header file All scsw helper functions are very short and usage of them shouldn't result in function calls. Therefore we move them to a separate header file. Also saves a lot of EXPORT_SYMBOLs. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1f1148c88ad37c87f14d2153416a605bf0aeaf74 Author: Peter Oberparleiter Date: Fri Sep 11 10:28:14 2009 +0200 [S390] cio: fix ineffective verify event Path verification events occurring for offline devices are currently ignored. As a result, offline devices are not removed, even though they might no longer be accessible (for example because the last path to the device was varied offline). Fix this by scheduling a status evaluation for the affected subchannel when a path verification event occurs. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 500b067c5e6ceea49cf280a02597b1169320e08c Author: Jens Axboe Date: Wed Sep 9 09:10:25 2009 +0200 writeback: check for registered bdi in flusher add and inode dirty Also a debugging aid. We want to catch dirty inodes being added to backing devices that don't do writeback. Signed-off-by: Jens Axboe commit d993831fa7ffeb89e994f046f93eeb09ec91df08 Author: Jens Axboe Date: Fri Jun 12 14:45:52 2009 +0200 writeback: add name to backing_dev_info This enables us to track who does what and print info. Its main use is catching dirty inodes on the default_backing_dev_info, so we can fix that up. Signed-off-by: Jens Axboe commit f09b00d3e789a88fa6c7c03cedc62cb65c1de0cb Author: Jens Axboe Date: Mon May 25 09:08:21 2009 +0200 writeback: add some debug inode list counters to bdi stats Add some debug entries to be able to inspect the internal state of the writeback details. Signed-off-by: Jens Axboe commit d0bceac747b547c0b4769b91fec7d3c15600153f Author: Jens Axboe Date: Mon May 18 08:20:32 2009 +0200 writeback: get rid of pdflush completely It is now unused, so kill it off. Signed-off-by: Jens Axboe commit 03ba3782e8dcc5b0e1efe440d33084f066e38cae Author: Jens Axboe Date: Wed Sep 9 09:08:54 2009 +0200 writeback: switch to per-bdi threads for flushing data This gets rid of pdflush for bdi writeout and kupdated style cleaning. pdflush writeout suffers from lack of locality and also requires more threads to handle the same workload, since it has to work in a non-blocking fashion against each queue. This also introduces lumpy behaviour and potential request starvation, since pdflush can be starved for queue access if others are accessing it. A sample ffsb workload that does random writes to files is about 8% faster here on a simple SATA drive during the benchmark phase. File layout also seems a LOT more smooth in vmstat: r b swpd free buff cache si so bi bo in cs us sy id wa 0 1 0 608848 2652 375372 0 0 0 71024 604 24 1 10 48 42 0 1 0 549644 2712 433736 0 0 0 60692 505 27 1 8 48 44 1 0 0 476928 2784 505192 0 0 4 29540 553 24 0 9 53 37 0 1 0 457972 2808 524008 0 0 0 54876 331 16 0 4 38 58 0 1 0 366128 2928 614284 0 0 4 92168 710 58 0 13 53 34 0 1 0 295092 3000 684140 0 0 0 62924 572 23 0 9 53 37 0 1 0 236592 3064 741704 0 0 4 58256 523 17 0 8 48 44 0 1 0 165608 3132 811464 0 0 0 57460 560 21 0 8 54 38 0 1 0 102952 3200 873164 0 0 4 74748 540 29 1 10 48 41 0 1 0 48604 3252 926472 0 0 0 53248 469 29 0 7 47 45 where vanilla tends to fluctuate a lot in the creation phase: r b swpd free buff cache si so bi bo in cs us sy id wa 1 1 0 678716 5792 303380 0 0 0 74064 565 50 1 11 52 36 1 0 0 662488 5864 319396 0 0 4 352 302 329 0 2 47 51 0 1 0 599312 5924 381468 0 0 0 78164 516 55 0 9 51 40 0 1 0 519952 6008 459516 0 0 4 78156 622 56 1 11 52 37 1 1 0 436640 6092 541632 0 0 0 82244 622 54 0 11 48 41 0 1 0 436640 6092 541660 0 0 0 8 152 39 0 0 51 49 0 1 0 332224 6200 644252 0 0 4 102800 728 46 1 13 49 36 1 0 0 274492 6260 701056 0 0 4 12328 459 49 0 7 50 43 0 1 0 211220 6324 763356 0 0 0 106940 515 37 1 10 51 39 1 0 0 160412 6376 813468 0 0 0 8224 415 43 0 6 49 45 1 1 0 85980 6452 886556 0 0 4 113516 575 39 1 11 54 34 0 2 0 85968 6452 886620 0 0 0 1640 158 211 0 0 46 54 A 10 disk test with btrfs performs 26% faster with per-bdi flushing. A SSD based writeback test on XFS performs over 20% better as well, with the throughput being very stable around 1GB/sec, where pdflush only manages 750MB/sec and fluctuates wildly while doing so. Random buffered writes to many files behave a lot better as well, as does random mmap'ed writes. A separate thread is added to sync the super blocks. In the long term, adding sync_supers_bdi() functionality could get rid of this thread again. Signed-off-by: Jens Axboe commit 66f3b8e2e103a0b93b945764d98e9ba46cb926dd Author: Jens Axboe Date: Wed Sep 2 09:19:46 2009 +0200 writeback: move dirty inodes from super_block to backing_dev_info This is a first step at introducing per-bdi flusher threads. We should have no change in behaviour, although sb_has_dirty_inodes() is now ridiculously expensive, as there's no easy way to answer that question. Not a huge problem, since it'll be deleted in subsequent patches. Signed-off-by: Jens Axboe commit d8a8559cd7a9ccac98d5f6f13297a2ff68a43627 Author: Jens Axboe Date: Wed Sep 2 12:34:32 2009 +0200 writeback: get rid of generic_sync_sb_inodes() export This adds two new exported functions: - writeback_inodes_sb(), which only attempts to writeback dirty inodes on this super_block, for WB_SYNC_NONE writeout. - sync_inodes_sb(), which writes out all dirty inodes on this super_block and also waits for the IO to complete. Acked-by: Jan Kara Signed-off-by: Jens Axboe commit c984123c7a888731b7e971e1c878b6f2b716b292 Author: Marcin Slusarz Date: Sun Aug 23 20:23:34 2009 +0200 pata_rz1000: use printk_once Signed-off-by: Marcin Slusarz Signed-off-by: Jeff Garzik commit 78d5ae39af19a02a3d16213c0f62930d9a5d25f7 Author: Shane Huang Date: Fri Aug 7 15:05:52 2009 +0800 ahci: kill @force_restart and refine CLO for ahci_kick_engine() This patch refines ahci_kick_engine() after discussion with Tejun about FBS(FIS-based switching) support preparation: a. Kill @force_restart and always kick the engine. The only case where @force_restart is zero is when it's called from ahci_p5wdh_hardreset() Actually at that point, BSY is pretty much guaranteed to be set. b. If PMP is attached, ignore busy and always do CLO. (AHCI-1.3 9.2) Signed-off-by: Shane Huang Acked-by: Tejun Heo Signed-off-by: Jeff Garzik commit 02cb009bb942007b76c38da4cc2ca0a0a974c667 Author: Otavio Salvador Date: Fri Jul 3 11:22:42 2009 -0300 pata_cs5535: add pci id for AMD based CS5535 controllers Signed-off-by: Otavio Salvador Signed-off-by: Jeff Garzik commit e2dd90b1ad4c61ecb52f2424049d91ce6ccc1f17 Author: Shane Huang Date: Wed Jul 29 11:34:49 2009 +0800 ahci: Add AMD SB900 SATA/IDE controller device IDs Add AMD SB900 SATA/IDE controller device IDs. Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit 041b5eac254107cd3ba60034c38a411531cc64ee Author: Julia Lawall Date: Thu Aug 6 16:05:08 2009 -0700 drivers/ata: 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/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d331d8305cba713605854aab63a000fb892353a7 Author: Martyn Welch Date: Thu Aug 13 09:03:02 2009 +0100 powerpc/nvram: Enable use Generic NVRAM driver for different size chips Remove the reliance on a staticly defined NVRAM size, allowing platforms to support NVRAMs with sizes differing from the standard. A fall back value is provided for platforms not supporting this extension. Signed-off-by: Martyn Welch Signed-off-by: Benjamin Herrenschmidt commit 1d6ed32226326a6e6cd67cd9ee4294bcbb0c9a15 Author: Benjamin Herrenschmidt Date: Fri Sep 11 15:36:09 2009 +1000 powerpc/iseries: Fix oops reading from /proc/iSeries/mf/*/cmdline That code uses dma_mapping_error() with a NULL device, which is a bad idea :-) The proper fix might be to start using some kind of pseudo device for all these low level mappings with the hypervisor but that will be for another day. Since it directly calls into the low level iommu code, I see no problem in having it directly test against DMA_ERROR_CODE instead of using the accessors with a NULL argument for now. Signed-off-by: Benjamin Herrenschmidt commit 6cf8a3f58806f12b975a89cfd7edf01566ff80a0 Author: Jerome Glisse Date: Thu Sep 10 21:46:48 2009 +0200 drm/radeon/kms: move modeset init outside of GPU init We are splitting GPU & modeset init so that it's easier to abord only remaining GPU init when somethings fails. We want to always provide enough funcionalities to get fbcon and a shadowfb X working. Only acceptable error during initialization are memory allocation failure or io mapping failure. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 3d3792cb455d15881144e9dfba4c67eece260a69 Author: Takashi Iwai Date: Fri Sep 11 07:50:47 2009 +0200 ALSA: hda - Add missing model=auto entry for ALC269 Signed-off-by: Takashi Iwai commit 923f6848e1686059ef8d272d1fca4d3577911a41 Author: Alex Deucher Date: Thu Sep 10 17:53:39 2009 -0400 drm/radeon/kms: add common scaled modes for TV and LVDS Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b7802c5c1ea9563f3746bea09c214ccedc8600f4 Author: Dmitry Torokhov Date: Wed Sep 9 19:13:20 2009 -0700 Input: psmouse - use boolean type Signed-off-by: Dmitry Torokhov commit f81134163fc785622f58af27363079ba1de7c7aa Author: Dmitry Torokhov Date: Wed Sep 9 19:08:17 2009 -0700 Input: i8042 - use platform_driver_probe i8042 is not hot-pluggable and we create the device when we register the driver, so let's save some memory by using platform_device_probe and using __init instead of __devinit. Signed-off-by: Dmitry Torokhov commit 386b384900a200d5fcabdd4a9c27eb21db606cd4 Author: Dmitry Torokhov Date: Wed Sep 9 19:08:16 2009 -0700 Input: i8042 - use boolean type where it makes sense Signed-off-by: Dmitry Torokhov commit 5ddbc77c3eb54336fcd44b7b66b44784d65677e2 Author: Dmitry Torokhov Date: Wed Sep 9 19:08:15 2009 -0700 Input: i8042 - try disabling and re-enabling AUX port at close Ever since we switched from having a polling timer to registering IRQ handlers for both keyboard and AUX ports at the driver registration time, on certain boxes probing for a mouse results in keyboard stopping working. The only real difference between old and new way is that before we disabled ports after unsuccessful probe whereas now we leave them as is. Try to emulate the old behavior by disabling and immediately re-enabling AUX and KBD ports when corresponding serio port is being closed. Signed-off-by: Dmitry Torokhov commit bd96f37895197563bc1d6d6f7c012b3ae7df1c45 Author: Dmitry Torokhov Date: Fri Sep 4 23:46:18 2009 -0700 Input: pxa27x_keypad - allow modifying keymap from userspace Tested-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Dmitry Torokhov commit 7cac9cd935533e52e277c0c8799a8ba16c24f250 Author: Dmitry Torokhov Date: Thu Sep 3 21:57:48 2009 -0700 Input: sunkbd - fix formatting Adjust the way 'switch' statements were indented; make sure we stay under 80 ciolumns. Signed-off-by: Dmitry Torokhov commit 1c7827ae70e7c8456e08f7bb9ef2238d27814cbe Author: Dmitry Torokhov Date: Thu Sep 3 21:45:34 2009 -0700 Input: i8042 - bypass AUX IRQ delivery test on laptops It seems that many laptops do not fully implement AUX LOOP command in their keyboard controllers, causing issues with touchpad detection. We know however that almost every laptop/portable uses a PS/2 pointing device and, even if user disables it in favor of an external mouse, the system will not use IRQ 12 for anything else. Therefore we may bypass AUX IRQ delivery test when running on a laptop and assume that it is routed properly. Just to be safe we require the box to have good PNP data in order to bypass the test. [Jin Dongming : fix crash caused by missing terminator in the DMI table] Signed-off-by: Dmitry Torokhov commit 73f526da0260db5376951373c267596993dc13a8 Merge: 45c448a b76aabc Author: Roland Dreier Date: Thu Sep 10 21:19:45 2009 -0700 Merge branch 'mad' into for-linus Conflicts: drivers/infiniband/core/mad.c commit 6a78ec16ca40cc98e387b2d8d80adbeedda02bbc Author: Yusuke Goda Date: Fri Sep 11 02:42:46 2009 +0000 sh: Fix the indication point of the liquid crystal of AP-325RXA(AP3300) Signed-off-by: Yusuke Goda Signed-off-by: Paul Mundt commit 094f7bd80c18b3e2c148db6fdf224ced3ee705a5 Author: Kuninori Morimoto Date: Thu Sep 10 01:40:05 2009 +0000 sh: Add EcoVec24 romImage defconfig Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit c386cff1bf0b9bf37d33291e3c96034e83da2af2 Author: Kuninori Morimoto Date: Thu Sep 10 01:40:02 2009 +0000 sh: USB disable process is needed if romImage boot for EcoVec24 when you use romImage on EcoVec24, 1st Linux will enable USB device. But no-one disable it. So re-started Linux will get interrupt before USB driver is attached. This patch disable USB device at first Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 643e9d10957e80ebbb3aabbb43788eb5cf9ac033 Author: Kuninori Morimoto Date: Thu Sep 10 01:40:00 2009 +0000 sh: EcoVec24: add HIZA setting for LED Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 4907d57f76dc1d6c49c19c653fb705b9a2a8487c Author: Kuninori Morimoto Date: Thu Sep 10 01:39:58 2009 +0000 sh: EcoVec24: write MAC address in boot Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit be4ebf999a38dfe9d7d705c4913624ec816c48f2 Author: Kuninori Morimoto Date: Thu Sep 10 01:39:55 2009 +0000 sh: Add romImage support for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 378a569eaa2bff8f22bb312a76cf0a97d5d329ae Author: Kuninori Morimoto Date: Thu Sep 10 01:39:52 2009 +0000 sh: add romimage-macros.h romimage macros which are used in kfr2r09 is very useful for other board. This patch divides kfr2r09's romimage.h into romimage-macros and partner-jet-setup. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 125ecce6960e3365433ec5c734365a51e88bf3d9 Author: Kuninori Morimoto Date: Thu Sep 10 01:39:37 2009 +0000 sh: Add I2C device support for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 45c448a1c0bed9c7eab6064493a7c5d94defcafd Merge: ffc40c6 6303e74 286b63d 5e47596 cb58160 3b4a8cd d841064 cd1d3f7 Author: Roland Dreier Date: Thu Sep 10 21:18:07 2009 -0700 Merge branches 'cxgb3', 'ehca', 'ipath', 'ipoib', 'misc', 'mlx4', 'mthca' and 'nes' into for-linus commit 1f7bebb9e911d870fa8f997ddff838e82b5715ea Author: Andreas Schlick Date: Thu Sep 10 23:16:07 2009 -0400 ext4: Always set dx_node's fake_dirent explicitly. When ext4_dx_add_entry() has to split an index node, it has to ensure that name_len of dx_node's fake_dirent is also zero, because otherwise e2fsck won't recognise it as an intermediate htree node and consider the htree to be corrupted. Signed-off-by: Andreas Schlick Signed-off-by: "Theodore Ts'o" commit 0e3d2a6313d03413d93327202a60256d1d726fdc Author: Theodore Ts'o Date: Fri Sep 11 09:30:12 2009 -0400 ext4: Fix async commit mode to be safe by using a barrier Previously the journal_async_commit mount option was equivalent to using barrier=0 (and just as unsafe). This patch fixes it so that we eliminate the barrier before the commit block (by not using ordered mode), and explicitly issuing an empty barrier bio after writing the commit block. Because of the journal checksum, it is safe to do this; if the journal blocks are not all written before a power failure, the checksum in the commit block will prevent the last transaction from being replayed. Using the fs_mark benchmark, using journal_async_commit shows a 50% improvement: FSUse% Count Size Files/sec App Overhead 8 1000 10240 30.5 28242 vs. FSUse% Count Size Files/sec App Overhead 8 1000 10240 45.8 28620 Signed-off-by: "Theodore Ts'o" commit 705af9c7a8bcb9c8752a73be9ca356acb5c7688c Author: Alex Deucher Date: Thu Sep 10 16:31:13 2009 -0400 drm/radeon/kms: pull in latest quirks and fixes from ddx Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit a381287759b2b65e7de9fb35801c781cab016f10 Author: Alex Deucher Date: Thu Sep 10 15:54:35 2009 -0400 drm/radeon/kms/r600: use blit for BO moves Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit c000273ebc830c27b8c9e03d5f4c147d3e310f48 Author: Jerome Glisse Date: Thu Sep 10 13:47:09 2009 +0200 drm/radeon/kms: R3XX/R4XX AGP asic use PCI GART not PCIE GART R3XX/R4XX AGP asic use the old PCI GART block, not the new PCIE GART. Make sure we pick the right GART when disabling AGP. Signed-off-by: Jerome Glisse Acked-by: Alex Deucher Signed-off-by: Dave Airlie commit bc00351edd5c1b84d48c3fdca740fedfce4ae6ce Author: Geoff Levand Date: Wed Sep 9 13:28:05 2009 +0000 powerpc/ps3: Workaround for flash memory I/O error A workaround for flash memory I/O errors when the PS3 internal hard disk has not been formatted for OtherOS use. This error condition mainly effects 'Live CD' users who have not formatted the PS3's internal hard disk for OtherOS. Fixes errors similar to these when using the ps3-flash-util or ps3-boot-game-os programs: ps3flash read failed 0x2050000 os_area_header_read: read error: os_area_header: Input/output error main:627: os_area_read_hp error. ERROR: can't change boot flag Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit c6c9eacef09a94b5866b83556196440aca876702 Author: Benjamin Herrenschmidt Date: Tue Sep 8 14:16:58 2009 +0000 powerpc/booke: Don't set DABR on 64-bit BookE, use DAC1 instead Also remove a duplicate setting of it in the context switch path on BookE. Signed-off-by: Benjamin Herrenschmidt commit e51ee31e8af22948dcc3b115978469b09c96c3fd Author: Paul Mackerras Date: Wed Sep 9 20:28:49 2009 +0000 powerpc/perf_counters: Reduce stack usage of power_check_constraints Michael Ellerman reported stack-frame size warnings being produced for power_check_constraints(), which uses an 8*8 array of u64 and two 8*8 arrays of unsigned long, which are currently allocated on the stack, along with some other smaller variables. These arrays come to 1.5kB on 64-bit or 1kB on 32-bit, which is a bit too much for the stack. This fixes the problem by putting these arrays in the existing per-cpu cpu_hw_counters struct. This is OK because two of the call sites have interrupts disabled already; for the third call site we use get_cpu_var, which disables preemption, so we know we won't get a context switch while we're in power_check_constraints(). Note that power_check_constraints() can be called during context switch but is not called from interrupts. Reported-by: Michael Ellerman Signed-off-by: Paul Mackerras Cc: commit a6dbf93a2ad853585409e715eb96dca9177e3c39 Author: Paul Mackerras Date: Wed Sep 9 01:26:03 2009 +0000 powerpc: Fix bug where perf_counters breaks oprofile Currently there is a bug where if you use oprofile on a pSeries machine, then use perf_counters, then use oprofile again, oprofile will not work correctly; it will lose the PMU configuration the next time the hypervisor does a partition context switch, and thereafter won't count anything. Maynard Johnson identified the sequence causing the problem: - oprofile setup calls ppc_enable_pmcs(), which calls pseries_lpar_enable_pmcs, which tells the hypervisor that we want to use the PMU, and sets the "PMU in use" flag in the lppaca. This flag tells the hypervisor whether it needs to save and restore the PMU config. - The perf_counter code sets and clears the "PMU in use" flag directly as it context-switches the PMU between tasks, and leaves it clear when it finishes. - oprofile setup, called for a new oprofile run, calls ppc_enable_pmcs, which does nothing because it has already been called. In particular it doesn't set the "PMU in use" flag. This fixes the problem by arranging for ppc_enable_pmcs to always set the "PMU in use" flag. It makes the perf_counter code call ppc_enable_pmcs also rather than calling the lower-level function directly, and removes the setting of the "PMU in use" flag from pseries_lpar_enable_pmcs, since that is now done in its caller. This also removes the declaration of pasemi_enable_pmcs because it isn't defined anywhere. Reported-by: Maynard Johnson Signed-off-by: Paul Mackerras Cc: commit 757cbd46d11cfa7506b7dd5dd6657ae645bf6a17 Author: Kumar Gala Date: Tue Sep 8 17:38:52 2009 +0000 powerpc/85xx: Fix SMP compile error and allow NULL for smp_ops The following commit introduced a compile error since it removed the implementation of smp_85xx_basic_setup: commit 77c0a700c1c292edafa11c1e52821ce4636f81b0 Author: Benjamin Herrenschmidt Date: Fri Aug 28 14:25:04 2009 +1000 powerpc: Properly start decrementer on BookE secondary CPUs Make it so that smp_ops probe() and setup_cpu() can be set to NULL. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8708d002c416b8bf87351bc626d15d7407896edb Author: Wolfram Sang Date: Thu Sep 10 12:47:20 2009 +0000 powerpc/irq: Improve nanodoc The OF helpers look like nanodoc but are missing the header. Fix this and a typo (s/nad/and/) while we are here. Signed-off-by: Wolfram Sang Signed-off-by: Benjamin Herrenschmidt commit 9a0da0d19c573e01aded6ac17747d2efc5b1115f Merge: ec282e9 8a56df0 Author: David S. Miller Date: Thu Sep 10 18:17:09 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 80938332d8cf652f6b16e0788cf0ca136befe0b5 Author: Michal Hocko Date: Tue Sep 8 11:01:55 2009 +0200 x86: Increase MIN_GAP to include randomized stack Currently we are not including randomized stack size when calculating mmap_base address in arch_pick_mmap_layout for topdown case. This might cause that mmap_base starts in the stack reserved area because stack is randomized by 1GB for 64b (8MB for 32b) and the minimum gap is 128MB. If the stack really grows down to mmap_base then we can get silent mmap region overwrite by the stack values. Let's include maximum stack randomization size into MIN_GAP which is used as the low bound for the gap in mmap. Signed-off-by: Michal Hocko LKML-Reference: <1252400515-6866-1-git-send-email-mhocko@suse.cz> Acked-by: Jiri Kosina Signed-off-by: H. Peter Anvin Cc: Stable Team commit 5367b6887e7d8c870a5da7d9b8c6e9c207684e43 Author: Ben Hutchings Date: Thu Sep 10 02:53:50 2009 +0100 x86: Fix code patching for paravirt-alternatives on 486 As reported in and , kernels with paravirt-alternatives enabled crash in text_poke_early() on at least some 486-class processors. The problem is that text_poke_early() itself uses inline functions affected by paravirt-alternatives and so will modify instructions that have already been prefetched. Pentium and later processors will invalidate the prefetched instructions in this case, but 486-class processors do not. Change sync_core() to limit prefetching on 486-class (and 386-class) processors, and move the call to sync_core() above the call to the modifiable local_irq_restore(). Signed-off-by: Ben Hutchings LKML-Reference: <1252547631.3423.134.camel@localhost> Signed-off-by: H. Peter Anvin commit a3c8b97396ef42edfb845788ba6f53b2a93ce980 Merge: 74fca6a 9f0ab4a Author: James Morris Date: Fri Sep 11 08:04:49 2009 +1000 Merge branch 'next' into for-linus commit 0d03d59d9b31cd1e33b7e46a80b6fef66244b1f2 Author: Geert Uytterhoeven Date: Thu Sep 10 23:13:28 2009 +0200 md: Fix "strchr" [drivers/md/dm-log-userspace.ko] undefined! Commit b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea ("dm log: remove incorrect field from userspace table output") added a call to strstr() with a single-character "needle" string parameter. Unfortunately some versions of gcc replace such calls to strstr() by calls to strchr() behind our back. This causes linking errors if strchr() is defined as an inline function in (e.g. on m68k): | WARNING: "strchr" [drivers/md/dm-log-userspace.ko] undefined! Avoid this by explicitly calling strchr() instead. Signed-off-by: Geert Uytterhoeven Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 71290b368ad5e1e0b0b300c9d5638490a9fd1a2d Author: Theodore Ts'o Date: Thu Sep 10 17:31:04 2009 -0400 ext4: Don't update superblock write time when filesystem is read-only This avoids updating the superblock write time when we are mounting the root file system read/only but we need to replay the journal; at that point, for people who are east of GMT and who make their clock tick in localtime for Windows bug-for-bug compatibility, and this will cause e2fsck to complain and force a full file system check. Signed-off-by: "Theodore Ts'o" commit fc06b8520b3bf9aaeb2e27debe6719c215bd4916 Author: Steven Rostedt Date: Thu Sep 10 17:22:44 2009 -0400 x86/tracing: comment need for atomic nop The dynamic function tracer relys on the macro P6_NOP5 always being an atomic NOP. If for some reason it is changed to be two operations (like a nop2 nop3) it can faults within the kernel when the function tracer modifies the code. This patch adds a comment to note that the P6_NOPs are expected to be atomic. This will hopefully prevent anyone from changing that. Reported-by: Mathieu Desnoyer Signed-off-by: Steven Rostedt commit 6c19efb46aacf2c5043ad210b888ee58ffb848c0 Author: Jonathan Corbet Date: Tue Sep 8 17:49:37 2009 -0600 Document the flex_array library. A brief document on how to use flexible arrays, derived from an article first published on LWN. Signed-off-by: Jonathan Corbet commit e8188807b7cd14e0a001946005f0c58f9dd9dfe6 Author: Jesper Dangaard Brouer Date: Tue May 26 15:18:52 2009 +0200 Doc: seq_file.txt fix wrong dd command example. Small error in the "dd" command example, "out=" should be "of=". Signed-off-by: Jesper Dangaard Brouer Signed-off-by: Jonathan Corbet commit a4872d5b6ad69a49975c0268828b5bb2317ea5a0 Merge: 4734d40 74fca6a Author: Alex Elder Date: Thu Sep 10 14:33:56 2009 -0500 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 commit e1f8450854d69f0291882804406ea1bab3ca44b4 Author: Ingo Molnar Date: Thu Sep 10 20:52:09 2009 +0200 sched: Fix sched::sched_stat_wait tracepoint field This weird perf trace output: cc1-9943 [001] 2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns] Is caused by setting one component field of the delta to zero a bit too early. Move it to later. ( Note, this does not affect the NEW_FAIR_SLEEPERS interactivity bug, it's just a reporting bug in essence. ) Acked-by: Peter Zijlstra Cc: Nikos Chantziaras Cc: Jens Axboe Cc: Mike Galbraith LKML-Reference: <4AA93D34.8040500@arcor.de> Signed-off-by: Ingo Molnar commit 78c86e5e5691fc84d5fbea0cd4ac7147e87b7490 Author: Jeremy Fitzhardinge Date: Thu Sep 10 10:09:38 2009 -0700 x86: split __phys_addr out into separate file Split __phys_addr out into its own file so we can disable -fstack-protector in a fine-grained fashion. Also it doesn't have terribly much to do with the rest of ioremap.c. Signed-off-by: Jeremy Fitzhardinge commit 3f2aa307c4d26b4ed6509d0a79e8254c9e07e921 Author: Ingo Molnar Date: Thu Sep 10 20:34:48 2009 +0200 sched: Disable NEW_FAIR_SLEEPERS for now Nikos Chantziaras and Jens Axboe reported that turning off NEW_FAIR_SLEEPERS improves desktop interactivity visibly. Nikos described his experiences the following way: " With this setting, I can do "nice -n 19 make -j20" and still have a very smooth desktop and watch a movie at the same time. Various other annoyances (like the "logout/shutdown/restart" dialog of KDE not appearing at all until the background fade-out effect has finished) are also gone. So this seems to be the single most important setting that vastly improves desktop behavior, at least here. " Jens described it the following way, referring to a 10-seconds xmodmap scheduling delay he was trying to debug: " Then I tried switching NO_NEW_FAIR_SLEEPERS on, and then I get: Performance counter stats for 'xmodmap .xmodmap-carl': 9.009137 task-clock-msecs # 0.447 CPUs 18 context-switches # 0.002 M/sec 1 CPU-migrations # 0.000 M/sec 315 page-faults # 0.035 M/sec 0.020167093 seconds time elapsed Woot! " So disable it for now. In perf trace output i can see weird delta timestamps: cc1-9943 [001] 2802.059479616: sched_stat_wait: task: as:9944 wait: 2801938766276 [ns] That nsec field is not supposed to be that large. More digging is needed - but lets turn it off while the real bug is found. Reported-by: Nikos Chantziaras Tested-by: Nikos Chantziaras Reported-by: Jens Axboe Tested-by: Jens Axboe Acked-by: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <4AA93D34.8040500@arcor.de> Signed-off-by: Ingo Molnar commit e7a51997dad4e17395be1209970e18d2e9305b24 Author: Joe Eykholt Date: Tue Aug 25 14:04:08 2009 -0700 [SCSI] fcoe: flush per-cpu thread work when destroying interface This fixes one cause of an occational problem when unloading libfc where the exchange manager pool doesn't have all items freed. The existing WARN_ON(mp->total_exches <= 0) isn't hit. However, note that total_exches is decremented when the exchange is completed, and it can be held with a refcnt for a while after that. I'm not sure what the offending exchange is, but I suspect it is an incoming request, because outgoing state machines should be all stopped at this point. Note that although receive is stopped before the exchange manager is freed, there could still be active threads handling received frames. This patch flushes the queues by allocating a new skb and sending it through, and have the thread handle this new skb specially. This is similar to the way the work queues are flushed now by putting work items in them and waiting until they make it through the queue. An skb->destructor function is used to inform us of the completion of the flush, and the fr_dev() is left NULL to indicate to fcoe_percpu_receive_thread() that the skb should be just freed. There's already a check for the lp being NULL which prints a message. We skip printing the message if the destructor is for flushing. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 1d490ce33ee8b93638d09e471a3bc66ae33b6606 Author: Joe Eykholt Date: Tue Aug 25 14:04:03 2009 -0700 [SCSI] libfc: don't swap OX_ID and RX_ID when sending BA_RJT I saw an lport debug message from the exchange manager saying: "lport 70500: Received response for out of range oxid:ffff" A trace showed this was a BA_RJT sent due to an incoming ABTS which arrived on an unknown exchange. So, the sender of the BA_RJT was in error, but in this case, both the initiator and responder were the same machine. The OX_ID and RX_ID should not have been reversed in this case. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2ab7e1ecb81ce35ed8e8df512e3fc6338a4c55bb Author: Joe Eykholt Date: Tue Aug 25 14:03:58 2009 -0700 [SCSI] libfc: send GPN_ID in reaction to single-port RSCNs. When an RSCN indicates changes to individual remote ports, don't blindly log them out and then back in. Instead, determine whether they're still in the directory, by doing GPN_ID. If that is successful, call login, which will send ADISC and reverify, otherwise, call logoff. Perhaps we should just delete the rport, not send LOGO, but it seems safer. Also, fix a possible issue where if a mix of records in the RSCN cause us to queue disc_ports for disc_single and then we decide to do full rediscovery, we leak memory for those disc_ports queued. So, go through the list of disc_ports even if doing full discovery. Free the disc_ports in any case. If any of the disc_single() calls return error, do a full discovery. The ability to fill in GPN_ID requests was added to fc_ct_fill(). For this, it needs the FC_ID to be passed in as an arg. The did parameter for fc_elsct_send() is used for that, since the actual D_DID will always be 0xfffffc for all CT requests so far. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8abbe3a42324264c9d5cc4e7c3d265b5be6d82d6 Author: Joe Eykholt Date: Tue Aug 25 14:03:52 2009 -0700 [SCSI] libfc: fix handling of incoming Discover Address (ADISC) requests The local port facility has been replying to ADISC requests without looking to see if the remote port is logged in. This is incorrect. An ADISC request requires PLOGI first. It should be rejected if the sending remote port is not logged in. This is like other incoming requests that require login, all of which should be handled in the remote port module. Move the ADISC request handling from fc_lport.c to fc_rport.c. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 370c3bd05cf02afabea9cd3f2de66202d6b516dc Author: Joe Eykholt Date: Tue Aug 25 14:03:47 2009 -0700 [SCSI] libfc: use ADISC to verify rport login state When rport_login is called on an rport that is already thought to be logged in, use ADISC. If that fails, redo PLOGI. This is less disruptive after fabric changes that don't affect the state of the target. Implement the sending of ADISC via fc_els_fill. Add ADISC state to the rport state machine. This is entered from READY and returns to READY after successful completion. If it fails, the rport is either logged off and deleted or re-does PLOGI. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 68a1750b46ad5177f7703081b5fe85624f1aa62b Author: Joe Eykholt Date: Tue Aug 25 14:03:42 2009 -0700 [SCSI] libfc: LOGO response code had extraeous enter_rtv fc_rport_logo_resp() had a call to fc_rport_enter_rtv() if the LOGO was accepted. This must've been a copy/paste mistake, but it didn't matter since we don't stay in the LOGO state long enough to hit this code. Change fc_rport_logo_resp() to just enter the delete state no matter what. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit feab4ae73031699fcf92a88f4b1e4ec1b14157a5 Author: Joe Eykholt Date: Tue Aug 25 14:03:36 2009 -0700 [SCSI] libfc: re-login to remote ports that send us LOGO After a quick link flap, a target was seen to send us a LOGO. Apparently, it saw an RSCN reporting that we had dropped out of the fabric after we had logged back into it. This is likely in larger fabrics (more than 2 FC switches) after a quick link flap at the initiator. Each link transition causes an port-specific RSCN to the target. After the link comes back up, the initiator successfully discovers and does a PLOGI to the target before the target sees the first RSCN reporting the initiator is gone, and it sends a LOGO. The target may see a subsequent RSCN saying the port is back, but probably wouldn't send a PLOGI and leaves it up to the initiator to re-login. An RSCN can be delayed by the switches due to software layers but a PLOGI is forwarded in hardware causing the PLOGI to beat the RSCN. If a remote port is in the discovered set and sends a LOGO, re-login to it. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 83fe6a93465750d1a20221aaa9a253d9ea7fe45c Author: Joe Eykholt Date: Tue Aug 25 14:03:31 2009 -0700 [SCSI] libfc: fix rport error handling for login-required and invalid ops When receiving an ELS request, if the request isn't recognized, the unsupported operation error should be given even if the port is not found or not logged in. Also, the LOGO request shouldn't give the login-required explanation. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3ac6f98f4113ec1c115cf9d443a9bff816e47c0b Author: Joe Eykholt Date: Tue Aug 25 14:03:26 2009 -0700 [SCSI] libfc: correctly handle incoming PLOGI request. libfc receives PLOGIs from switches which are trying to discover what kind of devices are present, and from other initiators to find out if we're a target. As an initiator, some argue we don't need to handle incoming PLOGI requests, and we currently reject them from unknown remote ports, but accept them is we're in the middle of a PLOGI to the remote port. For eventual target implementations, we want to handle them always. For incoming PLOGI, don't fail if the rport_priv doesn't exist. Just create it and go become READY without going through PRLI. If PRLI occurs, then our roles will be set and we'll become READY again. Also, allow incoming PRLI in RTV state. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f657d299cf05883e23e12a69e86842da1df378ad Author: Joe Eykholt Date: Tue Aug 25 14:03:21 2009 -0700 [SCSI] libfc: improve debug messages for ELS response handlers Improve lport and rport debug messages to indicate whether the response is LS_ACC, LS_RJT, closed, or timeout. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 25b37b981e706c6df72c28c94f7787c3ea0cd343 Author: Joe Eykholt Date: Tue Aug 25 14:03:15 2009 -0700 [SCSI] libfc: fix: rport_recv_req needs disc_mutex when calling rport_lookup The rport_lookup function must be called while holding the disc_mutex. Otherwise, the rdata could be deleted just after that by another thread. All callers now check the state after grabbing the rdata rp_mutex. Even though rport_lookup skips ports in DELETE state, it does that without holding the rdata rp_mutex, so that the state may change. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 131203a1ef53f3a4deb3260031bc53c7e4db4a24 Author: Joe Eykholt Date: Tue Aug 25 14:03:10 2009 -0700 [SCSI] libfc: move remote port lookup for ELS requests into fc_rport.c. This moves the remote port lookup for incoming ELS requests into fc_rport.c, in preparation for handing PLOGI and LOGO from unknown rports. This changes the arg to rport_recv_req from an rdata to an lport. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 6bd054cbf3f7da3442f30a7d4eb7da4dd1c44f21 Author: Robert Love Date: Tue Aug 25 14:03:04 2009 -0700 [SCSI] libfc: Always reset remote port roles when receiving PRLI Don't trust previous roles, reset them when we receive a PRLI. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9737e6a7b5b8af48f983cd565df93493597c565b Author: Robert Love Date: Tue Aug 25 14:02:59 2009 -0700 [SCSI] libfc: Initialize fc_rport_identifiers inside fc_rport_create Currently these values are initialized by the callers. This was exposed by a later patch that adds PLOGI request support. The patch failed to initialize the new remote port's roles and it caused problems. This patch has the rport_create routine initialize the identifiers and then the callers can override them with real values. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 935d0fce44b906268b8a29de4e72ebb57a3a06d8 Author: Joe Eykholt Date: Tue Aug 25 14:02:54 2009 -0700 [SCSI] libfc: don't do discovery before callback is set It's possible to "restart" discovery before it was started if an RSCN is received early enough. We were jumping to 0 due to the disc_callback function pointer not getting set. Don't restart discovery if disc_callback is NULL. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 29d898e909e3d086055e2649f5a24d4c2c1ca884 Author: Joe Eykholt Date: Tue Aug 25 14:02:49 2009 -0700 [SCSI] libfc: clean up point-to-point discovery code. The discovery code had a special-case for the point-to-point mode, which used a bunch of code that wasn't really needed. Now that rport_create adds the rport to the discovery list, completely skip discovery for the point-to-point case. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 81a67b9717d9e4f81bed7d1f2df6ba86aaab9ad9 Author: Joe Eykholt Date: Tue Aug 25 14:02:43 2009 -0700 [SCSI] libfc: discovery gpn_ft parse bug In fc_disc_gpn_ft_parse(), after fc_disc_done() is called, the disc state is changed by setting buf_len = 0. This is wrong since the discovery may have restarted. Instead, return after calling fc_disc_done. Also, return an error on memory allocation failure. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3667d7e7f7bb63a394f73a671fdaf4a187aa858e Author: Joe Eykholt Date: Tue Aug 25 14:02:38 2009 -0700 [SCSI] libfc: discovery retry should clear pending first. Currently fc_disc_timeout() restarts discovery only if it is not pending. When the timer is scheduled, the discovery is left pending, so the timeout never restarts it. Fix by not checking for pending in the timeout handler. If discovery is stopped and restarted in the meantime, the timeout will be canceled. Also, when a new discovery is started, the retry count wasn't cleared. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c762608bf75f792dcaf3658338189b9970951704 Author: Joe Eykholt Date: Tue Aug 25 14:02:33 2009 -0700 [SCSI] libfc: fix: empty zone causes endless discovery retries. On some switches, an empty zone causes GPN_FT to be rejected with reason 9 (unable) explanation 7 (FC-4 types not registered), which causes discovery to be retried endlessly. Treat this as just an empty response and consider discovery complete. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 883a337cf8969b2906ffd8aeb838d875f7338190 Author: Joe Eykholt Date: Tue Aug 25 14:02:27 2009 -0700 [SCSI] libfc: handle discovery failure more correctly. Abhijeet Joglekar wrote: "In gpn_ft_resp, if the payload is short, or unexpected response or out of sequence frame, then we just return and do nothing. We should either enter fc_disc_done() with DISC_EV_FAIL which will then restart any queued discovery requests or call lport module which will reset local port, or we should call fc_disc_error() so that the gpn_ft is retried. The situation as is causes discovery to remain pending and never get restarted, in these rare cases. We saw this due to a coding bug in fc_disc before. The only ways it could happen would be bugs, packet corruption or an FC fabric problem. Change it to fail discovery. The local port will restart discovery, although it probably should just give up until the next link flap. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a1c1e4e76c68f564cddc0b43842b895464f7865f Author: Joe Eykholt Date: Tue Aug 25 14:02:22 2009 -0700 [SCSI] libfc: rearrange code in fc_disc_gpn_ft_resp() Code cleanup for fc_disc_gpn_ft_resp(). Some of the fc_disc.c code was poorly formatted. For example, some lines in fc_disc.c were unnecessarily truncated and the buf variable could be eliminated. Also moved the increment of seq_count into fc_disc_gpn_ft_parse(), to avoid doing it separately before each call. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c356afd48690775097507c37780ee17c0b0ea375 Author: Joe Eykholt Date: Tue Aug 25 14:02:17 2009 -0700 [SCSI] libfc: discovery restart sequence error fix When an RSCN is received during fabric discovery, it restarts. After the restart, disc->seq_count was incremented, so when the first frame was received, it was considered "out of sequence". That left the state disc->active, preventing further discoveries. Change to advance the sequence count before parsing, so that it won't be changed after a potential restart. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 0f6c6149870e03c722af6eae406758b28cb71320 Author: Joe Eykholt Date: Tue Aug 25 14:02:11 2009 -0700 [SCSI] libfc: do not log off rports before or after discovery When receiving an RSCN, do not log off all rports. This is extremely disruptive. If, after the GPN_FT response, some rports haven't been listed, delete them. Add field disc_id to structs fc_rport_priv and fc_disc. disc_id is an arbitrary serial number used to identify the rports found by the latest discovery. This eliminates the need to go through the rport list when restarting discovery. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8025b5db7e10cd90cadec940cc766be3bbda65e8 Author: Joe Eykholt Date: Tue Aug 25 14:02:06 2009 -0700 [SCSI] libfc: move rport_lookup into fc_rport.c Move the libfc remote port lookup function into fc_rport.c. This seems like the best place for it. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 8345592b8388b51e0f52f63e94a5a5d3f07fda9a Author: Joe Eykholt Date: Tue Aug 25 14:02:01 2009 -0700 [SCSI] libfc: change to make remote port callback optional Since the rport list maintenance is now done in the rport module, the callback (and ops) are usually not necessary. Allow rdata->ops to be left NULL if nothing needs to be done in an event callback. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 19f97e3c0acc5eb03486044f5428395b7690a01a Author: Joe Eykholt Date: Tue Aug 25 14:01:55 2009 -0700 [SCSI] libfc: have rport_create do a lookup for pre-existing rports first For future discovery patches, change rport_create to return a previously created rport_priv that has the FC_ID as long as it isn't in deleted state. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 48f00902ba40d3e4467782a42258b952437a89f9 Author: Joe Eykholt Date: Tue Aug 25 14:01:50 2009 -0700 [SCSI] libfc: make rport module maintain the rport list The list of remote ports (struct fc_rport_priv) has been maintained by the discovery module. In preparation for having lport->tt.rport_create() do a lookup first, maintain the rports list in the rport module. It will still be protected by the disc_mutex. The DNS rport is an exception for until after further patches. For now, do not add it to the list. The point-to-point rport will be in the discovery list. So at shutdown, it doesn't need to be separately logged out. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b5cbf083736e14911c32fca2a93c540a92e8413d Author: Joe Eykholt Date: Tue Aug 25 14:01:44 2009 -0700 [SCSI] libfc: simplify fc_lport_rport_callback The lport rport callback can only be called for the dNS rport, since its the only rport who's ops point to that function. Remove unnecessary checking and debug messages. Put the locking outside the switch statement as a simplification. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit cdbe6dfece038e75214735d56cd06319b9a6df46 Author: Joe Eykholt Date: Tue Aug 25 14:01:39 2009 -0700 [SCSI] libfc: rport debug messages were printing pointer values Don't print large negative decimal numbers for frame pointers in the debug messages from fc_rport_error(). Just print 0 if its a frame pointer, and print the error numbers as positive. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b84c7962653e4d04065d2603f0e1424ee0f455ae Author: Joe Eykholt Date: Tue Aug 25 14:01:34 2009 -0700 [SCSI] libfc: remove unused disc->delay element Delete unused disc->delay element. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 786681b96fc1a5b94d187160b7bf80bf6b4681ed Author: Joe Eykholt Date: Tue Aug 25 14:01:29 2009 -0700 [SCSI] libfc: eliminate disc->event There was no need to have the discovery status stored in struct fc_disc. Change fc_disc_done() to take the discovery status as an argument and just pass it on to the discovery callback. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 00fea930d404b9a9039291d5a61975e6c2ea974e Author: Joe Eykholt Date: Tue Aug 25 14:01:23 2009 -0700 [SCSI] libfc: fix rport event race between READY and LOGO When a remote port becomes ready and a LOGO is received before the READY event is in rport_work waiting on the mutex, the event is changed to LOGO and the work queued, so both the calls to rport_work see the LOGO event, and both try to do the list_del(), causing a crash. Don't change the event if it is already set. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9e9d0452fe12115b1c1883c0d4d2ee509079791b Author: Joe Eykholt Date: Tue Aug 25 14:01:18 2009 -0700 [SCSI] libfc: don't create dummy (rogue) remote ports Don't create a "dummy" remote port to go with fc_rport_priv. Make the rport truly optional by allocating fc_rport_priv separately and not requiring a dummy rport to be there if we haven't yet done fc_remote_port_add(). The fc_rport_libfc_priv remains as a structure attached to the rport for I/O purposes. Be sure to hold references on rdata when the lock is dropped in fc_rport_work(). Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 4c0f62b5679321b2e5572cf541ffb9f7b344d47c Author: Joe Eykholt Date: Tue Aug 25 14:01:12 2009 -0700 [SCSI] libfc: rename rport event CREATED to READY Remote ports will become READY more than once after ADISC is implemented in a later patch. The event callback that has been called "CREATED" will mean "READY". Rename it now in preparation for those changes. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 629f44279d169f29b084d406e9f1c33314f220fa Author: Joe Eykholt Date: Tue Aug 25 14:01:06 2009 -0700 [SCSI] libfc: rearrange code in fc_rport_work This is a cleanup without semantic changes to use a switch statement instead of a series of if-statements in fc_rport_work(), and to move some declarations up to the top. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit f211fa514a07326c0f9364c0e6ed17e38860172f Author: Joe Eykholt Date: Tue Aug 25 14:01:01 2009 -0700 [SCSI] libfc: make rport structure optional Allow a struct fc_rport_priv to have no fc_rport associated with it. This sets up to remove the need for "rogue" rports. Add a few fields to fc_rport_priv that are needed before the fc_rport is created. These are the ids, maxframe_size, classes, and rport pointer. Remove the macro PRIV_TO_RPORT(). Just use rdata->rport where appropriate. To take the place of the get_device()/put_device ops that were used to hold both the rport and rdata, add a reference count to rdata structures using kref. When kref_get decrements the refcount to zero, a new template function releasing the rdata should be called. This will take care of freeing the rdata and releasing the hold on the rport (for now). After subsequent patches make the rport truly optional, this release function will simply free the rdata. Remove the simple inline function fc_rport_set_name(), which becomes semanticly ambiguous otherwise. The caller will set the port_name and node_name in the rdata->Ids, which will later be copied to the rport when it its created. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a46f327aa5caf2cce138e98ddd863b6cca0e71e2 Author: Joe Eykholt Date: Tue Aug 25 14:00:55 2009 -0700 [SCSI] libfc: change elsct to use FC_ID instead of rdata tt.elsct_send is used by both FCP and by the rport state machine. After further patches, these two modules will use different structures for the remote port. So, change elsct_send to use the FC_ID instead of the fc_rport_priv as its argument. It currently only uses the FC_ID anyway. For CT requests the destination FC_ID is still implicitly 0xfffffc. After further patches the did arg on CT requests will be used to specify the FC_ID being inquired about for GPN_ID or other queries. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 9fb9d32831fd687e427ec5b147bb690f468b99a0 Author: Joe Eykholt Date: Tue Aug 25 14:00:50 2009 -0700 [SCSI] libfc: make fc_rport_priv the primary rport interface. The rport and discovery modules deal with remote ports before fc_remote_port_add() can be done, because the full set of rport identifiers is not known at early stages. In preparation for splitting the fc_rport/fc_rport_priv allocation, make fc_rport_priv the primary interface for the remote port and discovery engines. The FCP / SCSI layers still deal with fc_rport and fc_rport_libfc_priv, however. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 922aa210bcad4b34a7bb98ec9d318b7e59e7a5ca Author: Joe Eykholt Date: Tue Aug 25 14:00:45 2009 -0700 [SCSI] libfc: fix RPORT_TO_PRIV and PRIV_TO_RPORT() macros. These macros introduce extra undesirable semicolons that keep them from being used in expressions, and they don't protect against being passed an expression. Add parens and remove the semicolons. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 795d86f55ec3bf6280dda368f208943f1fb7d366 Author: Joe Eykholt Date: Tue Aug 25 14:00:39 2009 -0700 [SCSI] libfc: change interface for rport_create The interface for lport->tt.rport_create() takes a fc_disc_port arg, which is unnatural for most calls. The only reason for this was to avoid passing in the local port as an argument, but otherwise added to complexity. Simplify by just using lport and fc_rport_identifiers. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit ab28f1fd3b0d14c1bd693e640decd711d5e6642a Author: Joe Eykholt Date: Tue Aug 25 14:00:34 2009 -0700 [SCSI] libfc: prepare to split off struct fc_rport_priv from fc_rport_libfc_priv While the I/O and LLD interfaces use fc_rport_libfc_priv, the disc and rport interfaces will use fc_rport_priv, which will be separately allocated. Change the disc and rport usage of fc_rport_libfc_priv to fc_rport_priv. Use #define temporarily to make both names equivalent until a subsequent patch splits them. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 090eb6c41aa74273d3f0721637cff738cfd80669 Author: Chris Leech Date: Tue Aug 25 14:00:28 2009 -0700 [SCSI] fcoe: use rtnl mutex in place of hostlist lock This just cuts down on the number of locks we're dealing with, and eliminates the need to take another lock in the netdev notifier. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 2e70e2415193b84c1b79ec373af15c3f280ad7c4 Author: Chris Leech Date: Tue Aug 25 14:00:23 2009 -0700 [SCSI] fcoe: Fix module ref count bug by adding NETDEV UNREGISTER handling Fixes reference counting on fcoe_instance and net_device, and adds NETDEV_UNREGISTER notifier handling so that you can unload network drivers. FCoE no longer increments the module use count for the network driver. On an NETDEV_UNREGISTER event, destroying the FCoE instance is deferred to a workqueue context to avoid RTNL deadlocks. Based in part by an earlier patch from John Fastabend John's patch description: Currently, the netdev module ref count is not decremented with module_put() when the module is unloaded while fcoe instances are present. To fix this removed reference count on netdev module completely and added functionality to netdev event handling for NETDEV_UNREGISTER events. This allows fcoe to remove devices cleanly when the netdev module is unloaded so we no longer need to hold a reference count for the netdev module. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit c863df33bb784eecfb24090d2258fa0d3f653750 Author: Chris Leech Date: Tue Aug 25 14:00:18 2009 -0700 [SCSI] fcoe: move the host-list add/remove to keep out VN_Ports We only want the FCoE create and destroy routines to deal with top level N_Ports, the VN_Ports are tracked on the vport list (see scsi_transport_fc). Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit dfc1d0fe3a8b2139295600ab519f24059493e6f6 Author: Chris Leech Date: Tue Aug 25 14:00:13 2009 -0700 [SCSI] fcoe: add mutex to protect create and destroy Rather than rely on the hostlist_lock to be held while creating exchange managers, serialize fcoe instance creation and destruction with a mutex. This will allow the hostlist addition to be moved out of fcoe_if_create(), which will simplify NPIV support. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 54b649f88eb17a29687bece4b8ad7d72d99e2d95 Author: Chris Leech Date: Tue Aug 25 14:00:07 2009 -0700 [SCSI] fcoe: split out per interface setup fcoe_netdev_config() is called during initialization of a libfc instance. Much of what was there only needs to be done once for each net_device. The same goes for the corresponding cleanup. The FIP controller initialization is moved to interface creation time. Otherwise it will keep getting re-initialized for every VN_Port once NPIV is enabled. fcoe_if_destroy() has some reordering to deal with the changes. Receives are not stopped until after fcoe_interface_put() is called, but transmits must be stopped before. So there is some care to stop libfc transmits and the transmit backlog timer, then call fcoe_interface_put which will stop receives and cleanup the FIP controller, then the receive queues can be cleaned and the port freed. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 030f4e001f13e0ee80bac1e756013341b1674d10 Author: Chris Leech Date: Tue Aug 25 14:00:02 2009 -0700 [SCSI] fcoe: fcoe_interface create, destroy and refcounting Up to this point the fcoe_instance structure was simply kzalloc/kfreed. This patch introduces create and destroy functions as well as kref based reference counting. The create function will grow as the initialization code is moved there. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit cb0a6ca81439a9f113d3b46de0953da168a06f6a Author: Chris Leech Date: Tue Aug 25 13:59:56 2009 -0700 [SCSI] fcoe: remove fcoe_interface->priv pointer The priv pointer is no longer needed, and once NPIV is enabled fcoe_interface:fc_lport becomes a one-to-many relationship. Remove the single pointer. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 991cbb6082db3025bd82908eb9ee2d2920be2114 Author: Chris Leech Date: Tue Aug 25 13:59:51 2009 -0700 [SCSI] fcoe: move offload exchange manager pointer from fcoe_port to fcoe_interface The offload EM pointer is only used when setting up a new libfc instance, but as it's designed to be shared among NPIV VN_Ports it should be tracked in fcoe_interface. With the host-list changed to track fcoe_interfaces as well, this is needed before we can remove the priv pointer from that structure (which is only there to help in the transition, and stops making sense once NPIV is enabled). Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3fe9a0badae7fa2eb35eff4f07e851fbd25e3d4f Author: Chris Leech Date: Tue Aug 25 13:59:46 2009 -0700 [SCSI] fcoe: move FIP controller from fcoe_port to fcoe_interface There is only one FIP state per net_device, so the FIP controller needs to be moved from the per-SCSI-host fcoe_port to the per-net_device fcoe_interface structure. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 259ad85d8dbbcd508e3dad29a36e3e76365853b7 Author: Chris Leech Date: Tue Aug 25 13:59:41 2009 -0700 [SCSI] fcoe: move packet handlers from fcoe_port to fcoe_interface The packet handlers need to be tracked in fcoe_interface so there is only one set per net_device. When NPIV is enabled there will be multiple SCSI hosts and multiple fcoe_port structures on a single net_device. The packet handlers match by ethertype and netdev. If the same handler gets registered on a single netdev multiple times, the receive function will be called multiple times for each frame. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 250249898a92a1228050f40fbe3c05deb1392da8 Author: Chris Leech Date: Tue Aug 25 13:59:35 2009 -0700 [SCSI] fcoe: move netdev to fcoe_interface The network interface needs to be shared between all NPIV VN_Ports, therefor it should be tracked in the fcoe_interface and not for each SCSI host in fcoe_port. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 014f5c3f560a336cb8ad5b9f828c85de0398e7bb Author: Chris Leech Date: Tue Aug 25 13:59:30 2009 -0700 [SCSI] fcoe: Introduce and allocate fcoe_interface structure, 1:1 with net_device In preparation for NPIV support, I'm splitting the fcoe instance structure into two to remove the assumptions about it being 1:1 with the net_device. There will now be two structures, one which is 1:1 with the underlying net_device and one which is allocated per virtual SCSI/FC host. fcoe_softc is renamed to fcoe_port for the per Scsi_Host FCoE private data. Later patches with start moving shared stuff from fcoe_port to fcoe_interface Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit af7f85d95a34b04f5cf8c3b8c2d4cdd179dc1e19 Author: Chris Leech Date: Tue Aug 25 13:59:24 2009 -0700 [SCSI] fcoe: interface changes to fcoe_if_create and fcoe_if_destroy By passing in the parent device instead of assuming the netdev is what should be used, fcoe_if_create becomes usable for NPIV vports as well. You still need a netdev, because that's how FCoE works. Also removed some duplicate checks from fcoe_if_create that are already in fcoe_create. fcoe_if_destroy needs to take an lport as it's only argument, not a netdev. That removes the 1:1 netdev:lport assumption from the destroy path. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 36eb7fc872bdd7f7443ce24a718784bfa567f6c7 Author: Joe Eykholt Date: Tue Aug 25 13:59:19 2009 -0700 [SCSI] fcoe: remove unnecessary list and lock initializations. The hostlist and the hostlist_lock were initialized both in the delcaration and in fcoe_init(). Remove the unneeded code. Signed-off-by: Joe Eykholt Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 5892c32f8a2d5a37d4c2ff1df62f6e8a2664abdb Author: Chris Leech Date: Tue Aug 25 13:59:14 2009 -0700 [SCSI] fcoe: fix missing error check in call to fcoe_if_init fcoe_if_init() can fail, but it's return value wasn't checked Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a4b7cfaee487caef913be978dce60896fe741268 Author: Chris Leech Date: Tue Aug 25 13:59:08 2009 -0700 [SCSI] libfcoe: fcoe_ctlr_destroy use cancel_work_sync instead of flush_work Use cancel_work_sync() in place of flush_work(), so that fcoe_ctlr_destroy() can be called from a workqueue. Also, purge the receive queue after the recv_work has been cancled because if recv_work isn't run it's not guaranteed to be empty now. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 05cc7390735c49357b9ae67bf97f1c1579547f5b Author: Yi Zou Date: Tue Aug 25 13:59:03 2009 -0700 [SCSI] fcoe: Add sysfs parameter to fcoe for minimum DDP read I/O size This adds fcoe_ddp_min as a module parameter for fcoe module to: /sys/module/fcoe/parameters/ddp_min It is observed that for some hardware, particularly Intel 82599, there is too much overhead in setting up context for direct data placement (DDP) read when the requested read I/O size is small. This is added as a module parameter for performance tuning and is set as 0 by default and user can change this based on their own hardware. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 6951867b9967066eda090f46ad91ce69e0ead611 Author: Benny Halevy Date: Thu Sep 10 12:25:04 2009 +0300 nfsd41: sunrpc: move struct rpc_buffer def into sunrpc.h Move struct rpc_buffer's definition into a sunrpc.h, a common, internal header file, in preparation for supporting the nfsv4.1 backchannel. Signed-off-by: Benny Halevy [nfs41: sunrpc: #include from sunrpc.h] Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 6223011fb9f90fab92635f1f782196cbd2ccf24f Author: Julia Lawall Date: Tue Jul 28 17:53:24 2009 +0200 KVM: correct error-handling code This code is not executed before file has been initialized to the result of calling eventfd_fget. This function returns an ERR_PTR value in an error case instead of NULL. Thus the test that file is not NULL is always true. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @match exists@ expression x, E; statement S1, S2; @@ x = eventfd_fget(...) ... when != x = E ( * if (x == NULL || ...) S1 else S2 | * if (x == NULL && ...) S1 else S2 ) // Signed-off-by: Julia Lawall Signed-off-by: Avi Kivity commit 28bcb112183cb822a394b155a2e7d788fe4a109a Author: Heiko Carstens Date: Thu Sep 3 17:35:35 2009 +0200 KVM: fix compile warnings on s390 CC arch/s390/kvm/../../../virt/kvm/kvm_main.o arch/s390/kvm/../../../virt/kvm/kvm_main.c: In function '__kvm_set_memory_region': arch/s390/kvm/../../../virt/kvm/kvm_main.c:485: warning: unused variable 'j' arch/s390/kvm/../../../virt/kvm/kvm_main.c:484: warning: unused variable 'lpages' arch/s390/kvm/../../../virt/kvm/kvm_main.c:483: warning: unused variable 'ugfn' Cc: Carsten Otte Signed-off-by: Heiko Carstens Signed-off-by: Marcelo Tosatti commit 0a79b009525b160081d75cef5dbf45817956acf2 Author: Avi Kivity Date: Tue Sep 1 12:03:25 2009 +0300 KVM: VMX: Check cpl before emulating debug register access Debug registers may only be accessed from cpl 0. Unfortunately, vmx will code to emulate the instruction even though it was issued from guest userspace, possibly leading to an unexpected trap later. Cc: stable@kernel.org Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 4da748960a6bd7b1e123e01bfa8f2dbcb6be209e Author: Gleb Natapov Date: Thu Aug 27 16:25:04 2009 +0300 KVM: fix misreporting of coalesced interrupts by kvm tracer Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit e3904e6ed0d525e383eb961ed1da0596a10e5387 Author: Marcelo Tosatti Date: Tue Sep 8 14:50:51 2009 -0300 KVM: x86: drop duplicate kvm_flush_remote_tlb calls kvm_mmu_slot_remove_write_access already calls it. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 542423b0dd162a9dbf91109461703bd0e545c71f Author: Gleb Natapov Date: Thu Aug 27 15:07:30 2009 +0300 KVM: VMX: call vmx_load_host_state() only if msr is cached No need to call it before each kvm_(set|get)_msr_common() Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit e8a48342e9bc1c65ffe4bb3b3ac964e726dbd4c0 Author: Avi Kivity Date: Tue Sep 1 16:06:25 2009 +0300 KVM: VMX: Conditionally reload debug register 6 Only reload debug register 6 if we're running with the guest's debug registers. Saves around 150 cycles from the guest lightweight exit path. dr6 contains a couple of bits that are updated on #DB, so intercept that unconditionally and update those bits then. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 3d53c27d05950390712f92c5ad1604c60190ed64 Author: Avi Kivity Date: Tue Sep 1 12:34:07 2009 +0300 KVM: Use thread debug register storage instead of kvm specific data Instead of saving the debug registers from the processor to a kvm data structure, rely in the debug registers stored in the thread structure. This allows us not to save dr6 and dr7. Reduces lightweight vmexit cost by 350 cycles, or 11 percent. Signed-off-by: Avi Kivity commit 6ba661787594868512a71c129062ebd57d0c01e7 Author: Marcelo Tosatti Date: Tue Aug 25 01:13:10 2009 -0300 KVM guest: do not batch pte updates from interrupt context Commit b8bcfe997e4 made paravirt pte updates synchronous in interrupt context. Unfortunately the KVM pv mmu code caches the lazy/nonlazy mode internally, so a pte update from interrupt context during a lazy mmu operation can be batched while it should be performed synchronously. https://bugzilla.redhat.com/show_bug.cgi?id=518022 Drop the internal mode variable and use paravirt_get_lazy_mode(), which returns the correct state. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit b73d884756303316ead4cd7dad51236b2a515a1a Author: David S. Miller Date: Thu Sep 10 07:22:18 2009 -0700 sparc64: Initial niagara2 perf counter support. Signed-off-by: David S. Miller commit 660d13765f342ecb6e774fcbc35b64beb0a069da Author: David S. Miller Date: Thu Sep 10 07:13:26 2009 -0700 sparc64: Perf counter 'nop' event is not constant. On Niagara-2, for example, it's going to be different. So make it something specified in sparc_pmu. Signed-off-by: David S. Miller commit 496c07e3b43475124d7f2d77fafbc1f5055abfee Author: David S. Miller Date: Thu Sep 10 07:10:59 2009 -0700 sparc64: Provide a way to specify a perf counter overflow IRQ enable bit. Signed-off-by: David S. Miller commit 91b9286d819b821fd742c0053fe0748818374198 Author: David S. Miller Date: Thu Sep 10 07:09:06 2009 -0700 sparc64: Provide hypervisor tracing bit support for perf counters. A PMU need only specify which bit in the PCR enabled hypervisor tracing in order to enable this. This will be used in Niagara-2 perf counter support. Signed-off-by: David S. Miller commit 1110afbe728838ac7ce973c37af9e11385dbaef9 Merge: fd30afa 6e2efaa Author: Takashi Iwai Date: Thu Sep 10 15:33:09 2009 +0200 Merge branch 'topic/ymfpci' into for-linus * topic/ymfpci: sound: ymfpci: increase timer resolution to 96 kHz commit fd30afa454282bbe1b36d5d77bd72c0ea5b3f97c Merge: b34c866 f1e6d3c Author: Takashi Iwai Date: Thu Sep 10 15:33:07 2009 +0200 Merge branch 'topic/usb-audio' into for-linus * topic/usb-audio: ALSA: usb-audio - Fix types taken in min() sound: usb-audio: do not make URBs longer than sync packet interval sound: usb-audio: add MIDI drain callback sound: usb-audio: use multiple output URBs sound: usb-audio: use multiple input URBs sound: usb-audio: Xonar U1 digital output support commit b34c8663940dfc7da767c42b37605e5ad3ae11f7 Merge: 3827119 eedbdf0 Author: Takashi Iwai Date: Thu Sep 10 15:33:06 2009 +0200 Merge branch 'topic/tlv-minmax' into for-linus * topic/tlv-minmax: ALSA: usb-audio - Correct bogus volume dB information ALSA: usb-audio - Use the new TLV_DB_MINMAX type ALSA: Add new TLV types for dBwith min/max commit 3827119e207823ff0f3e85271bef7a0dc953ee38 Merge: 9d416811 93fe448 Author: Takashi Iwai Date: Thu Sep 10 15:33:04 2009 +0200 Merge branch 'topic/soundcore-preclaim' into for-linus * topic/soundcore-preclaim: sound: make OSS device number claiming optional and schedule its removal sound: request char-major-* module aliases for missing OSS devices chrdev: implement __[un]register_chrdev() commit 9d416811f8cab11bf595b2880c557c33e3ae1ae9 Merge: df9200d cf0baf1 Author: Takashi Iwai Date: Thu Sep 10 15:33:03 2009 +0200 Merge branch 'topic/snd-printk' into for-linus * topic/snd-printk: ALSA: Fixed a typo of printk() ALSA: Add debug module option ALSA: core - strip too long file names in snd_print*() commit df9200dd0454c91c5436c22072611f0edd3b5f42 Merge: 2c0d19a 5184040 Author: Takashi Iwai Date: Thu Sep 10 15:33:02 2009 +0200 Merge branch 'topic/pcm-estrpipe-in-pm' into for-linus * topic/pcm-estrpipe-in-pm: ALSA: pcm - Tell user that stream to be rewound is suspended commit 2c0d19a78de1ea5d0e92d86be0b16ccab0feccec Merge: 05a33e3 5a53a76 Author: Takashi Iwai Date: Thu Sep 10 15:33:00 2009 +0200 Merge branch 'topic/pcm-drain-nonblock' into for-linus * topic/pcm-drain-nonblock: ALSA: pcm - Increase protocol version ALSA: pcm - Fix drain behavior in non-blocking mode commit 05a33e3d6fdca6ae3f645cc7bca9c11a4476e84c Merge: fa28519 f1bc07a Author: Takashi Iwai Date: Thu Sep 10 15:32:59 2009 +0200 Merge branch 'topic/oxygen' into for-linus * topic/oxygen: sound: oxygen: work around MCE when changing volume commit fa285190025d0b9a35ed0f6233bfaa721281e0f4 Merge: 9cd9f42 cbbb057 Author: Takashi Iwai Date: Thu Sep 10 15:32:58 2009 +0200 Merge branch 'topic/oss' into for-linus * topic/oss: ALSA: allocation may fail in snd_pcm_oss_change_params() sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma() sound: fix OSS MIDI output data loss commit 9cd9f4276766e15be40d09f77e28656797a1b06f Merge: 0f23c5c b8c60ed Author: Takashi Iwai Date: Thu Sep 10 15:32:57 2009 +0200 Merge branch 'topic/misc' into for-linus * topic/misc: ALSA: Remove unneeded ifdef from sound/core.h ALSA: Remove struct snd_monitor_file from public sound/core.h ALSA: Release v1.0.21 commit 0f23c5cc50550f194e71e694f2b4433356dd99ea Merge: 8a3351b 2d4b842 Author: Takashi Iwai Date: Thu Sep 10 15:32:56 2009 +0200 Merge branch 'topic/midi' into for-linus * topic/midi: sound: rawmidi: disable active-sensing-on-close by default sound: seq_oss_midi: remove magic numbers sound: seq_midi: do not send MIDI reset when closing seq-midi: always log message on output overrun commit 8a3351bbb93b15ec5d35fd4b3e6e971d6285e674 Merge: dcb37d5 cd77538 Author: Takashi Iwai Date: Thu Sep 10 15:32:55 2009 +0200 Merge branch 'topic/ice1724-pm' into for-linus * topic/ice1724-pm: ALSA: ice1724 - Fix section mismatch ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2 commit dcb37d509a93710f96ebfd8b653e3653144799f9 Merge: 2d4ff66 c18bc9b Author: Takashi Iwai Date: Thu Sep 10 15:32:54 2009 +0200 Merge branch 'topic/hdsp' into for-linus * topic/hdsp: ALSA: hdsp - allow proc reporting with disconnected io box commit 2d4ff66ad7b8811d0c75ccccad346496f67cb43a Merge: 6a0f402 33d7867 Author: Takashi Iwai Date: Thu Sep 10 15:32:52 2009 +0200 Merge branch 'topic/hda' into for-linus * topic/hda: (92 commits) ALSA: hda - Use auto model for HP laptops with ALC268 codec ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital ALSA: hda - Add support of Alienware M17x laptop ALSA: hda - Remove dead codes from patch_sigmatel.c ALSA: hda - Fix input source selection of IDT92HD73xx ALSA: hda - Fix obsolete CONFIG_SND_DEBUG_DETECT ALSA: hda - Unmute docking line-out as default with AD1984A codec ALSA: hda - Add another entry for Nvidia HDMI device ALSA: hda - Add missing GPIO initialization for AD1984A laptop model ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop model ALSA: hda - Fix ALC268/ALC269 headphone pin routing ALSA: hda - Create "Digital Mic Capture Volume" correctly for IDT codecs ALSA: hda - Add more quirk for HP laptops with AD1984A ALSA: hda - Add / fix model entries for HD-audio driver ALSA: hda - Add full audio support on Acer Aspire 7730G notebook ALSA: hda - Improve auto-cfg mixer name for ALC662 ALSA: hda - Improve auto-cfg mixer name for ALC861-VD ALSA: hda - Improve auto-cfg mixer name for ALC262 ALSA: hda - Improve auto-cfg mixer name for ALC260 ALSA: hda - Improve auto-cfg mixer name for ALC880 ... commit 6a0f4021469727675b83d85ac91d106bfae0e2c3 Merge: f9892a5 b888d1c Author: Takashi Iwai Date: Thu Sep 10 15:32:51 2009 +0200 Merge branch 'topic/dummy' into for-linus * topic/dummy: ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 ALSA: dummy - Add debug proc file ALSA: Add const prefix to proc helper functions ALSA: Re-export snd_pcm_format_name() function ALSA: dummy - Fake buffer allocations ALSA: dummy - Fix the timer calculation in systimer mode ALSA: dummy - Add more description ALSA: dummy - Better jiffies handling ALSA: dummy - Support high-res timer mode commit f9892a52e2405b4c5fa205d4f18ad292cb7e40bb Merge: 6c5cb93 cc6a8ac Author: Takashi Iwai Date: Thu Sep 10 15:32:50 2009 +0200 Merge branch 'topic/dma-sgbuf' into for-linus * topic/dma-sgbuf: ALSA: Fix SG-buffer DMA with non-coherent architectures commit 6c5cb93b1e87be56d7f00767fd12cf57852a0b9f Merge: f604529 35ebf6e Author: Takashi Iwai Date: Thu Sep 10 15:32:48 2009 +0200 Merge branch 'topic/ctxfi' into for-linus * topic/ctxfi: ALSA: ctxfi - Simple code clean up ALSA: ctxfi - Native timer support for emu20k2 commit f604529d0c1c24be025f47b591366e257ee75f66 Merge: 124e39b 18dd0aa Author: Takashi Iwai Date: Thu Sep 10 15:32:47 2009 +0200 Merge branch 'topic/ctl-add-remove-fixes' into for-linus * topic/ctl-add-remove-fixes: sound: snd_ctl_remove_user_ctl: prevent removal of kernel controls sound: snd_ctl_remove_unlocked_id: simplify user control counting sound: snd_ctl_remove_unlocked_id: simplify error paths sound: snd_ctl_elem_add: fix value count check commit 124e39b34d9b38cde4cac02077d5b58f6c1f063e Merge: 9d2743f 6148b13 Author: Takashi Iwai Date: Thu Sep 10 15:32:46 2009 +0200 Merge branch 'topic/cs46xx' into for-linus * topic/cs46xx: ALSA: cs46xx - Fix minimum period size commit 9d2743f84d08ce9c6ea8369c571b04385b42fb01 Merge: d0064a1 72b43cf Author: Takashi Iwai Date: Thu Sep 10 15:32:45 2009 +0200 Merge branch 'topic/cmi8330' into for-linus * topic/cmi8330: ALSA: cmi8330: Allow MPU-401-less operation ALSA: cmi8330: find OPL3 port automatically cmi8330: Add basic CMI8329 support ALSA: cmi8330: revert comments about AD1848 back commit d0064a1b22d0f60058902a870e6bf9aab0d8202c Merge: b81e5ab 9983aa6 Author: Takashi Iwai Date: Thu Sep 10 15:32:43 2009 +0200 Merge branch 'topic/cleanup' into for-linus * topic/cleanup: ALSA: info - Use krealloc() commit b81e5ab34d960335c71ce33bf283ff5a22463a67 Merge: e0b3032 78df617 Author: Takashi Iwai Date: Thu Sep 10 15:32:41 2009 +0200 Merge branch 'topic/azt3328' into for-linus * topic/azt3328: ALSA: azt3328: fix previous breakage, improve suspend, cleanups ALSA: azt3328: large codec cleanup, add I2S port etc. ALSA: azt3328: fix Kconfig entry commit e0b3032bcdf1419d97de636d5fb1c9469da75776 Merge: 45fae5c cdc65fb Author: Takashi Iwai Date: Thu Sep 10 15:32:40 2009 +0200 Merge branch 'topic/asoc' into for-linus * topic/asoc: (226 commits) ASoC: au1x: PSC-AC97 bugfixes ASoC: Fix WM835x Out4 capture enumeration ASoC: Remove unuused hw_read_t ASoC: fix pxa2xx-ac97.c breakage ASoC: Fully specify DC servo bits to update in wm_hubs ASoC: Debugged improper setting of PLL fields in WM8580 driver ASoC: new board driver to connect bfin-5xx with ad1836 codec ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI ASoC: davinci: i2c device creation moved into board files ASoC: Don't reconfigure WM8350 FLL if not needed ASoC: Fix s3c-i2s-v2 build ASoC: Make platform data optional for TLV320AIC3x ASoC: Add S3C24xx dependencies for Simtec machines ASoC: SDP3430: Fix TWL GPIO6 pin mux request ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI OMAP: McBSP: Use textual values in DMA operating mode sysfs files ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 ASoC: Select core DMA when building for S3C64xx ... commit 45fae5c78d873b10c66dfc04db6701e05c493791 Merge: 74fca6a 848bffe Author: Takashi Iwai Date: Thu Sep 10 15:32:38 2009 +0200 Merge branch 'topic/ali5451-cleanup' into for-linus * topic/ali5451-cleanup: ALSA: ali5451: remove dead code commit 59abbd1e7cfd6018fb8e58a96aa562aaff8711e7 Author: David S. Miller Date: Thu Sep 10 06:28:20 2009 -0700 sparc64: Initial hw perf counter support. Only supports one simple counter and only UltraSPARC-IIIi chips. Signed-off-by: David S. Miller commit 5686f9c3d67d5a20108fa26105c98b042df13123 Author: David S. Miller Date: Thu Sep 10 05:59:24 2009 -0700 sparc64: Implement a real set_perf_counter_pending(). When the perf counter subsystem needs to reschedule work out from an NMI, it invokes set_perf_counter_pending(). This triggers a non-NMI irq which should invoke perf_counter_do_pending(). Currently this won't trigger because sparc64 won't trigger the perf counter subsystem from NMIs, but when the HW counter support is added it will. Signed-off-by: David S. Miller commit 2d0740c4562493b60f59ca9b0330a2d5e01d43ec Author: David S. Miller Date: Thu Sep 10 05:56:16 2009 -0700 sparc64: Use nmi_enter() and nmi_exit(), as needed. Signed-off-by: David S. Miller commit 76c36d016a3f958d6231dcdef54a132614c3b578 Author: David S. Miller Date: Thu Sep 10 05:55:17 2009 -0700 sparc64: Provide extern decls for sparc_??u_type strings. Signed-off-by: David S. Miller commit 9f0ab4a3f0fdb1ff404d150618ace2fa069bb2e1 Author: Roland McGrath Date: Tue Sep 8 19:49:40 2009 -0700 binfmt_elf: fix PT_INTERP bss handling In fs/binfmt_elf.c, load_elf_interp() calls padzero() for .bss even if the PT_LOAD has no PROT_WRITE and no .bss. This generates EFAULT. Here is a small test case. (Yes, there are other, useful PT_INTERP which have only .text and no .data/.bss.) ----- ptinterp.S _start: .globl _start nop int3 ----- $ gcc -m32 -nostartfiles -nostdlib -o ptinterp ptinterp.S $ gcc -m32 -Wl,--dynamic-linker=ptinterp -o hello hello.c $ ./hello Segmentation fault # during execve() itself After applying the patch: $ ./hello Trace trap # user-mode execution after execve() finishes If the ELF headers are actually self-inconsistent, then dying is fine. But having no PROT_WRITE segment is perfectly normal and correct if there is no segment with p_memsz > p_filesz (i.e. bss). John Reiser suggested checking for PROT_WRITE in the bss logic. I think it makes most sense to simply apply the bss logic only when there is bss. This patch looks less trivial than it is due to some reindentation. It just moves the "if (last_bss > elf_bss) {" test up to include the partial-page bss logic as well as the more-pages bss logic. Reported-by: John Reiser Signed-off-by: Roland McGrath Signed-off-by: James Morris commit ec57935837a78f9661125b08a5d08b697568e040 Author: Jason Gunthorpe Date: Wed Sep 9 17:22:18 2009 -0600 TPM: Fixup boot probe timeout for tpm_tis driver When probing the device in tpm_tis_init the call request_locality uses timeout_a, which wasn't being initalized until after request_locality. This results in request_locality falsely timing out if the chip is still starting. Move the initialization to before request_locality. This probably only matters for embedded cases (ie mine), a BIOS likely gets the TPM into a state where this code path isn't necessary. Signed-off-by: Jason Gunthorpe Acked-by: Rajiv Andrade Signed-off-by: James Morris commit 873a64c762f0c52cdf95dcee59bd416bbf9688e6 Author: Artem Bityutskiy Date: Tue Sep 1 17:06:43 2009 +0300 UBIFS: amend commentaries This patch amends and nicifies commentaries in file.c, as well as fixes some spelling problems. Signed-off-by: Artem Bityutskiy commit 0dcd18e4073454daf591e7127247e32ec942b4f3 Author: Artem Bityutskiy Date: Tue Aug 25 16:22:53 2009 +0300 UBIFS: check ubifs_scan error codes better The 'ubifs_scan()' function returns -EUCLEAN if something is corrupted and recovery is needed, otherwise it returns other error codes. However, in few places UBIFS does not check the error codes and runs recovery. This patch changes this behavior and makes UBIFS start recovery only on -EUCLEAN errors. Signed-off-by: Artem Bityutskiy Reviewed-by: Adrian Hunter commit 348709bad348d2fd013e1529b4cf5f220717c328 Author: Artem Bityutskiy Date: Tue Aug 25 15:00:55 2009 +0300 UBIFS: do not print scary error messages needlessly At the moment UBIFS print large and scary error messages and flash dumps in case of nearly any corruption, even if it is a recoverable corruption. For example, if the master node is corrupted, ubifs_scan() prints error dumps, then UBIFS recovers just fine and goes on. This patch makes UBIFS print scary error messages only in real cases, which are not recoverable. It adds 'quiet' argument to the 'ubifs_scan()' function, so the caller may ask 'ubi_scan()' not to print error messages if the caller is able to do recovery. Signed-off-by: Artem Bityutskiy Reviewed-by: Adrian Hunter commit 119e20dc149581db3064661b2e659f308f97b663 Author: Alex Deucher Date: Thu Sep 10 02:53:50 2009 -0400 drm/radeon/kms/r600: fix blit support select the correct max number of bytes per blit based on whether the size is multiple of 4 bytes. This determines whether we can use 8 or 32 bit pixels for the blit. airlied: also merged the IB padding patch + correcting the VS offset for context Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit a513c184d99fe10e7b20771ef86f5f807769318f Author: Jerome Glisse Date: Wed Sep 9 22:23:07 2009 +0200 drm/radeon/kms: Don't try to process irq when we are unloading If module is being unloaded we should not try to handle irq especialy we should not call into drm helper or we could hard hang the computer free_irq will call the irq handler to make sure we behave properly. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 65a82211636f156a276cac3f8665605ae18f371f Author: Gleb Natapov Date: Thu Sep 3 12:10:34 2009 +0300 KVM: Fix coalesced interrupt reporting in IOAPIC This bug was introduced by b4a2f5e723e4f7df467. Cc: stable@kernel.org Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a20316d2aa41a8f4fd171648bad8f044f6060826 Author: Glauber Costa Date: Mon Aug 31 03:04:31 2009 -0400 KVM guest: fix bogus wallclock physical address calculation The use of __pa() to calculate the address of a C-visible symbol is wrong, and can lead to unpredictable results. See arch/x86/include/asm/page.h for details. It should be replaced with __pa_symbol(), that does the correct math here, by taking relocations into account. This ensures the correct wallclock data structure physical address is passed to the hypervisor. Cc: stable@kernel.org Signed-off-by: Glauber Costa Signed-off-by: Avi Kivity commit 5fff7d270bd6a4759b6d663741b729cdee370257 Author: Gleb Natapov Date: Thu Aug 27 18:41:30 2009 +0300 KVM: VMX: Fix cr8 exiting control clobbering by EPT Don't call adjust_vmx_controls() two times for the same control. It restores options that were dropped earlier. This loses us the cr8 exit control, which causes a massive performance regression Windows x64. Cc: stable@kernel.org Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 60f24784a92c25c269a5e741a8ce8ff63e887be8 Author: Avi Kivity Date: Thu Aug 27 13:37:06 2009 +0300 KVM: Optimize kvm_mmu_unprotect_page_virt() for tdp We know no pages are protected, so we can short-circuit the whole thing (including fairly nasty guest memory accesses). Signed-off-by: Avi Kivity commit 5dadbfd64724c41716d4fc82df6f01b023d5b15d Author: Avi Kivity Date: Sun Aug 23 17:08:04 2009 +0300 KVM: Document KVM_CAP_IRQCHIP Signed-off-by: Avi Kivity commit 88c808fd42b53a7e01a2ac3253ef31fef74cb5af Author: Avi Kivity Date: Mon Aug 17 22:49:40 2009 +0300 KVM: Protect update_cr8_intercept() when running without an apic update_cr8_intercept() can be triggered from userspace while there is no apic present. Signed-off-by: Avi Kivity commit 95eb84a7588d7d7afd3096807efc052adc7479e1 Author: Sheng Yang Date: Wed Aug 19 09:52:18 2009 +0800 KVM: VMX: Fix EPT with WP bit change during paging QNX update WP bit when paging enabled, which is not covered yet. This one fix QNX boot with EPT. Cc: stable@kernel.org Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit d9048d3278ed4d395e63899257c3fa377693968b Author: Mikhail Ershov Date: Wed Aug 19 14:08:07 2009 +0400 KVM: Use kvm_{read,write}_guest_virt() to read and write segment descriptors Segment descriptors tables can be placed on two non-contiguous pages. This patch makes reading segment descriptors by linear address. Signed-off-by: Mikhail Ershov Signed-off-by: Avi Kivity commit 7bdb588827265bf42dd420e95d34275c83603568 Author: Mohammed Gamal Date: Wed Aug 19 01:26:28 2009 +0300 KVM: x86 emulator: Add adc and sbb missing decoder flags Add missing decoder flags for adc and sbb instructions (opcodes 0x14-0x15, 0x1c-0x1d) Signed-off-by: Mohammed Gamal Signed-off-by: Avi Kivity commit fa6870c6b64214aced218d930ec7221e2a9767b8 Author: Avi Kivity Date: Sun Aug 16 15:31:33 2009 +0300 KVM: Add missing #include Signed-off-by: Avi Kivity commit 27c238106862fb0dd3e229c48c1ef56502b0ec88 Author: Avi Kivity Date: Sun Aug 16 15:31:11 2009 +0300 KVM: Add __KERNEL__ guards to exported headers Signed-off-by: Avi Kivity commit da18acffc3f13c4f187c20bc5dcfcb110b374b48 Author: Michael S. Tsirkin Date: Mon Aug 10 15:59:25 2009 +0300 KVM: export kvm_para.h kvm_para.h contains userspace interface and so should be exported. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 0aaeb3b1087b21fef434f1bae6e6495c12ee2f55 Author: Amit Shah Date: Thu Aug 13 20:05:48 2009 +0530 Documentation: Update KVM list email address The KVM list moved to vger.kernel.org last year Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit 56e8231841301ad38e347e33fd4319c89f697045 Author: Avi Kivity Date: Wed Aug 12 15:04:37 2009 +0300 KVM: Rename x86_emulate.c to emulate.c We're in arch/x86, what could we possibly be emulating? Signed-off-by: Avi Kivity commit c0c7c04b874bf98a10d8e0c8322a5d3bc93536bc Author: Anthony Liguori Date: Tue Aug 11 15:57:59 2009 -0500 KVM: When switching to a vm8086 task, load segments as 16-bit According to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading and new segments. If eflags.vm == 1, then the segments are treated as 16-bit segments. The LDTR and TR are not normally available in vm86 mode so if they happen to somehow get loaded, they need to be treated as 32-bit segments. This fixes an invalid vmentry failure in a custom OS that was happening after a task switch into vm8086 mode. Since the segments were being mistakenly treated as 32-bit, we loaded garbage state. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity commit 345dcaa8fde7fa70252d58c862bf41fd2149ca2c Author: Avi Kivity Date: Wed Aug 12 15:29:37 2009 +0300 KVM: VMX: Adjust rflags if in real mode emulation We set rflags.vm86 when virtualizing real mode to do through vm8086 mode; so we need to take it out again when reading rflags. Signed-off-by: Avi Kivity commit 6621fbc2c6add9c9abfc87d7bc9b248ffd307ae3 Author: Avi Kivity Date: Mon Aug 10 17:00:52 2009 +0300 KVM: Move #endif KVM_CAP_IRQ_ROUTING to correct place The symbol only controls irq routing, not MSI-X. Signed-off-by: Avi Kivity commit 52c7847d121da3651c08d9e9a99eb8a7cf2faa7a Author: Avi Kivity Date: Mon Aug 10 15:42:41 2009 +0300 KVM: SVM: Drop tlb flush workaround in npt It is no longer possible to reproduce the problem any more, so presumably it has been fixed. Signed-off-by: Avi Kivity commit cb142eb743d02d48165c9d941b601d731cc4a003 Author: Gleb Natapov Date: Sun Aug 9 15:17:40 2009 +0300 KVM: Update cr8 intercept when APIC TPR is changed by userspace Since on vcpu entry we do it only if apic is enabled we should do it when TPR is changed while apic is disabled. This happens when windows resets HW without setting TPR to zero. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 4b6e4dca7011613c8508640c10a091b3ed2cd215 Author: Joerg Roedel Date: Fri Aug 7 11:49:48 2009 +0200 KVM: SVM: enable nested svm by default Nested SVM is (in my experience) stable enough to be enabled by default. So omit the requirement to pass a module parameter. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 108768de55949c778bd95b36f3b17e652e59cd5b Author: Joerg Roedel Date: Fri Aug 7 11:49:47 2009 +0200 KVM: SVM: check for nested VINTR flag in svm_interrupt_allowed Not checking for this flag breaks any nested hypervisor that does not set VINTR. So fix it with this patch. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 26666957a58fab7c8a4a31f1ab24d3bbf4c58c7a Author: Joerg Roedel Date: Fri Aug 7 11:49:46 2009 +0200 KVM: SVM: move nested_svm_intr main logic out of if-clause This patch removes one indentation level from nested_svm_intr and makes the logic more readable. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit cda0ffdd862d36d0b054249ce920f00d1dbae037 Author: Joerg Roedel Date: Fri Aug 7 11:49:45 2009 +0200 KVM: SVM: remove unnecessary is_nested check from svm_cpu_run This check is not necessary. We have to sync the vcpu->arch.cr2 always back to the VMCB. This patch remove the is_nested check. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 410e4d573d9b7fbd134f9a47815b6ad517492a08 Author: Joerg Roedel Date: Fri Aug 7 11:49:44 2009 +0200 KVM: SVM: move special nested exit handling to separate function This patch moves the handling for special nested vmexits like #pf to a separate function. This makes the kvm_override parameter obsolete and makes the code more readable. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 1f8da47805072e89454ccfdada553c2afc4dfb79 Author: Joerg Roedel Date: Fri Aug 7 11:49:43 2009 +0200 KVM: SVM: handle errors in vmrun emulation path appropriatly If nested svm fails to load the msrpm the vmrun succeeds with the old msrpm which is not correct. This patch changes the logic to roll back to host mode in case the msrpm cannot be loaded. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit ea8e064fe22a132da1473d82a57751208e6b8bfd Author: Joerg Roedel Date: Fri Aug 7 11:49:42 2009 +0200 KVM: SVM: remove nested_svm_do and helper functions This function is not longer required. So remove it. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9738b2c97d19d87e5c204ae8c3f715a546bb6773 Author: Joerg Roedel Date: Fri Aug 7 11:49:41 2009 +0200 KVM: SVM: clean up nested vmrun path This patch removes the usage of nested_svm_do from the vmrun emulation path. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9966bf6872598362b632b738213edfb5a961315d Author: Joerg Roedel Date: Fri Aug 7 11:49:40 2009 +0200 KVM: SVM: clean up nestec vmload/vmsave paths This patch removes the usage of nested_svm_do from the vmload and vmsave emulation code paths. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3d62d9aa9868865217ce3a1b70d6039a98b50820 Author: Joerg Roedel Date: Fri Aug 7 11:49:39 2009 +0200 KVM: SVM: clean up nested_svm_exit_handled_msr This patch changes nested svm to call nested_svm_exit_handled_msr directly and not through nested_svm_do. [alex: fix oops due to nested kmap_atomics] Signed-off-by: Joerg Roedel Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit e3c3efc243462d67ba9fa7f67620dcbc4597bf0a Author: Artem Bityutskiy Date: Thu Aug 27 16:34:19 2009 +0300 UBIFS: add inode size debugging check Add one more check to UBIFS - a check that makes sure that there are no data nodes beyond inode size. And few commantaries fixes along the line. Signed-off-by: Artem Bityutskiy Reviewed-by: Adrian Hunter commit 34f80cfad59ee587e374cbaf5f2a31d9f5015404 Author: Joerg Roedel Date: Fri Aug 7 11:49:38 2009 +0200 KVM: SVM: get rid of nested_svm_vmexit_real This patch is the starting point of removing nested_svm_do from the nested svm code. The nested_svm_do function basically maps two guest physical pages to host virtual addresses and calls a passed function on it. This function pointer code flow is hard to read and not the best technical solution here. As a side effect this patch indroduces the nested_svm_[un]map helper functions. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 0295ad7de86a6347316bc7414c1b9c15f56a1333 Author: Joerg Roedel Date: Fri Aug 7 11:49:37 2009 +0200 KVM: SVM: simplify nested_svm_check_exception Makes the code of this function more readable by removing on indentation level for the core logic. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 9c4e40b9949868928bd7fec67a4b0902d90e57ed Author: Joerg Roedel Date: Fri Aug 7 11:49:36 2009 +0200 KVM: SVM: do nested vmexit in nested_svm_exit_handled If this function returns true a nested vmexit is required. Move that vmexit into the nested_svm_exit_handled function. This also simplifies the handling of nested #pf intercepts in this function. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 4c2161aed55c294c4c42622455f067a4b3077b85 Author: Joerg Roedel Date: Fri Aug 7 11:49:35 2009 +0200 KVM: SVM: consolidate nested_svm_exit_handled When caching guest intercepts there is no need anymore for the nested_svm_exit_handled_real function. So move its code into nested_svm_exit_handled. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit aad42c641cfcda4f87abc4f6588329b9b3cc3364 Author: Joerg Roedel Date: Fri Aug 7 11:49:34 2009 +0200 KVM: SVM: cache nested intercepts When the nested intercepts are cached we don't need to call get_user_pages and/or map the nested vmcb on every nested #vmexit to check who will handle the intercept. Further this patch aligns the emulated svm behavior better to real hardware. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit e6aa9abd7381557c67be6a9e7240eb132ca00d66 Author: Joerg Roedel Date: Fri Aug 7 11:49:33 2009 +0200 KVM: SVM: move nested svm state into seperate struct This makes it more clear for which purpose these members in the vcpu_svm exist. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit a5c3832dfe6324862b4fd1d90831266b15d4b58e Author: Joerg Roedel Date: Fri Aug 7 11:49:32 2009 +0200 KVM: SVM: complete interrupts after handling nested exits The interrupt completion code must run after nested exits are handled because not injected interrupts or exceptions may be handled by the l1 guest first. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 0460a979b4b7a564e59eaa8efbba6f5ae38c5b78 Author: Joerg Roedel Date: Fri Aug 7 11:49:31 2009 +0200 KVM: SVM: copy only necessary parts of the control area on vmrun/vmexit The vmcb control area contains more then 800 bytes of reserved fields which are unnecessarily copied. Fix this by introducing a copy function which only copies the relevant part and saves time. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit defbba5660fb9fcad186bd799a635e52994a4d1a Author: Joerg Roedel Date: Fri Aug 7 11:49:30 2009 +0200 KVM: SVM: optimize nested vmrun Only copy the necessary parts of the vmcb save area on vmrun and save precious time. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 33740e4009b7d287538f68f614eb3542df3597e4 Author: Joerg Roedel Date: Fri Aug 7 11:49:29 2009 +0200 KVM: SVM: optimize nested #vmexit It is more efficient to copy only the relevant parts of the vmcb back to the nested vmcb when we emulate an vmexit. Signed-off-by: Joerg Roedel Acked-by: Alexander Graf Signed-off-by: Avi Kivity commit 2af9194d1b683f91ae956afff9afb0b52a241371 Author: Joerg Roedel Date: Fri Aug 7 11:49:28 2009 +0200 KVM: SVM: add helper functions for global interrupt flag This patch makes the code easier to read when it comes to setting, clearing and checking the status of the virtualized global interrupt flag for the VCPU. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 256cd2ef4f5c125f5df2c81d8457f080a4684ae6 Author: Avi Kivity Date: Mon Aug 10 10:41:27 2009 +0300 x86: Export kmap_atomic_to_page() Needed by KVM. Signed-off-by: Avi Kivity commit 88ba63c2653b9b4857148fedba47ba2d8a4652c9 Author: Gleb Natapov Date: Tue Aug 4 15:30:29 2009 +0300 KVM: Replace pic_lock()/pic_unlock() with direct call to spinlock functions They are not doing anything else now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 938396a2341a4a96eaa5bea93a2bcdd69827c70c Author: Gleb Natapov Date: Tue Aug 4 15:30:28 2009 +0300 KVM: Call ack notifiers from PIC when guest OS acks an IRQ. Currently they are called when irq vector is been delivered. Calling ack notifiers at this point is wrong. Device assignment ack notifier enables host interrupts, but guest not yet had a chance to clear interrupt condition in a device. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 956f97cf665dc8c8ce2d5138bb38c022673b12d7 Author: Gleb Natapov Date: Tue Aug 4 15:30:27 2009 +0300 KVM: Call kvm_vcpu_kick() inside pic spinlock d5ecfdd25 moved it out because back than it was impossible to call it inside spinlock. This restriction no longer exists. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 3a34a8810b2ed316bfe58fa53640e8d30de3f6c2 Author: Roel Kluin Date: Tue Aug 4 02:08:45 2009 -0700 KVM: fix EFER read buffer overflow Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Avi Kivity commit 1f3ee616dd21ff155f781c35509229bf2788c072 Author: Amit Shah Date: Tue Jun 30 16:24:28 2009 +0530 KVM: ignore reads to perfctr msrs We ignore writes to the perfctr msrs. Ignore reads as well. Kaspersky antivirus crashes Windows guests if it can't read these MSRs. Signed-off-by: Amit Shah Signed-off-by: Avi Kivity commit eab4b8aa34fc64e3a91358e1612e6d059396193b Author: Avi Kivity Date: Tue Aug 4 15:02:54 2009 +0300 KVM: VMX: Optimize vmx_get_cpl() Instead of calling vmx_get_segment() (which reads a whole bunch of vmcs fields), read only the cs selector which contains the cpl. Signed-off-by: Avi Kivity commit 07708c4af1346ab1521b26a202f438366b7bcffd Author: Jan Kiszka Date: Mon Aug 3 18:43:28 2009 +0200 KVM: x86: Disallow hypercalls for guest callers in rings > 0 So far unprivileged guest callers running in ring 3 can issue, e.g., MMU hypercalls. Normally, such callers cannot provide any hand-crafted MMU command structure as it has to be passed by its physical address, but they can still crash the guest kernel by passing random addresses. To close the hole, this patch considers hypercalls valid only if issued from guest ring 0. This may still be relaxed on a per-hypercall base in the future once required. Cc: stable@kernel.org Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit b90c062c65cc8839edfac39778a37a55ca9bda36 Author: Marcelo Tosatti Date: Tue Jul 28 15:26:59 2009 -0300 KVM: MMU: fix bogus alloc_mmu_pages assignment Remove the bogus n_free_mmu_pages assignment from alloc_mmu_pages. It breaks accounting of mmu pages, since n_free_mmu_pages is modified but the real number of pages remains the same. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3b80fffe2b31fb716d3ebe729c54464ee7856723 Author: Izik Eidus Date: Tue Jul 28 15:26:58 2009 -0300 KVM: MMU: make __kvm_mmu_free_some_pages handle empty list First check if the list is empty before attempting to look at list entries. Cc: stable@kernel.org Signed-off-by: Izik Eidus Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 95fb4eb6981216c07ac01f598e61b273b6eff58c Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 29 00:46:38 2009 +0200 KVM: remove superfluous NULL pointer check in kvm_inject_pit_timer_irqs() This takes care of the following entries from Dan's list: arch/x86/kvm/i8254.c +714 kvm_inject_pit_timer_irqs(6) warning: variable derefenced in initializer 'vcpu' arch/x86/kvm/i8254.c +714 kvm_inject_pit_timer_irqs(6) warning: variable derefenced before check 'vcpu' Reported-by: Dan Carpenter Cc: corbet@lwn.net Cc: eteo@redhat.com Cc: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sheng Yang Signed-off-by: Avi Kivity commit 344f414fa0f16254dd07195d4cd11b2f92931d3d Author: Joerg Roedel Date: Mon Jul 27 16:30:48 2009 +0200 KVM: report 1GB page support to userspace If userspace knows that the kernel part supports 1GB pages it can enable the corresponding cpuid bit so that guests actually use GB pages. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 04326caacff2b162d359c15a2edf634448897d1a Author: Joerg Roedel Date: Mon Jul 27 16:30:47 2009 +0200 KVM: MMU: enable gbpages by increasing nr of pagesizes Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 7e4e4056f72da51c5dede48515df0ecd20eaf8ca Author: Joerg Roedel Date: Mon Jul 27 16:30:46 2009 +0200 KVM: MMU: shadow support for 1gb pages This patch adds support for shadow paging to the 1gb page table code in KVM. With this code the guest can use 1gb pages even if the host does not support them. [ Marcelo: fix shadow page collision on pmd level if a guest 1gb page is mapped with 4kb ptes on host level ] Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e04da980c35d75fa050ba4009ad99025432d8d7d Author: Joerg Roedel Date: Mon Jul 27 16:30:45 2009 +0200 KVM: MMU: make page walker aware of mapping levels The page walker may be used with nested paging too when accessing mmio areas. Make it support the additional page-level too. [ Marcelo: fix reserved bit check for 1gb pte ] Signed-off-by: Joerg Roedel Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 852e3c19ac64b7c3912e8efe42d3ce090ebc0161 Author: Joerg Roedel Date: Mon Jul 27 16:30:44 2009 +0200 KVM: MMU: make direct mapping paths aware of mapping levels Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d25797b24c0ff2efc2b2fabaebb0ec0cafc0d3e3 Author: Joerg Roedel Date: Mon Jul 27 16:30:43 2009 +0200 KVM: MMU: rename is_largepage_backed to mapping_level With the new name and the corresponding backend changes this function can now support multiple hugepage sizes. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 44ad9944f151390363fc6edaba466de8dfef050f Author: Joerg Roedel Date: Mon Jul 27 16:30:42 2009 +0200 KVM: MMU: make rmap code aware of mapping levels This patch removes the largepage parameter from the rmap_add function. Together with rmap_remove this function now uses the role.level field to find determine if the page is a huge page. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit aed665f7bbacf09121370bc7e21b4cc7d55fc5ef Author: Xiao Guangrong Date: Mon Aug 3 17:10:06 2009 +0800 KVM: fix kvm_init() error handling Remove debugfs file if kvm_arch_init() return error Signed-off-by: Xiao Guangrong Signed-off-by: Avi Kivity commit 1444885a045fe3b1905a14ea1b52540bf556578b Author: Marcelo Tosatti Date: Mon Jul 27 23:41:01 2009 -0300 KVM: limit lapic periodic timer frequency Otherwise its possible to starve the host by programming lapic timer with a very high frequency. Cc: stable@kernel.org Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5f0269f5d72f622514daec9af158c32e933800b6 Author: Mikhail Ershov Date: Mon Aug 3 14:58:25 2009 +0300 KVM: Align cr8 threshold when userspace changes cr8 Commit f0a3602c20 ("KVM: Move interrupt injection logic to x86.c") does not update the cr8 intercept if the lapic is disabled, so when userspace updates cr8, the cr8 threshold control is not updated and we are left with illegal control fields. Fix by explicitly resetting the cr8 threshold. Signed-off-by: Avi Kivity commit 7f582ab6d8116ce8db5792c219a278519deae6ad Author: Jan Kiszka Date: Wed Jul 22 23:53:01 2009 +0200 KVM: VMX: Avoid to return ENOTSUPP to userland Choose some allowed error values for the cases VMX returned ENOTSUPP so far as these values could be returned by the KVM_RUN IOCTL. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit e601e3be7a5324fcfd34fdb8796688cfe48bd0fe Author: Jan Kiszka Date: Mon Jul 20 11:30:12 2009 +0200 KVM: Drop obsolete cpu_get/put in make_all_cpus_request spin_lock disables preemption, so we can simply read the current cpu. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit 84fde248fe42f130cdda39faaa8bb1224c6a13ff Author: Gleb Natapov Date: Thu Jul 16 17:03:30 2009 +0300 KVM: PIT: Unregister ack notifier callback when freeing Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit b927a3cec081a605142f5b7e90b730611bee28b1 Author: Sheng Yang Date: Tue Jul 21 10:42:48 2009 +0800 KVM: VMX: Introduce KVM_SET_IDENTITY_MAP_ADDR ioctl Now KVM allow guest to modify guest's physical address of EPT's identity mapping page. (change from v1, discard unnecessary check, change ioctl to accept parameter address rather than value) Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit b792c344dfd57ee2cf737440e4a9b4a5bc39d1db Author: Akinobu Mita Date: Sun Jul 19 00:00:01 2009 +0900 KVM: x86: use kvm_get_gdt() and kvm_read_ldt() Use kvm_get_gdt() and kvm_read_ldt() to reduce inline assembly code. Cc: Avi Kivity Cc: kvm@vger.kernel.org Signed-off-by: Akinobu Mita Signed-off-by: Marcelo Tosatti commit 46a359e71526909a18a47aaf4347343d6d1d74b2 Author: Akinobu Mita Date: Sat Jul 18 23:58:32 2009 +0900 KVM: x86: use get_desc_base() and get_desc_limit() Use get_desc_base() and get_desc_limit() to get the base address and limit in desc_struct. Cc: Avi Kivity Cc: kvm@vger.kernel.org Signed-off-by: Akinobu Mita Signed-off-by: Marcelo Tosatti commit decde80b6a2fedd6ea62ea5c4bc4b3cb9fabf153 Author: Gleb Natapov Date: Sun Jul 12 17:13:29 2009 +0300 KVM: s390: remove unused structs They are not used by common code without defines which s390 does not have. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit 6a1ac77110ee3e8d8dfdef8442f3b30b3d83e6a2 Author: Marcelo Tosatti Date: Wed Jul 15 15:34:41 2009 -0300 KVM: MMU: fix missing locking in alloc_mmu_pages n_requested_mmu_pages/n_free_mmu_pages are used by kvm_mmu_change_mmu_pages to calculate the number of pages to zap. alloc_mmu_pages, called from the vcpu initialization path, modifies this variables without proper locking, which can result in a negative value in kvm_mmu_change_mmu_pages (say, with cpu hotplug). Signed-off-by: Marcelo Tosatti commit 3662cb1cd6ed26873ca808f3e16cc54246ad40ca Author: Sheng Yang Date: Thu Jul 9 17:00:42 2009 +0800 KVM: Discard unnecessary kvm_mmu_flush_tlb() in kvm_mmu_load() set_cr3() should already cover the TLB flushing. Signed-off-by: Sheng Yang Signed-off-by: Marcelo Tosatti commit 4088bb3caee82086fd85a844604274f6237f66a7 Author: Gleb Natapov Date: Wed Jul 8 11:26:54 2009 +0300 KVM: silence lapic kernel messages that can be triggered by a guest Some Linux versions (f8) try to read EOI register that is write only. Signed-off-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit a1b37100d9e29c1f8dc3e2f5490a205c80180e01 Author: Gleb Natapov Date: Thu Jul 9 15:33:52 2009 +0300 KVM: Reduce runnability interface with arch support code Remove kvm_cpu_has_interrupt() and kvm_arch_interrupt_allowed() from interface between general code and arch code. kvm_arch_vcpu_runnable() checks for interrupts instead. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 0b71785dc05f1f66e6268022b9953c0d6a9985c6 Author: Gleb Natapov Date: Thu Jul 9 15:33:53 2009 +0300 KVM: Move kvm_cpu_get_interrupt() declaration to x86 code It is implemented only by x86. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit b59bb7bdf08ee98e0d1f1758901f545655b7a413 Author: Gleb Natapov Date: Thu Jul 9 15:33:51 2009 +0300 KVM: Move exception handling to the same place as other events Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit a205bc19f0d203f31a15bd2f9464ef05f918b77e Author: Joerg Roedel Date: Thu Jul 9 16:36:01 2009 +0200 KVM: MMU: Fix MMU_DEBUG compile breakage Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit d34e6b175e61821026893ec5298cc8e7558df43a Author: Gregory Haskins Date: Tue Jul 7 17:08:49 2009 -0400 KVM: add ioeventfd support ioeventfd is a mechanism to register PIO/MMIO regions to trigger an eventfd signal when written to by a guest. Host userspace can register any arbitrary IO address with a corresponding eventfd and then pass the eventfd to a specific end-point of interest for handling. Normal IO requires a blocking round-trip since the operation may cause side-effects in the emulated model or may return data to the caller. Therefore, an IO in KVM traps from the guest to the host, causes a VMX/SVM "heavy-weight" exit back to userspace, and is ultimately serviced by qemu's device model synchronously before returning control back to the vcpu. However, there is a subclass of IO which acts purely as a trigger for other IO (such as to kick off an out-of-band DMA request, etc). For these patterns, the synchronous call is particularly expensive since we really only want to simply get our notification transmitted asychronously and return as quickly as possible. All the sychronous infrastructure to ensure proper data-dependencies are met in the normal IO case are just unecessary overhead for signalling. This adds additional computational load on the system, as well as latency to the signalling path. Therefore, we provide a mechanism for registration of an in-kernel trigger point that allows the VCPU to only require a very brief, lightweight exit just long enough to signal an eventfd. This also means that any clients compatible with the eventfd interface (which includes userspace and kernelspace equally well) can now register to be notified. The end result should be a more flexible and higher performance notification API for the backend KVM hypervisor and perhipheral components. To test this theory, we built a test-harness called "doorbell". This module has a function called "doorbell_ring()" which simply increments a counter for each time the doorbell is signaled. It supports signalling from either an eventfd, or an ioctl(). We then wired up two paths to the doorbell: One via QEMU via a registered io region and through the doorbell ioctl(). The other is direct via ioeventfd. You can download this test harness here: ftp://ftp.novell.com/dev/ghaskins/doorbell.tar.bz2 The measured results are as follows: qemu-mmio: 110000 iops, 9.09us rtt ioeventfd-mmio: 200100 iops, 5.00us rtt ioeventfd-pio: 367300 iops, 2.72us rtt I didn't measure qemu-pio, because I have to figure out how to register a PIO region with qemu's device model, and I got lazy. However, for now we can extrapolate based on the data from the NULLIO runs of +2.56us for MMIO, and -350ns for HC, we get: qemu-pio: 153139 iops, 6.53us rtt ioeventfd-hc: 412585 iops, 2.37us rtt these are just for fun, for now, until I can gather more data. Here is a graph for your convenience: http://developer.novell.com/wiki/images/7/76/Iofd-chart.png The conclusion to draw is that we save about 4us by skipping the userspace hop. -------------------- Signed-off-by: Gregory Haskins Acked-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 090b7aff27120cdae76a346a70db394844fea598 Author: Gregory Haskins Date: Tue Jul 7 17:08:44 2009 -0400 KVM: make io_bus interface more robust Today kvm_io_bus_regsiter_dev() returns void and will internally BUG_ON if it fails. We want to create dynamic MMIO/PIO entries driven from userspace later in the series, so we need to enhance the code to be more robust with the following changes: 1) Add a return value to the registration function 2) Fix up all the callsites to check the return code, handle any failures, and percolate the error up to the caller. 3) Add an unregister function that collapses holes in the array Signed-off-by: Gregory Haskins Acked-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit fef07aae9cd9ed82f94228c311b35360f1f38902 Author: Andre Przywara Date: Fri Jul 10 14:20:35 2009 +0200 KVM: add module parameters documentation Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit e9f4275732add046fed4a548b8dbb98dbe500d2f Author: Beth Kon Date: Tue Jul 7 11:50:38 2009 -0400 KVM: PIT support for HPET legacy mode When kvm is in hpet_legacy_mode, the hpet is providing the timer interrupt and the pit should not be. So in legacy mode, the pit timer is destroyed, but the *state* of the pit is maintained. So if kvm or the guest tries to modify the state of the pit, this modification is accepted, *except* that the timer isn't actually started. When we exit hpet_legacy_mode, the current state of the pit (which is up to date since we've been accepting modifications) is used to restart the pit timer. The saved_mode code in kvm_pit_load_count temporarily changes mode to 0xff in order to destroy the timer, but then restores the actual value, again maintaining "current" state of the pit for possible later reenablement. [avi: add some reserved storage in the ioctl; make SET_PIT2 IOW] [marcelo: fix memory corruption due to reserved storage] Signed-off-by: Beth Kon Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 0d1de2d901f4ba0972a3886496a44fb1d3300dbd Author: Gleb Natapov Date: Sun Jul 12 16:10:55 2009 +0300 KVM: Always report x2apic as supported feature We emulate x2apic in software, so host support is not required. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c7f0f24b1f82ec049fcfb8e6d4e1cee2815efbe5 Author: Gleb Natapov Date: Tue Jul 7 15:27:32 2009 +0300 KVM: No need to kick cpu if not in a guest mode This will save a couple of IPIs. Signed-off-by: Gleb Natapov Acked-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 1000ff8d893765d7b56e32fe16dbe4814f172588 Author: Gleb Natapov Date: Tue Jul 7 16:00:57 2009 +0300 KVM: Add trace points in irqchip code Add tracepoint in msi/ioapic/pic set_irq() functions, in IPI sending and in the point where IRQ is placed into apic's IRR. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 07fb8bb29f5269f30afa6f1b3d941406677f6ad2 Author: Michael S. Tsirkin Date: Sun Jul 5 21:27:58 2009 +0300 KVM: ignore msi request if !level Irqfd sets level for interrupt to 1 and then to 0. For MSI, check level so that a single message is sent. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit f7c6d140032ae7e80df36d350c6edc41f92b2f94 Author: Andre Przywara Date: Thu Jul 2 15:04:14 2009 +0200 KVM: fix MMIO_CONF_BASE MSR access Some Windows versions check whether the BIOS has setup MMI/O for config space accesses on AMD Fam10h CPUs, we say "no" by returning 0 on reads and only allow disabling of MMI/O CfgSpace setup by igoring "0" writes. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit f691fe1da7e2715137d21ae5a80bec64db4625db Author: Avi Kivity Date: Mon Jul 6 15:58:14 2009 +0300 KVM: Trace shadow page lifecycle Create, sync, unsync, zap. Signed-off-by: Avi Kivity commit 9c1b96e34717d001873b603d85434aa78e730282 Author: Avi Kivity Date: Tue Jun 9 12:37:58 2009 +0300 KVM: Document basic API Document the basic API corresponding to the 2.6.22 release. Signed-off-by: Avi Kivity commit 07420171593908406c3a59d6f884d426a921a5ea Author: Avi Kivity Date: Mon Jul 6 12:21:32 2009 +0300 KVM: MMU: Trace guest pagetable walker Signed-off-by: Avi Kivity commit dc7e795e3dd2a763e5ceaa1615f307e808cf3932 Author: Jan Kiszka Date: Wed Jul 1 20:52:03 2009 +0200 Revert "KVM: x86: check for cr3 validity in ioctl_set_sregs" This reverts commit 6c20e1442bb1c62914bb85b7f4a38973d2a423ba. To my understanding, it became obsolete with the advent of the more robust check in mmu_alloc_roots (89da4ff17f). Moreover, it prevents the conceptually safe pattern 1. set sregs 2. register mem-slots 3. run vcpu by setting a sticky triple fault during step 1. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 6098ca939ee5ceb81d6628b9130112516bae7400 Author: Andre Przywara Date: Fri Jul 3 16:00:14 2009 +0200 KVM: handle AMD microcode MSR Windows 7 tries to update the CPU's microcode on some processors, so we ignore the MSR write here. The patchlevel register is already handled (returning 0), because the MSR number is the same as Intel's. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 756975bbfd185169aac19f227d65a8d738a5f5f8 Author: Sheng Yang Date: Mon Jul 6 11:05:39 2009 +0800 KVM: Fix apic_mmio_write return for unaligned write Some in-famous OS do unaligned writing for APIC MMIO, and the return value has been missed in recent change, then the OS hangs. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 70f93dae32aca8b3b7da66891aecd3ee0ee48060 Author: Gleb Natapov Date: Sun Jul 5 18:48:12 2009 +0300 KVM: Use temporary variable to shorten lines. Cosmetic only. No logic is changed by this patch. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 0105d1a526404cfc9779552a6198bfd0e5fc937a Author: Gleb Natapov Date: Sun Jul 5 17:39:36 2009 +0300 KVM: x2apic interface to lapic This patch implements MSR interface to local apic as defines by x2apic Intel specification. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit fc61b800f9506ca47bf1439342a79847f2353562 Author: Gleb Natapov Date: Sun Jul 5 17:39:35 2009 +0300 KVM: Add Directed EOI support to APIC emulation Directed EOI is specified by x2APIC, but is available even when lapic is in xAPIC mode. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit cb24772140e09cb2503af7a4736ae3e08e9ac7d3 Author: Avi Kivity Date: Wed Jul 1 18:25:44 2009 +0300 KVM: Trace apic registers using their symbolic names Signed-off-by: Avi Kivity commit aec51dc4f1584018d7e35269e04e3dde3d2033e6 Author: Avi Kivity Date: Wed Jul 1 16:01:02 2009 +0300 KVM: Trace mmio Signed-off-by: Avi Kivity commit c323c0e5f06150cc000e09e8e3b22356099e7bde Author: Andre Przywara Date: Wed Jun 24 15:37:05 2009 +0200 KVM: Ignore PCI ECS I/O enablement Linux guests will try to enable access to the extended PCI config space via the I/O ports 0xCF8/0xCFC on AMD Fam10h CPU. Since we (currently?) don't use ECS, simply ignore write and read attempts. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit ae8c1c4025c2b780616586c3f86a3374a154ef90 Author: Avi Kivity Date: Wed Jul 1 12:09:41 2009 +0300 KVM: Trace irq level and source id Signed-off-by: Avi Kivity commit 27c4ba60171d9ce29d3645619837760d758ed288 Author: Jiri Slaby Date: Mon Jun 29 18:05:10 2009 +0200 KVM: fix lock imbalance There is a missing unlock on one fail path in ioapic_mmio_write, fix that. Signed-off-by: Jiri Slaby Signed-off-by: Avi Kivity commit 22fc02943a630417cb71734cd0b2e6f8dc4210b6 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:45 2009 +0300 KVM: document lock nesting rule Document kvm->lock nesting within kvm->slots_lock Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit bda9020e2463ec94db9f97e8615f3bae22069838 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:32 2009 +0300 KVM: remove in_range from io devices This changes bus accesses to use high-level kvm_io_bus_read/kvm_io_bus_write functions. in_range now becomes unused so it is removed from device ops in favor of read/write callbacks performing range checks internally. This allows aliasing (mostly for in-kernel virtio), as well as better error handling by making it possible to pass errors up to userspace. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 6c474694530f377507f9aca438c17206e051e6e7 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:26 2009 +0300 KVM: convert bus to slots_lock Use slots_lock to protect device list on the bus. slots_lock is already taken for read everywhere, so we only need to take it for write when registering devices. This is in preparation to removing in_range and kvm->lock around it. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 108b56690f35e083c5559116d6656f59a557a815 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:21 2009 +0300 KVM: switch pit creation to slots_lock switch pit creation to slots_lock. slots_lock is already taken for read everywhere, so we only need to take it for write when creating pit. This is in preparation to removing in_range and kvm->lock around it. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit d5c2dcc36aaf4dfdf9e01513493c71d71715f817 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:14 2009 +0300 KVM: switch coalesced mmio changes to slots_lock switch coalesced mmio slots_lock. slots_lock is already taken for read everywhere, so we only need to take it for write when changing zones. This is in preparation to removing in_range and kvm->lock around it. [avi: fix build] Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit 69fa2d78653918d200220ca62d44715827e6d617 Author: Michael S. Tsirkin Date: Mon Jun 29 22:24:07 2009 +0300 KVM: document locking for kvm_io_device_ops slots_lock is taken everywhere when device ops are called. Document this as we will use this to rework locking for io. Signed-off-by: Michael S. Tsirkin Signed-off-by: Avi Kivity commit d3efc8efdbaa81e9db3089810fcd526fccba234d Author: Marcelo Tosatti Date: Wed Jun 17 10:07:59 2009 -0300 KVM: use vcpu_id instead of bsp_vcpu pointer in kvm_vcpu_is_bsp Change kvm_vcpu_is_bsp to use vcpu_id instead of bsp_vcpu pointer, which is only initialized at the end of kvm_vm_ioctl_create_vcpu. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2023a29cbe34139afcea8f65f8aef78c325c5dc0 Author: Marcelo Tosatti Date: Thu Jun 18 11:47:28 2009 -0300 KVM: remove old KVMTRACE support code Return EOPNOTSUPP for KVM_TRACE_ENABLE/PAUSE/DISABLE ioctls. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 46f43c6ee022c3aeb9686b104234b9f27fac03c2 Author: Marcelo Tosatti Date: Thu Jun 18 11:47:27 2009 -0300 KVM: powerpc: convert marker probes to event trace [avi: make it build] [avi: fold trace-arch.h into trace.h] CC: Hollis Blanchard Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ed85c0685321a139cefd6622b21467643f0159e1 Author: Andre Przywara Date: Thu Jun 25 12:36:49 2009 +0200 KVM: introduce module parameter for ignoring unknown MSRs accesses KVM will inject a #GP into the guest if that tries to access unhandled MSRs. This will crash many guests. Although it would be the correct way to actually handle these MSRs, we introduce a runtime switchable module param called "ignore_msrs" (defaults to 0). If this is Y, unknown MSR reads will return 0, while MSR writes are simply dropped. In both cases we print a message to dmesg to inform the user about that. You can change the behaviour at any time by saying: # echo 1 > /sys/modules/kvm/parameters/ignore_msrs Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 1fdbd48c242db996107f72ae4140ffe8163e26a8 Author: Andre Przywara Date: Wed Jun 24 12:44:34 2009 +0200 KVM: ignore reads from AMDs C1E enabled MSR If the Linux kernel detects an C1E capable AMD processor (K8 RevF and higher), it will access a certain MSR on every attempt to go to halt. Explicitly handle this read and return 0 to let KVM run a Linux guest with the native AMD host CPU propagated to the guest. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 8f1589d95e5eab1ed287f217a33656e922cdbdd0 Author: Andre Przywara Date: Wed Jun 24 12:44:33 2009 +0200 KVM: ignore AMDs HWCR register access to set the FFDIS bit Linux tries to disable the flush filter on all AMD K8 CPUs. Since KVM does not handle the needed MSR, the injected #GP will panic the Linux kernel. Ignore setting of the HWCR.FFDIS bit in this MSR to let Linux boot with an AMD K8 family guest CPU. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 894a9c5543abf6f88d36dc1b9f5d90f35db09cb3 Author: Marcelo Tosatti Date: Tue Jun 23 15:05:14 2009 -0300 KVM: x86: missing locking in PIT/IRQCHIP/SET_BSP_CPU ioctl paths Correct missing locking in a few places in x86's vm_ioctl handling path. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit ec04b2604c3707a46db1d26d98f82b11d0844669 Author: Joerg Roedel Date: Fri Jun 19 15:16:23 2009 +0200 KVM: Prepare memslot data structures for multiple hugepage sizes [avi: fix build on non-x86] Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit f340ca0f065ecf3e7549687e763370106dacb2c2 Author: Joerg Roedel Date: Fri Jun 19 15:16:22 2009 +0200 hugetlbfs: export vma_kernel_pagsize to modules This function is required by KVM. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 3eea8437f61ca1f9192d146124425e759c3e5758 Author: Christian Borntraeger Date: Tue Jun 23 17:24:06 2009 +0200 KVM: s390: Fix memslot initialization for userspace_addr != 0 Since commit 854b5338196b1175706e99d63be43a4f8d8ab607 Author: Christian Ehrhardt KVM: s390: streamline memslot handling s390 uses the values of the memslot instead of doing everything in the arch ioctl handler of the KVM_SET_USER_MEMORY_REGION. Unfortunately we missed to set the userspace_addr of our memslot due to our s390 ifdef in __kvm_set_memory_region. Old s390 userspace launchers did not notice, since they started the guest at userspace address 0. Because of CONFIG_DEFAULT_MMAP_MIN_ADDR we now put the guest at 1M userspace, which does not work. This patch makes sure that new.userspace_addr is set on s390. This fix should go in quickly. Nevertheless, looking at the code we should clean up that ifdef in the long term. Any kernel janitors? Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 4668f050787015805a7e8ea29cc4f81d8f07cedb Author: Andre Przywara Date: Thu Jun 18 12:56:02 2009 +0200 KVM: x86 emulator: Add sysexit emulation Handle #UD intercept of the sysexit instruction in 64bit mode returning to 32bit compat mode on an AMD host. Setup the segment descriptors for CS and SS and the EIP/ESP registers according to the manual. Signed-off-by: Christoph Egger Signed-off-by: Amit Shah Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 8c60435261deaefeb53ce3222d04d7d5bea81296 Author: Andre Przywara Date: Thu Jun 18 12:56:01 2009 +0200 KVM: x86 emulator: Add sysenter emulation Handle #UD intercept of the sysenter instruction in 32bit compat mode on an AMD host. Setup the segment descriptors for CS and SS and the EIP/ESP registers according to the manual. Signed-off-by: Christoph Egger Signed-off-by: Amit Shah Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit e66bb2ccdcf76d032bbb464b35c292bb3ee58f9b Author: Andre Przywara Date: Thu Jun 18 12:56:00 2009 +0200 KVM: x86 emulator: add syscall emulation Handle #UD intercept of the syscall instruction in 32bit compat mode on an Intel host. Setup the segment descriptors for CS and SS and the EIP/ESP registers according to the manual. Save the RIP and EFLAGS to the correct registers. [avi: fix build on i386 due to missing R11] Signed-off-by: Christoph Egger Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit e99f0507125f45b723a9069e9e854c3c4758e7ba Author: Andre Przywara Date: Wed Jun 17 15:50:33 2009 +0200 KVM: x86 emulator: Prepare for emulation of syscall instructions Add the flags needed for syscall, sysenter and sysexit to the opcode table. Catch (but for now ignore) the opcodes in the emulation switch/case. Signed-off-by: Andre Przywara Signed-off-by: Amit Shah Signed-off-by: Christoph Egger Signed-off-by: Avi Kivity commit b1d861431ed58f752b31e8c07da029072989bec7 Author: Andre Przywara Date: Wed Jun 17 15:50:32 2009 +0200 KVM: x86 emulator: Add missing EFLAGS bit definitions Signed-off-by: Christoph Egger Signed-off-by: Amit Shah Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 0cb5762ed2b3113b3b8aa84d1d26b815aea71787 Author: Andre Przywara Date: Wed Jun 17 15:50:31 2009 +0200 KVM: Allow emulation of syscalls instructions on #UD Add the opcodes for syscall, sysenter and sysexit to the list of instructions handled by the undefined opcode handler. Signed-off-by: Christoph Egger Signed-off-by: Amit Shah Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 229456fc34b1c9031b04f7581e7b755d1cebfe9c Author: Marcelo Tosatti Date: Wed Jun 17 09:22:14 2009 -0300 KVM: convert custom marker based tracing to event traces This allows use of the powerful ftrace infrastructure. See Documentation/trace/ for usage information. [avi, stephen: various build fixes] [sheng: fix control register breakage] Signed-off-by: Marcelo Tosatti Signed-off-by: Stephen Rothwell Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 219b65dcf6c0bad83d51bfa12e25891c02de2414 Author: Alexander Graf Date: Mon Jun 15 15:21:25 2009 +0200 KVM: SVM: Improve nested interrupt injection While trying to get Hyper-V running, I realized that the interrupt injection mechanisms that are in place right now are not 100% correct. This patch makes nested SVM's interrupt injection behave more like on a real machine. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit ff092385e8285c03d8b148f42f46f98c5f4becd5 Author: Alexander Graf Date: Mon Jun 15 15:21:24 2009 +0200 KVM: SVM: Implement INVLPGA SVM adds another way to do INVLPG by ASID which Hyper-V makes use of, so let's implement it! For now we just do the same thing invlpg does, as asid switching means we flush the mmu anyways. That might change one day though. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit 3c5d0a44b011e0a1d857452f05c698e1008b4b4a Author: Alexander Graf Date: Mon Jun 15 15:21:23 2009 +0200 KVM: Implement MSRs used by Hyper-V Hyper-V uses some MSRs, some of which are actually reserved for BIOS usage. But let's be nice today and have it its way, because otherwise it fails terribly. [jaswinder: fix build for linux-next changes] Signed-off-by: Alexander Graf Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Avi Kivity commit 0367b4330e463c45981437083991b90d25a9d78d Author: Alexander Graf Date: Mon Jun 15 15:21:22 2009 +0200 x86: Add definition for IGNNE MSR Hyper-V accesses MSR_IGNNE while running under KVM. Signed-off-by: Alexander Graf Signed-off-by: Avi Kivity commit b3dbf89e676e47ef3b10802f9aba5a8e04aba132 Author: Avi Kivity Date: Tue Jun 16 12:36:33 2009 +0300 KVM: SVM: Don't save/restore host cr2 The host never reads cr2 in process context, so are free to clobber it. The vmx code does this, so we can safely remove the save/restore code. Signed-off-by: Avi Kivity commit d3edefc0035669e8817d1d5c32ef03e882477323 Author: Avi Kivity Date: Tue Jun 16 12:33:56 2009 +0300 KVM: VMX: Only reload guest cr2 if different from host cr2 cr2 changes only rarely, and writing it is expensive. Avoid the costly cr2 writes by checking if it does not already hold the desired value. Shaves 70 cycles off the vmexit latency. Signed-off-by: Avi Kivity commit 681405bfc73a2717ae9b03b2bad465b009106f31 Author: Jan Kiszka Date: Tue Jun 9 15:37:03 2009 +0200 KVM: Drop useless atomic test from timer function The current code tries to optimize the setting of KVM_REQ_PENDING_TIMER but used atomic_inc_and_test - which always returns true unless pending had the invalid value of -1 on entry. This patch drops the test part preserving the original semantic but expressing it less confusingly. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit f7104db26ab2bc5f642892774ac8fb0f15400969 Author: Jan Kiszka Date: Tue Jun 9 15:37:01 2009 +0200 KVM: Fix racy event propagation in timer Minor issue that likely had no practical relevance: the kvm timer function so far incremented the pending counter and then may reset it again to 1 in case reinjection was disabled. This opened a small racy window with the corresponding VCPU loop that may have happened to run on another (real) CPU and already consumed the value. Fix it by skipping the incrementation in case pending is already > 0. This opens a different race windows, but may only rarely cause lost events in case we do not care about them anyway (!reinject). Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 33e4c68656a2e461b296ce714ec322978de85412 Author: Gleb Natapov Date: Thu Jun 11 11:06:51 2009 +0300 KVM: Optimize searching for highest IRR Most of the time IRR is empty, so instead of scanning the whole IRR on each VM entry keep a variable that tells us if IRR is not empty. IRR will have to be scanned twice on each IRQ delivery, but this is much more rare than VM entry. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 6edf14d8d0df144d6928799040f46fa37b5460ae Author: Gleb Natapov Date: Thu Jun 11 11:26:11 2009 +0300 KVM: Replace pending exception by PF if it happens serially Replace previous exception with a new one in a hope that instruction re-execution will regenerate lost exception. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 54dee9933e8d93589ad63ec3d6be39f1921b0767 Author: Marcelo Tosatti Date: Thu Jun 11 12:07:44 2009 -0300 KVM: VMX: conditionally disable 2M pages Disable usage of 2M pages if VMX_EPT_2MB_PAGE_BIT (bit 16) is clear in MSR_IA32_VMX_EPT_VPID_CAP and EPT is enabled. [avi: s/largepages_disabled/largepages_enabled/ to avoid negative logic] Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 68f89400bc92421d6da22e1ec8e3ec599c3c8244 Author: Marcelo Tosatti Date: Thu Jun 11 12:07:43 2009 -0300 KVM: VMX: EPT misconfiguration handler Handler for EPT misconfiguration which checks for valid state in the shadow pagetables, printing the spte on each level. The separate WARN_ONs are useful for kerneloops.org. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 94d8b056a20bac4f9905d6dafcf7b7005207684a Author: Marcelo Tosatti Date: Thu Jun 11 12:07:42 2009 -0300 KVM: MMU: add kvm_mmu_get_spte_hierarchy helper Required by EPT misconfiguration handler. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 4d88954d6246d7d43bb8903981731002179f1a1c Author: Marcelo Tosatti Date: Thu Jun 11 12:07:41 2009 -0300 KVM: MMU: make for_each_shadow_entry aware of largepages This way there is no need to add explicit checks in every for_each_shadow_entry user. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e799794e02a368f79c3fae26aabaaadd0b7466ce Author: Marcelo Tosatti Date: Thu Jun 11 12:07:40 2009 -0300 KVM: VMX: more MSR_IA32_VMX_EPT_VPID_CAP capability bits Required for EPT misconfiguration handler. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 71db602322b1197e7951655c46339324b6208bf9 Author: Andre Przywara Date: Fri Jun 12 22:01:29 2009 +0200 KVM: Move performance counter MSR access interception to generic x86 path The performance counter MSRs are different for AMD and Intel CPUs and they are chosen mainly by the CPUID vendor string. This patch catches writes to all addresses (regardless of VMX/SVM path) and handles them in the generic MSR handler routine. Writing a 0 into the event select register is something we perfectly emulate ;-), so don't print out a warning to dmesg in this case. This fixes booting a 64bit Windows guest with an AMD CPUID on an Intel host. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit 2920d7285740582d6101f32c37d8d54f82531e1e Author: Marcelo Tosatti Date: Wed Jun 10 12:27:08 2009 -0300 KVM: MMU audit: largepage handling Make the audit code aware of largepages. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 2aaf65e8c40468b198b709a765abe311f91c1a1d Author: Marcelo Tosatti Date: Wed Jun 10 12:27:07 2009 -0300 KVM: MMU audit: audit_mappings tweaks - Fail early in case gfn_to_pfn returns is_error_pfn. - For the pre pte write case, avoid spurious "gva is valid but spte is notrap" messages (the emulation code does the guest write first, so this particular case is OK). Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 48fc03174b125238c541cf00acd5e9b9dff6b9ba Author: Marcelo Tosatti Date: Wed Jun 10 12:27:06 2009 -0300 KVM: MMU audit: nontrapping ptes in nonleaf level It is valid to set non leaf sptes as notrap. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit e58b0f9e0e2c17112e375a3f0ca1ef7e57730f68 Author: Marcelo Tosatti Date: Wed Jun 10 12:27:05 2009 -0300 KVM: MMU audit: update audit_write_protection - Unsync pages contain writable sptes in the rmap. - rmaps do not exclusively contain writable sptes anymore. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 08a3732bf2e68048c9166e929ca2115127a412ab Author: Marcelo Tosatti Date: Wed Jun 10 12:27:04 2009 -0300 KVM: MMU audit: update count_writable_mappings / count_rmaps Under testing, count_writable_mappings returns a value that is 2 integers larger than what count_rmaps returns. Suspicion is that either of the two functions is counting a duplicate (either positively or negatively). Modifying check_writable_mappings_rmap to check for rmap existance on all present MMU pages fails to trigger an error, which should keep Avi happy. Also introduce mmu_spte_walk to invoke a callback on all present sptes visible to the current vcpu, might be useful in the future. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 776e6633363b5616be6fa4493a8b70ef8e2ea04b Author: Marcelo Tosatti Date: Wed Jun 10 12:27:03 2009 -0300 KVM: MMU: introduce is_last_spte helper Hiding some of the last largepage / level interaction (which is useful for gbpages and for zero based levels). Also merge the PT_PAGE_TABLE_LEVEL clearing loop in unlink_children. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 3f5d18a96577fd78277e08c467041573b9a65eaf Author: Avi Kivity Date: Thu Jun 11 15:43:28 2009 +0300 KVM: Return to userspace on emulation failure Instead of mindlessly retrying to execute the instruction, report the failure to userspace. Signed-off-by: Avi Kivity commit 988a2cae6a3c0dea6df59808a935a9a697bfc28c Author: Gleb Natapov Date: Tue Jun 9 15:56:29 2009 +0300 KVM: Use macro to iterate over vcpus. [christian: remove unused variables on s390] Signed-off-by: Gleb Natapov Signed-off-by: Christian Borntraeger Signed-off-by: Avi Kivity commit 73880c80aa9c8dc353cd0ad26579023213cd5314 Author: Gleb Natapov Date: Tue Jun 9 15:56:28 2009 +0300 KVM: Break dependency between vcpu index in vcpus array and vcpu_id. Archs are free to use vcpu_id as they see fit. For x86 it is used as vcpu's apic id. New ioctl is added to configure boot vcpu id that was assumed to be 0 till now. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 1ed0ce000a6c20c36ec649e32fc24393ef418ed8 Author: Gleb Natapov Date: Tue Jun 9 15:56:27 2009 +0300 KVM: Use pointer to vcpu instead of vcpu_id in timer code. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit c5af89b68abb26eea5e745f33228f4d672f115e5 Author: Gleb Natapov Date: Tue Jun 9 15:56:26 2009 +0300 KVM: Introduce kvm_vcpu_is_bsp() function. Use it instead of open code "vcpu_id zero is BSP" assumption. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit d555c333aa544b222fe077adcd5dfea024b2c913 Author: Avi Kivity Date: Wed Jun 10 14:24:23 2009 +0300 KVM: MMU: s/shadow_pte/spte/ We use shadow_pte and spte inconsistently, switch to the shorter spelling. Rename set_shadow_pte() to __set_spte() to avoid a conflict with the existing set_spte(), and to indicate its lowlevelness. Signed-off-by: Avi Kivity commit 43a3795a3a12425de31e25ce0ebc3bb41501cef7 Author: Avi Kivity Date: Wed Jun 10 14:12:05 2009 +0300 KVM: MMU: Adjust pte accessors to explicitly indicate guest or shadow pte Since the guest and host ptes can have wildly different format, adjust the pte accessor names to indicate on which type of pte they operate on. No functional changes. Signed-off-by: Avi Kivity commit 439e218a6f4716da484314fc5a1f0a59b0212c01 Author: Avi Kivity Date: Wed Jun 10 12:56:54 2009 +0300 KVM: MMU: Fix is_dirty_pte() is_dirty_pte() is used on guest ptes, not shadow ptes, so it needs to avoid shadow_dirty_mask and use PT_DIRTY_MASK instead. Misdetecting dirty pages could lead to unnecessarily setting the dirty bit under EPT. Signed-off-by: Avi Kivity commit 7ffd92c53c5ebd0ad5a68ac3ca033c3a06374d19 Author: Avi Kivity Date: Tue Jun 9 14:10:45 2009 +0300 KVM: VMX: Move rmode structure to vmx-specific code rmode is only used in vmx, so move it to vmx.c Signed-off-by: Avi Kivity commit 6a4a98397331723dce25a7537270548d91523431 Author: Avi Kivity Date: Tue Jun 9 11:33:36 2009 +0300 KVM: Reorder ioctls in kvm.h Somehow the VM ioctls got unsorted; resort. Signed-off-by: Avi Kivity commit 3a624e29c7587b79abab60e279f9d1a62a3d4716 Author: Nitin A Kamble Date: Mon Jun 8 11:34:16 2009 -0700 KVM: VMX: Support Unrestricted Guest feature "Unrestricted Guest" feature is added in the VMX specification. Intel Westmere and onwards processors will support this feature. It allows kvm guests to run real mode and unpaged mode code natively in the VMX mode when EPT is turned on. With the unrestricted guest there is no need to emulate the guest real mode code in the vm86 container or in the emulator. Also the guest big real mode code works like native. The attached patch enhances KVM to use the unrestricted guest feature if available on the processor. It also adds a new kernel/module parameter to disable the unrestricted guest feature at the boot time. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit fa40a8214bb9bcae8d49c234c19d8b4a6c1f37ff Author: Marcelo Tosatti Date: Thu Jun 4 15:08:24 2009 -0300 KVM: switch irq injection/acking data structures to irq_lock Protect irq injection/acking data structures with a separate irq_lock mutex. This fixes the following deadlock: CPU A CPU B kvm_vm_ioctl_deassign_dev_irq() mutex_lock(&kvm->lock); worker_thread() -> kvm_deassign_irq() -> kvm_assigned_dev_interrupt_work_handler() -> deassign_host_irq() mutex_lock(&kvm->lock); -> cancel_work_sync() [blocked] [gleb: fix ia64 path] Reported-by: Alex Williamson Signed-off-by: Marcelo Tosatti Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 60eead79ad8750f80384cbe48fc44edcc78a0305 Author: Marcelo Tosatti Date: Thu Jun 4 15:08:23 2009 -0300 KVM: introduce irq_lock, use it to protect ioapic Introduce irq_lock, and use to protect ioapic data structures. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 64a2268dcfc9c3626aa7f70902690e2fc10c1630 Author: Marcelo Tosatti Date: Thu Jun 4 15:08:22 2009 -0300 KVM: move coalesced_mmio locking to its own device Move coalesced_mmio locking to its own device, instead of relying on kvm->lock. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 9f4cc12765ea48a40347449d6802a3322ced8709 Author: Marcelo Tosatti Date: Thu Jun 4 15:08:21 2009 -0300 KVM: Grab pic lock in kvm_pic_clear_isr_ack isr_ack is protected by kvm_pic->lock. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 238adc77051ab19b35663e7f214f52eaf44ed7ef Author: Jan Kiszka Date: Fri Jun 5 16:13:34 2009 +0200 KVM: Cleanup LAPIC interface None of the interface services the LAPIC emulation provides need to be exported to modules, and kvm_lapic_get_base is even totally unused today. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 06579dd9c12f36ac575460a226d2020d84a0128b Author: Liu Yu Date: Fri Jun 5 14:54:31 2009 +0800 KVM: ppc: e500: Add MMUCFG and PVR emulation Latest kernel started to use these two registers. Signed-off-by: Liu Yu Signed-off-by: Avi Kivity commit 5b7c1a2c17e77cd5416755bb9ac63278996f6c51 Author: Liu Yu Date: Fri Jun 5 14:54:30 2009 +0800 KVM: ppc: e500: Directly pass pvr to guest Signed-off-by: Liu Yu Signed-off-by: Avi Kivity commit 0cfb50e50dd27539fed9ba3cb33b0f22c0cddef0 Author: Liu Yu Date: Fri Jun 5 14:54:29 2009 +0800 KVM: ppc: e500: Move to Book-3e MMU definitions According to commit 70fe3af8403f85196bb74f22ce4813db7dfedc1a. Signed-off-by: Liu Yu Signed-off-by: Avi Kivity commit 105f8d40a737564100dc7dcd1d94d4e15fada20e Author: Avi Kivity Date: Thu Jun 4 18:09:08 2009 +0300 KVM: Calculate available entries in coalesced mmio ring Instead of checking whether we'll wrap around, calculate how many entries are available, and check whether we have enough (just one) for the pending mmio. By itself, this doesn't change anything, but it paves the way for making this function lockless. Signed-off-by: Avi Kivity commit 596ae895653fe336b9b5815ad2c175d22bb26f21 Author: Avi Kivity Date: Wed Jun 3 14:12:10 2009 +0300 KVM: VMX: Fix reporting of unhandled EPT violations Instead of returning -ENOTSUPP, exit normally but indicate the hardware exit reason. Signed-off-by: Avi Kivity commit 6de4f3ada40b336522250a7832a0cc4de8856589 Author: Avi Kivity Date: Sun May 31 22:58:47 2009 +0300 KVM: Cache pdptrs Instead of reloading the pdptrs on every entry and exit (vmcs writes on vmx, guest memory access on svm) extract them on demand. Signed-off-by: Avi Kivity commit 8f5d549f028056d6ad6044f2d9e27ecf361d955e Author: Avi Kivity Date: Sun May 31 18:41:29 2009 +0300 KVM: VMX: Simplify pdptr and cr3 management Instead of reading the PDPTRs from memory after every exit (which is slow and wrong, as the PDPTRs are stored on the cpu), sync the PDPTRs from memory to the VMCS before entry, and from the VMCS to memory after exit. Do the same for cr3. Signed-off-by: Avi Kivity commit 2d84e993a8947dbeb6b416555940d97522330846 Author: Avi Kivity Date: Sun May 31 18:29:59 2009 +0300 KVM: VMX: Avoid duplicate ept tlb flush when setting cr3 vmx_set_cr3() will call vmx_tlb_flush(), which will flush the ept context. So there is no need to call ept_sync_context() explicitly. Signed-off-by: Avi Kivity commit 6b66ac1ae3328177305a2600eb85b7446f41fdc9 Author: Gregory Haskins Date: Mon Jun 1 12:54:56 2009 -0400 KVM: do not register i8254 PIO regions until we are initialized We currently publish the i8254 resources to the pio_bus before the devices are fully initialized. Since we hold the pit_lock, its probably not a real issue. But lets clean this up anyway. Reported-by: Avi Kivity Signed-off-by: Gregory Haskins Acked-by: Chris Wright Signed-off-by: Avi Kivity commit d76685c4a074041ed168e0b04dd604c3df5dcaa5 Author: Gregory Haskins Date: Mon Jun 1 12:54:50 2009 -0400 KVM: cleanup io_device code We modernize the io_device code so that we use container_of() instead of dev->private, and move the vtable to a separate ops structure (theoretically allows better caching for multiple instances of the same ops structure) Signed-off-by: Gregory Haskins Acked-by: Chris Wright Signed-off-by: Avi Kivity commit 787a660a4f03325a0e00493ac39017e53fd345fa Author: Gregory Haskins Date: Mon Jun 1 12:54:45 2009 -0400 KVM: Clean up coalesced_mmio destruction We invoke kfree() on a data member instead of the structure. This works today because the kvm_io_device is the first element of the private structure, but this could change in the future, so lets clean this up. Signed-off-by: Gregory Haskins Acked-by: Chris Wright Signed-off-by: Avi Kivity commit 2986b8c72c272ea58edd37903b042c6da985627d Author: Stephen Rothwell Date: Tue Jun 2 11:46:14 2009 +1000 KVM: powerpc: fix some init/exit annotations Fixes a couple of warnings like this one: WARNING: arch/powerpc/kvm/kvm-440.o(.text+0x1e8c): Section mismatch in reference from the function kvmppc_44x_exit() to the function .exit.text:kvmppc_booke_exit() The function kvmppc_44x_exit() references a function in an exit section. Often the function kvmppc_booke_exit() has valid usage outside the exit section and the fix is to remove the __exit annotation of kvmppc_booke_exit. Also add some __init annotations on obvious routines. Signed-off-by: Stephen Rothwell Signed-off-by: Avi Kivity commit 6c8166a77c98f473eb91e96a61c3cf78ac617278 Author: Avi Kivity Date: Sun May 31 18:15:37 2009 +0300 KVM: SVM: Fold kvm_svm.h info svm.c kvm_svm.h is only included from svm.c, so fold it in. Signed-off-by: Avi Kivity commit b188d2d365702cfc660a56d66f4bf77ebf14a5c2 Author: Christian Ehrhardt Date: Fri May 29 12:58:50 2009 +0200 KVM: remove redundant declarations Changing s390 code in kvm_arch_vcpu_load/put come across this header declarations. They are complete duplicates, not even useful forward declarations as nothing using it is in between (maybe it was that in the past). This patch removes the two dispensable lines. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 968a6347936f9421b5bc5358b579e811c52726bc Author: Sheng Yang Date: Thu Apr 30 10:58:42 2009 +0800 KVM: No disable_irq for MSI/MSI-X interrupt on device assignment Disable interrupt at interrupt handler and enable it when guest ack is for the level triggered interrupt, to prevent reinjected interrupt. MSI/MSI-X don't need it. One possible problem is multiply same vector interrupt injected between irq handler and scheduled work handler would be merged as one for MSI/MSI-X. But AFAIK, the drivers handle it well. The patch fixed the oplin card performance issue(MSI-X performance is half of MSI/INTx). Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 017cb99e875f2d8ff375cbb576c794b081cd0bd5 Author: Andre Przywara Date: Thu May 28 11:56:31 2009 +0200 KVM: SVM: use explicit 64bit storage for sysenter values Since AMD does not support sysenter in 64bit mode, the VMCB fields storing the MSRs are truncated to 32bit upon VMRUN/#VMEXIT. So store the values in a separate 64bit storage to avoid truncation. [andre: fix amd->amd migration] Signed-off-by: Christoph Egger Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit e7333391403b31feb27a05bc0dcd052a471f1276 Author: Sheng Yang Date: Thu May 21 13:50:13 2009 +0800 KVM: Downsize max support MSI-X entry to 256 We only trap one page for MSI-X entry now, so it's 4k/(128/8) = 256 entries at most. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 628eb9b8a8f3ef31d8316112a4596b1a21b38159 Author: Christian Ehrhardt Date: Mon May 25 13:40:51 2009 +0200 KVM: s390: streamline memslot handling This patch relocates the variables kvm-s390 uses to track guest mem addr/size. As discussed dropping the variables at struct kvm_arch level allows to use the common vcpu->request based mechanism to reload guest memory if e.g. changes via set_memory_region. The kick mechanism introduced in this series is used to ensure running vcpus leave guest state to catch the update. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit b1d16c495d9e6fe48e7df2e1d18cafc6555a116a Author: Christian Ehrhardt Date: Wed May 20 15:34:56 2009 +0200 KVM: s390: fix signal handling If signal pending is true we exit without updating kvm_run, userspace currently just does nothing and jumps to kvm_run again. Since we did not set an exit_reason we might end up with a random one (whatever was the last exit). Therefore it was possible to e.g. jump to the psw position the last real interruption set. Setting the INTR exit reason ensures that no old psw data is swapped in on reentry. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 9ace903d171db7dc2fed96e44ac62b6f4c3ccb3d Author: Christian Ehrhardt Date: Wed May 20 15:34:55 2009 +0200 KVM: s390: infrastructure to kick vcpus out of guest state To ensure vcpu's come out of guest context in certain cases this patch adds a s390 specific way to kick them out of guest context. Currently it kicks them out to rerun the vcpu_run path in the s390 code, but the mechanism itself is expandable and with a new flag we could also add e.g. kicks to userspace etc. Signed-off-by: Christian Ehrhardt Signed-off-by: Avi Kivity commit 3032b925f00ba2653f7695d356d6f8284c82038d Author: Jes Sorensen Date: Mon May 25 10:22:17 2009 +0200 KVM: ia64: Correct itc_offset calculations Init the itc_offset for all possible vCPUs. The current code by mistake ends up only initializing the offset on vCPU 0. Spotted by Gleb Natapov. Signed-off-by: Jes Sorensen Acked-by : Xiantao Zhang Signed-off-by: Avi Kivity commit c5ff41ce66382d657a76bc06ba252d848826950f Author: Jan Kiszka Date: Thu May 14 22:42:53 2009 +0200 KVM: Allow PIT emulation without speaker port The in-kernel speaker emulation is only a dummy and also unneeded from the performance point of view. Rather, it takes user space support to generate sound output on the host, e.g. console beeps. To allow this, introduce KVM_CREATE_PIT2 which controls in-kernel speaker port emulation via a flag passed along the new IOCTL. It also leaves room for future extensions of the PIT configuration interface. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit 721eecbf4fe995ca94a9edec0c9843b1cc0eaaf3 Author: Gregory Haskins Date: Wed May 20 10:30:49 2009 -0400 KVM: irqfd KVM provides a complete virtual system environment for guests, including support for injecting interrupts modeled after the real exception/interrupt facilities present on the native platform (such as the IDT on x86). Virtual interrupts can come from a variety of sources (emulated devices, pass-through devices, etc) but all must be injected to the guest via the KVM infrastructure. This patch adds a new mechanism to inject a specific interrupt to a guest using a decoupled eventfd mechnanism: Any legal signal on the irqfd (using eventfd semantics from either userspace or kernel) will translate into an injected interrupt in the guest at the next available interrupt window. Signed-off-by: Gregory Haskins Signed-off-by: Avi Kivity commit 0ba12d10817a8db1fd7d96d3283ec6c0b294aeab Author: Avi Kivity Date: Thu May 21 16:45:19 2009 +0300 KVM: Move common KVM Kconfig items to new file virt/kvm/Kconfig Reduce Kconfig code duplication. Signed-off-by: Avi Kivity commit 787ff73637bbf34ef276cb04a127b421de71cc43 Author: Gleb Natapov Date: Mon May 18 11:44:06 2009 +0300 KVM: Drop interrupt shadow when single stepping should be done only on VMX The problem exists only on VMX. Also currently we skip this step if there is pending exception. The patch fixes this too. Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 284e9b0f5ad0c049efb7f145588782bf3d8be93e Author: Christoph Hellwig Date: Mon May 18 08:16:14 2009 -0400 KVM: cleanup arch/x86/kvm/Makefile Use proper foo-y style list additions to cleanup all the conditionals, move module selection after compound object selection and remove the superflous comment. Signed-off-by: Christoph Hellwig Signed-off-by: Avi Kivity commit ee3d29e8bee8d7c321279a9bd9bd25d4cfbf79b7 Author: Avi Kivity Date: Mon May 18 16:15:20 2009 +0300 KVM: x86 emulator: fix jmp far decoding (opcode 0xea) The jump target should not be sign extened; use an unsigned decode flag. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit c9eaf20f268c7051bfde2ba212c5ea76a6cbc7a1 Author: Avi Kivity Date: Mon May 18 16:13:45 2009 +0300 KVM: x86 emulator: Implement zero-extended immediate decoding Absolute jumps use zero extended immediate operands. Cc: stable@kernel.org Signed-off-by: Avi Kivity commit cb007648de83cf226d69ec76e1c01848b4e8e49f Author: Mark McLoughlin Date: Tue May 12 12:36:44 2009 +0100 KVM: fix cpuid E2BIG handling for extended request types If we run out of cpuid entries for extended request types we should return -E2BIG, just like we do for the standard request types. Signed-off-by: Mark McLoughlin Signed-off-by: Avi Kivity commit 60af2ecdc53af5b941e4a2eb99862a7ccf3ed7c8 Author: Jaswinder Singh Rajput Date: Thu May 14 11:00:10 2009 +0530 KVM: Use MSR names in place of address Replace 0xc0010010 with MSR_K8_SYSCFG and 0xc0010015 with MSR_K7_HWCR. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Avi Kivity commit 890ca9aefa78f7831f8f633cab9e4803636dffe4 Author: Huang Ying Date: Mon May 11 16:48:15 2009 +0800 KVM: Add MCE support The related MSRs are emulated. MCE capability is exported via extension KVM_CAP_MCE and ioctl KVM_X86_GET_MCE_CAP_SUPPORTED. A new vcpu ioctl command KVM_X86_SETUP_MCE is used to setup MCE emulation such as the mcg_cap. MCE is injected via vcpu ioctl command KVM_X86_SET_MCE. Extended machine-check state (MCG_EXT_P) and CMCI are not implemented. Signed-off-by: Huang Ying Signed-off-by: Avi Kivity commit af24a4e4aec77ef16c1971cf4465f767ba946034 Author: Jaswinder Singh Rajput Date: Fri May 15 18:42:05 2009 +0530 KVM: Replace MSR_IA32_TIME_STAMP_COUNTER with MSR_IA32_TSC of msr-index.h Use standard msr-index.h's MSR declaration. MSR_IA32_TSC is better than MSR_IA32_TIME_STAMP_COUNTER as it also solves 80 column issue. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Avi Kivity commit ae0bb3e011fec51fa67073d8e23d8ffeb36185d1 Author: Gleb Natapov Date: Tue May 19 11:07:10 2009 +0300 KVM: VMX: Properly handle software interrupt re-injection in real mode When reinjecting a software interrupt or exception, use the correct instruction length provided by the hardware instead of a hardcoded 1. Fixes problems running the suse 9.1 livecd boot loader. Problem introduced by commit f0a3602c20 ("KVM: Move interrupt injection logic to x86.c"). Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit 197e2eabc90c203d1086916b7f66694ba5fbb937 Author: Li Zefan Date: Thu Sep 10 09:34:19 2009 +0800 tracing: move PRED macros to trace_events_filter.c Move DEFINE_COMPARISON_PRED() and DEFINE_EQUALITY_PRED() to kernel/trace/trace_events_filter.c Signed-off-by: Li Zefan LKML-Reference: <4AA8579B.4020706@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit a5921c6c37d51ee2079ca3c69ea6f7b7384f5d87 Author: Li Zefan Date: Thu Sep 10 09:34:19 2009 +0800 tracing: remove stats from struct tracer Remove unused field @stats from struct tracer. Signed-off-by: Li Zefan LKML-Reference: <4AA8579B.4020706@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit bd9cfca9cb71200dd82b320bba12540dc078f4e0 Author: Li Zefan Date: Thu Sep 10 09:34:19 2009 +0800 tracing: format clean ups Fix white-space formatting. Signed-off-by: Li Zefan LKML-Reference: <4AA8579B.4020706@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit e0ab5f2daee1c7a6a387591bf37f0bad4e407112 Author: Li Zefan Date: Thu Sep 10 09:34:19 2009 +0800 tracing: remove dead code Removes unreachable code. Signed-off-by: Li Zefan LKML-Reference: <4AA8579B.4020706@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 478142c39c8c2f5f63038e5f2224e6729406e587 Author: Steven Rostedt Date: Wed Sep 9 10:36:01 2009 -0400 tracing: do not grab lock in wakeup latency function tracing The wakeup tracer, when enabled, has its own function tracer. It only traces the functions on the CPU where the task it is following is on. If a task is woken on one CPU but then migrates to another CPU before it wakes up, the latency tracer will then start tracing functions on the other CPU. To find which CPU the task is on, the wakeup function tracer performs a task_cpu(wakeup_task). But to make sure the task does not disappear it grabs the wakeup_lock, which is also taken when the task wakes up. By taking this lock, the function tracer does not need to worry about the task being freed as it checks its cpu. Jan Blunck found a problem with this approach on his 32 CPU box. When a task is being traced by the wakeup tracer, all functions take this lock. That means that on all 32 CPUs, each function call is taking this one lock to see if the task is on that CPU. This lock has just serialized all functions on all 32 CPUs. Needless to say, this caused major issues on that box. It would even lockup. This patch changes the wakeup latency to insert a probe on the migrate task tracepoint. When a task changes its CPU that it will run on, the probe will take note. Now the wakeup function tracer no longer needs to take the lock. It only compares the current CPU with a variable that holds the current CPU the task is on. We don't worry about races since it is OK to add or miss a function trace. Reported-by: Jan Blunck Tested-by: Jan Blunck Signed-off-by: Steven Rostedt commit d8eeb2d3b26d25c44c10f28430e2157a2d20bd1d Author: Robert Richter Date: Fri Jul 31 14:58:04 2009 +0200 ring-buffer: consolidate interface of rb_buffer_peek() rb_buffer_peek() operates with struct ring_buffer_per_cpu *cpu_buffer only. Thus, instead of passing variables buffer and cpu it is better to use cpu_buffer directly. This also reduces the risk of races since cpu_buffer is not calculated twice. Signed-off-by: Robert Richter LKML-Reference: <1249045084-3028-1-git-send-email-robert.richter@amd.com> Signed-off-by: Steven Rostedt commit 08c3a8133810d955d97f7146c50c43e4073f2148 Author: Aneesh Kumar K.V Date: Wed Sep 9 23:50:17 2009 -0400 ext4: Clarify the locking details in mballoc We don't need to take the alloc_sem lock when we are adding new groups, since mballoc won't see the new group added until we bump sbi->s_groups_count. Signed-off-by: "Theodore Ts'o" Signed-off-by: Aneesh Kumar K.V commit f41c0750538667b87a19c93952e5d42fcc069bd7 Author: Aneesh Kumar K.V Date: Wed Sep 9 23:34:50 2009 -0400 ext4: check for need init flag in ext4_mb_load_buddy We should check for need init flag with the group's alloc_sem held, to make sure while we are loading the buddy cache and holding a reference to it, a file system resize can't add new blocks to same group. The patch also drops the need init flag check in ext4_mb_regular_allocator() because doing the check without holding alloc_sem is racy. Signed-off-by: "Theodore Ts'o" Signed-off-by: Aneesh Kumar K.V commit b6a758ec3af3ec236dbfdcf6a06b84ac8f94957e Author: Aneesh Kumar K.V Date: Wed Sep 9 23:47:46 2009 -0400 ext4: move ext4_mb_init_group() function earlier in the mballoc.c This moves the function around so that it can be called from ext4_mb_load_buddy(). Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 526b678093a8a4bcf1ffffbe17bcf21c057eddf5 Merge: 752015d 18f4c64 Author: Linus Torvalds Date: Wed Sep 9 20:04:54 2009 -0700 Merge branch 'lookup-permissions-cleanup' * lookup-permissions-cleanup: jffs2/jfs/xfs: switch over to 'check_acl' rather than 'permission()' ext[234]: move over to 'check_acl' permission model shmfs: use 'check_acl' instead of 'permission' Make 'check_acl()' a first-class filesystem op Simplify exec_permission_lite(), part 3 Simplify exec_permission_lite() further Simplify exec_permission_lite() logic Do not call 'ima_path_check()' for each path component commit 752015d1b0683a8c623ebfe4c62893413e9b30d3 Author: Roland McGrath Date: Tue Sep 8 19:49:40 2009 -0700 binfmt_elf: fix PT_INTERP bss handling In fs/binfmt_elf.c, load_elf_interp() calls padzero() for .bss even if the PT_LOAD has no PROT_WRITE and no .bss. This generates EFAULT. Here is a small test case. (Yes, there are other, useful PT_INTERP which have only .text and no .data/.bss.) ----- ptinterp.S _start: .globl _start nop int3 ----- $ gcc -m32 -nostartfiles -nostdlib -o ptinterp ptinterp.S $ gcc -m32 -Wl,--dynamic-linker=ptinterp -o hello hello.c $ ./hello Segmentation fault # during execve() itself After applying the patch: $ ./hello Trace trap # user-mode execution after execve() finishes If the ELF headers are actually self-inconsistent, then dying is fine. But having no PROT_WRITE segment is perfectly normal and correct if there is no segment with p_memsz > p_filesz (i.e. bss). John Reiser suggested checking for PROT_WRITE in the bss logic. I think it makes most sense to simply apply the bss logic only when there is bss. This patch looks less trivial than it is due to some reindentation. It just moves the "if (last_bss > elf_bss) {" test up to include the partial-page bss logic as well as the more-pages bss logic. Reported-by: John Reiser Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 91ac6f43317c0bf99969665f98016548011dfa38 Author: Frank Mayhar Date: Wed Sep 9 22:33:47 2009 -0400 ext4: Make non-journal fsync work properly Teach ext4_write_inode() and ext4_do_update_inode() about non-journal mode: If we're not using a journal, ext4_write_inode() now calls ext4_do_update_inode() (after getting the iloc via ext4_get_inode_loc()) with a new "do_sync" parameter. If that parameter is nonzero _and_ we're not using a journal, ext4_do_update_inode() calls sync_dirty_buffer() instead of ext4_handle_dirty_metadata(). This problem was found in power-fail testing, checking the amount of loss of files and blocks after a power failure when using fsync() and when not using fsync(). It turned out that using fsync() was actually worse than not doing so, possibly because it increased the likelihood that the inodes would remain unflushed and would therefore be lost at the power failure. Signed-off-by: Frank Mayhar Signed-off-by: "Theodore Ts'o" commit fe188c0e084bdf3038dc0ac963c21d764f53f7da Author: Theodore Ts'o Date: Sat Sep 12 13:41:55 2009 -0400 ext4: Assure that metadata blocks are written during fsync in no journal mode When there is no journal present, we must attach buffer heads associated with extent tree and indirect blocks to the inode's mapping->private_list via mark_buffer_dirty_inode() so that ext4_sync_file() --- which is called to service fsync() and fdatasync() system calls --- can write out the inode's metadata blocks by calling sync_mapping_buffers(). Signed-off-by: "Theodore Ts'o" commit 732c611e5bbb76201397297f834dddd5ab684b05 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:12 2009 -0700 generic GPIO support misc files. The definition of MCFSIM_PADDR and MCFSIM_PADAT now has MCF_BAR already added in. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit dca7cf33bb5c98187ffcc849652b1b2c4c8a0c25 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:11 2009 -0700 generic GPIO support for the Freescale Coldfire 5407. Add support for the 5407. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 7846fe800a81adae1e28d9d035b5226f75358280 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:10 2009 -0700 generic GPIO support for the Freescale Coldfire 532x. Add support for the 532x. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit f7a20ba06435d067247bd50a15a1d550b9b3fc7d Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:09 2009 -0700 generic GPIO support for the Freescale Coldfire 5307. Add support for the 5307. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 6da6e63c96f5fc8a92b6d1d6f12c2bf998588ffe Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:08 2009 -0700 generic GPIO support for the Freescale Coldfire 528x. Add support for the 528x. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 316f2c483c32e9385329303258d12e6e33892af5 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:07 2009 -0700 generic GPIO support for the Freescale Coldfire 5272. Add support for the 5272. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit f1554da34f11518bde33776c292c1b58fc20f073 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:06 2009 -0700 generic GPIO support for the Freescale Coldfire 527x. Add support for the 5271 & 5275. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 9e8ded166dcc7831ee6f31f8a0937cd9b58e83b0 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:05 2009 -0700 generic GPIO support for the Freescale Coldfire 5249. Add support for the 5249. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit a03ce7d9ef05e145ef706f99e68d5ffacf0ad325 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:04 2009 -0700 generic GPIO support for the Freescale Coldfire 523x. Add support for the 523x. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit afde8560b4217338c17b7dbc9e9d7676c1b3a5ff Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:03 2009 -0700 generic GPIO support for the Freescale Coldfire 520x. Add support for the 520x. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit 24a1836ecd471409aeb5362f63032126ebe7fb10 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:02 2009 -0700 generic GPIO support for the Freescale Coldire 5206e. Add support for the 5206e. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit bc25b057fa0a0e4754b7e2524c509874649d11ae Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:01 2009 -0700 generic GPIO support for the Freescale Coldfire 5206. Add support for the 5206. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit af39bb8b07af83b579c90c09ba3943123cdb4132 Author: sfking@fdwdc.com Date: Fri Jun 19 18:11:00 2009 -0700 core generic GPIO support for Freescale Coldfire processors. This adds the basic infrastructure used by all of the different Coldfire CPUs. Signed-off-by: Steven King Signed-off-by: Greg Ungerer commit ec282e9225be924479d4880b51f13524795bd8d3 Author: Tobias Klauser Date: Wed Sep 9 01:07:43 2009 +0000 dm9000: Use resource_size instead of private macro The macro res_size in drivers/net/dm9000.c is a copy of resource_size in linux/ioport.h. Remove the function and use resource_size instead. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 07fcb044b6ea53b67d00e198f9073e0538df7b75 Author: Tobias Klauser Date: Wed Sep 9 01:07:44 2009 +0000 dm9000: Remove unnecessary memset of netdev private data The memory for the private data is allocated using kzalloc in alloc_etherdev (or alloc_netdev_mq respectively) so there is no need to set it to 0 again. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit c7acb4c16646943180bd221c167a077e0a084f9c Author: Theodore Ts'o Date: Wed Sep 9 21:32:41 2009 -0400 ext4: Use bforget() in no journal mode for ext4_journal_{forget,revoke}() When ext4 is using a journal, a metadata block which is deallocated must be passed into the journal layer so it can be dropped from the current transaction and/or revoked. This is done by calling the functions ext4_journal_forget() and ext4_journal_revoke(), which call jbd2_journal_forget(), and jbd2_journal_revoke(), respectively. Since the jbd2_journal_forget() and jbd2_journal_revoke() call bforget(), if ext4 is not using a journal, ext4_journal_forget() and ext4_journal_revoke() must call bforget() to avoid a dirty metadata block overwriting a block after it has been reallocated and reused for another inode's data block. Signed-off-by: "Theodore Ts'o" commit 58f25468b5636c390ad2a58356b127c0055884b4 Author: Amit Kumar Salecha Date: Wed Sep 9 18:12:59 2009 -0700 netxen: fix tx descriptor structure Fix the offset of vlan_TCI field in cmd_desc_type0. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3db7675506ef7460bf6220545bfc69abb7dbceab Author: Amit Kumar Salecha Date: Wed Sep 9 18:12:37 2009 -0700 netxen: fix check for ip addr hashing support Fix typo in checking dest ip has support before programming destip addresses. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 23bcf634c8bc0d84607a5b863333191d58baee4c Author: Patrick McHardy Date: Wed Sep 9 18:11:23 2009 -0700 net_sched: fix estimator lock selection for mq child qdiscs When new child qdiscs are attached to the mq qdisc, they are actually attached as root qdiscs to the device queues. The lock selection for new estimators incorrectly picks the root lock of the existing and to be replaced qdisc, which results in a use-after-free once the old qdisc has been destroyed. Mark mq qdisc instances with a new flag and treat qdiscs attached to mq as children similar to regular root qdiscs. Additionally prevent estimators from being attached to the mq qdisc itself since it only updates its byte and packet counters during dumps. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea6a634ef7f0ab1d1f48ba0ad4f50e96d6065312 Merge: fa1a9c6 b2e3abd Author: David S. Miller Date: Wed Sep 9 17:33:45 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 905b68223be18937159a29b354e6a332952ff952 Author: Jerome Glisse Date: Wed Sep 9 22:24:20 2009 +0200 drm/radeon/kms: add R4XX mc register access helper. Atombios will use the mc register access helper and R4XX hw have a bigger mc range than R3XX so add R4XX specific mc register access helper. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit a18d7ea15356679f58c2fafe2957786c5f7f9201 Author: Jerome Glisse Date: Wed Sep 9 22:23:27 2009 +0200 drm/radeon/kms: call r100_cp_disable rather than duplicating code. r100_cp_fini was duplicating code of r100_cp_disable, call r100_cp_disable instead. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 45600232b3dbb97817c9e15de848c742901893e1 Author: Jerome Glisse Date: Wed Sep 9 22:23:45 2009 +0200 drm/radeon/kms: wait for cp idle before stopping it. If we stop CP and that it's still processing thing GPU hang might happen, this patch wait for CP idle (the wait can timeout) so we can avoid shutting down CP at bad time. This is especialy usefull when reseting the GPU as it seems GPU reset fails to properly reset CP when the CP wasn't stop after being idle. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit ddd29ec6597125c830f7badb608a86c98b936b64 Author: David P. Quigley Date: Wed Sep 9 14:25:37 2009 -0400 sysfs: Add labeling support for sysfs This patch adds a setxattr handler to the file, directory, and symlink inode_operations structures for sysfs. The patch uses hooks introduced in the previous patch to handle the getting and setting of security information for the sysfs inodes. As was suggested by Eric Biederman the struct iattr in the sysfs_dirent structure has been replaced by a structure which contains the iattr, secdata and secdata length to allow the changes to persist in the event that the inode representing the sysfs_dirent is evicted. Because sysfs only stores this information when a change is made all the optional data is moved into one dynamically allocated field. This patch addresses an issue where SELinux was denying virtd access to the PCI configuration entries in sysfs. The lack of setxattr handlers for sysfs required that a single label be assigned to all entries in sysfs. Granting virtd access to every entry in sysfs is not an acceptable solution so fine grained labeling of sysfs is required such that individual entries can be labeled appropriately. [sds: Fixed compile-time warnings, coding style, and setting of inode security init flags.] Signed-off-by: David P. Quigley Signed-off-by: Stephen D. Smalley Signed-off-by: James Morris commit 1ee65e37e904b959c24404139f5752edc66319d5 Author: David P. Quigley Date: Thu Sep 3 14:25:57 2009 -0400 LSM/SELinux: inode_{get,set,notify}secctx hooks to access LSM security context information. This patch introduces three new hooks. The inode_getsecctx hook is used to get all relevant information from an LSM about an inode. The inode_setsecctx is used to set both the in-core and on-disk state for the inode based on a context derived from inode_getsecctx.The final hook inode_notifysecctx will notify the LSM of a change for the in-core state of the inode in question. These hooks are for use in the labeled NFS code and addresses concerns of how to set security on an inode in a multi-xattr LSM. For historical reasons Stephen Smalley's explanation of the reason for these hooks is pasted below. Quote Stephen Smalley inode_setsecctx: Change the security context of an inode. Updates the in core security context managed by the security module and invokes the fs code as needed (via __vfs_setxattr_noperm) to update any backing xattrs that represent the context. Example usage: NFS server invokes this hook to change the security context in its incore inode and on the backing file system to a value provided by the client on a SETATTR operation. inode_notifysecctx: Notify the security module of what the security context of an inode should be. Initializes the incore security context managed by the security module for this inode. Example usage: NFS client invokes this hook to initialize the security context in its incore inode to the value provided by the server for the file when the server returned the file's attributes to the client. Signed-off-by: David P. Quigley Acked-by: Serge Hallyn Signed-off-by: James Morris commit b1ab7e4b2a88d3ac13771463be8f302ce1616cfc Author: David P. Quigley Date: Thu Sep 3 14:25:56 2009 -0400 VFS: Factor out part of vfs_setxattr so it can be called from the SELinux hook for inode_setsecctx. This factors out the part of the vfs_setxattr function that performs the setting of the xattr and its notification. This is needed so the SELinux implementation of inode_setsecctx can handle the setting of the xattr while maintaining the proper separation of layers. Signed-off-by: David P. Quigley Acked-by: Serge Hallyn Signed-off-by: James Morris commit 2496afbf1e50c70f80992656bcb730c8583ddac3 Author: Yang Xiaowei Date: Wed Sep 9 12:44:52 2009 -0700 xen: use stronger barrier after unlocking lock We need to have a stronger barrier between releasing the lock and checking for any waiting spinners. A compiler barrier is not sufficient because the CPU's ordering rules do not prevent the read xl->spinners from happening before the unlock assignment, as they are different memory locations. We need to have an explicit barrier to enforce the write-read ordering to different memory locations. Because of it, I can't bring up > 4 HVM guests on one SMP machine. [ Code and commit comments expanded -J ] [ Impact: avoid deadlock when using Xen PV spinlocks ] Signed-off-by: Yang Xiaowei Signed-off-by: Jeremy Fitzhardinge commit 4d576b57b50a92801e6493e76e5243d6cff193d2 Author: Jeremy Fitzhardinge Date: Wed Sep 9 12:33:51 2009 -0700 xen: only enable interrupts while actually blocking for spinlock Where possible we enable interrupts while waiting for a spinlock to become free, in order to reduce big latency spikes in interrupt handling. However, at present if we manage to pick up the spinlock just before blocking, we'll end up holding the lock with interrupts enabled for a while. This will cause a deadlock if we recieve an interrupt in that window, and the interrupt handler tries to take the lock too. Solve this by shrinking the interrupt-enabled region to just around the blocking call. [ Impact: avoid race/deadlock when using Xen PV spinlocks ] Reported-by: "Yang, Xiaowei" Signed-off-by: Jeremy Fitzhardinge commit 577eebeae34d340685d8985dfdb7dfe337c511e8 Author: Jeremy Fitzhardinge Date: Thu Aug 27 12:46:35 2009 -0700 xen: make -fstack-protector work under Xen -fstack-protector uses a special per-cpu "stack canary" value. gcc generates special code in each function to test the canary to make sure that the function's stack hasn't been overrun. On x86-64, this is simply an offset of %gs, which is the usual per-cpu base segment register, so setting it up simply requires loading %gs's base as normal. On i386, the stack protector segment is %gs (rather than the usual kernel percpu %fs segment register). This requires setting up the full kernel GDT and then loading %gs accordingly. We also need to make sure %gs is initialized when bringing up secondary cpus too. To keep things consistent, we do the full GDT/segment register setup on both architectures. Because we need to avoid -fstack-protected code before setting up the GDT and because there's no way to disable it on a per-function basis, several files need to have stack-protector inhibited. [ Impact: allow Xen booting with stack-protector enabled ] Signed-off-by: Jeremy Fitzhardinge commit 4734d401d43c6469d568caf223d37aa0fc1bf4dc Author: Christoph Hellwig Date: Wed Sep 9 18:19:02 2009 -0500 xfs: use correct log reservation when handling ENOSPC in xfs_create We added the ENOSPC handling patch in xfs_create just after it got mered with xfs_mkdir. Change the log reservation to the variable for either the create or mkdir value so it does the right thing if get here for creating a directory. Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit bf992fa2bc1ad1bb2aeb0bdfadb43f236b9297fd Merge: 9d73022 7135a71 Author: Rafael J. Wysocki Date: Thu Sep 10 00:02:02 2009 +0200 Merge branch 'master' into for-linus commit 0baed8da1ed91b664759f6c7f955b3a804457389 Author: Rafael J. Wysocki Date: Tue Sep 8 23:16:24 2009 +0200 PCI / ACPI PM: Propagate wake-up enable for devices w/o ACPI support Some PCI devices (not PCI Express), like PCI add-on cards, can generate PME#, but they don't have any special platform wake-up support. For this reason, even if they generate PME# to wake up the system from a sleep state, wake-up events are not generated by the platform. It turns out that, at least on some systems, PCI bridges and the PCI host bridge have ACPI GPEs associated with them that, if enabled to generate wake-up events, allow the system to wake up if one of the add-on devices asserts PME# while the system is in a sleep state. Following this observation, if a PCI device without direct ACPI wake-up support is prepared to wake up the system during a transition into a sleep state (eg. suspend to RAM), try to configure the bridges on the path from the device to the root bridge to wake-up the system. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 9b83ccd2f14f647936dcfbf4a9a20c501007dd69 Author: Rafael J. Wysocki Date: Tue Sep 8 23:15:31 2009 +0200 ACPI PM: Replace wakeup.prepared with reference counter The wakeup.prepared flag is used for marking devices that have the wake-up power already enabled, so that the wake-up power is not enabled twice in a row for the same device. This assumes, however, that device wake-up power will only be enabled once, while the device is being prepared for a system-wide sleep transition, and the second attempt is made by acpi_enable_wakeup_device_prep(). With the upcoming PCI wake-up rework this assumption will not hold any more for PCI bridges and the root bridge whose wake-up power may be enabled as a result of wake-up enable propagation from other devices (eg. add-on devices that are not associated with any GPEs). Thus, there may be many attempts to enable wake-up power on a PCI bridge or the root bridge during a system power state transition and it's better to replace wakeup.prepared with a reference counter. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit e80bb09d2c73d76a2a4cd79e4a83802dd901c642 Author: Rafael J. Wysocki Date: Tue Sep 8 23:14:49 2009 +0200 PCI PM: Introduce device flag wakeup_prepared Introduce a new PCI device flag, wakeup_prepared, to prevent PCI wake-up preparation code from being executed twice in a row for the same device and for the same purpose. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit df8db91fc3b543d373afa61beef35b072eea1368 Author: Rafael J. Wysocki Date: Tue Sep 8 23:13:49 2009 +0200 PCI / ACPI PM: Rework some debug messages Move a debug message from acpi_pci_sleep_wake() to acpi_pm_device_sleep_wake() and use the standard dev_*() macros in there. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 5bcc2fb4e8157d829a38093b98e23329ac8acff7 Author: Rafael J. Wysocki Date: Tue Sep 8 23:12:59 2009 +0200 PCI PM: Simplify PCI wake-up code Rework the PCI wake-up code so that it's easier to read without changing the functionality. Reviewed-by: Matthew Garrett Signed-off-by: Rafael J. Wysocki Signed-off-by: Jesse Barnes commit 748df9a4c65625c386674c9b54dde73de6cc5af5 Author: Jiri Slaby Date: Tue Sep 8 12:16:18 2009 +0200 x86/PCI: pci quirks, fix pci refcounting Stanse found a pci reference leak in quirk_amd_nb_node. Instead of putting nb_ht, there is a put of dev passed as an argument. http://stanse.fi.muni.cz/ Signed-off-by: Jiri Slaby Signed-off-by: Jesse Barnes commit 28760489a3f1e136c5ae8581c0fa8f63511f2f4c Author: Eric W. Biederman Date: Wed Sep 9 14:09:24 2009 -0700 PCI: pcie: Ensure hotplug ports have a minimum number of resources In general a BIOS may goof or we may hotplug in a hotplug controller. In either case the kernel needs to reserve resources for plugging in more devices in the future instead of creating a minimal resource assignment. We already do this for cardbus bridges I am just adding a variant for pcie bridges. v2: Make testing for pcie hotplug bridges based on a flag. So far we only set the flag for pcie but a header_quirk could easily be added for the non-standard pci hotplug bridges. Signed-off-by: Eric W. Biederman Signed-off-by: Jesse Barnes commit 0ba379ec0fb182a87b8891c5754abbcd9c035b4f Author: Eric W. Biederman Date: Sun Sep 6 21:48:35 2009 -0700 PCI: Simplify hotplug mch quirk. There is a very old quirk for the intel E7502 E7320 and E7525 memory controller hubs that disables usage of msi interrupts on pcie hotplug bridges of those devices, and disables changing the affinity of irqs. Today all we have to do to disable msi on a specific device is to set dev->no_msi, which is much more straightforward than the previous logic. The re-running of this fixup after pci hotplug happens below these devices is totally bogus. All of the state we change is pure software state and we don't change the hardware at all. Which means hotplug on the lower devices doesn't have a chance to change this state. So we can safely remove the special case from the pciehp driver and the pcie portdriver. I suspect the special case was someone's expermental debug code that slipped in. Certainly it isn't mentioned in commit 6fb8880a61510295aece04a542767161f624dffe aka BKrev: 41966101LJ_ogfOU0m2aE6teZfQnuQ where the code first appears. Reviewed-by: Kenji Kaneshige Signed-off-by: "Eric W. Biederman" Signed-off-by: Jesse Barnes commit fa526d0d641b5365676a1fb821ce359e217c9b85 Author: Jack Steiner Date: Thu Sep 3 12:56:02 2009 -0500 x86, pat: Fix cacheflush address in change_page_attr_set_clr() Fix address passed to cpa_flush_range() when changing page attributes from WB to UC. The address (*addr) is modified by __change_page_attr_set_clr(). The result is that the pages being flushed start at the _end_ of the changed range instead of the beginning. This should be considered for 2.6.30-stable and 2.6.31-stable. Signed-off-by: Jack Steiner Acked-by: Suresh Siddha Signed-off-by: H. Peter Anvin Cc: Stable team commit 5d93b135fc051be3740cbe55729fc7b86a7069d7 Author: Alex Deucher Date: Wed Sep 9 16:09:36 2009 -0400 drm/radeon/r600: fix legacy blit code ARRAY_SIZE is number of elements not bytes. Fix ring counts accordingly, also make a few functions static. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b1c089b7caf18905bd1d87136cf7b8c837254932 Author: Hidetoshi Seto Date: Mon Sep 7 17:16:59 2009 +0900 PCI: pcie, aer: report all error before recovery This patch is required not to lost error records by action invoked on error recovery, such as slot reset etc. Following sample (real machine + dummy record injected by aer-inject) shows that record of 28:00.1 could not be retrieved by recovery of 28:00.0: - Before: pcieport-driver 0000:00:02.0: AER: Multiple Uncorrected (Non-Fatal) error received: id=2801 e1000e 0000:28:00.0: PCIE Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=2800(Receiver ID) e1000e 0000:28:00.0: device [8086:1096] error status/mask=00001000/00100000 e1000e 0000:28:00.0: [12] Poisoned TLP (First) e1000e 0000:28:00.0: TLP Header: 00000000 00000001 00000002 00000003 e1000e 0000:28:00.0: broadcast error_detected message e1000e 0000:28:00.0: broadcast slot_reset message e1000e 0000:28:00.0: setting latency timer to 64 e1000e 0000:28:00.0: restoring config space at offset 0x1 (was 0x100547, writing 0x100147) e1000e 0000:28:00.0: PME# disabled e1000e 0000:28:00.0: PME# disabled e1000e 0000:28:00.1: setting latency timer to 64 e1000e 0000:28:00.1: restoring config space at offset 0x1 (was 0x100547, writing 0x100147) e1000e 0000:28:00.1: PME# disabled e1000e 0000:28:00.1: PME# disabled e1000e 0000:28:00.0: broadcast resume message e1000e 0000:28:00.0: AER driver successfully recovered e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX - After: pcieport-driver 0000:00:02.0: AER: Multiple Uncorrected (Non-Fatal) error received: id=2801 e1000e 0000:28:00.0: PCIE Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=2800(Receiver ID) e1000e 0000:28:00.0: device [8086:1096] error status/mask=00001000/00100000 e1000e 0000:28:00.0: [12] Poisoned TLP (First) e1000e 0000:28:00.0: TLP Header: 00000000 00000001 00000002 00000003 e1000e 0000:28:00.1: PCIE Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, id=2801(Receiver ID) e1000e 0000:28:00.1: device [8086:1096] error status/mask=00081000/00100000 e1000e 0000:28:00.1: [12] Poisoned TLP (First) e1000e 0000:28:00.1: [19] ECRC e1000e 0000:28:00.1: TLP Header: 00000000 00000001 00000002 00000003 e1000e 0000:28:00.1: Error of this Agent(2801) is reported first e1000e 0000:28:00.0: broadcast error_detected message e1000e 0000:28:00.0: broadcast slot_reset message e1000e 0000:28:00.0: setting latency timer to 64 e1000e 0000:28:00.0: restoring config space at offset 0x1 (was 0x100547, writing 0x100147) e1000e 0000:28:00.0: PME# disabled e1000e 0000:28:00.0: PME# disabled e1000e 0000:28:00.1: setting latency timer to 64 e1000e 0000:28:00.1: restoring config space at offset 0x1 (was 0x100547, writing 0x100147) e1000e 0000:28:00.1: PME# disabled e1000e 0000:28:00.1: PME# disabled e1000e 0000:28:00.0: broadcast resume message e1000e 0000:28:00.0: AER driver successfully recovered e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 79e4b89be81b5e53bc4cb51788ca7a45cadb4ef3 Author: Hidetoshi Seto Date: Mon Sep 7 17:16:45 2009 +0900 PCI: pcie, aer: change error print format Use dev_printk like format. Sample (real machine + dummy error injected by aer-inject): - Before: +------ PCI-Express Device Error ------+ Error Severity : Corrected PCIE Bus Error type : Data Link Layer Bad TLP : Receiver ID : 2800 VendorID=8086h, DeviceID=1096h, Bus=28h, Device=00h, Function=00h +------ PCI-Express Device Error ------+ Error Severity : Corrected PCIE Bus Error type : Data Link Layer Bad TLP : Bad DLLP : Receiver ID : 2801 VendorID=8086h, DeviceID=1096h, Bus=28h, Device=00h, Function=01h Error of this Agent(2801) is reported first - After: pcieport-driver 0000:00:02.0: AER: Multiple Corrected error received: id=2801 e1000e 0000:28:00.0: PCIE Bus Error: severity=Corrected, type=Data Link Layer, id=2800(Receiver ID) e1000e 0000:28:00.0: device [8086:1096] error status/mask=00000040/00000000 e1000e 0000:28:00.0: [ 6] Bad TLP e1000e 0000:28:00.1: PCIE Bus Error: severity=Corrected, type=Data Link Layer, id=2801(Receiver ID) e1000e 0000:28:00.1: device [8086:1096] error status/mask=000000c0/00000000 e1000e 0000:28:00.1: [ 6] Bad TLP e1000e 0000:28:00.1: [ 7] Bad DLLP e1000e 0000:28:00.1: Error of this Agent(2801) is reported first Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 273024ded7b364e1305a31bf4eb197870284f279 Author: Hidetoshi Seto Date: Mon Sep 7 17:16:20 2009 +0900 PCI: pcie, aer: flags to bits Compact struct and codes. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 3472a18773bc6661ea7f8de2b4172db7e00b67e6 Author: Hidetoshi Seto Date: Mon Sep 7 17:16:00 2009 +0900 PCI: pcie, aer: remove unused macros Cleanup. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit e7a0d92b19f438011ad76c41755b56ec2ef05f64 Author: Hidetoshi Seto Date: Mon Sep 7 17:13:42 2009 +0900 PCI: pcie, aer: report multiple/first error on a device Multiple bits might be set in the Uncorrectable Error Status register. But aer_print_error_source() only report a error of the lowest bit set in the error status register. So print strings for all bits unmasked and set. And check First Error Pointer to mark the error occured first. This FEP is not valid when the corresponing bit of the Uncorrectable Error Status register is not set, or unimplemented or undefined. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 0d90c3ac0bb89acfbf481c8b06749b00eade6545 Author: Hidetoshi Seto Date: Mon Sep 7 17:12:25 2009 +0900 PCI: pcie, aer: refer mask state in mask register properly ERR_{,UN}CORRECTABLE_ERROR_MASK are set of error bits which linux know, set of PCI_ERR_COR_* and PCI_ERR_UNC_* defined in linux/pci_regs.h. This masks make aerdrv not to report errors of unknown bit, while aerdrv have ability to report such undefined errors as "Unknown Error Bit %2d". OTOH aerdrv_errprint does not have any check of setting in mask register. So it could report masked wrong error by finding bit in status without knowing that the bit is masked in the mask register. This patch changes aerdrv to use mask state in mask register propely instead of defined/hardcoded ERR_{,UN}CORRECTABLE_ERROR_MASK. This change prevents aerdrv from reporting masked error, and also enable reporting unknown errors. Signed-off-by: Hidetoshi Seto Reviewed-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 24dbb7beb2a207f423006c46830dfaacca5a1139 Author: Hidetoshi Seto Date: Mon Sep 7 17:11:29 2009 +0900 PCI: pcie, aer: remove spinlock in aerdrv_errprint.c The static buffer errmsg_buff[] is used only for building error message in fixed format, and is protected by a spinlock. This patch removes this buffer and the spinlock. Signed-off-by: Hidetoshi Seto Reviewed-by: Andrew Patterson Signed-off-by: Jesse Barnes commit 0d465f23502e0810443c90a9cf1cf5686c4af4f2 Author: Hidetoshi Seto Date: Mon Sep 7 17:10:40 2009 +0900 PCI: pcie, aer: fix report of multiple errors The flag AER_MULTI_ERROR_VALID_FLAG in info->flag does mean that the root port receives multiple error messages. Error messages can be posted from different devices, so it does not mean that each reported device has multiple errors. If there are multiple error devices and the root port has valid error source ID, it would be nice to report which device is the error source reported first. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 1b4ffcf8432f7945e0bd0571f10a2f2bd1dbd850 Author: Hidetoshi Seto Date: Mon Sep 7 17:09:58 2009 +0900 PCI: pcie, aer: init struct aer_err_info for reuse In case of multiple errors, struct aer_err_info would be reused among all reported devices. So the info->status should be initialized before recycled. Otherwise error of one device might be reported as the error of another device. Also info->flags has similar problem on reporting TLP header. Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit f15857569613a982568be88d034555d88eead0aa Author: Hidetoshi Seto Date: Mon Sep 7 17:08:59 2009 +0900 PCI: pcie, aer: rework MASK macros in aerdrv_errprint.c Definitions of MASK macros in aerdrv_errprint.c are tricky and unsafe. For example, AER_AGENT_TRANSMITTER_MASK(_sev, _stat) does work like: static inline func(int _sev, int _stat) { if (_sev == AER_CORRECTABLE) return (_stat & (PCI_ERR_COR_REP_ROLL|PCI_ERR_COR_REP_TIMER)); else return (_stat & PCI_ERR_COR_REP_ROLL); } In case of else path here, for uncorrectable errors, testing bits in _stat by PCI_ERR_COR_* does not make sense because _stat should have only PCI_ERR_UNC_* bits originated in uncorrectable error status register. But at this time this is safe because uncorrectable error using bit position same to PCI_ERR_COR_REP_ROLL(= bit position 8) is not defined. Likewise, AER_AGENT_COMPLETER_MASK is always PCI_ERR_UNC_COMP_ABORT but it works because bit 15 of correctable error status is not defined. It means that these MASK macros will turn to be wrong once if new error is defined. (In fact, bit 15 of correctable is now defined in PCIe 2.1) This patch changes these MASK macros to be more strict, not to return PCI_ERR_COR_* bits for uncorrectable error status and vise versa. Signed-off-by: Hidetoshi Seto Reviewed-by: Andrew Patterson Signed-off-by: Jesse Barnes commit bd8fedd045d1d3f4e1f5daca179b0a49949ab538 Author: Hidetoshi Seto Date: Mon Sep 7 17:08:14 2009 +0900 PCI: pcie, aer: AER_PR for printing in aerdrv_errprint.c Add workaround macro to reduce the number of checkpatch warning: WARNING: printk() should include KERN_ facility level Before: total: 0 errors, 10 warnings, 247 lines checked After: total: 0 errors, 1 warnings, 243 lines checked Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit c9a918838c07cbef934c8ef818d8f0e719015c3a Author: Hidetoshi Seto Date: Mon Sep 7 17:07:29 2009 +0900 PCI: pcie, aer: checkpatch style cleanup in pcie/aer/* Before: drivers/pci/pcie/aer/aer_inject.c total: 4 errors, 4 warnings, 473 lines checked drivers/pci/pcie/aer/aerdrv.c total: 5 errors, 2 warnings, 333 lines checked drivers/pci/pcie/aer/aerdrv.h total: 1 errors, 0 warnings, 139 lines checked drivers/pci/pcie/aer/aerdrv_core.c total: 4 errors, 3 warnings, 872 lines checked drivers/pci/pcie/aer/aerdrv_errprint.c total: 12 errors, 11 warnings, 248 lines checked After: drivers/pci/pcie/aer/aer_inject.c total: 0 errors, 0 warnings, 466 lines checked drivers/pci/pcie/aer/aerdrv.c total: 0 errors, 0 warnings, 335 lines checked drivers/pci/pcie/aer/aerdrv.h total: 0 errors, 0 warnings, 139 lines checked drivers/pci/pcie/aer/aerdrv_core.c total: 0 errors, 0 warnings, 869 lines checked drivers/pci/pcie/aer/aerdrv_errprint.c total: 0 errors, 10 warnings, 247 lines checked Signed-off-by: Hidetoshi Seto Reviewed-by: Andrew Patterson Signed-off-by: Jesse Barnes commit b439b1d4e3ae3c36ed94ed233119ff0d145af257 Author: Tejun Heo Date: Thu Sep 3 15:27:27 2009 +0900 PCI: pci-stub: add pci_stub.ids parameter Add ids module parameter which allows specifying initial IDs for the pci-stub driver. When built into the kernel, pci-stub is linked before any real pci drivers and by setting up IDs from initialization it can prevent built-in drivers from attaching to specific devices. While at it, make pci_stub_probe() print out about devices it grabbed to weed out "but my controller isn't being probed" bug reports. Signed-off-by: Tejun Heo Signed-off-by: Jesse Barnes commit 9dba910e9de2c4aa15ec1286f10052c107ef48ca Author: Tejun Heo Date: Thu Sep 3 15:26:36 2009 +0900 PCI: separate out pci_add_dynid() Separate out pci_add_dynid() from store_new_id() and export it so that in-kernel code can add PCI IDs dynamically. As the function will be available regardless of HOTPLUG, put it and pull pci_free_dynids() outside of CONFIG_HOTPLUG. This will be used by pci-stub to initialize initial IDs via module param. While at it, remove bogus get_driver() failure check. Signed-off-by: Tejun Heo Acked-by: Greg Kroah-Hartman Reviewed-by: Grant Grundler Signed-off-by: Jesse Barnes commit 825c423a35a80a8fd66398a3f9bde7f0b0187a76 Author: Kenji Kaneshige Date: Wed Jul 29 14:39:58 2009 +0900 PCI hotplug: add support for 5.0G link speed Add support for PCI-E 5.0 GT/s in max_bus_speed and cur_bus_speed. Reviewed-by: Matthew Wilcox Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 6ed6a8dc83dc37d30c8a7ff2eae2ed054e34c91b Author: Kenji Kaneshige Date: Wed Jul 29 14:39:07 2009 +0900 PCI hotplug: fix typo in pcie link speed info Fix typo in PCI-E link speed. Reviewed-by: Matthew Wilcox Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit ac18018a414a90d841ea81d38fecb913c0ec1880 Author: Kenji Kaneshige Date: Wed Aug 19 11:02:13 2009 +0900 PCI ASPM: support per direction l0s management The L0s state can be managed separately for each direction (upstream direction and downstream direction) of the link. But in the current implementation, those are mixed up. With this patch, L0s for each direction are managed separately. To maintain three states (upstream direction L0s, downstream L0s and L1), 'aspm_support', 'aspm_enabled', 'aspm_capable', 'aspm_disable' and 'aspm_default' fields in struct pcie_link_state are changed to 3-bit from 2-bit. The 'latency' field is separated to two 'latency_up' and 'latency_dw' fields to maintain exit latencies for each direction of the link. For L0, 'latency_up.l0' and 'latency_dw.l0' are used to configure upstream direction L0s and downstream direction L0s respectively. For L1, larger value of 'latency_up.l1' and 'latency_dw.l1' is considered as L1 exit latency. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b7206cbf024dd43c42f9585e2017db1c1facd566 Author: Kenji Kaneshige Date: Wed Aug 19 11:01:37 2009 +0900 PCI ASPM: support partial aspm enablement In the current implementation, ASPM L0s/L1 is disabled for all links in the hierarchy if one of the link doesn't meet latency requirement. But we can partially enable ASPM L0s/L1 on sub-tree in the hierarchy. This patch allows partial L0s/L1 enablement in the hierarchy. And it also reduce the calculation cost of ASPM configuration very much. In the previous implementation, all links were enabled with the same state. With this patch, enabled state for each link is determined simply as follows (the 'requested' is from policy_to_aspm_state()). enabled = requested & (link->aspm_capable & link->aspm_disable) Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 07d92760d2ee542fe932f4e8b5807dd98481d1fd Author: Kenji Kaneshige Date: Wed Aug 19 11:00:25 2009 +0900 PCI ASPM: introduce capable flag Introduce 'aspm_capable' field to maintain the capable ASPM setting of the link. By the 'aspm_capable', we don't need to recheck latency every time ASPM policy is changed. Each bit in 'aspm_capable' is associated to ASPM state (L0S/L1). The bit is set if the associated ASPM state is supported by the link and it satisfies the latency requirement (i.e. exit latency < endpoint acceptable latency). The 'aspm_capable' is updated when - an endpoint device is added (boot time or hot-plug time) - an endpoint device is removed (hot-unplug time) - PCI power state is changed. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit f1c0ca29ae72bc0c10282eada66c8a792ee98482 Author: Kenji Kaneshige Date: Wed Aug 19 10:59:52 2009 +0900 PCI ASPM: introduce disable flag Introduce 'aspm_disable' flag to manage disabled ASPM state more robust way. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit fc87e919c0ce8e213edf2ffca17f384f059873d3 Author: Kenji Kaneshige Date: Wed Aug 19 10:58:46 2009 +0900 PCI ASPM: fix possible null pointer dereference Fix possible NULL dereference in pcie_aspm_exit_link_state(). This patch also cleanup some code. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 8a339e7321f10dc2f28928ffadb69b6c7c2d5c3b Author: Kenji Kaneshige Date: Wed Aug 19 10:58:09 2009 +0900 PCI ASPM: remove redundant list check Remove the following check in __pcie_aspm_config_link() because it nerver be true. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit b127bd55d9cd9d5b40278b30645669d6d46933bc Author: Kenji Kaneshige Date: Wed Aug 19 10:57:31 2009 +0900 PCI ASPM: do not clear enabled field by support field We must not clear bits in 'aspm_enabled' using 'aspm_support', or 'aspm_enabled' and 'aspm_default' might be different from the actual state. In addtion, 'aspm_default' should be intialized even if 'aspm_support' is 0. Acked-by: Shaohua Li Signed-off-by: Kenji Kaneshige Signed-off-by: Jesse Barnes commit 6f1186be4feb3364d3a52cbea81e43e4d5296196 Author: Alexander Duyck Date: Thu Aug 13 16:57:49 2009 -0700 PCI quirk: update 82576 device ids in SR-IOV quirks list This patch adds the most recent additions to the list of 82576 device IDs to the list of devices needing the SR-IOV quirk. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: Jesse Barnes commit 0737c4e4897ecae4cce3db0cc075efad791e1c21 Author: Tiago Vignatti Date: Sun Aug 16 18:09:36 2009 +0300 PCI/VGA: add VGA arbitration documentation Document the new VGA arbiter. Signed-off-by: Tiago Vignatti Signed-off-by: Jesse Barnes commit 6ac3bd527007eeecb148b67ca47b21731fd8a503 Author: Dave Airlie Date: Wed Aug 19 15:21:57 2009 +1000 PCI/vgaarb: cleanup some warnings + cleanup some comments. Fix some warnings reported in linux-next + also cleanup some comment errors noticed by Pekka Paalanen. Signed-off-by: Dave Airlie Signed-off-by: Jesse Barnes commit 6e19314cc98ab9ccc22c30d1c414984ac6de5ce2 Author: Mike Mason Date: Thu Jul 30 15:42:39 2009 -0700 PCI/powerpc: support PCIe fundamental reset By default, the EEH framework on powerpc does what's known as a "hot reset" during recovery of a PCI Express device. We've found a case where the device needs a "fundamental reset" to recover properly. The current PCI error recovery and EEH frameworks do not support this distinction. The attached patch makes changes to EEH to utilize the new bit field. Signed-off-by: Mike Mason Signed-off-by: Richard Lary Signed-off-by: Jesse Barnes commit fe14acd4e7c8178dfb172c1e7a88356657378128 Author: Mike Mason Date: Thu Jul 30 15:39:29 2009 -0700 PCI: document PCIe fundamental reset interfaces The attached patch updates the Documentation/PCI/pci-error-recovery.txt file with changes related to this new bit field, as well a few unrelated updates. Signed-off-by: Linas Vepstas Signed-off-by: Mike Mason Signed-off-by: Richard Lary Signed-off-by: Jesse Barnes commit 260d703adc5f275e3ba7ddff6e2e0217bc613b35 Author: Mike Mason Date: Thu Jul 30 15:33:21 2009 -0700 PCI: support for PCI Express fundamental reset This is the first of three patches that implement a bit field that PCI Express device drivers can use to indicate they need a fundamental reset during error recovery. By default, the EEH framework on powerpc does what's known as a "hot reset" during recovery of a PCI Express device. We've found a case where the device needs a "fundamental reset" to recover properly. The current PCI error recovery and EEH frameworks do not support this distinction. The attached patch (courtesy of Richard Lary) adds a bit field to pci_dev that indicates whether the device requires a fundamental reset during recovery. These patches supersede the previously submitted patch that implemented a fundamental reset bit field. Signed-off-by: Mike Mason Signed-off-by: Richard Lary Signed-off-by: Jesse Barnes commit deb2d2ecd43dfc51efe71eed7128fda514da96c6 Author: Benjamin Herrenschmidt Date: Tue Aug 11 15:52:06 2009 +1000 PCI/GPU: implement VGA arbitration on Linux Background: Graphic devices are accessed through ranges in I/O or memory space. While most modern devices allow relocation of such ranges, some "Legacy" VGA devices implemented on PCI will typically have the same "hard-decoded" addresses as they did on ISA. For more details see "PCI Bus Binding to IEEE Std 1275-1994 Standard for Boot (Initialization Configuration) Firmware Revision 2.1" Section 7, Legacy Devices. The Resource Access Control (RAC) module inside the X server currently does the task of arbitration when more than one legacy device co-exists on the same machine. But the problem happens when these devices are trying to be accessed by different userspace clients (e.g. two server in parallel). Their address assignments conflict. Therefore an arbitration scheme _outside_ of the X server is needed to control the sharing of these resources. This document introduces the operation of the VGA arbiter implemented for Linux kernel. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Tiago Vignatti Signed-off-by: Dave Airlie Signed-off-by: Jesse Barnes commit 500559a92dd36af7cee95ed2f5b7722fb95a82e7 Author: Hidetoshi Seto Date: Mon Aug 10 10:14:15 2009 +0900 PCI MSI: Style cleanups Cleanups (nearly based on checkpatch). Before: total: 11 errors, 2 warnings, 0 checks, 842 lines checked After: total: 0 errors, 0 warnings, 0 checks, 842 lines checked v2: fix it's/its mistakes in comment Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit d9d7070e6117651ecc8fa0ea60b1ff5b68d4db4f Author: Hidetoshi Seto Date: Thu Aug 6 11:35:48 2009 +0900 PCI MSI: MSI-X cleanup, msix_setup_entries() Cleanup based on the prototype from Matthew Milcox. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 75cb3426878d479f792c751a95f5c75f27b13a2f Author: Hidetoshi Seto Date: Thu Aug 6 11:35:10 2009 +0900 PCI MSI: MSI-X cleanup, msix_program_entries() Cleanup based on the prototype from Matthew Milcox. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 5a05a9d819a328b3aae750237909aa2097adbeec Author: Hidetoshi Seto Date: Thu Aug 6 11:34:34 2009 +0900 PCI MSI: MSI-X cleanup, msix_map_region() Cleanup based on the prototype from Matthew Milcox. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 583871d436bea48cc2204cee0ec8eb7025e03db6 Author: Hidetoshi Seto Date: Thu Aug 6 11:33:39 2009 +0900 PCI MSI: Relocate error path in init_msix_capability() Move it from the middle of the function to the end. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit f56e4481328071d293306a55a951d83639d8d529 Author: Hidetoshi Seto Date: Thu Aug 6 11:32:51 2009 +0900 PCI MSI: Unify msi_free_irqs() and msix_free_all_irqs() Unify msi_free_irqs() and msix_free_all_irqs(), and rename it to a common void function free_msi_irqs(). And relocate the common function to where the prototype is located now. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 9cc8d54815bd5b7c4b516e6be92f036bbcdd8bad Author: Hidetoshi Seto Date: Thu Aug 6 11:32:04 2009 +0900 PCI MSI: Use list_first_entry() use list_first_entry() instead of list_entry(). Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit c901851fddb82529ddcd443d0778b1dee1386a14 Author: Hidetoshi Seto Date: Thu Aug 6 11:31:27 2009 +0900 PCI MSI: Remove attribute check from pci_disable_msi() The msi_list never have MSI-X's msi_desc while MSI is enabled, and also it never have MSI's msi_desc while MSI-X is enabled. This patch remove check for MSI-X entry from the pci_disable_msi(), referring that pci_disable_msix() does not have any check for MSI entry. Reviewed-by: Matthew Wilcox Signed-off-by: Hidetoshi Seto Signed-off-by: Jesse Barnes commit 80286879c209034245f0a28a2171d2ec23b7481c Author: Alex Williamson Date: Thu Jul 30 16:15:18 2009 -0600 PCI iommu: iommu=pt is a valid early param This avoids a "Malformed early option 'iommu'" on boot when trying to use pass-through mode. Signed-off-by: Alex Williamson Signed-off-by: Jesse Barnes commit 1d4a433fc4e9c7dbfc2069a8f1a1f4338b982427 Author: Dave Jones Date: Thu Aug 6 15:13:59 2009 -0400 PCI: Document pci_ids.h addition policy. IDs should generally only be added to pci_ids.h when they're shared across several files in the tree. IDs that are just used by a single driver should be defined in the driver instead. Perhaps documenting this is a good idea to prevent things being moved there, as it still seems to be happening judging from the git log. (based on discussion w/gregkh and others). Acked-by: Greg Kroah-Hartman Signed-off-by: Dave Jones Signed-off-by: Jesse Barnes commit d0b8cbed648334924728642eea879878bc930b33 Author: Yinghai Lu Date: Fri Aug 7 03:53:34 2009 -0700 PCI: print out pref if mmio is prefetchable We already print it out for pci bridges, so also print it out for pci devices. Signed-off-by: Yinghai Lu Signed-off-by: Jesse Barnes commit 6dab62ee5a3bf4f71b8320c09db2e6022a19f40e Author: Tejun Heo Date: Tue Jul 21 16:08:43 2009 -0700 PCI: apply nv_msi_ht_cap_quirk on resume too http://bugzilla.kernel.org/show_bug.cgi?id=12542 reports that with the quirk not applied on resume, msi stops working after resuming and mcp78s ahci fails due to IRQ mis-delivery. Apply it on resume too. Signed-off-by: Tejun Heo Cc: Peer Chen Cc: Tj Reported-by: Nicolas Derive Cc: Greg KH Cc: Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit e8b553bf4b19c6a6d72f5eac3a17c43ac8e68390 Author: Andi Kleen Date: Fri Jul 24 11:41:15 2009 +0200 PCI: disable pci_find_device warnings when deprecated pci functions are enabled Shut off the long standing linux/drivers/pci/search.c:144: warning: 'pci_find_device' is deprecated (declared at linux/drivers/pci/search.c:136) linux/drivers/pci/search.c:144: warning: 'pci_find_device' is deprecated (declared at linux/drivers/pci/search.c:136) warnings that appear on every build when CONFIG_PCI_LEGACY is enabled. gcc warns for the use in EXPORT_SYMBOL I moved these to a separate file and disabled the warning in the Makefile for that file. Signed-off-by: Andi Kleen Signed-off-by: Jesse Barnes commit 6b5096e4d4496e185cd1ada5d1b8e1d941c805ed Author: Jean Delvare Date: Tue Jul 28 11:49:19 2009 +0200 PCI: Unhide the SMBus on the Compaq Evo D510 USDT One more form factor for Compaq Evo D510, which needs the same quirk as the other form factors. Apparently there's no hardware monitoring chip on that one, but SPD EEPROMs, so it's still worth unhiding the SMBus. Signed-off-by: Jean Delvare Tested-by: Nuzhna Pomoshch Signed-off-by: Jesse Barnes commit 711d57796f5ce2d02d6e62c9034afbb16aedda31 Author: Michael S. Tsirkin Date: Mon Jul 27 23:37:48 2009 +0300 PCI: expose function reset capability in sysfs Some devices allow an individual function to be reset without affecting other functions in the same device: that's what pci_reset_function does. For devices that have this support, expose reset attribite in sysfs. This is useful e.g. for virtualization, where a qemu userspace process wants to reset the device when the guest is reset, to emulate machine reboot as closely as possible. Acked-by: Greg Kroah-Hartman Signed-off-by: Michael S. Tsirkin Signed-off-by: Jesse Barnes commit 5228a828ee044834d78abdf25306bf46b19dcc4d Author: Alex Chiang Date: Thu Jul 23 17:03:05 2009 -0600 PCI Hotplug: acpiphp: get pci_bus from acpi handle correctly We cannot simply call acpi_get_pci_dev() on any random ACPI handle and hope that it works, because a PCI root bridge may not have an associated struct pci_dev. This is allowed per the PCI specification, and is referred to as a non-materialized bridge. So, depending on the type of PCI bridge that the handle points to, use the appropriate interface to return the struct pci_bus correctly. Reviewed-by: Bjorn Helgaas Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 76d56de57ae60c6be383e48e7068fd973d5fb08a Author: Alex Chiang Date: Thu Jul 23 17:03:00 2009 -0600 ACPI: export acpi_pci_root and friends We can simplify ACPI drivers if we can tell whether a handle is an ACPI PCI root or not. Reviewed-by: Bjorn Helgaas Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit 2547089ca2db132e307ef68848ba029a8ec2f341 Author: Jesse Barnes Date: Fri Jul 10 14:04:30 2009 -0700 x86/PCI: initialize PCI bus node numbers early The current mp_bus_to_node array is initialized only by AMD specific code, since AMD platforms have registers that can be used for determining mode numbers. On new Intel platforms it's necessary to initialize this array as well though, otherwise all PCI node numbers will be 0, when in fact they should be -1 (indicating that I/O isn't tied to any particular node). So move the mp_bus_to_node code into the common PCI code, and initialize it early with a default value of -1. This may be overridden later by arch code (e.g. the AMD code). With this change, PCI consistent memory and other node specific allocations (e.g. skbuff allocs) should occur on the "current" node. If, for performance reasons, applications want to be bound to specific nodes, they should open their devices only after being pinned to the CPU where they'll run, for maximum locality. Acked-by: Yinghai Lu Tested-by: Jesse Brandeburg Signed-off-by: Jesse Barnes commit eaa959df299157e2640fcb3321537501b6afd9e6 Author: Jesse Barnes Date: Tue Jun 30 21:45:44 2009 -0700 PCI: export pci_claim_resource for driver use yenta needs this for example. Acked-by: Matthew Wilcox Reported-by: Stephen Rothwell Signed-off-by: Jesse Barnes commit 852710d9fd9f2e59fcec65cc701867db4e801bc7 Author: Matthew Wilcox Date: Fri Jun 19 09:36:15 2009 -0400 yenta: Use pci_claim_resource Instead of open-coding pci_find_parent_resource and request_resource, just call pci_claim_resource. Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit eae91c0215d99f7727b66e2928fb73bf86bc9668 Author: Matthew Wilcox Date: Fri Jun 19 09:36:13 2009 -0400 frv/PCI: Use pci_claim_resource Instead of open-coding pci_find_parent_resource and request_resource, just call pci_claim_resource. Acked-by: David Howells Signed-off-by: Matthew Wilcox Signed-off-by: Jesse Barnes commit a7db50405216610c8a0d62b8b400180b6f366733 Author: Alex Chiang Date: Mon Jun 22 08:08:07 2009 -0600 PCI: remove pcibios_scan_all_fns() This was #define'd as 0 on all platforms, so let's get rid of it. This change makes pci_scan_slot() slightly easier to read. Cc: Yoshinori Sato Cc: Tony Luck Cc: David Howells Cc: "David S. Miller" Cc: Jeff Dike Cc: Ingo Molnar Cc: Ivan Kokshaysky Reviewed-by: Matthew Wilcox Acked-by: Russell King Acked-by: Ralf Baechle Acked-by: Kyle McMartin Acked-by: Benjamin Herrenschmidt Acked-by: Paul Mundt Acked-by: Arnd Bergmann Signed-off-by: Alex Chiang Signed-off-by: Jesse Barnes commit cb58160e72244a23f4e0cf4d6f81ffbd131fcd51 Author: Steve Wise Date: Wed Sep 9 11:37:38 2009 -0700 RDMA/iwcm: Reject the connection when the cm_id is destroyed If the cm_id of a connect request is destroyed prior to the ULP accepting or rejecting the connection, then the provider never cleans up the connection. The iwcm should explicitly reject these connections if the cm_id is destroyed. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit ffc40c6433e763209d2b1ec5b1a9854eb3bcd61c Author: Steve Wise Date: Wed Sep 9 11:25:56 2009 -0700 RDMA/cxgb3: Clean up properly on FW mismatch failures FW mismatches can cause a crash in the iw_cxgb3 event handler. - NULL the t3cdev->ulp pointer on failures in cxio_rdev_open() - Silently ignore events when the ulp ptr is NULL in iwch_err_handler() Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 13a239330abdda5afcb1161fce68ec214af2cc90 Author: Steve Wise Date: Wed Sep 9 11:25:55 2009 -0700 RDMA/cxgb3: Don't ignore insert_handle() failures Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 61cbe54d9479ad98283b2dda686deae4c34b2d59 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Keep kthreads at default priority Removes kthread/workqueue priority boost, they increase worst-case desktop latencies. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 172e082a9111ea504ee34cbba26284a5ebdc53a7 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Re-tune the scheduler latency defaults to decrease worst-case latencies Reduce the latency target from 20 msecs to 5 msecs. Why? Larger latencies increase spread, which is good for scaling, but bad for worst case latency. We still have the ilog(nr_cpus) rule to scale up on bigger server boxes. Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 2bba22c50b06abe9fd0d23933b1e64d35b419262 Author: Mike Galbraith Date: Wed Sep 9 15:41:37 2009 +0200 sched: Turn off child_runs_first Set child_runs_first default to off. It hurts 'optimal' make -j workloads as make jobs get preempted by child tasks, reducing parallelism. Note, this patch might make existing races in user applications more prominent than before - so breakages might be bisected to this commit. Child-runs-first is broken on SMP to begin with, and we already had it off briefly in v2.6.23 so most of the offenders ought to be fixed. Would be nice not to revert this commit but fix those apps finally ... Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: <1252486344.28645.18.camel@marge.simson.net> [ made the sysctl independent of CONFIG_SCHED_DEBUG, in case people want to work around broken apps. ] Signed-off-by: Ingo Molnar commit b2e3abdc708f8c0eff194af25362fdb239abe241 Author: Holger Schurig Date: Wed Sep 9 13:09:54 2009 +0200 cfg80211: allow scanning on specified frequencies when using wext-compatibility Handles the case when SIOCSIWSCAN specified iw_scan_req.num_channels and iw_scan_req.channels[]. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 8c8f9ba7051b017e44124666b41c1dc70333a77c Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:52 2009 +0530 ath9k: Initialize the priority gpio for BT coex 3-wire Oops, a stupid mistake in the original patch which adds coex 3-wire support. Bluetooth priority gpio needs to be gpio 7. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f42cc2c2909f24faa1381ae139067edeba8c796d Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:51 2009 +0530 ath9k: Get rid of the modparam btcoex_enable Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit fe12946e66575677879941a14f75b70ca2d2962a Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:50 2009 +0530 ath9k: Enable btcoex based on the subsystem id of the device Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit aeac355d23fb13a2082a8740ae7cf9408a71ec2c Author: Vasanthakumar Thiagarajan Date: Wed Sep 9 15:25:49 2009 +0530 ath9k: Store subsystem id in struct hw_version This subsystem id will be used later to turn on the btcoex support. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4d8cd26849737e141ff0aa23fedacef4ea76ea4f Author: Luis R. Rodriguez Date: Tue Sep 8 12:09:47 2009 -0700 wireless: mark prism54 as deprecated and mark for removal The preferred module is p54pci which also supports FullMAC PCI / Cardbus devices. We schedule removal for 2.6.34. Reason to remove this is no one really is testing prism54 anymore, and while it works p54pci provides support for the same hardware. It should be noted I have been told some FullMAC devices may not have worked with the SoftMAC driver but to date we have yet to recieve a single bug report regarding this. If there are users out there please let us know! Cc: aquilaver@yahoo.com Cc: linux-kernel@vger.kernel.org Cc: Dan Williams Cc: Kai Engert Cc: Jean Tourrilhes Cc: Tim de Waal Cc: Roy Marples Cc: Alan Cox Cc: Christian Lamparter Cc: Björn Steinbrink Cc: Tim Gardner Cc: Larry Finger Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 98a1e2a9260d30ad691fbd1ed778a05e38fe655b Author: Michael Buesch Date: Tue Sep 8 19:33:31 2009 +0200 b44/b43/b43legacy: Fix switch warnings introduced by SSB-SDIO This fixes some gcc warnings for switch statements. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 24ea602e183ca20a7577ebe253323d0e5d0f9847 Author: Albert Herranz Date: Tue Sep 8 19:30:12 2009 +0200 ssb: Implement SDIO host bus support Add support for communicating with a Sonics Silicon Backplane through a SDIO interface, as found in the Nintendo Wii WLAN daughter card. The Nintendo Wii WLAN card includes a custom Broadcom 4318 chip with a SDIO host interface. Signed-off-by: Albert Herranz Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f020979d5d7c9816c071d0aedf60a889fa4fae40 Author: Vasanthakumar Thiagarajan Date: Mon Sep 7 17:46:50 2009 +0530 ath9k: Remove unnecessary casting to u8 in pci_read_config_byte() call Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 7b6840ab5f836a18c4ea98173f73c8d046930efb Author: Vasanthakumar Thiagarajan Date: Mon Sep 7 17:46:49 2009 +0530 ath9k: Disable ASPM when btcoex is active Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 72c706b775777e8ae546756a5d07ffda4a05ed7b Author: Joe Perches Date: Mon Sep 7 11:34:30 2009 -0700 MAINTAINERS: Add Atheros Linux wireless drivers home page On Sun, 2009-09-06 at 12:26 -0700, Luis R. Rodriguez wrote: > On Sun, Sep 6, 2009 at 10:59 AM, Joe Perches wrote: > > On Thu, 2009-09-03 at 15:54 -0700, Luis R. Rodriguez wrote: > >> I'm pleased to announce the new home page to Atheros Linux wireless drivers: > >> http://wireless.kernel.org/en/users/Drivers/Atheros > > Perhaps add this to MAINTAINERS? > Fine by me, except ath5k and ath9k also have their own respective page > so those can also be added. (cc's trimmed and maintainers added) Perhaps this instead: Signed-off-by: Joe Perches Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cde1b55b43b71cabb1a94278a809bca21b9df791 Author: Michael Buesch Date: Sun Sep 6 16:18:58 2009 +0200 b43: Fix sparse warning in hw-tkip code This fixes a sparse warning in the hardware-TKIP code: drivers/net/wireless/b43/xmit.c:272:18: warning: incorrect type in assignment (different base types) drivers/net/wireless/b43/xmit.c:272:18: expected unsigned short [unsigned] [short] drivers/net/wireless/b43/xmit.c:272:18: got restricted unsigned short [usertype] The code should work correctly with and without this patch applied. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit b0544eb6019a33e836141156a8fbe74a9f8367b4 Author: Michael Buesch Date: Sun Sep 6 15:42:45 2009 +0200 b43: Really disable QoS, if requested Currently, when QoS-disable is requested, we would leave QoS enabled in firmware, but only queue frames on one queue. Change that and also tell firmware about disabled QoS, so it completely ignores all the QoS parameters. Also don't upload the parameters, if QoS is disabled. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 4789666e13fb0b2d45feb1b4a5119a1b997ec84c Author: Ivo van Doorn Date: Sun Sep 6 15:14:23 2009 +0200 rt2x00: Hardcode TX ack timeout and consume time The calculated values for the ACK timeout and ACK consume time are different then the values as used by the Legacy drivers. After testing from James Ledwith it appeared that the calculated values caused a high amount of TX failures, and the values from the Legacy drivers were the most optimal to prevent TX failure due to excessive retries. The symptoms of this problem: - Rate control module always falls back to 1Mbs - Low throughput when bitrate was fixed Possible side-effects (not confirmed but highly likely) - Problems with DHCP - Broken connections due to lack of probe response This should fix at least: Kernel bugzilla reports: [13362], [13009], [9273] Fedora bugzilla reports: [443203] but possible some additional bugs as well. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2b88f7c535a8125213def012a67c1b0a667ceb2e Author: Steven Whitehouse Date: Wed Sep 9 15:59:35 2009 +0100 GFS2: Remove unused sysfs file The /sys/fs/gfs2//lock_module/id file has been unused for some time now, so we can remove it. We still accept the mount option though, as userspace still sends that. Signed-off-by: Steven Whitehouse commit fa1a9c681377c57e233038e50479e7d7a5cc3108 Author: Alexey Dobriyan Date: Wed Sep 9 03:43:50 2009 -0700 headers: net/ipv[46]/protocol.c header trim Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 5d5d9c97ff807b643b6c2284dea7fe04ecc74355 Author: Tushar Gohad Date: Wed Sep 9 03:42:23 2009 -0700 IPv6/addrconf: Fix minor addrlabel thinko Fix apparent thinko related to RTM_DELADDRLABEL, introduced by commit 2a8cc6c89039e0530a3335954253b76ed0f9339a ("[IPV6] ADDRCONF: Support RFC3484 configurable address selection policy table."). Signed-off-by: Tushar Gohad Signed-off-by: David S. Miller commit 6f0e013548fd15fddb952f657a3cc81282641191 Author: Tobias Klauser Date: Wed Sep 9 01:41:30 2009 -0700 niu: Use resource_size instead of private function The function res_size in drivers/net/niu.c is a copy of resource_size in linux/ioport.h. Remove the function and use resource_size instead. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 733e5e4b4eb1bc1e27acbe092200154051171426 Author: David Howells Date: Wed Sep 9 08:30:21 2009 +0100 KEYS: Add missing linux/tracehook.h #inclusions Add #inclusions of linux/tracehook.h to those arch files that had the tracehook call for TIF_NOTIFY_RESUME added when support for that flag was added to that arch. Signed-off-by: David Howells Signed-off-by: James Morris commit d89be56b2153ccad7e8cd9e71b5d8b686632e8c2 Author: David S. Miller Date: Tue Sep 8 23:29:16 2009 -0700 sparc64: Make touch_nmi_watchdog() actually work. It guards it's actions on nmi_watchdog_active, but nothing ever sets that and it's initial value is zero. Signed-off-by: David S. Miller commit 4e85f5915dedb7c852c1e1189aa4133c87798a5e Author: David S. Miller Date: Tue Sep 8 23:20:39 2009 -0700 sparc64: Kill unnecessary cast in profile_timer_exceptions_notify(). Signed-off-by: David S. Miller commit a8f22264550e64c0cd11fb6647284b0bd6407f9c Author: David S. Miller Date: Tue Sep 8 23:16:06 2009 -0700 sparc64: Manage NMI watchdog enabling like x86. Use a per-cpu 'wd_enabled' boolean and a global atomic_t count of watchdog NMI enabled cpus which is set to '-1' if something is wrong with the watchdog and it can't be used. Signed-off-by: David S. Miller commit 682f88ab74e55dae55ea3bf30b46f56f71b793bd Author: Paul Mundt Date: Wed Sep 9 13:19:46 2009 +0900 sh: Cleanup whitespace damage in sh4_flush_icache_range(). There was quite a lot of tab->space damage done here from a former patch, clean it up once and for all. Signed-off-by: Paul Mundt commit 1043bf5c95cf065c9959c2733d6e868f9806eb66 Author: Paul Mundt Date: Wed Sep 9 12:13:01 2009 +0900 rtc: rtc-sh: Fix up oops in early periodic freq assignment. With the reordered init order, the rtc device is not registered until later, while sh_rtc_irq_set_freq() was attempting to assign ->irq_freq directly, resulting in an oops. This is handled by the upper layers for us, so just kill off the problematic dereference completely. Reported-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit c9766237afa92e8d7f27bbcd4964f1b43fa0bce8 Author: Bob Moore Date: Fri Sep 4 08:56:17 2009 +0800 ACPICA: Update version to 20090903. Version 20090903. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 9e64155eb1b6ab78980db58cfd21385fa5f6b024 Author: Bob Moore Date: Thu Sep 3 10:21:03 2009 +0800 ACPICA: Windows compatibility: autoexecute root _INI method Add support for execution of an _INI method at the namespace root. Although not defined in the ACPI specification, this support was added to Windows around the Vista timeframe. It is added here for Windows compatibility. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit eb752552464dbb7a99f8a975ec3b9355893cedd4 Author: Bob Moore Date: Thu Sep 3 10:05:08 2009 +0800 ACPICA: Update _OSI with new Windows OS strings Added strings for Windows server 2008, Windows Vista SP1, Windows 7, and Windows server 2008 R2. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit e3fe0913b8e732ae636cf23afca76cf2c30718e5 Author: Bob Moore Date: Thu Sep 3 10:03:37 2009 +0800 ACPICA: Fix memory leak for ill-formed Package objects Fixes a possible memory leak in the interpreter for package objects if the package initializer list is longer than the defined size of the package. This apparently can only happen if the BIOS changes the package size on the fly (seen in a _PSS object), as both iASL and the other compiler do not allow this. The interpreter will truncate the package to the defined size (and issue an error message), but can leave the extra objects undeleted if they have been pre-created during the argument processing (such is the case if the package consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805. http://www.acpica.org/bugzilla/show_bug.cgi?id=805 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit e678902ee899f6b0ab48166b410cdc9f1c27a350 Author: Bob Moore Date: Thu Sep 3 09:58:14 2009 +0800 ACPICA: Remove error message for Store(Localx,Localx) We silently ignore this construct for Windows compatibility ACPICA BZ 785. http://www.acpica.org/bugzilla/show_bug.cgi?id=785 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 307a042416dfc2216251a85b79e8578b65fdc0e7 Author: Bob Moore Date: Thu Sep 3 09:55:40 2009 +0800 ACPICA: Fix extraneous warning if _DSM returns a package _DSM can return any type of object, so validation on the return type cannot be performed. ACPICA BZ 802. http://www.acpica.org/bugzilla/show_bug.cgi?id=802 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit f90f613c3ed7381209de8aa36458442b5130170b Author: Ashish Kalra Date: Wed Jul 29 21:15:49 2009 +0530 sata_fsl: Defer non-ncq commands when ncq commands active Fix for non-ncq & ncq commands causing timeouts when both are issued simultaneously to the same device. Signed-off-by: Ashish Kalra [fixed to be actual compileable C code -jg] Signed-off-by: Jeff Garzik commit deeb003e5e01c0db02bb68fd9c93faf75ab9002d Author: Shane Huang Date: Tue Sep 8 17:37:01 2009 +0800 libata: add SATA PMP revision information for spec 1.2 This small patch is just adding the information for PMP spec 1.2 Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit ac8672ea922bde59acf50eaa1eaa1640a6395fd2 Author: Tejun Heo Date: Sun Aug 16 21:21:21 2009 +0900 libata: fix off-by-one error in ata_tf_read_block() ata_tf_read_block() has off-by-one error when converting CHS address to LBA. The bug isn't very visible because ata_tf_read_block() is used only when generating sense data for a failed RW command and CHS addressing isn't used too often these days. This problem was spotted by Atsushi Nemoto. Signed-off-by: Tejun Heo Reported-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit 1b549dcbf607e88f3016bc149109472a46fe7bbb Author: Tejun Heo Date: Sun Aug 16 21:06:57 2009 +0900 ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA Gigabyte GA-MA69VM-S2 can't do 64bit DMA either. It's yet unknown whether recent BIOS fixes the problem. Blacklist regardless of BIOS revisions for now. Sandor Bodo-Merle reported and provided the initial patch for this issue. Signed-off-by: Tejun Heo Reported-by: Sandor Bodo-Merle Cc: Shane Huang Signed-off-by: Jeff Garzik commit 03d783bf5573ff316a8c703eed811a9a97901a8b Author: Tejun Heo Date: Sun Aug 16 21:04:02 2009 +0900 ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic It turns out ASUS M2A-VM isn't the only one with the 32bit DMA problem. Make ahci_asus_m2a_vm_32bit_only() more generic using the new dmi_get_date() and rename it to ahci_sb600_32bit_only(). Cut off date is now pointed to by dmi_system_id->driver_data in "yyyymmdd" format and it's now also allowed to be omitted. Signed-off-by: Tejun Heo Cc: Sandor Bodo-Merle Cc: Shane Huang Signed-off-by: Jeff Garzik commit 3e5cd1f2576c720f1d0705fdd7ba64f27e8836b7 Author: Tejun Heo Date: Sun Aug 16 21:02:36 2009 +0900 dmi: extend dmi_get_year() to dmi_get_date() There are cases where full date information is required instead of just the year. Add month and day parsing to dmi_get_year() and rename it to dmi_get_date(). As the original function only required '/' followed by any number of parseable characters at the end of the string, keep that behavior to avoid upsetting existing users. The new function takes dates of format [mm[/dd]]/yy[yy]. Year, month and date are checked to be in the ranges of [1-9999], [1-12] and [1-31] respectively and any invalid or out-of-range component is returned as zero. The dummy implementation is updated accordingly but the return value is updated to indicate field not found which is consistent with how other dummy functions behave. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 02c24fa87724bb3af969463cd74dc3b3feb24740 Author: Tejun Heo Date: Sun Aug 16 21:01:22 2009 +0900 dmi: fix date handling in dmi_get_year() Year parsing in dmi_get_year() had the following two bugs. * "00" is treated as invalid instead of 2000 because zero return from simple_strtoul() is treated as error. * "0N" where N >= 8 is treated as invalid of 200N because the leading 0 is considered to specify octal. Fix the above two bugs by using endptr to detect invalid number and forcing decimal. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit bd30add88cea831dfb854d564478f09ee66206b5 Author: Tejun Heo Date: Thu Sep 3 16:08:11 2009 +0900 libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru() ata_scsi_pass_thru() was checking for input sanity and disallowed commands while initializaing qc from scmd. TPM filtering was added right after protocol check at which point tf wasn't initialized properly. This means that TPM filtering has never really worked. This patch fixes the bug by reorganizing ata_scsi_pass_thru() such that qc is fully initialized before checking for invalid conditions which is way less error prone. Discovered while Thilo-Alexander Ginkel was trying debug patches for bko#13416. Signed-off-by: Tejun Heo Cc: Thilo-Alexander Ginkel Signed-off-by: Jeff Garzik commit 72fee3823d2938fa98f2f3113301f46803f4c711 Author: Tejun Heo Date: Tue Sep 1 23:19:10 2009 +0900 sata_sis: convert to slave_link During introduction of slave_link, sata_sis slipped through the crack and left with ad-hoc merged SCR access. As SCR status was shared for both the master and slave devices, when only one of the device is online, libata EH would think both are online but would only get valid device signature for the actually present one, which in turn trigger the probing safety net mechanism and make EH retry causing large delay during boot. This patch converts sata_sis to slave_link mechanism. This bug was reported by TAXI in bko#14075. http://bugzilla.kernel.org/show_bug.cgi?id=14075 Signed-off-by: Tejun Heo Reported-by: TAXI Cc: Uwe Koziolek Signed-off-by: Jeff Garzik commit 2ecda72b49a0849ce41e7fa1fa974a245b9119f8 Author: Trond Myklebust Date: Tue Sep 8 19:50:07 2009 -0400 NFSv4: Disallow 'mount -t nfs4 -overs=2' and 'mount -t nfs4 -overs=3' Signed-off-by: Trond Myklebust commit 764302ccb88dd0df062eccd507b6c6de24f1c560 Author: Chuck Lever Date: Tue Sep 8 19:50:03 2009 -0400 NFS: Allow the "nfs" file system type to support NFSv4 When mounting an "nfs" type file system, recognize "v4," "vers=4," or "nfsvers=4" mount options, and convert the file system to "nfs4" under the covers. Signed-off-by: Chuck Lever [trondmy: fixed up binary mount code so it sets the 'version' field too] Signed-off-by: Trond Myklebust commit a6fe23be90aa78783523a25330e09bfaa43a1581 Author: Chuck Lever Date: Tue Sep 8 19:50:00 2009 -0400 NFS: Move details of nfs4_get_sb() to a helper Clean up: Refactor nfs4_get_sb() to allow its guts to be invoked by nfs_get_sb(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7630c852e19c7fffb85b50d98eeb5516fec7c088 Author: Chuck Lever Date: Tue Sep 8 19:49:57 2009 -0400 NFS: Refactor NFSv4 text-based mount option validation Clean up: Refactor the part of nfs4_validate_mount_options() that handles text-based options, so we can call it from the NFSv2/v3 option validation function. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4cfd74fc99a41fdc161f243e1c16199656d33ab1 Author: Chuck Lever Date: Tue Sep 8 19:49:47 2009 -0400 NFS: Mount option parser should detect missing "port=" The meaning of not specifying the "port=" mount option is different for "-t nfs" and "-t nfs4" mounts. The default port value for NFSv2/v3 mounts is 0, but the default for NFSv4 mounts is 2049. To support "-t nfs -o vers=4", the mount option parser must detect when "port=" is missing so that the correct default port value can be set depending on which NFS version is requested. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit dbab8360ed8abca38121109feab47c4bea895994 Author: Harshula Jayasuriya Date: Tue Sep 8 19:49:33 2009 -0400 NFS: out of date comment regarding O_EXCL above nfs3_proc_create() Hi Trond, Recently we were observing the behaviour difference between a 2.4.x and 2.6.x kernel with respect to O_EXCL. A comment from 2.4.x era, "For now, we don't implement O_EXCL." seems inaccurate in TOT. If so, here's a patch to remove the comment. This patch is against: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Signed-off-by: Harshula Jayasuriya Signed-off-by: Trond Myklebust commit cecc6b63a5de547a345c491bb4c18c01a15984a4 Author: Alex Deucher Date: Tue Sep 8 14:45:05 2009 -0400 drm/radeon/r600: use fence->timeout directly Fixes fence timeouts on r6xx/r7xx. Noticed by taiu on IRC. Signed-off-by: Alex Deucher commit fd413da852991e96c555ad7253cc481bc133e221 Author: Michael Buesch Date: Sun Sep 6 14:49:43 2009 +0200 b43: PCMCIA is not experimental anymore PCMCIA support works well and is not experimental anymore. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit fea6734a0e444c31c99a1271154bb0281d7908d8 Author: Joerg Albert Date: Sat Sep 5 16:07:47 2009 +0200 ath,ar9170: implemented conformance test limit calc. for tx power apply the conformance test limits (CTL) stored in the eeprom upon the values calculated for the tx power (ar->power_*). This is based on the implementation in the vendor driver (hal/hpmain.c, line 3700 ff.) with one difference: If any ctl mode isn't found in the eeprom, we fall back to the "lower", legacy modes (5GHT20,11A or 2GHT20,11G,11B). Otus only did 5GHT20->11A. Currently CTL are applied for the FCC group only. Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 7f42c37aa676825fea329a7bec2fefe51033b3e9 Author: Joerg Albert Date: Sat Sep 5 16:07:43 2009 +0200 ath,ar9170: move CTL_ defines into regd.h The ar9170 driver needs the defines for conformance test limit groups and cannot include regd_common.h Signed-off-by: Joerg Albert Acked-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e6c463e3a3d067f5da2c79d5acdb2f626754cdb3 Author: Michael Buesch Date: Sat Sep 5 11:18:47 2009 +0200 ssb: Fail ssb modinit, if attach of the buses failed. SSB modinit should not succeed, if busattach failed. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 69eddc8a37a33479205ac3a3d8575fad1466da90 Author: Michael Buesch Date: Fri Sep 4 22:57:26 2009 +0200 b43: remove SHM spinlock This removes the SHM spinlock. SHM is protected by wl->mutex. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 77ca07ffe1797a0f2f41aa4997c9a5ae433a0be8 Author: Michael Buesch Date: Fri Sep 4 22:56:19 2009 +0200 b43: Remove PIO RX workqueue This removes the PIO RX work. It's not needed anymore, because we can sleep in the threaded interrupt handler. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 637dae3f637eb7dab447e74362e0dfeded775c7c Author: Michael Buesch Date: Fri Sep 4 22:55:00 2009 +0200 b43: Remove DMA/PIO queue locks This removes the DMA/PIO queue locks. Locking is handled by wl->mutex now. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit f5d40eedb32aa9a0e226d468e1f89fb676824694 Author: Michael Buesch Date: Fri Sep 4 22:53:18 2009 +0200 b43: Remove TX spinlock This removes the TX spinlock and defers TX to a workqueue to allow locking wl->mutex instead and to allow sleeping for register accesses. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit 36dbd9548e92268127b0c31b0e121e63e9207108 Author: Michael Buesch Date: Fri Sep 4 22:51:29 2009 +0200 b43: Use a threaded IRQ handler Use a threaded IRQ handler to allow locking the mutex and sleeping while executing an interrupt. This removes usage of the irq_lock spinlock, but introduces a new hardirq_lock, which is _only_ used for the PCI/SSB lowlevel hard-irq handler. Sleeping busses (SDIO) will use mutex instead. Signed-off-by: Michael Buesch Tested-by: Larry Finger Signed-off-by: John W. Linville commit b275f28535fc774325bb8ad5f664e6c44a8fbc9b Author: Luis R. Rodriguez Date: Tue Sep 1 08:53:49 2009 -0700 wireless: update cfg80211 kconfig entry cfg80211 is now *the* wireless configuration API. Lets also give a little explanation as to what it is and refer people to the wireless wiki for more information. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d9c35a506ed7770301f705a9070e05f0c5fae4bd Author: Christian Lamparter Date: Thu Sep 3 20:25:31 2009 +0200 ar9170: implement frequency calibration for one-stage/openfw This patch ports some code from the vendor driver, which is supposed to upload the right calibration values for the chosen frequency. In theory, this should give a better range and throughput for all users with the open, or one-stage firmware. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 8813262ea79acf9daa0e03901bdfe93db4dc4ca5 Author: Sujith Date: Thu Sep 3 12:08:53 2009 +0530 ath9k: Fix channelFlags for 2GHZ CHANNEL_G has to be set for 2GHZ channels since IS_CHAN_G() checks for this in channelFlags and not in chanmode. To make things messier, ath9k_hw_process_ini() checks for CHANNEL_G in chanmode and not in channelFlags. The supreme, brain-searing fix is to set the flag in both cases. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7ea310be65bfcbc6e2395844fd3498762dc2aea6 Author: Sujith Date: Thu Sep 3 12:08:43 2009 +0530 ath9k: Fix RX Filter handling for BAR BAR frames have to be sent to mac80211 only if the current channel is HT. Also, move the macro to enum ath9k_rx_filter. Signed-off-by: Sujith Signed-off-by: John W. Linville commit fc548af877374f7e26c4f670f3843c6d29e02a98 Author: Luis R. Rodriguez Date: Wed Sep 2 17:06:21 2009 -0700 ath9k: claim irq for ath9k, not ath for pci ath9k ahb requests an IRQ and indicates 'ath9k' claimed it, ath9k pci requests an IRQ and indicates 'ath' claims it; since 'ath' is another module sync both ahb and pci to claim the irq using 'ath9k'. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 580171f7cd08687cdf1b263aabb35608b3c37433 Author: Luis R. Rodriguez Date: Wed Sep 2 17:02:18 2009 -0700 ath9k: propagate errors on ath_init_device() and request_irq() We've cleaned up ath_init_device() and its children enough to pass meaninful errors back from probe. When this fails it means our device could not be initialized and a meaninful error will have been passed. Do the same for request_irq() and also synchronize the error messages while at it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit db6be53cbaf118fdad5bdca211a19ca5354c9462 Author: Luis R. Rodriguez Date: Wed Sep 2 16:34:57 2009 -0700 ath9k: propagate ieee80211_alloc_hw() failure The -ENOMEM was never being passed on failure. While at it use dev_err() as ahb does upon failure. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5c630ce7e6cb144a29fd5a993363f4928fb4b890 Author: Joerg Albert Date: Thu Sep 3 01:02:59 2009 +0200 ar9170: added phy register initialisation from eeprom values This patch adds the initialisation of some PHY registers from the modal_header[] values in the EEPROM (see otus/hal/hpmain.c, line 333 ff.) Signed-off-by: Joerg Albert Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 4abf27add86e5b7c37dca1fb4dd9a740b4332a84 Merge: 29c0846 5478267 Author: Russell King Date: Tue Sep 8 21:21:15 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel-stable commit 60d15f551abdbc5fef70d85f55aac1e85950bf59 Author: Alex Deucher Date: Tue Sep 8 14:22:45 2009 -0400 drm/radeon/kms: re-apply 2007d633d639c896396e4c4b53b38068f3831307 Got accidently reverted by c93bb85b5cba3e3a06f2cad8e9bc5c23d3d10aac Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit cdc65fbe18aef15e92d2ebb410a189fbf956fb06 Author: Manuel Lauss Date: Tue Sep 8 19:45:17 2009 +0200 ASoC: au1x: PSC-AC97 bugfixes This patch fixes the following bugs: - only reprogram bitdepth if it has changed since last call to hw_params. - add locking inside ac97_read/write functions: When reprogramming sample depth, the ac97 unit has to be disabled, which should not be done in the middle of codec register accesses. - retry timed-out codec register accesses. - wait for status bits to set/clear when starting/stopping various functional blocks; very important after reenabling AC97 unit else sound may be distorted (e.g. high-pitch noise in 1kHz sine wave). - clear fifos before/after starting/stopping RX/TX. - longer timeouts waiting for PSC/AC97 ready after cold reset with certain codecs this can take ridiculous amounts of time. Run-tested on various Au1200 platforms with various codecs. Signed-off-by: Manuel Lauss Signed-off-by: Mark Brown commit 54782674084ed9dc829050a8c18298db6847679d Author: Simon Guinot Date: Tue Jun 23 13:54:35 2009 +0200 [ARM] orion5x: Add LaCie NAS 2Big Network support This patch add support for the 2Big Network LaCie boards. Signed-off-by: Simon Guinot Signed-off-by: Nicolas Pitre commit 18f4c644773bc8de1fd9c5182b30c231aafb94ef Author: Linus Torvalds Date: Fri Aug 28 12:29:03 2009 -0700 jffs2/jfs/xfs: switch over to 'check_acl' rather than 'permission()' This avoids an indirect call in the VFS for each path component lookup. Well, at least as long as you own the directory in question, and the ACL check is unnecessary. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit 1d5ccd1c422d7d292a9e45248aa36771900c6331 Author: Linus Torvalds Date: Fri Aug 28 12:12:24 2009 -0700 ext[234]: move over to 'check_acl' permission model Don't implement per-filesystem 'extX_permission()' functions that have to be called for every path component operation, and instead just expose the actual ACL checking so that the VFS layer can now do it for us. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit 6d848a488ad83cc3891bb274691118f45ce6aab9 Author: Linus Torvalds Date: Fri Aug 28 12:04:28 2009 -0700 shmfs: use 'check_acl' instead of 'permission' shmfs wants purely standard POSIX ACL semantics, so we can use the new generic VFS layer POSIX ACL checking rather than cooking our own 'permission()' function. Reviewed-by: James Morris Acked-by: Serge Hallyn Acked-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 5909ccaa300a4a834ffa275327af4df0b9cb5295 Author: Linus Torvalds Date: Fri Aug 28 11:51:25 2009 -0700 Make 'check_acl()' a first-class filesystem op This is stage one in flattening out the callchains for the common permission testing. Rather than have most filesystem implement their own inode->i_op->permission function that just calls back down to the VFS layers 'generic_permission()' with the per-filesystem ACL checking function, the filesystem can just expose its 'check_acl' function directly, and let the VFS layer do everything for it. This is all just preparatory - no filesystem actually enables this yet. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit cb9179ead0aa0e3b7b4087cdba59baf16bbeef6d Author: Linus Torvalds Date: Fri Aug 28 11:08:31 2009 -0700 Simplify exec_permission_lite(), part 3 Don't call down to the generic inode_permission() function just to call the inode-specific permission function - just do it directly. The generic inode_permission() code does things like checking MAY_WRITE and devcgroup_inode_permission(), neither of which are relevant for the light pathname walk permission checks (we always do just MAY_EXEC, and the inode is never a special device). Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit f1ac9f6bfea6f21e8ab6dbbe46879d62a6fba8c0 Author: Linus Torvalds Date: Fri Aug 28 10:53:56 2009 -0700 Simplify exec_permission_lite() further This function is only called for path components that are already known to be directories (they have a '->lookup' method). So don't bother doing that whole S_ISDIR() testing, the whole point of the 'lite()' version is that we know that we are looking at a directory component, and that we're only checking name lookup permission. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit b7a437b08a44a3ed7e3a052eb39d2c5f618b603b Author: Linus Torvalds Date: Fri Aug 28 10:50:37 2009 -0700 Simplify exec_permission_lite() logic Instead of returning EAGAIN and having the caller do something special for that case, just do the special case directly. Reviewed-by: James Morris Acked-by: Serge Hallyn Signed-off-by: Linus Torvalds commit e8e66ed25b5cbeebed69c475f6c108e52078a3b3 Author: Linus Torvalds Date: Fri Aug 28 10:05:33 2009 -0700 Do not call 'ima_path_check()' for each path component Not only is that a supremely timing-critical path, but it's hopefully some day going to be lockless for the common case, and ima can't do that. Plus the integrity code doesn't even care about non-regular files, so it was always a total waste of time and effort. Acked-by: Serge Hallyn Acked-by: Mimi Zohar Signed-off-by: Linus Torvalds commit acf7e2444acfaf4c8540603b76d71010eea3fc24 Author: Steven Whitehouse Date: Tue Sep 8 18:00:30 2009 +0100 GFS2: Be extra careful about deallocating inodes There is a potential race in the inode deallocation code if two nodes try to deallocate the same inode at the same time. Most of the issue is solved by the iopen locking. There is still a small window which is not covered by the iopen lock. This patches fixes that and also makes the deallocation code more robust in the face of any errors in the rgrp bitmaps, or erroneous iopen callbacks from other nodes. This does introduce one extra disk read, but that is generally not an issue since its the same block that must be written to later in the deallocation process. The total disk accesses therefore stay the same, Signed-off-by: Steven Whitehouse commit 7eb0d5e5be4e312d5368896744476cc705b3d7e7 Author: Luis R. Rodriguez Date: Tue Sep 8 17:31:45 2009 +0100 kmemleak: fix sparse warning for static declarations This fixes these sparse warnings: mm/kmemleak.c:1179:6: warning: symbol 'start_scan_thread' was not declared. Should it be static? mm/kmemleak.c:1194:6: warning: symbol 'stop_scan_thread' was not declared. Should it be static? Acked-by: Pekka Enberg Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 0580a1819c584eb8b98f8701157667037e11153a Author: Luis R. Rodriguez Date: Tue Sep 8 17:32:34 2009 +0100 kmemleak: fix sparse warning over overshadowed flags A secondary irq_save is not required as a locking before it was already disabling irqs. This fixes this sparse warning: mm/kmemleak.c:512:31: warning: symbol 'flags' shadows an earlier one mm/kmemleak.c:448:23: originally declared here Signed-off-by: Luis R. Rodriguez Acked-by: Pekka Enberg Signed-off-by: Catalin Marinas commit a1084c8779f5efa771c6896a0a4184900b4ab736 Author: Luis R. Rodriguez Date: Fri Sep 4 17:44:52 2009 -0700 kmemleak: move common painting code together When painting grey or black we do the same thing, bring this together into a helper and identify coloring grey or black explicitly with defines. This makes this a little easier to read. Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit b888d1ce82ebd2bafecf64c765754968e78b4228 Author: Takashi Iwai Date: Tue Sep 8 18:15:17 2009 +0200 ALSA: dummy - Increase MAX_PCM_SUBSTREAMS to 128 Increase the limit of PCM substreams to 128. The default value is unchanged; only the max accept value is increased. Signed-off-by: Takashi Iwai commit 30b3710105be0ba6bbdb7d7d126af76246b02eba Author: Luis R. Rodriguez Date: Fri Sep 4 17:44:51 2009 -0700 kmemleak: add clear command support In an ideal world your kmemleak output will be small, when its not (usually during initial bootup) you can use the clear command to ingore previously reported and unreferenced kmemleak objects. We do this by painting all currently reported unreferenced objects grey. We paint them grey instead of black to allow future scans on the same objects as such objects could still potentially reference newly allocated objects in the future. To test a critical section on demand with a clean /sys/kernel/debug/kmemleak you can do: echo clear > /sys/kernel/debug/kmemleak test your kernel or modules echo scan > /sys/kernel/debug/kmemleak Then as usual to get your report with: cat /sys/kernel/debug/kmemleak Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 4a558dd6f93d419cd318958577e25492bd09e960 Author: Luis R. Rodriguez Date: Tue Sep 8 16:34:50 2009 +0100 kmemleak: use bool for true/false questions Acked-by: Pekka Enberg Signed-off-by: Luis R. Rodriguez Signed-off-by: Catalin Marinas commit 179a8100e12d0053f4b368ea3358dd9a0fc6cb94 Author: Catalin Marinas Date: Mon Sep 7 10:14:42 2009 +0100 kmemleak: Do no create the clean-up thread during kmemleak_disable() The kmemleak_disable() function could be called from various contexts including IRQ. It creates a clean-up thread but the kthread_create() function has restrictions on which contexts it can be called from, mainly because of the kthread_create_lock. The patch changes the kmemleak clean-up thread to a workqueue. Signed-off-by: Catalin Marinas Reported-by: Eric Paris commit 9b151fec139d32ab3acce5da5761d868e205fadd Author: Takashi Iwai Date: Tue Sep 8 14:30:49 2009 +0200 ALSA: dummy - Add debug proc file Added the debug proc file to see or change the snd_pcm_hardware fields to emulate. The parameters can be changed by writing to a proc file like: # echo periods_min 4 > /proc/asound/card1/dummy_pcm Signed-off-by: Takashi Iwai commit 4f7454a9970fa0f3e9f1a68201520e3df1bb5224 Author: Takashi Iwai Date: Tue Sep 8 14:29:58 2009 +0200 ALSA: Add const prefix to proc helper functions Add appropriate const prefix to char * arguments in proc helper functions. Also fixed the caller side to be proper const pointers. Signed-off-by: Takashi Iwai commit 6e5265ec34d3b9578973841ddec8b925e986136a Author: Takashi Iwai Date: Tue Sep 8 14:26:51 2009 +0200 ALSA: Re-export snd_pcm_format_name() function Re-export snd_pcm_format_name() function to be used outside the PCM core. As a first example, usbaudio is changed to use it now again. Signed-off-by: Takashi Iwai commit 80e42468d65475e92651e62175bb7807773321d0 Author: Theodore Ts'o Date: Tue Sep 8 08:21:26 2009 -0400 ext4: print more sysadmin-friendly message in check_block_validity() Drop the WARN_ON(1), as he stack trace is not appropriate, since it is triggered by file system corruption, and it misleads users into thinking there is a kernel bug. In addition, change the message displayed by ext4_error() to make it clear that this is a file system corruption problem. Signed-off-by: "Theodore Ts'o" commit a827eaffff07c7d58a4cb32158cbeb4849f4e33a Author: Aneesh Kumar K.V Date: Wed Sep 9 22:36:03 2009 -0400 ext4: Take page lock before looking at attached buffer_heads flags In order to check whether the buffer_heads are mapped we need to hold page lock. Otherwise a reclaim can cleanup the attached buffer_heads. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit b5d9d734a53e0204aab0089079cbde2a1285a38f Author: Mike Galbraith Date: Tue Sep 8 11:12:28 2009 +0200 sched: Ensure that a child can't gain time over it's parent after fork() A fork/exec load is usually "pass the baton", so the child should never be placed behind the parent. With START_DEBIT we make room for the new task, but with child_runs_first, that room comes out of the _parent's_ hide. There's nothing to say that the parent wasn't ahead of min_vruntime at fork() time, which means that the "baton carrier", who is essentially the parent in drag, can gain time and increase scheduling latencies for waiters. With NEW_FAIR_SLEEPERS + START_DEBIT + child_runs_first enabled, we essentially pass the sleeper fairness off to the child, which is fine, but if we don't base placement on the parent's updated vruntime, we can end up compounding latency woes if the child itself then does fork/exec. The debit incurred at fork doesn't hurt the parent who is then going to sleep and maybe exit, but the child who acquires the error harms all comers. This improves latencies of make -j kernel build workloads. Reported-by: Jens Axboe Signed-off-by: Mike Galbraith Acked-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 5eb38f44839ec1aade167b125d86d265c886c195 Merge: 56ddf7e 99f329a Author: Russell King Date: Tue Sep 8 11:23:24 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit 33d78674586aeb6a623b1e612e6f92dd83015ed3 Author: Takashi Iwai Date: Tue Sep 8 11:03:41 2009 +0200 ALSA: hda - Use auto model for HP laptops with ALC268 codec The HP laptops with ALC268 codec seem working better with model=auto than model=toshiba; e.g. the auto model fixes missing digital outputs. Let's fix quirk entry to choose auto model explicitly. Tested-by: Jens Jorgensen Signed-off-by: Takashi Iwai commit 6148b130eb84edc76e4fa88da1877b27be6c2f06 Author: Sophie Hamilton Date: Tue Sep 8 10:58:42 2009 +0200 ALSA: cs46xx - Fix minimum period size Fix minimum period size for cs46xx cards. This fixes a problem in the case where neither a period size nor a buffer size is passed to ALSA; this is the case in Audacious, OpenAL, and others. Signed-off-by: Sophie Hamilton Cc: Signed-off-by: Takashi Iwai commit e7a963ef20cabde53d0e609737764ddc65f4605a Merge: a2494b9 3ff323f Author: Paul Mundt Date: Tue Sep 8 16:27:31 2009 +0900 Merge branches 'sh/smp' and 'sh/stable-updates' commit a2494b9b5fb702becaf8d8e3138f7a1a0d3c537e Author: Paul Mundt Date: Tue Sep 8 16:23:08 2009 +0900 sh: Kill off dcache writeback from copy_page(). Now that the cache purging is handled manually by all copy_page() callers, we can kill off copy_page()'s on writeback. This optimizes the non-aliasing case. Signed-off-by: Paul Mundt commit 6e4154d4c2dd3d7e61d19ddd2527322ce34c2f5a Author: Paul Mundt Date: Tue Sep 8 16:21:00 2009 +0900 sh: Use more aggressive dcache purging in kmap teardown. This fixes up a number of outstanding issues observed with old mappings on the same colour hanging around. This requires some more optimal handling, but is a safe fallback until all of the corner cases have been handled. Signed-off-by: Paul Mundt commit e6cc0fd1e31cfe48e207de78742ccdf301369bf3 Author: Roland Dreier Date: Mon Sep 7 21:54:38 2009 -0700 MAINTAINERS: InfiniBand/RDMA mailing list transition to vger InfiniBand/RDMA development discussion is moving from general@lists.openfabrics.org to linux-rdma@vger.kernel.org. Signed-off-by: Roland Dreier commit cc84ef3fd20ef6dfe5fbc4778e7017d015b3bf7d Merge: c746e20 3ff323f Author: Dave Airlie Date: Tue Sep 8 14:49:32 2009 +1000 Merge remote branch 'origin/master' of ../linux-2.6 into drm-next This was a non-trivial merge with some patches sent to Linus in drm-fixes. Conflicts: drivers/gpu/drm/radeon/r300.c drivers/gpu/drm/radeon/radeon_asic.h drivers/gpu/drm/radeon/rs600.c drivers/gpu/drm/radeon/rs690.c drivers/gpu/drm/radeon/rv515.c commit c746e205f2fb6f74b4a622382607f065eca5eb49 Author: Dave Airlie Date: Tue Sep 8 14:38:45 2009 +1000 drm/radeon/kms: don't allow ERESTART to hit userspace. the pre-r600 fence code returns ebusy if we get hit by a signal so we should continue to do that. Signed-off-by: Dave Airlie commit 620f37811dcc9e0f97ee79fbf8908fcc097deaee Author: Adam Jackson Date: Tue Sep 8 11:51:46 2009 +1000 drm: prune modes when output is disconnected. When an output was disconnected, its mode list would remain. If you later plugged into a sink with no EDID (projector, etc), you'd inherit the mode list from the old sink, which is not what you want. taken from Fedora kernel Signed-off-by: Dave Airlie commit 1ecff1eb0b83efa85be5b54c958e831e37f993f3 Author: Adam Jackson Date: Tue Sep 8 11:48:40 2009 +1000 drm: shut the EDID warnings up. These really aren't all that useful. taken from Fedora kernel. Signed-off-by: Dave Airlie commit ec2a4c3fdc8e82fe82a25d800e85c1ea06b74372 Author: Dave Airlie Date: Tue Aug 4 11:43:41 2009 +1000 drm/i915: get the bridge device once. The driver gets the bridge device in a number of places, upcoming vga arb code paths need the bridge device, however they need it in under a lock, and the pci lookup can allocate memory. So clean this code up before then and get the bridge once for the driver lifetime. Signed-off-by: Dave Airlie commit f1938cd6e900a85de64184e46d841efc9efd3484 Author: Dave Airlie Date: Tue Sep 8 11:32:08 2009 +1000 drm: include seq_file.h for debugfs builds. Fixes a warning seen on powerpc. Signed-off-by: Dave Airlie commit f641e51e7469cc3a8115a3bd70b4526d566b1c60 Author: Dave Airlie Date: Tue Sep 8 11:17:38 2009 +1000 drm/radeon/kms: lower debugging on dpms events. Lower the debugging on encoders when getting DPMS events. Signed-off-by: Dave Airlie commit a0cdc6495bdd0ea12390b9edaf13c8cb653df109 Author: Dave Airlie Date: Tue Sep 8 11:09:50 2009 +1000 drm/kms/radeon: make kms default a runtime option This makes the kms/enable disable a runtime not a build time option. Signed-off-by: Dave Airlie commit 6fcefd56f5060ca99ab03c9f2ad1f17c3a543ca1 Author: Dave Airlie Date: Tue Sep 8 11:08:32 2009 +1000 drm/kms: fix kms helper license + Kconfig Allow the KMS module to work properly, and also rename it to KMS_HELPER so its clearer what its for. Signed-off-by: Dave Airlie commit 3ce0a23d2d253185df24e22e3d5f89800bb3dd1c Author: Jerome Glisse Date: Tue Sep 8 10:10:24 2009 +1000 drm/radeon/kms: add r600 KMS support This adds the r600 KMS + CS support to the Linux kernel. The r600 TTM support is quite basic and still needs more work esp around using interrupts, but the polled fencing should work okay for now. Also currently TTM is using memcpy to do VRAM moves, the code is here to use a 3D blit to do this, but isn't fully debugged yet. Authors: Alex Deucher Dave Airlie Jerome Glisse Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 4ce001abafafe77e5dd943d1480fc9f87894e96f Author: Dave Airlie Date: Thu Aug 13 16:32:14 2009 +1000 drm/radeon/kms: add initial radeon tv-out support. This ports the tv-out code from the DDX to KMS. adds a radeon.tv module option, radeon.tv=0 to disable tv Signed-off-by: Dave Airlie commit 551ebd837c75fc75df81811a18b7136c39cab487 Author: Dave Airlie Date: Tue Sep 1 15:25:57 2009 +1000 drm/radeon/kms: add rn50/r100/r200 CS tracker. This adds the command stream checker for the RN50, R100 and R200 cards. It stops any access to 3D registers on RN50, and does checks on buffer sizes on the r100/r200 cards. It also fixes some texture sizing checks on r300. Signed-off-by: Dave Airlie commit a8fae3ec5f118dc92517dcbed3ecf69ddb641d0f Author: Peter Zijlstra Date: Mon Sep 7 18:32:32 2009 +0200 sched: enable SD_WAKE_IDLE Now that SD_WAKE_IDLE doesn't make pipe-test suck anymore, enable it by default for MC, CPU and NUMA domains. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 71a29aa7b600595d0ef373ea605ac656876d1f2f Author: Peter Zijlstra Date: Mon Sep 7 18:28:05 2009 +0200 sched: Deal with low-load in wake_affine() wake_affine() would always fail under low-load situations where both prev and this were idle, because adding a single task will always be a significant imbalance, even if there's nothing around that could balance it. Deal with this by allowing imbalance when there's nothing you can do about it. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit cdd2ab3de4301728b20efd6225681d3ff591a938 Author: Peter Zijlstra Date: Mon Sep 7 18:12:06 2009 +0200 sched: Remove short cut from select_task_rq_fair() select_task_rq_fair() incorrectly skips the wake_affine() logic, remove this. When prev_cpu == this_cpu, the code jumps straight to the wake_idle() logic, this doesn't give the wake_affine() logic the chance to pin the task to this cpu. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 87831cb660954356d68cebdb1406f3be09e784e9 Author: Mark Brown Date: Mon Sep 7 18:09:58 2009 +0100 ASoC: Fix WM835x Out4 capture enumeration It's the 8th enum of a zero indexed array. This is why I don't let new drivers use these arrays of enums... Signed-off-by: Mark Brown Cc: stable@kernel.org commit b76aabc3956e9b95e7b7dc1aeecb8c6caf57f74c Author: Hal Rosenstock Date: Mon Sep 7 08:28:48 2009 -0700 IB/mad: Allow tuning of QP0 and QP1 sizes MADs are UD and can be dropped if there are no receives posted, so allow receive queue size to be set with a module parameter in case the queue needs to be lengthened. Send side tuning is done for symmetry with receive. Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier commit 6b2eef8fd78ff909c3396b8671d57c42559cc51d Author: Roland Dreier Date: Mon Sep 7 08:27:50 2009 -0700 IB/mad: Fix possible lock-lock-timer deadlock Lockdep reported a possible deadlock with cm_id_priv->lock, mad_agent_priv->lock and mad_agent_priv->timed_work.timer; this happens because the mad module does cancel_delayed_work(&mad_agent_priv->timed_work); while holding mad_agent_priv->lock. cancel_delayed_work() internally does del_timer_sync(&mad_agent_priv->timed_work.timer). This can turn into a deadlock because mad_agent_priv->lock is taken inside cm_id_priv->lock, so we can get the following set of contexts that deadlock each other: A: holding cm_id_priv->lock, waiting for mad_agent_priv->lock B: holding mad_agent_priv->lock, waiting for del_timer_sync() C: interrupt during mad_agent_priv->timed_work.timer that takes cm_id_priv->lock Fix this by using the new __cancel_delayed_work() interface (which internally does del_timer() instead of del_timer_sync()) in all the places where we are holding a lock. Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=13757 Reported-by: Bart Van Assche Signed-off-by: Roland Dreier commit 99f329a2ba3c2d07cc90ca9309babf27ddf98bff Author: Pavel Machek Date: Sun Sep 6 07:28:40 2009 +0200 [ARM] pxa/sharpsl_pm: zaurus c3000 aka spitz: fix resume sharpsl_pm.c code tries to read battery state very early during resume, but those battery meters are connected on SPI and that's only resumed way later. Replace the check with simple checking of battery fatal signal, that actually works at this stage. Signed-off-by: Pavel Machek Tested-by: Stanislav Brabec Signed-off-by: Eric Miao commit b8c60ede6abf8e96a892c114131700b0cfb0be89 Author: Takashi Iwai Date: Mon Sep 7 15:52:30 2009 +0200 ALSA: Remove unneeded ifdef from sound/core.h Remove the old hack that was needed for building alsa-driver modules externally for old kernels. Signed-off-by: Takashi Iwai commit 82a783f4bcb878e6c4f02e24c7cd0687bdea7443 Author: Takashi Iwai Date: Mon Sep 7 15:50:18 2009 +0200 ALSA: Remove struct snd_monitor_file from public sound/core.h The struct snd_monitor_file is used locally only in sound/core/init.c, thus it should be moved there from the public sound/core.h. Signed-off-by: Takashi Iwai commit be1d6a5f55b30042c57bdfbe7cb4761ed081def0 Author: David Howells Date: Mon Sep 7 13:24:17 2009 +0100 KEYS: Fix default security_session_to_parent() Fix the default security_session_to_parent() in linux/security.h to have a body. Signed-off-by: David Howells Signed-off-by: James Morris commit 236cc52856f6ebe47f52d50ba5431b0e172fd0d1 Author: Mark Brown Date: Mon Sep 7 12:46:42 2009 +0100 ASoC: Remove unuused hw_read_t Signed-off-by: Mark Brown commit 11670d3c93210793562748d83502ecbef4034765 Merge: 575dc34 01dfba9 Author: Dave Airlie Date: Mon Sep 7 20:27:20 2009 +1000 Merge intel drm-intel-next branch Merge remote branch 'anholt/drm-intel-next' of ../anholt-2.6 into drm-next Conflicts: drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i915/intel_drv.h drivers/gpu/drm/i915/intel_sdvo.c commit f1bc07af9a9edc5c1d4bdd971f7099316ed2e405 Author: Clemens Ladisch Date: Mon Sep 7 10:18:54 2009 +0200 sound: oxygen: work around MCE when changing volume When the volume is changed continuously (e.g., when the user drags a volume slider with the mouse), the driver does lots of I2C writes. Apparently, the sound chip can get confused when we poll the I2C status register too much, and fails to complete a read from it. On the PCI-E models, the PCI-E/PCI bridge gets upset by this and generates a machine check exception. To avoid this, this patch replaces the polling with an unconditional wait that is guaranteed to be long enough. Signed-off-by: Clemens Ladisch Tested-by: Johann Messner Cc: Signed-off-by: Takashi Iwai commit 3a5f29c1dbe5814349efacdea483079c470dcc38 Author: David S. Miller Date: Mon Sep 7 02:03:37 2009 -0700 r8169: Fix warning in rtl8169_start_xmit(). Reported by Stephen Rothwell: drivers/net/r8169.c: In function 'rtl8169_start_xmit': drivers/net/r8169.c:3421: warning: label 'out' defined but not used Introduced by commit 61357325f377889a1daffa14962d705dc814dd0e ("netdev: convert bulk of drivers to netdev_tx_t"). Signed-off-by: David S. Miller commit cf33ce15463b784a1d648905fc067fa4d6b17466 Author: Randy Dunlap Date: Fri Sep 4 14:20:37 2009 +0000 net: fix hydra printk format warning m68k: drivers/net/hydra.c:178: warning: format '%08lx' expects type 'long unsigned int', but argument 3 has type 'resource_size_t' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 5dbc46506a4f7b9f564bb7589a49ed32bc1caa15 Author: Krzysztof Halasa Date: Sat Sep 5 03:59:49 2009 +0000 IXP42x HSS support for setting internal clock rate HSS usually uses external clocks, so it's not a big deal. Internal clock is used for direct DTE-DTE connections and when the DCE doesn't provide it's own clock. This also depends on the oscillator frequency. Intel seems to have calculated the clock register settings for 33.33 MHz (66.66 MHz timer base). Their settings seem quite suboptimal both in terms of average frequency (60 ppm is unacceptable for G.703 applications, their primary intended usage(?)) and jitter. Many (most?) platforms use a 33.333 MHz oscillator, a 10 ppm difference from Intel's base. Instead of creating static tables, I've created a procedure to program the HSS clock register. The register consists of 3 parts (A, B, C). The average frequency (= bit rate) is: 66.66x MHz / (A + (B + 1) / (C + 1)) The procedure aims at the closest average frequency, possibly at the cost of increased jitter. Nobody would be able to directly drive an unbufferred transmitter with a HSS anyway, and the frequency error is what it really counts. I've verified the above with an oscilloscope on IXP425. It seems IXP46x and possibly IXP43x use a bit different clock generation algorithm - it looks like the avg frequency is: (on IXP465) 66.66x MHz / (A + B / (C + 1)). Also they use much greater precomputed A and B - on IXP425 it would simply result in more jitter, but I don't know how does it work on IXP46x (perhaps 3 least significant bits aren't used?). Anyway it looks that they were aiming for exactly +60 ppm or -60 ppm, while <1 ppm is typically possible (with a synchronized clock, of course). The attached patch makes it possible to set almost any bit rate (my IXP425 533 MHz quits at > 22 Mb/s if a single port is used, and the minimum is ca. 65 Kb/s). This is independent of MVIP (multi-E1/T1 on one HSS) mode. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 32e6a0c82e7a7991a02414d830f262e1f4db73e6 Author: Krzysztof Halasa Date: Sat Sep 5 00:54:30 2009 +0000 WAN: remove deprecated PCI_DEVICE_ID from PCI200SYN driver. PCI200SYN has its own PCI subsystem device ID for 3+ years, now it's time to remove the generic PLX905[02] ID from the driver. Anyone with old EEPROM data will have to run the upgrade. Having the generic PLX905[02] (PCI-local bus bridge) ID is harmful as the driver tries to handle other devices based on these bridges. Signed-off-by: Krzysztof Halasa Signed-off-by: David S. Miller commit c190e3c8f6b22004b9cdc62ee5e7ba2fa5f74dc7 Author: Ajit Khaparde Date: Fri Sep 4 03:12:29 2009 +0000 be2net: Code changes in Tx path to use skb_dma_map/skb_dma_unmap Code changes to - In the tx completion processing, there were instances of unmapping a memory as a page which was originally mapped as single. This patch takes care of this by using skb_dma_map()/skb_dma_unmap() to map/unmap Tx buffers. - set gso_max_size to 65535. This was not done till now. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 84517482e19bc775de7b3b4e998dee2f506bc34e Author: Ajit Khaparde Date: Fri Sep 4 03:12:16 2009 +0000 be2net: Changes to support flashing of the be2 network adapter Changes to support flashing of the be2 network adapter using the request_firmware() & ethtool infrastructure. The trigger to flash the device will come from ethtool utility. The driver will invoke request_firmware() to start the flash process. The file containing the flash image is expected to be available in /lib/firmware/ Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 384824281caa9ac4b76664033416f1eac4a652fe Author: Stephen Hemminger Date: Fri Sep 4 05:33:46 2009 +0000 wan: dlci/sdla transmit return dehacking This is a brute force removal of the wierd slave interface done for DLCI -> SDLA transmit. Before it was using non-standard return values and freeing skb in caller. This changes it to using normal return values, and freeing in the callee. Luckly only one driver pair was doing this. Not tested on real hardware, in fact I wonder if this driver pair is even being used by any users. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5877e55f32bb50956c9a1df8e7db3fbc67dc47b6 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:12 2009 +0000 netxen: update version to 4.0.50 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 2b9e62ee7b2f1971c01fdaa7653c9dae7b571187 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:11 2009 +0000 netxen: refactor firmware info code o Combine netxen_get_firmware_info(), netxen_check_options() so that they are updated every time firmware is reset. o Set dma mask everytime firmware is reset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 195c5f9829407857cba86f083caec6302b1fd8e1 Author: Amit Kumar Salecha Date: Sat Sep 5 17:43:10 2009 +0000 netxen: pre calculate register addresses For registers accessed in fast path (interrupt / softirq) avoid expensive I/O address translation. These registers are directly mapped in PCI bar 0 and do not require any window checks. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d0725e4d3ccf603c4fcf3589850cb464c927d42a Author: Amit Kumar Salecha Date: Sat Sep 5 17:43:09 2009 +0000 netxen: fix ip addr hashing after firmware reset Reprogram local IP addresses after firmware is reset or after resuming from suspend. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6a581e93981e8838c85e407303186faf937830d3 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:08 2009 +0000 netxen: firmware hang detection Implement state machine to detect firmware hung state and recover. Since firmware will be shared by all PCI functions that have different class drivers (NIC or FCOE or iSCSI), explicit hardware based serialization is required for initializing firmware. o Used global scratchpad register to maintain device reference count. Every probed pci function adds to ref count. o Implement timer (delayed work) for each pci func that checks firmware heartbit every 5 sec and detaches itself if firmware is dead. Last detaching function reloads firmware. Other functions wait for firmware init, and re-attach themselves. Heartbit is not supported by NX2031 firmware. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit db4cfd8a6149e778befb2ff6e6f91cdc6394cbe6 Author: Dhananjay Phadke Date: Sat Sep 5 17:43:07 2009 +0000 netxen: handle firmware load errors Unwind allocations and release file firmware when when firmware load fails. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 575dc34ee0de867ba83abf25998e0963bff451fa Author: Dave Airlie Date: Mon Sep 7 18:43:26 2009 +1000 drm/kms: remove old std mode fallback code. The new code adds modes in the helper, which makes more sense I disliked the non-driver code adding modes. Signed-off-by: Dave Airlie commit 50fe4cfdc759fb3c0cffc3b90281efb139631fb7 Author: ykzhao Date: Thu Sep 3 14:30:04 2009 +0800 drm/kms/i915: Add the default mode for CRT output without EDID Add the default mode for every output device when there is no mode for it. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit f0fda0a47b26aba986fe65897891956c1792b526 Author: Zhao Yakui Date: Thu Sep 3 09:33:48 2009 +0800 drm/kms: add a function that can add the mode for the output device without EDID Add a function that can be used to add the default mode for the output device without EDID. It will add the default mode that meets with the requirements of given hdisplay/vdisplay limit. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit a68c4d11336610dc348620766119db09675707c2 Author: Takashi Iwai Date: Fri Sep 4 12:19:36 2009 +0200 ALSA: dummy - Fake buffer allocations Instead of allocating the real buffers, use a fake buffer and ignore read/write in the dummy driver so that we can save the resources. For mmap, a single page (unique to the direction, though) is reused to all buffers. When the app requires to read/write the real buffers, pass fake_buffer=0 module option at loading time. This will get back to the old behavior. Signed-off-by: Takashi Iwai commit 559ee21d261a54c42594ef9405d27e9008eedf44 Author: Zhao Yakui Date: Thu Sep 3 09:33:47 2009 +0800 drm/kms: try to find the std mode in DMT table When we need to add the standard timing mode, we will firstly check whether it can be found in DMT table by comparing the hdisplay/vdisplay/vfresh_rate. If it can't be found, then we will use the cvt/gtf to add the required mode. If it can be found, it will be returned. At the same time the function of drm_mode_vrefresh is also fixed. It will return the result of actual refresh_rate plus 0.5. For example: When the calculated value is 84.9, then the fresh_rate is 85. When the calculated value is 70.02, then the fresh_rate is 70. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit aa9eaa1f0962152d0bde821149d82fe7b70a6f92 Author: Zhao Yakui Date: Thu Sep 3 09:33:46 2009 +0800 drm/kms: Add the default mode table When we add a standard timing mode in UMS, we will first check whether it can be found in default mode table. If it can't be found, then we will use cvt/gtf to add the standard timing mode. Add the default mode table so that we can check whether the given mode can be found in the default mode table as what we have done in UMS mode. If the status of one output device is connected but there is no EDID, it will have no correct mode. In such case we can add some default modes for it. Of course we only add the modes in the default modes list that visible part is not greater than 1024x768. The default mode is autogenerated from the DMT spec. And it is copied from xserver/hw/xfree86/modes/xf86EdidModes.c. But the mode with reduced blank feature is removed. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 13a8195b148615b15a4f4385f695f2a232095414 Author: Dave Airlie Date: Mon Sep 7 15:45:33 2009 +1000 drm: split crtc/fb helpers into a separate module I really don't want to have core drm module rely on CONFIG_FB, so this is the easiest answer. Signed-off-by: Dave Airlie commit a65cc60f6349fe91539f736dad8fb2398488e431 Author: ddiaz@cenditel.gob.ve Date: Sat Sep 5 16:28:06 2009 -0430 ALSA: hda/realtek: Added support for CLEVO M540R subsystem, 6 channel + digital The model clevo-m540r was created with 6-channel and digital support. All functions verified except spdif. Tested with a VIT D2000 laptop which has: [lspci extract] Audio device [0403]: Intel Corporation 82801H (ICH8 Family) HD Audio Controller [8086:284b] (rev 03) Subsystem: CLEVO/KAPOK Computer Device [1558:5409] [/proc/asound/card0/codec\#0 header] Codec: Realtek ALC883 Address: 0 Function Id: 0x1 Vendor Id: 0x10ec0883 Subsystem Id: 0x15585409 Revision Id: 0x100002 [Added a comment about HP mute and the model description by tiwai] Signed-off-by: Dhionel Diaz Signed-off-by: Takashi Iwai commit adf551bb25bfb83b79ce3c3887557ed817e26cc9 Author: Dave Airlie Date: Mon Sep 7 13:49:07 2009 +1000 drm/radeon/kms: add updated registers from drm-fixes. Fixes up the DISCARD + 2 sided stencil in the new generator scripts. Signed-off-by: Dave Airlie commit a498b8210f2f6ee0529c28048b5c4cecc17937c2 Author: Dave Airlie Date: Tue Sep 1 14:40:41 2009 +1000 drm/radeon/kms: block depthxy offset from use from userspace. This could be used to bypass CS checks. Signed-off-by: Dave Airlie commit b6d9c25631e7c38dc7be220b04553068fb542683 Author: Jaswinder Singh Rajput Date: Fri Sep 4 23:13:21 2009 +0530 Security/SELinux: includecheck fix kernel/sysctl.c fix the following 'make includecheck' warning: kernel/sysctl.c: linux/security.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: James Morris commit 945af7c3289c26c9070d6b1bf3ca759d36643e0b Author: David Howells Date: Fri Sep 4 09:19:48 2009 +0100 KEYS: security_cred_alloc_blank() should return int under all circumstances Make security_cred_alloc_blank() return int, not void, when CONFIG_SECURITY=n. Signed-off-by: David Howells Signed-off-by: James Morris commit 01dfba93d9dfcf6d7abfc55ff5d9d6e76fa01ba0 Author: Eric Anholt Date: Sun Sep 6 15:18:53 2009 -0700 drm/i915: Put the idle reclocking work on our private workqueue as well. Fixes (again) whole-system lockups due to GPU lockups. Signed-off-by: Eric Anholt commit 8c3cbd5a2b2cc244277f6089dae83f09f1e7a27b Author: Nicolas Ferre Date: Wed Aug 26 15:33:16 2009 +0100 ARM: 5686/1: at91: Correct AC97 reset line in at91sam9263ek board Board code was wrongly setting up the reset pin for AC97 on at91sam9263ek. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit d656f07a7405e788e1275d0238b67f593615f2bb Author: sedji gaouaou Date: Thu Aug 6 15:20:22 2009 +0100 ARM: 5640/1: This patch modifies the support of AC97 on the at91sam9263 ek board This patch modifies the support of AC97 on the at91sam9263 ek board, so it would share the code with AVR32. Plus it removes a typo in at91sam9263_devices.c. Signed-off-by: Sedji Gaouaou Signed-off-by: Russell King commit 56ddf7e6d4f69d7ce9f1c484b62e99d6b029e6f8 Author: Kristoffer Ericson Date: Wed Sep 2 22:11:08 2009 +0100 ARM: 5689/1: Update default config of HP Jornada 700-series machines This patch updates the default config for HP Jornada 700-series handhelds. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 0ef82af7253c1929a3995f271b8b0db462d1a0c3 Author: Chris Wilson Date: Sat Sep 5 18:07:06 2009 +0100 drm/i915: Pad ringbuffer with NOOPs before wrapping According to the docs, the ringbuffer is not allowed to wrap in the middle of an instruction. G45 PRM, Vol 1b, p101: While the “free space” wrap may allow commands to be wrapped around the end of the Ring Buffer, the wrap should only occur between commands. Padding (with NOP) may be required to follow this restriction. Do as commanded. [Having seen bug reports where there is evidence of split commands, but apparently the GPU has continued on merrily before a bizarre and untimely death, this may or may not fix a few random hangs.] Signed-off-by: Chris Wilson CC: Eric Anholt Signed-off-by: Eric Anholt commit 6ec1c69a8f6492fd25722f4762721921da074c12 Author: David S. Miller Date: Sun Sep 6 01:58:51 2009 -0700 net_sched: add classful multiqueue dummy scheduler This patch adds a classful dummy scheduler which can be used as root qdisc for multiqueue devices and exposes each device queue as a child class. This allows to address queues individually and graft them similar to regular classes. Additionally it presents an accumulated view of the statistics of all real root qdiscs in the dummy root. Two new callbacks are added to the qdisc_ops and qdisc_class_ops: - cl_ops->select_queue selects the tx queue number for new child classes. - qdisc_ops->attach() overrides root qdisc device grafting to attach non-shared qdiscs to the queues. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 589983cd21f4a2e4ed74a958805a90fa676845c5 Author: Patrick McHardy Date: Fri Sep 4 06:41:20 2009 +0000 net_sched: move dev_graft_qdisc() to sch_generic.c It will be used in a following patch by the multiqueue qdisc. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit af356afa010f3cd2c8b8fcc3bce90f7a7b7ec02a Author: Patrick McHardy Date: Fri Sep 4 06:41:18 2009 +0000 net_sched: reintroduce dev->qdisc for use by sch_api Currently the multiqueue integration with the qdisc API suffers from a few problems: - with multiple queues, all root qdiscs use the same handle. This means they can't be exposed to userspace in a backwards compatible fashion. - all API operations always refer to queue number 0. Newly created qdiscs are automatically shared between all queues, its not possible to address individual queues or restore multiqueue behaviour once a shared qdisc has been attached. - Dumps only contain the root qdisc of queue 0, in case of non-shared qdiscs this means the statistics are incomplete. This patch reintroduces dev->qdisc, which points to the (single) root qdisc from userspace's point of view. Currently it either points to the first (non-shared) default qdisc, or a qdisc shared between all queues. The following patches will introduce a classful dummy qdisc, which will be used as root qdisc and contain the per-queue qdiscs as children. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5b9a9ccfad8553dbf7a9b17ba78bad70215ed0e2 Author: Patrick McHardy Date: Fri Sep 4 06:41:17 2009 +0000 net_sched: remove some unnecessary checks in classful schedulers The class argument to the ->graft(), ->leaf(), ->dump(), ->dump_stats() all originate from either ->get() or ->walk() and are always valid. Remove unnecessary checks. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit de6d5cdf881353f83006d5f3e28ac4fffd42145e Author: Patrick McHardy Date: Fri Sep 4 06:41:16 2009 +0000 net_sched: make cls_ops->change and cls_ops->delete optional Some schedulers don't support creating, changing or deleting classes. Make the respective callbacks optionally and consistently return -EOPNOTSUPP for unsupported operations, instead of currently either -EOPNOTSUPP, -ENOSYS or no error. In case of sch_prio and sch_multiq, the removed operations additionally checked for an invalid class. This is not necessary since the class argument can only orginate from ->get() or in case of ->change is 0 for creation of new classes, in which case ->change() incorrectly returned -ENOENT. As a side-effect, this patch fixes a possible (root-only) NULL pointer function call in sch_ingress, which didn't implement a so far mandatory ->delete() operation. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 71ebe5e91947392bc276af713827eab12b6db8e4 Author: Patrick McHardy Date: Fri Sep 4 06:41:15 2009 +0000 net_sched: make cls_ops->tcf_chain() optional Some qdiscs don't support attaching filters. Handle this centrally in cls_api and return a proper errno code (EOPNOTSUPP) instead of EINVAL. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d535e4319a2e598ba25dc966ada4e52ea774e33f Author: Tobias Klauser Date: Fri Sep 4 15:53:09 2009 +0200 x86: Make memtype_seq_ops const Signed-off-by: Tobias Klauser Signed-off-by: Ingo Molnar commit 23b6c52cf558f2a1dc6c7010c601b3624eb4591f Author: Rafael J. Wysocki Date: Sat Sep 5 01:07:45 2009 +0200 x86: Decrease the level of some NUMA messages to KERN_DEBUG Some NUMA messages in srat_32.c are confusing to users, because they seem to indicate errors, while in fact they reflect normal behaviour. Decrease the level of these messages to KERN_DEBUG so that they don't show up unnecessarily. Signed-off-by: Rafael J. Wysocki LKML-Reference: <200909050107.45175.rjw@sisk.pl> Signed-off-by: Ingo Molnar commit d28daf923ac5e4a0d7cecebae56f3e339189366b Merge: ed011b2 4a88d44 Author: Ingo Molnar Date: Sun Sep 6 06:27:40 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit ed011b22ce567eabefa9ea571d3721c10ecd0553 Merge: 85bac32 e07cccf Author: Ingo Molnar Date: Sun Sep 6 06:11:38 2009 +0200 Merge commit 'v2.6.31-rc9' into tracing/core Merge reason: move from -rc5 to -rc9. Signed-off-by: Ingo Molnar commit cd1d3f7abec19719949ec5b5189a821cd52af868 Author: Chien Tung Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Map MTU to IB_MTU_* and correctly report link state Old query_port code reports static MTU and link state values. Instead, map actual MTU to next largest IB_MTU_* constant and correctly report link state. Cc: Steve Wise Reported-by: Jeff Squyres Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit b29a4fc49b028dbdab53b679826ed1eb658dde59 Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Rework the disconn routine for terminate and flushing The disconn routine has been reworked to acoomodate the terminate and flushing changes. The routine has been reorganized to make all the decisions at the start then it performs all the required operations. This simplified the lock handling and is easier to follow. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 320cdfd21d4a9f6ef54b74871e0d6b19a0e86fd6 Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Use the flush code to fill in cqe error Use the flush status to fill in cqe status when a specific error has been identified. Subsequent flushed completions still use the flushed value. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 6eed5e7c8bdce6ee21bbe0be4a3f3dce4d4b392a Author: Don Wood Date: Sat Sep 5 20:36:39 2009 -0700 RDMA/nes: Make poll_cq return correct number of wqes during flush When a flush request is given to the hw, it will place one cqe marked as flushed (unless there is nothing to flush). An application that is waiting for all wqe's to complete will be left hanging. This modifies poll_cq to return the correct number of flushes for the pending elements on the wq. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 4b281faec3ad00f7fb00080078321e4d819795eb Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Use flush mechanism to set status for wqe in error When an asynchronous event occurs that requires a terminate, it is sometimes possible to identify the wqe in error. This change uses flush to get this information to the poll routine. The flush operation puts the status into the cqe. If this information is not available, it continues to use the more generic flush code as before. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 8b1c9dc4ba713985d33aba87c761bf71d5a96491 Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Implement Terminate Packet Implement the sending and receiving of Terminate packets. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 3c28b4457a4cf95e982ca13578a5613a11009394 Author: Don Wood Date: Sat Sep 5 20:36:38 2009 -0700 RDMA/nes: Add CQ error handling CQ errors are not being handled correctly. Put in the the upcall for CQ errors. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 5ee21fe0eaf68fb840f442131ab7addced1a31c3 Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Clean out CQ completions when QP is destroyed When a QP is destroyed, unprocessed CQ entries could still reference the QP. This change zeroes the context value at QP destroy time. By skipping over cqe's with a zero context, poll_cq no longer processes a cqe for a destroyed QP. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit ba0c5d9a8975cf740a4a4b8c579cc4b325f8b852 Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Change memory allocation for cqp request to GFP_ATOMIC The routine to allocate a cqp request is not called from process context code. Since it is not OK to sleep, it needs to use GFP_ATOMIC not GFP_KERNEL. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit 873fcdd4bfc75880888a7d148a71d70ed87c9ebf Author: Don Wood Date: Sat Sep 5 20:36:37 2009 -0700 RDMA/nes: Allocate work item for disconnect event handling The code currently has a work structure in the QP. This requires a lock and a pending flag to ensure there is never more than one request active. When two events happen quickly (such as FIN and LLP CLOSE), it causes unnecessary timeouts since the second one is dropped. This fix allocates memory for the work request so the second one can be queued. A lock is removed since it is no longer needed. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit c4c3f279cd8e9cc1d3e2f364a27beadb2e69cda8 Author: Don Wood Date: Sat Sep 5 20:36:36 2009 -0700 RDMA/nes: Update refcnt during disconnect During termination, it is possible for the refcnt to go to zero while the worker thread is posting events upward. This fix increments the refcnt before the request is passed to the worker thread. The thread decrements the refcnt when the request is completed. Signed-off-by: Don Wood Signed-off-by: Roland Dreier commit d84106477733cb155c5dcaea664ddf120bf69eb7 Author: Jack Morgenstein Date: Sat Sep 5 20:36:16 2009 -0700 IB/mthca: Don't allow userspace open while recovering from catastrophic error Userspace apps are supposed to release all ib device resources if they receive a fatal async event (IBV_EVENT_DEVICE_FATAL). However, the app has no way of knowing when the device has come back up, except to repeatedly attempt ibv_open_device() until it succeeds. However, currently there is no protection against the open succeeding while the device is in being removed following the fatal event. In this case, the open will succeed, but as a result the device waits in the middle of its removal until the new app releases its resources -- and the new app will not do so, since the open succeeded at a point following the fatal event generation. This patch adds an "active" flag to the device. The active flag is set to false (in the fatal event flow) before the "fatal" event is generated, so any subsequent ibv_dev_open() call to the device will fail until the device comes back up, thus preventing the above deadlock. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit d94a86890137fabcc97eaa324bfef3f1827744c8 Author: Arputham Benjamin Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Distinguish multiple devices in /proc/interrupts When the mthca driver uses the same name for interrupts for every device in the system. This can make it very confusing trying to work out exactly which device MSI-X interrupts are for. Change the driver to add the PCI name of the device to the interrupt name. Signed-off-by: Arputham Benjamin Signed-off-by: Roland Dreier commit ffe063f32bacad7d5111ae9c2b3e31addb47ce39 Author: Roland Dreier Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Annotate CQ locking mthca_ib_lock_cqs()/mthca_ib_unlock_cqs() are helper functions that lock/unlock both CQs attached to a QP in the proper order to avoid AB-BA deadlocks. Annotate this so sparse can understand what's going on (and warn us if we misuse these functions). Signed-off-by: Roland Dreier commit deecb5d6728fff5288b6f7241ee8225ba0d8c6d2 Author: Roland Dreier Date: Sat Sep 5 20:36:15 2009 -0700 IB/mthca: Remove unnecessary include of mthca_reset.c doesn't have any function annotations, so there's no reason to include . Signed-off-by: Roland Dreier commit fc1285585f5bfda18e3fe7f90afd47da51b82bd6 Author: Roland Dreier Date: Sat Sep 5 20:36:13 2009 -0700 IB/mthca: Remove unnecessary include of mthca_config_reg.h was including for no reason -- the whole file is just defines of constants, so it's entirely self-contained. Signed-off-by: Roland Dreier commit 3b4a8cd51e59c1c342c51b241bbb96c6ac24a147 Author: Jack Morgenstein Date: Sat Sep 5 20:24:50 2009 -0700 IB/mlx4: Don't allow userspace open while recovering from catastrophic error Userspace apps are supposed to release all ib device resources if they receive a fatal async event (IBV_EVENT_DEVICE_FATAL). However, the app has no way of knowing when the device has come back up, except to repeatedly attempt ibv_open_device() until it succeeds. However, currently there is no protection against the open succeeding while the device is in being removed following the fatal event. In this case, the open will succeed, but as a result the device waits in the middle of its removal until the new app releases its resources -- and the new app will not do so, since the open succeeded at a point following the fatal event generation. This patch adds an "active" flag to the device. The active flag is set to false (in the fatal event flow) before the "fatal" event is generated, so any subsequent ibv_dev_open() call to the device will fail until the device comes back up, thus preventing the above deadlock. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit f5f5951c7494b6ae89ec53ca7ca6b0177ebd1308 Author: Arputham Benjamin Date: Sat Sep 5 20:24:50 2009 -0700 mlx4_core: Distinguish multiple devices in /proc/interrupts When the mlx4 driver uses the same name for interrupts for every device in the system. This can make it very confusing trying to work out exactly which device MSI-X interrupts are for. Change the driver to add the PCI name of the device to the interrupt name. Signed-off-by: Arputham Benjamin Signed-off-by: Roland Dreier commit 1af92e2a211b0d46ef60ea9f30f989fd7b5725fa Author: Yevgeny Petrilin Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Avoid double free_icms On the error path of mlx4_init_hca(), mlx4_close_hca() is called, followed by mlx4_free_icms() and mlx4_UNMAP_FA(). But both those functions are also called from mlx4_close_hca(), which leads to a double free. Signed-off-by: Yevgeny Petrilin Signed-off-by: Roland Dreier commit fa0681d2129732027355d6b7083dd8932b9b799d Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Allocate and map sufficient ICM memory for EQ context The current implementation allocates a single host page for EQ context memory, which was OK when we only allocated a few EQs. However, since we now allocate an EQ for each CPU core, this patch removes the hard-coded limit (which we exceed with 4 KB pages and 128 byte EQ context entries with 32 CPUs) and uses the same ICM table code as all other context tables, which ends up simplifying the code quite a bit while fixing the problem. This problem was actually hit in practice on a dual-socket Nehalem box with 16 real hardware threads and sufficiently odd ACPI tables that it shows on boot SMP: Allowing 32 CPUs, 16 hotplug CPUs so num_possible_cpus() ends up 32, and mlx4 ends up creating 33 MSI-X interrupts and 33 EQs. This mlx4 bug means that mlx4 can't even initialize at all on this quite mainstream system. Cc: Reported-by: Eli Cohen Tested-by: Christoph Lameter Signed-off-by: Roland Dreier commit 338a8fad27908f64a0d249cc9f5c7d4ddb7e5684 Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 IB/mlx4: Annotate CQ locking mlx4_ib_lock_cqs()/mlx4_ib_unlock_cqs() are helper functions that lock/unlock both CQs attached to a QP in the proper order to avoid AB-BA deadlocks. Annotate this so sparse can understand what's going on (and warn us if we misuse these functions). Signed-off-by: Roland Dreier commit ff149b2a168296c74763cb4a6e7054bdb0a426a1 Author: Roland Dreier Date: Sat Sep 5 20:24:49 2009 -0700 mlx4_core: Remove unnecessary includes of Lots of mlx4 files with no function annotations included for no reason. Signed-off-by: Roland Dreier commit a01df0fe5e4db8c272dcc395354884ff7c15fc10 Author: Roland Dreier Date: Sat Sep 5 20:24:48 2009 -0700 mlx4_core: Use pci_request_regions() The old code used two calls to pci_request_region() to get the two BARs for the mlx4 device, for no particularly good reason. Clean up the code a little by converting this to a single call to pci_request_regions(). Signed-off-by: Roland Dreier commit 1493ab4083c315a978e51b8957bf87859703745d Author: Roel Kluin Date: Sat Sep 5 20:24:24 2009 -0700 RDMA/amso1100: Check kmalloc() result in c2_register_device() dev->ibdev.iwcm allocation may fail, prevent a dereference. Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit b1b8afb83336b66ac7198111aad4ead41132b53f Author: Jack Morgenstein Date: Sat Sep 5 20:24:24 2009 -0700 IB/uverbs: Return ENOSYS for unimplemented commands (not EINVAL) Since the original commit 883a99c7 ("[IB] uverbs: Add a mask of device methods allowed for userspace"), the uverbs core returns EINVAL for commands not implemented by a specific low-level driver. This creates a problem that there is no way to tell the difference between an unimplemented command and an implemented one which is incorrectly invoked (which also returns EINVAL). The fix is to have unimplemented commands return ENOSYS. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit e1d7806df32bd247af6a2fe52433ecdd34fee773 Author: Yossi Etigin Date: Sat Sep 5 20:24:24 2009 -0700 IB/core: Fix send multicast group leave retry Until now, retries were only sent when joining a multicast group. This patch will adds retries when leaving a multicast group as well. Signed-off-by: Ron Livne Signed-off-by: Yossi Etigin Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit f1aa78b26e8dabc2956be94a93c40c6cc08eb4a3 Author: Marcin Slusarz Date: Sat Sep 5 20:24:24 2009 -0700 IB: Use printk_once() for driver versions Replace open-coded reimplementations with printk_once(). Signed-off-by: Marcin Slusarz Signed-off-by: Roland Dreier commit 181c74e87eb93df447a759af93cf0a279875ea7d Author: Tobias Klauser Date: Sat Sep 5 20:24:23 2009 -0700 RDMA/amso1100: Use %pM conversion specifier Use the %pM conversion specifier to print a MAC address. Signed-off-by: Tobias Klauser Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 6276e08a9bdf645b71a092fb4530baf4f6c4c6eb Author: Roland Dreier Date: Sat Sep 5 20:24:23 2009 -0700 IB: Use DEFINE_SPINLOCK() for static spinlocks Rather than just defining static spinlock_t variables and then initializing them later in init functions, simply define them with DEFINE_SPINLOCK() and remove the calls to spin_lock_init(). This cleans up the source a tad and also shrinks the compiled code; eg on x86-64: add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-40 (-40) function old new delta ib_uverbs_init 336 326 -10 ib_mad_init_module 147 137 -10 ib_sa_init 123 103 -20 Signed-off-by: Roland Dreier commit 60f2b652f54aa4ac4127a538abad05235fb9c469 Author: Roland Dreier Date: Sat Sep 5 20:24:10 2009 -0700 IB/mad: Check hop count field in directed route MAD to avoid array overflow The hop count field in a directed route MAD is only allowed to be in the range 0 to 63 (by spec). Check that this really is the case to avoid accessing outside the bounds of the hop array. Reported-by: Roel Kluin Signed-off-by: Roland Dreier commit 5e47596bee12597824a3b5b21e20f80b61e58a35 Author: Jason Gunthorpe Date: Sat Sep 5 20:23:40 2009 -0700 IPoIB: Check multicast address format Check that the format of multicast link addresses is correct before taking them from dev->mc_list to priv->multicast_list. This way we never try to send a bogus address to the SA, which prevents badness from erronous 'ip maddr addr add', broken bonding drivers, etc. Signed-off-by: Jason Gunthorpe Signed-off-by: Roland Dreier commit 721d67cdca5b7642b380ca0584de8dceecf6102f Author: Roland Dreier Date: Sat Sep 5 20:23:40 2009 -0700 IPoIB: Drop priv->lock before calling ipoib_send() IPoIB currently must use irqsave locking for priv->lock, since it is taken from interrupt context in one path. However, ipoib_send() does skb_orphan(), and the network stack locking is not IRQ-safe. Therefore we need to make sure we don't hold priv->lock when calling ipoib_send() to avoid lockdep warnings (the code was almost certainly safe in practice, since the only code path that takes priv->lock from interrupt context would never call into the network stack). Addresses: http://bugzilla.kernel.org/show_bug.cgi?id=13757 Reported-by: Bart Van Assche Signed-off-by: Roland Dreier commit cd0bcf4cb963a147baf0b79d94c25ba86220f708 Author: Roland Dreier Date: Sat Sep 5 20:23:38 2009 -0700 IPoIB: Remove unused includes Signed-off-by: Roland Dreier commit 286b63d09660de0fbd0d7748984d7ae491c7fdb6 Author: Roel Kluin Date: Sat Sep 5 20:23:21 2009 -0700 IB/ipath: strncpy() doesn't always NUL-terminate strlcpy() will always null terminate the string. node_desc is not guaranteed to be NUL-terminated so just use memcpy(). Signed-off-by: Roel Kluin Signed-off-by: Roland Dreier commit 6303e74c699d6ba8bd3d44ec6898b2d6aa55d788 Author: Joachim Fenkes Date: Sat Sep 5 20:22:55 2009 -0700 IB/ehca: Fix CQE flags reporting The driver was reporting CQE flags in the wrong bit positions, causing consumers to miss incoming immediate data. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit d706834d995939c96b4952bf042918879b4db18b Author: Joachim Fenkes Date: Sat Sep 5 20:22:55 2009 -0700 IB/ehca: Construct MAD redirect replies from request MAD The old code used a lot of hard-coded values, which might not be valid in all environments (especially routed fabrics or partitioned subnets). Copy as much information as possible from the incoming request to correct that. Signed-off-by: Joachim Fenkes Signed-off-by: Roland Dreier commit 50d40b8e53fab58b0141a75f7448eb28f9e21338 Author: Alexander Schmidt Date: Sat Sep 5 20:22:54 2009 -0700 IB/ehca: Make port autodetect mode the default Make port autodetect mode the default for the ehca driver. The autodetect code has been in the kernel for several releases now and has proved to be stable. Signed-off-by: Roland Dreier commit a52bf98d99e922363d1d600a79de6aaf00090d47 Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Wake up any waiters on peer close/abort A close/abort while waiting for a wr_ack during connection migration can cause a hung process in iwch_accept_cr/iwch_reject_cr. The fix is to set rpl_error/rpl_done and wake up the waiters when we get a close/abort while in MPA_REQ_RCVD state. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 6e47fe43502ba6dfe86d556661795d9bb0361309 Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Don't free endpoints early - Keep ref on connection request endpoints until either accepted or rejected so it doesn't get freed early. - Endpoint flags now need to be set via atomic bitops because they can be set on both the iw_cxgb3 workqueue thread and user disconnect threads. - Don't move out of CLOSING too early due to multiple calls to iwch_ep_disconnect. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit fa0d4c11c4b6eb49708b82b638ceb0761152f46a Author: Steve Wise Date: Sat Sep 5 20:22:38 2009 -0700 RDMA/cxgb3: Handle port events properly Massage the err_handler upcall into an event handler upcall, pass netdev port events to the cxgb3 ULPs and generate RDMA port events based on LLD port events. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit b496fe82d4075847a1c42efba2e81d28f6467b3a Author: Steve Wise Date: Sat Sep 5 20:22:37 2009 -0700 RDMA/cxgb3: Set the appropriate IO channel in rdma_init work requests Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 3793d2fc3eac7da11ca44df125cbcedd0b5315d0 Author: Steve Wise Date: Sat Sep 5 20:22:36 2009 -0700 RDMA/cxgb3: iwch_unregister_device leaks memory The iwcm struct mem is never freed. Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 44fc48f7048ab9657b524938a832fec4e0acea98 Author: Akira Fujita Date: Sat Sep 5 23:12:41 2009 -0400 ext4: Fix small typo for move_extent_per_page() This function means moving extents every page, so change its name from move_exgtent_par_page(). Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 8d6669133d8cdbb7cbe0e1f0f3744e7802a84afe Author: Akira Fujita Date: Sat Sep 5 22:46:29 2009 -0400 ext4: Return exchanged blocks count to user space in failure Return exchanged blocks count (moved_len) to user space, if ext4_move_extents() failed on the way. Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit daea696dbac0e33af3cfe304efbfb8d74e0effe6 Author: Akira Fujita Date: Sat Sep 5 22:11:55 2009 -0400 ext4: Remove unneeded BUG_ON() in ext4_move_extents() The ext4_move_extents() functions checks with BUG_ON() whether the exchanged blocks count accords with request blocks count. But, if the target range (orig_start + len) includes sparse block(s), 'moved_len' (exchanged blocks count) does not agree with 'len' (request blocks count), since sparse block is not counted in 'moved_len'. This causes us to hit the BUG_ON(), even though the function succeeded. Signed-off-by: Akira Fujita Signed-off-by: "Theodore Ts'o" commit 70d5d3dcea47c16058d2b093c29e07fdf61b56ad Author: Akira Fujita Date: Wed Sep 16 14:28:22 2009 -0400 ext4: Fix wrong comparisons in mext_check_arguments() The mext_check_arguments() function in move_extents.c has wrong comparisons. orig_start which is passed from user-space is block unit, but i_size of inode is byte unit, therefore the checks do not work fine. This mis-check leads to the overflow of 'len' and then hits BUG_ON() in ext4_move_extents(). The patch fixes this issue. Signed-off-by: Akira Fujita Reviewed-by: Greg Freemyer Signed-off-by: "Theodore Ts'o" commit 5f3481e9a80c240f169b36ea886e2325b9aeb745 Author: Christoph Hellwig Date: Sat Sep 5 21:42:42 2009 -0400 ext4: fix cache flush in ext4_sync_file We need to flush the write cache unconditionally in ->fsync, otherwise writes into already allocated blocks can get lost. Writes into fully allocated files are very common when using disk images for virtualization, and without this fix can easily lose data after an fdatasync, which is the typical implementation for a cache flush on the virtual drive. Signed-off-by: Christoph Hellwig Acked-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 8ff0e082f0833d32c7523a6cd72b6cf6a2142ce8 Merge: 8aeb0a3 f61f925 Author: Len Brown Date: Sat Sep 5 13:38:34 2009 -0400 Merge branch 'bugzilla-13002' into release commit f61f925859c57f6175082aeeee17743c68558a6e Author: Len Brown Date: Sat Sep 5 13:33:23 2009 -0400 Revert "ACPI: Attach the ACPI device to the ACPI handle as early as possible" This reverts commit eab4b645769fa2f8703f5a3cb0cc4ac090d347af. http://bugzilla.kernel.org/show_bug.cgi?id=13002 Signed-off-by: Len Brown commit d0646f7b636d067d715fab52a2ba9c6f0f46b0d7 Author: Theodore Ts'o Date: Sat Sep 5 12:50:43 2009 -0400 ext4: Remove journal_checksum mount option and enable it by default There's no real cost for the journal checksum feature, and we should make sure it is enabled all the time. Signed-off-by: "Theodore Ts'o" commit a3710fd1ee8cd542c5de63cf2c39f8912031f867 Author: Theodore Ts'o Date: Thu Sep 17 08:50:18 2009 -0400 ext4: fix tracepoint format string warnings Unlike on some other architectures ino_t is an unsigned int on s390. So add an explicit cast to avoid lots of compile warnings: In file included from include/trace/ftrace.h:285, from include/trace/define_trace.h:61, from include/trace/events/ext4.h:711, from fs/ext4/super.c:50: include/trace/events/ext4.h: In function 'ftrace_raw_output_ext4_free_inode': include/trace/events/ext4.h:12: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'ino_t' Signed-off-by: Heiko Carstens Signed-off-by: "Theodore Ts'o" commit b2f0091fbf8b475fa09b5e1712e0ab84cb3e1ca4 Author: Vasu Dev Date: Tue Aug 25 13:58:53 2009 -0700 [SCSI] fcoe, libfc: fully makes use of per cpu exch pool and then removes em_lock 1. Updates fcoe_rcv() to queue incoming frames to the fcoe per cpu thread on which this frame's exch was originated and simply use current cpu for request exch not originated by initiator. It is redundant to add this code under CONFIG_SMP, so removes CONFIG_SMP uses around this code. 2. Updates fc_exch_em_alloc, fc_exch_delete, fc_exch_find to use per cpu exch pools, here fc_exch_delete is rename of older fc_exch_mgr_delete_ep since ep/exch are now deleted in pools of EM and so brief new name is sufficient and better name. Updates these functions to map exch id to their index into exch pool using fc_cpu_mask, fc_cpu_order and EM min_xid. This mapping is as per detailed explanation about this in last patch and basically this is just as lower fc_cpu_mask bits of exch id as cpu number and upper bit sum of EM min_xid and exch index in pool. Uses pool next_index to keep track of exch allocation from pool along with pool_max_index as upper bound of exches array in pool. 3. Adds exch pool ptr to fc_exch to free exch to its pool in fc_exch_delete. 4. Updates fc_exch_mgr_reset to reset all exch pools of an EM, this required adding fc_exch_pool_reset func to reset exches in pool and then have fc_exch_mgr_reset call fc_exch_pool_reset for each pool within each EM for a lport. 5. Removes no longer needed exches array, em_lock, next_xid, and total_exches from struct fc_exch_mgr, these are not needed after use of per cpu exch pool, also removes not used max_read, last_read from struct fc_exch_mgr. 6. Updates locking notes for exch pool lock with fc_exch lock and uses pool lock in exch allocation, lookup and reset. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit e4bc50bedf0dd6c63f20a7bc0a2b46667664fba1 Author: Vasu Dev Date: Tue Aug 25 13:58:47 2009 -0700 [SCSI] fcoe, libfc: adds per cpu exch pool within exchange manager(EM) Adds per cpu exch pool for these reasons:- 1. Currently an EM instance is shared across all cpus to manage all exches for all cpus. This required em_lock across all cpus for an exch alloc, free, lookup and reset each frame and that made em_lock expensive, so instead having per cpu exch pool with their own per cpu pool lock will likely reduce locking contention in fast path for an exch alloc, free and lookup. 2. Per cpu exch pool will likely improve cache hit ratio since all frames of an exch will be processed on the same cpu on which exch originated. This patch is only prep work to help in keeping complexity of next patch low, so this patch only sets up per cpu exch pool and related helper funcs to be used by next patch. The next patch fully makes use of per cpu exch pool in all code paths ie. tx, rx and reset. Divides per EM exch id range equally across all cpus to setup per cpu exch pool. This division is such that lower bits of exch id carries cpu number info on which exch originated, later a simple bitwise AND operation on exch id of incoming frame with fc_cpu_mask retrieves cpu number info to direct all frames to same cpu on which exch originated. This required a global fc_cpu_mask and fc_cpu_order initialized to max possible cpus number nr_cpu_ids rounded up to 2's power, this will be used in mapping exch id and exch ptr array index in pool during exch allocation, find or reset code paths. Adds a check in fc_exch_mgr_alloc() to ensure specified min_xid lower bits are zero since these bits are used to carry cpu info. Adds and initializes struct fc_exch_pool with all required fields to manage exches in pool. Allocates per cpu struct fc_exch_pool with memory for exches array for range of exches per pool. The exches array memory is followed by struct fc_exch_pool. Adds fc_exch_ptr_get/set() helper functions to get/set exch ptr in pool exches array at specified array index. Increases default FCOE_MAX_XID to 0x0FFF from 0x07EF, so that more exches are available per cpu after above described exch id range division across all cpus to each pool. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a69b06bc5e7b153043db8984564b731f99e014fc Author: Joe Eykholt Date: Tue Aug 25 13:58:42 2009 -0700 [SCSI] fcoe: libfcoe: extra semicolon in CHECK_LOGGING macros causes compile error If using code like this: if (foo) FCOE_DBG("foo\n); else FCOE_DBG("bar\n"); one gets compile errors because FCOE_DBG expands with its own semicolon, making one too many for the if-statement. Remove the offending semicolon in fcoe.h and also a similar case in libfcoe.c. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit cd305ce41be1615dfc72892e0642c6b880f58d95 Author: Robert Love Date: Tue Aug 25 13:58:37 2009 -0700 [SCSI] libfc: Fix misleading debug statement The statement reads, "Exchange timed out, notifying the upper layer", however, this statement is printed whenever the timer is armed. This is confusing to someone debugging the code because every time an exchange is initialized, there is an incorrect statement stating that the timer has already timed out. This patch changes the statement to read, "Exchange timer armed" which is more accurate. This patch also adds a debug statement in the timeout handler to properly indicate that the exchange has timed out. Signed-off-by: Robert Love Signed-off-by: James Bottomley commit ee610c6701875525d5c61fa6e56ddbf3e645b8df Author: Robert Love Date: Tue Aug 25 13:58:31 2009 -0700 [SCSI] fcoe: Add format spacing to FCOE_NETDEV_DBG debug macro There's currently no space between the interface name and the user specified format/string. This patch adds a space and a colon to the output to separate the interface name and the user specified string. So, instead of "ethXfoo" it will read "ethX: foo". Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 70b31c152dc49ef70bd2b34ad53ccbd9bb4116d4 Author: Mike Christie Date: Thu Aug 20 15:11:03 2009 -0500 [SCSI] libiscsi, iscsi_tcp: check suspend bit before each call to xmit_task If we had multiple tasks on the cmd or requeue lists, and iscsi_tcp returns a error, the write_space function can still run and queue iscsi_data_xmit. If it was a legetimate problem and iscsi_conn_failure was run but we raced and iscsi_data_xmit was run first it could miss the suspend bit checks, and start trying to send data again and hit another timeout. A similar problem is present when using cxgb3i. This has libiscsi check the suspend bit before calling the xmit task callout, so we at least do not try sending multiple tasks (one could be sent). Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d1af8a328755f51c9b76157a8692e56520d3fd94 Author: Mike Christie Date: Thu Aug 20 15:11:02 2009 -0500 [SCSI] iscsi_tcp: add new conn error to indicate tcp conn closed If a target closed the connection, we will detect it in the state_changed or data_ready callout. This adds a new conn error value to use for this problem, so it is not confused with when the initiator throws a conn error and drops the connection. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 632248aab3170004e24512a4378fc6d9d7f3b4ac Author: Mike Christie Date: Thu Aug 20 15:11:01 2009 -0500 [SCSI] iscsi class: Add logging to scsi_transport_iscsi.c Logging for connections and sessions in the scsi_transport_iscsi module is now controlled by module parameters. Signed-off-by: Erez Zilber [Mike Christie: newline fixups and modification of some dbg statements] Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit b06fc73a9ebd352065dd4dd3139fb53ed72ac970 Author: Mike Christie Date: Thu Aug 20 15:11:00 2009 -0500 [SCSI] qla4xxx: Removed residual from overrun debug print The residual variable is only valid for udnerrun so do not print it out for the overrun case. Signed-off-by: Karen Higgins [Mike Christie: Fix coding style issues in patch] Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 8afa1439fcff58da8f28c1d083046f229f6ab3de Author: Mike Christie Date: Thu Aug 20 15:10:59 2009 -0500 [SCSI] libiscsi: handle immediate command rejections If we sent multiple pdus as immediate the target could be rejecting some and we have just been dropping the rejection notification. This adds code to handle nop-out rejections, so if a nop-out was sent as a ping and rejected we do not mark the connection bad. Instead we just clean up the timers since we have pdu making a rount trip we know the connection is good. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit d3305f3407fa3e9452079ec6cc8379067456e4aa Author: Mike Christie Date: Thu Aug 20 15:10:58 2009 -0500 [SCSI] libiscsi: don't increment cmdsn if cmd is not sent We increment session->cmdsn at the top of iscsi_prep_scsi_cmd_pdu, but if the prep ecb or prep bidi or init_task calls fails then we leave the session->cmdsn incremented. This moves the cmdsn manipulation to the end of the function when we know it has succeeded. It also adds a session->cmdsn--; in queuecommand for if a driver like bnx2i tries to send a a task from that context but it fails. We do not have to do this in the xmit thread context because that code will retry the same task if the initial call fails. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 523eeac6703a995d58918aaf321f128f75c13108 Author: Hannes Reinecke Date: Thu Aug 20 15:10:57 2009 -0500 [SCSI] iscsi_tcp: Evaluate socket state in data_ready() The network core will call the state_change() callback prior to the data_ready() callback, which might cause us to lose a connection state change. So we have to evaluate the socket state at the end of the data_ready() callback, too. Signed-off-by: Hannes Reinecke Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ac280b670e6d6666667aba02324e2fc50bd96ae7 Author: Andrew Vasquez Date: Thu Aug 20 11:06:05 2009 -0700 [SCSI] qla2xxx: Add asynchronous-login support. ISPs which support this feature include 23xx and above. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit cf53b069f52ae3f83dec1acd339e3c3a2e979478 Author: Andrew Vasquez Date: Thu Aug 20 11:06:04 2009 -0700 [SCSI] qla2xxx: Generalize srb structure usage. Lay groundwork for adding alternative asynchronous operations by generalize and extending the SRB structure. This allows for follow-on patches to add support for: - Asynchronous logins. - ELS/CT passthru requests. - Loopback requests. - Non-blocking mailbox commands (ABTS, Task Management, etc). Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit dc162b63bfc4201ca5c13df3fc8836c56979eb07 Author: Kashyap, Desai Date: Thu Aug 20 13:25:03 2009 +0530 [SCSI] mpt2sas: Bump driver version 01.100.06.00 Bump version to 01.100.06.00 Signed-off-by: Kashyap Desai Reviewed-by:: Eric Moore Signed-off-by: James Bottomley commit 5b768581ea722172f059ad5a5eebea9008961af0 Author: Kashyap, Desai Date: Thu Aug 20 13:24:31 2009 +0530 [SCSI] mpt2sas: cleanup interrupt routine and config_request optimization Cleaned up base_interrupt routine to be more effiecent. Deleted about a third of the config page API by moving redundant code from all the calling functions to _config_request. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit ed79f1280d1bc54f168abcffc8c3e0bf8ffb1873 Author: Kashyap, Desai Date: Thu Aug 20 13:23:49 2009 +0530 [SCSI] mpt2sas: Raid 10 Volume is showing as Raid 1E in dmesg This patch modifies the slave_configure callback so the messages that get sent to system log for RAID1E volumes contain the string "RAID10" instead of "RAID1E". These messages contain information regarding what kind of scsi device is being added. Certain OEMS can enable displaying the RAID10 string instead of RAID1E via manufacturing page 10. The driver will read this config page at driver load time, then determine from the GenericFlags0 bits whether display the RAID10 or RAID1E string, also even drive count is taken into consideration. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Cc: Stable Tree Signed-off-by: James Bottomley commit 34a03bef2202d0c9983a8da0a8abaee37d285847 Author: Kashyap, Desai Date: Thu Aug 20 13:23:19 2009 +0530 [SCSI] mpt2sas: setting SDEV into RUNNING state from Interrupt context Changing SDEV Running state from interrupt context. Previously It was handle in work queue thread. With this change It will not wait for work queue thread to execute scsih_ublock_io_device to put SDEV into Running state. This will reduce delay for Device becoming RUNNING. Modified this patch considering James comment "Not to change SDEV state using scsi_device_set_state API, instead use scsi_internal_device_unblock scsi_internal_device_block API" Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Cc: Stable Tree Signed-off-by: James Bottomley commit cc0f5207664f85da8d0b2ebdacec5daaee0ce95f Author: Kashyap, Desai Date: Thu Aug 20 13:22:39 2009 +0530 [SCSI] mpt2sas: Removed wrapper funtions _scsih_link_change. Deleted the wrapper function called _scsih_link_change. This function was implemented for compatibility reasons only, between different kernel versions. Currently this function is no longer needed. The calling function are converted to calling mpt2sas_transport_update_phy_link_change directly in the transport layer. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Signed-off-by: James Bottomley commit 155dd4c763694222c125e65438d823f58ea653bc Author: Kashyap, Desai Date: Thu Aug 20 13:22:00 2009 +0530 [SCSI] mpt2sas: Prevent sending command to FW while Host Reset This patch renames the flag for indicating host reset from ioc_reset_in_progress to shost_recovery. It also removes the spin locks surrounding the setting of this flag, which are unnecessary. Sanity checks on the shost_recovery flag were added thru out the code so as to prevent sending firmware commands during host reset. Also, the setting of the shost state to SHOST_RECOVERY was removed to prevent deadlocks, this is actually better handled by the shost_recovery flag. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Cc: Stable Tree Signed-off-by: James Bottomley commit cd4e12e8ad246ec5bc23ab04d0da0e6985025620 Author: Kashyap, Desai Date: Thu Aug 20 13:20:54 2009 +0530 [SCSI] mpt2sas : Rescan topology from Interrupt context instead of work thread Following host reset its possible that the controller firmware could assign new handles for devices, as well as adding or deleting devices. There is code in the driver that will rescan the topology folowing host reset; updating device handles, and remove devices that are no longer responding. This patch will improve the responsivness by moving this rescaning from the delayed hotplug worker thread to immediately following the host reset. Signed-off-by: Kashyap Desai Reviewed-by: Eric Moore Cc: Stable Tree Signed-off-by: James Bottomley commit 69cb48750b02034350bc78d8053647d7464cdde0 Author: Ed Lin Date: Tue Aug 18 12:15:14 2009 -0700 [SCSI] stex: Add reset code for st_yel (v2) Add reset related code for st_yel. 1. Set the SS_H2I_INT_RESET bit. 2. Wait for the SS_MU_OPERATIONAL flag. This is also part of normal handshake process so move it to handshake routine. 3. Continue handshake with the firmware. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 41e05a12c7aae16f0381103af3e5ca791e87ce59 Author: Heiko Carstens Date: Tue Aug 18 15:43:32 2009 +0200 [SCSI] zfcp: optimize zfcp_qdio_account Remove expensive ktime_get()/ktime_us_delta() functions from the hot path and use get_clock_monotonic() instead. This elimates seven function calls and avoids a lot of unnecessary calculations. Signed-off-by: Heiko Carstens Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b592e89ac9af521be164490e45c53c93e89c776f Author: Christof Schmitt Date: Tue Aug 18 15:43:31 2009 +0200 [SCSI] zfcp: Remove duplicated code for debug timestamps The timestamp calculation used for s390dbf output is the same in a private zfcp function and in debug.c. Replace both with a common inline function. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0fac3f477b6b520ae7d972ceb6e958e6807c8e1a Author: Christof Schmitt Date: Tue Aug 18 15:43:30 2009 +0200 [SCSI] zfcp: Handle failures during device allocation correctly dev_set_name tries to allocate memory, so check the return value for allocation failures. After dev_set_name succeeds, call device_register as next step to be able to use put_device during error handling. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f4395b652636398eb4712e6f3caf79c9a6c02e21 Author: Sebastian Ott Date: Tue Aug 18 15:43:29 2009 +0200 [SCSI] zfcp: proper use of device register Don't use kfree directly after device registration started. Signed-off-by: Sebastian Ott Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 24680defdb55e073c5e43d14318a164b842d8ce7 Author: Christof Schmitt Date: Tue Aug 18 15:43:28 2009 +0200 [SCSI] zfcp: Replace config semaphore with mutex The config semaphore is only used as a mutex, so replace it with a simple mutex. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 143bb6bfe36d20618d8bf667915fe14d14b8ae2f Author: Christof Schmitt Date: Tue Aug 18 15:43:27 2009 +0200 [SCSI] zfcp: Defer resource allocation to first ccw_set_online call So far, zfcp allocated all resources required for FCP adapters/subchannels when the device was discovered in the ccw_probe callback. If there are lots of unused FCP subchannels attached to a system, this is a waste of resources. To alleviate this, defer the resource allocation to the first call to ccw_set_online. To avoid disruptions during possible following calls to ccw_set_offline and then ccw_set_online, keep the adapter resources until the device is finally being removed via ccw_remove. While doing this, also manage the zfcp erp thread together with all other adapter resources in zfcp_adapter_enqueue/dequeue. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 98fc4d5c8cd9bd1a412cca922feecb54c1c22d8e Author: Christof Schmitt Date: Tue Aug 18 15:43:26 2009 +0200 [SCSI] zfcp: Simplify and update ct/gs and els timeout handling The recommendation for a timeout of 2 * R_A_TOV is the same for ct/gs and els requests, so set it in the common function used for initializing both request types. Besides, the timer inside zfcp should only run longer than the timeout set for the channel, so 10 seconds more should be enough (instead of 60 seconds). Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 347c6a965dc110c91a77f65181fc011ee257a4a6 Author: Christof Schmitt Date: Tue Aug 18 15:43:25 2009 +0200 [SCSI] zfcp: Use kthread API for zfcp erp thread Switch the creation of the zfcp erp thread from the deprecated kernel_thread API to the kthread API. This allows also the removal of some flags in zfcp since the kthread API handles thread creation and shutdown internally. To allow the usage of the kthread_stop function, replace the erp ready semaphore with a waitqueue for waiting until erp actions arrive on the ready queue. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ea945ff84c2ce1089edb7914ffdd998c24c25903 Author: Swen Schillig Date: Tue Aug 18 15:43:24 2009 +0200 [SCSI] zfcp: resolve false usage of dd_data in fc_rport The fc_rport structure reserves a reference where a LLD can put information required in a situation where the fc transport class is triggering LLD callbacks. The zfcp driver was using this variable directly which is discouraged. This patch solves this issue by making this reference unnecessary. In addition the dev_loss_tmo callback is removed, it is not required: zfcp does not access the fc_rport after calling fc_remote_port_delete. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6f53a2d2ecaefa3ffff8864f51a3ae38737e1152 Author: Swen Schillig Date: Tue Aug 18 15:43:23 2009 +0200 [SCSI] zfcp: Apply common naming conventions to zfcp_fc Update the Fibre Channel related code to use the zfcp_fc prefix. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d5a282a1c5084ec7ebd9e6ab9723317f6b3fcd7b Author: Swen Schillig Date: Tue Aug 18 15:43:22 2009 +0200 [SCSI] zfcp: introduce _setup, _destroy for qdio and FC Extract independent data structures and introduce common _setup and _destroy routines for QDIO and Fibre Channel related data structures Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5771710bd5edfafcb8656f49b93690a6fae5a4d2 Author: Swen Schillig Date: Tue Aug 18 15:43:21 2009 +0200 [SCSI] zfcp: Update dbf calls Change the dbf data and functions to use the zfcp_dbf prefix throughout the code. Also change the calls to dbf to use zfcp_dbf instead of zfcp_adapter. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 799b76d09aeee558d18c1f5b93e63f58f1d1fc11 Author: Christof Schmitt Date: Tue Aug 18 15:43:20 2009 +0200 [SCSI] zfcp: Decouple gid_pn requests from erp Don't let the erp wait for gid_pn requests to complete. Instead, queue the gid_pn work, exit erp and let the finished gid_pn work trigger a new port reopen. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 564e1c86c810f9ccfe4300afa402815e3db4886d Author: Swen Schillig Date: Tue Aug 18 15:43:19 2009 +0200 [SCSI] zfcp: Move qdio related data out of zfcp_adapter The zfcp_adapter structure was growing over time to a size of almost one memory page. To reduce the size of the data structure and to seperate different layers, put all qdio related data in the new zfcp_qdio data structure. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 42428f747a8a0db9c6de03e105932316defad65d Author: Swen Schillig Date: Tue Aug 18 15:43:18 2009 +0200 [SCSI] zfcp: Separate qdio attributes from zfcp_fsf_req Split all qdio related attributes out of zfcp_fsf_req and put it in new structure. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 4544683a4b1d4e65ccca8c736bac56a195a5206b Author: Swen Schillig Date: Tue Aug 18 15:43:17 2009 +0200 [SCSI] zfcp: Move workqueue to adapter struct Remove the global driver work queue and replace it with a workqueue local to the adapter. The usage of this workqueue makes this the correct place for the structure. In addition multiple adapters won't block each other due to the serialization of the queued work. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 09a46c6e34ba152169b7400d266d2efb4c391a43 Author: Swen Schillig Date: Tue Aug 18 15:43:16 2009 +0200 [SCSI] zfcp: Remove the useless ZFCP_REQ_AUTO_CLEANUP flag The flag ZFCP_REQ_AUTO_CLEANUP was useless as the ZFCP_STATUS_FSFREQ_CLEANUP flag is there for exactly the same purpose. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a4623c467ff76f9258555d44d68371e10c5406c2 Author: Swen Schillig Date: Tue Aug 18 15:43:15 2009 +0200 [SCSI] zfcp: Improve request allocation through mempools Remove the special case for NO_QTCB requests and optimize the mempool and cache processing for fsfreqs. Especially use seperate mempools for the zfcp_fsf_req and zfcp_qtcb structs. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 058b8647892ed49ba6a0d2c0966a72e20e2e69ff Author: Swen Schillig Date: Tue Aug 18 15:43:14 2009 +0200 [SCSI] zfcp: Replace fsf_req wait_queue with completion The combination wait_queue/wakeup in conjunction with the flag ZFCP_STATUS_FSFREQ_COMPLETED to signal the completion of an fsfreq was not race-safe and can be better solved by a completion. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit bd63eaf4b8d783e6033930e377e516169abcadc4 Author: Swen Schillig Date: Tue Aug 18 15:43:13 2009 +0200 [SCSI] zfcp: fix layering oddities between zfcp_fsf and zfcp_qdio There is no need for the QDIO layer to have knowledge or do things wich are done better by the FSF layer and vice versa. Straighten a few things to improve vividness. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 55c770fa11d21456e02dc7afb9a37404da9c7b4c Author: Christof Schmitt Date: Tue Aug 18 15:43:12 2009 +0200 [SCSI] zfcp: Implicitly close all wka ports An adapter shutdown implicitly closes all open ports. Make sure to mark all WKA ports as offline, not only the directory server. Also make sure that no pending wka port work is running when the adapter is being removed. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 14e242ea55a8b807dc1fb7654941caf68a20cd81 Author: Christof Schmitt Date: Tue Aug 18 15:43:11 2009 +0200 [SCSI] zfcp: Only issue one test link command per port When the FCP channel returns a series of commands with the error status "test link", zfcp will send a series of ELS ADISC commands. This is technically no problem, but it is enough to only issue one test command per remote port. So, track whether a ELS ADISC command is already pending, and do not send a new one if there is already a pending command. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 44f09f73766a97d9c1ff8bf787cfe6b932eabc2c Author: Christof Schmitt Date: Tue Aug 18 15:43:10 2009 +0200 [SCSI] zfcp: Remove useless assignment Using a bitwise OR to not set anything at all is pointless so remove the useless statement. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 2e261af84cdb6a6008a9c361443e35ea646ec683 Author: Christof Schmitt Date: Tue Aug 18 15:43:09 2009 +0200 [SCSI] zfcp: Only collect FSF/HBA debug data for matching trace levels The default trace level is to only trace failed FSF commands. Thus it is not necessary to collect trace data for most FSF commands, since it will be thrown away later. Restructure the FSF/HBA trace infrastructure to first check the trace level in a inline function and only do the expensive data collection for matching trace levels. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit dcd20e2316cdc333dfdee09649dbe3642eb30e75 Author: Christof Schmitt Date: Tue Aug 18 15:43:08 2009 +0200 [SCSI] zfcp: Only collect SCSI debug data for matching trace levels The default trace level is to only trace failed SCSI commands. Thus it is not necessary to collect trace data for most SCSI commands since it will be thrown away later. Restructure the SCSI trace infrastructure to first check the trace level in a inline function and only do the expensive data collection for matching trace levels. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d46f384a89c2378cb7858747faa1935db17e22a8 Author: Christof Schmitt Date: Tue Aug 18 15:43:07 2009 +0200 [SCSI] zfcp: Move debug data from zfcp_data to own data structure The struct zfcp_adapter includes everything related to the debug traces. This introduces dependences between the definitions in zfcp_def.h and zfcp_dbf.h. Move all debug related data structures to a new data structure to break those dependencies and manage the debug data in zfcp_dbf.[hc]. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit a67417ab7eeff45bba55666c0e1083260f3624ee Author: Swen Schillig Date: Tue Aug 18 15:43:06 2009 +0200 [SCSI] zfcp: invalid usage after free of port resources In certain error scenarios ports, rports are getting attached, validated and removed from the systems environment. Depending on the layer this occurs asynchronously. This patch fixes the few races which existed and ensures all references and cross references are cleared at the time they're invalid. In addition fc transports actions are only scheduled when required. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit cdf69bb91b0ef14f0e0a987a4430764e6c290644 Author: Yanqing_Liu@Dell.com Date: Mon Aug 17 14:31:42 2009 -0500 [SCSI] scsi_dh_rdac: add support for next generation of Dell PV array This patch is to add DM support for next generation of Dell PowerVault storage array. Signed-off-by: Yanqing Liu Acked-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 7f1346a9de6a689b03f2c1c3a387e49ec64da267 Author: Tobias Klauser Date: Sat Sep 5 09:28:54 2009 -0400 ext4: Declare seq_operations and file_operations structures as const Signed-off-by: Tobias Klauser Signed-off-by: "Theodore Ts'o" commit 81bd5f6c966cf2f137c2759dfc78abdffcff055e Author: Jan Glauber Date: Sat Sep 5 16:27:35 2009 +1000 crypto: sha-s390 - Fix warnings in import function That patch should fix the warnings. Signed-off-by: Jan Glauber Signed-off-by: Herbert Xu commit c9f1d0389b962521af1e2b699c8ee5e299d77b85 Author: Patrick McHardy Date: Fri Sep 4 06:41:13 2009 +0000 net_sched: fix class grafting errno codes If the parent qdisc doesn't support classes, use EOPNOTSUPP. If the parent class doesn't exist, use ENOENT. Currently EINVAL is returned in both cases. Additionally check whether grafting is supported and remove a now unnecessary graft function from sch_ingress. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b1f57195585e376d1944c32c046359640b06a669 Author: Brian Haley Date: Fri Sep 4 20:36:52 2009 -0700 netlink: silence compiler warning CC net/netlink/genetlink.o net/netlink/genetlink.c: In function ‘genl_register_mc_group’: net/netlink/genetlink.c:139: warning: ‘err’ may be used uninitialized in this function From following the code 'err' is initialized, but set it to zero to silence the warning. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 85bac32c4a52c592b857f2c360cc5ec93a097d70 Author: Steven Rostedt Date: Fri Sep 4 14:24:40 2009 -0400 ring-buffer: only enable ring_buffer_swap_cpu when needed Since the ability to swap the cpu buffers adds a small overhead to the recording of a trace, we only want to add it when needed. Only the irqsoff and preemptoff tracers use this feature, and both are not recommended for production kernels. This patch disables its use when neither irqsoff nor preemptoff is configured. Signed-off-by: Steven Rostedt commit 62f0b3eb5cb58931a02ee4e599e19c80a171e351 Author: Steven Rostedt Date: Fri Sep 4 14:11:34 2009 -0400 ring-buffer: check for swapped buffers in start of committing Because the irqsoff tracer can swap an internal CPU buffer, it is possible that a swap happens between the start of the write and before the committing bit is set (the committing bit will disable swapping). This patch adds a check for this and will fail the write if it detects it. Signed-off-by: Steven Rostedt commit e8165dbb03ed04d798163ee512074b9a9466a9c8 Author: Steven Rostedt Date: Thu Sep 3 19:13:05 2009 -0400 tracing: report error in trace if we fail to swap latency buffer The irqsoff tracer will fail to swap the cpu buffer with the max buffer if it preempts a commit. Instead of ignoring this, this patch makes the tracer report it if the last max latency failed due to preempting a current commit. The output of the latency tracer will look like this: # tracer: irqsoff # # irqsoff latency trace v1.1.5 on 2.6.31-rc5 # -------------------------------------------------------------------- # latency: 112 us, #1/1, CPU#1 | (M:preempt VP:0, KP:0, SP:0 HP:0 #P:4) # ----------------- # | task: -4281 (uid:0 nice:0 policy:0 rt_prio:0) # ----------------- # => started at: save_args # => ended at: __do_softirq # # # _------=> CPU# # / _-----=> irqs-off # | / _----=> need-resched # || / _---=> hardirq/softirq # ||| / _--=> preempt-depth # |||| / # ||||| delay # cmd pid ||||| time | caller # \ / ||||| \ | / bash-4281 1d.s6 265us : update_max_tr_single: Failed to swap buffers due to commit in progress Note the latency time and the functions that disabled the irqs or preemption will still be listed. Signed-off-by: Steven Rostedt commit 659372d3e42a3e17a2e042d38a8bcdb94bfbe797 Author: Steven Rostedt Date: Thu Sep 3 19:11:07 2009 -0400 tracing: add trace_array_printk for internal tracers to use This patch adds a trace_array_printk to allow a tracer to use the trace_printk on its own trace array. Signed-off-by: Steven Rostedt commit 5e404e9ed1b05cafb044bd46792e50197df805ed Author: Joel Becker Date: Fri Feb 13 03:54:22 2009 -0800 ocfs2: Pass ocfs2_caching_info into ocfs_init_*_extent_tree(). With this commit, extent tree operations are divorced from inodes and rely on ocfs2_caching_info. Phew! Signed-off-by: Joel Becker commit a1cf076ba93f9fdf3eb4195f9f43d1e7cb7550f2 Author: Joel Becker Date: Fri Feb 13 03:45:49 2009 -0800 ocfs2: __ocfs2_mark_extent_written() doesn't need struct inode. We only allow unwritten extents on data, so the toplevel ocfs2_mark_extent_written() can use an inode all it wants. But the subfunction isn't even using the inode argument. Signed-off-by: Joel Becker commit f3868d0fa2e20d923087a8296fda47b0afe7f9ba Author: Joel Becker Date: Tue Feb 17 19:46:04 2009 -0800 ocfs2: Teach ocfs2_replace_extent_rec() to use an extent_tree. Don't use a struct inode anymore. Signed-off-by: Joel Becker commit d231129f44e7ead14f5f496e664ff1e3883a7b25 Author: Joel Becker Date: Fri Feb 13 03:43:22 2009 -0800 ocfs2: ocfs2_split_and_insert() no longer needs struct inode. It already has an extent_tree. Signed-off-by: Joel Becker commit dbdcf6a48a40e6c9d7081393d793c4f1c5bb4fcf Author: Joel Becker Date: Fri Feb 13 03:41:26 2009 -0800 ocfs2: ocfs2_remove_extent() no longer needs struct inode. One more generic btree function that is isolated from struct inode. Signed-off-by: Joel Becker commit cbee7e1a6a1a2a3d6eda1f76ffc38a3ed3eeb6cc Author: Joel Becker Date: Fri Feb 13 03:34:15 2009 -0800 ocfs2: ocfs2_add_clusters_in_btree() no longer needs struct inode. One more function that doesn't need a struct inode to pass to its children. Signed-off-by: Joel Becker commit cc79d8c19e9d39446525a1026f1a21761f5d3cd2 Author: Joel Becker Date: Fri Feb 13 03:24:43 2009 -0800 ocfs2: ocfs2_insert_extent() no longer needs struct inode. One more function down, no inode in the entire insert-extent chain. Signed-off-by: Joel Becker commit 92ba470c44c1404ff18ca0f4ecce1e5b116bb933 Author: Joel Becker Date: Fri Feb 13 03:18:34 2009 -0800 ocfs2: Make extent map insertion an extent_tree_operation. ocfs2_insert_extent() wants to insert a record into the extent map if it's an inode data extent. But since many btrees can call that function, let's make it an op on ocfs2_extent_tree. Other tree types can leave it empty. Signed-off-by: Joel Becker commit 627961b77e68b725851cb227db10084bf15f6920 Author: Joel Becker Date: Fri Feb 13 03:14:38 2009 -0800 ocfs2: ocfs2_figure_insert_type() no longer needs struct inode. It's not using it, so remove it from the parameter list. Signed-off-by: Joel Becker commit 1ef61b33148a6b32b6d28383cd72ceeddfc7054d Author: Joel Becker Date: Fri Feb 13 03:12:33 2009 -0800 ocfs2: Remove inode from ocfs2_figure_extent_contig(). It already has an ocfs2_extent_tree and doesn't need the inode. Signed-off-by: Joel Becker commit a29702914ad36443d83b5250b3bfa1bf91e6b239 Author: Joel Becker Date: Fri Feb 13 03:09:54 2009 -0800 ocfs2: Swap inode for extent_tree in ocfs2_figure_merge_contig_type(). We don't want struct inode in generic btree operations. Signed-off-by: Joel Becker commit b4a176515c715f0c6db1759a39cd9c4175e5a23a Author: Joel Becker Date: Fri Feb 13 03:07:09 2009 -0800 ocfs2: ocfs2_extent_contig() only requires the superblock. Don't pass the inode in. We don't want it around for generic btree operations. Signed-off-by: Joel Becker commit 3505bec01829a8f690259517add55c7941a4d3d5 Author: Joel Becker Date: Fri Feb 13 02:57:58 2009 -0800 ocfs2: ocfs2_do_insert_extent() and ocfs2_insert_path() no longer need an inode. They aren't using it, so remove it from their parameter lists. Signed-off-by: Joel Becker commit c38e52bb1c0187186bd3c4a2b318ffe69cd2fdf8 Author: Joel Becker Date: Fri Feb 13 02:56:23 2009 -0800 ocfs2: Give ocfs2_split_record() an extent_tree instead of an inode. Another on the way to generic btree functions. Signed-off-by: Joel Becker commit d562862314a7b131a630f7b912490312387542fb Author: Joel Becker Date: Fri Feb 13 02:54:36 2009 -0800 ocfs2: ocfs2_insert_at_leaf() doesn't need struct inode. Give it an ocfs2_extent_tree and it is happy. Signed-off-by: Joel Becker commit 4c911eefca316f580f174940cd67d561b4b7e6e8 Author: Joel Becker Date: Fri Feb 13 02:50:12 2009 -0800 ocfs2: Make truncating the extent map an extent_tree_operation. ocfs2_remove_extent() wants to truncate the extent map if it's truncating an inode data extent. But since many btrees can call that function, let's make it an op on ocfs2_extent_tree. Other tree types can leave it empty. Signed-off-by: Joel Becker commit 043beebb6c467a07ccd7aa666095f87fade1c28e Author: Joel Becker Date: Fri Feb 13 02:42:30 2009 -0800 ocfs2: ocfs2_truncate_rec() doesn't need struct inode. It's not using it anymore. Remove it from the parameter list. Signed-off-by: Joel Becker commit d401dc12fcced123909eba10334fb5d78866d1a9 Author: Joel Becker Date: Fri Feb 13 02:24:10 2009 -0800 ocfs2: ocfs2_grow_branch() and ocfs2_append_rec_to_path() lose struct inode. ocfs2_grow_branch() not really using it other than to pass it to the subfunctions ocfs2_shift_tree_depth(), ocfs2_find_branch_target(), and ocfs2_add_branch(). The first two weren't it either, so they drop the argument. ocfs2_add_branch() only passed it to ocfs2_adjust_rightmost_branch(), which drops the inode argument and uses the ocfs2_extent_tree as well. ocfs2_append_rec_to_path() can be take an ocfs2_extent_tree instead of the inode. The function ocfs2_adjust_rightmost_records() goes along for the ride. Signed-off-by: Joel Becker commit c495dd24ac00654f99540f533185e1fcc9534009 Author: Joel Becker Date: Fri Feb 13 02:19:11 2009 -0800 ocfs2: ocfs2_try_to_merge_extent() doesn't need struct inode. It's not using it, so remove it from the parameter list. Signed-off-by: Joel Becker commit 4fe82c312a7d975a9d0f591dc9180c1197ee4270 Author: Joel Becker Date: Fri Feb 13 02:16:08 2009 -0800 ocfs2: ocfs2_merge_rec_left/right() no longer need struct inode. Drop it from the parameters - they already have ocfs2_extent_list. Signed-off-by: Joel Becker commit 70f18c08b476e315c8ee17ea34b55ea1957e7e7d Author: Joel Becker Date: Fri Feb 13 02:09:31 2009 -0800 ocfs2: ocfs2_rotate_tree_left() no longer needs struct inode. It already gets ocfs2_extent_tree, so we can just use that. This chains to the same modification for ocfs2_remove_rightmost_path() and ocfs2_rotate_rightmost_leaf_left(). Signed-off-by: Joel Becker commit e46f74dc357947e2aed9bdd63cf335c5fd23810b Author: Joel Becker Date: Thu Feb 12 19:47:43 2009 -0800 ocfs2: __ocfs2_rotate_tree_left() doesn't need struct inode. It already has struct ocfs2_extent_tree, which has the caching info. So we don't need to pass it struct inode. Signed-off-by: Joel Becker commit 1e2dd63fe0b6e99b81904a61090db801978b9520 Author: Joel Becker Date: Thu Feb 12 19:45:28 2009 -0800 ocfs2: ocfs2_rotate_subtree_left() doesn't need struct inode. It already has struct ocfs2_extent_tree, which has the caching info. So we don't need to pass it struct inode. Signed-off-by: Joel Becker commit 09106bae05c3350e8d0ef0ede90b1c3da4bda2f8 Author: Joel Becker Date: Thu Feb 12 19:43:57 2009 -0800 ocfs2: ocfs2_update_edge_lengths() doesn't need struct inode. Pass in the extent tree, which is all we need. Signed-off-by: Joel Becker commit 1bbf0b8d606645c7596ee641acfbf042765c9719 Author: Joel Becker Date: Thu Feb 12 19:42:08 2009 -0800 ocfs2: ocfs2_rotate_tree_right() doesn't need struct inode. We don't need struct inode in ocfs2_rotate_tree_right() anymore. Signed-off-by: Joel Becker commit 6136ca5f5f9fd38da399e9ff9380f537c1b3b901 Author: Joel Becker Date: Thu Feb 12 19:32:43 2009 -0800 ocfs2: Drop struct inode from ocfs2_extent_tree_operations. We can get to the inode from the caching information. Other parent types don't need it. Signed-off-by: Joel Becker commit 7dc028056750328e74ca807041c822068384fe16 Author: Joel Becker Date: Thu Feb 12 19:20:13 2009 -0800 ocfs2: Pass ocfs2_extent_tree to ocfs2_get_subtree_root() Get rid of the inode argument. Use extent_tree instead. This means a few more functions have to pass an extent_tree around. Signed-off-by: Joel Becker commit 5c601aba8c5d9d5f944cf02b59e3288dd72ae6cf Author: Joel Becker Date: Thu Feb 12 19:10:13 2009 -0800 ocfs2: Get inode out of ocfs2_rotate_subtree_root_right(). Pass the ocfs2_extent_list down through ocfs2_rotate_tree_right() and get rid of struct inode in ocfs2_rotate_subtree_root_right(). Signed-off-by: Joel Becker commit 4619c73e7c9bd10bac6b60925fa28d5a2eeaf6ed Author: Joel Becker Date: Thu Feb 12 19:02:36 2009 -0800 ocfs2: ocfs2_complete_edge_insert() doesn't need struct inode at all. Completely unused argument. Get rid of it. Signed-off-by: Joel Becker commit 6641b0ce3274d979338cb67b2f562189dcbc1c28 Author: Joel Becker Date: Thu Feb 12 18:57:52 2009 -0800 ocfs2: Pass ocfs2_extent_tree to ocfs2_unlink_path() ocfs2_unlink_path() doesn't need struct inode, so let's pass it struct ocfs2_extent_tree. Signed-off-by: Joel Becker commit 42a5a7a9a5abf9a566b91c51137921957b9a14e4 Author: Joel Becker Date: Thu Feb 12 18:49:19 2009 -0800 ocfs2: ocfs2_create_new_meta_bhs() doesn't need struct inode. Pass struct ocfs2_extent_tree into ocfs2_create_new_meta_bhs(). It no longer needs struct inode or ocfs2_super. Signed-off-by: Joel Becker commit facdb77f54f09a33baf6b649496f5dd1d7922a7e Author: Joel Becker Date: Thu Feb 12 18:08:48 2009 -0800 ocfs2: ocfs2_find_path() only needs the caching info ocfs2_find_path and ocfs2_find_leaf() walk our btrees, reading extent blocks. They need struct ocfs2_caching_info for that, but not struct inode. Signed-off-by: Joel Becker commit 3d03a305ded8057155bd3c801e64ffef9f534827 Author: Joel Becker Date: Thu Feb 12 17:49:26 2009 -0800 ocfs2: Pass ocfs2_caching_info to ocfs2_read_extent_block(). extent blocks belong to btrees on more than just inodes, so we want to pass the ocfs2_caching_info structure directly to ocfs2_read_extent_block(). A number of places in alloc.c can now drop struct inode from their argument list. Signed-off-by: Joel Becker commit d9a0a1f83bf083b55b3c1f16efddecc31abace61 Author: Joel Becker Date: Thu Feb 12 17:32:34 2009 -0800 ocfs2: Store the ocfs2_caching_info on ocfs2_extent_tree. What do we cache? Metadata blocks. What are most of our non-inode metadata blocks? Extent blocks for our btrees. struct ocfs2_extent_tree is the main structure for managing those. So let's store the associated ocfs2_caching_info there. This means that ocfs2_et_root_journal_access() doesn't need struct inode anymore, and any place that has an et can refer to et->et_ci instead of INODE_CACHE(inode). Signed-off-by: Joel Becker commit 0cf2f7632b1789b811ab20b611c4156e6de2b055 Author: Joel Becker Date: Thu Feb 12 16:41:25 2009 -0800 ocfs2: Pass struct ocfs2_caching_info to the journal functions. The next step in divorcing metadata I/O management from struct inode is to pass struct ocfs2_caching_info to the journal functions. Thus the journal locks a metadata cache with the cache io_lock function. It also can compare ci_last_trans and ci_created_trans directly. This is a large patch because of all the places we change ocfs2_journal_access..(handle, inode, ...) to ocfs2_journal_access..(handle, INODE_CACHE(inode), ...). Signed-off-by: Joel Becker commit 292dd27ec76b96cebcef576f330ab121f59ccf05 Author: Joel Becker Date: Thu Feb 12 15:41:59 2009 -0800 ocfs2: move ip_created_trans to struct ocfs2_caching_info Similar ip_last_trans, ip_created_trans tracks the creation of a journal managed inode. This specifically tracks what transaction created the inode. This is so the code can know if the inode has ever been written to disk. This behavior is desirable for any journal managed object. We move it to struct ocfs2_caching_info as ci_created_trans so that any object using ocfs2_caching_info can rely on this behavior. Signed-off-by: Joel Becker commit 66fb345ddd2d343e36692da0ff66126d7a99dc1b Author: Joel Becker Date: Thu Feb 12 15:24:40 2009 -0800 ocfs2: move ip_last_trans to struct ocfs2_caching_info We have the read side of metadata caching isolated to struct ocfs2_caching_info, now we need the write side. This means the journal functions. The journal only does a couple of things with struct inode. This change moves the ip_last_trans field onto struct ocfs2_caching_info as ci_last_trans. This field tells the journal whether a pending journal flush is required. Signed-off-by: Joel Becker commit 8cb471e8f82506937fe5e2e9fb0bf90f6b1f1170 Author: Joel Becker Date: Tue Feb 10 20:00:41 2009 -0800 ocfs2: Take the inode out of the metadata read/write paths. We are really passing the inode into the ocfs2_read/write_blocks() functions to get at the metadata cache. This commit passes the cache directly into the metadata block functions, divorcing them from the inode. Signed-off-by: Joel Becker commit 6e5a3d7538ad4e46a976862f593faf65750e37cc Author: Joel Becker Date: Tue Feb 10 19:00:37 2009 -0800 ocfs2: Change metadata caching locks to an operations structure. We don't really want to cart around too many new fields on the ocfs2_caching_info structure. So let's wrap all our access of the parent object in a set of operations. One pointer on caching_info, and more flexibility to boot. Signed-off-by: Joel Becker commit 47460d65a483529b3bc2bf6ccf461ad45f94df83 Author: Joel Becker Date: Tue Feb 10 16:05:07 2009 -0800 ocfs2: Make the ocfs2_caching_info structure self-contained. We want to use the ocfs2_caching_info structure in places that are not inodes. To do that, it can no longer rely on referencing the inode directly. This patch moves the flags to ocfs2_caching_info->ci_flags, stores pointers to the parent's locks on the ocfs2_caching_info, and renames the constants and flags to reflect its independant state. Signed-off-by: Joel Becker commit e77405ad80f53966524b5c31244e13fbbbecbd84 Author: Steven Rostedt Date: Wed Sep 2 14:17:06 2009 -0400 tracing: pass around ring buffer instead of tracer The latency tracers (irqsoff and wakeup) can swap trace buffers on the fly. If an event is happening and has reserved data on one of the buffers, and the latency tracer swaps the global buffer with the max buffer, the result is that the event may commit the data to the wrong buffer. This patch changes the API to the trace recording to be recieve the buffer that was used to reserve a commit. Then this buffer can be passed in to the commit. Signed-off-by: Steven Rostedt commit f633903af2ceb0cec07d45e499a072b6593d0ed1 Author: Steven Rostedt Date: Fri Sep 4 12:35:16 2009 -0400 tracing: make tracing_reset safe for external use Reseting the trace buffer without first disabling the buffer and waiting for any writers to complete, can corrupt the ring buffer. This patch makes the external version of tracing_reset safe from corruption by disabling the ring buffer and calling synchronize_sched. This version can no longer be called from interrupt context. But all those callers have been removed. Signed-off-by: Steven Rostedt commit 2f26ebd549b9ab55ac756b836ec759c11fe93f81 Author: Steven Rostedt Date: Tue Sep 1 11:06:29 2009 -0400 tracing: use timestamp to determine start of latency traces Currently the latency tracers reset the ring buffer. Unfortunately if a commit is in process (due to a trace event), this can corrupt the ring buffer. When this happens, the ring buffer will detect the corruption and then permanently disable the ring buffer. The bug does not crash the system, but it does prevent further tracing after the bug is hit. Instead of reseting the trace buffers, the timestamp of the start of the trace is used instead. The buffers will still contain the previous data, but the output will not count any data that is before the timestamp of the trace. Note, this only affects the static trace output (trace) and not the runtime trace output (trace_pipe). The runtime trace output does not make sense for the latency tracers anyway. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt commit f1751c57f7bb816c9b6b4cb5d79c703aaa7199da Author: Vlad Yasevich Date: Fri Sep 4 18:21:03 2009 -0400 sctp: Catch bogus stream sequence numbers Since our TSN map is capable of holding at most a 4K chunk gap, there is no way that during this gap, a stream sequence number (unsigned short) can wrap such that the new number is smaller then the next expected one. If such a case is encountered, this is a protocol violation. Signed-off-by: Vlad Yasevich commit be2971438dec2e2d041af4701472a93a7dd03642 Author: Wei Yongjun Date: Fri Sep 4 14:34:06 2009 +0800 sctp: remove dup code in net/sctp/output.c Use sctp_packet_reset() instead of dup code. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 9237ccbc0b22b5aa5396463ba0b14dc5efe5b98c Author: Wei Yongjun Date: Fri Sep 4 14:33:19 2009 +0800 sctp: turn flags in 'struct sctp_association' into bit fields This shrinks the size of struct sctp_association a little. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 723884339f90a9c420783135168cc1045750eb5d Author: Bhaskar Dutta Date: Thu Sep 3 17:25:47 2009 +0530 sctp: Sysctl configuration for IPv4 Address Scoping This patch introduces a new sysctl option to make IPv4 Address Scoping configurable . In networking environments where DNAT rules in iptables prerouting chains convert destination IP's to link-local/private IP addresses, SCTP connections fail to establish as the INIT chunk is dropped by the kernel due to address scope match failure. For example to support overlapping IP addresses (same IP address with different vlan id) a Layer-5 application listens on link local IP's, and there is a DNAT rule that maps the destination IP to a link local IP. Such applications never get the SCTP INIT if the address-scoping draft is strictly followed. This sysctl configuration allows SCTP to function in such unconventional networking environments. Sysctl options: 0 - Disable IPv4 address scoping draft altogether 1 - Enable IPv4 address scoping (default, current behavior) 2 - Enable address scoping but allow IPv4 private addresses in init/init-ack 3 - Enable address scoping but allow IPv4 link local address in init/init-ack Signed-off-by: Bhaskar Dutta Signed-off-by: Vlad Yasevich commit 8da645e101a8c20c6073efda3c7cc74eec01b87f Author: Vlad Yasevich Date: Fri Sep 4 18:21:01 2009 -0400 sctp: Get rid of an extra routing lookup when adding a transport. We used to perform 2 routing lookups for a new transport: one just for path mtu detection, and one to actually route to destination and path mtu update when sending a packet. There is no point in doing both of them, especially since the first one just for path mtu doesn't take into account source address and sometimes gives the wrong route, causing path mtu updates anyway. We now do just the one call to do both route to destination and get path mtu updates. Signed-off-by: Vlad Yasevich commit a803c942303e6a4ef0ab6b80114529852cffa058 Author: Vlad Yasevich Date: Fri Sep 4 18:21:01 2009 -0400 sctp: Turn flags in 'sctp_packet' into bit fields This shrinks the size of sctp_packet a little. Signed-off-by: Vlad Yasevich commit 4007cc88ceec8892b74792f0a10983b140beae72 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Correctly track if AUTH has been bundled. We currently track if AUTH has been bundled using the 'auth' pointer to the chunk. However, AUTH is disallowed after DATA is already in the packet, so we need to instead use the 'has_auth' field. Signed-off-by: Vlad Yasevich commit d521c08f4c16d27f193718da778503a6472501da Author: Wei Yongjun Date: Wed Sep 2 13:05:33 2009 +0800 sctp: fix to reset packet information after packet transmit The packet information does not reset after packet transmit, this may cause some problems such as following DATA chunk be sent without AUTH chunk, even if the authentication of DATA chunk has been requested by the peer. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 31b02e1549406efa346534acad956a42bc3f28c4 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Failover transmitted list on transport delete Add-IP feature allows users to delete an active transport. If that transport has chunks in flight, those chunks need to be moved to another transport or association may get into unrecoverable state. Reported-by: Rafael Laufer Signed-off-by: Vlad Yasevich commit f68b2e05f326971cd76c65aa91a1a41771dd7485 Author: Vlad Yasevich Date: Fri Sep 4 18:21:00 2009 -0400 sctp: Fix SCTP_MAXSEG socket option to comply to spec. We had a bug that we never stored the user-defined value for MAXSEG when setting the value on an association. Thus future PMTU events ended up re-writing the frag point and increasing it past user limit. Additionally, when setting the option on the socket/endpoint, we effect all current associations, which is against spec. Now, we store the user 'maxseg' value along with the computed 'frag_point'. We inherit 'maxseg' from the socket at association creation and use it as an upper limit for 'frag_point' when its set. Signed-off-by: Vlad Yasevich commit cb95ea32a457871f72752164de8d94fa20f4703c Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Don't do NAGLE delay on large writes that were fragmented small SCTP will delay the last part of a large write due to NAGLE, if that part is smaller then MTU. Since we are doing large writes, we might as well send the last portion now instead of waiting untill the next large write happens. The small portion will be sent as is regardless, so it's better to not delay it. This is a result of much discussions with Wei Yongjun and Doug Graham . Many thanks go out to them. Signed-off-by: Vlad Yasevich commit b29e7907288554db9c987c36facfd0304ee8ff5a Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Nagle delay should be based on path mtu The decision to delay due to Nagle should be based on the path mtu and future packet size. We currently incorrectly base it on 'frag_point' which is the SCTP DATA segment size, and also we do not count DATA chunk header overhead in the computation. This actuall allows situations where a user can set low 'frag_point', and then send small messages without delay. Signed-off-by: Vlad Yasevich commit d4d6fb5787a6ef6e1dab731d617ebda6be73d561 Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: Try not to change a_rwnd when faking a SACK from SHUTDOWN. We currently set a_rwnd to 0 when faking a SACK from SHUTDOWN. This results in an hung association if the remote only uses SHUTDOWNs (which it's allowed to do) to acknowlege DATA when closing. The reason for that is that we simply honor the a_rwnd from the sack, but since we faked it to be 0, we enter 0-window probing. The fix is to use the peers old rwnd and add our flight size to it. Signed-off-by: Vlad Yasevich commit 4d3c46e6833208428d366630aa708f6876e61fc1 Author: Vlad Yasevich Date: Fri Sep 4 18:20:59 2009 -0400 sctp: drop a_rwnd to 0 when receive buffer overflows. SCTP has a problem that when small chunks are used, it is possible to exhaust the receiver buffer without fully closing receive window. This happens due to all overhead that we have account for with small messages. To fix this, when receive buffer is exceeded, we'll drop the window to 0 and save the 'drop' portion. When application starts reading data and freeing up recevie buffer space, we'll wait until we've reached the 'drop' window and then add back this 'drop' one mtu at a time. This worked well in testing and under stress produced rather even recovery. Signed-off-by: Vlad Yasevich commit 33ce828131ca6655b48bd2070dadd80f816dfe0d Author: Vlad Yasevich Date: Fri Sep 4 18:20:58 2009 -0400 sctp: Clear fast_recovery on the transport when T3 timer expires. If T3 timer expires, we are retransmitting data due to timeout any any fast recovery is null and void. We can clear the fast recovery flag. Signed-off-by: Vlad Yasevich commit b9f8478682445c2a3e0b87718a0563ef543ad94e Author: Vlad Yasevich Date: Wed Aug 26 09:36:25 2009 -0400 sctp: Fix error count increments that were results of HEARTBEATS SCTP RFC 4960 states that unacknowledged HEARTBEATS count as errors agains a given transport or endpoint. As such, we should increment the error counts for only for unacknowledged HB, otherwise we detect failure too soon. This goes for both the overall error count and the path error count. Now, there is a difference in how the detection is done between the two. The path error detection is done after the increment, so to detect it properly, we actually need to exceed the path threshold. The overall error detection is done _BEFORE_ the increment. Thus to detect the failure, it's enough for the error count to match the threshold. This is why all the state functions use '>=' to detect failure, while path detection uses '>'. Thanks goes to Chunbo Luo who first proposed patches to fix this issue and made me re-read the spec and the code to figure out how this cruft really works. Signed-off-by: Vlad Yasevich commit d71a09ed555e52299b5d3ad8945bdf84f65423a6 Author: Alexey Dobriyan Date: Sun Aug 23 23:11:36 2009 +0400 sctp: use proc_create() create_proc_entry() is deprecated (not formally, though). Signed-off-by: Alexey Dobriyan Signed-off-by: Vlad Yasevich commit dadb50cc1ada2906594df83d991f0bc388039bb6 Author: Wei Yongjun Date: Sat Aug 22 11:27:37 2009 +0800 sctp: fix check the chunk length of received HEARTBEAT-ACK chunk The receiver of the HEARTBEAT should respond with a HEARTBEAT ACK that contains the Heartbeat Information field copied from the received HEARTBEAT chunk. So the received HEARTBEAT-ACK chunk must have a length of: sizeof(sctp_chunkhdr_t) + sizeof(sctp_sender_hb_info_t) A badly formatted HB-ACK chunk, it is possible that we may access invalid memory. We should really make sure that the chunk format is what we expect, before attempting to touch the data. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit a2f36eec5647548fa94fb68e2843b00fb9c0d46b Author: Wei Yongjun Date: Sat Aug 22 11:24:00 2009 +0800 sctp: drop SHUTDOWN chunk if the TSN is less than the CTSN If Cumulative TSN Ack field of SHUTDOWN chunk is less than the Cumulative TSN Ack Point then drop the SHUTDOWN chunk. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 9c5c62be2f794c7cee533d856f9f34c3cf21ff1b Author: Vlad Yasevich Date: Mon Aug 10 13:51:03 2009 -0400 sctp: Send user messages to the lower layer as one Currenlty, sctp breaks up user messages into fragments and sends each fragment to the lower layer by itself. This means that for each fragment we go all the way down the stack and back up. This also discourages bundling of multiple fragments when they can fit into a sigle packet (ex: due to user setting a low fragmentation threashold). We introduce a new command SCTP_CMD_SND_MSG and hand the whole message down state machine. The state machine and the side-effect parser will cork the queue, add all chunks from the message to the queue, and then un-cork the queue thus causing the chunks to get transmitted. Signed-off-by: Vlad Yasevich commit 5d7ff261ef497c62f54c39effc259910a28b313d Author: Vlad Yasevich Date: Fri Aug 7 13:23:28 2009 -0400 sctp: Try to encourage SACK bundling with DATA. If the association has a SACK timer pending and now DATA queued to be send, we'll try to bundle the SACK with the next application send. As such, try encourage bundling by accounting for SACK in the size of the first chunk fragment. Signed-off-by: Vlad Yasevich commit e83963b769a2c38b436f5dcf82309f5cbc2f6012 Author: Vlad Yasevich Date: Fri Aug 7 10:43:07 2009 -0400 sctp: Generate SACKs when actually sending outbound DATA We are now trying to bundle SACKs when we have outbound DATA to send. However, there are situations where this outbound DATA will not be sent (due to congestion or available window). In such cases it's ok to wait for the timer to expire. This patch refactors the sending code so that betfore attempting to bundle the SACK we check to see if the DATA will actually be transmitted. Based on eirlier works for Doug Graham and Wei Youngjun . Signed-off-by: Vlad Yasevich commit 3e62abf92f34d75fe22352d8d102e3cd2755804d Author: Vlad Yasevich Date: Fri Sep 4 18:20:56 2009 -0400 sctp: Fix data segmentation with small frag_size Since an application may specify the maximum SCTP fragment size that all data should be fragmented to, we need to fix how we do segmentation. Right now, if a user specifies a small fragment size, the segment size can go negative in the presence of AUTH or COOKIE_ECHO bundling. What we need to do is track the largest possbile DATA chunk that can fit into the mtu. Then if the fragment size specified is bigger then this maximum length, we'll shrink it down. Otherwise, we just use the smaller segment size without changing it further. Signed-off-by: Vlad Yasevich commit bec9640bb0d451813b1bb1f2cc13a5bfb17c3e48 Author: Vlad Yasevich Date: Thu Jul 30 18:08:28 2009 -0400 sctp: Disallow new connection on a closing socket If a socket has a lot of association that are in the process of of being closed/aborted, it is possible for a remote to establish new associations during the time period that the old ones are shutting down. If this was a result of a close() call, there will be no socket and will cause a memory leak. We'll prevent this by setting the socket state to CLOSING and disallow new associations when in this state. Signed-off-by: Vlad Yasevich commit af87b823ca2b05257192e8d48dc686db6173d7b2 Author: Doug Graham Date: Wed Jul 29 12:05:57 2009 -0400 sctp: Fix piggybacked ACKs This patch corrects the conditions under which a SACK will be piggybacked on a DATA packet. The previous condition was incorrect due to a misinterpretation of RFC 4960 and/or RFC 2960. Specifically, the following paragraph from section 6.2 had not been implemented correctly: Before an endpoint transmits a DATA chunk, if any received DATA chunks have not been acknowledged (e.g., due to delayed ack), the sender should create a SACK and bundle it with the outbound DATA chunk, as long as the size of the final SCTP packet does not exceed the current MTU. See Section 6.2. When about to send a DATA chunk, the code now checks to see if the SACK timer is running. If it is, we know we have a SACK to send to the peer, so we append the SACK (assuming available space in the packet) and turn off the timer. For a simple request-response scenario, this will result in the SACK being bundled with the response, meaning the the SACK is received quickly by the client, and also meaning that no separate SACK packet needs to be sent by the server to acknowledge the request. Prior to this patch, a separate SACK packet would have been sent by the server SCTP only after its delayed-ACK timer had expired (usually 200ms). This is wasteful of bandwidth, and can also have a major negative impact on performance due the interaction of delayed ACKs with the Nagle algorithm. Signed-off-by: Doug Graham Signed-off-by: Vlad Yasevich commit b4e8c6a7e6caa9c80edcbfb78fc50962b792d5f0 Author: Rami Rosen Date: Thu Jul 30 09:38:43 2009 +0300 sctp: remove unused union (sctp_cmsg_data_t) definition This patch removes an unused union definition (sctp_cmsg_data_t) from include/net/sctp/user.h. Signed-off-by: Rami Rosen Signed-off-by: Vlad Yasevich commit 40187886bc31aee9c5c6f08f46cde4ab618e9736 Author: Vlad Yasevich Date: Tue Jun 23 11:28:05 2009 -0400 sctp: release cached route when the transport goes down. When the sctp transport is marked down, we can release the cached route and force a new lookup when attempting to use this transport for anything. This way, if a better route or source address is available, we'll try to use it. Signed-off-by: Vlad Yasevich commit 3cd9749c0b758223a71e059fa44c2234547d9ee0 Author: Wei Yongjun Date: Tue Jun 16 10:07:23 2009 +0800 sctp: update the route for non-active transports after addresses are added Update the route and saddr entries for the non-active transports as some of the added addresses can be used as better source addresses, or may be there is a better route. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 44e65c1ef1e771b32c82546ebfba910137aa8871 Author: Wei Yongjun Date: Tue Jun 16 14:48:24 2009 +0800 sctp: check the unrecognized ASCONF parameter before access it This patch fix to check the unrecognized ASCONF parameter before access it. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 425e0f685230986511b1fdf80340e2f28b214c5d Author: Wei Yongjun Date: Tue Jun 16 14:47:30 2009 +0800 sctp: avoid overwrite the return value of sctp_process_asconf_ack() The return value of sctp_process_asconf_ack() may be overwritten while process parameters with no error. This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 4a88d44ab17da5f8a238050d1b43dfd2e204bc2f Author: Albin Tonnerre Date: Mon Aug 31 22:40:08 2009 +0200 tracing: Remove mentioning of legacy latency_trace file from documentation The latency_trace file got removed a while back by commit 886b5b73d71e4027d7dc6c14f5f7ab102201ea6b and has been replaced by the latency-format option. This patch fixes the documentation by reflecting this change. Changes since v1: - mention that the trace format is configurable through the latency-format option - Fix a couple mistakes related to the timestamps Signed-off-by: Albin Tonnerre Cc: Steven Rostedt LKML-Reference: <20090831204007.GE4237@pc-ras4041.res.insa> Signed-off-by: Frederic Weisbecker commit c58b43218c1a04a0bcf338ea47406c759ac28e11 Author: Li Zefan Date: Tue Sep 1 13:31:38 2009 +0800 tracing/filters: Defer pred allocation, fix memory leak The predicates of an event and their filter structure are allocated when we create an event filter for the first time. These objects must be created once but each time we come with a new filter, we overwrite such pre-existing allocation, if any. Thus, this patch checks if the filter has already been allocated before going ahead. Spotted-by: Frederic Weisbecker Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Tom Zanussi Cc: Masami Hiramatsu LKML-Reference: <4A9CB1BA.3060402@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 5e17ee74b541b56b5d4cfab6502a5116f224e32c Author: Zhenyu Wang Date: Thu Sep 3 09:30:06 2009 +0800 drm/i915: do dynamic clock freq control only in kernel modesetting Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 57cdaf90f5f607eb029356074fefb66c9b1c0659 Author: Keith Packard Date: Fri Sep 4 13:07:54 2009 +0800 drm/I915: Use the CRT DDC to get the EDID for DVI-connector on Mac mac Mini's have a single DDC line on the DVI connector, shared between the analog link and the digital link. So, if DDC isn't detected on GPIOE (the usual SDVO DDC link), try GPIOA (the usual VGA DDC link) when there isn't a VGA monitor connected. Signed-off-by: Keith Packard Signed-off-by: Zhao Yakui Signed-off-by: Eric Anholt commit 553bd149bb2de7848b2b84642876f27202421368 Author: Zhenyu Wang Date: Wed Sep 2 10:57:52 2009 +0800 drm/i915: fix tiling on IGDNG It seems that on IGDNG the same swizzling setup always applys. And front buffer tiling needs to set address swizzle in display arb control too. Fix plane tricle feed setting in v1 which should be disable bit, and always setup address swizzle to let hardware care for buffer tiling in all cases. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 65655d4ab72456c4c3e503fead55fabf8211a79d Author: Daniel Vetter Date: Tue Aug 11 16:05:31 2009 +0200 drm/i915: modeset: always set intel_crtc->dpms_mode by moving the assignment up. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit c05422d52ee6b4cff8b63eab1a7351780518fc5e Author: Daniel Vetter Date: Tue Aug 11 16:05:30 2009 +0200 drm/i915: remove open-coded drm_mode_object_find And clean up a small whitespace goof-up in the same function, while I was looking at it. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 67cf781bea52d461b7c8b63b23be19e87c33d7bf Author: Eric Anholt Date: Mon Aug 31 08:52:02 2009 -0700 drm/i915: Make the downclocking debug code be under DRM_DEBUG not DRM_ERROR. Signed-off-by: Eric Anholt Reviewed-by: Jesse Barnes commit d6073d775c4b26107351cb8d5e21cec4391f6314 Author: Kyle McMartin Date: Tue May 26 12:27:34 2009 -0400 drm/i915: i915_modeset is signed Signed-off-by: Kyle McMartin Signed-off-by: Eric Anholt commit 652c393a3368af84359da37c45afc35a91144960 Author: Jesse Barnes Date: Mon Aug 17 13:31:43 2009 -0700 drm/i915: add dynamic clock frequency control There are several sources of unnecessary power consumption on Intel graphics systems. The first is the LVDS clock. TFTs don't suffer from persistence issues like CRTs, and so we can reduce the LVDS refresh rate when the screen is idle. It will be automatically upclocked when userspace triggers graphical activity. Beyond that, we can enable memory self refresh. This allows the memory to go into a lower power state when the graphics are idle. Finally, we can drop some clocks on the gpu itself. All of these things can be reenabled between frames when GPU activity is triggered, and so there should be no user visible graphical changes. Signed-off-by: Jesse Barnes Signed-off-by: Matthew Garrett Signed-off-by: Eric Anholt commit 043029655816ed4cfc2ed247020ef97e5d637392 Author: Shaohua Li Date: Mon Aug 24 10:25:23 2009 +0800 drm/i915: Support IGD EOS In the event that any one of the DAC analog outputs (R,G,B) were driven at full-scale (white video) or some analog level close to full-scale voltage, and if the video cable were then disconnected, the analog video voltage level would exceed the maximum electrical overstress limit of the native (thin-oxide) transistors thus causing a long-term reliability concern. The electrical overstress condition occurs in this particular case. This patch address the IGD EOS (electrical overstress condition) issue. When the EOS interrupt occurs, OS should disable DAC and then disable EOS, then the normal hotplug operation follows. TODO: it appears the normal unplug interrupt is missed as reported by Li Peng, need more checks here. Signed-off-by: Shaohua Li Signed-off-by: Eric Anholt commit ce6feabd1b38f9adf4a962d71bc4762047e8f889 Author: Zhao Yakui Date: Mon Aug 24 13:50:26 2009 +0800 drm/i915: Enable PAL and SECAM format and add the propery for SDVO-TV Currently SDVO TV only support NTSC-M format. In this patch we introduce PAL and SECAM formats available and create seting-format property at init time. When user dynamically chose preferred format by xrandr command, it will refine all modelines provided by SDVO device, then instruct SDVO device to execute. At the same time the property is added for SDVO-TV so that the SDVO-TV mode can be changed by using xrandr. https://bugs.freedesktop.org/show_bug.cgi?id=22891 Signed-off-by: Ma Ling review-by: Zhao Yakui Signed-off-by: Eric Anholt commit 213c2e643145fc7d8a67f2d5d54ee0f6d7193e2e Author: Ma Ling Date: Mon Aug 24 13:50:25 2009 +0800 drm/i915: select TV format according to connector type For integrated TV there are 3 connector types: S-VIDEO, Composite and Component(YprPb). Those tv formats whose component flag is true should be assigned to Component connector, others are for S-VIDEO and Composite. The patch intends to find appropriate tv format for each connector. In such case it will return the correct modeline to user space. Otherwise it will return the incorrect modeline when S-video/composite is connected. Signed-off-by: Ma Ling reviewed-by: Zhao Yakui Signed-off-by: Eric Anholt commit 5f6a169598938d9e5703f06b64c4f4f972561ce5 Author: Zhenyu Wang Date: Mon Aug 10 21:37:24 2009 +0800 drm/i915: update debugfs interrupt info on IGDNG Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 9e3a6d155ed0a7636b926a798dd7221ea107b274 Author: Ben Gamari Date: Wed Jul 1 22:26:53 2009 -0400 drm/i915: Add i915 register dumping debugfs file Add a debugfs file to dump the entire register range. Here we assume that reading write-only/reserved registers won't make the chip angry. Seems to hold true, thankfully. Signed-off-by: Ben Gamari Signed-off-by: Eric Anholt commit 27c202ad7f141d4efa9c64e30bf4a4d3bcd799ae Author: Ben Gamari Date: Wed Jul 1 22:26:52 2009 -0400 drm/i915: Move i915_gem_debugfs.c to i915_debugfs.c Signed-off-by: Ben Gamari [anholt: hand-applied for conflicts] Signed-off-by: Eric Anholt commit 6b58e7f146f8d79c08f62087f928e1f01747de71 Author: Ulrich Drepper Date: Fri Sep 4 16:39:51 2009 -0300 perf tools: Avoid unnecessary work in directory lookups This patch improves some (common) inefficiencies in the handling of directory lookups: - not using the d_type information returned by the kernel - constructing (absolute) paths for file operation even though directory-relative operations using the *at functions is possible There are more places to fix but this is a start. Signed-off-by: Ulrich Drepper Signed-off-by: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Mike Galbraith LKML-Reference: <20090904193951.GB6186@ghostprotocols.net> Signed-off-by: Ingo Molnar commit aed100fafb90aaabe8fb31e58af9dc7e68696507 Author: J. Bruce Fields Date: Fri Sep 4 14:40:36 2009 -0400 nfsd: fix leak on error in nfsv3 readdir Note the !dchild->d_inode case can leak the filehandle. Signed-off-by: J. Bruce Fields commit 8177e6d6dfb9cd03d9bdeb647c32161f8f58f686 Author: J. Bruce Fields Date: Fri Sep 4 14:13:09 2009 -0400 nfsd: clean up readdirplus encoding Make the return from compose_entry_fh() zero or an error, even though the returned error isn't used, just to make the meaning of the return immediately obvious. Move some repeated code out of main function into helper. Signed-off-by: J. Bruce Fields commit 367da1527aff2a4f789d03082f9fb191cdf332c4 Author: Robert Schwebel Date: Fri Sep 4 21:16:36 2009 +0200 ASoC: fix pxa2xx-ac97.c breakage Today's linux-next fails to build with sound/arm/pxa2xx-ac97.c: In function 'pxa2xx_ac97_probe': sound/arm/pxa2xx-ac97.c:211: error: 'pxa2xx_audio_ops_t' has no member named 'codec_data' make[2]: *** [sound/arm/pxa2xx-ac97.o] Error 1 It looks like commit e2365bf313fb21b49b1e4c911033389564428d03 has introduced this; patch below. Signed-off-by: Robert Schwebel Signed-off-by: Mark Brown commit 849abde92bd3314a4894f2b4f70b30c2accf8653 Author: Peter Zijlstra Date: Fri Sep 4 18:23:38 2009 +0200 perf stat: Clean up statistics calculations a bit more Remove some, now useless, global storage. Don't calculate the stddev when not needed. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 7929eb9cf643ae416e5081b2a6fa558d37b9854c Author: Nicolas Pitre Date: Thu Sep 3 21:45:59 2009 +0100 ARM: 5691/1: fix cache aliasing issues between kmap() and kmap_atomic() with highmem Let's suppose a highmem page is kmap'd with kmap(). A pkmap entry is used, the page mapped to it, and the virtual cache is dirtied. Then kunmap() is used which does virtually nothing except for decrementing a usage count. Then, let's suppose the _same_ page gets mapped using kmap_atomic(). It is therefore mapped onto a fixmap entry instead, which has a different virtual address unaware of the dirty cache data for that page sitting in the pkmap mapping. Fortunately it is easy to know if a pkmap mapping still exists for that page and use it directly with kmap_atomic(), thanks to kmap_high_get(). And actual testing with a printk in the added code path shows that this condition is actually met *extremely* frequently. Seems that we've been quite lucky that things have worked so well with highmem so far. Cc: stable@kernel.org Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 3961f7c3cf247eee5df7fabadc7a40f2deeb98f3 Author: Mark Brown Date: Mon Aug 10 17:43:53 2009 +0100 power_supply: Add driver for the PMU on WM831x PMICs The WM831x PMICs provide power path management from three sources: a wall supply, USB and a battery with integrated charger. They also provide an additional backup supply with integrated for maintaining always on functionality such as the RTC and monitoring of power switches. After some initial configuration at startup the device operates autonomously, the driver simply provides reporting of the current state. Signed-off-by: Mark Brown Signed-off-by: Anton Vorontsov commit b19ae3999891cad21a3995c34d313dda5df014e2 Author: H. Peter Anvin Date: Fri Sep 4 10:00:09 2009 -0700 x86, msr: change msr-reg.o to obj-y, and export its symbols Change msr-reg.o to obj-y (it will be included in virtually every kernel since it is used by the initialization code for AMD processors) and add a separate C file to export its symbols to modules, so that msr.ko can use them; on uniprocessors we bypass the helper functions in msr.o and use the accessor functions directly via inlines. Signed-off-by: H. Peter Anvin LKML-Reference: <20090904140834.GA15789@elte.hu> Cc: Borislav Petkov commit b0525b48f06714e8d5cf6a3266261b71de8d6dd4 Author: Daniel Mack Date: Fri Jul 24 15:08:11 2009 +0200 ds2760_battery: Fix integer overflow for time_to_empty_now On the device we're currently developing, battery sizes of ~2.8Ah and current flow of ~600mA are typical. With that values, the life_sec computation overflows due to the multiplication by 3600. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Cc: Matt Reimer Signed-off-by: Anton Vorontsov commit 83a8af0d31cfa6c728a68c00f6b1b518e2dcc03d Author: Marek Vasut Date: Sat Aug 22 00:36:43 2009 +0200 wm97xx_battery: Convert to dev_pm_ops Signed-off-by: Marek Vasut Signed-off-by: Anton Vorontsov commit 7c87942aef52d2120e95ff1dec739998b9f95a78 Author: Marek Vasut Date: Thu Jul 23 16:02:08 2009 +0200 wm97xx_battery: Use irq to detect charger state Signed-off-by: Marek Vasut Signed-off-by: Anton Vorontsov commit b8bdc1d0cfc488ac0d94724639f9a61b0a5a1d40 Author: Marek Vasut Date: Mon Aug 31 06:20:12 2009 +0200 wm97xx_battery: Use platform_data This patch converts the wm97xx-battery driver to use platform_data supplied by ac97 bus. Signed-off-by: Marek Vasut Signed-off-by: Anton Vorontsov commit 76f0d07376388f32698ba51b6090a26b90c1342f Author: Steven Rostedt Date: Fri Sep 4 12:12:39 2009 -0400 tracing: remove users of tracing_reset The function tracing_reset is deprecated for outside use of trace.c. The new function to reset the the buffers is tracing_reset_online_cpus. The reason for this is that resetting the buffers while the event trace points are active can corrupt the buffers, because they may be writing at the time of reset. The tracing_reset_online_cpus disables writes and waits for current writers to finish. This patch replaces all users of tracing_reset except for the latency tracers. Those changes require more work and will be removed in the following patches. Signed-off-by: Steven Rostedt commit 32bb0e0c778a4a6cd4534a5b98f08cd45e9ab5b9 Author: Marek Vasut Date: Thu Jul 23 15:50:43 2009 +0200 wm97xx-core: Pass platform_data to battery Signed-off-by: Marek Vasut Acked-by: Dmitry Torokhov Signed-off-by: Anton Vorontsov commit 621968cdb2563b667d6ecb484ba91ef4c3a797b3 Author: Steven Rostedt Date: Fri Sep 4 12:02:35 2009 -0400 tracing: disable buffers and synchronize_sched before resetting Resetting the ring buffers while traces are happening can corrupt the ring buffer and disable it (no kernel crash to worry about). The safest thing to do is disable the ring buffers, call synchronize_sched() to wait for all current writers to finish and then reset the buffer. Signed-off-by: Steven Rostedt commit 1be10a88cac5e589cdd2bcb0cf6a13ed30bcc233 Author: J. Bruce Fields Date: Fri Sep 4 11:59:32 2009 -0400 nfsd4: filehandle leak or error exit from fh_compose() A number of callers (nfsd4_encode_fattr(), at least) don't bother to release the filehandle returned to fh_compose() if fh_compose() returns an error. So, modify fh_compose() to release the filehandle before returning an error. Signed-off-by: J. Bruce Fields commit b8de7bd168fa54d059b16d3057b2f8a32cc5bdc3 Author: Steven Rostedt Date: Mon Aug 31 22:32:27 2009 -0400 tracing: disable update max tracer while reading trace When reading the tracer from the trace file, updating the max latency may corrupt the output. This patch disables the tracing of the max latency while reading the trace file. Signed-off-by: Steven Rostedt commit 8248ac052dfd1eb41819fbc0ca5c7a1667e7e70c Author: Steven Rostedt Date: Wed Sep 2 12:27:41 2009 -0400 tracing: print out start and stop in latency traces During development of the tracer, we would copy information from the live tracer to the max tracer with one memcpy. Since then we added a generic ring buffer and we handle the copies differently now. Unfortunately, we never copied the critical section information, and we lost the output: # => started at: kmem_cache_alloc # => ended at: kmem_cache_alloc This patch adds back the critical start and end copying as well as removes the unused "trace_idx" and "overrun" fields of the trace_array_cpu structure. Signed-off-by: Steven Rostedt commit 077c5407cd3231cf13472623995f0dfdda510d62 Author: Steven Rostedt Date: Thu Sep 3 19:53:46 2009 -0400 ring-buffer: disable all cpu buffers when one finds a problem Currently the way RB_WARN_ON works, is to disable either the current CPU buffer or all CPU buffers, depending on whether a ring_buffer or ring_buffer_per_cpu struct was passed into the macro. Most users of the RB_WARN_ON pass in the CPU buffer, so only the one CPU buffer gets disabled but the rest are still active. This may confuse users even though a warning is sent to the console. This patch changes the macro to disable the entire buffer even if the CPU buffer is passed in. Signed-off-by: Steven Rostedt commit a1863c212b7517afc2b13e549552ac322fb44cab Author: Steven Rostedt Date: Thu Sep 3 10:23:58 2009 -0400 ring-buffer: do not count discarded events The latency tracers report the number of items in the trace buffer. This uses the ring buffer data to calculate this. Because discarded events are also counted, the numbers do not match the number of items that are printed. The ring buffer also adds a "padding" item to the end of each buffer page which also gets counted as a discarded item. This patch decrements the counter to the page entries on a discard. This allows us to ignore discarded entries while reading the buffer. Decrementing the counter is still safe since it can only happen while the committing flag is still set. Signed-off-by: Steven Rostedt commit 8a02631a470d6f2ccec7bcf79c1058b0d4240bce Author: Peter Zijlstra Date: Fri Sep 4 17:26:26 2009 +0200 perf stat: More advanced variance computation Use the more advanced single pass variance algorithm outlined on the wikipedia page. This is numerically more stable for larger sample sets. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 63d40deb2e7c64ed55943d49f078e09fc4b64b54 Author: Peter Zijlstra Date: Fri Sep 4 17:03:13 2009 +0200 perf stat: Use stddev_mean in stead of stddev When we're computing the mean by sampling the distribution, then the std dev of the mean is related to the std dev of the sample set by: stddev_mean = std_dev / sqrt(N) Which is exactly what we want. This results in the error on the mean decreasing with increasing number of samples. Also fix the scaled == -1, aka not counted case. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit dc892f7339af2d125478b800edb9081d6149665b Author: Steven Rostedt Date: Thu Sep 3 15:33:41 2009 -0400 ring-buffer: remove ring_buffer_event_discard The function ring_buffer_event_discard can be used on any item in the ring buffer, even after the item was committed. This function provides no safety nets and is very race prone. An item may be safely removed from the ring buffer before it is committed with the ring_buffer_discard_commit. Since there are currently no users of this function, and because this function is racey and error prone, this patch removes it altogether. Note, removing this function also allows the counters to ignore all discarded events (patches will follow). Signed-off-by: Steven Rostedt commit 7e9391cfedce34eb9786bfa69d7d545dc93ef930 Author: Steven Rostedt Date: Thu Sep 3 10:02:09 2009 -0400 ring-buffer: fix ring_buffer_read crossing pages When the ring buffer uses an iterator (static read mode, not on the fly reading), when it crosses a page boundery, it will skip the first entry on the next page. The reason is that the last entry of a page is usually padding if the page is not full. The padding will not be returned to the user. The problem arises on ring_buffer_read because it also increments the iterator. Because both the read and peek use the same rb_iter_peek, the rb_iter_peak will return the padding but also increment to the next item. This is because the ring_buffer_peek will not incerment it itself. The ring_buffer_read will increment it again and then call rb_iter_peek again to get the next item. But that will be the second item, not the first one on the page. The reason this never showed up before, is because the ftrace utility always calls ring_buffer_peek first and only uses ring_buffer_read to increment to the next item. The ring_buffer_peek will always keep the pointer to a valid item and not padding. This just hid the bug. Signed-off-by: Steven Rostedt commit 1b959e18c4d6b4b981f887260b0f8e7939efa411 Author: Steven Rostedt Date: Thu Sep 3 10:12:13 2009 -0400 ring-buffer: remove unnecessary cpu_relax The loops in the ring buffer that use cpu_relax are not dependent on other CPUs. They simply came across some padding in the ring buffer and are skipping over them. It is a normal loop and does not require a cpu_relax. Signed-off-by: Steven Rostedt commit 98277991a99734f3a31d638afb47d4484ac73e43 Author: Steven Rostedt Date: Wed Sep 2 10:56:15 2009 -0400 ring-buffer: do not swap buffers during a commit If a commit is taking place on a CPU ring buffer, do not allow it to be swapped. Return -EBUSY when this is detected instead. Signed-off-by: Steven Rostedt commit 41b6a95d693319f804607b559893fbbd27498548 Author: Steven Rostedt Date: Wed Sep 2 09:59:48 2009 -0400 ring-buffer: do not reset while in a commit The callers of reset must ensure that no commit can be taking place at the time of the reset. If it does then we may corrupt the ring buffer. Signed-off-by: Steven Rostedt commit 43ed5d6ee0f9bfd655d6bc3cb2d964b80c4422c0 Author: Catalin Marinas Date: Tue Sep 1 11:12:44 2009 +0100 kmemleak: Scan all thread stacks This patch changes the for_each_process() loop with the do_each_thread()/while_each_thread() pair. Signed-off-by: Catalin Marinas commit 8e019366ba749a536131cde1947af6dcaccf8e8f Author: Pekka Enberg Date: Thu Aug 27 14:50:00 2009 +0100 kmemleak: Don't scan uninitialized memory when kmemcheck is enabled Ingo Molnar reported the following kmemcheck warning when running both kmemleak and kmemcheck enabled: PM: Adding info for No Bus:vcsa7 WARNING: kmemcheck: Caught 32-bit read from uninitialized memory (f6f6e1a4) d873f9f600000000c42ae4c1005c87f70000000070665f666978656400000000 i i i i u u u u i i i i i i i i i i i i i i i i i i i i i u u u ^ Pid: 3091, comm: kmemleak Not tainted (2.6.31-rc7-tip #1303) P4DC6 EIP: 0060:[] EFLAGS: 00010006 CPU: 0 EIP is at scan_block+0x3f/0xe0 EAX: f40bd700 EBX: f40bd780 ECX: f16b46c0 EDX: 00000001 ESI: f6f6e1a4 EDI: 00000000 EBP: f10f3f4c ESP: c2605fcc DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 CR0: 8005003b CR2: e89a4844 CR3: 30ff1000 CR4: 000006f0 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 DR6: ffff4ff0 DR7: 00000400 [] scan_object+0x7c/0xf0 [] kmemleak_scan+0x1d9/0x400 [] kmemleak_scan_thread+0x4c/0xb0 [] kthread+0x74/0x80 [] kernel_thread_helper+0x7/0x3c [] 0xffffffff kmemleak: 515 new suspected memory leaks (see /sys/kernel/debug/kmemleak) kmemleak: 42 new suspected memory leaks (see /sys/kernel/debug/kmemleak) The problem here is that kmemleak will scan partially initialized objects that makes kmemcheck complain. Fix that up by skipping uninitialized memory regions when kmemcheck is enabled. Reported-by: Ingo Molnar Acked-by: Ingo Molnar Acked-by: Catalin Marinas Signed-off-by: Pekka Enberg commit 9e9772c458d50dabdb5327821da3803254638cd1 Author: Peter Zijlstra Date: Fri Sep 4 15:36:08 2009 +0200 perf stat: Remove the limit on repeat Since we don't need all the individual samples to calculate the error remove both the limit and the storage overhead associated with that. Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 506d4bc8d5dab20d84624aa07cdc6dcd77915d52 Author: Peter Zijlstra Date: Fri Sep 4 15:36:12 2009 +0200 perf stat: Change noise calculation to use stddev The current noise computation does: \Sum abs(n_i - avg(n)) * N^-1.5 Which is (afaik) not a regular noise function, and needs the complete sample set available to post-process. Change this to use a regular stddev computation which can be done by keeping a two sums: stddev = sqrt( 1/N (\Sum n_i^2) - avg(n)^2 ) For which we only need to keep \Sum n_i and \Sum n_i^2. Signed-off-by: Peter Zijlstra Cc: LKML-Reference: Signed-off-by: Ingo Molnar commit 695a461296e5df148c99ac087b9e1cb380f4db15 Merge: c7084b3 2b681fa Author: Ingo Molnar Date: Fri Sep 4 14:44:16 2009 +0200 Merge branch 'amd-iommu/2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into core/iommu commit 8a34e2f8ba7d4302977c90e357921994a6c39af9 Author: Sachin Sant Date: Fri Sep 4 03:41:07 2009 -0700 net: Fix a build break because of a typo in drivers/net/3c503.c Signed-off-by: Sachin Sant Signed-off-by: David S. Miller commit 825c9fb47a0837db12fecf8d360e0e1d284ddb49 Author: Jens Axboe Date: Fri Sep 4 02:56:22 2009 -0700 sparc: add basic support for 'perf' This wires up the perf_counter_open() syscall so that basic software support for perf is working. Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit 840a0653100dbde599ae8ddf83fa214dfa5fd1aa Author: Ingo Molnar Date: Fri Sep 4 11:32:54 2009 +0200 sched: Turn on SD_BALANCE_NEWIDLE Start the re-tuning of the balancer by turning on newidle. It improves hackbench performance and parallelism on a 4x4 box. The "perf stat --repeat 10" measurements give us: domain0 domain1 ....................................... -SD_BALANCE_NEWIDLE -SD_BALANCE_NEWIDLE: 2041.273208 task-clock-msecs # 9.354 CPUs ( +- 0.363% ) +SD_BALANCE_NEWIDLE -SD_BALANCE_NEWIDLE: 2086.326925 task-clock-msecs # 11.934 CPUs ( +- 0.301% ) +SD_BALANCE_NEWIDLE +SD_BALANCE_NEWIDLE: 2115.289791 task-clock-msecs # 12.158 CPUs ( +- 0.263% ) Acked-by: Peter Zijlstra Cc: Andreas Herrmann Cc: Andreas Herrmann Cc: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: Signed-off-by: Ingo Molnar commit 47734f89be0614b5acbd6a532390f9c72f019648 Author: Ingo Molnar Date: Fri Sep 4 11:21:24 2009 +0200 sched: Clean up topology.h Re-organize the flag settings so that it's visible at a glance which sched-domains flags are set and which not. With the new balancer code we'll need to re-tune these details anyway, so make it cleaner to make fewer mistakes down the road ;-) Cc: Peter Zijlstra Cc: Andreas Herrmann Cc: Andreas Herrmann Cc: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: Signed-off-by: Ingo Molnar commit d7ea17a76916e456fcc78e45142c66f7fb875e3d Author: Ingo Molnar Date: Fri Sep 4 11:49:25 2009 +0200 sched: Fix dynamic power-balancing crash This crash: [ 1774.088275] divide error: 0000 [#1] SMP [ 1774.100355] CPU 13 [ 1774.102498] Modules linked in: [ 1774.105631] Pid: 30881, comm: hackbench Not tainted 2.6.31-rc8-tip-01308-g484d664-dirty #1629 X8DTN [ 1774.114807] RIP: 0010:[] [] sched_balance_self+0x19b/0x2d4 Triggers because update_group_power() modifies the sd tree and does temporary calculations there - not considering that other CPUs could observe intermediate values, such as the zero initial value. Calculate it in a temporary variable instead. (we need no memory barrier as these are all statistical values anyway) Acked-by: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20090904092742.GA11014@elte.hu> Signed-off-by: Ingo Molnar commit a29889a5369d2604c2053bcd051519a2445d8a70 Merge: e7a088f 37d0892 Author: David S. Miller Date: Fri Sep 4 02:22:21 2009 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 2a6ba39ad6a277595ef9a0187a44f09e062dd3b2 Author: Wolfgang Grandegger Date: Tue Sep 1 05:37:33 2009 +0000 can: sja1000: legacy SJA1000 ISA bus driver This patch adds support for legacy SJA1000 CAN controllers on the ISA or PC-104 bus. The I/O port or memory address and the IRQ number must be specified via module parameters: insmod sja1000_isa.ko port=0x310,0x380 irq=7,11 for ISA devices using I/O ports or: insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 for memory mapped ISA devices. Indirect access via address and data port is supported as well: insmod sja1000_isa.ko port=0x310,0x380 indirect=1 irq=7,11 Here is a full list of the supported module parameters: port:I/O port number (array of ulong) mem:I/O memory address (array of ulong) indirect:Indirect access via address and data port (array of byte) irq:IRQ number (array of int) clk:External oscillator clock frequency (default=16000000 [16 MHz]) (array of int) cdr:Clock divider register (default=0x48 [CDR_CBP | CDR_CLK_OFF]) (array of byte) ocr:Output clock register (default=0x18 [OCR_TX0_PUSHPULL]) (array of byte) Note: for clk, cdr, ocr, the first argument re-defines the default for all other devices, e.g.: insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 clk=24000000 is equivalent to insmod sja1000_isa.ko mem=0xd1000,0xd1000 irq=7,11 \ clk=24000000,24000000 Signed-off-by: Wolfgang Grandegger Tested-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 8935f57e68c40c6469efe03f996bfb6150e18c6b Author: Wolfgang Grandegger Date: Tue Sep 1 05:29:41 2009 +0000 can: sja1000: fix network statistics update The member "tx_bytes" of "struct net_device_stats" should be incremented when the interrupt is done and an "arbitration lost error" is a TX error and the statistics should be updated accordingly. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 39e3ab6fded4d7e66e01a878f0cae23ddd480c3b Author: Wolfgang Grandegger Date: Tue Sep 1 05:26:12 2009 +0000 can: add can_free_echo_skb() for upcoming drivers This patch adds the function can_free_echo_skb to the CAN device interface to allow upcoming drivers to release echo skb's in case of error. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 91e0955b57377578f7555b5d0f2a21040691004b Author: Gerard Lledo Date: Wed Jun 17 13:08:55 2009 -0700 jffs2: move jffs2_gcd_mtd threads to the new kthread API Move the jffs2 garbage collecting thread to the new kthread API. Signed-off-by: Gerard Lledo Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 2c78c44362bc9b7c715a3c2119b89a407c1cb739 Author: Roel Kluin Date: Mon Aug 10 10:16:37 2009 +0200 mtd: pmcmsp-flash: fix error paths in init_msp_flash Cleanin up after errors in init_msp_flash(). Also cleanup_msp_flash() attempts to determine the size of msp_flash with `sizeof(msp_flash) / sizeof(struct mtd_info **)' This will not work since msp_flash is not an array. Signed-off-by: Roel Kluin Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit fca910883324d437a24d447b08f524fa19261a94 Author: H Hartley Sweeten Date: Thu Aug 6 16:05:32 2009 -0700 mtd: make few symbols static Make mtd_group and mtd_groups static since they are only used in this file. [Amended by Artem Bityutskiy] Signed-off-by: H Hartley Sweeten Signed-off-by: Andrew Morton Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 0acfe530a2be9192861b84566625ba9b95703226 Author: Paul Mundt Date: Fri Aug 7 12:34:48 2009 +0900 mtd: onenand: select MTD_PARTITIONS All of the onenand drivers depend on mtd partition support being compiled in, so just select it. Fixes up build breakage: drivers/built-in.o: In function `generic_onenand_remove': generic.c:(.devexit.text+0x80): undefined reference to `del_mtd_partitions' Reported-by: Randy Dunlap Signed-off-by: Paul Mundt Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit b0469ea785d12a6c025fa213293d608fc41405fe Author: Siddarth Gore Date: Tue Aug 4 08:42:08 2009 +0530 mtd: m25p80: add support for 3 Macronix flash chips Signed-off-by: Siddarth Gore Signed-off-by: Nicolas Pitre Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit c6f7e7beb9e6a64816f534a3a0dd0cfa4937f1fe Author: Roel Kluin Date: Fri Jul 31 16:21:01 2009 +0200 mtd: tests: fix read buffer overflows Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 269c0ee66367b11de9758ee64ea039843f0c7cad Author: Roel Kluin Date: Fri Jul 31 14:47:58 2009 +0200 slram: Read buffer overflow map[count] is checked before count < SLRAM_MAX_DEVICES_PARAMS Signed-off-by: Roel Kluin Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit ad4fbc7921bd7cca108ecc1340a014e91ecc8536 Author: vimal singh Date: Thu Jul 30 20:54:27 2009 +0530 mtd: physmap_of: fix incorrect 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. The patch also makes sure mtd_list is not being freed if it has not been allocated Signed-off-by: Stoyan Gaydarov Signed-off-by: Vimal Singh Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 9a73290d7735c0671d1d2379ed40025db8b773d0 Author: Singh, Vimal Date: Fri Dec 12 00:10:57 2008 +0000 mtd: nand_base: allow drivers to choose ECC block size This patch allows core driver to choose ECC block size in sw ecc case. Signed-off-by: Vimal Singh Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 05dd180709fca14fbae617c0dab1bed56be334fc Author: Robert P. J. Day Date: Sun Jul 19 21:19:08 2009 -0400 mtd: correct typo "MTD_DATAFLASH_VERIFY_WRITE" Fix the misspelling to match the actual config variable defined in drivers/mtd/devi ces/Kconfig: config MTD_DATAFLASH_WRITE_VERIFY bool "Verify DataFlash page writes" depends on MTD_DATAFLASH Signed-off-by: Robert P. J. Day Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 0ffd24fc7f82a0b594250e5f221340be4c322cda Author: Russell King Date: Sat Jul 18 14:10:44 2009 +0100 mtd: afs: fix build warning drivers/mtd/afs.c:244: warning: format ‘%5d’ expects type ‘int’, but argument 4 has type ‘uint64_t’ [dwmw2: fix incorrect 'KB' too] Signed-off-by: Russell King Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 76d6a4791609e4d14b411a513c7648b19b258d8f Author: Wolfram Sang Date: Fri Jul 17 17:47:37 2009 +0200 mtd: plat-ram: use resource_size Signed-off-by: Wolfram Sang Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 2763c508a3c8f8ec5d6df4e8c63d5e2a5a7d3954 Author: Wolfram Sang Date: Fri Jul 17 17:54:14 2009 +0200 mtd: physmap_of: use resource_size Signed-off-by: Wolfram Sang Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 44a1f2085e8fe07b3aecdab7c391ca057d75da0f Author: H Hartley Sweeten Date: Tue Jun 30 15:38:00 2009 -0400 mtd: ep93xx: cleanup includes in ts7250 nand driver 1. should be included not 2. add platform specific header Signed-off-by: H Hartley Sweeten Cc: Lennert Buytenhek Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit dff1550986a4c0e2a4e857c9085ef3cb66b2cec5 Author: Matthias Kaehlcke Date: Mon Jul 6 12:02:08 2009 +0200 mtd: fix a typo in comment mtdblock erase_write(): fix typo in comment Signed-off-by: Matthias Kaehlcke Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 20d8e2489d619ac4f14c46ca376655fc06b3c1ff Author: vimal singh Date: Tue Jul 7 15:49:49 2009 +0530 mtd: nand_base: use __func__ instead of typing names Correcting debug prints by removing function names from print messages and using '__func__' macro instead. Function names were wrong in few places. Signed-off-by: Vimal Singh Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit b8b3ee9aabbc3e6fc7ef025d861dd780b84eb6c5 Author: vimal singh Date: Thu Jul 9 20:41:22 2009 +0530 mtd: nand: remove repeated comment, fix spelling Singed-off-by: Vimal Singh Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 652696efce135559b98ee5a3d7899295e8d553fa Author: Kyungmin Park Date: Wed Jun 24 12:03:51 2009 +0900 mtd: OneNAND: 4-bit ECC status macros Define ECC status for 4-bit ECC status Signed-off-by: Kyungmin Park Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 492e1501431e0d24c5b46933fdcb60639eacded7 Author: Mika Korhonen Date: Tue Jun 9 21:52:35 2009 +0300 mtd: OneNAND: spelling fixes Signed-off-by: Mika Korhonen Acked-by: Kyungmin Park Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 18a3885fc1ffa92c2212ff0afdf033403d5b0fa0 Author: Peter Zijlstra Date: Tue Sep 1 10:34:39 2009 +0200 sched: Remove reciprocal for cpu_power Its a source of fail, also, now that cpu_power is dynamical, its a waste of time. before: -0 [000] 132.877936: find_busiest_group: avg_load: 0 group_load: 8241 power: 1 after: bash-1689 [001] 137.862151: find_busiest_group: avg_load: 10636288 group_load: 10387 power: 1 [ v2: build fix from From: Andreas Herrmann ] Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.425896304@chello.nl> Signed-off-by: Ingo Molnar commit d899a789c28ded9c72b57ddb61868d6b8fc23e80 Author: Gautham R Shenoy Date: Wed Sep 2 16:59:10 2009 +0530 sched: Try to deal with low capacity, fix update_sd_power_savings_stats() sgs.group_capacity can now be 0, if for some reason group->__cpu_power happens to be less than SCHED_LOAD_SCALE/2. In that case, we need the following fix to make it work for update_sd_power_savings_stats(). That's because both sum_nr_running and group_capacity are unsigned longs. Cc: Gautham R Shenoy Cc: Peter Zijlstra Cc: Andreas Herrmann Cc: Balbir Singh Signed-off-by: Ingo Molnar commit bdb94aa5dbd8b55e75f5a50b61312fe589e2c2d1 Author: Peter Zijlstra Date: Tue Sep 1 10:34:38 2009 +0200 sched: Try to deal with low capacity When the capacity drops low, we want to migrate load away. Allow the load-balancer to remove all tasks when we hit rock bottom. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.342231003@chello.nl> Signed-off-by: Ingo Molnar commit e9e9250bc78e7f6342517214c0178a529807964b Author: Peter Zijlstra Date: Tue Sep 1 10:34:37 2009 +0200 sched: Scale down cpu_power due to RT tasks Keep an average on the amount of time spend on RT tasks and use that fraction to scale down the cpu_power for regular tasks. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.287778431@chello.nl> Signed-off-by: Ingo Molnar commit ab29230e673c646292c90c8b9d378b9562145af0 Author: Peter Zijlstra Date: Tue Sep 1 10:34:36 2009 +0200 sched: Implement dynamic cpu_power Recompute the cpu_power for each cpu during load-balance. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.162033479@chello.nl> Signed-off-by: Ingo Molnar commit a52bfd73589eaf88d9c95ad2c1de0b38a6b27972 Author: Peter Zijlstra Date: Tue Sep 1 10:34:35 2009 +0200 sched: Add smt_gain The idea is that multi-threading a core yields more work capacity than a single thread, provide a way to express a static gain for threads. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083826.073345955@chello.nl> Signed-off-by: Ingo Molnar commit cc9fba7d7672fa3ed58d9d9ecb6c45b1351c29a6 Author: Peter Zijlstra Date: Tue Sep 1 10:34:34 2009 +0200 sched: Update the cpu_power sum during load-balance In order to prepare for a more dynamic cpu_power, update the group sum while walking the sched domains during load-balance. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.985050292@chello.nl> Signed-off-by: Ingo Molnar commit b5d978e0c7e79a7ff842e895c85a86b38c71f1cd Author: Peter Zijlstra Date: Tue Sep 1 10:34:33 2009 +0200 sched: Add SD_PREFER_SIBLING Do the placement thing using SD flags. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.897028974@chello.nl> Signed-off-by: Ingo Molnar commit f93e65c186ab3c05ce2068733ca10e34fd00125e Author: Peter Zijlstra Date: Tue Sep 1 10:34:32 2009 +0200 sched: Restore __cpu_power to a straight sum of power cpu_power is supposed to be a representation of the process capacity of the cpu, not a value to randomly tweak in order to affect placement. Remove the placement hacks. Signed-off-by: Peter Zijlstra Tested-by: Andreas Herrmann Acked-by: Andreas Herrmann Acked-by: Gautham R Shenoy Cc: Balbir Singh LKML-Reference: <20090901083825.810860576@chello.nl> Signed-off-by: Ingo Molnar commit 9aa55fbd01779a0b476d87cd9b5170fd5bebab1d Merge: 768d0c2 294b0c9 fa84e9e Author: Ingo Molnar Date: Fri Sep 4 10:08:43 2009 +0200 Merge branches 'sched/domains' and 'sched/clock' into sched/core Merge reason: both topics are ready now, and we want to merge dependent changes. Signed-off-by: Ingo Molnar commit 0d96b9ff748b5f57d6f1d6d21209f5745245aadc Author: Yinghai Lu Date: Sat Aug 29 13:17:14 2009 -0700 x86: Use hard_smp_processor_id() to get apic id for AMD K8 cpus Otherwise, system with apci id lifting will have wrong apicid in /proc/cpuinfo. and use that in srat_detect_node(). Signed-off-by: Yinghai Lu Cc: Andreas Herrmann Cc: Suresh Siddha Cc: Cyrill Gorcunov LKML-Reference: <4A998CCA.1040407@kernel.org> Signed-off-by: Ingo Molnar commit 7db905e636f08ea5bc9825c1f73d77802e8ccad5 Author: Paul E. McKenney Date: Wed Sep 2 14:01:24 2009 -0700 rcu: Move end of special early-boot RCU operation earlier Ingo was getting warnings from rcu_scheduler_starting() indicating that context switches had occurred before RCU ended its special early-boot handling of grace periods. This is a dangerous condition, as it indicates that RCU might have prematurely ended grace periods. This exploratory fix moves rcu_scheduler_starting() earlier in boot. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 29e2035bddecce3eb584a8304528b50da8370a24 Merge: 8684896 37d0892 Author: Ingo Molnar Date: Fri Sep 4 09:28:52 2009 +0200 Merge branch 'linus' into core/rcu Merge reason: Avoid fuzz in init/main.c and update from rc6 to rc8. Signed-off-by: Ingo Molnar commit 1653192f510bd8114b7b133d7289e6e5c3e95046 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:48 2009 +0200 x86, perf_counter, bts: Do not allow kernel BTS tracing for now Kernel BTS tracing generates too much data too fast for us to handle, causing the kernel to hang. Fail for BTS requests for kernel code. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140616.901253000@intel.com> [ This is really a workaround - but we want BTS tracing in .32 so make sure we dont regress. The lockup should be fixed ASAP. ] Signed-off-by: Ingo Molnar commit 596da17f94c103348ebe04129c00d536ea0e80e2 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:47 2009 +0200 x86, perf_counter, bts: Correct pointer-to-u64 casts On 32bit, pointers in the DS AREA configuration are cast to u64. The current (long) cast to avoid compiler warnings results in a signed 64bit address. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140615.305889000@intel.com> Signed-off-by: Ingo Molnar commit 747b50aaf728987732e6ff3ba10aba4acc4e0277 Author: markus.t.metzger@intel.com Date: Wed Sep 2 16:04:46 2009 +0200 x86, perf_counter, bts: Fail if BTS is not available Reserve PERF_COUNT_HW_BRANCH_INSTRUCTIONS with sample_period == 1 for BTS tracing and fail, if BTS is not available. Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra LKML-Reference: <20090902140612.943801000@intel.com> Signed-off-by: Ingo Molnar commit b5d10781731ece07bb2049e7743907194a5cc3f1 Author: Takashi Iwai Date: Fri Sep 4 08:45:11 2009 +0200 ALSA: dummy - Fix the timer calculation in systimer mode Fix the expire-time calculation in the systimer mode when the buffer size isn't aligned to the period size. Signed-off-by: Takashi Iwai commit 53f824520b6d84ca5b4a8fd71addc91dbf64357e Author: Jeremy Fitzhardinge Date: Thu Sep 3 14:31:44 2009 -0700 x86/i386: Put aligned stack-canary in percpu shared_aligned section Pack aligned things together into a special section to minimize padding holes. Suggested-by: Eric Dumazet Signed-off-by: Jeremy Fitzhardinge Cc: Tejun Heo LKML-Reference: <4AA035C0.9070202@goop.org> [ queued up in tip:x86/asm because it depends on this commit: x86/i386: Make sure stack-protector segment base is cache aligned ] Signed-off-by: Ingo Molnar commit fab4e76373a614d3af624caedf18bee43fc6ca16 Author: David S. Miller Date: Thu Sep 3 21:34:39 2009 -0700 WAN: dscc4: Fix warning pointing out a bug. Noticed by Stephen Rothwell: Today's linux-next build (x86_64 allmodconfig gcc-4.4.0) produced this warning: drivers/net/wan/dscc4.c: In function 'dscc4_rx_skb': drivers/net/wan/dscc4.c:670: warning: suggest parentheses around comparison in operand of '|' which actually points out a bug, I think. It is doing (x & (y | z)) != y | z when it probably means (x & (y | z)) != (y | z) Introduced by commit 5de3fcab91b0e1809eec030355d15801daf25083 ("WAN: bit and/or confusion"). Signed-off-by: David S. Miller commit a8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb Author: Cosmin Ratiu Date: Thu Sep 3 20:44:38 2009 -0700 ipv6: Fix tcp_v6_send_response(): it didn't set skb transport header Here is a patch which fixes an issue observed when using TCP over IPv6 and AH from IPsec. When a connection gets closed the 4-way method and the last ACK from the server gets dropped, the subsequent FINs from the client do not get ACKed because tcp_v6_send_response does not set the transport header pointer. This causes ah6_output to try to allocate a lot of memory, which typically fails, so the ACKs never make it out of the stack. I have reproduced the problem on kernel 2.6.7, but after looking at the latest kernel it seems the problem is still there. Signed-off-by: Cosmin Ratiu Signed-off-by: David S. Miller commit 41c372dcad935fe7c27ec45211bad810515110bd Author: Dmitry Torokhov Date: Thu Sep 3 17:22:03 2009 -0700 Input: wacom_w8001 - simplify querying logic There is no need for locking when we send query and start commands to the touchscreen since there is no concurrency. Signed-off-by: Dmitry Torokhov commit 1ba36e11b227e32f818aea5b4d84f5cbff71e7db Author: Dmitry Torokhov Date: Thu Sep 3 17:22:04 2009 -0700 Input: atkbd - allow setting force-release bitmap via sysfs There are more and more laptop requiring use of force_release quirk for their multimedia and other specialized keys. Adding their DMI data to the kernel is not sustainable; instead we will rely on help from userspace (HAL) to do that for us. This patch creates a new 'force_release' sysfs attribute (that belongs to serio device to which keyboard is attached) which can be used to set up force_release keymap. For example, Dell laptop owners might do: echo 133-139,143,147 > /sys/devices/platform/i8042/serio0/force_release Signed-off-by: Dmitry Torokhov commit 6fdfa97073a2bcbb60d900654c612b2ff09b9cb7 Author: Scott Feldman Date: Thu Sep 3 17:02:45 2009 +0000 enic: organize device initialization/deinit into separate functions To unclutter probe() a little bit, put all device initialization code in one spot and device deinit code in another spot. Also remove unused rq->buf_index variable/func. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 491598a44f12fe8b862ab4123de1a1ffe9b86832 Author: Scott Feldman Date: Thu Sep 3 17:02:40 2009 +0000 enic: bug fix: check for zero port MTU before posting warning Nic firmware can return zero for port MTU, so check for non-zero value before checking for change in port MTU. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit d73149f51e165f5872bc431ae181650396145265 Author: Scott Feldman Date: Thu Sep 3 17:02:35 2009 +0000 enic: changes to driver/firmware interface Deprecate some old APIa; change arguments to stats dump all API; add new interrupt assert API Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 9f63a7c6aef00a8eafa7521342099f199f68c575 Author: Scott Feldman Date: Thu Sep 3 17:02:29 2009 +0000 enic: bug fix: enable VLAN filtering Bug fix: enable VLAN filtering Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 6ba9cdc09678d6925c205ef0b0bd374e31589ecf Author: Scott Feldman Date: Thu Sep 3 17:02:24 2009 +0000 enic: provision for multiple Rx/Tx queues; prepare for RSS support Provision for multiple Rx/Tx queues. Max of 8 WQs and 8 RQs. Max for completion queue is 8+8=16 and max for interrupt resources is 8+8+2. Add driver/firmware interface for setting up RSS secret key and indirection table. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 350991e12ac1ac407850169a0d65f522a7fd029e Author: Scott Feldman Date: Thu Sep 3 17:02:19 2009 +0000 enic: bug fix: included MAC drops in rx_dropped netstat Bug fix: included MAC drops in rx_dropped netstat. Also track Rx trunctations stat at the MAC Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 56ac88b38e5918d92bdfc97c528068e45ff4581c Author: Scott Feldman Date: Thu Sep 3 17:02:14 2009 +0000 enic: bug fix: protect fw call i/f with spinlock Some driver -> nic firmware calls weren't guarded with a spinlock, exposing the call i/f to a race between two threads Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit d19e22dc2c1c43724c1d9ce4a5456ae74eeb6da8 Author: Scott Feldman Date: Thu Sep 3 17:02:08 2009 +0000 enic: use netdev_alloc_skb Use netdev_alloc_skb rather than dev_alloc_skb Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit ea0d7d9181b0831f1b570b02fa02a15f25520c12 Author: Scott Feldman Date: Thu Sep 3 17:02:03 2009 +0000 enic: bug fix: split TSO fragments larger than 16K into multiple descs enic WQ desc supports a maximum 16K buf size, so split any send fragments larger than 16K into several descs. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 4badc385d1a9e140ad0992537237fc22211adad0 Author: Scott Feldman Date: Thu Sep 3 17:01:58 2009 +0000 enic: workaround A0 erratum A0 revision ASIC has an erratum on the RQ desc cache on chip where the cache can become corrupted causing pkt buf writes to wrong locations. The s/w workaround is to post a dummy RQ desc in the ring every 32 descs, causing a flush of the cache. A0 parts are not production, but there are enough of these parts in the wild in test setups to warrant including workaround. A1 revision ASIC parts fix erratum. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 27e6c7d33835e7f347cdfb5025766b7d9a6596d1 Author: Scott Feldman Date: Thu Sep 3 17:01:53 2009 +0000 enic: add support for multiple BARs Nic firmware can place resources (queues, intrs, etc) on multiple BARs, so allow driver to discover/map resources beyond BAR0. Signed-off-by: Scott Feldman Signed-off-by: David S. Miller commit 1a123a3168566b10f87f228ae963770b26f27420 Author: Eric Dumazet Date: Thu Sep 3 00:39:16 2009 +0000 vlan: adds drops accounting Its hard to tell if vlans are dropping frames, since every frame given to vlan_???_start_xmit() functions is accounted as fully transmitted by lower device. We can test dev_queue_xmit() return values to properly account for dropped frames. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2c11455321f37da6fe6cc36353149f9ac9183334 Author: Eric Dumazet Date: Thu Sep 3 00:11:45 2009 +0000 macvlan: add multiqueue capability macvlan devices are currently not multi-queue capable. We can do that defining rtnl_link_ops method, get_tx_queues(), called from rtnl_create_link() This new method gets num_tx_queues/real_num_tx_queues from lower device. macvlan_get_tx_queues() is a copy of vlan_get_tx_queues(). Because macvlan_start_xmit() has to update netdev_queue stats only (and not dev->stats), I chose to change tx_errors/tx_aborted_errors accounting to tx_dropped, since netdev_queue structure doesnt define tx_errors / tx_aborted_errors. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0fa0ee053aaa53939306376719450cfe56e33e3b Author: Ben Hutchings Date: Thu Sep 3 10:41:17 2009 +0000 netdev: Convert MDIO ioctl implementation to use struct mii_ioctl_data A few drivers still access the arguments to MDIO ioctls as an array of u16. Convert them to use struct mii_ioctl_data. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7ab0f2736bfe137a82a7084bbfb5f809da95cabd Author: Ben Hutchings Date: Thu Sep 3 10:39:43 2009 +0000 netdev: Remove redundant checks for CAP_NET_ADMIN in MDIO implementations dev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the driver's implementation of MDIO ioctls. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit aae5e7c30fc660c50dfecbdd745799b05af90f01 Author: Ben Hutchings Date: Thu Sep 3 10:38:33 2009 +0000 netdev: Remove SIOCDEVPRIVATE aliases for MDIO ioctls The standard MDIO ioctl numbers are well-established and these should no longer be needed. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit c23ddf8f22fc2c871ce476ff917d1208bbe4f3de Author: Stephen Hemminger Date: Thu Sep 3 06:16:25 2009 +0000 sky2: only enable Vaux if capable of wakeup While perusing vendor driver, I saw that it did not enable the Vaux power unless device was able to wake from lan for D3cold. This might help for Rene's power issue. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit cf503e8f458cec455b18d3938b3b27de6db3105e Author: Dhananjay Phadke Date: Thu Sep 3 13:10:55 2009 +0000 netxen: fix infinite loop on dma mapping failure Fix a perpetual while() loop in unwinding partial mapped tx skb on dma mapping failure. Reported-by: "Juha Leppanen" Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 270e57e133a9e61c8c62ea4a0d1ffdf53f91caf1 Author: Dhananjay Phadke Date: Thu Sep 3 13:10:54 2009 +0000 netxen: remove duplicate napi_add Remove duplicate calls to netxen_napi_add(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit bc75e5bfad2a6d24fc5a9885a2f6b93f82c6c5f1 Author: Dhananjay Phadke Date: Thu Sep 3 13:10:53 2009 +0000 netxen: fix lro buffer allocation Alloc 12k skbuffs so that firmware can aggregate more packets into one buffer. This doesn't raise memory consumption since 9k skbs use 16k slab cache anyway. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d4ab88194e982a0d213000a75475d3e76b2626f0 Author: Yi Zou Date: Thu Sep 3 14:56:31 2009 +0000 ixgbe: Add support for using FCoE DDP in 82599 as FCoE targets The FCoE DDP in 82599 can be used for both FCoE initiator as well as FCoE target, depending on the indication of the exchange being the responder or originator in the F_CTL (frame control) field in the encapsulated Fiber Channel frame header (T10 Spec., FC-FS). For the initiator, OX_ID is used for FCoE DDP, where for the target RX_ID is used for FCoE DDP. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 09ad1cc099f4ba4735d11ce1c5f024ffc521be3b Author: Yi Zou Date: Thu Sep 3 14:56:10 2009 +0000 ixgbe: Distribute transmission of FCoE traffic in 82599 This adds a simple selection of a FCoE tx queue based on the current cpu id to distribute transmission of FCoE traffic evenly among multiple FCoE transmit queues. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8de8b2e63490fe7e90128299983198d09d1679c9 Author: Yi Zou Date: Thu Sep 3 14:55:50 2009 +0000 ixgbe: Add support for multiple Tx queues for FCoE in 82599 This patch adds support for multiple transmit queues to the Fiber Channel over Ethernet (FCoE) feature found in 82599. Currently, FCoE has multiple Rx queues available, along with a redirection table, that helps distribute the I/O load across multiple CPUs based on the FC exchange ID. To make this the most effective, we need to provide the same layout of transmit queues to match receive. Particularly, when Data Center Bridging (DCB) is enabled, the designated traffic class for FCoE can have dedicated queues for just FCoE traffic, while not affecting any other type of traffic flow. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ae641bdc264a5998b7872622c86f0690a5b1c5b5 Author: Alexander Duyck Date: Thu Sep 3 14:49:33 2009 +0000 igb: set vf rlpml wasn't taking vlan tag into account This patch updates things so that vlan tags are taken into account when setting the receive large packet maximum length. This allows the VF driver to correctly receive full sized frames when vlans are enabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2dfd12126573d6feb12f1d215a352851750fcbd7 Author: Alexander Duyck Date: Thu Sep 3 14:49:15 2009 +0000 igb: only disable/enable interrupt bits for igb physical function The igb_irq_disable/enable calls were causing virtual functions associated with the igb physical function to have their interrupts disabled. In order to prevent this from occuring we should only clear/set the bits related to the physical function. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ff41f8dcc63b4d027ed314ae909df53746c40632 Author: Alexander Duyck Date: Thu Sep 3 14:48:56 2009 +0000 igb: add support for set_rx_mode netdevice operation This patch adds support for the set_rx_mode netdevice operation so that igb can better support multiple unicast addresses. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5a925b4282d7f805deafde62001a83dbaf8be275 Author: Andreas Herrmann Date: Thu Sep 3 09:44:28 2009 +0200 x86, sched: Workaround broken sched domain creation for AMD Magny-Cours Current sched domain creation code can't handle multi-node processors. When switching to power_savings scheduling errors show up and system might hang later on (due to broken sched domain hierarchy): # echo 0 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-5 level MC groups: 0 1 2 3 4 5 domain 1: span 0-23 level NODE groups: 0-5 6-11 18-23 12-17 ... # echo 1 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-11 level MC groups: 0 1 2 3 4 5 6 7 8 9 10 11 ERROR: parent span is not a superset of domain->span domain 1: span 0-5 level CPU ERROR: domain->groups does not contain CPU0 groups: 6-11 (__cpu_power = 12288) ERROR: groups don't span domain->span domain 2: span 0-23 level NODE groups: ERROR: domain->cpu_power not set ERROR: groups don't span domain->span ... Fixing all aspects of power-savings scheduling for Magny-Cours needs some larger changes in the sched domain creation code. As a short-term and temporary workaround avoid the problems by extending "the worst possible hack" ;-( and always use llc_shared_map on AMD Magny-Cours when MC domain span is calculated. With this I get: # echo 1 >> /sys/devices/system/cpu/sched_mc_power_savings CPU0 attaching sched-domain: domain 0: span 0-5 level MC groups: 0 1 2 3 4 5 domain 1: span 0-5 level CPU groups: 0-5 (__cpu_power = 6144) domain 2: span 0-23 level NODE groups: 0-5 (__cpu_power = 6144) 6-11 (__cpu_power = 6144) 18-23 (__cpu_power = 6144) 12-17 (__cpu_power = 6144) ... I.e. no errors during sched domain creation, no system hangs, and also mc_power_savings scheduling works to a certain extend. Cc: Peter Zijlstra Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit cb9805ab5b97079f69a21b6b4e344a69d5c96157 Author: Andreas Herrmann Date: Thu Sep 3 09:42:20 2009 +0200 x86, mcheck: Use correct cpumask for shared bank4 This fixes threshold_bank4 support on multi-node processors. The correct mask to use is llc_shared_map, representing an internal node on Magny-Cours. We need to create 2 sets of symlinks for sibling shared banks -- one set for each internal node, symlinks of each set should target the first core on same internal node. Currently only one set is created where all symlinks are targeting the first core of the entire socket. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit a326e948c538e8ce998f30d92e146ecea8a30421 Author: Andreas Herrmann Date: Thu Sep 3 09:41:19 2009 +0200 x86, cacheinfo: Fixup L3 cache information for AMD multi-node processors L3 cache size, associativity and shared_cpu information need to be adapted to show information for an internal node instead of the entire physical package. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit 4a376ec3a2599c02207cd4cbd5dbf73783548463 Author: Andreas Herrmann Date: Thu Sep 3 09:40:21 2009 +0200 x86: Fix CPU llc_shared_map information for AMD Magny-Cours Construct entire NodeID and use it as cpu_llc_id. Thus internal node siblings are stored in llc_shared_map. Signed-off-by: Andreas Herrmann Signed-off-by: H. Peter Anvin commit 2671a4bf3516757ca028c139a7902a50f2bd994a Author: Trond Myklebust Date: Wed Sep 2 16:48:32 2009 -0400 NFSd: Fix filehandle leak in exp_pseudoroot() and nfsd4_path() nfsd4_path() allocates a temporary filehandle and then fails to free it before the function exits, leaking reference counts to the dentry and export that it refers to. Also, nfsd4_lookupp() puts the result of exp_pseudoroot() in a temporary filehandle which it releases on success of exp_pseudoroot() but not on failure; fix exp_pseudoroot to ensure that on failure it releases the filehandle before returning. Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 1ea0d14e480c245683927eecc03a70faf06e80c8 Author: Jeremy Fitzhardinge Date: Thu Sep 3 12:27:15 2009 -0700 x86/i386: Make sure stack-protector segment base is cache aligned The Intel Optimization Reference Guide says: In Intel Atom microarchitecture, the address generation unit assumes that the segment base will be 0 by default. Non-zero segment base will cause load and store operations to experience a delay. - If the segment base isn't aligned to a cache line boundary, the max throughput of memory operations is reduced to one [e]very 9 cycles. [...] Assembly/Compiler Coding Rule 15. (H impact, ML generality) For Intel Atom processors, use segments with base set to 0 whenever possible; avoid non-zero segment base address that is not aligned to cache line boundary at all cost. We can't avoid having a non-zero base for the stack-protector segment, but we can make it cache-aligned. Signed-off-by: Jeremy Fitzhardinge Cc: LKML-Reference: <4AA01893.6000507@goop.org> Signed-off-by: Ingo Molnar commit 8adf65cfae2d6c2ec5c06e4521f089c62f9eff05 Author: Ingo Molnar Date: Thu Sep 3 21:26:34 2009 +0200 x86, msr: Fix msr-reg.S compilation with gas 2.16.1, on 32-bit too The macro was defined in the 32-bit path as well - breaking the build on 32-bit platforms: arch/x86/lib/msr-reg.S: Assembler messages: arch/x86/lib/msr-reg.S:53: Error: Bad macro parameter list arch/x86/lib/msr-reg.S:100: Error: invalid character '_' in mnemonic arch/x86/lib/msr-reg.S:101: Error: invalid character '_' in mnemonic Cc: Borislav Petkov Cc: H. Peter Anvin LKML-Reference: Signed-off-by: Ingo Molnar commit 5788d8ad6c113c589eeaaa48a173adbbe6b1cb3d Author: Xiaotian Feng Date: Wed Jul 22 11:28:53 2009 +0800 slub: release kobject if sysfs_create_group failed in sysfs_slab_add When CONFIG_SLUB_DEBUG is enabled, sysfs_slab_add should unlink and put the kobject if sysfs_create_group failed. Otherwise, sysfs_slab_add returns error then free kmem_cache s, thus memory of s->kobj is leaked. Acked-by: Christoph Lameter Signed-off-by: Xiaotian Feng Signed-off-by: Pekka Enberg commit 1f685b36dbf27db55072fb738aac57aaf37d2c71 Merge: 5567fa1 ca4caa4 Author: Tony Lindgren Date: Thu Sep 3 10:17:39 2009 -0700 Merge branch '2_6_32_for_next' of git://git.pwsan.com/linux-2.6 into for-next commit ca4caa4e1d45f9542fa54263974d0ef637157b4a Author: Hiroshi DOYU Date: Thu Sep 3 20:14:06 2009 +0300 OMAP clock: use debugfs_remove_recursive() for rewinding Rewinding each debugfs entries to unregister if an error happens. Signed-off-by: Hiroshi DOYU Signed-off-by: Paul Walmsley commit b04b65ab5b4fc86af073424af6295be4e067adf3 Author: Paul Walmsley Date: Thu Sep 3 20:14:05 2009 +0300 OMAP2/3/4 core: create omap_device layer The omap_device code provides a mapping of omap_hwmod structures into the platform_device system, and includes some details on external (board-level) integration. This allows drivers to enable, idle, and shutdown on-chip device resources, including clocks, regulators, etc. The resources enabled and idled are dependent on the device's maximum wakeup latency constraint (if present). At the moment, omap_device functions are intended to be called from platform_data function pointers. Ideally in the future these functions will be called from either subarchitecture-specific platform_data activate, deactivate functions, or via an custom bus/device type for OMAP. Signed-off-by: Paul Walmsley Cc: Benoit Cousson Cc: Kevin Hilman Cc: Tony Lindgren Cc: Rajendra Nayak Cc: Vikram Pandita Cc: Sakari Poussa Cc: Anand Sawant Cc: Santosh Shilimkar Cc: Eric Thomas Cc: Richard Woodruff commit 02bfc030e4417003b7a94393102c92e39b2dfa65 Author: Paul Walmsley Date: Thu Sep 3 20:14:05 2009 +0300 OMAP: omap_hwmod: call omap_hwmod init at boot; create interconnects Connect the omap_hwmod code to the kernel boot. Create some basic interconnect and device structures for OMAP2/3 chips. Signed-off-by: Paul Walmsley commit 63c852384125ca0eff0e695f92cbbd439bed4aa3 Author: Paul Walmsley Date: Thu Sep 3 20:14:03 2009 +0300 OMAP2/3/4: create omap_hwmod layer OMAP SoCs can be considered a collection of hardware IP blocks connected by various interconnects. The bus topology and device integration data is somewhat more complex than platform_device can encode. This patch creates code and structures to manage information about OMAP on-chip devices ("hardware modules") and their integration to the rest of the chip. Hardware module data is intended to be generated dynamically from the TI hardware database for the OMAP4 chips and beyond, easing Linux support for new chip variants. This code currently: - resets and configures all hardware modules upon startup, reducing bootloader dependencies; - provides hooks for Linux driver model code to enable, idle, and shutdown hardware modules (forthcoming patch); - waits for hardware modules to leave idle once their clocks are enabled and OCP_SYSCONFIG bits are set appropriately. - provides a means to pass arbitrary IP block configuration data (e.g., FIFO size) to the device driver (via the dev_attr void pointer) In the future this code is intended to: - estimate interconnect bandwidth and latency characteristics to ensure constraints are satisfied during DVFS - provide *GRPSEL bit data to the powerdomain code - handle pin/ball muxing for devices - generate IO mapping information dynamically - supply device firewall configuration data - provide hardware module data to other on-chip coprocessor software - allow the removal of the "disable unused clocks" code in the OMAP2/3 clock code This patch represents a collaborative effort involving many people from TI, Nokia, and the Linux-OMAP community. Signed-off-by: Paul Walmsley Cc: Benoit Cousson Cc: Kevin Hilman Cc: Tony Lindgren Cc: Rajendra Nayak Cc: Vikram Pandita Cc: Sakari Poussa Cc: Anand Sawant Cc: Santosh Shilimkar Cc: Eric Thomas Cc: Richard Woodruff commit b3c6df3ab2b17cd7ddf927d39a64f235b25ac8d4 Author: Paul Walmsley Date: Thu Sep 3 20:14:02 2009 +0300 OMAP2/3 board-*.c files: read bootloader configuration earlier Most board-*.c files read configuration data from the bootloader in their .init_machine() function. This needs to happen earlier, at some point before omap2_init_common_hw() is called. This is because a future patch will use the bootloader serial console port information to enable the UART clocks earlier, immediately after omap2_clk_init(). This is in turn necessary since otherwise clock tree usecounts on clocks like dpll4_m2x2_ck will be bogus, which can cause the currently-active console UART clock to be disabled during boot. Signed-off-by: Paul Walmsley commit 71348bcaac6f4c372525d4d62e88a82a7330435b Author: Paul Walmsley Date: Thu Sep 3 20:14:02 2009 +0300 OMAP2/3/4 PRCM: add module IDLEST wait code After a hardware module's clocks are enabled, Linux must wait for it to indicate readiness via its IDLEST bit before attempting to access the device, otherwise register accesses to the device may trigger an abort. This has traditionally been implemented in the clock framework, but this is the wrong place for it: the clock framework doesn't know which module clocks must be enabled for a module to leave idle; and if a module is not in smart-idle mode, it may never leave idle at all. This type of information is best stored in a per-hardware module data structure (coming in a following patch), rather than a per-clock data structure. The new code will use these new functions to handle waiting for modules to enable. Once hardware module data is filled in for all of the on-chip devices, the clock framework code to handle IDLEST waiting can be removed. Signed-off-by: Paul Walmsley commit c0407a96d04794be586eab4a412320079446cf93 Author: Paul Walmsley Date: Thu Sep 3 20:14:01 2009 +0300 OMAP2/3 PM: create the OMAP PM interface and add a default OMAP PM no-op layer The interface provides device drivers, CPUFreq, and DSPBridge with a means of controlling OMAP power management parameters that are not yet supported by the Linux PM PMQoS interface. Copious documentation is in the patch in Documentation/arm/OMAP/omap_pm and the interface header file, arch/arm/plat-omap/include/mach/omap-pm.h. Thanks to Rajendra Nayak for adding CORE (VDD2) OPP support and moving the OPP table initialization earlier in the event that the clock code needs them. Thanks to Tero Kristo for fixing the parameter check in omap_pm_set_min_bus_tput(). Jouni signed off on Tero's patch. Signed-off-by: Paul Walmsley Signed-off-by: Kevin Hilman Signed-off-by: Rajendra Nayak Signed-off-by: Tero Kristo Signed-off-by: Jouni Högander Cc: Tony Lindgren Cc: Igor Stoppa Cc: Richard Woodruff Cc: Anand Sawant Cc: Sakari Poussa Cc: Veeramanikandan Raju Cc: Karthik Dasu commit 08e3d5f28d4d696dc559898676019cbd36501025 Author: Paul Walmsley Date: Thu Sep 3 20:14:00 2009 +0300 OMAP3 clock: remove superfluous calls to omap2_init_clk_clkdm omap2_init_clk_clkdm() is called as part of the chip architecture-specific initialization code, so calling it again from the struct clk init pointer just wastes cycles. Signed-off-by: Paul Walmsley commit 19f4d3a90bf2815cb97b66e603b5e0311d234458 Author: Paul Walmsley Date: Thu Sep 3 20:14:00 2009 +0300 OMAP clock: associate MPU clocks with the mpu_clkdm All MPU-related clocks should be in the mpu_clkdm. This is needed for the upcoming omap_hwmod patches, which needs to know the clockdomain that arm_fck is in. Signed-off-by: Paul Walmsley commit 11b66383aa722a3321d2aeec09808c5b140ad396 Author: Sanjeev Premi Date: Thu Sep 3 20:13:58 2009 +0300 OMAP3 clock: Fixed processing of bootarg 'mpurate' The argument 'mpurate' had no effect on the MPU frequency. This patch fixes the same. Signed-off-by: Sanjeev Premi Signed-off-by: Paul Walmsley commit 6dda2d4b1306c19e39496e9bb305424d1d547013 Author: Tero Kristo Date: Thu Sep 3 20:13:56 2009 +0300 OMAP: SDRC: Add several new register definitions Add missing SDRC register offset macros. Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman [paul@pwsan.com: added commit message] Signed-off-by: Paul Walmsley commit 5d113262ee9e074e0d36362d878892819bfdeb47 Author: Paul Walmsley Date: Thu Sep 3 20:13:53 2009 +0300 OMAP: powerdomain: Fix overflow when doing powerdomain deps lookups. At the end of the list pd is a pointer to a NULL struct, so checking if the address == NULL doesn't help here. In fact the original code will just keep running past the struct to read who knows what in memory. This case manifests itself when from clkdms_setup() when enabling auto idle for a clock domain and the clockdomain usecount is greater than 0. When _clkdm_add_autodeps() tries to add the a dependency that does not exist in the powerdomain->wkdep_srcs array the for loop will run past the wkdep_srcs array. Currently in linux-omap you won't hit this because the not found case is never executed, unless you start modifying powerdomains and their wakeup/sleep deps. Signed-off-by: Mike Chan Signed-off-by: Paul Walmsley commit dc86cabe4b242446ea9aa8492c727e1220817898 Author: Ingo Molnar Date: Thu Sep 3 18:03:00 2009 +0200 perf_counter: Fix output-sharing error path We forget to release the fd in the PERF_FLAG_FD_OUTPUT error path. Reorganize the error flow here to be a clean fall-through logic. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 9162ab2000e08be076883b5a295a771223264ce8 Author: Jeff Layton Date: Thu Sep 3 12:07:17 2009 -0400 cifs: consolidate reconnect logic in smb_init routines There's a large cut and paste chunk of code in smb_init and small_smb_init to handle reconnects. Break it out into a separate function, clean it up and have both routines call it. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 2b681fafcc50fea6304ed418667c9d04282acb73 Merge: 03362a0 abdc5eb Author: Joerg Roedel Date: Thu Sep 3 17:14:57 2009 +0200 Merge branch 'amd-iommu/pagetable' into amd-iommu/2.6.32 Conflicts: arch/x86/kernel/amd_iommu.c commit 03362a05c55122baff3556109c922285299dfec4 Merge: 85da07c 4751a95 Author: Joerg Roedel Date: Thu Sep 3 16:34:23 2009 +0200 Merge branch 'amd-iommu/passthrough' into amd-iommu/2.6.32 Conflicts: arch/x86/kernel/amd_iommu.c arch/x86/kernel/amd_iommu_init.c commit 85da07c409daba3d067824f0051d58f70cb571a0 Merge: 6ac162d e0faf54 6a1eddd Author: Joerg Roedel Date: Thu Sep 3 16:32:00 2009 +0200 Merge branches 'gart/fixes', 'amd-iommu/fixes+cleanups' and 'amd-iommu/fault-handling' into amd-iommu/2.6.32 commit 6f4596d9312ba5fbf5f3231ef484823c4e684d2e Author: Ingo Molnar Date: Thu Sep 3 16:22:45 2009 +0200 perf trace: Fix read_string() We did not account for the enclosing \0. Depending on what malloc() gave us this resulted in corrupted version string printouts. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 00fc97863c21c41e257a941e83410c56341e2a5d Author: Ingo Molnar Date: Thu Sep 3 16:22:02 2009 +0200 perf trace: Print out in nanoseconds Print out more accurate timestamps - usecs does not cut it anymore on fast enough boxes ;-) Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 2e01d1791168bb824226d8cc70e50374767dcc42 Author: Ingo Molnar Date: Thu Sep 3 16:21:11 2009 +0200 perf tools: Seek to the end of the header area Leave the input fd at the data area. It does not matter right now - but seeking at the end of it certainly did not make sense. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 6ac162d6c01ac7626f46c68c0770556cf682ce34 Author: Pavel Vasilyev Date: Thu Sep 3 16:20:55 2009 +0200 x86/gart: Do not select AGP for GART_IOMMU There is no dependency from the gart code to the agp code. And since a lot of systems today do not have agp anymore remove this dependency from the kernel configuration. Signed-off-by: Pavel Vasilyev Signed-off-by: Joerg Roedel commit 8886f42d6d8dabeb488c706c339634a0e3e08df4 Author: Ingo Molnar Date: Thu Sep 3 16:19:57 2009 +0200 perf trace: Fix parsing of perf.data We started parsing perf.data at head 0. This caused -D to segfault and it could possibly also case incorrect trace entries to be displayed. Parse it at data_offset instead. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 4751a95134e05f1172131d2001c6991d671fa58c Author: Joerg Roedel Date: Tue Sep 1 15:53:54 2009 +0200 x86/amd-iommu: Initialize passthrough mode when requested This patch enables the passthrough mode for AMD IOMMU by running the initialization function when iommu=pt is passed on the kernel command line. Signed-off-by: Joerg Roedel commit a1ca331c8aa75cd58fdf685e2e8745e1d3ec5c8f Author: Joerg Roedel Date: Tue Sep 1 12:22:22 2009 +0200 x86/amd-iommu: Don't detach device from pt domain on driver unbind This patch makes sure a device is not detached from the passthrough domain when the device driver is unloaded or does otherwise release the device. Signed-off-by: Joerg Roedel commit 21129f786f231f7a9dce5b504617b893f50a435f Author: Joerg Roedel Date: Tue Sep 1 11:59:42 2009 +0200 x86/amd-iommu: Make sure a device is assigned in passthrough mode When the IOMMU driver runs in passthrough mode it has to make sure that every device not assigned to an IOMMU-API domain must be put into the passthrough domain instead of keeping it unassigned. Signed-off-by: Joerg Roedel commit eba6ac60ba66c6bf6858938442204feaa67dea31 Author: Joerg Roedel Date: Tue Sep 1 12:07:08 2009 +0200 x86/amd-iommu: Align locking between attach_device and detach_device This patch makes the locking behavior between the functions attach_device and __attach_device consistent with the locking behavior between detach_device and __detach_device. Signed-off-by: Joerg Roedel commit aa879fff5d12318259816aa35023e941a1e4d3d9 Author: Joerg Roedel Date: Mon Aug 31 16:01:48 2009 +0200 x86/amd-iommu: Fix device table write order The V bit of the device table entry has to be set after the rest of the entry is written to not confuse the hardware. Signed-off-by: Joerg Roedel commit 0feae533ddebe02cda6ccce5cac7349b446776a8 Author: Joerg Roedel Date: Wed Aug 26 15:26:30 2009 +0200 x86/amd-iommu: Add passthrough mode initialization functions When iommu=pt is passed on kernel command line the devices should run untranslated. This requires the allocation of a special domain for that purpose. This patch implements the allocation and initialization path for iommu=pt. Signed-off-by: Joerg Roedel commit 2650815fb03fe2bf1e6701584087ba669dcf92cd Author: Joerg Roedel Date: Wed Aug 26 16:52:40 2009 +0200 x86/amd-iommu: Add core functions for pd allocation/freeing This patch factors some code of protection domain allocation into seperate functions. This way the logic can be used to allocate the passthrough domain later. As a side effect this patch fixes an unlikely domain id leakage bug. Signed-off-by: Joerg Roedel commit ac0101d396fee24994632f71b55b9f7f9ee16eff Author: Joerg Roedel Date: Tue Sep 1 16:00:35 2009 +0200 x86/dma: Mark iommu_pass_through as __read_mostly This variable is read most of the time. This patch marks it as such. It also documents the meaning the this variable while at it. Signed-off-by: Joerg Roedel commit abdc5eb3d69279039ba6cb89719913d08013ab14 Author: Joerg Roedel Date: Thu Sep 3 11:33:51 2009 +0200 x86/amd-iommu: Change iommu_map_page to support multiple page sizes This patch adds a map_size parameter to the iommu_map_page function which makes it generic enough to handle multiple page sizes. This also requires a change to alloc_pte which is also done in this patch. Signed-off-by: Joerg Roedel commit a6b256b41357c33ccb2d105a4457e22bdc83e021 Author: Joerg Roedel Date: Thu Sep 3 12:21:31 2009 +0200 x86/amd-iommu: Support higher level PTEs in iommu_page_unmap This patch changes fetch_pte and iommu_page_unmap to support different page sizes too. Signed-off-by: Joerg Roedel commit 30681bcf2b15a601b9460e6ddab22077998b8d4c Author: Takashi Iwai Date: Thu Sep 3 16:08:08 2009 +0200 ALSA: dummy - Add more description Signed-off-by: Takashi Iwai commit 674d798a80cb6ea1defa01899099f40d9124423c Author: Joerg Roedel Date: Wed Sep 2 17:26:09 2009 +0200 x86/amd-iommu: Remove old page table handling macros These macros are not longer required. So remove them. Signed-off-by: Joerg Roedel commit 8f7a017ce05ed4522809448e169daa44fe6edeb1 Author: Joerg Roedel Date: Wed Sep 2 16:55:24 2009 +0200 x86/amd-iommu: Use 2-level page tables for dma_ops domains The driver now supports a dynamic number of levels for IO page tables. This allows to reduce the number of levels for dma_ops domains by one because a dma_ops domain has usually an address space size between 128MB and 4G. Signed-off-by: Joerg Roedel commit bad1cac28a707c69301a4d0612da9ccbecd51953 Author: Joerg Roedel Date: Wed Sep 2 16:52:23 2009 +0200 x86/amd-iommu: Remove bus_addr check in iommu_map_page The driver now supports full 64 bit device address spaces. So this check is not longer required. Signed-off-by: Joerg Roedel commit 8c8c143cdc95ebe50fd962917556e25e8912997b Author: Joerg Roedel Date: Wed Sep 2 17:30:00 2009 +0200 x86/amd-iommu: Remove last usages of IOMMU_PTE_L0_INDEX This change allows to remove these old macros later. Signed-off-by: Joerg Roedel commit 8bc3e127421bf3b735edbde05135892c12c5f615 Author: Joerg Roedel Date: Wed Sep 2 16:48:40 2009 +0200 x86/amd-iommu: Change alloc_pte to support 64 bit address space This patch changes the alloc_pte function to be able to map pages into the whole 64 bit address space supported by AMD IOMMU hardware from the old limit of 2**39 bytes. Signed-off-by: Joerg Roedel commit 50020fb6324465e478d6c8cdbf3c695f0a60358d Author: Joerg Roedel Date: Wed Sep 2 15:38:40 2009 +0200 x86/amd-iommu: Introduce increase_address_space function This function will be used to increase the address space size of a protection domain. Signed-off-by: Joerg Roedel commit 04bfdd8406099fca2e6b8844748c4d6c5eba8c8d Author: Joerg Roedel Date: Wed Sep 2 16:00:23 2009 +0200 x86/amd-iommu: Flush domains if address space size was increased Thist patch introduces the update_domain function which propagates the larger address space of a protection domain to the device table and flushes all relevant DTEs and the domain TLB. Signed-off-by: Joerg Roedel commit 407d733e30a97daf5ea6f9eb5f9ebbd42a0a9ef2 Author: Joerg Roedel Date: Wed Sep 2 16:07:00 2009 +0200 x86/amd-iommu: Introduce set_dte_entry function This function factors out some logic of attach_device to a seperate function. This new function will be used to update device table entries when necessary. Signed-off-by: Joerg Roedel commit 6a0dbcbe4e612fbc9d73cd4dde8ebef19295058a Author: Joerg Roedel Date: Wed Sep 2 15:41:59 2009 +0200 x86/amd-iommu: Add a gneric version of amd_iommu_flush_all_devices This patch adds a generic variant of amd_iommu_flush_all_devices function which flushes only the DTEs for a given protection domain. Signed-off-by: Joerg Roedel commit a6d41a4027b758a9473197a78fab45afb31003aa Author: Joerg Roedel Date: Wed Sep 2 17:08:55 2009 +0200 x86/amd-iommu: Use fetch_pte in amd_iommu_iova_to_phys Don't reimplement the page table walker in this function. Use the generic one. Signed-off-by: Joerg Roedel commit 38a76eeeafb251bf67d143a34b37a8105cff302e Author: Joerg Roedel Date: Wed Sep 2 17:02:47 2009 +0200 x86/amd-iommu: Use fetch_pte in iommu_unmap_page Instead of reimplementing existing logic use fetch_pte to walk the page table in iommu_unmap_page. Signed-off-by: Joerg Roedel commit 9355a08186e52b7c120adea91c984923b54efa10 Author: Joerg Roedel Date: Wed Sep 2 14:24:08 2009 +0200 x86/amd-iommu: Make fetch_pte aware of dynamic mapping levels This patch changes the fetch_pte function in the AMD IOMMU driver to support dynamic mapping levels. Signed-off-by: Joerg Roedel commit b142037b4c1edf5ad0b2871c518d4f14ac1cd470 Author: Takashi Iwai Date: Thu Sep 3 16:01:06 2009 +0200 ALSA: dummy - Better jiffies handling In the system-timer mode, snd-dummy driver issues each tick to update the position. This is highly inefficient and even inaccurate if the timer can't be triggered at each tick. Now rewritten to wake up only at the period boundary. The position is calculated from the current jiffies. Signed-off-by: Takashi Iwai commit c631d03c6873b9e17906556e84fcafc42f26a7c2 Author: Takashi Iwai Date: Thu Sep 3 15:59:26 2009 +0200 ALSA: dummy - Support high-res timer mode Allow snd-dummy driver to use high-res timer as its timing source instead of the system timer. The new module option "hrtimer" is added to turn on/off the high-res timer support. It can be switched even dynamically via sysfs. Signed-off-by: Takashi Iwai commit 6a1eddd2f951656a6abbd42e2cddc2267c4a639d Author: Joerg Roedel Date: Thu Sep 3 15:15:10 2009 +0200 x86/amd-iommu: Reset command buffer if wait loop fails Instead of a panic on an comletion wait loop failure, try to recover from that event from resetting the command buffer. Signed-off-by: Joerg Roedel commit b26e81b871bd18184968f0bb3f12945906eadfce Author: Joerg Roedel Date: Thu Sep 3 15:08:09 2009 +0200 x86/amd-iommu: Panic if IOMMU command buffer reset fails To prevent the driver from doing recursive command buffer resets, just panic when that recursion happens. Signed-off-by: Joerg Roedel commit a345b23b79f1900e7d87c3165182504419180de4 Author: Joerg Roedel Date: Thu Sep 3 15:01:43 2009 +0200 x86/amd-iommu: Reset command buffer on ILLEGAL_COMMAND_ERROR On an ILLEGAL_COMMAND_ERROR the IOMMU stops executing further commands. This patch changes the code to handle this case better by resetting the command buffer in the IOMMU. Signed-off-by: Joerg Roedel commit 93f1cc67cf3196174412adca87321b25c1c986b0 Author: Joerg Roedel Date: Thu Sep 3 14:50:20 2009 +0200 x86/amd-iommu: Add reset function for command buffers This patch factors parts of the command buffer initialization code into a seperate function which can be used to reset the command buffer later. Signed-off-by: Joerg Roedel commit d586d7852ccd0cecb502bf4809f827e60c486af0 Author: Joerg Roedel Date: Thu Sep 3 15:39:23 2009 +0200 x86/amd-iommu: Add function to flush all DTEs on one IOMMU This function flushes all DTE entries on one IOMMU for all devices behind this IOMMU. This is required for command buffer resetting later. Signed-off-by: Joerg Roedel commit e0faf54ee82bf9c07f0307b4391caad4020bd659 Author: Joerg Roedel Date: Thu Sep 3 15:45:51 2009 +0200 x86/amd-iommu: fix broken check in amd_iommu_flush_all_devices The amd_iommu_pd_table is indexed by protection domain number and not by device id. So this check is broken and must be removed. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit ae908c22aa2b9f7d4b41bd02d14e473f79c22dd3 Author: Joerg Roedel Date: Tue Sep 1 16:52:16 2009 +0200 x86/amd-iommu: Remove redundant 'IOMMU' string The 'IOMMU: ' prefix is not necessary because the DUMP_printk macro already prints its own prefix. Signed-off-by: Joerg Roedel commit 4c6f40d4e0f0bba77a5f27eec4e1c6d1c457d324 Author: Joerg Roedel Date: Tue Sep 1 16:43:58 2009 +0200 x86/amd-iommu: replace "AMD IOMMU" by "AMD-Vi" This patch replaces the "AMD IOMMU" printk strings with the official name for the hardware: "AMD-Vi". Signed-off-by: Joerg Roedel commit f2430bd104bec2706315e9e983a9d9f828ff9565 Author: Joerg Roedel Date: Wed Aug 26 12:10:19 2009 +0200 x86/amd-iommu: Remove some merge helper code This patch removes some left-overs which where put into the code to simplify merging code which also depends on changes in other trees. Signed-off-by: Joerg Roedel commit 6ddf259da76cab6555c2086386f8bcd10bbb86d2 Author: Ingo Molnar Date: Thu Sep 3 12:00:22 2009 +0200 perf trace: Sample timestamps as well Before: perf-21082 [013] 0.000000: sched_wakeup_new: task perf:21083 [120] success=1 [015] perf-21082 [013] 0.000000: sched_migrate_task: task perf:21082 [120] from: 13 to: 15 perf-21082 [013] 0.000000: sched_process_fork: parent perf:21082 child perf:21083 true-21083 [015] 0.000000: sched_wakeup: task migration/15:33 [0] success=1 [015] perf-21082 [013] 0.000000: sched_switch: task perf:21082 [120] (S) ==> swapper:0 [140] true-21083 [015] 0.000000: sched_switch: task perf:21083 [120] (R) ==> migration/15:33 [0] true-21083 [011] 0.000000: sched_process_exit: task true:21083 [120] After: perf-21082 [013] 14674.797613: sched_wakeup_new: task perf:21083 [120] success=1 [015] perf-21082 [013] 14674.797506: sched_migrate_task: task perf:21082 [120] from: 13 to: 15 perf-21082 [013] 14674.797610: sched_process_fork: parent perf:21082 child perf:21083 true-21083 [015] 14674.797725: sched_wakeup: task migration/15:33 [0] success=1 [015] perf-21082 [013] 14674.797722: sched_switch: task perf:21082 [120] (S) ==> swapper:0 [140] true-21083 [015] 14674.797729: sched_switch: task perf:21083 [120] (R) ==> migration/15:33 [0] true-21083 [011] 14674.798159: sched_process_exit: task true:21083 [120] Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit e394d72aa8b319211b8f947d151d9d50b0fde842 Author: Joerg Roedel Date: Thu Sep 3 15:28:33 2009 +0200 x86/amd-iommu: Introduce function for iommu-local domain flush This patch introduces a function to flush all domain tlbs for on one given IOMMU. This is required later to reset the command buffer on one IOMMU. Signed-off-by: Joerg Roedel commit 945b4ac44e5700acd3d974c176c8ace34b4d2e8e Author: Joerg Roedel Date: Thu Sep 3 14:25:02 2009 +0200 x86/amd-iommu: Dump illegal command on ILLEGAL_COMMAND_ERROR This patch adds code to dump the command which caused an ILLEGAL_COMMAND_ERROR raised by the IOMMU hardware. Signed-off-by: Joerg Roedel commit 55f9d6786de2f9cf37db50dbe8ae16f887f3ad7f Author: Eric Dumazet Date: Thu Sep 3 05:17:20 2009 -0700 net: Remove debugging code Remove a debugging aid I accidently left in previous 'cleanup' patch Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit e3e59876e82a5e1a07f365d5474e7b6943524725 Author: Joerg Roedel Date: Thu Sep 3 14:02:10 2009 +0200 x86/amd-iommu: Dump fault entry on DTE error This patch adds code to dump the content of the device table entry which caused an ILLEGAL_DEV_TABLE_ENTRY error from the IOMMU hardware. Signed-off-by: Joerg Roedel commit 9d32e03d01649d2dd837923470f3f323e3b88253 Author: Jaroslav Kysela Date: Mon Aug 31 15:07:23 2009 +0200 ALSA: Release v1.0.21 Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 2f8bc32b7a08502a79e0ccec8697000f2977f2fd Author: Eric Dumazet Date: Thu Sep 3 02:19:58 2009 -0700 vlan: enable multiqueue xmits vlan_dev_hard_start_xmit() & vlan_dev_hwaccel_hard_start_xmit() select txqueue number 0, instead of using index provided by skb_get_queue_mapping(). This is not correct after commit 2e59af3dcbdf11635c03f [vlan: multiqueue vlan device] because txq->tx_packets & txq->tx_bytes changes are performed on a single location, and not the right locking. Fix is to take the appropriate struct netdev_queue pointer Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d1b19dff9159bb88fe839c30a7c071faf4761933 Author: Eric Dumazet Date: Thu Sep 3 01:29:39 2009 -0700 net: net/core/dev.c cleanups Pure style cleanup patch before surgery :) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 0906a3ad33a254094fb74828e3ddb9af8771a6da Author: Paul Mundt Date: Thu Sep 3 17:21:10 2009 +0900 sh: Fix up and optimize the kmap_coherent() interface. This fixes up the kmap_coherent/kunmap_coherent() interface for recent changes both in the page fault path and the shared cache flushers, as well as adding in some optimizations. One of the key things to note here is that the TLB flush itself is deferred until the unmap, and the call in to update_mmu_cache() itself goes away, relying on the regular page fault path to handle the lazy dcache writeback if necessary. Signed-off-by: Paul Mundt commit 137742cf9738f1b4784058ff79aec7ca85e769d4 Author: Karl Hiramoto Date: Wed Sep 2 23:26:39 2009 -0700 atm/br2684: netif_stop_queue() when atm device busy and netif_wake_queue() when we can send packets again. This patch removes the call to dev_kfree_skb() when the atm device is busy. Calling dev_kfree_skb() causes heavy packet loss then the device is under heavy load, the more correct behavior should be to stop the upper layers, then when the lower device can queue packets again wake the upper layers. Signed-off-by: Karl Hiramoto Signed-off-by: Chas Williams Signed-off-by: David S. Miller commit 81538e74ca12a71ea37ce72f809ebc65a90b9538 Author: Uwe Kleine-König Date: Tue Sep 1 23:14:16 2009 +0000 fec: don't enable irqs in hard irq context fec_enet_mii, fec_enet_rx and fec_enet_tx are both only called by fec_enet_interrupt in interrupt context. So they must not use spin_lock_irq/spin_unlock_irq. This fixes: WARNING: at kernel/lockdep.c:2140 trace_hardirqs_on_caller+0x130/0x194() ... Signed-off-by: Uwe Kleine-König Cc: Greg Ungerer Cc: Ben Hutchings Cc: Patrick McHardy Cc: Sascha Hauer Cc: Matt Waddel Cc: netdev@vger.kernel.org Cc: Tim Sander Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 84177a20799072c65a69b62571660d4d9780823c Author: Uwe Kleine-König Date: Tue Sep 1 23:14:15 2009 +0000 fec: fix recursive locking of mii_lock mii_discover_phy is only called by fec_enet_mii (via mip->mii_func). So &fep->mii_lock is already held and mii_discover_phy must not call mii_queue which locks &fep->mii_lock, too. This was noticed by lockdep: ============================================= [ INFO: possible recursive locking detected ] 2.6.31-rc8-00038-g37d0892 #109 --------------------------------------------- swapper/1 is trying to acquire lock: (&fep->mii_lock){-.....}, at: [] mii_queue+0x2c/0xcc but task is already holding lock: (&fep->mii_lock){-.....}, at: [] fec_enet_interrupt+0x78/0x460 other info that might help us debug this: 2 locks held by swapper/1: #0: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x18/0x20 #1: (&fep->mii_lock){-.....}, at: [] fec_enet_interrupt+0x78/0x460 stack backtrace: Backtrace: [] (dump_backtrace+0x0/0x108) from [] (dump_stack+0x18/0x1c) r6:c781d118 r5:c03e41d8 r4:00000001 [] (dump_stack+0x0/0x1c) from [] (__lock_acquire+0x1a20/0x1a88) [] (__lock_acquire+0x0/0x1a88) from [] (lock_acquire+0x60/0x74) [] (lock_acquire+0x0/0x74) from [] (_spin_lock_irqsave+0x54/0x68) r7:60000093 r6:c01569f8 r5:c785e468 r4:00000000 [] (_spin_lock_irqsave+0x0/0x68) from [] (mii_queue+0x2c/0xcc) r7:c785e468 r6:c0156b24 r5:600a0000 r4:c785e000 [] (mii_queue+0x0/0xcc) from [] (mii_discover_phy+0x54/0xa8) r8:00000002 r7:00000032 r6:c785e000 r5:c785e360 r4:c785e000 [] (mii_discover_phy+0x0/0xa8) from [] (fec_enet_interrupt+0xa4/0x460) r5:c785e360 r4:c077a170 [] (fec_enet_interrupt+0x0/0x460) from [] (handle_IRQ_event+0x48/0x120) [] (handle_IRQ_event+0x0/0x120) from [] (handle_level_irq+0x94/0x11c) ... Signed-off-by: Uwe Kleine-König Cc: Greg Ungerer Cc: Ben Hutchings Cc: Patrick McHardy Cc: Sascha Hauer Cc: Matt Waddel Cc: netdev@vger.kernel.org Cc: Tim Sander Acked-by: Greg Ungerer Signed-off-by: David S. Miller commit 3eb0027594e25f5947f074ae53fea30c15c5a7f6 Author: Ralf Baechle Date: Wed Sep 2 23:09:29 2009 -0700 NET: Fix possible corruption in bpqether driver The bpq ether driver is modifying the data art of the skb by first dropping the KISS byte (a command byte for the radio) then prepending the length + 4 of the remaining AX.25 packet to be transmitted as a little endian 16-bit number. If the high byte of the length has a different value than the dropped KISS byte users of clones of the skb may observe this as corruption. This was observed with by running listen(8) -a which uses a packet socket which clones transmit packets. The corruption will then typically be displayed for as a KISS "TX Delay" command for AX.25 packets in the range of 252..508 bytes or any other KISS command for yet larger packets. Fixed by using skb_cow to create a private copy should the skb be cloned. Using skb_cow also allows us to cleanup the old logic to ensure sufficient headroom in the skb. While at it, replace a return of 0 from bpq_xmit with the proper constant NETDEV_TX_OK which is now being used everywhere else in this function. Affected: all 2.2, 2.4 and 2.6 kernels. Signed-off-by: Ralf Baechle Reported-by: Jann Traschewski Signed-off-by: David S. Miller commit ab08999d6029bb2c79c16be5405d63d2bedbdfea Author: roel kluin Date: Tue Sep 1 06:24:53 2009 +0000 WARNING: some request_irq() failures ignored in el2_open() Request_irq() may fail in different ways, handle accordingly. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit aa1330766c49199bdab4d4a9096d98b072df9044 Author: Wu Fengguang Date: Wed Sep 2 23:45:45 2009 -0700 tcp: replace hard coded GFP_KERNEL with sk_allocation This fixed a lockdep warning which appeared when doing stress memory tests over NFS: inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage. page reclaim => nfs_writepage => tcp_sendmsg => lock sk_lock mount_root => nfs_root_data => tcp_close => lock sk_lock => tcp_send_fin => alloc_skb_fclone => page reclaim David raised a concern that if the allocation fails in tcp_send_fin(), and it's GFP_ATOMIC, we are going to yield() (which sleeps) and loop endlessly waiting for the allocation to succeed. But fact is, the original GFP_KERNEL also sleeps. GFP_ATOMIC+yield() looks weird, but it is no worse the implicit sleep inside GFP_KERNEL. Both could loop endlessly under memory pressure. CC: Arnaldo Carvalho de Melo CC: David S. Miller CC: Herbert Xu Signed-off-by: Wu Fengguang Signed-off-by: David S. Miller commit 05c6a8d7a7d778f26d8eb821556988993b766092 Author: Ajit Khaparde Date: Wed Sep 2 17:02:55 2009 +0000 net/ethtool: Add support for the ethtool feature to flash firmware image from a specified file. This patch adds support to flash a firmware image to a device using ethtool. The driver gets the filename of the firmware image and flashes the image using the request firmware path. The region "on the chip" to be flashed can be specified by an option. It is upto the device driver to enumerate the region number passed by ethtool, to the region to be flashed. The default behavior is to flash all the regions on the chip. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 451f14439847db302e5104c44458b2dbb4b1829d Author: Eric Dumazet Date: Mon Aug 31 06:34:50 2009 +0000 drivers: Kill now superfluous ->last_rx stores The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Signed-off-by: Eric Dumazet Acked-by: Neil Horman Signed-off-by: David S. Miller commit bc6c53d5a1383d5d9632adf33bd03458cfc0869d Author: J. Bruce Fields Date: Wed Sep 2 19:50:40 2009 -0400 nfsd: move fsid_type choice out of fh_compose More trivial cleanup. Signed-off-by: J. Bruce Fields commit 8e498751f2f36074ffa6fc7f0a9ec6e055b350e6 Author: J. Bruce Fields Date: Wed Sep 2 19:31:32 2009 -0400 nfsd: move some of fh_compose into helper functions Signed-off-by: J. Bruce Fields commit 6c1488fd581a447ec87c4b59f0d33f95f0aa441b Author: Mimi Zohar Date: Wed Sep 2 11:40:32 2009 -0400 IMA: open new file for read When creating a new file, ima_path_check() assumed the new file was being opened for write. Call ima_path_check() with the appropriate acc_mode so that the read/write counters are incremented correctly. Signed-off-by: Mimi Zohar Signed-off-by: James Morris commit 6ce9e7b5fe3195d1ae6e3a0753d4ddcac5cd699e Author: Eric Dumazet Date: Wed Sep 2 18:05:33 2009 -0700 ip: Report qdisc packet drops Christoph Lameter pointed out that packet drops at qdisc level where not accounted in SNMP counters. Only if application sets IP_RECVERR, drops are reported to user (-ENOBUFS errors) and SNMP counters updated. IP_RECVERR is used to enable extended reliable error message passing, but these are not needed to update system wide SNMP stats. This patch changes things a bit to allow SNMP counters to be updated, regardless of IP_RECVERR being set or not on the socket. Example after an UDP tx flood # netstat -s ... IP: 1487048 outgoing packets dropped ... Udp: ... SndbufErrors: 1487048 send() syscalls, do however still return an OK status, to not break applications. Note : send() manual page explicitly says for -ENOBUFS error : "The output queue for a network interface was full. This generally indicates that the interface has stopped sending, but may be caused by transient congestion. (Normally, this does not occur in Linux. Packets are just silently dropped when a device queue overflows.) " This is not true for IP_RECVERR enabled sockets : a send() syscall that hit a qdisc drop returns an ENOBUFS error. Many thanks to Christoph, David, and last but not least, Alexey ! Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2e59af3dcbdf11635c03f22bfc9706744465d589 Author: Eric Dumazet Date: Wed Sep 2 18:03:00 2009 -0700 vlan: multiqueue vlan device vlan devices are currently not multi-queue capable. We can do that with a new rtnl_link_ops method, get_tx_queues(), called from rtnl_create_link() This new method gets num_tx_queues/real_num_tx_queues from real device. register_vlan_device() is also handled. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5567fa1f543dde3c42f8e52bf4f7005135b24896 Merge: d3d381c 68d4778 Author: Tony Lindgren Date: Wed Sep 2 15:23:05 2009 -0700 Merge branch 'pm-upstream/debug' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into for-next commit 68d4778c701b7e22ddfd64e3afb6628c92718ad2 Author: Tero Kristo Date: Wed Nov 26 12:26:24 2008 +0200 OMAP: PM: Added suspend target state control to debugfs for OMAP3 Target state can be read / programmed via files under: [debugfs]/pm_debug/[pwrdm]/suspend Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 2811d6b3237c9b77007a6b2b10ee5b576da0574e Author: Tero Kristo Date: Wed Oct 29 13:31:24 2008 +0200 OMAP: PM debug: Add PRCM register dump support Allows dumping out current register contents from the debug filesystem, and also allows user to add arbitrary register save points into code. Current register contents are available under debugfs at: [debugfs]/pm_debug/registers/current To add a save point, do following: From module init (or somewhere before the save call, called only once): pm_dbg_init_regset(n); // n=1..4, allocates memory for dump area #n From arbitrary code location: pm_dbg_regset_save(n); // n=1..4, saves registers to dump area #n After this, the register dump can be seen under [debugfs]/pm_debug/registers/n Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit 6199ab2690ca6f44f838603da079b3faa837e502 Author: Peter 'p2' De Schrijver Date: Wed Oct 15 18:13:49 2008 +0300 OMAP: PM debug: make powerdomains use PM-debug counters Make the powerdomain code call the new hook for updating the time. Also implement the updated pwrdm_for_each. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit 331b93f41dff21c8f95709032cb184fb82bf2003 Author: Peter 'p2' De Schrijver Date: Wed Oct 15 18:13:48 2008 +0300 OMAP: PM: Add pm-debug counters This patch provides the debugfs entries and a function which will be called by the PM code to register the time spent per domain per state. Also some new fields are added to the powerdomain struct to keep the time information. NOTE: As of v2.6.29, using getnstimeofday() after drivers are suspended is no longer safe since the timekeeping subsystem is also suspended as part of the suspend process. Instead use sched_clock() which on OMAP returns the 32k SYNC timer in nanoseconds. Also, do not print out status for meta powerdomains (dpll*) Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Tero Kristo Signed-off-by: Kevin Hilman commit a23456e9b02b3fae0fc78cb33fad69803a50e5bc Author: Peter 'p2' De Schrijver Date: Wed Oct 15 18:13:47 2008 +0300 OMAP: PM: Add closures to clkdm_for_each and pwrdm_for_each. Add some infrastructure to easily iterate over clock and power domains. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit fe617af716bc09cbbdd11ad820d5818017a9f481 Author: Peter 'p2' De Schrijver Date: Wed Oct 15 17:48:44 2008 +0300 OMAP: PM: Hook into PM counters This patch modifies the clock, clockdomain and OMAP3 specific powerdomain code to call the PM counter infrastructure whenever one or more powerdomains might have changed state. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit ba20bb126940ce4847e146a0d00b7f7b0868d773 Author: Peter 'p2' De Schrijver Date: Wed Oct 15 17:48:43 2008 +0300 OMAP: PM counter infrastructure. This patch provides the infrastructure to count how many times a powerdomain entered a given power state (on, inactive, retention, off). A number of functions are provided which will be called by the chip specific powerdomain and clockdomain code whenever a transition might have happened. Signed-off-by: Peter 'p2' De Schrijver Signed-off-by: Kevin Hilman commit d3d381c6365ef5b06c4184a3fe047cf027533970 Author: Ming Lei Date: Sat Aug 22 21:20:26 2009 +0800 OMAP3: PM: fix lockdep warning caused by omap3_pm_init This patch uses kmalloc(size,GFP_ATOMIC) instead of kmalloc(size,GFP_KERNEL) to allocate memory for instance of struct power_state in pwrdms_setup(), since it may be called by pwrdm_for_each() with irq disabled. It is a easy fix for the following lockdep warning caused by kmalloc(size,GFP_KERNEL) in pwrdms_setup(): Power Management for TI OMAP3. ------------[ cut here ]------------ WARNING: at kernel/lockdep.c:2282 lockdep_trace_alloc+0xe8/0xfc() Modules linked in: [] (unwind_backtrace+0x0/0xec) from [] (warn_slowpath_common+0x48/0x60) [] (warn_slowpath_common+0x48/0x60) from [] (lockdep_trace_alloc+0xe8/0xfc) [] (lockdep_trace_alloc+0xe8/0xfc) from [] (kmem_cache_alloc+0x28/0x178) [] (kmem_cache_alloc+0x28/0x178) from [] (pwrdms_setup+0x30/0xf8) [] (pwrdms_setup+0x30/0xf8) from [] (pwrdm_for_each+0x64/0x84) [] (pwrdm_for_each+0x64/0x84) from [] (omap3_pm_init+0x3f4/0x5ac) [] (omap3_pm_init+0x3f4/0x5ac) from [] (do_one_initcall+0x30/0x1d4) [] (do_one_initcall+0x30/0x1d4) from [] (kernel_init+0xa4/0x118) [] (kernel_init+0xa4/0x118) from [] (kernel_thread_exit+0x0/0x8) ---[ end trace 1e06f8d97dc5a19b ]--- Signed-off-by: Ming Lei Signed-off-by: Kevin Hilman commit 2fcc81a38b699a81e47fdd655cf514c789576554 Author: Vikram Pandita Date: Fri Aug 21 13:11:20 2009 -0500 OMAP: Zoom2: release debug board detect gpio line Release the Dbg board detection gpio once its purpose is served Signed-off-by: Vikram Pandita Signed-off-by: Kevin Hilman commit 5110b2980a1299f6c253260de385b0dc2b2308b0 Author: Reddy, Teerth Date: Mon Aug 24 11:58:59 2009 +0530 OMAP3: PM: add T2 interrupt line mux setting, and enable on 3430SDP This patch changes for setting the padconf value for sys_nirq line which is connected to T2 INTR1. This will fix the T2 keypad wakeup issue on OMAP3 SDP. Signed-off-by: Teerth Reddy Signed-off-by: Kevin Hilman commit bbde6ebae6dacf2f6e6ac4ab28c1805a2d51c5e1 Author: Anand Gadiyar Date: Mon Aug 24 17:36:37 2009 +0530 MUSB: Remove usb_musb_pm_init() call In usb_musb_pm_init, we attempt to access an MUSB register when the i-clock may not be on, or the module is otherwise not accessible. We need to either: - enable the clock before this access, or - remove this code and move it to the bootloader, or - enable the clock in the bootloader If we enable the clock in the bootloader, we might as well add the workaround in the bootloader itself. This code will anyway be changed once hwmod is in place, so remove it for now This allows us to boot the kernel on certain OMAP3 boards with a bootloader that doesn't enable this clock. Without this, we will need to upgrade the bootloaders on these boards. Signed-off-by: Anand Gadiyar Signed-off-by: Kevin Hilman commit 24bcadb6508b7c0f7307749228841fe04af6d70f Author: Vikram Pandita Date: Fri Aug 21 13:11:06 2009 -0500 OMAP: Zoom2: update serial platform_data id for external UART Now that on-chip UARTs each have separate platform_data, the external UART needs an non-conflicting ID. Since there are 3 on-chip UARTs, the Zoom2 external UART will be registered after as the fourth. Signed-off-by: Vikram Pandita Signed-off-by: Kevin Hilman commit aae290fb4d64e2b09b659f4b8a7f9d2547ef63b1 Author: Santosh Shilimkar Date: Sat Aug 22 13:30:12 2009 +0530 ARM: OMAP4: Bypass the clock check. Second reason of OMAP4 boot failure on 2.6.31.rc6, the UART platform data is not getting registered to kernel. Registration was failing because of clock check failure in omap_serial_init(). Below patch fix the same. OMAP4 clock framework patches are still getting discussed on mailing list so till then we need this. Signed-off-by: Syed Rafiuddin Signed-off-by: Santosh Shilimkar Acked-by: Tony Lindgren Signed-off-by: Kevin Hilman commit 0e3eaadfe3da84f98250ad8a2c36e87fe00e42ee Author: Santosh Shilimkar Date: Sat Aug 22 13:30:11 2009 +0530 ARM: OMAP4: Fix NULL pointer dereference crash. After the patch series "[PATCH 00/14] OMAP PM fixes for .31-rc" merge in 2.6.31-rc5, the kernel crashed during boot on OMAP4430. This patch fixes it by adding UART4 support and related code. Without this patch omap_serial_init() would produce " NULL pointer dereference" and kernel crashes in the bootup on OMAP4430 platform. Some more info on the merge issue can be found here. More info- http://lkml.org/lkml/2009/8/20/192 Note: While merging this patch,"IO_ADDRESS" needs to be changed to "OMAP2_IO_ADDRESS" if the Tony's below series is already merged in. http://www.mail-archive.com/linux-omap@vger.kernel.org/msg15072.html Signed-off-by: Syed Rafiuddin Signed-off-by: Santosh Shilimkar Acked-by: Tony Lindgren Signed-off-by: Kevin Hilman commit 988abe4075e5748d9f7c79d9dfffa0cf5291611b Author: Alex Elder Date: Wed Sep 2 17:02:24 2009 -0500 xfs: xfs_showargs() reports group *and* project quotas enabled If you enable group or project quotas on an XFS file system, then the mount table presented through /proc/self/mounts erroneously shows that both options are in effect for the file system. The root of the problem is some bad logic in the xfs_showargs() function, which is used to format the file system type-specific options in effect for a file system. The problem originated in this GIT commit: Move platform specific mount option parse out of core XFS code Date: 11/22/07 Author: Dave Chinner SHA1 ID: a67d7c5f5d25d0b13a4dfb182697135b014fa478 For XFS quotas, project and group quota management are mutually exclusive--only one can be in effect at a time. There are two parts to managing quotas: aggregating usage information; and enforcing limits. It is possible to have a quota in effect (aggregating usage) but not enforced. These features are recorded on an XFS mount point using these flags: XFS_PQUOTA_ACCT - Project quotas are aggregated XFS_GQUOTA_ACCT - Group quotas are aggregated XFS_OQUOTA_ENFD - Project/group quotas are enforced The code in error is in fs/xfs/linux-2.6/xfs_super.c: if (mp->m_qflags & (XFS_PQUOTA_ACCT|XFS_OQUOTA_ENFD)) seq_puts(m, "," MNTOPT_PRJQUOTA); else if (mp->m_qflags & XFS_PQUOTA_ACCT) seq_puts(m, "," MNTOPT_PQUOTANOENF); if (mp->m_qflags & (XFS_GQUOTA_ACCT|XFS_OQUOTA_ENFD)) seq_puts(m, "," MNTOPT_GRPQUOTA); else if (mp->m_qflags & XFS_GQUOTA_ACCT) seq_puts(m, "," MNTOPT_GQUOTANOENF); The problem is that XFS_OQUOTA_ENFD will be set in mp->m_qflags if either group or project quotas are enforced, and as a result both MNTOPT_PRJQUOTA and MNTOPT_GRPQUOTA will be shown as mount options. Signed-off-by: Alex Elder Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher commit 5848cc096a23b80b3d15c27d72299f79caf7c517 Author: Neil Horman Date: Wed Sep 2 14:37:45 2009 -0700 net: drop_monitor: make last_rx timestamp private It was recently pointed out to me that the last_rx field of the net_device structure wasn't updated regularly. In fact only the bonding driver really uses it currently. Since the drop_monitor code relies on the last_rx field to detect drops on recevie in hardware, We need to find a more reliable way to rate limit our drop checks (so that we don't check for drops on every frame recevied, which would be inefficient. This patch makes a last_rx timestamp that is private to the drop monitor code and is updated for every device that we track. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 3f968de276a8e585deb182d4ba56013a479c80bc Merge: 5ca1b99 d0bec34 Author: David S. Miller Date: Wed Sep 2 14:18:09 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 0fbdea19e9394a5cb5f2f5081b028c50b558910a Author: Ingo Molnar Date: Wed Sep 2 21:46:00 2009 +0200 perf_counter: Introduce new (non-)paranoia level to allow raw tracepoint access I want to sample inherited tracepoint workloads as a normal user and the CAP_SYS_ADMIN check prevents me from doing that right now. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit f76bd108e5031202bb40849306f98c4afebe4ef6 Merge: cd6feee eced1df Author: Ingo Molnar Date: Wed Sep 2 21:42:56 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Merge reason: We are going to modify a place modified by perfcounters/urgent. Signed-off-by: Ingo Molnar commit d0bec34293bb0b8dddc26d25bd46a6631d6b3ec3 Author: Vivek Natarajan Date: Wed Sep 2 15:50:55 2009 +0530 ath9k: Reconfigure beacon timers after the scan is completed. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit fcc6cb0c13555e78c2d47257b6d1b5e59b0c419a Author: Bob Copeland Date: Tue Sep 1 18:12:11 2009 -0400 cfg80211: fix looping soft lockup in find_ie() The find_ie() function uses a size_t for the len parameter, and directly uses len as a loop variable. If any received packets are malformed, it is possible for the decrease of len to overflow, and since the result is unsigned, the loop will not terminate. Change it to a signed int so the loop conditional works for negative values. This fixes the following soft lockup: [38573.102007] BUG: soft lockup - CPU#0 stuck for 61s! [phy0:2230] [38573.102007] Modules linked in: aes_i586 aes_generic fuse af_packet ipt_REJECT xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 xt_state iptable_filter ip_tables x_tables acpi_cpufreq binfmt_misc dm_mirror dm_region_hash dm_log dm_multipath dm_mod kvm_intel kvm uinput i915 arc4 ecb drm snd_hda_codec_idt ath5k snd_hda_intel hid_apple mac80211 usbhid appletouch snd_hda_codec snd_pcm ath cfg80211 snd_timer i2c_algo_bit ohci1394 video snd processor ieee1394 rfkill ehci_hcd sg sky2 backlight snd_page_alloc uhci_hcd joydev output ac thermal button battery sr_mod applesmc cdrom input_polldev evdev unix [last unloaded: scsi_wait_scan] [38573.102007] irq event stamp: 2547724535 [38573.102007] hardirqs last enabled at (2547724534): [] restore_all_notrace+0x0/0x18 [38573.102007] hardirqs last disabled at (2547724535): [] apic_timer_interrupt+0x28/0x34 [38573.102007] softirqs last enabled at (92950144): [] __do_softirq+0x108/0x210 [38573.102007] softirqs last disabled at (92950274): [] _spin_lock_bh+0x14/0x80 [38573.102007] [38573.102007] Pid: 2230, comm: phy0 Tainted: G W (2.6.31-rc7-wl #8) MacBook1,1 [38573.102007] EIP: 0060:[] EFLAGS: 00010292 CPU: 0 [38573.102007] EIP is at cmp_ies+0x30/0x180 [cfg80211] [38573.102007] EAX: 00000082 EBX: 00000000 ECX: ffffffc1 EDX: d8efd014 [38573.102007] ESI: ffffff7c EDI: 0000004d EBP: eee2dc50 ESP: eee2dc3c [38573.102007] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [38573.102007] CR0: 8005003b CR2: d8efd014 CR3: 01694000 CR4: 000026d0 [38573.102007] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [38573.102007] DR6: ffff0ff0 DR7: 00000400 [38573.102007] Call Trace: [38573.102007] [] cmp_bss+0xed/0x100 [cfg80211] [38573.102007] [] cfg80211_bss_update+0x84/0x410 [cfg80211] [38573.102007] [] cfg80211_inform_bss_frame+0x114/0x180 [cfg80211] [38573.102007] [] ieee80211_bss_info_update+0x4f/0x180 [mac80211] [38573.102007] [] ieee80211_rx_bss_info+0x88/0xf0 [mac80211] [38573.102007] [] ? ieee802_11_parse_elems+0x27/0x30 [mac80211] [38573.102007] [] ieee80211_rx_mgmt_probe_resp+0xa4/0x1c0 [mac80211] [38573.102007] [] ieee80211_sta_rx_queued_mgmt+0x919/0xc50 [mac80211] [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? mark_held_locks+0x60/0x80 [38573.102007] [] ? _spin_unlock_irqrestore+0x55/0x70 [38573.102007] [] ? sub_preempt_count+0x85/0xc0 [38573.102007] [] ? _spin_unlock_irqrestore+0x3e/0x70 [38573.102007] [] ? skb_dequeue+0x4f/0x70 [38573.102007] [] ieee80211_sta_work+0x91/0xb80 [mac80211] [38573.102007] [] ? sched_clock+0x27/0xa0 [38573.102007] [] ? sub_preempt_count+0x85/0xc0 [38573.102007] [] worker_thread+0x18f/0x320 [38573.102007] [] ? worker_thread+0x12e/0x320 [38573.102007] [] ? _spin_unlock_irqrestore+0x55/0x70 [38573.102007] [] ? ieee80211_sta_work+0x0/0xb80 [mac80211] [38573.102007] [] ? autoremove_wake_function+0x0/0x50 [38573.102007] [] ? worker_thread+0x0/0x320 [38573.102007] [] kthread+0x84/0x90 [38573.102007] [] ? kthread+0x0/0x90 [38573.102007] [] kernel_thread_helper+0x7/0x10 Cc: stable@kernel.org Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit abd8ea22c23c917f56fefcda8a4468fbc2247d7f Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:46 2009 -0700 wireless: remove mac80211 rate selection extra menu We can just display this upon enabling mac80211 with an 'if MAC80211 != n' check. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 253850c10d1f9af46f4870616ed29f38ed39fd15 Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:43 2009 -0700 wireless: update reg debug kconfig entry Refer to the wireless wiki for more information. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 44175272ba5f08e842877ef230ff4ed21cf9ec39 Author: Luis R. Rodriguez Date: Tue Sep 1 08:22:40 2009 -0700 wireless: update top level wireless driver entry Change it to a menuconfig to give it some documentation, to refer users to our wireless wiki for extra resources and documentation. It seems our wiki is still obscure to some. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit cd6feeeafddbef6abfe4d90fb26e42fd844d34ed Author: Ingo Molnar Date: Wed Sep 2 20:20:38 2009 +0200 perf trace: Sample the CPU too Sample, record, parse and print the CPU field - it had all zeroes before. Before (watch the second column, the CPU values): perf-32685 [000] 0.000000: sched_wakeup_new: task perf:32686 [120] success=1 [011] perf-32685 [000] 0.000000: sched_migrate_task: task perf:32685 [120] from: 1 to: 11 perf-32685 [000] 0.000000: sched_process_fork: parent perf:32685 child perf:32686 true-32686 [000] 0.000000: sched_wakeup: task migration/11:25 [0] success=1 [011] true-32686 [000] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] true-32686 [000] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] perf-32685 [000] 0.000000: sched_switch: task perf:32685 [120] (S) ==> swapper:0 [140] true-32686 [000] 0.000000: sched_switch: task perf:32686 [120] (R) ==> migration/11:25 [0] true-32686 [000] 0.000000: sched_switch: task perf:32686 [120] (R) ==> distccd:12793 [125] true-32686 [000] 0.000000: sched_switch: task true:32686 [120] (R) ==> distccd:12793 [125] true-32686 [000] 0.000000: sched_process_exit: task true:32686 [120] true-32686 [000] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767985949080 [ns] true-32686 [000] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767986139446 [ns] true-32686 [000] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 132844 [ns] true-32686 [000] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 131724 [ns] After: perf-32685 [001] 0.000000: sched_wakeup_new: task perf:32686 [120] success=1 [011] perf-32685 [001] 0.000000: sched_migrate_task: task perf:32685 [120] from: 1 to: 11 perf-32685 [001] 0.000000: sched_process_fork: parent perf:32685 child perf:32686 true-32686 [011] 0.000000: sched_wakeup: task migration/11:25 [0] success=1 [011] true-32686 [015] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] true-32686 [015] 0.000000: sched_wakeup: task distccd:12793 [125] success=1 [015] perf-32685 [001] 0.000000: sched_switch: task perf:32685 [120] (S) ==> swapper:0 [140] true-32686 [011] 0.000000: sched_switch: task perf:32686 [120] (R) ==> migration/11:25 [0] true-32686 [015] 0.000000: sched_switch: task perf:32686 [120] (R) ==> distccd:12793 [125] true-32686 [015] 0.000000: sched_switch: task true:32686 [120] (R) ==> distccd:12793 [125] true-32686 [015] 0.000000: sched_process_exit: task true:32686 [120] true-32686 [015] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767985949080 [ns] true-32686 [015] 0.000000: sched_stat_wait: task: distccd:12793 wait: 6767986139446 [ns] true-32686 [015] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 132844 [ns] true-32686 [015] 0.000000: sched_stat_sleep: task: distccd:12793 sleep: 131724 [ns] So we can now see how this workload migrated between CPUs. Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker Cc: Li Zefan Cc: Mike Galbraith Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 2eff31e8096513d03b0b6484b85fd2c417eb87e8 Author: Mark Brown Date: Wed Sep 2 18:51:19 2009 +0100 ASoC: Fully specify DC servo bits to update in wm_hubs Avoids potential issues if we read back unexpected values during a read/modify/write cycle. Signed-off-by: Mark Brown commit c47a830c08a26a7c210ae16a0ffe3f56ba86ea69 Author: Dick Hollenbeck Date: Wed Sep 2 17:07:29 2009 +0100 ARM: 5688/1: ks8695_serial: disable_irq() lockup disable_irq() cannot be called from interrupt context without self imposed deadlock. This was happening in ks8695uart_stop_tx(). Signed-off-by: Dick Hollenbeck Signed-off-by: Russell King commit 65014ab36196f6d86edc9ee23759d6930b9d89a8 Author: Ingo Molnar Date: Wed Sep 2 14:55:55 2009 +0200 perf tools: Work around strict aliasing related warnings Older versions of GCC are rather stupid about strict aliasing: util/trace-event-parse.c: In function 'parse_cmdlines': util/trace-event-parse.c:93: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c: In function 'parse_proc_kallsyms': util/trace-event-parse.c:155: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:157: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:158: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c: In function 'parse_ftrace_printk': util/trace-event-parse.c:294: warning: dereferencing type-punned pointer will break strict-aliasing rules util/trace-event-parse.c:295: warning: dereferencing type-punned pointer will break strict-aliasing rules make: *** [util/trace-event-parse.o] Error 1 Make it clear to GCC that we intend with those pointers, by passing them through via an explicit (void *) cast. We might want to add -fno-strict-aliasing as well, like the kernel itself does. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 61562445c80452ec417fb6a6895b991f6c1dd930 Author: Ingo Molnar Date: Wed Sep 2 14:50:23 2009 +0200 perf tools: Clean up warnings list in the Makefile Make it easier to turn warnings on/off by using a separate line for each warning added. Some of the warnings have too much of a nuisance factor and we might want to turn them off in the future. Cc: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit ee18d64c1f632043a02e6f5ba5e045bb26a5465f Author: David Howells Date: Wed Sep 2 09:14:21 2009 +0100 KEYS: Add a keyctl to install a process's session keyring on its parent [try #6] Add a keyctl to install a process's session keyring onto its parent. This replaces the parent's session keyring. Because the COW credential code does not permit one process to change another process's credentials directly, the change is deferred until userspace next starts executing again. Normally this will be after a wait*() syscall. To support this, three new security hooks have been provided: cred_alloc_blank() to allocate unset security creds, cred_transfer() to fill in the blank security creds and key_session_to_parent() - which asks the LSM if the process may replace its parent's session keyring. The replacement may only happen if the process has the same ownership details as its parent, and the process has LINK permission on the session keyring, and the session keyring is owned by the process, and the LSM permits it. Note that this requires alteration to each architecture's notify_resume path. This has been done for all arches barring blackfin, m68k* and xtensa, all of which need assembly alteration to support TIF_NOTIFY_RESUME. This allows the replacement to be performed at the point the parent process resumes userspace execution. This allows the userspace AFS pioctl emulation to fully emulate newpag() and the VIOCSETTOK and VIOCSETTOK2 pioctls, all of which require the ability to alter the parent process's PAG membership. However, since kAFS doesn't use PAGs per se, but rather dumps the keys into the session keyring, the session keyring of the parent must be replaced if, for example, VIOCSETTOK is passed the newpag flag. This can be tested with the following program: #include #include #include #define KEYCTL_SESSION_TO_PARENT 18 #define OSERROR(X, S) do { if ((long)(X) == -1) { perror(S); exit(1); } } while(0) int main(int argc, char **argv) { key_serial_t keyring, key; long ret; keyring = keyctl_join_session_keyring(argv[1]); OSERROR(keyring, "keyctl_join_session_keyring"); key = add_key("user", "a", "b", 1, keyring); OSERROR(key, "add_key"); ret = keyctl(KEYCTL_SESSION_TO_PARENT); OSERROR(ret, "KEYCTL_SESSION_TO_PARENT"); return 0; } Compiled and linked with -lkeyutils, you should see something like: [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: _ses 355907932 --alswrv 4043 -1 \_ keyring: _uid.4043 [dhowells@andromeda ~]$ /tmp/newpag [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: _ses 1055658746 --alswrv 4043 4043 \_ user: a [dhowells@andromeda ~]$ /tmp/newpag hello [dhowells@andromeda ~]$ keyctl show Session Keyring -3 --alswrv 4043 4043 keyring: hello 340417692 --alswrv 4043 4043 \_ user: a Where the test program creates a new session keyring, sticks a user key named 'a' into it and then installs it on its parent. Signed-off-by: David Howells Signed-off-by: James Morris commit d0420c83f39f79afb82010c2d2cafd150eef651b Author: David Howells Date: Wed Sep 2 09:14:16 2009 +0100 KEYS: Extend TIF_NOTIFY_RESUME to (almost) all architectures [try #6] Implement TIF_NOTIFY_RESUME for most of those architectures in which isn't yet available, and, whilst we're at it, have it call the appropriate tracehook. After this patch, blackfin, m68k* and xtensa still lack support and need alteration of assembly code to make it work. Resume notification can then be used (by a later patch) to install a new session keyring on the parent of a process. Signed-off-by: David Howells Acked-by: Russell King cc: linux-arch@vger.kernel.org Signed-off-by: James Morris commit 7b1b9164598286fe93927ff41eed2a2609fd9056 Author: David Howells Date: Wed Sep 2 09:14:11 2009 +0100 KEYS: Do some whitespace cleanups [try #6] Do some whitespace cleanups in the key management code. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit ad73a717e0fc6949c44e587ca5d63c273a30e6f5 Author: Serge E. Hallyn Date: Wed Sep 2 09:14:05 2009 +0100 KEYS: Make /proc/keys use keyid not numread as file position [try #6] Make the file position maintained by /proc/keys represent the ID of the key just read rather than the number of keys read. This should make it faster to perform a lookup as we don't have to scan the key ID tree from the beginning to find the current position. Signed-off-by: Serge E. Hallyn Signed-off-by: David Howells Signed-off-by: James Morris commit 5d135440faf7db8d566de0c6fab36b16cf9cfc3b Author: David Howells Date: Wed Sep 2 09:14:00 2009 +0100 KEYS: Add garbage collection for dead, revoked and expired keys. [try #6] Add garbage collection for dead, revoked and expired keys. This involved erasing all links to such keys from keyrings that point to them. At that point, the key will be deleted in the normal manner. Keyrings from which garbage collection occurs are shrunk and their quota consumption reduced as appropriate. Dead keys (for which the key type has been removed) will be garbage collected immediately. Revoked and expired keys will hang around for a number of seconds, as set in /proc/sys/kernel/keys/gc_delay before being automatically removed. The default is 5 minutes. Signed-off-by: David Howells Signed-off-by: James Morris commit f041ae2f99d49adc914153a34a2d0e14e4389d90 Author: David Howells Date: Wed Sep 2 09:13:55 2009 +0100 KEYS: Flag dead keys to induce EKEYREVOKED [try #6] Set the KEY_FLAG_DEAD flag on keys for which the type has been removed. This causes the key_permission() function to return EKEYREVOKED in response to various commands. It does not, however, prevent unlinking or clearing of keyrings from detaching the key. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit 0c2c9a3fc77e8b60d43d9bd2ca46eb4dddb0ff76 Author: David Howells Date: Wed Sep 2 09:13:50 2009 +0100 KEYS: Allow keyctl_revoke() on keys that have SETATTR but not WRITE perm [try #6] Allow keyctl_revoke() to operate on keys that have SETATTR but not WRITE permission, rather than only on keys that have WRITE permission. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit 5593122eec26b061cc0b6fbff32118f1aadf4a27 Author: David Howells Date: Wed Sep 2 09:13:45 2009 +0100 KEYS: Deal with dead-type keys appropriately [try #6] Allow keys for which the key type has been removed to be unlinked. Currently dead-type keys can only be disposed of by completely clearing the keyrings that point to them. Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit e0e817392b9acf2c98d3be80c233dddb1b52003d Author: David Howells Date: Wed Sep 2 09:13:40 2009 +0100 CRED: Add some configurable debugging [try #6] Add a config option (CONFIG_DEBUG_CREDENTIALS) to turn on some debug checking for credential management. The additional code keeps track of the number of pointers from task_structs to any given cred struct, and checks to see that this number never exceeds the usage count of the cred struct (which includes all references, not just those from task_structs). Furthermore, if SELinux is enabled, the code also checks that the security pointer in the cred struct is never seen to be invalid. This attempts to catch the bug whereby inode_has_perm() faults in an nfsd kernel thread on seeing cred->security be a NULL pointer (it appears that the credential struct has been previously released): http://www.kerneloops.org/oops.php?number=252883 Signed-off-by: David Howells Signed-off-by: James Morris commit 13f96d8f4c5a3f6a6b5e578d08869d79d690e0b2 Author: Nicolas Pitre Date: Tue Sep 1 22:01:27 2009 +0100 ARM: 5687/1: fix an oops with highmem In xdr_partial_copy_from_skb() there is that sequence: kaddr = kmap_atomic(*ppage, KM_SKB_SUNRPC_DATA); [...] flush_dcache_page(*ppage); kunmap_atomic(kaddr, KM_SKB_SUNRPC_DATA); Mixing flush_dcache_page() and kmap_atomic() is a bit odd, especially since kunmap_atomic() must deal with cache issues already. OTOH the non-highmem case must use flush_dcache_page() as kunmap_atomic() becomes a no op with no cache maintenance. Problem is that with highmem the implementation of kmap_atomic() doesn't set page->virtual, and page_address(page) returns 0 in that case. Here flush_dcache_page() calls __flush_dcache_page() which calls __cpuc_flush_dcache_page(page_address(page)) resulting in a kernel oops. None of the kmap_atomic() implementations uses set_page_address(). Hence we can assume page_address() is always expected to return 0 in that case. Let's conditionally call __cpuc_flush_dcache_page() only when the page address is non zero, and perform that test only when highmem is configured. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 8e22676e56673494a15ba95b57af21eb47d8b98a Author: wanzongshun Date: Fri Aug 21 07:09:03 2009 +0100 ARM: 5684/1: Add nuc960 platform to w90x900 Add nuc960 platform to w90x900. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 936fbe9efc96d40c8cdc23bba31a3beaad4f96c1 Author: wanzongshun Date: Fri Aug 21 07:08:24 2009 +0100 ARM: 5683/1: Add nuc950 platform to w90x900 Add nuc950 platform to w90x900. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 35c9221acb133ecc9abd701a1fb6fa909d177a77 Author: wanzongshun Date: Fri Aug 21 07:07:46 2009 +0100 ARM: 5682/1: Add cpu.c and dev.c and modify some files of w90p910 platform Add the cpu.c and dev.c and modify w90p910 platform to apply to use the common API(provided by cpu.c and dev.c) at the same time, I renamed all w90x900 to nuc900 in every c file of w90x900 platform and touchscreen's driver name. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit b736b89f8a001cb73f020ca90a6fac77861cddf6 Author: Leo Chen Date: Tue Jul 28 23:43:33 2009 +0100 ARM: 5626/1: add suspend/resume functions to amba-pl011 serial driver Add suspend/resume functions to the AMBA pl011 serial driver. Signed-off-by: Leo Chen Signed-off-by: Russell King commit 8afe0b96b36bb967a00658003736ffa97967ee80 Author: Leo Chen Date: Tue Jul 28 23:34:59 2009 +0100 ARM: 5625/1: fix hard coded 4K resource size in amba bus detection This patch modifies the amba bus detection logic in the kernel to detect the AMBA devices using the calculated resource size information rather than the hard coded 4K size. It also calculates the resource size when request mem region and release mem region. Signed-off-by: Leo Chen Signed-off-by: Russell King commit 98b0979f025e5b98ce8f24e6dc0f9713e6f6c88c Author: Russell King Date: Thu Jul 9 15:17:41 2009 +0100 MMC: MMCI: convert realview MMC to use gpiolib Signed-off-by: Russell King commit 7064d2092df5cbff289457424969292bc4062df4 Author: Linus Walleij Date: Wed Aug 26 09:58:24 2009 +0100 ARM: 5685/1: Make MMCI driver compile without gpiolib The recent addition of optional gpiolib support to check if a card was inserted or write protected was really not optional. It needs this ifdef to become optional so that U300 compiles, for example. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit f1939f7c56456d22a559d2c75156e91912a2e97e Author: Shane Wang Date: Wed Sep 2 20:05:22 2009 +1000 crypto: vmac - New hash algorithm for intel_txt support This patch adds VMAC (a fast MAC) support into crypto framework. Signed-off-by: Shane Wang Signed-off-by: Joseph Cihula Signed-off-by: Herbert Xu commit 5ca1b998d33c39819fca2b675d80c4469e705f2d Author: Stephen Hemminger Date: Tue Sep 1 19:25:05 2009 +0000 net: file_operations should be const All instances of file_operations should be const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3b401a81c0d50ea9c718cf837f62cc2e6e79cc30 Author: Stephen Hemminger Date: Tue Sep 1 19:25:04 2009 +0000 inet: inet_connection_sock_af_ops const The function block inet_connect_sock_af_ops contains no data make it constant. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b2e4b3debc327a5b53d9622e0b1785eea2ea2aad Author: Stephen Hemminger Date: Tue Sep 1 19:25:03 2009 +0000 tcp: MD5 operations should be const Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 98147d527a038c4aab599e57323a4e5d727c28a6 Author: Stephen Hemminger Date: Tue Sep 1 19:25:02 2009 +0000 net: seq_operations should be const Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0fc0b732eaa38beb93a6fb62f77c7bd9622c76ec Author: Stephen Hemminger Date: Wed Sep 2 01:03:33 2009 -0700 netdev: drivers should make ethtool_ops const No need to put ethtool_ops in data, they should be const. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit daf09de817353f18bb81a23a023d429cfd258e62 Author: Matt Carlson Date: Tue Sep 1 13:22:42 2009 +0000 tg3: Update version to 3.102 This patch updates the tg3 version to 3.102. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 882e9793faa9425dff581c33b1af45ed10145626 Author: Matt Carlson Date: Tue Sep 1 13:21:36 2009 +0000 tg3: Add MDIO bus address assignments The 5717 is a dual port chip that has a shared MDIO bus design. While it is impossible for one function to interface with the wrong phy, that function still needs to know which MDIO bus address to use when interfacing with its own phy. This patch adds code to determine which MDIO bus address to use. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit a1b950d56de3c72bea3343f54de24c43fb7dc74e Author: Matt Carlson Date: Tue Sep 1 13:20:17 2009 +0000 tg3: Add 5717 NVRAM detection routines This patch adds NVRAM detection routines for the 5717. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f6eb9b1fc1411d22c073f5264e5630a541d0f7df Author: Matt Carlson Date: Tue Sep 1 13:19:53 2009 +0000 tg3: Add 5717 asic rev This patch adds the 5717 asic rev. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 8d9d7cfc0ec2fe37ff9afd74326d03f38f96ad1b Author: Matt Carlson Date: Tue Sep 1 13:19:05 2009 +0000 tg3: Assign rx ret producer indexes by vector When RSS is enabled, the status block format changes slightly. The "rx_jumbo_consumer", "reserved", and "rx_mini_consumer" members get mapped to the other three rx return ring producer indexes. This patch introduces a new per-interrupt member which identifies which location in the status block a particular vector should look for return ring updates. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 0c1d0e2b05e92ad847b3ebe1c75b7974086bc8fa Author: Matt Carlson Date: Tue Sep 1 13:16:33 2009 +0000 tg3: Adjust RSS ring allocation strategies When multivector RSS is enabled, the first interrupt vector is only used to report link interrupts and error conditions. This patch changes the code so that rx and tx ring resources are not allocated for this vector. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit baf8a94a572928710e9e60967d153a7bf3aebd9c Author: Matt Carlson Date: Tue Sep 1 13:13:00 2009 +0000 tg3: Add RSS support This patch adds code needed to enable RSS. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit b6080e126012047d42e53154189fdca286d0600e Author: Matt Carlson Date: Tue Sep 1 13:12:00 2009 +0000 tg3: Add coalesce parameters for msix vectors This patch adds code to tune the coalescing parameters for the other msix vectors. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fed9781081aa9600765346c108ff22751e003715 Author: Matt Carlson Date: Tue Sep 1 13:10:19 2009 +0000 tg3: Enable NAPI instances for other int vectors This patch adds code to enable and disable the rest of the NAPI instances. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fe5f5787f0866e9f883bdd90018a354f2f3defd1 Author: Matt Carlson Date: Tue Sep 1 13:09:39 2009 +0000 tg3: Add TSS support This patch exposes the additional transmit rings to the kernel and makes the necessary modifications to transmit, open, and close paths. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 89aeb3bceaa1a02651206a76a7b9dcb8f3884702 Author: Matt Carlson Date: Tue Sep 1 13:08:58 2009 +0000 tg3: Update intmbox and coal_now for msix This patch fixes up two spots that need attention now that msix support has been added. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f77a6a8e6cee17b21a43bdf6b853cc2fc0e2c4df Author: Matt Carlson Date: Tue Sep 1 13:04:37 2009 +0000 tg3: Add tx and rx ring resource tracking This patch adds code to assign status block, tx producer ring and rx return ring resources needed for the other interrupt vectors. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 646c9eddcffd202bb0f3d906cecf94eaf10cad31 Author: Matt Carlson Date: Tue Sep 1 12:58:41 2009 +0000 tg3: Add mailbox assignments The 5717 assigns mailbox locations to interrupt vectors in a rather non-intuitive way. (Much of the complexity stems from legacy compatibility issues.) This patch implements the assignment scheme. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 679563f47cd2547a0e091b5bd3ddf30027af6b08 Author: Matt Carlson Date: Tue Sep 1 12:55:46 2009 +0000 tg3: Add MSI-X support This patch adds MSI-X support. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 4f125f42dd55390016e21f8b3960f99d02d1001f Author: Matt Carlson Date: Tue Sep 1 12:55:02 2009 +0000 tg3: Add support code around kernel interrupt API This patch adds code to support multiple interrupt vectors around the kernel's interrupt API. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 2d31ecaf10c4ae03d49aed516481b2839b0220f6 Author: Matt Carlson Date: Tue Sep 1 12:53:31 2009 +0000 tg3: Create tg3_rings_reset() This patch moves most of the chip ring setup logic into a separate function. This will make it easier to verify the multi ring setup changes. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit fd2ce37f8e4a570ce90b141a2e7c476c5b399836 Author: Matt Carlson Date: Tue Sep 1 12:51:13 2009 +0000 tg3: Add per-int coalesce now member Each interrupt vector has its own bit in the host coalescing register to force that vector's status block to be updated and generate an interrupt. This patch adds a member to the per-interrupt structure that records which bit belongs to that vector. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit f19af9c2cc015e42dfe4bd5c383e32066ec2801c Author: Matt Carlson Date: Tue Sep 1 12:47:49 2009 +0000 tg3: inline tg3_cond_int() This patch inlines the code of tg3_cond_int() into the function's only callsite. This prep work makes the following patch cleaner. Signed-off-by: Matt Carlson Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 6cdee2f96a97f6da26bd3759c3f8823332fbb438 Merge: 0625491 2fbd3da Author: David S. Miller Date: Wed Sep 2 00:32:56 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/yellowfin.c commit 768d0c27226e6587cad2fcf543f9711da3f3774e Author: Peter Zijlstra Date: Thu Jul 23 20:13:26 2009 +0200 sched: Add wait, sleep and iowait accounting tracepoints Add 3 schedstat tracepoints to help account for wait-time, sleep-time and iowait-time. They can also be used as a perf-counter source to profile tasks on these clocks. Signed-off-by: Peter Zijlstra Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Arjan van de Ven LKML-Reference: [ build fix for the !CONFIG_SCHEDSTATS case ] Signed-off-by: Ingo Molnar commit 8f0dfc34e9b323a028c2ec41abb7e9de477b7a94 Author: Arjan van de Ven Date: Mon Jul 20 11:26:58 2009 -0700 sched: Provide iowait counters For counting how long an application has been waiting for (disk) IO, there currently is only the HZ sample driven information available, while for all other counters in this class, a high resolution version is available via CONFIG_SCHEDSTATS. In order to make an improved bootchart tool possible, we also need a higher resolution version of the iowait time. This patch below adds this scheduler statistic to the kernel. Signed-off-by: Arjan van de Ven Signed-off-by: Peter Zijlstra LKML-Reference: <4A64B813.1080506@linux.intel.com> Signed-off-by: Ingo Molnar commit ff6fdbed8f465f796da7ab32cde67e2dfb9e1f8f Author: Maarten Maathuis Date: Tue Sep 1 03:39:04 2009 +0200 drm/crtc_helper: avoid NULL-pointer dereference when encoder is NULL Signed-off-by: Maarten Maathuis Signed-off-by: Dave Airlie commit cede3930f0ca6fef353fa01306c72a01420bd45e Author: Benjamin Herrenschmidt Date: Mon Aug 31 21:34:36 2009 +0000 powerpc: Fix some late PowerMac G5 with PCIe ATI graphics A misconfiguration by the firmware of the U4 PCIe bridge on PowerMac G5 with the U4 bridge (latest generations, may also affect the iMac G5 "iSight") is causing us to re-assign the PCI BARs of the video card, which can get it out of sync with the firmware, thus breaking offb. This works around it by fixing up the bridge configuration properly at boot time. It also fixes a bug where the firmware provides us with an incorrect set of accessible regions in the device-tree. Signed-off-by: Benjamin Herrenschmidt commit 76acc2c1a7a9a8c2cae7e9cf8d0a8b374a48aa94 Author: Kumar Gala Date: Tue Sep 1 15:48:42 2009 +0000 powerpc/fsl-booke: Use HW PTE format if CONFIG_PTE_64BIT Switch to using the Power ISA defined PTE format when we have a 64-bit PTE. This makes the code handling between fsl-booke and book3e-64 similiar for TLB faults. Additionally this lets use take advantage of the page size encodings and full permissions that the HW PTE defines. Also defined _PMD_PRESENT, _PMD_PRESENT_MASK, and _PMD_BAD since the 32-bit ppc arch code expects them. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 1d5d9527d8ed8d87beb22a4fd954366aeabd12c7 Author: Kumar Gala Date: Tue Sep 1 15:43:54 2009 +0000 powerpc/book3e: Add missing page sizes Add defines for the other page sizes. Even if HW doesn't support them we made them use them for hugetlbfs support. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit f14eff1cc2f418a7c5e23aedc6a1bdca3343b871 Merge: 84e9dab 326ba50 Author: Ingo Molnar Date: Wed Sep 2 08:20:32 2009 +0200 Merge commit 'v2.6.31-rc8' into sched/core Merge reason: bump from rc5 to rc8, but also pick up TP_perf_assign() API, a patch will be queued that depends on it. Signed-off-by: Ingo Molnar commit 46db2f86a3b2a94e0b33e0b4548fb7b7b6bdff66 Author: Brian King Date: Fri Aug 28 12:06:29 2009 +0000 powerpc/pseries: Fix to handle slb resize across migration The SLB can change sizes across a live migration, which was not being handled, resulting in possible machine crashes during migration if migrating to a machine which has a smaller max SLB size than the source machine. Fix this by first reducing the SLB size to the minimum possible value, which is 32, prior to migration. Then during the device tree update which occurs after migration, we make the call to ensure the SLB gets updated. Also add the slb_size to the lparcfg output so that the migration tools can check to make sure the kernel has this capability before allowing migration in scenarios where the SLB size will change. BenH: Fixed #include -> to avoid breaking ppc32 build Signed-off-by: Brian King Signed-off-by: Benjamin Herrenschmidt commit 936e894a976dd3b0f07f1f6f43c17b77b7e6146d Merge: 69575d3 326ba50 Author: Ingo Molnar Date: Wed Sep 2 08:17:56 2009 +0200 Merge commit 'v2.6.31-rc8' into x86/txt Conflicts: arch/x86/kernel/reboot.c security/Kconfig Merge reason: resolve the conflicts, bump up from rc3 to rc8. Signed-off-by: Ingo Molnar commit b8e4a7dae53760b9791aca96e74366078692d90f Author: Lyonel Vincent Date: Sun Aug 30 08:54:20 2009 +0000 powerpc/powermac: Thermal control turns system off too eagerly On certain PowerMacs, a module (therm_windtunnel) controls various thermal settings (it can report CPU/case temperature, change speed of internal fans, etc.) By default, the hardware thermal control has a temperature limit to protect the computer from damages (the default limit seems to be 80°C) but therm_windtunnel.c reduces it to an anormaly low value (65°C), which means that he computer will shut down randomly when hit by direct sun light or during summer (summer in France can be quite hot), actually possibly losing data instead of protecting it. The overheat limit in therm_windtunnel.c:253-254 should be set to 75°C and 70°C instead of 65°C and 60°C respectively. From: Lyonel Vincent Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Benjamin Herrenschmidt commit 0ed2c722c650513ba4bce868c7a052e576c060e2 Author: Grant Likely Date: Fri Aug 28 08:58:16 2009 +0000 powerpc/pci: Merge ppc32 and ppc64 versions of phb_scan() The two versions are doing almost exactly the same thing. No need to maintain them as separate files. This patch also has the side effect of making the PCI device tree scanning code available to 32 bit powerpc machines, but no board ports actually make use of this feature at this point. Signed-off-by: Grant Likely Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 842ae63800bc2be62085d7ce5b3a2298c014d37a Author: Takashi Iwai Date: Wed Sep 2 07:43:08 2009 +0200 ALSA: hda - Add support of Alienware M17x laptop Added the quirk for Alienware M17x with IDT 92HD73* codec chip. It has two HP and one line-out jack, one mic jack, a built-in speaker and a built-in mic. Signed-off-by: Takashi Iwai commit ae4b688db2432baad379f73fdcac13ec24f603d5 Author: Huang Ying Date: Mon Aug 31 13:11:54 2009 +0800 x86: Move kernel_fpu_using to irq_fpu_usable in asm/i387.h This function measures whether the FPU/SSE state can be touched in interrupt context. If the interrupted code is in user space or has no valid FPU/SSE context (CR0.TS == 1), FPU/SSE state can be used in IRQ or soft_irq context too. This is used by AES-NI accelerated AES implementation and PCLMULQDQ accelerated GHASH implementation. v3: - Renamed to irq_fpu_usable to reflect the purpose of the function. v2: - Renamed to irq_is_fpu_using to reflect the real situation. Signed-off-by: Huang Ying CC: H. Peter Anvin Signed-off-by: H. Peter Anvin commit 9c552dd79346f86a3b53e41255c92c6f560b80fb Author: Dave Airlie Date: Wed Sep 2 14:00:11 2009 +1000 drm/crtc: fix mismerge of last patch. We only want to NULL encoder->crtc when it is off. Signed-off-by: Dave Airlie commit 557ce2646e775f6bda734dd92b10d4780874b9c7 Author: Andy Adamson Date: Fri Aug 28 08:45:04 2009 -0400 nfsd41: replace page based DRC with buffer based DRC Use NFSD_SLOT_CACHE_SIZE size buffers for sessions DRC instead of holding nfsd pages in cache. Connectathon testing has shown that 1024 bytes for encoded compound operation responses past the sequence operation is sufficient, 512 bytes is a little too small. Set NFSD_SLOT_CACHE_SIZE to 1024. Allocate memory for the session DRC in the CREATE_SESSION operation to guarantee that the memory resource is available for caching responses. Allocate each slot individually in preparation for slot table size negotiation. Remove struct nfsd4_cache_entry and helper functions for the old page-based DRC. The iov_len calculation in nfs4svc_encode_compoundres is now always correct. Replay is now done in nfsd4_sequence under the state lock, so the session ref count is only bumped on non-replay. Clean up the nfs4svc_encode_compoundres session logic. The nfsd4_compound_state statp pointer is also not used. Remove nfsd4_set_statp(). Move useful nfsd4_cache_entry fields into nfsd4_slot. Signed-off-by: Andy Adamson commit bdac86e2154cfe47552639113265d1fa27cfbe72 Author: Andy Adamson Date: Fri Aug 28 08:45:03 2009 -0400 nfsd41: replace nfserr_resource in pure nfs41 responses nfserr_resource is not a legal error for NFSv4.1. Replace it with nfserr_serverfault for EXCHANGE_ID and CREATE_SESSION processing. We will also need to map nfserr_resource to other errors in routines shared by NFSv4.0 and NFSv4.1 Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit a8dfdaeb7a8b1295f45d9d208dd27e6e20113d1b Author: Andy Adamson Date: Fri Aug 28 08:45:02 2009 -0400 nfsd41: use session maxreqs for sequence target and highest slotid This fixes a bug in the sequence operation reply. The sequence operation returns the highest slotid it will accept in the future in sr_highest_slotid, and the highest slotid it prefers the client to use. Since we do not re-negotiate the session slot table yet, these should both always be set to the session ca_maxrequests. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit a649637c73a36174287a403cdda7607177d64523 Author: Andy Adamson Date: Fri Aug 28 08:45:01 2009 -0400 nfsd41: bound forechannel drc size by memory usage By using the requested ca_maxresponsesize_cached * ca_maxresponses to bound a forechannel drc request size, clients can tailor a session to usage. For example, an I/O session (READ/WRITE only) can have a much smaller ca_maxresponsesize_cached (for only WRITE compound responses) and a lot larger ca_maxresponses to service a large in-flight data window. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit 81e251766e8f8c9d7abb5db784e58c5c45f82797 Author: Christoph Hellwig Date: Tue Sep 1 19:56:55 2009 -0400 xfs: un-static xfs_inobt_lookup xfs_inobt_lookup is also used in xfs_itable.c, remove the STATIC modifier from it's declaration to fix non-debug builds. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 0625491493d9000e4556bf566d205c28c8e7dc4e Author: Eric Dumazet Date: Tue Sep 1 18:37:16 2009 -0700 ipv6: ip6_push_pending_frames() should increment IPSTATS_MIB_OUTDISCARDS qdisc drops should be notified to IP_RECVERR enabled sockets, as done in IPV4. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 69575d388603365f2afbf4166df93152df59b165 Author: Shane Wang Date: Tue Sep 1 18:25:07 2009 -0700 x86, intel_txt: clean up the impact on generic code, unbreak non-x86 Move tboot.h from asm to linux to fix the build errors of intel_txt patch on non-X86 platforms. Remove the tboot code from generic code init/main.c and kernel/cpu.c. Signed-off-by: Shane Wang Signed-off-by: H. Peter Anvin commit f2798eb4e01b095f273f4bf40f511c9d69c0e1da Author: Xiao Guangrong Date: Sun Aug 30 20:10:43 2009 +0000 drop_monitor: fix trace_napi_poll_hit() The net_dev of backlog napi is NULL, like below: __get_cpu_var(softnet_data).backlog.dev == NULL So, we should check it in napi tracepoint's probe function Acked-by: Neil Horman Signed-off-by: Xiao Guangrong Signed-off-by: David S. Miller commit e7a088f935180b90cfe6ab0aaae8a556f46885fe Author: Alexey Dobriyan Date: Tue Sep 1 17:54:07 2009 -0700 sparc: convert /proc/io_map, /proc/dvma_map to seq_file Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 6d703a81ad5fdd102334751ddacb053ecc6ff046 Author: Alexey Dobriyan Date: Tue Sep 1 17:52:57 2009 -0700 ide: convert to ->proc_fops ->read_proc, ->write_proc are going away, ->proc_fops should be used instead. The only tricky place is IDENTIFY handling: if for some reason taskfile_lib_get_identify() fails, buffer _is_ changed and at least first byte is overwritten. Emulate old behaviour with returning that first byte to userspace and reporting length=1 despite overall -E. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3732e9bd2d841db588624b1bf560bfc9d0dcb1fd Author: David S. Miller Date: Tue Sep 1 17:50:50 2009 -0700 xilinx_emaclite: Fix permissions on driver sources. Noticed by Michal Simek. Signed-off-by: David S. Miller commit 89d69d2b75a8f7e258f4b634cd985374cfd3202e Author: Stephen Hemminger Date: Tue Sep 1 11:13:19 2009 +0000 net: make neigh_ops constant These tables are never modified at runtime. Move to read-only section. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dcbfef820bdd1cdb412ccf234840e23edf67014f Author: roel kluin Date: Sun Aug 30 22:40:15 2009 +0000 au1000_eth: possible NULL dereference of aup->mii_bus->irq in au1000_probe() aup->mii_bus->irq allocation may fail, prevent a dereference of NULL. Signed-off-by: Roel Kluin Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 5d7892298a819743b3892df08bb496992fe85951 Author: Damian Lukowski Date: Tue Sep 1 10:24:04 2009 +0000 RTO connection timeout: sysctl documentation update This patch updates the sysctl documentation concerning the interpretation of tcp_retries{1,2} and tcp_orphan_retries. Signed-off-by: Damian Lukowski Signed-off-by: David S. Miller commit 5152fc7de3ae31b46692022ea63ce0501280f5b1 Author: Damian Lukowski Date: Tue Sep 1 10:24:00 2009 +0000 RTO connection timeout: coding style fixes and comments This patch affects the retransmits_timed_out() function. Changes: 1) Variables have more meaningful names 2) retransmits_timed_out() has an introductionary comment. 3) Small coding style changes. Signed-off-by: Damian Lukowski Signed-off-by: David S. Miller commit 72c60683282a6cd047db47d605eb96e2a6fac72c Author: Mike McCormack Date: Tue Sep 1 03:54:27 2009 +0000 sky2: Use 32bit read to read Y2_VAUX_AVAIL B0_CTST is a 24bit register according to the vendor driver (sk98lin). A 16bit read on B0_CTST will always return 0 for Y2_VAUX_AVAIL (1<<16), so use a 32bit read when testing Y2_VAUX_AVAIL Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 90bbebb4a8258a398705ecaa2e6b9e177928ee7a Author: Mike McCormack Date: Tue Sep 1 03:21:35 2009 +0000 sky2: Create buffer alloc and free helpers Refactor similar two sections of code that free buffers into one. Only call tx_init if all buffer allocations succeed. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 10547ae2c01acdace636e23c991b21fef05428b4 Author: Stephen Hemminger Date: Mon Aug 31 07:31:41 2009 +0000 sky2: fix management of driver LED Observed by Mike McCormack. The LED bit here is just a software controlled value used to turn on one of the LED's on some boards. The register value was wrong, which could have been causing some power control issues. Get rid of problematic define use the correct mask. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 89f56d1e91cfa535ccc6cc60e9e12e02682fd972 Author: Michael S. Tsirkin Date: Sun Aug 30 07:04:42 2009 +0000 tun: reuse struct sock fields As tun always has an embeedded struct sock, use sk and sk_receive_queue fields instead of duplicating them in tun_struct. Signed-off-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 86393e52c3f1e2f6be18383f6ecdbcdc5727d545 Author: Alexey Dobriyan Date: Sat Aug 29 01:34:49 2009 +0000 netns: embed ip6_dst_ops directly struct net::ipv6.ip6_dst_ops is separatedly dynamically allocated, but there is no fundamental reason for it. Embed it directly into struct netns_ipv6. For that: * move struct dst_ops into separate header to fix circular dependencies I honestly tried not to, it's pretty impossible to do other way * drop dynamical allocation, allocate together with netns For a change, remove struct dst_ops::dst_net, it's deducible by using container_of() given dst_ops pointer. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 885a136c52a8871175477baf3903e1c38751b35a Author: Eric Dumazet Date: Tue Sep 1 06:31:18 2009 +0000 bonding: use compare_ether_addr_64bits() in ALB We can speedup ether addresses compares using compare_ether_addr_64bits() instead of memcmp(). We make sure all operands are at least 8 bytes long and 16bits aligned (or better, long word aligned if possible) Signed-off-by: Eric Dumazet Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller commit ac06713d55d450cbc9ef871b1b238409238f0fe0 Author: Eric Dumazet Date: Tue Sep 1 05:46:05 2009 +0000 macvlan: Use compare_ether_addr_64bits() To speedup ether addresses compares, we can use compare_ether_addr_64bits() (all operands are guaranteed to be at least 8 bytes long) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c3c7432741211bc9f6b072958653647b9d5cdd5d Author: Mallikarjuna R Chilakala Date: Tue Sep 1 13:50:14 2009 +0000 ixgbe: Patch to fix 82599 multispeed fiber link issues when driver is loaded without any cable and reconnecting it to 1G partner In 82599 multi speed fiber case when driver is loaded without any cable and reconnecting the cable with a 1G partner does not bring up the link in 1Gb mode. When there is no link we first setup the link at 10G & 1G and then try to re-establish the link at highest speed 10G and thereby changing autoneg_advertised value to highest speed 10G. After connecting back the cable to a 1G link partner we never try 1G as autoneg advertised value is changed to link at 10G only. The following patch fixes the issue by properly initializing the autoneg_advertised value just before exiting from link setup routine. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b7fdb714856541cd4b659a7b86ec04415e2809f7 Author: Peter P Waskiewicz Jr Date: Tue Sep 1 13:49:56 2009 +0000 ixgbe: Properly disable DCB arbiters prior to applying changes When disabling the Rx and Tx data arbiters prior to configuration changes, the arbiters were not being shut down properly. This can create a race in the DCB hardware blocks, and potentially hang the arbiters. Also, the Tx descriptor arbiter shouldn't be disabled when applying configuration changes; disabling this arbiter can cause a Tx hang. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8620a103b5e38d952280f3d97b5e1bcce8d7874c Author: Mallikarjuna R Chilakala Date: Tue Sep 1 13:49:35 2009 +0000 ixgbe: refactor link setup code Link code cleanup: a number of redundant functions and MAC variables are cleaned up, with some functions being consolidated into a single-purpose code path. Removed following deprecated link functions and mac variables * ixgbe_setup_copper_link_speed_82598 * ixgbe_setup_mac_link_speed_multispeed_fiber * ixgbe_setup_mac_link_speed_82599 * mac.autoneg, mac.autoneg_succeeded, phy.autoneg_wait_to_complete Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fd38d7a0a0618656e491ed67af735bc4e3600367 Author: Graham, David Date: Mon Aug 31 14:12:51 2009 +0000 e1000: Fix for e1000 kills IPMI on a tagged vlan. Enabling VLAN filters (VFE) when the primary interface is brought up (per commit 78ed11a) has caused problems for some users who manage their systems using IPMI over a VLAN. This is because when the driver enables the VLAN filter, this same filter table is enabled for the management channel, and the table is initially empty, which means that the IPMI/VLAN packets are filtered out and not received by the BMC. This is a problem only on e1000 class adapters, as it is only on e1000 that the filter table is common to the management and host streams. With this change, filtering is only enabled when one or more host VLANs exist, and is disabled when the last host VLAN is removed. VLAN filtering is always disabled when the primary interface is in promiscuous mode, and will be (re)enabled if VLANs exist when the interface exits promiscuous mode. Note that this does not completely resolve the issue for those using VLAN management, because if the host adds a VLAN, then the above problem occurs when that VLAN is enabled. However, it does mean the there is no problem for configurations where management is on a VLAN and the host is not. A complete solution to this issue would require further driver changes. The driver would need to discover if (and which) management VLANs are active before enabling VLAN filtering, so that it could ensure that the managed VLANs are included in the VLAN filter table. This discovery requires that the BMC identifies its VLAN in registers accessible to the driver, and at least on Dell PE2850 systems the BMC does not identify its VLAN to allow such discovery. Intel is pursuing this issue with the BMC vendor. Signed-off-by: Dave Graham Signed-off-by: Jeff Kirsher Tested-by: Krzysztof Piotr Oledzki Signed-off-by: David S. Miller commit a06b1261bdb580b35967d0e055d1ab131b332254 Author: Trond Myklebust Date: Mon Aug 31 15:16:11 2009 -0400 NFSD: Fix a bug in the NFSv4 'supported attrs' mandatory attribute The fact that the filesystem doesn't currently list any alternate locations does _not_ imply that the fs_locations attribute should be marked as "unsupported". Signed-off-by: Trond Myklebust Signed-off-by: J. Bruce Fields commit 4f1a0ee11d6f9c104c8e6a13dae995709a6922a8 Author: Robert Hancock Date: Thu Jul 30 14:11:29 2009 -0600 sata_sil24: always set protocol override for non-ATAPI data commands The sil24 hardware has a built-in list of commands and associated protocols that gets used by default to decide how to handle a given command. However, if the command is not known to the controller then it presumably assumes it to be a non-data command which then causes protocol mismatch errors if the device ends up requesting data transfer. The new DATA SET MANAGEMENT - Trim command causes this issue since it's a DMA data-out command. Since we should always know best what protocol the command should be using, let's just set the override flag to inform the controller what protocol to use for all non-ATAPI commands with data transfer. Signed-off-by: Robert Hancock Tested-by: Mark Lord Signed-off-by: Jeff Garzik commit 77cdec1ad527560b59ab8dbb063dbb3d0a138bf7 Author: Matthew Garrett Date: Fri Jul 17 19:13:47 2009 +0100 libata: Export AHCI capabilities AHCI exports various capability bits that may be of interest to userspace such as whether the BIOS claims a port is hotpluggable or eSATA. Providing these via sysfs along with the version of the AHCI spec implemented by the host allows userspace to make policy decisions for things like ALPM. Signed-off-by: Matthew Garrett Signed-off-by: Jeff Garzik commit f17259a31237cf0fd5c6c8cf2a4f9e6df405744b Author: Martin K. Petersen Date: Wed Jun 24 21:01:45 2009 -0400 libata: Delegate nonrot flag setting to SCSI Now that the SCSI disk driver correctly handles non-rotational devices we can move setting the queue flag to SCSI. Signed-off-by: Martin K. Petersen Signed-off-by: Jeff Garzik commit 6b406782ad0408f9cb480c2e1b543d194e8206d0 Author: Alan Cox Date: Wed Jun 24 18:29:44 2009 +0100 [libata] Add pata_rdc driver for RDC ATA devices From: Alan Cox Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 87c8b22be201cc4c139f98ef5e0471dd15c01239 Author: Joe Perches Date: Sun Jun 28 09:26:17 2009 -0700 drivers/ata: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: Jeff Garzik commit 051d9fbdd1d1ec85ea18ba20581234cf23f1c217 Author: Tejun Heo Date: Fri Jul 3 11:46:12 2009 +0900 libata: remove spindown skipping and warning This was a hack to give userland shutdown tools time to drop manual spindown. All popular distros updated quite some time ago and the due is well passed. Drop it. Signed-off-by: Tejun Heo Cc: Jaswinder Singh Rajput Signed-off-by: Jeff Garzik commit 6521148c6449724c3b707820b9c535c7e8b8afcd Author: Robert Hancock Date: Tue Jul 14 20:43:39 2009 -0600 libata: add command name parsing for error output This patch improve libata's output for error/notification messages to allow easier comprehension and debugging: When ATAPI commands issued through the SCSI layer fail, use SCSI functions to print the CDB in human-readable form instead of just dumping out the CDB in hex. Print out the name of the failed command (as defined by the ATA specification) in error handling output along with the raw register contents. When reporting status of ACPI taskfile commands executed on resume, also output the names of the commands being executed (or not) in readable form. Since the extra data for printing command names increases kernel size slightly, a config option has been added to allow disabling command name output (as well as some of the error register parsing) for those highly sensitive to kernel text size. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 1e641060c4b564e820abdb6a4c7a603a0d386250 Author: Tejun Heo Date: Fri Jul 17 11:58:33 2009 +0900 libata: clear eh_info on reset completion Resets are done with port frozen but some controllers still issue interrupts during reset and they may end up recording error conditions in ehi leading to unnecessary EH retrials. This patch makes ata_eh_reset() clear ehi on reset completion. As reset is the most severe recovery action, there's nothing to lose by clearing ehi on its completion. Signed-off-by: Tejun Heo Reported-by: Zdenek Kaspar Signed-off-by: Jeff Garzik commit 388539f3ff0cf1de926b03f94e1eec112358f74d Author: Shaohua Li Date: Mon Jul 27 09:24:35 2009 +0800 [libata] add DMA setup FIS auto-activate feature Hopefully results in fewer on-the-wire FIS's and no breakage. We'll see! Signed-off-by: Shaohua Li Signed-off-by: Jeff Garzik commit 2fc37adba0fb05760b8635c6706773af828ccf3c Author: Jeff Garzik Date: Tue Apr 7 19:18:32 2009 -0400 [libata] sata_sil: disable DMA engine in sil_freeze() We must disable the DMA engine before accessing taskfile registers. Signed-off-by: Jeff Garzik commit 54c38444fad6a99b4b19512f8f0055d69115e69e Author: Jeff Garzik Date: Tue Apr 7 19:13:15 2009 -0400 [libata] EH: freeze port before aborting commands Call the ->freeze() hook before aborting qc's, because some hardware requires special handling prior to accessing the taskfile registers (for diagnosis/analysis/reset). Most notably, hardware may wish to disable the DMA engine or interrupts in the ->freeze() hook. Signed-off-by: Jeff Garzik commit a3a0544b2c84e1d7a2022b558ecf66d8c6a8dd93 Author: Dave Airlie Date: Mon Aug 31 15:16:30 2009 +1000 drm/kms: add explicit encoder disable function and detach harder. For shared tv-out and VGA encoders, we really need to know if the encoder is just being switched off temporarily in blanking or if we are really disabling it hard. Also we need to try harder to disconnect encoders from unused connectors so we can share more efficently. (shared encoders stuff is coming in radeon tv-out support) Signed-off-by: Dave Airlie commit ed017d9fb17af3162f5acf922eb5731c541e1f3a Author: Dave Airlie Date: Wed Sep 2 09:41:13 2009 +1000 drm: fix drm_cache.c for arch with no support. This produces a warn on for architectures where this gets called but we don't have a cache flushing implementation suitable. Signed-off-by: Dave Airlie commit fa8a123855e20068204982596b8fafceb1a67f0b Author: Dave Airlie Date: Wed Aug 26 13:13:37 2009 +1000 drm/mm: add ability to dump mm lists via debugfs This adds code to the drm_mm to talk to debugfs, and adds support to radeon to add the VRAM and GTT mm lists to debugfs. I tested with spinlock debugging and it doesn't give out. Signed-off-by: Dave Airlie commit 4a9678909b366b1f95e1f93220c61340ab866151 Author: Takashi Iwai Date: Wed Sep 2 01:04:24 2009 +0200 ALSA: hda - Remove dead codes from patch_sigmatel.c Due to the previous fix of input source for IDT92HD73xx, the amp mux and amp vol stuff became unused. Let's rip off dead codes. Signed-off-by: Takashi Iwai commit e2aec17100331669ecae8550a83f551f5e8fc4b8 Author: Takashi Iwai Date: Wed Sep 2 01:00:05 2009 +0200 ALSA: hda - Fix input source selection of IDT92HD73xx Fix the mux_nids to select directly the input source instead of mux mixers so that it works with the current mux enum handler for IDT 92HD73xx codecs. Also, clean up useless / unnecessary mixer controls and init verbs. Signed-off-by: Takashi Iwai commit 6ab409b53dcaf28f83d518a6702f904b7cee3f41 Author: Dave Kleikamp Date: Mon Aug 31 11:07:12 2009 -0400 cifs: Replace wrtPending with a real reference count Currently, cifs_close() tries to wait until all I/O is complete and then frees the file private data. If I/O does not completely in a reasonable amount of time it frees the structure anyway, leaving a potential use- after-free situation. This patch changes the wrtPending counter to a complete reference count and lets the last user free the structure. Signed-off-by: Dave Kleikamp Reviewed-by: Jeff Layton Tested-by: Shirish Pargaonkar Signed-off-by: Steve French commit 1b49c5566136455764a8d17ead25784f534c202d Author: Jeff Layton Date: Fri Aug 28 10:11:11 2009 -0400 cifs: protect GlobalOplock_Q with its own spinlock Right now, the GlobalOplock_Q is protected by the GlobalMid_Lock. That lock is also used for completely unrelated purposes (mostly for managing the global mid queue). Give the list its own dedicated spinlock (cifs_oplock_lock) and rename the list to cifs_oplock_list to eliminate the camel-case. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8e047d09ee1143058b71f40c5f4d028dde52d883 Author: Jeff Layton Date: Fri Aug 28 10:11:10 2009 -0400 cifs: use tcon pointer in cifs_show_options Minor nit: we already have a tcon pointer so we don't need to dereference cifs_sb again. Also initialize the vars in the declaration. Reported-by: Peter Staubach Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 8c58b54574d18b3782b2a261b9dae3c4e90b6b04 Author: Jeff Layton Date: Mon Aug 17 16:26:49 2009 -0400 cifs: send IPv6 addr in upcall with colon delimiters Make it easier on the upcall program by adding ':' delimiters between each group of hex digits. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit d94ff6b7cab20cc014e22b2fd5f0ff35d3e2308f Author: Takashi Iwai Date: Wed Sep 2 00:20:21 2009 +0200 ALSA: hda - Fix obsolete CONFIG_SND_DEBUG_DETECT Fix the old dead CONFIG_SND_DEBUG_DETECT to CONFIG_SND_DEBUG_VERBOSE. Signed-off-by: Takashi Iwai commit f4378b6eaf63492c0f9a397d52813e0ae6b49e7b Author: Christoph Hellwig 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 Reviewed-by: Torsten Kaiser Tested-by: Torsten Kaiser Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f6909f394c2d4a0a71320797df72d54c49c5927e Author: H. Peter Anvin Date: Tue Sep 1 13:31:52 2009 -0700 x86, msr: fix msr-reg.S compilation with gas 2.16.1 msr-reg.S used the :req option on a macro argument, which wasn't supported by gas 2.16.1 (but apparently by some earlier versions of gas, just to be confusing.) It isn't necessary, so just remove it. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit aa72a5cf00001d0b952c7c755be404b9118ceb2e Author: Christoph Hellwig Date: Mon Aug 31 21:51:52 2009 -0300 xfs: simplify xfs_trans_iget xfs_trans_iget is a wrapper for xfs_iget that adds the inode to the transaction after it is read. Except when the inode already is in the inode cache, in which case it returns the existing locked inode with increment lock recursion counts. Now, no one in the tree every decrements these lock recursion counts, so any user of this gets a potential double unlock when both the original owner of the inode and the xfs_trans_iget caller unlock it. When looking back in a git bisect in the historic XFS tree there was only one place that decremented these counts, xfs_trans_iput. Introduced in commit ca25df7a840f426eb566d52667b6950b92bb84b5 by Adam Sweeney in 1993, and removed in commit 19f899a3ab155ff6a49c0c79b06f2f61059afaf3 by Steve Lord in 2003. And as long as it didn't slip through git bisects cracks never actually used in that time frame. A quick audit of the callers of xfs_trans_iget shows that no caller really relies on this behaviour fortunately - xfs_ialloc allows this inode from disk so it must not be there before, and all the RT allocator routines only every add each RT bitmap inode once. In addition to removing lots of code and reducing the size of the inode item this patch also avoids the double inode cache lookup in each create/mkdir/mknod transaction. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 13e6d5cdde0e785aa943810f08b801cadd0935df Author: Christoph Hellwig Date: Mon Aug 31 21:00:31 2009 -0300 xfs: merge fsync and O_SYNC handling The guarantees for O_SYNC are exactly the same as the ones we need to make for an fsync call (and given that Linux O_SYNC is O_DSYNC the equivalent is fdadatasync, but we treat both the same in XFS), except with a range data writeout. Jan Kara has started unifying these two path for filesystems using the generic helpers, and I've started to look at XFS. The actual transaction commited by xfs_fsync and xfs_write_sync_logforce has a different transaction number, but actually is exactly the same. We'll only use the fsync transaction going forward. One major difference is that xfs_write_sync_logforce never issues a cache flush unless we commit a transaction causing that as a side-effect, which is an obvious bug in the O_SYNC handling. Second all the locking and i_update_size vs i_update_core changes from 978b7237123d007b9fa983af6e0e2fa8f97f9934 never made it to xfs_write_sync_logforce, so we add them back. To make xfs_fsync easily usable from the O_SYNC path, the filemap_fdatawait call is moved up to xfs_file_fsync, so that we don't wait on the whole file after we already waited for our portion in xfs_write. We'll also use a plain call to filemap_write_and_wait_range instead of the previous sync_page_rang which did it in two steps including an half-hearted inode write out that doesn't help us. Once we're done with this also remove the now useless i_update_size tracking. Signed-off-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit bd169565993b39b9b4b102cdac8b13e0a259ce2f Author: Dave Chinner Date: Mon Aug 31 20:58:28 2009 -0300 xfs: speed up free inode search Don't search too far - abort if it is outside a certain radius and simply do a linear search for the first free inode. In AGs with a million inodes this can speed up allocation speed by 3-4x. [hch: ported to the new xfs_ialloc.c world order] Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 2187550525d7bcb8c87689e4eca41b1955bf9ac3 Author: Christoph Hellwig Date: Mon Aug 31 20:58:21 2009 -0300 xfs: rationalize xfs_inobt_lookup* Currenly we have a xfs_inobt_lookup* variant for each comparism direction, and all these get all three fields of the inobt records passed, while the common case is just looking for the inode number and we have only marginally more callers than xfs_inobt_lookup* variants. So opencode a direct call to xfs_btree_lookup for the single case where we need all fields, and replace xfs_inobt_lookup* with a xfs_inobt_looku that just takes the inode number and the direction for all other callers. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 4254b0bbb1c0826b7443ffa593576696bc591aa2 Author: Christoph Hellwig Date: Mon Aug 31 20:57:14 2009 -0300 xfs: untangle xfs_dialloc Clarify the control flow in xfs_dialloc. Factor out a helper to go to the next node from the current one and improve the control flow by expanding composite if statements and using gotos. The xfs_ialloc_next_rec helper is borrowed from Dave Chinners dynamic allocation policy patches. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 0b48db80ba689edfd96ed06c3124d6cf1146de3f Author: Dave Chinner Date: Mon Aug 31 20:57:09 2009 -0300 xfs: factor out debug checks from xfs_dialloc and xfs_difree Factor out a common helper from repeated debug checks in xfs_dialloc and xfs_difree. [hch: split out from Dave's dynamic allocation policy patches] Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit afabc24a73bfee2656724b0a70395f1693eaa62b Author: Christoph Hellwig Date: Mon Aug 31 20:57:03 2009 -0300 xfs: improve xfs_inobt_update prototype Both callers of xfs_inobt_update have the record in form of a xfs_inobt_rec_incore_t, so just pass a pointer to it instead of the individual variables. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 2e287a731e0607e0371dc6165b7dd3ebc67fa8e1 Author: Christoph Hellwig Date: Mon Aug 31 20:56:58 2009 -0300 xfs: improve xfs_inobt_get_rec prototype Most callers of xfs_inobt_get_rec need to fill a xfs_inobt_rec_incore_t, and those who don't yet are fine with a xfs_inobt_rec_incore_t, instead of the three individual variables, too. So just change xfs_inobt_get_rec to write the output into a xfs_inobt_rec_incore_t directly. Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit 85c0b2ab5e69ca6133380ead1c50e0840d136b39 Author: Dave Chinner Date: Mon Aug 31 20:56:51 2009 -0300 xfs: factor out inode initialisation Factor out code to initialize new inode clusters into a function of it's own. This keeps xfs_ialloc_ag_alloc smaller and better structured and enables a future inode cluster initialization transaction. Also initialize the agno variable earlier in xfs_ialloc_ag_alloc to avoid repeated byte swaps. [hch: The original patch is from Dave from his unpublished inode create transaction patch series, with some modifcations by me to apply stand-alone] Signed-off-by: Dave Chinner Signed-off-by: Christoph Hellwig Reviewed-by: Alex Elder Signed-off-by: Felix Blyakher commit ca43e3beee38623a3f80691b28623d6ecf214742 Author: Steve French Date: Tue Sep 1 17:20:50 2009 +0000 [CIFS] Fix checkpatch warnings Also update version number to 1.61 Signed-off-by: Steve French commit bdb97adcdf0993adbd2eef44b4533620d43792de Author: Suresh Jayaraman Date: Thu Aug 20 13:03:34 2009 +0530 PATCH] cifs: fix broken mounts when a SSH tunnel is used (try #4) One more try.. It seems there is a regression that got introduced while Jeff fixed all the mount/umount races. While attempting to find whether a tcp session is already existing, we were not checking whether the "port" used are the same. When a second mount is attempted with a different "port=" option, it is being ignored. Because of this the cifs mounts that uses a SSH tunnel appears to be broken. Steps to reproduce: 1. create 2 shares # SSH Tunnel a SMB session 2. ssh -f -L 6111:127.0.0.1:445 root@localhost "sleep 86400" 3. ssh -f -L 6222:127.0.0.1:445 root@localhost "sleep 86400" 4. tcpdump -i lo 6111 & 5. mkdir -p /mnt/mnt1 6. mkdir -p /mnt/mnt2 7. mount.cifs //localhost/a /mnt/mnt1 -o username=guest,ip=127.0.0.1,port=6111 #(shows tcpdump activity on port 6111) 8. mount.cifs //localhost/b /mnt/mnt2 -o username=guest,ip=127.0.0.1,port=6222 #(shows tcpdump activity only on port 6111 and not on 6222 Fix by adding a check to compare the port _only_ if the user tries to override the tcp port with "port=" option, before deciding that an existing tcp session is found. Also, clean up a bit by replacing if-else if by a switch statment while at it as suggested by Jeff. Reviewed-by: Jeff Layton Reviewed-by: Shirish Pargaonkar Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit 1b3859bc9e20d764316346665fc93ecea2d2b176 Author: Alexander Strakh Date: Tue Sep 1 17:02:24 2009 +0000 [CIFS] Memory leak in ntlmv2 hash calculation in function calc_ntlmv2_hash memory is not released. 1. If in the line 333 we successfully allocate memory and assign it to pctxt variable: pctxt = kmalloc(sizeof(struct HMACMD5Context), GFP_KERNEL); then we go to line 376 and exit wihout releasing memory pointed to by pctxt variable. Add a memory releasing for pctxt variable before exit from function calc_ntlmv2_hash. Signed-off-by: Alexander Strakh Signed-off-by: Steve French commit 04e715cd46ba523806070fbf9ded009f10e107cd Author: Samuel Ortiz Date: Tue Sep 1 15:14:06 2009 +0200 iwmc3200wifi: Add a last_fw_err debugfs entry In order to check what was the last fw error we got accross resets, we add this debugfs entry. It displays the complete ASSERT information. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d210176eaaed0c7883caba52665bcfb5d420c660 Author: Samuel Ortiz Date: Tue Sep 1 15:14:05 2009 +0200 iwmc3200wifi: Handle UMAC stalls and UMAC assert properly When UMAC stalls or asserts, we want to reset the device. But when we're associated, the current reset worker will end up calling cfg80211_connect_result() with the cfg80211 sme layer knowing that we're reassociating. That ends up with some ugly warnings. With this patch we're telling the upper layer that we've roamed if reassociation succeeds, and that we're disconnected if it fails. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d04bd6283cf7433d56f3d8f648f1d6963fda4fdc Author: Samuel Ortiz Date: Tue Sep 1 15:14:04 2009 +0200 iwmc3200wifi: New initial LMAC calibration The LMAC calibration API got broken mostly by having a configuration bitmap being different than the result one. This patch tries to address that issue by correctly running calibrations with the newest firmwares, and keeping a backward compatibility fallback path for older firmwares, where the configuration and result bitmaps were identical. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 31452420ca956f2cf37f705c869e265c33894f07 Author: Zhu Yi Date: Tue Sep 1 15:14:03 2009 +0200 iwmc3200wifi: fix misuse of le16_to_cpu Also mark some functions static. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit c7436273889e0ce511b317041f35344e92344885 Author: Zhu Yi Date: Tue Sep 1 15:14:02 2009 +0200 iwmc3200wifi: add disconnect work When the driver receives "connection terminated" event from device, it could be caused by 2 reasons: the firmware is roaming or the connection is lost (AP disappears). For the former, an association complete event is supposed to come within 3 seconds. For the latter, the driver won't receive any event except the connection terminated. So we kick a delayed work (5*HZ) when we receive the connection terminated event. It will be canceled if it turns out to be a roaming event later. Otherwise we notify SME and userspace the disconnection. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit de15fd31fcabb4b81a556736dd67ec4f71462f07 Author: Zhu Yi Date: Tue Sep 1 15:14:01 2009 +0200 iwmc3200wifi: use cfg80211_roamed to send roam event The device sends connection terminated and [re]association success (or failure) events when roaming occours. The patch uses cfg80211_roamed instead of cfg80211_connect_result to notify SME for roaming. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit d041811d931d4f515fd58e222757cbc7d6375db4 Author: Samuel Ortiz Date: Tue Sep 1 15:14:00 2009 +0200 iwmc3200wifi: Fix sparse warning iwm_cfg80211_get_station() should be static. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit b90a5c9561d3f75f906a84613cc0071121143fb6 Author: Samuel Ortiz Date: Tue Sep 1 15:13:59 2009 +0200 iwmc3200wifi: Set WEP key from connect When connect is called with the LEGACY_PSK authentication type set, and a proper sme->key, we need to set the WEP key straight after setting the profile otherwise the authentication will never start. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit ae73abf2350de7cbfc5c46a936f4d2a532b36679 Author: Zhu Yi Date: Tue Sep 1 15:13:58 2009 +0200 iwmc3200wifi: invalidate profile when necessary before connect If cfg80211 requests to connect when we have already had an active profile, invalidate the current profile first before sending a new profile to UMAC. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 2b7dcfb7d01c9fc9efc6e39618cbf495a6051f9a Author: Jussi Kivilinna Date: Tue Sep 1 15:33:11 2009 +0300 rndis_wlan: remove 'select WIRELESS_EXT' in Kconfig Since rndis_wlan is now converted to cfg80211, WIRELESS_EXT isn't required anymore. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 53d27eaf55fb5a6e820d8e3759588473826d659e Author: Jussi Kivilinna Date: Tue Sep 1 15:33:06 2009 +0300 rndis_wlan: fix sparse endianess warnings Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit c5c4fe90e399e4c1265414249c33429c19a16ea8 Author: Jussi Kivilinna Date: Tue Sep 1 15:33:00 2009 +0300 rndis_wlan: cleanup - remove double newlines between functions - remove commented out function (rndis_set_config_parameter_u32()) - coding style fix in rndis_set_config_parameter_str() - add comment banners between function sections Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 051ae0bf7ff67c0a64485ac3b46a29aeb55a28dc Author: Jussi Kivilinna Date: Tue Sep 1 15:32:55 2009 +0300 rndis_wlan: use bool for on/off switches Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8f43161aa6bd7bfed0905d3de6cc660fd6b9c2bc Author: Vasanthakumar Thiagarajan Date: Tue Sep 1 17:46:33 2009 +0530 ath9k: Call spin_lock_bh() on btcoex_lock As generic hw timer interrupt handler is moved to tasklet, we no more need to call spin_lock_irqsave(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ebb8e1d78c2f8b1737627ec260d7e39c4bd47385 Author: Vasanthakumar Thiagarajan Date: Tue Sep 1 17:46:32 2009 +0530 ath9k: Move generic hw timer intr handler to bottom-half There is no point handling this in hard irq, move it to tasklet. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8bc11b491b6cad75e737f1d38bb4b261bd95b291 Author: Johannes Berg Date: Wed Aug 26 18:13:17 2009 +0200 rfkill: relicense header file This header file is copied into userspace tools that need not be GPLv2 licensed, make that easier. Signed-off-by: Johannes Berg Acked-by: Alan Jenkins Acked-by: Henrique de Moraes Holschuh Acked-by: Iñaky Pérez-González Acked-by: Ivo van Doorn Acked-by: Jaswinder Singh Rajput Acked-by: Michael Buesch Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 1a8e42fa81e62d47cc471f7764f906bb42b27a54 Author: Prarit Bhargava Date: Wed Aug 26 13:19:37 2009 -0400 [CPUFREQ] Create a blacklist for processors that should not load the acpi-cpufreq module. Create a blacklist for processors that should not load the acpi-cpufreq module. The initial entry in the blacklist function is the Intel 0f68 processor. It's specification update mentions errata AL30 which implies that cpufreq should not run on this processor. Signed-off-by: Prarit Bhargava Signed-off-by: Dave Jones commit db39d5529d347de5e2eec1a72d67fcfacae6c5a2 Author: Mark Langsdorf Date: Fri Aug 21 19:15:28 2009 -0500 [CPUFREQ] Powernow-k8: Enable more than 2 low P-states Remove an obsolete check that used to prevent there being more than 2 low P-states. Now that low-to-low P-states changes are enabled, it prevents otherwise workable configurations with multiple low P-states. Signed-off-by: Mark Langsdorf Tested-by: Krists Krilovs Signed-off-by: Dave Jones commit 395913d0b1db37092ea3d9d69b832183b1dd84c5 Author: Mathieu Desnoyers Date: Mon Jun 8 13:17:31 2009 -0400 [CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site) remove rwsem lock from CPUFREQ_GOV_STOP call (second call site) commit 42a06f2166f2f6f7bf04f32b4e823eacdceafdc9 Missed a call site for CPUFREQ_GOV_STOP to remove the rwlock taken around the teardown. To make a long story short, the rwlock write-lock causes a circular dependency with cancel_delayed_work_sync(), because the timer handler takes the read lock. Note that all callers to __cpufreq_set_policy are taking the rwsem. All sysfs callers (writers) hold the write rwsem at the earliest sysfs calling stage. However, the rwlock write-lock is not needed upon governor stop. Signed-off-by: Mathieu Desnoyers Acked-by: Venkatesh Pallipadi CC: rjw@sisk.pl CC: mingo@elte.hu CC: Shaohua Li CC: Pekka Enberg CC: Dave Young CC: "Rafael J. Wysocki" CC: Rusty Russell CC: trenn@suse.de CC: sven.wegener@stealer.net CC: cpufreq@vger.kernel.org Signed-off-by: Dave Jones commit 0e625ac153126a0a62b7635fa9dc91f87ff39e38 Author: Thomas Renninger Date: Fri Jul 24 15:25:06 2009 +0200 [CPUFREQ] ondemand - Use global sysfs dir for tuning settings Ondemand has only global variables for userspace tunings via sysfs. But they were exposed per CPU which wrongly implies to the user that his settings are applied per cpu. Also locking sysfs against concurrent access won't be necessary anymore after deprecation time. This means the ondemand config dir is moved: /sys/devices/system/cpu/cpu*/cpufreq/ondemand -> /sys/devices/system/cpu/cpufreq/ondemand The old files will still exist, but reading or writing to them will result in one (printk_once) deprecation msg to syslog per file. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 8aa84ad8d6c740a04386f599694609ee4998e82e Author: Thomas Renninger Date: Fri Jul 24 15:25:05 2009 +0200 [CPUFREQ] Introduce global, not per core: /sys/devices/system/cpu/cpufreq Currently everything in the cpufreq layer is per core based. This does not reflect reality, for example ondemand on conservative governors have global sysfs variables. Introduce a global cpufreq directory and add the kobject to the governor struct, so that governors can easily access it. The directory is initialized in the cpufreq_core_init initcall and thus will always be created if cpufreq is compiled in, even if no cpufreq driver is active later. Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit 4bfa042cd304aa48cf05cd0a13c2d0794a675c0e Author: Thomas Renninger Date: Fri Jul 24 15:25:03 2009 +0200 [CPUFREQ] Bail out of cpufreq_add_dev if the link for a managed CPU got created Doing: echo 0 >cpu1/online echo 1 >cpu1/online on a managed CPU will result in: Jul 22 15:15:37 linux kernel: [ 80.013864] WARNING: at fs/sysfs/dir.c:487 sysfs_add_one+0xcf/0xe6() Jul 22 15:15:37 linux kernel: [ 80.013866] Hardware name: To Be Filled By O.E.M. Jul 22 15:15:37 linux kernel: [ 80.013868] sysfs: cannot create duplicate filename '/devices/system/cpu/cpu1/cpufreq' Jul 22 15:15:37 linux kernel: [ 80.013870] Modules linked in: powernow_k8 Jul 22 15:15:37 linux kernel: [ 80.013874] Pid: 5750, comm: bash Not tainted 2.6.31-rc2 #40 Jul 22 15:15:37 linux kernel: [ 80.013876] Call Trace: Jul 22 15:15:37 linux kernel: [ 80.013879] [] ? sysfs_add_one+0xcf/0xe6 Jul 22 15:15:37 linux kernel: [ 80.013884] [] warn_slowpath_common+0x77/0xa4 Jul 22 15:15:37 linux kernel: [ 80.013888] [] warn_slowpath_fmt+0x3c/0x3e Jul 22 15:15:37 linux kernel: [ 80.013891] [] sysfs_add_one+0xcf/0xe6 Jul 22 15:15:37 linux kernel: [ 80.013894] [] create_dir+0x58/0x87 Jul 22 15:15:37 linux kernel: [ 80.013898] [] sysfs_create_dir+0x38/0x4f Jul 22 15:15:37 linux kernel: [ 80.013902] [] kobject_add_internal+0x11f/0x1de Jul 22 15:15:37 linux kernel: [ 80.013905] [] kobject_add_varg+0x41/0x4e Jul 22 15:15:37 linux kernel: [ 80.013908] [] kobject_init_and_add+0x4c/0x57 Jul 22 15:15:37 linux kernel: [ 80.013913] [] ? mark_lock+0x22/0x228 Jul 22 15:15:37 linux kernel: [ 80.013918] [] cpufreq_add_dev_interface+0x40/0x1e4 ... This bug slipped in by git commit: 150b06f7f223cfd0f808737a5243cceca8ea47fa When splitting up cpufreq_add_dev, the whole cpufreq_add_dev function is not left anymore, only cpufreq_add_dev_policy. This patch should reconstruct the identical functionality again as it was before the split. CC: Venkatesh Pallipadi Signed-off-by: Thomas Renninger Signed-off-by: Dave Jones commit ecf7e4611c89aba7c7fde1183f7e9357695fbcc5 Author: Dave Jones Date: Wed Jul 8 18:48:47 2009 -0400 [CPUFREQ] Factor out policy setting from cpufreq_add_dev Signed-off-by: Dave Jones commit 909a694e336bf3a6e48b5b51129887a1c5cae04c Author: Dave Jones Date: Wed Jul 8 18:05:42 2009 -0400 [CPUFREQ] Factor out interface creation from cpufreq_add_dev Signed-off-by: Dave Jones commit 19d6f7ec3eb1652fc89dd05ebcc2a21a95c60a5a Author: Dave Jones Date: Wed Jul 8 17:35:39 2009 -0400 [CPUFREQ] Factor out symlink creation from cpufreq_add_dev Signed-off-by: Dave Jones commit 059019a3c3353b15d8efac5301f72036cc408bd4 Author: Dave Jones Date: Wed Jul 8 16:30:03 2009 -0400 [CPUFREQ] cleanup up -ENOMEM handling in cpufreq_add_dev Signed-off-by: Dave Jones commit 54e6fe167b8787460ee39e7c333b96e3e2e6a196 Author: Dave Jones Date: Wed Jul 8 16:28:05 2009 -0400 [CPUFREQ] Reduce scope of cpu_sys_dev in cpufreq_add_dev Signed-off-by: Dave Jones commit da470db16c703d7f9617c366a36c6670f89a9830 Author: Naga Chumbalkar Date: Mon Jun 29 19:53:41 2009 +0000 [CPUFREQ] update Doc for cpuinfo_cur_freq and scaling_cur_freq I think the way "cpuinfo_cur_info" and "scaling_cur_info" are defined under ./Documentation/cpu-freq/user-guide.txt can be enhanced. Currently, they are both defined the same way: "Current speed/frequency" of the CPU, in KHz". Below is a patch that distinguishes one from the other. Regards, - naga - ----------------------------------------- Update description for "cpuinfo_cur_freq" and "scaling_cur_freq". Some of the wording is drawn from comments found in ./drivers/cpufreq/cpufreq.c: cpufreq_out_of_sync(): * @old_freq: CPU frequency the kernel thinks the CPU runs at * @new_freq: CPU frequency the CPU actually runs at Signed-off-by: Naga Chumbalkar Signed-off-by: Dave Jones commit d1af119a69fc9a625bd57a66d9c9fa88795b082c Author: Paul Mundt Date: Tue Sep 1 22:38:27 2009 +0900 sh: Fix up build warning for SH7785LCR proto board. This fixes up a build warning introduced by the proto board resource changes. Signed-off-by: Paul Mundt commit 5010c4f7e65b48205cd5ce8147ddf121f3fc7ce7 Author: Paul Mundt Date: Tue Sep 1 22:37:10 2009 +0900 sh: disable trapped I/O on SH7785LCR. This board doesn't use trapped I/O for anything, so just kill off the select. This was causing problems in the unhandled page fault die path. Signed-off-by: Paul Mundt commit 8a56df0ae1690f8f42a3c6c4532f4b06f93febea Author: Patrick McHardy Date: Tue Sep 1 14:34:01 2009 +0200 netfilter: ebt_ulog: fix checkentry return value Commit 19eda87 (netfilter: change return types of check functions for Ebtables extensions) broke the ebtables ulog module by missing a return value conversion. Signed-off-by: Patrick McHardy commit 6f3795788b030c3c190fa063adfe519e016cc6fd Author: Paul Mundt Date: Tue Sep 1 21:21:36 2009 +0900 sh: Fix up UP deadlock with SMP-aware cache ops. This builds on top of the previous reversion and implements a special on_each_cpu() variant that simple disables preemption across the call while leaving the interrupt state to the function itself. There were some unintended consequences with IRQ disabling in some of these paths on UP that ran in to a deadlock scenario with IRQs being missed. Signed-off-by: Paul Mundt commit 983f4c514c4c9ddac1077a2c805fd16cbe3f7487 Author: Paul Mundt Date: Tue Sep 1 21:12:55 2009 +0900 Revert "sh: Kill off now redundant local irq disabling." This reverts commit 64a6d72213dd810dd55bd0a503c36150af41c3c3. Unfortunately we can't use on_each_cpu() for all of the cache ops, as some of them only require preempt disabling. This seems to be the same issue that impacts the mips r4k caches, where this code was based on. This fixes up a deadlock that showed up in some IRQ context cases. Signed-off-by: Paul Mundt commit 5c0d38c9478e79ab7deb1b470dd181d2308a608e Author: jassi brar Date: Tue Sep 1 11:35:08 2009 +0900 ASoC: Debugged improper setting of PLL fields in WM8580 driver Bug was caught while trying to use WM8580 as I2S master on SMDK. Symptoms were lesser LRCLK read by CRO(41.02 instead of 44.1 KHz) Solved by referring to WM8580A manual and setting mask value correctly and making the code to not touch 'reserved' bits of PLL4 register. Signed-off-by: Jassi Signed-off-by: Mark Brown commit dce944dbb2d0046628bcdba882e8edc2c1d93200 Author: Barry Song <21cnbao@gmail.com> Date: Tue Sep 1 12:45:14 2009 +0800 ASoC: new board driver to connect bfin-5xx with ad1836 codec As discussed, the patch uses the original TDM order without rewriting. For the match between TDM slot number and audio channel number, a new API need be added. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit c931aaf0e1b11862077f6884b2cec22833080e23 Merge: ff55df5 ac5672f Author: Ingo Molnar Date: Tue Sep 1 12:13:30 2009 +0200 Merge branch 'x86/paravirt' into x86/cpu Conflicts: arch/x86/include/asm/paravirt.h Manual merge: arch/x86/include/asm/paravirt_types.h Merge reason: x86/paravirt conflicts non-trivially with x86/cpu, resolve it. Signed-off-by: Ingo Molnar commit acde31dc467797ccae3a55b791a77af446cce018 Author: Catalin Marinas Date: Thu Aug 27 14:29:20 2009 +0100 kmemleak: Ignore the aperture memory hole on x86_64 This block is allocated with alloc_bootmem() and scanned by kmemleak but the kernel direct mapping may no longer exist. This patch tells kmemleak to ignore this memory hole. The dma32_bootmem_ptr in dma32_reserve_bootmem() is also ignored. Signed-off-by: Catalin Marinas Acked-by: Ingo Molnar commit 6fa12c85031485dff38ce550c24f10da23b0adaa Author: Damian Lukowski Date: Wed Aug 26 00:16:34 2009 +0000 Revert Backoff [v3]: Calculate TCP's connection close threshold as a time value. RFC 1122 specifies two threshold values R1 and R2 for connection timeouts, which may represent a number of allowed retransmissions or a timeout value. Currently linux uses sysctl_tcp_retries{1,2} to specify the thresholds in number of allowed retransmissions. For any desired threshold R2 (by means of time) one can specify tcp_retries2 (by means of number of retransmissions) such that TCP will not time out earlier than R2. This is the case, because the RTO schedule follows a fixed pattern, namely exponential backoff. However, the RTO behaviour is not predictable any more if RTO backoffs can be reverted, as it is the case in the draft "Make TCP more Robust to Long Connectivity Disruptions" (http://tools.ietf.org/html/draft-zimmermann-tcp-lcd). In the worst case TCP would time out a connection after 3.2 seconds, if the initial RTO equaled MIN_RTO and each backoff has been reverted. This patch introduces a function retransmits_timed_out(N), which calculates the timeout of a TCP connection, assuming an initial RTO of MIN_RTO and N unsuccessful, exponentially backed-off retransmissions. Whenever timeout decisions are made by comparing the retransmission counter to some value N, this function can be used, instead. The meaning of tcp_retries2 will be changed, as many more RTO retransmissions can occur than the value indicates. However, it yields a timeout which is similar to the one of an unpatched, exponentially backing off TCP in the same scenario. As no application could rely on an RTO greater than MIN_RTO, there should be no risk of a regression. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit f1ecd5d9e7366609d640ff4040304ea197fbc618 Author: Damian Lukowski Date: Wed Aug 26 00:16:31 2009 +0000 Revert Backoff [v3]: Revert RTO on ICMP destination unreachable Here, an ICMP host/network unreachable message, whose payload fits to TCP's SND.UNA, is taken as an indication that the RTO retransmission has not been lost due to congestion, but because of a route failure somewhere along the path. With true congestion, a router won't trigger such a message and the patched TCP will operate as standard TCP. This patch reverts one RTO backoff, if an ICMP host/network unreachable message, whose payload fits to TCP's SND.UNA, arrives. Based on the new RTO, the retransmission timer is reset to reflect the remaining time, or - if the revert clocked out the timer - a retransmission is sent out immediately. Backoffs are only reverted, if TCP is in RTO loss recovery, i.e. if there have been retransmissions and reversible backoffs, already. Changes from v2: 1) Renaming of skb in tcp_v4_err() moved to another patch. 2) Reintroduced tcp_bound_rto() and __tcp_set_rto(). 3) Fixed code comments. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 4d1a2d9ec1c17df077ed09a0d135bccf5637a3b7 Author: Damian Lukowski Date: Wed Aug 26 00:16:27 2009 +0000 Revert Backoff [v3]: Rename skb to icmp_skb in tcp_v4_err() This supplementary patch renames skb to icmp_skb in tcp_v4_err() in order to disambiguate from another sk_buff variable, which will be introduced in a separate patch. Signed-off-by: Damian Lukowski Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit ade315d83c1d53b3c6b820134cb16601351810fe Author: Paul Mundt Date: Tue Sep 1 17:45:35 2009 +0900 sh: Kill off kgdb's magical NMI debouncing. The kgdb stub has traditionally tied in to the NMI slot, and manually handled debounce. Now that we have a generic way to do this instead, all of the stub-specific debounce silliness can be killed off. Signed-off-by: Paul Mundt commit 1e1030dccb1084c8a38976d3656aab1d50d762da Author: Paul Mundt Date: Tue Sep 1 17:38:32 2009 +0900 sh: nmi_debug support. This implements support for NMI debugging that was shamelessly copied from the avr32 port. A bit of special magic is needed in the interrupt exception path given that the NMI exception handler is stubbed in to the regular exception handling table despite being reported in INTEVT. So we mangle the lookup and kick off an EXPEVT-style exception dispatch from the INTEVT path for exceptions that do_IRQ() has no chance of handling. As a result, we also drop the evt2irq() conversion from the do_IRQ() path and just do it in assembly. Signed-off-by: Paul Mundt commit 6ee1652051f14d1c110f48a5b3ee037d63d0c2fa Author: Yi Zou Date: Mon Aug 31 12:34:28 2009 +0000 ixgbe: Add support for dcbnl_rtnl_ops.setapp/getapp Add support for dcbnl_rtnl_ops.setapp/getapp to set or get the current user priority bitmap for the given application protocol. Currently, 82599 only supports setapp/getapp for Fiber Channel over Ethernet (FCoE) protocol. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 579496865cf4ea429146382d62047ffdbaab0dee Author: Yi Zou Date: Mon Aug 31 12:33:40 2009 +0000 dcbnl: Add implementations of dcbnl setapp/getapp commands Implements the dcbnl netlink setapp/getapp pair. When a setapp/getapp is received, dcbnl would just pass on to dcbnl_rtnl_op.setapp/getapp that are supposed to be implemented by the low level drivers. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6fa382af61338908e5713234bcee598423f661c3 Author: Yi Zou Date: Mon Aug 31 12:33:20 2009 +0000 dcbnl: Add netlink attributes for setapp/getapp to dcbnl Add defines for dcbnl netlink attributes to support netlink message passing of setapp/getapp in dcbnl. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7114323b1761bdf787ed79323a4a13f787878295 Author: Yi Zou Date: Mon Aug 31 12:32:55 2009 +0000 dcbnl: Add support for setapp/getapp to netdev dcbnl_rtnl_ops Adds support of dcbnl setapp/getapp to dcbnl_rtnl_ops in netdev to allow LLDs to implement their corresponding dcbnl setapp/getapp ops to support the IEEE 802.1Q DCBX setapp/getapp commands. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0f6f290259896afdca30e1ff4a28aff8edd79a14 Author: Yi Zou Date: Mon Aug 31 12:32:34 2009 +0000 dcbnl: Add support for setapp/getapp commands to dcbnl This patch adds dcbnl command definitions to support setapp/getapp functionality from the IEEE 802.1Qaz Data Center Bridging Capability Exchange protocol (DCBX) specification. Section 3.3 defines the application protocol and its 802.1p user priority in DCBX, which is implemented here as a pair of setapp/getapp commands in the kernel dcbnl for setting and retrieving the user priority for an given application protocol. The protocol is identified by the combination of an id and an idtype. Currently, when idtype is 0, the corresponding id gives the ether type of this protocol, e.g., for FCoE, it will be 0x8906; when idtype is 1, then the corresponding id gives the TCP or UDP port number. For more information regarding DCBX spec., please refer to the following: http://www.ieee802.org/1/files/public/docs2008/ az-wadekar-dcbx-capability-exchange-discovery-protocol-1108-v1.01.pdf Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 8450ff8cd7fba6e78c07d7c14bf4dc582f8a6c3d Author: Yi Zou Date: Mon Aug 31 12:32:14 2009 +0000 ixgbe: Add support for the net_device_ops.ndo_fcoe_enable/disable to 82599 This adds support to the net_device_ops.ndo_fcoe_enable/disable for 82599. This consequently allows us to dynamically turn FCoE offload feature on or off upon incoming calls to ndo_fcoe_enable/disable. When this happens, FCoE offload features are enabled/disabled accordingly, and this is regardless of whether DCB being turned on or not. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0af46d997fcbfd25a9e166c2431bfebc03720a36 Author: Yi Zou Date: Mon Aug 31 12:31:55 2009 +0000 vlan: Add support for net_devices_ops.ndo_fcoe_enable/_disable to VLAN This adds implementation of the net_devices_ops.ndo_fcoe_enable/_disable to the VLAN driver. It checks if the real_dev has support for ndo_fcoe_enable/ ndo_fcoe_disable and if so, passes on to call the associated real_dev. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cb45439977d3602b91dd0aca2d94fa3b32aebba6 Author: Yi Zou Date: Mon Aug 31 12:31:36 2009 +0000 net: Add ndo_fcoe_enable/ndo_fcoe_disable to net_device_ops Add ndo_fcoe_enable/_disable to net_device_ops so the corresponding HW can initialize itself for FCoE traffic or clean up after FCoE traffic is done. This is expected to be called by the kernel FCoE stack upon receiving a request for creating an FCoE instance on the corresponding netdev interface. When implemented by the actual HW, the HW driver check the op code to perform corresponding initialization or clean up for FCoE. The initialization normally includes allocating extra queues for FCoE, setting corresponding HW registers for FCoE, indicating FCoE offload features via netdev, etc. The clean-up would include releasing the resources allocated for FCoE. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 61357325f377889a1daffa14962d705dc814dd0e Author: Stephen Hemminger Date: Mon Aug 31 19:50:58 2009 +0000 netdev: convert bulk of drivers to netdev_tx_t In a couple of cases collapse some extra code like: int retval = NETDEV_TX_OK; ... return retval; into return NETDEV_TX_OK; Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d0cf9c0dadcdc89a755bcb301cfc9c796eb28ccf Author: Stephen Hemminger Date: Mon Aug 31 19:50:57 2009 +0000 wireless: convert drivers to netdev_tx_t Mostly just simple conversions: * ray_cs had bogus return of NET_TX_LOCKED but driver was not using NETIF_F_LLTX * hostap and ipw2x00 had some code that returned value from a called function that also had to change to return netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0fc480987e69f22b9212f087545b4d1ca6950807 Author: Stephen Hemminger Date: Mon Aug 31 19:50:56 2009 +0000 appletalk: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3b29a56d31d585d39bf9ffe9ef1f10bd637ee0f1 Author: Stephen Hemminger Date: Mon Aug 31 19:50:55 2009 +0000 intel: convert drivers to netdev_tx_t Get rid of some bogus return wrapping as well. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 27a1de95a1461ec0589005c293d6ac23a46cb72d Author: Stephen Hemminger Date: Mon Aug 31 19:50:54 2009 +0000 3com: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ad096463f7ff809389454ea4219058a36564d55e Author: Stephen Hemminger Date: Mon Aug 31 19:50:53 2009 +0000 tulip: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3a27c149ab0e31a7b86e5ee6a27bb3b8b5687f32 Author: Stephen Hemminger Date: Mon Aug 31 19:50:52 2009 +0000 uwb: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 424efe9caf6047ffbcd6b383ff4d2347254aabf1 Author: Stephen Hemminger Date: Mon Aug 31 19:50:51 2009 +0000 netdev: convert pseudo drivers to netdev_tx_t These are all drivers that don't touch real hardware. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6518bbb803fe02b15a3211c8db2afdff0ac4f808 Author: Stephen Hemminger Date: Mon Aug 31 19:50:50 2009 +0000 irda: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dbf02fae406daf4d583a279743869c686024c341 Author: Stephen Hemminger Date: Mon Aug 31 19:50:49 2009 +0000 netdev: convert pcmcia drivers to netdev_tx_t Update all the pcmcia network drivers for netdev_tx_t. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4c5d502d8b2db8947c44dc44bdc67dbe55cce2b9 Author: Stephen Hemminger Date: Mon Aug 31 19:50:48 2009 +0000 hdlc: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d71a674922e7519edb477ecb585e7d29d69c7aa7 Author: Stephen Hemminger Date: Mon Aug 31 19:50:47 2009 +0000 wan: convert drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 61a84108547c1c017683f15311ccbede249fc6fa Author: Stephen Hemminger Date: Mon Aug 31 19:50:46 2009 +0000 tokenring: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 25a79c41ce0ce88a4288adf278e9b0e00f228383 Author: Stephen Hemminger Date: Mon Aug 31 19:50:45 2009 +0000 usbnet: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 8b62ff2dbc3d6c13997b9d440dfd0ed00e6df96d Author: Stephen Hemminger Date: Mon Aug 31 19:50:44 2009 +0000 isdn: convert to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 36e4d64a82d9a91a73a2b9b32117aedfe2211fb3 Author: Stephen Hemminger Date: Mon Aug 31 19:50:43 2009 +0000 convert hamradio drivers to netdev_txreturnt_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3c805a22a3a178fc5aaadd518afa5358b78bf69e Author: Stephen Hemminger Date: Mon Aug 31 19:50:42 2009 +0000 convert ATM drivers to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6fef4c0c8eeff7de13007a5f56113475444a253d Author: Stephen Hemminger Date: Mon Aug 31 19:50:41 2009 +0000 netdev: convert pseudo-devices to netdev_tx_t Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit dc1f8bf68b311b1537cb65893430b6796118498a Author: Stephen Hemminger Date: Mon Aug 31 19:50:40 2009 +0000 netdev: change transmit to limited range type The transmit function should only return one of three possible values, some drivers got confused and returned errno's or other values. This changes the definition so that this can be caught at compile time. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 96910b6dc8a4fdb75e69f09f47b62d41743d36ba Author: Heiko Carstens Date: Mon Aug 31 14:43:34 2009 +0200 locking, m68k/asm-offsets: Rename signal defines In order to be able to use asm-offsets.h in C files the existing namespace conflicts must be solved first. In asm-offsets.h there are defines for signal constants, so they can be used in assembler files. Unfortunately the existing defines use a 1:1 mapping for the macro names which results in name space conflicts if the header file would also be used in C files. So rename the created defines and add an "L" prefix to each one since that has already been done for the SIGTRAP define in entry_mm. Signed-off-by: Heiko Carstens Cc: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.998821502@de.ibm.com> Signed-off-by: Ingo Molnar commit 2ad81ba0147919edc0cf56b80c6224775656b78d Author: Takashi Iwai Date: Tue Sep 1 09:09:26 2009 +0200 ALSA: hda - Unmute docking line-out as default with AD1984A codec Unmute the docking-station line-out as default on machines with AD1984A codec chip. It can be still muted via "Dock" mixer switch. Signed-off-by: Takashi Iwai commit f8ff035e38514ea60aae8752af45ed90e7598fcd Author: Takashi Iwai Date: Tue Sep 1 08:53:19 2009 +0200 ALSA: hda - Add another entry for Nvidia HDMI device Added another entry for Nvidia HDMI device (10de:0003). Reference: kernel bug#14097 http://bugzilla.kernel.org/show_bug.cgi?id=14097 Signed-off-by: Takashi Iwai commit ac6a0cf6716bb46813d0161024c66c2af66e53d1 Merge: e76a013 ce3f7cb Author: Paul Mundt Date: Tue Sep 1 13:54:14 2009 +0900 Merge branch 'master' into sh/smp Conflicts: arch/sh/mm/cache-sh4.c commit ce3f7cb96e67d6518c7fc7b361a76409c3817d64 Author: Matt Fleming Date: Tue Sep 1 13:32:48 2009 +0900 sh: Fix dcache flushing for N-way write-through caches. This adopts the special-cased 2-way write-through dcache flusher for N-ways and moves it in to the generic path. Assignment is done at runtime via the check for the CCR_CACHE_WT bit in the same path as the per-way writeback flushers. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 8aeb0a352af7eb26863e53c203eeb852fd4590c3 Merge: 7e24bc1 eb0ca84 Author: Len Brown Date: Mon Aug 31 23:42:51 2009 -0400 Merge branch 'bugzilla-13745' into release commit b3a3ca8ca0c3c29abc5b2bfe94bb14f3f4590df9 Author: Theodore Ts'o Date: Mon Aug 31 23:13:11 2009 -0400 ext4: Add new tracepoint: trace_ext4_da_write_pages() Add a new tracepoint which shows the pages that will be written using write_cache_pages() by ext4_da_writepages(). Signed-off-by: "Theodore Ts'o" commit 718fb0de8ff88f71b3b91a8ee8e42e60c88e5128 Author: Hugh Dickins Date: Thu Aug 6 23:18:12 2009 +0000 ACPI: fix NULL bug for HID/UID string acpi_device->pnp.hardware_id and unique_id are now allocated pointers, replacing the previous arrays. acpi_device_install_notify_handler() oopsed on the NULL hid when probing the video device, and perhaps other uses are vulnerable too. So initialize those pointers to empty strings when there is no hid or uid. Also, free hardware_id and unique_id when when acpi_device is going to be freed. http://bugzilla.kernel.org/show_bug.cgi?id=14096 Signed-off-by: Hugh Dickins Signed-off-by: Lin Ming Signed-off-by: Len Brown commit ff55df53dfdd338906c8ba9d1f4a759b86b869d5 Author: H. Peter Anvin Date: Mon Aug 31 14:16:57 2009 -0700 x86, msr: Export the register-setting MSR functions via /dev/*/msr Make it possible to access the all-register-setting/getting MSR functions via the MSR driver. This is implemented as an ioctl() on the standard MSR device node. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit 8b956bf1f0f2b552ed93cf6cafe823edff298b3b Author: H. Peter Anvin Date: Mon Aug 31 14:13:48 2009 -0700 x86, msr: Create _on_cpu helpers for {rw,wr}msr_safe_regs() Create _on_cpu helpers for {rw,wr}msr_safe_regs() analogously with the other MSR functions. This will be necessary to add support for these to the MSR driver. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov commit ed6d76e4c32de0c2ad5f1d572b948ef49e465176 Author: Paul Moore Date: Fri Aug 28 18:12:49 2009 -0400 selinux: Support for the new TUN LSM hooks Add support for the new TUN LSM hooks: security_tun_dev_create(), security_tun_dev_post_create() and security_tun_dev_attach(). This includes the addition of a new object class, tun_socket, which represents the socks associated with TUN devices. The _tun_dev_create() and _tun_dev_post_create() hooks are fairly similar to the standard socket functions but _tun_dev_attach() is a bit special. The _tun_dev_attach() is unique because it involves a domain attaching to an existing TUN device and its associated tun_socket object, an operation which does not exist with standard sockets and most closely resembles a relabel operation. Signed-off-by: Paul Moore Acked-by: Eric Paris Signed-off-by: James Morris commit 2b980dbd77d229eb60588802162c9659726b11f4 Author: Paul Moore Date: Fri Aug 28 18:12:43 2009 -0400 lsm: Add hooks to the TUN driver The TUN driver lacks any LSM hooks which makes it difficult for LSM modules, such as SELinux, to enforce access controls on network traffic generated by TUN users; this is particularly problematic for virtualization apps such as QEMU and KVM. This patch adds three new LSM hooks designed to control the creation and attachment of TUN devices, the hooks are: * security_tun_dev_create() Provides access control for the creation of new TUN devices * security_tun_dev_post_create() Provides the ability to create the necessary socket LSM state for newly created TUN devices * security_tun_dev_attach() Provides access control for attaching to existing, persistent TUN devices and the ability to update the TUN device's socket LSM state as necessary Signed-off-by: Paul Moore Acked-by: Eric Paris Acked-by: Serge Hallyn Acked-by: David S. Miller Signed-off-by: James Morris commit 0cc0213e73af5963eca259c84876937c20689dbd Author: H. Peter Anvin Date: Mon Aug 31 14:23:29 2009 -0700 x86, msr: Have the _safe MSR functions return -EIO, not -EFAULT For some reason, the _safe MSR functions returned -EFAULT, not -EIO. However, the only user which cares about the return code as anything other than a boolean is the MSR driver, which wants -EIO. Change it to -EIO across the board. Signed-off-by: H. Peter Anvin Cc: Jeremy Fitzhardinge Cc: Chris Wright Cc: Alok Kataria Cc: Rusty Russell commit 79c5dca3619d6ae15815eec14cd7a43db5f38b47 Author: H. Peter Anvin Date: Mon Aug 31 13:59:53 2009 -0700 x86, msr: CFI annotations, cleanups for msr-reg.S Add CFI annotations for native_{rd,wr}msr_safe_regs(). Simplify the 64-bit implementation: we don't allow the upper half registers to be set, and so we can use them to carry state across the operation. Signed-off-by: H. Peter Anvin Cc: Borislav Petkov LKML-Reference: <1251705011-18636-1-git-send-email-petkovbb@gmail.com> commit 709972b1f6f70535d1fddbe1243a51b90c408a1c Author: H. Peter Anvin Date: Mon Aug 31 11:57:20 2009 -0700 x86, asm: Make _ASM_EXTABLE() usable from assembly code We have had this convenient macro _ASM_EXTABLE() to generate exception table entry in inline assembly. Make it also usable for pure assembly. Signed-off-by: H. Peter Anvin commit fe9b4e4e40ffdabbd385cdf171cb861c2fd517c0 Author: H. Peter Anvin Date: Mon Aug 31 11:53:23 2009 -0700 x86, asm: Add 32-bit versions of the combined CFI macros Add 32-bit versions of the combined CFI macros, equivalent to the 64-bit ones except, obviously, operating on 32-bit stack words. Signed-off-by: H. Peter Anvin commit 6b0f43ddfa358dc71ad2a2d57bce5906c1c5dc1a Author: Borislav Petkov Date: Mon Aug 31 09:50:11 2009 +0200 x86, AMD: Disable wrongly set X86_FEATURE_LAHF_LM CPUID bit fbd8b1819e80ac5a176d085fdddc3a34d1499318 turns off the bit for /proc/cpuinfo. However, a proper/full fix would be to additionally turn off the bit in the CPUID output so that future callers get correct CPU features info. Do that by basically reversing what the BIOS wrongfully does at boot. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-3-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit 177fed1ee8d727c39601ce9fc2299b4cb25a718e Author: Borislav Petkov Date: Mon Aug 31 09:50:10 2009 +0200 x86, msr: Rewrite AMD rd/wrmsr variants Switch them to native_{rd,wr}msr_safe_regs and remove pv_cpu_ops.read_msr_amd. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-2-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit 132ec92f3f70fe365c1f4b8d46e66cf8a2a16880 Author: Borislav Petkov Date: Mon Aug 31 09:50:09 2009 +0200 x86, msr: Add rd/wrmsr interfaces with preset registers native_{rdmsr,wrmsr}_safe_regs are two new interfaces which allow presetting of a subset of eight x86 GPRs before executing the rd/wrmsr instructions. This is needed at least on AMD K8 for accessing an erratum workaround MSR. Originally based on an idea by H. Peter Anvin. Signed-off-by: Borislav Petkov LKML-Reference: <1251705011-18636-1-git-send-email-petkovbb@gmail.com> Signed-off-by: H. Peter Anvin commit de89de6e0cf4b1eb13f27137cf2aa40d287aabdf Author: Theodore Ts'o Date: Mon Aug 31 17:00:59 2009 -0400 ext4: Restore wbc->range_start in ext4_da_writepages() To solve a lock inversion problem, we implement part of the range_cyclic algorithm in ext4_da_writepages(). (See commit 2acf2c26 for more details.) As part of that change wbc->range_start was modified by ext4's writepages function, which causes its callers to get confused since they aren't expecting the filesystem to modify it. The simplest fix is to save and restore wbc->range_start in ext4_da_writepages. Signed-off-by: "Theodore Ts'o" commit 98a56ab382079f777e261e14512cbd4fb2107af4 Author: Theodore Ts'o Date: Thu Sep 17 08:48:28 2009 -0400 ext4: Fix spelling typo in the trace format for trace_ext4_da_writepages() Signed-off-by: "Theodore Ts'o" commit 1da1daed813c534263a87ffc36d5b775e65231ad Merge: a0f7bfd a022fe0 Author: Felix Blyakher Date: Mon Aug 31 15:22:44 2009 -0500 Merge branch 'master' of ssh+git://oss.sgi.com/oss/git/xfs/xfs commit a0f7bfd3429fc48f4d1aa5364b9428d75798ba04 Author: Julia Lawall Date: Mon Jul 27 18:15:25 2009 +0200 fs/xfs: Correct redundant test bp was tested for NULL a few lines before, followed by a return, and there is no intervening modification of its value. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Felix Blyakher Signed-off-by: Felix Blyakher commit eb00457d624c70a2492c319e7e05ed7e067b2794 Author: Eric Sandeen Date: Sun Jul 5 12:23:35 2009 -0500 xfs: remove XFS_INO64_OFFSET Commit a19d9f887d81106d52cacbc9930207b487e07e0e removed the ino64 option but left the XFS_INO64_OFFSET define it used in place - just remove it. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit fef1111ecdd2b5198afe91537a5cd4c6be80a255 Author: Eric Sandeen Date: Thu Jul 2 21:35:43 2009 -0500 un-static xfs_read_agf CONFIG_XFS_DEBUG builds still need xfs_read_agf to be non-static, oops. Signed-off-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit d96f8f891f69ac1dc8c7bd82e27525de220c04e1 Author: Eric Sandeen Date: Thu Jul 2 00:09:33 2009 -0500 xfs: add more statics & drop some unused functions A lot more functions could be made static, but they need forward declarations; this does some easy ones, and also found a few unused functions in the process. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit e11dadabf443dc3101f28b74d8b9d56870a87db4 Author: Thomas Gleixner Date: Mon Aug 31 15:18:40 2009 +0200 x86: apic namespace cleanup boot_cpu_physical_apicid is a global variable and used as function argument as well. Rename the function arguments to avoid confusion. Signed-off-by: Thomas Gleixner commit 1c29ce672fe817c208309eea0c1ff7bf76250f15 Author: Vasanthakumar Thiagarajan Date: Mon Aug 31 17:48:36 2009 +0530 ath9k: Do an AHB reset before doing RTC reset Doing an RTC reset when DMA is active may corrupt memory, make sure no DMA is active at this moment by doing an AHB reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3107edbae8216a80920bed7f8d4ec2e6b62390f2 Author: Randy Dunlap Date: Sun Aug 30 13:22:57 2009 -0700 ipw2200: fix kconfig dependencies Fix kconfig dependencies for ipw2x00 drivers, fixes build errors: ERROR: "wiphy_free" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "wiphy_unregister" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "wiphy_new" [drivers/net/wireless/ipw2x00/libipw.ko] undefined! ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! ERROR: "wiphy_register" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: John W. Linville commit daee6c092aa49ea090612738253ef0d11d120344 Author: Ivo van Doorn Date: Sat Aug 29 20:30:45 2009 +0200 rt2x00: Reorganize padding & L2 padding The old function rt2x00queue_payload_align() handled both adding and removing L2 padding and some basic frame alignment. The entire function was being abused because it had multiple functions and the header length argument was somtimes used to align the header instead of the payload. Additionally there was a bug when inserting L2 padding that only the payload was aligned but not the header. This happens when the header wasn't aligned properly by mac80211, but rt2x00lib only moves the payload. A secondary problem was that when removing L2 padding during TXdone or RX the skb wasn't resized to the proper size. Split the function into seperate functions each handling its task as it should. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 2e27cff871dec9371e41022aaaebb3452ec069c0 Author: Ivo van Doorn Date: Sat Aug 29 19:10:14 2009 +0200 rt2x00: Fix TX status reporting Not all values of the TX status enumeration were covered during updating of the TX statistics. This could lead to wrong bitrate tuning but also wrong behavior in tools like hostapd. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1ee50cd9a22fdb22ce7bdb7f978d25b79993788d Author: Gábor Stefanik Date: Fri Aug 28 22:36:02 2009 +0200 b43: LP-PHY: Fix TX gain tables The rev1 2GHz and rev2 5GHz gain tables were incorrectly documented on the specs originally. Update these gaintables to match the cor- rected specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c71dbd3316d9ae8bc49d90b5a0b2915cd5089cff Author: Gábor Stefanik Date: Fri Aug 28 22:34:21 2009 +0200 b43: Fix typo in modparam_btcoex description Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0136e51edbdae7f82aa1c32ad5cd6a49ec917c9c Author: Gábor Stefanik Date: Fri Aug 28 22:32:17 2009 +0200 b43: Add myself to module authors & to LP-PHY file copyright notices Also mark the LP-PHY driver "802.11a/g" instead of "802.11g", as LP-PHY is capable of both 2GHz and 5GHz operation. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c206a39d58fa335275403088171482f66fdbedcf Author: Gábor Stefanik Date: Fri Aug 28 21:37:00 2009 +0200 b43: Refactor and update antenna diversity for A/G-PHY -Make use of the b43_phy_set/mask/maskset helpers. -Fix a few errors in the code. -Make the code more readable. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit af472a953ef23d6b9fe717486974d7caff3fa194 Author: Reinette Chatre Date: Fri Aug 28 09:58:50 2009 -0700 iwl3945: reduce debug noise when default debug flags used Significant literature suggests users use debug flags 0x43fff - this causes the debug flags to be set that causes information to be printed for every received frame - including beacons. In the best case it fills up the logs, at worst it slows driver down and causes failures due to timeouts. In the RX handler, print debugging only if user requested RX debugging. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b57d46aa0db87b6349737e7b110ebe48ee14c143 Author: Reinette Chatre Date: Fri Aug 28 09:44:49 2009 -0700 iwlwifi: fix situation in which debug message is printed 3945 does not have update_chain_flags defined and because if this we always see the debug message that does not apply to it. Add a check to be specific about what is actually happening. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c561a02291326c50f9b1f647eae891af9d1f3b2 Author: Johannes Berg Date: Fri Aug 28 09:44:48 2009 -0700 iwlwifi: use sleep interval succession Some concerns were raised about the automatic adjustment of sleep intervals to all the same, potentially high, value, and I can imagine the hardware behaving better when we don't ask too much of it. So let's convert to use a succession of sleep levels when requesting to go to deeper sleeps (which can only happen with large DTIM intervals), using the succession values from power level three, which have the benefit of also having been tested extensively already. As a result, the automatic sleep level adjustment will now be mostly equivalent to power level three, except for the RX/TX timeouts and possibly using smaller sleep vectors to account for networking latency. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 31513be8a06874eb359908b7b735929837831a9a Author: Daniel C Halperin Date: Fri Aug 28 09:44:47 2009 -0700 iwlwifi: use iwl_hwrate_get_mac80211_idx where appropriate For HT packets, mac80211 expects the rate_idx to be an MCS number, which is the lower byte of rate_n_flags. However, iwl_hwrate_to_plcp_idx takes the MCS number and reduces it down to the range 0-8 (6 to 60 Mbps), removing the bits that signify multiply streams, HT40 Duplicate mode, or unequal modulation. This version is used for various internal purposes through the driver. Add the function iwl_hwrate_get_mac80211_idx, an alternate version which takes the rate and the band and returns the mac80211 index (MCS, for HT packets, and PLCP rate, for legacy packets). Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b58ef214b7db57cfcbca0e1edae08566cdfd56b7 Author: Daniel C Halperin Date: Fri Aug 28 09:44:46 2009 -0700 iwlwifi: remove incorrect uses of ieee80211_get_tx_rate to prevent TX stall Refactor and correct rate selection for outgoing transmitted packets. First, note that HT rates in the mac80211 rate table do not provide valid indices when ieee80211_get_tx_rate is called; the check to see if we could to abort a transmission early in iwl_tx_skb() would thus occasionally read invalid memory and occasionally stall transmission (if the erroneous byte was 0xff). We remove that code; the check wasn't valid anyway. Second, iwl_tx_cmd_build_rate() also called ieee80211_get_tx_rate to be used for sending management packets, which do not use the uCode station table. This patch refactors that function and adds comments to enhance legibility, replaces the call to ieee80211_get_tx_rate() with a direct lookup, and adds error handling in case the table entry is invalid. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5027309b5581e9c251a46f0ecbf88996d5e0f1e0 Author: Daniel C Halperin Date: Fri Aug 28 09:44:45 2009 -0700 iwlwifi: remove 60 Mbps from sband bitrates table ieee80211_supported_band is supposed to only contain legacy rates in the bitrates table (HT rates go in the ieee80211_sta_ht_cap substruct). Make iwlwifi driver obey this restriction by removing the 60 Mbps rate. Also, clean up a few pieces of other code that formerly relied on 60 Mbps being in sband->bitrates. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a269cca9926faf8e44b340b017be0d884203141b Author: H. Peter Anvin Date: Mon Aug 31 11:17:44 2009 -0700 mm: remove !NUMA condition from PAGEFLAGS_EXTENDED condition set CONFIG_PAGEFLAGS_EXTENDED disables a trick to conserve pageflags. This trick is indended to be enabled when the pressure on page flags is very high. The previous condition was: - depends on 64BIT || SPARSEMEM_VMEMMAP || !NUMA || !SPARSEMEM ... however, the sparsemem code already has a way to crowd out the node number from the pageflags, which means that !NUMA actually doesn't contribute to hard pageflags exhaustion. This is required for the new PG_uncached flag to not cause pageflags exhaustion on x86_32 + PAE + SPARSEMEM + !NUMA. Signed-off-by: H. Peter Anvin LKML-Reference: <4A9828F4.4040905@zytor.com> Cc: Venkatesh Pallipadi Cc: Suresh Siddha commit 7e24bc1ce669b2876ffa475ea1147f2bb9ffdc52 Author: Alex Chiang Date: Tue Aug 4 14:44:17 2009 -0600 ACPI: pci_slot.ko wants a 64-bit _SUN Similar to commit b6adc195 (PCI hotplug: acpiphp wants a 64-bit _SUN), pci_slot.ko reads and creates sysfs directories based on the _SUN method. Certain HP platforms return 64 bits in _SUN. This change to pci_slot.ko allows us to see the correct sysfs directories. Reported-by: Chad Smith Cc: stable@kernel.org Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit bc07844a33734c4b2f32ef26d942d2f3ef9302ea Author: Thomas Gleixner Date: Sat Aug 29 18:09:57 2009 +0200 x86: Distangle ioapic and i8259 The proposed Moorestown support patches use an extra feature flag mechanism to make the ioapic work w/o an i8259. There is a much simpler solution. Most i8259 specific functions are already called dependend on the irq number less than NR_IRQS_LEGACY. Replacing that constant by a read_mostly variable which can be set to 0 by the platform setup code allows us to achieve the same without any special feature flags. That trivial change allows us to proceed with MRST w/o doing a full blown overhaul of the ioapic code which would delay MRST unduly. Signed-off-by: Thomas Gleixner commit 90c53ca426cb93d15eefea79dcf6bd15ad3ffeb4 Author: Zhang Rui Date: Mon Aug 31 12:39:54 2009 -0400 ACPI video: work-around BIOS AML bug in _BQC _BQC on some laptops returns an uninitialized value when it's invoked for the first time. Set the laptop to the maximum backlight level in this case. http://bugzilla.kernel.org/attachment.cgi?id=22675 Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit b62e180cae6bd82e246d871a1e44e03f8019d421 Author: Heiko Carstens Date: Mon Aug 31 14:43:39 2009 +0200 locking: Inline spinlock code for all locking variants on s390 Speeds up several benchmarks in a measurable way, so inline all spin-lock variants by default. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124419.319518405@de.ibm.com> Signed-off-by: Ingo Molnar commit bb7bed082500179519c7caf0678ba3bed9752658 Author: Heiko Carstens Date: Mon Aug 31 14:43:38 2009 +0200 locking: Simplify spinlock inlining For !DEBUG_SPINLOCK && !PREEMPT && SMP the spin_unlock() functions were always inlined by using special defines which would call the __raw* functions. The out-of-line variants for these functions would be generated anyway. Use the new per unlock/locking variant mechanism to force inlining of the unlock functions like before. This is not a functional change, we just get rid of one additional way to force inlining. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124418.848735034@de.ibm.com> Signed-off-by: Ingo Molnar commit 892a7c67c12da63fa4b51728bbe5b982356a090a Author: Heiko Carstens Date: Mon Aug 31 14:43:37 2009 +0200 locking: Allow arch-inlined spinlocks This allows an architecture to specify per lock variant if the locking code should be kept out-of-line or inlined. If an architecure wants out-of-line locking code no change is needed. To force inlining of e.g. spin_lock() the line: #define __always_inline__spin_lock needs to be added to arch/<...>/include/asm/spinlock.h If CONFIG_DEBUG_SPINLOCK or CONFIG_GENERIC_LOCKBREAK are defined the per architecture defines are (partly) ignored and still out-of-line spinlock code will be generated. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124418.375299024@de.ibm.com> Signed-off-by: Ingo Molnar commit 69d0ee7377eef808e34ba5542b554ec97244b871 Author: Heiko Carstens Date: Mon Aug 31 14:43:36 2009 +0200 locking: Move spinlock function bodies to header file Move spinlock function bodies to header file by creating a static inline version of each variant. Use the inline version on the out-of-line code. This shouldn't make any difference besides that the spinlock code can now be used to generate inlined spinlock code. Signed-off-by: Heiko Carstens Acked-by: Arnd Bergmann Acked-by: Peter Zijlstra Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124417.859022429@de.ibm.com> Signed-off-by: Ingo Molnar commit 0ee000e5e8fa2e5c760250be0d78d5906e3eb94b Author: Heiko Carstens Date: Mon Aug 31 14:43:35 2009 +0200 locking, m68k: Calculate thread_info offset with asm offset m68k has the thread_info structure embedded in its task struct. Therefore its not possible to implement current_thread_info() by looking at the stack pointer and do some simple calculations like most other architectures do it. To return the thread_info pointer for a task two defines are used. This works until the spinlock function bodies get moved into an own header file and CONFIG_SPINLOCK_DEBUG is turned on. That results into this compile error: In file included from include/linux/spinlock.h:378, from include/linux/seqlock.h:29, from include/linux/time.h:8, from include/linux/timex.h:56, from include/linux/sched.h:54, from arch/m68k/kernel/asm-offsets.c:12: include/linux/spinlock_api_smp.h: In function '__spin_unlock_irq': include/linux/spinlock_api_smp.h:371: error: 'current' undeclared (first use in this function) include/linux/spinlock_api_smp.h:371: error: (Each undeclared identifier is reported only once include/linux/spinlock_api_smp.h:371: error: for each function it appears in.) Including asm/current.h to asm-offsets.c wouldn't help since the definition of struct task is needed. So we end up with ugly header file include dependencies. To solve this calculate the offset of the thread_info structure into the task struct in asm-offsets.h and use the offset in task_thread_info(). This works just like it does for IA64 as well. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124417.329662275@de.ibm.com> Signed-off-by: Ingo Molnar commit f159ee782990aacb5494738c98f13a2aa61dbb4a Author: Heiko Carstens Date: Mon Aug 31 14:43:33 2009 +0200 locking, m68k/asm-offsets: Rename pt_regs offset defines In order to be able to use asm-offsets.h in C files the existing namespace conflicts must be solved first. In asm-offsets.h e.g. PT_D0 gets defined which is the offset of the d0 member of the pt_regs structure. However a same define (with a different meaning) exists in asm/ptregs.h. So rename the defines created with the asm-offset mechanism to PT_OFF_D0 etc. There also already exist a few defines with these names that have the same meaning. So remove the existing defines and use the asm-offset generated ones. Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.666403991@de.ibm.com> Signed-off-by: Ingo Molnar commit 9f34ceb60357a7166c929d7b52bd057ad7ffc54b Author: Heiko Carstens Date: Mon Aug 31 14:43:32 2009 +0200 locking, sparc: Rename __spin_try_lock() and friends Needed to avoid namespace conflicts when the common code function bodies of _spin_try_lock() etc. are moved to a header file where the function name would be __spin_try_lock(). Signed-off-by: Heiko Carstens Acked-by: David S. Miller Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124416.306495811@de.ibm.com> Signed-off-by: Ingo Molnar commit 8307a98097222f4d9c2e62ebccd6f5df439328de Author: Heiko Carstens Date: Mon Aug 31 14:43:31 2009 +0200 locking, powerpc: Rename __spin_try_lock() and friends Needed to avoid namespace conflicts when the common code function bodies of _spin_try_lock() etc. are moved to a header file where the function name would be __spin_try_lock(). Signed-off-by: Heiko Carstens Acked-by: Peter Zijlstra Cc: Arnd Bergmann Cc: Nick Piggin Cc: Martin Schwidefsky Cc: Horst Hartmann Cc: Christian Ehrhardt Cc: Andrew Morton Cc: Linus Torvalds Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Geert Uytterhoeven Cc: Roman Zippel Cc: LKML-Reference: <20090831124415.918799705@de.ibm.com> Signed-off-by: Ingo Molnar commit bbe69aa57a7374b51242b95a54eefcf0d0393b7e Merge: a417887 326ba50 Author: Ingo Molnar Date: Mon Aug 31 17:54:18 2009 +0200 Merge commit 'v2.6.31-rc8' into core/locking Merge reason: we were on -rc4, move to -rc8 before applying a new batch of locking infrastructure changes. Signed-off-by: Ingo Molnar commit 2920ee2b47fc8e6aebe1d1956b2725f48fa93cc5 Author: Steve French Date: Mon Aug 31 15:27:26 2009 +0000 [CIFS] potential NULL dereference in parse_DFS_referrals() memory allocation may fail, prevent a NULL dereference Pointed out by Roel Kluin CC: Roel Kluin Signed-off-by: Steve French commit cbbb05703da4b205bb17fde555d3b2926d8b3194 Author: Roel Kluin Date: Mon Aug 31 16:32:12 2009 +0200 ALSA: allocation may fail in snd_pcm_oss_change_params() Allocation may fail, show if it did. Signed-off-by: Roel Kluin [Additional fix for invalid runtime->oss.prepare flag set by tiwai] Signed-off-by: Takashi Iwai commit 94b265514a8398ba3cfecb5a821a027b68a5c38e Author: Julius Volz Date: Mon Aug 31 16:22:23 2009 +0200 IPVS: Add handling of incoming ICMPV6 messages Add handling of incoming ICMPv6 messages. This follows the handling of IPv4 ICMP messages. Amongst ther things this problem allows IPVS to behave sensibly when an ICMPV6_PKT_TOOBIG message is received: This message is received when a realserver sends a packet >PMTU to the client. The hop on this path with insufficient MTU will generate an ICMPv6 Packet Too Big message back to the VIP. The LVS server receives this message, but the call to the function handling this has been missing. Thus, IPVS fails to forward the message to the real server, which then does not adjust the path MTU. This patch adds the missing call to ip_vs_in_icmp_v6() in ip_vs_in() to handle this situation. Thanks to Rob Gallagher from HEAnet for reporting this issue and for testing this patch in production (with direct routing mode). [horms@verge.net.au: tweaked changelog] Signed-off-by: Julius Volz Tested-by: Rob Gallagher Signed-off-by: Simon Horman Signed-off-by: Patrick McHardy commit 488908696971c5ea1dcc5d13f29c158ba4f6ae7d Author: Patrick McHardy Date: Mon Aug 31 15:30:31 2009 +0200 netfilter: ip6t_eui: fix read outside array bounds Use memcmp() instead of open coded comparison that reads one byte past the intended end. Based on patch from Roel Kluin Signed-off-by: Patrick McHardy commit c5b20d3926dfc9616265b8ff5967cb7a476f9344 Author: Tiejun Chen Date: Sat Aug 22 16:03:44 2009 +0000 powerpc/405ex: support cuImage via included dtb To support cuImage, we need to initialize the required sections and ensure that it is built. Signed-off-by: Tiejun Chen Signed-off-by: Josh Boyer commit 0484c1df473815020bdce4b46b861395759686e5 Author: Tiejun Chen Date: Sat Aug 22 16:03:43 2009 +0000 powerpc/405ex: provide necessary fixup function to support cuImage For cuImage format it's necessary to provide clock fixups since u-boot will not pass necessary clock frequency into the dtb included into cuImage so we implement the clock fixups as defined in the technical documentation for the board and update header file with the basic register definitions. Signed-off-by: Tiejun Chen Signed-off-by: Josh Boyer commit 0cdf50a7c65df894fb5fd0ef181fe18b8fec6137 Author: Solomon Peachy Date: Thu Aug 20 10:19:47 2009 +0000 powerpc/40x: Add support for the ESTeem 195E (PPC405EP) SBC This patch adds support for the ESTeem 195E Hotfoot SBC. There are several variants of the SBC deployed, single/dual ethernet+serial, and also 4MB/8MB flash variations. In the interest of having a single kernel image boot on all boards, the cuboot shim detects the differences and mangles the DTS tree appropriately. With the exception of the CF interface that was never populated on production boards, this code/DTS supports all boardpop options. Signed-off-by: Solomon Peachy Signed-off-by: Josh Boyer commit c9f75093a497bdc7389df983e914da17fad20d95 Author: fkan@amcc.com Date: Wed Aug 12 14:38:47 2009 +0000 powerpc/44x: Add Eiger AMCC (AppliedMicro) PPC460SX evaluation board support. This patch adds support for the AMCC (AppliedMicro) PPC460SX Eiger evaluation board. Signed-off-by: Tai Tri Nguyen Acked-by: Feng Kan Acked-by: Tirumala Marri Signed-off-by: Josh Boyer commit 241749261377f2e10d513505a75c071c0f4b3b51 Author: Stefan Roese Date: Thu Aug 13 04:30:56 2009 +0000 powerpc/44x: Update Arches defconfig This patch adds NOR MTD support and I2C HWMON support for the AD7414 to the AMCC Arches defconfig. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit f661be6c8af3ae357e159c3ac6d6aea4aaf7581c Author: Stefan Roese Date: Thu Aug 13 04:30:44 2009 +0000 powerpc/44x: Update Arches dts This patch adds some nodes to the AMCC Arches dts: - L2 cache support - NOR FLASH mapping with default partitioning - I2C HWMON device (AD7414) Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit ee254fa44d902ab89fd0d66851701098f07872a7 Author: Alexey Dobriyan Date: Mon Aug 31 14:23:15 2009 +0200 netfilter: nf_conntrack: netns fix re reliable conntrack event delivery Conntracks in netns other than init_net dying list were never killed. Signed-off-by: Alexey Dobriyan Acked-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 1e66dafc75f40a08b2addb82779987b269b4ca23 Author: Simon Horman Date: Mon Aug 31 14:18:48 2009 +0200 ipvs: Use atomic operations atomicly A pointed out by Shin Hong, IPVS doesn't always use atomic operations in an atomic manner. While this seems unlikely to be manifest in strange behaviour, it seems appropriate to clean this up. Cc: shin hong Signed-off-by: Simon Horman Signed-off-by: Patrick McHardy commit adb2fe0277607d50f4e9ef06e1d180051a609c25 Author: Stephen Rothwell Date: Mon Aug 31 15:24:23 2009 +1000 intel-iommu: include linux/dmi.h to use dmi_ routines This file needs to include linux/dmi.h directly rather than relying on it being pulled in from elsewhere. Signed-off-by: Stephen Rothwell Signed-off-by: David Woodhouse commit 3f4110a48a749a1aa1c54fb807afb3f32f49711c Author: Thomas Gleixner Date: Sat Aug 29 14:54:20 2009 +0200 x86: Add Moorestown early detection Moorestown MID devices need to be detected early in the boot process to setup and do not call x86_default_early_setup as there is no EBDA region to reserve. [ Copied the minimal code from Jacobs latest MRST series ] Signed-off-by: Thomas Gleixner Cc: Jacob Pan commit 162bc7ab01a00eba1c5d614e64a51e1268ee3f96 Author: Pan, Jacob jun Date: Fri Aug 28 14:52:47 2009 -0700 x86: Add hardware_subarch ID for Moorestown x86 bootprotocol 2.07 has introduced hardware_subarch ID in the boot parameters provided by FW. We use it to identify Moorestown platforms. [ tglx: Cleanup and paravirt fix ] Signed-off-by: Jacob Pan Signed-off-by: Thomas Gleixner commit 47a3d5da70f411bc044ecd3c0593b158b09d0efa Author: Thomas Gleixner Date: Sat Aug 29 15:03:59 2009 +0200 x86: Add early platform detection Platforms like Moorestown require early setup and want to avoid the call to reserve_ebda_region. The x86_init override is too late when the MRST detection happens in setup_arch. Move the default i386 x86_init overrides and the call to reserve_ebda_region into a separate function which is called as the default of a switch case depending on the hardware_subarch id in boot params. This allows us to add a case for MRST and let MRST have its own early setup function. Signed-off-by: Thomas Gleixner commit 8e254c1d183f0225ad21f9049641529e56cce4da Author: Li Zefan Date: Mon Aug 31 16:49:41 2009 +0800 tracing/filters: Defer pred allocation init_preds() allocates about 5392 bytes of memory (on x86_32) for a TRACE_EVENT. With my config, at system boot total memory occupied is: 5392 * (642 + 15) == 3459KB 642 == cat available_events | wc -l 15 == number of dirs in events/ftrace That's quite a lot, so we'd better defer memory allocation util it's needed, that's when filter is used. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Tom Zanussi Cc: Masami Hiramatsu LKML-Reference: <4A9B8EA5.6020700@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 561f732c1233f6bf7c3c5c5fb9b4d90bb6c107aa Author: Frederic Weisbecker Date: Mon Aug 31 06:45:21 2009 +0200 perf tools: Complete support for dynamic strings Complete support for __str_loc type strings of ftrace events which have dynamic offsets values set for each of them inside their sammples. Before: geany-5759 [000] 0.000000: lock_release: name geany-5759 [000] 0.000000: lock_release: name geany-5759 [000] 0.000000: lock_release: name kondemand/0-362 [000] 0.000000: lock_release: name pdflush-421 [000] 0.000000: lock_release: name After: geany-5759 [000] 0.000000: lock_release: &u->lock geany-5759 [000] 0.000000: lock_release: key geany-5759 [000] 0.000000: lock_release: &group->notification_mutex kondemand/0-362 [000] 0.000000: lock_release: &rq->lock pdflush-421 [000] 0.000000: lock_release: &rq->lock Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251693921-6579-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt commit 9b8055a52c8986167e0a7357460d528a00db67e6 Author: Frederic Weisbecker Date: Mon Aug 31 06:45:20 2009 +0200 perf tools: Unify swapper tasks naming In perf tools, we hardcode the pid 0 cmdline resolving to "idle" because the init task is not included in the COMM events. But the idle tasks secondary cpus are resolved into their "init" name through the COMM events. We have then such strange result in perf report (ditto with trace): 19.66% init [kernel] [k] acpi_idle_enter_c1 17.32% [idle] [kernel] [k] acpi_idle_enter_c1 It's then better to unify the swapper tasks into a single init name. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo commit 3a2684ca58e06941ff00e3f096ca44f898a6d13e Author: Frederic Weisbecker Date: Mon Aug 31 06:45:19 2009 +0200 perf tools: Resolve idle thread cmdline for perf trace The cmd-trace tool used the cmdline file and resolved the idle thread using a hardcoded check for the 0 task pid. Now we have a centralized way to do that from perf using register_idle_thread() API. Before: :0-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name :0-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name After: [idle]-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name [idle]-0 [000] 0.000000: irq_handler_entry: irq=0 handler=name Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5b447a6a13ea823b698bf4c01193654fd7ebf4ec Author: Frederic Weisbecker Date: Mon Aug 31 06:45:18 2009 +0200 perf tools: Librarize idle thread registration Librarize register_idle_thread() used by annotate and report. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251693921-6579-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ec7ba4ea1d605029fb09601ab4ad3053bc1f519c Author: Frederic Weisbecker Date: Mon Aug 31 03:32:03 2009 +0200 perf tools: Add missing parameters documentation Add missing documentation for the following parameters: - perf record -R - perf report -g Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <1251682323-10395-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 19c959627a3477a8487d08afd47fdc1f4fea60e5 Merge: 119e7a2 d498bc1 Author: Ingo Molnar Date: Mon Aug 31 10:03:25 2009 +0200 Merge branch 'perfcounters/tracing' into perfcounters/core Merge reason: this topic is ready now to merge into the main development branch for .32, with functional perf trace output. Signed-off-by: Ingo Molnar commit dd0a70c8f921708eba29ef9f30dde1f14a74af05 Author: Thomas Gleixner Date: Thu Aug 20 16:51:07 2009 +0200 x86: Move tsc_init to late_time_init We do not need the TSC before late_time_init. Move the tsc_init to the late time init code so we can also utilize HPET for calibration (which we claimed to do but never did except in some older kernel version). This also helps Moorestown to calibrate the TSC with the AHBT timer which needs to be initialized in late_time_init like HPET. Signed-off-by: Thomas Gleixner commit 2d826404f0bdcac2a4dd7e3c446b70d6a3b63b78 Author: Thomas Gleixner Date: Thu Aug 20 17:06:25 2009 +0200 x86: Move tsc_calibration to x86_init_ops TSC calibration is modified by the vmware hypervisor and paravirt by separate means. Moorestown wants to add its own calibration routine as well. So make calibrate_tsc a proper x86_init_ops function and override it by paravirt or by the early setup of the vmware hypervisor. Signed-off-by: Thomas Gleixner commit 47926214d8b2bef13b2be57c500194a804f16198 Author: Thomas Gleixner Date: Thu Aug 20 16:47:19 2009 +0200 x86: Replace the now identical time_32/64.c by time.c Remove the redundant copy. Signed-off-by: Thomas Gleixner commit ef4512882dbe9978e7a18ccbcb4cb45705ce5560 Author: Thomas Gleixner Date: Fri Aug 21 13:24:08 2009 +0200 x86: time_32/64.c unify profile_pc The code is identical except for the formatting and a useless #ifdef. Make it the same. Signed-off-by: Thomas Gleixner commit 08047c4f1740c7cee75d58e2919d48c09f951649 Author: Thomas Gleixner Date: Thu Aug 20 16:27:41 2009 +0200 x86: Move calibrate_cpu to tsc.c Move the code where it's only user is. Also we need to look whether this hardwired hackery might interfere with perfcounters. Signed-off-by: Thomas Gleixner commit 454ede7eebf91b92ab1eafe10c6b6ed04de29bf8 Author: Thomas Gleixner Date: Thu Aug 20 16:07:40 2009 +0200 x86: Make timer setup and global variables the same in time_32/64.c The timer and timer irq setup code is identical in 32 and 64 bit. Make it the same formatting as well. Also add the global variables under the necessary ifdefs to both files. Signed-off-by: Thomas Gleixner commit 0be6939422eb2f54df4b3d8763c569c6759c1a42 Author: Thomas Gleixner Date: Thu Aug 20 15:59:35 2009 +0200 x86: Remove mca bus ifdef from timer interrupt MCA_bus is constant 0 when CONFIG_MCA=n. So the compiler removes that code w/o needing an extra #ifdef Signed-off-by: Thomas Gleixner commit 64fcbac1f38882d8ae82c44a1c2a676cfa5e79e1 Author: Thomas Gleixner Date: Thu Aug 20 15:54:21 2009 +0200 x86: Simplify timer_ack magic in time_32.c Let the compiler optimize the timer_ack magic away in the 32bit timer interrupt and put the same code into time_64.c. It's optimized out for CONFIG_X86_IO_APIC on 32bit and for 64bit because timer_ack is const 0 in both cases. Signed-off-by: Thomas Gleixner commit dd3e6e8c6e7a2294f137c4dbccb3e73e7fa8ba15 Author: Thomas Gleixner Date: Thu Aug 20 15:35:23 2009 +0200 x86: Prepare unification of time_32/64.c Unify the top comment and the includes. Signed-off-by: Thomas Gleixner commit ecce85089e6d31eed7535b68f5acdd194265690c Author: Thomas Gleixner Date: Thu Aug 20 15:28:50 2009 +0200 x86: Remove do_timer hook This is a left over of the old x86 sub arch support. Remove it and open code it like we do in time_64.c Signed-off-by: Thomas Gleixner commit 845b3944bbdf9e9247849bf037f27ff3a3f26d87 Author: Thomas Gleixner Date: Wed Aug 19 15:37:03 2009 +0200 x86: Add timer_init to x86_init_ops The timer init code is convoluted with several quirks and the paravirt timer chooser. Figuring out which code path is actually taken is not for the faint hearted. Move the numaq TSC quirk to tsc_pre_init x86_init_ops function and replace the paravirt time chooser and the remaining x86 quirk with a simple x86_init_ops function. Signed-off-by: Thomas Gleixner commit 736decac643e8982655e22ac7f0e5e61c5b7f9bd Author: Thomas Gleixner Date: Wed Aug 19 12:35:53 2009 +0200 x86: Move percpu clockevents setup to x86_init_ops paravirt overrides the setup of the default apic timers as per cpu timers. Moorestown needs to override that as well. Move it to x86_init_ops setup and create a separate x86_cpuinit struct which holds the function for the secondary evtl. hotplugabble CPUs. Signed-off-by: Thomas Gleixner commit f1d7062a235d057e5d85ed2860bef609e0160cde Author: Thomas Gleixner Date: Thu Aug 20 13:13:52 2009 +0200 x86: Move xen_post_allocator_init into xen_pagetable_setup_done We really do not need two paravirt/x86_init_ops functions which are called in two consecutive source lines. Move the only user of post_allocator_init into the already existing pagetable_setup_done function. Signed-off-by: Thomas Gleixner commit 030cb6c00d242c20e92a3327d0cac17ce02d0cc3 Author: Thomas Gleixner Date: Thu Aug 20 14:30:02 2009 +0200 x86: Move paravirt pagetable_setup to x86_init_ops Replace more paravirt hackery by proper x86_init_ops. Signed-off-by: Thomas Gleixner commit 6f30c1ac3fcf11e08f00670f293546a112cdf4e3 Author: Thomas Gleixner Date: Thu Aug 20 13:19:57 2009 +0200 x86: Move paravirt banner printout to x86_init_ops Replace another obscure paravirt magic and move it to x86_init_ops. Such a hook is also useful for embedded and special hardware. Signed-off-by: Thomas Gleixner commit 42bbdb43b16d233b2dacb4cd76e28f61c2a86dc6 Author: Thomas Gleixner Date: Thu Aug 20 13:04:10 2009 +0200 x86: Replace ARCH_SETUP by a proper x86_init_ops ARCH_SETUP is a horrible leftover from the old arch/i386 mach support code. It still has a lonely user in xen. Move it to x86_init_ops. Signed-off-by: Thomas Gleixner commit 428cf9025b15573e16e658032f2b963283e34ae0 Author: Thomas Gleixner Date: Thu Aug 20 10:35:46 2009 +0200 x86: Move traps_init to x86_init_ops Replace the quirks by a simple x86_init_ops function. Signed-off-by: Thomas Gleixner commit 66bcaf0bde100a4b54b82fc6fea6ceee2212ffb4 Author: Thomas Gleixner Date: Thu Aug 20 09:59:09 2009 +0200 x86: Move irq_init to x86_init_ops irq_init is overridden by x86_quirks and by paravirts. Unify the whole mess and make it an unconditional x86_init_ops function which defaults to the standard function and can be overridden by the early platform code. Signed-off-by: Thomas Gleixner commit d9112f43021554ded2ef2b9bea5f88ba4b52abe0 Author: Thomas Gleixner Date: Thu Aug 20 09:41:38 2009 +0200 x86: Move pre_intr_init to x86_init_ops Replace the quirk machinery by a x86_init_ops function which defaults to the standard implementation. This is also a preparatory patch for Moorestown support which needs to replace the default init_ISA_irqs as well. Signed-off-by: Thomas Gleixner commit b3f1b617f49447df6c3f5fac9c225aaea8b724ea Author: Thomas Gleixner Date: Thu Aug 20 11:11:52 2009 +0200 x86: Move get/find_smp_config to x86_init_ops Replace the quirk machinery by a x86_init_ops function which defaults to the standard implementation. Signed-off-by: Thomas Gleixner commit fe7e56814cb82eb28698c2a74bdb830ae0592a45 Author: Takashi Iwai Date: Mon Aug 31 08:37:46 2009 +0200 ALSA: hda - Add missing GPIO initialization for AD1984A laptop model A similar initialization of GPIO1 pin like mobile model is needed for laptop model, too. Signed-off-by: Takashi Iwai commit 17bbaa6f600a36930879fd58e4e38a8c25bf9b60 Author: Takashi Iwai Date: Sun Aug 30 12:15:59 2009 +0200 ALSA: hda - Add support of docking auto-mute/mic for AD1984A laptop model Add the support of automatic mute and mic-switching of the docking station HP and mic plugs for AD1984A laptop model for some HP machines. Signed-off-by: Takashi Iwai commit be0ae923a40bbee8a0f02c1cd4b70656e729096f Merge: e9af4f3 a3f730a Author: Takashi Iwai Date: Mon Aug 31 08:27:10 2009 +0200 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_realtek.c commit e9af4f365fee8065c0c1b2389fe10e540dd9d60a Author: Takashi Iwai Date: Sat Aug 29 23:23:08 2009 +0200 ALSA: hda - Fix ALC268/ALC269 headphone pin routing Fix the headphone pin routing of ALC268/ALC269 codecs. Using alc882 routine doesn't work because alc268/alc269 parser assumes the independent DACs for both HP and speaker outputs. Need to assign the DAC depending on the pin. Signed-off-by: Takashi Iwai commit 1279b7f1168ad6a2606191090f8a96eba64766a4 Author: Paul Mundt Date: Mon Aug 31 15:15:33 2009 +0900 sh: Fix up simplified multi-evt handling under sparseirq. This fixes up the simplified multi-evt handling when sparseirq support is enabled. While vectors are redirected through the single unique masking source, each one of the redirected vectors still requires its own backing irq_desc, which needs to be manually allocated in the sparseirq case. Signed-off-by: Paul Mundt commit 2bf2901669a564b402cd0e40eb3f941c391e64c4 Author: Herbert Xu Date: Mon Aug 31 15:56:54 2009 +1000 crypto: api - Do not displace newly registered algorithms We have a mechanism where newly registered algorithms of a higher priority can displace existing instances that use a different implementation of the same algorithm with a lower priority. Unfortunately the same mechanism can cause a newly registered algorithm to displace itself if it depends on an existing version of the same algorithm. This patch fixes this by keeping all algorithms that the newly reigstered algorithm depends on, thus protecting them from being removed. Signed-off-by: Herbert Xu commit 9e39f7c5b311a306977c5471f9e2ce4c456aa038 Author: Joe Perches Date: Tue Aug 25 08:52:00 2009 +0000 s2io: Generate complete messages using single line DBG_PRINTs Single line log messages should be emitted by a single call where possible. Converted multiple calls to DBG_PRINT to single call form. Removed "s2io:" preface from DBG_PRINTs. The DBG_PRINT macro now emits a log level and is surrounded by a do {...} while (0) All s2io log output is now prefaced with KBUILD_MODNAME ": " via pr_fmt. The DBG_PRINT macro should probably be converted to use the dev_ form eventually. Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 82c2d02356229c66daa6b6e51f8da559327b87b0 Author: Joe Perches Date: Mon Aug 24 17:29:48 2009 +0000 s2io.c: Convert skipped nic->config.tx_cfg[i]. to tx_cfg-> Missed doing the conversion in earlier patch. Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit ffb5df6ce776a05eec1fbe4876cc6603c6336140 Author: Joe Perches Date: Mon Aug 24 17:29:47 2009 +0000 s2io.c: Standardize statistics accessors Regularize the declaration and uses of struct config_param *config = &sp->config; struct mac_info *mac_control = &sp->mac_control; and use struct stat_block *stats = mac_control->stats_info; struct swStat *swstats = &stats->sw_stat; struct xpakStat *xstats = &stats->xpak_stat; and convert the longish uses like nic->mac_control.stats_info->sw_stat. to swstats-> etc. This also makes the statistics code marginally smaller and presumably faster. Old: $ size s2io.o text data bss dec hex filename 114289 516 33360 148165 242c5 s2io.o New: $ size s2io.o text data bss dec hex filename 114097 516 33360 147973 24205 s2io.o Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit a2a20aef44da92b1c3b8c86ea069117dc3bc8bd6 Author: Joe Perches Date: Mon Aug 24 17:29:46 2009 +0000 s2io.c: fix spelling explaination Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 6cef2b8eb73f1a8fd7c0ed528091ddc406fef950 Author: Joe Perches Date: Mon Aug 24 17:29:45 2009 +0000 s2io.c: convert printks to pr_ Fixed trivial typo as well Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit d44570e4067aa8b832b1c1e1eb6da079f590d501 Author: Joe Perches Date: Mon Aug 24 17:29:44 2009 +0000 s2io.c: Make more conforming to normal kernel style Still has a few long lines. checkpatch was: total: 263 errors, 53 warnings, 8751 lines checked is: total: 4 errors, 35 warnings, 8767 lines checked Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 44364a035a4f7c5b58fd96b1a90b52746d1aab6b Author: Joe Perches Date: Mon Aug 24 17:29:43 2009 +0000 s2io.c: use kzalloc Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 4f87032021be1aa0c3bb66b0c89d30cb35b57f8f Author: Joe Perches Date: Mon Aug 24 17:29:42 2009 +0000 s2io.c: Use calculated size in kmallocs Use consistent style. Don't calculate the kmalloc size multiple times Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 13d866a9c912d6bc7133f4ef4d536c3a960b06cb Author: Joe Perches Date: Mon Aug 24 17:29:41 2009 +0000 s2io.c: Shorten code line length by using intermediate pointers Repeated variable use and line wrapping is hard to read. Use temp variables instead of direct references. struct fifo_info *fifo = &mac_control->fifos[i]; struct ring_info *ring = &mac_control->rings[i]; struct tx_fifo_config *tx_cfg = &config->tx_cfg[i]; struct rx_ring_config *rx_cfg = &config->rx_cfg[i]; Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit 6fce365df8c4af573ea77e744fe310e034931d42 Author: Joe Perches Date: Mon Aug 24 17:29:40 2009 +0000 s2io.c: Use const for strings Signed-off-by: Joe Perches Acked-by: Sreenivasa Honnur Signed-off-by: David S. Miller commit a453e0689a3ccf85c08cb89753d7685046248c5c Author: Krishna Kumar Date: Sun Aug 30 22:20:28 2009 -0700 pkt_sched: Fix resource limiting in pfifo_fast pfifo_fast_enqueue has this check: if (skb_queue_len(list) < qdisc_dev(qdisc)->tx_queue_len) { which allows each band to enqueue upto tx_queue_len skbs for a total of 3*tx_queue_len skbs. I am not sure if this was the intention of limiting in qdisc. Patch compiled and 32 simultaneous netperf testing ran fine. Also: # tc -s qdisc show dev eth2 qdisc pfifo_fast 0: root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1 Sent 16835026752 bytes 373116 pkt (dropped 0, overlimits 0 requeues 25) rate 0bit 0pps backlog 0b 0p requeues 25 Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 03a9a447d2dab755b22df79b5e205fdbb9b2c851 Author: Krishna Kumar Date: Sat Aug 29 20:21:36 2009 +0000 net: convert remaining non-symbolic return values in dev_queue_xmit Patch compiled and 32 simultaneous netperf testing ran fine. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 7b3d3e4fc685a7d7e0b4c207ce24dfbab5689eb0 Author: Krishna Kumar Date: Sat Aug 29 20:21:21 2009 +0000 netdevice: Consolidate to use existing macros where available. Patch compiled and 32 simultaneous netperf testing ran fine. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 6ca8b990e07914a87fd1f6dfc5507f5e1c4572e2 Author: Oliver Hartkopp Date: Sat Aug 29 06:45:09 2009 +0000 can: use correct NET_RX_ return values Dropped skb's should be documented by an appropriate return value. Use the correct NET_RX_DROP and NET_RX_SUCCESS values for that reason. Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 5de3fcab91b0e1809eec030355d15801daf25083 Author: roel kluin Date: Thu Aug 20 04:04:40 2009 +0000 WAN: bit and/or confusion Fix the tests that check whether Frame* bits are not set Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 2394905f67aeec5f9452f2881cbeb2b42009de0e Author: Anton Vorontsov Date: Thu Aug 27 07:35:57 2009 +0000 ucc_geth: Implement suspend/resume and Wake-On-LAN support This patch implements suspend/resume and WOL support for UCC Ethernet driver. We support two wake up events: wake on PHY/link changes and wake on magic packet. In some CPUs (like MPC8569) QE shuts down during sleep, so magic packet detection is unusable, and also on resume we should fully reinitialize UCC structures. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit bf5aec2e79418adb42f1457152b427fd3d6316d9 Author: Anton Vorontsov Date: Thu Aug 27 07:35:56 2009 +0000 ucc_geth: Remove UGETH_MAGIC_PACKET Kconfig symbol and code This patch removes currently unused UGETH_MAGIC_PACKET Kconfig symbol and code, i.e. magic_packet_detection_{enable,disable} functions. The two functions each contain just two steps that we'll place into suspend/resume code path under CONFIG_PM. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 54b15983840c9eb264e41f3b14af398a72ebd426 Author: Anton Vorontsov Date: Thu Aug 27 07:35:54 2009 +0000 ucc_geth: Factor out MAC initialization steps into a call This patch factors out MAC initialization into ucc_geth_init_mac() function that we'll use for suspend/resume. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit ed24157ede901608e00f28b4897398a373e1e926 Author: Anton Vorontsov Date: Thu Aug 27 07:35:50 2009 +0000 powerpc/qe: Implement qe_alive_during_sleep() helper function In some CPUs (i.e. MPC8569) QE shuts down completely during sleep, drivers may want to know that to reinitialize registers and buffer descriptors. This patch implements qe_alive_during_sleep() helper function, so far it just checks if MPC8569-compatible power management controller is present, which is a sign that QE turns off during sleep. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit e0ad2cd8ff7fb957be867d17d44fb4b7093c91bd Author: Anton Vorontsov Date: Thu Aug 27 07:35:47 2009 +0000 ucc_geth: Fix NULL pointer dereference in uec_get_ethtool_stats() In commit 3e73fc9a12679a546284d597c1f19165792d0b83 ("ucc_geth: Fix IO memory (un)mapping code") I fixed ug_regs IO memory leak by properly freeing the allocated memory. But ethtool_stats() callback doesn't check for ug_regs being NULL, and that causes following oops if 'ethtool -S' is executed on a closed eth device: Unable to handle kernel paging request for data at address 0x00000180 Faulting instruction address: 0xc0208228 Oops: Kernel access of bad area, sig: 11 [#1] ... NIP [c0208228] uec_get_ethtool_stats+0x38/0x140 LR [c02559a0] ethtool_get_stats+0xf8/0x23c Call Trace: [ef87bcd0] [c025597c] ethtool_get_stats+0xd4/0x23c (unreliable) [ef87bd00] [c025706c] dev_ethtool+0xfe8/0x11bc [ef87be00] [c0252b5c] dev_ioctl+0x454/0x6a8 ... ---[ end trace 77fff1162a9586b0 ]--- Segmentation fault This patch fixes the issue. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 2f6dafc5fcbf3fddce345c47da1f277a156fe22a Author: Paul Mundt Date: Mon Aug 31 13:47:06 2009 +0900 sh: unwinder: Fix up uninitialized variable warnings on sh2a build. A couple of these popped up on the sh2a build, causing build failures. Signed-off-by: Paul Mundt commit b9caaabb995c6ff103e2457b9a36930b9699de7c Merge: fc57e51 7e74309 Author: David S. Miller Date: Sun Aug 30 21:30:39 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 commit 3420e74262a7d6496d0ac433d6f61c9972f015f6 Author: Dave Airlie Date: Mon Aug 31 10:33:29 2009 +1000 drm: fix two issues with fb consolidation. Set accel to none, we really don't want anyone thinking fb is an accel interface. Pass pitch not depth to function for intel. Signed-off-by: Dave Airlie commit 3b51096f95633e6ab47675984e8e38fc37b09eeb Author: Alexey Dobriyan Date: Fri Aug 28 22:58:07 2009 +0400 drm: use proc_create_data() airlied: fixup race against drm info by filling out tmp before adding it to proc. Signed-off-by: Alexey Dobriyan Signed-off-by: Dave Airlie commit 882f0219518196a94cd2772004e87b178467139a Author: Zhao Yakui Date: Wed Aug 26 18:20:49 2009 +0800 drm/kms: Parse the detailed time info in CEA-EDID Sometimes we can obtain the EDID with multiple blocks from the display device. For example: HDMI monitor. When the CEA-EDID block is detected, we should also parse the detailed timing info from it. Otherwise we will lose some modes for the display device. The first step is check whether the CEA EDID block is found. If it exists, it will skip the CEA-data block and parse the detailed timing info. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 785b93ef8c309730c2de84ce9c229e40e2d01480 Author: Dave Airlie Date: Fri Aug 28 15:46:53 2009 +1000 drm/kms: move driver specific fb common code to helper functions (v2) Initially I always meant this code to be shared, but things ran away from me before I got to it. This refactors the i915 and radeon kms fbdev interaction layers out into generic helpers + driver specific pieces. It moves all the panic/sysrq enhancements to the core file, and stores a linked list of kernel fbs. This could possibly be improved to only store the fb which has fbcon on it for panics etc. radeon retains some specific codes used for a big endian workaround. changes: fix oops in v1 fix freeing path for crtc_info Reviewed-by: Jesse Barnes Signed-off-by: Dave Airlie commit 7dc482dfeeeefcfd000d4271c4626937406756d7 Author: Ben Hutchings Date: Sun Aug 23 16:59:04 2009 +0100 drm/r128: Add test for initialisation to all ioctls that require it Almost all r128's private ioctls require that the CCE state has already been initialised. However, most do not test that this has been done, and will proceed to dereference a null pointer. This may result in a security vulnerability, since some ioctls are unprivileged. This adds a macro for the common initialisation test and changes all ioctl implementations that require prior initialisation to use that macro. Also, r128_do_init_cce() does not test that the CCE state has not been initialised already. Repeated initialisation may lead to a crash or resource leak. This adds that test. Signed-off-by: Ben Hutchings Signed-off-by: Dave Airlie commit 70967ab9c0c9017645d167d33675eab996633631 Author: Ben Hutchings Date: Sat Aug 29 14:53:51 2009 +0100 radeon: Use request_firmware() Loosely based on a patch by Jaswinder Singh Rajput . KMS support by Dave Airlie . For Radeon 100- to 500-series, firmware blobs look like: struct { __be32 datah; __be32 datal; } cp_ucode[256]; For Radeon 600-series, there are two separate firmware blobs: __be32 me_ucode[PM4_UCODE_SIZE * 3]; __be32 pfp_ucode[PFP_UCODE_SIZE]; For Radeon 700-series, likewise: __be32 me_ucode[R700_PM4_UCODE_SIZE]; __be32 pfp_ucode[R700_PFP_UCODE_SIZE]; Signed-off-by: Ben Hutchings Signed-off-by: Dave Airlie commit 1ae70072f0699916c1a77a9bacad958ee46f7395 Author: Roel Kluin Date: Sat Aug 29 22:20:34 2009 +0200 drm: dereference of tmp in drm_proc_create_files() tmp allocation may fail, prevent a dereference. Signed-off-by: Roel Kluin Signed-off-by: Dave Airlie commit ff846ab7f76ffecba4f0bef026163d2a2364d7d0 Author: Maarten Maathuis Date: Wed Aug 19 00:56:45 2009 +0200 drm/crtc_helper: NULL encoder->crtc when switching encoders - Previously the old encoder would be called during modeset and without a connector bad things happened. Signed-off-by: Maarten Maathuis Signed-off-by: Dave Airlie commit f380ef86916904e4b79f7bec599deb51057b2d0c Author: Maarten Maathuis Date: Wed Aug 19 00:56:44 2009 +0200 drm/crtc_helper: place drm_helper_encoder_in_use() in the header file - The symbol was already exported. Signed-off-by: Maarten Maathuis Signed-off-by: Dave Airlie commit e67aae79f93d9584aaa24d2a2c76383e9d588f98 Author: Maarten Maathuis Date: Thu Aug 27 10:18:29 2009 +0200 drm/crtc_helper: replace modeset fail path with something simpler - The previous system was not very transparent, nor flexible. - This is needed to be able to fix a few bugs in the mechanism. Signed-off-by: Maarten Maathuis Signed-off-by: Dave Airlie commit 689d7c2a1127378854c7d7ea8d7c81238a824240 Author: Dave Airlie Date: Thu Aug 27 11:51:23 2009 +1000 drm/radeon: cleanup mkregtable.c This cleans up the code in mkregtable.c to be more kernel style. Signed-off-by: Dave Airlie commit e500011ffa191d662ac64d4ada6a5187b3180e16 Author: Randy Dunlap Date: Sun Aug 30 13:19:12 2009 -0700 timers: Drop a function prototype Drop prototype for non-existent next_timer_interrupt() function. Signed-off-by: Randy Dunlap Cc: akpm LKML-Reference: <4A9ADEC0.70306@oracle.com> Signed-off-by: Thomas Gleixner commit 903b9124eae00edf8a9d6491dab60fcda777aabd Author: Julia Lawall Date: Sun Aug 30 11:30:48 2009 -0700 Input: w90p910_keypad - move a dereference below a NULL test We should first check whether platform data is NULL or not, before dereferencing it to get the keymap. Signed-off-by: Julia Lawall Signed-off-by: Dmitry Torokhov commit 23386d63bbb3199cf247313ec088878d72debcfd Author: Michal Schmidt Date: Sat Aug 29 18:27:18 2009 +0200 x86: Detect stack protector for i386 builds on x86_64 Stack protector support was not detected when building with ARCH=i386 on x86_64 systems: arch/x86/Makefile:80: stack protector enabled but no compiler support The "-m32" argument needs to be passed to the detection script. Signed-off-by: Michal Schmidt Cc: Tejun Heo Cc: Jeremy Fitzhardinge Cc: Arjan van de Ven LKML-Reference: <20090829182718.10f566b1@leela> Signed-off-by: Ingo Molnar -- commit 8211a7b5857914058c52ae977c96463e419b37ab Author: Troy Heber Date: Wed Aug 19 15:26:11 2009 -0600 pci/dmar: correct off-by-one error in dmar_fault() DMAR faults are recorded into a ring of "fault recording registers". fault_index is a 0-based index into the ring. The code allows the 0-based fault_index to be equal to the total number of fault registers available from the cap_num_fault_regs() macro, which causes access beyond the last available register. Signed-off-by Troy Heber Signed-off-by: David Woodhouse commit acdfcd04d9df7d084ff752f82afad6ed4ad5f363 Author: Aaro Koskinen Date: Fri Aug 28 14:28:54 2009 +0300 SLUB: fix ARCH_KMALLOC_MINALIGN cases 64 and 256 If the minalign is 64 bytes, then the 96 byte cache should not be created because it would conflict with the 128 byte cache. If the minalign is 256 bytes, patching the size_index table should not result in a buffer overrun. The calculation "(i - 1) / 8" used to access size_index[] is moved to a separate function as suggested by Christoph Lameter. Acked-by: Christoph Lameter Signed-off-by: Aaro Koskinen Signed-off-by: Pekka Enberg commit 125ec616f4f06565914123614e7287e9a490f2d9 Author: Chen Liqin Date: Sun Aug 30 12:36:41 2009 +0800 score: make init_thread_union align to THREAD_SIZE commit 798983b2d5f9985655ca22a7a8c504b821e3f4e0 Author: Chen Liqin Date: Sun Aug 30 12:34:08 2009 +0800 score: update files according to review comments. commit cf52c468352993ca420fe0b4ada976dc1f614026 Author: Chen Liqin Date: Sun Aug 30 12:33:30 2009 +0800 score: add old syscall support commit 324f40fbb02ed9339ddbdc450ff8ba614a92a630 Author: Chen Liqin Date: Sun Aug 30 12:31:58 2009 +0800 score: add MEMORY_START and MEMORY_SIZE define, to make the code clear commit ffa818b4b099f65b6cb74750bdb979061716e020 Author: Chen Liqin Date: Sun Aug 30 12:30:16 2009 +0800 score: update inconsistent declare after .c was changed commit d8aa899bb27ad7879ab9e621365e04ada2745a65 Author: Chen Liqin Date: Sun Aug 30 12:26:32 2009 +0800 score: remove unused code, add include files in .c commit 4a703a8fe562824f269943d995ddff35077253a9 Author: Dmitry Torokhov Date: Sat Aug 29 23:03:16 2009 -0400 ACPI: video - rename cdev to cooling_dev -- syntax only Cdev name is normally used for ether class devices or character devices so rename member to avoid confusion for casual reader of the code. Signed-off-by: Dmitry Torokhov Signed-off-by: Len Brown commit 4b4fe3b62e8d88068083218d3e42c45223b51d29 Author: Dmitry Torokhov Date: Sat Aug 8 00:26:25 2009 -0700 ACPI: video - fix potential crash when unloading thermal_cooling_device_register() returns error encoded in a pointer when it fails in which case we need to explictly set device->cdev to NULL so we don't try to unregister it when unloading. Signed-off-by: Dmitry Torokhov Acked-by: Zhang Rui Signed-off-by: Len Brown commit eb0ca849863ecdc593ba7faa95fda5695af891c8 Author: Len Brown Date: Sat Aug 29 22:39:06 2009 -0400 ACPI: sleep: another HP DMI entry for init_set_sci_en_on_resume DMI_MATCH(DMI_PRODUCT_NAME, "HP Pavilion dv3 Notebook PC") http://bugzilla.kernel.org/show_bug.cgi?id=13745 Signed-off-by: Len Brown commit d27eadc7612404b06f99888c02726ab7d5036e0f Merge: adda766 fbd85b0 Author: Chen Liqin Date: Sun Aug 30 10:26:23 2009 +0800 Merge branch 'score' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic into for-linus * 'score' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic: score: clean up mm/init.c score: make irq.h definitions local score: cleanups: dead code, 0 as pointer, shadowed variables score: fix function prototypes score: add address space annotations score: add missing #includes score: move save arg5 and arg6 instruction in front of enable_irq score: add prototypes for wrapped syscalls score: remove init_mm score: add generic sys_call_table score: remove __{put,get}_user_unknown score: unset __ARCH_WANT_IPC_PARSE_VERSION score: update files according to review comments score: add maintainers for score architecture score: Add support for Sunplus S+core architecture commit f25752e67d9d9ee7562ae9944314dd8c057d3fa2 Author: Alexey Starikovskiy Date: Fri Aug 28 23:29:51 2009 +0400 ACPI: EC: Drop orphan comment Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 6a63b06f3c494cc87eade97f081300bda60acec7 Author: Alexey Starikovskiy Date: Fri Aug 28 23:29:44 2009 +0400 ACPI: EC: use BURST mode only for MSI notebooks Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 2a84cb9852f52c0cd1c48bca41a8792d44ad06cc Author: Alexey Starikovskiy Date: Sun Aug 30 03:06:14 2009 +0400 ACPI: EC: Merge IRQ and POLL modes In general, EC transaction should complete in less than 1ms, thus it is possible to merge wait for 1ms in poll mode and 1ms of interrupt transaction timeout. Still, driver will wait 500ms for EC to complete transaction. This significantly simplifies driver and makes it immune to problematic EC interrupt implementations. It also may lessen kernel start-up time by 500ms. References: http://bugzilla.kernel.org/show_bug.cgi?id=12949 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit bc76f90b8a5cf4aceedf210d08d5e8292f820cec Author: Hector Martin Date: Thu Aug 6 15:57:48 2009 -0700 ACPI battery: work around negative s16 battery current on Acer Acer Aspire 8930G laptops (and possibly others) report the battery current as a 16-bit signed negative when it is charging. It also reports it as 0x10000 when the current is 0. This patch adds a quirk for this which takes the absolute value of the reported current cast to an s16. This is a DSDT bug present in the latest BIOS revision (the EC register is 16 bits signed and the DSDT attempts to take the 16-bit two's complement of this, which works for discharge but not charge. It also breaks zero values because a 32-bit register is used and the high bits aren't thrown away). I've enabled this for all Acer systems which report in mA units. This should be safe since it won't break compliant systems unless they report a current above 32A, which is insane. The patch also detects the valid 32-bit value -1, which indicates unknown status, and does not attempt the fix in that case (note that this does not conflict with 16-bit -1, which is 65535 as read normally and gets translated to 1mA). Signed-off-by: Hector Martin Acked-by: Alexey Starikovskiy Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit b05ab1dc3795e6f997fb0d34f38fce5012533c3e Author: Theodore Ts'o Date: Sat Aug 29 21:08:08 2009 -0400 ext4: Limit number of links that can be created by ext4_link() In ext4_link we need to check using EXT4_LINK_MAX, and not EXT4_DIR_LINK_MAX(), since ext4_link() is creating hard links of regular files, and not directories. Signed-off-by: "Theodore Ts'o" commit fc57e515a2c02599b00d252545521288dfc0158a Author: Matt Carlson Date: Fri Aug 28 14:03:44 2009 +0000 tg3: Update version to 3.101 This patch updates the tg3 version to 3.101. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit f3f3f27e5b4e27737f824535e6f145a3c88b976c Author: Matt Carlson Date: Fri Aug 28 14:03:21 2009 +0000 tg3: Move per-int tx members to a per-int struct This patch moves the tx_prod, tx_cons, tx_pending, tx_ring, and tx_buffers transmit ring device members to a per-interrupt structure. It also adds a new transmit producer mailbox member (prodmbox) and converts the code to use it rather than a preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 723344820aa405ac2663ab9e36fd27833d06129b Author: Matt Carlson Date: Fri Aug 28 14:03:01 2009 +0000 tg3: Move per-int rx members to per-int struct This patch moves the rx_rcb, rx_rcb_mapping, and rx_rcb_ptr return ring device members to a per-interrupt structure. It also adds a new return ring consumer mailbox register member (consmbox) and converts the code to use it rather than a preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 898a56f8d8170c188e47ae3acb90d2ea9a585ebe Author: Matt Carlson Date: Fri Aug 28 14:02:40 2009 +0000 tg3: Move general int members to a per-int struct This patch moves the last_tag, last_tag_irq, and hw_status device members to a per-interrupt structure. It also adds a new interrupt mailbox member (int_mbox) and converts the code to use it rather than a direct preprocessor constant. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 17375d25d3dcd3d4caf9456fa94f60e29d6b1146 Author: Matt Carlson Date: Fri Aug 28 14:02:18 2009 +0000 tg3: Convert napi handlers to use tnapi This patch converts the napi interrupt handler functions to accept and use tg3_napi structures. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 09943a1819a240ff4a72f924d0038818fcdd0a90 Author: Matt Carlson Date: Fri Aug 28 14:01:57 2009 +0000 tg3: Convert ISR parameter to tnapi This patch migrates the ISR parameter from struct net_device to struct tg3_napi. Checkpatch complains about the existence of the preexisting IRQF_SAMPLE_RANDOM flag. I've opted to keep this patch conservative and let it continue to exist until the flag gets officially purged from the kernel. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8ef0442f98850333196bc56415192e52a6267878 Author: Matt Carlson Date: Fri Aug 28 14:01:37 2009 +0000 tg3: Move napi to per-int struct This patch creates a per-interrupt data structure, moves the napi member over, and creates a tg3 pointer back to the device structure. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 07b0173cb5d6a9d77646cd855066ebe90b9203f2 Author: Matt Carlson Date: Fri Aug 28 14:01:15 2009 +0000 tg3: Cleanup interrupt setup / teardown Later patches will be adding MSIX support, which will complicate interrupt initialization. This patch prepares for the integration by breaking out the interrupt setup and teardown code into separate functions and cleaning up the error return paths. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 79ed5ac7ddd5f8d6463f5a17b3575772e9896481 Author: Matt Carlson Date: Fri Aug 28 14:00:55 2009 +0000 tg3: Use ext rx bds The 5717 only uses extended buffer descriptors for the jumbo producer ring. Extended buffer descriptors are available on all devices that support a separate jumbo producer ring so make the change universal. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 21f581a5366d48d86b9ae86043fc61d44e992c0c Author: Matt Carlson Date: Fri Aug 28 14:00:25 2009 +0000 tg3: Create a new prodring_set structure This patch migrates most of the rx producer ring variables to a new tg3_rx_prodring_set structure and modifies the code accordingly. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit cf7a7298c4f47ab7546b933bb54ad3ea03a1daf6 Author: Matt Carlson Date: Fri Aug 28 13:59:57 2009 +0000 tg3: Create rx producer ring setup routines Later patches are going to complicate the ring initialization routines. This patch breaks out the setup and teardown of the rx producer rings into separate functions to make the code more readable. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 287be12e1774d842bff21ea0c1809c2387d7b310 Author: Matt Carlson Date: Fri Aug 28 13:58:46 2009 +0000 tg3: Clarify rx buffer relationships This patch attempts to document the various rx buffer sizes used by the driver and how they relate to each other. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8f666b07ac53eeedd6c035adf6d4299f9ed0df2d Author: Matt Carlson Date: Fri Aug 28 13:58:24 2009 +0000 tg3: Move the JUMBO_CAPABLE and SUPPORT_MSI flags This patch moves where the jumbo capable and msi support flags are located. This is prep work for the addition of msix support flags. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit fdb72b38c94c0ead1f78ecc8db64b832feda22c3 Author: Matt Carlson Date: Fri Aug 28 13:57:12 2009 +0000 tg3: Break out mini producer ring handling This patch separates the code that sets up the mini producer ring from the code that sets up the jumbo producer rings. The 5717 asic rev devices do not have a mini ring, but do have a jumbo frame implementation similar to the 5704 and previous devices. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 8590a603e5e20ccf49d6cf0ea71ecf5388d1f9da Author: Matt Carlson Date: Fri Aug 28 12:29:16 2009 +0000 tg3: Reformat NVRAM case statements This patch fixes up the NVRAM detection switch statements to conform to the kernel coding style. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 2befdcea96fcd9a13e94373c66ea1dd7365d2a74 Author: Matt Carlson Date: Fri Aug 28 12:28:45 2009 +0000 tg3: Add new 5785 10/100 only device ID This patch adds a new device ID for those 5785 devices that will only use 10/100 phys. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 0a9140cff22e405fce1747a2e02d41851c36c55a Author: Matt Carlson Date: Fri Aug 28 12:27:50 2009 +0000 tg3: Delay mdio bus init until fw finishes The device firmware uses the MDIO bus during early setup. If the driver modifies the MDIO bus configuration while it is in use by the firmware, any number of bad things can happen. This patch delays MDIO setup until after the firmware posts its magic signature, signifying initialization is complete. Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 4e231fa4cbd3ff53fcb7d76eccd6fd86a152a95f Author: Vladimir Serbinenko Date: Wed Jun 24 15:17:36 2009 +0800 ACPI video: ignore buggy _BQC _BQC doesn't return a value listed in _BCL method. http://bugzilla.kernel.org/show_bug.cgi?id=13511 ingore the buggy _BQC method in this case Signed-off-by: Vladimir Serbinenko Signed-off-by: Scott Howard Acked-by: Zhang Rui Signed-off-by: Len Brown commit 138d15692bf76841f252d4b836a535cf5f9154e9 Author: Alexey Starikovskiy Date: Fri Aug 28 23:29:38 2009 +0400 ACPICA: Don't switch task then not allowed Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 52cc96bd5b61775db2792780c610979fc02313eb Author: Alan Jenkins Date: Sat Aug 29 10:28:31 2009 +0200 eeepc-laptop: allow rfkill hotplug to work on the 900A model The 900A provides hotplug notifications on a different ACPI object to other models. Reported-by: Trevor Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit a8258069793609903b5ebf0bca3320249154c379 Author: Alan Jenkins Date: Sat Aug 29 10:28:30 2009 +0200 eeepc-laptop: fix rfkill memory leak on unload rfkill_unregister() should always be followed by rfkill_destroy() Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit be96666065fd36ccfa09a13903d31d7ff5f4ef91 Author: Corentin Chary Date: Sat Aug 29 10:28:29 2009 +0200 asus-laptop: Fix coding style for comments Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 70590ea75b7f9ef4846b0b0f4400e8338dbcc7eb Author: Yinghai Lu Date: Wed Aug 26 16:21:54 2009 -0700 pci/intr_remapping: Allocate irq_iommu on node make it use the node from irq_desc. Signed-off-by: Yinghai Lu Acked-by: Jesse Barnes Cc: Andrew Morton LKML-Reference: <4A95C392.5050903@kernel.org> Signed-off-by: Ingo Molnar commit 5bfb5b51382f4bd01d9ced11503264d2cc74fe41 Author: Yinghai Lu Date: Wed Aug 26 16:20:48 2009 -0700 irq: Add irq_node() primitive ... to return irq_desc node info without #ifdefs at the callsites. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes LKML-Reference: <4A95C350.8060308@kernel.org> Signed-off-by: Ingo Molnar commit 372e24b0cb764ec55b4cf3408a95ae40a29e5b96 Author: Yinghai Lu Date: Wed Aug 26 16:20:13 2009 -0700 irq: Make sure irq_desc for legacy irq get correct node setting when there is no ram on node 0. Signed-off-by: Yinghai Lu Cc: Andrew Morton Cc: Jesse Barnes LKML-Reference: <4A95C32D.5040605@kernel.org> Signed-off-by: Ingo Molnar commit 84e9dabf6e6a78928c6a1a8ba235c9fb0908d0f8 Author: Anirban Sinha Date: Fri Aug 28 22:40:43 2009 -0700 sched: Rename init_cfs_rq => init_tg_cfs_rq ... so that it does not share a common name with a function within the same scope. Signed-off-by: Anirban Sinha LKML-Reference: Signed-off-by: Ingo Molnar commit 47d25003cbd9e9030a95f7ccc4e70fec6aa7b844 Author: Jan Beulich Date: Fri Aug 28 14:11:57 2009 +0100 x86: Fix earlyprintk=dbgp for machines without NX Since parse_early_param() may (e.g. for earlyprintk=dbgp) involve calls to page table manipulation functions (here set_fixmap_nocache()), NX hardware support must be determined before calling that function (so that __supported_pte_mask gets properly set up). But the call after parse_early_param() can also not go away, as that will honor eventual command line specified disabling of the NX functionality. ( This will then just result in whatever mappings got established during parse_early_param() having the NX bit set despite it being disabled on the command line, but I think that's tolerable). Signed-off-by: Jan Beulich Cc: Yinghai Lu LKML-Reference: <4A97F3BD02000078000121B9@vpn.id2.novell.com> [ merged to x86/pat to resolve a conflict. ] Signed-off-by: Ingo Molnar commit 868489660dabc0c28087cca3dbc1adbbc398c6fe Author: Paul E. McKenney Date: Thu Aug 27 15:00:12 2009 -0700 rcu: Changes from reviews: avoid casts, fix/add warnings, improve comments Changes suggested by review comments from Josh Triplett and Mathieu Desnoyers. Signed-off-by: Paul E. McKenney Acked-by: Josh Triplett Acked-by: Mathieu Desnoyers Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090827220012.GA30525@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit dd5d19bafd90d33043a4a14b2e2d98612caa293c Author: Paul E. McKenney Date: Thu Aug 27 14:58:16 2009 -0700 rcu: Create rcutree plugins to handle hotplug CPU for multi-level trees When offlining CPUs from a multi-level tree, there is the possibility of offlining the last CPU from a given node when there are preempted RCU read-side critical sections that started life on one of the CPUs on that node. In this case, the corresponding tasks will be enqueued via the task_struct's rcu_node_entry list_head onto one of the rcu_node's blocked_tasks[] lists. These tasks need to be moved somewhere else so that they will prevent the current grace period from ending. That somewhere is the root rcu_node. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090827215816.GA30472@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 3f0a525ebf4b8ef041a332bbe4a73aee94bb064b Author: Xiao Guangrong Date: Mon Aug 10 10:52:30 2009 +0800 itimers: Add tracepoints for itimer Add tracepoints for all itimer variants: ITIMER_REAL, ITIMER_VIRTUAL and ITIMER_PROF. [ tglx: Fixed comments and made the output more readable, parseable and consistent. Replaced pid_vnr by pid_nr because the hrtimer callback can happen in any namespace ] Signed-off-by: Xiao Guangrong Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Mathieu Desnoyers Cc: Anton Blanchard Cc: Peter Zijlstra Cc: KOSAKI Motohiro Cc: Zhaolei LKML-Reference: <4A7F8B6E.2010109@cn.fujitsu.com> Signed-off-by: Thomas Gleixner commit c6a2a1770245f654f35f60e1458d4356680f9519 Author: Xiao Guangrong Date: Mon Aug 10 10:51:23 2009 +0800 hrtimer: Add tracepoint for hrtimers Add tracepoints which cover the life cycle of a hrtimer. The tracepoints are integrated with the already existing debug_object debug points as far as possible. [ tglx: Fixed comments, made output conistent, easier to read and parse. Fixed output for 32bit archs which do not use the scalar representation of ktime_t. Hand current time to trace_hrtimer_expiry_entry instead of calling get_time() inside of the trace assignment. ] Signed-off-by: Xiao Guangrong Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Mathieu Desnoyers Cc: Anton Blanchard Cc: Peter Zijlstra Cc: KOSAKI Motohiro Cc: Zhaolei LKML-Reference: <4A7F8B2B.5020908@cn.fujitsu.com> Signed-off-by: Thomas Gleixner commit 2b022e3d4bf9885f781221c59d86283a2cdfc2ed Author: Xiao Guangrong Date: Mon Aug 10 10:48:59 2009 +0800 timers: Add tracepoints for timer_list timers Add tracepoints which cover the timer life cycle. The tracepoints are integrated with the already existing debug_object debug points as far as possible. Based on patches from Mathieu: http://marc.info/?l=linux-kernel&m=123791201816247&w=2 and Anton: http://marc.info/?l=linux-kernel&m=124331396919301&w=2 [ tglx: Fixed timeout value in timer_start tracepoint, massaged comments and made the printk's more readable ] Signed-off-by: Xiao Guangrong Cc: Anton Blanchard Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Mathieu Desnoyers Cc: Peter Zijlstra Cc: KOSAKI Motohiro Cc: Zhaolei LKML-Reference: <4A7F8A9B.3040201@cn.fujitsu.com> Signed-off-by: Thomas Gleixner commit 4aa5ac4ef44dd8c986241c54298abd7910b78b3f Author: Matt Fleming Date: Fri Aug 28 21:37:20 2009 +0000 sh: Only shout about fixing up unexpected unaligned accesses Some unaligned accesses are completely expected. For example, the trapped_io code uses the unaligned access fixup code path so there's no need to warn about having to fixup the unaligned access. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit a417887637e862b434b293404f2a31ad1f282a58 Author: Ming Lei Date: Sat Aug 29 18:47:59 2009 +0800 lockdep: Remove recursion stattistics Since lockdep has introduced BFS to avoid recursion, statistics for recursion does not make any sense now. So remove them. Signed-off-by: Ming Lei Cc: a.p.zijlstra@chello.nl LKML-Reference: <1251542879-5211-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 73222acf966792c7fda219724af963339be32e62 Merge: 0dd7b74 5d4a9db Author: Ingo Molnar Date: Sat Aug 29 13:06:05 2009 +0200 Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit f71bb0ac5e85410601b0db29d7b1635345ea61a4 Merge: 7285dd7 a42548a Author: Thomas Gleixner Date: Sat Aug 29 10:34:18 2009 +0200 Merge branch 'timers/posixtimers' into timers/tracing Merge reason: timer tracepoint patches depend on both branches Signed-off-by: Thomas Gleixner commit a367b17f34e1280270a6b577c11d5ecff093f9ae Author: Steffen Klassert Date: Sat Aug 29 17:36:25 2009 +1000 crypto: ansi_cprng - Fix module initialization Return the value we got from crypto_register_alg() instead of returning 0 in any case. Signed-off-by: Steffen Klassert Acked-by: Neil Horman Signed-off-by: Herbert Xu commit eebc57f73d42095b778e899f6aa90ad050c72655 Merge: d3a247b 2a4ab64 Author: Ingo Molnar Date: Sat Aug 29 09:30:41 2009 +0200 Merge branch 'for-ingo' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6 into x86/apic Merge reason: the SFI (Simple Firmware Interface) feature in the ACPI tree needs this cleanup, pull it into the APIC branch as well so that there's no interactions. Signed-off-by: Ingo Molnar commit b3df9a514f3c2020952cff34bc5bc6694a31c00c Author: roel kluin Date: Thu Aug 27 02:03:15 2009 +0000 tipc: fix test of bearer_priority range in tipc_register_media() For the bearer_priority to be less than TIPC_MIN_LINK_PRI and greater than TIPC_MAX_LINK_PRI is logically impossible. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit ea00b8e2223170a842bee06e0f27754ccdf2a217 Author: Alexey Dobriyan Date: Fri Aug 28 09:57:21 2009 +0000 can: switch to seq_file create_proc_read_entry() is going to be removed soon. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 4923576b8ac5bfd36ab2beb176aeb747aaab7e41 Author: Yoshihiro Shimoda Date: Thu Aug 27 23:25:03 2009 +0000 net: sh_eth: add value of ether_link pin in platform_data The method of ETHER_LINK pin is board dependence. This patch adding paramters are: - no_ether_link : If set to 1, do not use ETHER_LINK - ether_link_active_low : If set to 1, ETHER_LINK is active low. Signed-off-by: Yoshihiro Shimoda Signed-off-by: David S. Miller commit 2db9517ef3dd48790c02a531e2b0db1957afd891 Author: Rajashekhara, Sudhakar Date: Wed Aug 19 10:39:55 2009 +0000 TI DaVinci EMAC: delay DaVinci EMAC initialization On TI's DA850/OMAP-L138 EVM, MAC address is stored in SPI flash which is accessed using MTD interface. This patch delays the initialization of DaVinci EMAC driver by changing module_init to late_initcall. This helps SPI and MTD drivers to get initialized before EMAC thereby enabling EMAC driver to read the MAC address while booting and use it. Tested with NFS on DM644x, DM6467, DA830/OMAP-L137 and DA850/OMAP-L138 EVMs. Signed-off-by: Sudhakar Rajashekhara Reviewed-by: Chaithrika U S Signed-off-by: Kevin Hilman Signed-off-by: David S. Miller commit 38edb5b87ea26314cb6ad4524c3f3b0fea0e33de Author: Krzysztof Halasa Date: Wed Aug 19 23:56:20 2009 +0000 WAN/LMC: Fix type_trans(). Fix lmc_proto_type() invocation. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit 8a27f7c90ffcb791eed7574922b51fb60b08fc89 Author: Joe Perches Date: Mon Aug 17 12:29:44 2009 +0000 lib/vsprintf.c: Add "%pI6c" - print pointer as compressed ipv6 address Signed-off-by: Joe Perches Tested-by: Jens Rosenboom Signed-off-by: David S. Miller commit 9a7030b76ab3c2b23b1629c49b6df33fb5aed305 Author: John Dykstra Date: Wed Aug 19 09:47:41 2009 +0000 tcp: Remove redundant copy of MD5 authentication key Remove the copy of the MD5 authentication key from tcp_check_req(). This key has already been copied by tcp_v4_syn_recv_sock() or tcp_v6_syn_recv_sock(). Signed-off-by: John Dykstra Signed-off-by: David S. Miller commit fd3ae5e8fc5e947a9f151e80a65763a24b6368a9 Author: Krishna Kumar Date: Tue Aug 18 21:55:59 2009 +0000 Speed-up pfifo_fast lookup using a private bitmap Maintain a per-qdisc bitmap for pfifo_fast giving availability of skbs for each band. This allows faster lookup for a skb when there are no high priority skbs. Also, it helps in (rare) cases when there are no skbs on the list, where an immediate lookup is faster than iterating through the three bands. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 31ce8c71a3bdab12debb5899b1f6dac13e54c71d Author: David Ward Date: Sat Aug 29 00:04:09 2009 -0700 ipv6: Update Neighbor Cache when IPv6 RA is received on a router When processing a received IPv6 Router Advertisement, the kernel creates or updates an IPv6 Neighbor Cache entry for the sender -- but presently this does not occur if IPv6 forwarding is enabled (net.ipv6.conf.*.forwarding = 1), or if IPv6 Router Advertisements are not accepted (net.ipv6.conf.*.accept_ra = 0), because in these cases processing of the Router Advertisement has already halted. This patch allows the Neighbor Cache to be updated in these cases, while still avoiding any modification to routes or link parameters. This continues to satisfy RFC 4861, since any entry created in the Neighbor Cache as the result of a received Router Advertisement is still placed in the STALE state. Signed-off-by: David Ward Signed-off-by: David S. Miller commit 078b0735881c7969aaf21469f3577831cddd9f8c Author: Michael Chan Date: Sat Aug 29 00:02:46 2009 -0700 bnx2: Update firmware to 5.0.0.j3. - Better small packet receive performance. - Better handling of Flow control on 5709. - Fixed iSCSI TMP ABORT TASK problem. - Added iSCSI TCP timestamp option. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 80a1096bac73ce6e98dbbce10cc00a154460bcbd Author: Octavian Purdila Date: Sat Aug 29 00:00:35 2009 -0700 tcp: fix premature termination of FIN_WAIT2 time-wait sockets There is a race condition in the time-wait sockets code that can lead to premature termination of FIN_WAIT2 and, subsequently, to RST generation when the FIN,ACK from the peer finally arrives: Time TCP header 0.000000 30755 > http [SYN] Seq=0 Win=2920 Len=0 MSS=1460 TSV=282912 TSER=0 0.000008 http > 30755 aSYN, ACK] Seq=0 Ack=1 Win=2896 Len=0 MSS=1460 TSV=... 0.136899 HEAD /1b.html?n1Lg=v1 HTTP/1.0 [Packet size limited during capture] 0.136934 HTTP/1.0 200 OK [Packet size limited during capture] 0.136945 http > 30755 [FIN, ACK] Seq=187 Ack=207 Win=2690 Len=0 TSV=270521... 0.136974 30755 > http [ACK] Seq=207 Ack=187 Win=2734 Len=0 TSV=283049 TSER=... 0.177983 30755 > http [ACK] Seq=207 Ack=188 Win=2733 Len=0 TSV=283089 TSER=... 0.238618 30755 > http [FIN, ACK] Seq=207 Ack=188 Win=2733 Len=0 TSV=283151... 0.238625 http > 30755 [RST] Seq=188 Win=0 Len=0 Say twdr->slot = 1 and we are running inet_twdr_hangman and in this instance inet_twdr_do_twkill_work returns 1. At that point we will mark slot 1 and schedule inet_twdr_twkill_work. We will also make twdr->slot = 2. Next, a connection is closed and tcp_time_wait(TCP_FIN_WAIT2, timeo) is called which will create a new FIN_WAIT2 time-wait socket and will place it in the last to be reached slot, i.e. twdr->slot = 1. At this point say inet_twdr_twkill_work will run which will start destroying the time-wait sockets in slot 1, including the just added TCP_FIN_WAIT2 one. To avoid this issue we increment the slot only if all entries in the slot have been purged. This change may delay the slots cleanup by a time-wait death row period but only if the worker thread didn't had the time to run/purge the current slot in the next period (6 seconds with default sysctl settings). However, on such a busy system even without this change we would probably see delays... Signed-off-by: Octavian Purdila Signed-off-by: David S. Miller commit 80b71b80df14d885f7e50e115c1348398f418759 Author: Jens Låås Date: Fri Aug 28 23:57:15 2009 -0700 fib_trie: resize rework Here is rework and cleanup of the resize function. Some bugs we had. We were using ->parent when we should use node_parent(). Also we used ->parent which is not assigned by inflate in inflate loop. Also a fix to set thresholds to power 2 to fit halve and double strategy. max_resize is renamed to max_work which better indicates it's function. Reaching max_work is not an error, so warning is removed. max_work only limits amount of work done per resize. (limits CPU-usage, outstanding memory etc). The clean-up makes it relatively easy to add fixed sized root-nodes if we would like to decrease the memory pressure on routers with large routing tables and dynamic routing. If we'll need that... Its been tested with 280k routes. Work done together with Robert Olsson. Signed-off-by: Jens Låås Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 8945a808f7d5efd21fa9fb6055d2dd7887bdd9d8 Author: Sascha Hlusiak Date: Fri Aug 28 23:53:53 2009 -0700 sit: allow ip fragmentation when using nopmtudisc to fix package loss if tunnel parameters have frag_off set to IP_DF, pmtudisc on the ipv4 link will be performed by deriving the mtu from the ipv4 link and setting the DF-Flag of the encapsulating IPv4 Header. If fragmentation is needed on the way, the IPv4 pmtu gets adjusted, the ipv6 package will be resent eventually, using the new and lower mtu and everyone is happy. If the frag_off parameter is unset, the mtu for the tunnel will be derived from the tunnel device or the ipv6 pmtu, which might be higher than the ipv4 pmtu. In that case we must allow the fragmentation of the IPv4 packet because the IPv6 mtu wouldn't 'learn' from the adjusted IPv4 pmtu, resulting in frequent icmp_frag_needed and package loss on the IPv6 layer. This patch allows fragmentation when tunnel was created with parameter nopmtudisc, like in ipip/gre tunnels. Signed-off-by: Sascha Hlusiak Signed-off-by: David S. Miller commit 30038fc61adfdab162b1966e34261f06eda67f02 Author: Eric Dumazet Date: Fri Aug 28 23:52:01 2009 -0700 net: ip_rt_send_redirect() optimization While doing some forwarding benchmarks, I noticed ip_rt_send_redirect() is rather expensive, even if send_redirects is false for the device. Fix is to avoid two atomic ops, we dont really need to take a reference on in_dev Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit df19a6267705456f463871ae2aabc44299909d2a Author: Eric Dumazet Date: Fri Aug 28 23:48:54 2009 -0700 tcp: keepalive cleanups Introduce keepalive_probes(tp) helper, and use it, like keepalive_time_when(tp) and keepalive_intvl_when(tp) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 5e9b2dbfcbc9b180a0064d8a473a4652ee99c9ad Author: Michael Chan Date: Wed Aug 26 09:49:23 2009 +0000 cnic: Put uio init in separate function. This will allow the 10G iSCSI code to reuse the function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit ec0248ea35f6e1fc7426f377a7df071d997bdedd Author: Michael Chan Date: Wed Aug 26 09:49:22 2009 +0000 cnic: Put rx/tx ring allocation in separate function. This will allow the 10G iSCSI code to reuse the function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3d1427f87002735aa54c370558e0c2bacc61f31e Author: Eric Dumazet Date: Fri Aug 28 23:45:21 2009 -0700 ipv4: af_inet.c cleanups Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 2975315b79f4109523b3d43932f57ed8370b9da3 Author: Alexey Dobriyan Date: Fri Aug 28 23:34:43 2009 -0700 pktgen: use proc_create_data() It looks like after rename device proc entry is unusable, because of no ->read_proc or ->proc_fops. And create_proc_entry() is deprecated. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit c3d2f52dd40b5b6c122329dac32dc0e0351f0598 Author: Stephen Hemminger Date: Thu Aug 27 13:55:20 2009 +0000 pktgen: increase version Increase module version, and cleanup module info. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 63adc6fb8ac0dee0020d6ad73e0d44f4306e1e34 Author: Stephen Hemminger Date: Thu Aug 27 13:55:19 2009 +0000 pktgen: cleanup checkpatch warnings Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 64e8ff5ef2a798cae2e3bede75644173aae98e08 Author: Stephen Hemminger Date: Thu Aug 27 13:55:18 2009 +0000 pktgen: use common idle routine Simpler to have one place that spins and accounts for delays, this will also make the last packet be detected faster for more repeatable timing. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 2bc481cf433879f0e6cdd4d899fc21ee05dcea23 Author: Stephen Hemminger Date: Fri Aug 28 23:41:29 2009 -0700 pktgen: spin using hrtimer This changes how the pktgen thread spins/waits between packets if delay is configured. It uses a high res timer to wait for time to arrive. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit fd29cf72621071d1d5f9bae634a4505b05f0e58b Author: Stephen Hemminger Date: Thu Aug 27 13:55:16 2009 +0000 pktgen: convert to use ktime_t The kernel ktime_t is a nice generic infrastructure for mananging high resolution times, as is done in pktgen. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5c9d191c166233e723e632e79bcca2127a5fece9 Author: Stephen Hemminger Date: Thu Aug 27 13:55:15 2009 +0000 pktgen: avoid calling gettimeofday If not using delay then no need to update next_tx after each packet sent. This allows pktgen to send faster especially on systems with slower clock sources. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5b8db2f568c4ee2a436f0e1c1416153e2878f869 Author: Stephen Hemminger Date: Thu Aug 27 13:55:14 2009 +0000 pktgen: reorganize transmit loop Handle standard (and non-standard) return values in a switch. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit e470757d6179eb8998881ac2706927d4d0cb0e54 Author: Stephen Hemminger Date: Thu Aug 27 13:55:13 2009 +0000 pktgen: use netdev_alloc_skb netdev_alloc_skb is NUMA node aware. Also, don't exhaust atomic emergency pool. Don't want pktgen to cause OOM behaviour. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 7d7bb1cf0ea7434230b3e3de49c24ff68666a72e Author: Stephen Hemminger Date: Thu Aug 27 13:55:12 2009 +0000 pktgen: cleanup clone count test The if statement to test for "should a new packet be used" can be simplified. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3791decb5aa0202d2a2473d6cf4947d98e846c7a Author: Stephen Hemminger Date: Thu Aug 27 13:55:11 2009 +0000 pktgen: xmit logic reorganization Do some reorganization of transmit logic path: * move transmit queue full idle to separate routine * add a cpu_relax() * eliminate some of the uneeded goto's * if queue is still stopped, go back to main thread loop. * don't give up transmitting if quantum is exhausted (be greedy) Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3bda06a3d7987bfeabb218ac2f17ce22c34f13b3 Author: Stephen Hemminger Date: Thu Aug 27 13:55:10 2009 +0000 pktgen: stop_device cleanup All the callers were freeing skb after stopping device. Remove unneeded forward decl. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 65c5b786a37746302e225223c0d8b760d4c48a8b Author: Stephen Hemminger Date: Thu Aug 27 13:55:09 2009 +0000 pktgen: mark read-only/mostly variables Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 475ac1e4099a005e1307c416df19f2100b7a838d Author: Stephen Hemminger Date: Thu Aug 27 13:55:08 2009 +0000 pktgen: change inlining Don't force inlining where not needed. Gcc does better job of deciding to inline local functions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 648fda7404630ba85ce462ee1279e1bc027ad915 Author: Stephen Hemminger Date: Thu Aug 27 13:55:07 2009 +0000 pktgen: minor cleanup A couple of minor functions can be written more compactly. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 39aa81659353becbe4ee34d72cf79e02182e858a Author: Ron Mercer Date: Thu Aug 27 11:02:11 2009 +0000 qlge: Move TX completions from workqueue to NAPI. TX completions were running in a workqueue queued by the ISR. This patch moves the processing of TX completions to an existing RSS NAPI context. Now each irq vector runs NAPI for one RSS ring and one or more TX completion rings. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit a4ab613717184138763c5fb4a4b4bbc354d5b0ee Author: Ron Mercer Date: Thu Aug 27 11:02:10 2009 +0000 qlge: Allow running MSIx with fewer vectors. Currently we downshift to MSI/Legacy if we don't get enough vectors for cpu_count RSS rings plus cpu_count TX completion rings. This patch allows running MSIX with the vector count that the platform provides. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b2014ff8ac314f58d6542ec4ea7b576a2de21c8b Author: Ron Mercer Date: Thu Aug 27 11:02:09 2009 +0000 qlge: Get rid of 'default' rx_ring type. Currently we have three types of RX rings. 1) Default ring - services rx_ring for broadcast/multicast, handles firmware events, and errors. 2) TX completion ring - handles only outbound completions. 3) RSS ring - handles only inbound completions. This patch gets rid of the default ring type and moves it's functionality into the first RSS ring. This makes better use of MSIX vectors since they are a limited resource on some platforms. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit b7f1d43a2ba1b63abbb1dcd966ab1edb9f62f636 Merge: 6c98885 ad43f8b Author: David S. Miller Date: Fri Aug 28 23:06:05 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6c9888532bb540cb692f51f1d34fe9344eed5a0d Author: Petri Gynther Date: Fri Aug 28 12:05:15 2009 +0000 bonding: Have bond_check_dev_link examine netif_running bonding: Have bond_check_dev_link examine netif_running Some network devices do not call netif_carrier_off when they are set administratively down. Have the bonding link check function also inspect the netif_running state. Ignore netif_running if the bond_check_dev_link function is called with "reporting" set, as in that case it's inspecting the capabilities of the non-netif_carrier device driver. Signed-off-by: Petri Gynther Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit f584130616dfae757b888b7ee472e7c824f59e6a Author: Nicolas de Pesloüan Date: Fri Aug 28 13:18:34 2009 +0000 bonding: Fix useless test: int > INT_MAX max_bonds is of type int and cannot be greater than INT_MAX. Signed-off-by: Nicolas de Pesloüan Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 89c76c62f191daa7ede3d1d0c510a5ccfbcae571 Author: Stephen Hemminger Date: Fri Aug 28 12:05:13 2009 +0000 bonding: use compare_ether_addr Bonding can use compare_ether_addr() in bond_release. Signed-off-by: Stephen Hemminger Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 278339a42a1bcef1fb448d275056d519307e6025 Author: Jay Vosburgh Date: Fri Aug 28 12:05:12 2009 +0000 bonding: propogate vlan_features to bonding master Propogate the vlan_features of the slave devices to the bonding master device, using the same logic as for regular features. Tested by Or Gerlitz , who also removed the debug logic from the original test patch. Signed-off-by: Or Gerlitz Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 2c94eb86c66e1eaaa1e7d8a2120f4fad5e7e7736 Author: Aneesh Kumar K.V Date: Fri Aug 28 21:43:15 2009 -0400 ext4: Allow rename to create more than EXT4_LINK_MAX subdirectories Use EXT4_DIR_LINK_MAX so that rename() can move a directory into new parent directory without running into the EXT4_LINK_MAX limit. Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 5f0db7a2fb78895a197f64e548333b3bbd433996 Author: Feng Tang Date: Fri Aug 14 15:37:50 2009 -0400 SFI: Hook PCI MMCONFIG First check ACPI, and if that fails, ask SFI to find the MCFG. Signed-off-by: Feng Tang Signed-off-by: Len Brown Cc: Jesse Barnes commit efafc8b213e67ed148a5b53ade29ee7b48af907d Author: Feng Tang Date: Fri Aug 14 15:23:29 2009 -0400 x86: add arch-specific SFI support arch/x86/kernel/sfi.c serves the dual-purpose of supporting the SFI core with arch specific code, as well as a home for the arch-specific code that uses SFI. analogous to ACPI, drivers/sfi/Kconfig is pulled in by arch/x86/Kconfig Signed-off-by: Feng Tang Signed-off-by: Len Brown Cc: x86@kernel.org commit 13e82d023c4c3f13ab1e665cbb917a7ebba8935c Author: Feng Tang Date: Fri Aug 14 15:17:53 2009 -0400 SFI: add capability to parse ACPI tables Extend SFI to access standard ACPI tables. (eg. the PCI MCFG) using sfi_acpi_table_parse(). Note that this is _not_ a hybrid ACPI + SFI mode. The platform boots in either ACPI mode or SFI mode. SFI runs only with acpi_disabled=1, which can be set at build-time via CONFIG_ACPI=n, or at boot time by the failure to find ACPI platform support. So this extension simply allows SFI-platforms to re-use existing standard table formats that happen to be defined to live in ACPI envelopes. Signed-off-by: Feng Tang Signed-off-by: Len Brown commit 6ae6996a466e14bcf41618cde641a74ae03dc285 Author: Feng Tang Date: Fri Aug 14 15:13:46 2009 -0400 SFI: add platform-independent core support drivers/sfi/sfi_core.c contains the generic SFI implementation. It has a private header, sfi_core.h, for its own use and the private use of future files in drivers/sfi/ Signed-off-by: Feng Tang Signed-off-by: Len Brown commit 117a9ac777f8034d4675b821172d2ff71f6ec47a Author: Feng Tang Date: Fri Aug 14 15:10:24 2009 -0400 SFI: create linux/sfi.h include/linux/include/sfi.h defines everything that customers of SFI need to know in order to use the SFI suport in the kernel. The primary API is sfi_table_parse(), where a driver or another part of the kernel can supply a handler to parse the named table. sfi.h also includes the currently defined table signatures and table formats. Signed-off-by: Feng Tang Signed-off-by: Len Brown commit e55a5999ffcf72dc4d43d73618957964cb87065a Author: Feng Tang Date: Tue Jul 28 17:41:53 2009 +0800 ACPI: Handle CONFIG_ACPI=n better from linux/acpi.h linux/acpi.h is the top level header for interfacing with the ACPI sub-system, so acpi_disabled should be up there instead of down in asm/acpi.h -- particularly since asm/acpi.h doesn't exist for all architectures. Same story for acpi_table_parse(), which is a top-level API to Linux/ACPI. This is necessary for building some code that used to always depend on CONFIG_ACPI=y, but will soon also need to build with CONFIG_ACPI=n. Signed-off-by: Feng Tang Signed-off-by: Len Brown commit 6349d9979beba240fe7182872cb547250264b865 Author: Len Brown Date: Fri Aug 14 15:07:14 2009 -0400 SFI: Simple Firmware Interface - MAINTAINERS, Kconfig CONFIG_SFI=y enables the kernel to boot and run optimally on platforms that support the Simple Firmware Interface. Thanks to Jacob Pan for prototyping the initial Linux SFI support, and to Feng Tang for Linux bring-up and debug both in emulation and on Moorestown hardware. See http://simplefirmware.org for more information on SFI. Signed-off-by: Len Brown commit e5b8fc6ac158f65598f58dba2c0d52ba3b412f52 Author: Len Brown Date: Tue Jul 7 23:22:58 2009 -0400 ACPI: check acpi_disabled in acpi_table_parse() and acpi_table_parse_entries() Allow consumers of the acpi_table_parse()/acpi_table_parse_entries() API to gracefully handle the acpi_disabled=1 case via return value rather than checking the global flag themselves. Signed-off-by: Feng Tang Signed-off-by: Len Brown commit f4a2d5840e9f0e48d1a787b66e7346087a756029 Author: Len Brown Date: Tue Jul 28 16:48:02 2009 -0400 ACPI, PCI: Change PREFIX to "PCI" from "ACPI" in mmconfig-shared.c Signed-off-by: Len Brown Acked-by: Jesse Barnes commit 2a4ab640d3c28c2952967e5f63ea495555bf2a5f Author: Feng Tang Date: Tue Jul 7 23:01:15 2009 -0400 ACPI, x86: expose some IO-APIC routines when CONFIG_ACPI=n Some IO-APIC routines are ACPI specific now, but need to be exposed when CONFIG_ACPI=n for the benefit of SFI. Remove #ifdef ACPI around these routines: io_apic_get_unique_id(int ioapic, int apic_id); io_apic_get_version(int ioapic); io_apic_get_redir_entries(int ioapic); Move these routines from ACPI-specific boot.c to io_apic.c: uniq_ioapic_id(u8 id) mp_find_ioapic() mp_find_ioapic_pin() mp_register_ioapic() Also, since uniq_ioapic_id() is now no longer static, re-name it to io_apic_unique_id() for consistency with the other public io_apic routines. For simplicity, do not #ifdef the resulting code ACPI || SFI, thought that could be done in the future if it is important to optimize the !ACPI !SFI IO-APIC x86 kernel for size. Signed-off-by: Feng Tang Signed-off-by: Len Brown Cc: x86@kernel.org commit a192a9580bcc41692be1f36b77c3b681827f566a Author: Len Brown Date: Tue Jul 28 16:45:54 2009 -0400 ACPI: Move definition of PREFIX from acpi_bus.h to internal..h Linux/ACPI core files using internal.h all PREFIX "ACPI: ", however, not all ACPI drivers use/want it -- and they should not have to #undef PREFIX to define their own. Add GPL commment to internal.h while we are there. This does not change any actual console output, asside from a whitespace fix. Signed-off-by: Len Brown commit 49ae80c9944401222e47108883c486b5a5a24006 Author: Bob Moore Date: Thu Aug 13 13:43:12 2009 +0800 ACPICA: Update version to 20090730 Version 20090730. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8a964236800839263b3dddd7f7851d666e7d53e1 Author: Bob Moore Date: Thu Aug 13 13:42:19 2009 +0800 ACPICA: acpi_reset: Bypass port validation mechanism Allow writes to reserved ports. This change may eventually be driven down in to acpi_write and acpi_read. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 1872bbc94b2d092ece22a8fbf1c3e81f0fba0052 Author: Bob Moore Date: Thu Aug 13 13:31:00 2009 +0800 ACPICA: Fix typo for HEST ACPI table Problem with the name of one of the subtables. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit c276e3884163355464a76e60ed9e272b52b4acc2 Author: Bob Moore Date: Mon Jul 27 14:55:02 2009 +0800 ACPICA: Update definitions for HEST table Eliminate duplicated code in disassembler. Shorten identifiers that were too long. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 7f0c826a437157d2b19662977e9cf3b472cf24a6 Author: Lin Ming Date: Thu Aug 13 14:03:15 2009 +0800 ACPICA: Add support for module-level executable AML code Add limited support for executable AML code that exists outside of any control method. This type of code has been illegal since ACPI 2.0. The code must exist in an If/Else/While block. All AML tables are supported, including tables that are dynamically loaded. ACPICA BZ 762. http://acpica.org/bugzilla/show_bug.cgi?id=762 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 999e08f99846a1fd6ee9642ec306a2d318925116 Author: Bob Moore Date: Thu Aug 13 14:30:16 2009 +0800 ACPICA: ACPI 4: Add validation for new predefined names. Added 31 new names for ACPI 4.0. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit d9adc2e031bd22d5d9607a53a8d3b30e0b675f39 Author: Lin Ming Date: Mon Jul 27 11:31:10 2009 +0800 ACPICA: reformat predefined method table, no functional change Reformatted the methods that return package objects. Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 6e2d5ebd0d36199920676fdceaff4f4bfe66297b Author: Bob Moore Date: Mon Jul 27 10:53:00 2009 +0800 ACPICA: ACPI 4: Update headers for new and changed ACPI tables. Add IVRS,MSCT,UEFI,WAET,WDAT. Updated several existing tables for ACPI 4.0-related changes. Added document references for all tables not defined in ACPI spec. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b24aad44438d5bc21cbbfb94a99d9bf710d8295b Author: Bob Moore Date: Fri Jul 24 13:30:17 2009 +0800 ACPICA: Split large ACPI table header Split out the non-acpi-defined ACPI tables into the existing (but empty) actbl2.h file. Preparation for new ACPI 4.0 tables. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 2f977b36e5f175e5126f280e7a94f0c53d1b1a16 Author: Bob Moore Date: Fri Jul 24 11:25:16 2009 +0800 ACPICA: Fix fault if acpi_terminate is called twice Fixes a problem with the mechanism that prevents problems if the acpi_terminate interface is inadvertently called more than once before the ACPICA code is re-initialized. ACPICA BZ 795. http://acpica.org/bugzilla/show_bug.cgi?id=795 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 53e9387bdd8bfef6cffff2d2eb6bd28eca812682 Author: Bob Moore Date: Fri Jul 24 11:22:11 2009 +0800 ACPICA: ACPI 4.0 : Add new return package type, restructure module. Added one new package type, a package that contains a revision number and a variable number of sub-packages. Restructured the module to put the sub-package list traversal in a separate function. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit e5f69d6ef7a6b0dbad8d4c00d83009960be02155 Author: Bob Moore Date: Fri Jul 24 11:03:09 2009 +0800 ACPICA: Add repair for predefined methods that return nested packages Fixes a problem where a predefined method is defined to return a variable-length Package of sub-packages. If the length is one, the BIOS code occasionally creates a simple single package with no sub-packages. This code attempts to fix the problem by wrapping a new package object around the existing package. ACPICA BZ 790. http://acpica.org/bugzilla/show_bug.cgi?id=790 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit b2deadd53c3630786e73746fb0ad8450f4e015bf Author: Bob Moore Date: Fri Jul 24 10:56:43 2009 +0800 ACPICA: Move predefined repair code to new file, no functional change New file is nsrepair.c. This is in preparation for additional errror correcting code. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit aeb41b852fe90764b75ef7a9f185ca94696af6ff Author: Len Brown Date: Fri Aug 28 19:03:11 2009 -0400 eeepc-laptop: whitespace for checkpatch.pl checkpatch doesn't like tab+space for a return statement. WARNING: suspect code indent for conditional statements (8, 17) + if (!device) + return -EINVAL; Signed-off-by: Len Brown commit 96f845de89be6be12112d7b388cdf366dccfe12d Author: Takashi Iwai Date: Sat Aug 29 00:49:36 2009 +0200 ALSA: hda - Create "Digital Mic Capture Volume" correctly for IDT codecs So far, the digital mic capture volume wasn't created. This is because IDT codecs have output amps for digital mics, not input amps, while input amps should be used for other analog pins. Thus the automatic capture volume creation should check both directions for digital mics. Signed-off-by: Takashi Iwai commit b09f5fecf8b97c9de7add3e2eb0cfeb91ef28dbb Author: Corentin Chary Date: Fri Aug 28 12:56:55 2009 +0000 asus-laptop: document sysfs interface Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 6ce2c9d9a531e8753005a25a686dafab9a5d04bb Author: Corentin Chary Date: Fri Aug 28 12:56:54 2009 +0000 asus-laptop: document the module Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 0aa20f7d720ed1feeb74df8c63a6427d9a2d3ebd Author: Corentin Chary Date: Fri Aug 28 12:56:53 2009 +0000 asus-laptop: Add "calculator" hotkey Found on UX50V. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 4644d0e5bd1412bbaed77e46c0c3376c6d060a74 Author: Corentin Chary Date: Fri Aug 28 12:56:52 2009 +0000 asus-laptop: Add suport for another "Media" key Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit dc79526078d2c0f01445e54e1d9fdf7c15ffd63d Author: Corentin Chary Date: Fri Aug 28 12:56:51 2009 +0000 asus-laptop: handle keyboard backlight keys Add support for the Fn+F3/Fn+F4 keys and map them as KEY_KBDILLUMUP and KEY_KBDILLUMDOWN. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit b7d3fbc2ed624cc216adda0f2574570e6d6d6aed Author: Corentin Chary Date: Fri Aug 28 12:56:50 2009 +0000 asus-laptop: Add support for Keyboard backlight Add support for keyboard backlight found in Asus U50VG. The SMC driver for the Apples does it via LED. To be consistent with that we create /sys/class/leds/asus::kbd_backlight/ to control the keyboard backlight. SLKB and GLKB are used to get/set the backlight. On the U50VG is supports 4 brightness level, but this may change with other models. SLKB take a 8 bit integer where the higher bit is used to toggle the backlight, and the over 7 bits control the brightness level. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 977c328d81e31fde70c5ba381d9cf7357451dd74 Author: Corentin Chary Date: Fri Aug 28 12:56:49 2009 +0000 asus-laptop: set maximum led brightness Set the right maximum brightness which is one, because they can only be on or off. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit f641375b65f64e83be8be68ae1ebce21ee4fd578 Author: Corentin Chary Date: Fri Aug 28 12:56:48 2009 +0000 asus-laptop: Map X50R hotkeys Map some new hotkeys found on X50R. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit abfa57e15acaa6e1ec567c250e5212bc55d79e43 Author: Corentin Chary Date: Fri Aug 28 12:56:47 2009 +0000 asus-laptop: Add *_led_get() functions Add support for getting led brightness directly from the hardware. Currently we don't need it, but it is needed to support keyboard backlight/led. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 1d4a3800c764d111d67462a14589ed1611b2f55e Author: Corentin Chary Date: Fri Aug 28 12:56:46 2009 +0000 asus-laptop: Show HRWS in infos and fix output format Show HRWS in /sys/platform/devices/asus-laptop/infos. HRWS is a bitfield used to get information about Hardware available in the laptop. Also change sprintf format from 0x%04x to %#x. Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 5f634c6527249275df4199a294ee9cec2f3ff3b1 Author: Corentin Chary Date: Fri Aug 28 12:56:45 2009 +0000 led: document sysfs interface Also fix Documentation/led-class.txt, the acceptable range of values for brightness is 0-max_brightness, not 0-255. Cc: Richard Purdie Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 243ca3e401bc62e704785d215931f1a51fd53bd7 Author: Corentin Chary Date: Fri Aug 28 12:56:44 2009 +0000 video/lcd: document sysfs interface Date and KernelVersion may be wrong because the lcd interface was introduced before git initial import. Cc: Richard Purdie Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 3c4c1b69a2d76ac9a1c716233fde956dba757d76 Author: Corentin Chary Date: Fri Aug 28 12:56:43 2009 +0000 video/backlight: document sysfs interface Date and KernelVersion may be wrong because the backlight interface was introduced before git initial import. Cc:Richard Purdie Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit d0a6825c9217cfc52d39b2b2bedd73bef8019f79 Author: Corentin Chary Date: Fri Aug 28 12:56:42 2009 +0000 eeepc-laptop: document sysfs interface Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit d1ec9c3d434d94e3674bcf433e8e8e7462b8e1c0 Author: Corentin Chary Date: Fri Aug 28 12:56:41 2009 +0000 eeepc-laptop: add rfkill support for the Wimax in ASUS Eee PC 1000HG Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit c200da5d2900df9c24fb8041870d92a4175bbef3 Author: Alan Jenkins Date: Fri Aug 28 12:56:40 2009 +0000 eeepc-laptop: switch to dev_pm_ops This also involves switching the resume handler from the acpi device to the platform device. Using the more fine grained handlers allows two improvements: 1. We only need to recheck rfkill state after resume from hibernation. 2. The wireless LED workaround accounts for up to 1.1s out of 1.7s resuming devices (when wireless is enabled). We can limit the workaround to thaw(), so that it only delays suspend to disk. The workaround is only likely to help when hibernation is aborted. Suspend to ram cannot be aborted by the user. Device suspend errors may well happen before eeepc-laptop would even be frozen. Suspend errors which happen after that could be pretty funky anyway. Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit c1edd99f1c2b0285ce810d217180bf37bbae550e Author: Alan Jenkins Date: Fri Aug 28 12:56:39 2009 +0000 eeepc-laptop: correct the description of the hibernation abort bug Actually it is only the LED which is affected. The bios bug does not disable the wifi. Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit a47461011a0f5110c497b9b163d1125d258418b2 Author: Alan Jenkins Date: Fri Aug 28 12:56:38 2009 +0000 eeepc-laptop: check the 3G rfkill state on resume All the rfkill devices are treated as "persistent", 3G is no exception. This means their state may change over hibernation. Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit ffb03575284e0f72d7ea001178c793afa265b8b5 Author: Alan Jenkins Date: Fri Aug 28 12:56:37 2009 +0000 eeepc-laptop: remove redundant rfkill_set_sw_state in resume handler rfkill_set_sw_state() will already be called by eeepc_rfkill_hotplug(). Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit f2a9d5e8a649c606f520b7a7b9f4f46fba79c327 Author: Alan Jenkins Date: Fri Aug 28 12:56:36 2009 +0000 eeepc-laptop: make input device a child of the platform device Sysfs showed the ehotk input device as a "virtual" device - lies! The input device is provided by a physical device, the eeepc platform. This requires that we move the creation of the input device to come after platform device is created. Input initialization is moved from ehotk_check() [sic] to a new function called eeepc_input_init(). This brings the input device into line with the other eeepc-laptop devices. Also, refuse to load if we fail to register the input device. Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 1e7798547fe6920ae27fb92c9202353e9e4c55db Author: Alan Jenkins Date: Fri Aug 28 12:56:35 2009 +0000 eeepc-laptop: fix ordering of init and exit functions 1. input and backlight devices were registered after acpi notifications are enabled. This left a window where eeepc_hotk_notify() might find these devices in an inconsistent (half-initialized) state. -> Move all device registration into eeepc_hotk_add(), which is called before enabling acpi notifications. 2. input and backlight devices were unregistered before acpi notifications are disabled. This left a window where eeepc_hotk_notify() might find these devices in an inconsistent (half-destroyed) state. -> Move all device unregistration into eeepc_hotk_remove(), which is called after disabling acpi notifications. 3. The acpi driver was not freed if an error occured further down in eeepc_laptop_init(). -> The rest of eeepc_laptop_init() has been moved to eeepc_hotk_add(), so this is no longer a problem. 4. The acpi driver was unregistered before the platform driver. This left a window where a sysfs access could attempt to read the ehotk structure after it had been freed by eeepc_hotk_remove(). -> The acpi driver is now unregistered as the last step in eeepc_laptop_exit(), so this is no longer a problem. Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 07e84aa98f6b3a7278d3267f6f657955ed3eb973 Author: Alan Jenkins Date: Fri Aug 28 12:56:34 2009 +0000 eeepc-laptop: fix pci hotplug race on load and unload Wifi rfkill state changes can race with pci hotplug cleanup. A simple fix is to refresh the hotplug state just before deregistering the pci hotplug slot. There is also potential for a hotplug notification to fire too early during setup, while the structures it uses are still being initialised. (This could only happen if the BIOS performs hotplug itself; a bug triggered by removing the battery while hibernated). Avoid this by registering the notifier later. The same refresh mechanism is used to handle rfkill state changes which can now race with registration. Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit dcf443b5813074031a45b05ad9c57da98bcae329 Author: Alan Jenkins Date: Fri Aug 28 12:56:33 2009 +0000 eeepc-laptop: use a mutex to serialize pci hotplug (resume vs. notify) Commit d0265f0 "eeepc-laptop: fix hot-unplug on resume" used a workqueue to protect pci hotplug against multiple simultaneous calls during resume. It seems to work, but a mutex would be more appropriate. This is in preparation to fix the potential pci hotplug race on unload. Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 6d41839e762f8b8b03dbb97fd0d41b244d0bc902 Author: Alan Jenkins Date: Fri Aug 28 12:56:32 2009 +0000 eeepc-laptop: don't touch the pci slot if it was claimed by a different driver The whole point of registering as a PCI hotplug driver was to prevent conflict with pciehp. At the moment it happens to work because eeepc-laptop is loaded first, but it doesn't work the other way round. If pciehp is loaded first then we fail to claim the slot - we need to respect this and not handle hotplug events. Signed-off-by: Alan Jenkins Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 84a6ce267296dabdf427ea4aff73dc58164863bb Author: Jonathan Woithe Date: Fri Jul 31 18:16:59 2009 +0930 fujitsu-laptop: increment driver version Increment driver version to reflect the changes from this patch series. Signed-off-by: Jonathan Woithe Signed-off-by: Len Brown commit 72afeeafe54853881a4e53dc78d538e249130ad8 Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 31 18:16:02 2009 +0930 fujitsu-laptop: driver [un]registration fixes * Move led_classdev_unregister() calls from fujitsu_cleanup() to acpi_fujitsu_hotkey_remove(). * Fix ordering in fujitsu_cleanup(). * Fix backlight_device_register() failure handling in fujitsu_init(). * Add missing sysfs group removal on failure to fujitsu_init(). * Add input device unregistering on failure to acpi_fujitsu_add() and acpi_fujitsu_hotkey_add(). * Add input device unregistering/freeing to acpi_fujitsu_remove() and acpi_fujitsu_hotkey_remove() (also remove superfluous 'device' and 'acpi_driver_data(device)' checks while at it). * Do few minor cleanups. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Jonathan Woithe Signed-off-by: Len Brown commit 67059406219d30a36b7ca93f863eb1f3032f05ce Author: Bartlomiej Zolnierkiewicz Date: Fri Jul 31 08:43:56 2009 +0000 fujitsu-laptop: remove superfluous NULL pointer checks This takes care of the following entries from Dan's list: drivers/platform/x86/fujitsu-laptop.c +327 set_lcd_level(13) warning: variable derefenced before check 'fujitsu' drivers/platform/x86/fujitsu-laptop.c +358 set_lcd_level_alt(13) warning: variable derefenced before check 'fujitsu' Reported-by: Dan Carpenter Cc: corbet@lwn.net Cc: eteo@redhat.com Cc: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Jonathan Woithe Signed-off-by: Len Brown commit 14485c57270e8f3de2a25abaf93bae5712c97e9e Author: Julia Lawall Date: Fri Jul 31 18:12:00 2009 +0930 fujitsu-laptop: Correct redundant test device and acpi_driver_data(device) were tested just a few lines above. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; @@ if (x == NULL || ...) { ... when forall return ...; } .. when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Jonathan Woithe Signed-off-by: Len Brown commit 1e384cb0f9a940f2a431d1708f963987e61d71e3 Author: Stephen Gildea Date: Tue Aug 25 14:41:52 2009 +0930 fujitsu-laptop: support led-class as module Support fujitsu-laptop with led-class built as a module instead of being compiled in. Signed-off-by: Stephen Gildea Acked-by: Jonathan Woithe Signed-off-by: Len Brown commit c1b5310a957c47d1c66bb53035c6ba6aa20a150f Author: Jonathan Woithe Date: Thu Aug 27 18:45:33 2009 -0400 fujitsu-laptop: fix config corner case This patch is a trivial fix for a config corner case, ensuring that fujitsu-laptop doesn't get compiled into the kernel when the led class is a module. Signed-off-by: Alan Jenkins Signed-off-by: Jonathan Woithe Signed-off-by: Len Brown commit ad43f8bfb7b9a6a8b800cdad24c4a62180a5eb3d Author: Kiran Divekar Date: Fri Aug 28 17:47:59 2009 +0530 libertas: add NULL check on return value of get_zeroed_page Most of the places in debugfs.c are missing a NULL check on the return value of get_zeroed_page API call. Added required NULL check at appropriate places. Signed-off-by: Kiran Divekar Signed-off-by: John W. Linville commit 04a6445f6f5e439ef775bd18cf3f485f84bbfb1b Author: Jussi Kivilinna Date: Fri Aug 28 13:28:35 2009 +0300 rndis_wlan: use cfg80211_wext_handler Now that cfg80211 functions are added and wext converted to use wext-compat functions, remove wext structures and disabled code. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 21ec2d8d0fee4f3bf0d2e25e5b63bf2637233b43 Author: Jussi Kivilinna Date: Fri Aug 28 13:28:30 2009 +0300 rndis_wlan: disable IWEVPMKIDCAND wireless event Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a0f9ce2ac35a0c57413dafd90e316c4048d1b43e Author: Jussi Kivilinna Date: Fri Aug 28 13:28:24 2009 +0300 rndis_wlan: convert mic failure wireless event to cfg80211 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 3334943cefa03a5384060e321e3dd9e686097caf Author: Jussi Kivilinna Date: Fri Aug 28 13:28:19 2009 +0300 rndis_wlan: remove unneeded SIOCSIWCOMMIT Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 305e243e6868eb6cf898183a523455bb9264cd2c Author: Jussi Kivilinna Date: Fri Aug 28 13:28:14 2009 +0300 rndis_wlan: rename wireless stats worker to device poller Stats worker no longer poll stats from device anymore. It's still needed to poll device control channel for connect/disconnect events, so rename stats worker as device poller. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d695df9049199bdeadd81c29104da8e2542062cf Author: Jussi Kivilinna Date: Fri Aug 28 13:28:09 2009 +0300 rndis_wlan: add cfg80211 dump_station Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8b89a2883be4b6bad8ac0c5928784febb2b34172 Author: Jussi Kivilinna Date: Fri Aug 28 13:28:03 2009 +0300 rndis_wlan: add cfg80211 get_station Add cfg80211 get_station and convert SIOCGIWRATE and get_wireless_stats to cfg80211. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 84bf8400cee127be3b58a9d9b8cfa453dad999ab Author: Jussi Kivilinna Date: Fri Aug 28 13:27:58 2009 +0300 rndis_wlan: add cfg80211 key handling Add cfg80211 add_key/del_key/set_default_key and convert wext to use theim. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5554adbe0d366f6a5096e6f74b48dcad5698c528 Author: Jussi Kivilinna Date: Fri Aug 28 13:27:53 2009 +0300 rndis_wlan: add cfg80211 set_channel Add cfg80211 set_channel and convert wext to use it. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5c52323e8c44a06183052986dbd028ce15622166 Author: Jussi Kivilinna Date: Fri Aug 28 13:27:47 2009 +0300 rndis_wlan: add cfg80211 connect, disconnect, join_ibss and leave_ibss Add cfg80211 connect functions for station and ad-hoc modes and convert wext to use theim. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9f77ccab57534f45b0289ceae3a6b85478d14182 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:26 2009 +0300 rndis_wlan: enable infrastructure before setting random essid Random essid must be set to turn on radio when not connected. If device is in ad-hoc mode, this results 'media connect' indications with the random essid which should be ignored. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 161391725eba1f07e98594369cfcb10c848ef352 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:21 2009 +0300 rndis_wlan: set ieee80211_ptr->iftype in rndis_change_virtual_intf Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7b1fff996a5408261ca458f82369d1f5b7aad2d4 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:15 2009 +0300 rndis_wlan: use is_zero_ether_addr() and is_broadcast_ether_addr() Use is_zero_ether_addr() and is_broadcast_ether_addr() instead of memcmp against ffff_bssid/zero_bssid. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 0848e6c698237ba51c69eca10580d2f38a1179ad Author: Jussi Kivilinna Date: Fri Aug 28 12:59:10 2009 +0300 rndis_wlan: move link up/down work to separate functions Move link up/down work to separate functions and use local array for allocating memory for info structure instead of kzmalloc. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit b1d25a67647efacf2a9f2a1800f0c8195827f923 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:05 2009 +0300 rndis_wlan: increase scan timer delay Increase scan delay from 1 sec to 6 sec. Spec says that scan by OID_802_11_BSSID_LIST_SCAN completes in 6 seconds. Before rfkill patch too short delay was not problem as device was always active (radio on) and performing background scanning. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5fd8f2503b0888ed0c8e0017264059a3f9dc51c0 Author: Jussi Kivilinna Date: Fri Aug 28 12:59:00 2009 +0300 rndis_wlan: resize bssid list if too small Buffer used for bssid list might be too small. Change rndis_query_oid() to return required buffer length to caller and make rndis_check_bssid_list() resize buffer when needed. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit db0dd396da45502e02c64c4153c5822ab5a59a5f Author: Jussi Kivilinna Date: Fri Aug 28 12:58:55 2009 +0300 rndis_wlan: get bssid scan list before new scan OID_802_11_BSSID_LIST_SCAN clears device's bssid list, so retrieve current bssid list from device before issuing new scan. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 5f81ff5a7a12a9281d03be103382971ce490268e Author: Jussi Kivilinna Date: Fri Aug 28 12:58:49 2009 +0300 rndis_wlan: ignore OID_802_11_ADD_KEY triggered media connect indications Setting WPA keys with OID_802_11_ADD_KEY sometimes trigger instant media connect indication. These indications are extranous and should be ignored, as otherwise driver would send reassociation event to userspace which in this case is not needed. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 64e368bf9c3690eebd4b3a5cc243f39e902ecdd1 Author: Gábor Stefanik Date: Thu Aug 27 22:49:49 2009 +0200 b43: Implement antenna diversity support for LP-PHY The A/G-PHY changes are fallout fixes from the enum change, which in turn allows the LP-PHY code to be much simpler. The antenna_to_phyctl change is a fix for a potential existing bug that this patch may otherwise trigger. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 867b2efe68b6bb929e3bd1c6d699ba61ff2cf847 Author: Gábor Stefanik Date: Thu Aug 27 17:24:23 2009 +0200 b43: Enable LP-PHY support by default and remove Kconfig warning The most common LP-PHY device, BCM4312, is now fully functional. So, no need to say "probably won't work for you" anymore. It's also not "for debuggers and developers only", as it is perfectly usable for end-users now (at least for BCM4312). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 97a81f5c5033cb02ae56dd80ff9c38866c777bd8 Author: Pavel Roskin Date: Wed Aug 26 22:30:09 2009 -0400 ath5k: don't use PCI ID to find the chip revision AR5K_SREV is available even if the chip has been put to sleep. Relying on the chip register allows binding non-standard PCI IDs by echo VENDOR_ID PRODUCT_ID >/sys/bus/pci/drivers/ath5k/new_id without having to specify the driver data as well. Signed-off-by: Pavel Roskin Acked-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 3b3ee43da43aca1cbf4c3651379b2b1492e49dd6 Author: Pavel Roskin Date: Wed Aug 26 22:30:00 2009 -0400 ath5k: fix uninitialized value use in ath5k_eeprom_read_turbo_modes() The `val' variable in ath5k_eeprom_read_turbo_modes() is used uninitialized. gcc 4.4.1 with -fno-inline-functions-called-once reports it: eeprom.c: In function 'ath5k_eeprom_read_turbo_modes': eeprom.c:441: warning: 'val' may be used uninitialized in this function Comparing the code to the Atheros HAL, it's clear that the split between ath5k_eeprom_read_modes() and ath5k_eeprom_read_turbo_modes() was incorrect. The Atheros HAL reads both turbo and non-turbo data from EEPROM in one function. Some turbo mode parameters are derived from the same EEPROM values as non-turbo parameters, just from different bits. Merge ath5k_eeprom_read_turbo_modes() into ath5k_eeprom_read_modes() to fix the warning. The actual values and offsets have been cross-checked against Atheros HAL. Signed-off-by: Pavel Roskin Acked-by: Bob Copeland Signed-off-by: John W. Linville commit ca5efbe243dde7d269b6bbae7feaa5e4740db36e Author: Bob Copeland Date: Thu Aug 27 15:17:15 2009 -0400 ath5k: clarify srev comparison for CCMP check As Pavel Roskin noted, the check for mac version as copied from legacy_hal made no sense. This replaces it with the equivalent and makes up a suitable #define for the mac version legacy_hal checked. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 00fa928df428521793866ff6832569d99be7f3e3 Author: Gábor Stefanik Date: Wed Aug 26 23:46:18 2009 +0200 b43: LP-PHY: Revert to the original PHY register write routine After some discussion on IRC about the PHY register write change, I am not sure anymore if this is the right thing to do. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1303dcfd0504565aef8ef63487443ab1f814c00f Author: Johannes Berg Date: Wed Aug 26 22:15:13 2009 +0200 iwlwifi: fix ICT irq table endianness The ICT IRQ table is a set of __le32 values, not u32 values, so when reading it we need to take into account that it has to be converted to CPU endianness. This was causing a lot of trouble on my powerpc box where various things would simply not work for no apparent reason with 5xxx cards, but worked with 4965 -- which doesn't use the ICT table. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 924d6356b216e592f596595757db8e955391a489 Author: Ivo van Doorn Date: Wed Aug 26 21:04:08 2009 +0200 rt2x00: Cleanup rt2x00mac_bss_info_changed() Since patch "rt2x00: bss_info_changed() callback is allowed to sleep" the variable delayed wasn't used anymore. This means it can be removed along with the call to schedule_work which depended on that variable. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 06e4da268c0e8f3b8408403d65e47d2885a78ff2 Author: Gábor Stefanik Date: Wed Aug 26 20:51:26 2009 +0200 ssb: Implement PMU LDO control and use it in b43 Implement the "PMU LDO set voltage" and "PMU LDO PA ref enable" functions, and use them during LP-PHY baseband init in b43. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 68ec53292c7f09056152efa9a6ee2591c794f08c Author: Gábor Stefanik Date: Wed Aug 26 20:51:25 2009 +0200 b43: Fix and update LP-PHY code -Fix a few nasty typos (b43_phy_* operations instead of b43_radio_*) in the channel tune routines. -Fix some typos & spec errors found by MMIO tracing. -Optimize b43_phy_write & b43_phy_mask/set/maskset to use only the minimal number of MMIO accesses. (Write is possible using a single 32-bit MMIO write, while set/mask/maskset can be done in 3 16-bit MMIOs). -Set the default channel back to 1, as the bug forcing us to use channel 7 is now fixed. With this, the device comes up, scans, associates, transmits, receives, monitors and injects on all channels - in other words, it's fully functional. Sensitivity and TX power are still sub-optimal, due to the lack of calibration (that's next on my list). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit d8fa338ee01e7de029d2441a8c2b9c5fbfeac82f Author: Gábor Stefanik Date: Wed Aug 26 20:51:24 2009 +0200 b43: LP-PHY: Fix and simplify Qdiv roundup The Qdiv roundup routine is essentially a fixed-point division algorithm, using only integer math. However, the version in the specs had a major error that has been recently fixed (a missing quotient++). Replace Qdiv roundup with a rewritten, simplified version. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit ca9152e37f57259ca92486ca5753af16fd9155c6 Author: Herton Ronaldo Krzesinski Date: Wed Aug 26 13:54:09 2009 -0300 rtl8187: Implement rfkill support This change implements rfkill support for RTL8187B and RTL8187L devices, using new cfg80211 rfkill API. Acked-by: Larry Finger Tested-by: Hin-Tak Leung Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 6a8171f261eec3577c2a5985e3a2b51377e48931 Author: Herton Ronaldo Krzesinski Date: Wed Aug 26 13:54:08 2009 -0300 rtl8187: fix circular locking (rtl8187_stop/rtl8187_work) Larry Finger reports following lockdep warning: [ INFO: possible circular locking dependency detected ] 2.6.31-rc6-wl #201 ------------------------------------------------------- rfkill/30578 is trying to acquire lock: (&(&priv->work)->work#2){+.+...}, at: [] __cancel_work_timer+0xd9/0x222 but task is already holding lock: (&priv->conf_mutex#2){+.+.+.}, at: [] rtl8187_stop+0x31/0x364 [rtl8187] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&priv->conf_mutex#2){+.+.+.}: [] __lock_acquire+0x12d0/0x1614 [] lock_acquire+0xb9/0xdd [] mutex_lock_nested+0x56/0x2a8 [] rtl8187_work+0x3b/0xf2 [rtl8187] [] worker_thread+0x1fa/0x30a [] kthread+0x8f/0x97 [] child_rip+0xa/0x20 [] 0xffffffffffffffff -> #0 (&(&priv->work)->work#2){+.+...}: [] __lock_acquire+0x1005/0x1614 [] lock_acquire+0xb9/0xdd [] __cancel_work_timer+0x112/0x222 [] cancel_delayed_work_sync+0xd/0xf [] rtl8187_stop+0x34c/0x364 [rtl8187] [] ieee80211_stop_device+0x29/0x61 [mac80211] [] ieee80211_stop+0x476/0x530 [mac80211] [] dev_close+0x8a/0xac [] cfg80211_rfkill_set_block+0x4a/0x7a [cfg80211] [] rfkill_set_block+0x84/0xd9 [rfkill] [] rfkill_fop_write+0xda/0x124 [rfkill] [] vfs_write+0xae/0x14a [] sys_write+0x47/0x6e [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff The problem here is that rtl8187_stop, while helding priv->conf_mutex, runs cancel_delayed_work_sync on an workqueue that runs rtl8187_work, which also takes priv->conf_mutex lock. Move cancel_delayed_work_sync out of rtl8187_stop priv->conf_mutex locking region. Reported-by: Larry Finger Tested-by: Larry Finger Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: John W. Linville commit 1773912bd25196c2a3ca6c174574561363f43b2b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:50 2009 +0530 ath9k: Add Bluetooth Coexistence 3-wire support This patch adds 3-wire bluetooth coex support for AR9285. This support can be enabled through btcoex_enable modparam. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ff155a45cea56ad7a90c3f5192db59a4c7812fde Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:49 2009 +0530 ath9k: Add infrastructure for generic hw timers Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 81fa16fbe06cb3a4d29cc5a6f925132554521c72 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:48 2009 +0530 ath9k: Remove hw capability bit meant for btcoex We don't need a hw cap bit for btcoex anymore as btcoex scheme type is enough to do this. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 22f25d0d5e146112d4ec464564ebb49a5b8a547b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:47 2009 +0530 ath9k: Determine btcoex scheme type based on chip version Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f14462c6661c6b9e91d436f7ab66b35ed52ea703 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:46 2009 +0530 ath9k: Move btcoex related data to a separate struct Also define macros for wlanactive and btactive (5 & 6) gpios. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 42cc41edf24b75fc6c37c99aed6e85455687e080 Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:45 2009 +0530 ath9k: Configure btcoex register during every reset Make sure btcoex register configured with appropriate values after it is initialized with the default values from initvals.h during reset. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 17d50d1df48631ae868958032edada7aa920636b Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:44 2009 +0530 ath9k: Move btcoex stuff from hw.[ch] to new btcoex.[ch] Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit f985ad12b595094839fddaf757fcf5d853ed3d7f Author: Vasanthakumar Thiagarajan Date: Wed Aug 26 21:08:43 2009 +0530 ath9k: Split ath9k_hw_btcoex_enable() into two logical pieces This function currently does initialization + enable the btcoex support. Split it into two logical functions which does the above operations separately. Btcoex initialization is done during attach time and enabling this feature is done in start(). Also, add code to disable btcoex support in stop(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 4a7f13eef508012bd1b0ffbb24b807e3494f31cd Author: Jussi Kivilinna Date: Wed Aug 26 15:53:02 2009 +0300 rndis_wlan: set cipher suites for cfg80211 rndis_wlan does not set cipher suites list for cfg80211 which causes wext-compat-range to report rndis_wlan not supporting WPA. Patch adds cipher suites list and fixes NetworkManager not being able to connect to WPA encrypted APs. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7cf4a2e778ab18c66cd8dd4785aceb2800d49f79 Author: Sujith Date: Wed Aug 26 11:11:57 2009 +0530 ath9k: Wrap DMA dump function with PS wakeup/restore When dumping register contents, HW has to be awake. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b264c673a03329b5e5bab79b705b5bb5ab1fe965 Author: Sujith Date: Wed Aug 26 08:39:55 2009 +0530 ath9k: Update INITVALs for AR9285 Signed-off-by: Sujith Signed-off-by: John W. Linville commit 20caf0dd4131d030c2a4099e2c2766ec7a5e83ea Author: Sujith Date: Wed Aug 26 08:39:52 2009 +0530 ath9k: Handle PA cal usage properly PA Calibration is not needed for high power solutions. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0abb0968795b55ecb102bf635a94a087bbb5aff5 Author: Sujith Date: Wed Aug 26 08:39:50 2009 +0530 ath9k: Fix bugs in programming registers during PA CAL * First PA driver (PDPADRV1) was not powered down properly. * Compensation capacitor for dynamic PA was programmed incorrectly. Also, remove a stray REG_READ. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a13883b0bfcc435e4b7fbbde6334339aac8b1dc4 Author: Sujith Date: Wed Aug 26 08:39:40 2009 +0530 ath9k: Reduce the frequency of PA offset calibration PA calibration need not be done if the offset is not varying. The current logic does PA calibration even if the offset is the same. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b8ecd988b1670035a05035c553c08331214d6603 Author: John W. Linville Date: Tue Aug 25 14:12:25 2009 -0400 libipw: initiate cfg80211 API conversion Initiate the conversion of libipw to the new cfg80211 configuration API. For now, leave CONFIG_IPW2200_PROMISCUOUS stuff alone. Eventually migrate it to cfg80211 when the add/del/change_virtual_intf methods are implemented. Signed-off-by: John W. Linville commit 73f57f8398ed6cba82f9856e20d94d71e6edb3e2 Author: Roel Kluin Date: Fri Aug 7 23:50:00 2009 +0200 ath9k: Fix read buffer overflow Prevent a read of powInfo[-1] in the first iteration. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 5bf6fcc2bbfb90d997f88c969f1ceee35d064a24 Author: Jouni Malinen Date: Tue Aug 25 17:44:28 2009 +0300 mac80211: Check pending scan request after having processed mgd work When the queued management work items are processed in ieee80211_sta_work() an item could be removed. This could change the anybusy from true to false, so we better check whether we can start a new scan only after having processed the pending work first. Signed-off-by: Jouni Malinen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 15db0b7fd872b0312033666d3a82e1214a227ec0 Author: Johannes Berg Date: Tue Aug 25 16:33:47 2009 +0200 mac80211: fix scan cancel on ifdown When an interface is taken down while a scan is pending -- i.e. a scan request was accepted but not yet acted upon due to other work being in progress -- we currently do not properly cancel that scan and end up getting stuck. Fix this by doing better checks when an interface is taken down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6bd5f5208fac04d00325b458355e4a4abda76595 Author: Gábor Stefanik Date: Tue Aug 25 16:17:48 2009 +0200 b43: LP-PHY: Fix a few typos in the RC calibration code The RC calibration code has some typos - fix them. Also, make the default channel 7, as channel 1 is still broken (only channels 7 and 8, and occasionally 9 work). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1e4c7ddc3c34b3e129ec34b3f90bd6359743a5bb Author: Jaswinder Singh Rajput Date: Tue Aug 25 15:28:45 2009 +0530 PRISM54: fix compilation warning CC [M] drivers/net/wireless/prism54/islpci_eth.o drivers/net/wireless/prism54/islpci_eth.c: In function ‘islpci_eth_cleanup_transmit’: drivers/net/wireless/prism54/islpci_eth.c:53: warning: cast from pointer to integer of different size drivers/net/wireless/prism54/islpci_eth.c: In function ‘islpci_eth_receive’: drivers/net/wireless/prism54/islpci_eth.c:453: warning: cast from pointer to integer of different size Signed-off-by: Jaswinder Singh Rajput Signed-off-by: John W. Linville commit 1c81874078dc96b8158ce7b0dab54afe43c8d03e Author: Bob Copeland Date: Mon Aug 24 23:00:33 2009 -0400 ath5k: add hardware CCMP encyption support Recent ath5k hardware is capable of doing CCMP acceleration. Enable it for the cards that support it. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 1c5256bb168faca5ce32a9c9511c8389f9fed31c Author: Bob Copeland Date: Mon Aug 24 23:00:32 2009 -0400 ath5k: use the skb->cb directly for RX status Save a memcpy by just storing updates directly in the skb control block. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 09c9bae26b0d3c9472cb6ae45010460a2cee8b8d Author: Marcos Chaparro Date: Mon Aug 24 23:00:31 2009 -0400 ath5k: add led pin configuration for compaq c700 laptop With this patch, a compaq c700 can turn on the wifi led. The array of compatible devices now includes the hardware present in this computer, as well as the led pin and polarity. Signed-off-by: Marcos Chaparro Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 56d1de0a21db28e41741cfa0a66e18bc8d920554 Author: Bob Copeland Date: Mon Aug 24 23:00:30 2009 -0400 ath5k: clean up filter flags setting The maze of if() statements in configure_filter is confusing. Reorganizing it as a switch statement makes it more apparent what is going on and reveals several suspicious settings. This has no functional changes, though it does remove some redundant flags that are set earlier. Also now that we can sleep, protect sc->filter_flags with the sc lock. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit eadac6bf95e1945bb64e6f8f22d8509391645e2e Author: Arnd Hannemann Date: Mon Aug 24 20:51:46 2009 +0200 mac80211: Fix output of minstrels rc_stats An integer overflow in the minstrel debug code prevented the throughput to be displayed correctly. This patch fixes that, by permutating operations like proposed by Pavel Roskin. Signed-off-by: Arnd Hannemann Signed-off-by: John W. Linville commit 2aa7b01fe4f2d0978115bfd40364f52d86003606 Author: Lennert Buytenhek Date: Mon Aug 24 15:48:07 2009 +0200 mwl8k: separate driver and device info reporting during probe Only print the driver version once, and condense all per-PHY information to a single line. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 76c962a204f8d36b762440aa941fcea3d44e2fd2 Author: Lennert Buytenhek Date: Mon Aug 24 15:42:56 2009 +0200 mwl8k: missing endian conversion when printing firmware command result Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 39a1e42eb4d0a2bc3f1211e9012bd23734ab86db Author: Lennert Buytenhek Date: Mon Aug 24 15:42:46 2009 +0200 mwl8k: fix pci dma mapping leak in mwl8k_post_cmd() error path Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 942457d63fedd08ce7330b89fc2934be02c3fecc Author: Lennert Buytenhek Date: Mon Aug 24 15:42:36 2009 +0200 mwl8k: fix inverted error test in mwl8k_bss_info_changed() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 77a980dc6c4674fc7741d72b9775135669318d8d Author: Johannes Berg Date: Mon Aug 24 11:46:30 2009 +0200 mac80211: fix RX skb leaks In mac80211's RX path some of the warnings that warn about drivers passing invalid status values leak the skb, fix that by refactoring the code. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0448b5fc032ea76096eb3cfbe3196b3c01b08b86 Author: Roel Kluin Date: Sat Aug 22 21:15:49 2009 +0200 nl80211: jump to out_err upon unsupported iftype Jump to out_err when the iftype is not supported. Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit 229a7ef7c2861f9ecb7e025f4bd4ea1167fbb0a7 Author: Joerg Albert Date: Fri Aug 21 22:53:37 2009 +0200 ar9170: remove unnecessary call to ar9170_set_beacon_timers Signed-off-by: Joerg Albert Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit ea39d1a4027cca99cc75126f574633c3b72da04a Author: Joerg Albert Date: Fri Aug 21 23:25:07 2009 +0200 ar9170: cleanup of bss_info_changed and beacon config Add beacon control by BSS_CHANGED_BEACON_ENABLED and bss_conf->enable_beacon from mac80211. Signed-off-by: Joerg Albert Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a0bf797ff10cdbc15e8abe1309e7ab397f61691f Author: Reinette Chatre Date: Fri Aug 21 14:03:51 2009 -0700 MAINTAINERS: Update ipw2x00 and iwlwifi entries Update MAINTAINERS file to reflect current maintenance status of ipw2x00 drivers. We remove James's name as he is not involved with this project anymore. We also update the Status to "Odd Fixes". This has been true for a while now, we have to make it official. There is also a new email address with which all relevant people can be reached. The same email address should be used for iwlwifi. Signed-off-by: Reinette Chatre Cc: James Ketrenos Acked-by: James Ketrenos Acked-by: Zhu Yi Signed-off-by: John W. Linville commit c1eb2c82e5ccc9b691f737c3150e746c9af3ffab Author: Reinette Chatre Date: Fri Aug 21 13:34:26 2009 -0700 ipw2x00: update contact information Intel Linux wireless folks can be reached via this address. Signed-off-by: Reinette Chatre Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 5bddf54962bf68002816df710348ba197d6391bb Author: Wey-Yi Guy Date: Fri Aug 21 13:34:25 2009 -0700 iwlwifi: fix unloading driver while scanning If NetworkManager is busy scanning when user tries to unload the module, the driver can not be unloaded because HW still scanning. Make sure driver sends abort scan host command to uCode if it is in the middle of scanning during driver unload. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b2ccb4dbe77eaebb6b286402c31b4e2b1155660f Author: Abhijeet Kolekar Date: Fri Aug 21 13:34:24 2009 -0700 iwlwifi: fix remove key error Fix following error by sending synchronous command and waiting for the command to complete. mac80211-phy0: failed to remove key (0, ff:ff:ff:ff:ff:ff) from hardware (-16). -16 is EBUSY error. The asynchronous command tests for STATUS_EXIT_PENDING while interface is getting down and it returns -EBUSY error if set. Changing the host command from asynchronous call to synchronous call enables command to be run while interface is going down. Signed-off-by: Abhijeet Kolekar Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ab9fd1bf76ffebf6c3b3d5800092387edf1201b9 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:23 2009 -0700 iwlwifi: read enhanced tx power info from EEPROM image For 6000 series and up, additional enhanced regulatory tx power limitation information is added to EEPROM image. In order to setup the tx power limitation per channel correctly. Read the enhanced tx power information from EEPROM image and update accordingly. The information is provided per SISO (a,b,c) chain based, it also has information for both MIMO2 and MIMO3. For tx power regulatory limitation, take the highest number from all the chains and update. Also update tx_power_user_lmt to the highest power supported by any channels and chains Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c4d9b50986b4264f32883d19ac260a11647860e1 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:22 2009 -0700 iwlwifi: remove duplicated define Remove duplicated define "STA_FLG_PWR_SAVE_MSK" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c5f8cdb72e3940d647980358dec0aba945a3bb57 Author: Daniel C Halperin Date: Fri Aug 21 13:34:21 2009 -0700 iwlwifi: set HT flags in ieee80211_rx_status for received packets Add code to set the HT flags (HT, 40 MHz, Short guard interval) in the ieee80211_rx_status field passed to mac80211. This ensures that mac80211 processes these HT packets correctly. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7ebaeff8ae0ba14c086b117f451c5b40bea8a64b Author: Daniel C Halperin Date: Fri Aug 21 13:34:20 2009 -0700 iwlwifi: clear rate control flags on non-HT packet Clear the flags (most importantly, the IEEE80211_TX_RC_MCS flag) when sending a non-HT packet so that the rate index can be properly treated. This fixes the reporting of legacy rates in wireless-extensions for packets sent after an HT packet. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f204b2487e5503ca4a9f3e69dcd63f6af979aaac Author: Wey-Yi Guy Date: Fri Aug 21 13:34:19 2009 -0700 iwlwifi: show current tx power debugFs file show current tx power for all the transmit chains Adding "tx_power" file in /sys/kernal/debug/ieee80211/phy0/iwlagn/debug to display current tx power for all the active chains in 1/2 dB step. Show tx power information "Not available" if uCode can not provide the information or interface is down. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fcbaf8b06da385c73cb6218f079e9ddba9ee9f7c Author: Wey-Yi Guy Date: Fri Aug 21 13:34:18 2009 -0700 iwlwifi: change IWL6000_UCODE_API_MAX to v4 uCode version changed to v4 for 6000 series The additional parameter added to v4 is providing current tx power for each chain in tx statistics portion of "statistics notification" command. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5eadd94bd4006aacf12052c447bcc997bf6ecd28 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:17 2009 -0700 iwlwifi: error checking for setting tx_power in sysfs Perform error checking and report failure when setting tx power from sysfs. If fail to set the tx power, do not update the local copy, so user will not see the incorrect tx power in sysfs Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit dc1b09733215e19f6a0f676be2744fe2f5471d85 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:16 2009 -0700 iwlwifi: name changes from "tx_power_channel_lmt" to "tx_power_device_lmt" Changing the name from "tx_power_channel_lmt" to "tx_power_device_lmt"; to give idea that scope of limit is for overall device, not any individual channels Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 08f2d58d0e573d13a8eb0afbb6f3122da37b9ce3 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:15 2009 -0700 iwlwifi: do not allow set tx power over channel power limit When setting tx power in sysfs, check against max channel tx power limit instead of IWL_TX_POWER_TARGET_POWER_MAX. Different devices have different max tx power limit; using IWL_TX_POWER_TARGET_POWER_MAX can excess the limitaion and give wrong information. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02eec9c5a1d3e9a2bed5e6221970febef38fc080 Author: Wey-Yi Guy Date: Fri Aug 21 13:34:14 2009 -0700 iwlwifi: set default tx power user limit to minimal Set the tx_power_user_lmt to the lowest power level this value will get overwritten by channel's max power avg from eeprom Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit aa065263ecb0b0df096ff4b02b2fb88060dd2d45 Author: Gábor Stefanik Date: Fri Aug 21 20:44:09 2009 +0200 iwlwifi: Make injection of non-broadcast frames work again Commit 1ccb84d87d04df3c76cd4352fe69786d8c7cf016 by Wey-Yi Guy ("iwlwifi: clean up unused NL80211_IFTYPE_MONITOR for Monitor mode") broke injection of non-broadcast frames to unassociated stations (causing a SYSASSERT for all such injected frames), due to injected frames no longer automatically getting a broadcast station ID assigned. This patch restores the old behavior, fixing the aforementioned regression. Also, consistently check for IEEE80211_TX_CTL_INJECTED instead of iwl_is_monitor_mode in the TX path, as TX_CTL_INJECTED specifically means that a given packet is coming from a monitor interface, while iwl_is_monitor_mode only shows whether a monitor interface exists on the device. Signed-off-by: Gábor Stefanik Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 9d45368a3825349d8ba686bc36df589d16577dd4 Author: Marek Vasut Date: Fri Aug 21 04:08:16 2009 +0200 libertas: Add support for Marvell Libertas CF8305 The CF8305 is a very old silicon running firmware version 3.0 . This card also needs some special treatment as it's so old it can't do unaligned register access. But since that happens only at one place, there were no changes made to the register access functions, but instead that particular place was fixed. Also, this card uses only one-stage firmware which is loaded the same way as helper firmware. The second-stage firmware isn't loaded on this card and doesn't therefore have to be supplied. Signed-off-by: Marek Vasut Signed-off-by: John W. Linville commit ca4fe30097d700c595c13362200083650759e104 Author: Dan Williams Date: Fri Aug 21 09:35:20 2009 -0500 libertas: clean up and clarify get_common_rates Clarify what the heck the function is doing with better variable names and less indirection and better comments. Also ensure callers use the proper minimum size, even though all rates arrays should be size MAX_RATES anyway. Reverts part of Andrey's dynamic alloc patch since we don't really need it. Also leaves the passed-in rates array alone on errors. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 1e3d31c589a6bcb05cd7fccccf9657c27b0e3dd1 Author: Roel Kluin Date: Sun Aug 2 09:44:12 2009 +0200 libertas: Read buffer overflow Check whether index is within bounds before testing the element. (also includes "Libertas: Association request to the driver failed" The size of the tmp buffer was too small, causing a regression rates->rates has an arraysize of 1, so a memcpy with MAX_RATES (14) was already causing reads out of bounds. In get_common_rates() the memset/memcpy can be moved upwards. -- JWL) Signed-off-by: Roel Kluin Tested-by: Daniel Mack Signed-off-by: John W. Linville commit 1c4e9ab3f1cc458306b3b910000371ba4f71c4d2 Author: Arnd Hannemann Date: Fri Aug 21 16:11:30 2009 +0200 mac80211: Remove unnused throughput field from minstrel_rate. I noticed that the throughput field of the minstrel_rate struct is never used, so remove it. Signed-off-by: Arnd Hannemann Signed-off-by: John W. Linville commit ea77f12f2cc0f31168f2e0259e65a22202ac4dc2 Author: Johannes Berg Date: Fri Aug 21 14:44:45 2009 +0200 mac80211: remove tasklet enable/disable Due to the way the tasklets work in mac80211 there's no need to ever disable them. However, we need to clear the pending packets when taking down the last interface because otherwise the tx_pending_tasklet might be queued if the driver mucks with the queues (which it shouldn't). I've had a situation occasionally with ar9170 in which ksoftirq was using 100% CPU time because a disabled tasklet was scheduled, and I think that was due to ar9170 receiving a packet while the tasklet was disabled. That's strange and it really should not do that for other reasons, but there's no need to waste that much CPU time over it, it should just warn instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3d54d25515838543e56889aa7e48f40d00719368 Author: Johannes Berg Date: Fri Aug 21 14:51:05 2009 +0200 cfg80211: clean up properly on interface type change When the interface type changes while connected, and the driver does not require the interface to be down for a type change, it is currently possible to get very strange results unless the driver takes special care, which it shouldn't have to. To fix this, take care to disconnect/leave IBSS when changing the interface type -- even if the driver may fail the call. Also process all events that may be pending to avoid running into a situation where an event is reported but only processed after the type has already changed, which would lead to missing events and warnings. A side effect of this is that you will have disconnected or left the IBSS even if the mode change ultimately fails, but since the intention was to change it and thus leave or disconnect, this is not a problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f7969969f416e593bcc7dc24abf3f9fd6c27136d Author: Johannes Berg Date: Fri Aug 21 12:23:49 2009 +0200 cfg80211: make spurious warnings less likely, configurable Bob reported that he got warnings in IBSS mode about the ssid_len being zero on a joined event, but only when kmemcheck was enabled. This appears to be due to a race condition between drivers and userspace, when the driver reports joined but the user in the meantime decided to leave the IBSS again, the warning would trigger. This was made more likely by kmemcheck delaying the code that does the check and sends the event. So first, make the warning trigger closer to the driver, which means it's not locked, but since only the warning depends on it that's ok. And secondly, users will not want to have spurious warnings at all, so make those that are known to be racy in such a way configurable. Reported-by: Bob Copeland Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3d832611d794b3d312d26a4b251ac5285206f90d Author: Sujith Date: Fri Aug 21 12:00:28 2009 +0530 ath9k: Fix chainmask selection during scanning The TX/RX chainmasks were set to 1x1 during scanning. Configure them properly with the values retrieved from the EEPROM. Also, this requires scan_start/scan_end callbacks to be locked with sc->mutex. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 103bf9f7d35849bce52ad412e4da5063b0716969 Author: John W. Linville Date: Thu Aug 20 16:34:15 2009 -0400 mac80211: remove ieee80211_rx namespace hack With the libipw naming scheme change, it is no longer necessary for mac80211 to avoid the ieee80211_rx name clash. Reported-by: Johannes Berg Signed-off-by: John W. Linville commit b0a4e7d8a291de63f35b04464de9ab4a83d38a7c Author: John W. Linville Date: Thu Aug 20 14:48:03 2009 -0400 libipw: switch from ieee80211_* to libipw_* naming policy This eliminates the dual definition of ieee80211_channel (and possibly others), further clarifying who defines what and paving the way for inclusion of cfg80211.h. Signed-off-by: John W. Linville commit 01a0ac417ce9b4f1216a266f2fd454cffefc5aee Author: Johannes Berg Date: Thu Aug 20 21:36:16 2009 +0200 cfg80211: check lost scans later, fix bug When we lose a scan, cfg80211 tries to clean up after the driver. However, it currently does this too early, it does this in GOING_DOWN already instead of DOWN, so it may happen with mac80211. Besides fixing this, also make it more robust by leaking the scan request so if the driver later actually finishes the scan, it won't crash. Also check in ___cfg80211_scan_done whether a scan request is still pending and exit if not. Reported-by: Felix Fietkau Signed-off-by: Johannes Berg Tested-by: Felix Fietkau Signed-off-by: John W. Linville commit 40ba60ddfeff8ef42fb33c0bdacfbb5f83e96b32 Author: Jussi Kivilinna Date: Thu Aug 20 21:00:34 2009 +0300 rndis_wlan: fix broken logic in add_wep_key() add_wep_key() tries to check if key length is not 5 AND not 13 but uses (key_len != 5 || key_len != 13) instead. Fix this. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 84f6a01ce05fa671f7745b6e041e698a2d1f1341 Author: Johannes Berg Date: Thu Aug 20 20:02:20 2009 +0200 mac80211: fix configure_filter invocation after stop Since configure_filter can sleep now, any multicast configuration needed to be postponed to a work struct. This, however, lead to a problem that we could queue the work, stop the device and then afterwards invoke configure_filter which may lead to driver hangs and is a bug. To fix this, we can just cancel the filter work since it's unnecessary to do after stopping the hw. Since there are various places that call drv_stop, and two of them do very similar things, the code for them can be put into a shared function at the same time. Signed-off-by: Johannes Berg Reported-by: Lennert Buytenhek Tested-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5eb6ba83aa326e2f2cf9109d20df5d6a497b36bb Author: Javier Cardona Date: Thu Aug 20 19:12:07 2009 -0700 ath9k: Add support FIF_OTHER_BSS filtering mode. Support for FIF_OTHER_BSS was missing. This patch adds support for this filtering mode which in turn resolves a problem where mesh interfaces would not receive broadcast traffic. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 9e03fdfd05e733e1136d431973625b174029c5e6 Author: Javier Cardona Date: Thu Aug 20 09:21:45 2009 -0700 mac80211: Update mesh config IE to 11s draft 3.02 The mesh config information element has changed significantly since draft 1.08 This patch brings it up to date. Thanks to Sam Leffler and Rui Paulo for identifying this. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 90d6f92828a081a86cb4f9644b6eef6207855050 Author: Christian Lamparter Date: Thu Aug 20 20:22:01 2009 +0200 p54: fix broadcast buffering in AP mode The patch "mac80211: fix PS-poll response race" somehow broke broadcast buffering in a funny way. During normal operation - stations are awake - the firmware refused to transmit broadcast frames and reported P54_TX_PSM_CANCELLED. But everything worked as soon as one station entered PSM. The reason: The stack sets IEEE80211_TX_CTL_SEND_AFTER_DTIM for outgoing broadcast frames as soon as a station is marked as sleeping. This flag triggers a path which will reroute these frames into p54's "content after beacon" queue, which is designed to cope with the demands for psm. This patch restores the old behavior. IEEE80211_TX_CTL_CLEAR_PS_FILT will once again be used to signalize the firmware to ignore the ps canceling for certain frames. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 7285dd7fd375763bfb8ab1ac9cf3f1206f503c16 Author: Thomas Gleixner Date: Fri Aug 28 20:25:24 2009 +0200 clocksource: Resolve cpu hotplug dead lock with TSC unstable Martin Schwidefsky analyzed it: To register a clocksource the clocksource_mutex is acquired and if necessary timekeeping_notify is called to install the clocksource as the timekeeper clock. timekeeping_notify uses stop_machine which needs to take cpu_add_remove_lock mutex. Starting a new cpu is done with the cpu_add_remove_lock mutex held. native_cpu_up checks the tsc of the new cpu and if the tsc is no good clocksource_change_rating is called. Which needs the clocksource_mutex and the deadlock is complete. The solution is to replace the TSC via the clocksource watchdog mechanism. Mark the TSC as unstable and schedule the watchdog work so it gets removed in the watchdog thread context. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: Martin Schwidefsky Cc: John Stultz commit 36d568ec055cb3ac4507d38ebabba955cdbb443e Author: Paul Walmsley Date: Fri Aug 28 11:24:17 2009 -0700 OMAP3: update OMAP3 Beagle defconfig Update the OMAP3 Beagle defconfig to add EHCI, MMC, TWL4030 GPIO support. Beagle can again use MMC rootfs after this patch. Tested on BeagleBoard rev C2. Patch updated to enable PM and OTG options as suggested by Eric Witcher . Signed-off-by: Paul Walmsley Cc: Jason Kridner Acked-by: Felipe Balbi Signed-off-by: Tony Lindgren commit bd04e46558380aaba0caab6325c07a3c6bf27706 Author: Felipe Balbi Date: Fri Aug 28 11:24:15 2009 -0700 OMAP3: beagle: add missing twl4030 usb platform_data without it twl4030_usb driver will not probe. Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 1eab46a2ea36deda9621ae507319812bb1f82f92 Author: Vikram Pandita Date: Fri Aug 28 11:24:14 2009 -0700 OMAP3: Zoom2: Update board defconfig Update defconfig for Zoom2 to include TWL4030 core TWL4030 drivers (bci, gpio, keypad, usb, mmc) Also sync the defconfig after issuing a menuconfig Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 70ac51ab2cd9ddc7ded24adbe63fc6fd3557e44c Author: Vikram Pandita Date: Fri Aug 28 11:24:13 2009 -0700 OMAP3: Zoom2: Add TWL4030 support Add TWL4030 CORE and TWL4030 drivers to Zoom2 board file TWL drivers enabled are: bci madc usb keypad mmc Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 57b9daa0e18167e8ba449bc236c3f4a755dd1833 Author: Vikram Pandita Date: Fri Aug 28 11:24:11 2009 -0700 OMAP3: MMC: Add mux for pins For OMAP3 add MMC1 MMC2 pin mux MMC3 mux is not added as there are multiple configurations possible, so the muxing is left to be done in board file. Signed-off-by: Vikram Pandita Signed-off-by: Chikkature Rajashekar Signed-off-by: Tony Lindgren commit ac2a048c3cc7c76d848093298ffa452558a7b2e8 Author: Timo Kokkonen Date: Fri Aug 28 11:24:10 2009 -0700 OMAP3: rx51_defconfig: add twl4030 to rx51 default configuration twl4030 watchdog will be compiled as a module by default. Signed-off-by: Atal Shargorodsky Signed-off-by: Tony Lindgren commit 8870d946e1ff459453296733f9f389a3a5bc2983 Author: Sergio Aguirre Date: Fri Aug 28 11:24:09 2009 -0700 OMAP3: 3430SDP: Fix defconfig This patch makes the SDP boot again with the defconfig. Changes done: - Removes other selected boards. - Sets the Low Level debug output for UART1. - Disables some paripherals from other boards. Tested on a SDP3430-VE5.1.0 (OMAP3430 ES3.1) Signed-off-by: Sergio Aguirre Signed-off-by: Tony Lindgren commit c426df87d8197cde077d03c808f52e3a17045b09 Author: Vikram Pandita Date: Fri Aug 28 11:24:08 2009 -0700 OMAP2/3: Pass irqflags to 8250 driver Pass irqflags to 8250 driver with platform_data. At least Zoom2 has IRQF_TRIGGER_RISING requirement for the 8250 GPIO irq. This patch is dependent on 8250 driver changes getting accepted upstream: http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=commit;h=7053133124d5cdf207c1168c7a0c582a18e12ea7 Signed-off-by: Vikram Pandita Signed-off-by: Tony Lindgren commit 14e0e6796a0d460ac6f7727616161dc317bbbf3a Author: Hiroshi DOYU Date: Fri Aug 28 10:54:41 2009 -0700 OMAP: iommu: add initial debugfs support This enables to peek the following data. $ /debug/iommu/isp# ls mem nr_tlb_entries regs mmap pagetable tlb $ /debug/iommu/isp# head pagetable L: da: pa: ----------------------------------------- 2: 00001000 8ae4a002 2: 00002000 8e7bb002 2: 00003000 8ae49002 2: 00004000 8ae65002 ..... Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit 613f77696e2c489e87def86a443fb4889acb95aa Author: Hiroshi DOYU Date: Fri Aug 28 10:54:40 2009 -0700 OMAP: iommu: fix wrong argument in flush_cache_vmap() The second argument should be the end address, not the length. Actually there will not be any effect on the behavior of this driver since flush_cache_vmap() calls flush_cache_all() in the end. Signed-off-by: Hiroshi DOYU Signed-off-by: Tony Lindgren commit af933f4729f2cc25306f1a514d55c248da480d66 Author: Kalle Valo Date: Fri Aug 28 10:51:38 2009 -0700 OMAP2: n8x0: add n8x0_defconfig Add defconfig file for OMAP2 N800 and N810 devices. Signed-off-by: Kalle Valo Signed-off-by: Tony Lindgren commit 6313881292c238190bc119404ae13f65c61b2daa Author: Kalle Valo Date: Fri Aug 28 10:51:38 2009 -0700 OMAP2: add board file for Nokia N800 and N810 Add board file for Nokia N800 and N810 devices. Currently only serial ports, onenand and spi are configured, more to come later. Tested on Nokia N800. Signed-off-by: Kalle Valo Signed-off-by: Tony Lindgren commit 1b52d5df64bea12bed82dbc1c736638e77d1ce80 Author: Kalle Valo Date: Fri Aug 28 10:51:37 2009 -0700 OMAP2: compile usb-tusb6010.c For some reason usb-tusb6010.c was't compiled, add it to Makefile and Kconfig. This is prepraration for upcoming n8x0 support. Signed-off-by: Kalle Valo Signed-off-by: Tony Lindgren commit eff443df679ea7e553830db992e2f02707ddbb47 Author: Janusz Krzysztofik Date: Fri Aug 28 10:51:37 2009 -0700 OMAP1: AMS_DELTA: add modem support This patch adds support for modem device found on Amstrad E3 (Delta) board. Based on earlier patch by Jonathan McDowell, available at http://the.earth.li/pub/e3/2.6.19/ams-delta-modem.patch. Modified after Ladislav Michl's arch/arm/mach-omap1/board-voiceblue.c. This patch is dependent on 8250 driver changes getting accepted upstream: http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=commit;h=7053133124d5cdf207c1168c7a0c582a18e12ea7 Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren commit 82dbb9d39f58e3d12b5903764901df5fec759daf Author: Eero Nurkkala Date: Fri Aug 28 10:51:36 2009 -0700 OMAP: GPIO: Avoid generating extra IRQs It is possible for GPIO IRQ lines configured with falling edge triggering only to get IRQs at the rising edge upon the exit of offmode. And vice versa. Prevent such IRQs to arrive by generating the IRQ obeying the detection scheme. Signed-off-by: Eero Nurkkala Signed-off-by: Tony Lindgren commit 79e44c952cec025295b3f0fd0ff2a875689b98c4 Author: Roger Quadros Date: Fri Aug 28 10:51:35 2009 -0700 OMAP: Remove omap boot parsing code Remove left over code for parsing omap boot tags. This is no longer used. see commit fc0ef1bfa1353e048e055374a09c75320d22231b Signed-off-by: Roger Quadros Signed-off-by: Tony Lindgren commit 15ac408ee5a509053a765b816e9179515329369f Author: Kalle Valo Date: Fri Aug 28 10:51:31 2009 -0700 OMAP: UART: drop OMAP_TAG_UART, enable all UARTs, auto-disabled on idle OMAP tags are deprecrated so drop them. Drop UART config data which decides which UARTs to enable during boot. This is no longer necessary since serial core code disables clocks after inactivity. Background: with new UART idle code, all on-chip UARTs are idled using a configurable inactivity timer (default 5 seconds.) After the inactivity timer, UART clocks are disabled automatically. Signed-off-by: Kalle Valo Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 987cadcf3ccf9e5bde7a31d9be392f9de5f88833 Author: Kalle Valo Date: Fri Aug 28 10:51:29 2009 -0700 OMAP: remove OMAP_TAG_SERIAL_CONSOLE Omap tags are deprecated and remove OMAP_TAG_SERIAL_CONSOLE. Console must be enabled with the console boot parameter instead. Signed-off-by: Kalle Valo Signed-off-by: Tony Lindgren commit db326be1bca2ddbcac80161953956c8b8bc5b00b Author: Tony Lindgren Date: Fri Aug 28 10:50:37 2009 -0700 OMAP: Remove ifdefs for io.h Remove ifdefs for io.h Signed-off-by: Tony Lindgren commit 6175556fdc0a66ce5f1831e22892fac6f28fc2ec Author: Tony Lindgren Date: Fri Aug 28 10:50:34 2009 -0700 OMAP: Rename OMAP_MPUIO_BASE to OMAP1_MPUIO_BASE Rename OMAP_MPUIO_BASE to OMAP1_MPUIO_BASE Signed-off-by: Tony Lindgren commit 941132606c7611246d2034cb7b01f9270c2d1ede Author: Tony Lindgren Date: Fri Aug 28 10:50:33 2009 -0700 OMAP: Remove OMAP_IO_ADDRESS, use OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS instead Search and replace OMAP_IO_ADDRESS with OMAP1_IO_ADDRESS and OMAP2_IO_ADDRESS, and convert omap_read/write into a functions instead of a macros. Also rename OMAP_MPUIO_VBASE to OMAP1_MPUIO_VBASE. In the long run, most code should use ioremap + __raw_read/write instead. Signed-off-by: Tony Lindgren commit d2c0bdaa9362c4b2ab7416420d034a0a2d1ec979 Author: Jarkko Nikula Date: Fri Aug 28 15:35:35 2009 +0300 ASoC: OMAP: Add functionality to set CLKR and FSR sources in McBSP DAI The McBSP1 port in OMAP3 processors (I believe OMAP2 too but I don't have specifications to check it) have additional CLKR and FSR pins for McBSP1 receiver. Reset default is that receiver is using bit clock and frame sync signal from those pins but it is possible to configure to use also CLKX and FSX pins as well. In fact, other McBSP ports are doing that internally that transmitter and receiver share the CLKX and FSX. Add functionaly that machine drivers can set the CLKR and FSR sources by using the snd_soc_dai_set_sysclk. Thanks to "Aggarwal, Anuj" for reporting the issue. Signed-off-by: Jarkko Nikula Signed-off-by: Mark Brown commit 468de9e54a900559b55aa939a4daeaea1915e572 Author: Andy Adamson Date: Thu Aug 27 12:07:40 2009 -0400 nfsd41: expand solo sequence check Compounds consisting of only a sequence operation don't need any additional caching beyond the sequence information we store in the slot entry. Fix nfsd4_is_solo_sequence to identify this case correctly. The additional check for a failed sequence in nfsd4_store_cache_entry() is redundant, since the nfsd4_is_solo_sequence call lower down catches this case. The final ce_cachethis set in nfsd4_sequence is also redundant. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit 55ad63bf3a30936aced50f13452735c2f58b234c Author: Theodore Ts'o Date: Fri Aug 28 10:40:33 2009 -0400 ext4: fix extent sanity checking code with AGGRESSIVE_TEST The extents sanity-checking code depends on the ext4_ext_space_*() functions returning the maximum alloable size for eh_max; however, when the debugging #ifdef AGGRESSIVE_TEST is enabled to test the extent tree handling code, this prevents a normally created ext4 filesystem from being mounted with the errors: Aug 26 15:43:50 bsd086 kernel: [ 96.070277] EXT4-fs error (device sda8): ext4_ext_check_inode: bad header/extent in inode #8: too large eh_max - magic f30a, entries 1, max 4(3), depth 0(0) Aug 26 15:43:50 bsd086 kernel: [ 96.070526] EXT4-fs (sda8): no journal found Bug reported by Akira Fujita. Signed-off-by: "Theodore Ts'o" commit 0dd7b74787eaf7858c6c573353a83c3e2766e674 Author: Frederic Weisbecker Date: Fri Aug 28 00:50:06 2009 +0200 tracing: Fix double CPP substitution in TRACE_EVENT_FN TRACE_EVENT_FN relays on TRACE_EVENT by reprocessing its parameters into the ftrace events CPP macro. This leads to a double substitution in some cases. For example, a bad consequence is a format always prefixed by "%s, %s\n" for every TRACE_EVENT_FN based events. Eg: cat /debug/tracing/events/syscalls/sys_enter/format [...] print fmt: "%s, %s\n", "\"NR %ld (%lx, %lx, %lx, %lx, %lx, %lx)\"",\ "REC->id, REC->args[0], REC->args[1], REC->args[2], REC->args[3],\ REC->args[4], REC->args[5]" This creates a failure in post-processing tools such as perf trace or trace-cmd. Then drop this double substitution and replace it by a new __cpparg() macro that relays CPP arguments containing commas. Signed-off-by: Frederic Weisbecker Cc: Josh Stone Cc: Li Zefan Cc: Steven Rostedt Cc: Jason Baron LKML-Reference: <1251413406-6704-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 66c6e29f24a50173fc1e761c3e2483c8d64e3b1a Merge: 6c347d4 117226d Author: Ingo Molnar Date: Fri Aug 28 13:53:07 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core commit 119e7a22bb70d84849384e5113792cd45afa4f85 Author: Pierre Habouzit Date: Thu Aug 27 09:59:02 2009 +0200 perf tools: do not complain if root is owning perf.data This improves patch fa6963b24 so that perf.data stuff that has been dumped as root can be read (annotate/report) by a user without the use of the --force. Rationale is that root has plenty of ways to screw us (usually) that do not require twisted schemes involving specially crafting a perf.data. Signed-off-by: Pierre Habouzit Cc: Paul Mackerras Cc: Peter Zijlstra Cc: LKML-Reference: <20090827075902.GF19653@laphroaig.corp> Signed-off-by: Ingo Molnar commit f4890b5c04b6301ef9c3c44ecbfe9955efdbaa17 Author: Chaithrika U S Date: Tue Aug 25 15:22:21 2009 +0300 ASoC: davinci: i2c device creation moved into board files Also, the codec setup data structure has to remain for successful probe. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit 34d76c41554a05425613d16efebb3069c4c545f0 Author: Peter Zijlstra Date: Thu Aug 27 13:08:56 2009 +0200 sched: Fix division by zero - really When re-computing the shares for each task group's cpu representation we need the ratio of weight on each cpu vs the total weight of the sched domain. Since load-balancing is loosely (read not) synchronized, the weight of individual cpus can change between doing the sum and calculating the ratio. The previous patch dealt with only one of the race scenarios, this patch side steps them all by saving a snapshot of all the individual cpu weights, thereby always working on a consistent set. Signed-off-by: Peter Zijlstra Cc: torvalds@linux-foundation.org Cc: jes@sgi.com Cc: jens.axboe@oracle.com Cc: Balbir Singh Cc: Arjan van de Ven Cc: Yinghai Lu LKML-Reference: <1251371336.18584.77.camel@twins> Signed-off-by: Ingo Molnar commit d498bc1f6261dd6f655440eb2f1c7fa25694d3ba Author: Frederic Weisbecker Date: Fri Aug 28 04:46:07 2009 +0200 perf tools: Fix missing string field printing in perf trace Some string fields are not printed because of a missing printf in the post-processing. Before: perf-10070 [000] 0.000000: sched_switch: task :10070 [120] (R) ==> :5720 [120] geany-5720 [000] 0.000000: sched_switch: task :5720 [120] (S) ==> :10070 [120] perf-10070 [000] 0.000000: sched_switch: task :10070 [120] (R) ==> :5720 [120] geany-5720 [000] 0.000000: sched_switch: task :5720 [120] (S) ==> :10070 [120] -0 [000] 0.000000: sched_switch: task :0 [140] (R) ==> :361 [115] After: perf-10070 [000] 0.000000: sched_switch: task perf:10070 [120] (R) ==> geany:5720 [120] geany-5720 [000] 0.000000: sched_switch: task geany:5720 [120] (S) ==> perf:10070 [120] perf-10070 [000] 0.000000: sched_switch: task perf:10070 [120] (R) ==> geany:5720 [120] geany-5720 [000] 0.000000: sched_switch: task geany:5720 [120] (S) ==> perf:10070 [120] -0 [000] 0.000000: sched_switch: task swapper:0 [140] (R) ==> kondemand/1:361 [115] Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251427567-10551-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1ef2ed1066ae9f8080cd96cba11c2d41118b8792 Author: Frederic Weisbecker Date: Fri Aug 28 03:09:58 2009 +0200 perf tools: Only save the event formats we need While opening a trace event counter, every events are saved in the trace.info file. But we only want to save the specifications of the events we are using. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt LKML-Reference: <1251421798-9101-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit cf0baf16c3a3b3dd67ea3df346479032ab10e988 Author: Takashi Iwai Date: Fri Aug 28 07:22:05 2009 +0200 ALSA: Fixed a typo of printk() Fixed a silly typo of printk() included in the previous patch... Signed-off-by: Takashi Iwai commit 9d8340687c524ce61e3c9c76758c4c81303acfc0 Author: David Brownell Date: Tue Aug 25 19:24:14 2009 -0700 Input: add twl4030_keypad driver Add a driver for the keypad controller on TWL4030 family chips. These support up to an 8x8 key matrix. The TWL4030 multifunction chips are mostly used on OMAP3 (or OMAP 2430) based boards. [dtor@mail.ru: switch to matrix-keypad framework, fix changing keymap from userspace] Reviewed-by: Trilok Soni Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit 77a53fd21870c726b670c0d8179294ac1ea33468 Author: Dmitry Torokhov Date: Tue Aug 25 19:24:13 2009 -0700 Input: matrix-keypad - add function to build device keymap Signed-off-by: Dmitry Torokhov commit 8fbac18e8edd974b5234d96a9b8e2a26ab2ac556 Author: Roel Kluin Date: Tue Aug 25 19:24:23 2009 -0700 Input: tosakbd - fix cleaning up KEY_STROBEs after error Direct to fail2 to gpio_free() the KEY_STROBEs as well as the KEY_SENSEs. [dtor@mail.ru: change keymap from unsigned int to unsigned short] Signed-off-by: Roel Kluin Signed-off-by: Dmitry Torokhov commit 999b874f4aa39b7abf45662ff0900f943ddb2d02 Author: Stephen Kitt Date: Tue Aug 25 19:24:22 2009 -0700 Input: joydev - validate axis/button maps before clobbering current ones Up to now axis and button map validation was done after the user-supplied values were copied over the driver's map. This patch copies the user-supplied values into temporary buffers and validated them before overwriting the driver's permanent maps. Also change JSIOCGBTNMAP and JSIOCGAXMAP to return number of bytes returned to userspace instead of 0. Signed-off-by: Stephen Kitt Signed-off-by: Dmitry Torokhov commit 4b61bb575b1fb42ab1df228ae7812e5135f656da Merge: 805423e 326ba50 Author: Dmitry Torokhov Date: Thu Aug 27 22:00:20 2009 -0700 Merge commit 'v2.6.31-rc8' into next commit 77c0a700c1c292edafa11c1e52821ce4636f81b0 Author: Benjamin Herrenschmidt Date: Fri Aug 28 14:25:04 2009 +1000 powerpc: Properly start decrementer on BookE secondary CPUs This moves the code to start the decrementer on 40x and BookE into a separate function which is now called from time_init() and secondary_time_init(), before the respective clock sources are registered. We also remove the 85xx specific code for doing it from the platform code. Signed-off-by: Benjamin Herrenschmidt commit e5a6a1c9094839581242c678b11c93c294108696 Author: Paul Gortmaker Date: Thu Aug 13 09:37:04 2009 +0000 powerpc: derive COMMAND_LINE_SIZE from asm-generic The default COMMAND_LINE_SIZE in asm-generic is 512, so the net effect of this change is nil, aside from the cleanup factor. See also commit 2b74b8569. Signed-off-by: Paul Gortmaker Signed-off-by: Benjamin Herrenschmidt commit 89c2dd62a389c5fed07c4b13c906c43214fc7491 Author: Kumar Gala Date: Tue Aug 25 16:20:45 2009 +0000 powerpc/pci: Pull ppc32 PCI features into common Some of the PCI features we have in ppc32 we will need on ppc64 platforms in the future. These include support for: * ppc_md.pci_exclude_device * indirect config cycles * early config cycles We also simplified the logic in fake_pci_bus() to assume it will always get a valid pci_controller. Since all current callers seem to pass it one. Signed-off-by: Kumar Gala Acked-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit fbe65447197789a3ccccc27755956f6a4c445089 Author: Grant Likely Date: Tue Aug 25 20:07:11 2009 +0000 powerpc/pci: move pci_64.c device tree scanning code into pci-common.c The PCI device tree scanning code in pci_64.c is some useful functionality. It allows PCI devices to be described in the device tree instead of being probed for, which in turn allows pci devices to use all of the device tree facilities to describe complex PCI bus architectures like GPIO and IRQ routing (perhaps not a common situation for desktop or server systems, but useful for embedded systems with on-board PCI devices). This patch moves the device tree scanning into pci-common.c so it is available for 32-bit powerpc machines too. Signed-off-by: Grant Likely Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit ae14e13a4c8bb091dfd5606fd76c9cd272090ab7 Author: Grant Likely Date: Tue Aug 25 20:07:02 2009 +0000 powerpc/pci: Remove dead checks for CONFIG_PPC_OF PPC_OF is always selected for arch/powerpc. This patch removes the stale #defines Signed-off-by: Grant Likely Acked-by: Stephen Rothwell Acked-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit bb1af71ecbfdbecbe9f7e43f703da5840b76c2e4 Author: Kumar Gala Date: Tue Aug 18 19:08:33 2009 +0000 powerpc/book3e-64: Add support to initial_tlb_book3e for non-HES TLB We now search through TLBnCFG looking for the first array that has IPROT support (we assume that there is only one). If that TLB has hardware entry select (HES) support we use the existing code and with the proper TLB select (the HES code still needs to clean up bolted entries from firmware). The non-HES code is pretty similiar to the 32-bit FSL Book-E code but does make some new assumtions (like that we have tlbilx) and simplifies things down a bit. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 4b98d9e713a03bd79ced8800e24a56359f9effbf Author: Kumar Gala Date: Tue Aug 18 19:08:32 2009 +0000 powerpc/book3e-64: Add helper function to setup IVORs Not all 64-bit Book-3E parts will have fixed IVORs so add a function that cpusetup code can call to setup the base IVORs (0..15) to match the fixed offsets. We need to 'or' part of interrupt_base_book3e into the IVORs since on parts that have them the IVPR doesn't extend as far down. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 6c188829d2c20a1d02aedb13db34b3ca2a8f0dc4 Author: Kumar Gala Date: Tue Aug 18 19:08:31 2009 +0000 powerpc/book3e-64: Wait til generic_calibrate_decr to enable decrementer Match what we do on 32-bit Book-E processors and enable the decrementer in generic_calibrate_decr. We need to make sure we disable the decrementer early in boot since we currently use lazy (soft) interrupt on 64-bit Book-E and possible get a decrementer exception before we are ready for it. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit f45c4486f70d0a6502e7499a8664cdc0bba84cd2 Author: Kumar Gala Date: Tue Aug 18 19:08:30 2009 +0000 powerpc/book3e-64: Move the default cpu table entry Move the default cpu entry table for CONFIG_PPC_BOOK3E_64 to the very end since we will probably want to support both 32-bit and 64-bit kernels for some processors that are higher up in the list. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit df5d6ecf8157245ef733db87597adb2c6e2510da Author: Kumar Gala Date: Mon Aug 24 15:52:48 2009 +0000 powerpc/mm: Add MMU features for TLB reservation & Paired MAS registers Support for TLB reservation (or TLB Write Conditional) and Paired MAS registers are optional for a processor implementation so we handle them via MMU feature sections. We currently only used paired MAS registers to access the full RPN + perm bits that are kept in MAS7||MAS3. We assume that if an implementation has hardware page table at this time it also implements in TLB reservations. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 23e55f92d4fd733365dd572ea6e9e211387123c2 Author: Michael Wolf Date: Thu Aug 20 13:21:45 2009 +0000 powerpc: Adjust base and index registers in Altivec macros On POWER6 systems RA needs to be the base and RB the index. If they are reversed you take a misdirect hit. Signed-off-by: Mike Wolf ---- Signed-off-by: Benjamin Herrenschmidt commit e3e1d15855206c85f4c9ed82746e81acfe13e5aa Author: Becky Bruce Date: Mon Aug 24 06:15:36 2009 +0000 powerpc: Name xpn & x fields in HW Hash PTE format Previously, the 36-bit code was using these bits, but they had never been named in the pte format definition. This patch just gives those fields their proper names and adds a comment that they are only present on some processors. There is no functional code change. Signed-off-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 948c28fe3001f2c9d852dff2a0b2c69fe7cec91b Author: Peter Huewe Date: Thu Aug 20 11:14:06 2009 +0000 hvc_console: Add __init and __exit to hvc_vio Trivial patch which adds the __init/__exit macros to the module_init/ module_exit functions of char/hvc_vio.c Please have a look at the small patch and either pull it through your tree, or please ack' it so Jiri can pull it through the trivial tree. linux version 2.6.31-rc6 - linus git tree, Do 20. Aug 22:26:06 CEST 2009 Signed-off-by: Peter Huewe Signed-off-by: Benjamin Herrenschmidt commit 80d3e8abb73dad3983fef2597b52cab8fbcd876b Author: FUJITA Tomonori Date: Tue Aug 4 19:08:28 2009 +0000 powerpc: Add CONFIG_DMA_API_DEBUG support Signed-off-by: FUJITA Tomonori Signed-off-by: Benjamin Herrenschmidt commit 4a9a6bfe707cfe5bcb0a20eabe240293a095cd10 Author: FUJITA Tomonori Date: Tue Aug 4 19:08:27 2009 +0000 powerpc: Handle SWIOTLB mapping error properly Signed-off-by: FUJITA Tomonori Signed-off-by: Benjamin Herrenschmidt commit 46bab4e4b45ec522ecd5fa4a0e2b4a6e6d1f153a Author: FUJITA Tomonori Date: Tue Aug 4 19:08:26 2009 +0000 powerpc: Use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 45223c549273bbb2c6e1bc6e3629174e8765ad01 Author: FUJITA Tomonori Date: Tue Aug 4 19:08:25 2009 +0000 powerpc: use dma_map_ops struct This converts uses dma_map_ops struct (in include/linux/dma-mapping.h) instead of POWERPC homegrown dma_mapping_ops. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit f726f30e32305a34a203ff975e60885aa7556c6a Author: FUJITA Tomonori Date: Tue Aug 4 19:08:24 2009 +0000 dma: Add set_dma_mask hook to struct dma_map_ops POWERPC needs this hook. SPARC could use it too. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 3702977fa7d1a1a95caa387121fa7c9f4cae35f3 Author: FUJITA Tomonori Date: Tue Aug 4 19:08:23 2009 +0000 powerpc: Remove swiotlb_pci_dma_ops Now swiotlb_pci_dma_ops is identical to swiotlb_dma_ops; we can use swiotlb_dma_ops with any devices. This removes swiotlb_pci_dma_ops. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 762afb7317b1987fa0851135fe4f2947f68c3c2a Author: FUJITA Tomonori Date: Tue Aug 4 19:08:22 2009 +0000 powerpc: Remove addr_needs_map in struct dma_mapping_ops This patch adds max_direct_dma_addr to struct dev_archdata to remove addr_needs_map in struct dma_mapping_ops. It also converts dma_capable() to use max_direct_dma_addr. max_direct_dma_addr is initialized in pci_dma_dev_setup_swiotlb(), called via ppc_md.pci_dma_dev_setup hook. For further information: http://marc.info/?t=124719060200001&r=1&w=2 Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce Signed-off-by: Benjamin Herrenschmidt commit 2864697cefb6e7596e39aef933b4131f6c9fa9e1 Merge: 3c2ee2d c7084b3 Author: Benjamin Herrenschmidt Date: Fri Aug 28 14:23:06 2009 +1000 Merge commit 'tip/iommu-for-powerpc' into next commit e79d57479c86e388051244e1f17851a0e63d1ff0 Author: Yoshihiro Shimoda Date: Thu Aug 27 13:57:26 2009 +0000 sh: sh7785lcr: fix prototype board on 32bit MMU mode. Fix up PCA9564 resources on 32bit MMU mode using prototype board. Signed-off-by: Yoshihiro Shimoda Tested-by: Raul Porcel Signed-off-by: Paul Mundt commit f840dd5e7424a0c8a7166fc3e87798d0e44d3ce7 Author: Paul Mundt Date: Thu Aug 27 11:58:54 2009 +0900 sh: Tidy up watchdog build for SH-2. Signed-off-by: Paul Mundt commit d8d0b85b11476ce59684ad2998e91a522df518a0 Author: Frank Filz Date: Thu Aug 27 17:35:41 2009 -0400 nfsd4: remove ACE4_IDENTIFIER_GROUP flag from GROUP@ entry RFC 3530 says "ACE4_IDENTIFIER_GROUP flag MUST be ignored on entries with these special identifiers. When encoding entries with these special identifiers, the ACE4_IDENTIFIER_GROUP flag SHOULD be set to zero." It really shouldn't matter either way, but the point is that this flag is used to distinguish named users from named groups (since unix allows a group to have the same name as a user), so it doesn't really make sense to use it on a special identifier such as this.) Signed-off-by: J. Bruce Fields commit b0401d725334a94d57335790b8ac2404144748ee Author: Wei Yongjun Date: Thu Aug 27 10:23:39 2009 +0800 sunrpc: move the close processing after do recvfrom method sunrpc: "Move close processing to a single place" (d7979ae4a050a45b78af51832475001b68263d2a) moved the close processing before the recvfrom method. This may cause the close processing never to execute. So this patch moves it to the right place. Signed-off-by: Wei Yongjun Signed-off-by: J. Bruce Fields commit aaf84eb95a9c610c6413cee4836764ea9194eed3 Author: Benny Halevy Date: Thu Aug 20 03:21:56 2009 +0300 nfsd41: renew_client must be called under the state lock Until we work out the state locking so we can use a spin lock to protect the cl_lru, we need to take the state_lock to renew the client. Signed-off-by: Benny Halevy [nfsd41: Do not renew state on error] Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy [nfsd41: Simplify exit code] Signed-off-by: J. Bruce Fields commit 5d4a9dba2d7fbab69f00dedd430d1788834a055a Author: Steven Rostedt Date: Thu Aug 27 16:52:21 2009 -0400 tracing: only show tracing_max_latency when latency tracer configured The tracing_max_latency file should only be present when one of the latency tracers ({preempt|irqs}off, wakeup*) are enabled. This patch also removes tracing_thresh when latency tracers are not enabled, as well as compiles out code that is only used for latency tracers. Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Steven Rostedt commit c0729be99cb2b9d9749256254f1c40a801835896 Author: Steven Rostedt Date: Wed Aug 26 22:23:52 2009 -0400 tracing: remove legacy select of MARKERS by context switch tracing The context switch tracer was made before tracepoints were mature, and the original version used markers. This is no longer true and this patch removes the select. Reported-by: Thomas Gleixner Signed-off-by: Steven Rostedt commit 5a53a7640a7af7acf904ed805c6fd1bf9fea829c Author: Takashi Iwai Date: Thu Aug 27 21:04:12 2009 +0200 ALSA: pcm - Increase protocol version Increase the PCM protocol version to indicate the drain ioctl behavior change. Signed-off-by: Takashi Iwai commit 3b5e634103a5471d74e55d774e53db3df5c7b650 Author: Zhang Rui Date: Thu Aug 6 15:57:54 2009 -0700 ACPI: video: remove unneeded memsets device->cap and video->cap are zeroed initially so we don't need to clear them again. Signed-off-by: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a5fe1a03f7720b8da8364a1737e1e5a357904e99 Author: Lin Ming Date: Thu Aug 13 10:43:27 2009 +0800 ACPICA: fix leak of acpi_os_validate_address http://bugzilla.kernel.org/show_bug.cgi?id=13620 If the dynamic region is created and added to resource list over and over again, it has the potential to be a memory leak by growing the list every time. This patch fixes the memory leak, as below 1) add a new field "count" to struct acpi_res_list. When inserting, if the region(addr, len) is already in the resource list, we just increase "count", otherwise, the region is inserted with count=1. When deleting, the "count" is decreased, if it's decreased to 0, the region is deleted from the resource list. With "count", the region with same address and length can only be inserted to the resource list once, so prevent potential memory leak. 2) add a new function acpi_os_invalidate_address, which is called when region is deleted. Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 6c347d43eea29221a8ebab9ff9cbe7a00cddac98 Author: Frederic Weisbecker Date: Thu Aug 27 18:17:34 2009 +0200 tracing: Undef TRACE_EVENT_FN between trace events headers inclusion The recent commit: tracing/events: fix the include file dependencies fixed a file dependency problem while including more than one trace event header file. This fix undefined TRACE_EVENT after an event header macro preprocessing in order to make tracepoint.h able to correctly declare the tracepoints necessary for the next event header file. But now we also need to undefine TRACE_EVENT_FN at the end of an event header file preprocessing for the same reason. This fixes the following build error: In file included from include/trace/events/napi.h:5, from net/core/net-traces.c:28: include/linux/tracepoint.h:285:1: warning: "TRACE_EVENT_FN" redefined In file included from include/trace/define_trace.h:61, from include/trace/events/skb.h:40, from net/core/net-traces.c:27: include/trace/ftrace.h:50:1: warning: this is the location of the previous definition In file included from include/trace/events/napi.h:5, from net/core/net-traces.c:28: include/linux/tracepoint.h:285:1: warning: "TRACE_EVENT_FN" redefined In file included from include/trace/define_trace.h:61, from include/trace/events/skb.h:40, from net/core/net-traces.c:27: include/trace/ftrace.h:50:1: warning: this is the location of the previous definition Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Masami Hiramatsu Cc: Xiao Guangrong Cc: Steven Rostedt Cc: Li Zefan LKML-Reference: <20090827161732.GA7618@nowhere> Signed-off-by: Ingo Molnar commit 36ce99c1dcab2978fc1900f19b431adedd8f99f6 Author: Takashi Iwai Date: Thu Aug 27 16:45:07 2009 +0200 ALSA: Add debug module option Add debug module option to snd core. This controls the debug print level. When CONFIG_SND_DEBUG_VERBOSE is set, you can suppress the debug messages by giving or changing this parameter to a lower value. debug=0 means no debug messsages. As default, it's set to the verbose level 2. Since this option can be changed dynamically via sysfs file, you can suppress the verbose debug messages on the fly, which wasn't possible before. Signed-off-by: Takashi Iwai commit 90e1c6969d8711edb888a00ec54c74370f125c8f Author: Thomas Gleixner Date: Thu Aug 20 12:34:47 2009 +0200 x86: Move oem_bus_info to x86_init_ops Signed-off-by: Thomas Gleixner commit 52fdb5684660f9fd7129f7bbbe279a02893bacb8 Author: Thomas Gleixner Date: Thu Aug 20 12:45:33 2009 +0200 x86: Move mpc_oem_pci_bus to x86_init_ops Signed-off-by: Thomas Gleixner commit 72302142e165313ee58af81bd76708c12b58d7ab Author: Thomas Gleixner Date: Thu Aug 20 12:18:32 2009 +0200 x86: Move smp_read_mpc_oem to x86_init_ops. Move smp_read_mpc_oem from quirks to x86_init. Signed-off-by: Thomas Gleixner commit fd6c6661492226bb82f422157c535ac573cbecbd Author: Thomas Gleixner Date: Thu Aug 20 10:41:58 2009 +0200 x86: Move mpc_apic_id to x86_init_ops The mpc_apic_id setup is handled by a x86_quirk. Make it a x86_init_ops function with a default implementation. Signed-off-by: Thomas Gleixner commit de93410310952fb7b705f784ef22493c8362dbe8 Author: Thomas Gleixner Date: Thu Aug 20 09:27:29 2009 +0200 x86: Move ioapic_ids_setup to x86_init_ops 32bit and also the numaq code have special requirements on the ioapic_id setup. Convert it to a x86_init_ops function and get rid of the quirks and #ifdefs Signed-off-by: Thomas Gleixner commit f4848472cd99487e182b64fb2a5d0e4fedbe86ad Author: Thomas Gleixner Date: Thu Aug 20 12:05:01 2009 +0200 x86: Sanitize smp_record and move it to x86_init_ops The x86 quirkification introduced an extra ugly hackery with a variable pointer in the mpparse code. If the pointer is initialized then it is dereferenced and the variable set to 0 or incremented. Create a x86_init_ops function and let the affected numaq code hold the function. Default init is a setup noop. Signed-off-by: Thomas Gleixner commit 6b18ae3e2ff62daa9f181401759161dd8de0aadf Author: Thomas Gleixner Date: Thu Aug 20 10:19:54 2009 +0200 x86: Move memory_setup to x86_init_ops memory_setup is overridden by x86_quirks and by paravirts with weak functions and quirks. Unify the whole mess and make it an unconditional x86_init_ops function which defaults to the standard function and can be overridden by the early platform code. Signed-off-by: Thomas Gleixner commit 816c25e7d4fb6fd40022a376e8b7f45b1edf5a89 Author: Thomas Gleixner Date: Wed Aug 19 14:36:27 2009 +0200 x86: Add reserve_ebda_region to x86_init_ops reserve_ebda_region needs to be called befor start_kernel. Moorestown needs to override it. Make it a x86_init_ops function and initialize it with the default reserve_ebda_region. Signed-off-by: Thomas Gleixner commit 8fee697d990c54976c8dc167270633299e2515d2 Author: Thomas Gleixner Date: Wed Aug 19 14:55:50 2009 +0200 x86: Add request_standard_resources to x86_init The 32bit and the 64bit code are slighty different in the reservation of standard resources. Also the upcoming Moorestown support needs its own version of that. Add it to x86_init_ops and initialize it with the 64bit default. 32bit overrides it in early boot. Now moorestown can add it's own override w/o sprinkling the code with more #ifdefs Signed-off-by: Thomas Gleixner commit f7cf5a5b8c0e59eac8d30b62271cb0fa52e53ebc Author: Thomas Gleixner Date: Wed Aug 19 14:43:56 2009 +0200 x86: Add probe_roms to x86_init probe_roms is only used on 32bit. Add it to the x86_init ops and remove the #ifdefs. Default initializer is x86_init_noop() which is overridden in the 32bit boot code. Signed-off-by: Thomas Gleixner commit 57844a8f8e29802f37ad9a0f94eb11d6ae358603 Author: Thomas Gleixner Date: Wed Aug 19 14:48:38 2009 +0200 x86: Add x86_init infrastructure The upcoming Moorestown support brings the embedded world to x86. The setup code of x86 has already a couple of hooks which are either x86_quirks or paravirt ops. Some of those setup hooks are pretty convoluted like the timer setup and the tsc calibration code. But there are other places which could do with a cleanup. Instead of having inline functions/macros which are modified at compile time I decided to introduce x86_init ops which are unconditional in the code and make it clear that they can be changed either during compile time or in the early boot process. The function pointers are initialized by default functions which can be noops so that the pointer can be called unconditionally in the most cases. This also allows us to remove 32bit/64bit, paravirt and other #ifdeffery. paravirt guests are just a hardware platform in the setup code, so we should treat them as such and not hide all behind multiple layers of indirection and compile time dependencies. It's more obvious that x86_init.timers.timer_init() is a function pointer than the late_time_init = choose_time_init() obscurity. It's also way simpler to grep for x86_init.timers.timer_init and find all the places which modify that function pointer instead of analyzing weak functions, macros and paravirt indirections. Note. This is not a general paravirt_ops replacement. It just will move setup related hooks which are potentially useful for other platform setup purposes as well out of the paravirt domain. Add the base infrastructure without any functionality. Signed-off-by: Thomas Gleixner commit 4152f93508b184a85a975810b2cc3dc5c597cf57 Merge: 6effcd9 fa84e9e Author: Thomas Gleixner Date: Thu Aug 27 17:05:47 2009 +0200 Merge branch 'sched/clock' into x86/cleanups Reason: The tsc init cleanup depends on sched_clock_init moving past late_time_init. Signed-off-by: Thomas Gleixner commit 8d8291ae93ecb4a246e87e452d55cca412373300 Author: Steven Whitehouse Date: Thu Aug 27 15:51:07 2009 +0100 GFS2: Remove no_formal_ino generating code The inum structure used throughout GFS2 has two fields. One no_addr is the disk block number of the inode in question and is used everywhere as the inode number. The other, no_formal_ino, is used only as the generation number for NFS. Historically the no_formal_ino field was set using a complicated system of one global and one per-node file containing inode numbers in order to ensure that each no_formal_ino was unique. Also this code made no provision for what would happen when eventually the (64 bit) numbers ran out. Now I know that is pretty unlikely to happen given the large space of numbers, but it is possible nevertheless. The only guarantee required for no_formal_ino is that, for any single inode, the same number doesn't get reused too quickly. We already have a generation number which is kept in the inode and initialised from a counter in the resource group (almost no overhead, since we have to touch the resource group anyway in order to allocate an inode in the first place). Aside from ensuring that we never use the value 0 in the no_formal_ino field, we can use that counter directly. As a result of that change, we lose about 200 lines of code and also gain about 10 creates/sec on the postmark benchmark (on my test machine). Signed-off-by: Steven Whitehouse commit 6effcd92454ca5d7021b74f89fcac75209e146f9 Merge: 10f02d11 ac5672f Author: Thomas Gleixner Date: Thu Aug 27 16:42:07 2009 +0200 Merge branch 'x86/paravirt' into x86/cleanups Reason: The setup cleanups conflict with the paravirt cleanups. Avoid a rather large merge conflict Signed-off-by: Thomas Gleixner commit fa84e9eecfff478df2d00e94deb3fc40fe4634ad Author: Thomas Gleixner Date: Fri Aug 21 22:01:12 2009 +0200 init: Move sched_clock_init after late_time_init Some architectures initialize clocks and timers in late_time_init and x86 wants to do the same to avoid FIXMAP hackery for calibrating the TSC. That would result in undefined sched_clock readout and wreckaged printk timestamps again. We probably have those already on archs which do all their time/clock setup in late_time_init. There is no harm to move that after late_time_init except that a few more boot timestamps are stale. The scheduler is not active at that point so no real wreckage is expected. Signed-off-by: Thomas Gleixner LKML-Reference: Cc: linux-arch@vger.kernel.org commit 3ce804ed83827a7fd27190836f9421b29ac64512 Author: Bob Moore Date: Thu Jun 25 10:31:32 2009 -0700 ACPICA: Update version to 20090625 Update version number. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit eb2289ba1ba994de25af0d94b5e80ba93d2c1c3c Author: Bob Moore Date: Wed Jun 24 13:42:00 2009 +0800 ACPICA: ACPI 4.0: Changes for existing ACPI tables. FACS: new flag and new OspmFlags field. SRAT: x2APIC - add ClockDomain field to descriptor #2 Includes header and disassembler support. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8d590c7af1152685efcf302905baeb6dda3c2d2f Author: Bob Moore Date: Wed Jun 24 13:39:29 2009 +0800 ACPICA: Clarify common suffix for error/warning messages Added parens around the acpica version/modulename/linenumber to clearly differentiate this group from the rest of the message. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 0444e8f6d72d6e38f92d48884bc90bbc6c22fd5a Author: Bob Moore Date: Wed Jun 24 13:38:02 2009 +0800 ACPICA: Fix: Predefined object repair executed only once This fixes a problem where the code that attempts to repair/convert an object of incorrect type is only executed on the first time the predefined method is called. The mechanism that disables warnings on subsequent calls was interfering with the repair mechanism. ACPICA BZ 781. http://acpica.org/bugzilla/show_bug.cgi?id=781 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit cf02cd47d4747abf8ff0617e15fc05a00202e6d5 Author: Bob Moore Date: Wed Jun 24 11:38:46 2009 +0800 ACPICA: Dump table header - suppress output of non-printable characters Function acpi_tb_print_table_header. Some ACPI tables contain non-printable characters in one of the string fields of the the header - Signature, OemId, OemTableId, or CompilerId. Invalid characters are replaced by '?'. ACPICA BZ 788. http://acpica.org/bugzilla/show_bug.cgi?id=788 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 8e4319c425077c4cc540696a5bb6c4d12f017dcd Author: Bob Moore Date: Mon Jun 29 13:43:27 2009 +0800 ACPICA: Fix several acpi_attach_data problems Handler was never invoked. Now invoked if/when host node is deleted. Data object was not automatically deleted when host node was deleted. Interface to handler had an unused parameter, removed it. ACPICA BZ 778. http://acpica.org/bugzilla/show_bug.cgi?id=778 Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 6557a49a443a347d24aed58076365432ded30edc Author: Lin Ming Date: Wed Jun 24 11:32:04 2009 +0800 ACPICA: ACPI 4.0: Interpreter support for IPMI. Adds support for IPMI which is similar to SMBus and uses a bi-directional data buffer. ACPICA BZ 773. http://acpica.org/bugzilla/show_bug.cgi?id=773 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 3db20bed579bc4e7fe581c48ad1bde853aa9ff68 Author: Lin Ming Date: Wed Jun 24 11:25:17 2009 +0800 ACPICA: ACPI 4.0: iASL/Disassembler - IPMI keyword support. Adds support for the new IPMI operation region keyword. ACPICA BZ 771, 772. http://acpica.org/bugzilla/show_bug.cgi?id=771 http://acpica.org/bugzilla/show_bug.cgi?id=772 Signed-off-by: Lin Ming Signed-off-by: Bob Moore Signed-off-by: Len Brown commit dbdc8f02fe8339686623c84745ba15b0f4f889a1 Author: Bob Moore Date: Wed Jun 24 11:22:22 2009 +0800 ACPICA: Fix possible memory leak in nspredef Fixed a possible leak when an attempt is made to repair a return object. The only current repair is an automatic buffer to string conversion. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 15b8dd53f5ffaf8e2d9095c423f713423f576c0f Author: Bob Moore Date: Mon Jun 29 13:39:29 2009 +0800 ACPICA: Major update for acpi_get_object_info external interface Completed a major update for the acpi_get_object_info external interface. Changes include: - Support for variable, unlimited length HID, UID, and CID strings - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.) - Call the _SxW power methods on behalf of a device object - Determine if a device is a PCI root bridge - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO. These changes will require an update to all callers of this interface. See the ACPICA Programmer Reference for details. Also, update all invocations of acpi_get_object_info interface Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 9c61b34cf7078da72cce276ff8cfae5d6e9955bc Author: Bob Moore Date: Wed Jun 24 09:45:17 2009 +0800 ACPICA: Remove duplicate prototypes from header Two duplicates in acdebug.h. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit c6b5774caafa4c12b6019366e2fdaaff117e95a4 Author: Bob Moore Date: Wed Jun 24 09:44:06 2009 +0800 ACPICA: Add 64-bit support to acpi_read and acpi_write Needed by drivers for new ACPi tables. Internal versions of these functions still use 32-bit max transfers, in order to minimize disruption and stack use for the standard ACPI registers (FADT-based). Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit f8d80cdf40fe4d2393159012b38ce9f85a488686 Author: Bob Moore Date: Tue Jun 2 13:28:13 2009 +0800 ACPICA: Remove duplicate extern declarations for public globals Some were defined twice, causes a warning with gcc -Wredundant-decls. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 5853a9f6dda244b4163b9daad663bdc41a74f596 Author: Bob Moore Date: Tue Jun 2 13:20:00 2009 +0800 ACPICA: Fix several pointer casts to avoid possible compile warnings Fixes warnings with gcc -Wcast-qual flag. Signed-off-by: Bob Moore Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 0494e08281d08f0a3dc442eb5e5cecc125b53b27 Author: Sergey Senozhatsky Date: Thu Aug 27 14:29:18 2009 +0100 kmemleak: Printing of the objects hex dump Introducing printing of the objects hex dump to the seq file. The number of lines to be printed is limited to HEX_MAX_LINES to prevent seq file spamming. The actual number of printed bytes is less than or equal to (HEX_MAX_LINES * HEX_ROW_SIZE). (slight adjustments by Catalin Marinas) Signed-off-by: Sergey Senozhatsky Signed-off-by: Catalin Marinas commit 008139d9146f9afee0e58df4b7422d0c9921f8ce Author: Catalin Marinas Date: Thu Aug 27 14:29:17 2009 +0100 kmemleak: Do not report alloc_bootmem blocks as leaks This patch sets the min_count for alloc_bootmem objects to 0 so that they are never reported as leaks. This is because many of these blocks are only referred via the physical address which is not looked up by kmemleak. Signed-off-by: Catalin Marinas Cc: Pekka Enberg commit fd6789675ebfb9185cb4fb68dc51010b4e95d952 Author: Catalin Marinas Date: Thu Aug 27 14:29:17 2009 +0100 kmemleak: Save the stack trace for early allocations Before slab is initialised, kmemleak save the allocations in an early log buffer. They are later recorded as normal memory allocations. This patch adds the stack trace saving to the early log buffer, otherwise the information shown for such objects only refers to the kmemleak_init() function. Signed-off-by: Catalin Marinas commit a6186d89c913b176e7339f37a4ec6ccb38b2c5c0 Author: Catalin Marinas Date: Thu Aug 27 14:29:16 2009 +0100 kmemleak: Mark the early log buffer as __initdata This buffer isn't needed after kmemleak was initialised so it can be freed together with the .init.data section. This patch also marks functions conditionally accessing the early log variables with __ref. Signed-off-by: Catalin Marinas commit 189d84ed54bbb05aac5b24d9d784d86c4d37f807 Author: Catalin Marinas Date: Thu Aug 27 14:29:15 2009 +0100 kmemleak: Dump object information on request By writing dump= to the kmemleak file, kmemleak will look up an object with that address and dump the information it has about it to syslog. This is useful in debugging memory leaks. Signed-off-by: Catalin Marinas commit af98603dad87e393d2fc57117fe8a2aa6d620a0c Author: Catalin Marinas Date: Thu Aug 27 14:29:12 2009 +0100 kmemleak: Allow rescheduling during an object scanning If the object size is bigger than a predefined value (4K in this case), release the object lock during scanning and call cond_resched(). Re-acquire the lock after rescheduling and test whether the object is still valid. Signed-off-by: Catalin Marinas commit 286f5875ca5c4e58432e3e6ca386ea4294275d84 Author: Takashi Iwai Date: Thu Aug 27 14:37:51 2009 +0200 ALSA: hda - Add more quirk for HP laptops with AD1984A More entries for HP laptops to get them working properly. Signed-off-by: Takashi Iwai commit 1b0053a0f0893e6bbaaee0d28f5f6269459d8d14 Author: Takashi Iwai Date: Thu Aug 27 12:34:54 2009 +0200 ALSA: core - strip too long file names in snd_print*() When modules are built with M= option, they pass long file paths to __FILE__. This results in ugly outputs of snd_print*() when CONFIG_SND_VERBOSE_PRINTK is set. This patch adds a check of the path and strips the leading path dirs if the file name is an absolute path to improve the readability of logs. Signed-off-by: Takashi Iwai commit 4dbc9ca219b0f294332e734528f7b82211700170 Author: Thomas Gleixner Date: Thu Aug 27 09:38:49 2009 +0200 genirq: Do not mask oneshot edge type interrupts Masking oneshot edge type interrupts is wrong as we might lose an interrupt which is issued when the threaded handler is handling the device. We can keep the irq unmasked safely as with edge type interrupts there is no danger of interrupt floods. If the threaded handler has not yet finished then IRQTF_RUNTHREAD is set which will keep the handler thread active. Debugged and verified in preempt-rt. Signed-off-by: Thomas Gleixner commit 3c2ee2d9f41ef43a581b26b677d2b4054ccbd200 Merge: 6776426 1dcd8ff Author: Benjamin Herrenschmidt Date: Thu Aug 27 13:13:41 2009 +1000 Merge commit 'kumar/next' into next commit 6776426320e151051a16bc7bf86f12d310c9e8ca Author: Gautham R Shenoy Date: Tue Jun 23 23:26:37 2009 +0000 powerpc/pseries: Reduce the polling interval in __cpu_up() Time time taken for a single cpu online operation on a pseries machine is as follows: Dedicated LPAR (POWER6): ~220ms. Shared LPAR (POWER5) : ~240ms. Of this time, approximately 200ms is taken up by __cpu_up(). This is because we poll every 200ms to check if the new cpu has notified it's presence through the cpu_callin_map. We repeat this operation until the new cpu sets the value in cpu_callin_map or 5 seconds elapse, whichever comes earlier. However, using completion_structs instead of polling loops, the time taken by the new processor to indicate it's presence has found to be less than 1ms on pseries. This method however may not work on all powerpc platforms due to the time-base synchronization code. Keeping this in mind, we could reduce msleep polling interval from 200ms to 1ms while retaining the 5 second timeout. With this, the time taken for a cpu online operation changes as follows: Dedicated LPAR (POWER6): 20-25ms. Shared LPAR (POWER5) : 60-80ms. In both these cases, it was found that the code polls through the loop only once indicating that 1ms is a reasonable value, atleast on pseries. The code needs testing on other powerpc platforms. Signed-off-by: Gautham R Shenoy Acked-by: Joel Schopp Signed-off-by: Benjamin Herrenschmidt commit 6fdc31a2b86cf1f98e3eed896578ad9659eeb0f8 Author: Bastian Blank Date: Wed Aug 12 23:30:45 2009 +0000 powerpc: Remove SMP warning from PowerMac cpufreq On Thu, Aug 13, 2009 at 04:14:58PM +1000, Benjamin Herrenschmidt wrote: > On Tue, 2009-08-11 at 11:39 +0200, Bastian Blank wrote: > > This patch just disables this driver on SMP kernels, as it is obviously > > not supported. > Why not remove the #error instead ? :-) I don't think it's still > meaningful, especially since we use the timebase for delays nowadays > which doesn't depend on the CPU frequency... Your call. Take this one: The build of a PowerMac 32bit kernel currently fails with error: #warning "WARNING, CPUFREQ not recommended on SMP kernels" Thie patch removes the not longer applicable SMP warning from the PowerMac cpufreq code. Signed-off-by: Bastian Blank Signed-off-by: Benjamin Herrenschmidt commit 14d757520a08d09745c3b18bb34addd9bef56e2d Author: Josh Boyer Date: Wed Aug 19 04:27:53 2009 +0000 powerpc: Fix __flush_icache_range on 44x The ptrace POKETEXT interface allows a process to modify the text pages of a child process being ptraced, usually to insert breakpoints via trap instructions. The kernel eventually calls copy_to_user_page, which in turn calls __flush_icache_range to invalidate the icache lines for the child process. However, this function does not work on 44x due to the icache being virtually indexed. This was noticed by a breakpoint being triggered after it had been cleared by ltrace on a 440EPx board. The convenient solution is to do a flash invalidate of the icache in the __flush_icache_range function. Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit ea3cc330ac0cd521ff07c7cd432a1848c19a7e92 Author: Benjamin Herrenschmidt Date: Tue Aug 18 19:00:34 2009 +0000 powerpc/mm: Cleanup handling of execute permission This is an attempt at cleaning up a bit the way we handle execute permission on powerpc. _PAGE_HWEXEC is gone, _PAGE_EXEC is now only defined by CPUs that can do something with it, and the myriad of #ifdef's in the I$/D$ coherency code is reduced to 2 cases that hopefully should cover everything. The logic on BookE is a little bit different than what it was though not by much. Since now, _PAGE_EXEC will be set by the generic code for executable pages, we need to filter out if they are unclean and recover it. However, I don't expect the code to be more bloated than it already was in that area due to that change. I could boast that this brings proper enforcing of per-page execute permissions to all BookE and 40x but in fact, we've had that now for some time as a side effect of my previous rework in that area (and I didn't even know it :-) We would only enable execute permission if the page was cache clean and we would only cache clean it if we took and exec fault. Since we now enforce that the later only work if VM_EXEC is part of the VMA flags, we de-fact already enforce per-page execute permissions... Unless I missed something Signed-off-by: Benjamin Herrenschmidt commit f480fe3916de2e2cbb6e384cb685f0f1d8272188 Merge: 4f0dbc2 f415c41 Author: Benjamin Herrenschmidt Date: Thu Aug 27 13:12:40 2009 +1000 Merge commit 'origin/master' into next commit ea15edb292197aaf0b137621bafb69f6157f4532 Author: Kuninori Morimoto Date: Wed Aug 26 11:04:39 2009 +0000 sh: Add LCDC Panel support for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 2153ad3294e3e1e89d27a78d65932352b80a4f78 Author: Kuninori Morimoto Date: Wed Aug 26 11:04:36 2009 +0000 sh: Add CEU support for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit fa3ba51bcf2351da9869924c8765d7d485226c31 Author: Kuninori Morimoto Date: Wed Aug 26 11:04:34 2009 +0000 sh: Add support LCDC for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 907050a33d3b6a9f37e2ceca764b60f8e3922466 Author: Kuninori Morimoto Date: Wed Aug 26 11:04:31 2009 +0000 sh: Add USB support for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 35a35408914bcd22dbaeea710ec1e711b673b59e Author: Kuninori Morimoto Date: Wed Aug 26 11:04:26 2009 +0000 sh: Add SH-ETH support for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit b7056bc1943ec85084450e2f105650f837ae5cfc Author: Kuninori Morimoto Date: Wed Aug 26 11:04:22 2009 +0000 sh: modify to enable boot for EcoVec24 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit b37c7c66f08df66ba7a8269b6d1af949ef8dbd95 Author: Kuninori Morimoto Date: Wed Aug 26 10:49:44 2009 +0000 sh: fix CPU_SH7723/7724 numbering bug Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit e76a0136a3cf1859fbc07f122e42293d22229558 Author: Paul Mundt Date: Thu Aug 27 11:31:16 2009 +0900 sh: Fix up sh4_flush_dcache_page() build on UP. Signed-off-by: Paul Mundt commit a1a2d1d32250f6fcc317419e9dfb4a5a6946d2e6 Author: Pekka Paalanen Date: Sun Aug 23 12:40:55 2009 +0300 drm: GEM handles are u32, not int Several functions in the GEM kernel API used int as handle type, but user API has it __u32 which is also the intended type. Replace int with u32. Signed-off-by: Pekka Paalanen Signed-off-by: Dave Airlie commit 3f7dc91adef90a20f806282724c40d68d5b020aa Author: Dave Airlie Date: Thu Aug 27 11:10:15 2009 +1000 drm/rs600/690: use autogenerated safe register tables. This ports rs690 to the safe reg tables and makes rs600 also use the same table. Signed-off-by: Dave Airlie commit 52f97df5da1f94d2b7db1bb53a2f053ae162b649 Author: Ben Hutchings Date: Sun Aug 23 18:37:26 2009 +0100 drm/r128: Use request_firmware() to load CCE microcode Firmware blob looks like this: __be32 datah __be32 datal Signed-off-by: Ben Hutchings Signed-off-by: Dave Airlie commit ece2be7993cc5e269cbf0cad6442b401a2c31915 Author: Ben Hutchings Date: Sun Aug 23 18:34:25 2009 +0100 drm/mga: Use request_firmware() to load microcode Image format is IHEX, one record for each pipe in order (record addresses are ignored). Signed-off-by: Ben Hutchings Signed-off-by: Dave Airlie commit c06f51eab8e652abebb698b1ead4c5585f820ef9 Author: Joe Perches Date: Wed Aug 26 08:47:47 2009 +0000 MAINTAINERS: update information for sfc network driver Based upon a patch by Ben Hutchings. Signed-off-by: David S. Miller commit 5c8af3b9aa4d19fba7f5a9224636fc70e476eb4f Author: Ben Hutchings Date: Wed Aug 26 08:18:13 2009 +0000 sfc: Improve reliability of RX queue flushing Reconfiguring the port requires us to flush all DMA queues. In repeated testing we have found that RX flushes would sometimes fail because the RX DMA engine was not properly isolated from the MACs. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit cc11763b3510e4942bfece052ccf329a7b086a32 Author: Ben Hutchings Date: Wed Aug 26 08:17:59 2009 +0000 sfc: Work around XMAC bug causing packet loss with some peers Received frames must be re-clocked by the local XGXS to the 156.25 MHz (DDR) clock of the XGMII. If the remote clock is slightly faster this can reduce a minimum IPG of 64 bit-times (1 cycle) to 32 bit-times (half a cycle). If the XMAC detects that a frame has reached the maximum RX frame length in the same cycle that it receives one of these reduced IPGs, it may miss the IPG, causing two valid frames to be treated as a single invalid frame (over-length with bad CRC). We work around this by increasing the maximum RX frame length so that peers with matched MTU will not provoke this bug. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 5afaa753d681c437419e3dd9b532c2712dd1d2ea Author: Ben Hutchings Date: Wed Aug 26 08:17:19 2009 +0000 sfc: QT2025C: Use hard reset only At probe time, falcon_reset_hw() performs a hard reset of the PHY along with Falcon. There is no need to perform a soft reset later, and any access to standard MDIO registers before the PHY firmware has booted can interrupt the boot process, making the port unusable. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 771046d7b1def64c00a5a47ca48526cbbacd7fe3 Author: Ben Hutchings Date: Wed Aug 26 08:16:58 2009 +0000 mdio: Check MDIO_STAT1_FAULT in mdio45_links_ok() Some PHYs will report that the link is up even though there is a fault condition. Therefore, check the fault flag too. We must also read STAT2 to reset this flag. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit d4ec09acdb15cdb5afdb5cd03f6bceb5c3c690a5 Author: Ben Hutchings Date: Wed Aug 26 08:16:46 2009 +0000 sfc: Do not reinitialise XAUI serdes before it has completed reset falcon_reset_xaui() waits for XGXS reset to complete, but the XAUI serdes reset may take longer. It needs to check both reset active bits. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit aed0628dae0c26b47d40d65f942abe30279b52a5 Author: Ben Hutchings Date: Wed Aug 26 08:16:27 2009 +0000 sfc: Fix ordering of device registration and initial netif_carrier_off() We must call netif_carrier_off() after the device is registered, not before, to set the operational state and user-space IFF_RUNNING flag correctly. Since we don't want observers to see an intermediate state, open-code register_netdev() and add efx_update_name() and netif_carrier_off() into the locked region. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 7c6a3ed5bd61ec981c8a0d0111cfd435adf3f2b7 Author: Ursula Braun Date: Wed Aug 26 02:01:10 2009 +0000 qeth: display "undefined" value of sysfs-attribute "layer2" If nothing has been written into the qeth sysfs-attribute layer2, its value is "-1" meaning "not yet defined". But the value is displayed as "1" meaning "layer2 selected". The patch changes the reading of this "-1"-value to "-1" to make clear the layer2-attribute has not yet been defined. Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit 0d788c7d285a91ef72a7b436dbe753d117856b3d Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:09 2009 +0000 qeth: display service_level info only when valid. qeth displayed an entry in /proc/service_level even when no valid MCL-string was available (the MCL info is blank). The change is to create an entry in /proc/service_level only when MCL-string is non-zero. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit ce73e10ee0cb6cde1c5075a2803da0f0eb5b2324 Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:08 2009 +0000 qeth: Cleanup for cast-type determination. Clear separation of cast-type determination (send path) for layer-2 resp. layer-3. Allowing to have inline functions for qeth layer- discipline. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit e806904057253e4f7651a8594456e68857c24e1b Author: Frank Blaschka Date: Wed Aug 26 02:01:07 2009 +0000 qeth: scheduling while atomic during ifconfig online sequence In case the IP address list contains entries (not removed when the device was set offline) this entries should be registered next time the device is brought online. In the past this was done implicitly with the device open call but since we wait in the set IPv4 IPA and the device open common code holds various locks this does not work any longer. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 58490f18071de525f42b6ed264a87116ec49ef0f Author: Klaus-Dieter Wacker Date: Wed Aug 26 02:01:06 2009 +0000 qeth: HiperSockets SIGA retry support on CC=2. Qeth HiperSockets support now retries sending of packets when the IBM System z signals a temporary resource shortage (e.g. target buffer full). The packet is enqueued into the device queue. After 3 times of unsuccessful send the packet is dropped. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: David S. Miller commit b855192c08fcb14adbc5d3a7cab182022d433cca Merge: d886c73 3e0e1e9 Author: H. Peter Anvin Date: Wed Aug 26 17:17:51 2009 -0700 Merge branch 'x86/urgent' into x86/pat Reason: Change to is_new_memtype_allowed() in x86/urgent Resolved semantic conflicts in: arch/x86/mm/pat.c arch/x86/mm/ioremap.c Signed-off-by: H. Peter Anvin commit c9c97b8c75019814d8c007059bc827bb475be917 Author: Dave Airlie Date: Thu Aug 27 09:53:47 2009 +1000 drm/ttm: consolidate cache flushing code in one place. This merges the TTM and drm cache flushing into one file in the drm core. Signed-off-by: Dave Airlie commit 31ffe249e5426d2648d68568fa00a7b66666a5db Author: David S. Miller Date: Wed Aug 26 16:32:37 2009 -0700 net: Temporarily backout SKB sources tracer. Steven Rostedt has suggested that Neil work with the tracing folks, trying to use TRACE_EVENT as the mechanism for implementation. And if that doesn't workout we can investigate other solutions such as that one which was tried here. This reverts the following 2 commits: 5a165657bef7c47e5ff4cd138f7758ef6278e87b ("net: skb ftracer - Add config option to enable new ftracer (v3)") 9ec04da7489d2c9ae01ea6e9b5fa313ccf3d35fb ("net: skb ftracer - Add actual ftrace code to kernel (v3)") Signed-off-by: David S. Miller commit f656f39801b00c3c2aa26cefbdee2775d6706d45 Author: Matt Carlson Date: Tue Aug 25 10:11:55 2009 +0000 tg3: Update version to 3.100 This patch updates the tg3 version to 3.100. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit d9221e66002a7f24fb71b73132aa46c40079745f Author: Matt Carlson Date: Tue Aug 25 10:11:26 2009 +0000 broadcom: Make the 57780 IEEE compliant This brings the 57780's phy into IEEE compliance by suppressing the common mode oscillation. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit d7a2ed9248a3c3ec6afe3be0c351bd1ca9e981f3 Author: Matt Carlson Date: Tue Aug 25 10:10:58 2009 +0000 broadcom: Add AC131 phy support This patch adds support for the AC131 fast ethernet transceiver. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 4f4598fd0a87f39955e71bcb7447f403dafc20ba Author: Matt Carlson Date: Tue Aug 25 10:10:30 2009 +0000 broadcom: Add BCM50610M support This patch adds support for the BCM50610M phy ID. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 7f97a4bd47291e4ec9b9eaf63d7275ddfb498cb3 Author: Matt Carlson Date: Tue Aug 25 10:10:03 2009 +0000 tg3: Convert code to use PHY_IS_FET This patch converts the code to use the PHY_IS_FET flag rather than the ASIC revision to decide whether or not to use FET paths. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 535ef6e1124d445efbcc13b7126561dc544b0b64 Author: Matt Carlson Date: Tue Aug 25 10:09:36 2009 +0000 tg3: Create MII_TG3_FET namespace Broadcom's phys come in two distinctly different register layouts. For the lack of an official term to distinguish between the two formats, we can loosely categorize them by their fast ethernet or gigabit ethernet transceiver description. This patch creates the (driver-internal) Fast Ethernet Transceiver (FET) namespace and converts the 5906 EPHY definitions over. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit bb85fbb6a98d8edab81599913559c7ff0a963984 Author: Matt Carlson Date: Tue Aug 25 10:09:07 2009 +0000 tg3: Tune 5785 clock switching This patch tunes the timeouts the CPMU uses to decide when to switch from the clocks output by the PHY to internal clock sources. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 5e7ccf2003e6a9c35b5aa24953ba5009a1a8b653 Author: Matt Carlson Date: Tue Aug 25 10:08:42 2009 +0000 tg3: Add 57788, remove 57720 This patch adds support for the 57788 and removes support for the 57720 which was never released. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit e7126997342560533317d8467e8516119ebcbd21 Author: Matt Carlson Date: Tue Aug 25 10:08:16 2009 +0000 tg3: Preserve PCIe MPS setting for new devs Most older tg3 devices only supported a PCIe maximum payload size of 128 bytes. More recent devices bump this limit up to 256 bytes though. This patch modifies the code so that the MPS limit is only enforced on those devices that only allow the 128 byte setting. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 29ea095fb727ac48228ff2d1af484c27bf1dcbd4 Author: Matt Carlson Date: Tue Aug 25 10:07:54 2009 +0000 tg3: Fix TSO test against wrong flags var Julia Lawall discovered that the TG3_FLG2_TSO_CAPABLE flag was being compared against the wrong flags device member. This patch implements the fix. Signed-off-by: Julia Lawall Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 255ca311b650caece3ec4f78b88ef298664d561f Author: Matt Carlson Date: Tue Aug 25 10:07:27 2009 +0000 tg3: Prevent tx BD corruption This patch prevents a tx BD corruption bug by preventing the device from powering down the PLL from L1 if the link speed is 10Mbps or 100Mbps. The same bits are also used to prevent a system hang during chip reset resulting from a complicated set of events that ultimately leads to PCIe block register corruption. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit 521e6b90dd3f0392062845d7ef13e6e41bb99d8a Author: Matt Carlson Date: Tue Aug 25 10:06:01 2009 +0000 tg3: Fix 57780 asic rev PCIe link receiver errors This patch fixes some PCIe link receiver errors by decreasing the internal electrical idle timeout. Signed-off-by: Matt Carlson Reviewed-by: Michael Chan Reviewed-by: Benjamin Li Signed-off-by: David S. Miller commit d886c73cd4cf02a71e1650cbcb6176799d78aac1 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:41 2009 -0700 x86, pat: Sanity check remap_pfn_range for RAM region Add sanity check for remap_pfn_range of RAM regions using lookup_memtype(). Previously, we did not have anyway to get the type of RAM memory regions as they were tracked using a single bit in page_struct (WB, nonWB). Now we can get the actual type from page struct (WB, WC, UC_MINUS) and make sure the requester gets that type. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 1087637616dd5e96d834164ea462aed6159d039b Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:40 2009 -0700 x86, pat: Lookup the protection from memtype list on vm_insert_pfn() Lookup the reserved memtype during vm_insert_pfn and use that memtype for the new mapping. This takes care or handling of vm_insert_pfn() interface in track_pfn_vma*/untrack_pfn_vma. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 637b86e75f4c255a4446bc0b67ce9d914b9d2d42 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:39 2009 -0700 x86, pat: Add lookup_memtype to get the current memtype of a paddr Add a new routine lookup_memtype() to get the current memtype based on the PAT reserves and frees. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit f58417409603d62f2eb23db4d2cf6853d84a1698 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:38 2009 -0700 x86, pat: Use page flags to track memtypes of RAM pages Change reserve_ram_pages_type and free_ram_pages_type to use 2 page flags to track UC_MINUS, WC, WB and default types. Previous RAM tracking just tracked WB or NonWB, which was not complete and did not allow tracking of RAM fully and there was no way to get the actual type reserved by looking at the page flags. We use the memtype_lock spinlock for atomicity in dealing with memtype tracking in struct page. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 46cf98cdaef5471926010b5bddf84c44ec177fdd Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:37 2009 -0700 x86, pat: Generalize the use of page flag PG_uncached Only IA64 was using PG_uncached as of now. We now intend to use this bit in x86 as well, to keep track of memory type of those addresses that have page struct for them. So, generalize the use of that bit across ia64 and x86. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 335ef896d4c6639849d79367f0fef9abc06d121b Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:36 2009 -0700 x86, pat: Add rbtree to do quick lookup in memtype tracking PAT memtype tracking uses a linear link list to keep track of IO (non-RAM) regions and their memtypes. The code used a last_accessed pointer as a cache to speedup the lookup. As per discussions with H. Peter Anvin a while back, having a rbtree here will avoid bad performances in pathological cases where we may end up with huge linked list. This may not add any noticable performance speedup in normal case as the number of entires in PAT memtype list tend to be ~20-30 range. The patch removes the "cached_entry" logic as with rbtree we have more generic way of speeding up the lookup. With this patch, we use rbtree to do the quick lookup. We still use linked list as the memtype range tracked can be of different sizes and can overlap in different ways. We also keep track of usage counts with linked list. Example: Multiple ioremaps with different sizes uncached-minus @ 0xfffff00000-0xfffff04000 uncached-minus @ 0xfffff02000-0xfffff03000 And one userlevel mmap and the thread forks a new process uncached-minus @ 0xbf453000-0xbf454000 uncached-minus @ 0xbf453000-0xbf454000 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 9e36fda0b359d2a6ae039c3d7e71a04502a77898 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:35 2009 -0700 x86, pat: Add PAT reserve free to io_mapping* APIs io_mapping_* interfaces were added, mainly for graphics drivers. Make this interface go through the PAT reserve/free, instead of hardcoding WC mapping. This makes sure that there are no aliases due to unconditional WC setting. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 9fd126bc742f74a95d2ba610247712ff05da02fe Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:34 2009 -0700 x86, pat: New i/f for driver to request memtype for IO regions Add new routines to request memtype for IO regions. This will currently be a backend for io_mapping_* routines. But, it can also be made available to drivers directly in future, in case it is needed. reserve interface reserves the memory, makes sure we have a compatible memory type available and keeps the identity map in sync when needed. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 279e669b3fc0068cc3509e8e53036999e1e86588 Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:33 2009 -0700 x86, pat: ioremap to follow same PAT restrictions as other PAT users ioremap has this hard-coded check for new type and requested type. That check differs from other PAT users like /dev/mem mmap, remap_pfn_range in only one condition where requested type is UC_MINUS and new type is WC. Under that condition, ioremap fails. But other PAT interfaces succeed with a WC mapping. Change to make ioremap be in sync with other PAT APIs and use the same macro as others. Also changes the error print to KERN_ERR instead of pr_debug. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 5fc517466dd3d0fc6d2a5180ca6792e60344d8be Author: Venkatesh Pallipadi Date: Fri Jul 10 09:57:32 2009 -0700 x86, pat: Keep identity maps consistent with mmaps even when pat_disabled Make reserve_memtype internally take care of pat disabled case and fallback to default return values. Remove the specific pat_disabled checks in track_* routines. Change kernel_map_sync_memtype to sync identity map even when pat_disabled. This change ensures that, even for pat_disabled case, we take care of keeping identity map in sync. Before this patch, in pat disabled case, ioremap() keeps the identity maps in sync and other APIs like pci and /dev/mem mmap don't, which is not a very consistent behavior. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit c46b59b241ec52ffaf92ece8d8ab726621d580fb Author: Graham, David Date: Tue Aug 25 04:43:17 2009 +0000 e1000: Remove unused function e1000_mta_set. Remove function e1000_mta_set, as it is no longer called Signed-off-by: Dave Graham Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit cd1da503847a28775f60b959cb7b0123cee2a1a3 Author: Alexander Duyck Date: Tue Aug 25 04:47:50 2009 +0000 igb/ixgbe: add IPV6_CSUM support to vlan_features We were already exporting TSO6 to the vlan, but we weren't exporting the checksum support for IPV6 which was causing warning messages to be displayed when doing IPv6 TSO over a vlan. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7b25cdbafd757b1255725d4ffb5b1081714b4256 Author: Don Skidmore Date: Tue Aug 25 04:47:32 2009 +0000 ixgbe: cleanup functions that should have been defined static We have some ~40 functions that were being called out with 'make namespacecheck'. This patch changes these functions to be static. Signed-off-by: Don Skidmore Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 46a72b35144769d1e9c23c3a9a26c1776ef7d8f6 Author: Mallikarjuna R Chilakala Date: Tue Aug 25 04:47:11 2009 +0000 ixgbe: Fix isues while reporting 8259x backplane link capabilities Fix ethtool get_settings logic to report 10G & 1G advertised and supported link modes in all 8259x 10G backplane connection types except for 82598EB BX network connection type. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fa3ce355c1bf1a83b843420228202fd6f8023ad3 Author: Narender Kumar Date: Mon Aug 24 19:23:28 2009 +0000 netxen: bridged mode optimizations When the interface is put in bridged mode, destination mac addresses are unknown to firmware. So packets take a slow path (lower priority) in firmware reducing performance. Firmware can cache limited number of remote unicast mac addresses for certain interval, if "dynamic mac learning" mode is enabled. Driver needs to enable this "mac learning" mode in firmware. Currently this is done through net device class sysfs entry, possibly this can also be done upon netlink notifications to from bridge. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 3ad4467ca43e7a2556e26e4e304faf3385048834 Author: Dhananjay Phadke Date: Mon Aug 24 19:23:27 2009 +0000 netxen: remove netxen_nic_niu.c Consolidate all MAC/PHY access functions into netxen_nic_hw.c Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit c9517e5893db03ca8bd32b8783b39af58176947c Author: Dhananjay Phadke Date: Mon Aug 24 19:23:26 2009 +0000 netxen: implement generic pcie semaphore functions Implement common function for locking/unlocking 8 hardware semaphores used for serializing access to shared resouces on a NIC board by different PCI functions. As by definition, callers of these semaphore API can be put to sleep till the semaphore is locked. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit cb7e4b6e37144f5d131ee09296be3c21c41f28d8 Author: Dhananjay Phadke Date: Mon Aug 24 19:23:25 2009 +0000 netxen: remove unused code Remove code for phy access on unreleased NX2031 based quad-gig board. NX3031 based production quad-gig boards do not require direct phy access by driver. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 117226d15850387b55fd01675917ee4fcb9699e8 Author: Jason Baron Date: Mon Aug 24 17:40:26 2009 -0400 tracing: Remove FTRACE_SYSCALL_MAX definitions Remove the FTRACE_SYSCALL_MAX definitions now that we have converted the syscall event tracing code to use NR_syscalls. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: Signed-off-by: Frederic Weisbecker commit 57421dbbdc932d65f0e6a41ebb027a2bfe3d0669 Author: Jason Baron Date: Mon Aug 24 17:40:22 2009 -0400 tracing: Convert event tracing code to use NR_syscalls Convert the syscalls event tracing code to use NR_syscalls, instead of FTRACE_SYSCALL_MAX. NR_syscalls is standard accross most arches, and reduces code confusion/complexity. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <9b4f1a84ecae57cc6599412772efa36f0d2b815b.1251146513.git.jbaron@redhat.com> Signed-off-by: Frederic Weisbecker commit a5a2f8e2acb991327952c45a13f5441fc09dffd6 Author: Jason Baron Date: Wed Aug 26 12:09:10 2009 -0400 tracing: Define NR_syscalls for x86_64 Express the available number of syscalls in a standard way by defining NR_syscalls. The common way to define it is to place its definition in asm/unistd.h However, the number of syscalls is defined using __NR_syscall_max in x86-64 after building a dynamic header file "asm-offsets.h" The source file that generates this header, asm-offsets-64.c includes unistd.h, then if we want to express NR_syscalls from __NR_syscall_max in unistd.h only after generating the dynamic header file, we need a watchguard. If unistd.h is included from asm-offsets-64.c, then we are generating asm-offset.h which defines __NR_syscall_max. At this time, we don't want to (we can't) define NR_syscalls, then we do nothing. Otherwise we define NR_syscalls because we know asm-offsets.h has been generated. Signed-off-by: Jason Baron Acked-by: Steven Rostedt Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <20090826160910.GB2658@redhat.com> Signed-off-by: Frederic Weisbecker commit dd86dda24cc1dc70031a7d9250dc3c0c430a50e2 Author: Jason Baron Date: Mon Aug 24 17:40:14 2009 -0400 tracing: Define NR_syscalls for x86 (32) Add a NR_syscalls #define for x86. This is used in the syscall events tracing code. Todo: make it dynamic like x86_64. NR_syscalls is the usual name used to determine the number of syscalls supported by the current arch. We want to unify the use of this number across archs that support the syscall tracing. This also prepare to move some of the arch code to core code in the syscall tracing area. Signed-off-by: Jason Baron Cc: Paul Mundt Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Josh Stone Cc: Thomas Gleixner Cc: H. Peter Anwin Cc: Hendrik Brueckner Cc: Heiko Carstens LKML-Reference: <0f33c0f96d198fccc3ddd9ff7f5334ff5cb42706.1251146513.git.jbaron@redhat.com> Signed-off-by: Frederic Weisbecker commit cc3b13c11c567c69a6356be98d0c03ff11541d5c Author: Hendrik Brueckner Date: Tue Aug 25 18:02:37 2009 +0200 tracing: Don't trace kernel thread syscalls Kernel threads don't call syscalls using the sysenter/sysexit path. Instead they directly call the sys_* or do_* functions that implement the syscalls inside the kernel. The current syscall tracepoints only bind the sysenter/sysexit path, then it has no effect to trace the kernel thread calls to syscalls in that path. Setting the TIF_SYSCALL_TRACEPOINT flag is then useless for these. Actually there is only one case when a kernel thread can reach the usual syscall exit tracing path: when we create a kernel thread, the child comes to ret_from_fork and is the fork() return is then traced. But this information alone is useless, then we don't want to set the TIF flags for these threads. Kernel threads have task_struct->mm set to NULL. (Thanks to Heiko for that hint ;-) The idea is then to check the mm field in syscall_regfunc() and set the flag accordingly. Signed-off-by: Hendrik Brueckner Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt Cc: Heiko Carstens Cc: Hendrik Brueckner LKML-Reference: <20090825160237.GG4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit cd0980fc8add25e8ab12fcf1051c0f20cbc7c0c0 Author: Hendrik Brueckner Date: Tue Aug 25 14:50:27 2009 +0200 tracing: Check invalid syscall nr while tracing syscalls Most arch syscall_get_nr() implementations returns -1 if the syscall number is not valid. Accessing the bit field without a check might result in a kernel oops (at least I saw it on s390 for ftrace selftest). Before this change, this problem did not occur, because the invalid syscall number (-1) caused syscall_nr_to_meta() to return NULL. There are at least two scenarios where syscall_get_nr() can return -1: 1. For example, ptrace stores an invalid syscall number, and thus, tracing code resets it. (see do_syscall_trace_enter in arch/s390/kernel/ptrace.c) 2. The syscall_regfunc() (kernel/tracepoint.c) sets the TIF_SYSCALL_FTRACE (now: TIF_SYSCALL_TRACEPOINT) flag for all threads which include kernel threads. However, the ftrace selftest triggers a kernel oops when testing syscall trace points: - The kernel thread is started as ususal (do_fork()), - tracing code sets TIF_SYSCALL_FTRACE, - the ret_from_fork() function is triggered and starts ftrace_syscall_exit() with an invalid syscall number. To avoid these scenarios, I suggest to check the syscall_nr. For instance, the ftrace selftest fails for s390 (with config option CONFIG_FTRACE_SYSCALLS set) and produces the following kernel oops. Unable to handle kernel pointer dereference at virtual kernel address 2000000000 Oops: 0038 [#1] PREEMPT SMP Modules linked in: CPU: 0 Not tainted 2.6.31-rc6-next-20090819-dirty #18 Process kthreadd (pid: 818, task: 000000003ea207e8, ksp: 000000003e813eb8) Krnl PSW : 0704100180000000 00000000000ea54c (ftrace_syscall_exit+0x58/0xdc) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:1 PM:0 EA:3 Krnl GPRS: 0000000000000000 00000000000e0000 ffffffffffffffff 20000000008c2650 0000000000000007 0000000000000000 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ffffffffffffffff 000000003e813d78 000000003e813f58 0000000000505ba8 000000003e813e18 000000003e813d78 Krnl Code: 00000000000ea540: e330d0000008 ag %r3,0(%r13) 00000000000ea546: a7480007 lhi %r4,7 00000000000ea54a: 1442 nr %r4,%r2 >00000000000ea54c: e31030000090 llgc %r1,0(%r3) 00000000000ea552: 5410d008 n %r1,8(%r13) 00000000000ea556: 8a104000 sra %r1,0(%r4) 00000000000ea55a: 5410d00c n %r1,12(%r13) 00000000000ea55e: 1211 ltr %r1,%r1 Call Trace: ([<0000000000000000>] 0x0) [<000000000001fa22>] do_syscall_trace_exit+0x132/0x18c [<000000000002d0c4>] sysc_return+0x0/0x8 [<000000000001c738>] kernel_thread_starter+0x0/0xc Last Breaking-Event-Address: [<00000000000ea51e>] ftrace_syscall_exit+0x2a/0xdc Signed-off-by: Hendrik Brueckner Acked-by: Heiko Carstens Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt LKML-Reference: <20090825125027.GE4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit 7515bf59f87f19b2a17972b74230d2f91756fe3c Author: Hendrik Brueckner Date: Tue Aug 25 14:31:11 2009 +0200 tracing: Add syscall tracepoints - s390 arch update This patch includes s390 arch updates to synchronize with latest core changes in the syscalls tracing area. - tracing: Map syscall name to number (syscall_name_to_nr()) - tracing: Call arch_init_ftrace_syscalls at boot - tracing: add support tracepoint ids (set_syscall_{enter,exit}_id()) Signed-off-by: Hendrik Brueckner Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Martin Schwidefsky Cc: Paul Mundt LKML-Reference: <20090825123111.GD4639@cetus.boeblingen.de.ibm.com> Signed-off-by: Frederic Weisbecker commit d3a247bfb2c26f5b67367d58af7ad8c2efbbc6c1 Author: Cyrill Gorcunov Date: Wed Aug 26 21:13:24 2009 +0400 x86, apic: Slim down stack usage in early_init_lapic_mapping() As far as I see there is no external poking of mp_lapic_addr in this procedure which could lead to unpredited changes and require local storage unit for it. Lets use it plain forward. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090826171324.GC4548@lenovo> Signed-off-by: Ingo Molnar commit 7ced156bb8bb6363b6ed541871bf19a90273f910 Author: Arnaldo Carvalho de Melo Date: Wed Aug 26 11:51:26 2009 -0300 perf top: Show RIP only in verbose mode Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <20090826145126.GA5255@ghostprotocols.net> Signed-off-by: Ingo Molnar commit 680b6cfd3cee30a7d997d49430fb73af84523853 Author: Hidetoshi Seto Date: Wed Aug 26 16:20:36 2009 +0900 x86, mce: CE in last bank prevents panic by unknown MCE If MCE handler is called but none of mces_seen have machine check event which might signal the MCE (i.e. event higher than MCE_KEEP_SEVERITY), panic with "Machine check from unknown source" will be taken since the MCE is assumed to be signaled from external agent or so. Usually mces_seen never point MCE_KEEP_SEVERITY event such as CE. But it can happen because initial value of mces_seen is accidentally modified by mce_no_way_out() - in case if mce_no_way_out() run through all banks and the last bank has the CE, mces_seen points the CE and the "panic by unknown" will not be taken. This patch fixes this undesired behavior, and clarifies the logic. Signed-off-by: Hidetoshi Seto Cc: H. Peter Anvin Cc: Andi Kleen Cc: Jin Dongming LKML-Reference: <4A94E244.3020301@jp.fujitsu.com> Signed-off-by: Ingo Molnar Reported-by: Jin Dongming commit 307cf6e63cfa5025589ea1a06db44439a43819ff Author: Steven Whitehouse Date: Wed Aug 26 18:51:04 2009 +0100 GFS2: Rename eattr.[ch] as xattr.[ch] Use the more conventional name for the extended attribute support code. Update all the places which care. Signed-off-by: Steven Whitehouse commit 40b78a322365aa1d87770200f7fc7de3b361c11a Author: Steven Whitehouse Date: Wed Aug 26 18:41:32 2009 +0100 GFS2: Clean up of extended attribute support This has been on my list for some time. We need to change the way in which we handle extended attributes to allow faster file creation times (by reducing the number of transactions required) and the extended attribute code is the main obstacle to this. In addition to that, the VFS provides a way to demultiplex the xattr calls which we ought to be using, rather than rolling our own. This patch changes the GFS2 code to use that VFS feature and as a result the code shrinks by a couple of hundred lines or so, and becomes easier to read. I'm planning on doing further clean up work in this area, but this patch is a good start. The cleaned up code also uses the more usual "xattr" shorthand, I plan to eliminate the use of "eattr" eventually and in the mean time it serves as a flag as to which bits of the code have been updated. Signed-off-by: Steven Whitehouse commit f1e887de2d24d50286709912ddc4a91ead21ff81 Author: Mark Brown Date: Wed Aug 26 14:14:51 2009 +0100 ASoC: Don't reconfigure WM8350 FLL if not needed If the requested FLL configuration is the one we're currently running in it's at best pointless to reconfigure the FLL. Signed-off-by: Mark Brown commit 5dc0748182037e3fea35a96d615a3c2610b8e4b0 Author: Mark Brown Date: Wed Aug 26 14:17:23 2009 +0100 ASoC: Fix s3c-i2s-v2 build We now need the PCM header to kick the DMA. Signed-off-by: Mark Brown commit 977d49e00d18d500d0bfe77500053d9df9c3db77 Author: Mark Brown Date: Wed Aug 26 13:05:14 2009 +0100 ASoC: Make platform data optional for TLV320AIC3x Now that we don't need the I2C address for the device the platform data is redundant so allow it to be omitted. Signed-off-by: Mark Brown Tested-by: Chaithrika U S commit bc36681fdc3276b9da4047c277349291c4cbad09 Author: Mark Brown Date: Tue Aug 25 15:53:41 2009 +0100 ASoC: Add S3C24xx dependencies for Simtec machines No point in building them for S3C64xx, certainly no sense in running into build issues there. Signed-off-by: Mark Brown commit 2ff729f5445cc47d1910386c36e53fc6b1c5e47a Author: David Woodhouse Date: Wed Aug 26 14:25:41 2009 +0100 intel-iommu: Cope with yet another BIOS screwup causing crashes Signed-off-by: David Woodhouse commit 0396c215f301e92677d1e9a064b405e31501dc1d Author: David Vrabel Date: Tue Aug 25 16:41:06 2009 +0100 uwb: avoid radio controller reset loops If a radio controller reset attempt occurs while a probe() or remove() is in progress it fails and is retried endlessly, potentially preventing the probe() or remove() from completing. If a reset fails, sleep for a bit before retrying the reset. This allows the probe()/remove() to complete. Signed-off-by: David Vrabel commit 42960a13001aa6df52ca9952ce996f94a744ea65 Author: Jan Scholz Date: Wed Aug 26 13:18:51 2009 +0200 HID: completely remove apple mightymouse from blacklist Commit fa047e4f6fa63a6e9d0ae4d7749538830d14a343 "HID: fix inverted wheel for bluetooth version of apple mighty mouse" is incomplete. If we remove Apple MightyMouse (bluetooth version) from the list of apple_devices in drivers/hid/hid-apple.c we have to remove it from hid_blacklist in drivers/hid/hid-core.c as well. Signed-off-by: Jan Scholz Signed-off-by: Jiri Kosina commit f1d269bac24e5ddb3a0650aaeb4117aa806b99f1 Author: Roel Kluin Date: Wed Aug 26 12:01:20 2009 +0200 sound: vwsnd: Fix setting of cfgval and ctlval in li_setup_dma() Since !LI_CCFG_* evaluates to 0, this did not change anything to cfgval and ctlval. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit 1a7ff8ff6eebfa732ca2abe00a0878136bfb2d01 Author: Chaithrika U S Date: Tue Aug 25 15:20:05 2009 +0300 davinci: audio: move tlv320aic33 i2c setup into board files Tested on DM6446, DM355, DM6447, DA850 EVMs. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit 213765d7b40a455ced8596edfa3cc51b5f69d515 Author: Sandeep Paulraj Date: Mon Jul 27 15:10:36 2009 -0400 DaVinci: EDMA: Adding 2 new APIs for allocating/freeing PARAMs For best performance, codecs often setup linked triggered transfers with a contiguous block of params, and that is when this API is used. Setup/configuration of these parameter RAMs is most efficient if they are contiguous. There is an API to allocate a set of contiguous parameter RAMs and a corresponding API to free a set of contiguous parameter RAMs Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 0c30e0d31b57375b1decad4cc0e139e2f7758986 Author: Sandeep Paulraj Date: Tue Aug 18 11:08:27 2009 -0400 DaVinci: DM365: Adding entries for DM365 IRQ's This patch adds definitions for some DM365 IRQs that are used by the codecs. Codecs will also use the IRQs. Entries are being added to enable/disable IRQ's. There is no use as such for these entires in the kernel itself. Instead these will be used by the "linuxutils" package of the DVSDK. For further information on IRQ muxing refer to http://focus.ti.com/lit/ug/sprufg5a/sprufg5a.pdf Signed-off-by: Sandeep Paulraj Signed-off-by: Sneha Narnakaje Signed-off-by: Kevin Hilman commit 1aebb50e06b8c184dcf1dde4314cb782f42f9e21 Author: Sandeep Paulraj Date: Fri Aug 21 12:38:11 2009 -0400 DaVinci: DM355: Adding PINMUX entries for DM355 Display This patch adds PINMUX entries for DM355 Display. These will be used by the DM355 display driver. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 820c4fe32ea11da338445d225cd51caa4cb69e43 Author: Sudhakar Rajashekhara Date: Thu Aug 13 18:16:28 2009 -0400 davinci: Handle pinmux conflict between mmc/sd and nor flash On DA850/OMAP-L138 EVM, MMC/SD and NOR Flash share some of the AEMIF pins. This patch prints out a warning during booting, if both MMC/SD and NOR Flash are enabled in kernel menuconfig. If both MMC/SD and NOR Flash are enabled, only MMC/SD will work correctly. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 7c5ec6095a7d29c89ee050281faa068a374a5ac6 Author: Sudhakar Rajashekhara Date: Thu Aug 13 17:36:25 2009 -0400 davinci: Add NOR flash support for da850/omap-l138 This patch adds platform data for the 8MB NOR flash found on da850/omap-l138 EVM. Both NOR and NAND can co-exist on da850/omap-l138 as they are using different chip selects. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 38beb929f2c33a37bf3af6103c064a9edfbe242b Author: Sudhakar Rajashekhara Date: Thu Aug 13 16:21:11 2009 -0400 davinci: Add NAND flash support for DA850/OMAP-L138 This patch adds platform data for the 512MB NAND Flash found on DA850/OMAP-L138 EVM. Currently it supports only 1-bit ECC. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 700691f27ed9b0891cece9032e4de8c0b482c625 Author: Sudhakar Rajashekhara Date: Thu Aug 13 15:16:23 2009 -0400 davinci: Add MMC/SD support for da850/omap-l138 There are two instances of MMC/SD on da850/omap-l138. Connector for the first instance is available on the EVM. This patch adds support for this instance. This patch also adds support for card detect and write protect switches on da850/omap-l138 EVM. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 5cbdf276bd9d9cd3cb9616f8253390096c1a237f Author: Sudhakar Rajashekhara Date: Thu Aug 13 14:33:14 2009 -0400 davinci: Add platform support for da850/omap-l138 GLCD This patch adds platform support for the graphic display (Sharp LK043T1DG01) found on DA850/OMAP-L138 based EVM. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit b1466376b22e1ec6395ccda7580deb72d3a809ad Author: Sudhakar Rajashekhara Date: Thu Aug 13 12:11:56 2009 -0400 davinci: Macro to convert GPIO signal to GPIO pin number Adds a macro to convert the GPIO signal passed as bank number and signal to GPIO pin number. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 491214e1f8129844289869bb6c231dc4542b11e3 Author: Chaithrika U S Date: Tue Aug 11 17:03:25 2009 -0400 davinci: Audio support for DA850/OMAP-L138 EVM Define resources for McASP used on DA850/OMAP-L138 EVM, add platform device defintion and Pin Mux configurations. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit e33ef5e3b368b31705d3024ee6a326f2a85a78fb Author: Chaithrika U S Date: Tue Aug 11 17:01:59 2009 -0400 davinci: Audio support for DA830 EVM Define resources for McASP1 used on DA830/OMAP-L137 EVM, add platform device defintion, initialization function. Additionally, this patch also adds version and FIFO related members to platform data structure. Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit 5a8d5441f4aac3ef0478d5de723422304c611926 Author: Sudhakar Rajashekhara Date: Tue Aug 11 16:14:21 2009 -0400 davinci: Correct the number of GPIO pins for da850/omap-l138 DA850/OMAP-L138 has 144 pins configurable as GPIO, but currently this has been configured as 128. This patch corrects it. Also, this patch adds the base address for GPIO pins greater than 128. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 53ca5c916971f72262ef37287e17f0a7d980362c Author: Sudhakar Rajashekhara Date: Tue Aug 11 11:10:50 2009 -0400 davinci: Configure MDIO pins for EMAC Earlier patch which adds EMAC support for da850/omap-l138 was not configuring the MDIO pins. Ethernet was working fine with the earlier patch, because the MDIO pins were configured from the boot loader. This patch removes that dependency. Also, this patch populates a member in the emac clk structure to say that EMAC LPSC sits on controller 1. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit cc36e97b0b33d9041928e4db45654223a59c1a75 Author: Sandeep Paulraj Date: Fri Aug 7 13:19:45 2009 -0400 DaVinci: DM365: Add Support for new Revision of silicon DM365 RBL has been updated. The variant number has changed for this new revision of silicon. This patch adds support for the new revision of DM365. The name fields are also being updated to reflect the version of the silicon. Without this minor fix DM365 REV 1.2 will not boot up Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 866d286953c359e7b1fc0b8d04254d144a11be68 Author: Sandeep Paulraj Date: Mon Aug 3 13:58:24 2009 -0400 DaVinci: DM365: Fix Compilation issue due to PINMUX entry The mask can hold only 8 bit values. This gave a compilation warning. This patch rectifies the warning. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit a0f0202e2a19d43d733e07cb435a3064324c2ba7 Author: Sandeep Paulraj Date: Mon Jul 27 09:57:07 2009 -0400 DaVinci: EDMA: Updating default queue handling EDMA queues in DM365 are a little different than those on other DaVinci's. On DM365 Q0 and Q1 have the larger FIFO size. We want Q0 and Q1 to be used by codecs and DVSDK demos. MMC driver is the only driver which uses the flag 'EVENTQ_DEFAULT'. So MMC driver should be using Q2 instead of Q1 on DM365. This patch allows us to declare a "default queue" from SOC specific code. If it is not declared then the EDMA driver assumes a default of queue 1. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 10eef5a8a08d8be455ae5f9599b214c33ad52340 Author: Sandeep Paulraj Date: Mon Jul 27 08:50:16 2009 -0400 DaVinci: EDMA: Add queue 2 and 3 for DM365 and DM6467 DM365 and DM6467 have 4 queues. The patch updates the 'dma_event_q' enum to reflect this. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 889c1e0dabcebe3aab3fb5aec3f506d7d614ec61 Author: Kevin Hilman Date: Thu Jul 16 06:59:42 2009 -0700 davinci: Kconfig: add dm646x ASoC support commit 61aa07328d8e70d95a1e2325288df52a1e92a694 Author: Kevin Hilman Date: Wed Jul 15 08:47:48 2009 -0700 davinci: audio clocks: use struct device instead of clock names There is no need to pass clock name strings in platform_data. Instead, setup clkdev nodes to have correct ASoC device names. Signed-off-by: Kevin Hilman commit 548197bdf02882db39b7563d26975e7549e6af03 Author: Hemant Pedanekar Date: Fri Jul 17 23:30:36 2009 +0530 davinci: dm646x-evm: Add support for IDE Controls ATA_RSTn and ATA_PWD through CPLD register 0 to enable ATA. An I2C driver is added for the same. Calls ide init if enabled in configuration. Signed-off-by: Hemant Pedanekar Signed-off-by: Kevin Hilman commit 10a1af384e8157fa2e3275d68346cceff1ad06ca Author: Kevin Hilman Date: Fri Jul 17 08:28:26 2009 -0700 davinci: Kconfig: update default defconfig Updated default defconfig after da850 merge and 2.6.31-rc3 update. Signed-off-by: Kevin Hilman commit 5a4b131508236c0a59b8680f486c49e31881fe4e Author: Sudhakar Rajashekhara Date: Fri Jul 17 04:47:10 2009 -0400 davinci: Add EMAC support for da850/omap-l138 Ethernet Media Access Controller (EMAC) on da850/omap-l138 supports 10/100 Mbps operation. It also supports Media Independent Interface (MII) and Reduced Media Independent Interface (RMII) to physical layer (PHY). Phy which supports MII is present on the DA850/OMAP-L138 base board and Phy supporting RMII is present on the UI card. This patch adds support only for the MII Phy. Support for RMII Phy will be added later. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 0fbc5592158db4e1ca2037178e1ea6733ccc6f61 Author: Sudhakar Rajashekhara Date: Thu Jul 16 06:42:18 2009 -0400 davinci: Add support for DA850/OMAP-L138 EVM board Add support for the DA850/OMAP-L138 Evaluation Module (EVM) from TI. The EVM has User Interface (UI) card which contains various devices. This UI card can be connected to the base board. Support for all the devices on the UI card and ones on the EVM will be added in subsequent patches. The EVM schematics are not available publicly yet; but should be available soon. A new defconfig for this board has been added mainly because the DA830/OMAP-L137 defconfig forces writethrough cache mode which is not required on DA850/OMAP-L138. This patch has been boot tested on DA850/OMAP-L138 EVM using ramdisk as filesystem. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit e1a8d7e2ea7c971f750b1adf0e98c3c8ed002623 Author: Sudhakar Rajashekhara Date: Thu Jul 16 06:41:54 2009 -0400 davinci: Add base DA850/OMAP-L138 SoC support The DA850/OMAP-L138 is a new SoC from TI in the same family as DA830/OMAP-L137. Major changes include better support for power management, support for SATA devices and McBSP (same IP as DM644x). DA850/OMAP-L138 documents are available at http://focus.ti.com/docs/prod/folders/print/omap-l138.html. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit efd911814e303e00e6ed44e747b113a8644efede Author: Sergei Shtylyov Date: Thu Jul 16 19:58:53 2009 +0400 davinci: DM646x: pass correct MUSB IRQs DM646x has MUSB connected to IRQs 13 and 14 (unlike IRQ12 on other platforms), so pass the correct IRQ resources with the platform device. Signed-off-by: Dmitry Krivoschekov Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit c96b56c53fb76c540a1a8103c7594859db4351dd Author: Sudhakar Rajashekhara Date: Thu Jul 16 05:45:32 2009 -0400 davinci: Rearrange the da830/omap-l137 macros and functions Rearrange the PINMUX macros and pinmux_setup function which are common between da830/omap-l137 and da850/omap-l138. Also, replace the da830 string in function names to da8xx. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 2259bbd460c5c15567e2e311d0ab0fe763b40031 Author: Sudhakar Rajashekhara Date: Fri Jul 10 06:28:52 2009 -0400 davinci: Pass proper EDMA CC interrupt number for DA830/OMAP-L137 In EDMA resource structure, instead of passing EDMA CC interrupt, EDMA TC error interrupt number is being passed. Before the patch: root@arago:~# cat /proc/interrupts CPU0 12: 0 cp_intc edma_error 13: 0 cp_intc edma Err: After the patch: root@arago:~# cat /proc/interrupts CPU0 11: 0 cp_intc edma 12: 0 cp_intc edma_error Err: Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit bea238f65c81742a03662e4664d88a9b4de5ea83 Author: Rajashekhara, Sudhakar Date: Fri Jul 10 02:08:31 2009 -0400 davinci: Move the da830/omap-l137 #defines to header file With the introduction of TI da850/omap-l138, some of the macros defined for da830/omap-l137 will be needed in da850 source file. So, move the common macros to da8xx.h header file. Also, modify the macro names from DA830_... to DA8XX_. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 1c92a554fcad141f8c73eecdb1cc5ac0527a5c15 Author: Hemant Pedanekar Date: Thu Jul 9 19:43:20 2009 +0530 davinci: dm646x: Add IDE setup This patch adds platform data and init function for IDE which could be called from board specific file to register IDE device. Note that for 594MHz device the transfer mode is limited to UDMA4 since ideclk rate is less than 100 MHz, which forces udma_mask in palm_bk3710.c to UDMA4, while for 729MHz device, it is UDMA5. Signed-off-by: Hemant Pedanekar Signed-off-by: Kevin Hilman commit 6077d265324f13a4b7db30eb70cabed07fd58936 Author: Sekhar Nori Date: Thu Jul 9 20:26:38 2009 +0530 davinci: make arch_idle and arch_reset as inline functions Make arch_idle and arch_reset inline as inline function. Not having them inline leads to a warning of this sort when only one of these functions is used: arch/arm/mach-davinci/include/mach/system.h:24: warning: 'arch_reset' \ defined but not used boot, re-boot tested on OMAP-L138 EVM Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit baf09a4cd029c10fd46ef3d1505e2fe8cddcb48e Author: Kevin Hilman Date: Wed Jul 8 08:32:27 2009 -0700 davinci: da830: updates for mach-type name change Signed-off-by: Kevin Hilman commit 9eb7115bcc423ae022ebf1844820d58a77c2d435 Author: Hemant Pedanekar Date: Wed Jun 24 10:15:47 2009 +0530 davinci: Move IO device mapping macros from io.h to hardware.h This patch takes out IO mapping macros from mach/io.h and puts them in mach/hardware.h avoiding need to include mach/io.h in various files such as serial.h, vmalloc.h etc. The main reason to avoid inclusion of mach/io.h is, when default in/out macros are overridden by machine specific functions (e.g., in case of PCI I/O), they result into linker error. An example snippet and error snapshot is listed below. Following code in mach/io.h: #define inl(p) my_inl() static inline unsigned int my_inl(unsigned int addr) { if (IS_PCI_IO(addr)) return pci_inl (); else return le32_to_cpu(__raw_readl(__typesafe_io(addr))); } leads to error: LD arch/arm/boot/compressed/vmlinux arch/arm/boot/compressed/misc.o: In function `my_inl': misc.c:(.text+0x2744): undefined reference to `pci_inl' make[2]: *** [arch/arm/boot/compressed/vmlinux] Error 1 This is because mach/io.h gets included in arch/arm/boot/compressed/misc.c through mach/serial.h but pci.c file, which defines 'pci_inl' doesn't get built into compressed vmlinux. Signed-off-by: Hemant Pedanekar Signed-off-by: Kevin Hilman commit 3e25d5f4fd7515a0a1e6b68025c483f53196a98c Author: Hemant Pedanekar Date: Tue Jul 7 19:49:41 2009 +0530 davinci: dm646x: Add clock info and update mux setup for ATA This patch adds clock data for IDE and also updates pin mux mask for ATA so as to disable PCI when ATA is selected. Signed-off-by: Hemant Pedanekar Signed-off-by: Kevin Hilman commit 88659988d5b01f83615ece5ad3183ce5672e2a7f Author: Kevin Hilman Date: Mon Jul 6 14:39:25 2009 -0700 davinci: Kconfig: update default config for 2.6.31-rc Signed-off-by: Kevin Hilman commit 25acf553aeed86f93f2cf39227b59fc6eb3e8c78 Author: Chaithrika U S Date: Fri Jun 5 06:28:08 2009 -0400 davinci: ASoC: Add the platform devices for ASP 1) Registers the platform devices for ASP on dm355, dm644x and dm646x so that the machine driver can probe to get ASP related platform data. 2) Move towards definition of the asp clocks using physical name(for dm355 and dm644x) 3) Add platform data to board specific files. Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit 7a36071e7954836ba437987e5ca4ced174462b28 Author: David Brownell Date: Thu Jun 25 17:01:31 2009 -0700 davinci: dm365 gpio irq support Support DM365 GPIOs ... primarily by handling non-banked GPIO IRQs: - Flag DM365 chips as using non-banked GPIO interrupts, using a new soc_info field. - Replace the gpio_to_irq() mapping logic. This now uses some runtime infrastructure, keyed off that new soc_info field, which doesn't handle irq_to_gpio(). - Provide a new irq_chip ... GPIO IRQs handled directly by AINTC still need edge triggering managed by the GPIO controller. DM365 chips no longer falsely report 104 GPIO IRQs as they boot. Intelligence about IRQ muxing is missing, so for the moment this only exposes the first eight DM365 GPIOs, which are never muxed. The next eight are muxed, half with Ethernet (which uses most of those pins anyway). Tested on DM355 (10 unbanked IRQs _or_ 104 banked ones) and also on DM365 (16 unbanked ones, only 8 made available). Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit af5dbaef76cb01995639cef10ca6f5a2b08207e8 Author: Sandeep Paulraj Date: Wed Jun 24 12:22:28 2009 -0400 davinci: DM365 Updating PINMUX Entries Patch updates DM365 PINMUX by adding entries for Video, SPI 1 - 4, PWM 0 - 3. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 8593790d604c29a717d5914159ce78c7bb9899fb Author: Mark A. Greer Date: Wed Jun 3 18:41:53 2009 -0700 davinci: da8xx: Add support for DA830/OMAP-L137 EVM board Add support for the DA830/OMAP-L137 Evaluation Module (EVM) from TI. The EVM has User Interface (UI) and Audio cards that can be connected which contain various devices. Support for those devices and ones on the EVM will be added in subsequent patches. Additional generalizations for future SoCs in da8xx family done by Sudhakar Rajashekhara and Sekhar Nori. Signed-off-by: Steve Chen Signed-off-by: Mark A. Greer Cc: Sudhakar Rajashekhara Cc: Sekhar Nori Signed-off-by: Kevin Hilman commit 55c79a40e34566e9d198f6205b0cf06e3d89ac0a Author: Mark A. Greer Date: Wed Jun 3 18:36:54 2009 -0700 davinci: da8xx: Add base DA830/OMAP-L137 SoC support The da830/omap l137 is a new SoC from TI that is similar to the davinci line. Since its so similar to davinci, put the support for the da830 in the same directory as the davinci code. There are differences, however. Some of those differences prevent support for davinci and da830 platforms to work in the same kernel binary. Those differences are: 1) Different physical address for RAM. This is relevant to Makefile.boot addresses and PHYS_OFFSET. The Makefile.boot issue isn't truly a kernel issue but it means u-boot won't work with a uImage including both architectures. The PHYS_OFFSET issue is addressed by the "Allow for runtime-determined PHYS_OFFSET" patch by Lennert Buytenhek but it hasn't been accepted yet. 2) Different uart addresses. This is only an issue for the 'addruart' assembly macro when CONFIG_DEBUG_LL is enabled. Since the code in that macro is called so early (e.g., by _error_p in kernel/head.S when the processor lookup fails), we can't determine what platform the kernel is running on at runtime to use the correct uart address. These areas have compile errors intentionally inserted to indicate to the builder they're doing something wrong. A new config variable, CONFIG_ARCH_DAVINCI_DMx, is added to distinguish between a true davinci architecture and the da830 architecture. Note that the da830 currently has an issue with writeback data cache so CONFIG_CPU_DCACHE_WRITETHROUGH should be enabled when building a da830 kernel. Additional generalizations for future SoCs in the da8xx family done by Sudhakar Rajashekhara and Sekhar Nori. Signed-off-by: Steve Chen Signed-off-by: Mikhail Cherkashin Signed-off-by: Mark A. Greer Cc: Sudhakar Rajashekhara Cc: Sekhar Nori Signed-off-by: Kevin Hilman commit ff255c6caa389c90c68f5421f60ebfc40b68ea1b Author: David Brownell Date: Sun Jun 21 14:50:12 2009 -0700 davinci: dm365 evm cpld support: leds, card detect, other setup Add basic support for the CPLD on the DM365 EVM board: - Read SW5 to set up NAND and keypad vs (someday) OneNAND - Export MMC/SD card detect and writeprotect signals - LED support (same layout as on DM355 EVM) - Static config for video input: * external HD imager precludes MMC1, Ethernet, audio * else either tvp5146 (SD/default) or tvp7002 (HD) The video input could actually be switched around dynamically; change that if/when that's needed (and after those other video inputs have driver support). Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit 37b798da5df377521a8cd32a82467aa2d431f33e Author: Sandeep Paulraj Date: Sat Jun 20 14:15:51 2009 -0400 davinci: dm365: add NAND support to EVM board Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit a45c8ba30bca0c3257785cae28680781fd356a85 Author: Sandeep Paulraj Date: Sat Jun 20 14:00:52 2009 -0400 davinci: MMC/SD Support for dm365 EVM Patch adds support for MMC/SD in the DM365 EVM. Pinmux for MMC/SD slot 1 on the DM365 EVM is also configured. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 19ff3bf2e8473c03bb80052728bfa91c0fdf10f8 Author: Sandeep Paulraj Date: Sat Jun 20 13:58:32 2009 -0400 davinci: dm365: add MMC/SD support Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 15061b5d02ad461620ab7b09d48374fad0e57649 Author: Sandeep Paulraj Date: Sat Jun 20 13:15:39 2009 -0400 davinci: dm365: add EDMA support Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 8ed0a9d4e7cfff439f95d08c882841f25a12bf54 Author: Sandeep Paulraj Date: Sat Jun 20 12:23:39 2009 -0400 davinci: dm365: EMAC support for SoC and dm365 EVM The patch adds Support for EMAC in the DM365 SOC and the DM365 EVM board. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 9f5131538368b299aabcc790f1cece0439e65a5e Author: Sandeep Paulraj Date: Sat Jun 20 12:11:09 2009 -0400 davinci: dm365: add mux entries for EDMA, RTC, EMAC, keypad. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit a46e9e403cf930c7a09f7732bba78b38ab14f067 Author: Sandeep Paulraj Date: Tue Jun 9 16:28:44 2009 -0400 davinci: Adding DM365 entries to Makefile/Kconfig/defconfig This patch does the following 1) Adds entries to davinci_all_defconfig for DM365 2) Adds entries to the Makefile for DM365 3) Adds entries for DM365 in the Kconfig Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 37dd00956361528776d1dd76eb303a55b91fb23a Author: Sandeep Paulraj Date: Tue Jun 9 16:28:15 2009 -0400 davinci: Adding DM365 EVM board support The patch adds support for Evaluation Module (EVM) board for the dm365 SoC. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit fb8fcb891390639d6258c816abb537663495da0c Author: Sandeep Paulraj Date: Thu Jun 11 09:41:05 2009 -0400 davinci: Adding DM365 SOC Support The patch adds base support for new TI SOC DM365, which s similar to the dm355. Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 5fcd294df26e6160f32ea551ef074630b4df728d Author: Kevin Hilman Date: Wed Jun 3 12:24:50 2009 -0700 davinci: remove watchdog from soc_info watchdog info is not needed in soc_info, platform_device can be used directly in core code. Signed-off-by: Kevin Hilman commit 1d3bba61f69f447f11aa88e82c5840319962d4cd Author: David Brownell Date: Fri Jun 5 21:45:14 2009 -0700 davinci: sram warning fix CC arch/arm/mach-davinci/sram.o arch/arm/mach-davinci/sram.c: In function 'sram_init': arch/arm/mach-davinci/sram.c:63: warning: comparison of distinct pointer types lacks a cast Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit f28f03bba423bbccf102abc9c1921d50a4499d66 Author: Kevin Hilman Date: Wed Jun 3 14:54:27 2009 -0700 davinci: Kconfig: enable EVMs by default when SoCs are enabled Signed-off-by: Kevin Hilman commit 98d0e9fc6bf1dc8227a7848eea1e28bf19f5a32d Author: Rajashekhara, Sudhakar Date: Tue Jun 2 06:48:43 2009 -0400 davinci: dm644x: Support for dm644x silicon revision 2.1 JTAG ID for DM644x silicon revision 2.1 has changed. An entry for the new silicon revision needs to be added to the davinci_id structure. Without this addition, EVMs with new silicon revision fail to boot the kernel. Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit a23f7dc82d48d7fc8377765f6ede907daef4e63b Author: David Griego Date: Mon Jun 1 11:41:54 2009 -0700 davinci: Fix watchdog reset code The davinci reset routine, davinci_watchdog_reset(), sets the TCR register instead of the TGCR register as it should to put the WDT into its "Initial State". It also writes the WDTCR register without the proper WDKEY which is pointless since the register will be write-protected. Signed-off-by: David Griego Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 75d0fa70e748629b786c25530f7c5ae76587da35 Author: Chaithrika U S Date: Thu May 28 05:09:21 2009 -0400 davinci: dm646x: Adds McASP clock Adds McASP clock support for the two instances of mcasp (mcasp0,mcasp1). This patch is part of the audio support for dm646x series. Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Kevin Hilman commit 2bcb613a7919a0a6a7a00408fbfd1c8e471fe060 Author: Sudhakar Rajashekhara Date: Tue Jun 2 03:38:26 2009 -0400 davinci: EDMA: add support for dm646x Enables module clock for DM646x EDMA channel controller and transfer controller. Signed-off-by: Naresh Medisetty Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit 60902a2cb12c3c1682ee7a04ad7448ec16dc0c29 Author: Sudhakar Rajashekhara Date: Thu May 21 07:41:35 2009 -0400 davinci: EDMA: multiple CCs, channel mapping and API changes - restructure to support multiple channel controllers by using additional struct resources for each CC - interface changes visible to EDMA clients Introduce macros to build IDs from controller and channel number, and to extract them. Modify the edma_alloc_slot function to take an extra argument for the controller. Also update ASoC drivers to use API. ASoC changes Acked-by: Mark Brown - Move queue related mappings to dm.c EDMA in DM355 and DM644x has two transfer controllers while DM646x has four transfer controllers. Moving the queue to tc mapping and queue priority mapping to dm.c will be helpful to probe these mappings from platform device so that the machine_is_* testing will be avoided. - add channel mapping logic Channel mapping logic is introduced in dm646x EDMA. This implies that there is no fixed association for a channel number to a parameter entry number. In other words, using the DMA channel mapping registers (DCHMAPn), a PaRAM entry can be mapped to any channel. While in the case of dm644x and dm355 there is a fixed mapping between the EDMA channel and Param entry number. Signed-off-by: Naresh Medisetty Signed-off-by: Sudhakar Rajashekhara Reviewed-by: David Brownell Signed-off-by: Kevin Hilman commit 4c5adde7943b982d22a7bf711654fbb5cb810667 Author: Kevin Hilman Date: Fri Jun 19 12:02:33 2009 -0700 MAINTAINERS: add entry for TI DaVinci machine support Signed-off-by: Kevin Hilman commit 06e799764eb7c2e4640888d438c3524d756613e1 Author: Paul E. McKenney Date: Tue Aug 25 18:53:37 2009 -0700 rcu: Remove lockdep annotations from RCU's _notrace() API members The lockdep annotations rcu_read_acquire() and rcu_read_release() might lead to infinite looping if called from lockdep. So this patch removes them. Formal repost of http://lkml.org/lkml/2009/8/25/309 on the strength of Lai Jiangshan's review. Suggested-by: Lai Jiangshan Suggested-by: Mathieu Desnoyers Reviewed-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090826015337.GA18904@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 7e7430908c3ccaf71f0851050c8ccaf9ecfb3b56 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:03 2009 -0300 Bluetooth: Add support for L2CAP 'Send RRorRNR' action When called, 'Send RRorRNR' should send a RNR frame if local device is busy or a RR frame otherwise. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 2246b2f1b43f3fbd128e72b129dcbbd3202cc592 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:02 2009 -0300 Bluetooth: Handle L2CAP case when the remote receiver is busy Implement all issues related to RemoteBusy in the RECV state table. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit ca42a613c92d131ff02d5714419d58c36c3459f3 Author: Gustavo F. Padovan Date: Wed Aug 26 04:04:01 2009 -0300 Bluetooth: Acknowledge L2CAP packets when receiving RR-frames (F-bit=1) Implement the Recv ReqSeqAndFBit event when a RR frame with F bit set is received. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 35dce1a99d010f3d738af4ce1b9b77302fdfe69c Merge: 7cb2e3e 1c569f0 Author: Ingo Molnar Date: Wed Aug 26 08:29:02 2009 +0200 Merge branch 'tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into tracing/core Conflicts: include/linux/tracepoint.h Signed-off-by: Ingo Molnar commit 5051fd69773d2d044734b78516317a04d3774871 Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:37 2009 +0400 x86, e820: Guard against array overflowed in __e820_add_region() Better to be paranoid against unpredicted nr_map modifications. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090824175551.146070377@openvz.org> Signed-off-by: Ingo Molnar commit ffc438366c2660a6a811b94ba33229bf217f8254 Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:39 2009 +0400 x86, ioapic: Get rid of needless check and simplify ioapic_setup_resources() alloc_bootmem() already panics on allocation failure. There is no need to check the result. Also there is a way to unbind global variable from its body and use it as a parameter which allow us to simplify ioapic_init_mappings as well -- "for" cycle already uses nr_ioapics as a conditional variable and there is no need to check if ioapic_setup_resources was returning NULL again. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090824175551.493629148@openvz.org> Signed-off-by: Ingo Molnar commit 8f3e1df48baf728bbb0f242c9dff9c9d7108218a Author: Cyrill Gorcunov Date: Mon Aug 24 21:53:36 2009 +0400 x86, ioapic: Define IO_APIC_DEFAULT_PHYS_BASE constant We already have APIC_DEFAULT_PHYS_BASE so just to be consistent. Signed-off-by: Cyrill Gorcunov LKML-Reference: <20090824175550.927946757@openvz.org> Signed-off-by: Ingo Molnar commit 90cba64a5f672a239f43ec5cb9a11b806887331e Author: Randy Dunlap Date: Tue Aug 25 14:35:41 2009 -0700 timer.c: Fix S/390 comments Fix typos and add omitted words. Signed-off-by: Randy Dunlap Cc: akpm Cc: linux390@de.ibm.com Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <20090825143541.43fc2ed8.randy.dunlap@oracle.com> Signed-off-by: Ingo Molnar commit 7cb2e3ee2aeec5b83ecadba929a2dc575dd4008f Author: Steven Rostedt Date: Wed Aug 26 00:32:37 2009 -0400 tracing: add comments to explain TRACE_EVENT out of protection The commit: commit 5ac35daa9343936038a3c9c4f4d6d3fe6a2a7bd8 Author: Xiao Guangrong tracing/events: fix the include file dependencies Moved the TRACE_EVENT out of the ifdef protection of tracepoints.h but uses the define of TRACE_EVENT itself as protection. This patch adds comments to explain why. Signed-off-by: Steven Rostedt commit 5ac35daa9343936038a3c9c4f4d6d3fe6a2a7bd8 Author: Xiao Guangrong Date: Tue Aug 25 14:06:22 2009 +0800 tracing/events: fix the include file dependencies The TRACE_EVENT depends on the include/linux/tracepoint.h first and include/trace/ftrace.h later, if we include the ftrace.h early, a building error will occur. Both define TRACE_EVENT in trace_a.h and trace_b.h, if we include those in .c file, like this: #define CREATE_TRACE_POINTS include include The above will not work, because the TRACE_EVENT was re-defined by the previous .h file. Reported-by: Wei Yongjun Signed-off-by: Xiao Guangrong LKML-Reference: <4A937F5E.3020802@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 5079f3261ffd7fe4a537679af695f2328943a245 Author: Zhaolei Date: Tue Aug 25 16:12:56 2009 +0800 ftrace: Move setting of clock-source out of options There are many clock sources for the tracing system but we can only enable/disable one at a time with the trace/options file. We can move the setting of clock-source out of options and add a separate file for it: # cat trace_clock [local] global # echo global > trace_clock # cat trace_clock local [global] Signed-off-by: Zhao Lei LKML-Reference: <4A939D08.6050604@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 87a342f5db69d53ea70493bb1ec69c9047677038 Author: Li Zefan Date: Fri Aug 7 10:33:43 2009 +0800 tracing/filters: Support filtering for char * strings Usually, char * entries are dangerous in traces because the string can be released whereas a pointer to it can still wait to be read from the ring buffer. But sometimes we can assume it's safe, like in case of RO data (eg: __file__ or __line__, used in bkl trace event). If these RO data are in a module and so is the call to the trace event, then it's safe, because the ring buffer will be flushed once this module get unloaded. To allow char * to be treated as a string: TRACE_EVENT(..., TP_STRUCT__entry( __field_ext(const char *, name, FILTER_PTR_STRING) ... ) ... ); The filtering will not dereference "char *" unless the developer explicitly sets FILTER_PTR_STR in __field_ext. Signed-off-by: Li Zefan LKML-Reference: <4A7B9287.90205@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 43b51ead3f752a3935116e5b1a94254b8573734f Author: Li Zefan Date: Fri Aug 7 10:33:22 2009 +0800 tracing/filters: Add __field_ext() to TRACE_EVENT Add __field_ext(), so a field can be assigned to a specific filter_type, which matches a corresponding filter function. For example, a later patch will allow this: __field_ext(const char *, str, FILTER_PTR_STR); Signed-off-by: Li Zefan LKML-Reference: <4A7B9272.6050709@cn.fujitsu.com> [ Fixed a -1 to FILTER_OTHER Forward ported to latest kernel. ] Signed-off-by: Steven Rostedt commit aa38e9fc3ea804290efd3a39316d7f7e6c945800 Author: Li Zefan Date: Fri Aug 7 10:33:02 2009 +0800 tracing/filters: Add filter_type to struct ftrace_event_field The type of a field is stored as a string in @type, and here we add @filter_type which is an enum value. This prepares for later patches, so we can specifically assign different @filter_type for the same @type. For example normally a "char *" field is treated as a ptr, but we may want it to be treated as a string when doing filting. Signed-off-by: Li Zefan LKML-Reference: <4A7B925E.9030605@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 6591b493871cf9b17de2ba272edb8ab529a8058b Author: Josh Triplett Date: Thu Aug 6 07:57:01 2009 -0700 tracing: Add vim script to enable folding for function_graph traces function_graph traces look like nested function calls, complete with braces denoting the start and end of functions. function-graph-fold.vim teaches vim how to fold these functions, to make it more convenient to browse them. To use, :source function-graph-fold.vim while viewing a function_graph trace, or use "view -S function-graph-fold.vim some-trace" to load it from the command-line together with a trace. You can then use the usual vim fold commands, such as "za", to open and close nested functions. While closed, a fold will show the total time taken for a call, as would normally appear on the line with the closing brace. Folded functions will not include finish_task_switch(), so folding should remain relatively sane even through a context switch. Note that this will almost certainly only work well with a single-CPU trace (e.g. trace-cmd report --cpu 1). It also takes some time to run (a few seconds for a large trace on my laptop). Nevertheless, I found it very handy to get an overview of a trace and then drill down on problematic calls. Signed-off-by: Josh Triplett LKML-Reference: <20090806145701.GB7661@feather> Signed-off-by: Steven Rostedt commit f0693c8bd5c50380b299e19d19e7640024640b42 Author: Steven Rostedt Date: Thu Aug 6 14:59:32 2009 -0400 tracing/sched: show CPU task wakes up on in trace event While debugging the scheduler push / pull algorithm, I found it very annoying that the sched wake up events did not show the CPU that the task was waking on. In order to analyze the scheduler, I needed that information. This patch adds recording of the CPU that a task is waking up on. Signed-off-by: Steven Rostedt commit a36b44988cef1fc007535107013571fa691a2d7f Author: Eric Sandeen Date: Tue Aug 25 22:36:45 2009 -0400 ext4: use ext4_grpblk_t more extensively unsigned short is potentially too small to track blocks within a group; today it is safe due to restrictions in e2fsprogs but we have _lo / _hi bits for group blocks with the intent to go up to 32 bits, so clean this up now. There are many more places where we use unsigned/int/unsigned int to contain a group block but this should at least fix all the short types. I added a few comments to the struct ext4_group_info definition as well. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 1927805e6599d8602d2c0af6a0155c85acc0b214 Author: Eric Sandeen Date: Tue Aug 25 22:36:25 2009 -0400 ext4: use variables not types in sizeofs() for allocations Precursor to changing some types; to keep things in sync, it seems better to allocate/memset based on the size of the variables we are using rather than on some disconnected basic type like "unsigned short" Signed-off-by: Eric Sandeen commit a8526e84ac758ac6da45cf273aa1538a6a7aa3de Author: Aneesh Kumar K.V Date: Tue Aug 25 22:36:05 2009 -0400 ext4: Add missing unlock_new_inode() call in extent migration code We need to unlock the new inode before iput. This patch fixes the following warning when calling chattr +e to migrate a file to use extents. It also fixes problems in when e4defrag attempts to defragment an inode. [ 470.400044] ------------[ cut here ]------------ [ 470.400065] WARNING: at fs/inode.c:1210 generic_delete_inode+0x65/0x16a() [ 470.400072] Hardware name: N/A ..... ... [ 470.400353] Pid: 4451, comm: chattr Not tainted 2.6.31-rc7-red-debug #4 [ 470.400359] Call Trace: [ 470.400372] [] warn_slowpath_common+0x77/0x8f [ 470.400385] [] warn_slowpath_null+0xf/0x11 [ 470.400395] [] generic_delete_inode+0x65/0x16a [ 470.400405] [] generic_drop_inode+0x17/0x1bd [ 470.400413] [] iput+0x61/0x65 [ 470.400455] [] ext4_ext_migrate+0x5eb/0x66a [ext4] [ 470.400492] [] ext4_ioctl+0x340/0x756 [ext4] [ 470.400507] [] vfs_ioctl+0x1d/0x82 [ 470.400517] [] do_vfs_ioctl+0x483/0x4c9 [ 470.400527] [] ? trace_hardirqs_on+0xd/0xf [ 470.400537] [] sys_ioctl+0x51/0x74 [ 470.400549] [] system_call_fastpath+0x16/0x1b [ 470.400557] ---[ end trace ab85723542352dac ]--- Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit 1dcd8ffc81e80a170625883f63f6a5db3cd0428d Author: Michael Barkowski Date: Tue Aug 18 17:20:44 2009 -0400 powerpc/qe_lib: Set gpio data before changing the direction to output This avoids having a short glitch if the desired initial value is not the same as what was previously in the data register. Signed-off-by: Michael Barkowski Acked-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ab94fcf528d127fcb490175512a8910f37e5b346 Author: H. Peter Anvin Date: Tue Aug 25 16:47:16 2009 -0700 x86: allow "=rm" in native_save_fl() This is a partial revert of f1f029c7bfbf4ee1918b90a431ab823bed812504. "=rm" is allowed in this context, because "pop" is explicitly defined to adjust the stack pointer *before* it evaluates its effective address, if it has one. Thus, we do end up writing to the correct address even if we use an on-stack memory argument. The original reporter for f1f029c7bfbf4ee1918b90a431ab823bed812504 was apparently using a broken x86 simulator. [ Impact: performance ] Signed-off-by: H. Peter Anvin Cc: Gabe Black commit 1c569f0264ea629c10bbab471dd0626ce4d3f19f Author: Josh Stone Date: Mon Aug 24 14:43:14 2009 -0700 tracing: Create generic syscall TRACE_EVENTs This converts the syscall_enter/exit tracepoints into TRACE_EVENTs, so you can have generic ftrace events that capture all system calls with arguments and return values. These generic events are also renamed to sys_enter/exit, so they're more closely aligned to the specific sys_enter_foo events. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-5-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit e8a2eb47e6ca03d4a4f98f0beef73720c5dddc0c Merge: 8b5a10f c62e432 Author: H. Peter Anvin Date: Tue Aug 25 15:40:29 2009 -0700 Merge commit 'origin/x86/urgent' into x86/asm commit 97419875865859fd2403e66266c02ce028e2f5ab Author: Josh Stone Date: Mon Aug 24 14:43:13 2009 -0700 tracing: Move tracepoint callbacks from declaration to definition It's not strictly correct for the tracepoint reg/unreg callbacks to occur when a client is hooking up, because the actual tracepoint may not be present yet. This happens to be fine for syscall, since that's in the core kernel, but it would cause problems for tracepoints defined in a module that hasn't been loaded yet. It also means the reg/unreg has to be EXPORTed for any modules to use the tracepoint (as in SystemTap). This patch removes DECLARE_TRACE_WITH_CALLBACK, and instead introduces DEFINE_TRACE_FN which stores the callbacks in struct tracepoint. The callbacks are used now when the active state of the tracepoint changes in set_tracepoint & disable_tracepoint. This also introduces TRACE_EVENT_FN, so ftrace events can also provide registration callbacks if needed. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-4-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit 3d27d8cb34fc156beb86de2338ca4029873a5cc6 Author: Josh Stone Date: Mon Aug 24 14:43:12 2009 -0700 tracing: Make syscall tracepoints conditional The syscall enter/exit tracepoints are only supported on archs that HAVE_SYSCALL_TRACEPOINTS, so the declarations should be #ifdef'ed. Also, the definition of syscall_regfunc and syscall_unregfunc should depend on this same config, rather than the ftrace-specific one. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan LKML-Reference: <1251150194-1713-3-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit 667000011927b4fcc359beac4a2447889db6d349 Author: Josh Stone Date: Mon Aug 24 14:43:11 2009 -0700 tracing: Rename FTRACE_SYSCALLS for tracepoints s/HAVE_FTRACE_SYSCALLS/HAVE_SYSCALL_TRACEPOINTS/g s/TIF_SYSCALL_FTRACE/TIF_SYSCALL_TRACEPOINT/g The syscall enter/exit tracing is no longer specific to just ftrace, so they now have names that reflect their tie to tracepoints instead. Signed-off-by: Josh Stone Cc: Jason Baron Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Li Zefan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Lai Jiangshan Cc: Paul Mundt Cc: Martin Schwidefsky Cc: Heiko Carstens LKML-Reference: <1251150194-1713-2-git-send-email-jistone@redhat.com> Signed-off-by: Frederic Weisbecker commit eac81736e6884484ebb45f8d0cba639f3285382b Author: Wei Yongjun Date: Tue Aug 4 17:27:52 2009 +0800 sunrpc: reply AUTH_BADCRED to RPCSEC_GSS with unknown service When an RPC message is received with RPCSEC_GSS with an unknown service (not RPC_GSS_SVC_NONE, RPC_GSS_SVC_INTEGRITY, or RPC_GSS_SVC_PRIVACY), svcauth_gss_accept() returns AUTH_BADCRED, but svcauth_gss_release() subsequently drops the response entirely, discarding the error. Fix that so the AUTH_BADCRED error is returned to the client. Signed-off-by: Wei Yongjun Signed-off-by: J. Bruce Fields commit 30cd0c4ad57f45e257758edad537cc5f6554e711 Author: Candelaria Villareal, Jorge Date: Tue Aug 25 10:13:25 2009 -0500 ASoC: SDP3430: Fix TWL GPIO6 pin mux request Fix the write to PMBR1 register through I2C. Also, the constant which holds the value to write is now called TWL4030_GPIO6_PWM0_MUTE. This name is based on TRM to avoid confusion. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit c935a331c8f569c7903ed26a3994a70cbea1802e Author: Paul E. McKenney Date: Tue Aug 25 08:40:25 2009 -0700 rcu: Add #ifdef to suppress __rcu_offline_cpu() warning in !HOTPLUG_CPU builds Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Paul Mundt LKML-Reference: <20090825154025.GD6616@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit ed2d8aed52212610d4cb79be3cbf535b04be38dc Author: Ryusei Yamaguchi Date: Sun Aug 16 00:54:41 2009 +0900 knfsd: Replace lock_kernel with a mutex in nfsd pool stats. lock_kernel() in knfsd was replaced with a mutex. The later commit 03cf6c9f49a8fea953d38648d016e3f46e814991 ("knfsd: add file to export stats about nfsd pools") did not follow that change. This patch fixes the issue. Also move the get and put of nfsd_serv to the open and close methods (instead of start and stop methods) to allow atomic check and increment of reference count in the open method (where we can still return an error). Signed-off-by: Ryusei Yamaguchi Signed-off-by: Isaku Yamahata Signed-off-by: YOSHIFUJI Hideaki Cc: Greg Banks Signed-off-by: J. Bruce Fields commit e2e465693247b7f81e85aa8b1b482d9502812be4 Author: Takashi Iwai Date: Tue Aug 25 18:25:30 2009 +0200 ALSA: hda - Add / fix model entries for HD-audio driver Signed-off-by: Takashi Iwai commit fc86f95415d14c74fd71f5e70173a4def7da68f6 Author: Denis Kuplyakov Date: Tue Aug 25 18:15:59 2009 +0200 ALSA: hda - Add full audio support on Acer Aspire 7730G notebook 1) Added support of internal subwoofer (it sounds!!!) 2) Auto muting front speakers and internal subwoofer on headphones plug. 3) Internal mic works. 4) 3 channel mods (jack maps): black pink blue 2ch: front ext mic line in 4ch: front ext mic surround 6ch: front CLFE surround Can be changed in mixer. 5) Sound can be recorded from: Internal mic Ext mic Cd Line in 6) 2 separate capture channels. Signed-off-by: Denis Kuplyakov Signed-off-by: Takashi Iwai commit 9b9d401b8d11796f4c4bcbcabecfec9f5d85ea25 Author: Anton Vorontsov Date: Wed Aug 19 03:28:21 2009 +0400 powerpc/85xx: Add QE USB support for MPC8569E-MDS boards - Add gpio-controller node for BCSR17, it is used to control USB speed and VBUS; - Add timer node for QE GTM, needed for USB host; - Add usb node itself; - Add some probing code for BCSR GPIOs. NOTE: QE USB doesn't work on prototype boards, but should work on pilot boards if specs and schematics are correct, though we don't have the pilot boards to actually test it. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 818fcac554397a04987d49e2bd2dfc2d394b265c Author: Anton Vorontsov Date: Wed Aug 19 03:28:17 2009 +0400 powerpc/82xx: Add CPM USB Gadget support for MPC8272ADS boards - Add usb node; - Configure pins and clocks; - Enable USB function in BCSR. The support was successfully tested using serial and ethernet gadget drivers. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit a70e88bc78d220a506394058d48cedd1c491a256 Author: Anton Vorontsov Date: Wed Aug 19 03:28:10 2009 +0400 powerpc/82xx: Fix BCSR bits for MPC8272ADS boards mpc8272_ads.c is using BCSR bits definitions from pq2ads.h, but according to User's Guide the bits are wrong for MPC8272ADS boards (I guess definitions from pq2ads should only be used for PQ2FADS boards). So, let's introduce our own definitions for MPC8272ADS, and don't include pq2ads.h. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit ec80fb2d89a0a93db46bdc968b6a849be5340531 Author: Anton Vorontsov Date: Wed Aug 19 03:38:18 2009 +0400 powerpc/85xx: Add eSDHC support for MPC8536DS boards This patch simply adds sdhci node to the device tree. We specify clock-frequency manually, so that eSDHC will work without upgrading U-Boot. Though, that'll only work for default setup (1500 MHz) on new board revisions. For non-default setups, it's recommended to upgrade U-Boot, since it will fixup clock-frequency automatically. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit d88cb582325830698de5071fa8b8c9e933dbbcad Author: Anirban Sinha Date: Tue Aug 25 07:00:02 2009 -0700 tracing: Eliminate code duplication in kernel/tracepoint.c Signed-off-by: Anirban Sinha Reviewed-by: Li Zefan Cc: "Oleg Nesterov" LKML-Reference: Signed-off-by: Ingo Molnar commit 0d884cb936e8e36c47bc7ee86eb6750261bd5438 Author: Takashi Iwai Date: Tue Aug 25 16:14:35 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC662 The last patch in this series is for ALC662; pretty similar as the previous patch for ALC861-VD. Signed-off-by: Takashi Iwai commit a4fcd491098603356e7600b021bdb6acbb53adb4 Author: Takashi Iwai Date: Tue Aug 25 16:12:15 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC861-VD One more patch to give a better name for the primary output controls, this time for ALC861-VD codec. The change is simple, just checking the pin connection whether it's a speaker-out. When both speaker and HP are assigned, we name the volume as "PCM" as this influences on both outputs. Signed-off-by: Takashi Iwai commit c3fc1f502a1f1a751c891d3b757a24dc76943539 Author: Takashi Iwai Date: Tue Aug 25 16:08:47 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC262 Similar improvements for ALC262 codec like previous two commits: assign a better name, either Master or Speaker, for the primary output controls. However, in the case of ALC262 codec, the necessary changes are larger than others because we need to check the possibility of different mixer amps depending on the pins. The pin 0x16 is mono, and bound with the dedicated mixer 0x0e while other pins are bound with 0x0c. Thus, there are two possible volumes. When only one of them is used, we can name it as "Master". OTOH, when both are used at the same time, they have to be named uniquely. Signed-off-by: Takashi Iwai commit 3993832464dd4e14a4c926583a11f0fa92c1f0f0 Author: Patrick McHardy Date: Tue Aug 25 16:07:58 2009 +0200 netfilter: nfnetlink: constify message attributes and headers Signed-off-by: Patrick McHardy commit 3a6c2b419b7768703cfb2cabdb894517c5065e33 Author: Patrick McHardy Date: Tue Aug 25 16:07:40 2009 +0200 netlink: constify nlmsghdr arguments Consitfy nlmsghdr arguments to a couple of functions as preparation for the next patch, which will constify the netlink message data in all nfnetlink users. Signed-off-by: Patrick McHardy commit a9e75a389254801ca160b72c6e221e5bb7e35df9 Author: David Vrabel Date: Tue Aug 25 15:07:12 2009 +0100 uwb: stop uwbd thread if rc->start() fails This fixes an oops when uwbd thread continues running after a failed radio controller start. Signed-off-by: David Vrabel commit 23112d6d2d9b265c959ecb671366c7c3b9c83611 Author: Takashi Iwai Date: Tue Aug 25 16:07:08 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC260 Instead of fixed "Front" mixer name, try to assign a better name, e.g. "Master" or "Speaker" fot the primary output volume controls of ALC260 codec. Signed-off-by: Takashi Iwai commit cb162b6bf2f445d67a45f5485d4ce32addaf8fe0 Author: Takashi Iwai Date: Tue Aug 25 16:05:03 2009 +0200 ALSA: hda - Improve auto-cfg mixer name for ALC880 When there is only one DAC is used for ALC880, try to assign a better name, either Speaker or Front, depending on the output pin type. Signed-off-by: Takashi Iwai commit 3fafdd7cc810a8fcd28b83fbde2d0e25830dee41 Author: David Vrabel Date: Tue Aug 25 15:03:07 2009 +0100 uwb: handle radio controller events with out-of-range IDs correctly If a radio controller event has an ID that's just out of range don't read beyond the end of uwbd's event arrays. Signed-off-by: Roel Kluin Signed-off-by: David Vrabel commit 005155b1f626d2b2d7932e4afdf4fead168c6888 Author: Roel Kluin Date: Tue Aug 25 15:35:12 2009 +0200 x86: Fix x86_model test in es7000_apic_is_cluster() For the x86_model to be greater than 6 or less than 12 is logically always true. Signed-off-by: Roel Kluin Cc: Andrew Morton Cc: Signed-off-by: Ingo Molnar commit 74f7a6552c8d76ffc5e11eb8d9d6c07238b9ae77 Author: Patrick McHardy Date: Tue Aug 25 15:33:08 2009 +0200 netfilter: nf_conntrack: log packets dropped by helpers Log packets dropped by helpers using the netfilter logging API. This is useful in combination with nfnetlink_log to analyze those packets in userspace for debugging. Signed-off-by: Patrick McHardy commit b6ed2e03df1e2c6ee41cf0e2e2699f2410671916 Author: Steven Whitehouse Date: Tue Aug 25 13:44:04 2009 +0100 GFS2: Add explanation of extended attr on-disk format Some useful info regarding the on-disk representation of GFS2 extended attributes. Signed-off-by: Steven Whitehouse commit faf907c7ba3d7df6266366556817f2ef7314640a Author: Shine Liu Date: Tue Aug 25 20:05:50 2009 +0800 ASoC: S3C platform: Fix s3c2410_dma_started() called at improper time s3c24xx dma has the auto reload feature, when the the trnasfer is done, CURR_TC(DSTAT[19:0], current value of transfer count) reaches 0, and DMA ACK becomes 1, and then, TC(DCON[19:0]) will be loaded into CURR_TC. So the transmission is repeated. IRQ is issued while auto reload occurs. We change the DISRC and DCON[19:0] in the ISR, but at this time, the auto reload has been performed already. The first block is being re-transmitted by the DMA. So we need rewrite the DISRC and DCON[19:0] for the next block immediatly after the this block has been started to be transported. The function s3c2410_dma_started() is for this perpose, which is called in the form of "s3c2410_dma_ctrl(prtd->params->channel, S3C2410_DMAOP_STARTED);" in s3c24xx_pcm_trigger(). But it is not correct. DMA transmission won't start until DMA REQ signal arrived, it is the time s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1) is called in s3c24xx_i2s_trigger(). In the current framework, s3c24xx_pcm_trigger() is always called before s3c24xx_pcm_trigger(). So the s3c2410_dma_started() should be called in s3c24xx_pcm_trigger() after s3c24xx_snd_txctrl(1) or s3c24xx_snd_rxctrl(1) is called in this function. However, s3c2410_dma_started() is dma related, to call this function we should provide the channel number, which is given by substream->runtime->private_data->params->channel. The private_data points to a struct s3c24xx_runtime_data object, which is define in s3c24xx_pcm.c, so s3c2410_dma_started() can't be called in s3c24xx_i2s.c Fix this by moving the call to signal the DMA started to the DAI drivers. Signed-off-by: Shine Liu Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit 05f5f477082f0b192dab5ac25ccc5d468d98ecbd Author: Takashi Iwai Date: Tue Aug 25 13:10:18 2009 +0200 ALSA: hda - Generalize input pin parsing in patch_realtek.c Provide a standard parser for input pins to create the input mixer and input source controls instead of having a difference one for each Realtek codec. The new helper parses the codec connections dynamically isntead of fixed indicies. Signed-off-by: Takashi Iwai commit c68e3206862f647117a46a73af76764d750c05bd Author: Paul Mundt Date: Tue Aug 25 18:39:33 2009 +0900 sh: Fix an off-by-1 in FTRACE_SYSCALL_MAX. This is supposed to be the equivalent of __NR_syscalls, not __NR_syscalls -1. The x86 code this was based on had simply fallen out of sync at the time this was implemented. Fix it up now. As a result, tracing of __NR_perf_counter_open works as advertised. Signed-off-by: Paul Mundt commit d09a2afc9359407114b7062519101f1ee2d05388 Author: Jarkko Nikula Date: Sun Aug 23 12:24:27 2009 +0300 ARM: OMAP: McBSP: Merge two functions into omap_mcbsp_start/_stop Functionality of functions omap_mcbsp_xmit_enable and omap_mcbsp_recv_enable can be merged into omap_mcbsp_start and omap_mcbsp_stop since API of those omap_mcbsp_start and omap_mcbsp_stop was changed recently allowing to start and stop individually the transmitter and receiver. This cleans up the code in arch/arm/plat-omap/mcbsp.c and in sound/soc/omap/omap-mcbsp.c which was the only user for those removed functions. Signed-off-by: Jarkko Nikula Acked-by: Eero Nurkkala Cc: Peter Ujfalusi Signed-off-by: Mark Brown commit 32080af7a612e8c56131d6bdcd268cd9e8b0add1 Author: Jarkko Nikula Date: Sun Aug 23 12:24:26 2009 +0300 ASoC: OMAP: Fix setup of XCCR and RCCR registers in McBSP DAI Commit ca6e2ce08679c094878d7f39a0349a7db1d13675 is setting up few XCCR and RCCR bits for I2S and DPS_A formats. Part of the bits are already set for all formats and I believe that XDISABLE and RDISABLE bits are format independent. As XCCR and RCCR are found only from OMAP2430 and OMAP34xx, I move setup of XDISABLE and RDISABLE to where those cpu's are tested and remove format dependent part for simplicity. Signed-off-by: Jarkko Nikula Acked-by: Eero Nurkkala Cc: Peter Ujfalusi Signed-off-by: Mark Brown commit 9b30050908fad96968497e73b88626056ea33c96 Author: Jarkko Nikula Date: Mon Aug 24 17:45:50 2009 +0300 OMAP: McBSP: Use textual values in DMA operating mode sysfs files Use more descriptive than numerical value when showing and storing the McBSP DMA operating mode. Show function is using similar syntax than e.g. the led triggers so that all possible values for store function are printed but with current value surrounded with square brackets. Signed-off-by: Jarkko Nikula Cc: Peter Ujfalusi Acked-by: Eduardo Valentin Signed-off-by: Mark Brown commit 31b47cf7609288893a10706c648faa932c7aef90 Author: Mark Brown Date: Mon Aug 24 20:28:04 2009 +0100 genirq: Add prototype for handle_nested_irq() The function is supposed to be called from the primary IRQ handler for a demultiplexing chip so make a protype visible for them. Signed-off-by: Mark Brown Cc: Mark Brown LKML-Reference: <1251142084-9852-1-git-send-email-broonie@opensource.wolfsonmicro.com> Signed-off-by: Ingo Molnar commit daedc71836e5a398fd0cc0e12c5cb43539478485 Merge: c36ba80 422bef8 Author: Ingo Molnar Date: Tue Aug 25 10:04:27 2009 +0200 Merge commit 'v2.6.31-rc7' into irq/core Merge reason: move from an -rc2 base to -rc7. Signed-off-by: Ingo Molnar commit a4be7c2778d1fd8e0a8a5607bec91fa221ab2c91 Author: Peter Zijlstra Date: Wed Aug 19 11:18:27 2009 +0200 perf_counter: Allow sharing of output channels Provide the ability to configure a counter to send its output to another (already existing) counter's output stream. Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Mike Galbraith Cc: stephane eranian Cc: Paul Mackerras LKML-Reference: <20090819092023.980284148@chello.nl> Signed-off-by: Ingo Molnar commit fa289beca9de9119c7760bd984f3640da21bc94c Author: Paul Mackerras Date: Tue Aug 25 15:17:20 2009 +1000 perf_counter: Start counting time enabled when group leader gets enabled Currently, if a group is created where the group leader is initially disabled but a non-leader member is initially enabled, and then the leader is subsequently enabled some time later, the time_enabled for the non-leader member will reflect the whole time since it was created, not just the time since the leader was enabled. This is incorrect, because all of the members are effectively disabled while the leader is disabled, since none of the members can go on the PMU if the leader can't. Thus we have to update the ->tstamp_enabled for all the enabled group members when a group leader is enabled, so that the time_enabled computation only counts the time since the leader was enabled. Similarly, when disabling a group leader we have to update the time_enabled and time_running for all of the group members. Also, in update_counter_times, we have to treat a counter whose group leader is disabled as being disabled. Reported-by: Stephane Eranian Signed-off-by: Paul Mackerras Acked-by: Peter Zijlstra Cc: LKML-Reference: <19091.29664.342227.445006@drongo.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 36d47481b3824b661b464077db95d447984df799 Author: Hiroshi Shimamoto Date: Tue Aug 25 15:08:30 2009 +0900 timekeeping: Fix invalid getboottime() value Don't use timespec_add_safe() with wall_to_monotonic, because wall_to_monotonic has negative values which will cause overflow in timespec_add_safe(). That makes btime in /proc/stat invalid. Signed-off-by: Hiroshi Shimamoto Cc: Martin Schwidefsky Cc: John Stultz Cc: Daniel Walker LKML-Reference: <4A937FDE.4050506@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 0ceb4c3e3f1ccaf121851e33c3ea269b8ad0f219 Author: Paul Mundt Date: Tue Aug 25 07:32:39 2009 +0900 timekeeping: Fix up read_persistent_clock() breakage on sh The recent commit "timekeeping: Increase granularity of read_persistent_clock()" introduced read_persistent_clock() rework which inadvertently broke the sh conversion: arch/sh/kernel/time.c:45: error: passing argument 1 of 'rtc_sh_get_time' from incompatible pointer type distcc[13470] ERROR: compile arch/sh/kernel/time.c on sprygo/32 failed make[2]: *** [arch/sh/kernel/time.o] Error 1 This trivial fix gets it working again. Signed-off-by: Paul Mundt Cc: Martin Schwidefsky LKML-Reference: <20090824223239.GB20832@linux-sh.org> Signed-off-by: Ingo Molnar commit c9c419773d2a84af8ff2f91c859d3d16592c947b Author: Paul Gortmaker Date: Fri Aug 14 12:13:54 2009 -0400 powerpc/85xx: sbc8560 - remove "has-rstcr" from global utilities block The earlier mpc8560 CPUs don't have the RSTCR at 0xe00b0 in the GUTS. The generic reboot code uses this tag to determine if it should be using the RSTCR for reboot, so remove it from the board definition. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 46c4c229ecf470202a1f4fd2402283cb038864bf Author: Paul Gortmaker Date: Fri Aug 14 12:13:53 2009 -0400 powerpc/85xx: issue fsl_soc reboot warning only when applicable Some CPU, like the MPC8560 don't have a RSTCR in the Global Utilities Block. These boards will implement their own reboot call, and not use this code, so we should only warn about the absence of the GUTS RSTCR when the default reboot code is used. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 7792da8567a70be3280c8eef916334e6923815e3 Author: Liang Li Date: Fri Aug 14 10:36:14 2009 -0400 powerpc/85xx: sbc8560 - Fix warm reboot with board specific reset function The existing fsl_rstcr_restart function is not applicable to the mpc8560. The Global Utilities Block on this earlier CPU doesn't have the control/reset register at 0xe00b0. This implements a board specific reset function that uses the RCR(Reset Control Register) of the sbc8560's EPLD to do a reset. Signed-off-by: Liang Li Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 944ac03804c4c9c0879347098ea458fd57f38687 Author: Paul Gortmaker Date: Wed Aug 12 09:34:31 2009 -0400 powerpc/83xx: sbc8349 - update defconfig, enable MTD, USB storage With flash partition entries in the DTS file, MTD might as well be enabled in the defconfig. In a similar vein, enable USB and enough related options (SCSI/ext2/ext3) so that a user can read and write to a generic USB flash drive as well. Also, this board only has the two default SOC UARTs, so adjust the UART config accordingly. Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 58dfc497b9357ec00c879b775c02f4eab19bcecb Author: Liang Li Date: Wed Aug 12 09:34:30 2009 -0400 powerpc/83xx: Fix incorrect PCI interrupt map in SBC834x DTS Allows interrupts to occur on the sbc834x. Currently PCI devices get assigned an incorrect IRQ and so the interrupt count never increases. This was tested with the 82546GB based dual port E1000 PCI-X NIC which uses two distinct IRQ lines on the one card. root@localhost:/root> cat /proc/interrupts | grep eth 17: 78 IPIC Level eth1 48: 27121 IPIC Level eth0 Signed-off-by: Liang Li Signed-off-by: Yang Shi Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 31ff09b7a60bbc80b5df941ec1a12502861b4da9 Author: Liang Li Date: Wed Aug 12 09:34:29 2009 -0400 powerpc/83xx: Add localbus node and MTD partitions for SBC834x There is 8MB flash, 8kB EEPROM and 128MB SDRAM on the sbc834x local bus, so add a localbus node in DTS with MTD partitions. The recent U-boot commit fe613cdd4eb moves u-boot to the beginning of flash, hence the legacy label on the partition at the end of flash. Signed-off-by: Liang Li Signed-off-by: Yang Shi Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit 4de124446b4d68edd6cb747495234be915d56a29 Author: Liang Li Date: Wed Aug 12 09:34:28 2009 -0400 powerpc/83xx: Remove second USB node from SBC834x DTS Since only one of the SoC USB devices is brought out to a physical connector on the board, remove the 2nd (USB-DR) node from the DTS. Having it present and USB enabled will cause a hang at boot. Signed-off-by: Liang Li Signed-off-by: Yang Shi Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit fb8e3e1fe1df963b6c1ab8610682737ccae96ef0 Author: Poonam Aggrwal Date: Fri Aug 7 21:05:16 2009 +0530 powerpc/85xx: Add support for P2020RDB board Add support for the P2020RDB reference board from Freescale. Overview of P2020RDB platform - DDR DDR2 1G - NOR Flash 16MByte - NAND Flash 32MByte - 3 Ethernet interfaces 1) etSEC1 - RGMII - connected to a 5 port Vitesse Switch(VSC7385) - Switch is memory mapped through eLBC interface(CS#2) - IRQ1 2) etSEC2 - SGMII - connected to VSC8221 - IRQ2 3) etSEC3 - RGMII - connected to VSC8641 - IRQ3 - 2 1X PCIe interfaces - SD/MMC ,USB - SPI EEPROM - Serial I2C EEPROM Signed-off-by: Poonam Aggrwal Signed-off-by: Kumar Gala commit fc4bdb35fba1c8f464fd85b94a5059e752fc85d4 Author: Kumar Gala Date: Fri Aug 14 09:38:34 2009 -0500 powerpc/booke: Move MMUCSR definition into mmu-book3e.h The MMUCSR is now defined as part of the Book-3E architecture so we can move it into mmu-book3e.h and add some of the additional bits defined by the architecture specs. Signed-off-by: Kumar Gala commit 8934210cfe925f0d3e3089c69e9e88021324801b Author: Heiko Schocher Date: Fri Aug 7 08:41:15 2009 +0200 powerpc/82xx: mgcoge - updated defconfig - add I2C support - add FCC1 and FCC2 support Signed-off-by: Heiko Schocher Signed-off-by: Kumar Gala commit 55bb55dca0cecac2fb7b8c743db41361c011c8a8 Author: Frank Filz Date: Fri Aug 14 15:02:30 2009 -0700 nfsd: Fix unnecessary deny bits in NFSv4 ACL The group deny entries end up denying tcy even though tcy was just allowed by the allow entry. This appears to be due to: ace->access_mask = mask_from_posix(deny, flags); instead of: ace->access_mask = deny_mask_from_posix(deny, flags); Denying a previously allowed bit has no effect, so this shouldn't affect behavior, but it's ugly. Signed-off-by: Frank Filz Signed-off-by: J. Bruce Fields commit cbe86b98a6aceefe943ada1471eb52fd9ac4c504 Author: Randy Dunlap Date: Mon Aug 24 16:32:50 2009 -0700 Bluetooth: Add missing selection of CONFIG_CRC16 for L2CAP layer Fix net/bluetooth/l2cap.c build errors: l2cap.c:(.text+0x126035): undefined reference to `crc16' l2cap.c:(.text+0x126323): undefined reference to `crc16' l2cap.c:(.text+0x12668e): undefined reference to `crc16' l2cap.c:(.text+0x12683b): undefined reference to `crc16' l2cap.c:(.text+0x126956): undefined reference to `crc16' net/built-in.o:l2cap.c:(.text+0x129041): more undefined references to `crc16' follow Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Marcel Holtmann commit 7bee549e197c9c0e92b89857a409675c1d5e9dff Author: Oliver Neukum Date: Mon Aug 24 23:44:59 2009 +0200 Bluetooth: Add USB autosuspend support to btusb driver This patch adds support of USB autosuspend to the btusb driver. If the device doesn't support remote wakeup, simple support based on up/down is provided. If the device supports remote wakeup, additional support for autosuspend while the interface is up is provided. This is done by queueing URBs in an anchor structure and waking the device up from a work queue on sending. Reception triggers remote wakeup. The last busy facility of the USB autosuspend code is used. To close a race between autosuspend and transmission, a counter of ongoing transmissions is maintained. Add #ifdefs for CONFIG_PM as necessary. Signed-off-by: Oliver Neukum Tested-by: Sarah Sharp Signed-off-by: Marcel Holtmann commit 8f55f3c0a013c42fb733997da54a3326c74601e8 Author: Alexandros Batsakis Date: Thu Aug 20 03:34:19 2009 +0300 nfsd41: sunrpc: svc_tcp_recv_record() Factor functionality out of svc_tcp_recvfrom() to simplify routine Signed-off-by: Alexandros Batsakis Signed-off-by: Ricardo Labiaga Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 9f0f4ae570a148c76be6e86c959c8d4ed912fb1f Author: Janusz Krzysztofik Date: Sun Aug 23 17:56:12 2009 +0200 ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 Implement DMA channel self linking on OMAP1510 using AUTO_INIT and REPEAT flags of the DMA CCR register. Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d2e353f7c3c5fbb3add0341c10ae167ee745d23b Author: Wending Weng Date: Mon Aug 24 16:05:17 2009 -0400 Bluetooth: Fix false errors from bcsp_pkt_cull function The error message "Removed only %u out of %u pkts" is printed when multiple to be acked packets are queued. if (i++ >= pkts_to_be_removed) break; This will break out of the loop and increase the counter i when i==pkts_to_be_removed and the loop ends up with i=pkts_to_be_removed+1. The following line if (i != pkts_to_be_removed) { BT_ERR("Removed only %u out of %u pkts", i, pkts_to_be_removed); } will then display the false message. The counter i must not increase on the same statement. Signed-off-by: Wending Weng Signed-off-by: Marcel Holtmann commit e4aa8dd5cadca054a807278b04f67ce8e3b9dc42 Merge: 239a22a 59ae07a Author: Mark Brown Date: Mon Aug 24 20:44:41 2009 +0100 Merge branch 'topic/digital-mixing' into for-2.6.32 commit 239a22aaa9d4d574d397b852652684ac610d1e1b Author: Mark Brown Date: Mon Aug 24 20:21:51 2009 +0100 ASoC: Select core DMA when building for S3C64xx Ensure that the core DMA support is available when building for S3C64xx. Signed-off-by: Mark Brown commit 33f76148ced0e0618062e302d2a9614efdbd4a06 Author: Paul E. McKenney Date: Mon Aug 24 09:42:01 2009 -0700 rcu: Add CPU-offline processing for single-node configurations Add preemptable-RCU plugin to handle the CPU-offline processing. An additional plugin is forthcoming to handle multinode RCU trees, but this current plugin works for configurations up to 32 CPUs (64 CPUs for 64-bit kernels). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12511321213336-git-send-email-> Signed-off-by: Ingo Molnar commit 7c614d6461399acca5c0ba444f5db49cb332fc08 Author: Paul E. McKenney Date: Mon Aug 24 09:42:00 2009 -0700 rcu: Add "notrace" to RCU function headers used by ftrace Both rcu_read_lock_sched_notrace() and rcu_read_unlock_sched_notrace() are used by ftrace, and thus need to be marked "notrace". Unfortunately, my naive assumption that gcc would see the inner "notrace" does not hold. Kudos to Lai Jiangshan for noting this. Reported-by: Ingo Molnar Bug-spotted-by: Lai Jiangshan Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12511321213243-git-send-email-> Signed-off-by: Ingo Molnar commit 1329e3f2c898cfabb6ed236d3fb8c1725197af53 Author: Paolo Bonzini Date: Mon Aug 24 13:18:04 2009 -0500 dlm: use kernel_sendpage Using kernel_sendpage() is cleaner and safer than following sock->ops ourselves. Signed-off-by: Paolo Bonzini Signed-off-by: David Teigland commit 063c4c99630c0b06afad080d2a18bda64172c1a2 Author: Lars Marowsky-Bree Date: Tue Aug 11 16:18:23 2009 -0500 dlm: fix connection close handling Closing a connection to a node can create problems if there are outstanding messages for that node. The problems include dlm_send spinning attempting to reconnect, or BUG from tcp_connect_to_sock() attempting to use a partially closed connection. To cleanly close a connection, we now first attempt to send any pending messages, cancel any remaining workqueue work, and flag the connection as closed to avoid reconnect attempts. Signed-off-by: Lars Marowsky-Bree Signed-off-by: Christine Caulfield Signed-off-by: David Teigland commit f3abc9b963e004b8c96cd7fbee6fd905f2bfd620 Author: Eric Dumazet Date: Mon Aug 24 19:35:38 2009 +0200 netfilter: bridge: refcount fix commit f216f082b2b37c4943f1e7c393e2786648d48f6f ([NETFILTER]: bridge netfilter: deal with martians correctly) added a refcount leak on in_dev. Instead of using in_dev_get(), we can use __in_dev_get_rcu(), as netfilter hooks are running under rcu_read_lock(), as pointed by Patrick. Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit cce5a5c3029f731b5ea17a8a9a953ff742abf0d6 Author: Maximilian Engelhardt Date: Mon Aug 24 19:24:54 2009 +0200 netfilter: nf_nat: fix inverted logic for persistent NAT mappings Kernel 2.6.30 introduced a patch [1] for the persistent option in the netfilter SNAT target. This is exactly what we need here so I had a quick look at the code and noticed that the patch is wrong. The logic is simply inverted. The patch below fixes this. Also note that because of this the default behavior of the SNAT target has changed since kernel 2.6.30 as it now ignores the destination IP in choosing the source IP for nating (which should only be the case if the persistent option is set). [1] http://git.eu.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=98d500d66cb7940747b424b245fc6a51ecfbf005 Signed-off-by: Maximilian Engelhardt Signed-off-by: Patrick McHardy commit 12cceb6251c2cd23e936b25eca66be99ba41b081 Merge: f133278 05ecd5a Author: Paul Mundt Date: Mon Aug 24 22:49:17 2009 +0900 Merge branch 'sh/st-integration' commit f13327864f94c3a0e6acca923df537d20059639f Author: Paul Mundt Date: Mon Aug 24 22:48:27 2009 +0900 sh: Move the FTRACE_SYSCALL_MAX definition in to asm/ftrace.h. Needed by ftrace changes in -tip. Signed-off-by: Paul Mundt commit 56fd1260a8de3738034588c6e32262960c5b2660 Author: Paul Mundt Date: Mon Aug 24 22:45:15 2009 +0900 usb: gadget: m66592-udc needs linux/err.h. In certain configurations linux/err.h is not included through alternate means, resulting in: drivers/usb/gadget/m66592-udc.c:1646: error: implicit declaration of function 'IS_ERR' drivers/usb/gadget/m66592-udc.c:1649: error: implicit declaration of function 'PTR_ERR' distcc[15083] ERROR: compile drivers/usb/gadget/m66592-udc.c on localhost failed make[3]: *** [drivers/usb/gadget/m66592-udc.o] Error 1 make[2]: *** [drivers/usb/gadget] Error 2 make[1]: *** [drivers] Error 2 make: *** [sub-make] Error 2 Caught with an ARM config in -next. Signed-off-by: Paul Mundt commit 35aad0ffdf548617940ca1e78be1f2e0bafc4496 Author: Jan Engelhardt Date: Mon Aug 24 14:56:30 2009 +0200 netfilter: xtables: mark initial tables constant The inputted table is never modified, so should be considered const. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 9d0b71b1cf7b7ff856d200841de3f3d7c64eb170 Author: Takashi Iwai Date: Mon Aug 24 14:10:30 2009 +0200 ALSA: hda - Reuse ALC268 parser for ALC269 Reuse a part of the code of ALC268 parser for ALC269. This will change the default output volume either to Front or Speaker depending on the pin configuration. Signed-off-by: Takashi Iwai commit 05ecd5a1f76c183cca381705b3adb7d77c9a0439 Author: Pawel Moll Date: Mon Aug 24 19:52:38 2009 +0900 sh: Simplify "multi-evt" interrupt handling. This patch changes the way in which "multi-evt" interrups are handled. The intc_evt2irq_table and related intc_evt2irq() have been removed and the "redirecting" handler is installed for the coupled interrupts. Thanks to that the do_IRQ() function don't have to use another level of indirection for all the interrupts... Signed-off-by: Pawel Moll Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 10f02d1168585edf66229bb2ec90a42f32667a78 Author: Alexey Dobriyan Date: Sun Aug 23 23:17:27 2009 +0400 x86: uv: Clean up uv_ptc_init(), use proc_create() create_proc_entry() is getting duhprecated. Signed-off-by: Alexey Dobriyan Cc: cpw@sgi.com Signed-off-by: Ingo Molnar commit 5f9ece02401116b29eb04396b99ea092acb75dd8 Merge: 9f51e24 422bef8 Author: Ingo Molnar Date: Mon Aug 24 12:25:44 2009 +0200 Merge commit 'v2.6.31-rc7' into x86/cleanups Merge reason: we were on -rc1 before - go up to -rc7 Signed-off-by: Ingo Molnar commit 788e6af37a4ace8721eda72e4abe66fe0f6b49fd Author: Giuseppe Cavallaro Date: Mon Aug 24 18:59:09 2009 +0900 sh: fix sys_cacheflush error checking sys_cacheflush should return with EINVAL if the cache parameter is not one of ICACHE, DCACHE or BCACHE. So, we need to include 0 in the first check. It also adds the three definitions above as wrapper of the existent macros. PS: ltp cacheflush01 test now passes. Signed-off-by: Giuseppe Cavallaro Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit d34843d0c4a20872f3f3bfb510328bd043b939ff Author: Bob Peterson Date: Mon Aug 24 10:44:18 2009 +0100 GFS2: Add "-o errors=panic|withdraw" mount options This patch adds "-o errors=panic" and "-o errors=withdraw" to the gfs2 mount options. The "errors=withdraw" option is today's current behaviour, meaning to withdraw from the file system if a non-serious gfs2 error occurs. The new "errors=panic" option tells gfs2 to force a kernel panic if a non-serious gfs2 file system error occurs. This may be useful, for example, where fabric-level fencing is used that has no way to reboot (such as fence_scsi). Signed-off-by: Bob Peterson Signed-off-by: Steven Whitehouse commit cd0120751d631bc4b99f180c1c22de2caca98207 Author: Roel Kluin Date: Sat Aug 22 19:26:42 2009 +0200 GFS2: jumping to wrong label? Also a gfs2_glock_dq() is required here. Signed-off-by: Roel Kluin Signed-off-by: Steven Whitehouse commit ffad9d7a54a5e809007135595c778715aa0fb07a Author: Stuart Menefy Date: Mon Aug 24 18:39:39 2009 +0900 sh: Fix problems with cache flushing when cache is in write-through mode Change the method used to flush the cache in write-through mode to avoid corrupted data being written back to memory. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit a1fce732359b80ead84efba23059a5f1b572b85a Author: Stuart Menefy Date: Mon Aug 24 18:29:25 2009 +0900 sh: Fix overzealous checking in __ioremap() Allow peripherals before the start of RAM to be remapped. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 6000fc4d6f3e55ad52cce8d76317187fe01af2aa Author: Stuart Menefy Date: Mon Aug 24 18:27:33 2009 +0900 sh: Fixes some write posting issues in the interrupt handling for SH It is possible for the CPU to re-enable it's interrupt block bit before the write to the interrupt controller has actually masked out the external interupt at the controller. We get around this by reading back from the interrupt controller which will ensure the write has happened. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit bd4fb4d4c1e4a5a2ffbf57a83817a749df1339dd Author: Stuart Menefy Date: Mon Aug 24 18:18:50 2009 +0900 sh: Fix underflow in SH udelay() code. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 6d243dd37002bcee54841852ab1b8606fd457851 Author: Stuart Menefy Date: Mon Aug 24 18:16:56 2009 +0900 sh: Add sys_cacheflush() call for SH CPUs. Adds a system call to allow user code to flush code from the cache. You can use instructions for the data side, but the iside can only be done by a flush ROM which really only works with a direct mapped cache. The later SH4's have 2 way Iside, so this call allows a portable way to flush the cache. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit a5cf9e2444ec15de5407696ff21c32dd21ca0a8d Author: Stuart Menefy Date: Mon Aug 24 17:36:24 2009 +0900 sh: Improve comments int SH4 cache flushing code This is a pure documentation, to try to explain why the cache flushing code for the SH4 is implemented the way it is. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 5e9377ec6f84e5334e9347e84e77d34e9a089ca7 Author: Stuart Menefy Date: Mon Aug 24 17:35:07 2009 +0900 sh: Optimise memcpy_to/fromio for SH4 Optimise memcpy_to/fromio. This is used extensivly by MTD, so is a worthwhile performance gain. The main savings come from not repeatedly calling readl/writel, and doing word instead of byte at a time transfers. Also using "movca.l" on SH4 gives a small performance win. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 8af57f8b4c0ada9063b1cee9d81e3e59f04ce5a2 Author: Stuart Menefy Date: Mon Aug 24 17:26:39 2009 +0900 sh: generic_in/outs{bwl} optimizations. After performing the port2addr conversion, and checking that the data is correctly aligned, simply call __raw_readsX/writesX. These have already been optimised. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 7d9c035150897c2bebedae280505513dbdef2abc Author: Stuart Menefy Date: Mon Aug 24 17:13:52 2009 +0900 sh: Read from CCN_PVR instead of ROM for delay. Reading from the ROM is not a good idea as it could disturb some flash operation that it is in progress. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit fea966f7564205fcf5919af9bde031e753419c96 Author: Stuart Menefy Date: Mon Aug 24 17:09:53 2009 +0900 sh: Remove implicit sign extension from assembler immediates The SH instruction set has several instructions which accept an 8 bit immediate operand. For logical instructions this operand is zero extended, for arithmetic instructions the operand is sign extended. After adding an option to the assembler to check this, it was found that several pieces of assembly code were assuming this behaviour, and in one case getting it wrong. So this patch explicitly sign extends any immediate operands, which makes it obvious what is happening, and fixes the one case which got it wrong. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 1b7bf4edca0fdbad70c44e139f4cfebd6759de81 Author: Gustavo F. Padovan Date: Mon Aug 24 00:45:20 2009 -0300 Bluetooth: Use proper *_unaligned_le{16,32} helpers for L2CAP Simplify more conversions to the right endian with the proper helpers. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e686219a64fee9be9ce438dc3f040cd71ddd168a Author: Gustavo F. Padovan Date: Mon Aug 24 00:45:19 2009 -0300 Bluetooth: Add locking scheme to L2CAP timeout callbacks Avoid race conditions when accessing the L2CAP socket from within the timeout handlers. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 94a91b5051a77d8a71d4f11a3240f0d9c51b6cf2 Author: Donald Dutile Date: Thu Aug 20 16:51:34 2009 -0400 intel-iommu: iommu init error path bug fixes The kcalloc() failure path in iommu_init_domains() calls free_dmar_iommu(), which assumes that ->domains, ->domain_ids, and ->lock have been properly initialized. Add checks in free_[dmar]_iommu to not use ->domains,->domain_ids if not alloced. Move the lock init to prior to the kcalloc()'s, so it is valid in free_context_table() when free_dmar_iommu() invokes it at the end. Patch based on iommu-2.6, commit 132032274a594ee9ffb6b9c9e2e9698149a09ea9 Signed-off-by: Donald Dutile Signed-off-by: David Woodhouse commit 071e13746f9ebb259987c71ea77f11e7656769a2 Author: Matt Kraai Date: Sun Aug 23 22:30:22 2009 -0700 intel-iommu: Mark functions with __init Mark si_domain_init and iommu_prepare_static_identity_mapping with __init, to eliminate the following warnings: WARNING: drivers/pci/built-in.o(.text+0xf1f4): Section mismatch in reference from the function si_domain_init() to the function .init.text:si_domain_work_fn() The function si_domain_init() references the function __init si_domain_work_fn(). This is often because si_domain_init lacks a __init annotation or the annotation of si_domain_work_fn is wrong. WARNING: drivers/pci/built-in.o(.text+0xe340): Section mismatch in reference from the function iommu_prepare_static_identity_mapping() to the function .init.text:si_domain_init() The function iommu_prepare_static_identity_mapping() references the function __init si_domain_init(). This is often because iommu_prepare_static_identity_mapping lacks a __init annotation or the annotation of si_domain_init is wrong. Signed-off-by: Matt Kraai Signed-off-by: David Woodhouse commit fd72d008465d45db63d7f8931eea6a04e05916d6 Author: Wu Fengguang Date: Mon Aug 24 09:50:46 2009 +0800 ALSA: hda: move open coded tricks into get_wcaps_channels() Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit c6ea2af76ab79b82a0bfed313e4c2b68b10c2bc1 Author: Takashi Iwai Date: Mon Aug 24 09:41:32 2009 +0200 ASoC: Remove unneeded inclusion of linux/regulator/consumer.h Signed-off-by: Takashi Iwai commit 20496ff3783fc9d4cea2317ed2d4442561af64d9 Author: Takashi Iwai Date: Mon Aug 24 09:40:34 2009 +0200 ASoC: add missing inclusion of debugfs.h To fix compile errors. Signed-off-by: Takashi Iwai commit d724a9c9d572e092d1ce820463f082697487b874 Author: Pawel Moll Date: Mon Aug 24 16:25:38 2009 +0900 sh: Allow for kernel command line concatenation. So far kernel command line arguments could be passed in by a bootloader or defined as CONFIG_CMDLINE, which completely overwriting the first one. This change allows a developer to declare selected kernel parameters in a kernel configuration (eg. project-specific defconfig), retaining possibility of passing others by a bootloader. The obvious examples of the first type are MTD partition or bigphysarea-like region definitions, while "debug" option or network configuration should be given by a bootloader or a JTAG boot script. Signed-off-by: Pawel Moll Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 96d6e48bc6b38342a59ccd23e25907d12caaeaf8 Merge: 6e08643 4464fca Author: Ingo Molnar Date: Wed Aug 19 14:50:35 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Conflicts: tools/perf/builtin-annotate.c tools/perf/builtin-report.c Merge reason: resolve these conflicts. Signed-off-by: Ingo Molnar commit b46373e0d4b9f714ab757aae0c19c41fbcc73ef5 Author: Jon Frosdick Date: Mon Aug 24 16:20:44 2009 +0900 sh: Use internal watchdog timer to perform reset This patches will trigger a reboot using the watchdog timer instead of double fault. Unlike the previous method, this one actually works in 32 bit mode. Reset should also be cleaner. Signed-off-by: Jon Frosdick Signed-off-by: Carl Shaw Signed-off-by: Paul Mundt commit 27a30f53bbb77fd7e2e0459197e23b63fe3b74d4 Author: Giuseppe Cavallaro Date: Mon Aug 24 16:14:03 2009 +0900 sh: kgdb: do not reload VBR while handling debugger breackpoint Save the VBR allowing GDB to dump full registers set but do not reload it as soon as the kgdb_handle_exception is invoked. Signed-off-by: Giuseppe Cavallaro Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 15444a8973dcfbd286b3e638cbadac2446a9271a Author: David McKay Date: Mon Aug 24 16:10:40 2009 +0900 sh: Allow use of GENERIC_IOMAP The synopsys PCI cell used in the later STMicro chips requires code to be run in order to do IO cycles, rather than just memory mapping the IO space. Rather than extending the existing SH infrastructure to allow this, use the GENERIC_IOMAP implmentation to save re-inventing the wheel. This set of changes allows the SH to be built with GENERIC_IOMAP enabled, it just ifdef's out the functions provided by the GENERIC_IOMAP implementation, and provides a few required missing functions. Signed-off-by: David McKay Signed-off-by: Paul Mundt commit 2fc742f8d64c68b4a175a1dcb28351b112d63315 Author: Carl Shaw Date: Mon Aug 24 15:07:08 2009 +0900 sh: Improve unwind info for signals GCC does not issue unwind information for function epilogues. Unfortunately we can catch a signal during an epilogue. The signal handler writes the current context and signal return code onto the stack overwriting previous contents. During unwinding, libgcc can try to restore registers from the stack and restores corrupted ones. This can lead to segmentation, misaligned access and sigbus faults. For example, consider the following code: mov.l r12,@-r15 mov.l r14,@-r15 sts.l pr,@-r15 mov r15,r14 mov r14, r15 lds.l @r15+, pr <<< SIGNAL HERE mov.l @r15+, r14 mov.l @r15+, r12 rts Unwind is aware that pr was pushed to stack in prolog, so tries to restore it. Unfortunately it restores the last word of the signal handler code placed on the stack by the kernel. This patch tries to avoid the problem by adding a guard region on the stack between where the function pushes data and where the signal handler pushes its return code. We probably don't see this problem often because exception handling unwinding in an epilogue only occurs due to a pthread cancel signal. Also the kernel signal stack handler alignment of 8 bytes could hide the occurance of this problem sometimes as the stack may not be trampled at a particular required word. This is not guaranteed to always work. It relies on a frame pointer existing for the function (so it can get the correct sp value) which is not always the case for the SH4. Modifications will also be made to libgcc for the case where there is no fp. Signed-off-by: Carl Shaw Signed-off-by: Paul Mundt commit 5a0ab35e43a6e3c69893c0091fe6a78ea8b3e443 Author: Andre Draszik Date: Mon Aug 24 15:01:10 2009 +0900 sh: cleanup of do_address_error() This patch fixes a few problems with the existing code in do_address_error(). a) the variable used to printk()d the offending instruction wasn't initialized correctly. This is a fix to bug 5727 b) behaviour for CONFIG_CPU_SH2A wasn't correct c) the 'ignore address error' behaviour didn't update the PC, causing an infinite loop. Signed-off-by: Andre Draszik Signed-off-by: Paul Mundt commit 7436cde6b2ca71049051620c68c26522bb3403bf Author: Andre Draszik Date: Mon Aug 24 14:53:46 2009 +0900 sh: Allow user control over misaligned fixup handling This patch brings the SH4 misaligned trap handler in line with what happens on ARM: Add a /proc/cpu/alignment which can be read from to get alignment trap statistics and written to to influence the behaviour of the alignment trap handling. The value to write is a bitfield, which has the following meaning: 1 warn, 2 fixup, 4 signal In addition, we add a /proc/cpu/kernel_alignment, to enable or disable warnings in case of kernel code causing alignment errors. Signed-off by: Andre Draszik Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 9a4af027a03e10e97f56081cd7dd1fda5282bd9c Author: Andre Draszik Date: Mon Aug 24 14:38:27 2009 +0900 sh: ratelimit unaligned fixups This patch makes sure we see messages about unaligned access fixups every now and then. Else especially userspace apps suffering from bad programming won't ever be noticed... Signed-off by: Andre Draszik Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 5eecfde615894dc1c2e3f85b515a96ae2e408fb5 Author: Chuck Lever Date: Fri Aug 21 17:50:30 2009 -0400 NFS: Handle a zero-length auth flavor list Some releases of Linux rpc.mountd (nfs-utils 1.1.4 and later) return an empty auth flavor list if no sec= was specified for the export. This is notably broken server behavior. The new auth flavor list checking added in a recent commit rejects this case. The OpenSolaris client does too. The broken mountd implementation is already widely deployed. To avoid a behavioral regression, the kernel's mount client skips flavor checking (ie reverts to the pre-2.6.32 behavior) if mountd returns an empty flavor list. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 940917226260d6e029f55742a34a7d7810983c75 Merge: 9818f66 929122c Author: David S. Miller Date: Sun Aug 23 19:19:30 2009 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit 9818f660f433b58e770cfeb2ee9566f7b42ca0ae Author: Florian Fainelli Date: Thu Aug 20 01:26:23 2009 +0000 r6040: bump to version 0.25 and 20 August 2009 release date Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit e03f614af7811f9d089862a8700e683dcc6963c6 Author: Mark Kelly Date: Thu Aug 20 01:26:20 2009 +0000 r6040: move down second PHY detection to r6040_init_one Instead of fully initializing an unusable second r6040 device, perform the PHY detection earlier and bail out in r6040_init_one when we could not read the PHY identifier. Signed-off-by: Mark Kelly Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit d516478ff67b2abb2f3ecc998a598576d92b0b5e Author: Mark Kelly Date: Thu Aug 20 01:26:12 2009 +0000 r6040: remove unused pioaddr variable This patch removes the unused pioaddr variable. Signed-off-by: Mark Kelly Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit f2c449320d547bd5c281649eb1d99afb20765144 Author: Andy Grover Date: Fri Aug 21 12:28:35 2009 +0000 RDS: Add a debug message suggesting to load transport modules Now that RDS transports are no longer compiled-in to RDS core, there is now the possibility that they will not be loaded. This adds a helpful suggestion when rds_bind() fails to find a transport. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 335776bd696a6bf95134baf8ad95847371e4d5f6 Author: Andy Grover Date: Fri Aug 21 12:28:34 2009 +0000 RDS: Track transports via an array, not a list Now that transports can be loaded in arbitrary order, it is important for rds_trans_get_preferred() to look for them in a particular order, instead of walking the list until it finds a transport that works for a given address. Now, each transport registers for a specific transport slot, and these are ordered so that preferred transports come first, and then if they are not loaded, other transports are queried. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 40d866095df3bb70ded1813f4852cab445ef678b Author: Andy Grover Date: Fri Aug 21 12:28:33 2009 +0000 RDS: Modularize RDMA and TCP transports Enable the building of transports as modules. Also, improve consistency of Kconfig messages in relation to other protocols, and move build dependency on IB from the RDS core code to the rds_rdma module. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 616b757ae18fb8ec2dfe7ff9d3f589f82cb0eb9d Author: Andy Grover Date: Fri Aug 21 12:28:32 2009 +0000 RDS: Export symbols from core RDS Now that rdma and tcp transports will be modularized, we need to export a number of functions so they can call them. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 70041088e3b976627ba9a183b812f39ef8a9ba0e Author: Andy Grover Date: Fri Aug 21 12:28:31 2009 +0000 RDS: Add TCP transport to RDS This code allows RDS to be tunneled over a TCP connection. RDMA operations are disabled when using TCP transport, but this frees RDS from the IB/RDMA stack dependency, and allows it to be used with standard Ethernet adapters, or in a VM. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 7d6fd5e7e97a2188d56441e4e96494c21c5994a7 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:13 2009 +0000 netxen: remove netxen_nic_phan_reg.h Consolidate register definitions in netxen_nic_hdr.h Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 22b5794b5d58ea81e91d68d00e49357b66d5a559 Author: Amit Kumar Salecha Date: Sun Aug 23 08:35:12 2009 +0000 netxen: implement pci driver shutdown Implement pci driver shutdown functionality, this helps quiescing all PCI transaction before chipset is reset. Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ce644ed4db3ee1075ebd9f4acc403e1f9410db21 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:11 2009 +0000 netxen: refactor tx dma mapping code Move all tx skb mapping code into netxen_map_tx_skb(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1dbc84a7f6c2ebd8c69299e1adef22ee26db38c0 Author: Dhananjay Phadke Date: Sun Aug 23 08:35:10 2009 +0000 netxen: fix firmware reset logic If netxen_need_fw_reset() return 0 [ implies firmware is up and running], still go through dma mask check, etc. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1bb482f8a46000f77577948ff1c350275bba7dc9 Author: Narender Kumar Date: Sun Aug 23 08:35:09 2009 +0000 netxen: ethtool statistics and control for LRO Add ethtool -K knob to control LRO in firmware. LRO path is completely separated from GRO, LRO packets are still fed with netif_receive_skb(). Also fix ethtool statistics to include LRO packets. Also use correct message type while configuring interrupt coalescing. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit d8e180dcd5bbbab9cd3ff2e779efcf70692ef541 Author: Michal Schmidt Date: Thu Aug 20 14:39:52 2009 -0700 bsdacct: switch credentials for writing to the accounting file When process accounting is enabled, every exiting process writes a log to the account file. In addition, every once in a while one of the exiting processes checks whether there's enough free space for the log. SELinux policy may or may not allow the exiting process to stat the fs. So unsuspecting processes start generating AVC denials just because someone enabled process accounting. For these filesystem operations, the exiting process's credentials should be temporarily switched to that of the process which enabled accounting, because it's really that process which wanted to have the accounting information logged. Signed-off-by: Michal Schmidt Acked-by: David Howells Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: James Morris commit e2365bf313fb21b49b1e4c911033389564428d03 Author: Marek Vasut Date: Fri Aug 21 20:02:52 2009 +0200 ASoC: Pass correct platform data from pxa2xx-ac97 Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 848bffef28454049549bfba113b932df7c6d243d Author: Bartlomiej Zolnierkiewicz Date: Wed Aug 19 22:09:55 2009 +0200 ALSA: ali5451: remove dead code Remove code covered by #if/endif 0 and #ifdef/endif CODEC_RESET (CODEC_RESET is never defined). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Takashi Iwai commit 821ebc86efd4b42aa120076562b0fd4f03ec3c0c Author: Roel Kluin Date: Sat Aug 22 21:24:24 2009 +0200 ASoC: free socdev if init_card() fails in wm9705_soc_probe() Free socdev if snd_soc_init_card() fails. Signed-off-by: Roel Kluin Signed-off-by: Mark Brown commit 366d19e181be873c70f4aafca3931d77d781ccd7 Author: Tobias Doerffel Date: Fri Aug 21 23:06:23 2009 +0200 x86: add specific support for Intel Atom architecture Add another option when selecting CPU family so the kernel can be optimized for Intel Atom CPUs. If GCC supports tuning options for Intel Atom they will be used. Signed-off-by: Tobias Doerffel Signed-off-by: H. Peter Anvin LKML-Reference: <1251018457-19157-1-git-send-email-tobias.doerffel@gmail.com> Signed-off-by: Ingo Molnar commit 8a517c514d5893602cf85c1b4c47afbbc04d2198 Merge: c64b04f 422bef8 Author: Ingo Molnar Date: Sun Aug 23 11:18:47 2009 +0200 Merge commit 'v2.6.31-rc7' into x86/cpu commit c3144fc46f987413df10e83659f0bf1aad76f79e Merge: 4f896ff cc58f59 Author: Paul Mundt Date: Sun Aug 23 18:04:07 2009 +0900 Merge branches 'sh/hwblk' and 'sh/pm-runtime' commit cc58f597afc63a57bb55ed97c2a72f7405320c93 Author: Magnus Damm Date: Wed Aug 19 10:39:05 2009 +0000 sh: drop static UIO clocks for sh7722, sh7723 and sh7724 The Runtime PM patch for UIO driver implements coarse grained dynamic power management for UIO devices. With that patch in place we can get rid of the static clock configuration. Which in turn makes it possible for cpuidle to enter deeper sleep. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ac2c596b572d08dab64dde3ac1f2de934d781c9f Author: Magnus Damm Date: Wed Aug 19 10:31:53 2009 +0000 sh: let ARCH_SHMOBILE select PM and PM_RUNTIME With the Runtime PM driver changes in place, we must have Runtime PM support in place. Otherwise there is no way to enable clocks to the Runtime PM enabled hardware blocks. This patch makes Runtime PM mandatory on SuperH Mobile. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a62926fe4b76d539b77ee53197040153d43916f6 Author: Paul Mundt Date: Tue Aug 18 10:41:06 2009 +0900 sh: Fix section mismatch in platform bus notifier. The runtime PM for SH-Mobile code had platform_bus_notify() as __devinit, which is rather bogus. Kill off the annotation, which subsequently silences the section mismatch warnings. Signed-off-by: Paul Mundt commit af76756e6e8c268c684865d29b897a470de1f097 Author: Magnus Damm Date: Fri Aug 14 10:49:38 2009 +0000 uio: Runtime PM for UIO devices This patch modifies the uio_pdrv_genirq driver to support Runtime PM. The power management implementation simply runtime resumes the device at open() time and runtime suspends it at release() time. The user space driver is responsible for re-initializing the hardware after open(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6d1386c6b8db54ac8d94c01194e0c27cd538532b Author: Magnus Damm Date: Fri Aug 14 10:49:17 2009 +0000 v4l2: Runtime PM for SuperH Mobile CEU This patch modifies the SuperH Mobile CEU driver to support Runtime PM. Driver callbacks for Runtime PM are empty because the device registers are always re-initialized after pm_runtime_get_sync(). The Runtime PM functions replaces the clock framework module stop bit handling in this driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0246c4712c40294bd5e8335f0c15a38c8e52709f Author: Magnus Damm Date: Fri Aug 14 10:49:08 2009 +0000 video: Runtime PM for SuperH Mobile LCDC This patch modifies the SuperH Mobile LCDC framebuffer driver to support Runtime PM. The driver is using the functions - pm_runtime_get_sync() - pm_runtime_put_sync() to inform the bus code if the hardware is idle or not. If the hardware is idle then the bus code may call the runtime dev_pm_ops callbacks to save and restore state. pm_runtime_resume() is used to allow the driver to access the hardware from probe(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f1a3b994f9dfd12111dc034402aed256fac66dfe Author: Magnus Damm Date: Fri Aug 14 10:48:59 2009 +0000 i2c: Runtime PM for SuperH Mobile I2C This patch modifies the SuperH Mobile I2C driver to support Runtime PM. These changes is all that is needed for proper Runtime PM support in this driver. Driver callbacks for Runtime PM are empty because the device registers are always re-initialized after pm_runtime_get_sync(). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6a93dde1e8216f7af9b2551a60fb1a5eeac4a89f Author: Magnus Damm Date: Fri Aug 14 10:48:16 2009 +0000 sh: Runtime PM for SuperH Mobile platform bus devices This patch is V3 of the SuperH Mobile Runtime PM platform bus implentation matching Rafael's Runtime PM v16. The code gets invoked from the SuperH specific Runtime PM platform bus functions that override the weak symbols for: - platform_pm_runtime_suspend() - platform_pm_runtime_resume() - platform_pm_runtime_idle() This Runtime PM implementation performs two levels of power management. At the time of platform bus runtime suspend the clock to the device is stopped instantly. Later on if all devices within the power domain has their clocks stopped then the device driver ->runtime_suspend() callbacks are used to save hardware register state for each device. Device driver ->runtime_suspend() calls are scheduled from cpuidle context using platform_pm_runtime_suspend_idle(). When all devices have been fully suspended the processor is allowed to enter deep sleep from cpuidle. The runtime resume operation turns on clocks and also restores registers if needed. It is worth noting that the devices start in a suspended state and the device driver is responsible for calling runtime resume before accessing the actual hardware. In this particular platform bus implementation runtime resume is not allowed from interrupt context. Runtime suspend is however allowed from interrupt context as long as the synchronous functions are avoided. [ updated for v17 -- PFM. ] Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0858d9c0c591ce9baa1baf72eaf6f67823f3bc25 Merge: 9d73022 963e04c Author: Paul Mundt Date: Sun Aug 23 18:02:59 2009 +0900 Merge branch 'sh/hwblk' into sh/pm-runtime commit d90246cd8e0141332a8ab09c3c1800cc2028a686 Author: Martin Schwidefsky Date: Sat Aug 22 22:23:13 2009 +0200 timekeeping: Increase granularity of read_persistent_clock(), build fix Fix the following build problem on powerpc: arch/powerpc/kernel/time.c: In function 'read_persistent_clock': arch/powerpc/kernel/time.c:788: error: 'return' with a value, in function returning void arch/powerpc/kernel/time.c:791: error: 'return' with a value, in function returning void Reported-by: Ingo Molnar Signed-off-by: Martin Schwidefsky Cc: dwalker@fifo99.com Cc: johnstul@us.ibm.com LKML-Reference: <20090822222313.74b9619c@skybase> Signed-off-by: Ingo Molnar commit 6b3ef48adf847f7adf11c870e3ffacac150f1564 Author: Paul E. McKenney Date: Sat Aug 22 13:56:53 2009 -0700 rcu: Remove CONFIG_PREEMPT_RCU Now that CONFIG_TREE_PREEMPT_RCU is in place, there is no further need for CONFIG_PREEMPT_RCU. Remove it, along with whatever subtle bugs it may (or may not) contain. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <125097461396-git-send-email-> Signed-off-by: Ingo Molnar commit f41d911f8c49a5d65c86504c19e8204bb605c4fd Author: Paul E. McKenney Date: Sat Aug 22 13:56:52 2009 -0700 rcu: Merge preemptable-RCU functionality into hierarchical RCU Create a kernel/rcutree_plugin.h file that contains definitions for preemptable RCU (or, under the #else branch of the #ifdef, empty definitions for the classic non-preemptable semantics). These definitions fit into plugins defined in kernel/rcutree.c for this purpose. This variant of preemptable RCU uses a new algorithm whose read-side expense is roughly that of classic hierarchical RCU under CONFIG_PREEMPT. This new algorithm's update-side expense is similar to that of classic hierarchical RCU, and, in absence of read-side preemption or blocking, is exactly that of classic hierarchical RCU. Perhaps more important, this new algorithm has a much simpler implementation, saving well over 1,000 lines of code compared to mainline's implementation of preemptable RCU, which will hopefully be retired in favor of this new algorithm. The simplifications are obtained by maintaining per-task nesting state for running tasks, and using a simple lock-protected algorithm to handle accounting when tasks block within RCU read-side critical sections, making use of lessons learned while creating numerous user-level RCU implementations over the past 18 months. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746134003-git-send-email-> Signed-off-by: Ingo Molnar commit a157229cabd6dd8cfa82525fc9bf730c94cc9ac2 Author: Paul E. McKenney Date: Sat Aug 22 13:56:51 2009 -0700 rcu: Simplify rcu_pending()/rcu_check_callbacks() API All calls from outside RCU are of the form: if (rcu_pending(cpu)) rcu_check_callbacks(cpu, user); This is silly, instead we put a call to rcu_pending() in rcu_check_callbacks(), and then make the outside calls be to rcu_check_callbacks(). This cuts down on the code a bit and also gives the compiler a better chance of optimizing. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <125097461311-git-send-email-> Signed-off-by: Ingo Molnar commit 22f00b69f6a7e1e18e821979a23e8307c2de9888 Author: Paul E. McKenney Date: Sat Aug 22 13:56:50 2009 -0700 rcu: Use debugfs_remove_recursive() simplify code. Suggested by Josh Triplett. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: "Paul E. McKenney" LKML-Reference: <12509746132173-git-send-email-> Signed-off-by: Ingo Molnar commit 65cf8f866fc0fb40fa9daaded7e938a886d6f7c5 Author: Paul E. McKenney Date: Sat Aug 22 13:56:49 2009 -0700 rcu: Merge per-RCU-flavor initialization into pre-existing macro Rename the RCU_DATA_PTR_INIT() macro to RCU_INIT_FLAVOR() and make it do the rcu_init_one() and rcu_boot_init_percpu_data() calls. Merge the loop that was in the original macro with the loops that were in __rcu_init(). Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746133916-git-send-email-> Signed-off-by: Ingo Molnar commit 5699ed8fcb0c32ca699e2a27ad716eb70b367dbf Author: Paul E. McKenney Date: Sat Aug 22 13:56:48 2009 -0700 rcu: Fix online/offline indication for rcudata.csv trace file The heading said "Online?", but the column had "Y" for offline CPUs and "N" for online CPUs. Swap the "Y" and "N" to match the heading. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132841-git-send-email-> Signed-off-by: Ingo Molnar commit bc33f24bdca8b6e97376e3a182ab69e6cdefa989 Author: Paul E. McKenney Date: Sat Aug 22 13:56:47 2009 -0700 rcu: Consolidate sparse and lockdep declarations in include/linux/rcupdate.h Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132349-git-send-email-> Signed-off-by: Ingo Molnar commit d6714c22b43fbcbead7e7b706ff270e15f04a791 Author: Paul E. McKenney Date: Sat Aug 22 13:56:46 2009 -0700 rcu: Renamings to increase RCU clarity Make RCU-sched, RCU-bh, and RCU-preempt be underlying implementations, with "RCU" defined in terms of one of the three. Update the outdated rcu_qsctr_inc() names, as these functions no longer increment anything. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <12509746132696-git-send-email-> Signed-off-by: Ingo Molnar commit 9f77da9f40045253e91f55c12d4481254b513d2d Author: Paul E. McKenney Date: Sat Aug 22 13:56:45 2009 -0700 rcu: Move private definitions from include/linux/rcutree.h to kernel/rcutree.h Some information hiding that makes it easier to merge preemptability into rcutree without descending into #include hell. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <1250974613373-git-send-email-> Signed-off-by: Ingo Molnar commit 8fea0f0db87a4aaed41a93eed147af61cc5f9e3f Author: Michael Chan Date: Fri Aug 21 16:20:50 2009 +0000 bnx2: Update version to 2.0.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 0ced9d01d19795f913b95cebedd7d03986671379 Author: Michael Chan Date: Fri Aug 21 16:20:49 2009 +0000 bnx2: Use const on flash_table structure. The structure, once initialized, never changes. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit cf7474a6f4eda22603591b7d6253dffc224e4784 Author: Michael Chan Date: Fri Aug 21 16:20:48 2009 +0000 bnx2: Refine coalescing parameters. - Set the USE_INT_PARAM bit so the rx-frames-irq and tx-frames-irq will take effect on 5709. - Increase the default rx-frames to reduce interrupt count. - Decrease the default rx-frames-irq and tx-frames-irq to catch more events during NAPI poll. All these will reduce interrupts without affecting latency. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 790dab2f671cb477e6179322a6c48c898e311e72 Author: Michael Chan Date: Fri Aug 21 16:20:47 2009 +0000 bnx2: Report FTQ discard counter. Report this counter to ethtool -S and include it in netstat. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 61d9e3fa7eacabfb7879e3da91709f1a5420c507 Author: Michael Chan Date: Fri Aug 21 16:20:46 2009 +0000 bnx2: Apply BROKEN_STATS workaround to 5706 and 5708. Add flag to expand the workaround to both chips. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6fefb65e78f098c09d0ab877b2c70421e4c84116 Author: Michael Chan Date: Fri Aug 21 16:20:45 2009 +0000 bnx2: Close device if MTU change or ring size change fails. When unable to allocate memory for new MTU or new ring size, we need to close the device to prevent it from crashing. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3767546cc24de8f104e745d59a0a43a09d9267df Author: Michael Chan Date: Fri Aug 21 16:20:44 2009 +0000 bnx2: Check if_running() before touching chip registers. Add this check to bnx2_netif_stop() and bnx2_vlan_rx_register() to prevent bus lockups on some systems when the chip is in low power state. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 155d5561f570c5b3af7a178670061927d89209fb Author: Michael Chan Date: Fri Aug 21 16:20:43 2009 +0000 bnx2: Zero out status block before chip reset. In case IRQs are shared, we will not mistakenly start processing the ring based on old status block indices. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 60df75c169c5d42f4eef03d80e65c3fe223a1620 Author: James Bottomley Date: Thu Aug 13 19:23:12 2009 +0000 [SCSI] update MAINTAINERS with new email Novell is now funding SCSI work, so the MAINTAINERS file should reflect this. Signed-off-by: James Bottomley commit 8ea0696e9251c2283d3d306c6b096e71cf6a60c0 Author: Kashyap, Desai Date: Wed Aug 5 12:54:32 2009 +0530 [SCSI] mptsas : Bump version to 3.04.11 Bump version to 3.04.11 Signed-off-by: James Bottomley commit d130691725e9c4a098a59fc64f5ac3dcb1e2aa3b Author: Kashyap, Desai Date: Wed Aug 5 12:53:51 2009 +0530 [SCSI] mptsas : Code cleanup of host page alloc and diag reset. Code cleanup of host page alloc and diag reset. Signed-off-by: James Bottomley commit 79a3ec1ace2329d115ecd2445379b46aed3286b0 Author: Kashyap, Desai Date: Wed Aug 5 12:52:58 2009 +0530 [SCSI] mptsas : set max_id to infinite value. Do not set max_id value received from FW. Once SAS transport layer is introduced max_id value is missleading to SCSI mid layer. Use max_id to infinite value. logic of can queue of scsi host is changed. Signed-off-by: James Bottomley commit 4b97650b555b1cd09b547104d98da0ff700187d9 Author: Kashyap, Desai Date: Wed Aug 5 12:52:03 2009 +0530 [SCSI] mptsas : Change config request timeout value to 30 seconds. Change config request timeout value to 30 seconds. Signed-off-by: James Bottomley commit d23321b4880fb7a95fa58277fafb98a4368b4c92 Author: Kashyap, Desai Date: Wed Aug 5 12:51:25 2009 +0530 [SCSI] mptsas : Handle INSUFFICIENT resources status as similar to IOC BUSY status Handle insufficient resources status as similar to busy status. Signed-off-by: James Bottomley commit a247fa4521ccec7cb82a9f2d4e8544fce27ea109 Author: Kashyap, Desai Date: Wed Aug 5 12:50:02 2009 +0530 [SCSI] mptsas : Removed mptscsih_timer_expired. Removed mptscsih_timer_expired. This timer is no more use. Signed-off-by: James Bottomley commit 9d2e9d66a3f032667934144cd61c396ba49f090d Author: Kashyap, Desai Date: Wed Aug 5 12:48:44 2009 +0530 [SCSI] mptsas : Change DEFINED value of can queue for FC and SAS devices. Change DEFINED value of can queue for FC and SAS devices. Signed-off-by: James Bottomley commit 4dbfb544ad5a28ac9e60634bdfbf09d2eb39cdb5 Author: Chandra Seetharaman Date: Wed Aug 12 12:43:20 2009 -0700 [SCSI] scsi_dh: add two SUN devices to the list of devices supported by default Reported-by: Rice Brown Signed-Off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 95a3639e275fb7aec5c9a2116c88a2cdd23e0b8b Author: James Bottomley Date: Tue Aug 11 10:59:09 2009 -0500 [SCSI] fix bugs in scsi_vpd_inquiry() Universally, SCSI functions assume the lengths fed in are those of the buffer to DMA data to, not the lengths of the data minus the header. scsi_vpd_inquiry() assumed the latter and got it wrong, so fix up all the functions to use the correct assumption (and fix a bug where INQUIRY in SCSI-2 dcannot go over 255). [jejb: Matthew posted an identical version of this at the same time I did] Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 5f91bb050ecc4ff1d8d3d07edbe550c8f431c5e1 Author: Michael Reed Date: Mon Aug 10 11:59:28 2009 -0500 [SCSI] reservation conflict after timeout causes device to be taken offline An IBM tape drive failed to complete a PERSISTENT RESERVE IN within the scsi cmd timeout. Error recovery was initiated and it sequenced from abort through taking the tape drive offline. The device was taken offline because it repeatedly responded to the TUR command issued by error recovery with a RESERVATION CONFLICT status. The tape drive was reserved to another system. This is perfectly legitimate response to TUR, and is one that an escalation of recovery is unlikely to clear. Further, escalation of recovery can have undesirable side effects on the operation of tape drives shared with other initiators. Instead of escalating recovery, error recovery should treat the RESERVATION CONFLICT response to the TUR as a good status, giving the issuer of the command the opportunity to handle the timeout and reservation conflict. Signed-off-by: Michael reed Signed-off-by: James Bottomley commit edced191e4512b7795380563634f4d44b21c684a Author: Jiri Slaby Date: Sat Aug 8 11:36:06 2009 +0200 [SCSI] nsp_cs: fix buf overflow In nsp_cs_config there is a wrong struct nsp_cs_configdata allocation. It allocates only sizeof(pointer to nsp_cs_configdata) for a whole structure. Add a dereference to the sizeof to allocate sizeof(nsp_cs_configdata). Signed-off-by: Jiri Slaby Signed-off-by: James Bottomley commit a2cf8a6306c89223d0ed35a7e9d40da99902e32a Author: Davidlohr Bueso A Date: Fri Aug 7 16:42:21 2009 -0400 [SCSI] ch: Check NULL for kmalloc() return Verify that ch->dt is not NULL before using it. Signed-off-by: Davidlohr Bueso Signed-off-by: James Bottomley commit d68866927ddd0ed3145cb3fba4a1c07ca5e4709d Author: Sage Weil Date: Mon Aug 3 13:54:47 2009 -0700 [SCSI] ibmvscsi: avoid unnecessary use of kzalloc_pool The allocated struct is manually zeroed after allocation, so avoid using the (broken) kzalloc mempool (which does not re-zero previously used items when they are returned to the pool). Acked-by: Brian King Signed-off-by: Sage Weil Signed-off-by: James Bottomley commit d430ddc660d2f9875125b4f13a2b9279313db529 Author: Giridhar Malavali Date: Fri Jul 31 15:09:34 2009 -0700 [SCSI] qla2xxx: Update version number to 8.03.01-k5 Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7163ea815170f8c5d56ead27d7e6fa3fa1f9844b Author: Anirban Chakraborty Date: Wed Aug 5 09:18:40 2009 -0700 [SCSI] qla2xxx: Fix to ensure driver works in sinlge queue mode if multiqueue fails When the multiqueue mode fails to work, the driver falls back on single queue mode. This ensures that the firmware is reinitialized with single queue options and all the resources are readjusted accordingly. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 09ccbcc628f71e7f57b4a96982ad1bb2084391d8 Author: Andrew Vasquez Date: Tue Aug 4 23:38:21 2009 -0700 [SCSI] qla2xxx: Correct display of vp_count in debug printk. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit eb94114bfd894dce1955e2ece575db544cecd921 Author: Anirban Chakraborty Date: Tue Aug 4 16:12:13 2009 -0700 [SCSI] qla2xxx: Fix a bug that clears the interrupt status register for the base queue The interrupt handler clears the interrupt status register for response updates in the base queue while working in the multique mode. This could lead to missing interrupt for async events, mail box completions etc. as these are also handled in the base queue. The fix ensures that the interrupt bit is not cleared for response updates in the ISR when the driver is working in multiqueue mode. Signed-off-by: Anirban Chakraborty Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 80de7efa6d6a4eb72e917bb2d814f38332090d45 Author: Andrew Vasquez Date: Fri Jul 31 15:09:33 2009 -0700 [SCSI] qla2xxx: ISP21xx/22xx do not support FDMI registrations. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit f9e899ebe502e547fca37f64ebc4b1399880d8f7 Author: Shyam Sundar Date: Fri Jul 31 15:09:30 2009 -0700 [SCSI] qla2xxx: Pad IOCB structure for size requirements. One byte added to make the IOCB structure satisfy size requirements. Signed-off-by: Shyam Sundar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit a2d301e8d62ecd36dbfec69be13859ae3050f6fa Author: Santosh Vernekar Date: Fri Jul 31 15:09:29 2009 -0700 [SCSI] qla2xxx: Handle RSCN's per master/slave vn-port basis. Signed-off-by: Santosh Vernekar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 4b785241ad6d07176a692631dbda3605f4917a18 Author: Lalit Chandivade Date: Fri Jul 31 15:09:27 2009 -0700 [SCSI] qla2xxx: Process DPC requests within valid Fabric topologies. If vports are created and topology is changed to Loop only, the driver continuously gets a LIP reset occurred and keeps trying to enable the vport. Only manage requests during F_Port. Signed-off-by: Lalit Chandivade Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit faadc5e71cb69cff9c4517f7a4add97f92820120 Author: Santosh Vernekar Date: Fri Jul 31 15:09:26 2009 -0700 [SCSI] qla2xxx: Mark all devices lost on loss of fc port. Signed-off-by: Santosh Vernekar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 55903b9d152e91d4df2ab242c33efbd33e03e499 Author: Santosh Vernekar Date: Fri Jul 31 15:09:25 2009 -0700 [SCSI] qla2xxx: Skip RSCN processing on vha if event is global. The RSCN processing is skipped if the event received is global and vha is not recipient. Signed-off-by: Santosh Vernekar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 9764ff8807a2455218e2ec5024e823cc09b01906 Author: Andrew Vasquez Date: Fri Jul 31 15:09:24 2009 -0700 [SCSI] qla2xxx: Correctly handle 'global port-unavailable' AEN. Treat a global port-unavailable PORT_UPDATE (8014h) AEN as a loop-down event. For this case, within the FCoE domain, the 'logical' interface has been terminated, but the driver will not receive the classic LOOP_DOWN AEN. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 8f1f3ece891e8fe6ee69fa27617b60cb26e37bec Author: Ravi Anand Date: Fri Jul 31 15:09:23 2009 -0700 [SCSI] qla2xxx: Pass the command's data residual to upper-layer callers. Signed-off-by: Ravi Anand Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 2bfd2e1337f0d8bb6ff45ce12934c45b83d70ee0 Author: Chandra Seetharaman Date: Mon Aug 3 12:42:45 2009 -0700 [SCSI] scsi_dh: Use scsi_dh_set_params() in multipath. Use scsi_dh_set_params() set parameters provided. Save the parameters in parse_hw_handler() and use it in parse_path(). Reported-by: Eddie Williams Signed-off-by: Chandra Seetharaman Tested-by: Eddie Williams Cc: Alasdair G Kergon Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 14d9cb5f760c86b3a8f686909465982231c06627 Author: Chandra Seetharaman Date: Mon Aug 3 12:42:39 2009 -0700 [SCSI] scsi_dh: Provide set_params interface in emc device handler Handle the parameters provided by user thru multipath. This handler expects only 2 parameters and their value can either be 0 or 1. This code originates from the old dm-emc.c file. Appropriate changes have been made to make it work in the new design. Reported-by: Eddie Williams Signed-off-by: Chandra Seetharaman Tested-by: Eddie Williams Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 18ee70c9d7b2dcd312a1f8c6536841e7c0fea5ca Author: Chandra Seetharaman Date: Mon Aug 3 12:42:33 2009 -0700 [SCSI] scsi_dh: add the interface scsi_dh_set_params() When we moved the device handler functionality from dm layer to SCSI layer we dropped the parameter functionality. This path adds an interface to scsi dh layer to set device handler parameters. Basically, multipath layer need to create a string with all the parameters and call scsi_dh_set_params() after it called scsi_dh_attach() on a device. If a device handler provides such an interface it will handle the parameters as it expects them. Reported-by: Eddie Williams Signed-off-by: Chandra Seetharaman Tested-by: Eddie Williams Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 21fab1d0595eacf781705ec3509012a28f298245 Author: James Bottomley Date: Sat Aug 1 00:43:59 2009 +0000 [SCSI] ses: update enclosure data on hot add Now that hot add works correctly, if a new device is added, we're still operating on stale enclosure data, so fix that by updating the enclosure diagnostic pages when we get notified of a device hot add Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 43d8eb9cfd0aea93be32181c64e18191b69c211c Author: James Bottomley Date: Sat Aug 1 00:41:22 2009 +0000 [SCSI] ses: add support for enclosure component hot removal Right at the moment, hot removal of a device within an enclosure does nothing (because the intf_remove only copes with enclosure removal not with component removal). Fix this by adding a function to remove the component. Also needed to fix the prototype of enclosure_remove_device, since we know the device we've removed but not the internal component number Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 163f52b6cf3a639df6a72c7937e0eb88b20f1ef3 Author: James Bottomley Date: Sat Aug 1 00:39:36 2009 +0000 [SCSI] ses: fix hotplug with multiple devices and expanders In a situation either with expanders or with multiple enclosure devices, hot add doesn't always work. This is because we try to find a single enclosure device attached to the host. Fix this by looping over all enclosure devices attached to the host and also by making the find loop recognise that the enclosure devices may be expander remote (i.e. not parented by the host). Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 0124ca9d8ee58b3cd028a23cef2fe225fcfee3b8 Author: Brian King Date: Thu Jul 30 10:58:51 2009 -0500 [SCSI] ipr: fix buffer overflow ipr_cmd_label[] isn't big enough for an eight byte string plus terminator. Fix by shortening the string to seven bytes. Signed-off-by: Brian King Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit c19dcd011238118ad07d3ab7ed1bbc4916826324 Author: Anil Veerabhadrappa Date: Wed Jul 29 21:50:11 2009 -0700 [SCSI] bnx2i : Fix "cid #n not valid" issue When bnx2i_adapter_ready() fails, connection handle(cid) = 0 is wrongly freed because 'cid' is not yet allocated for the endpoint. Fix is to initialize bnx2i_ep->ep_iscsi_cid to '-1' in bnx2i_alloc_ep() and not in bnx2i_ep_connect() to avoid releasing invalid 'cid'. There is already a check in bnx2i_free_iscsi_cid() not to free invalid iscsi connection handle (-1) Signed-off-by: Anil Veerabhadrappa Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 534cc9c165017dd29ae0f4458832893dc8033c6f Author: Anil Veerabhadrappa Date: Wed Jul 29 21:49:48 2009 -0700 [SCSI] bnx2i : Fix command session number jump issue seen during cable pull test Without the fix bnx2i would fail tt->xmit_task() when link is down and libiscsi would have already incremented session->cmdsn before calling bnx2i's xmit_task() entry point and will just return the command to SCSI-ML when xmit_task() fails. libiscsi does not retract the session->cmdsn as the command was never sent on wire. It is generally good idea for LLD, bnx2i to accept the scsi cmnd/nopout and let upper layer timeout and go though normal session recovery process. When link is down, unsolicited nopout will not be accepted by bnx2i and connection will never enter recovery state. This fix is required for MPIO to work corectly Signed-off-by: Anil Veerabhadrappa Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1d1b88dc01e5fd2b3e2abb7aa42d0f1eca4c33ea Author: Vasu Dev Date: Wed Jul 29 17:05:45 2009 -0700 [SCSI] fcoe: removes phys_dev and renames real_dev to netdev. The phys_dev was used only to locate common offload EM instance for all FCoE instances on a eth devices in function fcoe_em_config, so just updated fcoe_em_config to look for actual real eth device in locating common offload EM instance and then no need to store phys_dev in fcoe_softc, so removes phys_dev from fcoe_softc also. Renames fcoe_softc real_dev to netdev and updates all its uses to use netdev. So effectively no functional change, use of single netdev instead phys_dev and real_dev saves one pointer memory in fcoe_softc, also real_dev used here was confusing with vlan driver terminology since real_dev in vlan driver is referred to physical eth device. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 53fcfbbef569819706b880a502ff62e2852edfce Author: Yi Zou Date: Wed Jul 29 17:05:40 2009 -0700 [SCSI] libfc: Remove page flags check for sglist I don't believe this check is needed any more in the current kernel, which, if I understand correctly, is for compound page where only the first page is supposed to get ref-counted. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 537029f8e950776951ca2a3fe30121d5c05643d1 Author: Yi Zou Date: Wed Jul 29 17:05:32 2009 -0700 [SCSI] libfc: Remove FC_FRAME_SG_LEN in fc_fcp_send_data FC_FRAME_SG_LEN is 4 which is too small when offload is enabled. Actually, the WARN_ON() in fc_fcp_send_data() should be: WARN_ON(skb_shinfo(fp_skb(fp))->nr_frags > MAX_SKB_FRAGS); But since we will not get anything more than 64K anyway, so there is no need to do this anyway here. Therefore, I am getting rid of FC_FRAME_SG_LEN here and the WARN_ON here. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 15a521b4243f3d61971f8422f3e514ef009a42b8 Author: Yi Zou Date: Wed Jul 29 17:05:26 2009 -0700 [SCSI] fcoe: Remove ifdef for NETIF_F_FCOE_CRC and NETIF_F_FSO Remove the extra ifdef for NETIF_F_FSO and NETIF_F_FCOE_CRC since they are already defined in the current kernel as in include/linux/netdevice.h. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit d7179680d04f1e196b7a5f70e7f93bb1850407c6 Author: Vasu Dev Date: Wed Jul 29 17:05:21 2009 -0700 [SCSI] fcoe, libfc: adds offload EM per eth device with only single xid range per EM Updates fcoe_em_config to allocate a single instance of sharable offload EM for supported lp->lro_xid per eth device, and then share this EM for subsequently more lports creation on same eth device (e.g when using VLAN). Adds tiny fcoe_oem_match function for offload EM to return true for read types IO to have read IO exchanges allocated from offload shared EM. Removes fc_em_alloc_xid function completely which was needed to manage two xid ranges within a EM, this is not needed any more with allocation of separate sharable offload EM per eth device. Instead this patch adds simple xid allocation logic to manage single xid range. Adds fc_exch_em_alloc with mp->next_xid as cursor to allocate new xid from single xid range of EM, uses mp->next_xid instead removed mp->last_xid which slightly increase probability of finding empty xid on exch allocation. Removes restriction of not allowing use of xid zero along with changing two xid range change to single xid range. Makes fc_fcp_ddp_setup calling conditional to only xid allocated from shared offload EM. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit e8af4d4380babc89d193c16163f070a6418f033b Author: Vasu Dev Date: Wed Jul 29 17:05:15 2009 -0700 [SCSI] fcoe: modifies fcoe_hostlist_lock uses as prep work to add shared offload EM Modifies fcoe_hostlist_lock uses such that a new EM allocation in fcoe_em_config and adding new fcoe_softc using fcoe_hostlist_add are atomic, this is to ensure that a shared offload EM gets allocated only once per eth device for its all lports. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 52ff878c912215210f53c0a080552dd6ba3055a2 Author: Vasu Dev Date: Wed Jul 29 17:05:10 2009 -0700 [SCSI] fcoe, fnic, libfc: modifies current code paths to use EM anchor list Modifies current code to use EM anchor list in EM allocation, EM free, EM reset, exch allocation and exch lookup code paths. 1. Modifies fc_exch_mgr_alloc to accept EM match function and then have allocated EM added to the lport using fc_exch_mgr_add API while also updating EM kref for newly added EM. 2. Updates fc_exch_mgr_free API to accept only lport pointer instead EM and then have this API free all EMs of the lport from EM anchor list. 3. Removes single lport pointer link from the EM, which was used in associating lport pointer in newly allocated exchange. Instead have lport pointer passed along new exchange allocation call path and then store passed lport pointer in newly allocated exchange, this will allow a single EM instance to be used across more than one lport and used in EM reset to reset only lport specific exchanges. 4. Modifies fc_exch_mgr_reset to reset all EMs from the EM anchor list of the lport, adds additional exch lport pointer (ep->lp) check for shared EM case to reset exchange specific to a lport requested reset. 5. Updates exch allocation API fc_exch_alloc to use EM anchor list and its anchor match func pointer. The fc_exch_alloc will walk the list of EMs until it finds a match, a match will be either null match func pointer or call to match function returning true value. 6. Updates fc_exch_recv to accept incoming frame on local port using only lport pointer and frame pointer without specifying EM instance of incoming frame. Instead modified fc_exch_recv to locate EM for the incoming frame by matching xid of incoming frame against a EM xid range. This change was required to use EM list in libfc Rx path and after this change the lport fc_exch_mgr pointer emp is not needed anymore, so removed emp pointer. 7. Updates fnic for removed lport emp pointer and above modified libfc APIs fc_exch_recv, fc_exch_mgr_alloc and fc_exch_mgr_free. 8. Removes exch_get and exch_put from libfc_function_template as these are no longer needed with EM anchor list and its match function use. Also removes its default function fc_exch_get. A defect this patch introduced regarding the libfc initialization order in the fnic driver was fixed by Joe Eykholt . Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit d459b7ea1b4c7aa3dacfeee174d02b2f7a95850d Author: Robert Love Date: Wed Jul 29 17:05:05 2009 -0700 [SCSI] libfc: Remove the FC_EM_DBG macro Currently there is a 1:1 relationship between the lport and exchange manager. This macro takes an EM as an argument and determines the lport from it. However, later patches will use an EM list per lport, so we will no longer have this 1:1 relationship- this macro must change. The FC_EM_DBG macro is rarely used. There are four callers, two can use FC_LPORT_DBG instead and two can be removed since they're not necessary. This patch makes those changes and removes the macro. Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 96316099ac3cb259eac2d6891f3c75b38b29d26e Author: Vasu Dev Date: Wed Jul 29 17:05:00 2009 -0700 [SCSI] fcoe, libfc: adds exchange manager(EM) anchor list per lport and related APIs Adds EM list using a anchor struct fc_exch_mgr_anchor, anchor is used to allow same EM instance sharing across more than one lport on a eth device, this implementation is per discussed design posted at http://www.open-fcoe.org/pipermail/devel/2009-June/002566.html. The shared EM is required for multiple lports on eth device when using multiple VLANs or NPIV. Adds fc_exch_mgr_add API to add a EM to the lport and fc_exch_mgr_del API to delete previously added EM. Also adds function fc_exch_mgr_destroy() to destroy allocated EM. The kref is added to the EM to keep track of EM usage count, the EM is destroyed when no longer in use upon kref reaching to zero. The caller can specify match function to fc_exch_mgr_add, this will be used in determining exchange allocation from its EM or not. Moved calling of fcoe_em_config below fcoe_libfc_config calling, so that list head lp->ema_list is initialized before configuring EM. Signed-off-by: Vasu Dev Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 201e5795b7b9582accb6d83316e30f24d7d40fd3 Author: Joe Eykholt Date: Wed Jul 29 17:04:54 2009 -0700 [SCSI] libfc: fix: cancel rport retry timer The timer for rport retries wasn't getting canceled, and would occasionally go off after the module was unloaded. Add logic to cancel the timer in fc_rport_work(). Since we cancel the timer before deleting the rdata, it is no longer necessary to do a get_device() for the pending timer. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 5f7ea3b7f81d5e5180647a071998b73a841bdba9 Author: Joe Eykholt Date: Wed Jul 29 17:04:49 2009 -0700 [SCSI] libfc: fc_rport_logoff should not drop the lock fc_rport_logoff drops the rport lock in order to cancel work that may be pending. This is undesirable as the state can completely change, and the caller may not expect that the lock could've been dropped. If there is work pending, it will acquire the rdata mutex and so we're protected and can change the event from READY to DELETE. Queue the work only if there is no event already pending. There were a couple other cases where the state was set to DELETE and work queued, even though the state may have already been DELETE. Fix these using a common function fc_rport_enter_delete(). Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 141940548c6919c22bf0573c68fd59d961e22475 Author: Joe Eykholt Date: Wed Jul 29 17:04:43 2009 -0700 [SCSI] libfc: rename rport state "NONE" to "DELETE". State RPORT_ST_NONE was intented to be an invalid state (0), never used. This was a misguided attempt to be sure it was always initialized. Having an extra state meaning nothing requires switch statements to have a case covering that state. State NONE has been used instead to mean the remote port is being deleted. Changing the name to RPORT_ST_DELETE. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 84b05445b9f0b1ac2192f32260c916426d902d79 Author: Joe Eykholt Date: Wed Jul 29 17:04:38 2009 -0700 [SCSI] libfc: fix WARNING from fc_seq_start_next on closed exchanges We saw periodic messages like: WARNING: at drivers/scsi/libfc/fc_exch.c:825 fc_seq_start_next+0x30/0x4b This was due to trying to allocate a sequence in a request handler when the exchange had been reset. Delete the WARN_ON. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit e9ba8b427852937caee6ca39bb6f9a893bb32ae1 Author: Joe Eykholt Date: Wed Jul 29 17:04:33 2009 -0700 [SCSI] libfc: in fc_lport_destroy, flush rports after turning off link During an fcoe module unload, we saw a problem where fc_rport_work() finds the lport has been freed. The rdata points to an area containing 0x6b6b6b6b... the pool poison value from kmem_free(). In fcoe_if_destroy() we call fc_fabric_logoff() then fc_lport_destroy(). fc_fabric_logoff() flushes the remote port work, but we're still receiving requests, and an RSCN or PLOGI arrives which creates more rports. Note that although the LLD also checks link_up, it doesn't do it under the lport mutex, so it can deliver frames to fc_lport_recv_req() even after link_up is cleared. So, re-check link_up there. We need to flush the rports by calling disc_stop_final() after we clear link_up. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1190d925813aab80d17ff10f26c115f5846b3308 Author: Joe Eykholt Date: Wed Jul 29 17:04:27 2009 -0700 [SCSI] libfc: stop login after fabric logoff When removing the fcoe module, several lports were being shut down through fc_lport_fabric_logoff(). Occasionally, one would enter reset state before fc_lport_destroy() was called, and since link_up was still true, it would log back in. If we just clear link_up earlier, then we wouldn't be accepting LOGO requests from other initiators while we are shutting down. Fix by changing the LOGO response handler to enter DISABLED instead of RESET. Add an fc_lport_enter_disabled() function which does what fc_lport_enter_reset() did, except it doesn't proceed to FLOGI state. Move the code that was common between fc_lport_enter_reset() and fc_lport_enter_disabled() into a new fc_lport_reset_locked() function. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit b1d9fd5574763abe5c763e32e3547a4adee9bd88 Author: Joe Eykholt Date: Wed Jul 29 17:04:22 2009 -0700 [SCSI] libfc: rename lport NONE state to DISABLED The state NONE was meant to be invalid, but has been used as the initial state. Rename it to be DISABLED, as more descriptive. Further patches will make it the like the RESET state, except it won't transition to FLOGI until fc_lport_fabric_login() is called. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit f161fb72104c7addac3d404a1ff543b2491c1426 Author: Joe Eykholt Date: Wed Jul 29 17:04:17 2009 -0700 [SCSI] fcoe: stop delivery of received frames before doing lport_destroy() To be more sure that no more input arrives at the local port as it is being destroyed, clean the queues in the per-cpu receive threads. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7f74549ff630ad444b0b6bbcabf426f781910906 Author: Joe Eykholt Date: Wed Jul 29 17:04:12 2009 -0700 [SCSI] libfc: change debug messages to give host number. libfc debug messages currently show 'lport: :' wher is the hex assigned port-id. When the lport is logged off, that will be zero, so its hard to distinguish which instance is involved. The FC-ID can change if the port is re-patched or changes VSANs. Two lports may even have the same FC-ID if connected to isolated SANs. Change the debug messages to print the SCSI host number "hostN:", which will not change for the life of the lport. Still show the FC_ID on lport messages. Also, add a macro to FC_RPORT_ID_DBG for rport debugging where there's no rdata structure involved. It takes the lport and port_id as parameters. Use this in fc_rport_recv_plogi_req() and fc_rport_recv_logo_req(). Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit beb29a6d421f6dbd41d68d0621c1b28ad1d4a9f4 Author: Joe Eykholt Date: Wed Jul 29 17:04:06 2009 -0700 [SCSI] libfc: remove extra semicolons from debug macros This is unlikely to cause any problems, but the libfc debug macros introduce extra undesirable semicolons. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 2f718d64ecc7010463d36e6ec4ae37778d03fc0b Author: Yi Zou Date: Wed Jul 29 17:04:01 2009 -0700 [SCSI] fcoe: Call dev_ethtool_get_settings() in fcoe_link_ok No need to check phys_dev here, just call dev_ethtool_get_settings() directly will take care of this. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 5a84baeaf7b8bb4188219140cb326a3e859b2312 Author: Yi Zou Date: Wed Jul 29 17:03:55 2009 -0700 [SCSI] libfcoe: Set fip_flags according to fcf and lport's capability of SPMA support When encap the els for FIP, set the fip_flags according to the FCF and lport's capability of supporting SPMA or FPMA or both. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7a7f0c7f7a0cbda062d1ff2ff1d3f99d0e41d2af Author: Yi Zou Date: Wed Jul 29 17:03:50 2009 -0700 [SCSI] fcoe: Fix validation of mac address when checking for spma support Fix this bug of validating the wrong mac address while checking for SAN MAC address support from LLD as we should check ha->addr not ctlr.ctl_src_addr. Signed-off-by: Yi Zou Signed-off-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 3c0d1d94aa516cad50274fe1aa9f745957b67a65 Author: Mike Christie Date: Tue Jul 28 23:08:06 2009 -0500 [SCSI] ALUA: send STPG if explicit and implicit is supported alua_activate only sends a STPG if only explicit is suppored. As a result, for EMC targets that support both we end up doing a implicit failover when X commands are finally sent to the other SP. This patch does a AND on the h->tpgs, so we do a explicit failover right away. Signed-off-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit a4a8b064dd06d30d007e46445d17575e2875c340 Author: James Bottomley Date: Tue Jul 28 16:39:05 2009 +0000 [SCSI] scsi_transport_sas: fix incorrect duplicate setup of max_phys There are two setup places for max_phys in scsi_transport_sas.c; one incorrectly places a NULL into host_attrs instead of port_attrs. Remove it. Reported-by: Roel Kluin Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 4643682ba50634db5cd61292711d031630baf233 Author: James Smart Date: Tue Jul 28 12:30:01 2009 -0400 [SCSI] fc_transport: Correct max fc_host attribute count Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 7cfbc8d9663c88d11e2c1acd2009f1786e150cf6 Author: James Smart Date: Sun Jul 19 10:01:44 2009 -0400 [SCSI] lpfc 8.3.4: Update driver version to 8.3.4 Update driver version to 8.3.4 Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit e4e74273c3e8d0dc54ddce4fed27e266927c7ad0 Author: James Smart Date: Sun Jul 19 10:01:38 2009 -0400 [SCSI] lpfc 8.3.4: Remove spaces before newlines in several log messages Remove spaces before newlines in several log messages Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit f1c3b0fcbb8104dac92d65d5016500a09beea287 Author: James Smart Date: Sun Jul 19 10:01:32 2009 -0400 [SCSI] lpfc 8.3.4: Add bsg (SGIOv4) support for ELS/CT support Add bsg (SGIOv4) support for sending and receiving ELS, CT commands This patch adds a new file, lpfc_bsg.c. Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1c6834a7e85715a4ac07c1cac25a1950040decb0 Author: James Smart Date: Sun Jul 19 10:01:26 2009 -0400 [SCSI] lpfc 8.3.4: NPIV vport fixes NPIV vport fixes - Fixed static vport creation on SLI4 HBAs - Fixed vport create sending init_vpi before REG_VFI - Fix unable to create vports on SLI4 HBA's Port2 Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 32b9793fe6ff09a85f36b8bd7d6ff214653a7497 Author: James Smart Date: Sun Jul 19 10:01:21 2009 -0400 [SCSI] lpfc 8.3.4: Fix a pair of FCoE issues Fix a pair of FCoE issues - Fix Region 23 FCoE Parameters not being read correctly - Fix race condition when there are FCoE events during FCF table read Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 8568a4d2495ebcf5da38a2141c7633399143b1a5 Author: James Smart Date: Sun Jul 19 10:01:16 2009 -0400 [SCSI] lpfc 8.3.4: Various SLI3 fixes Various SLI3 fixes - Fix for firmware dump failure - Fix inband remote management Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit a0c87cbdb52467a16343b31251f2722643db603c Author: James Smart Date: Sun Jul 19 10:01:10 2009 -0400 [SCSI] lpfc 8.3.4: Consistently Implement persistent port disable Consistently implement persistent port disable. Ability was to be managed in the adapter via firmware via flash settings. However, not all firmware images supported it. Uniformly support it everywhere. Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 8fa38513ddc1076f3e26c651f3567b084c273ba2 Author: James Smart Date: Sun Jul 19 10:01:03 2009 -0400 [SCSI] lpfc 8.3.4: Various SLI4 fixes Various SLI4 fixes - Fix switch name not used in the FCF record for FCoE HBAs - Enabled HBA UE error polling error-condition action code - Rewrite lpfc_sli4_scmd_to_wqidx_distr() to handle counter rollover cleanly - Modify resume_rpi mailbox data structure to match current SLI4 spec - Do not issue mailbox command in MBX_POLL mode when LPFC_HBA_ERROR is set - Wait for HBA POST completion before checking Online and UE registers - Fix accumulated total length not being filled in on unsolicited IOCBs - Use PCI config space register to determine SLI rev of HBA - Turn on starting ELS tmo function timer during device initialization Signed-off-by: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 66d6faec2f874cf6bf9bd4900966584ea9feae3d Author: Johannes Berg Date: Wed Jul 15 17:21:14 2009 +0200 [SCSI] fcoe: convert to %pM print_mac is being deprecated, and %pM makes for smaller code anyway. Signed-off-by: Johannes Berg Acked-by: Robert Love Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit e34ccdfe0e08a6acb8c5e649fef1e94e6cd637f9 Author: Jiri Slaby Date: Mon Jul 13 23:25:54 2009 +0200 [SCSI] lpfc: don't dereference NULL When kzalloc fails in lpfc_hba_alloc, don't dereference the NULL by lpfc_printf_log. Use dev_err instead. Signed-off-by: Jiri Slaby Acked-By: James Smart Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 0fd30f77693f4fef32d30d4801cd21dcd487c2f0 Author: Dave Jones Date: Mon Jul 13 16:27:46 2009 -0400 [SCSI] qla2xxx: Fix __LITTLE_ENDIAN definition warnings On ppc64, gcc 4.4 spews lots of.. drivers/scsi/qla2xxx/qla_def.h:1485:7: warning: "__LITTLE_ENDIAN" is not defined Signed-off-by: Dave Jones Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit fac3cc458fc2f8272bcc1ff1903474ff41715723 Author: Anil Veerabhadrappa Date: Wed Jul 8 18:21:01 2009 -0700 [SCSI] bnx2i: register given device with cnic if shost != NULL in ep_connect() When using iface, bnx2i was unable to offload further connections after all active sessions are logged out. bnx2i will unregister the device from cnic when the last connection is torn down. Next call to ep_connect() will fail because the device is not registered. This issue is not seen if shost == NULL is passed to ep_connect() call because in that case bnx2i will registers all known devices with cnic before doing a route look-up. When shost != NULL, bnx2i knows the device on which to offload the connection and has to register this device before attempting to offload the connection Signed-off-by: Anil Veerabhadrappa Reviewed-by: Michael Chan Reviewed-by Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit fe5d20c818a8c5fe83d9f2223a051fb5bc50d180 Author: Randy Dunlap Date: Sat Jul 4 13:10:41 2009 -0700 [SCSI] scsi_transport_fc: fix kernel-doc param name Change function parameter name in kernel-doc to match the function's actual parameter name, to fix 2 kernel-doc warnings. Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 3be924fb1d7be90c3ae6aa30ca42e9aa5d75efaf Author: Anil Veerabhadrappa Date: Tue Jun 23 14:07:40 2009 -0700 [SCSI] bnx2i: convert bnx2i_dev_lock to mutex convert bnx2i_dev_lock to type mutex from rwlock_t because cnic->register_device() can sleep for various reasons including memory allocation, waiting for ISCSI_INIT completion and while acquiring mutex lock, cnic_lock. Signed-off-by: Michael Chan Signed-off-by: Anil Veerabhadrappa Reviewed-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 4e85f15166a6a9da8317ddb8600b604b27e58aa3 Author: Anil Veerabhadrappa Date: Tue Jun 23 14:04:23 2009 -0700 [SCSI] bnx2i: bug fixes in bnx2i_init_one to handle error conditions Fixed bnx2i_init_one() to properly handle return code of cnic->register_device() and propagate it back to the caller. No need to check for BNX2I_CNIC_REGISTERED, because unless the adapter is added to adapter_list it will not be registered in ep_connect context Signed-off-by: Michael Chan Signed-off-by: Anil Veerabhadrappa Reviewed-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 1ed0f6a3ef94996341f3c5a2d4034ba1a2532b0a Author: Anil Veerabhadrappa Date: Tue Jun 23 13:56:29 2009 -0700 [SCSI] bnx2i: remove global variable bnx2i_reg_devices Removed bnx2i_reg_devices as this counter is not really used in a meaningful way Signed-off-by: Michael Chan Signed-off-by: Anil Veerabhadrappa Reviewed-by: Mike Christie Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 002b1eb2c03ccec36bf6e7b719cccedf57d83402 Author: Martin K. Petersen Date: Sat May 23 11:45:07 2009 -0400 [SCSI] Print failed commands When a request fails we print the sense data but not the actual command that failed. Add a printout of the operation + CDB for failed commands. Signed-off-by: Martin K. Petersen Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 6c10db72c94818573552fd71c89540da325efdfb Author: Chandra Seetharaman Date: Fri Jun 26 19:30:06 2009 -0700 [SCSI] scsi_dh: Reference count scsi_dh_attach Problem reported: http://marc.info/?l=dm-devel&m=124585978305866&w=2 scsi_dh does not do a refernce count for attach/detach, and this affects the way it is supposed to work with multipath when a device is not in the dev_list of the hardware handler. This patch adds a reference count that counts each attach. Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit b4567ca6304a9b31cb2eae62f812e9eb9badcb60 Author: Douglas Gilbert Date: Thu Jun 25 15:43:02 2009 -0400 [SCSI] update scsi/constants.c It has been 3 years since this file was sync-ed with www.t10.org . Information taken from the last bunch of drafts released in May 2009. More asc/ascq codes are coming for thin provisioning; when approved and allocated another patch could add them prior to this patch going live. Changelog: - add some new command names and rename two commands - sync asc/ascq table with www.t10.org/lists/asc-num.txt - correct bug in scsi_extd_sense_format() [second for loop] Signed-off-by: Douglas Gilbert Signed-off-by: James Bottomley Signed-off-by: James Bottomley commit 9e726b17422bade75fba94e625cd35fd1353e682 Author: Luiz Augusto von Dentz Date: Wed Jul 15 13:50:58 2009 -0300 Bluetooth: Fix rejected connection not disconnecting ACL link When using DEFER_SETUP on a RFCOMM socket, a SABM frame triggers authorization which when rejected send a DM response. This is fine according to the RFCOMM spec: the responding implementation may replace the "proper" response on the Multiplexer Control channel with a DM frame, sent on the referenced DLCI to indicate that the DLCI is not open, and that the responder would not grant a request to open it later either. But some stacks doesn't seems to cope with this leaving DLCI 0 open after receiving DM frame. To fix it properly a timer was introduced to rfcomm_session which is used to set a timeout when the last active DLC of a session is unlinked, this will give the remote stack some time to reply with a proper DISC frame on DLCI 0 avoiding both sides sending DISC to each other on stacks that follow the specification and taking care of those who don't by taking down DLCI 0. Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Marcel Holtmann commit 9d7302299ee96ca954fe4ab8ca640333b6e19ad0 Author: Magnus Damm Date: Thu Aug 20 20:25:32 2009 +0200 PM: Run-time PM platform device bus support This patch adds default Runtime PM callbacks to the dev_pm_ops belonging to the platform bus. The callbacks are weak symbols that architecture specific code can override. Allows Runtime PM even though CONFIG_PM_SLEEP=n. Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit 5e928f77a09a07f9dd595bb8a489965d69a83458 Author: Rafael J. Wysocki Date: Tue Aug 18 23:38:32 2009 +0200 PM: Introduce core framework for run-time PM of I/O devices (rev. 17) Introduce a core framework for run-time power management of I/O devices. Add device run-time PM fields to 'struct dev_pm_info' and device run-time PM callbacks to 'struct dev_pm_ops'. Introduce a run-time PM workqueue and define some device run-time PM helper functions at the core level. Document all these things. Special thanks to Alan Stern for his help with the design and multiple detailed reviews of the pereceding versions of this patch and to Magnus Damm for testing feedback. Signed-off-by: Rafael J. Wysocki Acked-by: Magnus Damm commit ef54fd937fbd5ebaeb023818524565bd526a5f36 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:04 2009 -0300 Bluetooth: Full support for receiving L2CAP SREJ frames Support for receiving of SREJ frames as specified by the state table. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 8400146d0dc03590bba051399e4bb7e1cbf1c010 Merge: 39cf051 3edf2fb Author: Rafael J. Wysocki Date: Sun Aug 23 00:03:00 2009 +0200 Merge branch 'master' into for-linus commit 8f17154f1f70fcc6faa31ac82164fcf7f0599f38 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:03 2009 -0300 Bluetooth: Add support for L2CAP SREJ exception When L2CAP loses an I-frame we send a SREJ frame to the transmitter side requesting the lost packet. This patch implement all Recv I-frame events on SREJ_SENT state table except the ones that deal with SendRej (the REJ exception at receiver side is yet not implemented). Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit fcc203c30d72dde82692f6b761a80e5ca5fdd8fa Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:02 2009 -0300 Bluetooth: Add support for FCS option to L2CAP Implement CRC16 check for L2CAP packets. FCS is used by Streaming Mode and Enhanced Retransmission Mode and is a extra check for the packet content. Using CRC16 is the default, L2CAP won't use FCS only when both side send a "No FCS" request. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 6840ed0770d79b9bb0800e5e026a067040ef18f5 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:01 2009 -0300 Bluetooth: Enable Streaming Mode for L2CAP Streaming Mode is helpful for the Bluetooth streaming based profiles, such as A2DP. It doesn't have any error control or flow control. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit e90bac061b17cd81bd0df30606c64f4543bf5ca0 Author: Gustavo F. Padovan Date: Thu Aug 20 22:26:00 2009 -0300 Bluetooth: Add support for Retransmission and Monitor Timers L2CAP uses retransmission and monitor timers to inquiry the other side about unacked I-frames. After sending each I-frame we (re)start the retransmission timer. If it expires, we start a monitor timer that send a S-frame with P bit set and wait for S-frame with F bit set. If monitor timer expires, try again, at a maximum of L2CAP_DEFAULT_MAX_TX. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 30afb5b2aa83adf4f69e5090d48e1bb04b64c58a Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:59 2009 -0300 Bluetooth: Initial support for retransmission of packets with REJ frames When receiving an I-frame with unexpected txSeq, receiver side start the recovery procedure by sending a REJ S-frame to the transmitter side. So the transmitter can re-send the lost I-frame. This patch just adds a basic support for retransmission, it doesn't mean that ERTM now has full support for packet retransmission. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit c74e560cd0101455f1889515e1527e4c2e266113 Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:58 2009 -0300 Bluetooth: Add support for Segmentation and Reassembly of SDUs ERTM should use Segmentation and Reassembly to break down a SDU in many PDUs on sending data to the other side. On sending packets we queue all 'segments' until end of segmentation and just the add them to the queue for sending. On receiving we create a new SKB with the SDU reassembled. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 1c2acffb76d4bc5fd27c4ea55cc27ad8ead10f9a Author: Gustavo F. Padovan Date: Thu Aug 20 22:25:57 2009 -0300 Bluetooth: Add initial support for ERTM packets transfers This patch adds support for ERTM transfers, without retransmission, with txWindow up to 63 and with acknowledgement of packets received. Now the packets are queued before call l2cap_do_send(), so packets couldn't be sent at the time we call l2cap_sock_sendmsg(). They will be sent in an asynchronous way on later calls of l2cap_ertm_send(). Besides if an error occurs on calling l2cap_do_send() we disconnect the channel. Initially based on a patch from Nathan Holstein Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 22121fc9152ca8f25a2d790860832ccb6a414c4d Author: Gustavo F. Padovan Date: Thu Jul 23 10:27:23 2009 -0300 Bluetooth: Create separate l2cap_send_disconn_req() function The code for sending a disconnect request was repeated several times within L2CAP source code. So move this into its own function. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit f2fcfcd670257236ebf2088bbdf26f6a8ef459fe Author: Gustavo F. Padovan Date: Sat Jul 4 15:06:24 2009 -0300 Bluetooth: Add configuration support for ERTM and Streaming mode Add support to config_req and config_rsp to configure ERTM and Streaming mode. If the remote device specifies ERTM or Streaming mode, then the same mode is proposed. Otherwise ERTM or Basic mode is used. And in case of a state 2 device, the remote device should propose the same mode. If not, then the channel gets disconnected. Signed-off-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit 65c7c4918450f8c4545ccb02a9c7a3d77e073535 Author: Marcel Holtmann Date: Sat May 2 23:07:53 2009 -0700 Bluetooth: Add L2CAP RFC option if ERTM is enabled When trying to establish a connection with Enhanced Retransmission mode enabled, the RFC option needs to be added to the configuration. Signed-off-by: Marcel Holtmann commit c6b03cf986eab00e20d0dbc852b233bb83472138 Author: Marcel Holtmann Date: Sat May 2 22:31:10 2009 -0700 Bluetooth: Allow setting of L2CAP ERTM via socket option To enable Enhanced Retransmission mode it needs to be set via a socket option. A different mode can be set on a socket, but on listen() and connect() the mode is checked and ERTM is only allowed if it is enabled via the module parameter. Signed-off-by: Marcel Holtmann commit 44dd46de325c4d47abfd1361e5d84a548edb8e42 Author: Marcel Holtmann Date: Sat May 2 19:09:01 2009 -0700 Bluetooth: Add module option to enable L2CAP ERTM support Since the Enhanced Retransmission mode for L2CAP is still under heavy development disable it by default and provide a module option to enable it manually for testing. Signed-off-by: Marcel Holtmann commit 52d18347dfb61519aa0f58fe1759edd3ad8c4e36 Author: Marcel Holtmann Date: Sat Aug 22 14:49:36 2009 -0700 Bluetooth: Coding style cleanup from previous rfcomm_init bug fix The rfcomm_init bug fix went into the kernel premature before it got fully reviewed and acknowledged by the Bluetooth maintainer. So fix up the coding style now. Signed-off-by: Marcel Holtmann commit a6a67efd7088702fdbbb780c5a3f8e1a74e77b63 Author: Thomas Gleixner Date: Sun Jul 26 08:18:19 2009 +0000 Bluetooth: Convert hdev->req_lock to a mutex hdev->req_lock is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner Signed-off-by: Marcel Holtmann commit 5959809ded86e267c1a95fb44738a224c30d3434 Author: Julia Lawall Date: Thu Aug 6 22:05:18 2009 +0200 Bluetooth: Add missing kmalloc NULL tests to Marvell driver Check that the result of kmalloc is not NULL before dereferencing it. The patch also replaces kmalloc + memset by kzalloc. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ 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 ) // Signed-off-by: Julia Lawall Signed-off-by: Marcel Holtmann commit 3318b2362bf0528be77123c480249663557dfbfc Author: Bing Zhao Date: Wed Jul 8 11:44:14 2009 -0700 Bluetooth: Fix incorrect alignment in Marvell BT-over-SDIO driver The driver uses "u32" for alignment check and calculation which works only on 32-bit system. It will crash the 64-bit system. Replace "u32" with "unsigned long" to fix this issue. Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 9374253ffe609f2d70dd5ae280182cb6f08fef08 Author: Marcel Holtmann Date: Sat Jun 13 07:40:18 2009 +0200 Bluetooth: Remove Enter/Leave debug statements from Marvell driver The Marvell Bluetooth driver is full of Enter/Leave debug statements and all of them are really pointless and only clutter the code. Seems to be some left-overs when they ported the driver from Windows. For the Linux driver lets remove these. Signed-off-by: Marcel Holtmann commit e0721f99ba33d13a88746732be2d74ca805abf55 Author: Marcel Holtmann Date: Sat Jun 13 07:27:19 2009 +0200 Bluetooth: Fix last few compiler warning within Marvell core driver After fixing the driver to use skb_put properly for their HCI commands only a few compiler warnings are left. Add proper casting for them. Signed-off-by: Marcel Holtmann commit 91d697302b291205171840bfe84c1563e171acb2 Author: Marcel Holtmann Date: Wed Jun 10 12:18:50 2009 +0200 Bluetooth: Fix Marvell driver to use skb_put and hci_opcode_pack The Marvell driver has some weird quirks on how to construct proper SKBs with Bluetooth HCI commands. Fix it to use skb_put properly and also use hci_opcode_pack instead of self-crafted macro. Signed-off-by: Marcel Holtmann commit 60dee5ccd789ee8a380eee802b6cb24c52123428 Author: Marcel Holtmann Date: Wed Jun 10 12:05:52 2009 +0200 Bluetooth: Remove private device name of Marvell SDIO driver For some reason the btmrvl_device struct has a name field that the SDIO fills in, but then never ever uses again. That is totally pointless and so just remove it. Signed-off-by: Marcel Holtmann commit 9666fb356da78a5ec28403197d72e8cd6aa16424 Author: Marcel Holtmann Date: Tue Jun 9 21:45:04 2009 +0200 Bluetooth: Fix module description strings for Marvell driver Make the module description entries for the core and also the Marvell SDIO driver match common practive inside the Bluetooth subsystem. Signed-off-by: Marcel Holtmann commit dcf47f3bc798888f9ea40b9f626d669dc62086bf Author: Marcel Holtmann Date: Tue Jun 9 16:21:58 2009 +0200 Bluetooth: Fix complicated assignment of firmware for Marvell devices The Marvell Bluetooth SDIO driver has a really complicated concept on how firmware names are assigned to specific device ids. Fix that by doing a proper structure and assign it to the module device table. And while at it fix various coding style weirdness that is still present in this driver. Signed-off-by: Marcel Holtman commit 4271e08d8b799171af18d7864908ec444282efe5 Author: Marcel Holtmann Date: Tue Jun 9 16:00:22 2009 +0200 Bluetooth: Some coding style cleanup for Marvell core driver The Marvell core Bluetooth driver has various weird casting and unneeded braces in its code that makes it hard to read. Remove all of these to make the code a little bit simpler. Signed-off-by: Marcel Holtmann commit 542399037d0cb2b2e96dfb8ced35b07dfb1c3706 Author: Marcel Holtmann Date: Tue Jun 9 15:48:35 2009 +0200 Bluetooth: Remove pointless casts from Marvell debugfs support The Marvell Bluetooth driver has debugfs support and they are casting like there is no tomorrow. Remove all of them and magically the code becomes more readable. Signed-off-by: Marcel Holtmann commit 944fe798c6a48336e82bbc0d4e280587325a4d95 Author: Marcel Holtmann Date: Tue Jun 9 15:46:07 2009 +0200 Bluetooth: Remove pointless ifdef protection for Marvell header files Both header files of the Marvell Bluetooth driver are private anyway and if the driver happens to include them twice or they create a circular dependency then the driver needs fixing. So just remove both pointless ifdefs. Signed-off-by: Marcel Holtmann commit 08b0b0ce8c609b0e2284b134f0614e211374a038 Author: Marcel Holtmann Date: Tue Jun 9 15:44:03 2009 +0200 Bluetooth: Fix compilation of Marvell driver without debugfs The Makefile entry for the Marvell driver is broken when it comes to handling the optional DEBUG_FS correctly. That must have been the reason why they were using select in Kconfig in the first place. Fix this and make it really optional. Signed-off-by: Marcel Holtmann commit e7a25f9839fd392ec2c96e7e2b3734501d761a24 Author: Marcel Holtmann Date: Tue Jun 9 13:42:54 2009 +0200 Bluetooth: Fix Kconfig for Marvell Bluetooth driver The Marvell driver selects DEBUG_FS and FW_LOADER for its core driver and that is pointless. Don't select DEBUG_FS since it is either enabled or not and it is not for the driver to enable it. Also FW_LOADER is only used within the SDIO driver and so just have that one select the FW_LOADER option. Signed-off-by: Marcel Holtmann commit 196be0cd018068d545e1d764094c7b07aaf0bcfe Author: Bing Zhao Date: Tue Jun 2 14:29:38 2009 -0700 Bluetooth: Add documentation for Marvell Bluetooth driver add btmrvl.txt to Documentation/ This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit fb784f0508d5aa39a23e72879a8dfb517c6f6e7f Author: Bing Zhao Date: Tue Jun 2 14:29:37 2009 -0700 Bluetooth: Add debugfs support to btmrvl driver /debug/btmrvl/config/ /debug/btmrvl/status/ See Documentation/btmrvl.txt for details. This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 789221ecc870117b77e354d488d5d29f15410de8 Author: Bing Zhao Date: Tue Jun 2 14:29:36 2009 -0700 Bluetooth: Add Marvell BT-over-SDIO driver This driver supports Marvell Bluetooth enabled devices with SDIO interface. Currently only SD8688 chip is supported. The helper/firmware images of SD8688 can be downloaded from this tree: git://git.infradead.org/users/dwmw2/linux-firmware.git This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit 132ff4e5fa8dfb71a7d99902f88043113947e972 Author: Bing Zhao Date: Tue Jun 2 14:29:35 2009 -0700 Bluetooth: Add btmrvl driver for Marvell Bluetooth devices This driver provides basic definitions and library functions to support Marvell Bluetooth enabled devices, such as 88W8688 WLAN/BT combo chip. This patch incorporates a lot of comments given by Nicolas Pitre . Many thanks to Nicolas Pitre. Signed-off-by: Rahul Tank Signed-off-by: Bing Zhao Signed-off-by: Marcel Holtmann commit edad63886993d18ab800c49f6587a93432ef8b35 Author: Marcel Holtmann Date: Sat Aug 22 14:22:15 2009 -0700 Bluetooth: Let HIDP grab the device reference for connections The core exports the hci_conn_hold_device() and hci_conn_put_device() functions for device reference of connections. Use this to ensure that the uevents from the parent are send after the child ones. Based on a report by Brian Rogers Signed-off-by: Marcel Holtmann commit 9eba32b86d17ef87131fa0bce43c614904ab5781 Author: Marcel Holtmann Date: Sat Aug 22 14:19:26 2009 -0700 Bluetooth: Add extra device reference counting for connections The device model itself has no real usable reference counting at the moment and this causes problems if parents are deleted before their children. The device model itself handles the memory details of this correctly, but the uevent order is not consistent. This causes various problems for systems like HAL or even X. So until device_put() does a proper cleanup, the device for Bluetooth connection will be protected with an extra reference counting to ensure the correct order of uevents when connections are terminated. This is not an automatic feature. Higher Bluetooth layers like HIDP or BNEP should grab this new reference to ensure that their uevents are send before the ones from the parent device. Based on a report by Brian Rogers Signed-off-by: Marcel Holtmann commit 364f63519d94442ed373ac7da79033c8282df46a Author: Marcel Holtmann Date: Sat Aug 22 14:15:53 2009 -0700 Bluetooth: Disconnect HIDRAW devices on disconnect Currently the HID subsystem will create HIDRAW devices for the transport driver, but it will not disconnect them. Until the HID subsytem gets fixed, ensure that HIDRAW and HIDDEV devices are disconnected when the Bluetooth HID device gets removed. Based on a patch from Brian Rogers Signed-off-by: Marcel Holtmann commit 290ba200815fdecb4d40dc942499c4ea6d0c4624 Author: Vikram Kandukuri Date: Thu Jul 2 14:31:59 2009 +0530 Bluetooth: Improve USB driver throughput by increasing the frame size This patch increases the receive buffer size to HCI_MAX_FRAME_SIZE which improves the RX throughput considerably. Tested against BRM/Atheros/CSR USB Dongles with PAN profile using iperf and chariot. This gave significant (around 40%) increase in performance (increased from 0.8 to 1.5 Mb/s in Sheld room) Signed-off-by: Vikram Kandukuri Signed-off-by: Marcel Holtmann commit 981b1414d78a7a42cab48b97d4de54a62d61db88 Author: Vikram Kandukuri Date: Wed Jul 1 11:39:58 2009 +0530 Bluetooth: Fix missing scheduling when VIRTUAL_CABLE_UNPLUG is received There is a test case in PTS tool; PTS will send the VIRTUAL_CABLE_UNPLUG command to IUT. Then IUT should disconnect the channel and kill the HID session when it receives the command. The VIRTUAL_CABLE_UNPLUG command is parsed by HID transport, but it is not scheduled to do so. Add a call to hidp_schedule() to kill the session. Signed-off-by: Jothikumar Mothilal Signed-off-by: Marcel Holtmann commit fd0b3ff707dc1f7837079044bd4eca7ed505f70d Author: Marcel Holtmann Date: Tue Jun 16 00:01:49 2009 +0200 Bluetooth: Add proper shutdown support to SCO sockets The SCO sockets for Bluetooth audio setup and streaming are missing the shutdown implementation. This hasn't been a problem so far, but with a more deeper integration with PulseAudio it is important to shutdown SCO sockets properly. Also the Headset profile 1.2 has more detailed qualification tests that require that SCO and RFCOMM channels are terminated in the right order. A proper shutdown function is necessary for this. Based on a report by Johan Hedberg Signed-off-by: Marcel Holtmann Tested-by: Johan Hedberg commit b560d8ad8583803978aaaeba50ef29dc8e97a610 Author: Paul E. McKenney Date: Fri Aug 21 22:08:51 2009 -0700 rcu: Expunge lingering references to CONFIG_CLASSIC_RCU, optimize on !SMP A couple of references to CONFIG_CLASSIC_RCU have survived. Although these are harmless, it is past time for them to go. The one in hardirq.h is strictly a readability problem. The two in pagemap.h appear to disable a !SMP performance optimization (which this patch re-enables). This does raise the issue as to whether pagemap.h should really be referring to the CPU implementation. Long term, I intend to make the RCU implementation driven by CONFIG_PREEMPT, at which point these should change from defined(CONFIG_TREE_RCU) to !defined(CONFIG_PREEMPT). In the meantime, is there something else that could be done in pagemap.h? Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: josht@linux.vnet.ibm.com Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org LKML-Reference: <20090822050851.GA8414@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 4f896ffca2b72f4b719746e7fbb0b623252e6ac9 Author: Paul Mundt Date: Sat Aug 22 19:03:25 2009 +0900 sh: unwinder: cacheline align slab cache objects. The CIE and FDE structs are big enough and accessed regularly enough in certain configurations to make cacheline alignment useful. Signed-off-by: Paul Mundt commit 8c6866b071cb242584df287dbd342e5815e8407f Author: Artem Bityutskiy Date: Sat Aug 15 13:57:48 2009 +0300 UBIFS: constify file and inode operations This patch adds 'const' qualifier to UBIFS xattr inode and file operations. Pointed-out-by: Julia Lawall Signed-off-by: Artem Bityutskiy commit 5400743db5a06a4e6e298725a2044c40edcb27b9 Author: H. Peter Anvin Date: Fri Aug 21 17:00:02 2009 -0700 x86, mtrr: make mtrr_aps_delayed_init static bool mtr_aps_delayed_init was declared u32 and made global, but it only ever takes boolean values and is only ever used in arch/x86/kernel/cpu/mtrr/main.c. Declare it "static bool" and remove external references. Signed-off-by: H. Peter Anvin Cc: Suresh Siddha commit d0af9eed5aa91b6b7b5049cae69e5ea956fd85c3 Author: Suresh Siddha Date: Wed Aug 19 18:05:36 2009 -0700 x86, pat/mtrr: Rendezvous all the cpus for MTRR/PAT init SDM Vol 3a section titled "MTRR considerations in MP systems" specifies the need for synchronizing the logical cpu's while initializing/updating MTRR. Currently Linux kernel does the synchronization of all cpu's only when a single MTRR register is programmed/updated. During an AP online (during boot/cpu-online/resume) where we initialize all the MTRR/PAT registers, we don't follow this synchronization algorithm. This can lead to scenarios where during a dynamic cpu online, that logical cpu is initializing MTRR/PAT with cache disabled (cr0.cd=1) etc while other logical HT sibling continue to run (also with cache disabled because of cr0.cd=1 on its sibling). Starting from Westmere, VMX transitions with cr0.cd=1 don't work properly (because of some VMX performance optimizations) and the above scenario (with one logical cpu doing VMX activity and another logical cpu coming online) can result in system crash. Fix the MTRR initialization by doing rendezvous of all the cpus. During boot and resume, we delay the MTRR/PAT init for APs till all the logical cpu's come online and the rendezvous process at the end of AP's bringup, will initialize the MTRR/PAT for all AP's. For dynamic single cpu online, we synchronize all the logical cpus and do the MTRR/PAT init on the AP that is coming online. Signed-off-by: Suresh Siddha Signed-off-by: H. Peter Anvin commit 269c861baa2fe7c114c3bc7831292758d29eb336 Author: Suresh Siddha Date: Wed Aug 19 18:05:35 2009 -0700 generic-ipi: Allow cpus not yet online to call smp_call_function with irqs disabled Because of deadlock possiblities smp_call_function() is not allowed to be called with interrupts disabled. Add an exception for the cpu not yet online, as no one else can send smp call function interrupt to this cpu that is not yet online and as such deadlock condition is not possible. Signed-off-by: Suresh Siddha Acked-by: Nick Piggin Signed-off-by: H. Peter Anvin commit 8b5a10fc6fd02289ea03480f93382b1a99006142 Author: Jan Beulich Date: Wed Aug 19 08:40:48 2009 +0100 x86: properly annotate alternatives.c Some of the NOPs tables aren't used on 64-bits, quite some code and data is needed post-init for module loading only, and a couple of functions aren't used outside that file (i.e. can be static, and don't need to be exported). The change to __INITDATA/__INITRODATA is needed to avoid an assembler warning. Signed-off-by: Jan Beulich LKML-Reference: <4A8BC8A00200007800010823@vpn.id2.novell.com> Acked-by: Sam Ravnborg Signed-off-by: H. Peter Anvin commit fa9d3b4da55fc8949efc2b4220d93f188fbcebd6 Merge: c01f0f1 74db247 Author: Paul Mundt Date: Sat Aug 22 05:37:14 2009 +0900 Merge branch 'sh/dwarf-unwinder' Conflicts: arch/sh/kernel/cpu/sh3/entry.S commit 74db2479c1fecefd0a190f282f28f00565309807 Author: Paul Mundt Date: Sat Aug 22 05:31:45 2009 +0900 sh64: dummy unwinder BUG wrappers. sh64 does not yet support GENERIC_BUG, but still wants unwinder support. Alias UNWINDER_BUG and UNWINDER_BUG_ON to their BUG counterparts until the conversion to GENERIC_BUG is completed. Signed-off-by: Paul Mundt commit e115f2c17cbceee93b34d787a7a4a867fc73e7b4 Author: Paul Mundt Date: Sat Aug 22 05:28:25 2009 +0900 sh: unwinder: Use a special bug flag for unwinder traps. This simplifies the unwinder trap handling, dropping the use of the special trapa vector and simply piggybacking on top of the BUG support. A new BUGFLAG_UNWINDER is added for flagging the unwinder fault, before continuing on with regular BUG dispatch. Signed-off-by: Paul Mundt commit da15cfdae03351c689736f8d142618592e3cebc3 Author: john stultz Date: Wed Aug 19 19:13:34 2009 -0700 time: Introduce CLOCK_REALTIME_COARSE After talking with some application writers who want very fast, but not fine-grained timestamps, I decided to try to implement new clock_ids to clock_gettime(): CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE which returns the time at the last tick. This is very fast as we don't have to access any hardware (which can be very painful if you're using something like the acpi_pm clocksource), and we can even use the vdso clock_gettime() method to avoid the syscall. The only trade off is you only get low-res tick grained time resolution. This isn't a new idea, I know Ingo has a patch in the -rt tree that made the vsyscall gettimeofday() return coarse grained time when the vsyscall64 sysctrl was set to 2. However this affects all applications on a system. With this method, applications can choose the proper speed/granularity trade-off for themselves. Signed-off-by: John Stultz Cc: Andi Kleen Cc: nikolag@ca.ibm.com Cc: Darren Hart Cc: arjan@infradead.org Cc: jonathan@jonmasters.org LKML-Reference: <1250734414.6897.5.camel@localhost.localdomain> Signed-off-by: Thomas Gleixner commit 1909629fb1ec9800cf2cb0091870d6a1c1ca665f Author: Masami Hiramatsu Date: Fri Aug 21 14:56:03 2009 -0400 perf trace: Add OPT_END to option array of perf-trace Add OPT_END to option array of perf-trace for fixing a SEGV bug when showing perf-trace help message. Without this patch; ./perf trace -h usage: perf trace [] -D, --dump-raw-trace dump raw trace in ASCII -v, --verbose be more verbose (show symbol address, etc) -f, Segmentation fault With this patch: ./perf trace -h usage: perf trace [] -D, --dump-raw-trace dump raw trace in ASCII -v, --verbose be more verbose (show symbol address, etc) Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: Masami Hiramatsu Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Tom Zanussi LKML-Reference: <20090821185603.11039.62109.stgit@localhost.localdomain> Signed-off-by: Ingo Molnar commit 8cab02dc3c58a12235c6d463ce684dded9696848 Author: Thomas Gleixner Date: Thu Aug 20 18:19:45 2009 +0200 x86: Do not unregister PIT clocksource on PIT oneshot setup/shutdown This basically reverts commit 1a0c009ac (x86: unregister PIT clocksource when PIT is disabled) because the problem which was tried to address with that patch has been solved by commit 3f68535ada (clocksource: sanity check sysfs clocksource changes). The problem addressed by the original patch is that PIT could be selected as clocksource after the system switched the PIT off or set the PIT into one shot mode which would result in complete timekeeping wreckage. Now with the sysfs sanity check in place PIT cannot be selected again when the system is in oneshot mode. The system will not switch to one shot mode as long as PIT is installed because PIT is not suitable for one shot. The shutdown case which happens when the lapic timer is installed is covered by the fact that init_pit_clocksource() is called after the lapic timer take over and then does not install the PIT clocksource at all. We should have done the sanity checks back then, but ... This also solves the locking problem which was reported vs. the clocksource rework. LKML-Reference: Cc: Martin Schwidefsky Cc: john stultz Signed-off-by: Thomas Gleixner commit c153a58e715e16ffcd6c4b3da7fc6b4a556bf917 Merge: 4ab8f24 5580e90 Author: Paul Mundt Date: Sat Aug 22 03:49:58 2009 +0900 Merge branch 'sh/dwarf-unwinder' of git://github.com/mfleming/linux-2.6 into sh/dwarf-unwinder commit 4ab8f241f6d510470c15b62ac10f6905ff5c97bd Author: Paul Mundt Date: Sat Aug 22 03:43:15 2009 +0900 sh: Export unwind_stack() to satisfy modular oprofile. If the oprofile code is built as a module, unwind_stack() as used by the oprofile backtrace code is not available, causing build breakage. Signed-off-by: Paul Mundt commit 48586218b6515b9bd70694e3cd8c901a6a6ee69c Author: Steven Rostedt Date: Fri Aug 21 12:42:20 2009 -0400 kconfig: add missing dependency of conf to localyesconfig There's a dependency missing. $ make localyesconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/basic/hash using config: '/boot/config-2.6.27.25-78.2.56.fc9.x86_64' /bin/sh: line 8: scripts/kconfig/conf: No such file or directory make[1]: *** [localyesconfig] Error 127 make: *** [localyesconfig] Error 2 Thus the script failed to run. But the sed command that converts the '=m' to '=y' still ran. This gives us a distro config with all modules converted to built in! The missing dependency was for conf for localyesconfig. This dependency was already set for localmodconfig. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 79fb9387f88b6b44bbc46e19cae26d2c9fe3bb6a Author: Mark Brown Date: Fri Aug 21 16:38:13 2009 +0100 ASoC: Add DAPM widget power decision debugfs files Currently when built with DEBUG DAPM will dump information about the power state decisions it is taking for each widget to dmesg. This isn't an ideal way of getting the information - it requires a kernel build to turn it on and off and for large hub CODECs the volume of information is so large as to be illegible. When the output goes to the console it can also cause a noticable impact on performance simply to print it out. Improve the situation by adding a dapm directory to our debugfs tree containing a file per widget with the same information in it. This still requires a decision to build with debugfs support but is easier to navigate and much less intrusive. In addition to the previously displayed information active streams are also shown in these files. Signed-off-by: Mark Brown commit fbf4665f41b02e757ab9d9198df65e319388e728 Author: Jeff Layton Date: Fri Aug 14 12:57:59 2009 -0400 nfsd: populate sin6_scope_id on callback address with scopeid from rq_addr on SETCLIENTID call When a SETCLIENTID call comes in, one of the args given is the svc_rqst. This struct contains an rq_addr field which holds the address that sent the call. If this is an IPv6 address, then we can use the sin6_scope_id field in this address to populate the sin6_scope_id field in the callback address. AFAICT, the rq_addr.sin6_scope_id is non-zero if and only if the client mounted the server's link-local address. Signed-off-by: Jeff Layton Acked-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 7077ecbabd626cce1fcf5cc9766c83ec04d919f9 Author: Jeff Layton Date: Fri Aug 14 12:57:58 2009 -0400 nfsd: add support for NFSv4 callbacks over IPv6 The framework to add this is all in place. Now, add the code to allow support for establishing a callback channel on an IPv6 socket. Signed-off-by: Jeff Layton Acked-by: Chuck Lever Signed-off-by: J. Bruce Fields commit aa9a4ec7707a5391cde556f3fa1b0eb4bca3bcf6 Author: Jeff Layton Date: Fri Aug 14 12:57:57 2009 -0400 nfsd: convert nfs4_cb_conn struct to hold address in sockaddr_storage ...rather than as a separate address and port fields. This will be necessary for implementing callbacks over IPv6. Also, convert gen_callback to use the standard rpcuaddr2sockaddr routine rather than its own private one. Signed-off-by: Jeff Layton Acked-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 363168b4ea8ec26aeb982ac6024a09f907ecd27e Author: Jeff Layton Date: Fri Aug 14 12:57:56 2009 -0400 nfsd: make nfs4_client->cl_addr a struct sockaddr_storage It's currently a __be32, which isn't big enough to hold an IPv6 address. Signed-off-by: Jeff Layton Acked-by: Chuck Lever Signed-off-by: J. Bruce Fields commit be3ad6b0b675fd1d6b48362ca30bdee75fbef6b4 Author: Jeff Layton Date: Fri Aug 14 12:57:55 2009 -0400 sunrpc: add common routine for copying address portion of a sockaddr Signed-off-by: Jeff Layton Acked-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 4516fc0454e7ffe2f369e80045b23c2b32155004 Author: Jeff Layton Date: Fri Aug 14 12:57:54 2009 -0400 sunrpc: add routine for comparing addresses lockd needs these sort of routines, as does the NFSv4 callback code. Move lockd's routines into common code and rename them so that they can be used by others. Signed-off-by: Jeff Layton Acked-by: Chuck Lever Signed-off-by: J. Bruce Fields commit e9dc122166b8d863d3057a66ada04838e5548e52 Merge: 560ab42 405d8f8 Author: J. Bruce Fields Date: Fri Aug 21 11:27:29 2009 -0400 Merge branch 'nfs-for-2.6.32' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 into for-2.6.32-incoming Conflicts: net/sunrpc/cache.c commit 3e0e1e9c5a327d4dba8490d83ef55c0564e6e8a7 Author: Amerigo Wang 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 Cc: Yinghai Lu Cc: akpm@linux-foundation.org LKML-Reference: <20090821083709.5098.52505.sendpatchset@localhost.localdomain> Signed-off-by: Ingo Molnar commit 8126dec32738421afa362114337331337b4be17f Author: Xiao Guangrong Date: Thu Aug 20 20:23:11 2009 +0800 x86: Fix system crash when loading with "reservetop" parameter The system will die if the kernel is booted with "reservetop" parameter, in present code, parse "reservetop" parameter after early_ioremap_init(), and some function still use early_ioremap() after it. The problem is, "reservetop" parameter can modify 'FIXADDR_TOP', then the virtual address got by early_ioremap() is base on old 'FIXADDR_TOP', but the page mapping is base on new 'FIXADDR_TOP', it will occur page fault, and the IDT is not prepare yet, so, the system is dead. So, put parse_early_param() in the front of early_ioremap_init() in this patch. Signed-off-by: Xiao Guangrong Cc: yinghai@kernel.org Cc: Andrew Morton LKML-Reference: <4A8D402F.4080805@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 405d8f8b1d936414da2093d4149ff790ff3f84a5 Author: Trond Myklebust Date: Fri Aug 21 08:17:56 2009 -0400 SUNRPC: Ensure that sunrpc gets initialised before nfs, lockd, etc... We can oops if rpc_pipefs isn't properly initialised before we start to set up objects that depend upon it. Signed-off-by: Trond Myklebust commit a8af7246c114bfd939e539f9566b872c06f6225c Author: Peter Zijlstra Date: Fri Aug 21 13:58:54 2009 +0200 sched: Avoid division by zero Patch a5004278f0525dcb9aa43703ef77bf371ea837cd (sched: Fix cgroup smp fairness) introduced the possibility of a divide-by-zero because load-balancing is not synchronized between sched_domains. This can cause the state of cpus to change between the first and second loop over the sched domain in tg_shares_up(). Reported-by: Yinghai Lu Signed-off-by: Peter Zijlstra Cc: Jes Sorensen Cc: Jens Axboe Cc: Linus Torvalds LKML-Reference: <1250855934.7538.30.camel@twins> Signed-off-by: Ingo Molnar commit 5580e9044df9c0e87861739d8c527006ead92e52 Author: Matt Fleming Date: Thu Aug 20 19:53:49 2009 +0100 sh: Handle the DWARF op, DW_CFA_undefined Allow a DWARF register to have an undefined value. When applied to the DWARF return address register this lets lets us label a function as having no direct caller, e.g. kernel_thread_helper(). Signed-off-by: Matt Fleming commit 5480675dc60c7dda7146e506981b2b40a775cc1e Author: Matt Fleming Date: Thu Aug 20 19:42:34 2009 +0100 sh: Fix bug calculating the end of the FDE instructions The 'end' member of struct dwarf_fde denotes one byte past the end of the CFA instruction stream for an FDE. The value of 'end' was being calcualted incorrectly, it was being set too high. This resulted in dwarf_cfa_execute_insns() interpreting data past the end of valid instructions, thus causing all sorts of weird crashes. Signed-off-by: Matt Fleming commit fe98dd31eb9fe055703e0171134b4d074558d4e9 Author: Matt Fleming Date: Thu Aug 20 17:00:21 2009 +0100 sh: Setup the frame pointer in handle_interrupt When CONFIG_DWARF_UNWINDER is enabled setup r14 in handle_interrupt, so that we can figure out what function was running when we were interrupted. Signed-off-by: Matt Fleming commit b344e24a8e8ceda83d1285d22e3e5baf4f5e42d3 Author: Matt Fleming Date: Sun Aug 16 21:54:48 2009 +0100 sh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() We can't assume that if we execute the unwinder code and the unwinder was already running that it has faulted. Clearly two kernel threads can invoke the unwinder at the same time and may be running simultaneously. The previous approach used BUG() and BUG_ON() in the unwinder code to detect whether the unwinder was incapable of unwinding the stack, and that the next available unwinder should be used instead. A better approach is to explicitly invoke a trap handler to switch unwinders when the current unwinder cannot continue. Signed-off-by: Matt Fleming commit 97efbbd5886e27b61c19c77d41f6491f5d96fbd0 Author: Matt Fleming Date: Sun Aug 16 15:56:35 2009 +0100 sh: unwinder: Set the flags for DW_CFA_val_offset ops as DWARF_VAL_OFFSET The handling of DW_CFA_val_offset ops was incorrectly using the DWARF_REG_OFFSET flag but the register's value cannot be calculated using the DWARF_REG_OFFSET method. Create a new flag to indicate that a different method must be used to calculate the register's value even though there is no implementation for DWARF_VAL_OFFSET yet; it's mainly just a place holder. Signed-off-by: Matt Fleming commit fb3f3e7fc6d4afb32f9eba32124beaf40313de3c Author: Matt Fleming Date: Sun Aug 16 15:44:08 2009 +0100 sh: unwinder: Fix memory leak and create our own kmem cache Plug a memory leak in dwarf_unwinder_dump() where we didn't free the memory that we had previously allocated for the DWARF frames and DWARF registers. Now is also a opportune time to implement our own mempool and kmem cache. It's a good idea to have a certain number of frame and register objects in reserve at all times, so that we are guaranteed to have our allocation satisfied even when memory is scarce. Since we have pools to allocate from we can implement the registers for each frame as a linked list as opposed to a sparsely populated array. Whilst it's true that the lookup time for a linked list is larger than for arrays, there's only usually a maximum of 8 registers per frame. So the overhead isn't that much of a concern. Signed-off-by: Matt Fleming commit b8e583f6012d618fb93bb38a302b63c3c6d2bfbc Author: Kuninori Morimoto Date: Fri Aug 21 09:42:59 2009 +0900 ASoC: Add FSI-AK4642 sound support for SuperH This patch is tested by ms7724se Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit a3a83d9a7cb0ce3b1d100060d5ad777e7480b4f2 Author: Kuninori Morimoto Date: Fri Aug 21 10:23:41 2009 +0900 ASoC: Add ak4642/ak4643 codec support This is very simple driver for ALSA It supprt headphone output and stereo input only This patch is tested by ms7724se Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit b2ec22e2633996727f4f2abcd806aaeb0506dd6a Author: Ben Dooks Date: Thu Aug 20 22:50:43 2009 +0100 ASoC: S3C24XX: Support for Simtec Hermes boards Add support for the tlv320aic3x CODEC on the Simtec Hermes board. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit aa6b904e66d5f484bd52763d63259b9a16f6e107 Author: Ben Dooks Date: Thu Aug 20 22:50:42 2009 +0100 ASoC: tlv320aic3x: fixup board device changes Fixup the device changes by modifying the files that we just removed the explicit device creation from with i2c_register_board_info() until this can be moved into the relevant board files. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit cb3826f524728a90a47f2f831c3d61851c8091b2 Author: Ben Dooks Date: Thu Aug 20 22:50:41 2009 +0100 ASoC: tlv320aic3x: Change to use device model The tlv320aic3x driver managed its own i2c device, instead of an extant one created by the board support code. Change the code to make it so that the driver binds to an extant (in this case i2c) device. Add explict tlv320aic33 as well as tlv320aic3x to the supported device table and remove the old driver bindings from the users of this code. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 14412acde5b57450b8afb3d4b03132419b6abebf Author: Ben Dooks Date: Thu Aug 20 22:50:40 2009 +0100 ASoC: S3C24XX: Add audio core and tlv320aic23 for Simtec boards Add core support for the range of S3C24XX Simtec boards with TLV320AIC23 CODECs on them. Since there are also boards with similar IIS routing the AMP and the configuration code is placed in a core file for re-use with other CODEC bindings. Signed-off-by: Ben Dooks Signed-off-by: Mark Brown commit 64a6d72213dd810dd55bd0a503c36150af41c3c3 Author: Paul Mundt Date: Fri Aug 21 18:21:07 2009 +0900 sh: Kill off now redundant local irq disabling. on_each_cpu() takes care of IRQ and preempt handling, the localized handling in each of the called functions can be killed off. Signed-off-by: Paul Mundt commit f8f2109d4f6c525f893f6f2901ae62372e83245e Merge: bb81b2d a2c3f65 Author: David S. Miller Date: Fri Aug 21 01:56:56 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit c7084b35eb1a4d3353a501508baf9d3d82822c93 Author: Casey Dahlin Date: Thu Aug 20 16:27:56 2009 -0700 lib/swiotlb.c: Fix strange panic message selection logic when swiotlb fills up swiotlb_full() in lib/swiotlb.c throws one of two panic messages based on whether the direction of transfer is from the device or to the device. The logic around this is somewhat weird in the case of bidirectional transfers. It appears to want to throw both in succession, but since its a panic only the first makes it. This patch adds a third, separate error for DMA_BIDIRECTIONAL to make things a bit clearer. Signed-off-by: Casey Dahlin Cc: FUJITA Tomonori Cc: Becky Bruce [ further fixed the error message ] Signed-off-by: Andrew Morton LKML-Reference: <200908202327.n7KNRuqK001504@imap1.linux-foundation.org> Signed-off-by: Ingo Molnar commit c01f0f1a4a96eb3acc5850e18cc43f24366966d0 Author: Yoshihiro Shimoda Date: Fri Aug 21 16:30:28 2009 +0900 sh: Add initial support for SH7757 CPU subtype Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit f26b2a562b46ab186c8383993ab1332673ac4a47 Author: Paul Mundt Date: Fri Aug 21 17:23:14 2009 +0900 sh: Make cache flushers SMP-aware. This does a bit of rework for making the cache flushers SMP-aware. The function pointer-based flushers are renamed to local variants with the exported interface being commonly implemented and wrapping as necessary. Signed-off-by: Paul Mundt commit f9bd71f255b4349c4f9f596863161fd5182f67fa Author: Paul Mundt Date: Fri Aug 21 16:20:57 2009 +0900 sh: Kill off unused cpu/cacheflush.h. All CPU-specific overloads are done at runtime now, so this common header can go away and simply be folded back in to asm/ version. Signed-off-by: Paul Mundt commit 805423e84e900e56c834aadee61a020b0d5092c3 Author: Corbin Simpson Date: Thu Aug 20 21:41:04 2009 -0700 Input: xpad - add USB ID for the drumkit controller from Rock Band Signed-off-by: Corbin Simpson Signed-off-by: Dmitry Torokhov commit fb962e1e1772df163358832476e6091d1660ba9f Author: Wan ZongShun Date: Thu Aug 20 21:41:03 2009 -0700 Input: w90p910_keypad - rename driver name to match platform Signed-off-by: Wan ZongShun Signed-off-by: Dmitry Torokhov commit 939a9421eb53d3ea83188ae13802779041caefdb Author: Amerigo Wang Date: Thu Aug 20 19:29:03 2009 -0700 vfs: allow file truncations when both suid and write permissions set When suid is set and the non-owner user has write permission, any writing into this file should be allowed and suid should be removed after that. However, current kernel only allows writing without truncations, when we do truncations on that file, we get EPERM. This is a bug. Steps to reproduce this bug: % ls -l rootdir/file1 -rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1 % echo h > rootdir/file1 zsh: operation not permitted: rootdir/file1 % ls -l rootdir/file1 -rwsrwsrwx 1 root root 3 Jun 25 15:42 rootdir/file1 % echo h >> rootdir/file1 % ls -l rootdir/file1 -rwxrwxrwx 1 root root 5 Jun 25 16:34 rootdir/file1 Signed-off-by: WANG Cong Cc: Eric Sandeen Acked-by: Eric Paris Cc: Eugene Teo Cc: Al Viro Cc: OGAWA Hirofumi Cc: Christoph Hellwig Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit bc6a6008e5e3c7a30191a7f19ab19e85b14b1705 Author: Amerigo Wang Date: Thu Aug 20 19:29:02 2009 -0700 selinux: adjust rules for ATTR_FORCE As suggested by OGAWA Hirofumi in thread: http://lkml.org/lkml/2009/8/7/132, we should let selinux_inode_setattr() to match our ATTR_* rules. ATTR_FORCE should not force things like ATTR_SIZE. [hirofumi@mail.parknet.co.jp: tweaks] Signed-off-by: WANG Cong Signed-off-by: OGAWA Hirofumi Acked-by: Stephen Smalley Acked-by: Eric Paris Cc: Eugene Teo Cc: Al Viro Cc: Christoph Hellwig Acked-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: James Morris commit 50f153036c9d9e4ae1768d5ca9c2ad4184f7a0b7 Author: Dave Airlie Date: Fri Aug 21 13:21:01 2009 +1000 drm/radeon/kms: generate the safe register tables. Previously we just made these offline and included them, but no reason we can't generate them at build time. TODO: add rs690 + r100/r200 when done. should we do rs480/rs690 no tcl version? Signed-off-by: Dave Airlie commit 9e7291c1124655980ab05fc89930de8e218c7d64 Author: Yoshihiro Shimoda Date: Thu Aug 20 07:01:06 2009 +0000 usb: r8a66597-udc: implement the set_wedge method fix the problem that MSC Tests of USBCV detects some warnings. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit a81bec7653a098349af247926bb19c2889dde803 Author: Magnus Damm Date: Thu Aug 20 14:02:24 2009 +0000 sh: update kfr2r09 defconfig Update the kfr2r09 defconfig with support for LCDC and USB gadget. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e498dab4bbf263e1cdb8327b0f019299c44e13e2 Author: Magnus Damm Date: Thu Aug 20 14:01:24 2009 +0000 sh: add kfr2r09 romimage defconfig Add romImage defconfig for the kfr2r09 board. This defconfig should be used to build the kernel based boot loader. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 673b74be85bff420cccdc529d8247dbf486e175d Author: Magnus Damm Date: Thu Aug 20 13:59:26 2009 +0000 sh: jump to p1 during boot on kfr2r09 Add a P1 jump to the the kfr2r09 romimage code. With this patch applied the initial zImage assembly code will run with instruction cache enabled. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7c328e476bc56c86e77ffff5c947f4b8ec47e36b Author: Magnus Damm Date: Thu Aug 20 13:58:38 2009 +0000 sh: invalidate icache and tlbs during boot on kfr2r09 Add instruction cache and TLB invalidation code for the the kfr2r09 romimage target. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 045a4b7ee73764131c39733de7d06e8c553f805a Author: Magnus Damm Date: Thu Aug 20 13:57:36 2009 +0000 sh: i2c compile fix for kfr2r09 Fix the kfr2r09 board code so it compiles if CONFIG_I2C=n. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4dceef96756b667360741712a8e37490f8458516 Author: J. Bruce Fields Date: Thu Aug 20 17:08:39 2009 -0400 nfs: fix compile error in rpc_pipefs.h This include is needed for the definition of delayed_work. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit a0a499c5792b8656cd51e11d5e0db9fb21640f58 Author: Eduardo Valentin Date: Thu Aug 20 16:18:26 2009 +0300 ASoC: OMAP: Use DMA operating mode of McBSP Configures DMA sync mode depending on McBSP operating mode value. The value is configurable by McBSP instance. So, depending on McBSP operating mode, the DMA sync mode is passed from omap-mcbsp to omap-pcm. Besides that, it also configures McBSP threshold value depending on which McBSP mode is activated. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit caebc0cb3ba1e88f5311fbe7aa58b8dff18dd763 Author: Eduardo Valentin Date: Thu Aug 20 16:18:25 2009 +0300 ASoC: OMAP: Use McBSP threshold to playback and capture This patch changes the way DMA is done in omap-pcm.c in order to reduce power consumption. There is no need to have so much SW control in order to have DMA in idle state during audio streaming. Configuring McBSP threshold value and DMA to FRAME_SYNC are sufficient. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit ca6e2ce08679c094878d7f39a0349a7db1d13675 Author: Eero Nurkkala Date: Thu Aug 20 16:18:24 2009 +0300 ASoC: Always syncronize audio transfers on frames All these steps are required for ASoC to behave correctly. rccr and xccr are format dependent, for example TDM audio has different values than I2S or DSP_A. Also the omap_mcbsp_xmit_enable and/or omap_mcbsp_recv_enable must be called right after the DMA has started. This provides no longer L and R channels switching at random. Signed-off-by: Eero Nurkkala Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit c721bbdad71d2928e8b5015e9b462fbeb35427c6 Author: Eero Nurkkala Date: Thu Aug 20 16:18:23 2009 +0300 ASoC: Add runtime check for RFIG and XFIG This is, no RFIG or XFIG (Not defined in 34xx), correct initiliazation of rccr and xccr. Signed-off-by: Eero Nurkkala Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit a152ff24b9784ddfd347953f23c53f0b890ebca8 Author: Eduardo Valentin Date: Thu Aug 20 16:18:22 2009 +0300 ASoC: OMAP: Make DMA 64 aligned Align DMA address to DMA burst transaction sizes. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 9599d485cb0b5ea093414654d723f3ab03c95038 Author: Eduardo Valentin Date: Thu Aug 20 16:18:21 2009 +0300 ASoC: OMAP: Enable DMA burst mode Improve DMA transfers by enabling Burst transaction. Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 72cc6d715d5b018e2cff4adb68966855850d4e77 Author: Eero Nurkkala Date: Thu Aug 20 16:18:20 2009 +0300 OMAP: McBSP: Let element DMA mode hit retention also The device no longer hits retention if element DMA mode is taken for at least the duration of the serial console timeout. Force element DMA mode to shut down through smartidle. Signed-off-by: Eero Nurkkala Acked-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit fa3935ba34667ffd35fbb33958cd1d67035fdf82 Author: Eero Nurkkala Date: Thu Aug 20 16:18:19 2009 +0300 OMAP: McBSP: Do not enable wakeups for no-idle mode When no-idle mode is taken, wakeups need not to be enabled. Moreover, CLOCKACTIVITY bits are unnecessary with this mode also. Signed-off-by: Eero Nurkkala Acked-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d99a7454e57d3dc9d04d6a77292a056f430a9ece Author: Eduardo Valentin Date: Thu Aug 20 16:18:18 2009 +0300 OMAP: McBSP: Configure NO IDLE mode for DMA mode different of threshold Use dma mode property to configure NO IDLE or SMART IDLE of McBSPs. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 2ba93f8fa77c0140de163e8a31bb9c09b5ded74c Author: Eero Nurkkala Date: Thu Aug 20 16:18:17 2009 +0300 OMAP: McBSP: Retain McBSP FCLK clockactivity FCLK may get autogated so that it prevents the McBSP to work properly. It is the bit 9 that must be set for maintaining the McBSP FCLK. Signed-off-by: Eero Nurkkala Signed-off-by: Eduardo Valentin Acked-by: Jarkko Nikula Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit d9a9b3f5f7d4736cfe6fae95b9d63b07faeb702e Author: Eduardo Valentin Date: Thu Aug 20 16:18:16 2009 +0300 OMAP: McBSP: Change wakeup signals Configure only XRDYEN and RRDYEN wakeup signals in order to get better power consumption. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 2122fdc629f05634537e796c0630028e4db76953 Author: Eero Nurkkala Date: Thu Aug 20 16:18:15 2009 +0300 OMAP: McBSP: Wakeups utilized This patch enables the smart idle mode while McBPS is being utilized. Once it's done, force idle mode is taken instead. Apart of it, it also configures what signals will wake mcbsp up. Signed-off-by: Eero Nurkkala Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 98cb20e88957faf9c99e194242caac7f55dd47e4 Author: Peter Ujfalusi Date: Thu Aug 20 16:18:14 2009 +0300 OMAP: McBSP: Add link DMA mode selection It adds a new sysfs file, where the user can configure the mcbsp mode to use. If the mcbsp channel is in use, it does not allow the change. Than in omap_pcm_open we can call the omap_mcbsp_get_opmode to get the mode, store it, than use it to implement the different modes. Signed-off-by: Peter Ujfalusi Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 4c8200aeb04b8aeaf8c7425f49caf761e2cda95a Author: Eduardo Valentin Date: Thu Aug 20 16:18:13 2009 +0300 OMAP: McBSP: Rename thres sysfs symbols This patch renames the symbols that handles threshold sysfs properties. This way we can add more sysfs properties to them. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 7e4f943b725008272d5c50e676a89d642232a4e3 Author: Peter Ujfalusi Date: Thu Aug 20 16:18:12 2009 +0300 OMAP3: McBSP: Lower the maximum buffersize for McBSP1, 3, 4, 5 Do not allow applications to use the full buffer found on McBSP1,3,4,5. Using the full buffer in threshold mode causes the McBSP buffer to run dry, which can be observed as channels are switching (in reality the channels are shifting). Signed-off-by: Peter Ujfalusi Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit a1a56f5faa41327116bf960a8e79f21a8ea35dce Author: Eduardo Valentin Date: Thu Aug 20 16:18:11 2009 +0300 OMAP: McBSP: Create and export max_(r|t)x_thres property This patch export through sysfs two properties to configure maximum threshold for transmission and reception on each mcbsp instance. Also, it exports two helper functions to allow mcbsp users to read this values. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 7aa9ff56cae7a6a4fa2e1a503cc5f8bbd887d6e3 Author: Eduardo Valentin Date: Thu Aug 20 16:18:10 2009 +0300 OMAP: McBSP: Add transmit/receive threshold handler This patch adds a way to handle transmit/receive threshold. It export to mcbsp users a callback registration procedure. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 44a6311c0a83f682bcf18fae389a1b270df29314 Author: Eduardo Valentin Date: Thu Aug 20 16:18:09 2009 +0300 OMAP: McBSP: Use appropriate value for startup delay Increasing startup delay value as worst case: CLKSRG*2 = 8000khz: (1/8000) * 2 * 2 usec Although, 100us may give enough time for two CLKSRG, due to some unknown PM related, clock gating etc. reason, this patch increases it to 500us. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 946a49a95dabc9dd10344ae9ab4db9f14c5ad502 Author: Eduardo Valentin Date: Thu Aug 20 16:18:08 2009 +0300 OMAP: McBSP: Add IRQEN, IRQSTATUS, THRESHOLD2 and THRESHOLD1 registers. Adding McBSP register definition for IRQEN, IRQSTATUS, THRESHOLD2 and THRESHOLD1 registers. Signed-off-by: Eduardo Valentin Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit 9abea08e43c6cfc18399e42cbc6028d111532f61 Author: Eero Nurkkala Date: Thu Aug 20 16:18:07 2009 +0300 OMAP: McBSP: Provide functions for ASoC frame syncronization ASoC has an annoying bug letting either L or R channel to be played on L channel. In other words, L and R channels can switch at random. This provides McBSP funtionality that may be used to fix this feature. Signed-off-by: Eero Nurkkala Acked-by: Tony Lindgren Signed-off-by: Mark Brown commit a4d7d550a9cfdfbc615383a08e9afa39d5a6d875 Author: Kuninori Morimoto Date: Thu Aug 20 21:01:05 2009 +0900 ASoC: Add SuperH FSI driver support for ALSA This driver is very simple. It support playback only now. This patch is tested by ms7724se board. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown commit f61c890ec631884c5b7cd8723cd8ae1917dca544 Author: Shine Liu Date: Thu Aug 20 23:02:23 2009 +0800 ASoC: S3C24XX : Align the peroid size to the buffer size > Then it's a driver bug. If unaligned period size is allowed, it means > that the irq is really generated in that period, not at the buffer > boundary. Otherwise, it must have a proper hw-constraint to align the > period size to the buffer size. This patch will fix the bug metioned in the above mail. Force the peroid size to be aligned with the buffer size. Based and tested on linux-2.6.31-rc6. Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit 39cf0518d89d1f0af79554457c52adb5b12fa43c Merge: af15c1a 6c30c53 Author: Rafael J. Wysocki Date: Thu Aug 20 20:24:33 2009 +0200 Merge branch 'master' into for-linus commit a2c3f6567c9ac327f1ef1272551f3a7595ec885e Author: Lennert Buytenhek Date: Tue Aug 18 05:13:48 2009 +0200 MAINTAINERS: add information for mwl8k wireless driver Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit a145d575833ff47330125364cb49304db7308825 Author: Lennert Buytenhek Date: Tue Aug 18 04:34:26 2009 +0200 mwl8k: update copyright and version number Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ab565790cb5ca3d00db0af9c2a8eb95e16054c29 Author: Lennert Buytenhek Date: Tue Aug 18 04:08:01 2009 +0200 mwl8k: remove mwl8k_queue_work() Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit e6935ea10485f34b82d16f8dff9aa2bdf32ab4bf Author: Lennert Buytenhek Date: Tue Aug 18 04:06:20 2009 +0200 mwl8k: get rid of mwl8k_configure_filter() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 954ef509cc7d795ccd69fa2e01539297e9a003a0 Author: Lennert Buytenhek Date: Fri Jul 17 07:26:27 2009 +0200 mwl8k: get rid of mwl8k_get_stats() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3e4f542cfbf5a60f2295b2de9a31bdd14beb7b4a Author: Lennert Buytenhek Date: Fri Jul 17 07:25:59 2009 +0200 mwl8k: get rid of mwl8k_conf_tx() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 733d3067d3fb168fbbd008cb0ebf5ad2027030f3 Author: Lennert Buytenhek Date: Fri Jul 17 07:24:15 2009 +0200 mwl8k: get rid of mwl8k_set_rts_threshold() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 3a980d0a505161b99fc936827cb28ec8eb853284 Author: Lennert Buytenhek Date: Fri Jul 17 07:21:46 2009 +0200 mwl8k: get rid of mwl8k_bss_info_changed() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ee03a93241eb954d669fb795b4e5c0eec92eef22 Author: Lennert Buytenhek Date: Fri Jul 17 07:19:37 2009 +0200 mwl8k: get rid of mwl8k_config() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d3cea0b85a31a98630c6fcf7373d486db9612a10 Author: Lennert Buytenhek Date: Fri Jul 17 07:15:49 2009 +0200 mwl8k: get rid of mwl8k_stop() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 2ec610cb6d57032cdab89781e37ed3e442c73367 Author: Lennert Buytenhek Date: Fri Jul 17 07:11:37 2009 +0200 mwl8k: get rid of mwl8k_start() workqueue use Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 618952a7b19b796fce98364fb26551cbe3e16a75 Author: Lennert Buytenhek Date: Tue Aug 18 03:18:01 2009 +0200 mwl8k: fix firmware command serialisation The current mwl8k_priv->fw_lock spinlock doesn't actually protect against multiple commands being submitted at once, as it is not kept held over the entire firmware command submission. And since waiting for command completion sleeps, we can't use a spinlock anyway. To fix mwl8k firmware command serialisation properly, we have the following requirements: - Some commands require that the packet transmit path is idle when the command is issued. (For simplicity, we'll just quiesce the transmit path for every command.) - There are certain sequences of commands that need to be issued to the hardware sequentially, with no other intervening commands. This leads to an implementation of a "firmware lock" as a mutex that can be taken recursively, and which is taken by both the low-level command submission function (mwl8k_post_cmd) as well as any users of that function that require issuing of an atomic sequence of commands, and quiesces the transmit path whenever it's taken. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 950d5b0191dc3e71017f336017f75f6189f39f08 Author: Lennert Buytenhek Date: Fri Jul 17 01:48:41 2009 +0200 mwl8k: mwl8k_queue_work() cleanup Delete most of the mwl8k_work_struct fields and options, since most of them are unused or never changed from their defaults: - We always use priv->config_wq, so delete the wqueue argument from mwl8k_queue_work(). - MWL8K_WQ_SPIN and MWL8K_WQ_POST_REQUEST are never used, as all callers sleep for request completion, so sleep unconditionally. - MWL8K_WQ_FREE_WORKSTRUCT is never used. - MWL8K_WQ_TX_WAIT_EMPTY is always set, so assume it unconditionally. - timeout_ms/txwait_attempts/tx_timeout_ms are never changed from their defaults, so just hardcode these in the workqueue worker. - step is never used. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 23b339062f247e0be84eaabb15e17b403c4388b6 Author: Lennert Buytenhek Date: Fri Jul 17 05:21:04 2009 +0200 mwl8k: mwl8k_txq_xmit() rework Various mwl8k_txq_xmit changes: - Extract the QoS field before adding the DMA header. - Only write to tx->status once, and only after all the other descriptor fields have been set. - Do all tx state manipulation under the tx spinlock. - Remove the priv->inconfig check, as all transmit queues will be frozen during config cycles, so we won't ever be asked to transmit if a config cycle is running. - Remove some more dead code. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 7595d67a06466cc00e3aae1b86544278b57481ee Author: Lennert Buytenhek Date: Mon Aug 17 23:59:40 2009 +0200 mwl8k: implement idle mode Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 361c55cfaddaa36f0997c5a96948ba5888bfb992 Author: Lennert Buytenhek Date: Tue Aug 18 04:19:00 2009 +0200 mwl8k: no need to hold ->tx_lock while setting the hardware interrupt mask Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c3f967d301a76b7053d16817c34191964c457566 Author: Lennert Buytenhek Date: Tue Aug 18 04:15:22 2009 +0200 mwl8k: don't hardcode the number of transmit queues Use MWL8K_TX_QUEUES instead of a hardcoded "4" in a couple of places. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d4b7057052236e81ab0788cc8df306dc02b0e7be Author: Lennert Buytenhek Date: Thu Jul 16 12:44:45 2009 +0200 mwl8k: don't touch 'command done' interrupt during firmware load Since firmware load commands don't generate 'command done' interrupts like normal commands do, polling for command done interrupts just unnecessarily slows down the firmware load process. Removing this bit of code speeds up loading a typical firmware image from 840 msec to 180 msec. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 76266b2ad38c33fb2c1475cfeb35ed070adaba2b Author: Lennert Buytenhek Date: Thu Jul 16 11:07:09 2009 +0200 mwl8k: dma header manipulations can't fail Adding and removing the DMA header that the mwl8k hardware requires on tx and provides on rx can never fail, since we are guaranteed to have enough headroom on the tx path to expand the packet, and we only ever shrink the packet on the rx path. (And on both paths we are guaranteed to be the only user of the skb we are handling.) This allows removing all of the skb clone handling in the tx and tx reclaim paths, and eliminates error checks in both the tx and rx paths, simplifying the code a bit more. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 240e86efd60e6bc232a072273a7f7794bcb035e0 Author: Lennert Buytenhek Date: Thu Jul 16 14:15:44 2009 +0200 mwl8k: ->add_interface() is not called for monitor interfaces There is no need to check for NL80211_IFTYPE_MONITOR in ->add_interface(), as this function is never called for monitor interfaces. Also, there is no need to advertise this bit in our wiphy's ->interface_modes. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit e81cd2d664fe5b75a0db9bb24b43c0dfbde32319 Author: Lennert Buytenhek Date: Tue Aug 18 03:55:42 2009 +0200 mwl8k: fix mwl8k_configure_filter() parameter lifetime issue mwl8k_configure_filter() passes pointers to total_flags and the multicast address list to a workqueue function, while there is no guarantee that those pointers will still be valid by the time the workqueue function runs. Solve this by passing total_flags by value, and by passing an already built multicast address setup command packet to the workqueue function so that we don't have to look at the multicast address list itself outside of mwl8k_configure_filter(). Also, since ->configure_filter() can sleep now, wait synchronously for the worker to finish. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 5539bb51295f2c9300a6e467a29bb62bcfe9f4bc Author: Lennert Buytenhek Date: Thu Jul 16 16:06:53 2009 +0200 mwl8k: remove MWL8K_*_SLOTTIME defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 0439b1f55646ea944b0d58337f5065b79a1c1be0 Author: Lennert Buytenhek Date: Thu Jul 16 12:34:02 2009 +0200 mwl8k: remove MWL8K_WMM_* defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 68ce38845c23443b15e374fb7362916c1231278e Author: Lennert Buytenhek Date: Thu Jul 16 12:26:57 2009 +0200 mwl8k: remove MWL8K_RADIO_*_PREAMBLE defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c46563b714b09d44eec4d1fd8a0f53e79ddaa3aa Author: Lennert Buytenhek Date: Thu Jul 16 12:14:58 2009 +0200 mwl8k: remove MWL8K_RADIO_* defines Instead of passing a flag bitmask to mwl8k_cmd_802_11_radio_control, pass the 'enable' and 'force' arguments as separate parameters, and introduce wrappers for the common cases of enabling and disabling without forcing. Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ce9e2e1b8433c8795459a259ee87bc4e424e7c50 Author: Lennert Buytenhek Date: Thu Jul 16 14:00:45 2009 +0200 mwl8k: various coding style cleanups Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit ff45fc60ad583f45ecf10a41f7dbecf78519bcc1 Author: Lennert Buytenhek Date: Thu Jul 16 11:50:36 2009 +0200 mwl8k: sort firmware command list by opcode, and trim unused commands Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit d89173f25228b8795af2d4b53e985cc44c729332 Author: Lennert Buytenhek Date: Thu Jul 16 09:54:27 2009 +0200 mwl8k: s/IEEE80211_ADDR_LEN/ETH_ALEN/g Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit c23b5a699471ea2ef9d146eae80e64836cfbf001 Author: Lennert Buytenhek Date: Thu Jul 16 13:49:55 2009 +0200 mwl8k: remove various unused struct members and defines Signed-off-by: Lennert Buytenhek Signed-off-by: John W. Linville commit 22e66a4c15b063aee5d03991c4b9629a3b0c4556 Author: Vasanthakumar Thiagarajan Date: Wed Aug 19 16:23:40 2009 +0530 ath9k: Nuke struct ath9k_node_stats Other than ns_avgbrssi (Average beacon rssi) no data of ath9k_node_stats is being used anywhere. Nuke this structure and move its only useful member to ar5416Anistate. Also cleanup this redundant data in ath_softc. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ff36041652fcb9f5c17bdbeb081414f69521f1af Author: Vasanthakumar Thiagarajan Date: Thu Aug 20 13:41:14 2009 +0530 ath9k: Fix bug in retrieving average beacon rssi Currently the beacon rssi that LPF gives is divided and rounded up by ATH_RSSI_EP_MULTIPLIER twice. This will leave the incorrect rssi in ANI. Having correct rssi in ANI fixes the connection stability at < 30dB rssi range. This patch removes the unncessary computation of average rssi over already valid average rssi. Also removes the redundant macros to find average rssi. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 035d0243ebbdbd5f8f07d6ce378c9a9b36415bc9 Author: gregor kowski Date: Wed Aug 19 22:35:45 2009 +0200 b43: add hardware tkip This add hardware tkip for b43. Signed-off-by: Gregor Kowski Acked-by: Michael Buesch Signed-off-by: John W. Linville commit 11ba964d4f936609a04e8b9f2051f6027ef761ae Author: Johannes Berg Date: Wed Aug 19 19:45:50 2009 +0200 mac80211: fix register_hw error path "cfg80211: fix alignment problem in scan request" introduced a bug into the error path, because now we allocate the entire scan request and not just the channel list (the channel list is allocated together with the scan request) -- on errors we thus also need to free the entire scan request. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5904d2067680e9bb73a4816fa6b9eec49355c9c8 Author: Gábor Stefanik Date: Tue Aug 18 19:18:13 2009 +0200 b43: LP-PHY: Implement spec updates and remove resolved FIXMEs Larry has started re-checking all current routines against a new version of the Broadcom MIPS driver. This patch implements the first round of changes he documented on the specs wiki. Also remove a few FIXMEs regarding missing initial values for variables with dynamic initial values where reading the values has been implemented. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 16a832e785820aa199641c77b2d6f4a443d2ec46 Author: Zhu Yi Date: Wed Aug 19 16:08:22 2009 +0800 cfg80211: allow cfg80211_connect_result with bssid == NULL In case of connection failure, the bssid info is not a must have. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 30fab9e0aecf15ca79bb194bb603203f5e1fde66 Author: David Kilroy Date: Wed Aug 19 00:44:43 2009 +0100 orinoco: remove spare whitespace Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 415ad1efae1d5fe00d739e612d262eabda90f5e8 Author: David Kilroy Date: Wed Aug 19 00:43:31 2009 +0100 cfg80211: fix leaks of wdev->conn->ie This only occurs in the following error situations: - driver calls connect_result with failure - error scheduling authentication on connect - error initiating scan (to get BSSID and channel) on connect - userspace calls disconnect while in the SCANNING or SCAN_AGAIN states Signed-off-by: David Kilroy Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit eeef41854deae30ea304544f18684df70ae3f87b Author: Christian Lamparter Date: Wed Aug 19 12:43:47 2009 +0200 ar9170: refactor configure_filter Thanks to "mac80211: allow configure_filter callback to sleep", we no longer have to defer the work to the workqueue. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5791ce18aa660df7d1dafebf6bd89d5aa05bd742 Author: Gábor Stefanik Date: Tue Aug 18 22:08:31 2009 +0200 b43: LP-PHY: Two small spec updates The specs are beginning to support rev3 LP-PHYs - implement one of the changes needed for rev3 support. Also, in the new MIPS driver, the "Japan TX filter" was renamed to "analog TX filter init" - however, calling it "init" is confusing, so name it "set analog filter", with a comment for easier future identification. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit d904dc17495581254442b7fd054e267f2605c8ec Author: Ivo van Doorn Date: Tue Aug 18 20:33:12 2009 +0200 rt2x00: bss_info_changed() callback is allowed to sleep The bss_info_changed() callback function no longer needs to be atomic. Remove the scheduled work structure and call into the driver directly. Additionaly this makes the DRIVER_REQUIRE_SCHEDULED flag redundant so it can be removed. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit afa620429ac6a636246f85d97cf205d6533e7fcb Author: Ivo van Doorn Date: Tue Aug 18 19:54:23 2009 +0200 rt2x00: configure_filter() callback is allowed to sleep The configure_filter() callback function no longer needs to be atomic. Remove the scheduled work structure and call into the driver configure_filter() directly. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit ad002395fd230528281083f4be71855ed7e35b04 Author: Johannes Berg Date: Tue Aug 18 19:51:57 2009 +0200 cfg80211: fix dangling scan request checking My patch "cfg80211: fix deadlock" broke the code it was supposed to fix, the scan request checking. But it's not trivial to put it back the way it was, since the original patch had a deadlock. Now do it in a completely new way: queue the check off to a work struct, where we can freely lock. But that has some more complications, like needing to wait for it to be done before the wiphy/rdev can be destroyed, so some code is required to handle that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 21f8a73f829797eb7ebc12202b4c68e10e751ddb Author: Reinette Chatre Date: Tue Aug 18 10:25:05 2009 -0700 ipw2x00: fix sparse warnings This fixes: CHECK drivers/net/wireless/ipw2x00/ipw2100.c drivers/net/wireless/ipw2x00/ipw2100.c:7888:22: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:7952:18: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8000:18: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:188:12: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2100.c:8268:27: originally declared here CC [M] drivers/net/wireless/ipw2x00/ipw2100.o CHECK drivers/net/wireless/ipw2x00/ipw2200.c drivers/net/wireless/ipw2x00/ipw2200.c:847:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:891:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:935:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:980:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1016:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1051:13: warning: symbol 'led' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:92:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:1823:13: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min1' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: warning: symbol '_min2' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:4268:19: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6228:28: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6369:20: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:6857:12: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:7964:13: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:8720:12: warning: symbol 'channel' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:86:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9662:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9720:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:9826:13: warning: symbol 'mode' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:87:12: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:10318:21: warning: symbol 'remaining_bytes' shadows an earlier one drivers/net/wireless/ipw2x00/ipw2200.c:10184:13: originally declared here drivers/net/wireless/ipw2x00/ipw2200.c:8338:45: warning: cast to restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: warning: incorrect type in assignment (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: expected restricted __le16 [usertype] size drivers/net/wireless/ipw2x00/ipw2200.c:4414:21: got unsigned short [unsigned] [usertype] drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: warning: incorrect type in initializer (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: expected restricted __le16 [usertype] tx_rates drivers/net/wireless/ipw2x00/ipw2200.c:6105:33: got unsigned short [unsigned] [usertype] rates_mask drivers/net/wireless/ipw2x00/ipw2200.c:6124:29: warning: bad assignment (>>=) to restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6130:31: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6140:23: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6149:54: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6151:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6154:54: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6156:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6159:55: warning: restricted __le16 degrades to integer drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: warning: invalid assignment: &= drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6161:37: right side has type int drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: warning: invalid assignment: |= drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: left side has type restricted __le16 drivers/net/wireless/ipw2x00/ipw2200.c:6164:29: right side has type unsigned short drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: warning: incorrect type in assignment (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: expected signed char [signed] [usertype] [explicitly-signed] rt_dbmnoise drivers/net/wireless/ipw2x00/ipw2200.c:7853:29: got restricted __le16 [usertype] noise drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: warning: incorrect type in initializer (different base types) drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: expected signed char [signed] [usertype] [explicitly-signed] noise drivers/net/wireless/ipw2x00/ipw2200.c:7967:25: got restricted __le16 [usertype] noise Signed-off-by: Reinette Chatre Cc: Zhu Yi Acked-by: Zhu Yi Signed-off-by: John W. Linville commit c8a61a7d33350eeec668fc6230ad55f5fa93209b Author: Daniel Walker Date: Tue Aug 18 10:59:00 2009 -0700 mac80211: New stat counters for multicast and unicast forwarded frames This expands on the current fwded_frames stat counter which should be equal to the total of these two new counters. The new counters are called "fwded_mcast" and "fwded_unicast". Signed-off-by: Daniel Walker Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit e5539bcbf64fdb16af73b5c8caff9255307490b5 Author: John W. Linville Date: Tue Aug 18 10:50:34 2009 -0400 wl1271: remove print_mac usage CC [M] drivers/net/wireless/wl12xx/wl1271_main.o drivers/net/wireless/wl12xx/wl1271_main.c: In function ‘wl1271_op_add_interface’: drivers/net/wireless/wl12xx/wl1271_main.c:611: warning: ‘print_mac’ is deprecated (declared at include/linux/if_ether.h:142) Signed-off-by: John W. Linville commit 29508d122a5228c2a68d1e9a39251d3991b3cfef Author: John W. Linville Date: Tue Aug 18 10:46:42 2009 -0400 rc80211_pid_algo.c: remove unused variable declaration CC [M] net/mac80211/rc80211_pid_algo.o net/mac80211/rc80211_pid_algo.c: In function ‘rate_control_pid_rate_init’: net/mac80211/rc80211_pid_algo.c:304: warning: unused variable ‘si’ Signed-off-by: John W. Linville commit 608b88cb34b0e70a538ee1fc334cc833ef691836 Author: Luis R. Rodriguez Date: Mon Aug 17 18:07:23 2009 -0700 ath: move regulatory info into shared common structure This moves the shared regulatory structure into the common structure. We will use this ongoing for common data. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4c48381786159ba3f3d8a33d967aeb049341a220 Author: Sujith Date: Tue Aug 18 10:51:52 2009 +0530 ath9k: Fix TX poll cancelling In ath9k_stop(), tx_complete_work was being cancelled twice. This patch fixes it. Also, locking sc->mutex should be done at the beginning. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bcd64e0c20eafe6a3976c248833d5d8bcccdf0d9 Author: Bob Copeland Date: Mon Aug 17 23:33:56 2009 -0400 wl1251: halt the embedded CPU before loading firmware After initial power-up, the embedded cpu is usually halted. However, if we down the interface and only do a soft reset before bringing the interface back up, it will still be running and the firmware loading code will bail out. This change halts the CPU before loading the firmware, enabling a second call to wl1251_boot() to succeed without a hard reset. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit bfc32e6a9559d3e30925929cd9a9df7498f325db Author: Javier Cardona Date: Mon Aug 17 17:15:55 2009 -0700 mac80211: Decouple fail_avg stats used by mesh from rate control algorithm. Mesh uses the tx failure average to compute the (m)path metric. This used to be done inside the rate control module. This patch breaks the dependency between the mesh stack and the rate control algorithm. Mesh will now work independently of the chosen rate control algorithm. The mesh stack keeps a moving average of the average transmission losses for each mesh peer station. If the fail average exceeds a certain threshold, the peer link is marked as broken. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 92ed48e5230e8f5906dda0cc31715b3b7e3fe303 Author: Benoit PAPILLAULT Date: Mon Aug 17 18:56:10 2009 +0200 rt2x00: Add support for retry rates rt2800pci can handle different retry rates, it will always step 1 rate down after a failed transmission so creating the retry rate list for mac80211 is quite simple. Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit cd80b684a08655e7dcc7a1c96d4b7e7ffa753017 Author: Ivo van Doorn Date: Mon Aug 17 18:55:40 2009 +0200 rt2x00: Fix MCS register intialization According to the original Ralink driver, LG_FBK_CFG0_OFDMMCS2FBK should be initialized to 9 rather then 3. Based on a patch for rt2800pci from Benoit Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 534aff0288f49a2366b7e6fbb67ff035dea814d3 Author: Ivo van Doorn Date: Mon Aug 17 18:55:15 2009 +0200 rt2x00: wireless CLI ID and packet ID must not be 0 In the TX descriptor the Packet ID must not be 0, so add 1 to the ID. The wireless CLI ID is not allowed to be 0 either, but also must be initialized with the wcid value rather then keyid. Based on a patch for rt2800pci from Benoit Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 0fefe0fda4376eff97be965a41714da38fe4a36d Author: Ivo van Doorn Date: Mon Aug 17 18:54:50 2009 +0200 rt2x00: Set SKBDESC_L2_PADDED in RX path When the RX descriptor indicates the frame was L2 padded, the SKBDESC_L2_PADDED flag should be set to make sure the L2 padding is removed before it is send to mac80211. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 05a32730f16e7b91e9fd2d11f26db152e5c9a68d Author: Ivo van Doorn Date: Mon Aug 17 18:54:47 2009 +0200 rt2x00: Add new RF chip defines Add new defines for RF chipsets which can be found by the driver. We don't have to check for these chips specifically yet, but it is better to have the defines in now. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 1738c9e42a9bb3705a3b03dde854f3db269e7bdd Author: Ivo van Doorn Date: Mon Aug 17 18:53:57 2009 +0200 rt2x00: Fix for rt2800usb for SHARED_KEY_TABLE initializations Fixed comments about SHARED_KEY_TABLE_BASE and SHARED_KEY_MODE_BASE. Fixed initialization loop for SHARED_KEY_MODE_ENTRY. Based on a patch for rt2800pci from Benoit. Signed-off-by: Benoit PAPILLAULT Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 73077c85458739169cdaf893a375b8bb3939d35a Author: Ivo van Doorn Date: Mon Aug 17 18:53:24 2009 +0200 rt2x00: Fix RFKILL polling The rfkill_poll callback function in the drivers check a bit to see if the RFKILL key has been pressed. However when the bit is set it means the radio is active and the device can be used. The wiphy_rfkill_set_hw_state() function expects the inversed, so '1' must be send when the radio must be disabled. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 5f1c07d924d3e670044911487aca057bb39b4e7e Author: Gábor Stefanik Date: Fri Aug 14 21:19:58 2009 +0200 b43: LP-PHY: Fix setting TX power control mode during RC calibration Call set_tx_power_control with a LPPHY_TXPCTL rather than an LPPHY_TX_PWR_CTL_CMD_MODE. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 12d4bba0fd7ac50ca20d9ac1247a0de851850bb0 Author: Gábor Stefanik Date: Fri Aug 14 20:29:47 2009 +0200 b43: LP-PHY: Fix reading old mode in the set TX power control routine Check the mode the hardware is in, not the mode we used the last time. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1de6f73c34fb9a74454a5b519cefd635b5e8ceb6 Author: Bob Copeland Date: Mon Aug 17 11:18:14 2009 -0400 wl1251: correct definitions for 0th bit defines ACX_SLV_SOFT_RESET_BIT and ACX_REG_EEPROM_START_BIT are both defined as "1" in the vendor driver code, but they were defined to be BIT(1) ("2") here. The SOFT_RESET typo ensures that wl1251_boot_soft_reset() doesn't; as a result the device hangs when trying to reprogram the PLL registers while running. Signed-off-by: Bob Copeland Acked-by: Kalle Valo Signed-off-by: John W. Linville commit f424afa17899408cbd267a4c4534ca6fc9d8f71c Author: Johannes Berg Date: Mon Aug 17 16:18:07 2009 +0200 mac80211: remove deprecated API All but two drivers have now stopped using the two deprecated members radio_enabled and beacon_int, so it's about time to remove them for good. Signed-off-by: Johannes Berg Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 3ac64beecd27400d12cc7afb4108eef26c499f6a Author: Johannes Berg Date: Mon Aug 17 16:16:53 2009 +0200 mac80211: allow configure_filter callback to sleep Over time, a whole bunch of drivers have come up with their own scheme to delay the configure_filter operation to a workqueue. To be able to simplify things, allow configure_filter to sleep, and add a new prepare_multicast callback that drivers that need the multicast address list implement. This new callback must be atomic, but most drivers either don't care or just calculate a hash which can be done atomically and then uploaded to the hardware non-atomically. A cursory look suggests that at76c50x-usb, ar9170, mwl8k (which is actually very broken now), rt2x00, wl1251, wl1271 and zd1211 should make use of this new capability. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ea416a793d2b611f22b42ba094fd2e5bd30fff43 Author: Johannes Berg Date: Mon Aug 17 12:22:14 2009 +0200 cfg80211: report userspace SME connected event properly Instead of hacking the event reporting into the __cfg80211_connect_result() function which is also invoked by others, set up things correctly and then invoke that function, so that it can do more sanity checking. Also, it is currently not possible to get a ROAMED event from the userspace SME anyway since we send out a DISCONNECTED event when it disassociates and then a new CONNECTED event on the next association. Thanks to Zhu Yi for pointing out that the code is somewhat convoluted and doesn't warn when it should. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 86b2892a22a433e56e39e33bf353adc6cc4eabb2 Author: Gábor Stefanik Date: Sun Aug 16 20:22:41 2009 +0200 b43: LP-PHY: Remove BROKEN from B43_PHY_LP Larry has reported success getting scan data with an LP-PHY device, so it's probably time to release LP-PHY support for testing. Also disable 802.11a support for now, as 802.11a currently causes the driver to panic on startup (NULL pointer dereference). Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 7e4d8529921004014bef21a2031b6c3478339a2a Author: Gábor Stefanik Date: Sun Aug 16 20:08:13 2009 +0200 b43: LP-PHY: Update B2062 radio init with recent spec changes The spec for initializing the B2062 radio have changed recently, update the code to match the changes. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit ed07c4b3af341bad3fa29558f08b166220014ca7 Author: Gábor Stefanik Date: Sun Aug 16 18:40:09 2009 +0200 b43: LP-PHY: Fix a bug in the B2062 channel tune path I missed the "+16" part of the instruction in the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 5269102ec9c1584ccfab71affd1d7600d59f9096 Author: Gábor Stefanik Date: Sun Aug 16 18:05:09 2009 +0200 b43: LP-PHY: Update code for spec fixes, and fix a few typos A few typos have been discovered in both the specs and the code. This patch fixes them. Also use lpphy_op_switch_channel consistently, and make all users of it print its return value for easier debugging. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 055114a38804947554065194d50ded4bc7d7c4c6 Author: Gábor Stefanik Date: Sun Aug 16 15:32:40 2009 +0200 b43: LP-PHY: Fix a spec error in the B2062 channel switch routine The channel switch routine had a whole instruction missing. Add it. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0ff6ce7b36199f67f709c750e9a2a66659a4babe Author: Johannes Berg Date: Mon Aug 17 12:25:37 2009 +0200 cfg80211: fix deadlock When removing an interface with nl80211, cfg80211 will deadlock in the netdev notifier because we're already holding rdev->mtx and try to acquire it again to verify the scan has been done. This bug was introduced by my patch "cfg80211: check for and abort dangling scan requests". To fix this, move the dangling scan request check into wiphy_unregister(). This will not be able to catch all cases right away, but if the scan problem happens with a manual ifdown or so it will be possible to remedy it by removing the module/device. Additionally, add comments about the deadlock scenario. Reported-by: Christian Lamparter Signed-off-by: Johannes Berg Tested-by: Christian Lamparter Tested-by: Kalle Valo Signed-off-by: John W. Linville commit 96909e97716de1d86e6e24d6aabce09980372771 Author: Gábor Stefanik Date: Sun Aug 16 01:15:49 2009 +0200 b43: LP-PHY: Update baseband init for recent spec changes The spec had some nasty typos, and a large part of the rev0/1 BB init procedure was also missing. Fix these. Also make the init-time channel switch debuggable. (The change from -EINVAL to -EIO is simply to make it possible to distinguish the PLL charge pump error from a channel-not-found error.) Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 826ee70664c658a022d999f7eb4d3cd9448895dd Author: Gábor Stefanik Date: Sat Aug 15 00:52:02 2009 +0200 b43: Handle B43_PHYTYPE_LP in RX path Don't drop all packets received from an LP-PHY with WARN_ON. Also update a comment with LP-specific information. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 1245684c631844d52079fb3fa1fcb57cc1213e5c Author: Gábor Stefanik Date: Fri Aug 14 23:00:32 2009 +0200 b43: LP-PHY: Fix another TX power control abuse This should fix the remaining WARN_ON. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 16373f652523705aa07bf78b4f388d96feb8f9d3 Author: Gábor Stefanik Date: Fri Aug 14 22:10:34 2009 +0200 b43: LP-PHY: Update TX gain override for a spec typo fix Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 0c61bb9a410de6ef36b4a473ced34f983a87db35 Author: Gábor Stefanik Date: Fri Aug 14 21:11:59 2009 +0200 b43: LP-PHY: Don't adjust gain table for rev2+ when setting channel Rev2+ never needs to have gain tables adjusted according to the spec. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 9d86a2d531c722feb0046e5a0b81809efb10422a Author: Gábor Stefanik Date: Fri Aug 14 14:54:46 2009 +0200 b43: Make LP-PHY testable -Enable rate memory init for LP-PHY (same as G and N-PHY). -Mark rev.2 LP-PHYs with the B2063 radio as supported. -Allow using the 5GHz band on LP-PHYs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 759b973bb2d24adecaa526957435eabb00f02725 Author: Gábor Stefanik Date: Fri Aug 14 14:39:53 2009 +0200 b43: Add LP-PHY firmware loading support Add support for loading LP-PHY firmware to b43_try_request_fw. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit f0ea6ce14ae2a72a353ddf8ab370c09ba403d897 Author: Gábor Stefanik Date: Fri Aug 14 14:11:53 2009 +0200 ssb: Fix typo in the rev8 SPROM extraction routine No comment. :-) Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c46aaba74f37448f0a1a3e911230834b7ebe514f Author: Christian Lamparter Date: Fri Aug 14 13:23:05 2009 +0200 p54: disable PS by default Johannes kindly pointed out that I completely missed a hunk in his patch: "[PATCH] cfg80211: allow driver to override PS default". The driver must explicitly set ps_default to false, as the setting is pre-filled with the kconfig default. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 326bebbcb51d3ce9761f616b8b9a35827fd9c697 Author: Vivek Natarajan Date: Fri Aug 14 11:33:36 2009 +0530 ath9k: Updates for AR9287_12 version of chipset. Enable AsyncFIFO and AGGWEP for AR9287_12 and later revisions only. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d4fe5afa006bf308962877c4768c4e60d37a3da2 Author: Vivek Natarajan Date: Fri Aug 14 11:32:04 2009 +0530 ath9k: Fix ref power interpolation logic for AR9287 chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 08fc5c1ba026de0904aeeba9785f95f6603d58f7 Author: Vivek Natarajan Date: Fri Aug 14 11:30:52 2009 +0530 ath9k: Enable LEDs for AR9287 chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit d340b1f0e5e374fc902a020cb6ef9ebd7fb9f368 Author: Vivek Natarajan Date: Fri Aug 14 11:29:27 2009 +0530 ath9k: Set AR_WA for AR9287 as it improves consistency in throughput. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit db91f2e4d410bf3011b3649b9257e5b3c60b25ff Author: Vivek Natarajan Date: Fri Aug 14 11:27:16 2009 +0530 ath9k: Add open loop power control support for AR9287. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 1e711bee566e26f03e51d5a754e7c8a57e489f9f Author: Gábor Stefanik Date: Fri Aug 14 00:15:17 2009 +0200 b43: LP-PHY: Implement channel switching for rev0/1/B2062 radio -Move pdiv from lpphy_2062_init to struct b43_phy_lp. -Add channel table for the B2062 radio. -Add code for tuning the B2062 radio to channel. -Add error handling to op_switch_channel, and use it for both radios. Rev0/1/B2062 will now hopefully show some signs of life, though it won't work at full performance, as calibration is still missing. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 588f8377c5470fab611c14ead768f7f9af87da94 Author: Gábor Stefanik Date: Thu Aug 13 22:46:30 2009 +0200 b43: LP-PHY: Implement channel switching for rev2+/B2063 radio Rev.2+/B2063 will now hopefully show some signs of life, though it won't work at full performance, as calibration is still missing. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 6f632d57f35303118685b88c139f3da73df077e2 Author: Andrey Yurovsky Date: Thu Aug 13 17:34:40 2009 -0700 libertas: don't use dynamic-sized array sparse complains about a bad constant expression due to the use of a dynamic-sized array in get_common_rates(). Allocate and free the array instead. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit b23da49e6db341f4721476394dd8b95e0be2d179 Author: Johannes Berg Date: Thu Aug 13 13:31:02 2009 -0700 iwlwifi: disable PS by default Unfortunately, PS currently affects RX performance significantly enough to warrant disabling it by default, but give the user the choice to enable it again with iwconfig. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 396887a2b2ad1ef5e5526fec34dec582baf39b81 Author: Daniel C Halperin Date: Thu Aug 13 13:31:01 2009 -0700 iwlwifi: fix erroneous use of iwl_rx_packet.len as a length The field called 'len' in struct iwl_rx_packet is in fact not just a length field but also includes some flags from the flow handler. In several places throughout the driver, this causes incorrect values to be interpreted as lengths when the field is improperly masked. In most situations the improper use is for debugging output, and simply results in an erroneous message, such as: [551933.070224] ieee80211 phy0: I iwl_rx_statistics Statistics notification received (480 vs -1367342620). which should read '(480 vs 484)'. In at least one case this could case bad things to happen: void iwl_rx_pm_debug_statistics_notif(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb) { struct iwl_rx_packet *pkt = (struct iwl_rx_packet *)rxb->skb->data; IWL_DEBUG_RADIO(priv, "Dumping %d bytes of unhandled " "notification for %s:\n", le32_to_cpu(pkt->len), get_cmd_string(pkt->hdr.cmd)); iwl_print_hex_dump(priv, IWL_DL_RADIO, pkt->u.raw, le32_to_cpu(pkt->len) ); } EXPORT_SYMBOL(iwl_rx_pm_debug_statistics_notif); Given the rampant misuse of this field without proper masking throughout the driver (every use but one), this patch renames the field from 'len' to 'len_n_flags' to reduce confusion. It also adds the proper masking when this field is used as a length value. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 15993e08ac027b64b6f3400d32754966b4cac7b0 Author: Wey-Yi Guy Date: Thu Aug 13 13:31:00 2009 -0700 iwlwifi: add thermal throttling support to 5150 Adding legacy thermal throttling management support to 5150 NIC Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b261793da587160d12ce6d63db60493342ddce20 Author: Daniel C Halperin Date: Thu Aug 13 13:30:59 2009 -0700 iwlwifi: use station HT capabilities and BSS operating mode for Green-field Green-field mode should be configured in the HT station table. This patch uses both the per-station GF support flag as well as the current BSS HT operation mode (non-GF stations present flag). Added the "ht_greenfield_support" field to struct iwl_cfg to replace the device-specific check in rs_use_green(). That check has been moved to iwlcore_init_ht_hw_capab(). Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 28e6f48953f44f7eb615383efe6e7f17624a11bb Author: Daniel C Halperin Date: Thu Aug 13 13:30:58 2009 -0700 iwlwifi: check short GI support per-station rather than globally Short guard interval support is a local per-station parameter not a global per-NIC parameter. (mac80211 will correctly remove SGI support from station capabilities if the BSS does not permit it). This patch removes the short GI support bitfield from the global iwl_ht_info struct and properly uses per-station HT capabilities during rate selection. Signed-off-by: Daniel C Halperin Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 28bd723bbaddba4e145d25117649bb6da5fafad7 Author: Daniel C Halperin Date: Thu Aug 13 13:30:57 2009 -0700 iwlwifi: configure HT40 channels in iwl_mac_config As indicated by note in iwl_ht_conf, some HT parameters are set on association (e.g., channel width) and some vary over time (HT protection mode) and per station (e.g., short GI support). The global parameters should be set in iwl_mac_config and the local/varying parameters in iwl_ht_conf. This patch moves the channel width configuration from iwl_ht_conf to iwl_mac_config, and defers further cleanup of the local/global conflation for a later patch. This fixes a bug in using HT40 channels in some modes. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9f30e04e041cf9943940f71fd76094dd5a237018 Author: Daniel C Halperin Date: Thu Aug 13 13:30:56 2009 -0700 iwlwifi: refactor packet reception code This patch fixes a number of issues in iwl_rx_reply_rx and iwl_pass_packet_to_mac80211. These issues stem from the complexities of managing two different types of packet commands for different hardware. - Unify code handling rx_phy_res in SKB or cached to eliminate redundancy and remove potential NULL pointer accesses - Replace magic number with proper constant - Optimize functions by moving early exit conditions before computation - Comment code and improve some variable names - Remove redundant computation in iwl_pass_packet_to_mac80211 by passing in the correct, already-computed arguments. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 367ca28da433ed9639468be851e1f33468e3485e Author: Johannes Berg Date: Thu Aug 13 13:30:55 2009 -0700 iwlwifi: remove unused members of iwl_ht_info Some members of iwl_ht_info are unused, and one of them is write-only, so we can remove these three: max_amsdu_size, ampdu_factor and mpdu_density. Signed-off-by: Johannes Berg Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 415e49936b4b29b34c2fb561eeab867d41fc43a6 Author: Wey-Yi Guy Date: Thu Aug 13 13:30:54 2009 -0700 iwlwifi: traverse linklist to find the valid OTP block For devices using OTP memory, EEPROM image can start from any one of the OTP blocks. If shadow RAM is disabled, we need to traverse link list to find the last valid block, then start the EEPROM image reading. If OTP is not full, the valid block is the block _before_ the last block on the link list; the last block on the link list is the empty block ready for next OTP refresh/update. If OTP is full, then the last block is the valid block to be used for configure the device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3b24716fc978db9c27c4a069e5201460479340a4 Author: Zhu Yi Date: Thu Aug 13 13:30:53 2009 -0700 iwlwifi: cleanup HT40 extension channels setup The patch cleans up the HT40 extension channels setup for EEPROM band 6 and 7 to make it more readable. Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7869b0eaed0447a989d8672eed27a358aa5dde0c Author: Daniel C Halperin Date: Thu Aug 13 13:30:52 2009 -0700 iwlwifi: include HT configuration when adding stations through rs_rate_init Driver's first notification of a new station from mac80211 can be through rate selection API. This patch fixes a bug where, in this code path, the HT capabilities of the new station were ignored. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit be2527654fab254beda8612cbd6bc927dc98fbee Author: Daniel C Halperin Date: Thu Aug 13 13:30:51 2009 -0700 iwlwifi: remove unused HT configuration entry tx_chan_width The tx_chan_width entry is never used, supported_chan_width is used instead. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e6a6cf4c42e0dc3541a63b5f0f88299f982d6704 Author: Reinette Chatre Date: Thu Aug 13 13:30:50 2009 -0700 iwlwifi: prevent read outside array bounds With EDCA and HCCA we have 16 potential tid values. This is accommodated by mac80211, but iwlwifi only supports EDCA. With this implementation it is thus possible for mac80211 to request a tid that will cause iwlwifi to read outside array bounds. A similar problem exists if traffic is received in an unsupported category. We add error checking to catch these situations. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a8b875e7dc80ff442698d8cf4f45ccce400a6a66 Author: Jussi Kivilinna Date: Thu Aug 13 20:39:31 2009 +0300 cfg80211: export cfg80211_wext_siwfreq cfg80211_wext_siwfreq() should be exported with EXPORT_SYMBOL_GPL. Signed-off-by: Jussi Kivilinna Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7021f62a46d4866fecd7b31cbc359d742876bb61 Author: Gábor Stefanik Date: Thu Aug 13 17:27:31 2009 +0200 b43: LP-PHY: Initialize TX power control The HW TX power control init still needs work. The SW init is complete according to the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 2f19c287fecb958eb68b1c2199b4dd6e00ba4276 Author: Gábor Stefanik Date: Thu Aug 13 16:51:51 2009 +0200 b43: Update dummy transmission to match V4 specs The V4 dummy transmission has two extra bools in its prototype, so update all callers with the 2 bools. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 4cdc115fd38b54642e8536a5c2389483bcb9b2e9 Author: Takashi Iwai Date: Thu Aug 20 16:40:16 2009 +0200 ALSA: pcm - Fix drain behavior in non-blocking mode The current PCM core has the following problems regarding PCM draining in non-blocking mode: - the current f_flags isn't checked in snd_pcm_drain(), thus changing the mode dynamically via snd_pcm_nonblock() after open doesn't work. - calling drain in non-blocking mode just return -EAGAIN error, but doesn't provide any way to sync with draining. This patch fixes these issues. - check file->f_flags in snd_pcm_drain() properly - when O_NONBLOCK is set, PCM core sets the stream(s) to DRAIN state but quits ioctl immediately without waiting the whole drain; the caller can sync the drain manually via poll() Signed-off-by: Takashi Iwai commit 132032274a594ee9ffb6b9c9e2e9698149a09ea9 Author: David Woodhouse Date: Mon Aug 3 12:40:27 2009 +0100 USB: Work around BIOS bugs by quiescing USB controllers earlier We are seeing a number of crashes in SMM, when VT-d is enabled while 'Legacy USB support' is enabled in various BIOSes. The BIOS is supposed to indicate which addresses it uses for DMA in a special ACPI table ("RMRR"), so that we can punch a hole for it when we set up the IOMMU. The problem is, as usual, that BIOS engineers are totally incompetent. They write code which will crash if the DMA goes AWOL, and then they either neglect to provide an RMRR table at all, or they put the wrong addresses in it. And of course they don't do _any_ QA, since that would take too much time away from their crack-smoking habit. The real fix, of course, is for consumers to refuse to buy motherboards which only have closed-source firmware available. If we had _open_ firmware, bugs like this would be easy to fix. Since that's something I can only dream about, this patch implements an alternative -- ensuring that the USB controllers are handed off from the BIOS and quiesced _before_ the IOMMU is initialised. That would have been a much better design than this RMRR nonsense in the first place, of course. The bootloader has no business doing DMA after the OS has booted anyway. Signed-off-by: David Woodhouse Signed-off-by: Greg Kroah-Hartman commit cde7e5ca4e329a157108769d1f752d191cbb71c6 Author: Hiroshi Shimamoto Date: Tue Aug 18 13:01:01 2009 +0900 sched: Use for_each_class macro in move_one_task() Replace for loop with the macro for_each_class to cleanup. Signed-off-by: Hiroshi Shimamoto LKML-Reference: <4A8A277D.4090304@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit 4539f07701b3f743580d19dc5d655fb8d21b0a3c Author: Li Zefan Date: Thu Aug 20 16:13:35 2009 +0800 tracing/syscalls: Fix the output of syscalls with no arguments Before: # echo 1 > events/syscalls/sys_enter_sync/enable # cat events/syscalls/sys_enter_sync/format ... field:int nr; offset:12; size:4; print fmt: "# sync # cat trace ... sync-8950 [000] 2366.087670: sys_sync( After: # echo 1 > events/syscalls/sys_enter_sync/enable # cat events/syscalls/sys_enter_sync/format ... field:int nr; offset:12; size:4; print fmt: "" # sync # cat trace sync-2134 [001] 136.780735: sys_sync() Reported-by: Masami Hiramatsu Signed-off-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt Cc: Jason Baron Cc: Masami Hiramatsu LKML-Reference: <4A8D05AF.20103@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit affbb8c6e690be2196258e65f3cc92d55b18d9fa Author: Jiri Kosina Date: Thu Aug 20 12:04:14 2009 +0200 HID: support larger reports than 64 bytes in hiddev hiddev userspace driver uses a rignbuffer to store the parsed usages that should be returned through read(). This buffer is 64 bytes long, which is sufficient for queueing single USB 1.0 low-speed report, which is of maximum size 48 bytes. There are however USB HID devices which are full-speed USB devices, and therefore they are free to produce reports 64 bytes long. This is correctly handled by HID core, but read() on hiddev node gets stuck forever, because the ring buffer loops infinitely (as it is exactly 64 bytes long as well), never advancing the buffer pointer. Plus, the core driver is ready to handle highspeed devices, so we should be able to handle reports from such devices in the hiddev driver as well, which means we need larger ringbuffer. Reported-by: Michael Zeisel Signed-off-by: Jiri Kosina commit bb81b2ddfa194b6d12761a350b5b5985cecae0a9 Author: John Linn Date: Thu Aug 20 02:52:16 2009 -0700 net: add Xilinx emac lite device driver This patch adds support for the Xilinx Ethernet Lite device. The soft logic core from Xilinx is typically used on Virtex and Spartan designs attached to either a PowerPC or a Microblaze processor. Signed-off-by: Sadanand M Signed-off-by: John Linn Signed-off-by: David S. Miller commit 759e4f83f418f4001e724042b4c0e408d615d9ec Author: Thomas Hellstrom Date: Thu Aug 20 10:29:09 2009 +0200 drm/ttm: Fixes for "Memory accounting rework." ttm: Fix error paths when kobject_add returns an error. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 7f5f4db2d50ea1af8f160686d2e97bbfa5102b4f Author: Thomas Hellstrom Date: Thu Aug 20 10:29:08 2009 +0200 drm/ttm: Fixes for "Make parts of a struct ttm_bo_device global" ttm: Remove a stray debug printout. Remove a re-init of the lru spinlock at device init. radeon: Fix the size of the bo_global allocation. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 711e522d70f760969de7bcc97907b467993614dc Author: Paul Mundt Date: Thu Aug 20 17:24:40 2009 +0900 sh: Use local TLB flush for get_mmu_context() ASID exhaustion. When get_mmu_context() runs out of new ASIDs it flushes the TLB and wraps around. Despite the fact the ASIDs are tracked per-CPU, a global TLB flush was being used. Switch this over to a local one, as matches the intent. Signed-off-by: Paul Mundt commit 36f87a4a29cb8cd291169483079fde34bad4ef16 Author: Steffen Klassert Date: Thu Aug 20 17:58:04 2009 +1000 crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx The alignment calculation of xcbc_tfm_ctx uses alg->cra_alignmask and not alg->cra_alignmask + 1 as it should. This led to frequent crashes during the selftest of xcbc(aes-asm) on x86_64 machines. This patch fixes this. Also we use the alignmask of xcbc and not the alignmask of the underlying algorithm for the alignmnent calculation in xcbc_create now. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 4e4ed83be6a64c8c9fe69c77f37a26bb62ed21f7 Author: Neil Horman Date: Thu Aug 20 17:54:16 2009 +1000 crypto: fips - Depend on ansi_cprng What about something like this? It defaults the CPRNG to m and makes FIPS dependent on the CPRNG. That way you get a module build by default, but you can change it to y manually during config and still satisfy the dependency, and if you select N it disables FIPS as well. I rather like that better than making FIPS a tristate. I just tested it out here and it seems to work well. Let me know what you think Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit c139a595878b0e8156476668e3d5c27b6aca7624 Author: Paul Mundt Date: Thu Aug 20 15:24:41 2009 +0900 sh: Fix up cache-sh4 build on SMP. mapping is unused on the SMP build, trigger a build error. Move it under the ifdef. Signed-off-by: Paul Mundt commit e89561cf49bb7f83b48067924470d313e2d570a9 Author: Paul Mundt Date: Thu Aug 20 15:06:47 2009 +0900 sh: enable rtc-ds1302 in snapgear_defconfig. This is the only board that presently supports this rtc, so make sure it is enabled by default to get some build coverage. Signed-off-by: Paul Mundt commit e0fa7e5803382c4b42ed693be55463e878900a63 Author: Paul Mundt Date: Thu Aug 20 15:06:04 2009 +0900 rtc: rtc-ds1302: Kill off unused variables. There were a few stray unused variables left over, kill them off. Signed-off-by: Paul Mundt commit 485f0720c3e0f57deac403acfbf078a89baeb6ba Author: Paul Mundt Date: Thu Aug 20 14:02:20 2009 +0900 sh: DSP save/restore ordering and a0 sign extension fixups. As an excellent indicator of how much testing the DSP code gets, a couple of rather glaring bugs in the DSP save/restore paths were found: - In the DSP restore case a0 needs to be popped off before a0g, or the value of a0g is clobbered by the MSB of a0 in the case of sign extension. - Beyond that, the save and restore orders were out of sync, so this fixes that up as well. At the same time, we switch over to using movs.l for both the save and restore of the general DSP registers as opposed to using sts.l (which was initially put in place to work around a bug in ancient binutils versions which the kernel no longer supports). Reported-by: Chee Soon Yip Cc: Chu Lih Kwek , Cc: General Lai , Cc: Robert Cozens Signed-off-by: Paul Mundt commit fc69f4a6af49ee69475dc4217924d9edf77760e0 Author: Tai-hwa Liang Date: Sun May 10 18:15:39 2009 -0700 Input: add new driver for Sentelic Finger Sensing Pad This is the driver for Sentelic Finger Sensing Pad which can be found on MSI WIND Netbook. Signed-off-by: Tai-hwa Liang Signed-off-by: Dmitry Torokhov commit 6503fe4a6508673c15a509ec4ac3ca5979ae9593 Author: Michael Trimarchi Date: Thu Aug 20 13:27:44 2009 +0900 sh: Better description of SH-4 PTEA register update. Signed-off-by: Michael Trimarchi Signed-off-by: Paul Mundt commit 5c9740a8b797c9141a39e8115f5652d7bb28a67d Author: Alessandro Zummo Date: Thu Aug 20 13:25:11 2009 +0900 rtc: rtc-sh fixes - simplifies irq set freq - ioctl() was duplicating functionalities of rtc-dev core - corrected initialization sequence - use platform_driver_probe Signed-off-by: Alessandro Zummo Cc: Angelo Castello Cc: Giuseppe Cavallaro Cc: Kay Sievers Cc: Jamie Lenehan Signed-off-by: Paul Mundt commit 3b72094409ab673d096b3852f4636be540780faf Author: Dmitry Torokhov Date: Tue Aug 18 11:45:02 2009 -0700 Input: psmouse - allow defining read-only attributes Signed-off-by: Dmitry Torokhov commit 51c8b4071d84d46cc100baa5931ad06b2a823c95 Merge: a987fca 6c30c53 Author: Dave Airlie Date: Thu Aug 20 13:38:04 2009 +1000 Merge Linus master to drm-next linux-next conflict reported needed resolution. Conflicts: drivers/gpu/drm/drm_crtc.c drivers/gpu/drm/drm_edid.c drivers/gpu/drm/i915/intel_sdvo.c drivers/gpu/drm/radeon/radeon_ttm.c drivers/gpu/drm/ttm/ttm_bo.c commit 2bfc3305f6b3e08645f7d6b9514211d955b02698 Author: Alessandro Zummo Date: Thu Aug 20 12:31:49 2009 +0900 rtc: rtc-ds1302 fixes - removed spinlock protection, it's handled by the rtc class - use platform_driver_probe - return appropriate code for rtc_read_time - style issues Signed-off-by: Alessandro Zummo Signed-off-by: Paul Mundt commit 307646c958f0f3c3624368eaa72dce8567b25f93 Author: Paul Mundt Date: Thu Aug 20 12:07:46 2009 +0900 sh: Fix up the CONFIG_FTRACE_SYSCALLS=n build. -tip can't be bothered keeping interfaces stable long enough for anyone to use them without having their builds broken without notification, so just ifdef around the problematic symbols until the new interfaces become available upstream. Signed-off-by: Paul Mundt commit 65603789db56b915dd5e3ea0501a7773ecf4092d Merge: e638fab f8f8c07 Author: Paul Mundt Date: Thu Aug 20 11:54:38 2009 +0900 Merge branch 'sh/r8a66597-udc' commit f8f8c0797d73624d6e81dbb9c9e8f85005500ebc Author: Magnus Damm Date: Wed Aug 19 09:52:02 2009 +0000 sh: add r8a66597 usb1 gadget to the se7724 board Add USB gadget support for port CN26 on the Solution Engine 7724 board. The r8a66597-udc driver is hooked up as a platform device and some registers are configured to enable the USB in gadget mode. The hardware driving the USB port is the on-chip USB1 block in the sh7724 processor configured as USB gadget controller. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 5a1c4cb5bc228662bfb116f1e07ad658915a5742 Author: Magnus Damm Date: Wed Aug 19 14:39:15 2009 +0000 sh: add r8a66597 usb0 gadget to the kfr2r09 board Add USB gadget support for port YC301 on the KFR2R09 board. The r8a66597-udc driver is hooked up as a platform device, clocks are enabled via I2C and some registers are configured to enable the USB in gadget mode. The hardware driving the USB port is the on-chip USB0 block in the sh7724 processor configured as USB gadget controller. This board is using external hardware to detect USB hotplug events and allows the processor to dynamically start and stop clocks. This well thought out hardware feature is unused at this point and plug and play is unfortunately unsupported. To properly support all hardware features the USB gadget stack may need some adjustment. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0bb886d2a9c2d4e069ca364e36c52c7ae6d1ca8c Author: Magnus Damm Date: Wed Aug 19 14:26:10 2009 +0000 usb: r8a66597-udc disable interrupts on shutdown fix This patch improves the disable_controller() function in the r8a66597-udc driver to disable all interrupts and also clear status flags. With this patch in place the driver survives kexec. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ef5ce3b69028ea32aa87e98c9a3802e7c9f824b6 Author: Magnus Damm Date: Wed Aug 19 14:19:08 2009 +0000 usb: r8a66597-udc buffer management update This patch updates the r8a66597-udc buffer management code. Use fixed buffers for bulk and isochronous pipes, also make sure to handle the isochronous-as-bulk case. With fixed buffers there is no need to keep track of used buffers with bi_bufnum. Also, this fixes a potential buffer offset problem where the base offset incorrectly varies with the number of pipes used. The m66592 driver recently got fixed in a similar way. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d2e27bdf2870e507dd4abba1f56ca84ee6ae7232 Author: Magnus Damm Date: Wed Aug 19 09:50:49 2009 +0000 usb: add clock support to r8a66597 gadget driver Add support for the clock framework to the r8a66597 gadget driver. This is needed to control the clock driving the USB block. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c41442474a26984abaa094e96e42182868eab658 Author: Yoshihiro Shimoda Date: Wed Aug 19 04:59:39 2009 +0000 usb: gadget: R8A66597 peripheral controller support. While in-tree support for the R8A66597 host side has been supported for some time, the peripheral side has so far been unsupported. This adds a new USB gadget driver which bridges the gap and finally wires up the peripheral side as well. Signed-off-by: Yoshihiro Shimoda Tested-by: Magnus Damm Signed-off-by: Paul Mundt commit e638fab91e5d1c4db3a80957546c32ed4bd75086 Author: Paul Mundt Date: Thu Aug 20 10:14:29 2009 +0900 sh: Add mach-types entry for EcoVec board. Signed-off-by: Paul Mundt commit 4138b74066cc33ede31bfd6cb2b7a5e685cfd327 Author: Kuninori Morimoto Date: Wed Aug 19 12:08:33 2009 +0000 sh: Add EcoVec (SH7724) board support This adds preliminary support for the EcoVec board. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 4f0dbc2781b9dc457159b676289f874ab2dc3560 Merge: 3c15a68 20002de Author: Benjamin Herrenschmidt Date: Thu Aug 20 11:07:56 2009 +1000 Merge commit 'paulus-perf/master' into next commit 3c15a68880023722fc794018768df556f438ae98 Author: Stephen Rothwell Date: Mon Aug 10 17:14:55 2009 +0000 powerpc: use consistent types in mktree gcc v4.4 currently produces this build warning: arch/powerpc/boot/mktree.c: In function 'main': arch/powerpc/boot/mktree.c:104: warning: dereferencing type-punned pointer will break strict-aliasing rules tmpbuf is only used as an array of unsigned ints, so declare it that way. Signed-off-by: Stephen Rothwell Signed-off-by: Benjamin Herrenschmidt commit 903444e4297264ec0959e886695911659edb425c Author: Michael Ellerman Date: Sun Aug 9 19:06:24 2009 +0000 powerpc/vmlinux.lds: Move _edata down Currently _edata does not include several data sections, this causes the kernel's report of memory usage at boot to not match reality, and also prevents kmemleak from working - because it scan between _sdata and _edata for pointers to allocated memory. This mirrors a similar change made recently to the x86 linker script. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit a15098c90df1ac2b1bfe1d33dd1c47063213aa9a Author: Michael Ellerman Date: Sun Aug 9 19:02:51 2009 +0000 powerpc: Enable GCOV Make it possible to enable GCOV code coverage measurement on powerpc. Lightly tested on 64-bit, seems to work as expected. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 728656506447b3b349d082a7fb99445f9cb0caaa Author: Roel Kluin Date: Thu Aug 6 13:00:37 2009 +0000 powerpc/hvsi: Avoid calculating possibly-invalid address Check whether index is within bounds prior to calculating a possibly-invalid address. Signed-off-by: Roel Kluin Cc: Bernd Petrovitsch Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Benjamin Herrenschmidt commit 6826a57d1abc8ac9f59b24f1a008554c6560a995 Author: Christoph Hellwig Date: Wed Aug 5 12:24:45 2009 +0000 powerpc: Switch to asm-generic/hardirq.h hardirq.h on powerpc defines a __last_jiffy_stamp field, but it's not actually used anywhere. Signed-off-by: Christoph Hellwig Signed-off-by: Benjamin Herrenschmidt commit e8a5f900148d058bce2d7bdce3d6bcbcb40267ec Author: Michel Dänzer Date: Tue Aug 4 11:51:04 2009 +0000 agp/uninorth: Simplify cache flushing. Map the GART table uncached, so we don't always need to flush the CPU caches explicitly after updates. Signed-off-by: Michel Dänzer Signed-off-by: Benjamin Herrenschmidt commit 52f072cb084bbb460d3a4ae09f0b6efc3e7e8a8c Author: Michel Dänzer Date: Tue Aug 4 11:51:03 2009 +0000 agp/uninorth: Allow larger aperture sizes on pre-U3 bridges. Using the radeon KMS test functionality, I verified that the AGP bridge of the Intrepid2 chipset in my PowerBook supports aperture sizes up to 256M. So allow aperture sizes up to 256M on pre-U3 bridges as well, and bump the default size to 256M. It's possible that older revisions only support smaller sizes, but it'll be easy to verify that with the raden KMS test functionality. Also, there's only a problem on an actual attempt to access the aperture beyond the maximum size supported by the hardware, and non-KMS X still defaults to using only 32M. Also use ARRAY_SIZE for the aperture size arrays. Signed-off-by: Michel Dänzer Signed-off-by: Benjamin Herrenschmidt commit fb2881a7134576a6e95a63e3d2f34ea5629db4a1 Author: roel kluin Date: Mon Aug 3 02:41:42 2009 +0000 powerpc/macio: Don't the address of an array element before boundchecking Check whether index is within bounds before grabbing the element. Signed-off-by: Roel Kluin Signed-off-by: Benjamin Herrenschmidt commit 14ea58ad797e4e9b7be755aca0fd3925d0713ede Author: Julia Lawall Date: Sat Aug 1 22:48:27 2009 +0000 powerpc: Use DIV_ROUND_CLOSEST in time init code 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/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit 9413c8836a16e9d034928a7f9d3ad81bebd71ce9 Author: Geert Uytterhoeven Date: Wed Jul 29 02:06:42 2009 +0000 powerpc/cell: Move CBE_IOPTE_* to As doesn't contain any other hardware specific definitions but only interfaces. Reported-by: Arnd Bergmann Signed-off-by: Geert Uytterhoeven Signed-off-by: Benjamin Herrenschmidt commit 02a606c2c47a2e4714225d0c3513ca03679f01d2 Author: roel kluin Date: Thu Jul 30 06:02:18 2009 +0000 powerpc: Missing tests for NULL after ioremap() Missing tests after ioremap() Signed-off-by: Roel Kluin Signed-off-by: Benjamin Herrenschmidt commit cf68787b68a2011664f1670a827c8f202ddb7c3d Author: Benjamin Krill Date: Mon Jul 27 22:02:39 2009 +0000 powerpc/prom_init: Evaluate mem kernel parameter for early allocation Evaluate mem kernel parameter for early memory allocations. If mem is set no allocation in the region above the given boundary is allowed. The current code doesn't take care about this and allocate memory above the given mem boundary. Signed-off-by: Benjamin Krill Signed-off-by: Benjamin Herrenschmidt commit a888ad451a96881a7e40f40f717d05f1f3b26ad4 Author: Stoyan Gaydarov Date: Tue Jul 21 17:02:31 2009 +0000 powerpc: ARRAY_SIZE changes in pasemi and powermac code These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ Signed-off-by: Stoyan Gaydarov Signed-off-by: Benjamin Herrenschmidt commit bbdc16f58ed84523e8991f103dceb586e9053e04 Author: Michael Ellerman Date: Wed Jul 15 15:25:22 2009 +0000 kmemleak: Allow kmemleak to be built on powerpc Very lightly tested, doesn't crash the kernel. Signed-off-by: Michael Ellerman Acked-by: Catalin Marinas Signed-off-by: Benjamin Herrenschmidt commit 5b36f1deefa63ef71cd3c3933781318ac61c5469 Author: Julia Lawall Date: Sun Jul 12 10:03:42 2009 +0000 hvc_console: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Signed-off-by: Benjamin Herrenschmidt commit 690a2d074ead1867ca5a1976284ca1c89ebc04c6 Author: Martyn Welch Date: Thu Jul 2 06:12:18 2009 +0000 powerpc/nvram: Allow byte length reads from mmio NVRAM driver Add a byte length read and write interface compatible with the nvram_generic driver interface to the mmio driver. Signed-off-by: Martyn Welch Signed-off-by: Benjamin Herrenschmidt commit ae142e0c52b38e44d28b12f77c6e7faa96f7a069 Author: Christoph Hellwig Date: Fri Jun 12 04:31:52 2009 +0000 powerpc/sputrace: Use the generic event tracer I wrote sputrace before generic tracing infrastrucure was available. Now that we have the generic event tracer we can convert it over and remove a lot of code: 8 files changed, 45 insertions(+), 285 deletions(-) To use it make sure CONFIG_EVENT_TRACING is enabled and then enable the spufs trace channel by echo 1 > /sys/kernel/debug/tracing/events/spufs/spufs_context/enable and then read the trace records using e.g. cat /sys/kernel/debug/tracing/trace Signed-off-by: Christoph Hellwig Acked-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt commit 797a747a82e23530ee45d2927bf84f3571c1acb2 Author: Kumar Gala Date: Tue Aug 18 15:21:40 2009 +0000 powerpc/mm: Fix assert_pte_locked to work properly on uniprocessor Since the pte_lockptr is a spinlock it gets optimized away on uniprocessor builds so using spin_is_locked is not correct. We can use assert_spin_locked instead and get the proper behavior between UP and SMP builds. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 433abcdf321322495d83c8b571bdf7134622c734 Author: Martyn Welch Date: Wed Jul 29 22:13:45 2009 +0000 powerpc/86xx: Update GE Fanuc sbc310 DTS Update GE Fanuc DTS to match the alterations suggested during the merge of the ppc9a DTS in commit 740d36ae6344f38c4da64c2ede765d7d2dd1f132 Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8798b9df26bbc7f3cee686483a0bac68b666bf8f Author: Martyn Welch Date: Tue Jun 30 15:32:38 2009 +0100 powerpc/86xx: Enable XMC site on GE Fanuc SBC310 This patch enables the XMC (PCIe daughter card) site on the SBC310. STG enter the description for the patch above. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 2eaa50e9670ecab9712317723cb7836a4da1c0dc Author: Martyn Welch Date: Tue Jun 30 15:32:26 2009 +0100 powerpc/86xx: Correct reading of information presented in cpuinfo /proc/cpuinfo should be showing the boards revision and the revision of the FPGA fitted. The functions currently used to access this information as incorrect. Additionally the VME geographical address of the PPC9A and it's status as system contoller are available in the board registers. Show these in cpuinfo. Signed-off-by: Martyn Welch Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 89f3729642cf33bfbc742b85e134936b562f9731 Author: Anton Vorontsov Date: Sat Jul 25 01:42:30 2009 +0400 powerpc/83xx: Add eSDHC support for MPC837xE-RDB/WLAN boards Actually, the support is already there, but it requires newer U-Boots (to fill-in clock-frequency, and setup pin multiplexing). Though, it appears that on RDB boards USBB pins aren't multiplexed between USB and eSDHC (unlike MDS boards, where USB and eSDHC share pctl and pwrfault pins). So, for RDB boards we can safely setup pinmux and manually fill-in clock-frequency, thus making eSDHC work even with older u-boots. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit c69328d4b93e6885c897155fbacac69a12c5faef Author: Anton Vorontsov Date: Thu Jul 9 22:36:44 2009 +0400 powerpc/85xx: Add support for I2C EEPROMs on MPC8548CDS boards This patch simply adds four eeprom nodes to MPC8548CDS' device tree. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit fda4bd9bac78efd2f9d566c52956d297bc03e8d9 Author: Anton Vorontsov Date: Sat Jul 25 01:42:17 2009 +0400 powerpc/83xx: Add support for MPC8377E-WLAN boards MPC8377E-WLAN are basically RDB boards except: - RAM extended to 512 MB; - NAND flash removed, NOR flash extended to 64 MB; - Vitesse VSC7385 5-port switch removed, RTL8211B PHY added; - Power management MCU removed; - PCI slot removed, another mini-PCI slot added (IRQ routing changed); - USB3300 PHY's ID pin grounded, thus USB port is host-only. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 3475dd8a68a7c705bee88b143422ba02cb9a796b Author: Julia Lawall Date: Sat Aug 1 10:52:51 2009 +0200 powerpc/qe: 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/) // @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) // Signed-off-by: Julia Lawall Acked-by: Timur Tabi Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 7a626b66bbd17e775cf2210e560b29383110290e Author: Julia Lawall Date: Sun Aug 2 10:44:53 2009 +0200 powerpc/ipic: 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/) // @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) // Signed-off-by: Julia Lawall Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 9239c89bc9c51c412b89eb8040077eaaee361326 Author: Heiko Schocher Date: Mon Aug 3 09:34:50 2009 +0200 powerpc/82xx: mgcoge - updates for 2.6.32 - add I2C support - add FCC1 and FCC2 support - fix bogus gpio numbering in plattform code Signed-off-by: Heiko Schocher Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8640d3bf71fa0f25adf86527fe69a32372427d4b Author: Sebastian Andrzej Siewior Date: Wed Aug 5 21:41:12 2009 +0200 powerpc/ipic: unmask all interrupt sources in case the interrupt controller was used in an earlier life then it is possible it is that some of its sources were used and are still unmask. If the (unmasked) device is active and is creating interrupts (or one interrupts was pending since the interrupts were disabled) then the boot process "ends" very soon. Once external interrupts are enabled, we land in -> do_IRQ -> call ppc_md.get_irq() -> ipic_read() gets the source number -> irq_linear_revmap(source) -> revmap[source] == NO_IRQ -> irq_find_mapping(source) returns NO_IRQ because no source is registered -> source is NO_IRQ, ppc_spurious_interrupts gets incremented, no further action. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 6c75933c00049bee59562a18843a4f133ec2bfe4 Author: Julia Lawall Date: Fri Aug 7 09:00:34 2009 +0200 powerpc/fsl_rio: Add kmalloc NULL tests Check that the result of kmalloc/kzalloc is not NULL before dereferencing it. The semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ 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 ) // Signed-off-by: Julia Lawall Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 8dcd038a13b8e322c49fe0d3e31a0deaba4fd5fd Author: Roel Kluin Date: Thu Aug 6 16:00:37 2009 -0700 powerpc/fsl-booke: read buffer overflow cam[tlbcam_index] is checked before tlbcam_index < ARRAY_SIZE(cam) Signed-off-by: Roel Kluin Signed-off-by: Andrew Morton Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit b6c316a1f6447d6dd0fd8d443b66643e328e04fa Author: Kumar Gala Date: Thu Jul 30 17:56:54 2009 -0500 powerpc/85xx: Added 36-bit physical device tree for mpc8536ds board Added a device tree that should be similiar to mpc8536ds.dtb except the physical addresses for all IO are above the 4G boundary. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 189339d47d30ad171aa1c95ffc90a6177b3ce4a8 Author: Kumar Gala Date: Thu Jul 30 17:56:38 2009 -0500 powerpc/85xx: Move mpc8536ds.dts to address-cells/size-cells = <2> Change the top-level #address-cells and #size-cells to <2> so the mpc8536ds.dts is easier to deal with both a true 32-bit physical or 36-bit physical address space. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit 6b045a818f1d0b9b68c1d47e745d521dd115991a Author: Stefan Roese Date: Wed Jul 29 01:41:06 2009 +0000 powerpc/40x: Update kilauea defconfig to support NAND, RTC and HWMON This patch adds support for the following devices to the Kilauea defconfig file: - PPC4xx NAND controller (NDFC) - I2C RTC (Dallas DS1338) - I2C HWMON (Dallas DS1775) Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 0e8e844246fcf9c38906b62e5d05891dbbda5754 Author: Stefan Roese Date: Wed Jul 29 07:05:11 2009 +0000 powerpc/44x: Update Canyonlands defconfig to support NOR, NAND and RTC This patch adds support for the following devices to the Canyonlands defconfig file: - NOR FLASH - PPC4xx NAND controller (NDFC) - I2C RTC (M41T80) Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 13ae564f1db967dd4ea244f21f3dad6a28fa351c Author: Stefan Roese Date: Wed Jul 29 01:40:56 2009 +0000 powerpc/40x: Update Kilauea dts to support NAND, RTC and HWMON This patch adds support for the following devices to the Kilauea dts: - PPC4xx NAND controller (NDFC) - I2C RTC (Dallas DS1338) - I2C HWMON (Dallas DS1775) Additionally the partitioning of the NOR FLASH is changed. The dtb partition has been missing. Fixed in this patch. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 88eeb72ec4c1ed7defff0f154c5b56798e038e2a Author: Stefan Roese Date: Wed Jul 29 07:05:01 2009 +0000 powerpc/44x: Add NAND support to Canyonlands dts Also some whitespace cleanup in the USB device nodes. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 20d70345f181be6bdd5b0a76a408d0693683bf3d Author: Stefan Roese Date: Wed Jul 29 07:04:46 2009 +0000 powerpc: Add AMCC 460EX/460GT Rev. B support to cputable.c Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer Signed-off-by: Benjamin Herrenschmidt commit 67050b5c3e9992d98554bd224d5a7898cc4881ff Author: Kumar Gala Date: Tue Aug 4 22:33:32 2009 -0500 powerpc/mm: Fix switch_mmu_context to iterate of the proper list of cpus Introduced a temporary variable into our iterating over the list cpus that are threads on the same core. For some reason Ben forgot how for loops work. Signed-off-by: Kumar Gala Signed-off-by: Benjamin Herrenschmidt commit af984b816530b4725b92e01ecfba7c5e3eab910d Author: Benjamin Herrenschmidt Date: Thu Aug 6 13:50:58 2009 +1000 powerpc/mm: Fix encoding of page table cache numbers The mask used to encode the page table cache number in the batch when freeing page tables was too small for the new possible values of MMU page sizes. This increases it along with a comment explaining the constraints. Signed-off-by: Benjamin Herrenschmidt commit 2d27cfd3286966c04d4192a9db5a6c7ea60eebf1 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:59 2009 +0000 powerpc: Remaining 64-bit Book3E support This contains all the bits that didn't fit in previous patches :-) This includes the actual exception handlers assembly, the changes to the kernel entry, other misc bits and wiring it all up in Kconfig. Signed-off-by: Benjamin Herrenschmidt commit 32a74949b7337726e76d69f51c48715431126c6c Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:58 2009 +0000 powerpc/mm: Add support for SPARSEMEM_VMEMMAP on 64-bit Book3E The base TLB support didn't include support for SPARSEMEM_VMEMMAP, though we did carve out some virtual space for it, the necessary support code wasn't there. This implements it by using 16M pages for now, though the page size could easily be changed at runtime if necessary. Signed-off-by: Benjamin Herrenschmidt commit 25d21ad6e799cccd097b9df2a2fefe19a7e1dfcf Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:47 2009 +0000 powerpc: Add TLB management code for 64-bit Book3E This adds the TLB miss handler assembly, the low level TLB flush routines along with the necessary hook for dealing with our virtual page tables or indirect TLB entries that need to be flushes when PTE pages are freed. There is currently no support for hugetlbfs Signed-off-by: Benjamin Herrenschmidt commit a8f7758c1c52a13e031266483efd5525157e43e9 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:45 2009 +0000 powerpc/mm: Move around mmu_gathers definition on 64-bit The definition for the global structure mmu_gathers, used by generic code, is currently defined in multiple places not including anything used by 64-bit Book3E. This changes it by moving to one place common to all processors. Signed-off-by: Benjamin Herrenschmidt commit dce6670aaa7efece0558010b48d5ef9d421154be Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:42 2009 +0000 powerpc: Add PACA fields specific to 64-bit Book3E processors This adds various fields in the PACA that are for use specifically by Book3E processors, such as exception save areas, current pgd pointer, special exceptions kernel stacks etc... Signed-off-by: Benjamin Herrenschmidt commit 13363ab9b9d040ebeace3a1a3a5ddcb13bf0d644 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:39 2009 +0000 powerpc: Add definitions used by exception handling on 64-bit Book3E This adds various definitions and macros used by the exception and TLB miss handling on 64-bit BookE It also adds the definitions of the SPRGs used for various exception types Signed-off-by: Benjamin Herrenschmidt commit 57e2a99f74b0d3720c97a6aadb57ae6aad3c61ea Author: Benjamin Herrenschmidt Date: Tue Jul 28 11:59:34 2009 +1000 powerpc: Add memory management headers for new 64-bit BookE This adds the PTE and pgtable format definitions, along with changes to the kernel memory map and other definitions related to implementing support for 64-bit Book3E. This also shields some asm-offset bits that are currently only relevant on 32-bit We also move the definition of the "linux" page size constants to the common mmu.h file and add a few sizes that are relevant to embedded processors. Signed-off-by: Benjamin Herrenschmidt commit 0257c99cdfaca53a881339e1cbca638c61569b05 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:34 2009 +0000 powerpc: Add SPR definitions for new 64-bit BookE This adds various SPRs defined on 64-bit BookE, along with changes to the definition of the base MSR values to add the values needed for 64-bit Book3E. Signed-off-by: Benjamin Herrenschmidt commit c7cc58a1ad8dfe3c199d3b6ce50412b86dd3edaf Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:28 2009 +0000 powerpc/mm: Rework & cleanup page table freeing code path That patch used to just add a hook to page table flushing but pulling that string brought out a whole bunch of issues, so it now does that and more: - We now make the RCU batching of page freeing SMP only, as I believe it was intended initially. We make a few more things compile to nothing on !CONFIG_SMP - Some macros are turned into functions, though that forced me to out of line a few stuffs due to unsolvable include depenencies, however it's probably better that way anyway, it's not -that- critical code path. - 32-bit didn't call pte_free_finish() on tlb_flush() which means that it wouldn't push out the batch to RCU for delayed freeing when a bunch of page tables have been freed, they would just stay in there until the batch gets full. 64-bit BookE will use that hook to maintain the virtually linear page tables or the indirect entries in the TLB when using the HW loader. Signed-off-by: Benjamin Herrenschmidt commit cf54dc7cd4f9aab55cd3e1794b0b74c3c88cd1a0 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:28 2009 +0000 powerpc: Move definitions of secondary CPU spinloop to header file Those definitions are currently declared extern in the .c file where they are used, move them to a header file instead. Signed-off-by: Benjamin Herrenschmidt commit 747bea91b764aefd59091ebff80f182282f1d23c Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:27 2009 +0000 powerpc: Clean ifdef usage in copy_thread() Currently, a single ifdef covers SLB related bits and more generic ppc64 related bits, split this in two separate ifdef's since 64-bit BookE will need one but not the other. Signed-off-by: Benjamin Herrenschmidt Acked-by: Benjamin Herrenschmidt commit 6f0ef0f505af1ce6e9756087a9d4cc3778bae8c6 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:26 2009 +0000 powerpc/mm: Call mmu_context_init() from ppc64 Our 64-bit hash context handling has no init function, but 64-bit Book3E will use the common mmu_context_nohash.c code which does, so define an empty inline mmu_context_init() for 64-bit server and call it from our 64-bit setup_arch() Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala commit d4e167da4cb60910f6ac305aee03714937f70b71 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:24 2009 +0000 powerpc/mm: Make low level TLB flush ops on BookE take additional args We need to pass down whether the page is direct or indirect and we'll need to pass the page size to _tlbil_va and _tlbivax_bcast We also add a new low level _tlbil_pid_noind() which does a TLB flush by PID but avoids flushing indirect entries if possible This implements those new prototypes but defines them with inlines or macros so that no additional arguments are actually passed on current processors. Signed-off-by: Benjamin Herrenschmidt commit 44c58ccc8dc25f78a4f641901f17092c93dd0458 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:20 2009 +0000 powerpc: Modify some ppc_asm.h macros to accomodate 64-bits Book3E The way I intend to use tophys/tovirt on 64-bit BookE is different from the "trick" that we currently play for 32-bit BookE so change the condition of definition of these macros to make it so. Also, make sure we only use rfid and mtmsrd instead of rfi and mtmsr for 64-bit server processors, not all 64-bit processors. Signed-off-by: Benjamin Herrenschmidt Acked-by: Kumar Gala commit a245067e204f69c69abf92d94fc45ec65bf1f07e Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:16 2009 +0000 powerpc/mm: Add support for early ioremap on non-hash 64-bit processors This adds some code to do early ioremap's using page tables instead of bolting entries in the hash table. This will be used by the upcoming 64-bits BookE port. The patch also changes the test for early vs. late ioremap to use slab_is_available() instead of our old hackish mem_init_done. Signed-off-by: Benjamin Herrenschmidt commit 1fe1a21005c14ad772caeb9005580f473c4b6c57 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:12 2009 +0000 powerpc/mm: Add more bit definitions for Book3E MMU registers This adds various additional bit definitions for various MMU related SPRs used on Book3E. Signed-off-by: Benjamin Herrenschmidt commit 29c09e8fbaf65698c51aeffe34acc284a454a38f Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:11 2009 +0000 powerpc/mm: Add opcode definitions for tlbivax and tlbsrx. This adds the opcode definitions to ppc-opcode.h for the two instructions tlbivax and tlbsrx. as defined by Book3E 2.06 Signed-off-by: Benjamin Herrenschmidt commit fcce810986b3f32a8322faf240f8cc5560a4c463 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:10 2009 +0000 powerpc/mm: Add HW threads support to no_hash TLB management The current "no hash" MMU context management code is written with the assumption that one CPU == one TLB. This is not the case on implementations that support HW multithreading, where several linux CPUs can share the same TLB. This adds some basic support for this to our context management and our TLB flushing code. It also cleans up the optional debugging output a bit Signed-off-by: Benjamin Herrenschmidt commit 6c1719942e19936044c4673b18afa26e45a02320 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:07 2009 +0000 powerpc/of: Remove useless register save/restore when calling OF back enter_prom() used to save and restore registers such as CTR, XER etc.. which are volatile, or SRR0,1... which we don't care about. This removes a bunch of useless code and while at it turns an mtmsrd into an MTMSRD macro which will be useful to Book3E. Signed-off-by: Benjamin Herrenschmidt commit 7d60b02cc7e6d67b498eed9ecb58010f61422325 Author: Benjamin Herrenschmidt Date: Thu Jul 23 23:15:04 2009 +0000 powerpc/mm: Fix misplaced #endif in pgtable-ppc64-64k.h A misplaced #endif causes more definitions than intended to be protected by #ifndef __ASSEMBLY__. This breaks upcoming 64-bit BookE support patch when using 64k pages. Signed-off-by: Benjamin Herrenschmidt commit dd90bbd5fb763ab8924135a30956030c7a7b94fc Author: Benjamin Herrenschmidt Date: Tue Jul 28 11:54:32 2009 +1000 powerpc: Add compat_sys_truncate The truncate syscall has a signed long parameter, so when using a 32- bit userspace with a 64-bit kernel the argument is zero-extended instead of sign-extended. Adding the compat_sys_truncate function fixes the issue. This was noticed during an LSB truncate test failure. The test was checking for the correct error number set when truncate is called with a length of -1. The test can be found at: http://bzr.linuxfoundation.org/lsb/devel/runtime-test?cmd=inventory;rev=stewb%40linux-foundation.org-20090626205411-sfb23cc0tjj7jzgm;path=modules/vsx-pcts/tset/POSIX.os/files/truncate/ BenH: Added compat_sys_ftruncate() as well, same issue. Signed-off-by: Chase Douglas Signed-off-by: Benjamin Herrenschmidt commit c79b29735d28d819380b584d6707b4110ee759f3 Author: Lucian Adrian Grijincu Date: Thu Jul 23 00:13:37 2009 +0000 powerpc: Update boot wrapper script with the new location of dtc dtc was moved in 9fffb55f66127b52c937ede5196ebfa0c0d50bce from arch/powerpc/boot/ to scripts/dtc/ This patch updates the wrapper script to point to the new location of dtc. Signed-off-by: Lucian Adrian Grijincu Signed-off-by: Benjamin Herrenschmidt commit f7d4f68d971b8234491b4a0be58aa6f659c1c194 Author: Frans Pop Date: Thu Jul 23 08:57:18 2009 +0000 powerpc: Makefile simplification through use of cc-ifversion Signed-off-by: Frans Pop Acked-by: Sam Ravnborg Signed-off-by: Benjamin Herrenschmidt commit 063517bea114d4cb57bf582353d0a99b82775a63 Author: Benjamin Herrenschmidt Date: Tue Jul 14 20:52:56 2009 +0000 powerpc: Change PACA from SPRG3 to SPRG1 This change the SPRG used to store the PACA on ppc64 from SPRG3 to SPRG1. SPRG3 is user readable on most processors and we want to use it for other things. We change the scratch SPRG used by exception vectors from SRPG1 to SPRG2. Signed-off-by: Benjamin Herrenschmidt commit 527b3639616b21c257518ee7c26fbf05232db0c0 Author: Benjamin Herrenschmidt Date: Tue Jul 14 20:56:58 2009 +0000 powerpc/pmac: Fix PowerSurge SMP IPI allocation The code for setting up the IPIs for SMP PowerSurge marchines bitrot, it needs to properly map the HW interrupt number Signed-off-by: Benjamin Herrenschmidt commit 066c4b87e927985a083481c92b4aebade8fe4ab3 Author: Benjamin Herrenschmidt Date: Tue Jul 21 15:25:53 2009 +0000 powerpc/mm: Fix definitions of FORCE_MAX_ZONEORDER in Kconfig The current definitions set ranges and defaults for 32 and 64-bit only using "PPC_STD_MMU" which means hash based MMU. This uselessly restrict the usefulness for the upcoming 64-bit BookE port, but more than that, it's broken on 32-bit since the only 32-bit platform supporting multiple page sizes currently is 44x which does -not- have PPC_STD_MMU_32 set. This fixes it by using PPC64 and PPC32 instead. Signed-off-by: Benjamin Herrenschmidt commit 2e2ddb24d36106e029f6eeb3df611178a36fb295 Author: roel kluin Date: Tue Jul 21 00:17:17 2009 +0000 powerpc/cell: Replace strncpy by strlcpy Replace strncpy() and explicit null-termination by strlcpy() Signed-off-by: Roel Kluin Signed-off-by: Benjamin Herrenschmidt commit c5a8c0c99f67ae8a784faafbaaea1529825796e2 Author: Benjamin Herrenschmidt Date: Thu Jul 16 19:36:57 2009 +0000 powerpc: Remove use of a second scratch SPRG in STAB code The STAB code used on Power3 and RS/64 uses a second scratch SPRG to save a GPR in order to decide whether to go to do_stab_bolted_* or to handle a normal data access exception. This prevents our scheme of freeing SPRG3 which is user visible for user uses since we cannot use SPRG0 which, on RS/64, seems to be read-only for supervisor mode (like POWER4). This reworks the STAB exception entry to use the PACA as temporary storage instead. Signed-off-by: Benjamin Herrenschmidt commit ee43eb788b3a06425fffb912677e2e1c8b00dd3b Author: Benjamin Herrenschmidt Date: Tue Jul 14 20:52:54 2009 +0000 powerpc: Use names rather than numbers for SPRGs (v2) The kernel uses SPRG registers for various purposes, typically in low level assembly code as scratch registers or to hold per-cpu global infos such as the PACA or the current thread_info pointer. We want to be able to easily shuffle the usage of those registers as some implementations have specific constraints realted to some of them, for example, some have userspace readable aliases, etc.. and the current choice isn't always the best. This patch should not change any code generation, and replaces the usage of SPRN_SPRGn everywhere in the kernel with a named replacement and adds documentation next to the definition of the names as to what those are used for on each processor family. The only parts that still use the original numbers are bits of KVM or suspend/resume code that just blindly needs to save/restore all the SPRGs. Signed-off-by: Benjamin Herrenschmidt commit 8aa34ab8b2dc96ca6c4feecfb87ed13f0d40ef98 Author: Benjamin Herrenschmidt Date: Tue Jul 14 20:52:52 2009 +0000 powerpc: Rename exception.h to exception-64s.h The file include/asm/exception.h contains definitions that are specific to exception handling on 64-bit server type processors. This renames the file to exception-64s.h to reflect that fact and avoid confusion. Signed-off-by: Benjamin Herrenschmidt commit de4376c2846bb5a8fc6fe8dbd0e4ff30905493e6 Author: Anton Blanchard Date: Mon Jul 13 20:53:53 2009 +0000 powerpc: Preload application text segment instead of TASK_UNMAPPED_BASE TASK_UNMAPPED_BASE is not used with the new top down mmap layout. We can reuse this preload slot by loading in the segment at 0x10000000, where almost all PowerPC binaries are linked at. On a microbenchmark that bounces a token between two 64bit processes over pipes and calls gettimeofday each iteration (to access the VDSO), both the 32bit and 64bit context switch rate improves (tested on a 4GHz POWER6): 32bit: 273k/sec -> 283k/sec 64bit: 277k/sec -> 284k/sec Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 5eb9bac0406f2beb84b21aac6feb89d33d9f3f5c Author: Anton Blanchard Date: Mon Jul 13 20:53:52 2009 +0000 powerpc: Rearrange SLB preload code With the new top down layout it is likely that the pc and stack will be in the same segment, because the pc is most likely in a library allocated via a top down mmap. Right now we bail out early if these segments match. Rearrange the SLB preload code to sanity check all SLB preload addresses are not in the kernel, then check all addresses for conflicts. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 30d0b3682887a81f0335b42f20116fd40d743371 Author: Anton Blanchard Date: Mon Jul 13 20:53:51 2009 +0000 powerpc: Move 64bit VDSO to improve context switch performance On 64bit applications the VDSO is the only thing in segment 0. Since the VDSO is position independent we can remove the hint and let get_unmapped_area pick an area. This will mean the vdso will be near other mmaps and will share an SLB entry: 10000000-10001000 r-xp 00000000 08:06 5778459 /root/context_switch_64 10010000-10011000 r--p 00000000 08:06 5778459 /root/context_switch_64 10011000-10012000 rw-p 00001000 08:06 5778459 /root/context_switch_64 fffa92ae000-fffa92b0000 rw-p 00000000 00:00 0 fffa92b0000-fffa9453000 r-xp 00000000 08:06 4334051 /lib64/power6/libc-2.9.so fffa9453000-fffa9462000 ---p 001a3000 08:06 4334051 /lib64/power6/libc-2.9.so fffa9462000-fffa9466000 r--p 001a2000 08:06 4334051 /lib64/power6/libc-2.9.so fffa9466000-fffa947c000 rw-p 001a6000 08:06 4334051 /lib64/power6/libc-2.9.so fffa947c000-fffa9480000 rw-p 00000000 00:00 0 fffa9480000-fffa94a8000 r-xp 00000000 08:06 4333852 /lib64/ld-2.9.so fffa94b3000-fffa94b4000 rw-p 00000000 00:00 0 fffa94b4000-fffa94b7000 r-xp 00000000 00:00 0 [vdso] <----- here I am fffa94b7000-fffa94b8000 r--p 00027000 08:06 4333852 /lib64/ld-2.9.so fffa94b8000-fffa94bb000 rw-p 00028000 08:06 4333852 /lib64/ld-2.9.so fffa94bb000-fffa94bc000 rw-p 00000000 00:00 0 fffe4c10000-fffe4c25000 rw-p 00000000 00:00 0 [stack] On a microbenchmark that bounces a token between two 64bit processes over pipes and calls gettimeofday each iteration (to access the VDSO), our context switch rate goes from 268k to 277k ctx switches/sec (tested on a 4GHz POWER6). Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit 0d2d3e38f72e400f602dade3f0ddffe0b3b9d4df Author: Geoff Thorpe Date: Tue Jul 7 15:23:56 2009 +0000 powerpc: expose the multi-bit ops that underlie single-bit ops. The bitops.h functions that operate on a single bit in a bitfield are implemented by operating on the corresponding word location. In all cases the inner logic is valid if the mask being applied has more than one bit set, so this patch exposes those inner operations. Indeed, set_bits() was already available, but it duplicated code from set_bit() (rather than making the latter a wrapper) - it was also missing the PPC405_ERR77() workaround and the "volatile" address qualifier present in other APIs. This corrects that, and exposes the other multi-bit equivalents. One advantage of these multi-bit forms is that they allow word-sized variables to essentially be their own spinlocks, eg. very useful for state machines where an atomic "flags" variable can obviate the need for any additional locking. Signed-off-by: Geoff Thorpe Signed-off-by: Benjamin Herrenschmidt commit 11a6b292c1bc9cb39970e44edd6958250f23d3a8 Author: Michael Ellerman Date: Sun Jul 5 16:08:52 2009 +0000 powerpc/mpic: Fix MPIC_BROKEN_REGREAD on non broken MPICs The workaround enabled by CONFIG_MPIC_BROKEN_REGREAD does not work on non-broken MPICs. The symptom is no interrupts being received. The fix is twofold. Firstly the code was broken for multiple isus, we need to index into the shadow array with the src_no, not the idx. Secondly, we always do the read, but only use the VECPRI_MASK and VECPRI_ACTIVITY bits from the hardware, the rest of "val" comes from the shadow. Signed-off-by: Michael Ellerman Signed-off-by: Olof Johansson Signed-off-by: Benjamin Herrenschmidt commit 66dc3304f3875ea85c630a57a88ecf79032890c4 Author: Gerhard Pircher Date: Fri Jun 19 11:40:57 2009 +0000 powerpc/amigaone: Convert amigaone_init() to a machine_device_initcall() This allows to remove the ppc_md.init() hook in the setup code. Signed-off-by: Gerhard Pircher Signed-off-by: Benjamin Herrenschmidt commit e1af88a1ad8f4dea3a2d6c5637d94a3fc3c62994 Author: Jan Kara Date: Wed Aug 19 18:04:43 2009 +0200 nfs: Remove reference to generic_osync_inode from a comment generic_file_direct_write() no longer calls generic_osync_inode() so remove the comment. CC: linux-nfs@vger.kernel.org CC: Neil Brown CC: "J. Bruce Fields" Signed-off-by: Jan Kara Signed-off-by: Trond Myklebust commit ece13879e74313e62109e0755dd3d4f172df89e2 Merge: b08dc3e 6c30c53 Author: James Morris Date: Thu Aug 20 09:18:42 2009 +1000 Merge branch 'master' into next Conflicts: security/Kconfig Manual fix. Signed-off-by: James Morris commit f7e86ab92f2198d30828a1a327ad2085e4a7ff7d Author: Trond Myklebust Date: Wed Aug 19 18:13:00 2009 -0400 SUNRPC: cache must take a reference to the cache detail's module on open() Otherwise we Oops if the module containing the cache detail is removed before all cache readers have closed the file. Signed-off-by: Trond Myklebust commit 7d7ea882898f23989209d0359691b356f73240dc Author: Trond Myklebust Date: Wed Aug 19 18:12:34 2009 -0400 NFS: Use the DNS resolver in the mount code. In the referral code, use it to look up the new server's ip address if the fs_locations attribute contains a hostname. Signed-off-by: Trond Myklebust commit e571cbf1a4f8d8b6cfd4898df718dae84c75a8e1 Author: Trond Myklebust Date: Wed Aug 19 18:12:27 2009 -0400 NFS: Add a dns resolver for use with NFSv4 referrals and migration The NFSv4 and NFSv4.1 protocols both allow for the redirection of a client from one server to another in order to support filesystem migration and replication. For full protocol support, we need to add the ability to convert a DNS host name into an IP address that we can feed to the RPC client. We'll reuse the sunrpc cache, now that it has been converted to work with rpc_pipefs. Signed-off-by: Trond Myklebust commit 96c61cbd0f30496bfa57ed80f7131a57aea3e4de Author: Trond Myklebust Date: Wed Aug 19 18:12:21 2009 -0400 SUNRPC: Fix a typo in cache_pipefs_files We want the channel to be a regular file, so that we don't need to supply rpc_pipe_ops. Signed-off-by: Trond Myklebust commit 6a396f67d2442e30150ffb5e1142dbb2f2181d3f Merge: f884dca cccddf4 Author: Trond Myklebust Date: Wed Aug 19 18:21:52 2009 -0400 Merge branch 'nfsv4_xdr_cleanups-for-2.6.32' into nfs-for-2.6.32 Conflicts: fs/nfs/nfs4xdr.c commit 886f9fe68310168358f55028a03553ae154dfeb6 Author: David S. Miller Date: Wed Aug 19 13:55:55 2009 -0700 ppp_generic: Help GCC see that 'flen' is always initialized. It's too stupid to see that we always set flen to something before we use it in ppp_mp_explode(): drivers/net/ppp_generic.c: In function 'ppp_push': drivers/net/ppp_generic.c:1314: warning: 'flen' may be used uninitialized in this function drivers/net/ppp_generic.c:1314: note: 'flen' was declared here This started warning after commit a53a8b56827cc429c6d9f861ad558beeb5f6103f ("ppp: fix lost fragments in ppp_mp_explode() (resubmit)") So just put an explicit unconditional initialization there to hush it up. Signed-off-by: David S. Miller commit f8bae4caaaf56c391f3e2380dd7105e765414178 Author: Mark Brown Date: Wed Aug 19 19:31:46 2009 +0100 ALSA: Restore support for DMAless DAIs on PXA Used for applications such as direct bluetooth connections on smartphones which don't go via the CPU. This used to be supported before the refactoring to share code but this check was removed during that move. Signed-off-by: Mark Brown commit 929122cdd5d4c344e59f9b55f870a8fcf7aa0d27 Author: Dmitry Eremin-Solenikov Date: Fri Aug 14 20:00:20 2009 +0400 Drop ARPHRD_IEEE802154_PHY There are not maste devices in mac802154 anymore, so drop ARPHRD_IEEE802154_PHY definition. Signed-off-by: Dmitry Eremin-Solenikov commit 16eea493da563b5a3356a77c6d8776dffc29d3b6 Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 19:32:24 2009 +0400 ieee802154: add support for channel pages from IEEE 802.15.4-2006 IEEE 802.15.4-2006 adds new concept: channel pages, which can contain several channels. Add support for channel pages in the API and in the fakehard driver. Signed-off-by: Dmitry Eremin-Solenikov commit 81f9510381ee43205564063f2e8650672b11d453 Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 18:56:57 2009 +0400 fakehard: add binding to wpan-phy device Make fakehard create and maintain wpan-phy node, thus representing it's phy in the sysfs. Signed-off-by: Dmitry Eremin-Solenikov commit 2bfb1070ba1fdb8cbc2b0b9ff61a3b0701ab40de Author: Dmitry Eremin-Solenikov Date: Fri Aug 14 16:13:12 2009 +0400 ieee802154: add a sysfs representation of WPAN master devices Add a sysfs/in-kernel representation of LR-WPAN master devices. Signed-off-by: Dmitry Eremin-Solenikov commit a0aea57786fe9c6b62b1a4f28409582520fa494f Author: Dmitry Eremin-Solenikov Date: Wed Aug 19 18:53:39 2009 +0400 ieee802154: document the skb->cb usage clearly. Signed-off-by: Dmitry Eremin-Solenikov commit 5086c389cb897c7ad66c1cacd1abb5ffebaa74b2 Author: Amerigo Wang Date: Wed Aug 19 21:44:13 2009 +0300 SLUB: Fix some coding style issues Signed-off-by: WANG Cong Signed-off-by: Pekka Enberg commit 454e134d0e9e38421830f26426c66f37a6d39465 Merge: 1c11ce8 3abf2f3 Author: Takashi Iwai Date: Wed Aug 19 20:10:24 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 474e09ca017bd0f6e9bf41af643364a21bc27f43 Author: Mark Brown Date: Wed Aug 19 14:18:53 2009 +0100 ASoC: Provide default set_bias_level() implementation If the CODEC does not provide a set_bias_level() then update the bias_level variable for it since other parts of the system expect that to be maintained. Signed-off-by: Mark Brown commit 540b7b8d65575c80162f2a0f38e1d313c92a6042 Author: Li Zefan Date: Wed Aug 19 15:54:51 2009 +0800 tracing/syscalls: Add filtering support Add filtering support for syscall events: # echo 'mode == 0666' > events/syscalls/sys_enter_open # echo 'ret == 0' > events/syscalls/sys_exit_open # echo 1 > events/syscalls/sys_enter_open # echo 1 > events/syscalls/sys_exit_open # cat trace ... modprobe-3084 [001] 117.463140: sys_open(filename: 917d3e8, flags: 0, mode: 1b6) modprobe-3084 [001] 117.463176: sys_open -> 0x0 less-3086 [001] 117.510455: sys_open(filename: 9c6bdb8, flags: 8000, mode: 1b6) sendmail-2574 [001] 122.145840: sys_open(filename: b807a365, flags: 0, mode: 1b6) ... Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAFCB.1040006@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e647d6b314266adb904d4b84973eda0afa856946 Author: Li Zefan Date: Wed Aug 19 15:54:32 2009 +0800 tracing/events: Add trace_define_common_fields() Extract duplicate code. Also prepare for the later patch. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAFB8.1010304@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 14be96c9716cb8c46dca94bd890defd7856e0734 Author: Li Zefan Date: Wed Aug 19 15:53:52 2009 +0800 tracing/events: Add ftrace_event_call param to define_fields() This parameter is needed by syscall events to add define_fields() handler. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF90.6060801@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 10a5b66f625904ad5a2867cf7a28073e1236ff32 Author: Li Zefan Date: Wed Aug 19 15:53:05 2009 +0800 tracing/syscalls: Add fields format for exit events Add "format" file for syscall exit events: # cat events/syscalls/sys_exit_open/format name: sys_exit_open ID: 344 format: field:unsigned short common_type; offset:0; size:2; field:unsigned char common_flags; offset:2; size:1; field:unsigned char common_preempt_count; offset:3; size:1; field:int common_pid; offset:4; size:4; field:int common_tgid; offset:8; size:4; field:int nr; offset:12; size:4; field:unsigned long ret; offset:16; size:4; Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF61.3060307@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e6971969c331caa5c3c88cbd1be4f465b3355452 Author: Li Zefan Date: Wed Aug 19 15:52:25 2009 +0800 tracing/syscalls: Fix fields format for enter events The "format" file of a trace event is originally for parsers to parse ftrace binary output. But the "format" file of a syscall event can only be used by perfcounter, because it describes the format of struct syscall_enter_record not struct syscall_trace_enter. To fix this, we remove struct syscall_enter_record, and then struct syscall_trace_enter will be used by both perf profile and ftrace. Signed-off-by: Li Zefan Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A8BAF39.1030404@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 5e9ad7df9fd056f1071af8aa91034a1c3170257d Author: Ingo Molnar Date: Tue Aug 18 10:41:57 2009 +0200 [S390] ftrace: update system call tracer support Commit fb34a08c3 ("tracing: Add trace events for each syscall entry/exit") changed the lowlevel API to ftrace syscall tracing but did not update s390 which started making use of it recently. This broke the s390 build, as reported by Paul Mundt. Update the callbacks with the syscall number and the syscall return code values. This allows per syscall tracepoints, syscall argument enumeration /debug/tracing/events/syscalls/ and perfcounters support and integration on s390 too. Reported-by: Paul Mundt Acked-by: Martin Schwidefsky Cc: Heiko Carstens Cc: Jason Baron Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 1423cc033df017c762a9155eec470da77a460141 Author: Paul E. McKenney Date: Tue Aug 18 23:06:14 2009 -0700 rcu: Delay rcu_barrier() wait until beginning of next CPU-hotunplug operation. Ingo Molnar reported this lockup: [ 200.380003] Hangcheck: hangcheck value past margin! [ 248.192003] INFO: task S99local:2974 blocked for more than 120 seconds. [ 248.194532] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 248.202330] S99local D 0000000c 6256 2974 2687 0x00000000 [ 248.208929] 9c7ebe90 00000086 6b67ef8b 0000000c 9f25a610 81a69869 00000001 820b6990 [ 248.216123] 820b6990 820b6990 9c6e4c20 9c6e4eb4 82c78990 00000000 6b993559 0000000c [ 248.220616] 9c7ebe90 8105f22a 9c6e4eb4 9c6e4c20 00000001 9c7ebe98 9c7ebeb4 81a65cb3 [ 248.229990] Call Trace: [ 248.234049] [<81a69869>] ? _spin_unlock_irqrestore+0x22/0x37 [ 248.239769] [<8105f22a>] ? prepare_to_wait+0x48/0x4e [ 248.244796] [<81a65cb3>] rcu_barrier_cpu_hotplug+0xaa/0xc9 [ 248.250343] [<8105f029>] ? autoremove_wake_function+0x0/0x38 [ 248.256063] [<81062cf2>] notifier_call_chain+0x49/0x71 [ 248.261263] [<81062da0>] raw_notifier_call_chain+0x11/0x13 [ 248.266809] [<81a0b475>] _cpu_down+0x272/0x288 [ 248.271316] [<81a0b4d5>] cpu_down+0x4a/0xa2 [ 248.275563] [<81a0c48a>] store_online+0x2a/0x5e [ 248.280156] [<81a0c460>] ? store_online+0x0/0x5e [ 248.284836] [<814ddc35>] sysdev_store+0x20/0x28 [ 248.289429] [<8112e403>] sysfs_write_file+0xb8/0xe3 [ 248.294369] [<8112e34b>] ? sysfs_write_file+0x0/0xe3 [ 248.299396] [<810e4c8f>] vfs_write+0x91/0x120 [ 248.303817] [<810e4dc1>] sys_write+0x40/0x65 [ 248.308150] [<81002d73>] sysenter_do_call+0x12/0x28 This change moves an RCU grace period delay off of the critical path for CPU-hotunplug operations. Since RCU callback migration is only performed on CPU-hotunplug operations, and since the rcu_barrier() race is provoked only by consecutive CPU-hotunplug operations, it is not necessary to delay the end of a given CPU-hotunplug operation. We can instead choose to delay the beginning of the next CPU-hotunplug operation. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: Josh Triplett Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <20090819060614.GA14383@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 24d76195d124986b7702821b8b6cc85942b13146 Author: Kuninori Morimoto Date: Wed Aug 19 10:24:15 2009 +0000 sh: Add SH7724 support to NR_ONCHIP_DMA_CHANNELS This patch also update help comment Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 1bc265d06c31d08a3d95b6b8215c7639698001e0 Author: Kuninori Morimoto Date: Wed Aug 19 00:12:15 2009 +0000 sh: USB0 resource area fix for ms7724se Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 1c11ce8118c2055501aa03644a660c7b1e5120c7 Merge: fdbc662 ae70944 Author: Takashi Iwai Date: Wed Aug 19 12:11:06 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 01548f4d3e8e94caf323a4f664eb347fd34a34ab Author: Martin Schwidefsky Date: Tue Aug 18 17:09:42 2009 +0200 clocksource: Avoid clocksource watchdog circular locking dependency stop_machine from a multithreaded workqueue is not allowed because of a circular locking dependency between cpu_down and the workqueue execution. Use a kernel thread to do the clocksource downgrade. Signed-off-by: Martin Schwidefsky Cc: Peter Zijlstra Cc: john stultz LKML-Reference: <20090818170942.3ab80c91@skybase> Signed-off-by: Thomas Gleixner commit d0981a1b21a03866c8da7f44e35e389c2e0d6061 Author: Thomas Gleixner Date: Wed Aug 19 11:26:09 2009 +0200 clocksource: Protect the watchdog rating changes with clocksource_mutex Martin pointed out that commit 6ea41d2529 (clocksource: Call clocksource_change_rating() outside of watchdog_lock) has a theoretical reference count problem. The calls to clocksource_change_rating() are now done outside of the clocksource mutex and outside of the watchdog lock. A concurrent clocksource_unregister() could remove the clock. Split out the code which changes the rating from clocksource_change_rating() into __clocksource_change_rating(). Protect the clocksource_watchdog_work() code sequence with the clocksource_mutex() and call __clocksource_change_rating(). LKML-Reference: Signed-off-by: Thomas Gleixner Cc: Martin Schwidefsky commit fc6191dd301e3bc8cbb142aab1a2ec4e699cb2de Author: Paul Mundt Date: Wed Aug 19 17:53:04 2009 +0900 sh: Fix up clockevents broadcasting. This fixes up the clockevents broadcasting code as detailed in commit ee348d5a1d810bc9958cabb7c27302aab235d36e ("[ARM] realview: fix broadcast tick support"). This saves us from having to do strange ordering things with the broadcast clockevent device, relying on the rating instead. Signed-off-by: Paul Mundt commit e055d41ff5e9761c5572a6f4ce94bcd82bfbb28f Author: Paul Mundt Date: Wed Aug 19 17:57:01 2009 +0900 sh: Build fix for disabled caches. This fixes up the build when caches are disabled, by linking in all of the cache routines directly. This paves the way for splitting out separate I and D cache disabling, similar to what sh64 had, and which we want for SH-X3 anyways. Signed-off-by: Paul Mundt commit a987fcaa805fcb24ba885c2e29fd4fdb6816f08f Author: Thomas Hellstrom Date: Tue Aug 18 16:51:56 2009 +0200 ttm: Make parts of a struct ttm_bo_device global. Common resources, like memory accounting and swap lists should be global and not per device. Introduce a struct ttm_bo_global to accomodate this, and register it with sysfs. Add a small sysfs interface to return the number of active buffer objects. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 5fd9cbad3a4ae82c83c55b9c621d156c326724ef Author: Thomas Hellstrom Date: Mon Aug 17 16:28:39 2009 +0200 drm/ttm: Memory accounting rework. Use inclusive zones to simplify accounting and its sysfs representation. Use DMA32 accounting where applicable. Add a sysfs interface to make the heuristically determined limits readable and configurable. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit e9840be8c23601285a70520b4898818f28ce8c2b Author: Thomas Hellstrom Date: Tue Aug 18 10:27:57 2009 +0200 drm/ttm: Add a virtual ttm sysfs device. The device directory will be the base directory of the sysfs representation of other ttm subsystems. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 327c225bd548bf7871f116a0baa5ebdac884e452 Author: Thomas Hellstrom Date: Mon Aug 17 16:28:37 2009 +0200 drm: Enable drm drivers to add drm sysfs devices. Export utility functions for drivers to add specialized devices in the sysfs drm class subdirectory. Initially this will be needed form TTM to add a virtual device that handles power management. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit a0724fcf829e5afb66159ef68cb16a805ea11b42 Author: Pekka Paalanen Date: Mon Aug 17 01:18:38 2009 +0300 drm/ttm: optimize bo_kmap_type values A micro-optimization on the function ttm_kmap_obj_virtual(). By defining the values of enum ttm_bo_kmap_obj::bo_kmap_type to have a bit indicating iomem, size of the function ttm_kmap_obj_virtual() will be reduced by 16 bytes on x86_64 (gcc 4.1.2). ttm_kmap_obj_virtual() may be heavily used, when buffer objects are accessed via wrappers, that work for both kinds of memory addresses: iomem cookies and kernel virtual. Signed-off-by: Pekka Paalanen Signed-off-by: Dave Airlie commit 949ef70e2d1a5c12178875f513df34fc85d91a38 Author: Pekka Paalanen Date: Mon Aug 17 19:49:19 2009 +0300 drm/kms: no need to return void value (encoder) Cc: Francisco Jerez Signed-off-by: Pekka Paalanen Signed-off-by: Dave Airlie commit 53bd83899f5ba6b0da8f5ef976129273854a72d4 Author: Jesse Barnes Date: Wed Jul 1 10:04:40 2009 -0700 drm: clarify scaling property names Now that we're using the scaling property in the Intel driver I noticed that the names were a bit confusing. I've corrected them according to our discussion on IRC and the mailing list, though I've left out potential new additions for a new scaling property with an integer (or two) for the scaling factor. None of the drivers implement that today, but if someone wants to do it, I think it could be done with the addition of a single new type and a new property to describe the scaling factor in the X and Y directions. Signed-off-by: Jesse Barnes Acked-by: Alex Deucher Signed-off-by: Dave Airlie commit 776f3360de6ed246e973577828f725681120fd7a Author: Dave Airlie Date: Wed Aug 19 15:56:37 2009 +1000 drm: fixup includes in encoder slave header files. Signed-off-by: Dave Airlie commit 453a7d46dca88704ed88b364c445ff55680a8557 Author: Jesse Barnes Date: Wed Aug 19 15:51:55 2009 +1000 drm: remove root requirement from DRM_IOCTL_SET_VERSION (+ DRM_IOCTL_AUTH_MAGIC) Just a DRM_MASTER flag is sufficient here, though maybe this call is totally deprecated anyway (xf86-video-intel still calls it though). (airlied: drop ioctl auth_magic as discussed on mailing list also) Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit 0c3f450b8b345dafa79f1cc69eda702e0293b0cc Author: Stephen Hemminger Date: Tue Aug 18 15:17:11 2009 +0000 sky2: version 1.25 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 724b694225e711f95e6265afdbc304c9e7eb3721 Author: Stephen Hemminger Date: Tue Aug 18 15:17:10 2009 +0000 sky2: no recycling Recycling turns out to be a bad idea! For most use cases, the packet can not be reused: TCP packets are cloned. Even for the ideal case of forwarding, it hurts performance because of CPU ping/pong. On a multi-core system forwarding of 64 byte packets is worse much worse: recycling = 24% forwarded vs no recycling = 42% forwarded Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 6b84dacadbdc3dab6a5b313d20d5a93b0d998641 Author: Stephen Hemminger Date: Tue Aug 18 15:17:09 2009 +0000 sky2: optimize transmit completion Don't reference the list element in hardware transmit ring on transmit completion. The list element is updated by hardware, therefore it causes a cache miss. Do book keeping in software structure. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ee5f68fea27b53b16c265b1f9ed8aa3bc9024c96 Author: Stephen Hemminger Date: Tue Aug 18 15:17:08 2009 +0000 sky2: dynamic size transmit ring Allocate and size transmit ring based on parameters. Saves excess space and allows configuring larger rings for testing. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit c119731d6606ae25d787740d60706e2732454637 Author: Stephen Hemminger Date: Tue Aug 18 15:17:07 2009 +0000 sky2: simplify list element error The code for list element error (which should only happen on hardware errors) should be cleaner and safer. Gets rid of unused ring_size argument, which makes next patch easier. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 5dce95e5687a5a335202b03d133c1b4411ef7ce3 Author: Stephen Hemminger Date: Tue Aug 18 15:17:06 2009 +0000 sky2: transmit ring 64 bit conservation This patch saves elements on transmit ring by only updating the upper 64 bit address when it changes. With many workloads skb's are located in same region, so it saves space. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit d6e74b6b7eda3584a403eebae27f9591a1d9c9ff Author: Stephen Hemminger Date: Tue Aug 18 15:17:05 2009 +0000 sky2: use upper/lower 32 bits Use the existing macros to show where DMA address is being broken apart. This is cosmetic only. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 23428e6b4649adfbdaa6a0c93fc6d652bf5f9d44 Author: Ben Hutchings Date: Tue Aug 18 20:13:03 2009 -0700 mdio: mdio_if_info::mmds should not be __bitwise I misunderstood the meaning of __bitwise. In practice it makes sparse warn about every use of mmds which is certainly not what we want. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit a7c02602a85a0d3f34331ff34d54de7416085985 Author: Steven Rostedt Date: Thu May 7 11:09:55 2009 -0400 kconfig: test if a .config already exists If one were to run localmodconfig or localyesconfig without having a .config already in the file, then the end of the process would give a warning when it tries to move the old .config to .config.old. This patch adds a test to check if .config exists and avoid the moves if it does not. [ Impact: remove warning after make localmodconfig ] Signed-off-by: Steven Rostedt commit a9024838d029ecd9a6d1389bec798b7296278d6b Author: Steven Rostedt Date: Thu May 7 11:01:34 2009 -0400 kconfig: make local .config default for streamline_config As Andi Kleen pointed out, most people would expect that the local .config file to be based for a streamline config. This patch changes the order of searching for a config file to consider the .config in the local directory first. Reported-by: Andi Kleen Signed-off-by: Steven Rostedt commit 810b2be65610af13d60f1e16c0a0f93cbc1f9d06 Author: Steven Rostedt Date: Thu Apr 30 19:30:04 2009 -0400 kconfig: test for /boot/config-uname after /proc/config.gz in localconfig Many distros put their config in /boot/config-`uname -r`, add a check for that right after /proc/config.gz Reported-by: Alan Jenkins Signed-off-by: Steven Rostedt commit d08ca2771e3aabddc7922d800a386f187c51f8a4 Author: Steven Rostedt Date: Thu Apr 30 19:24:00 2009 -0400 kconfig: unset IKCONFIG_PROC and clean up nesting Due to cut and paste error IKCONFIG was both set and cleared. It was suppose to be IKCONFIG_PROC to be cleared. Also cleaned up if nesting. Reported-by: Alan Jenkins Signed-off-by: Steven Rostedt commit cdfc47950a531199a553cebab0ac481aa7062948 Author: Steven Rostedt Date: Thu Apr 30 14:39:48 2009 -0400 kconfig: search for a config to base the local(mod|yes)config on Instead of using the .config in the local directory. This patch changes streamline_config.pl to search various locations for a config. Here's the list and order of search: /proc/config.gz /boot/vmlinuz-`uname -r` vmlinux # local to the directory /lib/modules/`uname -r`/kernel/kernel/configs.ko kernel/configs.ko kernel/configs.o .config Once it finds a file that contains a config (it checks if the binary objects have configs first) it then uses it to create the .config with minimum modules needed. Signed-off-by: Steven Rostedt commit de481560eb0bd9d940b90311eba85711e4b1150b Author: Steven Rostedt Date: Thu Apr 30 12:32:04 2009 -0400 kconfig: keep config.gz around even if CONFIG_IKCONFIG_PROC is not set If CONFIG_IKCONFIG is set but CONFIG_IKCONFIG_PROC is not, then gcc will optimize the config.gz out, because nobody uses it. This patch adds "__used" to the config.gz data to keep it around so that code like extract-ikconfig can still find it. [ Impact: allow extract-ikconfig to find config.gz ] Signed-off-by: Steven Rostedt commit 6be51ffc1791b72d11cef9bb0a578fe8c5d64c6a Author: Steven Rostedt Date: Thu Apr 30 12:22:20 2009 -0400 kconfig: have extract-ikconfig read ELF files It would be nice to use extract-ikconfig to find the congfig.gz in either vmlinux (not vmlinuz) or configs.ko. This patch changes the script to also be able to read ELF files directly. [ Impact: find config.gz in vmlinux and configs.ko ] Signed-off-by: Steven Rostedt commit fd3132d5815bf72aeec7d5ad87161b4831f8e48c Author: Steven Rostedt Date: Thu Apr 30 12:19:56 2009 -0400 kconfig: add check if end exists in extract-ikconfig Both start and end should be tested for existence before continuing to parse the config.gz file. Signed-off-by: Steven Rostedt commit 744ffcbe867b81e9f467503c85bc5e4f9a586294 Author: Steven Rostedt Date: Thu Apr 30 12:15:10 2009 -0400 kconfig: enable CONFIG_IKCONFIG from streamline_config.pl Ingo Molnar suggested that the streamline_config.pl should enable CONFIG_IKCONFIG to keep the current config in the kernel. Then we can use scripts/extract-ikconfig to find the current modules. This patch changes streamline_config.pl to check if CONFIG_IKCONFIG is not set, and if it is not, it enables it to be a module. [ Impact: make current config options easier to find ] Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit ea2c1894b66301bce565471d6914d49ce91ee015 Author: Steven Rostedt Date: Thu Apr 30 10:59:08 2009 -0400 kconfig: do not warn about modules built in The streamline_config.pl finds all the configs that are needed to compile the currently loaded modules. After it creates the .config file, it tests to make sure all the configs that are needed were set. It only looks at the configs that are modules, it does not look at the builtin configs. This causes unnecessary warnings about modules not being covered. Reported-by: Ingo Molnar Signed-off-by: Steven Rostedt commit 74398d3224c0942c479bef76de542e95c202a478 Author: Steven Rostedt Date: Thu Apr 30 10:17:51 2009 -0400 kconfig: streamline_config.pl do not stop with no depends If a config does not have a prompt, it must be selected. streamline_config.pl keeps track of all configs that select other configs. If a config that does not have a prompt needs to be set to enable a current module, it will include all configs that select it. Note, streamline_config.pl does not enable modules that are not already enabled. It only keeps enabled those that were enabled and might be needed to compile the current modules. The code to find the selects of a config is after the code that adds the depends. But if a config needed selects but had no dependencies, it would not be set. Because the code would stop before getting to the select. Signed-off-by: Steven Rostedt commit 281c9dadc31ffd9f3cf637553134fefe75e849da Author: Steven Rostedt Date: Wed Apr 29 22:52:23 2009 -0400 kconfig: add make localyesconfig option This adds the option localyesconfig to make. This is similar to localmodconfig, but after it removes unnecessary modules it runs sed -i s/=m/=y/ on the .config file. It then runs "make silentoldconfig" to fix any wholes that were created by the conversion of modules to core. Signed-off-by: Steven Rostedt commit 03fa25da8335a942161a8070b3298cfd4edf9b6a Author: Steven Rostedt Date: Wed Apr 29 22:52:22 2009 -0400 kconfig: make localmodconfig to run streamline_config.pl Running the streamline_config.pl script manually can still be confusing for some users. This patch adds the localmodconfig option. This will automatically run streamline_config.pl on the current .config and then run "make silentoldconfig" to fix any wholes that might have been created. $ make localmodconfig This will remove any module configurations in .config that are not needed to compile the modules that are loaded. Signed-off-by: Steven Rostedt commit dcc60243e726978576cb02b74c84440629c69c87 Author: Steven Rostedt Date: Wed Apr 29 22:52:21 2009 -0400 kconfig: add streamline_config.pl to scripts streamline_config.pl is a very powerful tool. For those that install a kernel to a new box using the config file from the distribution know that it can take forever to compile the kernel. Making a custom config file that will still boot your box, but bring down the compile time of the kernel can be quit painful, and to ask someone that reported a bug to do this can be a large burdon since that person may not even know how to build a kernel. This script will perform "lsmod" to find all the modules loaded on the current running system. It will read all the Makefiles to map which CONFIG enables a module. It will read the Kconfig files to find the dependencies and selects that may be needed to support a CONFIG. Finally, it reads the .config file and removes any module "=m" that is not needed to enable the currently loaded modules. The output goes to standard out. Here's a way to run the script. From the Linux directory that holds a distribution .config. $ scripts/kconfig/streamline_config.pl arch/x86/Kconfig > config-sl $ mv .config config-save $ mv config-sl .config $ make oldconfig Now you have a .config that will still build all your modules, but also take much less time to build the kernel. Signed-off-by: Steven Rostedt commit ee8365f23355cdb66e7a6c5c9364e8d3ba4de32f Merge: 1b3edd9 e174d13 Author: Paul Mundt Date: Wed Aug 19 09:12:00 2009 +0900 Merge branch 'master' into sh/cachetlb Conflicts: arch/sh/kernel/Makefile_64 commit fdbc66266c21976027938642f60e0f047149a61a Author: Takashi Iwai Date: Wed Aug 19 00:18:10 2009 +0200 ALSA: hda - Fix invalid capture mixers with some ALC268 models The auto-mic clean-up patches caused regressions on some ALC268 models that have no proper input_mux but with "Input Source" mixer elements. Such a combination results in Oops when accessed. [A reason why set_capture_mixer() isn't used in patch_alc268() is that ALC268 codec have HDA_OUTPUT direction for capture volumes unlike other codecs. Thus it needs own definitions of capture elements.] This patch fixes the issues: - Add a capture mixer definition without input-source - Use the new capture mixer appropriately Signed-off-by: Takashi Iwai commit b08dc3eba0c34027010caeda258f495074ae3a54 Author: Huang Weiyi Date: Tue Aug 18 21:57:13 2009 +0800 Security/SELinux: remove duplicated #include Remove duplicated #include('s) in kernel/sysctl.c Signed-off-by: Huang Weiyi Acked-by: Eric Paris Signed-off-by: James Morris commit af15c1addf920d830b030e3489a482456904ca8c Merge: e6f25a7 dcd94db Author: Rafael J. Wysocki Date: Tue Aug 18 23:37:37 2009 +0200 Merge branch 'master' into for-linus commit b5711b8e5a437ca7d35321d19de568b4f76a7739 Author: Casey Dahlin Date: Tue Jul 28 12:29:05 2009 -0500 dlm: fix double-release of socket in error exit path The last correction to the tcp_connect_to_sock error exit path, commit a89d63a159b1ba5833be2bef00adf8ad8caac8be, can free an already freed socket, due to collision with a previous (incomplete) attempt to fix the same issue, commit 311f6fc77c51926dbdfbeab0a5d88d70f01fa3f4. Signed-off-by: Casey Dahlin Signed-off-by: David Teigland commit 294b0c9619a0469a3b385b6fc47e79f64222a692 Author: Andreas Herrmann Date: Tue Aug 18 13:02:29 2009 +0200 sched: Consolidate definition of variable sd in __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110229.GM29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0601a88d8fa4508eaa49a6d96c6685e1dece38e3 Author: Andreas Herrmann Date: Tue Aug 18 13:01:11 2009 +0200 sched: Separate out build of NUMA sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110111.GL29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit de616e36c700dc312d9021dd75f769c463f85122 Author: Andreas Herrmann Date: Tue Aug 18 13:00:13 2009 +0200 sched: Separate out build of ALLNODES sched groups from __build_sched_domains For the sake of completeness. Now all calls to init_sched_build_groups() are contained in build_sched_groups(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818110013.GK29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 86548096f252bfe2065f1ea2d301e7319a16375d Author: Andreas Herrmann Date: Tue Aug 18 12:59:28 2009 +0200 sched: Separate out build of CPU sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105928.GJ29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit a2af04cdbb748158043e31799b28c48272081600 Author: Andreas Herrmann Date: Tue Aug 18 12:58:38 2009 +0200 sched: Separate out build of MC sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105838.GI29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0e8e85c941d8f1b43bcc2e3b8b7026cdae476c53 Author: Andreas Herrmann Date: Tue Aug 18 12:57:51 2009 +0200 sched: Separate out build of SMT sched groups from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105751.GH29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit d81735355533cd4b2bce9508d86fcad24a38cf47 Author: Andreas Herrmann Date: Tue Aug 18 12:57:03 2009 +0200 sched: Separate out build of SMT sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105703.GG29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 410c408108bb85f32fe132aaf448388af0b6da64 Author: Andreas Herrmann Date: Tue Aug 18 12:56:14 2009 +0200 sched: Separate out build of MC sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105614.GF29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 87cce6622c2ab2f0e96ecc2a37133378a7db3177 Author: Andreas Herrmann Date: Tue Aug 18 12:54:55 2009 +0200 sched: Separate out build of CPU sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105455.GE29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 7f4588f3aa395632fec9ba2e15a1920f0682fda0 Author: Andreas Herrmann Date: Tue Aug 18 12:54:06 2009 +0200 sched: Separate out build of NUMA sched domain from __build_sched_domains ... to further strip down __build_sched_domains(). Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105406.GD29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 2109b99ee192764b407dc7f52babb74740eea6f9 Author: Andreas Herrmann Date: Tue Aug 18 12:53:00 2009 +0200 sched: Separate out allocation/free/goto-hell from __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105300.GC29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit 49a02c514d967921a908ac64e9c0ec0f0fc17fd8 Author: Andreas Herrmann Date: Tue Aug 18 12:51:52 2009 +0200 sched: Use structure to store local data in __build_sched_domains Signed-off-by: Andreas Herrmann Cc: Peter Zijlstra LKML-Reference: <20090818105152.GB29515@alberich.amd.com> Signed-off-by: Ingo Molnar commit cf5d11317e8f2671d3115622aec76274a40f4fc2 Author: WANG Cong Date: Tue Aug 18 19:11:40 2009 +0300 SLUB: Drop write permission to /proc/slabinfo SLUB does not support writes to /proc/slabinfo so there should not be write permission to do that either. Signed-off-by: WANG Cong Signed-off-by: Pekka Enberg commit 6e086437f35ad9fda448711732c4ce0f82aad569 Author: Frederic Weisbecker Date: Tue Aug 18 17:04:03 2009 +0200 perf tools: Save partial non-overlapping map The librarization of the thread helpers between annotate and report lost some perf report specifics. thread__insert_map() had its most uptodate version in perf report which cared about partial map overlapping. In case of overlap between two maps, perf annotate's version removes the whole old map without considering if it partially or absolutely overlaps the new map. We exported the odd version, change it by using the perf report version. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250607843-7395-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 59ae07a58012a96cfbc9b4c0f3a07ad07d2a2208 Author: Mark Brown Date: Tue Aug 18 16:01:57 2009 +0100 ASoC: WM8993 digital mixing support The WM8993 provides digital sidetone paths and also allows each channel on the audio interface to be routed separtately to the DACs and ADCs. Signed-off-by: Mark Brown commit 010ff262269c6ad84acba98eab2d7843919c7ccf Author: Mark Brown Date: Mon Aug 17 17:39:22 2009 +0100 ASoC: Add input and output AIF widgets Currently DAPM interfaces with the audio streams to and from the processor at the DAC and ADC widgets. As the digital capabilities of parts increases this is becoming a less and less able to meet the needs of parts. To meet the needs of these devices create new widgets interfacing with the TDM bus but not integrated into any other functionality. Audio can then be routed to and from these widgets using existing routing widgets. A slot number is provided in the definition but this is currently not used yet. This is intended to support devices which can use more than one TDM slot on a single interface. Signed-off-by: Mark Brown commit d1a5e44b89b35c88f8908f2b1774201704460f36 Author: Mark Brown Date: Tue Aug 18 15:24:05 2009 +0100 ASoC: Remove duplicate ADC/DAC widgets from wm_hubs.c These need to be in the CODEC since the DAIs supported by the CODECs aren't static. Signed-off-by: Mark Brown commit b2472b1d4cda3968383a9439bf09fe04114faed3 Author: Mark Brown Date: Tue Aug 18 16:02:59 2009 +0100 ASoC: Reenable S3C64xx I2S support Joonyoung Shim reports that S3C64xx I2S is working on the NCP boards so allow it to be selected in Kconfig. Signed-off-by: Mark Brown commit 0914b93f4f36d1a0233bd64da9a35e37e72304ec Author: Joonyoung Shim Date: Tue Aug 18 21:56:19 2009 +0900 ASoC: Fix data format configuration for S3C64XX IISv2 The data format configuration for S3C64xx IISv2 was hardcoded for IISMOD register. This patch changes to the defined values it. And instead of bits 9 and 10 of IISMOD we should clear bits 13 and 14. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 4273b005875c34beda4a11c9d4a9132d80378036 Author: Frederic Weisbecker Date: Tue Aug 18 16:03:46 2009 +0200 perf tools: Fix comm column adjusting The librarization of the thread helpers between annotate and report lost some perf report specifics. This patch fixes the thread comm column adjusting that has been omitted during this export. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250604226-6852-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 1314562a9ae5f39f6f595656023c1baf970831ef Author: Hiroshi Shimamoto Date: Tue Aug 18 15:06:02 2009 +0900 sched, task_struct: stack_canary is not needed without CC_STACKPROTECTOR The field stack_canary is only used with CC_STACKPROTECTOR. This patch reduces task_struct size without CC_STACKPROTECTOR. Signed-off-by: Hiroshi Shimamoto LKML-Reference: <4A8A44CA.2020701@ct.jp.nec.com> Signed-off-by: Ingo Molnar commit e174d13010a6bd52045466bc35ca5a86e3f3ba9b Author: Kuninori Morimoto Date: Tue Aug 18 07:00:20 2009 +0000 sh: Prevent heartbeat from scribbling over non-LED bits. While most platforms implement LED banks in sets of 8/16/32, some use different configurations. This adds a LED mask to the heartbeat platform data to allow platforms to constrain the bitmap, which is otherwise derived from the register size. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit b2ea8b421515ddd692c88fc5afb0e7f93e96e6cb Author: Kuninori Morimoto Date: Tue Aug 18 06:51:47 2009 +0000 sh: clkfwk: Support additional IFC divisor on SH7724. This patch updates the FRQCRA.IFC divisor values for SH7724. Despite not being initially documented, the / 3 mode is also support for the IFC division. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 7a01be28bac860086dbf659665d70928ae11c192 Author: Kuninori Morimoto Date: Tue Aug 18 06:51:28 2009 +0000 sh: mach-kfr2409: add FLLFRQ value for PLL correction. FLLFRQ setting is needed to use correct PLL clock for kfr2409. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 52cfc61bf95262d55bc00063d7597e5e008fa22e Author: H Hartley Sweeten Date: Mon Aug 17 15:37:18 2009 -0700 HID: local function should be static __usbhid_submit_report() is a local function wrapped by the exported symbol usbhid_submit_report(). As such, it should be static. Signed-off-by: H Hartley Sweeten Cc: Jiri Kosina Signed-off-by: Jiri Kosina commit 970343cd49048446da4189986cf960273588d71a Author: Wengang Wang Date: Tue Aug 18 14:25:03 2009 +0800 GFS2: free disk inode which is deleted by remote node -V2 this patch is for the same problem that Benjamin Marzinski fixes at commit b94a170e96dc416828af9d350ae2e34b70ae7347 quotation of the original problem: ---cut here--- 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. ---end cut--- after applying Benjamin's patch, I think there is still a case in which the disk inode remains even when "no space" is hit. the case is that when running d_prune_aliases() against the inode, there are one or more dentries(aliases) which have reference count number > 0. in this case the dentries won't be pruned. and even later, the reference count becomes to 0, the dentries can still be cached in memory. unfortunately, no callback come again, things come back to the state before the callback runs. thus the on disk inode remains there until in memoryinode is removed for some other reason(shrinking inode cache or unmount the volume..). this patch is to remove those dentries when their reference count becomes to 0 and the inode is deleted by remote node. for implementation, gfs2_dentry_delete() is added as dentry_operations.d_delete. the function returns true when the inode is deleted by remote node. in dput(), gfs2_dentry_delete() is called and since it returns true, the dentry is unhashed from dcache and then removed. when all dentries are removed, the in memory inode get removed so that the on disk inode is freed. Signed-off-by: Wengang Wang Signed-off-by: Steven Whitehouse commit 1f18345bdfd489fde1085bc85839d5d3645cf511 Author: Ingo Molnar Date: Tue Aug 18 10:59:47 2009 +0200 perf tools: Remove obsolete defines The _XOPEN_SOURCE* defines are not really needed on Linux and it's not like we'll port this to AIX ;-) The define also broke the build with gcc 4.4.1: CC util/trace-event-parse.o In file included from util/trace-event-parse.c:32: util/util.h:43:1: error: "_XOPEN_SOURCE" redefined So remove them. Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 8178d000506612e426753679eca1f9737d562d49 Merge: 8f28827 20002de Author: Ingo Molnar Date: Tue Aug 18 09:06:25 2009 +0200 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/perfcounters into perfcounters/core commit a022fe09700365c51d1f55884bca9754eb96a802 Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Reviewed-by: Eric Sandeen Signed-off-by: Felix Blyakher commit 20002ded4d937ca87aca6253b874920a96a763c4 Author: Paul Mackerras Date: Tue Aug 18 08:25:32 2009 +1000 perf_counter: powerpc: Add callchain support This adds support for tracing callchains for powerpc, both 32-bit and 64-bit, and both in the kernel and userspace, from PMU interrupt context. The first three entries stored for each callchain are the NIP (next instruction pointer), LR (link register), and the contents of the LR save area in the second stack frame (the first is ignored because the ABI convention on powerpc is that functions save their return address in their caller's stack frame). Because leaf functions don't have to save their return address (LR value) and don't have to establish a stack frame, it's possible for either or both of LR and the second stack frame's LR save area to have valid return addresses in them. This is basically impossible to disambiguate without either reading the code or looking at auxiliary information such as CFI tables. Since we don't want to do either of those things at interrupt time, we store both LR and the second stack frame's LR save area. Once we get past the second stack frame, there is no ambiguity; all return addresses we get are reliable. For kernel traces, we check whether they are valid kernel instruction addresses and store zero instead if they are not (rather than omitting them, which would make it impossible for userspace to know which was which). We also store zero instead of the second stack frame's LR save area value if it is the same as LR. For kernel traces, we check for interrupt frames, and for user traces, we check for signal frames. In each case, since we're starting a new trace, we store a PERF_CONTEXT_KERNEL/USER marker so that userspace knows that the next three entries are NIP, LR and the second stack frame for the interrupted context. We read user memory with __get_user_inatomic. On 64-bit, if this PMU interrupt occurred while interrupts are soft-disabled, and there is no MMU hash table entry for the page, we will get an -EFAULT return from __get_user_inatomic even if there is a valid Linux PTE for the page, since hash_page isn't reentrant. Thus we have code here to read the Linux PTE and access the page via the kernel linear mapping. Since 64-bit doesn't use (or need) highmem there is no need to do kmap_atomic. On 32-bit, we don't do soft interrupt disabling, so this complication doesn't occur and there is no need to fall back to reading the Linux PTE, since hash_page (or the TLB miss handler) will get called automatically if necessary. Note that we cannot get PMU interrupts in the interval during context switch between switch_mm (which switches the user address space) and switch_to (which actually changes current to the new process). On 64-bit this is because interrupts are hard-disabled in switch_mm and stay hard-disabled until they are soft-enabled later, after switch_to has returned. So there is no possibility of trying to do a user stack trace when the user address space is not current's address space. Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 9c1e105238c474d19905af504f2e7f42d4f71f9e Author: Paul Mackerras Date: Mon Aug 17 15:17:54 2009 +1000 powerpc: Allow perf_counters to access user memory at interrupt time This provides a mechanism to allow the perf_counters code to access user memory in a PMU interrupt routine. Such an access can cause various kinds of interrupt: SLB miss, MMU hash table miss, segment table miss, or TLB miss, depending on the processor. This commit only deals with 64-bit classic/server processors, which use an MMU hash table. 32-bit processors are already able to access user memory at interrupt time. Since we don't soft-disable on 32-bit, we avoid the possibility of reentering hash_page or the TLB miss handlers, since they run with interrupts disabled. On 64-bit processors, an SLB miss interrupt on a user address will update the slb_cache and slb_cache_ptr fields in the paca. This is OK except in the case where a PMU interrupt occurs in switch_slb, which also accesses those fields. To prevent this, we hard-disable interrupts in switch_slb. Interrupts are already soft-disabled at this point, and will get hard-enabled when they get soft-enabled later. This also reworks slb_flush_and_rebolt: to avoid hard-disabling twice, and to make sure that it clears the slb_cache_ptr when called from other callers than switch_slb, the existing routine is renamed to __slb_flush_and_rebolt, which is called by switch_slb and the new version of slb_flush_and_rebolt. Similarly, switch_stab (used on POWER3 and RS64 processors) gets a hard_irq_disable() to protect the per-cpu variables used there and in ste_allocate. If a MMU hashtable miss interrupt occurs, normally we would call hash_page to look up the Linux PTE for the address and create a HPTE. However, hash_page is fairly complex and takes some locks, so to avoid the possibility of deadlock, we check the preemption count to see if we are in a (pseudo-)NMI handler, and if so, we don't call hash_page but instead treat it like a bad access that will get reported up through the exception table mechanism. An interrupt whose handler runs even though the interrupt occurred when soft-disabled (such as the PMU interrupt) is considered a pseudo-NMI handler, which should use nmi_enter()/nmi_exit() rather than irq_enter()/irq_exit(). Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1660e9d3d04b6c636b7171bf6c08ac7b82a7de79 Author: Paul Mackerras Date: Mon Aug 17 14:36:32 2009 +1000 powerpc/32: Always order writes to halves of 64-bit PTEs On 32-bit systems with 64-bit PTEs, the PTEs have to be written in two 32-bit halves. On SMP we write the higher-order half and then the lower-order half, with a write barrier between the two halves, but on UP there was no particular ordering of the writes to the two halves. This extends the ordering that we already do on SMP to the UP case as well. The reason is that with the perf_counter subsystem potentially accessing user memory at interrupt time to get stack traces, we have to be careful not to create an incorrect but apparently valid PTE even on UP. Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a13fb1a4533f26c1e2b0204d5283b696689645af Author: Eric Sandeen Date: Tue Aug 18 00:20:23 2009 -0400 ext4: Add feature set check helper for mount & remount paths A user reported that although his root ext4 filesystem was mounting fine, other filesystems would not mount, with the: "Filesystem with huge files cannot be mounted RDWR without CONFIG_LBDAF" error on his 32-bit box built without CONFIG_LBDAF. This is because the test at mount time for this situation was not being re-checked on remount, and the normal boot process makes an ro->rw transition, so this was being missed. Refactor to make a common helper function to test the filesystem features against the type of mount request (RO vs. RW) so that we stay consistent. Addresses Red-Hat-Bugzilla: #517650 Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 38877f4e8dbbec12c6fde85ee1fce1dc27ef3290 Author: Eric Sandeen Date: Mon Aug 17 23:55:24 2009 -0400 simplify some logic in ext4_mb_normalize_request While reading through some of the mballoc code it seems that a couple spots in the size normalization function could be streamlined. The test for non-overlapping PAs can be or'd for the start & end conditions, and the tests for adjacent PAs can be else-if'd - it's essentially independently testing: if (A + B <= C) ... if (A > C) ... These cannot both be true so it seems like the else-if might be slightly more efficient and/or informative. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 0373130d5bc783751c1fbad948886916a21d4559 Author: Eric Sandeen Date: Mon Aug 17 23:51:29 2009 -0400 ext4: open-code ext4_mb_update_group_info ext4_mb_update_group_info is only called in one place, and it's extremely simple. There's no reason to have it in a separate function in a separate file as far as I can tell, it just obfuscates what's really going on. Perhaps it was intended to keep the grp->bb_* manipulation local to mballoc.c but we're already accessing other grp-> fields in balloc.c directly so this seems ok. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit bf43d84b185e2ff54598f8c58a5a8e63148b6e90 Author: Eric Sandeen Date: Mon Aug 17 23:48:51 2009 -0400 ext4: reject too-large filesystems on 32-bit kernels ext4 will happily mount a > 16T filesystem on a 32-bit box, but this is not safe; writes to the block device will wrap past 16T and the page cache can't index past 16T (232 index * 4k pages). Adding another test to the existing "too many sectors" test should do the trick. Add a comment, a relevant return value, and fix the reference to the CONFIG_LBD(AF) option as well. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit 0ccff1a49def92d6b838a6da166c89004b3a4d0c Author: H Hartley Sweeten Date: Mon Aug 17 22:38:04 2009 -0400 jbd2: bitfields should be unsigned This fixes sparse noise: error: dubious one-bit signed bitfield Signed-off-by: H Hartley Sweeten Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" Cc: Jan Kara commit f3a8308864f920d2babe76921733d76ec4a11fb8 Author: Matt Fleming Date: Tue Aug 18 11:35:09 2009 +0900 sh: Add a few missing irqflags tracing markers. save_regs contains an SR modification without an irqflags annotation, which resulted in a missing TRACE_IRQS_OFF in the interrupt exception path on SH-3/SH4. I've also moved the TRACE_IRQS_OFF/ON annotation when returning from the interrupt to just before we call __restore_all. This seems like the most logical place to put this because the annotation is for when we restore the SR register so we should delay the annotation until as last as possible. We were also missing a TRACE_IRQS_OFF in resume_kernel when CONFIG_PREEMPT is enabled. The end result is that this fixes up the lockdep engine debugging support with CONFIG_PREEMPT enabled on all SH-3/4 parts. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 487caeef9fc08c0565e082c40a8aaf58dad92bbb Author: Jan Kara Date: Mon Aug 17 22:17:20 2009 -0400 ext4: Fix possible deadlock between ext4_truncate() and ext4_get_blocks() During truncate we are sometimes forced to start a new transaction as the amount of blocks to be journaled is both quite large and hard to predict. So far we restarted a transaction while holding i_data_sem and that violates lock ordering because i_data_sem ranks below a transaction start (and it can lead to a real deadlock with ext4_get_blocks() mapping blocks in some page while having a transaction open). We fix the problem by dropping the i_data_sem before restarting the transaction and acquire it afterwards. It's slightly subtle that this works: 1) By the time ext4_truncate() is called, all the page cache for the truncated part of the file is dropped so get_block() should not be called on it (we only have to invalidate extent cache after we reacquire i_data_sem because some extent from not-truncated part could extend also into the part we are going to truncate). 2) Writes, migrate or defrag hold i_mutex so they are stopped for all the time of the truncate. This bug has been found and analyzed by Theodore Tso . Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 75d9e34698540e96b422293e1d76ab02cc7faefb Author: Konrad Eisele Date: Mon Aug 17 00:13:33 2009 +0000 sparc, leon: sparc-leon specific SRMMU initialization and bootup fixes. The sparc-leon caches are virtually tagged so a flush is needed on ctx switch. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit e63829de3d03f92cea2b26119e0aa9a7043b9913 Author: Konrad Eisele Date: Mon Aug 17 00:13:32 2009 +0000 sparc,leon: Added support for AMBAPP bus. The device is a AMBA bus if it is a child of prom node "ambapp" (AMBA plug and play). Two functions leon_trans_init() and leon_node_init() (defined in sparc/kernel/leon_kernel.c) are called in the prom_build_tree() path if CONFIG_SPARC_LEON is defined. leon_node_init() will build up the device tree using AMBA plug and play. Also: a extra check was addes to prom_common.c:build_one_prop() in case a rom-node is undefined which can happen for SPARC-LEON because it creates only a minimum nodes to emulate sparc behaviour. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 0fd7ef1fe0e6e70c7851ce65a2eb8a8d3f49147e Author: Konrad Eisele Date: Mon Aug 17 00:13:31 2009 +0000 sparc,leon: Introduce the sparc-leon CPU type. Add sparc_leon enum, M_LEON|M_LEON3_SOC machine. Add compilation of leon.c in mm and kernel if CONFIG_SPARC_LEON is defined. Add sparc_leon dependent initialization to switch statements + head.S. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 97fb58fa9bb509b49090a1c62ed1b660d518c66b Author: Konrad Eisele Date: Mon Aug 17 00:13:30 2009 +0000 sparc,leon: Redefine MMU register access asi if CONFIG_LEON SPARC-LEON has a different ASI for mmu register accesses. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 5213a780295895630530aebacdd19217a5379c9a Author: Konrad Eisele Date: Mon Aug 17 00:13:29 2009 +0000 sparc,leon: CONFIG_SPARC_LEON option and leon specific files. The macro CONFIG_SPARC_LEON will shield, if undefined, the sun-sparc code from LEON specific code. In particular include/asm/leon.h will get empty through #ifdef and leon_kernel.c and leon_mm.c will not be compiled. Signed-off-by: Konrad Eisele Reviewed-by: Sam Ravnborg Signed-off-by: David S. Miller commit 9599b0e597d810be9b8f759ea6e9619c4f983c5e Author: Jan Kara Date: Mon Aug 17 21:23:17 2009 -0400 jbd2: Annotate transaction start also for jbd2_journal_restart() lockdep annotation for a transaction start has been at the end of jbd2_journal_start(). But a transaction is also started from jbd2_journal_restart(). Move the lockdep annotation to start_this_handle() which covers both cases. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 553f9008939638335836eec834f4dea310c17eae Author: Mingming Date: Fri Sep 18 13:34:55 2009 -0400 ext4: Show unwritten extent flag in ext4_ext_show_leaf() ext4_ext_show_leaf() will display the leaf extents when extent debugging is enabled. Printing out the unwritten bit is useful for debugging unwritten extent, allow us to see the unwritten extents vs written extents, after the unwritten extents are splitted or converted. Signed-off-by: Mingming Cao commit 84fe3bef59dc45a1cb0d2f9b0aefa8f1fbfbdf98 Author: Mingming Date: Tue Sep 1 08:44:37 2009 -0400 ext4: Compile warning fix when EXT_DEBUG enabled When EXT_DEBUG is enabled I received the following compile warning on PPC64: CC [M] fs/ext4/inode.o CC [M] fs/ext4/extents.o fs/ext4/extents.c: In function ‘ext4_ext_rm_leaf’: fs/ext4/extents.c:2097: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 2 has type ‘ext4_lblk_t’ fs/ext4/extents.c: In function ‘ext4_ext_get_blocks’: fs/ext4/extents.c:2789: warning: format ‘%u’ expects type ‘unsigned int’, but argument 4 has type ‘long unsigned int’ fs/ext4/extents.c:2852: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 3 has type ‘ext4_lblk_t’ fs/ext4/extents.c:2953: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ CC [M] fs/ext4/migrate.o The patch fixes compile warning. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" Index: linux-2.6.31-rc4/fs/ext4/extents.c =================================================================== commit 50797481a7bdee548589506d7d7b48b08bc14dcd Author: Theodore Ts'o Date: Fri Sep 18 13:34:02 2009 -0400 ext4: Avoid group preallocation for closed files Currently the group preallocation code tries to find a large (512) free block from which to do per-cpu group allocation for small files. The problem with this scheme is that it leaves the filesystem horribly fragmented. In the worst case, if the filesystem is unmounted and remounted (after a system shutdown, for example) we forget the fact that wee were using a particular (now-partially filled) 512 block extent. So the next time we try to allocate space for a small file, we will find *another* completely free 512 block chunk to allocate small files. Given that there are 32,768 blocks in a block group, after 64 iterations of "mount, write one 4k file in a directory, unmount", the block group will have 64 files, each separated by 511 blocks, and the block group will no longer have any free 512 completely free chunks of blocks for group preallocation space. So if we try to allocate blocks for a file that has been closed, such that we know the final size of the file, and the filesystem is not busy, avoid using group preallocation. Signed-off-by: "Theodore Ts'o" commit 63cd91dfd4976cb9687b07e9a9864912631d2e08 Author: Magnus Damm Date: Mon Aug 17 09:41:40 2009 +0000 sh: SuperH Mobile Software Standby support for cpuidle This patch adds "SuperH Mobile Standby Mode [SF]" to the list of cpuidle sleep modes. If the software latency requirements from cpuidle are met together with fulfilled hardware requirements then deep sleep modes can be entered. Tested on sh7722 and sh7724 with "Sleep Mode", "Sleep Mode + SF" and "Software Standby Mode + SF" together with a multimedia work load and flood ping without packet drop. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 309214af53f030e0664aea011a9f628c5eb9cc2d Author: Magnus Damm Date: Mon Aug 17 09:27:29 2009 +0000 sh: rework SuperH Mobile sleep code exception handling This patch updates the exception handling in the sleep code for SuperH Mobile. With the patch applied the sleep code always rewrites the VBR and resumes from the exception vector, re-initializes hardware and jumps straight to the original interrupt vector. Tested on sh7722 and sh7724 with "Sleep Mode", "Sleep Mode + SF" and "Software Standby Mode + SF" with CONFIG_SUSPEND. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1a8887d81ac4bbee6153b4bc9b9f9e099fb5f07e Author: Sathya Perla Date: Mon Aug 17 00:58:41 2009 +0000 be2net: destroy mcc queue before tx queues As mcc queue uses the tx event queue. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit b628bde2b5390776efc30837798d016ec1aa3ebe Author: Sathya Perla Date: Mon Aug 17 00:58:26 2009 +0000 be2net: refactor be_msix_(un)register() code. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a65027e4d80ece5a5a3bd4fc4808a83208430929 Author: Sathya Perla Date: Mon Aug 17 00:58:04 2009 +0000 be2net: Set mac addr in hw regardless of netif_running() be_mac_addr_set() currently is broken when netif_running() is false. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit ae6e2aef6c03ccb06c6baaa1b77cc0e0ae226faf Author: Randy Dunlap Date: Mon Aug 17 10:35:49 2009 +0000 phonet: fix build when PROC_FS is disabled Fix phonet build when PROC_FS is not enabled: net/built-in.o: In function `pn_sock_open': socket.c:(.text+0x23c649): undefined reference to `seq_open_net' net/built-in.o:(.rodata+0x21018): undefined reference to `seq_release_net' Signed-off-by: Randy Dunlap Acked-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 3a5209e3b26386fd174820ee6e8e27479b24869a Author: Randy Dunlap Date: Mon Aug 17 16:00:30 2009 -0700 trace_skb: fix build when CONFIG_NET is not enabled Fix trace_skb_sources build when CONFIG_NET is not enabled: kernel/built-in.o: In function `probe_skb_dequeue': trace_skb_sources.c:(.text+0xd9152): undefined reference to `init_net' trace_skb_sources.c:(.text+0xd9188): undefined reference to `dev_get_by_index' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 3f9edc2382d5f7c97c693838abb207a9d6bab1fa Author: Frederic Weisbecker Date: Mon Aug 17 23:07:51 2009 +0200 perf tools: Make trace event format parser aware of cast to pointers The ftrace event format parser handles the usual casts but not the cast to pointers. Such casts have been introduced recently with the module trace events and raise the following parsing error: Fatal: bad op token ) This is because it considers the "*" character as a binary operator. Make it then aware of casts to pointers. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 9df37ddd81f54dd41dc4958055c3a3c9b6840aef Author: Frederic Weisbecker Date: Mon Aug 17 23:07:50 2009 +0200 perf tools: Record events info also when :record suffix is used. You can enable a counter's PERF_SAMPLE_RAW attribute in two fashions: - using the -R option (every counters get PERF_SAMPLE_RAW) - using the :record suffix in a trace event counter name Currently we record the events info in a trace.info file from perf record when the former method is used but we omit it with the latter. Check both situations. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4bf2364a951d3c043e132e4451d90c7bc74dee83 Author: Frederic Weisbecker Date: Mon Aug 17 23:07:49 2009 +0200 perf tools: Warn while running perf trace without sample When a user runs perf trace using an input with logged counters without PERF_SAMPLE_RAW attribute, warn by giving a nice tip. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6ede59c412579303a25c11f93d4d262e100fc7e6 Author: Frederic Weisbecker Date: Mon Aug 17 23:07:48 2009 +0200 perf tools: Fix spelling mistake in callchain error While running perf report -g in a perf.data file that hasn't been recorded in callchain mode, the error reported has a spelling issue: ./perf report -g selected -c but no callchain data. Did you call perf record without -g? Fix it. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: Steven Rostedt LKML-Reference: <1250543271-8383-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 65cec8e3db606608fd1f8dfc4a1c7c37bfba9173 Author: Russell King Date: Mon Aug 17 20:02:06 2009 +0100 ARM: implement highpte Add the ARM implementation of highpte, which allows PTE tables to be placed in highmem. Unfortunately, we do not offer highpte support when support for L2 cache is enabled. Signed-off-by: Russell King commit e6f25a7b2398581a5f96bf9021d0b22c9647acf4 Merge: 3e2bcad 894ef82 Author: Rafael J. Wysocki Date: Mon Aug 17 20:42:36 2009 +0200 Merge branch 'master' into for-linus commit b7f42ab2e237f08a5bbcefa17473e80eb05e725c Author: Yinghai Lu Date: Mon Aug 17 11:19:40 2009 -0700 x86, apic: Move dmar_table_init() out of enable_IR() On an x2apic system, we got: [ 1.818072] ------------[ cut here ]------------ [ 1.820376] WARNING: at kernel/lockdep.c:2461 lockdep_trace_alloc+0xa5/0xe9() [ 1.835282] Hardware name: ASSY, [ 1.839006] Modules linked in: [ 1.841253] Pid: 1, comm: swapper Not tainted 2.6.31-rc5-tip-03926-g39aaa80-dirty #510 [ 1.858056] Call Trace: [ 1.859913] [] ? lockdep_trace_alloc+0xa5/0xe9 [ 1.876270] [] warn_slowpath_common+0x8d/0xd0 [ 1.879132] [] warn_slowpath_null+0x27/0x3d [ 1.896823] [] lockdep_trace_alloc+0xa5/0xe9 [ 1.900659] [] ? lock_release_holdtime+0x2f/0x199 [ 1.917188] [] kmem_cache_alloc_notrace+0x42/0x111 [ 1.922320] [] ? reserve_memtype+0x152/0x518 [ 1.938137] [] ? pat_pagerange_is_ram+0x4a/0x91 [ 1.941730] [] reserve_memtype+0x152/0x518 [ 1.958115] [] __ioremap_caller+0x1dd/0x30f [ 1.975507] [] ? acpi_os_map_memory+0x2a/0x47 [ 1.978987] [] ioremap_nocache+0x2a/0x40 [ 2.031400] [] ? trace_hardirqs_off+0x20/0x36 [ 2.036096] [] acpi_os_map_memory+0x2a/0x47 [ 2.046263] [] acpi_tb_verify_table+0x3d/0x85 [ 2.050349] [] ? _spin_unlock_irqrestore+0x50/0x76 [ 2.067327] [] acpi_get_table_with_size+0x64/0xd9 [ 2.070860] [] ? _spin_unlock_irqrestore+0x50/0x76 [ 2.088000] [] dmar_table_detect+0x33/0x70 [ 2.092047] [] dmar_table_init+0x43/0x428 [ 2.106854] [] enable_IR+0x1c/0x8d [ 2.110256] [] enable_IR_x2apic+0x7c/0x19e [ 2.127139] [] native_smp_prepare_cpus+0x139/0x3b8 [ 2.145175] [] kernel_init+0x71/0x1da [ 2.148913] [] child_rip+0xa/0x20 [ 2.152349] [] ? restore_args+0x0/0x30 [ 2.167931] [] ? kernel_init+0x0/0x1da [ 2.171671] [] ? child_rip+0x0/0x20 [ 2.187607] ---[ end trace a7919e7f17c0a725 ]--- Venkatesh Pallipadi said: | Looks like the problem started with this commit | | commit ce69a784504222c3ab6f1b3c357d09ec5772127a | Author: Gleb Natapov | Date: Mon Jul 20 15:24:17 2009 +0300 | | x86/apic: Enable x2APIC without interrupt remapping under KVM | | Before this commit, dmar_table_init() was getting called | with interrupts enabled and after this commit, it is getting | called with interrupts disabled. so try to move out dmar_table_init out of that function. Analyzed-by: Venkatesh Pallipadi Signed-off-by: Yinghai Lu Cc: Peter Zijlstra Cc: Gleb Natapov Cc: Suresh Siddha Cc: "Pallipadi, Venkatesh" LKML-Reference: <4A899F3C.2050104@kernel.org> Signed-off-by: Ingo Molnar commit 62a3207b8cf3de35368cdc3822b30b82d59eea95 Author: H. Peter Anvin Date: Mon Aug 17 11:16:16 2009 -0700 x86, intel_txt: Handle ACPI_SLEEP without X86_TRAMPOLINE On 32 bits, we can have CONFIG_ACPI_SLEEP set without implying CONFIG_X86_TRAMPOLINE. In that case, we simply do not need to mark the trampoline as a MAC region. Signed-off-by: H. Peter Anvin Cc: Shane Wang Cc: Joseph Cihula commit d3c9e9a1390f8a34da8b69e09fa1afa90f5067f4 Author: Mark Brown Date: Mon Aug 17 18:52:47 2009 +0100 ASoC: Implement TDM configuration for WM8993 Note that the number of slots used internally is specified in terms of stereo slots while the external API works with mono slots. Signed-off-by: Mark Brown commit 0182dcc52c759d005cc3e65deadee9f166cdd7d0 Author: Mark Brown Date: Mon Aug 17 18:51:44 2009 +0100 ASoC: Fix WM8993 MCLK configuration for high frequency MCLKs When used without the PLL we were accidentally clearing the MCLK/2 divider, resulting in a double rate SYSCLK when the divider should have been used. Signed-off-by: Mark Brown commit 29c08460d472e427cec5e5dcb12ec74c923f8250 Merge: 9b2616c baa28e3 Author: Russell King Date: Mon Aug 17 18:16:28 2009 +0100 Merge branch 'next-s3c' of git://aeryn.fluff.org.uk/bjdooks/linux into devel-stable commit 1ca04065c3569beb42b9376952df8c96f430f753 Author: Mark Brown Date: Mon Aug 17 16:26:59 2009 +0100 ASoC: Power speakers and headphones simultaneously Speaker and headphone outputs do not need to be handled separately since they can't be part of the same path. Signed-off-by: Mark Brown commit 5f9c39dca52d3e639ac899e169f408c6fd8396cc Author: Frederic Weisbecker Date: Mon Aug 17 16:18:08 2009 +0200 perf tools: Add perf trace This adds perf trace into the set of perf tools. It is written to fetch the tracepoint samples from perf events and display them, according to the events information given by the debugfs files through the util/trace* tools. It is a rough first shot and doesn't yet handle the cpu, timestamps fields and some other things. Example: perf record -f -e workqueue:workqueue_execution:record -F 1 -a perf trace kblockd/0-236 [000] 0.000000: workqueue_execution: thread=:236 func=cfq_kick_queue+0x0 kondemand/0-360 [000] 0.000000: workqueue_execution: thread=:360 func=do_dbs_timer+0x0 kondemand/0-360 [000] 0.000000: workqueue_execution: thread=:360 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0 Todo: - A lot of things! Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit ea4010d1363699770a9894493bafe556a59a144c Author: Steven Rostedt Date: Mon Aug 17 16:18:07 2009 +0200 perf tools: Add trace event information parser Add util/trace-event-parse.c which provides the handlers to parse the ftrace events info from the stream and handles the ftrace perf samples event printing. This file is a rename of the parse-events.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is a perf tools integration. [ fweisbec@gmail.com: various changes for perf tools integration. ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 538bafb5cc92a86d97b427421231f185574fe3db Author: Steven Rostedt Date: Mon Aug 17 16:18:06 2009 +0200 perf tools: Add trace event debugfs stream reader Add util/trace-event-read.c which handles trace events informations reading. This file is a rename of the trace-read.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is its perf tools integration. [ fweisbec@gmail.com: various changes for perf tools integration. ] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 520509436417901f30106e021e037c75dfe5386c Author: Steven Rostedt Date: Mon Aug 17 16:18:05 2009 +0200 perf tools: Add trace event debugfs IO handler Add util/trace-event-info.c which handles ftrace file IO from debugfs and provides general helpers to fetch/save ftrace events informations. This file is a rename of the trace-cmd.c file from the trace-cmd tools, written by Steven Rostedt and Josh Triplett, originated from the git tree: git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git This is a perf tools integration. For now, ftrace events information is saved in a separate file than the standard perf.data [fweisbec@gmail.com: various changes for perf tools integration] Signed-off-by: Steven Rostedt Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith Cc: "Luis Claudio R. Goncalves" Cc: Clark Williams Cc: Jon Masters Cc: Mathieu Desnoyers Cc: Christoph Hellwig Cc: Xiao Guangrong Cc: Zhaolei Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Tom Zanussi Cc: "Frank Ch. Eigler" Cc: Roland McGrath Cc: Jason Baron Cc: Paul Mackerras Cc: Jiaying Zhang Cc: Anton Blanchard LKML-Reference: <1250518688-7207-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit b14b76a56e49946488637ee68926c5180c39fdb1 Author: Mark Brown Date: Mon Aug 17 11:55:38 2009 +0100 ASoC: Fix handling of bias levels for non-DAPM codecs If the system doesn't have any DAPM widgets then we can't use their state to check if the bias level for the codec should be up. Signed-off-by: Mark Brown commit 0c093fb5421a648fae46fce17277bdb358fe017b Author: Shine Liu Date: Mon Aug 17 18:52:01 2009 +0800 ASoC: UDA134X: Fix mistaken mute/unmute code There is a mistake in current uda134x_mute function: mute_reg has been changed in line 162 or line 164, so uda134x_write should write "mute_reg" but not "mute_reg & ~(1<<2)" to UDA134X_DATA010. Signed-off-by: Shine Liu Signed-off-by: Mark Brown commit 18dd0aa5afea7dc33953aa87de696e39074bbf78 Author: Clemens Ladisch Date: Mon Aug 17 12:28:09 2009 +0200 sound: snd_ctl_remove_user_ctl: prevent removal of kernel controls Ensure that userspace can remove only user controls. Controls created by kernel drivers must not be removed because they might be referenced in calls to snd_ctl_notify(). Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f217ac59b6dd73105abc13da3fe656391fa6d135 Author: Clemens Ladisch Date: Mon Aug 17 12:27:22 2009 +0200 sound: snd_ctl_remove_unlocked_id: simplify user control counting Move the decrementing of the user controls counter from snd_ctl_elem_remove to snd_ctl_remove_unlocked_id; this saves the separate locking of the controls semaphore, and therefore removes a harmless race. Since the purpose of the function is to operate on user controls (the control being unlocked is just a prerequisite), rename it to snd_ctl_remove_user_ctl. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 317b80817fcaeac7ae7e062fcccef0d2aba38a78 Author: Clemens Ladisch Date: Mon Aug 17 12:26:34 2009 +0200 sound: snd_ctl_remove_unlocked_id: simplify error paths Use a common exit path to release the mutex and to return a possible error. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 2a031aedf7f574a01eb725507cb303d4d7b8b23a Author: Clemens Ladisch Date: Mon Aug 17 12:25:52 2009 +0200 sound: snd_ctl_elem_add: fix value count check Make sure that no user element that has no values can be added. The check for count>1024 is not needed because the count is checked later for the individual control types. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 0aa87445842036f88b53db7f377ad8376bd94ab8 Author: Steven Whitehouse Date: Fri Aug 14 15:24:46 2009 +0100 GFS2: Add a document explaining GFS2's uevents This will be essential reading for anybody who wants to understand how GFS2 interacts with the userland gfs_controld, and the details of recovery. Signed-off-by: Steven Whitehouse Signed-off-by: Bob Peterson commit 31e54b01f3f00b595aac02e887960e5dcc575844 Author: Steven Whitehouse Date: Thu Aug 13 12:18:08 2009 +0100 GFS2: Add sysfs link to device This adds a link from the per-gfs2 sb sysfs directory to the block device upon which the filesystem is mounted. The link is called "device", strangely enough :-) Signed-off-by: Steven Whitehouse commit 05164e5b37a8329bfbcf72f526302cb2dd885fbd Author: Steven Whitehouse Date: Mon Aug 17 11:06:43 2009 +0100 GFS2: Replace assertion with proper error handling One fewer assert, one more place we can recover gracefully if there is an error. Signed-off-by: Steven Whitehouse commit 6050b9c74f24513191fc6b5e4b3583e38d146bf5 Author: Steven Whitehouse Date: Fri Jul 31 16:19:40 2009 +0100 GFS2: Improve error handling in inode allocation A little while back, block allocation was given some improved error handling which meant that -EIO was returned in the case of there being a problem in the resource group data. In addition a message is printed explaning what went wrong and how to fix it. This extends that error handling so that it also covers inode allocation too. Signed-off-by: Steven Whitehouse commit 440d6da207e9eef2b576331cfedd5ecae9068663 Author: Steven Whitehouse Date: Fri Jul 31 12:16:25 2009 +0100 GFS2: Add some more info to uevents With each uevent, we now always include the journal ID. We can't call it JID since that is already in use by some of the individual events relating to recovery, so we use JOURNALID instead. We don't send the JOURNALID for spectator mounts, since there isn't one. Also the ADD event now has both RDONLY and SPECTATOR information to match that of the ONLINE event. Signed-off-by: Steven Whitehouse commit 8633ecfaba4ce53c094f8db92dbd7ac474a7aa36 Author: Steven Whitehouse Date: Fri Jul 31 11:07:29 2009 +0100 GFS2: Add online uevent to GFS2 We already have an offline uevent (used when a withdraw occurs) but no online uevent. This adds an online uevent so that userspace will be able to detect a successful mount by means other than not receiving a remove event after the add & recovery (change) uevents. It has also been added to the remount path as well - we can't use a change uevent there as older GFS2 userspace acts on change uevents according to the state that it thinks the fs is in, so we can't easily add any new ones. Signed-off-by: Steven Whitehouse commit 471e3dec3abe2d41e8c742046353fcb01bc2459e Author: Janusz Krzysztofik Date: Tue Aug 11 21:44:29 2009 +0200 ASoC: OMAP: Enhance OMAP1510 DMA progress software counter Enhance period_index accuracy, particularly just before buffer rewind, by making use of DMA interrupt status flags in addition to simply counting up interrupts. Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 64844a6ac8ddd586cb832fea7cf2e93e5e7e03f4 Author: Janusz Krzysztofik Date: Mon Aug 10 10:50:04 2009 +0200 ASoC: OMAP: Make use of DMA channel self linking on OMAP1510 Use newly implemented DMA channel self linking on OMAP1510 like on other OMAP models. Remove unnecessary DMA transfer restart from interrupt handler routine. The interrupt routine used to maintain a period index, originally needed for counting up periods up to a full buffer in order to restart the DMA transfer. For some time, this counter is also used as a replacement for hardware DMA progress counter that has been found unusable on OMAP1510 in case of playback. Thus, the period index calculation cannot be omitted completely. However, the accuracy of this counter can still suffer from missing DMA interrupts. In order to work correctly, it requires patch 1 from this series also applied: [RFC][PATCH 1/3] ARM: OMAP: DMA: Add support for DMA channel self linking on OMAP1510 Created against linux-2.6.31-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 3be04b471b95b870bd129a138463756629e86f3f Author: Li Zefan Date: Mon Aug 17 16:54:03 2009 +0800 ftrace: Simplify seqfile code Use seq_release_private(). Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Li Zefan LKML-Reference: <4A891AAB.8090701@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2fc5f0cff4cf1c4cd336d0f61f11bca6eeee1d84 Author: Li Zefan Date: Mon Aug 17 16:53:37 2009 +0800 trace_stack: Simplify seqfile code Extract duplicate code in t_start() and t_next(). Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A891A91.4030602@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 97d53202a5670a08b79c8ef2e4fff1c1ee21317c Author: Li Zefan Date: Mon Aug 17 16:52:53 2009 +0800 trace_stat: Fix missing entry in stat file One entry is missing in the output of a stat file. The cause is, when stat_seq_start() is called the 2nd time, we should start from the (pos-1)th elem in the rbtree but not pos, because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A891A65.70009@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit ba8b3a40ba7e06d00c27508f090803af90e8dbbf Author: Li Zefan Date: Mon Aug 17 16:55:18 2009 +0800 tracing/syscalls: Fix to print parameter types When syscall tracing was implemented as a tracer, "syscall_arg_type" trace option could be set to enable the display of syscall parameter types. Now this option is gone since it's no longer a tracer, but the code is still there but dead. So we remove dead code and re-enable the printing of paramete types via the verbose option: # echo verbose > trace_options # echo syscalls > set_event # cat trace ... bash-3331 [000] 95.348937: sys_fcntl64 -> 0x1 bash-3331 [000] 95.348942: sys_close(unsigned int fd: a) ... Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Jason Baron LKML-Reference: <4A891AF6.5050102@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 7ead8b8313d92b3a69a1a61b0dcbc4cd66c960dc Author: Li Zefan Date: Mon Aug 17 16:56:28 2009 +0800 tracing/events: Add module tracepoints Add trace points to trace module_load, module_free, module_get, module_put and module_request, and use trace_event facility to get the trace output. Here's the sample output: TASK-PID CPU# TIMESTAMP FUNCTION | | | | | <...>-42 [000] 1.758380: module_request: fb0 wait=1 call_site=fb_open ... <...>-60 [000] 3.269403: module_load: scsi_wait_scan <...>-60 [000] 3.269432: module_put: scsi_wait_scan call_site=sys_init_module refcnt=0 <...>-61 [001] 3.273168: module_free: scsi_wait_scan ... <...>-1021 [000] 13.836081: module_load: sunrpc <...>-1021 [000] 13.840589: module_put: sunrpc call_site=sys_init_module refcnt=-1 <...>-1027 [000] 13.848098: module_get: sunrpc call_site=try_module_get refcnt=0 <...>-1027 [000] 13.848308: module_get: sunrpc call_site=get_filesystem refcnt=1 <...>-1027 [000] 13.848692: module_put: sunrpc call_site=put_filesystem refcnt=0 ... modprobe-2587 [001] 1088.437213: module_load: trace_events_sample F modprobe-2587 [001] 1088.437786: module_put: trace_events_sample call_site=sys_init_module refcnt=0 Note: - the taints flag can be 'F', 'C' and/or 'P' if mod->taints != 0 - the module refcnt is percpu, so it can be negative in a specific cpu Signed-off-by: Li Zefan Acked-by: Rusty Russell Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Rusty Russell LKML-Reference: <4A891B3C.5030608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 399b5da29b9f851eb7b96e2882097127f003e87c Author: Thomas Gleixner Date: Thu Aug 13 13:21:38 2009 +0200 genirq: Support nested threaded irq handling Interrupt chips which are behind a slow bus (i2c, spi ...) and demultiplex other interrupt sources need to run their interrupt handler in a thread. The demultiplexed interrupt handlers need to run in thread context as well and need to finish before the demux handler thread can reenable the interrupt line. So the easiest way is to run the sub device handlers in the context of the demultiplexing handler thread. To avoid that a separate thread is created for the subdevices the function set_nested_irq_thread() is provided which sets the IRQ_NESTED_THREAD flag in the interrupt descriptor. A driver which calls request_threaded_irq() must not be aware of the fact that the threaded handler is called in the context of the demultiplexing handler thread. The setup code checks the IRQ_NESTED_THREAD flag which was set from the irq chip setup code and does not setup a separate thread for the interrupt. The primary function which is provided by the device driver is replaced by an internal dummy function which warns when it is called. For the demultiplexing handler a helper function handle_nested_irq() is provided which calls the demux interrupt thread function in the context of the caller and does the proper interrupt accounting and takes the interrupt disabled status of the demultiplexed subdevice into account. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit 70aedd24d20e75198f5a0b11750faabbb56924e2 Author: Thomas Gleixner Date: Thu Aug 13 12:17:48 2009 +0200 genirq: Add buslock support Some interrupt chips are connected to a "slow" bus (i2c, spi ...). The bus access needs to sleep and therefor cannot be called in atomic contexts. Some of the generic interrupt management functions like disable_irq(), enable_irq() ... call interrupt chip functions with the irq_desc->lock held and interrupts disabled. This does not work for such devices. Provide a separate synchronization mechanism for such interrupt chips. The irq_chip structure is extended by two optional functions (bus_lock and bus_sync_and_unlock). The idea is to serialize the bus access for those operations in the core code so that drivers which are behind that bus operated interrupt controller do not have to worry about it and just can use the normal interfaces. To achieve this we add two function pointers to the irq_chip: bus_lock and bus_sync_unlock. bus_lock() is called to serialize access to the interrupt controller bus. Now the core code can issue chip->mask/unmask ... commands without changing the fast path code at all. The chip implementation merily stores that information in a chip private data structure and returns. No bus interaction as these functions are called from atomic context. After that bus_sync_unlock() is called outside the atomic context. Now the chip implementation issues the bus commands, waits for completion and unlocks the interrupt controller bus. The irq_chip implementation as pseudo code: struct irq_chip_data { struct mutex mutex; unsigned int irq_offset; unsigned long mask; unsigned long mask_status; } static void bus_lock(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); mutex_lock(&data->mutex); } static void mask(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); irq -= data->irq_offset; data->mask |= (1 << irq); } static void unmask(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); irq -= data->irq_offset; data->mask &= ~(1 << irq); } static void bus_sync_unlock(unsigned int irq) { struct irq_chip_data *data = get_irq_desc_chip_data(irq); if (data->mask != data->mask_status) { do_bus_magic_to_set_mask(data->mask); data->mask_status = data->mask; } mutex_unlock(&data->mutex); } The device drivers can use request_threaded_irq, free_irq, disable_irq and enable_irq as usual with the only restriction that the calls need to come from non atomic context. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit b25c340c195447afb1860da580fe2a85a6b652c5 Author: Thomas Gleixner Date: Thu Aug 13 12:17:22 2009 +0200 genirq: Add oneshot support For threaded interrupt handlers we expect the hard interrupt handler part to mask the interrupt on the originating device. The interrupt line itself is reenabled after the hard interrupt handler has executed. This requires access to the originating device from hard interrupt context which is not always possible. There are devices which can only be accessed via a bus (i2c, spi, ...). The bus access requires thread context. For such devices we need to keep the interrupt line masked until the threaded handler has executed. Add a new flag IRQF_ONESHOT which allows drivers to request that the interrupt is not unmasked after the hard interrupt context handler has been executed and the thread has been woken. The interrupt line is unmasked after the thread handler function has been executed. Note that for now IRQF_ONESHOT cannot be used with IRQF_SHARED to avoid complex accounting mechanisms. For oneshot interrupts the primary handler simply returns IRQ_WAKE_THREAD and does nothing else. A generic implementation irq_default_primary_handler() is provided to avoid useless copies all over the place. It is automatically installed when request_threaded_irq() is called with handler=NULL and thread_fn!=NULL. Signed-off-by: Thomas Gleixner Cc: Mark Brown Cc: Dmitry Torokhov Cc: Trilok Soni Cc: Pavel Machek Cc: Brian Swetland Cc: Joonyoung Shim Cc: m.szyprowski@samsung.com Cc: t.fujak@samsung.com Cc: kyungmin.park@samsung.com, Cc: David Brownell Cc: Daniel Ribeiro Cc: arve@android.com Cc: Barry Song <21cnbao@gmail.com> commit 96004bb2a1e4ccad2b1eeb92e51031d1e8e609e3 Author: Li Zefan Date: Mon Aug 17 13:40:59 2009 +0800 lockdep: Simplify lock_stat seqfile code - make ls_next() call ls_start() - remove redundant code in lock_stat_release() Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED6B.6030602@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 12aac19d4ba41019a1748f49d3c5d259b1bfb26d Author: Li Zefan Date: Mon Aug 17 13:40:39 2009 +0800 lockdep: Simplify lockdep_chains seqfile code - make lc_next() call lc_start() - use lock_chains directly instead of storing it in m->private Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED57.5060609@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8109e1de8502421f9efff1359f2779b1adcc0724 Author: Li Zefan Date: Mon Aug 17 13:40:17 2009 +0800 lockdep: Simplify lockdep seqfile code Use seq_list_start_head() and seq_list_next(). Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED41.5000000@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit e9d65725bdf5954283625ca4d770bfc34f2ae56a Author: Li Zefan Date: Mon Aug 17 13:39:49 2009 +0800 lockdep: Fix missing entries in /proc/lock_chains Two entries are missing in the output of /proc/lock_chains. One is chains[1]. When lc_next() is called the 1st time, chains[0] is returned. And when it's called the 2nd time, chains[2] is returned. The other missing ons is, when lc_start() is called the 2nd time, we should start from chains[@pos-1] but not chains[@pos], because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED25.2040306@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 212274347fc4d2a7c56bf6c953b02c809e7e0be1 Author: Li Zefan Date: Mon Aug 17 13:39:33 2009 +0800 lockdep: Fix missing entry in /proc/lock_stat One entry is missing in the output of /proc/lock_stat. The cause is, when ls_start() is called the 2nd time, we should start from stats[@pos-1] but not stats[@pos], because pos == 0 is the header. Signed-off-by: Li Zefan Cc: Peter Zijlstra LKML-Reference: <4A88ED15.20800@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8abf9196008a7f06841b10769d1aed3f28c1d314 Author: Alexey Dobriyan Date: Thu Aug 13 10:05:43 2009 +0000 sparc64: cheaper asm/uaccess.h inclusion sched.h inclusion is definitely not needed like in 32-bit version, remove it, fixup compilation. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 3f389635102e0dd2f85ebfe7fd549942b5bbc33b Author: Jaswinder Singh Rajput Date: Wed Aug 12 22:49:47 2009 +0000 SPARC: fix duplicate declaration Only difference for 32 and 64 bit version is dma64_addr_t and rest is same. Also fixed the following 'make includecheck' warning: arch/sparc/include/asm/types.h: asm-generic/int-ll64.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 48e46b7b311c54525712c28004f0a59f2c931d30 Author: Jurij Smakov Date: Sun Aug 16 18:21:47 2009 -0700 sparc64: build compressed image (zImage) by default Besides creating the uncompressed vmlinux image for sparc64, also create a compressed zImage. This is more consistent with other architectures and required to make the 'deb-pkg' target work. Signed-off-by: Jurij Smakov Signed-off-by: Frans Pop Signed-off-by: David S. Miller commit baa28e3530375e0bef2c53243634a1c78f5c02f3 Author: Ben Dooks Date: Mon Aug 3 15:11:29 2009 +0100 ARM: Show FIQ in /proc/interrupts on CONFIG_FIQ The show_fiq_list() call in arch/arm/kernel/irq.c currently depends on CONFIG_ARCH_ACORN, but this is not the only architecture that supports the usage of FIQ. Change to calling this if CONFIG_FIQ is set (which is what arch/arm/kernel/fiq.c is built by). Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit db616eb67604242c11bfbb331bb143bfe4a2e386 Author: Ben Dooks Date: Sun Aug 16 23:54:58 2009 +0100 ARM: S3C: Add S3C_DEV_NAND Kconfig entry Currently the S5PC100 does not define S3C_PA_NAND, leaving the NAND device definitions in arch/arm/plat-s3c/dev-nand.c unbuildable. Add a KConfig entry to select whether this is built. As backwards compatibility, both the S3C24XX and S3C64XX define the new configuration in their main Kconfig files until better support for basing this selection on a per-machine basis can be sorted out. Signed-off-by: Ben Dooks commit e119766f4e15274e2cd9bb5f25119c8b008d920b Author: Byungho Min Date: Tue Jun 23 21:40:28 2009 +0900 ARM: S5PC100: Board and configuration file SMDKC100 board support. The board can be obtained from meritech (http://www.meritech.co.kr) Signed-off-by: Byungho Min [ben-linux@fluff.org: fixup subject and description] Signed-off-by: Ben Dooks commit 2bf49690325b62480a42f7afed5e9f164173c570 Author: Thomas Liu Date: Tue Jul 14 12:14:09 2009 -0400 SELinux: Convert avc_audit to use lsm_audit.h Convert avc_audit in security/selinux/avc.c to use lsm_audit.h, for better maintainability. - changed selinux to use common_audit_data instead of avc_audit_data - eliminated code in avc.c and used code from lsm_audit.h instead. Had to add a LSM_AUDIT_NO_AUDIT to lsm_audit.h so that avc_audit can call common_lsm_audit and do the pre and post callbacks without doing the actual dump. This makes it so that the patched version behaves the same way as the unpatched version. Also added a denied field to the selinux_audit_data private space, once again to make it so that the patched version behaves like the unpatched. I've tested and confirmed that AVCs look the same before and after this patch. Signed-off-by: Thomas Liu Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5a7652f2032b88106c9ba41edf0fb795397008bd Author: Byungho Min Date: Tue Jun 23 21:39:42 2009 +0900 ARM: S5PC100: Kconfigs and Makefiles S5PC100 is a new SoC with ARM coretex-A8 and numerous peripherals. This SoC is successor of S3C64XX. S5PC100 has peripherals which are still similar to S3C families so some drivers in "arch/arm/plat-s3c" can be shared. S5PC100 specific drivers will be added in "arch/arm/plat-s5pcxx" or "arch/arm/mach-s5pc100" Signed-off-by: Byungho Min [ben-linux@fluff.org: tidy and edit description] Signed-off-by: Ben Dooks commit c1cc3db8e9fcf1c9d2db3f34552c73996d3d8a13 Author: Byungho Min Date: Tue Jun 23 21:39:56 2009 +0900 ARM: S5PC100: Clock and PLL support S5PC100 has 4 PLLs (APLL,MPLL,EPLL,HPLL) and 3 clock domains. Clock scheme is implemented here. Signed-off-by: Byungho Min [ben-linux@fluff.org: edited title] Signed-off-by: Ben Dooks commit c9b870e7e796eea515a261a314917317ebb1cb4a Author: Byungho Min Date: Tue Jun 23 21:40:03 2009 +0900 ARM: S5PC100: IRQ and timer S5PC100 has 3 VICs(Vectored Interrupt Controller). The VICs come from S3C64xx series, so the driver source code can be shared with S3C families. The S5PC100 has 3 VICs while S3C64xx has only 2. Signed-off-by: Byungho Min [ben-linux@fluff.org: subject fixup] Signed-off-by: Ben Dooks commit 0164cbf4390fbcd7125fc8d476a451a3efa14c5d Author: Byungho Min Date: Tue Jun 23 21:40:22 2009 +0900 ARM: S5PC100: GPIO and I2C S5PC100 has more GPIO group then previous one. It has 34 groups of GPIO, while S3C6410 has 17 groups. For now, only header files are written. Signed-off-by: Byungho Min [ben-linux@fluff.org: subject fixup] Signed-off-by: Ben Dooks commit 8acd1ade2ede18408303c968e1449220c427a182 Author: Byungho Min Date: Tue Jun 23 21:40:15 2009 +0900 ARM: S5PC100: CPU initialization Signed-off-by: Byungho Min [ben-linux@fluff.org: subject fixup] Signed-off-by: Ben Dooks commit 433a915fc6456ee3a4b740fe4d92caa78164fdce Author: Byungho Min Date: Tue Jun 23 21:40:09 2009 +0900 ARM: S5PC100: UART and Serial Serial driver of S5PC100 is the same as S3C6400, so S5PC100 shares the serial driver with S3C6400. Uart driver is copied from plat-s3c64xx to plat-s5pc1xx, as I do not use plat-s3c64xx directory. Signed-off-by: Byungho Min [ben-linux@fluff.org: title fixup] Signed-off-by: Ben Dooks commit ff54b4578448d616eb177e216acd599ecf5ee5b1 Author: Byungho Min Date: Tue Jun 23 21:39:49 2009 +0900 ARM: S5PC100: Memory map S5PC100's the physical IO space starts at 0xe000"0000. To maximize space for vmalloc, the virtual IO space starts at 0xf400"0000 as same as other samsung CPUs(s3c24xx and s3c64xx) do. Signed-off-by: Byungho Min [ben-linux@fluff.org: subject and description fixup] Signed-off-by: Ben Dooks commit 8f28827a162fd1e8da4e96bed69b06d2606e8322 Author: Frederic Weisbecker Date: Sun Aug 16 22:05:48 2009 +0200 perf tools: Librarize trace_event() helper Librarize trace_event() helper so that perf trace can use it too. Also clean up the debug.h includes a bit. It's not good to have it included in perf.h because it doesn't make it flexible against other headers it may need (headers that can also depend on perf.h and then create a recursive header dependency). Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250453149-664-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0d3a5c885971de1e3124d85bfadf818abac9ba12 Author: Frederic Weisbecker Date: Sun Aug 16 20:56:37 2009 +0200 perf tools: Librarize sample type and attr finding from headers Librarize the sample type and attr fetching from perf data file headers so that we can also use it from perf trace. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250448997-30715-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 97f361e2498ada54b48a235619eaf5af8e46427e Author: Paul Mundt Date: Mon Aug 17 05:07:38 2009 +0900 sh: unwinder: Move initialization to early_initcall() and tidy up locking. This moves the initialization over to an early_initcall(). This fixes up some lockdep interaction issues. At the same time, kill off some superfluous locking in the init path. Signed-off-by: Paul Mundt commit 0f25bfc8d8b31a4ac8e4ff6cbc3911fb7092a4a7 Author: Frederic Weisbecker Date: Sun Aug 16 19:56:54 2009 +0200 perf tools: Put the show mode into the event headers files Annotate and report share the same flags to filter events considering their context (kernel, user, hypervisor). Both tools have their own definitions of these flags. Factorize them out into the event headers file. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250445414-29237-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 2cec19d9d0716f8d68f1c5a87667d0387d4d252d Author: Frederic Weisbecker Date: Sun Aug 16 19:24:21 2009 +0200 perf tools: Factorize the dprintf definition We have two users of dprintf: report and annotate. Another one is coming with perf trace. Then factorize it into the debug file. While at it, rename dprintf() to dump_printf() so that it doesn't conflicts with its libc homograph. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250443461-28130-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 0d31b82dd5c54a0b1e1d789427abdcc180bc4602 Author: Frederic Weisbecker Date: Sun Aug 16 17:52:07 2009 +0200 perf tools: Substract -Wformat-nonliteral from Wformat=2 in extra flags The soon coming perf trace needs to use printf with dynamically built formats. But we are using -Wformat=2 which is a shortcut for the following set: -Wformat -Wformat-security -Wformat-y2k -Wformat-nonliteral -Wformat-nonliteral warns when it can't check formats because they are not builtin constant strings, but we want to feature dynamic formats. What we want instead is Wformat=2 minus -Wformat-nonliteral, which is what this patch does. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250437927-25490-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit cd7246f0e2747bd2b43d25d0f63f05db182a62c0 Author: Matt Fleming Date: Sun Aug 16 01:44:33 2009 +0100 sh: Add support for DWARF GNU extensions Also, remove the "fix" to DW_CFA_def_cfa_register where we reset the frame's cfa_offset to 0. This action is incorrect when handling DW_CFA_def_cfa_register as the DWARF spec specifically states that the previous contents of cfa_offset should be used with the new register. The reason that I thought cfa_offset should be reset to 0 was because it was being assigned a bogus value prior to executing the DW_CFA_def_cfa_register op. It turns out that the bogus cfa_offset value came from interpreting .cfi_escape pseudo-ops (those used by the GNU extensions) as CFA_DW_def_cfa ops. Signed-off-by: Matt Fleming commit b955873bf530ee4b80e6c8b734521ad07cbaed7e Author: Matt Fleming Date: Sat Aug 15 23:10:57 2009 +0100 sh: Try again at getting the initial return address for an unwind The previous hack for calculating the return address for the first frame we unwind (dwarf_unwinder_dump) didn't always work. The problem was that it assumed once it read the rule for calculating the return address, there would be no new rules for calculating it. This isn't true because the way in which the CFA is calculated can change as you progress through a function and the return address is figured out using the CFA. Therefore, the way to calculate the return address can change. So, instead of using some offset from the beginning of dwarf_unwind_stack which is just a flakey approach, and instead of executing instructions from the FDE until the return address is setup, we now figure out the pc in dwarf_unwind_stack() just before we call dwarf_cfa_execute_insns(). Signed-off-by: Matt Fleming commit 3e2bcad89814030ad6a369a97ad1481fd35938d3 Merge: dcbf77c b2add73 Author: Rafael J. Wysocki Date: Sun Aug 16 11:50:10 2009 +0200 Merge branch 'master' into for-linus commit 35ba15b737e2cd1d780943189f2138519f81fd42 Author: Ingo Molnar Date: Sun Aug 16 11:09:21 2009 +0200 perf: Build with stack-protector and with -D_FORTIFY_SOURCE=2 Up our defences a bit. Suggested-by: Arjan van de Ven Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 84bc4af59081ee974dd80210e694ab59ebe51ce8 Author: Darren Hart Date: Thu Aug 13 17:36:53 2009 -0700 futex: Detect mismatched requeue targets There is currently no check to ensure that userspace uses the same futex requeue target (uaddr2) in futex_requeue() that the waiter used in futex_wait_requeue_pi(). A mismatch here could very unexpected results as the waiter assumes it either wakes on uaddr1 or uaddr2. We could detect this on wakeup in the waiter, but the cleanup is more intense after the improper requeue has occured. This patch stores the waiter's expected requeue target in a new requeue_pi_key pointer in the futex_q which futex_requeue() checks prior to attempting to do a proxy lock acquistion or a requeue when requeue_pi=1. If they don't match, return -EINVAL from futex_requeue, aborting the requeue of any remaining waiters. Signed-off-by: Darren Hart Cc: Peter Zijlstra Cc: Eric Dumazet Cc: John Kacur Cc: Dinakar Guniguntala Cc: John Stultz LKML-Reference: <20090814003650.14634.63916.stgit@Aeon> Signed-off-by: Thomas Gleixner commit 83a0944fa919fb2ebcfc1f8933d86e437b597ca6 Author: Ingo Molnar Date: Sat Aug 15 12:26:57 2009 +0200 perf: Enable more compiler warnings Related to a shadowed variable bug fix Valdis Kletnieks noticed that perf does not get built with -Wshadow, which could have helped us avoid the bug. So enable -Wshadow and also enable the following warnings on perf builds, in addition to the already enabled -Wall -Wextra -std=gnu99 warnings: -Wcast-align -Wformat=2 -Wshadow -Winit-self -Wpacked -Wredundant-decls -Wstack-protector -Wstrict-aliasing=3 -Wswitch-default -Wswitch-enum -Wno-system-headers -Wundef -Wvolatile-register-var -Wwrite-strings -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wdeclaration-after-statement And change/fix the perf code to build cleanly under GCC 4.3.2. The list of warnings enablement is rather arbitrary: it's based on my (quick) reading of the GCC manpages and trying them on perf. I categorized the warnings based on individually enabling them and looking whether they trigger something in the perf build. If i liked those warnings (i.e. if they trigger for something that arguably could be improved) i enabled the warning. If the warnings seemed to come from language laywers spamming the build with tons of nuisance warnings i generally kept them off. Most of the sign conversion related warnings were in this category. (A second patch enabling some of the sign warnings might be welcome - sign bugs can be nasty.) I also kept warnings that seem to make sense from their manpage description and which produced no actual warnings on our code base. These warnings might still be turned off if they end up being a nuisance. I also left out a few warnings that are not supported in older compilers. [ Note that these changes might break the build on older compilers i did not test, or on non-x86 architectures that produce different warnings, so more testing would be welcome. ] Reported-by: Valdis.Kletnieks@vt.edu Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: Signed-off-by: Ingo Molnar commit 76fbebfbb593bd66780db0a808afe1d21c7ff6d6 Author: Sergey Matyukevich Date: Sat Aug 15 00:02:41 2009 +0000 at91_ide: remove headers specific for at91sam9263 This driver requires only static memory controller definitions and macroses contained in generic header at91sam9_smc.h. Those extra headers are misleading since this driver also works fine for at91sam9260 SoC: tests were performed on afeb9260 board. Signed-off-by: Sergey Matyukevich Acked-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit 468b5ef8a8f67a780dd5f51410f8c92761b36f06 Author: Kevin Hilman Date: Mon Jul 6 12:26:16 2009 +0000 IDE: palm_bk3710: 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 Acked-by: Sergei Shtylyov Signed-off-by: David S. Miller commit 1b3edd9745ef3a9ee831fe5a611757686579c9e1 Author: Paul Mundt Date: Sun Aug 16 03:49:21 2009 +0900 sh: Merge the _32/_64 variants of arch/sh/mm/Makefile. Now that there is sufficient shared infrastructure, merge the Makefiles. Signed-off-by: Paul Mundt commit 38f9ddf44150c1a213b41726384d055f7c35ec4f Author: Paul Mundt Date: Sun Aug 16 03:35:26 2009 +0900 sh: Merge the _32/_64 variants of arch/sh/kernel/Makefile. This uses the BITS export as per x86 in order to allow the same Makefile to be used. Signed-off-by: Paul Mundt commit 2b4315185a06414c4ab40fb0db50dce1b534a1d9 Author: Paul Mundt Date: Sun Aug 16 02:16:44 2009 +0900 sh: Wire up sh5_cache_init(). Now that the SH-5 code is more or less behaving with the new cacheflush interface, wire up the initialization code. Signed-off-by: Paul Mundt commit 8c41cdcaffb09dca8e6ad7d4d8f885e0b86b9002 Author: Paul Mundt Date: Sun Aug 16 02:15:50 2009 +0900 sh64: Kill off dead i/d-cache disabled bits. These will be handled through the shared cache interface instead, and they are presently undefined anyways. Signed-off-by: Paul Mundt commit 684ca5cc9a772532bc893cdc994bd89bf0773719 Author: Josh Triplett Date: Sat Aug 15 09:53:51 2009 -0700 rcu: Fix typo in rcu_irq_exit() comment header Signed-off-by: Josh Triplett Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <1250355231169-git-send-email-> Signed-off-by: Ingo Molnar commit b612ba804b8a656333013ad2ee96fb2377df5dbb Author: Paul E. McKenney Date: Sat Aug 15 09:53:50 2009 -0700 rcu: Make rcupreempt_trace.c look at offline CPUs Given that offline CPUs can now have non-zero counters, we need to dump counters for offline CPUs as well as for online CPUs. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552313921-git-send-email-> Signed-off-by: Ingo Molnar commit 8064d54929f23613e649dc7e14f7a94454487d58 Author: Paul E. McKenney Date: Sat Aug 15 09:53:49 2009 -0700 rcu: Make preemptable RCU scan all CPUs when summing RCU counters This patch eliminates the counter-moving during CPU-offline notifiers, eliminating potential confusion if counters are scanned during counter-movement process. This confusion could result in premature ending of an RCU grace period. For example, if there are two tasks in RCU read-side critical sections (so that the sum of the counters is two), and the counter for the CPU going offline is -2, then moving the count to another CPU can result in the sum momentarily appearing to be zero. Since there are no memory barriers in either case, many more such scenarios are possible. So just don't move the counts!!! Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552312863-git-send-email-> Signed-off-by: Ingo Molnar commit 2e597558086dec36d5c33521a36e0f6b1bc3f3a7 Author: Paul E. McKenney Date: Sat Aug 15 09:53:48 2009 -0700 rcu: Simplify RCU CPU-hotplug notification Use the new cpu_notifier() API to simplify RCU's CPU-hotplug notifiers, collapsing down to a single such notifier. This makes it trivial to provide the notifier-ordering guarantee that rcu_barrier() depends on. Also remove redundant open_softirq() calls from Hierarchical RCU notifier. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <12503552312510-git-send-email-> Signed-off-by: Ingo Molnar commit 799e64f05f4bfaad2bb3165cab95c8c992a1c296 Author: Paul E. McKenney Date: Sat Aug 15 09:53:47 2009 -0700 cpu hotplug: Introduce cpu_notifier() to handle !HOTPLUG_CPU case This patch introduces a new cpu_notifier() API that is similar to hotcpu_notifier(), but which also notifies of CPUs coming online during boot in the !HOTPLUG_CPU case. Reported-by: Ingo Molnar Reported-by: Hugh Dickins Tested-by: Hugh Dickins Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: benh@kernel.crashing.org LKML-Reference: <12503552312611-git-send-email-> Signed-off-by: Ingo Molnar commit 27569620c748ec13f801b4683b448a2ac2adaae4 Author: Paul E. McKenney Date: Sat Aug 15 09:53:46 2009 -0700 rcu: Split hierarchical RCU initialization into boot-time and CPU-online pieces This patch divides the rcutree initialization into boot-time and hotplug-time components, so that the tree data structures are guaranteed to be fully linked at boot time regardless of what might happen in CPU hotplug operations. This makes RCU more resilient against CPU hotplug misbehavior (and vice versa), but more importantly, does a better job of compartmentalizing the code. Reported-by: Ingo Molnar Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: josht@linux.vnet.ibm.com Cc: akpm@linux-foundation.org Cc: mathieu.desnoyers@polymtl.ca Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: hugh.dickins@tiscali.co.uk Cc: benh@kernel.crashing.org LKML-Reference: <1250355231152-git-send-email-> Signed-off-by: Ingo Molnar commit fa08661af834875c9bd6f7f0b1b9388dc72a6585 Merge: 240ebbf 64f1607 Author: Ingo Molnar Date: Sat Aug 15 18:55:58 2009 +0200 Merge commit 'v2.6.31-rc6' into core/rcu Merge reason: the branch was on pre-rc1 .30, update to latest. Signed-off-by: Ingo Molnar commit 94ecd224c940830e2f2724c3860eb7fb74c15d31 Author: Paul Mundt Date: Sun Aug 16 01:50:17 2009 +0900 sh: Fix up the SH-5 build with caches enabled. Signed-off-by: Paul Mundt commit 1ee4ab09f38b77b3a5750429d456d6606b237924 Author: Paul Mundt Date: Sun Aug 16 00:55:38 2009 +0900 sh64: Build in support for generic stacktrace ops. Signed-off-by: Paul Mundt commit 65305ae816ca17a38340aef0ccc92d0c127acccf Author: Paul Mundt Date: Sun Aug 16 00:53:56 2009 +0900 sh: Convert cache disabled SH-5 over to new cache interface. The caches enabled case needs more work, but is presently broken regardless, so this can be done incrementally. Signed-off-by: Paul Mundt commit 9b2616c2e8cc98ca98bbb40cad83a8d3d859e840 Merge: 590a94d ac25150 Author: Russell King Date: Sat Aug 15 16:51:48 2009 +0100 Merge branch 'for-rmk-2.6.32' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel-stable commit 590a94d93475fa6cca257f161ae268ed3a2395b5 Merge: 6973ee7 c35d3a4 Author: Russell King Date: Sat Aug 15 16:49:31 2009 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable commit 57a473f2f97cf3bca78df08aac2f438ddef03bee Author: Leo Chen Date: Wed Aug 12 22:08:48 2009 +0100 ARM: 5671/1: bcmring: add maintainer entry add maintainer entry Signed-off-by: Leo Chen Signed-off-by: Russell King commit 7f33527f547161f5ddc05c252c81617b8de93f21 Author: Leo Chen Date: Wed Aug 12 22:07:26 2009 +0100 ARM: 5670/1: bcmring: add default configuration for bcmring arch add default configuration for bcmring arch Signed-off-by: Leo Chen Signed-off-by: Russell King commit 6288e28dce9bae24068b7341ebd72a7d176a3539 Author: Leo Chen Date: Fri Aug 7 19:46:15 2009 +0100 ARM: 5641/1: bcmring: add Kconfig and Makefile entries in arch/arm add bcmring option in Kconfig and add entry in Makefile in arch/arm directory Signed-off-by: Leo Chen Signed-off-by: Russell King commit 831f1f73a6e1a0a02a5eaa2da5f49cf09c7bb1af Author: Leo Chen Date: Fri Aug 7 19:46:49 2009 +0100 ARM: 5642/1: bcmring: add Makefile/Kconfig/Makefile.boot in mach-bcmring add arch/arm/mach-bcmring directory add Kconfig, Makefile, and Makefile.boot in mach-bcmring Signed-off-by: Leo Chen Signed-off-by: Russell King commit bc5739005f9c0585d21c78f61e9d7965f97b2109 Author: Leo Chen Date: Fri Aug 7 20:04:17 2009 +0100 ARM: 5653/1: bcmring: add Makefile of csp code add Makefile of csp code Signed-off-by: Leo Chen Signed-off-by: Russell King commit a364143127a3155153f3e93d47cfc0f99a6f1858 Author: Leo Chen Date: Fri Aug 7 20:10:24 2009 +0100 ARM: 5661/1: bcmring: add csp security hardware headers add csp security hardware headers Signed-off-by: Leo Chen Signed-off-by: Russell King commit 7ba09020287fa6c181707490ea7143abb3db55b1 Author: Leo Chen Date: Fri Aug 7 20:09:49 2009 +0100 ARM: 5660/1: bcmring: add csp timer block header and source files add csp timer block header and source files Signed-off-by: Leo Chen Signed-off-by: Russell King commit cf2ddacb567e85f40241f67b240fa445db7a424d Author: Leo Chen Date: Fri Aug 7 20:08:00 2009 +0100 ARM: 5659/1: bcmring: add csp dmac source files add csp dmac source files Signed-off-by: Leo Chen Signed-off-by: Russell King commit 1a4a561bdd838b4455d57edf0deaf83e894d795e Author: Leo Chen Date: Fri Aug 7 20:07:22 2009 +0100 ARM: 5658/1: bcmring: add csp dmac header files add csp dmac header files Signed-off-by: Leo Chen Signed-off-by: Russell King commit 638ee2db1916de4da144f0ed6d156181ede20a41 Author: Leo Chen Date: Fri Aug 7 20:06:47 2009 +0100 ARM: 5657/1: bcmring: add csp chipc block source code add csp chipc block source code Signed-off-by: Leo Chen Signed-off-by: Russell King commit 4818a4727d787b2da0dc73c66f04d241626f4c97 Author: Leo Chen Date: Fri Aug 7 20:06:13 2009 +0100 ARM: 5656/1: bcmring: add csp chipc inline functions add csp chipc inline functions Signed-off-by: Leo Chen Signed-off-by: Russell King commit 2c4b57a204669a7b649f3eb891d3d0f0eba75321 Author: Leo Chen Date: Fri Aug 7 20:05:37 2009 +0100 ARM: 5655/1: bcmring: add csp chipc hardware definition file add csp chipc hardware definition file Signed-off-by: Leo Chen Signed-off-by: Russell King commit f1947c7a6717e437d9fe0e27a76bacf77f570d2d Author: Leo Chen Date: Fri Aug 7 20:04:54 2009 +0100 ARM: 5654/1: bcmring: add csp chipc hardware register file add csp chipc hardware register file Signed-off-by: Leo Chen Signed-off-by: Russell King commit 9133760f4b0c0628d45532aad17f59896cd7b57f Author: Leo Chen Date: Fri Aug 7 20:03:40 2009 +0100 ARM: 5652/1: bcmring: add misc headers for csp code add misc wrapper headers for csp code add ddrc register header file Signed-off-by: Leo Chen Signed-off-by: Russell King commit 7bab8bfc7f1060e3ab4bc0a90813a9338e6994b9 Author: Leo Chen Date: Fri Aug 7 20:02:59 2009 +0100 ARM: 5651/1: bcmring: csp capability header files add mach-bcmring csp capability header files Signed-off-by: Leo Chen Signed-off-by: Russell King commit 16f5875034fa9e36a72c4223c8ef42cfe461d766 Author: Leo Chen Date: Fri Aug 7 20:02:21 2009 +0100 ARM: 5650/1: bcmring: add io.h, uncompress. h, and entry-macro.S add remaining header files in include/mach directory add entry-macro.S file Signed-off-by: Leo Chen Signed-off-by: Russell King commit 34559125742645843bc7639900c7b4737ec12b72 Author: Leo Chen Date: Fri Aug 7 20:01:47 2009 +0100 ARM: 5649/1: bcmring: add bcmring timer function bcmring timer helper function, hardware register headers Signed-off-by: Leo Chen Signed-off-by: Russell King commit 859277f7dbf8b48016d55ea2171d04eed074d858 Author: Leo Chen Date: Fri Aug 7 20:01:13 2009 +0100 ARM: 5648/1: bcmring: add bmcring dma.c implement dma support for bcmring Signed-off-by: Leo Chen Signed-off-by: Russell King commit 7c4c2951c0077eecf9a9dfda59a43eedd09a01f4 Author: Leo Chen Date: Fri Aug 7 20:00:39 2009 +0100 ARM: 5647/1: bcmring: add bcmring dma.h and dma_device.c add bcmring dma.h and dma_device.c Signed-off-by: Leo Chen Signed-off-by: Russell King commit 661f78d80969eefb25a0e99c08c0eba81b37861e Author: Leo Chen Date: Fri Aug 7 19:59:57 2009 +0100 ARM: 5646/1: bcmring: add mach-bcmring/mm.c and memory headers memory map addresses memory map description and init functions Signed-off-by: Leo Chen Signed-off-by: Russell King commit b7462d654f623738b4b3e03cff20f68b5b9a77f5 Author: Leo Chen Date: Fri Aug 7 19:59:04 2009 +0100 ARM: 5645/1: bcmring: add bcmring irq.c init irq and handler add irq controller register file and header files Signed-off-by: Leo Chen Signed-off-by: Russell King commit 278a6752e869b0f4a03ce5ac0588b31b50712903 Author: Leo Chen Date: Fri Aug 7 19:58:26 2009 +0100 ARM: 5644/1: add bcmring core.c, clock.c, clock.h add core.c, clock.c, and clock.h in mach-bcmring implement timer init, clocksource init, amba device init implement clock set/get enable/disable API add dummy clkdev.h Signed-off-by: Leo Chen Signed-off-by: Russell King commit 4663712cc745324a216112a72c744bb2b8f6658b Author: Leo Chen Date: Fri Aug 7 19:56:19 2009 +0100 ARM: 5643/1: bcmring: arch.c and header files add arch.c in mach-bcmring add related header files in mach-bcmring Signed-off-by: Leo Chen Signed-off-by: Russell King commit a8bc4eadd936bbad9e99b89fe692679451ad75c9 Author: wanzongshun Date: Fri Aug 14 15:38:29 2009 +0100 ARM: 5676/1: Provide more useful introduction for w90x900 Provide more useful introduction for w90x900 Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit f346becf2fdba4d9dc023d28bc9a28f74dc9e4ac Author: wanzongshun Date: Fri Aug 14 15:37:42 2009 +0100 ARM: 5675/1: The semaphore is used as mutex so make it a mutex The semaphore is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner Signed-off-by: Uwe Kleine-König Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 58b5369e6eb6c889b540a99aa95562a66b25acf1 Author: wanzongshun Date: Fri Aug 14 15:36:44 2009 +0100 ARM: 5674/1: Add clocksource/clockevent support for w90p910 platform Add clocksource/clockevent support for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 369842658a36bcea28ecb643ba4bdb53919330dd Author: Mikael Pettersson Date: Sat Aug 15 12:58:11 2009 +0100 ARM: 5677/1: ARM support for TIF_RESTORE_SIGMASK/pselect6/ppoll/epoll_pwait This patch adds support for TIF_RESTORE_SIGMASK to ARM's signal handling, which allows to hook up the pselect6, ppoll, and epoll_pwait syscalls on ARM. Tested here with eabi userspace and a test program with a deliberate race between a child's exit and the parent's sigprocmask/select sequence. Using sys_pselect6() instead of sigprocmask/select reliably prevents the race. The other arch's support for TIF_RESTORE_SIGMASK has evolved over time: In 2.6.16: - add TIF_RESTORE_SIGMASK which parallels TIF_SIGPENDING - test both when checking for pending signal [changed later] - reimplement sys_sigsuspend() to use current->saved_sigmask, TIF_RESTORE_SIGMASK [changed later], and -ERESTARTNOHAND; ditto for sys_rt_sigsuspend(), but drop private code and use common code via __ARCH_WANT_SYS_RT_SIGSUSPEND; - there are now no "extra" calls to do_signal() so its oldset parameter is always ¤t->blocked so need not be passed, also its return value is changed to void - change handle_signal() to return 0/-errno - change do_signal() to honor TIF_RESTORE_SIGMASK: + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK is set + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK + if no signal was delivered and TIF_RESTORE_SIGMASK is set then clear it and restore the sigmask - hook up sys_pselect6() and sys_ppoll() In 2.6.19: - hook up sys_epoll_pwait() In 2.6.26: - allow archs to override how TIF_RESTORE_SIGMASK is implemented; default set_restore_sigmask() sets both TIF_RESTORE_SIGMASK and TIF_SIGPENDING; archs need now just test TIF_SIGPENDING again when checking for pending signal work; some archs now implement TIF_RESTORE_SIGMASK as a secondary/non-atomic thread flag bit - call set_restore_sigmask() in sys_sigsuspend() instead of setting TIF_RESTORE_SIGMASK In 2.6.29-rc: - kill sys_pselect7() which no arch wanted So for 2.6.31-rc6/ARM this patch does the following: - Add TIF_RESTORE_SIGMASK. Use the generic set_restore_sigmask() which sets both TIF_SIGPENDING and TIF_RESTORE_SIGMASK, so TIF_RESTORE_SIGMASK need not claim one of the scarce low thread flags, and existing TIF_SIGPENDING and _TIF_WORK_MASK tests need not be extended for TIF_RESTORE_SIGMASK. - sys_sigsuspend() is reimplemented to use current->saved_sigmask and set_restore_sigmask(), making it identical to most other archs - The private code for sys_rt_sigsuspend() is removed, instead generic code supplies it via __ARCH_WANT_SYS_RT_SIGSUSPEND. - sys_sigsuspend() and sys_rt_sigsuspend() no longer need a pt_regs parameter, so their assembly code wrappers are removed. - handle_signal() is changed to return 0 on success or -errno. - The oldset parameter to do_signal() is now redundant and removed, and the return value is now also redundant and changed to void. - do_signal() is changed to honor TIF_RESTORE_SIGMASK: + get oldset from current->saved_sigmask if TIF_RESTORE_SIGMASK is set + if handle_signal() was successful then clear TIF_RESTORE_SIGMASK + if no signal was delivered and TIF_RESTORE_SIGMASK is set then clear it and restore the sigmask - Hook up sys_pselect6, sys_ppoll, and sys_epoll_pwait. Signed-off-by: Mikael Pettersson Signed-off-by: Russell King commit 6baa0a5ae0954fb2486c480a20556a9f1aee0965 Author: Frederic Weisbecker Date: Fri Aug 14 12:21:53 2009 +0200 perf tools: Factorize the thread code in a dedicated file Factorize the thread management code used by perf-annotate and perf-report in dedicated source and header files. v2: pass last_match by address so that it can actually be modified. Signed-off-by: Frederic Weisbecker Cc: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Mike Galbraith LKML-Reference: <1250245313-6995-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6ea41d252f35465a2308a4038a323b6b07de06f6 Author: Thomas Gleixner Date: Sat Aug 15 13:20:42 2009 +0200 clocksource: Call clocksource_change_rating() outside of watchdog_lock The changes to the watchdog logic introduced a lock inversion between watchdog_lock and clocksource_mutex. Change the rating outside of watchdog_lock to avoid it. Signed-off-by: Thomas Gleixner commit 1e97f50b7023cda00cb720e53b9e59c250cb4ed7 Author: Mark Brown Date: Sat Aug 15 12:15:10 2009 +0100 ASoC: Factor out cache I/O from WM8974 Signed-off-by: Mark Brown commit 37cfa1950e2a24d9fa4a593186645d8e2b5042a8 Merge: 29e02cb 25cbf46 Author: Mark Brown Date: Sat Aug 15 11:52:43 2009 +0100 Merge branch 'wm8974-upstream' into for-2.6.32 commit 29e02cb3ffda6ef48a50fea880f63ac8178308bb Author: Mark Brown Date: Sat Aug 15 11:37:30 2009 +0100 ASoC: Hook i.MX into build Signed-off-by: Mark Brown commit d555a552aeeef45d097f1d3ea2c6dcce6839f1dd Author: Mark Brown Date: Sat Aug 15 11:36:49 2009 +0100 ASoC: Staticise unexported variables Signed-off-by: Mark Brown commit a2d512a978ceda557a456d39d88cfc1eb60194e9 Author: Mark Brown Date: Sat Aug 15 11:36:20 2009 +0100 ASoC: Remove unneeded i.MX dependency on SND Signed-off-by: Mark Brown commit 08229de4b42816079ed5d15f0689fcd0af946d5e Merge: fbb474de 2a70813 Author: Mark Brown Date: Sat Aug 15 11:20:44 2009 +0100 Merge branch 'for-2.6.32' into mxc Conflicts: sound/soc/Makefile commit be750231ce1599b86fbba213e3da8344ece262e2 Merge: 18408dd 39e6dd7 Author: Ingo Molnar Date: Sat Aug 15 12:06:12 2009 +0200 Merge branch 'perfcounters/urgent' into perfcounters/core Conflicts: kernel/perf_counter.c Merge reason: update to latest upstream (-rc6) and resolve the conflict with urgent fixes. Signed-off-by: Ingo Molnar commit 18408ddc01136f505ae357c03f0d8e50b10e0db6 Author: Peter Zijlstra Date: Thu Aug 13 11:47:55 2009 +0200 perf tools: Add some comments to the event definitions Just to make it clear that these are _not_ generic event structures but do rely on the counter configuration. Signed-off-by: Peter Zijlstra Cc: Corey J Ashford Cc: Paul Mackerras Cc: stephane eranian LKML-Reference: <20090813103655.334194326@chello.nl> Signed-off-by: Ingo Molnar commit 7570ef18349d4f3a9336397952b05ec3e95ec4b7 Author: Takashi Iwai Date: Sat Aug 15 11:57:53 2009 +0200 ALSA: hda - Add missing num_adc_nids definition for IDT92HD8xxx The previous fix removed the definition of num_adc_nids wrongly, and this resulted in the missing input-source control. Now readded again. Signed-off-by: Takashi Iwai commit 23970e389e9cee43c4b41023935e1417271708b2 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:32 2009 +0200 timekeeping: Introduce read_boot_clock Add the new function read_boot_clock to get the exact time the system has been started. For architectures without support for exact boot time a new weak function is added that returns 0. Use the exact boot time to initialize wall_to_monotonic, or xtime if the read_boot_clock returned 0. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134811.296703241@de.ibm.com> Signed-off-by: Thomas Gleixner commit d4f587c67fc39e0030ddd718675e252e208da4d7 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:31 2009 +0200 timekeeping: Increase granularity of read_persistent_clock() The persistent clock of some architectures (e.g. s390) have a better granularity than seconds. To reduce the delta between the host clock and the guest clock in a virtualized system change the read_persistent_clock function to return a struct timespec. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134811.013873340@de.ibm.com> Signed-off-by: Thomas Gleixner commit 75c5158f70c065b9704b924503d96e8297838f79 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:30 2009 +0200 timekeeping: Update clocksource with stop_machine update_wall_time calls change_clocksource HZ times per second to check if a new clock source is available. In close to 100% of all calls there is no new clock. Replace the tick based check by an update done with stop_machine. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134810.711836357@de.ibm.com> Signed-off-by: Thomas Gleixner commit 2ba2a3054fdffc8e6452f4ee120760322a6fbd43 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:29 2009 +0200 timekeeping: Add timekeeper read_clock helper functions Add timekeeper_read_clock_ntp and timekeeper_read_clock_raw and use them for getnstimeofday, ktime_get, ktime_get_ts and getrawmonotonic. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134810.435105711@de.ibm.com> Signed-off-by: Thomas Gleixner commit 0a54419836254a27baecd9037103171bcbabaf67 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:28 2009 +0200 timekeeping: Move NTP adjusted clock multiplier to struct timekeeper The clocksource structure has two multipliers, the unmodified multiplier clock->mult_orig and the NTP corrected multiplier clock->mult. The NTP multiplier is misplaced in the struct clocksource, this is private information of the timekeeping code. Add the mult field to the struct timekeeper to contain the NTP corrected value, keep the unmodifed multiplier in clock->mult and remove clock->mult_orig. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134810.149047645@de.ibm.com> Signed-off-by: Thomas Gleixner commit 23ce72117c714baab794e66c8daf343bf6a912bf Author: Martin Schwidefsky Date: Fri Aug 14 15:47:27 2009 +0200 timekeeping: Add xtime_shift and ntp_error_shift to struct timekeeper The xtime_nsec value in the timekeeper structure is shifted by a few bits to improve precision. This happens to be the same value as the clock->shift. To improve readability add xtime_shift to the timekeeper and use it instead of the clock->shift. Likewise add ntp_error_shift and replace all (NTP_SCALE_SHIFT - clock->shift) expressions. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134809.871899606@de.ibm.com> Signed-off-by: Thomas Gleixner commit 155ec60226ae0ae2aadaa57c951a58a359331030 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:26 2009 +0200 timekeeping: Introduce struct timekeeper Add struct timekeeper to keep the internal values timekeeping.c needs in regard to the currently selected clock source. This moves the timekeeping intervals, xtime_nsec and the ntp error value from struct clocksource to struct timekeeper. The raw_time is removed from the clocksource as well. It gets treated like xtime as a global variable. Eventually xtime raw_time should be moved to struct timekeeper. [ tglx: minor cleanup ] Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134809.613209842@de.ibm.com> Signed-off-by: Thomas Gleixner commit c55c87c892c1875deace0c8fc28787335277fdf2 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:25 2009 +0200 clocksource: Move watchdog downgrade to a work queue thread Move the downgrade of an unstable clocksource from the timer interrupt context into the process context of a work queue thread. This is needed to be able to do the clocksource switch with stop_machine. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134809.354926067@de.ibm.com> Signed-off-by: Thomas Gleixner commit fb63a0ebe615fba9de8c75ea44ded999d1e24c65 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:24 2009 +0200 clocksource: Refactor clocksource watchdog Refactor clocksource watchdog code to make it more readable. Add clocksource_dequeue_watchdog to remove a clocksource from the watchdog list when it is unregistered. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134809.110881699@de.ibm.com> Signed-off-by: Thomas Gleixner commit 0f8e8ef7c204988246da5a42d576b7fa5277a8e4 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:23 2009 +0200 clocksource: Simplify clocksource watchdog resume logic To resume the clocksource watchdog just remove the CLOCK_SOURCE_WATCHDOG bit from the watched clocksource. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134808.880925790@de.ibm.com> Signed-off-by: Thomas Gleixner commit 8cf4e750f8459d51c2e8a035a201da4bf7aa996a Author: Martin Schwidefsky Date: Fri Aug 14 15:47:22 2009 +0200 clocksource: Delay clocksource watchdog highres enablement The clocksource watchdog marks a clock as highres capable before it checked the deviation from the watchdog clocksource even for a single time. Make sure that the deviation is at least checked once before doing the switch to highres mode. Signed-off-by: Martin Schwidefsky Cc: Ingo Molnar Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134808.627795883@de.ibm.com> Signed-off-by: Thomas Gleixner commit f1b82746c1e93daf24e1ab9bfbd39bcdb2e7018b Author: Martin Schwidefsky Date: Fri Aug 14 15:47:21 2009 +0200 clocksource: Cleanup clocksource selection If a non high-resolution clocksource is first set as override clock and then registered it becomes active even if the system is in one-shot mode. Move the override check from sysfs_override_clocksource to the clocksource selection. That fixes the bug and simplifies the code. The check in clocksource_register for double registration of the same clocksource is removed without replacement. To find the initial clocksource a new weak function in jiffies.c is defined that returns the jiffies clocksource. The architecture code can then override the weak function with a more suitable clocksource, e.g. the TOD clock on s390. [ tglx: Folded in a fix from John Stultz ] Signed-off-by: Martin Schwidefsky Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134808.388024160@de.ibm.com> Signed-off-by: Thomas Gleixner commit 1be396794897f80bfc8774719ba60309a9e3d374 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:20 2009 +0200 timekeeping: Move reset of cycle_last for tsc clocksource to tsc change_clocksource resets the cycle_last value to zero then sets it to a value read from the clocksource. The reset to zero is required only for the TSC clocksource to make the read_tsc function work after a resume. The reason is that the TSC read function uses cycle_last to detect backwards going TSCs. In the resume case cycle_last contains the TSC value from the last update before the suspend. On resume the TSC starts counting from 0 again and would trip over the cycle_last comparison. This is subtle and surprising. Move the reset to a resume function in the tsc code. Signed-off-by: Martin Schwidefsky Acked-by: Thomas Gleixner Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134808.142191175@de.ibm.com> Signed-off-by: Thomas Gleixner commit a0f7d48bfb95a4c5172a2756dbc4b82afc8e9ae4 Author: Martin Schwidefsky Date: Fri Aug 14 15:47:19 2009 +0200 timekeeping: Remove clocksource inline functions The three inline functions clocksource_read, clocksource_enable and clocksource_disable are simple wrappers of an indirect call plus the copy from and to the mult_orig value. The functions are exclusively used by the timekeeping code which has intimate knowledge of the clocksource anyway. Therefore remove the inline functions. No functional change. Signed-off-by: Martin Schwidefsky Acked-by: John Stultz Cc: Daniel Walker LKML-Reference: <20090814134807.903108946@de.ibm.com> Signed-off-by: Thomas Gleixner commit 31089c13bcb18d2cd2a3ddfbe3a28666346f237e Author: John Stultz Date: Fri Aug 14 15:47:18 2009 +0200 timekeeping: Introduce timekeeping_leap_insert Move the adjustment of xtime, wall_to_monotonic and the update of the vsyscall variables to the timekeeping code. Signed-off-by: John Stultz Signed-off-by: Martin Schwidefsky LKML-Reference: <20090814134807.609730216@de.ibm.com> Signed-off-by: Thomas Gleixner commit eccee7457df2b1e1505522ab0064e577e16eed75 Author: Paul Mundt Date: Sat Aug 15 13:15:02 2009 +0900 sh: Kill off the unhandled pvr case in SH-4 CPU probing. This is superfluous, as the default CPU type and family are already established by the initial cpuinfo definition. Given that we are still able to probe for the CPU family even if we are not able to detect the subtype, it's preferable to let the probing code fill out what it can and leave the rest. Signed-off-by: Paul Mundt commit 963e04cafbf001ec431025a46ec246ae6d89daba Author: Magnus Damm Date: Sat Aug 15 03:02:08 2009 +0000 sh: Runtime PM pdev hwblk - kfr2r09 LCDC This patch simply adds LCDC hwblk_id data for the kfr2r09 board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 4b6b987969b076298485697bfb0d0e35502642a3 Merge: df47cd0 60e0a4c Author: Paul Mundt Date: Sat Aug 15 13:00:02 2009 +0900 Merge branch 'master' into sh/hwblk commit 60e0a4c7adc700f2d2929cdb2d0055e519a3eb3d Merge: 180aa6e 237674e Author: Paul Mundt Date: Sat Aug 15 12:59:42 2009 +0900 Merge branch 'sh/stable-updates' commit 0d051d90bb08b516b9d6c30d25f83d3c6b5b1c1d Author: Paul Mundt Date: Sat Aug 15 12:53:39 2009 +0900 sh: Convert SH7705 extended mode to new cacheflush interface. Signed-off-by: Paul Mundt commit 79f1c9da5e5fc5f4705836d8c1cee2213fc80640 Author: Paul Mundt Date: Sat Aug 15 12:42:55 2009 +0900 sh: Convert SH-3 to new cacheflush interface. Signed-off-by: Paul Mundt commit a58e1a2ab4f6334c50dfbda83d3a5c6e0b2b4bee Author: Paul Mundt Date: Sat Aug 15 12:38:29 2009 +0900 sh: Convert SH-2A to new cacheflush interface. Signed-off-by: Paul Mundt commit 109b44a82a7a8ae32d7fb257480f92f2d96f0daf Author: Paul Mundt Date: Sat Aug 15 12:35:15 2009 +0900 sh: Convert SH-2 to new cacheflush interface. Signed-off-by: Paul Mundt commit 37443ef3f0406e855e169c87ae3f4ffb4b6ff635 Author: Paul Mundt Date: Sat Aug 15 12:29:49 2009 +0900 sh: Migrate SH-4 cacheflush ops to function pointers. This paves the way for allowing individual CPUs to overload the individual flushing routines that they care about without having to depend on weak aliases. SH-4 is converted over initially, as it wires up pretty much everything. The majority of the other CPUs will simply use the default no-op implementation with their own region flushers wired up. Signed-off-by: Paul Mundt commit 916e97834e023f89b31f796b53cc9c7956e7fe17 Author: Paul Mundt Date: Sat Aug 15 11:38:05 2009 +0900 sh: Kill off unused flush_icache_user_range(). We use flush_cache_page() outright in copy_to_user_page(), and nothing else needs it, so just kill it off. SH-5 still defines its own version, but that too will go away in the same fashion once it converts over. Signed-off-by: Paul Mundt commit 7fbb2d3bdd33e58f54e360df0723d754f0b66153 Author: Paul Mundt Date: Sat Aug 15 11:25:32 2009 +0900 sh: consolidate flush_dcache_mmap_lock/unlock() definitions. All of the flush_dcache_mmap_lock()/flush_dcache_mmap_unlock() definitions are identical across all CPUs, so just provide them generically in asm/cacheflush.h. Signed-off-by: Paul Mundt commit 0b445dcaf3adda5bec5cc494925bc689fcc59a0e Author: Paul Mundt Date: Sat Aug 15 11:22:50 2009 +0900 sh: Don't export flush_dcache_all(). flush_dcache_all() is used internally by the SH-4 cache code, it is not part of the exported cache API, so make it static and don't export it. Signed-off-by: Paul Mundt commit 27d59ec1709817a90aa3ab7169f60994a89ad2f5 Author: Paul Mundt Date: Sat Aug 15 11:11:16 2009 +0900 sh: Move alias computation to shared cache init. This migrates the alias computation and printing of probed cache parameters from the SH-4 code to the shared cpu_cache_init(). This permits other platforms with aliases to make use of the same probe logic without having to roll their own, and also produces consistent output regardless of platform. Signed-off-by: Paul Mundt commit ecba1060583635ab55092072441ff903b5e9a659 Author: Paul Mundt Date: Sat Aug 15 11:05:42 2009 +0900 sh: Centralize the CPU cache initialization routines. This provides a central point for CPU cache initialization routines. This replaces the antiquated p3_cache_init() method, which the vast majority of CPUs never cared about. Signed-off-by: Paul Mundt commit e82da214d2fe3dc2610df966100c4f36bc0fad91 Author: Paul Mundt Date: Sat Aug 15 10:48:13 2009 +0900 sh: Track the CPU family in sh_cpuinfo. This adds a family member to struct sh_cpuinfo, which allows us to fall back more on the probe routines to work out what sort of subtype we are running on. This will be used by the CPU cache initialization code in order to first do family-level initialization, followed by subtype-level optimizations. Signed-off-by: Paul Mundt commit aae4d1428c03b03f9fe6204a83e35822fe9cc591 Author: Paul Mundt Date: Sat Aug 15 09:57:57 2009 +0900 sh: consolidate nommu stubs in arch/sh/mm/nommu.c. These were previous littered around tlb-nommu.c and pg-nommu.c, though at this point there are more stubs than are strictly TLB or page op related, so just consolidate them in a single nommu.c. Signed-off-by: Paul Mundt commit dde5e3ffb770ef2854bbc32c51a365e932919e19 Author: Paul Mundt Date: Sat Aug 15 09:49:32 2009 +0900 sh: rework nommu for generic cache.c use. This does a bit of reorganizing for allowing nommu to use the new and generic cache.c, no functional changes. Signed-off-by: Paul Mundt commit cbbe2f68f678a90bebeb30b8a7fcd8aed0614879 Author: Paul Mundt Date: Sat Aug 15 09:30:39 2009 +0900 sh: rename pg-mmu.c -> cache.c, enable generically. This builds in the newly created cache.c (renamed from pg-mmu.c) for both MMU and NOMMU configurations. The kmap_coherent() stubs and alias information recorded by each CPU family takes care of doing the right thing while enabling the code to be commonly shared. Signed-off-by: Paul Mundt commit 2739742c24f1a55365e71f0722bfdce8994e9c4e Author: Paul Mundt Date: Sat Aug 15 09:19:19 2009 +0900 sh: Provide the kmap_coherent() interface generically. This plugs in kmap_coherent() for the non-SH4 cases to permit the pg-mmu.c bits to be used generically across all CPUs. SH-5 is still in the TODO state, but will move over to fixmap and the generic interface gradually. Signed-off-by: Paul Mundt commit 8edcfcbbd131a3580db666ed1034c24d56eb6f5d Author: Paul Mundt Date: Sat Aug 15 09:03:59 2009 +0900 sh: Bail from kmap_coherent_init() if we have no dcache aliases. This kills off the ifdef from kmap_coherent_init() and just bails if there are no cache aliases. This permits the kmap coherent code to be used on other CPUs. Signed-off-by: Paul Mundt commit 3c556e4198926b284ff5ff6756111a64e1e98cb0 Author: Arnaldo Carvalho de Melo Date: Wed Aug 12 12:00:40 2009 -0300 x86, intel_txt: Fix typos in Kconfig help Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: H. Peter Anvin commit 1758c0947605211ef953cc91d6bbdf847a21b822 Author: Oliver Hartkopp Date: Thu Aug 13 22:54:25 2009 +0000 can: Use WARN_ONCE() instead of BUG_ON() for sanity check in receive path To ensure a proper handling of CAN frames transported in skbuffs some checks need to be performed at receive time. As stated by Michael Olbrich and Luotao Fu BUG_ON() might be to restrictive. This is right as we can just drop the non conform skbuff and the Kernel can continue working. This patch replaces the BUG_ON() with a WARN_ONCE() so that the system remains healthy but we made the problem visible (once). Signed-off-by: Oliver Hartkopp Signed-off-by: Urs Thuermann CC: Michael Olbrich CC: Luotao Fu Signed-off-by: David S. Miller commit 49d4b8ba97034469b941d00d5ca1e3b897394e35 Author: Stephen Hemminger Date: Fri Aug 14 13:33:17 2009 +0000 sky2: remove restarting workaround flag The whole restarting flag was introduced by Mike McCormack and was a temporary duct tape patch around issues with transmits inflight during restart. The problems it was covering are now fixed and the code should have been reverted. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f34c5c828439cedbc222030d7e45af69f947384d Author: Yi Zou Date: Fri Aug 14 12:42:17 2009 +0000 ixgbe: Add support for NETIF_F_FCOE_MTU to 82599 devices Enable netdev feature flag bit NETIF_F_FCOE_MTU for 82599 devices and enable jumbo frame correspondingly when NETIF_F_FCOE_MTU is set. Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit bb2af4f54ffa8245d5ce278cae9c66198bc14d8b Author: Yi Zou Date: Fri Aug 14 12:41:57 2009 +0000 net: Add NETIF_F_FCOE_MTU to indicate support for a different MTU for FCoE Add NETIF_F_FCOE_MTU to indicate that the NIC can support a secondary MTU for converged traffic of LAN and Fiber Channel over Ethernet (FCoE). The MTU for FCoE is 2158 = 14 (FCoE header) + 24 (FC header) + 2112 (FC max payload) + 4 (FC CRC) + 4 (FCoE trailer). Signed-off-by: Yi Zou Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 36a82236314b5ebd6e3e1eb8bb7b850c83e53c3a Author: Vasu Dev Date: Fri Aug 14 12:41:28 2009 +0000 ixgbe: updates vlan feature flags to enable FCoE offloads on vlan interface Updates netdev->vlan_features for NETIF_F_FCOE_CRC and NETIF_F_FSO, so that FCoE CRC and GSO offloads will get used for FCoE over ixgbe based vlan interface. Signed-off-by: Vasu Dev Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b85daa5324a3c9e560a4351c17d18f49c647eb5c Author: Vasu Dev Date: Fri Aug 14 12:41:07 2009 +0000 vlan: adds fcoe offload related net_device_ops and updates fcoe_ddp_xid field Adds fcoe offload related net_device_ops functions vlan_dev_fcoe_ddp_setup and vlan_dev_fcoe_ddp_done, their implementation simply calls real eth device net_device_ops for FCoE DDP setup and done operations. Updates VLAN netdev field value for fcoe_ddp_xid from real eth device netdev. Above changes are required for fcoe DDP offload working on a VLAN interface. Signed-off-by: Vasu Dev Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 180aa6e6aa11922dcd4c13df1967d62bb2ede76c Author: Matt Fleming Date: Sat Aug 15 00:04:00 2009 +0100 sh: Set the cfa_offset to 0 if we see a DW_CFA_def_cfa_register op The way that the CFA is calculated can change as we progress through a function. If we see a DW_CFA_def_cfa_register op we need to reset the frame's cfa_offset value which may have been previously setup. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit cf9911166113e471e1796eaf273982d8e43b138d Merge: deeb16d 8851293 Author: David S. Miller Date: Fri Aug 14 16:07:21 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 7dd6662a92fe9a15ad565045aa60367995cc533d Author: Paul Mundt Date: Sat Aug 15 07:43:21 2009 +0900 sh: delay slot future proofing via EXPMASK on SH-4A parts. This implements EXPMASK initialization code for SH-4A parts, where it is possible to disable compat features that will go away in newer cores. Presently this includes disabling support for non-nop instructions in the rte delay slot, as well as a sleep instruction being placed in a delay slot (neither of which the kernel does any longer). As a result of this, any future offenders will have illegal slot exceptions generated for them. Associative writes for the memory-mapped cache array are still left enabled, until such a point that special cache operations for SH-4A are provided to move off of the current (and rather dated) SH-4 versions. Signed-off-by: Paul Mundt commit 7a90e00dda0bae66b5232d5a37155f13a0581369 Author: Paul Mundt Date: Sat Aug 15 07:41:45 2009 +0900 sh: Make sure rte delay slots are nopped out on all parts. Future SH parts do not support any instruction but a nop in the rte delay slot, so make the change for all offending parts. SH-5 is excluded from this, and already has its own set of restrictions with regards to rte delay slot handling. Signed-off-by: Paul Mundt commit deeb16dc24b68cbdca72dc717ae82178a6644801 Author: Stephen Hemminger Date: Fri Aug 14 05:15:20 2009 +0000 sky2: version 1.24 Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0ea065e52eb6a0f029b5fa5ed2f142be1b66a153 Author: Stephen Hemminger Date: Fri Aug 14 15:36:41 2009 -0700 sky2: fix pause negotiation The sky2 driver combines auto speed negotiation with automatic negotiation of pause parameters; but the ethtool interface expects them to be split. This patch allows autonegotiation to be used for speed, but manually disable flow control. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 481cea4a4d72aabe76dbb86b1a64f4e8931eca25 Author: Stephen Hemminger Date: Fri Aug 14 15:33:19 2009 -0700 sky2: lock less transmit completion Transmit completion can safely run lockless against transmit start. In the normal case, completion is done from NAPI and only looks at elements that are at the tail of the ring. When doing shutdown or reset, the transmiter should be completely block by NAPI disable and blocking of transmit queue. Based on earlier work by Mike McCormack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit af18d8b89930aecc742982634adaf97dfb43ed3b Author: Stephen Hemminger Date: Fri Aug 14 15:31:25 2009 -0700 sky2: cleanup restart operations This unifies the places that bounce the device (suspend/resume and restart). And makes the operations have the same semantics as normal dev_open/dev_stop. This also avoids setting the multicast addresses twice when device is brought up. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 19720737187aaee006afb20e63be5e9eddc505a8 Author: Stephen Hemminger Date: Fri Aug 14 05:15:16 2009 +0000 sky2: hold RTNL when doing suspend/shutdown operations The suspend and shutdown code plays with shared state. Use consistent locking, for extra protection. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 0da6d7b331f391d3c0ce52fb5289f7edeb94e280 Author: Stephen Hemminger Date: Fri Aug 14 05:15:15 2009 +0000 sky2: hold spinlock around phy_power_down Avoid any possible problems with accessing PHY registers on shutdown. This is a purely theoretical issue and is not related to any of the outstanding bug reports. Since receiver and transmitter are already shutdown and phy interrupts for this device are already disabled, there should already be enough protection. Suggested by Mike McCormack. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 264bb4fab1a0952b4eef4df5b9e90bc050a2d1e6 Author: Mike McCormack Date: Fri Aug 14 05:15:14 2009 +0000 sky2: Reset tx train after interrupts disabled. Reseting the tx chain too soon results in invalid tx queue positions being delivered in the status queue. This also makes sure there's no overlap between the cleanup done by sky2_tx_clean() and sky2_tx_done(). Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit a510996bea68eec2feb7818e9a440bd840613a25 Author: Mike McCormack Date: Fri Aug 14 05:15:13 2009 +0000 sky2: Move tx reset functionality to sky2_tx_reset() This is pure refactoring. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 9b289c3374d2891aac6c12de58e49a16cfbcb6b1 Author: Mike McCormack Date: Fri Aug 14 05:15:12 2009 +0000 sky2: Avoid rewinding sky2->tx_prod Keep sky2->tx_prod consistent since int might be examined by an softirq poll or restart. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit d2dcd9101b1a940ce8496601ba871e47f84881ec Merge: 8010fbe 606b4c9 Author: Paul Mundt Date: Sat Aug 15 05:58:45 2009 +0900 Merge branch 'master' into sh/cachetlb commit a8519de4a030d130e0d18147a2af3112b7951e0b Merge: 5c16807 560ad81 Author: David S. Miller Date: Fri Aug 14 12:29:17 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 58c41d28259c246dbc11358d85d332dc20ccd57b Author: H. Peter Anvin Date: Fri Aug 14 12:14:19 2009 -0700 x86, intel_txt: Factor out the code for S3 setup S3 sleep requires special setup in tboot. However, the data structures needed to do such setup are only available if CONFIG_ACPI_SLEEP is enabled. Abstract them out as much as possible, so we can have a single tboot_setup_sleep() which either is a proper implementation or a stub which simply calls BUG(). Signed-off-by: H. Peter Anvin Acked-by: Shane Wang Cc: Joseph Cihula commit 8010fbe7a67c2f993cbb11b9d8b7e98528256dd1 Author: Paul Mundt Date: Sat Aug 15 03:06:41 2009 +0900 sh: TLB fast path optimizations for load/store exceptions. This only bothers with the TLB entry flush in the case of the initial page write exception, as it is unecessary in the case of the load/store exceptions. Signed-off-by: Paul Mundt commit cccddf4f5580131c9b963900e1d3400655e633cc Author: Benny Halevy Date: Fri Aug 14 17:20:19 2009 +0300 nfs: nfs4xdr: optimize low level decoding do not increment decoding ptr if not needed. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c0eae66ece40bdb8cd88c5106834b71a1c9f421c Author: Benny Halevy Date: Fri Aug 14 17:20:14 2009 +0300 nfs: nfs4xdr: get rid of READ_BUF Use xdr_inline_decode instead. Open code debug printout and error return. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2460ba57c49c36dfef0b62c929461de09240fe17 Author: Benny Halevy Date: Fri Aug 14 17:20:10 2009 +0300 nfs: nfs4xdr: simplify decode_exchange_id by reusing decode_opaque_inline Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 99398d0655ada44ae464a1c93d13cd438a306ecd Author: Benny Halevy Date: Fri Aug 14 17:20:05 2009 +0300 nfs: nfs4xdr: get rid of COPYMEM Just directly call memcpy. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e78291e4e07520348b0634095cf19ed3bc868965 Author: Benny Halevy Date: Fri Aug 14 17:20:00 2009 +0300 nfs: nfs4xdr: introduce decode_sessionid helper Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit db942bbd09563e169cc5d9004c32c1de33220fd1 Author: Benny Halevy Date: Fri Aug 14 17:19:56 2009 +0300 nfs: nfs4xdr: introduce decode_verifier helper Signed-off-by: Benny Halevy [Trond: Fixed up an 'uninitialised variable' issue in decode_readdir] Signed-off-by: Trond Myklebust commit 112e58471de3431fbd03dee514777ad4a66a77b2 Author: Paul Mundt Date: Sat Aug 15 02:49:40 2009 +0900 sh: TLB protection violation exception optimizations. This adds a bit of rework to have the TLB protection violations skip the TLB miss fastpath and go directly in to do_page_fault(), as these require slow path handling. Based on an earlier patch by SUGIOKA Toshinobu. Signed-off-by: Paul Mundt commit 07d30434cfe2f1a1553143c6b20f1fe68d2ef80a Author: Benny Halevy Date: Fri Aug 14 17:19:52 2009 +0300 nfs: nfs4xdr: introduce decode_opaque_fixed and decode_stateid helpers Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 686841b3cc3a71918b45ed148be7a01a4f10e3f8 Author: Benny Halevy Date: Fri Aug 14 17:19:48 2009 +0300 nfs: nfs4xdr: introduce print_overflow_msg Part fo the nfs4xdr cleanup. READ_BUF will go away. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit c816fd3406462702dee2e3859e70132c3aab7c10 Author: Benny Halevy Date: Fri Aug 14 17:19:44 2009 +0300 nfs: nfs4xdr: get rid of READTIME It has no users. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 3ceb4dbb993fdab6a6fafc69db36686278871134 Author: Benny Halevy Date: Fri Aug 14 17:19:41 2009 +0300 nfs: nfs4xdr: get rid of READ64 s/READ64\(\*(.*)\)/p = xdr_decode_hyper(p, \1)/ s/READ64\((.*)\)/p = xdr_decode_hyper(p, &\1)/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 6f723f7710024bb151ca8c5277ce8c71beec4db8 Author: Benny Halevy Date: Fri Aug 14 17:19:37 2009 +0300 nfs: nfs4xdr: get rid of READ32 s/READ32\((.*)\)/\1 = be32_to_cpup(p++)/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e7b8b7f16edc9b363573eadf2ab2683473626071 Author: Paul Mundt Date: Sat Aug 15 02:21:16 2009 +0900 sh: NO_CONTEXT ASID optimizations for SH-4 cache flush. This optimizes for the cases when a CPU does not yet have a valid ASID context associated with it, as in this case there is no work for any of flush_cache_mm()/flush_cache_page()/flush_cache_range() to do. Based on the the MIPS implementation. Signed-off-by: Paul Mundt commit 811652bd6edd66dd35bf9caacdfe96d19f75a47e Author: Benny Halevy Date: Fri Aug 14 17:19:34 2009 +0300 nfs: nfs4xdr: merge xdr_encode_int+xdr_encode_opaque_fixed into xdr_encode_opaque use encode_string where appropriate. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 345585132a204859fbb7d8b662e9b6e5b563c6dc Author: Benny Halevy Date: Fri Aug 14 17:19:30 2009 +0300 nfs: nfs4xdr: optimize low level encoding do not increment encoding ptr if not needed. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 13c65ce90006badccd5663e558e3c85869ae5ce6 Author: Benny Halevy Date: Fri Aug 14 17:19:25 2009 +0300 nfs: nfs4xdr: change RESERVE_SPACE macro into a static helper In order to open code and expose the result pointer assignment. Alternatively, we can open code the call to xdr_reserve_space and do the BUG_ON an the error case at the call site. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 2220f13a8b90d2259f3094cb54cf4de67d8eee2d Author: Benny Halevy Date: Fri Aug 14 17:19:18 2009 +0300 nfs: nfs4xdr: encode_compound_hdr does not have to round up reserved bytes This is already done by xdr_reserve_space and since encode_compound_hdr is adding a byte count to "12" which is already word aligned, the xdr level rounding will work just as well. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 42edd698125b76a38bd9999015202db036dfbc76 Author: Benny Halevy Date: Fri Aug 14 17:19:13 2009 +0300 nfs: nfs4xdr: optimize RESERVE_SPACE in encode_create_session and encode_sequence Coalesce multilpe constant RESERVE_SPACEs into one Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 93f0cf25944695e1229fe90a2897af0211fbd425 Author: Benny Halevy Date: Fri Aug 14 17:19:06 2009 +0300 nfs: nfs4xdr: get rid of WRITEMEM s/WRITEMEM(/p = xdr_encode_opaque_fixed(p, / Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit b95be5a976848febff82edb21d5b4351b3997bf6 Author: Benny Halevy Date: Fri Aug 14 17:19:01 2009 +0300 nfs: nfs4xdr: get rid of WRITE64 s/WRITE64/p = xdr_encode_hyper(p, / Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit e75bc1c89e0c7dda0b140408ddee2ffaef7ba6d4 Author: Benny Halevy Date: Fri Aug 14 17:18:54 2009 +0300 nfs: nfs4xdr: get rid of WRITE32 s/WRITE32/*p++ = cpu_to_be32/ Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 98866b5abe1513cdacc011874ca045d40002eccd Author: Benny Halevy Date: Fri Aug 14 17:18:49 2009 +0300 sunrpc: ntoh -> be*_to_cpu ntohl is already defined as be32_to_cpu. be64_to_cpu has architecture specific optimized implementations. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit 9f162d2a810b4db48f7b8d7e734d0932c81ec2a1 Author: Benny Halevy Date: Fri Aug 14 17:18:44 2009 +0300 sunrpc: hton -> cpu_to_be* htonl is already defined as cpu_to_be32. cpu_to_be64 has architecture specific optimized implementations. Signed-off-by: Benny Halevy Signed-off-by: Trond Myklebust commit de75c771b4cc4da963164a538a8448128301bc35 Author: Artem Bityutskiy Date: Fri Jul 24 16:18:04 2009 +0300 UBI: improve NOR flash erasure quirk More testing of NOR flash against power cuts showed that sometimes eraseblocks may be unwritable, and we cannot really invalidate them before erasure. But in this case the eraseblock probably contains garbage anyway, and we do not have to invalidate the headers. This assumption might be not true, but this is at least what I have observed. So if we cannot invalidate the headers, we make sure that the PEB does not contain valid VID header. If this is true, everything is fine, otherwise we panic. commit 867996b15c1f0a98d2c405bada907e97499ba8c2 Author: Artem Bityutskiy Date: Fri Jul 24 15:31:33 2009 +0300 UBI: introduce flash dump helper Useful for debugging problems, compiled in only if UBI debugging is enabled. This patch also makes the UBI writing function dump the flash if it fails to write. Signed-off-by: Artem Bityutskiy commit 758d8e46347aee199e7025b8c571bab75d2de63f Author: Phil Carmody Date: Thu Jul 23 15:29:10 2009 +0200 UBI: eliminate possible undefined behaviour The assignment to pos when rb is finally NULL is undefined behaviour. Upon seeing that assignment, GCC may assume that rb is not NULL, and the loop condition ``rb'' may be optimised away. Signed-off-by: Phil Carmody Signed-off-by: Artem Bityutskiy commit 4a406856ea6830d8b8dba6a27d9f9331c5f4c13a Author: Artem Bityutskiy Date: Sun Jul 19 14:33:14 2009 +0300 UBI: print a warning if too many PEBs are corrupted There was a bug report recently where UBI prints: UBI error: ubi_attach_mtd_dev: failed to attach by scanning, error -22 error messages and refuses to attach a PEB. It turned out to be a buggy flash driver which returned garbage to almost every UBI read. This patch makes UBI print a better message in such cases. Namely, if UBI finds 8 or more corrupted PEBs, it prints a warning and lists the corrupted PEBs. Signed-off-by: Artem Bityutskiy commit 5b289b562f6d236108569a880cb38cc03d17a50d Author: Artem Bityutskiy Date: Sun Jul 19 14:09:46 2009 +0300 UBI: amend NOR flash pre-erase quirk In case of NOR flash, UBI zeroes EC and VID headers' magic, in order to detect interrupted erasures. It first zeroes out the EC magic, then VID magic. However, if a power cut happens in between, we'll end up with a corrupted EC header and a valid VID header, in which case UBI accepts the PEB, but prints a warning. This patch makes sure we first zero out the VID magic, then the EC magic, not vice versa. This is just a small amendment to prevent warning messages. Signed-off-by: Artem Bityutskiy commit 29a88c99d29834fb3314e0144900b187ede83106 Author: Artem Bityutskiy Date: Sun Jul 19 14:03:16 2009 +0300 UBI: print a message if ECH is corrupted and VIDH is ok If the EC header is corrupted, but the VID header is OK, UBI accepts the PEB and treats it as "used". However, generally this should not happen. Print a warning if this happens. Signed-off-by: Artem Bityutskiy commit 795687265d1b6f666d02ff56f6c1679a8db160a9 Author: Paul Mundt Date: Sat Aug 15 02:00:54 2009 +0900 sh64: Wire up the shared __flush_xxx_region() flushers. Now with all of the prep work out of the way, kill off the SH-5 variants and use the SH-4 version directly. This also takes advantage of the unrolling that was previously done for the new version. Signed-off-by: Paul Mundt commit 43bc61d86f8ea6edef2e02d1dc47617883fa9a9c Author: Paul Mundt Date: Sat Aug 15 01:57:36 2009 +0900 sh: Add register alignment helpers for shared flushers. This plugs in some register alignment helpers for the shared flushers, allowing them to also be used on SH-5. The main rationale here is that in the SH-5 case we have a variable ABI, where the pointer size may not equal the register width. This register extension is taken care of by the SH-5 code already today, and is otherwise unused on the SH-4 code. This combines the two and allows us to kill off the SH-5 implementation. Signed-off-by: Paul Mundt commit 2a708137fd7d3e0928f27157aaed8aba404b11c9 Author: Barry Song <21cnbao@gmail.com> Date: Fri Aug 14 12:06:38 2009 +0800 ASoC: delete -spi suffix in ad1938 and free private data while registers fail Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 9028935d752ede57b086ab1bfe2420d4cba80127 Author: Peter Ujfalusi Date: Fri Aug 14 08:44:00 2009 +0300 ASoC: TWL4030: Fix for capture mixer strings Change the strings related to capture in order to be interpreted correctly by alsamixer and possible other UI based mixer applications. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 606b4c992f3b28f906100f1b6eb49059909d8da7 Author: Paul Mundt Date: Sat Aug 15 01:11:37 2009 +0900 sh: stacktrace: Properly terminate the trace entry buffer. This inserts a ULONG_MAX entry at the end of the valid entries in the stack trace buffer so the default code doesn't need to scan to the end of available slots. This also makes the trace buffer termination behaviour consistent with the other architectures. Signed-off-by: Paul Mundt commit f9967e23c10f025d85bbf66a2a5f18f016890ccb Author: Paul Mundt Date: Sat Aug 15 01:09:03 2009 +0900 sh: flag the default unwinder as reliable. This flags the default unwinder as reliable, as it tends to be reliable enough for the purposes of the stacktrace buffer. We leave the unreliable cases for the unwind methods that we know to be completely broken. Signed-off-by: Paul Mundt commit 48e4d4604b7da52d6a56ddc821a460b183b7353d Author: Paul Mundt Date: Sat Aug 15 01:05:46 2009 +0900 sh: stacktrace: Add reliability checks in address saving ops. This adopts the reliability checks from the x86 stacktrace code so known bad addresses are not recorded in the stack trace buffer. Signed-off-by: Paul Mundt commit 0fc11e3618bb1f9e0640127ec84f5d2690fa3894 Author: Paul Mundt Date: Fri Aug 14 23:58:37 2009 +0900 sh: unwinder: Convert frame allocations to GFP_ATOMIC. save_stack_trace_tsk() and friends can be called from atomic context (as triggered by latencytop), and subsequently hit two problematic allocation points that were using GFP_KERNEL (these were dwarf_unwind_stack() and dwarf_frame_alloc_regs()). Convert these over to GFP_ATOMIC and get latencytop working with the DWARF unwinder. Signed-off-by: Paul Mundt commit b282e29b547937d1610f38d6aa1c485426b62650 Merge: c378aa2 c233d94 Author: Ben Dooks Date: Fri Aug 14 15:24:06 2009 +0100 Merge branch 'next-s3c64xx-moves' into next-s3c commit c378aa275e1476218a6b438056a4cd48eb1eca0f Merge: 215ed32 c7c8f61 Author: Ben Dooks Date: Fri Aug 14 15:24:01 2009 +0100 Merge branch 'next-s3c64xx' into next-s3c commit 215ed3236a17b748cf75a2c23f50028c95302a42 Merge: 0fbdd27 e6d197a Author: Ben Dooks Date: Fri Aug 14 15:23:45 2009 +0100 Merge branch 'next-s3c24xx-cpufreq' into next-s3c commit 0fbdd270078a3e3ce537a2fb6ffc8a9b2427500c Merge: 69e3728 a2c195f Author: Ben Dooks Date: Fri Aug 14 15:23:34 2009 +0100 Merge branch 'next-s3c24xx' into next-s3c commit 69e372896791c2e43949b32d4cbe8a714961d3d7 Merge: 63c949e 2896bda Author: Ben Dooks Date: Fri Aug 14 15:23:22 2009 +0100 Merge branch 'next-s3c-machines' into next-s3c commit 63c949ea1dcf5d46789f13d8e9c21bb8aeb605cb Merge: 9b71de4 bff7865 Author: Ben Dooks Date: Fri Aug 14 15:23:15 2009 +0100 Merge branch 'next-s3c-hwmon' into next-s3c commit 4cd1993f0046fbc765dbf20af90966f5661e3789 Merge: 97fd9ed 64f1607 Author: Thomas Gleixner Date: Fri Aug 14 15:59:00 2009 +0200 Merge branch 'linus' into timers/core Reason: Martin's timekeeping cleanup series depends on both timers/core and mainline changes. Signed-off-by: Thomas Gleixner commit 560ad81b6c90e0fddc4d6c280f16ddf18d47eeb1 Author: Gábor Stefanik Date: Thu Aug 13 14:19:02 2009 +0200 b43: Implement RC calibration for rev.0/1 LP-PHYs Also implement get/set BB mult, get/set TX gain, set RX gain, disable/restore CRS, run/stop DDFS, RX IQ est and QDIV roundup in the process. Signed-off-by: Gábor Stefanik Acked-by: Michael Buesch Signed-off-by: John W. Linville commit eff563cf10e2f24e3b025d352c3aa174cf0111b3 Author: Sujith Date: Thu Aug 13 09:34:37 2009 +0530 ath9k: Set HW state properly This patch fixes a bug in ath9k_stop() where the HW was not put into FULL_SLEEP state. Not doing so will cause issues in suspend-resume and the HW will not respond to chip resets. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 523c36fc9cf75ccf605d9acf68ae9eb857de3f58 Author: Sujith Date: Thu Aug 13 09:34:35 2009 +0530 ath9k: Fix bug in PCI resume This patch fixes a bug where the device was enabled before restoring the PCI state. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1cf6873a191388ff7d06bbd70f68bbffe1d70019 Author: Sujith Date: Thu Aug 13 09:34:32 2009 +0530 ath9k: Remove duplicate variables diversity_control and antenna_switch_swap are already present in ath9k_ops_config. Remove duplicate occurrences in ath_hw. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 1aa8e84736fb1a584c679f2893245826583a0526 Author: Sujith Date: Thu Aug 13 09:34:25 2009 +0530 ath9k: Remove has_hw_phycounters PHY counters are available in all chipsets supported by ath9k. Remove the check. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 2a219eb26793fc4c47b3ad7b84bded7b66f6e2c4 Author: Luis R. Rodriguez Date: Wed Aug 12 14:45:16 2009 -0700 ath9k: update kconfig to indicate support for AR9002 family ath9k supports the AR9002 family of chipsets. This includes the AR9285 and the miniPCI AR9223 and AR9220 (which themselves have AR9280+AR5133). We now refer people to the wiki page as it seems this is not as popular as we would have hoped. Reported-by: JD Cc: Dakota Lee Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 16cb9d42b68b339852e8914f2538ca9a2aec616c Author: Johannes Berg Date: Wed Aug 12 23:33:20 2009 +0200 cfg80211: allow driver to override PS default Sometimes drivers might have a good reason to override the PS default, like iwlwifi right now where it affects RX performance significantly at this point. This will allow them to override the default, if desired, in a way that users can still change it according to their trade-off choices, not the driver's, like would happen if the driver just disabled PS completely then. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 36e6fea84905512ea776707e82b5b435220efc17 Author: Johannes Berg Date: Wed Aug 12 22:21:21 2009 +0200 cfg80211: check for and abort dangling scan requests If you trigger a scan request on an interface and then take it down, or rmmod the module or unplug the device the driver might "forget" to cancel the scan request. That is a bug in the driver, but the current behaviour is that we just hang endlessly waiting for the netdev refcount to become 0 which it never will. To improve robustness, check for this situation in cfg80211, warn about it and clean up behind the driver. I don't just clean up silently because it's likely that the driver also has some internal state it has now leaked. Additionally, this fixes a locking bug, clearing the scan_req pointer should be done under the rdev lock. Finally, we also need to _wait_ for the scan work and not just abort it since it might be pending and wanting to do a cleanup. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 70bdb6b275d789ddf05c3a858e6b57715539394b Author: David Woo Date: Wed Aug 12 11:03:44 2009 -0700 mac80211: Fix invalid length passed to IE parser for PLINK CONFIRM frames The length of the fixed portion of plink confirm frames is 4 bytes longer than the other plink_action frames. This path corrects an error in the length adjustment done for these type of frames. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 57ef5ddb456649667438e023f67dd3a3ff3fbed8 Author: David Woo Date: Wed Aug 12 11:03:43 2009 -0700 mac80211: Mark a destination sequence number as valid when a PREQ is received. If a PREQ frame is received giving us a fresher DSN than what we have, record the new dsn and mark it as valid. This patch fixes a bug in the setting of the MESH_PATH_DSN_VALID flag. Also, minor fix to coding style on that file. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 13311b00117ed1bf903cf8870432504631a7ce77 Author: Luis R. Rodriguez Date: Wed Aug 12 09:57:01 2009 -0700 ath5k: use bit shift operators for cache line size This matches ath9k, providing consistency when reading both drivers. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit aeb63cfd4ccc813c204a0d81ad6c5a90c33d8f61 Author: Luis R. Rodriguez Date: Wed Aug 12 09:57:00 2009 -0700 ath5k: use common ath.ko ath_rxbuf_alloc() Now that its shared we can remove ath5k's own implementation. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d15dd3e5d74186a3b0a4db271b440bbdc0f6da36 Author: Luis R. Rodriguez Date: Wed Aug 12 09:56:59 2009 -0700 ath: add common ath_rxbuf_alloc() and make ath9k use it Turns out ath5k and ath9k can share the same helper to allocates RX skbs. We allocate skbs aligned to the cache line size. This requirement seems to have come from AR5210; when this was not done it seems sometimes we'd get bogus data. I'm also told it may have been a performance enhancement consideration. In the end I can't be sure we can remove this on new hardware so just keep this and start sharing it through ath.ko. Make ath9k start using this, ath5k is next. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 5ef5da0ff2fc4f04c856f4ce9a757e318a02ad06 Author: Kalle Valo Date: Wed Aug 12 14:42:59 2009 +0300 wl1251: remove unused definitions from wl1251_reg.h Luis reported that IRQ_MASK conflicts with include/pcmcia/cs.h on compat-wireless. Remove that and a bunch of other unused defines from wl1251_reg.h. Reported-by: Luis R. Rodriguez Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 11aa6e2398f54712b1e1bdeb9d8bf3b452c5a5d5 Author: Kalle Valo Date: Wed Aug 12 14:42:51 2009 +0300 wl1251: remove wl1251_ops.c Commit "wl1251: remove wl1251_ops" originally removed file wl1251_ops.c, but while I rebased the patch the removal got lost. Now remote the file for real. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit aae79e648d93bc9d6b3581ab4eb88e2ac44f5c46 Author: Kalle Valo Date: Wed Aug 12 14:07:27 2009 +0300 iwl3945: fix compilation error in iwl3945_pass_packet_to_mac80211() Commit "iwlwifi: Traffic type and counter for debugFs" broke iwl3945 in a case when CONFIG_IWLWIFI_LEDS is disabled: drivers/net/wireless/iwlwifi/iwl-3945.c:580: error: 'hdr' undeclared (first use in this function) Fix it by removing the ifdef check for hdr variable. Signed-off-by: Kalle Valo Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 47583154767886a97a82452c8aca63bf0336337a Author: Gábor Stefanik Date: Tue Aug 11 22:24:22 2009 +0200 b43: LP-PHY: Refactor TX gain table I/O Make it possible to write individual gain table entries. Allow gain table entries to be written outside gain table init. Add version-agnostic helpers for writing gain tables. Use the new TX gain table helpers during table init. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 7834ddbcc7a097443761b0722e8c9fb8511b95b1 Author: Jussi Kivilinna Date: Tue Aug 11 22:57:16 2009 +0300 usbnet: add rx queue pausing Add rx queue pausing to usbnet. This is needed by rndis_wlan so that it can control rx queue and prevent received packets from being send forward before rndis_wlan receives and handles 'media connect'-indication. Without this establishing WPA connections is hard and fail often. [v2] - removed unneeded use of skb_clone Cc: David Brownell Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit d4de9532fd0b50d486259ace17650a58bbb751c2 Author: Gábor Stefanik Date: Tue Aug 11 21:53:06 2009 +0200 b43: Implement RC calibration for rev.2+ LP PHYs Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 84ec167d327b42414285f22eb037a5bdee486ded Author: Gábor Stefanik Date: Tue Aug 11 21:47:00 2009 +0200 b43: LP-PHY: Implement reading band SPROM Some of the new variables in b43_phy_lp appear to be dead code in the vendor driver; they will be removed if they remain unused when LP-PHY implementation is finished. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c00552c60840c32456ca9e45de758ac03e3d3c4f Author: Daniel Mack Date: Tue Aug 11 16:09:34 2009 +0200 libertas: name the network device wlan%d Devices created by the libertas driver are currently called eth%d. Which is wrong, because the device does not at all have anything to do with Ethernet. And it is also confusing when used on devices with more than one network device. Fix this by calling it wlan%d. Signed-off-by: Daniel Mack Cc: Roel Kluin Acked-by: Dan Williams Signed-off-by: John W. Linville commit cca89496a8afe4ad12ce1e468e60cef1e27e4eee Author: Javier Cardona Date: Mon Aug 10 17:29:29 2009 -0700 mac80211: Fix unresolved mesh frames queued without valid control.vif Mesh frames that could not be immediately resolved were queued with a NULL info->control.vif. This patch moves the call to mesh_nexthop_lookup closer to the point where it is handed over to ieee80211_tx(). This ensures that the unresolved frames are ready to be sent once the path is resolved. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 1fe90b033e04d7402b3deb392420fe2ff57986a5 Author: Thadeu Lima de Souza Cascardo Date: Tue Aug 11 11:18:42 2009 -0300 trivial: remove duplicate "different" from comment Signed-off-by: Thadeu Lima de Souza Cascardo Signed-off-by: John W. Linville commit 73d0a13c8583cd9a84c1333cf9b45d1d894e52b3 Author: Luciano Coelho Date: Tue Aug 11 11:58:27 2009 +0300 wl1271: fix compiler warnings on 64 bit archs There were a few warnings when compiling the wl1271 driver on 64 bit architectures. This was due to size mismatch of integers. This commit fixes the following warnings: drivers/net/wireless/wl12xx/wl1271_main.c: In function 'wl1271_irq_work': drivers/net/wireless/wl12xx/wl1271_main.c:184: warning: large integer implicitly truncated to unsigned type drivers/net/wireless/wl12xx/wl1271_boot.c: In function 'wl1271_boot_upload_firmware_chunk': drivers/net/wireless/wl12xx/wl1271_boot.c:103: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/net/wireless/wl12xx/wl1271_boot.c:150: warning: format '%d' expects type 'int', but argument 2 has type 'size_t' drivers/net/wireless/wl12xx/wl1271_boot.c: In function 'wl1271_boot_enable_interrupts': drivers/net/wireless/wl12xx/wl1271_boot.c:278: warning: large integer implicitly truncated to unsigned type Reported-by: Stephen Rothwell Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit d44517f235c5baa943fc8cac7e56bd291ffc077e Author: Gábor Stefanik Date: Tue Aug 11 00:54:26 2009 +0200 b43: Fix a typo in the sync_stx routine I completely missed the "one's complement" instruction from the specs. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit f679056b2fdd4e9b7c8eb42ba447cd9646236305 Author: Gábor Stefanik Date: Mon Aug 10 21:23:08 2009 +0200 ssb: Implement the remaining rev.8 SPROM vars needed for LP-PHY Also add a "SPEX32" macro for extracting 32-bit SPROM variables. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 18889231e4527dfe23145efe318e74744794a95d Author: Javier Cardona Date: Mon Aug 10 12:15:52 2009 -0700 mac80211: Move mpath and mpp growth to mesh workqueue. This prevents calling rcu_synchronize from within the tx path by moving the table growth code to the mesh workqueue. Move mesh_table_free and mesh_table_grow from mesh.c to mesh_pathtbl.c and declare them static. Also, re-enable mesh in Kconfig and update the configuration description. Signed-off-by: Javier Cardona Tested-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 5b365834255d7c90fc724b032c814dfa297aacf9 Author: Javier Cardona Date: Mon Aug 10 12:15:51 2009 -0700 mac80211: Assign a default mesh beaconing interval. The mesh stack was enabling beaconing without specifying an interval. This patch defines a default beaconing interval of 1s. Incidentally, this fixes mesh beaconing in mac80211_hwsim devices. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 5815814bfad5b3f88ff58ab90aaf09dd69ab8da2 Author: Javier Cardona Date: Mon Aug 10 12:15:50 2009 -0700 mac80211: Early detection of broken mesh paths when using minstrel. This change triggers a path discovery as soon as the link quality degrades below a certain threshold. This results in a faster path recovery time than by simply relying on the periodic path refresh mechanism to detect broken links. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit d403a1c66ea1fb47ae61921eac278d4154f7ca8a Author: Javier Cardona Date: Mon Aug 10 12:15:49 2009 -0700 mac80211: Update the station failed frames average when minstrel is used. The fail_avg value is used to compute the mesh metric, and was only being set by the pid rate control module. This fixes the mesh path selection mechanism for cards that use mistrel for rate control. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 3c5772a5279de9eadfff7adb5ddea08106495fff Author: Javier Cardona Date: Mon Aug 10 12:15:48 2009 -0700 mac80211: Use 3-address format for mesh broadcast frames. The 11s task group recently changed the frame mesh multicast/broadcast frame format to use 3-address. This was done to avoid interactions with widely deployed lazy-WDS access points. This patch changes the format of group addressed frames, both mesh-originated and proxied, to use the data format defined in draft D2.08 and forward. The address fields used for group addressed frames is: In 802.11 header ToDS:0 FromDS:1 addr1: DA (broadcast/multicast address) addr2: TA addr3: Mesh SA In address extension header: addr4: SA (only present if frame was proxied) Note that this change breaks backward compatibility with earlier mesh stack versions. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit a9e3091bf08ddea35f172549a8a21d5bd6ee6129 Author: Andrey Yurovsky Date: Mon Aug 10 12:15:47 2009 -0700 mac80211: Use correct sign for mesh active path refresh. On locally originated traffic, we refresh active paths after a timeout. The decision to do this was using the wrong sign and therefore the refresh timer was triggered for every frame. Signed-off-by: Andrey Yurovsky Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit fe58343461def0d376908a80cebd087b746a1483 Author: Javier Cardona Date: Mon Aug 10 12:15:46 2009 -0700 mac80211: Improve dequeing from mpath frame queue. Also, fix typo in comment. Signed-off-by: Javier Cardona Tested-by: Andrey Yurovsky Signed-off-by: John W. Linville commit a3e14f3d2a55fa1268f64ec8a839b6dfa4ff9ea2 Author: Gábor Stefanik Date: Mon Aug 10 20:57:06 2009 +0200 b43: Update LP-PHY rev2+ baseband init to match the specs The rev2+ BB init spec has changed behind us, and thus the code is no longer up to date. Update the code to match the current specs. Also implement save/restore dig filt state, as required by the new specification. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c65d6fbf91517a0a955de7ce029940bc63ea8203 Author: Gábor Stefanik Date: Mon Aug 10 20:39:47 2009 +0200 b43: Implement LP-PHY baseband table initialization Implement LP-PHY baseband table init for all revisions. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 62b1208e146af048e90a32bc4fe5fba85e4fa51e Author: Johannes Berg Date: Mon Aug 10 16:04:15 2009 +0200 mac80211: small tx code cleanup It's really easier to read if it's not indented as much, so invert the condition and rearrange the code so the smaller chunk is indented instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d0b69609dc50b6bf2637cf74e6f97c251adc65ed Author: Johannes Berg Date: Mon Aug 10 16:02:40 2009 +0200 mac80211: sequence number micro-optimisation There's no need to mask the variable with 0xFFF0 since we ever only use it as a u16 and the lowest four bits can't ever be non-zero. The compiler cannot infer the latter, and therefore has to emit code to do the masking. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit feff1f2fea3fc7ee055e46d0fbdb2d25ad2b14c4 Author: Johannes Berg Date: Mon Aug 10 16:01:54 2009 +0200 mac80211: take statistics before encryption When encryption is used, the number of bytes sent to the peer increases by the IV and ICV. This is accounted if software encryption is used, but not if the devices does hardware encryption. To make the numbers comparable, never account for that overhead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5e68ff6563ef79d87296c70f8eb2bee454d3fe75 Author: Luciano Coelho Date: Mon Aug 10 11:15:13 2009 +0300 MAINTAINERS: add information for wl1271 wireless driver Add maintainer information section for the wl1271 wireless driver and fix the information for wl1271. Signed-off-by: Luciano Coelho Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 6e220662bf9a2ba284e88a8c8867340c9f6da27e Author: Nick Kossifidis Date: Mon Aug 10 03:31:31 2009 +0300 ath5k: Use SWI to trigger calibration * Get rid of calibration timer, instead use a software interrupt to schedule the calibration tasklet. a) We don't need a timer for this, there is no need for accuracy even with round_jiffies i think this is a waste of resources. Also we don't need to run calibration if we are idle (no interrupts). b) When we add ANI support we 'll just extend the poll function and calibration tasklet and handle all periodic phy calibration on one place (much cleaner). c) Having calibration on a tasklet is better since during calibration we can't transmit or receive (antennas are detached to measure noise floor), previously calibration could run in parallel with tx/rx and interfere (packet loss). v2: kill tasklet on stop_hw, stop/wake queues v3: use time_is_before_eq_jiffies to compare timestamp with current time Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit b55a5de114dcdc03f2f18c3bd98bbabb13ee53ef Author: Nick Kossifidis Date: Mon Aug 10 03:30:32 2009 +0300 ath5k: Preserve pcicfg bits during attach * During attach preserve pcicfg bits when enabling pci core sw retry fix. Signed-off-by: Nick Kossifidis Signed-off-by: John W. Linville commit edd7fc7003f31da48d06e215a93ea966a22c2a03 Author: Nick Kossifidis Date: Mon Aug 10 03:29:02 2009 +0300 ath5k: Wakeup fixes * Don't put chip to full sleep because there are problems during wakeup. Instead hold MAC/Baseband on warm reset state via a new function ath5k_hw_on_hold. * Minor cleanups Signed-off-by: Nick Kossifidis Tested-by: Ben Greear Tested-by: Johannes Stezenbach Signed-off-by: John W. Linville commit d1cb0bdac180a4afdd3c001acb2618d2a62d9abe Author: Nick Kossifidis Date: Mon Aug 10 03:27:59 2009 +0300 ath5k: Linear PCDAC code fixes * Set correct xpd curve indices for high/low gain curves during rfbuffer setup on RF5112B with both calibration curves available. * Don't return zero min power when we have the same pcdac value twice because it breaks interpolation. Instead return the right x barrier as we do when we have equal power levels for 2 different pcdac values. Signed-off-by: Nick Kossifidis Acked-by: Bob Copeland Signed-off-by: John W. Linville commit c38e7a9348f725be0ea2493454db9e6d44fb7e0c Author: Nick Kossifidis Date: Mon Aug 10 03:26:55 2009 +0300 ath5k: Check EEPROM before tweaking SERDES * Read PCI-E infos offset from EEPROM and if it points to serdes section (0x40), enable serdes programming (further tweaking of serdes values during attach). This follows Legacy and Sam's HAL sources. Signed-off-by: Nick Kossifidis Acked-by: Bob Copeland Signed-off-by: John W. Linville commit d6756d0dc220c3d12e2c4c06ca97d1dbcb5edf4e Author: Igor Perminov Date: Mon Aug 10 00:58:54 2009 +0200 rt2x00: Fix beacon de-synchronization while update beacon When beacon is being updated to refresh TIM (AP mode), beacon frames are de-synchronizing (i.e. two neighbor beacon frames - before and after update - are being transmitted with a wrong time interval). That is because xxx_write_beacon should disable beacon generation only while beacon data are being uploaded to the device, but it should not disable the beacon clock. Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3281d95d0535909e28ff16c38a678102e10f0312 Author: Gábor Stefanik Date: Sun Aug 9 20:15:09 2009 +0200 b43: LP-PHY: Implement STX synchronization The v2+ radio init (B2063) is now complete, modulo BCM4325 support. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 3ecee182d68621d1f9a813f15153883ca221dd0b Author: Michael Buesch Date: Sun Aug 9 17:57:30 2009 +0200 rtl818x: Add some documentation to the TX desc flags Add some TX desc flags docs. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit aee83eaff859694642b323553f93b9eb59141144 Author: Johannes Berg Date: Sun Aug 9 11:51:29 2009 +0200 cfg80211: add missing device list locking When calling into the wext code from the NETDEV_UP notifier, we need to hold the devlist_mtx mutex as the wext code ends up calling into channel checks. Reported-by: Kalle Valo Signed-off-by: Johannes Berg Tested-by: Kalle Valo Signed-off-by: John W. Linville commit af6a3fc7e728eb4cd14653c8cfc1ee81432cfd5d Author: Luis R. Rodriguez Date: Sat Aug 8 21:55:16 2009 -0400 ath9k: Fix regression on receiving PS poll frames In the the patch: ath9k: use new FIF_PSPOLL configure filter I forgot to add the new FIF_PSPOLL to the supported mask. Without this we mask out the FIF_PSPOLL flag therefore we'd ignore it from mac80211. Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d5b96a6f39a8aaa7534069b3db71048df44f023b Author: Pat Erley Date: Sat Aug 8 17:53:19 2009 -0400 mac80211: remove max_bandwidth This removes the max_bandwidth attribute. It is only ever written to, and is duplicated by max_bandwidth_khz in the regulatory code. Signed-off-by: Pat Erley Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 1afcfd54fdf913017c07fa1ee497141a7958991d Author: Igor Perminov Date: Sat Aug 8 23:55:55 2009 +0200 rt2x00: FIF_PSPOLL filter flag support This patch implements FIF_PSPOLL filter flag support in rt2x00 drivers, which has been introduced in mac80211 (see http://marc.info/?l=linux-wireless&m=124897986330807&w=2). Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 17512dc3b7fc9ff1a60d3748ce87c323df507c3d Author: Igor Perminov Date: Sat Aug 8 23:55:18 2009 +0200 rt2x00: Fix for race condition while update beacon The patch "Implement set_tim callback for all drivers" can cause kernel oops in rt73usb_write_beacon. The oops is caused by one of the following race conditions: * In case of two near calls to set_tim: rt2x00lib_beacondone_iter is cleaning the beacon skb, whereas rt73usb_write_beacon is still using it. * In case of two near updates of beacon: first as the result of set_tim and second as the result of a call from an application (e.g. hostapd). This patch fixes the race condition by rearranging the update logic and guarding rt2x00_intf->beacon->skb with a mutex. Signed-off-by: Igor Perminov Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 66679a65efffffb62dc2650960b3aff758d575f9 Author: Lars Ericsson Date: Sat Aug 8 23:54:51 2009 +0200 rt2x00: Fix rounding errors in RSSI average calculation Small changes in signal level was not detected up by the MOVING_AVERAGE() due to a rounding error, using 'int' type. rt2x00lib_antenna_diversity_eval: rssi: -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 -62 rssi_avg: -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 -57 The signal level reported back could be significantly (5dBm) different from the actual value. A level +3dBm is the same as double the AP output power. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 193df183b15cda78f6b2373f576e243327ea0d8f Author: Lars Ericsson Date: Sat Aug 8 23:54:24 2009 +0200 rt2x00: Fix quality houskeeping for software diversity Antanna quality statistics is not handled correctly, which leads to software diversity being shutdown completly. The main problem is that during antenna diversity statistics can be reset resulting in loosing the signal strength just before evaluation. rssi history is not updated correctly leading to incorrect comparison material for basing antenna switching on. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 93354cbbcbfca920495377158c0f61c36be79e13 Author: Ivo van Doorn Date: Sat Aug 8 23:53:47 2009 +0200 rt2x00: Align ieee80211 header to 4-byte boundary for PCI devices Some hardware require the ieee80211 header to be aligned to a 4-byte boundary before mapping it to the DMA. Otherwise some frames (like beacons) will not be send out correctly by the device. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 267e898755d7fc6249e26208e7ce97f415fd8c31 Author: Ivo van Doorn Date: Sat Aug 8 23:53:26 2009 +0200 rt2x00: Use IEEE80211_TX_CTL_MORE_FRAMES flag Check the IEEE80211_TX_CTL_MORE_FRAMES flag to help determining if the DMA queue should be kicked. At the moment this is combined with the ieee80211_has_morefrags() but we might remove that later. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit bdfa500b8b8ca87dfe7a311f569fe8b39746c299 Author: Ivo van Doorn Date: Sat Aug 8 23:53:04 2009 +0200 rt2x00: Remove usage of deprecated radio_enabled & IEEE80211_CONF_CHANGE_RADIO_ENABLED In the config() callback function the fields radio_enabled and the change flag IEEE80211_CONF_CHANGE_RADIO_ENABLED have been deprecated. This removes the usage of those fields by improving antenna change detection in the antenna configuration function. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 4d30d309a3be84dfb01743ceb4652405204a80a0 Author: Julia Lawall Date: Sat Aug 8 15:22:26 2009 +0200 drivers/net/wireless/ath/ath5k: Change constant name Elsewhere, the tqi_type field is compared to constants having a name beginning with AR5K_TX_QUEUE, rather than AR5K_TX_QUEUE_ID. I have thus converted AR5K_TX_QUEUE_ID_CAB to AR5K_TX_QUEUE_CAB. This does, however, change the value, so perhaps something else was wanted. Signed-off-by: Julia Lawall Acked-by: Bob Copeland Signed-off-by: John W. Linville commit 4b181144e6c1c25aaba9b9fc7cc70c95495ecb92 Author: Johannes Berg Date: Sat Aug 8 11:03:58 2009 +0200 cfg80211: fix locking for SIWFREQ "cfg80211: validate channel settings across interfaces" contained a locking bug -- in the managed-mode SIWFREQ call it would end up running into a lock recursion. This fixes it by not checking that particular interface for a channel that it needs to stay on, which is as it should be as that's the interface we're setting the channel for. Reported-by: Reinette Chatre Reported-by: Kalle Valo Signed-off-by: Johannes Berg Tested-by: Kalle Valo Tested-by: Reinette Chatre Signed-off-by: John W. Linville commit e312c24cf8229f9b6e76dbfd5d99eefe21f4ac0a Author: Johannes Berg Date: Fri Aug 7 15:41:51 2009 -0700 iwlwifi: automatically adjust sleep level Depending on required latency requested by pm_qos (via mac80211) we can automatically adjust the sleep state. Also, mac80211 has a user-visible dynamic sleep feature where we are supposed to stay awake after sending/receiving frames to better receive response frames to our packets, this can be integrated into the sleep command. Currently, and this patch doesn't change that yet, we default to using sleep level 1 if PS is enabled. With a module parameter to iwlcore, automatic adjustment to changing network latency requirements can be enabled -- this isn't yet the default due to requiring more testing. The goal is to enable automatic adjustment and then go into the deepest possible sleep state possible depending on the networking latency requirements. This patch does, however, enable IEEE80211_HW_SUPPORTS_DYNAMIC_PS to avoid the double-timer (one in software and one in the device) when transmitting -- the exact timeout may be ignored but that is not of big concern. Note also that we keep the hard-coded power indices around for thermal throttling -- the specification of that calls for using the specified power levels. Those can also be selected in debugfs to allow easier testing of such parameters. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit d91b1ba37744bc7fb7524516be855c9fa81142e2 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:50 2009 -0700 iwlwifi: display correct critical temperature infomation Do not send CT KILL config command twice and correct critical temperature informatiom in dmesg Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 450ccb36b4d8a18c34643335d3305ec1a781e717 Author: Reinette Chatre Date: Fri Aug 7 15:41:49 2009 -0700 iwlwifi: fix missing EXPORT_SYMBOL When compiling without CONFIG_IWLWIFI_DEBUGFS there is a missing iwl_update_stats symbol. This is fixed by making this function an inline in the case when CONFIG_IWLWIFI_DEBUGFS is not set due to the hot path in which it is used. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3ad3b92a5517c043ef30e4b95c4c39a35bbc36be Author: Johannes Berg Date: Fri Aug 7 15:41:48 2009 -0700 iwlwifi: refactor some thermal throttle code Some of the thermal throttle data structures and code are really very intermingled with the sleep (power) control code. They really do belong together in a way since the thermal throttle code uses powersaving to achieve its goal, but it's making it hard to work on the powersave code. Split this up to make that easier. I've also changed the antenna defines to an enum and used the same enum for RX and TX. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3a780d25428a0a391a8ba6c888cf4e89ac3fdbb1 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:47 2009 -0700 iwlwifi: handle the case when set power fail Modify the power update function, when driver fail to set the power, it should not continue move forward and try to change the rx chain configuration. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ee9f29894fc3819c1bd639fc3a886326bb809266 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:46 2009 -0700 iwlwifi: fix legacy thermal throttling power index For legacy thermal throttling, set the new Thermal Throttling state and change power index when thermal throttling manager detects temperature changed. The current implementation sets the state to the previous Thermal Throttling state, which causes system to enter wrong power index. The worse case, it will trying to set the lower power index when device reach critical temperature, it will cuase issue for both system and the device. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a28027cd7f169edc399fe4b76d3a33b0203049a1 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:45 2009 -0700 iwlwifi: fix thermal throttling locking problem Move all the thermal throttling functions to background task to make sure do not change power and rx chain in interrupt handler. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c03ea16285bf142172f9816b8a1f5c43bb4b4405 Author: Reinette Chatre Date: Fri Aug 7 15:41:44 2009 -0700 iwlwifi: revert uCode Alive notification with timeout commit "iwlwifi: uCode Alive notification with timeout" introduced a more reliable mechanism for ucode loading. Unfortunately we hit a problem with it frequently enough to make a 4965 unusable. The problem can be seen in debug log below. What this code attempts is to set runtime ucode up to load, start a timer to wait for the alive response from runtime ucode, and if it times out it tries again. As can be seen below we receive the alive response and wake the waiting task _before_ the tasks starts waiting. The task thus times out as the alive response is not received while it is waiting for it and it restarts the device. This starts the cycle all over again. [29739.000819] ieee80211 phy0: U iwl_mac_start enter [29739.005751] ieee80211 phy0: U iwl_prepare_card_hw iwl_prepare_card_hw enter [29739.012798] ieee80211 phy0: U iwl_set_hw_ready hardware ready [29739.057200] ieee80211 phy0: U iwl4965_load_bsm Begin load bsm [29739.063366] ieee80211 phy0: U iwl4965_verify_bsm Begin verify bsm [29739.072485] ieee80211 phy0: U iwl4965_verify_bsm BSM bootstrap uCode image OK [29739.079671] ieee80211 phy0: U iwl4965_load_bsm BSM write complete, poll 0 iterations [29739.257019] ieee80211 phy0: I iwl_rx_reply_alive Alive ucode status 0x00000001 revision 0x1 0x9 [29739.260964] ieee80211 phy0: I iwl_rx_reply_alive Initialization Alive received. [29739.260964] ieee80211 phy0: U __iwl_up iwlagn is coming up [29739.278571] ieee80211 phy0: U iwl_mac_start Start UP work done. [29739.284509] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 788 [29739.292432] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 10312 [29739.302004] ieee80211 phy0: U iwl_verify_ucode Initialize uCode is good in inst SRAM [29739.309746] ieee80211 phy0: U iwl4965_hw_get_temperature Running temperature calibration [29739.317833] ieee80211 phy0: U iwl4965_hw_get_temperature Calib values R[1-3]: -36 13522 -13496 R4: -2726 [29739.327337] ieee80211 phy0: U iwl4965_hw_get_temperature Calibrated temperature: 310K, 37C [29739.335598] ieee80211 phy0: U iwl4965_init_alive_start Initialization Alive received. [29739.343477] ieee80211 phy0: U iwl4965_set_ucode_ptrs Runtime uCode pointers are set. [29739.351283] ieee80211 phy0: I iwl_rx_reply_alive Alive ucode status 0x00000001 revision 0x1 0x0 [29739.355210] ieee80211 phy0: I iwl_rx_reply_alive Runtime Alive received. [29739.366731] iwlagn 0000:03:00.0: Runtime uCode already alive? Waiting for alive anyway [29743.284110] iwlagn 0000:03:00.0: START_ALIVE timeout after 4000ms. [29743.290337] ieee80211 phy0: U iwl_mac_add_interface enter: type 2 [29744.364089] iwlagn 0000:03:00.0: Runtime timeout after 5000ms [29744.370882] ieee80211 phy0: U iwl_alive_start Runtime Alive received. [29744.377347] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 788 [29744.385287] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 10312 [29744.393397] ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 94720 [29744.415835] ieee80211 phy0: U iwl_verify_ucode Runtime uCode is good in inst SRAM Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5225935b53ce1eafb222c644230d03ad6011d357 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:43 2009 -0700 iwlwifi: Display sensitivity and chain noise information Display sensitivity and chain noise data to help understand the current environment and RF condition. The data is feeded by statistics notification and Beacon from uCode; then used by sensitivity calibration and chain noise calibration to determine how DSP should react to the environment changes Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e8fe59aecb9020b06305be4f8c67d73cbf49cbd2 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:42 2009 -0700 iwlwifi: uCode statistics notification counter Display statistics notification information The information break down into uCode_tx_stats uCode_rx_stats uCode_general_stats and can be found in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory The statistic information display in debugFs is based on the last statistics notification from uCode; it might not reflect the current uCode activity. Using "watch" command to monitor the uCode activity should give up-to-date statistics provided by uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 141b03e07a54af68fc099459bf780a182b240b45 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:41 2009 -0700 iwlwifi: tx/rx queue pointer information Adding debugfs function to show current TxFifo/RxFifo read/write pointer, plus the current tx queue status (wake/stop) for both real and virtual queue. This is part of debug feature set to help debugging driver/uCode. use tx_queue and rx_queue in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory to show the current read/write pointer for both TxFifo and RxFifo queue Signed-off-by: Wey-Yi Guy Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 22fdf3c9e19dce6d66bcfdbed547a5aa52b89933 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:40 2009 -0700 iwlwifi: Traffic type and counter for debugFs Break down the traffic type and counter for both Tx and Rx. Enhance the tx_statistics and rx_statistics debugfs function and move to /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory to help better debugging both driver and uCode related problems. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 20594eb0daa67f7a0cc19d74a1bafceb1bb09f4a Author: Wey-Yi Guy Date: Fri Aug 7 15:41:39 2009 -0700 iwlwifi: new debugging feature for dumping data traffic The traffic buffer will only beallocated and used if either bit 23 (IWL_DX_TX) or bit 24 (IWL_DL_RX) of "debug" is set; example: "debug=0x800000" - log tx data traffic "debug=0x1000000" - log rx data traffic "debug=0x1800000" - log both tx and rx traffic The traffic log will store the beginning portion (64 bytes) of the latest 256 of tx and rx packets in the round-robbin buffer for debugging, user can examine the log through debugfs file. How to display the current logged tx/rx traffic and txfifo and rxfifo read/write point: "cat traffic_log" in /sys/kernel/debug/ieee80211/phy0/iwlagn/debug directory By echo "0" to traffic_log file will empty the traffic log buffer and reset both tx and rx taffic log index to 0. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7aafef1c6e2e24f9a10dc2972bf0ee70624ccc47 Author: Wey-Yi Guy Date: Fri Aug 7 15:41:38 2009 -0700 iwlwifi: name changed from "fat" to "ht40" Rename "fat" to "ht40" The term "fat channel" is deprecated in favor of "HT40" Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3d816c77ecb05d3a3e974a205e53392e5353553e Author: Reinette Chatre Date: Fri Aug 7 15:41:37 2009 -0700 iwlwifi: re-introduce per device debugging Commit "iwlwifi: make debug level more user friendly" cleaned up the debug level handling. In doing so it created a single global debug level for all devices. Some setups do consits of more that one iwlwifi device and in these setups there is a requirement that debug levels should be unique per device. We now re-introduce the per device debugging while maintaining the cleanup effort of the previous patch. The maintain the global debug level and now introduce a per-device debug level that will be used if it (the per-device debug level) is set. The per-device debug level can be controlled via the debug_level sysfs file while the global debug level is controlled by the debug module parameter. Signed-off-by: Reinette Chatre Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 34b921cf6fb4014e0e8d414492959a4725049000 Author: Joe Perches Date: Fri Aug 7 13:16:15 2009 -0700 MAINTAINERS: NETWORKING [WIRELESS] additional patterns Added file patterns drivers/net/wireless and net/mac80211 (and net/rfkill -- JWL) Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 6208f8b22cb24e446f24eb9f4aa9f4c3a9a1d52e Author: Christian Lamparter Date: Fri Aug 7 19:39:05 2009 +0200 p54: implement rfkill This patch implements a basic rfkill support for p54 hardware and removes a rfkill related WARNING: fwio.c: In function ‘p54_setup_mac’: fwio.c:323: warning: ‘radio_enabled’ is deprecated. by abandoning radio_enable in flavour for IEEE80211_CONF_CHANGE_IDLE. Tested-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 718126a75e5fd4c6df6ee0567f00c7345b2370f4 Author: Christian Lamparter Date: Fri Aug 7 19:38:51 2009 +0200 p54: Write outside array bounds This patch fixes a coding error which allowed the to upper-layer to corrupt limited portions of the phy data. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 66d2d089c394c7e31020947d682523f77a93244b Author: Michael Buesch Date: Thu Aug 6 10:36:50 2009 +0200 b43: Fix hardware key index handling This fixes the hardware encryption keys index and array size handling. Thanks to Gregor Kowski for reporting this issue. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 5ba63533bbf653631faab60f6988506160ec6ba4 Author: Johannes Berg Date: Fri Aug 7 17:54:07 2009 +0200 cfg80211: fix alignment problem in scan request The memory layout for scan requests was rather wrong, we put the scan SSIDs before the channels which could lead to the channel pointers being unaligned in memory. It turns out that using a pointer to the channel array isn't necessary anyway since we can embed a zero-length array into the struct. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ad5351db89681515681c5d5659ddf4c69e3cc6f5 Author: Johannes Berg Date: Fri Aug 7 16:42:15 2009 +0200 mac80211: allow DMA optimisation If we have a lot of frames to transmit at once, for instance with fragmentation, it can be an optimisation to only tell the DMA engine about them on the last fragment/frame to avoid banging the IO too much. This patch allows implementation such an optimisation by telling the driver when more frames can be expected. Currently, this is used by mac80211 only on fragmented frames, but could also be used in the future on other frames when the queue was full and there are multiple frames pending. Note that drivers need to be careful when using this flag, they need to kick their DMA engines not just when this flag is clear, but also when the queue gets full so that progress can be made. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab5b5342fd0ba5b9a2f58a94c5d41dd074b7c48e Author: Johannes Berg Date: Fri Aug 7 16:28:09 2009 +0200 mac80211: document TX powersave filter requirements This documents what's required to implement that TX powersave filter properly wrt. handling hardware queues. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c555b9b3713e05586fabe85f4e46f28859e72930 Author: Johannes Berg Date: Fri Aug 7 16:23:43 2009 +0200 mac80211: explain TX retry and status Add some more documentation including an example so that it's clearer what should be done for TX retries. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f5ea9120be2e5d5c846243416cfdce01d02f5836 Author: Johannes Berg Date: Fri Aug 7 16:17:38 2009 +0200 nl80211: add generation number to all dumps In order for userspace to be able to figure out whether it obtained a consistent snapshot of data or not when using netlink dumps, we need to have a generation number in each dump message that indicates whether the list has changed or not -- its value is arbitrary. This patch adds such a number to all dumps, this needs some mac80211 involvement to keep track of a generation number to start with when adding/removing mesh paths or stations. The wiphy and netdev lists can be fully handled within cfg80211, of course, but generation numbers need to be stored there as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f401a6f7ede753e56b84025e7d2db0d5ef560ce6 Author: Johannes Berg Date: Fri Aug 7 14:51:05 2009 +0200 cfg80211: use reassociation when possible With the move of everything related to the SME from mac80211 to cfg80211, we lost the ability to send reassociation frames. This adds them back, but only for wireless extensions. With the userspace SME, it shall control assoc vs. reassoc (it already can do so with the nl80211 interface). I haven't touched the connect() implementation, so it is not possible to reassociate with the nl80211 connect primitive. I think that should be done with the NL80211_CMD_ROAM command, but we'll have to see how that can be handled in the future, especially with fullmac chips. This patch addresses only the immediate regression we had in mac80211, which previously sent reassoc. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 59bbb6f7574bc693ed8313b98eac641116c95b94 Author: Johannes Berg Date: Fri Aug 7 17:22:35 2009 +0200 cfg80211: validate channel settings across interfaces Currently, there's a problem that affects regulatory enforcement and connection stability, in that it is possible to switch the channel while connected to a network or joined to an IBSS. The problem comes from the fact that we only validate the channel against the current interface's type, not against any other interface. Thus, you have any type of interface up, additionally bring up a monitor mode interface and switch the channel on the monitor. This will obviously also switch the channel on the other interface. The problem now is that if you do that while sending beacons for IBSS mode, you can switch to a disabled channel or a channel that doesn't allow beaconing. Combined with a managed mode interface connected to an AP instead of an IBSS interface, you can easily break the connection that way. To fix this, this patch validates any channel change with all available interfaces, and disallows such changes on secondary interfaces if another interface is connected to an AP or joined to an IBSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f26b32ed4bd5780855a79bb17fb1a431fa867dad Author: Kalle Valo Date: Fri Aug 7 13:35:33 2009 +0300 wl1251: hack to disable filters for fixing association Commit 9cef8737 "mac80211: fix managed mode BSSID handling" broke association in wl1251, most probably because the driver configured the bssid filter incorrectly. Workaround this by disabling filter altogether. This needs to be fixed properly soon. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 2789da9e58cc8db4e74359491a425712b5fcfdb6 Author: Kalle Valo Date: Fri Aug 7 13:35:26 2009 +0300 wl1251: add hw scan completed debug message The logs currently don't show when hw scan has completed, fix that. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit b1b0a2b8b51fa3f0cd349f947a38ab4c6ab192c6 Author: Kalle Valo Date: Fri Aug 7 13:35:19 2009 +0300 wl1251: remove Luciano as maintainer Luciano is maintaining wl1271 part. Signed-off-by: Kalle Valo Acked-by: Luciano Coelho Signed-off-by: John W. Linville commit 29d904c452d466fbf51b2fde10f405b5c8f14c74 Author: Kalle Valo Date: Fri Aug 7 13:35:11 2009 +0300 wl1251: rename reg.h to wl1251_reg.h Now that wl1271 doesn't use reg.h anymore, it can be renamed to wl1251_reg.h. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 16e711f9ed16e32126270652d79225836a7062cb Author: Kalle Valo Date: Fri Aug 7 13:35:04 2009 +0300 wl1251: use workqueue provided by mac80211 wl1251 should use workqueue created by mac80211 to not block the events workqueue too long. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4a8189227fc4718a767ffca74d13a7d552e42189 Author: Kalle Valo Date: Fri Aug 7 13:34:56 2009 +0300 wl1251: move wl1251_acx_wake_up_conditions() to wl1251_ps_set_mode() It should not be hidden inside wl1251_cmd_ps_mode(). Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit fe9a98460b6c8dac47d0e34bcb04850193d41565 Author: Kalle Valo Date: Fri Aug 7 13:34:49 2009 +0300 wl1251: fix channel setting in wl1251_op_config() There is a bug in wl1251_op_config(). It was calling join with previous channel. Fix it by setting assigning wl->channel before calling join command. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit ae46ae17d1d8b953eb5859764737c065e4e3c86b Author: Kalle Valo Date: Fri Aug 7 13:34:42 2009 +0300 wl1251: create wl1251_join() Better to use wl1251_cmd_join() only for sending the command and move the logic to wl1251_join(). Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit c88f87540fa4b90a0b8696dae8bce801ecc142d3 Author: Kalle Valo Date: Fri Aug 7 13:34:34 2009 +0300 wl1251: add channel to wl1251_cmd_join() parameters Because join channel tunes to a channel, better to make it more obvious by adding a parameter for it. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 9780279c60c32cb5f14531aa34ae991bb714c90c Author: Kalle Valo Date: Fri Aug 7 13:34:27 2009 +0300 wl1251: initialise default channel to zero Because wl->channel was initialised to one, the first join command in wl1251_op_config() always failed. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 7a33732fd9f2181bfe639691ead3def7a1e87c7d Author: Kalle Valo Date: Fri Aug 7 13:34:19 2009 +0300 wl1251: remove wait parameter from wl1251_cmd_join() We should wait everytime for the join command to finish, not waiting for it might create problems. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit e2fd4611d50a1cd13a370f84b672a5f29472ee09 Author: Kalle Valo Date: Fri Aug 7 13:34:12 2009 +0300 wl1251: use beacon interval and dtim period provided by mac80211 wl1251 was using hardcoded beacon intervals and dtim periods, use the ones provided by mac80211 instead. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 46e947b9c382f67f84cffec3bf068d6d23695058 Author: Kalle Valo Date: Fri Aug 7 13:34:05 2009 +0300 wl1251: reorder wl1251_cmd_join() arguments It's more common to have beacon interval before dtim period. Also use bool instead of u8. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit 0e71bb084adc4986b9a4be3581897f0ee703cbd5 Author: Kalle Valo Date: Fri Aug 7 13:33:57 2009 +0300 wl1251: remove wl1251_ops Now wl1271 is splitted to separate files, no need to use wl1251_ops anymore. So remove struct wl1251_chip and wl1251_ops.c. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit b5ed9c1b6f8fcb2d2315f12599fd5808f7933f16 Author: Bob Copeland Date: Fri Aug 7 13:33:49 2009 +0300 wl1251: make irq handling interface specific In SDIO, the host driver requests the IRQ and invokes a callback to the card driver. This differs from SPI, so the relevant code needs to be interface-specific. This patch pushes the irq code down into _spi.c and _sdio.c, and adds enable/disable callbacks. This fixes the following warning: [ 566.343887] ------------[ cut here ]------------ [ 566.349105] WARNING: at kernel/irq/manage.c:222 __enable_irq+0x3c/0x6c() [ 566.356735] Unbalanced enable for IRQ 0 [ 566.361099] Modules linked in: msm_wifi wl12xx_sdio wl12xx mac80211 cfg80211 rfkill_backport lib80211_crypt_ccmp lib80211_crypt_wep lib80211_crypt_tkip lib80211 [ 566.381240] [] (dump_stack+0x0/0x14) from [] (warn_slowpath+0x70/0x8c) [ 566.391860] [] (warn_slowpath+0x0/0x8c) from [] (__enable_irq+0x3c/0x6c) [ 566.402572] r3:00000000 r2:c02cad13 [ 566.407516] r7:00001002 r6:00000000 r5:c0310be4 r4:c0310be4 [ 566.415786] [] (__enable_irq+0x0/0x6c) from [] (enable_irq+0x38/0x64) [ 566.425826] r5:c0310be4 r4:a0000013 [ 566.430709] [] (enable_irq+0x0/0x64) from [] (wl12xx_boot_run_firmware+0xfc/0x170 [wl12xx]) [ 566.442947] r7:00001002 r6:c440a9fc r5:00000072 r4:c440a9e0 [ 566.450851] [] (wl12xx_boot_run_firmware+0x0/0x170 [wl12xx]) from [] (wl1251_boot+0xd4/0x108 [wl12xx]) [ 566.464492] r5:00000000 r4:c440a9e0 [ 566.469466] [] (wl1251_boot+0x0/0x108 [wl12xx]) from [] (wl12xx_op_start+0x54/0xb8 [wl12xx]) [ 566.482162] r5:00000000 r4:c440a9e0 [ 566.487472] [] (wl12xx_op_start+0x0/0xb8 [wl12xx]) from [] (ieee80211_open+0x2dc/0x720 [mac80211]) [ 566.500594] r7:00001002 r6:c4950800 r5:c440a220 r4:00000000 [ 566.508865] [] (ieee80211_open+0x0/0x720 [mac80211]) from [] (dev_open+0x9c/0xfc) [ 566.520705] [] (dev_open+0x0/0xfc) from [] (dev_change_flags+0x98/0x170) [ 566.531417] r5:00000041 r4:c4950800 [ 566.536330] [] (dev_change_flags+0x0/0x170) from [] (devinet_ioctl+0x3a8/0x784) [ 566.547683] r7:c128e380 r6:00000001 r5:00008914 r4:00000000 [ 566.555587] [] (devinet_ioctl+0x0/0x784) from [] (inet_ioctl+0xdc/0x114) [ 566.566299] [] (inet_ioctl+0x0/0x114) from [] (sock_ioctl+0x1f0/0x248) [ 566.576827] r5:00008914 r4:c572c1a0 [ 566.581771] [] (sock_ioctl+0x0/0x248) from [] (vfs_ioctl+0x34/0x94) [ 566.592086] r7:c572c1a0 r6:bee497e8 r5:00008914 r4:c572c1a0 [ 566.599990] [] (vfs_ioctl+0x0/0x94) from [] (do_vfs_ioctl+0x52c/0x584) [ 566.610549] r7:c572c1a0 r6:00008914 r5:c572c1a0 r4:c3201228 [ 566.618453] [] (do_vfs_ioctl+0x0/0x584) from [] (sys_ioctl+0x40/0x64) [ 566.628890] [] (sys_ioctl+0x0/0x64) from [] (ret_fast_syscall+0x0/0x2c) [ 566.639541] r7:00000036 r6:00000000 r5:00000004 r4:001a11f3 [ 566.647445] ---[ end trace 15c26ef7dd5e7b03 ]--- Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 3ec410d747fa1da035183c43775a64c0e285e399 Author: Bob Copeland Date: Fri Aug 7 13:33:42 2009 +0300 wl1251: add sdio support This adds the wl1251_sdio module, enabling the SDIO interface for wl1251, as used by the Google G1 phone and others. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit af8c78ebbf2a15ecf9b2b6b7b051b0d4c3ba1163 Author: Bob Copeland Date: Fri Aug 7 13:33:34 2009 +0300 wl1251: split spi interface into separate module This creates a module called wl1251_spi.ko which contains just the SPI-specific code. The core remains in the module wl1251.ko. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8e639c0673a9b676bb7c6bd4e50f9003bdda423e Author: Bob Copeland Date: Fri Aug 7 13:33:26 2009 +0300 wl1251: move module probe methods into spi.c This change moves all of the spi specific code from main.c into spi.c. The module initialization code also moves, but common code for initializing mac80211 etc. stays in main.c, as this will eventually form a common library module also used by wl1251_sdio. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0d77e141331b25adf190ce30d69fe5744a69c5bd Author: Bob Copeland Date: Fri Aug 7 13:33:18 2009 +0300 wl1251: make wl1251_set_partition bus agnostic The same partition setting code can be used for both SPI and SDIO modes, if we remove the spi-specific commands and use the more generic buffer write routines. Do that and move it to io.c since it deals with register/memory address offsets. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 08d9f57251841e4870cfd286e867ffcbef81d9a4 Author: Bob Copeland Date: Fri Aug 7 13:33:11 2009 +0300 wl1251: introduce wl1251_if_operations struct Introduce an ops struct with read, write, and reset functions to abstract away the details of the wl1251 bus interface. Doing this will allow SDIO to coexist with SPI by supplying its own I/O routines. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 6c766f413c81d5a11588552934fa093eab6ae06e Author: Bob Copeland Date: Fri Aug 7 13:33:04 2009 +0300 wl1251: use wiphy_dev instead of wl->spi->dev Remove a dependency on the bus-specific struct device by using wiphy_dev when requesting firmware. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0764de64c8628f653c7e8493017d6bd8d43f4e3b Author: Bob Copeland Date: Fri Aug 7 13:32:56 2009 +0300 wl1251: separate bus i/o code into io.c In order to eventually support wl1251 spi and sdio interfaces, move the register and memory transfer functions to a common file. Also rename wl1251_spi_mem_{read,write} to indicate its common usage. We still use spi_read internally until SDIO interface is introduced so nothing functional should change here. Signed-off-by: Bob Copeland Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit b8010790c480f495520fd458197f86d758f0c83a Author: Kalle Valo Date: Fri Aug 7 13:32:48 2009 +0300 wl1251: remove fixed address support from spi commands The fixed addresses are not used in wl1251, only in wl1271. So it can be safely removed. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 5e32b1ed7e81558b09bf0a6bf9e73c34db3c337c Author: Sujith Date: Fri Aug 7 09:45:36 2009 +0530 ath9k: Update beacon RSSI ANI uses the beacon RSSI for its operation. Update this properly. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 180d674bab10ce10747f7bc7214462da185431bd Author: Sujith Date: Fri Aug 7 09:45:33 2009 +0530 ath9k: Remove local chainmask variable The chainmask can be obtained directly from ath_hw. Also, use a helper macro for comparing CTLs - this improves readability. Signed-off-by: Sujith Signed-off-by: John W. Linville commit bf466fb67c8e0559ba1875232b03ee8dee32ae09 Author: Sujith Date: Fri Aug 7 09:45:30 2009 +0530 ath9k: Cleanup TX power calculation for 4K chips Write CCK power-per-rate array always and report correct TX power to regulatory. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 7f63845f2a5f54c64968a4221561c619468b8a54 Author: Sujith Date: Fri Aug 7 09:45:23 2009 +0530 ath9k: Clean antenna configuration for 4K EEPROM chips This patch revamps the antenna configuration mechanism for 4K chips. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 066edc80ebd9e429d593dcfe97b3ed01c9823847 Author: Sujith Date: Fri Aug 7 09:45:21 2009 +0530 ath9k: Add macros for Antenna Diversity A subsequent patch would use these for configuring antennae on AR9285. Signed-off-by: Sujith Signed-off-by: John W. Linville commit a37414a220990614de376a155e23dfed471efbdc Author: Sujith Date: Fri Aug 7 09:45:19 2009 +0530 ath9k: Cleanup ath9k_hw_4k_set_gain() interface regChainOffset is always zero, remove it. Signed-off-by: Sujith Signed-off-by: John W. Linville commit b5aec950eeb433d4850c1e5fcf14b666048e647d Author: Sujith Date: Fri Aug 7 09:45:15 2009 +0530 ath9k: Split eeprom.c into manageable pieces Add eeprom_def.c, eeprom_4k.c and eeprom_9287.c This improves maintainability. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 6780ccf5652a04493f72fafd9af0d9964ee977ad Author: Sujith Date: Fri Aug 7 09:45:13 2009 +0530 ath9k: Remove a few DEBUG mesages We have never used these at all. Signed-off-by: Sujith Signed-off-by: John W. Linville commit c16c9d0657268daaf8a03e7895fb5c5f005285db Author: Sujith Date: Fri Aug 7 09:45:11 2009 +0530 ath9k: Try to fix whitespace damage Signed-off-by: Sujith Signed-off-by: John W. Linville commit 54e4cec69e70ba30aec68650fb95b3a7e1e6dc18 Author: Sujith Date: Fri Aug 7 09:45:09 2009 +0530 ath9k: Cleanup function return types Signed-off-by: Sujith Signed-off-by: John W. Linville commit 87b5bee86d281383ac2e5cae20ec47afa8fa374a Author: Sujith Date: Fri Aug 7 09:45:01 2009 +0530 ath9k: Remove unneeded assignment of protocol field Signed-off-by: Sujith Signed-off-by: John W. Linville commit bcba8eae12fce23686b84a56d19f5fc78bf182ae Author: Samuel Ortiz Date: Thu Aug 6 21:04:41 2009 +0200 cfg80211: Set WEP ciphers With iwconfig there is no way to properly set the ciphers when trying to connect to a WEP SSID. Although mac80211 based drivers dont need it, several fullmac drivers do. This patch basically sets the WEP ciphers whenever they're not set at all. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit b6f0b639089fb160b10984ac56e07e7043dabad7 Author: Johannes Berg Date: Thu Aug 6 20:41:34 2009 +0200 cfg80211: fix SME association after disassociation When an AP disassociates us, we currently go into a weird state because the SME doesn't handle authenticated but not associated well unless it's within its own state machine, it can't recover from that. However, it shouldn't need to, since we don't do any decisions in it really -- so when we get disconnected, simply deauthenticate too. Reported-by: Pavel Roskin Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e458b8a22d33eef62765c9f89889efeb4041f073 Author: Johannes Berg Date: Thu Aug 6 20:41:33 2009 +0200 cfg80211: fix nl80211 disconnected events When reporting a disconnection to userspace, we try to report whether it was from the AP or by our own choice. However, we misreported a broadcast deauth or disassoc as being by own choice, which is wrong. Fix this by checking the sender address instead of the destination address. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e21546a2a3953a7d4b9d5c9b1cf12184ffceab96 Author: Johannes Berg Date: Thu Aug 6 20:41:32 2009 +0200 mac80211: stay authenticated after disassoc After being disassociated by the AP, mac80211 currently reports this to cfg80211, and then goes to delete the association. That's fine, but cfg80211 assumes that it's still authenticated, however, mac80211 throws away all state. This fixes mac80211 to keep track of the authentication in that case so that cfg80211 can request a deauth or new association properly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 30d742d5468c954969766bb0e809f218abc73af7 Author: Luciano Coelho Date: Thu Aug 6 16:25:29 2009 +0300 wl1271: add wl1271 to Kconfig and the Makefile This patch adds support for the wl1271 driver in the Kconfig and in the Makefile. Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit f5fc0f86b02afef1119b523623b4cde41475bc8c Author: Luciano Coelho Date: Thu Aug 6 16:25:28 2009 +0300 wl1271: add wl1271 driver files This driver supports the wl1271 chipset from Texas Instruments based on the WiLink(tm) 6.0 mobile platform. Support for wl1273 should be relatively easy to add. This chipset is designed for embedded devices, with good powersaving capabilities. The wl1271 chipset is the successor of wl1251 and supports the 802.11b/g/n standards, but currently this driver supports only b/g. More information about this chipset can be found here: http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId=6123&navigationId=12762&contentId=29993 Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit b935df01ed4f0848f29b1e39c4f95d87b0206dea Author: Pavel Roskin Date: Thu Aug 6 04:52:42 2009 -0400 cfg80211: fix disassociation warning due to misuse of wdev->current_bss WARN_ON was triggered at mlme.c:213 when dissociating from an AP. wdev->current_bss->pub.bssid should be used in place of wdev->current_bss for BSSID comparison. Signed-off-by: Pavel Roskin Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 4af198fb7a99b07980b1bd52df550ba3f24688df Author: David Kilroy Date: Wed Aug 5 21:23:32 2009 +0100 orinoco: consolidate storage of WEP and TKIP keys When TKIP support was added, we stored the keys separately to avoid issues when both TKIP and WEP keys are sent to the driver. We need to consolidate the storage to convert to cfg80211, so do this first and try iron out the issues. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 2b2603515e26466685895e93cae59bc061389f11 Author: David Kilroy Date: Wed Aug 5 21:23:31 2009 +0100 orinoco: add function to retrieve current bssid We will need this from the cfg80211 disassociate call. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 07542d08ee573b6d8281f38430117b52fccaf50a Author: David Kilroy Date: Wed Aug 5 21:23:30 2009 +0100 orinoco: move disassociation to hw.c This allows the disassociation to be called via cfg80211. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 16e158480d542f3909b5aca8b125af986ae128c1 Author: David Kilroy Date: Wed Aug 5 21:23:29 2009 +0100 orinoco: pass orinoco_set_tkip_key the sequence lengths When we store the keys for cfg80211, the sequence lengths will also be stored. So avoid assuming the sequence lengths at this level. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5c9f41e285ad60013f0962746192769f899757be Author: David Kilroy Date: Wed Aug 5 21:23:28 2009 +0100 orinoco: use local types for auth alg and sequence length This helps in the refactorring required to convert the driver to cfg80211. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit bb7e43c061ad1e52a4738d5b45595ec9e1638b6a Author: David Kilroy Date: Wed Aug 5 21:23:27 2009 +0100 orinoco: prefer_port3 can be a single bit This is a boolean value set based on firmware capabilities, so move the variable to the capabilities section and reduce the structure size. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a42dd7efd934888833c01199dbd21b242100ee92 Author: Zhu Yi Date: Wed Aug 5 15:07:13 2009 +0800 wireless: display wext SSID when connected by cfg80211 cfg80211 displays correct link info when connected by wext. But if the connection is setup by cfg80211, wext cannot display the SSID. This patch fixed this issue. Cc: Johannes Berg Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit bedaf80866f5d438b47d05e02fb1852065fe5d8e Author: Gábor Stefanik Date: Wed Aug 5 01:28:20 2009 +0200 b43: Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change. Update a comment that still says IEEE80211_IF_TYPE instead of NL80211_IFTYPE. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c45fa8c50c2149eec260a55c84e76339a2a761dd Author: gregor kowski Date: Wed Aug 5 00:44:23 2009 +0200 b43: remove wrong probe_resp_plcp write The tkip hw support uncovered a bug in b43_write_probe_resp_template : it is writing at the wrong shm offset, it is in the B43_SHM_SH_TKIPTSCTTAK zone. Remove b43_write_probe_resp_template, b43_write_probe_resp_plcp and b43_write_probe_resp_plcp because the probe response offload is currently not supported by mac80211. Signed-off-by: Gregor Kowski Signed-off-by: John W. Linville commit 7c81e98a60cc525e21a6d86cb4357a626f530699 Author: Gábor Stefanik Date: Wed Aug 5 00:25:42 2009 +0200 b43: Typo fixes & minor cleanup Make use of HostFlags defines in the LP-PHY code. Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit c03e20fc9a6ec5741d9df561130ecba38ef50eb6 Author: Luis R. Rodriguez Date: Tue Aug 4 15:06:26 2009 -0700 mac80211: fix compilation of mesh (although its disabled) Mesh is currently disabled on mac80211, its marked as broken. This patch gets it to compile though, to account for the mac80211 workqueue changes. There was a simple typo in the patches for mesh for the workqueue migration, but we never compile tested it as we couldn't even select mesh as its broken. Lets at least let it compile for those interested in getting it fixed. Reported-by: Pat Erley Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit c10e47f458653a68b1d3956237b7bf2e1ab1e8da Author: Gábor Stefanik Date: Tue Aug 4 23:57:32 2009 +0200 b43: Add LP 2063 radio init Add B2063 radio init code and tables for LP-PHY. Rename structures common between B2062 and B2063 to B206X. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 14b46c8a87f835f4327afa32fad2a523a8fe584d Author: Luis R. Rodriguez Date: Tue Aug 4 14:04:17 2009 -0700 zd1211rw: make it clear we don't use leds.h LED stuff zd1211rw uses its own LED stuff so let rename its LED stuff as such. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 63b08b8d97a2a5ff23436cd52e8cd70c1de0319c Author: Luis R. Rodriguez Date: Tue Aug 4 10:05:30 2009 -0700 ath9k: use new FIF_PSPOLL configure filter We used to set pspoll filter on ath9k on AP mode but we no longer need this mode specific check as mac80211 now does the check for us and informs us when we should enable pspoll through FIF_PSPOLL. Cc: Igor Perminov Cc: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e30eb4ab45211c2f27b6bb9b29124ac431e01ce9 Author: Joerg Albert Date: Wed Aug 5 01:52:07 2009 +0200 ath5k: fix missing output in monitor mode after ifconfig up Let ath5k_chan_set() always call ath5k_reset(). This fixes the bug that we don't get any packets in monitor mode after: ifconfig wlan0 down iwconfig wlan0 mode monitor channel 1 ifconfig wlan0 up but they arrive after iwconfig wlan0 channel 2 Signed-off-by: Joerg Albert Signed-off-by: John W. Linville commit 63b5ac286d5d7f668da537cc53a552578f7674a2 Author: Herbert Xu Date: Fri Aug 14 22:55:35 2009 +1000 crypto: blkcipher - Do not use eseqiv on stream ciphers Recently we switched to using eseqiv on SMP machines in preference over chainiv. However, eseqiv does not support stream ciphers so they should still default to chainiv. This patch applies the same check as done by eseqiv to weed out the stream ciphers. In particular, all algorithms where the IV size is not equal to the block size will now default to chainiv. Signed-off-by: Herbert Xu commit c35d3a418149f145ff0d90833db3e298e88de1ad Author: Sascha Hauer Date: Thu Aug 13 10:04:44 2009 +0200 mx21ads: Fix framebuffer platform data struct imx_fb_platform_data has changed and the mx21ads was forgotten to change. Fix it. Signed-off-by: Sascha Hauer commit f6d2fa7dcbd438da4d150f695ebd219419a325ce Author: Sascha Hauer Date: Thu Aug 13 10:02:30 2009 +0200 MX21: Compilation fix for devices.c The OTG devices are only available on i.MX27, so ifdef them out for i.MX21. Signed-off-by: Sascha Hauer commit 2718c15c5fffa9d05e5076451ab4fc81caac313f Author: Valentin Longchamp Date: Wed Aug 12 11:29:21 2009 +0200 mx31moboard: two GPIOS are used to reset other microcontrolers on the robot Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 8b1a540c245d68a77dbd909359cfc709b6a3a1bf Author: Valentin Longchamp Date: Wed Aug 12 11:29:20 2009 +0200 mx31moboard: initialize 4 input gpios for mx31moboard These gpios are exported to userspace and are here to be used as a selector Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 77aa561db19229a36859018277f41be88684b487 Author: Valentin Longchamp Date: Wed Aug 12 11:29:19 2009 +0200 mx31moboard: support for the 4 leds used on mx31moboard Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 4bd1527a64f847a8aaec4f6055d9498db2646626 Author: Valentin Longchamp Date: Wed Aug 12 11:29:18 2009 +0200 mx31: define various GPIOs used on mx31moboard Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit e0fd4db372896d74e63097ee6463f97736440529 Author: Luotao Fu Date: Thu Jun 18 16:44:18 2009 +0200 pcm037: mux configuration for predefined gpio line Signed-off-by: Luotao Fu commit 8d5c1ed3f639f6ae012332d8ccdff429f3f11823 Author: Luotao Fu Date: Thu Jun 18 14:15:22 2009 +0200 pcm043: mux configuration for predefined gpio line Signed-off-by: Luotao Fu commit 0160651a65d091f9fb3b7955347e04c1125765f8 Author: Luotao Fu Date: Thu Jun 18 12:21:51 2009 +0200 pcm038: mux configuration for predefined gpio line Signed-off-by: Luotao Fu commit 3fd2691a1dc80e42e6524bcbc228b1d35424d013 Author: Sascha Hauer Date: Fri Mar 20 19:25:01 2009 +0100 MX31 Fix spi clock names Fix the SPI clock names to match the device names. Signed-off-by: Sascha Hauer commit 7bc07ebc7d2e9ad57baf205840ce31e9243ed5e8 Author: Sascha Hauer Date: Fri Apr 17 16:52:25 2009 +0200 mx3x: Fixup USB base addresses The i.MX31 and the i.MX35 have different USB base addresses. Adjust the resources accordingly. Signed-off-by: Sascha Hauer commit 337316986f0531e1681c409de9b73af0bc6dc7bb Author: Luotao Fu Date: Thu Aug 6 11:19:39 2009 +0200 mx27: add support for phytec pca100 (phyCARD-s) board Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer commit 547270a3b9f2deb9590b65e8fc351e5399ddf15d Author: Sascha Hauer Date: Tue Mar 17 15:43:54 2009 +0100 i.MX35 clock support: Add USB clocks Signed-off-by: Sascha Hauer commit d37ba97d49703be4e71f786cffcee4dfe73fa93c Author: Sascha Hauer Date: Fri Dec 19 14:32:15 2008 +0100 MX31: add spi controller devices/resources Signed-off-by: Sascha Hauer commit f420db843b7756e5d0d052b00472c94154f50c93 Author: Sascha Hauer Date: Fri Dec 19 14:32:14 2008 +0100 MX2: Add SPI devices/resources Signed-off-by: Sascha Hauer commit 88b05647171460b1d479371690876f8ac5957d42 Author: Valentin Longchamp Date: Mon Aug 10 18:33:12 2009 +0200 mx31moboard: move usb otg support back to moboard common file since all boards finally have this device Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit b23f1534bb0e0dc97e46fc52bf9bde0c2226763c Author: Valentin Longchamp Date: Mon Aug 10 18:33:11 2009 +0200 mx31moboard: added usb xcvr reset for mx31moboard Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 89829d5fe31dc42825f2560c3c2c641709ed594e Author: Valentin Longchamp Date: Mon Aug 10 18:33:10 2009 +0200 mx31: added one more pin definition Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 94da274b4982f5b36b55bde0c76d3ef8233bceda Author: Dmitriy Taychenachev Date: Fri Jul 31 20:29:23 2009 +0900 MXC: add iomux pins configuration support for MXC91231 Signed-off-by: Dmitriy Taychenachev Signed-off-by: Sascha Hauer commit fd6ac7bb9d671d36fd7536c68fde977d197756ab Author: Dmitriy Taychenachev Date: Fri Jul 31 20:29:22 2009 +0900 MXC: add basic MXC91231 support Signed-off-by: Dmitriy Taychenachev Signed-off-by: Sascha Hauer commit 8e5be212cba6675dc363a224ce4a98bb07039b4b Author: Lothar Waßmann Date: Wed Jul 15 15:19:34 2009 +0200 i.MX25 iomux definitions (corrected version) Signed-off-by: Lothar Wassmann Signed-off-by: Sascha Hauer commit cf983c93aea2a6cd6de5b405b7506af7732f91d0 Author: Sascha Hauer Date: Wed Jul 15 09:31:15 2009 +0200 fix mx35 wrong clock Signed-off-by: Sascha Hauer commit 635baf6b40ebaef683abf87d677467cba71a0d50 Author: Sascha Hauer Date: Thu Jun 4 11:32:46 2009 +0200 Freescale i.MX25 PDK (3ds) board support Signed-off-by: Sascha Hauer commit 8c25c36f33157a2e2a1fcd60b6dc00feace80631 Author: Sascha Hauer Date: Thu Jun 4 11:32:12 2009 +0200 Add i.MX25 support Signed-off-by: Sascha Hauer commit a058cbc17901108de9179dccdb29dff0e00c79fe Author: Sascha Hauer Date: Fri Jun 19 11:08:07 2009 +0200 mxc pwm: add mx25 support Signed-off-by: Sascha Hauer commit 6134b2cbb0e24f897fd1063745638397809fca29 Author: Sascha Hauer Date: Thu Jun 4 11:16:22 2009 +0200 iomux-v3: Allow for a runtime base address also, check for a valid pad_ctrl_ofs before changing the pad control register. Signed-off-by: Sascha Hauer commit fc2a9f0bc7f6dd4966dc57fb98b8697c83b6d035 Author: Sascha Hauer Date: Wed May 27 18:09:54 2009 +0200 MXC: i.MX25 timer support Signed-off-by: Sascha Hauer commit 12b8eb865285c95d6e2c02555f066e3f949e090d Author: Sascha Hauer Date: Mon May 25 10:50:52 2009 +0200 MXC: use variable for irq controller base in entry-macro.S This allows us to determine the irq controller base address on runtime. Signed-off-by: Sascha Hauer commit c372a5cf4cde161c7f59bbe7a9ebcfce9cb2c2f8 Author: Daniel Mack Date: Thu Jun 25 12:37:16 2009 +0200 ARM: MX3: add ckil clock The CKIL clock source is used by the upcoming RTC driver, so we need to export it. Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit cf87a6e2fe95891575c45ba1a0ecb8cf53c09732 Author: Sascha Hauer Date: Mon Jul 20 08:18:47 2009 +0200 ARM: mxc: 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: Sascha Hauer Acked-by: Jean Delvare commit c2a7e818019f20a5cf7fb26a6eb59e212e6c0cd8 Author: Tejun Heo Date: Fri Aug 14 15:00:53 2009 +0900 powerpc64: convert to dynamic percpu allocator Now that percpu allows arbitrary embedding of the first chunk, powerpc64 can easily be converted to dynamic percpu allocator. Convert it. powerpc supports several large page sizes. Cap atom_size at 1M. There isn't much to gain by going above that anyway. Signed-off-by: Tejun Heo Cc: Benjamin Herrenschmidt commit bcb2107fdbecef3de55d597d23453747af81ba88 Author: Tejun Heo Date: Fri Aug 14 15:00:53 2009 +0900 sparc64: use embedding percpu first chunk allocator sparc64 currently allocates a large page for each cpu and partially remap them into vmalloc area much like what lpage first chunk allocator did. As a 4M page is used for each cpu, this results in very large unit size and also adds TLB pressure due to the double mapping of pages in the first chunk. This patch converts sparc64 to use the embedding percpu first chunk allocator which now knows how to handle NUMA configurations. This simplifies the code a lot, doesn't incur any extra TLB pressure and results in better utilization of address space. Signed-off-by: Tejun Heo Acked-by: David S. Miller commit e933a73f48e3b2d40cfa56d81e2646f194b5a66a Author: Tejun Heo Date: Fri Aug 14 15:00:53 2009 +0900 percpu: kill lpage first chunk allocator With x86 converted to embedding allocator, lpage doesn't have any user left. Kill it along with cpa handling code. Signed-off-by: Tejun Heo Cc: Jan Beulich commit 4518e6a0c038b98be4c480e6f4481e8676bd15dd Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 x86,percpu: use embedding for 64bit NUMA and page for 32bit NUMA Embedding percpu first chunk allocator can now handle very sparse unit mapping. Use embedding allocator instead of lpage for 64bit NUMA. This removes extra TLB pressure and the need to do complex and fragile dancing when changing page attributes. For 32bit, using very sparse unit mapping isn't a good idea because the vmalloc space is very constrained. 32bit NUMA machines aren't exactly the focus of optimization and it isn't very clear whether lpage performs better than page. Use page first chunk allocator for 32bit NUMAs. As this leaves setup_pcpu_*() functions pretty much empty, fold them into setup_per_cpu_areas(). Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Andi Kleen commit c8826dd538602d730ed2c18c6753f1bbfa6c4933 Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 percpu: update embedding first chunk allocator to handle sparse units Now that percpu core can handle very sparse units, given that vmalloc space is large enough, embedding first chunk allocator can use any memory to build the first chunk. This patch teaches pcpu_embed_first_chunk() about distances between cpus and to use alloc/free callbacks to allocate node specific areas for each group and use them for the first chunk. This brings the benefits of embedding allocator to NUMA configurations - no extra TLB pressure with the flexibility of unified dynamic allocator and no need to restructure arch code to build memory layout suitable for percpu. With units put into atom_size aligned groups according to cpu distances, using large page for dynamic chunks is also easily possible with falling back to reuglar pages if large allocation fails. Embedding allocator users are converted to specify NULL cpu_distance_fn, so this patch doesn't cause any visible behavior difference. Following patches will convert them. Signed-off-by: Tejun Heo commit 6563297ceafab6bbcc931b52e2a9e660fbb21fb2 Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 percpu: use group information to allocate vmap areas sparsely ai->groups[] contains which units need to be put consecutively and at what offset from the chunk base address. Compile this information into pcpu_group_offsets[] and pcpu_group_sizes[] in pcpu_setup_first_chunk() and use them to allocate sparse vm areas using pcpu_get_vm_areas(). This will be used to allow directly using sparse NUMA memories as percpu areas. Signed-off-by: Tejun Heo Cc: Nick Piggin commit ca23e405e06d5fffb005df004c72781f76062f51 Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 vmalloc: implement pcpu_get_vm_areas() To directly use spread NUMA memories for percpu units, percpu allocator will be updated to allow sparsely mapping units in a chunk. As the distances between units can be very large, this makes allocating single vmap area for each chunk undesirable. This patch implements pcpu_get_vm_areas() and pcpu_free_vm_areas() which allocates and frees sparse congruent vmap areas. pcpu_get_vm_areas() take @offsets and @sizes array which define distances and sizes of vmap areas. It scans down from the top of vmalloc area looking for the top-most address which can accomodate all the areas. The top-down scan is to avoid interacting with regular vmallocs which can push up these congruent areas up little by little ending up wasting address space and page table. To speed up top-down scan, the highest possible address hint is maintained. Although the scan is linear from the hint, given the usual large holes between memory addresses between NUMA nodes, the scanning is highly likely to finish after finding the first hole for the last unit which is scanned first. Signed-off-by: Tejun Heo Cc: Nick Piggin commit cf88c79006bd6a09ad725ba0b34c0e23db20b19e Author: Tejun Heo Date: Fri Aug 14 15:00:52 2009 +0900 vmalloc: separate out insert_vmalloc_vm() Separate out insert_vmalloc_vm() from __get_vm_area_node(). insert_vmalloc_vm() initializes vm_struct from vmap_area and inserts it into vmlist. insert_vmalloc_vm() only initializes fields which can be determined from @vm, @flags and @caller The rest should be initialized by the caller. For __get_vm_area_node(), all other fields just need to be cleared and this is done by using kzalloc instead of kmalloc. This will be used to implement pcpu_get_vm_areas(). Signed-off-by: Tejun Heo Cc: Nick Piggin commit bba174f5e03a40a4ab1c63a2272ea5530b98a067 Author: Tejun Heo Date: Fri Aug 14 15:00:51 2009 +0900 percpu: add chunk->base_addr The only thing percpu allocator wants to know about a vmalloc area is the base address. Instead of requiring chunk->vm, add chunk->base_addr which contains the necessary value. This simplifies the code a bit and makes the dummy first_vm unnecessary. This change will ease allowing a chunk to be mapped by multiple vms. Signed-off-by: Tejun Heo commit fb435d5233f8b6f9b93c11d6304d8e98fed03234 Author: Tejun Heo Date: Fri Aug 14 15:00:51 2009 +0900 percpu: add pcpu_unit_offsets[] Currently units are mapped sequentially into address space. This patch adds pcpu_unit_offsets[] which allows units to be mapped to arbitrary offsets from the chunk base address. This is necessary to allow sparse embedding which might would need to allocate address ranges and memory areas which aren't aligned to unit size but allocation atom size (page or large page size). This also simplifies things a bit by removing the need to calculate offset from unit number. With this change, there's no need for the arch code to know pcpu_unit_size. Update pcpu_setup_first_chunk() and first chunk allocators to return regular 0 or -errno return code instead of unit size or -errno. Signed-off-by: Tejun Heo Cc: David S. Miller commit fd1e8a1fe2b54df6c185b4fa65f181f50b9c4d4e Author: Tejun Heo Date: Fri Aug 14 15:00:51 2009 +0900 percpu: introduce pcpu_alloc_info and pcpu_group_info Till now, non-linear cpu->unit map was expressed using an integer array which maps each cpu to a unit and used only by lpage allocator. Although how many units have been placed in a single contiguos area (group) is known while building unit_map, the information is lost when the result is recorded into the unit_map array. For lpage allocator, as all allocations are done by lpages and whether two adjacent lpages are in the same group or not is irrelevant, this didn't cause any problem. Non-linear cpu->unit mapping will be used for sparse embedding and this grouping information is necessary for that. This patch introduces pcpu_alloc_info which contains all the information necessary for initializing percpu allocator. pcpu_alloc_info contains array of pcpu_group_info which describes how units are grouped and mapped to cpus. pcpu_group_info also has base_offset field to specify its offset from the chunk's base address. pcpu_build_alloc_info() initializes this field as if all groups are allocated back-to-back as is currently done but this will be used to sparsely place groups. pcpu_alloc_info is a rather complex data structure which contains a flexible array which in turn points to nested cpu_map arrays. * pcpu_alloc_alloc_info() and pcpu_free_alloc_info() are provided to help dealing with pcpu_alloc_info. * pcpu_lpage_build_unit_map() is updated to build pcpu_alloc_info, generalized and renamed to pcpu_build_alloc_info(). @cpu_distance_fn may be NULL indicating that all cpus are of LOCAL_DISTANCE. * pcpul_lpage_dump_cfg() is updated to process pcpu_alloc_info, generalized and renamed to pcpu_dump_alloc_info(). It now also prints which group each alloc unit belongs to. * pcpu_setup_first_chunk() now takes pcpu_alloc_info instead of the separate parameters. All first chunk allocators are updated to use pcpu_build_alloc_info() to build alloc_info and call pcpu_setup_first_chunk() with it. This has the side effect of packing units for sparse possible cpus. ie. if cpus 0, 2 and 4 are possible, they'll be assigned unit 0, 1 and 2 instead of 0, 2 and 4. * x86 setup_pcpu_lpage() is updated to deal with alloc_info. * sparc64 setup_per_cpu_areas() is updated to build alloc_info. Although the changes made by this patch are pretty pervasive, it doesn't cause any behavior difference other than packing of sparse cpus. It mostly changes how information is passed among initialization functions and makes room for more flexibility. Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: David Miller commit 033e48fb82958053113178264ddb9d5038d5e38b Author: Tejun Heo Date: Fri Aug 14 15:00:51 2009 +0900 percpu: move pcpu_lpage_build_unit_map() and pcpul_lpage_dump_cfg() upward Unit map handling will be generalized and extended and used for embedding sparse first chunk and other purposes. Relocate two unit_map related functions upward in preparation. This patch just moves the code without any actual change. Signed-off-by: Tejun Heo commit 3cbc85652767c38b252c8de55f9fd180b29e4c0d Author: Tejun Heo Date: Fri Aug 14 15:00:50 2009 +0900 percpu: add @align to pcpu_fc_alloc_fn_t pcpu_fc_alloc_fn_t is about to see more interesting usage, add @align parameter. Signed-off-by: Tejun Heo commit 1d9d32572163b30be81dbe1409dfa7ea9763d0e8 Author: Tejun Heo Date: Fri Aug 14 15:00:50 2009 +0900 percpu: make @dyn_size mandatory for pcpu_setup_first_chunk() Now that all actual first chunk allocation and copying happen in the first chunk allocators and helpers, there's no reason for pcpu_setup_first_chunk() to try to determine @dyn_size automatically. The only left user is page first chunk allocator. Make it determine dyn_size like other allocators and make @dyn_size mandatory for pcpu_setup_first_chunk(). Signed-off-by: Tejun Heo commit 9a7737691e90d3cce0e5248f91826c50e5aa3fcf Author: Tejun Heo Date: Fri Aug 14 15:00:50 2009 +0900 percpu: drop @static_size from first chunk allocators First chunk allocators assume percpu areas have been linked using one of PERCPU_*() macros and depend on __per_cpu_load symbol defined by those macros, so there isn't much point in passing in static area size explicitly when it can be easily calculated from __per_cpu_start and __per_cpu_end. Drop @static_size from all percpu first chunk allocators and helpers. Signed-off-by: Tejun Heo commit f58dc01ba2ca9fe3ab2ba4ca43d9c8a735cf62d8 Author: Tejun Heo Date: Fri Aug 14 15:00:50 2009 +0900 percpu: generalize first chunk allocator selection Now that all first chunk allocators are in mm/percpu.c, it makes sense to make generalize percpu_alloc kernel parameter. Define PCPU_FC_* and set pcpu_chosen_fc using early_param() in mm/percpu.c. Arch code can use the set value to determine which first chunk allocator to use. Signed-off-by: Tejun Heo commit 08fc45806103e59a37418e84719b878f9bb32540 Author: Tejun Heo Date: Fri Aug 14 15:00:49 2009 +0900 percpu: build first chunk allocators selectively There's no need to build unused first chunk allocators in. Define CONFIG_NEED_PER_CPU_*_FIRST_CHUNK and let archs enable them selectively. Signed-off-by: Tejun Heo commit 00ae4064b1445524752575dd84df227c0687c99d Author: Tejun Heo Date: Fri Aug 14 15:00:49 2009 +0900 percpu: rename 4k first chunk allocator to page Page size isn't always 4k depending on arch and configuration. Rename 4k first chunk allocator to page. Signed-off-by: Tejun Heo Cc: David Howells commit 004018e2c06b9c650e88dddd973ae36799ed72b9 Author: Tejun Heo Date: Fri Aug 14 15:00:49 2009 +0900 percpu: improve boot messages Improve percpu boot messages such that they're uniform and contain more information. Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter commit 971f3918a5a8febbbab355079972fb31ee7c0f33 Author: Tejun Heo Date: Fri Aug 14 15:00:49 2009 +0900 percpu: fix pcpu_reclaim() locking pcpu_reclaim() calls pcpu_depopulate_chunk() which makes use of pages array and bitmap returned by pcpu_get_pages_and_bitmap() and thus should be called under pcpu_alloc_mutex. pcpu_reclaim() released the mutex before calling depopulate leading to double free and other strange problems caused by the unexpected concurrent usages of pages array and bitmap. Fix it. Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter commit 384be2b18a5f9475eab9ca2bdfa95cc1a04ef59c Merge: a76761b 142d44b Author: Tejun Heo Date: Fri Aug 14 14:41:02 2009 +0900 Merge branch 'percpu-for-linus' into percpu-for-next Conflicts: arch/sparc/kernel/smp_64.c arch/x86/kernel/cpu/perf_counter.c arch/x86/kernel/setup_percpu.c drivers/cpufreq/cpufreq_ondemand.c mm/percpu.c Conflicts in core and arch percpu codes are mostly from commit ed78e1e078dd44249f88b1dd8c76dafb39567161 which substituted many num_possible_cpus() with nr_cpu_ids. As for-next branch has moved all the first chunk allocators into mm/percpu.c, the changes are moved from arch code to mm/percpu.c. Signed-off-by: Tejun Heo commit 5c16807d3d196203d2d3c9fae51ac7e422091904 Merge: e5e2a8f 232e7d6 Author: David S. Miller Date: Thu Aug 13 19:59:44 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/netxen/netxen_nic_main.c commit f322abf83feddc3c37c3a91794e0c5aece4af18e Author: James Morris Date: Fri Aug 14 11:19:29 2009 +1000 security: update documentation for security_request_module Update documentation for security_request_module to indicate return value, as suggested by Serge Hallyn. Signed-off-by: James Morris commit 25354c4fee169710fd9da15f3bb2abaa24dcf933 Author: Eric Paris Date: Thu Aug 13 09:45:03 2009 -0400 SELinux: add selinux_kernel_module_request This patch adds a new selinux hook so SELinux can arbitrate if a given process should be allowed to trigger a request for the kernel to try to load a module. This is a different operation than a process trying to load a module itself, which is already protected by CAP_SYS_MODULE. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit 9188499cdb117d86a1ea6b04374095b098d56936 Author: Eric Paris Date: Thu Aug 13 09:44:57 2009 -0400 security: introducing security_request_module Calling request_module() will trigger a userspace upcall which will load a new module into the kernel. This can be a dangerous event if the process able to trigger request_module() is able to control either the modprobe binary or the module binary. This patch adds a new security hook to request_module() which can be used by an LSM to control a processes ability to call request_module(). Signed-off-by: Eric Paris Acked-by: Serge Hallyn Signed-off-by: James Morris commit a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c Author: Eric Paris Date: Thu Aug 13 09:44:51 2009 -0400 Networking: use CAP_NET_ADMIN when deciding to call request_module The networking code checks CAP_SYS_MODULE before using request_module() to try to load a kernel module. While this seems reasonable it's actually weakening system security since we have to allow CAP_SYS_MODULE for things like /sbin/ip and bluetoothd which need to be able to trigger module loads. CAP_SYS_MODULE actually grants those binaries the ability to directly load any code into the kernel. We should instead be protecting modprobe and the modules on disk, rather than granting random programs the ability to load code directly into the kernel. Instead we are going to gate those networking checks on CAP_NET_ADMIN which still limits them to root but which does not grant those processes the ability to load arbitrary code into the kernel. Signed-off-by: Eric Paris Acked-by: Serge Hallyn Acked-by: Paul Moore Acked-by: David S. Miller Signed-off-by: James Morris commit a2c195fdde20772a90ee98ce3523dcfbda49eee6 Author: Ben Dooks Date: Mon Aug 3 17:26:50 2009 +0100 ARM: S3C24XX: Add SPI bus 1 on GPD8 through GPD10 Add configuration callback for SPI bus 1 on GPD[8..10] and ensure the correct GPIO configuration register definitions in regs-gpio.h Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit d91e9a7ab93e09e5a0fbed73f3a6a330f14620a4 Author: Mark Brown Date: Wed Aug 5 18:29:57 2009 +0100 ARM: S3C24XX: Add platform device for AC97 controller Move the definition of the "generic" IRQ in the process. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 229fd8ffba57dfaea59078b9144371369ffdb0a3 Author: Ben Dooks Date: Mon Aug 3 17:26:57 2009 +0100 ARM: S3C24XX: Add FIQ IRQ routing support Add support for routing an IRQ from the normal ARM IRQ mechanism to the FIQ input of the processor. Note, also fix a bug where the init_FIQ() function has not been called when CONFIG_FIQ is enabled. Signed-off-by; Ben Dooks Signed-off-by: Ben Dooks commit c233d94931cebc8ec805fb98856f34ad16d49e4f Author: Mark Brown Date: Wed Aug 5 18:21:57 2009 +0100 ARM: S3C: Move S3C64xx audio devices into S3C64xx directory Allowing us to make the Kconfig a little bit saner. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit c7c8f615c8d1b49225ed86406603e7ac24d2a6d9 Author: Mark Brown Date: Wed Aug 5 18:21:59 2009 +0100 ARM: S3C64XX: Add address mapping for AC97 controller Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 25b15da14a789846672e73d19862b5fe5ad14346 Author: Mark Brown Date: Tue Aug 4 16:25:12 2009 +0100 ARM: S3C64XX: Add mapping for IISv4 port Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit bd258e525a40efc2c3798b76a725cd3d5c4e3d93 Author: Matt Hsu Date: Mon Jun 29 19:03:41 2009 +0800 ARM: S3C64XX: Add UART2,UART3 support for SMDK6410 (resend) Add proper uartcfg for UART port 2,3 and tidy it up on SMDK6410. Signed-off-by: Matt Hsu Signed-off-by: Ben Dooks commit 4d4e2bc268e188a8793ce96af20576374098c17b Author: Marek Szyprowski Date: Wed Jun 24 08:05:43 2009 +0200 ARM: NCP: make ncp_iodesc static and move it to initdata section Make ncp_iodesc struct static to clean a public namespace a bit and move it to __initdata section to save memory a bit. Reviewed-by: Kyungmin Park Signed-off-by: Marek Szyprowski Signed-off-by: Ben Dooks commit e5e2a8fd8358d1b3a2c51c3248edee72e4194703 Author: Jiri Pirko Date: Thu Aug 13 04:11:52 2009 +0000 bonding: wipe out printk's I did not introduce new lines over 80 chars. I even eliminated some of them. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit 26ced1e4aa181c01379b0b7ef156a29c000d1f8c Author: Gerrit Renker Date: Sun Aug 9 08:12:49 2009 +0000 inet6: Set default traffic class This patch addresses: * assigning -1 to np->tclass as it is currently done is not very meaningful, since it turns into 0xff; * RFC 3542, 6.5 allows -1 for clearing the sticky IPV6_TCLASS option and specifies -1 to mean "use kernel default": - RFC 2460, 7. requires that the default traffic class must be zero for all 8 bits, - this is consistent with RFC 2474, 4.1 which recommends a default PHB of 0, in combination with a value of the ECN field of "non-ECT" (RFC 3168, 5.). This patch changes the meaning of -1 from assigning 255 to mean the RFC 2460 default, which at the same time allows to satisfy clearing the sticky TCLASS option as per RFC 3542, 6.5. (When passing -1 as ancillary data, the fallback remains np->tclass, which has either been set via socket options, or contains the default value.) Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit e651f03afe833326faa0abe55948c1c6cfd0b8ac Author: Gerrit Renker Date: Sun Aug 9 08:12:48 2009 +0000 inet6: Conversion from u8 to int This replaces assignments of the type "int on LHS" = "u8 on RHS" with simpler code. The LHS can express all of the unsigned right hand side values, hence the assigned value can not be negative. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 9ec04da7489d2c9ae01ea6e9b5fa313ccf3d35fb Author: Neil Horman Date: Thu Aug 13 05:23:56 2009 +0000 net: skb ftracer - Add actual ftrace code to kernel (v3) skb allocation / consumption correlator Add ftracer module to kernel to print out a list that correlates a process id, an skb it read, and the numa nodes on wich the process was running when it was read along with the numa node the skbuff was allocated on. Signed-off-by: Neil Horman Makefile | 1 trace.h | 19 ++++++ trace_skb_sources.c | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 174 insertions(+) Signed-off-by: David S. Miller commit 5a165657bef7c47e5ff4cd138f7758ef6278e87b Author: Neil Horman Date: Thu Aug 13 05:20:45 2009 +0000 net: skb ftracer - Add config option to enable new ftracer (v3) skb allocation / consumption corelator - Add config option This patch adds a Kconfig option to enable the addtition of the skb source tracer. Signed-off-by: Neil Horman Kconfig | 10 ++++++++++ 1 file changed, 10 insertions(+) Signed-off-by: David S. Miller commit e9b3cc1b3779fe10a80de4c3e7404bd308d0eae3 Author: Neil Horman Date: Thu Aug 13 05:19:44 2009 +0000 net: skb ftracer - add tracepoint to skb_copy_datagram_iovec (v3) skb allocation / cosumption tracer - Add consumption tracepoint This patch adds a tracepoint to skb_copy_datagram_iovec, which is called each time a userspace process copies a frame from a socket receive queue to a user space buffer. It allows us to hook in and examine each sk_buff that the system receives on a per-socket bases, and can be use to compile a list of which skb's were received by which processes. Signed-off-by: Neil Horman include/trace/events/skb.h | 20 ++++++++++++++++++++ net/core/datagram.c | 3 +++ 2 files changed, 23 insertions(+) Signed-off-by: David S. Miller commit 1e5053b7635c6a985a7cd8108e538883d961de2a Author: Wan ZongShun Date: Sun Aug 9 03:06:19 2009 +0000 Add support for w90p910 mac driver I fixed up my mac driver, which relatives to previous mac driver actually in the tree. Signed-off-by: Wan ZongShun Signed-off-by: David S. Miller commit 7010837a44813711b66d9e82e90f9641464e515d Author: Phil Sutter Date: Wed Aug 12 12:52:32 2009 +0000 korina: add error-handling to korina_alloc_ring This also avoids a potential buffer overflow in case the very first receive descriptor fails to allocate, as an index of -1 would be used afterwards. Kudos to Roel Kluin for pointing this out and providing an initial patch. Signed-off-by: Phil Sutter Signed-off-by: David S. Miller commit f16aea4d201018a124f3c1efd7f247fd3b11e4e1 Author: Phil Sutter Date: Wed Aug 12 12:22:46 2009 +0000 korina: fix printk formatting, add final info line The macro DRV_NAME contains "korina", the field dev->name points to the actual interface name. So messages were formerly prefixed with 'korinaeth2:' (on my system). Signed-off-by: Phil Sutter Signed-off-by: David S. Miller commit 3982d3d28b02bed5312015762fe2112ccbaf9051 Author: Fischer, Anna Date: Thu Aug 13 06:55:16 2009 +0000 net/bridge: Add 'hairpin' port forwarding mode This patch adds a 'hairpin' (also called 'reflective relay') mode port configuration to the Linux Ethernet bridge kernel module. A bridge supporting hairpin forwarding mode can send frames back out through the port the frame was received on. Hairpin mode is required to support basic VEPA (Virtual Ethernet Port Aggregator) capabilities. You can find additional information on VEPA here: http://tech.groups.yahoo.com/group/evb/ http://www.ieee802.org/1/files/public/docs2009/new-hudson-vepa_seminar-20090514d.pdf http://www.internet2.edu/presentations/jt2009jul/20090719-congdon.pdf An additional patch 'bridge-utils: Add 'hairpin' port forwarding mode' is provided to allow configuring hairpin mode from userspace tools. Signed-off-by: Paul Congdon Signed-off-by: Anna Fischer Acked-by: Arnd Bergmann Signed-off-by: David S. Miller commit 8dd07086a1f8048428d33a1917b6209978750cb1 Author: roel kluin Date: Mon Aug 10 01:29:52 2009 +0000 lmc: Read outside array bounds If dev_alloc_skb() fails on the first iteration of the allocation loop, then we end up writing before the start of the array. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit a6fa32866567351503db8a5c3466a676ba08595f Author: Jens Rosenboom Date: Wed Aug 12 22:16:04 2009 +0000 ipv6: Log the explicit address that triggered DAD failure If an interface has multiple addresses, the current message for DAD failure isn't really helpful, so this patch adds the address itself to the printk. Signed-off-by: Jens Rosenboom Signed-off-by: David S. Miller commit 9b0365f1954b0b54a896171b4438ed42ad7ef02f Author: Sarveshwar Bandi Date: Wed Aug 12 21:01:29 2009 +0000 be2net:Creating/destroying queues regardless of netif_running() in suspend/resume path Signed-off-by: sarveshwarb Signed-off-by: David S. Miller commit 60d970c254b95ec7a0fc4c590b510253987b64a0 Author: Ingo Molnar Date: Thu Aug 13 23:37:26 2009 +0200 tracing: Fix syscall tracing on !HAVE_FTRACE_SYSCALLS architectures The new syscall_regfunc()/unregfunc() functions rely on the existence of TIF_SYSCALL_FTRACE - but that TIF flag is only offered by HAVE_FTRACE_SYSCALLS. Cc: Frederic Weisbecker Cc: Jason Baron Cc: Steven Rostedt Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 4ac0478f2afaf8e778b4190d6218459a9dbf2a8f Author: Marek Vasut Date: Thu Jul 30 02:55:01 2009 +0200 ALSA: Allow passing platform_data for pxa2xx-ac97 This patch adds support for passing platform data to ac97 bus devices from PXA2xx-AC97 driver.. Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 30230f4cd7c002a40c13758d12c1c6d96100461d Author: Chaithrika U S Date: Tue Aug 11 16:59:21 2009 -0400 ASoC: DaVinci: Add audio support fot DA850/OMAP-L138 EVM There is one instance of McASP on DA850/OMAP-L138 SoC. This is connected to TLV320AIC3106 codec for audio playback and capture. This patch adds audio support on this platform. Some of the structure prefix names which are common for DA830/OMAP-L137 EVM and DA850/OMAP-L138 EVM have been renamed to da8xx from da830. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 517ee6cf699967b421bcf8967e7bbeb3c45ded1a Author: Chaithrika U S Date: Tue Aug 11 16:59:12 2009 -0400 ASoC: DaVinci: Add a DAI format to McASP driver The patch adds a DAI format: Codec bit clock master and frame sync slave, to the driver. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 6a99fb5fb85f267d075310fd30c4bf6f0ae63062 Author: Chaithrika U S Date: Tue Aug 11 16:58:52 2009 -0400 ASoC: DaVinci: McASP driver enhacements On DA830/OMAP-L137 and DA850/OMAP-L138 SoCs, the McASP peripheral has FIFO support. This FIFO provides additional data buffering. It also provides tolerance to variation in host/DMA controller response times. The read and write FIFO sizes are 256 bytes each. If FIFO is enabled, the DMA events from McASP are sent to the FIFO which in turn sends DMA requests to the host CPU according to the thresholds programmed. More details of the FIFO operation can be found at http://focus.ti.com/general/docs/lit/getliterature.tsp?literatureNumber= sprufm1&fileType=pdf This patch adds support for FIFO configuration. The platform data has a version field which differentiates the McASP on different SoCs. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit a2342ae325bb1f65d90a9f38baab4c9762018a5e Author: Mark Brown Date: Wed Jul 29 21:21:49 2009 +0100 ASoC: Factor out shared code from WM8993 The WM8993 analogue control is shared with other devices in the same product line. Since this is a very substantial proportion of the driver move the definitions of these controls into a new wm_hubs module which allows them to be shared between the two. Signed-off-by: Mark Brown commit 718dbf376ac39b8f8c974e9162430754dbace742 Merge: f54aab4 f826466 Author: Paul Mundt Date: Fri Aug 14 05:10:57 2009 +0900 Merge branch 'sh/dwarf-unwinder' commit f826466772ae52f26152287fcb2259351de78f0f Author: Matt Fleming Date: Thu Aug 13 20:41:31 2009 +0100 sh: Delete DWARF_ARCH_UNWIND_OFFSET Trying to figure out the best value for DWARF_ARCH_UNWIND_OFFSET is tricky at best. Various things can change the size (and offset from the beginning of the function) of the prologue. Notably, turning on ftrace adds calls to mcount at the beginning of functions, thereby pushing the prologue further into the function. So replace DWARF_ARCH_UNWIND_OFFSET with some code that continues to execute CFA instructions until the value of return address register is defined. This is safe to do because we know that the return address must have been pushed onto the frame before our first function call; we just can't figure out where at compile-time. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit f54aab4a7486fb7947d6d746f3423f67676811c8 Author: Paul Mundt Date: Fri Aug 14 04:59:50 2009 +0900 sh: oprofile: Kill off dead valid_kernel_stack(). This is no longer used, kill it off. Signed-off-by: Paul Mundt commit ac25150f2c55ea26447af0fa1d4e2bb07f97384d Author: Uwe Kleine-König Date: Thu Aug 13 21:09:21 2009 +0200 [ARM] let arch/arm/Kconfig source drivers/Kconfig The changes introduced by this change are: - drivers/mtd/Kconfig doesn't depend on ALIGNMENT_TRAP || !CPU_CP15_MMU any more - the following files are sourced additionally: + drivers/macintosh/Kconfig completely depends on PPC || MAC || X86 + drivers/telephony/Kconfig new + drivers/pps/Kconfig new + drivers/infiniband/Kconfig new + drivers/edac/Kconfig depends on X86 || PPC + drivers/vlynq/Kconfig depends on AR7 && EXPERIMENTAL (that is ARCH_MIPS) + drivers/xen/Kconfig everything depends on XEN + drivers/platform/Kconfig depends on X86 - drivers/regulator/Kconfig is sourced later as is drivers/accessibility/Kconfig Signed-off-by: Uwe Kleine-König commit d45a398fca6b03f16d01c9253c3a8c96d804f532 Author: Uwe Kleine-König Date: Thu Aug 13 20:38:17 2009 +0200 Use kernel/Kconfig.preempt for ARM before this patch ARM had it's own definition of CONFIG_PREEMPT. Instead of that use the general definition provided in kernel/Kconfig.preempt. This patch changes the available options in *config. Namely PREEMPT isn't a stand alone bool anymore, but part of a 'choice' the following Kconfig symbols are added: PREEMPT_NONE PREEMPT_VOLUNTARY Selecting PREEMPT_NONE now produces exactly the code as not selecting PREEMPT before (apart from a comment in /sys/kernel/debug/tracing/(per_cpu/cpuX/)?trace). The only difference PREEMPT_VOLUNTARY does is that might_resched might reschedule. Both should't introduce regressions. Signed-off-by: Uwe Kleine-König Cc: Russell King commit 0d928b0b616d1c5c5fe76019a87cba171ca91633 Author: Uwe Kleine-König Date: Thu Aug 13 20:38:17 2009 +0200 Complete irq tracing support for ARM Before this patch enabling and disabling irqs in assembler code and by the hardware wasn't tracked completly. I had to transpose two instructions in arch/arm/lib/bitops.h because restore_irqs doesn't preserve the flags with CONFIG_TRACE_IRQFLAGS=y Signed-off-by: Uwe Kleine-König Cc: Russell King Cc: Peter Zijlstra Cc: Ingo Molnar Signed-off-by: Uwe Kleine-König commit 181f817eaaca4c1f8a9c265d339d2b96de8b245d Author: Uwe Kleine-König Date: Thu Aug 13 20:38:16 2009 +0200 [ARM] support tracing when using newer compilers Since gcc 4.4 the name and calling convention for function profiling on ARM changed. With this patch both types are supported. See http://sourceware.org/ml/libc-ports/2008-04/msg00009.html for some details. Lightly-Tested-by: Anand Gadiyar Tested-by: Kevin Hilman Signed-off-by: Uwe Kleine-König commit b88fb83b138d4a377abea9461b2d58b9bf8ad9fe Author: Uwe Kleine-König Date: Thu Aug 13 20:38:16 2009 +0200 netx: Use get_irqnr_preamble to initialize base register This patch optimizes the irq handling a bit. Now the base register is only computed once per irq exception instead of at least twice. Moreover the mov+add sequence is simplified to an ldr (which might save some cycles depending on memory timing). Signed-off-by: Uwe Kleine-König commit bf43a160ff2d67a21b076286bab6f5e2c993bd0a Author: Paul Mundt Date: Fri Aug 14 03:06:13 2009 +0900 sh: unwinder: Restore put_unaligned() for an unaligned destination. The destination address might be unaligned, so set it with put_unaligned() for safety. This restores the previous behaviour, albeit through the proper API. Signed-off-by: Paul Mundt commit ba6c548701ef7a93b9ea05d1506d2b62f1628333 Author: David Woodhouse Date: Thu Aug 13 18:18:00 2009 +0100 ia64: IOMMU passthrough mode shouldn't trigger swiotlb init Since commit 19943b0e30b05d42e494ae6fef78156ebc8c637e ('intel-iommu: Unify hardware and software passthrough support'), hardware passthrough mode will do the same as software passthrough mode was doing -- it'll still use the IOMMU normally for devices which can't address all of memory. This means that we don't need to bother with swiotlb. Signed-off-by: David Woodhouse commit 3497447f15485b479366ec86effaac16fc82411b Author: Paul Mundt Date: Fri Aug 14 02:10:59 2009 +0900 sh: unwinder: Fix up usage of unaligned accessors. This was using internal symbols for unaligned accesses, bypassing the exposed interface for variable sized safe accesses. This converts all of the __get_unaligned_cpuXX() users over to get_unaligned() directly, relying on the cast to select the proper internal routine. Additionally, the __put_unaligned_cpuXX() case is superfluous given that the destination address is aligned in all of the current cases, so just drop that outright. Furthermore, this switches to the asm/unaligned.h header instead of the asm-generic version, which was silently bypassing the SH-4A optimized unaligned ops. Signed-off-by: Paul Mundt commit cafb0ddac60556f7d2d4cd0ef1a93da8a6c71ffb Author: Matt Fleming Date: Sun Aug 2 22:40:11 2009 +0100 sh: Add CFI annotations for exception return. Annotate various assembly code paths with CFI assembler directives so that DWARF unwind info is available for the unwinder. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 0b930489b8606224b829c8a6037eac24249a97ec Author: Matt Fleming Date: Sun Aug 2 22:33:26 2009 +0100 sh: Setup the frame register in asm code In order to use DWARF unwinder info the frame register has to contain a valid value. Whilst GCC takes care of this for C code, we have to do it ourselves for assembly. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit bd353861c735b2265c9d8b2559960c693e7c68ab Author: Matt Fleming Date: Fri Aug 14 01:58:43 2009 +0900 sh: dwarf unwinder support. This is a first cut at a generic DWARF unwinder for the kernel. It's still lacking DWARF64 support and the DWARF expression support hasn't been tested very well but it is generating proper stacktraces on SH for WARN_ON() and NULL dereferences. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 667067d8980249a71ccf82a55202fff2cd1cd54f Author: Takashi Iwai Date: Thu Aug 13 18:14:42 2009 +0200 ALSA: hda - Fix / clean up IDT92HD83xxx codec parser A few improvements for IDT 92HD83xxx codec pareser: - Remove unused / deprecated mixer-amp controls - Handle d-mics as normal inputs since this codec has no separate MUXes for analog and digital - Don't create duplicated controls for capture volumes with Mux capture volumes Signed-off-by: Takashi Iwai commit a6cd7a71fde47e19738e7791c75584e2aca15187 Merge: 1c4bdf9 5207e10 Author: Takashi Iwai Date: Thu Aug 13 18:14:02 2009 +0200 Merge branch 'topic/hda-dmic-fix' into topic/hda commit e9ade7f933d629698cbe5f09f1e5511269180fea Author: Mark Brown Date: Thu Aug 13 15:19:42 2009 +0100 ASoC: Minor cleanups to AD1938 driver - Build in SND_SOC_ALL_CODECS. - Remove null suspend/resume stuff. Signed-off-by: Mark Brown commit 7eaae41ea54af5516138aef5fd33bc55598cbf48 Author: Barry Song <21cnbao@gmail.com> Date: Thu Aug 13 11:59:32 2009 +0800 new ad1836 codec driver based on asoc There has been an ad1836 driver in sound/blackfin based on traditional alsa. The new driver is based on asoc. The architecture of ad1836 codec driver is very much like ad1938. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 9008adf9a9c3a43ef237f6cd416857569beb0029 Author: Peter Ujfalusi Date: Thu Aug 13 15:59:34 2009 +0300 ASoC: TWL4030: Introduce PGAs for outputs Dynamically control and control only the needed output amplifier muting/un-muting. The original code was muting and un-muting the following output amplifiers: Earpiece PreDrivL/R, CarkitL/R at the same time regardless which pin is actually in use at the given moment. Move these as separate PGA so only the needed amplifier will be touched. Signed-off-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 6973ee7e602b08f624bbf7379b6f68054c71aebb Merge: 13efdbe 54a246f Author: Russell King Date: Thu Aug 13 14:22:39 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion into devel-stable commit aef27136b8b5e526f2e96ca1caa30a6d07e70f42 Author: Herbert Xu Date: Thu Aug 13 23:10:39 2009 +1000 crypto: ctr - Use chainiv on raw counter mode Raw counter mode only works with chainiv, which is no longer the default IV generator on SMP machines. This broke raw counter mode as it can no longer instantiate as a givcipher. This patch fixes it by always picking chainiv on raw counter mode. This is based on the diagnosis and a patch by Huang Ying. Signed-off-by: Herbert Xu commit 73fec1209433d6b33924c1b06122ee217ce98931 Author: Herbert Xu Date: Thu Aug 13 21:33:06 2009 +1000 Revert crypto: fips - Select CPRNG This reverts commit 215ccd6f55a2144bd553e0a3d12e1386f02309fd. It causes CPRNG and everything selected by it to be built-in whenever FIPS is enabled. The problem is that it is selecting a tristate from a bool, which is usually not what is intended. Signed-off-by: Herbert Xu commit 0eff9f66de79a0707a9c3a2f8528ccfd62100f0b Author: Matt Fleming Date: Tue Aug 11 22:43:20 2009 +0100 sh: Use the new stack unwinder API Instead of implementing our own stack unwinder via dump_trace() we should use the new stack unwinder API because it is more modular. This change allows us to decouple the interface for generating stacktraces from the implementation of a stack unwinder. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit bf61ad1f870be88676a07bfef69acd59ce10172e Author: Matt Fleming Date: Thu Aug 13 19:49:03 2009 +0900 sh: Allow multiple stack unwinders to be setup Provide an interface for registering stack unwinders, where each unwinder is given a rating that describes its accuracy and complexity. The more accurate an unwinder is, the more complex it is. If a the current stack unwinder faults, then the stack unwinder with the next highest accuracy will be used in its place (provided one is available). For example, this allows unwinders, such as the DWARF unwinder, to liberally sprinkle BUG()s to catch badly formed DWARF debug info. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit c4ff357ada4fc7a73d899a496b636c698519b958 Author: Barry Song <21cnbao@gmail.com> Date: Wed Aug 12 11:34:25 2009 +0800 ASoC: add output/input widgets in ad1938 to make dac/adc dynamic PM work According to the function dapm_dac_check_power() in sound/soc/soc-dapm.c, dac power can't be on/off stand-alone without any output widget as sink. And according to dapm_adc_check_power(), adc power can't be on/off stand-alone without any input widget as source. So we can't only define some stand-alone SND_SOC_DAPM_DAC/SND_SOC_DAPM_ADC to hope their power can be managed dynamically. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 1c4bdf9be010ae7c2324c0a90dd2296e0d1a775e Author: Takashi Iwai Date: Thu Aug 13 08:23:24 2009 +0200 ALSA: hda - Enable line-out detection only with speakers Enable line-out detection for IDT/STAC codecs only when speaker pins exist. In some cases, the speaker itself is identified as line-out, and this confuses the situation. Only the extra line-outs should do auto-muting. Signed-off-by: Takashi Iwai commit c458bc50e31631f7e9333ea6f1832fc54d4e2c1e Author: Eilon Greenstein Date: Wed Aug 12 08:24:31 2009 +0000 bnx2x: update version to 1.52.1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ab6ad5a4875e99dffe957a411fe890402a91f67f Author: Eilon Greenstein Date: Wed Aug 12 08:24:29 2009 +0000 bnx2x: Whitespaces and comments Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 9c63de6293775b537614550fd61075a33ada9469 Author: Eilon Greenstein Date: Wed Aug 12 08:24:25 2009 +0000 bnx2x: Removing unused definitions Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 45a4864d80264f6708528dcaa2c5c0b3933a8d7f Author: Eilon Greenstein Date: Wed Aug 12 08:24:18 2009 +0000 bnx2x: Beautify bnx2x_dump.h Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 573f203574581faaf80ca4fc079d33452327fc3b Author: Eilon Greenstein Date: Wed Aug 12 08:24:14 2009 +0000 bnx2x: Re-factor the initialization code Moving the code to a more logical place and beautifying it. No real change in behavior. Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e4ed7113372a04df9b7aa985ce3860207dbb1141 Author: Eilon Greenstein Date: Wed Aug 12 08:24:10 2009 +0000 bnx2x: Using PCI_DEVICE macro Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0fc5d0094de11bb005c35f03fb1d3b52b0bd85e3 Author: Eilon Greenstein Date: Wed Aug 12 08:24:05 2009 +0000 bnx2x: Adding explicit casting Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 659bc5c4f2e84e69e1b10b36c16cd52ff7eb317a Author: Eilon Greenstein Date: Wed Aug 12 08:24:02 2009 +0000 bnx2x: Using macro for phy address Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 1ef70b9c12407f0bf332ba775a8aa8f8035d0a24 Author: Eilon Greenstein Date: Wed Aug 12 08:23:59 2009 +0000 bnx2x: Re-arrange the link structures for better alignment Change ieee_fc to u16 instead of u32 and re-arrange the link parameters structures Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 8924665a7d77bb79ee895b98864e3201507f6ef2 Author: Eilon Greenstein Date: Wed Aug 12 08:23:56 2009 +0000 bnx2x: Missing smp_wmb for statistics state machine Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 57937203aa077520a7e1665bfb7071b3cbb3f5a9 Author: Eilon Greenstein Date: Wed Aug 12 08:23:53 2009 +0000 bnx2x: Remove SGMII configuration when not required Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6f65497b567ef9a518d930ef30fe6b8f27051688 Author: Eilon Greenstein Date: Wed Aug 12 08:23:51 2009 +0000 bnx2x: Keep only one HW path active Disable bmac access while working with emac and keep the single lane SerDes in reset while working with 4 lanes XGXS Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 54016b260e873d0d4d30cf1fdbd0cdcf0e26251b Author: Eilon Greenstein Date: Wed Aug 12 08:23:48 2009 +0000 bnx2x: Check unzip return code Without this check, when running out of memory, we will see PSOD's in bnx2x_init_fill() when doing a memset(). This is because at that time, bp->gunzip_buf is not pointing to a valid allocated space. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5ff7b6d4c129a430e355b2f88162a36d9e058f88 Author: Eilon Greenstein Date: Wed Aug 12 08:23:44 2009 +0000 bnx2x: Remove the init_dmae field from bp Moved the dmae_command from the heap to the stack. This will save 56 bytes per bnx2x structure. As a side benefit, we can also reduce the time the dmae_mutex is held. This is because do we not need to hold this mutex when setting up the dmae command. The memory where is dmae command is stored is not a shared resource and doesn not need to be protected. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0d28e49a2616b927bca5fde0f16dfdfd2a501107 Author: Eilon Greenstein Date: Wed Aug 12 08:23:40 2009 +0000 bnx2x: Updating regdump_len at drvinfo Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 938cf5416d59769ec2e7ce4eb7967cb3b61242a3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:37 2009 +0000 bnx2x: Move printing of version from probe to the init Move printing of version from probe to the init function Rather then checking if this is the first module probe call to print the version of the driver only once, the statement is moved to the init function of the module where init is only called once Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 37f9ce6231cafb2973e09f7f72ad62bc6348d1b3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:34 2009 +0000 bnx2x: Combine get_pcie_width and get_pcie_speed The functions bnx2x_get_pcie_width() and bnx2x_get_pcie_speed() were combined into bnx2x_get_pcie_width_speed() so that there is only 1 PCI read to PCICFG_OFFSET + PCICFG_LINK_CONTROL rather then 2 reads. Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e3553b29c6f395c6692afccc2ed5eff9c3d1daef Author: Eilon Greenstein Date: Wed Aug 12 08:23:31 2009 +0000 bnx2x: Stop loading if error condition detected Signed-off-by: Benjamin Li Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit df4770de03d2eec3f66b0ac4d2248d471a1ccc0b Author: Eilon Greenstein Date: Wed Aug 12 08:23:28 2009 +0000 bnx2x: Calling pci_set_drvdata earlier In case of error, bnx2x_init_dev calls pci_set_drvdata(pdev, NULL) Signed-off-by: Yitchak Gertner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a18f5128828cd1af8091602f5233b00422e74c9a Author: Eilon Greenstein Date: Wed Aug 12 08:23:26 2009 +0000 bnx2x: Configurable pause scheme When a given ring is running out of space, the FW can send pause towards the network. When working with multi-queues, when one queue is getting out of space it can block all other queues. The preferred scheme is to send pause frames only when running out of the shared internal chip buffers and if a given queue cannot place a packet on the host, it will drop it. Since some users might want to work in drop-less mode, allowing changing the behavior as a module parameter. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a119a069349b6ad32807ff1b09e417cf23514020 Author: Eilon Greenstein Date: Wed Aug 12 08:23:23 2009 +0000 bnx2x: Adding Likely directive Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 619e7a66b515f5f6b1cbe6f378f6a4ca3a65ac52 Author: Eilon Greenstein Date: Wed Aug 12 08:23:20 2009 +0000 bnx2x: Prefetch the page containing the BD descriptor Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6fe49bb978de3de0ba7ff9d6b2d55a15518db2a3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:17 2009 +0000 bnx2x: Reporting host statistics to management FW This is required for NCSI statistics Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit cdea52128f6099e8f84459823c45790a78264022 Author: Eilon Greenstein Date: Wed Aug 12 08:23:14 2009 +0000 bnx2x: Removing old PHY FW upgrade code This code should not have resided in the driver. Now that we have a new interface, this logic can reside in the application that whishes to upgrade the PHY FW Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit f57a60256d02daba1316c98da472f02cd98a58d3 Author: Eilon Greenstein Date: Wed Aug 12 08:23:11 2009 +0000 bnx2x: Supporting PHY FW upgrade There are 3 operations that the driver needs to support to allow applications to access the PHY FW (on top of the MDC/MDIO access). Since those are essentially nvram access commands, adding them to the ethtool -E interface. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 01cd452846c98609dd3efbee0deea050e6706f02 Author: Eilon Greenstein Date: Wed Aug 12 08:23:08 2009 +0000 bnx2x: MDC/MDIO CL45 IOCTLs As suggested by Ben Hutchings , using the MDC/MDIO IOCTL Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 239d686d494f10ecd83a89ddc4e31f9462ca4901 Author: Eilon Greenstein Date: Wed Aug 12 08:23:04 2009 +0000 bnx2x: Adding XAUI CL73 autoneg support Adding CL73 support to the built in PHY in the 5771x device. Also supporting fallbacks to CL73 if the link partner does not respond. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit bc7f0a053021491e292fc00810c4f2a8524453dd Author: Eilon Greenstein Date: Wed Aug 12 08:23:01 2009 +0000 bnx2x: BCM8727 FW load The BCM8727 is a dual port PHY. The FW must be loaded in a given order on all designs - including those which swapped the ports (calling port number zero the second port) Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 97b41dad385bce97d60b8cdd56342f07f93fc5d2 Author: Eilon Greenstein Date: Wed Aug 12 08:22:59 2009 +0000 bnx2x: get_ext_phy_fw_version returns NULL if not applicable To avoid confusion, if the PHY does not have a FW (and so, no FW version) make sure that the string is NULL. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit b1607af526fd408b244c7b32a0c256c1ef163a17 Author: Eilon Greenstein Date: Wed Aug 12 08:22:54 2009 +0000 bnx2x: Reading the FW version of the BCM8481 PHY Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2f9044603c8b9ead9eb4d88e360093b44d362b58 Author: Eilon Greenstein Date: Wed Aug 12 08:22:16 2009 +0000 bnx2x: BCM8481 LED4 instead of LASI The BCM8481 does not generate LASI interrupt for 10M, 100M and 1G link, so we are using LED4 output as the interrupt input to the 57711. This requires some adaptation in the link interrupt routines Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0c593270432035b7b9ba27ee7dd4f32f6feea2e0 Author: Eilon Greenstein Date: Wed Aug 12 08:22:13 2009 +0000 bnx2x: Advertize flow control normally in MF mode Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2691d51d7243560aa0870dadbf5c6b98f647f751 Author: Eilon Greenstein Date: Wed Aug 12 08:22:08 2009 +0000 bnx2x: Supporting Device Control Channel In multi-function mode, the FW can receive special management control commands to set the Min/Max BW and the the function link state Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit a1d58179d1337ff8f8530c9fac8b9e98b2f7761f Author: Eilon Greenstein Date: Wed Aug 12 22:53:55 2009 -0700 bnx2x: Removing old FW files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ca00392cb8f5227c67ff52c656d91a764d022ab9 Author: Eilon Greenstein Date: Wed Aug 12 22:53:28 2009 -0700 bnx2x: Using the new FW The new FW improves the packets per second rate. It required a lot of change in the FW which implies many changes in the driver to support it. It is now also possible for the driver to use a separate MSI-X vector for Rx and Tx - this also add some to the complicity of this change. All things said - after this patch, practically all performance matrixes show improvement. Though Vladislav Zolotarov is not signed on this patch, he did most of the job and deserves credit for that. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 6200f09036ee6f12822a9133dba7ed011b179c69 Author: Eilon Greenstein Date: Wed Aug 12 22:52:50 2009 -0700 bnx2x: New FW files Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 85910a8e9f425656bb7202d0fc62800000ffa262 Author: françois romieu Date: Mon Aug 10 19:45:48 2009 +0000 r8169: phy init for the 8102e Synced with Realtek's 1.013.00 r8101 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 0b9b571d246d1c2621a5e4e5a0fa5cb95e18365d Author: françois romieu Date: Mon Aug 10 19:44:56 2009 +0000 r8169: phy init for the 8169s Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 2e955856ff1212bd63dbbf403940c72eca5b4a8f Author: françois romieu Date: Mon Aug 10 19:44:19 2009 +0000 r8169: phy init for the 8169scd Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 8c7006aa94bea415cd7f8c5fa8df9d3f261bd314 Author: françois romieu Date: Mon Aug 10 19:43:29 2009 +0000 r8169: phy init for the 8169sce Synced with Realtek's 6.011.00 r8169 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 21d57363201857bd8c5c0ad0ebc795134d632195 Author: françois romieu Date: Mon Aug 10 19:42:37 2009 +0000 r8169: differentiate close chipsets in the startup identification message The driver displays the same 0x18000000 xid for RTL_GIGA_MAC_VER_06 and RTL_GIGA_MAC_VER_05 whereas the former ought to be identified as 0x98000000. Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit 5edcc537af1a9810726d1b68ba6c59e5d8d36113 Author: françois romieu Date: Mon Aug 10 19:41:52 2009 +0000 r8169: fix r8101 quirk dupe Noticed by Vincent Pelletier . Signed-off-by: Francois Romieu Cc: Edward Hsu Signed-off-by: David S. Miller commit cb7d9e7f9bedee2928fe5ce95e1d5f1f22c1f2d7 Author: Rémi Denis-Courmont Date: Tue Aug 11 03:12:07 2009 +0000 Phonet: fix /proc/net/phonet with network namespaces seq_open_net() and seq_release() are needed for seq_file_net(). Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 859b1e4ec86840b0d0980f82b626d687be682eb9 Author: Sathya Perla Date: Mon Aug 10 03:43:51 2009 +0000 be2net: clear & notify residual events before destroying event queues Any events rcvd after interrupts are disabled (in the driver unload path), must be cleared and notified before the event queues are destroyed Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit cdab23b7017693c00dd69fa28bcdf5b0434b3838 Author: Sathya Perla Date: Mon Aug 10 03:43:23 2009 +0000 be2net: fix bad queue traversal in be_rx_q_clean() Using "for(tail != head)" to traverse a queue from tail to head fails in the case of a fully filled queue. Use "for(used != 0)" instead. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a8e9179a7de196d37410fd3e9528081f22c70a4e Author: Sathya Perla Date: Mon Aug 10 03:42:43 2009 +0000 be2net: Clear pending tx completions before destroying tx queue Clear pending tx completions in be_close() (ndo.stop method) so that after unregister_netdev() calls be_close(), all tx skbs are freed and there are no more tx completions when txq is destroyed. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit f2341641766af3de18502abb6ac9b98e0e4c6bdb Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:12:38 2009 +0000 net: smc911x: includecheck fix for smc911x.h fix the following 'make includecheck' warning: drivers/net/smc911x.h: mach/dma.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit aed7df86983ead0af8364fd26d8a9609ef2ed584 Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:27:18 2009 +0000 net: include/linux/icmpv6: includecheck fix for icmpv6.h fix the following 'make includecheck' warning: include/linux/icmpv6.h: linux/skbuff.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit d02342151c51344034fbdeceff8effcb0a77c573 Author: Brice Goglin Date: Fri Aug 7 10:44:22 2009 +0000 myri10ge: improve parity error detection and recovery Improve myri10ge parity error detection and recovery: 1) Don't restore PCI config space to a rebooted NIC until AFTER the host is quiescent. 2) Let myri10ge_close() know the NIC is dead, so it won't waste time waiting for a dead nic to respond to MXGEFW_CMD_ETHERNET_DOWN 3) When the NIC is quiet (link down, or otherwise idle link) use a pci config space read to detect a rebooted NIC. Otherwise we might never notice that a NIC rebooted Signed-off-by: Andrew Gallatin Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit c9145a2df072f75d97592ddac1624baeb7bad195 Author: Julia Lawall Date: Sat Aug 8 21:43:42 2009 +0000 drivers/net: Correct use of request_region/request_mem_region request_mem_region should be used with release_mem_region, not request_region. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // @r2@ expression start; @@ request_mem_region(start,...) @b2@ expression r2.start; @@ request_region(start,...) @depends on !b2@ expression r2.start; expression E; @@ - release_region + release_mem_region (start,E) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit bdf50d7346588b22fd66367ae2890e2cbf574172 Author: Jaswinder Singh Rajput Date: Sun Aug 9 03:05:25 2009 +0000 net: pcmcia/axnet_cs: includecheck fix axnet_cs.c fix the following 'make includecheck' warning: drivers/net/pcmcia/axnet_cs.c: linux/etherdevice.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit ab4c0c77b566bbac25e28c7ae487dc02bdd8f343 Author: Jaswinder Singh Rajput Date: Sun Aug 9 02:59:56 2009 +0000 net: cs89x0: includecheck fix for cs89x0.c fix the following 'make includecheck' warning: drivers/net/cs89x0.c: asm/irq.h is included more than once. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David S. Miller commit 582b95c2709cd58913ec2a31b0266ba0aa67b03d Author: Julia Lawall Date: Fri Aug 7 20:47:33 2009 +0000 drivers/net/tokenring: Use status field rather than state field In general in this file, it is the status field, not the state field, that contains values like OPEN and CLOSED. Indeed, in the first error case, it is the field status that is initialized. I have thus assumed that all of the error handling code should be the same, and moved it to the end of the function to emphasize its commonality. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 176edd52366d59350717b0bf6865b1d7ece156cc Author: Julia Lawall Date: Fri Aug 7 21:53:41 2009 +0000 drivres/net: Change constant name In this series of tests the constants have the form XRXMAC_STATUS, except in this one case. The values of XRXMAC_STAT_MSK_RXOCTET_CNT_EXP and XRXMAC_STATUS_RXOCTET_CNT_EXP are furthermore the same. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 798c752b815bd80653dc48b6ffb8eb68ede15a66 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:45 2009 +0000 fakehard: use START-CONFIRM primitive to report START failure Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit acb8aacda3f0bc3aeb652f4365c078a2b0adb0bf Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:44 2009 +0000 nl802154: support START-CONFIRM primitive Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 99eb8558642b988055d2b8b16a334475550f78d3 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:43 2009 +0000 af_ieee802154: add support for WANT_ACK socket option Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 74eda55db4335383ccdd1fb51a7b014202f89366 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:42 2009 +0000 af_ieee802154: minor cleanup in dgram_bind 1) fix ro->bound protection by socket lock 2) make ro->bound bit instead of int Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 8e753dd0a82bd266256c20a20b98dfa48f98d21e Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:40 2009 +0000 nl802154: add support for dumping WPAN interface information Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 48a2f112db5349efb2efadbd94b8cc31a9db84e1 Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:39 2009 +0000 documentation: fix wrt. headers rename Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 78090a58c49f2f6213d0bb1b3b4c4df73e26865f Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:38 2009 +0000 nl802154: make ieee802154_policy constant Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 8505091d2a067ad27d4a82df9cff8eae6ee52fca Author: Dmitry Baryshkov Date: Fri Aug 7 02:58:36 2009 +0000 af_ieee802154: drop IEEE802154_SIOC_ADD_SLAVE declaration IEEE802154_SIOC_ADD_SLAVE was used to allocate 802.15.4 interfaces on the top of radio. It's not used anymore, drop it. Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 6885ffb3a1b4abf731fd0891a2c1544a83c2651d Author: Mark Smith Date: Thu Aug 6 23:21:22 2009 +0000 Use correct NET_RX_* returns for atalk_rcv() In all rx'd SKB cases, atalk_rcv() either eventually jumps to or falls through to the label out:, which returns numeric 0. Numeric 0 corresponds to NET_RX_SUCCESS, which is incorrect in failed SKB cases. This patch makes atalk_rcv() provide the correct returns by: o explicitly returning NET_RX_SUCCESS in the two success cases o having the out: label return NET_RX_DROP, instead of numeric 0 o making the failed SKB labels and processing more consistent with other _rcv() routines in the kernel, simplifying validation and removing a backwards goto Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit b91cd1440870f7a0649e570498b7b93caf9f781c Author: Rémi Denis-Courmont Date: Thu Aug 6 21:56:44 2009 +0000 f_phonet: use page-sized rather than MTU-sized RX buffers Instead of a large (physically) linear buffer, we generate a set of paged sk_buff, so no extra memory copy is involved. This removes high-order allocations and saves quite a bit of memory. Phonet MTU is 65541 bytes, so the two buffers were padded to 128 kilo-bytes each. Now, we create 17 page buffers, almost a 75% memory use reduction. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 5da63cc4b2258e1c06ee41637492717481025143 Author: Rémi Denis-Courmont Date: Thu Aug 6 21:56:43 2009 +0000 f_phonet: lock-less MTU change With the current driver, the MTU is purely indicative, so there is no need to synchronize with the receive path. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit cfcf4738cd6b5d7bed1473acad76d6430cf1fb0a Author: Dave Airlie Date: Thu Aug 13 13:31:54 2009 +1000 drm: fixup include file in drm_encoder_slave Signed-off-by: Dave Airlie commit 4e14dfc722b8e9e07a355f97aa60a3d9f0739071 Author: Matt Fleming Date: Fri Aug 7 16:11:19 2009 +0100 sh: Use the generalized stacktrace ops Copy the stacktrace ops code from x86 and provide a central function for use by functions that need to dump a callstack. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 922b0dc59bb43f7ff3bb8b9558ffeb3ad6af528e Author: Marcin Slusarz Date: Sun Aug 9 19:53:59 2009 +0000 sh: use printk_once Signed-off-by: Marcin Slusarz Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt commit e290861f99131fc42d98012a9ea2dc185f08f8f9 Merge: b4a7573 dbefd60 Author: Paul Mundt Date: Thu Aug 13 11:48:01 2009 +0900 Merge branch 'sh/stable-updates' commit a8ccc393ddcdff2e0288dc459f03d561ae27b51d Author: Christian Kujau Date: Thu Aug 13 11:53:56 2009 +1000 crypto: rng - Fix typo Correct a typo in crypto/rng.c Signed-off-by: Christian Kujau Acked-by: Neil Horman Signed-off-by: Herbert Xu commit 81eb024c7e63f53b871797f6e2defccfd008dcd4 Author: Kim Phillips Date: Thu Aug 13 11:51:51 2009 +1000 crypto: talitos - add support for 36 bit addressing Enabling extended addressing in the h/w requires we always assign the extended address component (eptr) of the talitos h/w pointer. This is for e500 based platforms with large memories. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit 4b992628812137e30cda3510510cf3c052345b30 Author: Kim Phillips Date: Thu Aug 13 11:50:38 2009 +1000 crypto: talitos - align locks on cache lines align channel access locks onto separate cache lines (for performance reasons). This is done by placing per-channel variables into their own private struct, and using the cacheline_aligned attribute within that struct. Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit e41256f139b9148cfa12d2d057fec39e3d181ff0 Author: Kim Phillips Date: Thu Aug 13 11:49:06 2009 +1000 crypto: talitos - simplify hmac data size calculation don't do request->src vs. assoc pointer math - it's the same as adding assoclen and ivsize (just with more effort). Signed-off-by: Kim Phillips Signed-off-by: Herbert Xu commit aa11d958d1a6572eda08214d7c6a735804fe48a5 Merge: 07f6642 9799218 Author: David S. Miller Date: Wed Aug 12 17:44:53 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: arch/microblaze/include/asm/socket.h commit a75f0236292a5fca65f26efedca48bd07db1834d Author: Francisco Jerez Date: Wed Aug 12 02:30:10 2009 +0200 drm: Add more standard TV properties. Overscan, saturation, hue. Used in the nouveau driver for GPUs with integrated TV encoders. Signed-off-by: Francisco Jerez Signed-off-by: Dave Airlie commit 841b4117b30d544690fceb952037b1cddf14783f Author: Francisco Jerez Date: Wed Aug 12 02:30:09 2009 +0200 drm: Fix drm_cvt_mode() for interlaced modes. The calculated vdisplay was half the right value. Signed-off-by: Francisco Jerez Signed-off-by: Dave Airlie commit 07f6642ee9418e962e54cbc07471cfe2e559c568 Author: Cyrill Gorcunov Date: Wed Aug 12 16:39:16 2009 -0700 net,pppoe: fixup module init/exit subsequent calls pernet data should allocated first and freed last on module init/exit routines otherwise it's possible to have unserialized calls to packet handling routines. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit c18bc9b927c98d7324ebd7fce0bbb924696ce7fe Author: Tim Blechmann Date: Wed Aug 12 18:21:30 2009 +0200 ALSA: hdsp - allow proc reporting with disconnected io box the hdsp driver refuses to report any information via the proc interface, if the io box is not connected. with this patch, the content of the control and status registers is printed before the iobox check. Signed-off-by: Tim Blechmann Signed-off-by: Takashi Iwai commit d2a382143b35a486b8089861790d6b3ec4e46932 Author: Mark Brown Date: Wed Aug 12 14:30:33 2009 +0100 ASoC: Update AD1938 for new TDM slot API It's only actually paying attention to the slot count anyway. Signed-off-by: Mark Brown commit 81e2d7b30d718824434725a4a24d5864a71b1d30 Author: H. Peter Anvin Date: Wed Aug 12 05:45:34 2009 -0700 x86, intel_txt: tboot.c needs arch/x86/kernel/tboot.c needs . In most configurations that ends up getting implicitly included, but not in all, causing build failures in some configurations. Reported-by: Ingo Molnar Signed-off-by: H. Peter Anvin Cc: Joseph Cihula Cc: Shane Wang commit 66e274f3b8d7fc89d38997e85b900e188f8d5cc0 Author: Frederic Weisbecker Date: Wed Aug 12 11:07:25 2009 +0200 perf tools: Factorize the map helpers Factorize the dso mapping helpers into a single purpose common file "util/map.c" Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit 1fe2c1066ce6a30bda7b27785ee3d9b8e62ffbbd Author: Frederic Weisbecker Date: Wed Aug 12 10:19:53 2009 +0200 perf tools: Factorize the event structure definitions in a single file Factorize the multiple definition of the events structures into a single util/event.h file. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit cd84c2ac6d6425dd4d1b80a2231e534b9b03df18 Author: Frederic Weisbecker Date: Wed Aug 12 10:03:49 2009 +0200 perf tools: Factorize high level dso helpers Factorize multiple definitions of high level dso helpers into the symbol source file. The side effect is a general export of the verbose and eprintf debugging helpers into a new file dedicated to debugging purposes. Signed-off-by: Frederic Weisbecker Cc: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Brice Goglin commit 25a70e38cd57952b09a013bf070e03705ee4f2ff Author: Daniel Mack Date: Wed Aug 12 00:50:09 2009 -0700 Input: eeti_ts - allow active high irq lines This adds a struct eeti_ts_platform_data which currently holds only one value to specify the interrupt polarity. The driver has a fallback if no platform data is passed in via the i2c_board_info, so no regression is caused. Signed-off-by: Daniel Mack Signed-off-by: Dmitry Torokhov commit 5908589f318835f515bf94829650d36dcb2d9024 Author: Herton Ronaldo Krzesinski Date: Tue Aug 11 22:33:09 2009 -0300 ALSA: hda - fix noise issue when recording from digital mic with alc268 With auto config model of alc268 realtek codec, it allows to select any of possible available digital microphone inputs when only one is available. For example, when only digital mic in nid 0x12 is available, on second input source it will allow you to select unavailable digital mic in nid 0x13. The problem is that selecting unavailable digital mic creates a source of noise when recording (I'm not sure if this happens on all machines with alc268 and only one digital mic input, but testing on a quanta uw1 netbook a lot of noise is introduced in recording from digital mic 0x12/first input source, when you select the unavailable digital mic 0x13 for capture source 0x24 in the second input source in mixer). Then to avoid noise when recording from digital mic with auto model in this case, prevent a digital mic input source to be selected if microphone is not available. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 54a246ff21b543bf3d8d5d064708dc7782403e32 Author: Nicolas Pitre Date: Tue Aug 11 23:28:51 2009 -0400 [ARM] add MAINTAINERS entry for Orion/Kirkwood/etc. Signed-off-by: Nicolas Pitre commit 79dd43bb85d64ba14a781f940c858d7bbe8c9a6d Author: Christoph Hellwig 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 Reviewed-by: Eric Sandeen Reported-by: Johannes Engel Tested-by: Johannes Engel Signed-off-by: Felix Blyakher commit 16715dbe64ccac265010ab8b60848d212d002521 Author: Christoph Hellwig 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 Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Reported-by: Ramon de Carvalho Valle Tested-by: Ramon de Carvalho Valle Signed-off-by: Felix Blyakher commit 583e0e41ee29478e2147aeffeb772657f8db767a Author: Eric Sandeen 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 Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 19007a67a64f9b3cbbd7024f972654ebf14daade Author: Frederic Weisbecker Date: Tue Aug 11 20:22:53 2009 +0200 tracing: Support for syscall events raw records in perfcounters This bring the support for raw syscall events in perfcounters. The arguments or exit value are saved as a raw sample using the PERF_SAMPLE_RAW attribute in a perf counter. Example (for now you must explicitly set the PERF_SAMPLE_RAW flag in perf record): perf record -e syscalls:sys_enter_open -f -F 1 -a perf report -D 0x2cbb8 [0x50]: event: 9 . . ... raw event: size 80 bytes . 0000: 09 00 00 00 02 00 50 00 20 e9 39 ab 0a 7f 00 00 ......P. .9.... . 0010: bc 14 00 00 bc 14 00 00 01 00 00 00 00 00 00 00 ............... . 0020: 2c 00 00 00 15 01 01 00 bc 14 00 00 bc 14 00 00 ,.............. ^ ^ ^ ^ ^ ^ ^ .......................... Event Size struct trace_entry . 0030: 00 00 00 00 46 98 43 02 00 00 00 00 80 08 00 00 ....F.C........ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ptr to file name open flags . 0040: 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ............... ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ . open mode padding 0x2cbb8 [0x50]: PERF_EVENT_SAMPLE (IP, 2): 5308: 0x7f0aab39e920 period: 1 Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Jason Baron Cc: Masami Hiramatsu commit dc4ddb4c0b7348f1c9759ae8a9e7d734dc1cda82 Author: Frederic Weisbecker Date: Tue Aug 11 19:03:54 2009 +0200 tracing: Add fields format definition for syscall events Define the format of the syscall trace fields to parse the binary values from a raw trace using the syscall events "format" file. This is defined dynamically using the syscalls metadata. It prepares the export of syscall event raw records to perf counters. Example: $ cat /debug/tracing/events/syscalls/sys_enter_sched_getparam/format name: sys_enter_sched_getparam ID: 39 format: field:unsigned short common_type; offset:0; size:2; field:unsigned char common_flags; offset:2; size:1; field:unsigned char common_preempt_count; offset:3; size:1; field:int common_pid; offset:4; size:4; field:int common_tgid; offset:8; size:4; field:pid_t pid; offset:12; size:8; field:struct sched_param * param; offset:20; size:8; print fmt: "pid: 0x%08lx, param: 0x%08lx", ((unsigned long)(REC->pid)), ((unsigned long)(REC->param)) Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron commit e8f9f4d79a677f55c8ec3acbe87b33a87e2df0de Author: Frederic Weisbecker Date: Tue Aug 11 17:42:52 2009 +0200 tracing: Add ftrace event call parameter to its field descriptor handler Add the struct ftrace_event_call as a parameter of its show_format() callback. This way we can use it from the syscall trace events to retrieve the syscall name from the ftrace event call parameter and describe its fields using the syscalls metadata. Signed-off-by: Frederic Weisbecker Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Cc: Jason Baron commit 0ac676fb50f5f8a22e5e80afc40bf38e31b77c00 Author: Jason Baron Date: Mon Aug 10 16:53:11 2009 -0400 tracing: Convert x86_64 mmap and uname to use DEFINE_SYSCALL A number of syscalls are not using 'DEFINE_SYSCALL'. I'm not sure why. Convert x86_64 uname and mmap to use DEFINE_SYSCALL. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 48c2e17f1f668fe6691bad965beb2b0b25239c5f Author: Jason Baron Date: Mon Aug 10 16:53:06 2009 -0400 tracing: Add more namespace area to 'perf list' output The new syscall tracepoints names can be too long for the 'perf list' output. Add a few more characters. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit f4b5ffccc83c82947f5d9f15d6f1b6edb1b71cd7 Author: Jason Baron Date: Mon Aug 10 16:53:02 2009 -0400 tracing: Add perf counter support for syscalls tracing The perf counter support is automated for usual trace events. But we have to define specific callbacks for this to handle syscalls trace events Make 'perf stat -e syscalls:sys_enter_blah' work with syscall style tracepoints. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 64c12e0444fcc6b75eb49144ba46d43dbdc6bc8f Author: Jason Baron Date: Mon Aug 10 16:52:53 2009 -0400 tracing: Add individual syscalls tracepoint id support The current state of syscalls tracepoints generates only one event id for every syscall events. This patch associates an id with each syscall trace event, so that we can identify each syscall trace event using the 'perf' tool. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit fb34a08c3469b2be9eae626ccb96476b4687b810 Author: Jason Baron Date: Mon Aug 10 16:52:47 2009 -0400 tracing: Add trace events for each syscall entry/exit Layer Frederic's syscall tracer on tracepoints. We create trace events via hooking into the SYSCALL_DEFINE macros. This allows us to individually toggle syscall entry and exit points on/off. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 69fd4f0eb2ececbf8ade55e31a933e174965745e Author: Jason Baron Date: Mon Aug 10 16:52:44 2009 -0400 tracing: Add ftrace_event_call void * 'data' field add an optional void * pointer to 'ftrace_event_call' that is passed in for regfunc and unregfunc. This prepares for syscall tracepoints creation by passing the name of the syscall we want to trace and then retrieve its number through our arch syscall table. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit f744bd576a827c5b02e756b81fc2578edf8179b8 Author: Jason Baron Date: Mon Aug 10 16:52:39 2009 -0400 tracing: Raw_init() bailout in trace event register fail case Allow the return value of raw_init() trace event callback to bail us out of creating a trace event file, in case we fail to register our event. Also, we plan to return -ENOSYS for syscall events that don't match any syscalls listed in our arch tracing syscall table, we don't want to warn in that case, we just want this event to be invisible in debugfs and ignored. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 9daa77e2e9a6b8b859660d5e24d0f8cd77c2af39 Author: Jason Baron Date: Mon Aug 10 16:52:35 2009 -0400 tracing: Update FTRACE_SYSCALL_MAX update FTRACE_SYSCALL_MAX to the current number of syscalls FTRACE_SYSCALL_MAX is a temporary solution to get the number of syscalls supported by the arch until we find a more dynamic way to get this number. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit a871bd33a6c0bc86fb47cd02ea2650dd43d3d95f Author: Jason Baron Date: Mon Aug 10 16:52:31 2009 -0400 tracing: Add syscall tracepoints add two tracepoints in syscall exit and entry path, conditioned on TIF_SYSCALL_FTRACE. Supports the syscall trace event code. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 63fbdab3157b72467013fe4dcf88c85e45280ef7 Author: Jason Baron Date: Mon Aug 10 16:52:27 2009 -0400 tracing: Add DECLARE_TRACE_WITH_CALLBACK() macro Introduce a new 'DECLARE_TRACE_WITH_CALLBACK()' macro, so that tracepoints can associate an external register/unregister function. This prepares for the syscalls tracer conversion to trace events. We will need to perform arch level operations once a syscall event is turned on/off, such as TIF flags setting, hence the need of such specific callbacks. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 066e0378c23f0a3db730893f6a041e4a3922a385 Author: Jason Baron Date: Mon Aug 10 16:52:23 2009 -0400 tracing: Call arch_init_ftrace_syscalls at boot Call arch_init_ftrace_syscalls at boot, so we can determine early the set of syscalls for the syscall trace events. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit eeac19a7efa150231e4a6bb110d6f27500bcc8ce Author: Jason Baron Date: Mon Aug 10 16:52:13 2009 -0400 tracing: Map syscall name to number Add a new function to support translating a syscall name to number at runtime. This allows the syscall event tracer to map syscall names to number. Signed-off-by: Jason Baron Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Peter Zijlstra Cc: Mathieu Desnoyers Cc: Jiaying Zhang Cc: Martin Bligh Cc: Li Zefan Cc: Masami Hiramatsu Signed-off-by: Frederic Weisbecker commit 7770841e63730d62928b0879498064e9614b2ce0 Author: Zhaolei Date: Fri Aug 7 18:53:21 2009 +0800 tracing: Rename set_tracer_flags()'s local variable trace_flags set_tracer_flags() have a local variable named trace_flags which has the same name than a global one in the same scope. This leads to confusion, using tracer_flags should be better by its meaning. Changelog: v1->v2: Simplified another patch in this patchset, no change in this patch. Signed-off-by: Zhao Lei Cc: Steven Rostedt Cc: Li Zefan Signed-off-by: Frederic Weisbecker commit 4f5d17062085ee1c74ff44a37ffb09f94ab4db1c Author: Takashi Iwai Date: Tue Aug 11 18:17:46 2009 +0200 ALSA: hda - Clean up init and setup hooks for Realtek codecs Move static codes to setup from init_hook for each model. Also, use the common auto-mic selection helper for devices that support auto-mic selection. They just need to set up ext_mic, int_mic and auto_mic flag in the setup section. Signed-off-by: Takashi Iwai commit 7509ee34a365c041718d0b676e5ee255b58b5dda Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 5a25f1abb26f5ab7c6c72fe0b3807c137ee484bb Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f56ebd66df411446030e2cc820554c6ce4ba0836 Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 837273b8a150a3761467573c5eb477791cf19268 Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ea78cd5e6b6ebe123641382d5040252d19829332 Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit eeb6f67ba1176a141b6802b2ec8505835482f631 Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 0043dd88af762d3a9154317d351400b5b941ec8d Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit e0026beac0f1a6253488478b3f022ff243b012b9 Author: Mark Brown Date: Tue Aug 11 16:28:39 2009 +0100 ASoC: Update WM9081 for tdm_slot() API change Store the TDM slot width then if it's set use that rather than the sample size to calculate BCLK. Leave imposing constraints to the core (which should do this but doesn't yet) or machine driver. Also allow 0 TDM slots to be configure (for use when disabling TDM). Signed-off-by: Mark Brown commit 1ec2b8a777d6ac5464a836b3c5520b1a5190194c Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit efe1f30e8f05a3836dfcf6302774707b3b47193f Author: Christoph Hellwig 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 Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit e9c364c04f59f7fb250f9689198eaa59872cf8af Author: Takashi Iwai Date: Tue Aug 11 17:16:13 2009 +0200 ALSA: hda - Add setup hook to ALC preset struct Added setup hook to ALC preset struct to be called at in the parser but not at each init callback. This can be used for setting up the static pins, etc, while the init hook should be used for updating the status again. Signed-off-by: Takashi Iwai commit 4d8e22e0f6aacb365db2cb9bf69e38310b37f418 Author: Takashi Iwai Date: Tue Aug 11 14:21:26 2009 +0200 ALSA: hda - Add a white-list for MSI option Created a white-list to enable MSI since some devices require MSI explicitly due to BIOS/ACPI problems. Simply using a quirk list. As the first case, take HP Compaq CQ40. Reference: Novell bnc#529971 https://bugzilla.novell.com/show_bug.cgi?id=529971 Signed-off-by: Takashi Iwai commit 89034bc2c7b839702c00a704e79d112737f98be0 Merge: fb82ad7 85dfd81 Author: Ingo Molnar Date: Tue Aug 11 14:19:09 2009 +0200 Merge branch 'linus' into tracing/core Conflicts: kernel/trace/trace_events_filter.c We use the tracing/core version. Signed-off-by: Ingo Molnar commit 1921bab217c2c21e4b8dc78332f6ae11515fc014 Merge: 17244c2 a5479e3 Author: Mark Brown Date: Tue Aug 11 13:09:27 2009 +0100 Merge commit 'a5479e389e989acfeca9c32eeb0083d086202280' into for-2.6.32 commit 17244c24f95ba61a12b6afeab5780a1e3f1a4c57 Author: Randy Dunlap Date: Mon Aug 10 16:04:39 2009 -0700 ASoC: fix I2C build errors Fix soc build errors when I2C is built as a loadable module: (.text+0x5d26b): undefined reference to `i2c_master_send' soc-cache.c:(.text+0x5d32d): undefined reference to `i2c_transfer' Signed-off-by: Randy Dunlap Signed-off-by: Mark Brown commit b59bdf3b0ca11bfc6a539012431d751deaa65b32 Author: Takashi Iwai Date: Tue Aug 11 09:47:30 2009 +0200 ALSA: hda - Check connectivity for auto-mic of Realtek codecs Some Realtek codecs don't provide the full connections for certain pins from each ADC; e.g. ACL662/ALC272 gives only one of two digital-mic pins for each ADC. Thus, depending on the digital mic pin, the ADC/MUX to be used has to be chosen properly. This patch adds the check of the connectivity of pins at auto-mic mode. If no proper connectivity is found, auto_mic flag is turned off to be sure. Also the mux_idx is determined during this check so it won't be checked in the unsol event any more. Signed-off-by: Takashi Iwai commit 52b5deefbbd7493092b1cbc35da09e0e2ad46cca Merge: 2a22d3f dd70469 Author: Takashi Iwai Date: Tue Aug 11 08:47:38 2009 +0200 Merge branch 'fix/hda' into topic/hda commit f1e6d3c5cf86675e54a17a89668aa6685d2ef59d Author: Takashi Iwai Date: Tue Aug 11 08:15:04 2009 +0200 ALSA: usb-audio - Fix types taken in min() Fix the compile warning due to different integer types used in min(): sound/usb/usbaudio.c: In function 'init_substream_urbs': sound/usb/usbaudio.c:1087: warning: comparison of distinct pointer types lacks a cast Signed-off-by: Takashi Iwai commit 8b4bfc7feb005d84e2bd0831d8331a304e9d6483 Merge: 896a6de 85dfd81 Author: James Morris Date: Tue Aug 11 08:33:01 2009 +1000 Merge branch 'master' into next commit decf77079511fc5ef832ead074bb45e4e0b099c0 Author: Ron Lee Date: Mon Aug 10 18:23:48 2009 +0530 [ARM] Kirkwood: Initialise SATA for OpenRD-Base Signed-off-by: Ron Lee Signed-off-by: Dhaval Vasa Signed-off-by: Nicolas Pitre commit 7eeae54c68e91c46ec170e764d1cceac81f35969 Author: Dhaval Vasa Date: Mon Aug 10 17:37:34 2009 +0530 [ARM] Kirkwood: Marvell OpenRD-Base board support reference: http://open-rd.org http://code.google.com/p/openrd This patch is tested for: 1. Boot from DRAM/NAND flash 2. NAND read/write/erase 3. GbE0 4. USB read/write FIXME: 1. SD/UART1 selection 2. MPP configuration (currently, default) 3. PEX Signed-off-by: Dhaval Vasa Signed-off-by: Nicolas Pitre commit 7153c360ebe5bcfb1e6b7980b90584c75c8c8e4d Author: Lennert Buytenhek Date: Mon Aug 3 16:25:12 2009 +0200 ¶ARM] Orion5x: fix cpu window mapping for 88f6183 On the 88f6183, orion5x's setup_cpu_win() fails to ever program any mbus bridge remap registers, which causes transactions for PCI/PCIe IO/MEM space to get sent to random mbus targets. Adding a check for the 6183 in orion5x_cpu_win_can_remap() is necessary and sufficient to make PCIe wlan cards work on the 6183 reference design. Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit aec1bad326a99a8b0860fa9d518985ee388c9391 Author: Siddarth Gore Date: Tue Jun 9 14:41:02 2009 +0530 [ARM] Kirkwood: Add support for 6281-A1 Signed-off-by: Siddarth Gore Signed-off-by: Nicolas Pitre commit 8f2208601f81b505710b0d13dbd80b687ccbca60 Author: Simon Guinot Date: Mon Jun 22 21:45:01 2009 +0200 [ARM] orion5x: Add LaCie NAS d2Network support This patch add support for the d2 Network and the Big Disk Network LaCie boards. Signed-off-by: Simon Guinot Acked-by: Christopher Moore Signed-off-by: Nicolas Pitre commit f884dcaead5f17bf586ac5fe6a3ad07b5203616a Merge: 976a6f9 8854e82 Author: Trond Myklebust Date: Mon Aug 10 17:45:58 2009 -0400 Merge branch 'sunrpc_cache-for-2.6.32' into nfs-for-2.6.32 commit 976a6f921cad26651d25e73826c05c7a023f5fa4 Merge: e576e05 c05988c Author: Trond Myklebust Date: Mon Aug 10 17:45:50 2009 -0400 Merge branch 'patches_cel-for-2.6.32' into nfs-for-2.6.32 commit dcbf77cac640af0ab944d5cbb07934bf6708b4d9 Merge: c00aafc 85dfd81 Author: Rafael J. Wysocki Date: Mon Aug 10 23:40:50 2009 +0200 Merge branch 'master' into for-linus commit bf783f9f7d33576815bc89f9f1856a7309ea2f17 Author: Huang Ying Date: Fri Jul 31 09:41:43 2009 +0800 x86, mce: Fake panic support for MCE testing If "fake panic" mode is turned on, just log panic message instead of go real panic. This is used for testing only, so that the test suite can check for the correct panic message and do regression testing for MCE would go panic. This patch is based on x86-tip.git/mce. ChangeLog: v5: - Rebased on x86-tip.git/mce v4: - Move config file from sysfs to debugfs Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit 5be9ed251f58881dfc3dd6742a81ff9ad1a7bb04 Author: Huang Ying Date: Fri Jul 31 09:41:42 2009 +0800 x86, mce: Move debugfs mce dir creating to mce.c Because more debugfs files under mce dir will be create in mce.c. ChangeLog: v5: - Rebased on x86-tip.git/mce Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit 0dcc66851f1091af421416c28a9458836885f522 Author: Huang Ying Date: Fri Jul 31 09:41:41 2009 +0800 x86, mce: Support specifying raise mode for software MCE injection Raise mode include raising as exception or raising as poll, it is specified via the mce.inject_flags field. This can be used to specify raise mode of UCNA, which is UC error but raised not as exception. And this can be used to test the filter code of poll handler or exception handler too. For example, enforce a poll raise mode for a fatal MCE. ChangeLog: v2: - Re-base on latest x86-tip.git/mce3 Signed-off-by: Huang Ying Signed-off-by: H. Peter Anvin commit 5b7e88edc6193f36941bccbfd5ed9ed5fe27d2e1 Author: Huang Ying Date: Fri Jul 31 09:41:40 2009 +0800 x86, mce: Support specifying context for software mce injection The cpu context is specified via the new mce.inject_flags fields. This allows more realistic machine check testing in different situations. "RANDOM" context is implemented via NMI broadcasting to add randomization to testing. AK: Fix NMI broadcasting check. Fix 32-bit building. Some race fixes. Move to module. Various changes ChangeLog: v3: - Re-based on latest x86-tip.git/mce4 - Fix 32-bit building v2: - Re-base on latest x86-tip.git/mce3 Signed-off-by: Huang Ying Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 2a22d3f81283253ab9dae9244f3ca58a5ac66b36 Author: Takashi Iwai Date: Mon Aug 10 18:54:38 2009 +0200 ALSA: hda - Use only one capture stream for auto-mic When the auto-mic feature is enabled, we should support only one capture stream. Signed-off-by: Takashi Iwai commit 6c8194922739138f046a4d0924519dd43b48e1f3 Author: Takashi Iwai Date: Mon Aug 10 18:47:44 2009 +0200 ALSA: hda - Add auto-mic support for Realtek codecs Added the support for automatic mic selection via plugging for Realtek codecs (in auto-probing mode). The auto-mic mode is enabled only when one internal mic and one external mic are present. Signed-off-by: Takashi Iwai commit dc05a564ab1b3a1957927da50912964b61f7da69 Merge: be39ee1 e2fe35c Author: Patrick McHardy Date: Mon Aug 10 17:14:59 2009 +0200 Merge branch 'master' of git://dev.medozas.de/linux commit 9f8666971185b86615a074bcac67c90fdf8af8bc Author: Brice Goglin Date: Mon Aug 10 15:26:32 2009 +0200 perf report: Add raw displaying of per-thread counters If --pretty=raw is given to perf report -T, it now displays one line per-thread per-counter with the raw event id added. We get: # PID TID Name Raw Count 18608 18609 cache-misses 28e 416744 18608 18609 cache-references 28f 6456792 18608 18608 cache-misses 28e 448219 18608 18608 cache-references 28f 7270244 instead of: # PID TID cache-misses cache-references 18608 18609 416744 6456792 18608 18608 448219 7270244 Signed-off-by: Brice Goglin Acked-by: Peter Zijlstra LKML-Reference: <4A802008.5050409@inria.fr> Signed-off-by: Ingo Molnar commit e576e05a73bc1a00cdf56630942dbada1bf280a1 Author: Bartlomiej Zolnierkiewicz Date: Mon Aug 10 08:54:16 2009 -0400 nfs: remove superfluous BUG_ON()s Subject: [PATCH] nfs: remove superfluous BUG_ON()s Remove duplicated BUG_ON()s from nfs[4]_create_server() (we make the same checks earlier in both functions). This takes care of the following entries from Dan's list: fs/nfs/client.c +1078 nfs_create_server(47) warning: variable derefenced before check 'server->nfs_client' fs/nfs/client.c +1079 nfs_create_server(48) warning: variable derefenced before check 'server->nfs_client->rpc_ops' fs/nfs/client.c +1363 nfs4_create_server(43) warning: variable derefenced before check 'server->nfs_client' fs/nfs/client.c +1364 nfs4_create_server(44) warning: variable derefenced before check 'server->nfs_ Reported-by: Dan Carpenter Cc: corbet@lwn.net Cc: eteo@redhat.com Cc: Julia Lawall Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Trond Myklebust commit 38c73044f5f4da2ef4339319b170e5e19f8dec87 Author: Peter Staubach Date: Mon Aug 10 08:54:16 2009 -0400 NFS: read-modify-write page updating Hi. I have a proposal for possibly resolving this issue. I believe that this situation occurs due to the way that the Linux NFS client handles writes which modify partial pages. The Linux NFS client handles partial page modifications by allocating a page from the page cache, copying the data from the user level into the page, and then keeping track of the offset and length of the modified portions of the page. The page is not marked as up to date because there are portions of the page which do not contain valid file contents. When a read call comes in for a portion of the page, the contents of the page must be read in the from the server. However, since the page may already contain some modified data, that modified data must be written to the server before the file contents can be read back in the from server. And, since the writing and reading can not be done atomically, the data must be written and committed to stable storage on the server for safety purposes. This means either a FILE_SYNC WRITE or a UNSTABLE WRITE followed by a COMMIT. This has been discussed at length previously. This algorithm could be described as modify-write-read. It is most efficient when the application only updates pages and does not read them. My proposed solution is to add a heuristic to decide whether to do this modify-write-read algorithm or switch to a read- modify-write algorithm when initially allocating the page in the write system call path. The heuristic uses the modes that the file was opened with, the offset in the page to read from, and the size of the region to read. If the file was opened for reading in addition to writing and the page would not be filled completely with data from the user level, then read in the old contents of the page and mark it as Uptodate before copying in the new data. If the page would be completely filled with data from the user level, then there would be no reason to read in the old contents because they would just be copied over. This would optimize for applications which randomly access and update portions of files. The linkage editor for the C compiler is an example of such a thing. I tested the attached patch by using rpmbuild to build the current Fedora rawhide kernel. The kernel without the patch generated about 269,500 WRITE requests. The modified kernel containing the patch generated about 261,000 WRITE requests. Thus, about 8,500 fewer WRITE requests were generated. I suspect that many of these additional WRITE requests were probably FILE_SYNC requests to WRITE a single page, but I didn't test this theory. The difference between this patch and the previous one was to remove the unneeded PageDirty() test. I then retested to ensure that the resulting system continued to behave as desired. Thanx... ps Signed-off-by: Peter Staubach Signed-off-by: Trond Myklebust commit 074cc1deec5dee63fcd5d966b36fa4f3765b50fc Author: Trond Myklebust Date: Mon Aug 10 08:54:13 2009 -0400 NFS: Add a ->migratepage() aop for NFS Make NFS a bit more friendly to NUMA and memory hot removal... Signed-off-by: Trond Myklebust commit 93fe4483e6fd3e71d17cd919de14b3b1f9eb3795 Author: Tejun Heo Date: Thu Aug 6 18:14:26 2009 +0900 sound: make OSS device number claiming optional and schedule its removal If any OSS support is enabled, regardless of built-in or module, sound_core claims full OSS major number (that is, the old 0-255 region) to trap open attempts and request sound modules using custom module aliases. This feature is redundant as chrdev already has such mechanism. This preemptive claiming prevents alternative OSS implementation. The custom module aliases are scheduled to be removed and the previous patch made soundcore emit the standard chrdev aliases too to help transition. This patch schedule the feature for removal in a year and makes it optional so that developers and distros can try new things in the meantime without rebuilding the kernel. The pre-claiming can be turned off by using SOUND_OSS_CORE_PRECLAIM and/or kernel parameter soundcore.preclaim_oss. As this allows sound minors to be individually grabbed by other users, this patch updates sound_insert_unit() such that if registering individual device region fails, it tries the next available slot. For details on removal plan, please read the entry added by this patch in feature-removal-schedule.txt . Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Takashi Iwai commit e0c48a18f76415d3ec1ac28e5f7a0df10e2f3d8c Author: Mark Brown Date: Mon Aug 10 12:59:29 2009 +0100 ASoC: Drop unneeded declaration of removed wm8731 SPI write function Signed-off-by: Mark Brown commit 0a848680a82e47854347cdfecbe9adf8842719e6 Author: Tejun Heo Date: Thu Aug 6 18:13:58 2009 +0900 sound: request char-major-* module aliases for missing OSS devices Till now missing OSS devices emitted sound-slot/service-* module alises instead of the standard char-major-* if a missing device number is opened if soundcore is loaded. The custom module aliases don't have any inherent benefit than backward compatibility. sound-slot/service-* module aliases is scheduled to be removed and to help the transition this patch makes soundcore emit the standard module alises along with the custom ones. Signed-off-by: Tejun Heo Cc: Alan Cox Signed-off-by: Takashi Iwai commit 1905b1bfc0de6f69a61dc03cac0d86a04b3216bd Author: Tejun Heo Date: Thu Aug 6 18:13:23 2009 +0900 chrdev: implement __[un]register_chrdev() [un]register_chrdev() assume minor range 0-255. This patch adds __ prefixed versions which take @minorbase and @count explicitly. Signed-off-by: Tejun Heo Cc: Al Viro Cc: Greg Kroah-Hartman Signed-off-by: Takashi Iwai commit e2fe35c17fed62d4ab5038fa9bc489e967ff8416 Author: Jan Engelhardt Date: Sat Jul 18 15:22:30 2009 +0200 netfilter: xtables: check for standard verdicts in policies This adds the second check that Rusty wanted to have a long time ago. :-) Base chain policies must have absolute verdicts that cease processing in the table, otherwise rule execution may continue in an unexpected spurious fashion (e.g. next chain that follows in memory). Signed-off-by: Jan Engelhardt commit 90e7d4ab5c8b0c4c2e00e4893977f6aeec0f18f1 Author: Jan Engelhardt Date: Thu Jul 9 22:54:53 2009 +0200 netfilter: xtables: check for unconditionality of policies This adds a check that iptables's original author Rusty set forth in a FIXME comment. Underflows in iptables are better known as chain policies, and are required to be unconditional or there would be a stochastical chance for the policy rule to be skipped if it does not match. If that were to happen, rule execution would continue in an unexpected spurious fashion. Signed-off-by: Jan Engelhardt commit a7d51738e757c1ab94595e7d05594c61f0fb32ce Author: Jan Engelhardt Date: Sat Jul 18 14:52:58 2009 +0200 netfilter: xtables: ignore unassigned hooks in check_entry_size_and_hooks The "hook_entry" and "underflow" array contains values even for hooks not provided, such as PREROUTING in conjunction with the "filter" table. Usually, the values point to whatever the next rule is. For the upcoming unconditionality and underflow checking patches however, we must not inspect that arbitrary rule. Skipping unassigned hooks seems like a good idea, also because newinfo->hook_entry and newinfo->underflow will then continue to have the poison value for detecting abnormalities. Signed-off-by: Jan Engelhardt commit 47901dc2c4a3f1f9af453486a005d31fe9b393f0 Author: Jan Engelhardt Date: Thu Jul 9 23:00:19 2009 +0200 netfilter: xtables: use memcmp in unconditional check Instead of inspecting each u32/char open-coded, clean up and make use of memcmp. On some arches, memcmp is implemented as assembly or GCC's __builtin_memcmp which can possibly take advantages of known alignment. Signed-off-by: Jan Engelhardt commit e5afbba1869a5d9509c61f8962be9bdebf95f7d3 Author: Jan Engelhardt Date: Wed Jul 8 12:33:10 2009 +0200 netfilter: iptables: remove unused datalen variable Signed-off-by: Jan Engelhardt commit 98d89b4198cf7273968e9217a62ec7ccfd760171 Author: Jan Engelhardt Date: Sun Jul 5 15:55:06 2009 +0200 netfilter: xtables: realign struct xt_target_param This commit gets rid of a padding hole as reported by pahole(1). Saves 8 bytes on x86_64. Signed-off-by: Jan Engelhardt commit f88e6a8a50a603f8347343e75d035889784a507c Author: Jan Engelhardt Date: Sat Jun 13 06:25:44 2009 +0200 netfilter: xtables: switch table AFs to nfproto Signed-off-by: Jan Engelhardt commit 24c232d8e911ef6189e02da411dc2b72cb03bfcf Author: Jan Engelhardt Date: Sat Jun 13 06:20:29 2009 +0200 netfilter: xtables: switch hook PFs to nfproto Signed-off-by: Jan Engelhardt commit 57750a22ed022ed6fcdcc5bc58d16011ccfe575f Author: Jan Engelhardt Date: Sat Jun 13 06:22:18 2009 +0200 netfilter: conntrack: switch hook PFs to nfproto Simple substitution to indicate that the fields indeed use the NFPROTO_ space. Signed-off-by: Jan Engelhardt commit 93bb1e9d117bfc60306b2b8bd9e0fa7ba3c88636 Author: Jan Engelhardt Date: Fri Jun 12 19:47:21 2009 +0200 netfilter: xtables: remove redirecting header files When IPv4 and IPv6 matches were unified approx. 3.5 years ago, they received new header filenames (e.g. xt_CLASSIFY.h). Let's remove the old ones now. Signed-off-by: Jan Engelhardt commit 6461caed83412ae3e9a16785ffa64396fb66c6a6 Author: Jan Engelhardt Date: Fri Jun 12 19:46:26 2009 +0200 netfilter: xtables: remove xt_owner v0 Superseded by xt_owner v1 (v2.6.24-2388-g0265ab4). Signed-off-by: Jan Engelhardt commit 5e8e7c38533a8f86626e9410fa38f5854a6959df Author: Clemens Ladisch Date: Mon Aug 10 10:05:23 2009 +0200 sound: fix OSS MIDI output data loss In the 2.1.6 kernel, the output loop in midi_poll() was changed to enable interrupts during the outputc() call. Unfortunately, the check whether the device has accepted the current byte ("ok") was moved behind the code that removes the byte from the output queue, so one byte would be lost every time the hardware FIFO is full. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 6e2efaacb3579fd9643d0dc59963b58b801c03a1 Author: Clemens Ladisch Date: Mon Aug 10 10:06:53 2009 +0200 sound: ymfpci: increase timer resolution to 96 kHz Allow the interval timer to be programmed with its full 96 kHz precision. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 765e8db078e63fdc076fcf6024c15d3b7b955746 Author: Clemens Ladisch Date: Mon Aug 10 10:07:35 2009 +0200 sound: usb-audio: do not make URBs longer than sync packet interval Using more packets in one URB do avoid interrupts does not make sense when we have a sync pipe whose packets generate interrupts more often. Therefore, limit the URB size to the synchronization packet interval. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4725c7287ef2c4340cb433f59e40d143c1f43c22 Author: Jan Engelhardt Date: Fri Jun 12 19:02:27 2009 +0200 netfilter: xtables: remove xt_mark v0 Superseded by xt_mark v1 (v2.6.24-2922-g17b0d7e). Signed-off-by: Jan Engelhardt commit 36d4084dc8eb7a9a3655a2041097a46aff3061e9 Author: Jan Engelhardt Date: Fri Jun 12 18:58:19 2009 +0200 netfilter: xtables: remove xt_iprange v0 Superseded by xt_iprange v1 (v2.6.24-2928-g1a50c5a1). Signed-off-by: Jan Engelhardt commit 9e05ec4b1804a1ba51f61fe169aef9b86edcd3f7 Author: Jan Engelhardt Date: Fri Jun 12 18:56:14 2009 +0200 netfilter: xtables: remove xt_conntrack v0 Superseded by xt_conntrack v1 (v2.6.24-2921-g64eb12f). Signed-off-by: Jan Engelhardt commit 84899a2b9adaf6c2e20d198d7c24562ce6b391d8 Author: Jan Engelhardt Date: Fri Jun 12 18:50:33 2009 +0200 netfilter: xtables: remove xt_connmark v0 Superseded by xt_connmark v1 (v2.6.24-2919-g96e3227). Signed-off-by: Jan Engelhardt commit c8001f7fd5a4684280fddceed9fae9ea2e4fb521 Author: Jan Engelhardt Date: Fri Jun 12 18:47:32 2009 +0200 netfilter: xtables: remove xt_MARK v0, v1 Superseded by xt_MARK v2 (v2.6.24-2918-ge0a812a). Signed-off-by: Jan Engelhardt commit e973a70ca033bfcd4d8b59d1f66bfc1e782e1276 Author: Jan Engelhardt Date: Fri Jun 12 18:42:12 2009 +0200 netfilter: xtables: remove xt_CONNMARK v0 Superseded by xt_CONNMARK v1 (v2.6.24-2917-g0dc8c76). Signed-off-by: Jan Engelhardt commit 7cd1837b5d24417eca667d674a97bea936849785 Author: Jan Engelhardt Date: Fri Jun 12 18:36:33 2009 +0200 netfilter: xtables: remove xt_TOS v0 Superseded by xt_TOS v1 (v2.6.24-2396-g5c350e5). Signed-off-by: Jan Engelhardt commit d5c9c8912a25550f2b6a0974667eb968fe6a316e Merge: da2a2aa 100d5eb Author: Takashi Iwai Date: Mon Aug 10 11:58:09 2009 +0200 Merge branch 'fix/hda' into topic/hda commit c7425314c755d5f94da7c978205c85a7c6201212 Author: Akinobu Mita Date: Sun Aug 9 17:03:52 2009 +0900 x86: Introduce GDT_ENTRY_INIT(), initialize bad_bios_desc statically Fully initialize bad_bios_desc statically instead of doing some fields statically and some dynamically. Suggested-by: "H. Peter Anvin" Signed-off-by: Akinobu Mita LKML-Reference: <20090809080350.GA4765@localhost.localdomain> Signed-off-by: Ingo Molnar commit be39ee11cd1f67b51ac8e71d177a981eb34f2ab2 Author: Tobias Klauser Date: Mon Aug 10 10:10:55 2009 +0200 netfilter: ebtables: Use %pM conversion specifier ebt_log uses its own implementation of print_mac to print MAC addresses. This patch converts it to use the %pM conversion specifier for printk. Signed-off-by: Tobias Klauser Signed-off-by: Patrick McHardy commit 549812799c8495451e71ebd9f6a862b33120a35a Author: Rafael Laufer Date: Mon Aug 10 10:08:27 2009 +0200 netfilter: nf_conntrack: add SCTP support for SO_ORIGINAL_DST Signed-off-by: Patrick McHardy commit 451d7400a34cb679369e337d67f0238ed410f484 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:17 2009 +0900 sparc: Add CONFIG_DMA_API_DEBUG support All we need to do for CONFIG_DMA_API_DEBUG support is call dma_debug_init() in DMA code common for SPARC32 and SPARC64. Now SPARC32 uses two dma_map_ops structures for pci and sbus so there is not much dma stuff for SPARC32 in kernel/dma.c. kernel/ioport.c also includes dma stuff for SPARC32. So let's put all the dma stuff for SPARC32 in kernel/ioport.c and make kernel/dma.c common for SPARC32 and SPARC64. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-9-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit ee664a9252d24ef10317d1bba8fc8f4c6495b36c Author: FUJITA Tomonori Date: Mon Aug 10 11:53:16 2009 +0900 sparc: Use asm-generic/pci-dma-compat This converts SPARC to use asm-generic/pci-dma-compat instead of the homegrown mechnism. SPARC32 has two dma_map_ops structures for pci and sbus (removing arch/sparc/kernel/dma.c, PCI and SBUS DMA accessor). The global 'dma_ops' is set to sbus_dma_ops and get_dma_ops() returns pci32_dma_ops for pci devices so we can use the appropriate dma mapping operations. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-8-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit c2c07dbd8742a26ab3f1ee8b82237a060a0d9f61 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:15 2009 +0900 sparc: Replace sbus_map_single and sbus_unmap_single with sbus_map_page and sbus_unmap_page This is a preparation for using asm-generic/pci-dma-compat.h; SPARC32 has two dma_map_ops structures for pci and sbus (removing arch/sparc/kernel/dma.c, PCI and SBUS DMA accessor). Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-7-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 595cc8560783ea31ed1208dc1f97282a2a5606b7 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:14 2009 +0900 sparc: Remove no-op dma_4v_sync_single_for_cpu and dma_4v_sync_sg_for_cpu Now sparc uses include/asm-generic/dma-mapping-common.h. pci_sun4v.c doesn't need to have no-op dma_4v_sync_single_for_cpu and dma_4v_sync_sg_for_cpu (dma-mapping-common.h does nothing if sync_{single|sg}_for_cpu hook is not defined). So we can remove them safely. Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-6-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit 02f7a18935eef0e56d9180fc3c35da6aad1ff3bb Author: FUJITA Tomonori Date: Mon Aug 10 11:53:13 2009 +0900 sparc: Use asm-generic/dma-mapping-common.h Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-5-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit bc0a14f154069cc4e42ea903c2c2b9984a94e4b7 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:12 2009 +0900 sparc: Use dma_map_ops struct Signed-off-by: FUJITA Tomonori Tested-by: Robert Reif Acked-by: David S. Miller Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-4-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit be02ff9940c0106dea1470462401a07c5d52e086 Author: FUJITA Tomonori Date: Mon Aug 10 11:53:11 2009 +0900 IA64: Remove NULL flush_write_buffers flush_write_buffers() in dma-mapping-common.h was removed so we can remove NULL flush_write_buffers() in IA64. Signed-off-by: FUJITA Tomonori Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com Cc: davem@davemloft.net LKML-Reference: <1249872797-1314-3-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit a8ad568dd8ca122aa8048ea067d3599820d1c1b4 Author: Arnd Bergmann Date: Mon Aug 10 11:53:10 2009 +0900 dma-ops: Remove flush_write_buffers() in dma-mapping-common.h This moves flush_write_buffers() in asm-generic/dma-mapping-common.h to arch/x86/kernel/pci-nommu.c. The purpose of this patch is that, we can avoid defining NULL flush_write_buffers() on IA64 and SPARC. dma-mapping-common.h is used by X86 and IA64 (and SPARC soon) but only X86 with CONFIG_X86_OOSTORE or CONFIG_X86_PPRO_FENCE actually uses flush_write_buffers(). CONFIG_X86_OOSTORE or CONFIG_X86_PPRO_FENCE is usable with only kernel/pci-nommu.c (that is, not usable with other X86 IOMMU implementations such as SWIOTLB, VT-d, etc) so we can safely move flush_write_buffers() in asm-generic/dma-mapping-common.h to arch/x86/kernel/pci-nommu.c. The further discussion is: http://lkml.org/lkml/2009/6/28/104 Signed-off-by: Arnd Bergmann Acked-by: FUJITA Tomonori Cc: davem@davemloft.net Cc: tony.luck@intel.com Cc: fenghua.yu@intel.com LKML-Reference: <1249872797-1314-2-git-send-email-fujita.tomonori@lab.ntt.co.jp> Signed-off-by: Ingo Molnar commit da2a2aaa8e3dddb41678af7e5295d9e3e6c030a4 Author: Takashi Iwai Date: Mon Aug 10 07:44:09 2009 +0200 ALSA: hda - Fix Oops due to STAC/IDT auto-mic changes The previous auto-mic patch for STAC/IDT codecs causes the Oops on machines without digital mic pins. This patch fixes the problem. Signed-off-by: Takashi Iwai commit 09113aea553cfaf074fd669cd0465daac4cea6e8 Author: Dmitry Torokhov Date: Sun Aug 9 21:22:22 2009 -0700 Input: w90p910_keypad - adjust to use definitions from matrix_keypad.h Also have the driver send MSC_SCAN events as most keyboards do to aid in updating keymap from userspace. Tested-by: Wan ZongShun Signed-off-by: Dmitry Torokhov commit 4a15235e79f5160a34100b362af2c674d191d0a5 Author: Wan ZongShun Date: Sun Aug 9 21:22:22 2009 -0700 Input: add keypad driver for w90p910 Add keypad driver for the 4x4 keypad on an evaluation board based on w90p910. Signed-off-by: Wan ZongShun Reviewed-by: Trilok Soni Signed-off-by: Dmitry Torokhov commit 85a7f0ac5370901916a21935e1fafbe397b70f80 Author: Sebastian Andrzej Siewior Date: Mon Aug 10 12:50:03 2009 +1000 crypto: mv_cesa - Add support for Orion5X crypto engine This adds support for Marvell's Cryptographic Engines and Security Accelerator (CESA) which can be found on a few SoC. Tested with dm-crypt. Acked-by: Nicolas Pitre Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: Herbert Xu commit 896a6de40ef3814525632609799af909338f50c3 Author: Oleg Nesterov 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 Acked-by: Serge Hallyn Signed-off-by: James Morris commit d3c8660233d3f2801e14eaf722937ff4ed49bfb7 Author: Oleg Nesterov 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 Acked-by: Serge Hallyn Signed-off-by: James Morris commit 4ba74d00a20256e22f159cb288ff34b587608917 Author: Theodore Ts'o Date: Sun Aug 9 22:01:13 2009 -0400 ext4: Fix bugs in mballoc's stream allocation mode The logic around sbi->s_mb_last_group and sbi->s_mb_last_start was all screwed up. These fields were getting unconditionally all the time, set even when stream allocation had not taken place, and if they were being used when the file was smaller than s_mb_stream_request, which is when the allocation should _not_ be doing stream allocation. Fix this by determining whether or not we stream allocation should take place once, in ext4_mb_group_or_file(), and setting a flag which gets used in ext4_mb_regular_allocator() and ext4_mb_use_best_found(). This simplifies the code and assures that we are consistently using (or not using) the stream allocation logic. Signed-off-by: "Theodore Ts'o" commit 47d439e9fb8a81a90022cfa785bf1c36c4e2aff6 Author: Eric Paris 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 Signed-off-by: James Morris commit 0ef90db93a4ddfc300af288c2a1bfc1e6c79da64 Author: Theodore Ts'o Date: Sun Aug 9 16:46:13 2009 -0400 ext4: Display the mballoc flags in mb_history in hex instead of decimal Displaying the flags in base 16 makes it easier to see which flags have been set. Signed-off-by: "Theodore Ts'o" commit 6ba495e9259cd9a0b40ebd6c315143535c92542f Author: Theodore Ts'o Date: Fri Sep 18 13:38:55 2009 -0400 ext4: Add configurable run-time mballoc debugging Allow mballoc debugging to be enabled at run-time instead of just at compile time. Signed-off-by: "Theodore Ts'o" commit 91cc219ad963731191247c5f2db4118be2bc341a Author: Peng Tao Date: Mon Aug 10 23:05:28 2009 -0400 ext4: fix journal ref count in move_extent_par_page move_extent_par_page calls a_ops->write_begin() to increase journal handler's reference count. However, if either mext_replace_branches() or ext4_get_block fails, the increased reference count isn't decreased. This will cause a later attempt to umount of the fs to hang forever. The patch addresses the issue by calling ext4_journal_stop() if page is not NULL (which means a_ops->write_end() isn't invoked). Signed-off-by: Peng Tao Signed-off-by: "Theodore Ts'o" commit b1f485f20eb9b02cc7d2009556287f3939d480cc Author: Andreas Dilger Date: Mon Aug 10 22:51:53 2009 -0400 jbd2: round commit timer up to avoid uncommitted transaction fix jiffie rounding in jbd commit timer setup code. Rounding down could cause the timer to be fired before the corresponding transaction has expired. That transaction can stay not committed forever if no new transaction is created or expicit sync/umount happens. Signed-off-by: Alex Zhuravlev (Tomas) Signed-off-by: Andreas Dilger Signed-off-by: "Theodore Ts'o" commit c333e073b7bf76dc819a6b4ce6bef88ee5fa5e50 Author: Roel Kluin Date: Mon Aug 10 22:47:22 2009 -0400 ext4: remove redundant test on unsigned unsigned i_block cannot be less than 0. Signed-off-by: Roel Kluin Signed-off-by: "Theodore Ts'o" commit 9f51e24ee8b5a1595b6a5ac0c2be278a16488e75 Author: Marcin Slusarz Date: Sun Aug 9 21:54:00 2009 +0200 x86: Use printk_once() Signed-off-by: Marcin Slusarz Cc: "H. Peter Anvin" LKML-Reference: <1249847649-11631-6-git-send-email-marcin.slusarz@gmail.com> Signed-off-by: Ingo Molnar commit fa71c605c2bb4d816514c2611ad53f48007f1fd3 Author: Dmitry Torokhov Date: Fri Aug 7 23:17:47 2009 -0700 Input: combine hil_kbd and hil_ptr drivers hil_kbd and hil_ptr look like twins so it makes sense to combine them into a single driver. [deller@gmx.de: add MODULE_ALIAS() entry for mouse] Tested-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 1437dc3089911d42180be11c50a0b960250a1d87 Author: Dmitry Torokhov Date: Fri Aug 7 23:17:47 2009 -0700 Input: hil_kbd - prepare for merging with hil_ptr Rename functions and variables from [hil_]kbd to [hil_]dev in preparation of merging hil_kbd and hil_ptr. Tested-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 6777f01728d5fc40e02cc0ae43639bf51cc247dd Author: Dmitry Torokhov Date: Fri Aug 7 23:17:46 2009 -0700 Input: hil_kbd - switch to use completion instead of semaphore Stop abusing semaphore for waiting, use completion instead. Also handle errors from input_register_device. Tested-by: Helge Deller Signed-off-by: Dmitry Torokhov commit 8854e82d9accc80f43c0bc3ff06b5979ac858185 Author: Trond Myklebust Date: Sun Aug 9 15:14:30 2009 -0400 SUNRPC: Add an rpc_pipefs front end for the sunrpc cache code Signed-off-by: Trond Myklebust commit 173912a6add00f4715774dcecf9ee53274c5924c Author: Trond Myklebust Date: Sun Aug 9 15:14:29 2009 -0400 SUNRPC: Move procfs-specific stuff out of the generic sunrpc cache code Signed-off-by: Trond Myklebust commit bc74b4f5e63a09fb78e245794a0de1e5a2716bbe Author: Trond Myklebust Date: Sun Aug 9 15:14:29 2009 -0400 SUNRPC: Allow the cache_detail to specify alternative upcall mechanisms For events that are rare, such as referral DNS lookups, it makes limited sense to have a daemon constantly listening for upcalls on a channel. An alternative in those cases might simply be to run the app that fills the cache using call_usermodehelper_exec() and friends. The following patch allows the cache_detail to specify alternative upcall mechanisms for these particular cases. Signed-off-by: Trond Myklebust commit da77005f0d64486cd760f43d9b7cc2379262a363 Author: Trond Myklebust Date: Sun Aug 9 15:14:28 2009 -0400 SUNRPC: Remove the global temporary write buffer in net/sunrpc/cache.c While we do want to protect against multiple concurrent readers and writers on each upcall/downcall pipe, we don't want to limit concurrent reading and writing to separate caches. This patch therefore replaces the static buffer 'write_buf', which can only be used by one writer at a time, with use of the page cache as the temporary buffer for downcalls. We still fall back to using the the old global buffer if the downcall is larger than PAGE_CACHE_SIZE, since this is apparently needed by the SPKM security context initialisation. It then replaces the use of the global 'queue_io_mutex' with the inode->i_mutex in cache_read() and cache_write(). Signed-off-by: Trond Myklebust commit 5b7a1b9f9214cb89dd164b43ca3fab7af4058e06 Author: Trond Myklebust Date: Sun Aug 9 15:14:27 2009 -0400 SUNRPC: Ensure we initialise the cache_detail before creating procfs files Also ensure that we destroy those files before we destroy the cache_detail. Otherwise, user processes might attempt to write into uninitialised caches. Signed-off-by: Trond Myklebust commit 2da8ca26c6bfad685bfddf39728eac1c83906aa9 Author: Trond Myklebust Date: Sun Aug 9 15:14:26 2009 -0400 NFSD: Clean up the idmapper warning... What part of 'internal use' is so hard to understand? Signed-off-by: Trond Myklebust commit e57aed77ad48d28ac617ba157ad2f665f5301b30 Author: Trond Myklebust Date: Sun Aug 9 15:14:26 2009 -0400 SUNRPC: One more clean up for rpc_create_client_dir() In order to allow rpc_pipefs to create directories with different types of subtrees, it is useful to allow the caller to customise the subtree filling process. In order to do so, we separate out the parts which are specific to making an RPC client directory, and put them in a separate helper, then we convert the process of filling the directory contents into a callback. Signed-off-by: Trond Myklebust commit 23ac6581702ac6d029643328a7e6ea3baf834c5e Author: Trond Myklebust Date: Sun Aug 9 15:14:25 2009 -0400 SUNRPC: clean up rpc_setup_pipedir() There is still a little wart or two there: Since we've already got a vfsmount, we might as well pass that in to rpc_create_client_dir. Another point is that if we open code __rpc_lookup_path() here, then we can avoid looking up the entire parent directory path over and over again: it doesn't change. Also get rid of rpc_clnt->cl_pathname, since it has no users... Signed-off-by: Trond Myklebust commit 7d217caca5d704e48aa5e59aba0b3ad4c7af4fd2 Author: Trond Myklebust Date: Sun Aug 9 15:14:24 2009 -0400 SUNRPC: Replace rpc_client->cl_dentry and cl_mnt, with a cl_path Signed-off-by: Trond Myklebust commit 7d59d1e86531a53d7648726ab8a6a670ecbd8f06 Author: Trond Myklebust Date: Sun Aug 9 15:14:23 2009 -0400 SUNRPC: Clean up rpc_create_client_dir() Factor out the code that does lookups from the code that actually creates the directory. Signed-off-by: Trond Myklebust commit 458adb8ba9b26bfc66593866013adbb62a1a3d2e Author: Trond Myklebust Date: Sun Aug 9 15:14:22 2009 -0400 SUNRPC: Rename rpc_mkdir to rpc_create_client_dir() This reflects the fact that rpc_mkdir() as it stands today, can only create a RPC client type directory. Signed-off-by: Trond Myklebust commit bb1567491e43df4113ec8b088ff0ebc22f568bc5 Author: Trond Myklebust Date: Sun Aug 9 15:14:21 2009 -0400 SUNRPC: rpc_pipefs cleanup Move the files[] array closer to rpc_fill_super() Signed-off-by: Trond Myklebust commit ac6fecee3121a6825a01c8fda2f5cbf1ad6a3ebd Author: Trond Myklebust Date: Sun Aug 9 15:14:20 2009 -0400 SUNRPC: Clean up rpc_populate/depopulate Signed-off-by: Trond Myklebust commit cfeaa4a3caaf590c1fdb7a83fcd5326e7cdc70c3 Author: Trond Myklebust Date: Sun Aug 9 15:14:20 2009 -0400 SUNRPC: Clean up rpc_lookup_create Signed-off-by: Trond Myklebust commit 810d90bc2a76ff54295cfb3aa9b165160faa47ef Author: Trond Myklebust Date: Sun Aug 9 15:14:18 2009 -0400 SUNRPC: Clean up rpc_unlink() Signed-off-by: Trond Myklebust commit 7589806e961a16449003b636b369edec537c2726 Author: Trond Myklebust Date: Sun Aug 9 15:14:17 2009 -0400 SUNRPC: Clean up file creation code in rpc_pipefs Signed-off-by: Trond Myklebust commit b5bb61da2efe7519eedd6a8f3830ab33ab774b83 Author: Trond Myklebust Date: Sun Aug 9 15:14:17 2009 -0400 SUNRPC: Clean up rpc_pipefs lookup code... Signed-off-by: Trond Myklebust commit 7364af6a2d5e708b5c6fee3cce08d1bd7b27c9f1 Author: Trond Myklebust Date: Sun Aug 9 15:14:16 2009 -0400 SUNRPC: Allow rpc_pipefs_ops to have null values for upcall and downcall Also ensure that we use the umode_t type when appropriate... Signed-off-by: Trond Myklebust commit b693ba4a338da15db1db4b5ebaa36e4ab9781c82 Author: Trond Myklebust Date: Sun Aug 9 15:14:15 2009 -0400 SUNRPC: Constify rpc_pipe_ops... Signed-off-by: Trond Myklebust commit c05988cdb06237738d361ef82fbf4df1020aa3db Author: Chuck Lever Date: Sun Aug 9 15:09:47 2009 -0400 SUNRPC: Add documenting comments in net/sunrpc/timer.c Clean up: provide documenting comments for the functions in net/sunrpc/timer.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9dc3b095b78347bfb02c324b5ee2e558f7267396 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Update xprt address strings after an rpcbind completes After a bind completes, update the transport instance's address strings so debugging messages display the current port the transport is connected to. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c740eff84bcfd63c0497ef880e80171931cb8222 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Kill RPC_DISPLAY_ALL At some point, I recall that rpc_pipe_fs used RPC_DISPLAY_ALL. Currently there are no uses of RPC_DISPLAY_ALL outside the transport modules themselves, so we can safely get rid of it. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fbfffbd5e74c5fa8c9165e110cb5899ec21e6364 Author: Chuck Lever Date: Sun Aug 9 15:09:46 2009 -0400 SUNRPC: Rename sock_xprt.addr as sock_xprt.srcaddr Clean up: Give the "addr" and "port" field less ambiguous names. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f8b761eff1e49fde43dd940ac32b38cf7cee2a95 Author: Chuck Lever Date: Sun Aug 9 15:09:44 2009 -0400 SUNRPC: Eliminate PROC macro from rpcb_clnt Clean up: Replace PROC macro with open coded C99 structure initializers to improve readability. The rpcbind v4 GETVERSADDR procedure is never sent by the current implementation, so it is not copied to the new structures. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0e47f0d665efcf1b45f293422d21d8383f07d122 Author: Chuck Lever Date: Sun Aug 9 15:09:43 2009 -0400 SUNRPC: Clean up: Remove unused XDR decoder functions from rpcb_clnt.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c0c077df009f2f329875051ac5283df235288689 Author: Chuck Lever Date: Sun Aug 9 15:09:43 2009 -0400 SUNRPC: Introduce new xdr_stream-based decoders to rpcb_clnt.c Replace the open-coded decode logic for PMAP_GETPORT/RPCB_GETADDR with an xdr_stream-based implementation, similar to what NFSv4 uses, to protect against buffer overflows. The new implementation also checks that the incoming port number is reasonable. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7ed0ff983c8ad30bf4e2b9fdbb299a3e3ec08d08 Author: Chuck Lever Date: Sun Aug 9 15:09:42 2009 -0400 SUNRPC: Introduce xdr_stream-based decoders for RPCB_UNSET Replace the open-coded decode logic for rpcbind UNSET results with an xdr_stream-based implementation, similar to what NFSv4 uses, to protect against buffer overflows. The new function is unused for the moment. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0d36c4f7574d5a33bedd8f0e3c793490d45d83c6 Author: Chuck Lever Date: Sun Aug 9 15:09:41 2009 -0400 SUNRPC: Clean up: Remove unused XDR encoder functions from rpcb_clnt.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 6f2c2db7a46243bd86e3d7ff5f9ff982f26a9fe8 Author: Chuck Lever Date: Sun Aug 9 15:09:40 2009 -0400 SUNRPC: Introduce new xdr_stream-based encoders to rpcb_clnt.c Replace the open-coded encode logic for rpcbind arguments with an xdr_stream-based implementation, similar to what NFSv4 uses, to better protect against buffer overflows. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 4116092b92f859e5e9a90c99d740933e651ee8c0 Author: Chuck Lever Date: Sun Aug 9 15:09:40 2009 -0400 NFSD: Support IPv6 addresses in write_failover_ip() In write_failover_ip(), replace the sscanf() with a call to the common sunrpc.ko presentation address parser. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c15128c5e428af1e8ada1476484a74c970665edd Author: Chuck Lever Date: Sun Aug 9 15:09:39 2009 -0400 lockd: Replace nsm_display_address() with rpc_ntop() Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit b97a56747ea3f6c1a27dd0719bf1424959f1ebae Author: Chuck Lever Date: Sun Aug 9 15:09:38 2009 -0400 lockd: Replace nlm_clear_port() Clean up: Use shared rpc_set_port() function instead of nlm_clear_port(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ec6ee61250acfccbc5578dd4014735fb2cbe53b5 Author: Chuck Lever Date: Sun Aug 9 15:09:37 2009 -0400 NFS: Replace nfs_set_port() with rpc_set_port() Clean up. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 53a0b9c4c99ab0085a06421f71592722e5b3fd5f Author: Chuck Lever Date: Sun Aug 9 15:09:36 2009 -0400 NFS: Replace nfs_parse_ip_address() with rpc_pton() Clean up: Use the common routine now provided in sunrpc.ko for parsing mount addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c877b849d302d1275452af80b7221a2555dc02e1 Author: Chuck Lever Date: Sun Aug 9 15:09:36 2009 -0400 SUNRPC: Use rpc_ntop() for constructing transport address strings Clean up: In addition to using the new generic rpc_ntop() and rpc_get_port() functions, have the RPC client compute the presentation address buffer sizes dynamically using kstrdup(). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ba809130bc260fce04141aca01ef9e068d32af2a Author: Chuck Lever Date: Sun Aug 9 15:09:35 2009 -0400 SUNRPC: Remove duplicate universal address generation RPC universal address generation is currently done in several places: rpcb_clnt.c, nfs4proc.c xprtsock.c, and xprtrdma.c. Remove the redundant cases that convert a socket address to a universal address. The nfs4proc.c case takes a pre-formatted presentation address string, not a socket address, so we'll leave that one. Because the new uaddr constructor uses the recently introduced rpc_ntop(), it now supports proper "::" shorthanding for IPv6 addresses. This allows the kernel to register properly formed universal addresses with the local rpcbind service, in _all_ cases. The kernel can now also send properly formed universal addresses in RPCB_GETADDR requests, and support link-local properly when encoding and decoding IPv6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a02d692611348f11ee1bc37431a883c3ff2de23e Author: Chuck Lever Date: Sun Aug 9 15:09:34 2009 -0400 SUNRPC: Provide functions for managing universal addresses Introduce a set of functions in the kernel's RPC implementation for converting between a socket address and either a standard presentation address string or an RPC universal address. The universal address functions will be used to encode and decode RPCB_FOO and NFSv4 SETCLIENTID arguments. The other functions are part of a previous promise to deliver shared functions that can be used by upper-layer protocols to display and manipulate IP addresses. The kernel's current address printf formatters were designed specifically for kernel to user-space APIs that require a particular string format for socket addresses, thus are somewhat limited for the purposes of sunrpc.ko. The formatter for IPv6 addresses, %pI6, does not support short-handing or scope IDs. Also, these printf formatters are unique per address family, so a separate formatter string is required for printing AF_INET and AF_INET6 addresses. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0b10bf5e14d856d1d27a2117d07af2bebee81b75 Author: Chuck Lever Date: Sun Aug 9 15:09:33 2009 -0400 SUNRPC: Move XDR data type size macros Clean up: To make subsequent patches cleaner, move the XDR data type size macros to the top of the file (similar to nfs4xdr.c) first. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 169026a61e6f436dfc12c9d10d95455c4e9f945b Author: Chuck Lever Date: Sun Aug 9 15:09:32 2009 -0400 SUNRPC: Clean up RPCBIND_MAXUADDRLEN definitions Clean up: Replace the single-integer definition of RPCBIND_MAXUADDRLEN with a definition that is based on previously defined address string sizes, and document the way this maximum is calculated. Also provide a separate macro for the size of the port number extension. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ec88f28d1eb77346f19ca324ceec76e645cdd9da Author: Chuck Lever Date: Sun Aug 9 15:09:32 2009 -0400 NFS: Use the authentication flavor list returned by mountd Commit a14017db added support in the kernel's NFS mount client to decode the authentication flavor list returned by mountd. The NFS client can now use this list to determine whether the authentication flavor requested by the user is actually supported by the server. Note we don't actually negotiate the security flavor if none was specified by the user. Instead, we try to use AUTH_SYS, and fail if the server does not support it. This prevents us from negotiating an inappropriate security flavor (some servers list AUTH_NULL first). If the server does not support AUTH_SYS, the user must provide an appropriate security flavor by specifying the "sec=" mount option. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 059f90b323c0f5d34656ab7e0548d7d033c2a51a Author: Chuck Lever Date: Sun Aug 9 15:09:31 2009 -0400 NFS: Fix auth flavor len accounting Previous logic in the NFS mount parsing code path assumed auth_flavor_len was set to zero for simple authentication flavors (like AUTH_UNIX), and 1 for compound flavors (like AUTH_GSS). At some earlier point (maybe even before the option parsers were merged?) specific checks for auth_flavor_len being zero were removed from the functions that validate the mount option that sets the mount point's authentication flavor. Since we are populating an array for authentication flavors, the auth_flavor_len should always be set to the number of flavors. Let's eliminate some cleverness here, and prepare for new logic that needs to know the number of flavors in the auth_flavors[] array. (auth_flavors[] is an array because at some point we want to allow a list of acceptable authentication flavors to be specified via the sec= mount option. For now it remains a single element array). Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 0b524123c93893391ec9e6c9b04998a45235f9c8 Author: Chuck Lever Date: Sun Aug 9 15:09:30 2009 -0400 NFS: Add ability to send MOUNTPROC_UMNT to the kernel's mountd client After certain failure modes of an NFS mount, an NFS client should send a MOUNTPROC_UMNT request to remove the just-added mount entry from the server's mount table. While no-one should rely on the accuracy of the server's mount table, sending a UMNT is simply being a good internet neighbor. Since NFS mount processing is handled in the kernel now, we will need a function in the kernel's mountd client that can post a MOUNTRPC_UMNT request, in order to handle these failure modes. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit f3f4f4ed26b116f621596f74d42d2b736171e968 Author: Chuck Lever Date: Sun Aug 9 15:09:29 2009 -0400 NFS: Fix up new minorversion= option The new minorversion= mount option (commit 3fd5be9e) was merged at the same time as the recent sloppy parser fixes (commit a5a16bae), so minorversion= still uses the old value parsing logic. If the minorversion= option specifies a bogus value, it should fail with "bad value" not "bad option." Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 8f738d58425625faf0c1a6dbfdd4458545338551 Author: Mark Brown Date: Sun Aug 9 20:08:31 2009 +0100 ASoC: Define more formats for the AC97 CODECs Signed-off-by: Mark Brown commit c140aa91357c415c91269884518fa1d6fdebc20d Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Clean up the nfs.callback_tcpport option Tighten up the validity checking in param_set_port: check for NULL pointers. Ensure that the option shows up on 'modinfo' output. Signed-off-by: Trond Myklebust commit cbf1107126af2950623fafdaa5c9df43ab00f046 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 SUNRPC: convert some sysctls into module parameters Parameters like the minimum reserved port, and the number of slot entries should really be module parameters rather than sysctls. Signed-off-by: Trond Myklebust commit 80e52aced138bb41b045a8595a87510f27d8d8c5 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Don't do idmapper upcalls for asynchronous RPC calls We don't want to cause rpciod to hang... Signed-off-by: Trond Myklebust commit 62ab460cf5e450e1d207a98a9c6cf2e4a6a78fd1 Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Add 'server capability' flags for NFSv4 recommended attributes If the NFSv4 server doesn't support a POSIX attribute, the generic NFS code needs to know that, so that it don't keep trying to poll for it. However, by the same count, if the NFSv4 server does support that attribute, then we should ensure that the inode metadata is appropriately labelled as being untrusted. For instance, if we don't know the correct value of the file's uid, we should certainly not be caching ACLs or ACCESS results. Signed-off-by: Trond Myklebust commit a78cb57a106fceeba26da2907db9d8886700e1dc Author: Trond Myklebust Date: Sun Aug 9 15:06:19 2009 -0400 NFSv4: Don't loop forever on state recovery failure... If the server is broken, then retrying forever won't fix it. We should just give up after a while, and return an error to the user. We set the number of retries to 10 for now... Signed-off-by: Trond Myklebust commit dd8ac1da4190139de70da18823ff8f5992a649ae Author: Roel Kluin Date: Sun Aug 9 15:06:19 2009 -0400 nfs: Keep index within mnt_errtbl[] Ensure that index i remains within array mnt_errtbl[] and mnt3_errtbl[]. Signed-off-by: Roel Kluin Signed-off-by: Trond Myklebust commit 8e5b59a2d728e6963b35dba8bb36e0b70267462e Author: Arnd Bergmann Date: Thu Aug 6 16:02:50 2009 -0700 sched: Add default defines for PREEMPT_ACTIVE The PREEMPT_ACTIVE setting doesn't actually need to be arch-specific, so set up a sane default for all arches to (hopefully) migrate to. > if we look at linux/hardirq.h, it makes this claim: > * - bit 28 is the PREEMPT_ACTIVE flag > if that's true, then why are we letting any arch set this define ? a > quick survey shows that half the arches (11) are using 0x10000000 (bit > 28) while the other half (10) are using 0x4000000 (bit 26). and then > there is the ia64 oddity which uses bit 30. the exact value here > shouldnt really matter across arches though should it ? actually alpha, arm and avr32 also use bit 30 (0x40000000), there are only five (or eight, depending on how you count) architectures (blackfin, h8300, m68k, s390 and sparc) using bit 26. Signed-off-by: Arnd Bergmann Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 8d51327090ac025d7f4ce6c059786b5e93513321 Author: Brice Goglin Date: Fri Aug 7 13:55:24 2009 +0200 perf report: Fix and improve the displaying of per-thread event counters Improve and fix the handling of per-thread counter stats recorded via perf record -s. Previously we only displayed it in debug printouts (-D) and even that output was hard to disambiguate. I moved everything to utils/values.[ch] so that we may reuse it in perf stat. We get something like this now: # PID TID cache-misses cache-references 4658 4659 495581 3238779 4658 4662 498246 3236823 4658 4663 499531 3243162 Then it'll be easy to add --pretty=raw to display a single line per thread/event. By the way, -S was also used for --symbol... So I used -T/--thread here. perf report: Add -T/--threads to display per-thread counter values We get something like this now: # PID TID cache-misses cache-references 4658 4659 495581 3238779 4658 4662 498246 3236823 4658 4663 499531 3243162 Per-thread arrays of counter values are managed in utils/values.[ch] Signed-off-by: Brice Goglin Cc: Peter Zijlstra Cc: paulus@samba.org Signed-off-by: Ingo Molnar commit 30dd568c912602b7dbd609a45d053e01b13422bb Author: Markus Metzger Date: Tue Jul 21 15:56:48 2009 +0200 x86, perf_counter, bts: Add BTS support to perfcounters Implement a performance counter with: attr.type = PERF_TYPE_HARDWARE attr.config = PERF_COUNT_HW_BRANCH_INSTRUCTIONS attr.sample_period = 1 Using branch trace store (BTS) on x86 hardware, if available. The from and to address for each branch can be sampled using: PERF_SAMPLE_IP for the from address PERF_SAMPLE_ADDR for the to address [ v2: address review feedback, fix bugs ] Signed-off-by: Markus Metzger Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit c36ba80ea01d0aecb652c26799a912e760ce8981 Author: Bartlomiej Zolnierkiewicz Date: Thu Aug 6 21:46:03 2009 +0200 irq: Remove superfluous NULL pointer check in check_irq_resend() This takes care of the following entry from Dan's list: kernel/irq/resend.c +73 check_irq_resend(17) warning: variable derefenced before check 'desc->chip' Reported-by: Dan Carpenter Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Jonathan Corbet Cc: Eugene Teo Cc: Julia Lawall LKML-Reference: <200908062146.03638.bzolnier@gmail.com> Signed-off-by: Ingo Molnar commit 5fe60f4e5871b64e687229199fafd4ef13cd0886 Author: David Woodhouse Date: Sun Aug 9 10:53:41 2009 +0100 intel-iommu: make domain_add_dev_info() call domain_context_mapping() All callers of the former were also calling the latter, in one order or the other, and failing to correctly clean up if the second returned failure. Signed-off-by: David Woodhouse commit 67dbe83adca4415e210e436bf961e8a833030d1e Author: Dmitry Torokhov Date: Fri Aug 7 23:17:39 2009 -0700 Input: wistron_btns - switch to using dev_pm_ops Also start using 'bool' where it makes sense. Tested-by: Giuseppe Mazzotta Signed-off-by: Dmitry Torokhov commit 42c2c8c854a716b05882a122632ddcd6dbe108f1 Author: Sonic Zhang Date: Thu Aug 6 15:58:11 2009 -0700 printk: Fix "printk: Enable the use of more than one CON_BOOT (early console)" Don't return when we find the first bootconsole - it can leave other bootconsoles still installed, and they can be used and cause problems later (if they are in the init section, and eventually released), and cause problems. Make sure we remove all of them. Signed-off-by: Sonic Zhang Signed-off-by: Robin Getz Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit 4c711576b90cc36c13b94816a953a8de6a53d03c Author: Amerigo Wang Date: Thu Aug 6 15:58:12 2009 -0700 x86, 32-bit: Use generic sys_pipe() As suggested by Al, it's better to use the generic sys_pipe() for ia32. Signed-off-by: WANG Cong Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar commit fb82ad719831db58e9baa4c67015aae3fe27e7e3 Author: Tom Zanussi Date: Sat Aug 8 10:49:36 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. This updates his patch for the same problem in the tracing tree (which has changed this code quite substantially). Reported-by: Dan Carpenter Signed-off-by: Tom Zanussi Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Li Zefan LKML-Reference: <1249746576.6453.30.camel@tropicana> Signed-off-by: Ingo Molnar The original report: create_logical_pred() could sometimes return NULL. It's a static checker complaining rather than problems at runtime... commit 72c4d8530244264317a662de9a55cc47e6c8e9df Author: Ingo Molnar Date: Mon Aug 3 08:47:07 2009 +0200 x86: Introduce GDT_ENTRY_INIT(), fix APM This crash: [ 0.891983] calling cache_sysfs_init+0x0/0x1ee @ 1 [ 0.897251] initcall cache_sysfs_init+0x0/0x1ee returned 0 after 405 usecs [ 0.904019] calling mce_init_device+0x0/0x242 @ 1 [ 0.909124] initcall mce_init_device+0x0/0x242 returned 0 after 347 usecs [ 0.915815] calling apm_init+0x0/0x38d @ 1 [ 0.919967] apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac) [ 0.926813] general protection fault: 0000 [#1] [ 0.927269] last sysfs file: [ 0.927269] Modules linked in: [ 0.927269] [ 0.927269] Pid: 271, comm: kapmd Not tainted (2.6.31-rc3-00100-gd520da1-dirty #311) System Product Name [ 0.927269] EIP: 00c0:[<000082b2>] EFLAGS: 00010002 CPU: 0 [ 0.927269] EIP is at 0x82b2 [ 0.927269] EAX: 0000530e EBX: 00000000 ECX: 00000102 EDX: 00000000 [ 0.927269] ESI: 00000000 EDI: f6a4bf44 EBP: 67890000 ESP: f6a4beec [ 0.927269] DS: 00c8 ES: 0000 FS: 0000 GS: 0000 SS: 0068 [ 0.927269] Process kapmd (pid: 271, ti=f6a4a000 task=f7142280 task.ti=f6a4a000) [ 0.927269] Stack: [ 0.927269] 0000828d 02160000 00b88092 f6a4bf3c c102a63d 00000060 f6a4bf3c f6a4bf44 [ 0.927269] <0> 0000007b 0000007b 00000000 00000000 00000000 00000000 560aae9e 00000000 [ 0.927269] <0> 00000200 f705fd74 00000000 c102af70 f6a4bf60 c102a6ec 0000530e 00000000 [ 0.927269] Call Trace: [ 0.927269] [] ? __apm_bios_call_simple+0x7d/0x110 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? apm_bios_call_simple+0x1c/0x50 [ 0.927269] [] ? apm+0x485/0x6a0 [ 0.927269] [] ? finish_task_switch+0x2a/0xb0 [ 0.927269] [] ? schedule+0x31e/0x480 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? apm+0x0/0x6a0 [ 0.927269] [] ? kthread+0x74/0x80 [ 0.927269] [] ? kthread+0x0/0x80 [ 0.927269] [] ? kernel_thread_helper+0x7/0x10 [ 0.927269] Code: Bad EIP value. [ 0.927269] EIP: [<000082b2>] 0x82b2 SS:ESP 0068:f6a4beec [ 0.927269] ---[ end trace a7919e7f17c0a725 ]--- [ 0.927269] Kernel panic - not syncing: Fatal exception [ 0.927269] Pid: 271, comm: kapmd Tainted: G D 2.6.31-rc3-00100-gd520da1-dirty #311 Is caused by an incorrect GDT_ENTRY_INIT() conversion in the apm code, as noticed by hpa. Reported-by: Ingo Molnar Noticed-by: "H. Peter Anvin" Signed-off-by: Akinobu Mita LKML-Reference: <20090808094905.GA2954@localhost.localdomain> Signed-off-by: Ingo Molnar commit 1e5de18278e6862f4198412b5059a03770fa816a Author: Akinobu Mita Date: Sun Jul 19 00:12:20 2009 +0900 x86: Introduce GDT_ENTRY_INIT() GDT_ENTRY_INIT is static initializer of desc_struct. We already have similar macro GDT_ENTRY() but it's static initializer for u64 and it cannot be used for desc_struct. Signed-off-by: Akinobu Mita LKML-Reference: <20090718151219.GD11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit f3d1915a8623b9248572d3ee44e19a80b7a3520b Author: Cyrill Gorcunov Date: Thu Aug 6 00:09:31 2009 +0400 x86, ioapic: Panic on irq-pin binding only if needed Though the most time we are to panic on irq-pin allocation fails, for PCI interrupts it's not the case and we could continue operate even if irq-pin allocation failed. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090805200931.GB5319@lenovo> Signed-off-by: Ingo Molnar commit a131bc185528331451a93db6c50a7d2070376a61 Merge: 19943b0 ff1649f Author: David Woodhouse Date: Sat Aug 8 11:25:28 2009 +0100 Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6 Pull fixes in from 2.6.31 so that people testing the iommu-2.6.git tree no longer trip over bugs which were already fixed (sorry, Horms). commit 4cfae3e80431fd113f0f4a8e1d4fff84aafe045c Author: Henning Glawe Date: Sun Aug 2 22:18:12 2009 +0200 HID: ignore Philips IEEE802.15.4 RF Dongle This usb device claims to be of HID class, but is in fact a 802.15.4 lowpan transceiver, therefore the generic HID driver cannot operate this device. A separate driver for this device will be written for this using the new 802.15.4 stack. Signed-off-by: Henning Glawe Signed-off-by: Jiri Kosina commit 31f7fd795d17b264c3c05e4a976f963012c17c68 Author: Jarod Wilson Date: Fri Jul 31 10:56:36 2009 -0400 HID: ignore all recent SoundGraph iMON devices After some inspection of the Windows iMON driver, several additional device IDs were added to the lirc_imon driver. At least a few of these have been seen in the wild, and require manual quirking to keep the usbhid driver from binding to them. Rather than list out every single device, ignore the entire device ID range, 0x0034 - 0x0046. Some of these may not advertise themselves as HID devices, but no harm done to such devices anyway. Does the right thing in brief testing w/my 0x0045 device. Signed-off-by: Jarod Wilson Acked-by: Anssi Hannula Signed-off-by: Jiri Kosina commit 35b1207b34975d7ff2ea014171229c02bdb066f1 Author: Mark Brown Date: Sat Aug 8 10:37:33 2009 +0100 ASoC: Convert WM8776 to use factored out register cache code Signed-off-by: Mark Brown commit 7ae5945f0cacdfa30ed3257892dbea75bc959a28 Author: Chaithrika U S Date: Fri Aug 7 10:07:51 2009 -0400 ASoC: DaVinci: Support Audio on DA830 EVM Add support for audio on DA830 EVM- here McASP1 is interfaced to TLV320AIC3106 codec. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit dbe9ea6e79d38cd5f2069405864ff06606cf9ff1 Author: Uwe Kleine-König Date: Fri Aug 7 22:42:37 2009 +0200 ASoC: s3c2443-ac97: convert semaphore to mutex This fixes a build failure for 2.6.31-rc4-rt1 (ARCH=arm, s3c2410_defconfig): CC [M] sound/soc/s3c24xx/s3c2443-ac97.o sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: type defaults to 'int' in declaration of 'DECLARE_MUTEX' sound/soc/s3c24xx/s3c2443-ac97.c:50: warning: parameter names (without types) in function declaration sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_read': sound/soc/s3c24xx/s3c2443-ac97.c:59: error: 'ac97_mutex' undeclared (first use in this function) sound/soc/s3c24xx/s3c2443-ac97.c:59: error: (Each undeclared identifier is reported only once sound/soc/s3c24xx/s3c2443-ac97.c:59: error: for each function it appears in.) sound/soc/s3c24xx/s3c2443-ac97.c: In function 's3c2443_ac97_write': sound/soc/s3c24xx/s3c2443-ac97.c:93: error: 'ac97_mutex' undeclared (first use in this function) Signed-off-by: Uwe Kleine-König Signed-off-by: Mark Brown commit a809dda0369ae6157f7bcd3e704b857d43704cbd Author: Julia Lawall Date: Sat Aug 8 02:26:10 2009 +0200 HID: fix memory leak on error patch in debug code 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/) // @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) // Signed-off-by: Julia Lawall Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 44cb2db10d05fc263c9fa44347d350d4f7f5890c Author: Roel Kluin Date: Sat Aug 8 02:17:32 2009 +0200 HID: fix overrun in quirks initialization Check whether index is within bounds before testing the element. declared in drivers/hid/usbhid/hid-core.c:62: static char *quirks_param[MAX_USBHID_BOOT_QUIRKS] = ... Signed-off-by: Roel Kluin Cc: Jiri Kosina Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina commit 665d66e8fad60a5a162c4615f27f916ad1a6d567 Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 11:35:51 2009 +0000 ide: fix races in handling of user-space SET XFER commands * Make cmd->tf_flags field 'u16' and add IDE_TFLAG_SET_XFER taskfile flag. * Update ide_finish_cmd() to set xfer / re-read id if the new flag is set. * Convert set_xfer_rate() (write handler for /proc/ide/hd?/current_speed) and ide_cmd_ioctl() (HDIO_DRIVE_CMD ioctl handler) to use the new flag. * Remove no longer needed disable_irq_nosync() + enable_irq() from ide_config_drive_speed(). Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit fa56d4cb4022c8b313c3b99236e1b87effc3655b Author: Bartlomiej Zolnierkiewicz Date: Tue Jun 23 11:29:11 2009 +0000 ide: allow ide_dev_read_id() to be called from the IRQ context * Un-static __ide_wait_stat(). * Allow ide_dev_read_id() helper to be called from the IRQ context by adding irq_ctx flag and using mdelay()/__ide_wait_stat() when needed. * Switch ide_driveid_update() to set irq_ctx flag. This change is needed for the consecutive patch which fixes races in handling of user-space SET XFER commands but for improved bisectability and clarity it is better to do it in a separate patch. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 2d5abcedeb41f4af9582c60cef70749c3ab90a3b Author: Jaswinder Singh Rajput Date: Sun Aug 2 20:17:34 2009 -0700 ide: ide-taskfile.c fix style problems Fix trivial style problems: WARNING: Use #include instead of WARNING: space prohibited between function name and open parenthesis '(' WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable ERROR: do not use C99 // comments X 2 ERROR: trailing statements should be on next line ERROR: trailing whitespace ERROR: switch and case should be at the same indent WARNING: line over 80 characters total: 5 errors, 4 warnings Also removed dead code Also used pr_err() to avoid line breaks Signed-off-by: Jaswinder Singh Rajput Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit 72db37b2c9c5b71e49068f5fac6433a6c36498a5 Author: Julia Lawall Date: Sun Aug 2 13:19:05 2009 -0700 drivers/ide/ide-cd.c: 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/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Acked-by: Borislav Petkov Signed-off-by: David S. Miller commit 6f3848ac2399faac0be3f26648bf1d7a644a8242 Author: Borislav Petkov Date: Tue Jul 21 23:08:23 2009 -0700 ide-tape: fix handling of postponed rqs ide-tape used to hit [ 58.614854] ide-tape: ht0: BUG: Two DSC requests queued! due to the fact that another rq was being issued while the driver was waiting for DSC to get set for the device executing ATAPI commands which set the DSC to 1 to indicate completion. Here's a sample output of that case: issue REZERO_UNIT [ 143.088505] ide-tape: ide_tape_issue_pc: retry #0, cmd: 0x01 [ 143.095122] ide: Enter ide_pc_intr - interrupt handler [ 143.096118] ide: Packet command completed, 0 bytes transferred [ 143.106319] ide-tape: ide_tape_callback: cmd: 0x1, dsc: 1, err: 0 [ 143.112601] ide-tape: idetape_postpone_request: cmd: 0x1, dsc_poll_freq: 2000 we stall the ide-tape queue here waiting for DSC [ 143.119936] ide-tape: ide_tape_read_position: enter [ 145.119019] ide-tape: idetape_do_request: sector: 4294967295, nr_sectors: 0 and issue the new READ_POSITION rq and hit the check. [ 145.126247] ide-tape: ht0: BUG: Two DSC requests queued! [ 145.131748] ide-tape: ide_tape_read_position: BOP - No [ 145.137059] ide-tape: ide_tape_read_position: EOP - No Also, ->postponed_rq used to point to that postponed request. To make things worse, in certain circumstances the rq it was pointing to got replaced unterneath it by swiftly reusing the same rq from the mempool of the block layer practically confusing stuff even more. However, we don't need to keep a pointer to that rq but simply wait for DSC to be set first before issuing the follow-up request in the drive's queue. In order to do that, we make idetape_do_request() first check the DSC and if not set, we stall the drive queue giving the other device on that IDE channel a chance. Signed-off-by: Borislav Petkov Signed-off-by: David S. Miller commit e972d7027c0fb7055f5f2fe02d662c9528063bef Author: Borislav Petkov Date: Fri Jul 17 23:55:16 2009 +0000 ide-tape: convert to ide_debug_log macro Remove tape->debug_mask and use drive->debug_mask instead. There should be no functional change resulting from this patch. Signed-off-by: Borislav Petkov Signed-off-by: David S. Miller commit 37bbe084d1152cb580d2cc88b4eda2004506a141 Author: Mark de Wever Date: Fri Jul 17 23:55:15 2009 +0000 ide-tape: fix debug call This error only occurs when IDETAPE_DEBUG_LOG is enabled. Signed-off-by: Mark de Wever Signed-off-by: David S. Miller commit 7fa350b4754cd69c8352ef3f5d23082fbdcab0bd Author: David S. Miller Date: Tue Jun 23 04:16:04 2009 -0700 ide: Fix annoying warning in ide_pio_bytes(). GCC can't see that flags is only set and used when PageHighmem() is true. Inspired by a patch from Jean Delvare. Signed-off-by: David S. Miller commit a907905219dc83f501274d5d8c6d2aa2161ff8c3 Author: Jean Delvare Date: Tue Jun 23 04:12:24 2009 -0700 IDE: Save a call to PageHighMem() PageHighMem() isn't cheap so avoid calling it twice on the same page. Signed-off-by: Jean Delvare Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller commit b7b8f9bf0cd73b90561e8123fd5ec28f4539c419 Author: Janusz Krzysztofik Date: Thu Aug 6 13:07:32 2009 +0200 TTY/ASoC: Rename N_AMSDELTA line discipline to N_V253 The patch changes the line discipline name registered in include/linux/tty.h and updates the ams-delta machine driver to use it. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 06cddefc1f25b847dafe392f3d5781482b3395b5 Merge: b9b5cc2 27ded04 Author: Mark Brown Date: Fri Aug 7 11:43:58 2009 +0100 Merge branch 'reg-cache' into for-2.6.32 commit b9b5cc26d0b3a9b361cc56c3a3b0d6f819b9195f Merge: 6a90d53 c12abc0 Author: Mark Brown Date: Fri Aug 7 11:42:01 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit 6a90d536feeccb2c84a2831252b1ed4642684da3 Author: Troy Kisky Date: Thu Aug 6 16:55:32 2009 -0700 ASoC: DaVinci: pcm, constrain buffer size to multiple of period The dma setup code assumes that the buffer size is a multiple of the period size. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 9bb74150561bb337b49192a8f8e8f812057b88ea Author: Troy Kisky Date: Thu Aug 6 16:55:31 2009 -0700 ASoC: DaVinci: i2s: don't bounce through rtd to get dai dai is a parameter to the functions, so use it instead of looking it up. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit a961bf380b93741c2191f8efc8f5f1c65224b216 Author: Eric Benard Date: Thu Jul 16 16:26:34 2009 +0200 Add support for Eukrea's MBIMX27 MBIMX27 is the evaluation board for CPUIMX27 and integrates : a QVGA TFT, a SPI touchscreen controler, a SDCard connector wired to SDHC1. Signed-off-by: Eric Benard Signed-off-by: Sascha Hauer commit af5b1df7136570dae9ac4c1cd193053c61b0ed8f Author: Eric Benard Date: Thu Jul 16 16:26:33 2009 +0200 Add support for Eukrea's CPUIMX27 CPUIMX27 is built around Freescale's i.MX27 and has up to 64MB of NOR Flash, up to 512MB of NAND Flash and up to 256MB of mDDR, it includes an ethernet PHY in MII mode, an I2C RTC and a ST16554 QuadUART on nCS3. Signed-off-by: Eric Benard Signed-off-by: Sascha Hauer commit 627fb3b9d260cb413d0ea2d179e319a20e2bd82b Author: javier Martin Date: Wed Jul 15 15:26:21 2009 +0200 MX27: Add USB platform devices and resources This adds clocks and resources for usb in i.mx27 SoC. Signed-off-by: Javier Martin Signed-off-by: Sascha Hauer commit 88e29a8d21fb9687ad6972a44571b295acaf0d74 Author: Daniel Mack Date: Thu Jun 25 14:11:52 2009 +0200 MX3: add additional USB pins to iomux Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 6558f985a1ff7ab2b413f49ee8766c919495e0ac Author: Sascha Hauer Date: Thu Jun 25 14:11:51 2009 +0200 ehci mxc: Fix clocks Signed-off-by: Sascha Hauer commit c13a482c43a148c2b8060b405fc39a4b214d56d2 Author: Daniel Mack Date: Thu Jun 25 14:11:50 2009 +0200 MX3: Add USB platform devices and resources Signed-off-by: Sascha Hauer Signed-off-by: Daniel Mack Signed-off-by: Sascha Hauer commit 5e63ff9a973a19b78bb0eef22df8946b36e09f0f Author: Sascha Hauer Date: Sat Feb 7 13:37:29 2009 +0100 [ARM] MXC: remove the now unused #ifndef CONFIG_COMMON_CLKDEV Signed-off-by: Sascha Hauer commit 7dae1134cd4117c1a579f8ae58ce13c1c1ff7164 Author: Sascha Hauer Date: Sat Feb 7 13:34:01 2009 +0100 [ARM] MXC: Switch MX1 to clkdev support Signed-off-by: Sascha Hauer commit 6d73665f052a8dadf6f33dfd2546e15199ad7c5f Author: Sascha Hauer Date: Wed Jun 3 11:22:32 2009 +0200 MXC PLL decoding: calculate mfn value with less magic Also, use cpu_is_* macros rather than CONFIG_ARCH_* Signed-off-by: Sascha Hauer commit 5ef881bbecc72862fa379cb286a50f2781db4cec Author: Sascha Hauer Date: Fri Jun 19 11:35:08 2009 +0200 MXC: pwm driver fixes - fix off-by-one error in divider calculation - disable pwm in pwm_disable Signed-off-by: Sascha Hauer commit 494f22dddc6308b9c35984118ff4cb1681ad8e48 Author: Sascha Hauer Date: Wed May 27 18:26:51 2009 +0200 MXC gpio interrupt support: move register definitions to .c file Signed-off-by: Sascha Hauer commit 8afaada2dc9247ffcd2982be824cd290ace18f55 Author: Sascha Hauer Date: Mon Jun 15 12:36:25 2009 +0200 mxc gpio: CONFIG_ARCH_* -> cpu_is_*() Signed-off-by: Sascha Hauer commit 61b032ef263c17bb733cfb3f87a811be52adbe22 Author: Sascha Hauer Date: Tue Jun 23 13:21:42 2009 +0200 pcm038: Add support for SJA1000 on baseboard Signed-off-by: Sascha Hauer commit 91bf9a2566a6f507f45ad2fb59802e528f5a9c3f Author: Sascha Hauer Date: Tue Jun 23 13:21:28 2009 +0200 pcm037: Add support for SJA1000 on baseboard Signed-off-by: Sascha Hauer commit 343684ffb793a3c371579b7bbc16724713ee5ac7 Author: Sascha Hauer Date: Thu Mar 19 08:25:41 2009 +0100 imxfb: Add support for multiple displays Signed-off-by: Sascha Hauer commit d6b515028863a912d051d371b6d71e09f2a9ff19 Author: Sascha Hauer Date: Mon Jun 29 11:41:09 2009 +0200 imxfb: use resource_size() macro This fixes an off-by-one error. Also, use dev_err instead of printk in probe() function. Signed-off-by: Sascha Hauer commit f497d0153a6b53b4cfd004de5f10b14bf630d852 Author: Sascha Hauer Date: Wed Mar 18 11:29:31 2009 +0100 imxfb: calculate bpix value from bits_per_pixel Signed-off-by: Sascha Hauer commit 9b0e6db0da1ea433f38b8d952108746f3fc67304 Author: Sascha Hauer Date: Tue Jun 23 12:14:39 2009 +0200 mx1: Codingstyle: Let the compiler count arrays Signed-off-by: Sascha Hauer commit 3f4f54b4f0052e9838f6bb98535746464d0c01c3 Author: Sascha Hauer Date: Tue Jun 23 12:12:00 2009 +0200 mx3: Codingstyle: Let the compiler count arrays Signed-off-by: Sascha Hauer commit bf50bcc242db7f8d2fb6bc099c1693149d9fb5d5 Author: Sascha Hauer Date: Tue Jun 23 12:04:36 2009 +0200 mx2: Codingstyle: Let the compiler count arrays Signed-off-by: Sascha Hauer commit aa68c02777702f05ea5f075e3001288c30ffcb1c Author: Sascha Hauer Date: Tue Jun 23 11:52:26 2009 +0200 mx2: remove mxc_irda platform device Irda support is handled by the normal ims serial driver, so we do not need this device. Signed-off-by: Sascha Hauer commit 997d74b18ae1d0d8f4c4469a5d1ce8d73ca8402c Author: Sascha Hauer Date: Thu Jun 4 10:32:08 2009 +0200 MXC iomux-v3: Fix defines for PAD_CTL registers The old defines leaked in from an old version of the patch. Change the defines to match the register layout of the iomuxer. Signed-off-by: Sascha Hauer commit c5aa0ad0c557c63dcaf8c8d75a3dd4c5e90724b3 Author: Sascha Hauer Date: Mon May 25 17:36:19 2009 +0200 mxc: turn to soc specific init_irq functions Signed-off-by: Sascha Hauer commit 12308dfe3776ff5741fc675f2a352165e1628098 Author: Sascha Hauer Date: Wed May 27 18:33:58 2009 +0200 mxc: remove do not include directly Everyone should be free to include the files he actually needs. Signed-off-by: Sascha Hauer commit 37d6fb629eb272a91a3c43033f495a66da2392b5 Author: Sascha Hauer Date: Wed May 27 18:23:48 2009 +0200 i.MX serial: do not use #ifdef CONFIG_ARCH_* Signed-off-by: Sascha Hauer commit ccc1a6f8eebf0eb8a5bee16293d1dc9b5eab1be3 Author: Sascha Hauer Date: Thu Jun 4 13:45:37 2009 +0200 MXC: remove board specific setup of MXC_LL_UART_[PV]ADDR Signed-off-by: Sascha Hauer commit d30c74a02f7652e784c32a10736a3c88db98820c Author: Sascha Hauer Date: Thu Jun 4 13:29:57 2009 +0200 MXC uncompress macros: determine uart base by machine type Signed-off-by: Sascha Hauer commit abae61305684fffb0f1d779a1a678855ec5e8cfc Author: Sascha Hauer Date: Mon May 25 17:22:18 2009 +0200 mxc: remove ARCH_NR_GPIOS Use the default value of 256 which is enough for all i.MX SoCs. Signed-off-by: Sascha Hauer commit be124c94279edf4306798100f120c386947d8724 Author: Sascha Hauer Date: Thu Jun 4 12:19:02 2009 +0200 system.c: runtime base address Signed-off-by: Sascha Hauer commit 8db5d1a64d36d0750b88c6c13feeaf0e00be2eb4 Author: Sascha Hauer Date: Mon May 25 12:21:38 2009 +0200 MXC: pass base/irq to mxc_timer_init Signed-off-by: Sascha Hauer commit c12abc012e18b362204345c323536f228d65c4db Author: Jarkko Nikula Date: Fri Aug 7 09:59:47 2009 +0300 ARM: OMAP: McBSP: Fix ASoC on OMAP1510 by fixing API of omap_mcbsp_start/stop Simultaneous audio playback and capture on OMAP1510 can cause that second stream is stalled if there is enough delay between startup of the audio streams. Current implementation of the omap_mcbsp_start is starting both transmitter and receiver at the same time and it is called only for firstly started audio stream from the OMAP McBSP based ASoC DAI driver. Since DMA request lines on OMAP1510 are edge sensitive, the DMA request is missed if there is no DMA transfer set up at that time when the first word after McBSP startup is transmitted. The problem hasn't noted before since later OMAPs are using level sensitive DMA request lines. Fix the problem by changing API of omap_mcbsp_start and omap_mcbsp_stop by allowing to start and stop individually McBSP transmitter and receiver logics. Then call those functions individually for both audio playback and capture streams. This ensures that DMA transfer is setup before transmitter or receiver is started. Thanks to Janusz Krzysztofik for detailed problem analysis and Peter Ujfalusi for info about DMA request line behavior differences between the OMAP generations. Reported-and-tested-by: Janusz Krzysztofik Signed-off-by: Jarkko Nikula Acked-by: Tony Lindgren Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit bbd8a0d3a3b65d341437f8b99c828fa5cc29c739 Author: Krishna Kumar Date: Thu Aug 6 01:44:21 2009 +0000 net: Avoid enqueuing skb for default qdiscs dev_queue_xmit enqueue's a skb and calls qdisc_run which dequeue's the skb and xmits it. In most cases, the skb that is enqueue'd is the same one that is dequeue'd (unless the queue gets stopped or multiple cpu's write to the same queue and ends in a race with qdisc_run). For default qdiscs, we can remove the redundant enqueue/dequeue and simply xmit the skb since the default qdisc is work-conserving. The patch uses a new flag - TCQ_F_CAN_BYPASS to identify the default fast queue. The controversial part of the patch is incrementing qlen when a skb is requeued - this is to avoid checks like the second line below: + } else if ((q->flags & TCQ_F_CAN_BYPASS) && !qdisc_qlen(q) && >> !q->gso_skb && + !test_and_set_bit(__QDISC_STATE_RUNNING, &q->state)) { Results of a 2 hour testing for multiple netperf sessions (1, 2, 4, 8, 12 sessions on a 4 cpu system-X). The BW numbers are aggregate Mb/s across iterations tested with this version on System-X boxes with Chelsio 10gbps cards: ---------------------------------- Size | ORG BW NEW BW | ---------------------------------- 128K | 156964 159381 | 256K | 158650 162042 | ---------------------------------- Changes from ver1: 1. Move sch_direct_xmit declaration from sch_generic.h to pkt_sched.h 2. Update qdisc basic statistics for direct xmit path. 3. Set qlen to zero in qdisc_reset. 4. Changed some function names to more meaningful ones. Signed-off-by: Krishna Kumar Signed-off-by: David S. Miller commit 9f519f68cfffba022978634f724944a0b971fec1 Author: Yevgeny Petrilin Date: Thu Aug 6 19:28:18 2009 -0700 mlx4_en: Not using Shared Receive Queues We use 1:1 mapping between QPs and SRQs on receive side, so additional indirection level not required. Allocated the receive buffers for the RSS QPs. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit b6b912e0804dc1b3e856da3cc82fbe78b50e968c Author: Yevgeny Petrilin Date: Thu Aug 6 19:27:51 2009 -0700 mlx4_en: Using real number of rings as RSS map size There is no point in using more QPs then actual number of receive rings. If the RSS function for two streams gives the same result modulo number of rings, they will arrive to the same RX ring anyway. Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit a35ee541a66d11d26da30d3f6046dbddd073334e Author: Yevgeny Petrilin Date: Thu Aug 6 19:27:28 2009 -0700 mlx4_en: Adaptive moderation policy change If the net device is identified as "sender" (number of sent packets is higher then the number of received packets and the incoming packets are small), set the moderation time to its low limit. We do it because the incoming packets are acks, and we don't want to delay them Signed-off-by: Yevgeny Petrilin Signed-off-by: David S. Miller commit 6cb87823627699b0267234a210d8199b681c70e3 Author: Daniel Mack Date: Wed Aug 5 08:29:31 2009 +0000 net: smsc911x: switch to new dev_pm_ops Hibernation is unsupported for now, which meets the actual implementation in the driver. For free/thaw, the chip's D2 state should be entered. Signed-off-by: Daniel Mack Acked-by: Signed-off-by: David S. Miller commit a48ec346fcb095f6a0e74a57165f9a9a3b23b95a Author: Atsushi Nemoto Date: Thu Aug 6 04:41:49 2009 +0000 tc35815: Use 0 RxFragSize.MinFrag value for non-packing mode The datasheet say "When not enabling packing, the MinFrag value must remain at 0". Do not set value to RxFragSize register if TC35815_USE_PACKEDBUFFER disabled. This is not a bugfix. No real problem reported on this. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 7bb82e834cc9cc95512287a9bf637719557674a0 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:48 2009 +0000 tc35815: Fix rx_missed_errors count The Miss_Cnt register is cleared by reading. Accumulate its value to rx_missed_errors count. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit c60a5cf7af0a94cf8b09ca22796affa5f5f0669a Author: Atsushi Nemoto Date: Thu Aug 6 04:41:47 2009 +0000 tc35815: Increase timeout for mdio The current timeout value is too short for very high-load condition which jiffies might jump up in busy-loop. Also add minimum delay before checking completion of MDIO. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit db30f5ef6e4471fd55671382b8870fdd61e35814 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:46 2009 +0000 tc35815: Improve BLEx / FDAEx handling Clear Int_BLEx / Int_FDAEx after (not before) processing Rx interrupt. This will reduce number of unnecessary interrupts. Also print rx error messages only if netif_msg_rx_err() enabled. Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit 297713decac17527d3583fcd4d18564568cac759 Author: Atsushi Nemoto Date: Thu Aug 6 04:41:45 2009 +0000 tc35815: Disable StripCRC It seems Rx_StripCRC cause trouble on recovering from the BLEx (Buffer List Exhaust) or FDAEx (Free Descriptor Area Exhaust) condition. Do not use it. Also bump version number up. Reported-by: Ralf Roesch Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit bfe34ebbaa125f00da309f59cc9d30febe1e3115 Merge: 3d7ddd5 6b4f645 Author: David S. Miller Date: Thu Aug 6 12:57:18 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit b4a757367d36cebddcd332a4024d92f1e87af370 Author: Magnus Damm Date: Thu Aug 6 15:16:29 2009 +0000 sh: clean up Migo-R header file This patch moves the Migo-R specific header file from mach-common/ into mach-migor/ and removes unused cruft. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2d2bcd319a3d1412999cdfc72ad64eec992dc37e Author: Magnus Damm Date: Fri Aug 7 03:58:38 2009 +0900 sh: fix romImage mach dir usage This patch moves all the romImage related header files into the mach/ directory. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 7766e16beec3363516306754c9c51a85747d734d Author: Magnus Damm Date: Thu Aug 6 15:03:43 2009 +0000 sh: LED9, LED10 and LED11 support for Solution Engine 7724 This patch adds support for LED9, LED10 and LED11 on the Solution Engine 7724 board. If CONFIG_PM is enabled then these LEDs are used to show the hardware sleep mode used by the processor. Useful to debug cpuidle. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 33893d7aa00057d067527e0d8c210190efade8f1 Author: Magnus Damm Date: Thu Aug 6 14:58:43 2009 +0000 sh: kfr2r09 board support - NAND flash This patch adds support for the NAND flash chip attached to CS4 on the KFR2R09 board. The device is driven by the platform device driver "onenand-flash". Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9f26e659d8caf5820c51b9c695f0a313e636b99c Author: Magnus Damm Date: Thu Aug 6 14:51:30 2009 +0000 sh: kfr2r09 board support - LCDC panel This patch adds support for the WQVGA LCD display used by the KFR2R09 board. The LCD module is a TX07D34VM0AAA made by Hitachi, and this module is made up by a R61517 chip together with a 240x400 pixel display. The screen is attached to the SuperH Mobile LCDC using a 18-bit SYS bus. The register settings used by the SYS panel setup code are based on an out-of-tree driver which apart from duplicating all LCDC driver code and writing to non-existing hardware registers also never was posted for upstream merge. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ec56b66fed526e3b7dd58dba8945c405448f48d1 Author: Magnus Damm Date: Thu Aug 6 14:34:38 2009 +0000 sh: 18-bit SYS panel fix for SuperH Mobile LCDC Fix the SuperH Mobile LCDC driver to make use of the full 18-bit DRD field in the LDDRDR register. Without this patch only 16-bit register access is possible. Needed by 18-bit SYS panels such as the one used on kfr2r09. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 909f10de5de81668e4d0a401f3cb5ca6b8a3d20d Author: Magnus Damm Date: Thu Aug 6 14:28:12 2009 +0000 sh: LCDC SYS bus access wait fix Update the SuperH Mobile LCDC driver to wait for SYS bus to become idle after reading or writing. This is needed by the kfr2r09 board, but also fixes potential problems on other boards making use of the LCDC in a SYS configuration. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a5479e389e989acfeca9c32eeb0083d086202280 Author: Daniel Ribeiro Date: Mon Jun 15 21:44:31 2009 -0300 ASoC: change set_tdm_slot api to allow slot_width override. Extend set_tdm_slot to allow the user to arbitrarily set the frame width and active TX/RX slots. Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.c still doesn't handle the slot_width override. While being there, correct an incorrect use of SlotsPerFrm(7) use in bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) ). (this series is meant for Mark's for-2.6.32 branch) Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 9029bb316bb99ccc7f0518c4d3e0d6adc0729c4f Author: Janusz Krzysztofik Date: Thu Aug 6 12:25:00 2009 +0200 ASoC: CX20442: simplify codec controller usage This patch is a workaround for the problem of several subsequent control statements not being applied correctly to the codec controller (modem). In order to follow the hook switch state change from handset to handsfree while in full duplex mode, two consecutive +VLS control commands were sent to the modem. The first one was M1 (microphone only), the seconds one was M1S1 (both microphone and speaker). As there was no real modem handshaking procedure implemented, neither in the codec nor in the machine driver part of the line discipline, the modem was having the second command missed. Since a possibility to switch to microphone only mode (and speaker only mode as well) seams of no value, I have modified the code to issue single M1S1 command only for any of those cases. Tested on my Amstrad Delta. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 4977b03e3dc3b76182903cda2df9dc2ef8f566a0 Author: Janusz Krzysztofik Date: Thu Aug 6 12:24:54 2009 +0200 ASoC: CX20442: add some debugging This patch adds debugging statement that can help in tracing how the driver is trying to control the codec device. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 924914ee953f2ccf3a2d49bda08c9ce1046a0c58 Author: Mark Brown Date: Tue Aug 4 23:50:16 2009 +0100 ASoC: Add WM8776 CODEC driver The WM8776 is a high performance, stereo audio CODEC with five channel input selector. The WM8776 is ideal for surround sound processing applications for home hi-fi, DVD-RW and other audio visual equipment. This driver implements support for most WM8776 features - currently the ADC automatic level control/limiter functionality is omitted. Signed-off-by: Mark Brown commit 5e8d6b8bf94f1ffcb7e3c31b73284c20f297f191 Author: David Woodhouse Date: Thu Aug 6 20:20:43 2009 +1000 agp: fix uninorth build Signed-off-by: Dave Airlie commit bbff2e433e80fae72c8d00d482927d52ec19ba33 Author: Wu Fengguang Date: Thu Aug 6 11:36:25 2009 +0300 slab: remove duplicate kmem_cache_init_late() declarations kmem_cache_init_late() has been declared in slab.h CC: Nick Piggin CC: Matt Mackall CC: Christoph Lameter Signed-off-by: Wu Fengguang Signed-off-by: Pekka Enberg commit 1972d02504b142a6f1442bd987a8831146031d3d Author: Takashi Iwai Date: Thu Aug 6 08:44:43 2009 +0200 ALSA: hda - Add quirks for some HP laptops The new HP laptops have PCI SSID 103c:701x and requires model=hp-dv5. Signed-off-by: Takashi Iwai commit ace1366369841c9c3a9788f79baa4d73f1c53107 Author: Huang Ying Date: Thu Aug 6 15:35:20 2009 +1000 crypto: cryptd - Add support to access underlaying shash cryptd_alloc_ahash() will allocate a cryptd-ed ahash for specified algorithm name. The new allocated one is guaranteed to be cryptd-ed ahash, so the shash underlying can be gotten via cryptd_ahash_child(). Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 9382d97af586a47dad312765e35c61aa7ad7fcdd Author: Huang Ying Date: Thu Aug 6 15:34:26 2009 +1000 crypto: gcm - Use GHASH digest algorithm Remove the dedicated GHASH implementation in GCM, and uses the GHASH digest algorithm instead. This will make GCM uses hardware accelerated GHASH implementation automatically if available. ahash instead of shash interface is used, because some hardware accelerated GHASH implementation needs asynchronous interface. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit 2cdc6899a88e2b9c6cb82ebd547bf58932d534df Author: Huang Ying Date: Thu Aug 6 15:32:38 2009 +1000 crypto: ghash - Add GHASH digest algorithm for GCM GHASH is implemented as a shash algorithm. The actual implementation is copied from gcm.c. This makes it possible to add architecture/hardware accelerated GHASH implementation. Signed-off-by: Huang Ying Signed-off-by: Herbert Xu commit a2ca5e03b6a5a1d401062f0a7f78888cf9e5e3b0 Author: Frederic Weisbecker Date: Thu Aug 6 07:32:21 2009 +0200 tracing/events: Only define remove_subsystem_dir() if CONFIG_MODULES If we disable modules, we get the following warning in ftrace events file: kernel/trace/trace_events.c:912: attention : ‘remove_subsystem_dir’ defined but not used remove_subystem_dir() is useless if !CONFIG_MODULES, then move it to the appropriate #ifdef section of trace_events.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 1a0799a8fef5acc6503f9c5e79b2cd003317826c Author: Frederic Weisbecker Date: Wed Jul 29 18:59:58 2009 +0200 tracing/function-graph-tracer: Move graph event insertion helpers in the graph tracer file The function graph events helpers which insert the function entry and return events into the ring buffer currently reside in trace.c But this file is quite overloaded and the right place for these helpers is in the function graph tracer file. Then move them to trace_functions_graph.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 82e04af498a85ba425efe77580b7ba08234411df Author: Frederic Weisbecker Date: Wed Jul 29 18:00:29 2009 +0200 tracing: Move sched event insertion helpers in the sched switch tracer file The sched events helpers which insert the sched switch and wakeup events into the ring buffer currently reside in trace.c But this file is quite overloaded and the right place for these helpers is in the sched switch tracer file. Then move them to trace_functions.c Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit c0a0d0d3f65284c71115a9bb1ed801ee33eeb552 Author: Frederic Weisbecker Date: Wed Jul 29 17:51:13 2009 +0200 tracing/core: Make the stack entry helpers global Make the stacktrace event insertion helpers globals. This has two effects: - Prepare for moving the sched events insertion helpers to the sched switch tracer file. - Move some ifdef outside function definitions Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 5e5bf483986ad86ad25f25eec5299c86eb2d1c57 Author: Frederic Weisbecker Date: Wed Jul 29 17:11:12 2009 +0200 tracing/core: Turn ftrace_cpu_disabled into a global var In order to prepare the moving of the function graph tracer insertion helpers from trace.c to trace_functions_graph.c, we need to export the ftrace_cpu_disabled variable. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 07868b086cca784f4b532fc2ab574ec3a73b468a Author: Frederic Weisbecker Date: Wed Jul 29 03:33:51 2009 +0200 tracing/function-graph-tracer: Drop the useless nmi protection The function graph tracer used to have a protection against NMI while entering a function entry tracing. But this is useless now, this tracer is reentrant and the ring buffer supports the NMI tracing. We can then drop this protection. Signed-off-by: Frederic Weisbecker Cc: Steven Rostedt commit 0c9e6f639aed490202bbc79214f4495cf4bfde58 Author: Lai Jiangshan Date: Tue Jul 28 20:26:06 2009 +0800 tracing: Simplify print_graph_cpu() print_graph_cpu() is little over-designed. And "log10_all" may be wrong when there are holes in cpu_online_mask: the max online cpu id > cpumask_weight(cpu_online_mask) So change it by using a static column length for the cpu matching nr_cpu_ids number of decimal characters. Signed-off-by: Lai Jiangshan Cc: Steven Rostedt LKML-Reference: <4A6EEE5E.2000001@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker commit 3d7ddd540b4c2d24c6a3e7a52c083a0c31e6151c Author: Julia Lawall Date: Wed Aug 5 20:30:13 2009 -0700 net/rds: Use AF_INET for sin_family field Elsewhere the sin_family field holds a value with a name of the form AF_..., so it seems reasonable to do so here as well. Also the values of PF_INET and AF_INET are the same. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ struct sockaddr_in sip; @@ ( sip.sin_family == - PF_INET + AF_INET | sip.sin_family != - PF_INET + AF_INET | sip.sin_family = - PF_INET + AF_INET ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 9073e3a32bb249293edc01ecff575bb87380c068 Author: Divy Le Ray Date: Wed Aug 5 20:28:27 2009 -0700 cxgb3: fix 2 ports 1G regression commit 88045b3cf0f8981129cb489c7b6bc36c21dd33a7 cxgb3: fix mac index mapping Override the mac index computation for the gen2 adapter, as each port is expected to use index 0. introduces a regression on 2 port 1G adapter as its xauicfg vpd value is null. Add a check on the device id. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit a2551df7ec568d87793d2eea4ca744e86318f205 Author: Eric Paris 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 Signed-off-by: James Morris commit 84336d1a77ccd2c06a730ddd38e695c2324a7386 Author: Eric Paris 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 Signed-off-by: James Morris commit 7c73875e7dda627040b12c19b01db634fa7f0fd1 Author: Eric Paris 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 Acked-by: Serge Hallyn Signed-off-by: James Morris commit 012a5299a29672039f42944a37984558393ef769 Merge: da34d42 90bc1a6 Author: James Morris Date: Thu Aug 6 08:55:03 2009 +1000 Merge branch 'master' into next commit da34d4248bd2013ee64ce51e63ec0ebd1f32b46c Author: Julia Lawall Date: Wed Aug 5 14:34:55 2009 +0200 security/smack: Use AF_INET for sin_family field Elsewhere the sin_family field holds a value with a name of the form AF_..., so it seems reasonable to do so here as well. Also the values of PF_INET and AF_INET are the same. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ struct sockaddr_in sip; @@ ( sip.sin_family == - PF_INET + AF_INET | sip.sin_family != - PF_INET + AF_INET | sip.sin_family = - PF_INET + AF_INET ) // Signed-off-by: Julia Lawall Acked-by: Casey Schaufler Signed-off-by: James Morris commit c00aafcd4977769e8728292302ddbbb8b1082fab Merge: 2e6713c 90bc1a6 Author: Rafael J. Wysocki Date: Wed Aug 5 23:56:54 2009 +0200 Merge branch 'master' into for-linus commit fbb474dedab871c7382858c374acd287dad4ab38 Author: javier Martin Date: Wed Aug 5 22:29:39 2009 +0100 ASoC: Fix review issues in i.MX2x PCM driver Signed-off-by: javier Martin Signed-off-by: Mark Brown commit 2ccafed43a75b836a15bd36ef0acf466ba36604d Author: javier Martin Date: Tue Aug 4 17:18:02 2009 +0200 ASoC: add machine driver for i.mx27_visstrim_m10 board This adds support for i.mx27_visstrim_sm10 board machine driver which uses an i.mx27 processor plus a wm8974 codec. It has been tested on a visstrim_sm10 board. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit 9d8bc2968cb0b50ffa76ed806591974e34fc296a Author: javier Martin Date: Wed Aug 5 08:47:48 2009 +0200 ASoC: add DAI platform ssi driver for MXC This adds support for DAI platform for the SSI present in MXC platforms. It currently does not support i.MX3, the only thing necessary to do this is to export DMA data for i.MX3 interface which I haven't done because I don't have a i.MX3 based board available. It has been tested on i.MX27 board. Signed-off-by: Mark Brown commit fd6a6394d7d6142afb3d4c87beb3c2c1d25c69bd Author: javier Martin Date: Tue Aug 4 17:17:52 2009 +0200 ASoC: add DMA platform driver for MX1x and MX2x This adds support for DMA platform valid for i.MX1 and i.MX2 platforms. This is not valid for i.MX3 since it doesn't share the same DMA interface than i.MX1 and i.MX2. It has been tested on i.MX27 board. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit 15b5bdaeeb15e0c18cca3ce7449188ca46516721 Author: Daniel Mack Date: Wed Aug 5 20:50:43 2009 +0200 ALSA: ASoC: cs4270: move power management hooks to snd_soc_codec_device Power management for the cs4270 codec is currently implemented as part of the i2c_driver struct. The disadvantage of doing it this way is that the callbacks registered in the snd_soc_card struct are called _before_ the codec's callbacks. That doesn't work, because the snd_soc_card callbacks will most likely switch down the codec's power domains or pull the reset GPIOs, and hence make the i2c communication bail out. Fix this by binding the suspend and resume code to the snd_soc_codec_device driver model and let the I2C functions only call the SoC core function for resume and suspend, which do nothing currently but will do later. Signed-off-by: Daniel Mack Cc: Timur Tabi Signed-off-by: Mark Brown commit 13efdbecc65ef6ec4028551fb223dea5c5e3143c Merge: 61f4a10 6fd210a Author: Russell King Date: Wed Aug 5 22:10:52 2009 +0100 Merge branch 'pm-upstream/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap-pm into devel-stable commit b0a2712ffdde139f95d3e78c359877b23709509a Author: John Bonesio Date: Wed Jul 29 08:38:55 2009 -0700 ASoC: MPC5200: Support for buffer wrap around The code in psc_dma_bcom_enqueue_tx() didn't account for the fact that s->runtime->control->appl_ptr can wrap around to the beginning of the buffer. This change fixes this problem. Signed-off-by: John Bonesio Acked-by: Grant Likely Signed-off-by: Mark Brown commit cc104e52b4f61dbfe1a815f775ffb2fbbb4b785d Author: Benjamin LaHaise Date: Tue Aug 4 10:22:19 2009 +0000 vxge: Version update Update the driver version number for any bug reports from end users. Signed-off-by: Benjamin LaHaise Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ea11bbe0c94b045fdefc05476b69a2eef999a9c4 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:57 2009 +0000 vxge: prefetch skb->data This patch implements prefetching of skb->data from a copy of the pointer in the descriptor (which is already in the L1 cache at this point). This improves netperf rx performance (netperf -L 0,0 -c -H 192.168.254.2 -- -M 131072 -m 131072) by 4.9% on a P4 Xeon host. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 3f23e436d241ac1cf50a659228a5a0e1e6572c1a Author: Benjamin LaHaise Date: Tue Aug 4 10:21:39 2009 +0000 vxge: prefetch RxD descriptors This patch prefetches RxD descriptors which helps to lower the latency of a cache miss in vxge_hw_ring_rxd_next_completed. This lowers the % of CPU time used by vxge_hw_ring_rxd_next_completed() where the descriptor is accessed in profiling netperf on a P4 Xeon from 1.5% to 1.0%. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ff1b974cf30b282f90993ab658e59b73c152c0b8 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:21 2009 +0000 vxge: improve tx performance by using mmiowb() instead of wmb() wmb() is extremely heavy on x86. The semantics required in the driver are provided by mmiowb(), so use that and improve tx performance on P4 Xeons by 5-10%. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit ff67df55f6bde9de5e508bf1f09509c843accd54 Author: Benjamin LaHaise Date: Tue Aug 4 10:21:03 2009 +0000 vxge: fix pktgen hangs (don't abuse skb->cb[]) This patch fixes a case in the transmit completion code which was resulting in pktgen hanging at the end of a run. The cause is due to the fact that the ->cb[] area of an skb cannot be used in a network driver's transmit path, as that area belongs to the network protocol. Pktgen hangs, as it sends out the same packet multiple times, and vxge's use of this area of the skb for a temporary list can only add the packet to the temporary list once (while it may be on the queue many times). The fix is to remove this abuse of skb->cb[]. Instead, skb pointers are placed into a temporary stack array, and then free outside of the tx lock. This retains the smp optimization of doing dev_kfree_skb() outside of the tx lock. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 4403b371888d5947ed08200ee6351441a188a5c7 Author: Benjamin LaHaise Date: Tue Aug 4 10:20:44 2009 +0000 vxge: don't drop frame on tx queue full The vxge driver will drop a packet in its transmit function if the number of TxDs available hits 0. Instead of doing that, simply stop the transmit queue when transmitting a packet with the last available TxD. Signed-off-by: Benjamin LaHaise Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 36e89d73e54c8db79d0fd1636cab9236eea7aae9 Author: Lucy Liu Date: Wed Aug 5 13:06:34 2009 -0700 ixgbe: allow vlan egress priority mapping in DCB mode The skb priority to vlan-qos egress mapping that can be configured using set_egress_map with vconfig is overriden by the DCB code in the driver. This patch allows this existing mechanism to work and will increase the configuration flexibility of DCB mode on Linux. A hierarchy of configuration is: 1. Modifies the ixgbe_select_queue() routine for DCB mode to return the priority value from the VLAN tag. It will normally be zero, unless the egress priority map has modified it. This will get packets into the correct queue and result in the queue_mapping field being set correctly. 2. Any tc filter which modifies queue_mapping will be honored, as the filters are handled after the vlan egress map is handled. Signed-off-by: Lucy Liu Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 14074eab8dcaa7f66d8f52612b2dcec51222bb5f Author: sarveshwarb Date: Wed Aug 5 13:05:24 2009 -0700 be2net: Patch to perform function reset at initialization This patch is a bug fix to avoid system going into a bad state when driver is loaded in context of kdump kernel. The patch fixes the issue by performing a soft reset of pci function at probe time. Signed-off-by: sarveshwarb Signed-off-by: David S. Miller commit 0d6038ee76f2e06b79d0465807f67e86bf4025de Author: Jan Engelhardt Date: Tue Aug 4 07:28:29 2009 +0000 net: implement a SO_DOMAIN getsockoption This sockopt goes in line with SO_TYPE and SO_PROTOCOL. It makes it possible for userspace programs to pass around file descriptors — I am referring to arguments-to-functions, but it may even work for the fd passing over UNIX sockets — without needing to also pass the auxiliary information (PF_INET6/IPPROTO_TCP). Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 49c794e94649020248e37b78db16cd25bad38b4f Author: Jan Engelhardt Date: Tue Aug 4 07:28:28 2009 +0000 net: implement a SO_PROTOCOL getsockoption Similar to SO_TYPE returning the socket type, SO_PROTOCOL allows to retrieve the protocol used with a given socket. I am not quite sure why we have that-many copies of socket.h, and why the values are not the same on all arches either, but for where hex numbers dominate, I use 0x1029 for SO_PROTOCOL as that seems to be the next free unused number across a bunch of operating systems, or so Google results make me want to believe. SO_PROTOCOL for others just uses the next free Linux number, 38. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit c1c00ab8626298ac784ea344bf10e94b5bd9bcb5 Author: Dhananjay Phadke Date: Wed Aug 5 07:34:09 2009 +0000 netxen: add hardware LRO support Add support to handle aggregate packets from firmware. Local TCP flows are automatically identified by firmware based on the dest IP hash added by driver for local IP addresses. The packets are sent down on the jumbo rx ring. Signed-off-by: Narender Kumar Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 06db58c0cd92e157a4ccf2b6836c9f4b931c7cda Author: Dhananjay Phadke Date: Wed Aug 5 07:34:08 2009 +0000 netxen: remove unnecessary structures Remove unnecessary offsetof calulations on these structures: netxen_board_info, netxen_user_old_info, netxen_new_user_info. The offsets into the flash are fixed, don't need to be calculated. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 545eb370087494dcf267e6285fe3aa20e5617c33 Author: Dhananjay Phadke Date: Wed Aug 5 07:34:07 2009 +0000 netxen: fix vlan tso case Fix the calculation of remaining header length in TSO over vlan device case. This was inadvertently missed out in patch 028afe719855a157e32450c ("netxen: add vlan tx acceleration support"). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 839b04c4aba91dd175f60f45712680126fdc88f7 Author: Florian Fainelli Date: Tue Aug 4 11:17:49 2009 +0000 cpmac: unmark as broken Starting with version 0.5.1, cpmac is no longer broken. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 4e43af323a669a977fcb35f1127c57480ebf7265 Author: Florian Fainelli Date: Tue Aug 4 10:53:00 2009 +0000 cpmac: bump version to 0.5.1 Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit e4540aa94f9b3e75528d9091524e7d82a0650f10 Author: Florian Fainelli Date: Tue Aug 4 10:52:57 2009 +0000 cpmac: wait longer after MDIO reset This patch slows down the MDIO_ALIVE busy waiting to let switches and PHY come up after reset. Previous loop was too quick for IC+175C and ADM6996C/L switches to come up. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 76e61eaa55e33ea51205fad633393d1ae10311c5 Author: Florian Fainelli Date: Tue Aug 4 10:52:52 2009 +0000 cpmac: add support for fixed PHY This patch adds support for fixed PHY connected in MII mode to cpmac. We allow external and dumb_switch module parameters to override the PHY detection process since they are always connected with MDIO bus identifier 0. This lets fixed PHYs to be detected correctly and be connected to the their corresponding MDIO bus identifier. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 1e2c8d830a74c24ccb25601bd89dcd0dbcb4e9f5 Author: Florian Fainelli Date: Tue Aug 4 10:52:47 2009 +0000 ar7: add fixed PHY support for the two on-board cpmac This patch adds fixed PHY support for the two on-chip cpmac Ethernet adapters. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit d76c626b922e279c7764ec46fb1b9bbd41538f35 Author: Florian Fainelli Date: Tue Aug 4 10:52:41 2009 +0000 cpmac: fix wrong MDIO bus identifier This patch fixes the wrong MDIO bus identifier which was set to 0 unconditionaly, suitable for external switches while it is actually 1 for PHYs different than external switches which are autodetected. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 36cbd3dcc10384f813ec0814255f576c84f2bcd4 Author: Jan Engelhardt Date: Wed Aug 5 10:42:58 2009 -0700 net: mark read-only arrays as const String literals are constant, and usually, we can also tag the array of pointers const too, moving it to the .rodata section. Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 4bc4c9a5f5206d795e9ee1af8b0b074d126354af Author: Mark Brown Date: Tue Aug 4 11:38:42 2009 +0100 ASoC: Existing S3C24xx AC97 drivers should depend on S3C24xx Signed-off-by: Mark Brown commit ce69a784504222c3ab6f1b3c357d09ec5772127a Author: Gleb Natapov Date: Mon Jul 20 15:24:17 2009 +0300 x86/apic: Enable x2APIC without interrupt remapping under KVM KVM would like to provide x2APIC interface to a guest without emulating interrupt remapping device. The reason KVM prefers guest to use x2APIC is that x2APIC interface is better virtualizable and provides better performance than mmio xAPIC interface: - msr exits are faster than mmio (no page table walk, emulation) - no need to read back ICR to look at the busy bit - one 64 bit ICR write instead of two 32 bit writes - shared code with the Hyper-V paravirt interface Included patch changes x2APIC enabling logic to enable it even if IR initialization failed, but kernel runs under KVM and no apic id is greater than 255 (if there is one spec requires BIOS to move to x2apic mode before starting an OS). -v2: fix build -v3: fix bug causing compiler warning Signed-off-by: Gleb Natapov Acked-by: Suresh Siddha Cc: Sheng Yang Cc: "avi@redhat.com" LKML-Reference: <20090720122417.GR5638@redhat.com> Signed-off-by: Ingo Molnar commit cbdcf80d8b9486ddb699a044c6f87f25821708cb Author: Steffen Klassert Date: Wed Aug 5 19:35:34 2009 +1000 crypto: authenc - Convert to ahash This patch converts authenc to the new ahash interface. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit c1155e34998bc07937cdf0c9db16b6902633a255 Author: Christoph Hellwig Date: Tue Aug 4 16:55:29 2009 +0200 sh: convert to asm-generic/hardirq.h Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mundt commit 9910887af84e33ba98fd6792029470ae80166208 Author: Cyrill Gorcunov Date: Thu Jul 23 00:52:59 2009 +0400 x86, apic: Drop redundant bit assignment cpu_has_apic has already investigated boot_cpu_data X86_FEATURE_APIC bit for being clear if condition is triggered. So there is no need to clear this bit second time. Signed-off-by: Cyrill Gorcuno v Cc: "Maciej W. Rozycki" LKML-Reference: <20090722205259.GE15805@lenovo> Signed-off-by: Ingo Molnar commit a7428cd2ef77734465e36bceb43290e37e2a97c6 Author: Cyrill Gorcunov Date: Sat Aug 1 11:48:00 2009 +0400 x86, ioapic: Throw BUG instead of NULL dereference Instead of plain NULL deref we better throw error message with a backtrace. Actually we need more gracious error handling here. Meanwhile leave it as is. Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org LKML-Reference: <20090801075435.769301745@openvz.org> Signed-off-by: Ingo Molnar commit 2977fb3ffc8493a2f4f0a362e8660a6cde9f1bb9 Author: Cyrill Gorcunov Date: Sat Aug 1 11:47:59 2009 +0400 x86, ioapic: Introduce for_each_irq_pin() helper This allow us to save a few lines of code. Signed-off-by: Cyrill Gorcunov Cc: yinghai@kernel.org LKML-Reference: <20090801075435.597863129@openvz.org> Signed-off-by: Ingo Molnar commit dd0d5443da02b091636e967407805f0b7712fd44 Author: Dmitry Torokhov Date: Wed Aug 5 00:30:26 2009 -0700 Input: serio - don't use serio->write() directly We have a nice wrapper for that. Signed-off-by: Dmitry Torokhov commit c46dd1eb9a4f1b8c1bb597a75199e3d34fb7b43b Author: Paul Fox Date: Wed Aug 5 00:30:31 2009 -0700 Input: hgpk - forced recalibration for the OLPC touchpad The OLPC XO laptop incorporates a combination touchpad/tablet device which unfortunately requires frequent recalibration. The driver will force this automatically when various suspicious behaviors are observed, and the user can recalibrate manually (with a special keyboard sequence). There's currently no way, however, for an external program to cause recalibration. We can not use the reconnect capability which is already available in /sys because full reset of the touchpad takes 1.1 - 1.2 secons which is too long. This patch creates a new node in /sys which, when written with '1', will force a touchpad recalibration; no other writes (or reads) of this node are supported. Signed-off-by: Paul Fox Acked-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 94aa9b9ab09922cfd3bf52806f3ede9cde1ce300 Merge: b7f3158 ba3139f Author: Dave Airlie Date: Wed Aug 5 17:28:35 2009 +1000 Merge git://git.infradead.org/~dwmw2/iommu-agp into agp-next commit ba3139f2577eee24479db73b8dfc7d78eaf4c486 Author: David Woodhouse Date: Wed Aug 5 08:12:40 2009 +0100 intel-agp: Set dma mask for i915 If DMAR is configured in but absent, we really do want to make sure that the dma mask is set appropriately. Otherwise we get mapping failures on highmem. Spotted by Zhenyu Wang. Signed-off-by: David Woodhouse commit cf5f439b48f82c230dcd81d0061e00664cbb6d39 Author: Richard Röjfors Date: Tue Aug 4 22:34:10 2009 -0700 Input: tsc2007 - check if I2C communication works during probe Check the result when sending the power down command to the controller. Signed-off-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit d570e9ef84e559b09e729f27f5381b6868f6cc5f Author: Dmitry Torokhov Date: Tue Aug 4 22:07:26 2009 -0700 Input: tsc2007 - make get_pendown_state platform callback optional In cases when get_pendown_state callback is not available have the driver to fallback on pressure calculation to determine if the pen is up. Signed-off-by: Dmitry Torokhov commit db71789c01ae7b641f83c5aa64e7df25122f4b28 Author: David S. Miller Date: Tue Aug 4 20:32:16 2009 -0700 xfrm6: Fix xfrm6_policy.c build when SYSCTL disabled. Same as how Randy Dunlap fixed the ipv4 side of things. Signed-off-by: David S. Miller commit f816700aa9ef1b1e2f984f638cb211e79dcab495 Author: Randy Dunlap Date: Tue Aug 4 20:18:33 2009 -0700 xfrm4: fix build when SYSCTLs are disabled Fix build errors when SYSCTLs are not enabled: (.init.text+0x5154): undefined reference to `net_ipv4_ctl_path' (.init.text+0x5176): undefined reference to `register_net_sysctl_table' xfrm4_policy.c:(.exit.text+0x573): undefined reference to `unregister_net_sysctl_table Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit b7f315842830d67081642248a3757c713b6b6684 Merge: 90bc1a6 6a12235 Author: Dave Airlie Date: Wed Aug 5 10:16:57 2009 +1000 Merge git://git.infradead.org/~dwmw2/iommu-agp into agp-next commit 560ab42ef923aaf2e4347315bdfcc74b2708972c Author: NeilBrown Date: Tue Aug 4 15:22:39 2009 +1000 sunrpc: fix memory leak in unix_gid cache. When we look up an entry in the uid->gidlist cache, we take a reference to the content but don't drop the reference to the cache entry. So it never gets freed. Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields commit 6b4f645a491ac29c7dced415d034eea7736155a6 Author: Luis R. Rodriguez Date: Mon Aug 3 13:51:49 2009 -0700 ath9k: fix compile warning on ath9k_hw_AR9287_check_eeprom() CC [M] drivers/net/wireless/ath/ath9k/eeprom.o drivers/net/wireless/ath/ath9k/eeprom.c: In function ‘ath9k_hw_AR9287_check_eeprom’: drivers/net/wireless/ath/ath9k/eeprom.c:2866: warning: comparison of distinct pointer types lacks a cast Cc: Vivek Natarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e3b90ca28412fb9dcc8c5ca38e179e78fec07eee Author: Igor Perminov Date: Tue Aug 4 16:48:51 2009 +0400 mac80211: FIF_PSPOLL filter flag When an interface is configured in the AP mode, the mac80211 implementation doesn't inform the driver to receive PS Poll frames. It leads to inability to communicate with power-saving stations reliably. The FIF_CONTROL flag isn't passed by mac80211 to ieee80211_ops.configure_filter when an interface is in the AP mode. And it's ok, because we don't want to receive ACK frames and other control ones, but only PS Poll ones. This patch introduces the FIF_PSPOLL filter flag in addition to FIF_CONTROL, which means for the driver "pass PS Poll frames". This flag is passed to the driver: A) When an interface is configured in the AP mode. B) In all cases, when the FIF_CONTROL flag was passed earlier (in addition to it). Signed-off-by: Igor Perminov Signed-off-by: John W. Linville commit e48e3a2f17f189deb086ff221e489e7fd8ec4302 Author: Luis R. Rodriguez Date: Fri Jul 24 20:47:33 2009 -0400 ath9k: cancel xmit poll work at stop() callback We forgot to cancel this work at the stop() callback. ------------[ cut here ]------------ WARNING: at net/mac80211/util.c:511 ieee80211_queue_delayed_work+0x3a/0x40 [mac80211]() Hardware name: 6460DWU queueing ieee80211 work while going to suspend Modules linked in: <-- snip --> Pid: 5124, comm: phy0 Tainted: G W 2.6.31-rc3-wl #4 Call Trace: [] ? ieee80211_queue_delayed_work+0x3a/0x40 [mac80211] [] warn_slowpath_common+0x78/0xd0 [] warn_slowpath_fmt+0x64/0x70 [] ? thread_return+0x3e/0x635 [] ieee80211_queue_delayed_work+0x3a/0x40 [mac80211] [] ath_tx_complete_poll_work+0xc0/0x100 [ath9k] [] ? ath_tx_complete_poll_work+0x0/0x100 [ath9k] [] worker_thread+0x178/0x260 [] ? autoremove_wake_function+0x0/0x40 [] ? worker_thread+0x0/0x260 [] kthread+0x9e/0xb0 [] child_rip+0xa/0x20 [] ? kthread+0x0/0xb0 [] ? child_rip+0x0/0x20 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d7e7d229c7d1395283e1e1fda8727af60ca6f4ad Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:12 2009 -0400 ath9k: add initial hardware support for ar9271 We will finalize this after some driver core changes, for now we leave this unsupported. Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 670388c5f56383e1d5b9f4f7fc835a280487754e Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:11 2009 -0400 ath9k: add initvals and registry definitions for AR9271 Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit edb1f9152f1f346381336554674f5d443fc5f473 Author: Luis R. Rodriguez Date: Mon Aug 3 23:14:10 2009 -0400 ath9k: add ar9271 revision and subrevision ID helpers These will be used later to add support for ar9271. Cc: Stephen Chen Cc: Zhifeng Cai Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 475f5989d4dc359046521cdfe9869cabf8c9fce9 Author: Luis R. Rodriguez Date: Mon Aug 3 17:31:25 2009 -0400 ath9k: Remove _t postfix for ar9287_eeprom structure We don't use typdefs on ath9k, remove that _t. Cc: Vivek Natarajan Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39068d1c2810077377fc2ffcfbe380bfbed696cb Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:56 2009 -0700 ath9k: remove spurious check for channel on keycache reset ath9k_hw_keyreset() has a spurious check for ah->curchan.. remove it. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2f69ffacb303bba274b126eabd3a3ed011b2d35d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:55 2009 -0700 ath9k: remove dangling error check on keycache reset on hw init The keycache reset will not fail as right above we ensure to set the sc->keymax to be <= ah->caps.keycache_size. Just remove this dangling check. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 95fafca26dc317b7ea0667c57576b0b5389f5bef Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:54 2009 -0700 ath9k: call ath9k_hw_detach() once upon hw init failure If hw initialization fails (ath9k_hw_init()) on ath_init_softc() we bail out and call ath9k_hw_detach(). The call ath9k_hw_detach() is conditional though as ath9k_hw_init() could itself have called ath9k_hw_detach(). Just describing this is itself a brain twister. Avoid this nonsense by removing ath9k_hw_detach() from ath9k_hw_init(). Upon hw initialization failure we expect the callers to take care of the cleanup. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 3ce1b1a949ae849fb73556867e60977a65ca3141 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:53 2009 -0700 ath9k: set sc->sc_ah to NULL after freeing it Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9db6b6a25fd829a0d29480785ac0770a1e76f9a4 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:52 2009 -0700 ath9k: set ah to null after freeing Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e70c0cfdbf98384d9ce0b7a7332b6e60ec22ad54 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:51 2009 -0700 ath9k: rename ath9k_hw_ani_detach() to ath9k_hw_ani_disable() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 081b35ab2e98a2f76d0378219e91cd1c90aed55f Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:50 2009 -0700 ath9k: rename ath9k_hw_rfdetach() to ath9k_hw_rf_free() This makes it clear what this does. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 6b827529058d6d479f31b281a9ec630f7b6841e1 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:49 2009 -0700 ath9k: use helper macro to kfree and nullify on ath9k_hw_rfdetach() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39a21951efc99e040a7d66449f63910e439b97e9 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:48 2009 -0700 ath9k: remove !NULL check before kfree() kfree(NULL) works so remove all those branches which check for it before kfree()'ing on ath9k_hw_rfdetach(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 1e40bcfa91429edb665af9ffefb2658350913d35 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:47 2009 -0700 ath9k: distinguish between device initialization and ath_softc init We re-label the device driver initialization routines from the ath_softc, the "Software Carrier" fillers. This should make it clearer what each of these do. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f637cfd6bbacbaeab329f9dfc56e9855cc15849d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:46 2009 -0700 ath9k: describe hw initialization better During initialization ath9k tends to use "attach" to when we initialize hardware due to the fact we used to attach a "HAL". The notion of a HAL is long gone, so lets just be clear on what we are doing. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit aa4058aea24efe7aef736cbfb2d9b07de920ca27 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:45 2009 -0700 ath9k: break up hw initialization into a few more helpers This makes reading the hardware initialization process easier to understand. The new helpers added are: ath9k_hw_init_cal_settings() ath9k_hw_init_mode_regs() ath9k_hw_init_mode_gain_regs() ath9k_hw_init_11a_eeprom_fix() This patch has no functional changes. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 08e0403a1472d9fa3662369a36ccaf24c796a33e Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:44 2009 -0700 ath9k: remove debug message for no memoery on ath_init() We're now propagating the -ENOMEM error so there is no need to keep a debug message there now. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b8b0f377c762558b3773e27f73c7bbcd0fa40171 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:43 2009 -0700 ath9k: rename ath9k_hw_set_defaults() to ath9k_hw_init_config() This reflects better what we are actually doing there. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 50aca25b5824f29fa94417abadf82ee7f0c7f816 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:42 2009 -0700 ath9k: rename ath9k_hw_newstate() to ath9k_hw_init_defaults() This reflects better what we are actually doing there. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit f9d4a668035b0bf65d1c8d5eba680201112f7c3d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:41 2009 -0700 ath9k: move hw macrevision checker to helper Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 07c10c6177bdd199fead127c2a4c43acb415a5be Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:40 2009 -0700 ath9k: pass only one argument to hw attach The softc is cached and set within the ath_hw struct. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ee2bb460e28b757f097efb9e5947a6e47e2477e1 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:39 2009 -0700 ath9k: call hw initializer directly ath9k_hw_attach() was going first through some device id verifier, and then calling some other helper which was doing the real hardware initialization. Lets just do the devid checks within the real worker by calling a helper ath9k_hw_devid_supported(). Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e1e2f93ffacab692823209e00a124e802039aa9a Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:38 2009 -0700 ath9k: move cache setting of softc ah prior to attach We do this in case attach and friends try to get back to ah from the softc somehow. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8df5d1b77395271dd9b75ed2b9aa9235f7589a0d Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:37 2009 -0700 ath9k: move devid cache setting to ath_init() This lets us trim one argument off of hw initializer routines. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4f3acf81f2a47244f7403353784f528c92e98a6c Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:36 2009 -0700 ath9k: move memory allocation of ath_hw to ath_init() This lets us simplify attach code and arguments passed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7819ac84b689b61340f29af6233fa1d15b76a6ef Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:35 2009 -0700 ath9k: propagate hw initialization errors We were never propagating hw initialization errors, lets do that now and also use -EOPNOTSUPP when device revision is not supported yet. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fbf54660d1b48fba8527aae5c628ba72feee8f83 Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:34 2009 -0700 ath9k: use a switch for revising supported hw mac revisions This makes adding new hw revisions a one line change here. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ed459c18517881890193b3414a25dbfe83d2ae7f Author: Luis R. Rodriguez Date: Mon Aug 3 12:24:33 2009 -0700 ath9k: remove usage of AR_SREV_*() wrapper to detect supported hw We will clean this up next to just use a switch. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8dadadb7e977a91b46ed3549f9d2f22a629e5043 Author: Johannes Berg Date: Tue Aug 4 09:32:23 2009 +0200 cfg80211: clear SSID on disconnect/no connection The SME state machine in cfg80211 uses the SSID stored in struct wireless_dev internally, but fails to clear it in multiple places (when giving up on a connection attempt and when disconnecting). This doesn't matter to the SME state machine, but does matter for IBSS. Thus, in those cases, clear the SSID to avoid messing up the IBSS state machine. Reported-by: Joerg Albert Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 847c1e130092240c225a7be08607a7bf4e296fbd Author: Zhu Yi Date: Mon Aug 3 14:37:03 2009 +0800 iwmc3200wifi: avoid setting default key for 802.1X and RSNA UMAC only allows us to set default key for WEP and auth type is not 802.1X or RSNA. This patch fixes iwmc3200wifi for 802.1X with WEP104. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit beda278d987cf7091302cf730c5b226d88e01c5b Author: Zhu Yi Date: Mon Aug 3 14:37:02 2009 +0800 iwmc3200wifi: set WEP key static flag correctly We should only set the static_key flag for open and legacy authentication types. It should not be set for 802.1X and TKIP. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 554503f8c9e11cbea92b7cf1e31f7e4d93ad4492 Author: Zhu Yi Date: Mon Aug 3 14:37:01 2009 +0800 iwmc3200wifi: fix set_wpa_version and set_auth_type order iwm->umac_profile->sec.flags is set by iwm_set_wpa_version and checked by iwm_set_auth_type. The patch changes the order to make the flag used correctly. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 738f0f4301587ad09b58651390b122205086b484 Author: Gábor Stefanik Date: Mon Aug 3 01:28:12 2009 +0200 b43: implement baseband init for LP-PHY <= rev1 Implement baseband init for rev.0 and rev.1 LP PHYs. Convert boardflags_hi values to defines. Implement b43_phy_copy for easier copying between registers, as needed by LP-PHY init. Signed-off-by: Gábor Stefanik Cc: Michael Buesch Cc: Larry Finger Signed-off-by: John W. Linville commit d8cc8926e9b4dc2ce513ee3325bf16b4ea6d94e8 Author: Pavel Roskin Date: Sun Aug 2 14:30:15 2009 -0400 rt2x00: cancel all work on disconnect Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 117839bd1251dc654938c529c95c7611ac260351 Author: Pavel Roskin Date: Sun Aug 2 14:30:02 2009 -0400 rt61pci: fix module reloading Unloading rt61pci can leave the device in such state that reloading rt61pci would fail to reinitialize it. Bogus data would be read from the EEPROM and the RF version won't be recognized. It appears that unloading rt61pci with power saving enabled would have such effect. To initialize the device properly, SOFT_RESET_CSR should be set to the same value as rt61pci_config_ps() uses to wake up the device. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit c1be5152860218dffea6a47cff5ea31a56c6cff5 Author: Larry Finger Date: Sat Aug 1 22:32:48 2009 -0500 b43legacy: Work around mac80211 race condition As shown in http://thread.gmane.org/gmane.linux.kernel.wireless.general/36497, mac80211 has a bug that allows a call to the TX routine after the queues have been stopped. This situation will only occur under extreme stress. Although b43legacy does not crash when this condition occurs, it does generate a WARN_ON and also logs a queue overrun message. This patch recognizes b43legacy is not at fault and logs a message only when the most verbose debugging mode is enabled. In the unlikely event that the queue is not stopped when the DMA queue becomes full, then a warning is issued. This patch is based on the one used by b43. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3ad201496badddd8e1cda87ee6d29e8b3b8e1279 Author: Tomas Winkler Date: Sun Aug 2 02:36:49 2009 +0300 rfkill: add the GPS radio type Althoug GPS is a technology w/o transmitting radio and thus not a primary candidate for rfkill switch, rfkill gives unified interface point for devices with wireless technology. The input key is not supplied as it is too be deprecated. Cc: johannes@sipsolutions.net Signed-off-by: Tomas Winkler Acked-by: Marcel Holtmann Signed-off-by: John W. Linville commit 87cdb9894b9367237f25e5a4c381eb8e594e782b Author: Julia Lawall Date: Sat Aug 1 21:50:31 2009 +0200 drivers/net/wireless: 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/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: John W. Linville commit 2c8d51048f6a54aabe2e15278210cb07288e17bb Author: Maithili Hinge Date: Fri Jul 31 20:02:19 2009 -0700 libertas: Fix WEP association failure with open source wpa_supplicant 0.5.10 Add code to handle IW_AUTH_PRIVACY_INVOKED and IW_AUTH_RX_UNENCRYPTED_EAPOL cases in lbs_set_auth() function in libertas code. Signed-off-by: Maithili Hinge Signed-off-by: Bing Zhao Acked-by: Dan Williams Signed-off-by: John W. Linville commit abdc2d62be335b85091e8f74081336563277a163 Author: Jay Sternberg Date: Fri Jul 31 14:28:09 2009 -0700 iwlwifi: remove duplicated version info from sysfs version info in sysfs had been determined to be unnecessary as it is already provided in syslog info. nvm version is added to syslog version info as a debug level message to provide all info that was in the version sysfs data. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a11c4d000b84f7f49ebefc018c24bbfa3c9c0f3b Author: Wey-Yi Guy Date: Fri Jul 31 14:28:08 2009 -0700 iwlwifi: remove deprecated 6000 series adapters Remove the support for deprecated devices. These devices are engineering samples and no longer supported by the uCode. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 65b7998a9be418482493e9448bb83ff2914ed050 Author: Wey-Yi Guy Date: Fri Jul 31 14:28:07 2009 -0700 iwlwifi: Distinguish power amplifier for 6000 series For 6x00 2x2 NIC, two types of Power Amplifier are available. In order for uCode to apply correct tx power, driver needs to program the CSR_GP_DRIVER_REG register and let uCode know the type of PA. If driver do not program CSR_GP_DRIVER_REG register (default to 0), then it is uCode's decision for tx power 2x2 Hybrid card: use both internal and external PA 2x2 IPA(Internal Power Amplifier) card: internal PA only Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 8ce73f3abd064081706cc337c771378fc4431ef3 Author: Daniel C Halperin Date: Fri Jul 31 14:28:06 2009 -0700 iwlwifi: clear iwl_cmd_meta structure before use Resolve an issue in which out-dated fields in iwl_cmd_meta could be used for later hardware commands. Signed-off-by: Daniel C Halperin Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 92ca8d437fdbb482752534885d86af264897da85 Author: gregor kowski Date: Fri Jul 31 22:35:49 2009 +0200 b43: remove wrong probe_resp_plcp write The tkip hw support uncovered a bug in b43_write_probe_resp_template : it is writing at the wrong shm offset, it is in the B43_SHM_SH_TKIPTSCTTAK zone. This patch comments these writes. Signed-off-by: Gregor Kowski Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit f62ae6cd887a184d6923037d588b5b2466aa2a97 Author: Michael Buesch Date: Fri Jul 31 20:51:41 2009 +0200 b43: Fix unaligned 32bit SHM-shared access This fixes unaligned 32bit SHM-shared read/write access. The low and high 16 bits were swapped. It also adds a testcase for this to the chipaccess validation. (Thanks to Albert Herranz for tracking down this bug.) Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 88d89526a671ba008f59456161b0c513cdfb5d5a Author: Andrey Yurovsky Date: Fri Jul 31 11:35:19 2009 -0700 libertas: check valid bits in SPI bus mode reg The SPI driver writes to the bus mode register and performs a sanity check by reading back what we wrote, however only the lower four bits of that register are defined. In some cases, the device side seems to set the higher bits, causing us to fail the sanity check unnecessarily. Check only the lower four bits instead. Thanks to John Goyette from Schick Technologies for pointing out the problem. Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit d1c5091f23fed5195271e2849f89017d3a126521 Author: Maxim Levitsky Date: Fri Jul 31 18:54:23 2009 +0300 mac80211: Increase timeouts for station polling Do a probe request every 30 seconds, and wait for probe response, half a second This should lower the traffic that card sends, thus save power Wainting longer for response makes probe more robust against 'slow' access points Signed-off-by: Maxim Levitsky Acked-by: Johannes Berg Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit a43abf293965230c93a4b74e5d10b9d60b153ab4 Author: Maxim Levitsky Date: Fri Jul 31 18:54:12 2009 +0300 mac80211: Retry probe request few times Retry 5 times (chosen arbitary ), before assuming that station is out of range. Fixes frequent disassociations while connected to weak, and sometimes even strong access points. Signed-off-by: Maxim Levitky Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 75e6c3b72b3ab01c47629f3fbd0fed4e6550bf3a Author: Johannes Berg Date: Fri Jul 31 11:18:13 2009 +0200 cfg80211: lower dynamic PS timeout to 100ms The default of 500ms is pretty high, and leads to the device being awake at least 50% of the time under such light traffic conditions as a simple 1 second interval ping. Reduce to just 100ms -- it should have a similar effect while providing a better sleep time. Signed-off-by: Johannes Berg Reviewed-by: Kalle Valo Signed-off-by: John W. Linville commit 97cad51e191919b43aabdc85b83241b66c3fcf2c Author: Luis R. Rodriguez Date: Thu Jul 30 21:37:27 2009 -0400 iwlwifi: remove usage of orig_flags This is a private flag, internal to cfg80211. cfg80211 will set orig_* stuff internally upon wiphy registration, drivers do not need to muck with it. Signed-off-by: Luis R. Rodriguez Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 8b19e6ca3bac7e04e93fb73f561d670e77c5fae6 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:09 2009 -0700 cfg80211: enable country IE support to all cfg80211 drivers Since the bss is always set now once we are connected, if the bss has its own information element we refer to it and pass that instead of relying on mac80211's parsing. Now all cfg80211 drivers get country IE support, automatically and we reduce the call overhead that we had on mac80211 which called this upon every beacon and instead now call this only upon a successfull connection by a STA on cfg80211. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit abc7381bcca6ce9dc101f112a13e14957bfbda7e Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:08 2009 -0700 cfg80211: decouple regulatory variables from cfg80211_mutex We change regulatory code to be protected by its own regulatory mutex and alleviate cfg80211_mutex to only be used to protect cfg80211_rdev_list, the registered device list. By doing this we will be able to work on regulatory core components without having to have hog up the cfg80211_mutex. An example here is we no longer need to use the cfg80211_mutex during driver specific wiphy_apply_custom_regulatory(). We also no longer need it for the the country IE regulatory hint; by doing so we end up curing this new lockdep warning: ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.31-rc4-wl #12 ------------------------------------------------------- phy1/1709 is trying to acquire lock: (cfg80211_mutex){+.+.+.}, at: [] regulatory_hint_11d+0x32/0x3f0 [cfg80211] but task is already holding lock: (&ifmgd->mtx){+.+.+.}, at: [] ieee80211_sta_work+0x108/0x10f0 [mac80211] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&ifmgd->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] ieee80211_mgd_auth+0x108/0x1f0 [mac80211] [] ieee80211_auth+0x13/0x20 [mac80211] [] __cfg80211_mlme_auth+0x1b1/0x2a0 [cfg80211] [] cfg80211_mlme_auth+0x86/0xc0 [cfg80211] [] nl80211_authenticate+0x21d/0x230 [cfg80211] [] genl_rcv_msg+0x1b6/0x1f0 [] netlink_rcv_skb+0x89/0xb0 [] genl_rcv+0x29/0x40 [] netlink_unicast+0x29d/0x2b0 [] netlink_sendmsg+0x214/0x300 [] sock_sendmsg+0x107/0x130 [] sys_sendmsg+0x189/0x320 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #2 (&wdev->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_netdev_notifier_call+0x1a4/0x390 [cfg80211] [] notifier_call_chain+0x3f/0x80 [] raw_notifier_call_chain+0x11/0x20 [] dev_open+0x10a/0x120 [] dev_change_flags+0x9d/0x1e0 [] devinet_ioctl+0x6fe/0x760 [] inet_ioctl+0x94/0xc0 [] sock_ioctl+0x6a/0x290 [] vfs_ioctl+0x31/0xa0 [] do_vfs_ioctl+0x8a/0x5c0 [] sys_ioctl+0x99/0xa0 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #1 (&rdev->mtx){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_get_dev_from_ifindex+0x60/0x90 [cfg80211] [] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211] [] nl80211_set_interface+0x3b/0x260 [cfg80211] [] genl_rcv_msg+0x1b6/0x1f0 [] netlink_rcv_skb+0x89/0xb0 [] genl_rcv+0x29/0x40 [] netlink_unicast+0x29d/0x2b0 [] netlink_sendmsg+0x214/0x300 [] sock_sendmsg+0x107/0x130 [] sys_sendmsg+0x189/0x320 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff other info that might help us debug this: 3 locks held by phy1/1709: #0: ((wiphy_name(local->hw.wiphy))){+.+.+.}, at: [] worker_thread+0x19d/0x340 #1: (&ifmgd->work){+.+.+.}, at: [] worker_thread+0x19d/0x340 #2: (&ifmgd->mtx){+.+.+.}, at: [] ieee80211_sta_work+0x108/0x10f0 [mac80211] Reported-by: Reinette Chatre Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4b44c8bc4d077f1a7a9e5e946a1400c3cbcadee7 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:07 2009 -0700 cfg80211: do not iterate over rdev list on country IE hint Simplify the country IE hint code by just bailing out if a previous country IE has been issued. We currently just trust the first AP we connect to on any card. The idea was to perform conflict resolution within this routine but since we can no longer iterate over the registered device list here we leave conflict resolution to be dealt with at a later time on the workqueue. This code has no functional changes other than saving us an interation over the registered device list when a second card is connected, or you unplug and connect the same one, and a country IE is received. This would have been done upon every beacon received. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9828b0170eef541c3fa583caa0134dadbb1d3ea6 Author: Luis R. Rodriguez Date: Thu Jul 30 17:38:06 2009 -0700 cfg80211: use goto out on country IE reg hint failure This has no functional changes. Acked-by: Johannes Berg Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 056508dcb6890586745aa937e779f00fde05531b Author: Johannes Berg Date: Thu Jul 30 21:43:55 2009 +0200 mac80211: fix powersave Some of the recent MLME rework I did broke powersave because the ps_sdata isn't assigned at the right time, and the work item wasn't removed from the list before calling ieee80211_recalc_ps(). To be more specific, this broke the case where you'd enabled PS before associating, either automatically or with iwconfig. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b7cfc5b35eed2fe8a5c45793e6e52ef0edddc824 Author: Jussi Kivilinna Date: Thu Jul 30 19:42:08 2009 +0300 rndis_wlan: rework key handling Organize key data in private structure better and store WPA keys, so they can be restored as WEP keys. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 9d40934e5e28314731d4b32acd2fdf5fb805a3ed Author: Jussi Kivilinna Date: Thu Jul 30 19:42:03 2009 +0300 rndis_wlan: add missing padding to struct rndis_80211_remove_key OID_802_11_REMOVE_KEY failed with invalid length error, add missing padding to structure fix this. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 030645aceb3d9f10b1c3d2231c50f5a8bb3a9667 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:58 2009 +0300 rndis_wlan: handle 802.11 indications from device Add handling for 802.11 specific rndis indications. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 2a4901bcbe9c122bd56e1f6c337fcb4ad75fafb7 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:52 2009 +0300 rndis_host: allow rndis_wlan to see all indications Allow rndis_wlan to see all indications. Currently rndis_host lets rndis_wlan to know about link state changes only, but there is whole set of other 802.11-specific indications that rndis_wlan should handle properly. So rename link_change() to indication() and convert rndis_wlan to use it. Signed-off-by: Jussi Kivilinna Cc: David Brownell Signed-off-by: John W. Linville commit 27b7b5c131a1df6701a96e10d1056de8e3b15aa9 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:47 2009 +0300 rndis_wlan: add rndis_set/query_oid debugging Add better debugging for failed OID queries. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit e5a11a822e1758b05b987e3a5041ef1029aa6cec Author: Jussi Kivilinna Date: Thu Jul 30 19:41:42 2009 +0300 rndis_wlan: set current packet filter to zero on stop Set current packet filter to zero to block receiving data packets from device. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 7eaab7086c3a313d76c217f98bc610c523d9bc2c Author: Jussi Kivilinna Date: Thu Jul 30 19:41:37 2009 +0300 rndis_wlan: reset device and restore multicast list on rndis_wlan_reset() Reset device properly with RNDIS_MSG_RESET in rndis_wlan_reset() and restore multicast list afterwards. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 005ba2f17e68b4da6a2c2c01c826294beac50415 Author: Jussi Kivilinna Date: Thu Jul 30 19:41:31 2009 +0300 rndis_wlan: clear cfg80211 scan on rndis_wlan_stop() Scanning gets stuck if device is stopped when scan is active. Fix by clearing/aborting cfg80211 scan on rndis_wlan_stop(). Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 110736de938b5bfdd63c86166e355d3f16115f6a Author: Jussi Kivilinna Date: Thu Jul 30 19:41:26 2009 +0300 rndis_wlan: stop workers on rndis_wlan_stop() and restore on rndis_wlan_reset() Driver doesn't need to poll statistics/link status when stopped. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 1487cd5e76337555737cbc55d7d83f41460d198f Author: Jussi Kivilinna Date: Thu Jul 30 19:41:20 2009 +0300 usbnet: allow "minidriver" to prevent urb unlinking on usbnet_stop rndis_wlan devices freeze after running usbnet_stop several times. It appears that firmware freezes in state where it does not respond to any RNDIS commands and device have to be physically unplugged/replugged. This patch lets minidrivers to disable unlink_urbs on usbnet_stop through new info flag. Signed-off-by: Jussi Kivilinna Cc: David Brownell Signed-off-by: John W. Linville commit e40cbdac0629402a4cb0c3bca0cc19ab7a00e00d Author: Johannes Berg Date: Thu Jul 30 14:04:01 2009 +0200 cfg80211: fix NETDEV_UNREGISTER notifier It's possible to get the NETDEV_UNREGISTER callback multiple times (see net/core/dev.c:netdev_wait_allrefs) and this will completely mess up our cleanup code. To avoid that, clean up only when the interface is still on the wiphy interface list from which it's removed on the first NETDEV_UNREGISTER call. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e46ab7f0886143846d8da2ca06c2b0e245f34dc6 Author: Johannes Berg Date: Thu Jul 30 11:58:16 2009 +0200 iwlwifi: don't export symbols not needed in other modules Even with the split into iwlcore/agn/3945 not all symbols that cross file boundaries are needed in other modules, a few are only used within iwlcore, for example. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 42935ecaf4e784d0815afa9a7e5fe7e141157ca3 Author: Luis R. Rodriguez Date: Wed Jul 29 20:08:07 2009 -0400 mac80211: redefine usage of the mac80211 workqueue The mac80211 workqueue exists to enable mac80211 and drivers to queue their own work on a single threaded workqueue. mac80211 takes care to flush the workqueue during suspend but we never really had requirements on drivers for how they should use the workqueue in consideration for suspend. We extend mac80211 to document how the mac80211 workqueue should be used, how it should not be used and finally move raw access to the workqueue to mac80211 only. Drivers and mac80211 use helpers to queue work onto the mac80211 workqueue: * ieee80211_queue_work() * ieee80211_queue_delayed_work() These helpers will now warn if mac80211 already completed its suspend cycle and someone is trying to queue work. mac80211 flushes the mac80211 workqueue prior to suspend a few times, but we haven't taken the care to ensure drivers won't add more work after suspend. To help with this we add a warning when someone tries to add work and mac80211 already completed the suspend cycle. Drivers should ensure they cancel any work or delayed work in the mac80211 stop() callback. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 64344d78228f6346a0462ba2d5fc03494aef4e6b Author: Luis R. Rodriguez Date: Wed Jul 29 14:20:41 2009 -0700 at76c50x-usb: remove unneeded flush_workqueue() at usb disconnect This driver only uses the mac80211 workqueue and mac80211 requires us to cancel all work at driver stop. Since we now have the cancels in the right places at stop() we really don't need to flush the mac80211 workqueue so remove it. Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 8784d2ee92fc835bf18dd5096f00ec9a48dc0590 Author: Bob Copeland Date: Wed Jul 29 17:32:28 2009 -0400 ath5k: fix CAB queue operation We need to process tx descriptors for all queues (currently main tx queue and cabq) which may have triggered the TX completion interrupt. Otherwise, the queues can get stuck after sending a few frames. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 7e2ce646fc0acc99837f73d39528493e146d1dcc Author: Holger Schurig Date: Tue Jul 28 16:34:26 2009 +0200 orinoco: enable cfg80211 "set_channel" operation Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 91b092d73435489d7336f94e927d96224b26c9a8 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:10 2009 -0700 ar9170: remove EXPERIMENTAL marker Cc: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 18c6951091eca7645005a71b556106cc99a6f4b1 Author: Larry Finger Date: Wed Jul 29 10:54:06 2009 -0500 b43: Work around mac80211 race condition As shown in http://thread.gmane.org/gmane.linux.kernel.wireless.general/36497, mac80211 has a bug that allows a call to the TX routine after the queues have been stopped. This situation will only occur under extreme stress. Although b43 does not crash when this condition occurs, it does generate a WARN_ON and also logs a queue overrun message. This patch recognizes b43 is not at fault and logs a message only when the most verbose debugging mode is enabled. In the unlikely event that the queue is not stopped when the DMA queue becomes full, then a warning is issued. During testing of this patch with one output stream running repeated tcpperf writes and a second running a flood ping, this routine was entered with the DMA ring stopped about once per hour. The condition where the DMA queue is full but the ring has not been stopped has never been seen by me. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit ae6f53f25f9803212d1985b5eb5a03111f439c24 Author: Bob Copeland Date: Wed Jul 29 10:29:03 2009 -0400 ath5k: update PCU opmode whenever a new interface is added Previously, we would store the operating mode at interface up time, but only update the PCU registers when the next reset happened. The result is that if beacon configuration (ops->bss_info_changed) happens before ops->config, we will program the wrong things into the timer registers. Consequently, beacons won't work in AP mode until after a reset (channel change, scan etc.). This is fragile anyway so just program the opmode as soon as mac80211 gives it to us. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 57c9fff3d0c5d77bc7910717faeca4e8a018b1ee Author: Johannes Berg Date: Wed Jul 29 15:46:21 2009 +0200 mac80211: fix sparse warnings/errors sparse complains about a shadowed variable, which we can just rename, and lots of stuff if the API tracer is enabled, so kick out the tracer code in a sparse run -- the macros just confuse it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0b3acfa71a50a1fa1fcee528aa15404ea4ea0877 Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:23 2009 +0530 ath9k: Remove unused ath9k_hw_intrget() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 3fc0fbf407967fa8def04d019316553c9ca133e2 Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:22 2009 +0530 ath9k: Maintain monotonicity of PER while going across different phy Monotonicity of packet error rate should be kept when moving from one phy to another (legacy to ht, ht single stream to dual, etc). Current code skips updating per for other phys. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 42e8856092be1db40bd4ae01406d2aaddf4e66fc Author: Vasanthakumar Thiagarajan Date: Wed Jul 29 15:05:21 2009 +0530 ath9k: Update rate control for 11NA HT40 mode Now the lowest rate in 11na ht40 mode is 13.5Mbps this shortens the range when compared to 11na ht20 mode where the lowest rate is 6.5Mbps. To improve the range, make 6.5Mbps as the lowest rate in 11na ht40 mode, this improves the range by approximately 2dB. 11ng ht40 does not have this issue as it also has basic rates (1, 2, 5.5 and 11). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit df7fc0f9735085bb617fff774bfd71465edb448c Author: Johannes Berg Date: Wed Jul 29 11:23:49 2009 +0200 cfg80211: keep track of current_bss for userspace SME When a userspace SME is active, we're currently not keeping track of the BSS properly for reporting the current link and for internal use. Additionally, it looks like there is a possible BSS leak in that the BSS never gets removed from auth_bsses[]. To fix it, pass the BSS struct to __cfg80211_connect_result in this case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 97af743207466ff8b477e14bfb7af0ba2c93375b Author: Bob Copeland Date: Wed Jul 29 10:13:03 2009 +0200 mac80211: disable beacons before removing the associated interface When downing interfaces, it's a good idea to tell the driver to stop sending beacons; that way the driver doesn't need special code in ops->remove_interface() when it should already handle the case in bss_info_changed(). This fixes a potential crash with at least ath5k since the vif pointer will be nullified while beacon interrupts are still active. Signed-off-by: Bob Copeland Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ad2f34b41fd6e2b84c896ccf321d5de0a7c7cd52 Author: Ivo van Doorn Date: Tue Jul 28 18:58:54 2009 +0200 rt2x00: Fix build error when crypto support is disabled When only rt2400pci or rt2500pci is compiled without any of the other rt2x00 modules, then CONFIG_RT2X00_LIB_CRYPTO will not be enabled. However rt2x00mac_set_tim() implemented within #ifdef CONFIG_RT2X00_LIB_CRYPTO statements while the declaration is placed outside the definition. This results in linking errors as reporte by Ken. rt2x00_set_tim() has nothing to do with crypto, and thus should be moved outside of the #ifdef statements. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 33172899a9d922b04081e12dced3ae474d46d620 Author: Luis R. Rodriguez Date: Tue Jul 28 08:03:42 2009 -0700 rt2x00: move experimental on kconfig only to rt2800usb These drivers have been around for a while, if there are issues they should be reported. rt2800usb is still a bit flaky though. Signed-off-by: Luis R. Rodriguez Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 3e6404528c95e3439f478e1d28353e77f6d9c188 Author: Luis R. Rodriguez Date: Mon Jul 27 16:56:15 2009 -0700 wireless: use menuconfig for WLAN_PRE80211 and WLAN_80211 This should make it very clear which are pre-802.11 or not Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 75323fa3dec54abb0bcba8ce6b4994020af210ca Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:09 2009 -0700 ath5k: remove EXPERIMENTAL marker Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 44b7dd6dde1b80a94e5c0d01ecbc8097f52aa2dc Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:08 2009 -0700 ath: use menuconfig to put ath stuff in its own page Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b820b3bcb02a97091b969faf2b5f19f1218953f9 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:07 2009 -0700 ath: simplify kconfig dependency and add documentation Make atheros wireless drivers visible when you select "Atheros wirless drivers". Adds links to ath.ko page, and Atheros drivers page on the wiki. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit d17734aee6383ff5e1720b3f01c014c0a9db40d5 Author: Luis R. Rodriguez Date: Mon Jul 27 16:52:06 2009 -0700 ath: depend on cfg80211 The ath.ko module itself depends on cfg80211 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dd21dcdc65a182222666199ec4cea188a11cb5d2 Author: Luis R. Rodriguez Date: Mon Jul 27 16:10:22 2009 -0700 wext: remove extra return on wireless_nlevent_init() Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e351cfbf4e6ccd8bf32555748a49dba5bc93fcb0 Author: Luis R. Rodriguez Date: Mon Jul 27 12:51:37 2009 -0700 ar9170: remove unneeded flush_workqueue() cancel_delayed_work_sync() and cancel_work_sync() are already being used therefore already waiting for all pending work by the driver to have been completed, no need to flush the mac80211 workqueue. Cc: Christian Lamparter Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9ed21d390166ceb89e011d3dbd277475ff2f33c4 Author: Luis R. Rodriguez Date: Mon Jul 27 11:56:24 2009 -0700 at76c50x-usb: cancel scan work at stop callback This should fix suspend as mac80211 expects all work queued to the mac80211 workqueue to be canceled at driver stop(). Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit ebc8ab17d69cbaec6bb345a48a2cb87047643f63 Author: Luis R. Rodriguez Date: Mon Jul 27 11:56:23 2009 -0700 ar76c50x-usb: cancel promisc work during mac80211 stop We weren't ever cancelling this. Signed-off-by: Luis R. Rodriguez Acked-by: Kalle Valo Signed-off-by: John W. Linville commit c94dbff7996b861fb0ff730bdf6eac4e2b288402 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:04 2009 -0700 ath9k: move workqueue cancels to stop callback We should be cancelling our work at the stop callback since we are borrowing the mac80211 workqueue for our work. As it stands mac80211 expects this for suspend purposes. The ath9k specific virtual wiphy stuff need only be cancelled only when the we have no secondary virtual wiphys. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 35c95ab9b5ea3a2bf69d049d5437bb831e9bddf3 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:03 2009 -0700 ath9k: move cancel_delayed_work_sync() out of ath_deinit_leds() We do this as we'll be moving the cancel elsewhere later. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 9851bad7a3ab601b8b5b156119a7d0fd15b47fa3 Author: Luis R. Rodriguez Date: Mon Jul 27 11:53:02 2009 -0700 ath9k: re-order cancelling of work on mac80211 workqueue ath9k uses the mac80211 workqueue for 4 different types of work: * Led blink work * TX hang monitoring work * internal wiphy schedular work * channel change work done for internal wiphy schedular Since the internal wiphy schedular can end up kicking off some channel channel change work we should first cancel the wiphy schedular work and then the channel change work. The TX hang work can be cancelled second since we're going down anyway. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4da163ab0a224590f3cae67c1d54ae8c428f6223 Author: Johannes Berg Date: Mon Jul 27 20:28:40 2009 +0200 mac80211: disable software retry for now Pavel Roskin reported a problem that seems to be due to software retry of already transmitted frames. It turns out that we've never done that correctly, but due to some recent changes it now crashes in the TX code. I've added a comment in the patch that explains the problem better and also points to possible solutions -- which I can't implement right now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 989a19b9b10635eeb91c08cefe6cf82986bd4ee2 Author: NeilBrown Date: Tue Aug 4 15:22:38 2009 +1000 sunrpc/cache: recheck cache validity after cache_defer_req If cache_defer_req did not leave the request on a queue, then it could possibly have waited long enough that the cache became valid. So check the status after the call. Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields commit 97fd9ed48ce2b807edc363bef3e817aeeb5cd5e6 Author: Martin Schwidefsky Date: Tue Jul 21 20:25:05 2009 +0200 timers: Cache __next_timer_interrupt result Each time a cpu goes to sleep on a NOHZ=y system the timer wheel is searched for the next timer interrupt. It can take quite a few cycles to find the next pending timer. This patch adds a field to tvec_base that caches the result of __next_timer_interrupt. The hit ratio is around 80% on my thinkpad under normal use, on a server I've seen hit ratios from 5% to 95% dependent on the workload. -v2: jiffies wrap fixes Signed-off-by: Martin Schwidefsky Acked-by: Thomas Gleixner Cc: john stultz Cc: Venki Pallipadi LKML-Reference: <20090721202505.7d56a079@skybase> Signed-off-by: Ingo Molnar commit 19943b0e30b05d42e494ae6fef78156ebc8c637e Author: David Woodhouse Date: Tue Aug 4 16:19:20 2009 +0100 intel-iommu: Unify hardware and software passthrough support This makes the hardware passthrough mode work a lot more like the software version, so that the behaviour of a kernel with 'iommu=pt' is the same whether the hardware supports passthrough or not. In particular: - We use a single si_domain for the pass-through devices. - 32-bit devices can be taken out of the pass-through domain so that they don't have to use swiotlb. - Devices will work again after being removed from a KVM guest. - A potential oops on OOM (in init_context_pass_through()) is fixed. Signed-off-by: David Woodhouse commit 5c4d26390341732a8d614141a4cf4663610a1698 Author: NeilBrown Date: Tue Aug 4 15:22:38 2009 +1000 sunrpc/cache: make sure deferred requests eventually get revisited. While deferred requests normally get revisited quite quickly, it is possible for a request to remain in the deferral queue when the cache item is discarded. We can easily make sure that doesn't happen by calling cache_revisit_request just before the final 'put'. Also there is a small chance that a race would cause one thread to defer a request against a cache item while another thread is failing to queue an upcall for that item. So when the upcall fails, make sure to revisit all deferred requests. Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields commit 990a55eb25d9698d61352264cc43f3a9c04cce90 Author: Jiri Slaby Date: Fri Jul 31 00:02:06 2009 +0200 irq: Clean up by removing irqfixup MODULE_PARM_DESC() It's wrong (the parm takes no arguments) and compile-time wiped away anyway (due to !MODULE). Signed-off-by: Jiri Slaby LKML-Reference: <1248991326-26267-1-git-send-email-jirislaby@gmail.com> Signed-off-by: Ingo Molnar commit 4680e64a88c4ce2c4e736dade99233e3def13fa7 Author: Andrew Morton Date: Tue Jun 23 12:36:08 2009 -0700 arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type arch/x86/oprofile/op_model_amd.c: In function 'op_amd_handle_ibs': arch/x86/oprofile/op_model_amd.c:217: warning: no return statement in function returning non-void Fix this by making op_amd_handle_ibs() return void. Cc: Robert Richter Signed-off-by: Andrew Morton Signed-off-by: Robert Richter commit cc6db4e60116c1f76577b6850a35ae7de69a95b6 Author: Darren Hart Date: Fri Jul 31 16:20:10 2009 -0700 futex: Correct futex_wait_requeue_pi() commentary The state machine described in the comments wasn't updated with a follow-on fix. Address that and cleanup the corresponding commentary in the function. Signed-off-by: Darren Hart Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Thomas Gleixner LKML-Reference: <4A737C2A.9090001@us.ibm.com> Signed-off-by: Ingo Molnar commit 54a0bf3c2cad3fd118ea725f26a493aece6ea01d Author: Robert Richter Date: Tue Aug 4 15:52:38 2009 +0200 Revert "x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()" This reverts commit 21e70878215f620fe99ea7d7c74bc641aeec932f. Instead Andrew's patch will be applied he posted at the same time. Signed-off-by: Robert Richter commit 5b0f437df0a3e374d26ad533eb78fe64744f55a8 Author: Bart Van Assche Date: Thu Jul 30 19:00:53 2009 +0200 workqueues: Improve schedule_work() documentation Two important aspects of the schedule_work() function are not yet documented: - that it is allowed to pass a struct work_struct * to this function that is already on the kernel-global workqueue; - the meaning of its return value. The patch below documents both aspects. Signed-off-by: Bart Van Assche Cc: "Greg Kroah-Hartman" Cc: Andrew Morton LKML-Reference: <200907301900.54202.bart.vanassche@gmail.com> Signed-off-by: Ingo Molnar commit f866a8194f7cbabb9135b98b9ac7d26237b88367 Author: NeilBrown Date: Tue Aug 4 15:22:38 2009 +1000 sunrpc/cache: rename queue_loose to cache_dequeue 'loose' was a mis-spelling of 'lose', and even that wasn't a good word choice. So give this function a more useful name. Signed-off-by: NeilBrown Signed-off-by: J. Bruce Fields commit c7bd0414d681706a32105895cae20fb9090db52e Author: Frans Pop Date: Thu Jul 23 20:56:27 2009 +0200 x86: Simplify the Makefile in a minor way through use of cc-ifversion Signed-off-by: Frans Pop Acked-by: Sam Ravnborg Reviewed-by: WANG Cong LKML-Reference: <200907232056.28635.elendil@planet.nl> Signed-off-by: Ingo Molnar commit 16ffe32c773dab387cfc5e6bdf181367ff944376 Author: Takashi Iwai Date: Tue Aug 4 13:40:54 2009 +0200 ALSA: hda - Fix line-out jack handling with STAC/IDT codec When the line-out jack is plugged/unplugged, the driver needs to check the headphone plug, not only the line-out jack itself. Otherwise the headphone or the speaker may be wrongly muted/unmuted. As a result, both STAC_HP_EVENT and STAC_LO_EVENT need to call the same function, stac92xx_hp_detect(). Signed-off-by: Takashi Iwai commit 0837f52463583f76670ab2350e0f1541cb0351f5 Author: Paul Mundt Date: Tue Aug 4 18:09:54 2009 +0900 sh: Partially unroll the SH-4 __flush_xxx_region() flushers. This does a bit of unrolling for the SH-4 region flushers. Based on an earlier patch by SUGIOKA Toshinobu. Signed-off-by: Paul Mundt commit 817425275271f2514f0dc6952182aa057ce80973 Author: Paul Mundt Date: Tue Aug 4 18:06:01 2009 +0900 sh: Split out SH-4 __flush_xxx_region() ops. This splits out the SH-4 __flush_xxx_region() functions and defines them as weak symbols. This allows us to provide optimized versions without having to ifdef cache-sh4.c to death. Signed-off-by: Paul Mundt commit 0815565adfe3f4c369110c57d8ffe83caefeed68 Author: David Woodhouse Date: Tue Aug 4 09:17:20 2009 +0100 intel-iommu: Cope with broken HP DC7900 BIOS Yet another reason why trusting this stuff to the BIOS was a bad idea. The HP DC7900 BIOS reports an iommu at an address which just returns all ones, when VT-d is disabled in the BIOS. Fix up the missing iounmap in the error paths while we're at it. Signed-off-by: David Woodhouse commit d14d751ff9234595639a16e53b3cf0c575946bde Author: Paul Mundt Date: Tue Aug 4 17:17:00 2009 +0900 sh64: Kill off special clear_page() implementation. This can use the now generic clear_page() implementation, which is backed by the sh64 optimized memset routine. This also fixes up the case where PAGE_SIZE != 4kB. Signed-off-by: Paul Mundt commit c7914834ef3b8a396b7e82ea34ac07cdcfe6f868 Author: Paul Mundt Date: Tue Aug 4 17:14:39 2009 +0900 sh: Tidy up NEFF-based sign extension for SH-5. This consolidates all of the NEFF-based sign extension for SH-5. In the future the other SH code will need to make use of this as well, so make it generic in preparation for more 32/64 consolidation. Signed-off-by: Paul Mundt commit c0fe478dbb14fd32e71d1383dbe302b54ce94134 Author: Paul Mundt Date: Tue Aug 4 16:02:43 2009 +0900 sh: Provide __flush_anon_page(). This provides a __flush_anon_page() that handles both the aliasing and non-aliasing cases. This fixes up some crashes with heavy get_user_pages() users. Signed-off-by: Paul Mundt commit b5eb10ae901fa797c19accb684825f0e36ecbe0f Author: Paul Mundt Date: Tue Aug 4 16:00:36 2009 +0900 sh: Drop unused arguments for kunmap_coherent(). kunmap_coherent() doesn't do anything with its arguments, so just kill them off. Signed-off-by: Paul Mundt commit 222db3e5f21fca563f5f692e000afcc01cb4395c Author: Paul Mundt Date: Tue Aug 4 15:59:15 2009 +0900 sh: Bring kmap_coherent() out-of-line. kmap_coherent() has gotten too big to leave as an inline, so we bring it out-of-line. Signed-off-by: Paul Mundt commit 700487c158163f14e6ff10de770b565c1c993c69 Author: Paul Mundt Date: Tue Aug 4 15:57:44 2009 +0900 sh: Add a PG_dcache_dirty sanity check in kmap_coherent(). This plugs in a BUG_ON() in kmap_coherent() for PG_dcache_dirty pages to catch when things go horribly wrong. Copied from the MIPS implementation. Signed-off-by: Paul Mundt commit 11d82905e0159c07fe2d1bfe5e7d80e4cea333ce Author: Paul Mundt Date: Tue Aug 4 15:54:33 2009 +0900 sh: Fix up early printk build error. Missing endif in the early printk case, fix it up.. Signed-off-by: Paul Mundt commit df47cd096c8f54a5242e3a2ffb4525c804567eda Author: Magnus Damm Date: Fri Jul 31 07:48:29 2009 +0000 sh: Runtime PM pdev hwblk - Solution Engine 7724 Add hwblk_id to Solution Engine 7724 board specific on-chip sh7724 platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 442c37534c6a46d8ed27144fb09818833edbd049 Author: Magnus Damm Date: Fri Jul 31 07:48:21 2009 +0000 sh: Runtime PM pdev hwblk - kfr2r09 Add hwblk_id to kfr2r09 board specific on-chip sh7724 platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 593a0c898ac2f09f001d536f699966ec4bc1d25f Author: Magnus Damm Date: Fri Jul 31 07:48:11 2009 +0000 sh: Runtime PM pdev hwblk - sh7724 Add hwblk_id to on-chip sh7724 platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit d3a6f6260a3fecd9a8e301fcf37d87ee70edca12 Author: Magnus Damm Date: Fri Jul 31 07:48:02 2009 +0000 sh: Runtime PM pdev hwblk - AP325RXA Add hwblk_id to AP325RXA board specific on-chip sh7723 platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 09d21f9c83c49afd04850b8701772c09954054e0 Author: Magnus Damm Date: Fri Jul 31 07:47:53 2009 +0000 sh: Runtime PM pdev hwblk - sh7723 Add hwblk_id to on-chip sh7723 platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 66d9c51ac434615b0f0e864c0c9a81d7264ca3ef Author: Magnus Damm Date: Fri Jul 31 07:47:44 2009 +0000 sh: Runtime PM pdev hwblk - Solution Engine 7722 Add hwblk_id to Solution Engine 7722 board specific on-chip sh7722 platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2de63cf376585508f6942aaa7337848f8c4cdd7d Author: Magnus Damm Date: Fri Jul 31 07:47:35 2009 +0000 sh: Runtime PM pdev hwblk - Migo-R Add hwblk_id to Migo-R board specific on-chip sh7722 platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit f69d5782742e57d5f047ed13440bcf1b320cb074 Author: Magnus Damm Date: Fri Jul 31 07:47:27 2009 +0000 sh: Runtime PM pdev hwblk - sh7722 Add hwblk_id to on-chip sh7722 platform devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9aaa74908b2117bcd560ab3ea8a9d6a491a77c28 Author: Magnus Damm Date: Fri Jul 31 07:47:17 2009 +0000 sh: Runtime PM pdev hwblk These patches extend struct platform device data for a bunch of SuperH Mobile processors and embedded boards. The patches simply add hardware block ids to on-chip platform devices. Platform devices off chip (such as external ethernet controllers or flash chips) are left out which gives them a special case hardware block id of zero. Upcoming Runtime PM code will make use of the hardware block id to group devices together. The hardware block id can also be used to extend the SuperH Mobile clock framework implementation. This series of patches depend on the following: "Driver Core: Add platform device arch data V3". This patch adds a hwblk_id member to struct pdev_archdata. This member should be used to point out on-chip hardware block id. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 00111076f725ec498f5ada19cdd984d111b0e9b3 Merge: 133b170 2e6713c Author: Paul Mundt Date: Tue Aug 4 15:05:39 2009 +0900 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 into sh/hwblk commit edc67b29425b12312356fe9a92352ce6b7307c68 Author: Kuninori Morimoto Date: Mon Aug 3 04:52:24 2009 +0000 sh: Add SH7724 DMAC support. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 4f3243117ad42b4d1faeecd452f7b24306fcfc4a Author: Kuninori Morimoto Date: Mon Aug 3 04:52:03 2009 +0000 sh: ms7724se: add 1280x720 lcdc output support There was no big meaning in the support of SVGA, but 720p support is necessary for ms7724se board. So, this patch support 720p instead of SVGA. Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit 133b170f08d6c20578f25b1ae71f80a5e638ccb6 Author: Magnus Damm Date: Fri Jul 31 07:01:36 2009 +0000 sh: clean up MSTPCRn register definitions This patch removes the unused MSTPCRn register definitions from the SuperH Mobile code for sh7722, sh7723 and sh7724. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6ba4a8f0f542e791e4158c91a844234b142578dc Author: Magnus Damm Date: Fri Jul 31 06:57:36 2009 +0000 sh: hwblk support for sh7724 This patch adds hwblk support for the sh7724 processor. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 05aa7882757f68af799140142ec44f83b2df4298 Author: Rafael Ignacio Zurita Date: Tue Aug 4 14:38:08 2009 +0900 sh: Add early printk support for SH770x CPUs. This adds early printk support for SH770x (tested on SH7709 based hp6xx). Signed-off-by: Rafael Ignacio Zurita Signed-off-by: Paul Mundt commit b6b7902e54c7e8abbc213d8bdc290350c00ccfe5 Author: Francisco Jerez Date: Sun Aug 2 04:19:20 2009 +0200 drm: Define some new standard TV properties. Namely "brightness", "contrast" and "flicker reduction". Signed-off-by: Francisco Jerez Signed-off-by: Dave Airlie commit aeaa1ad3ff32be833680e484d99ec29d892da1ff Author: Francisco Jerez Date: Sun Aug 2 04:19:19 2009 +0200 drm: Define DRM_MODE_SUBCONNECTOR_SCART Signed-off-by: Francisco Jerez Signed-off-by: Dave Airlie commit 74bd3c26b90f39b9dcc05c471333da8998572b5d Author: Francisco Jerez Date: Sun Aug 2 04:19:18 2009 +0200 drm: Define DRM_MODE_CONNECTOR_TV The existing TV connector types are often unsuitable either because there is no way to probe them until they're actually plugged in or because they can change during run time (e.g. 7-pin DIN connectors that behave as S-Video, Component, Composite or SCART depending on the adaptor plugged in). Signed-off-by: Francisco Jerez Signed-off-by: Dave Airlie commit 2066facca4c7dfe9f5068ece0200a4dbf10f49e1 Author: Francisco Jerez Date: Sun Aug 2 04:19:17 2009 +0200 drm/kms: slave encoder interface. Define some helper functions to make easier to detach a KMS encoder implementation from the drm module of the GPU it's used in. This is mainly useful for some external I2C encoders known to be present on cards with GPUs from several different manufacturers. Signed-off-by: Francisco Jerez Signed-off-by: Dave Airlie commit 58367ed65f30128d8b763bf4c1fb942da49ade15 Author: Zhao Yakui Date: Mon Jul 20 13:48:07 2009 +0800 drm: Add the debug info in generic drm mode by using DRM_DEBUG_KMS Add the debug info in generic drm mode by using DRM_DEBUG_KMS Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 87fdff81cd2d770f0adc742e21eb5e062ad20def Author: Zhao Yakui Date: Mon Jul 20 13:48:06 2009 +0800 DRM: Add the explanation about DRM debug level Add the explanation about DRM debug level in the drmP header file. This is to explain how/where to use the different DRM debug level. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit f940f37f022f7392ab81a35516222cbd46110b42 Author: Zhao Yakui Date: Mon Jul 20 13:48:05 2009 +0800 drm: Remove the macro defintion of DRM_DEBUG_MODE Two macro definitions of DRM_DEBUG_KMS/MODE can be used to add the debug info related with KMS. It is confusing. So remove the macro definition of DRM_DEBUG_MODE. Instead it can be replaced by the DRM_DEBUG_KMS. Signed-off-by: Zhao Yakui Acked-by: Ian Romanick Signed-off-by: Dave Airlie commit 8a4c47f346cc7a12d0897c05eb3cc1add26b487f Author: Zhao Yakui Date: Mon Jul 20 13:48:04 2009 +0800 drm: Remove the unused prefix in DRM_DEBUG_KMS/DRIVER/MODE We will have to add a prefix when using the macro defintion of DRM_DEBUG_KMS /DRM_DEBUG_DRIVER/MODE. It is not convenient. We should use the DRM_NAME as default prefix. So remove the prefix in the macro definition of DRM_DEBUG_KMS/DRIVER/MODE. Signed-off-by: Zhao Yakui Acked-by: Ian Romanick Signed-off-by: Dave Airlie commit bdf977b37418cdf8a2252504779a7e12a09b7575 Author: Tejun Heo Date: Mon Aug 3 14:12:19 2009 +0900 x86, percpu: Collect hot percpu variables into one cacheline On x86_64, percpu variables current_task and kernel_stack are used for get_current() and current_thread_info() respectively and thus are often used close to each other. Move definition of current_task to kernel/cpu/common.c right above kernel_stack definition and align it to cacheline so that they always fall into the same cacheline. Two percpu variables defined there together - irq_stack_ptr and irq_count - are also pretty hot and will benefit from sharing the cacheline. For consistency, current_task definition for x86_32 is also moved to kernel/cpu/common.c. Putting current_task and kernel_stack into the same cacheline was suggested by Linus Torvalds. Signed-off-by: Tejun Heo Cc: Linus Torvalds Cc: Ingo Molnar Signed-off-by: H. Peter Anvin commit 3e352aa8ee2bd48f1a19c7742810b3a4a7ba605e Author: Tejun Heo Date: Mon Aug 3 14:10:11 2009 +0900 x86, percpu: Fix DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() put percpu variables in .page_aligned section without adding any alignment restrictions. Currently, this doesn't cause any problem because all users of the macros have explicit page alignment and page-sized but it's much safer to enforce page alignment from the macros. After all, it's what they claim to do. Add __aligned(PAGE_SIZE) to DECLARE/DEFINE_PER_CPU_PAGE_ALIGNED() and drop explicit alignment from it users. Signed-off-by: Tejun Heo Cc: Ingo Molnar Signed-off-by: H. Peter Anvin commit ed8d9adf357ec331603fa1049510399812cea7e5 Author: Linus Torvalds Date: Mon Aug 3 14:08:48 2009 +0900 x86, percpu: Add 'percpu_read_stable()' interface for cacheable accesses This is very useful for some common things like 'get_current()' and 'get_thread_info()', which can be used multiple times in a function, and where the result is cacheable. tj: Added the magical undocumented "P" modifier to UP __percpu_arg() to force gcc to dereference the pointer value passed in via the "p" input constraint. Without this, percpu_read_stable() returns the address of the percpu variable. Also added comment explaining the difference between percpu_read() and percpu_read_stable(). Signed-off-by: Linus Torvalds Signed-off-by: Tejun Heo Signed-off-by: H. Peter Anvin commit 27ded041f03026e8c6be9efc626e11ddfb4620c1 Author: Mark Brown Date: Fri Jul 10 23:28:16 2009 +0100 ASoC: Factor out 7 bit register 9 bit data SPI write This converts all the Wolfson drivers using this format (the only devices that do) except WM8753 to use it. Signed-off-by: Mark Brown commit 8d50e447d19fec64adebeef55f2b60d695435412 Author: Mark Brown Date: Fri Jul 10 23:12:01 2009 +0100 ASoC: Factor out I/O for Wolfson 8 bit data 16 bit register CODECs Signed-off-by: Mark Brown commit afa2f1066e7288a9e4f8e3fda277da245219dffc Author: Mark Brown Date: Fri Jul 10 23:11:24 2009 +0100 ASoC: Factor out I2C 8 bit address 16 bit data I/O As part of this refactoring the type of the CODEC hw_read operation is changed to match the regular read operation. Signed-off-by: Mark Brown commit 7084a42b965d972079201414d19a399e65b26099 Author: Mark Brown Date: Fri Jul 10 22:24:27 2009 +0100 ASoC: Add I/O control bus information to factored out cache setup While writes tend to be able to use a fairly bus independant format to do the writes reads are all bus specific. To allow us to factor out this code include the bus type as a parameter when setting up the cache. Initially just use this to factor out hw_write_t for I2C. Signed-off-by: Mark Brown commit 61f4a10cb4e9447a85245c63b3e7f46e09299fed Merge: 412bb0a 78a1a6d Author: Russell King Date: Mon Aug 3 16:41:55 2009 +0100 Merge branch 'omap4_upstream' of git://dev.omapzoom.org/pub/scm/santosh/kernel-omap4-base into devel-stable commit a42548a18866e87092db93b771e6c5b060d78401 Author: Stanislaw Gruszka Date: Wed Jul 29 12:15:29 2009 +0200 cputime: Optimize jiffies_to_cputime(1) For powerpc with CONFIG_VIRT_CPU_ACCOUNTING jiffies_to_cputime(1) is not compile time constant and run time calculations are quite expensive. To optimize we use precomputed value. For all other architectures is is preprocessor definition. Signed-off-by: Stanislaw Gruszka Acked-by: Peter Zijlstra Acked-by: Thomas Gleixner Cc: Oleg Nesterov Cc: Andrew Morton Cc: Paul Mackerras Cc: Benjamin Herrenschmidt LKML-Reference: <1248862529-6063-5-git-send-email-sgruszka@redhat.com> Signed-off-by: Ingo Molnar commit d1e3b6d195770bd422e3229b88edfc154b6a27dd Author: Stanislaw Gruszka Date: Wed Jul 29 12:15:28 2009 +0200 itimers: Simplify arm_timer() code a bit Don't update values in expiration cache when new ones are equal. Add expire_le() and expire_gt() helpers to simplify the code. Signed-off-by: Stanislaw Gruszka Acked-by: Peter Zijlstra Acked-by: Thomas Gleixner Cc: Oleg Nesterov Cc: Andrew Morton Cc: Paul Mackerras Cc: Benjamin Herrenschmidt LKML-Reference: <1248862529-6063-4-git-send-email-sgruszka@redhat.com> Signed-off-by: Ingo Molnar commit 8356b5f9c424e5831715abbce747197c30d1fd71 Author: Stanislaw Gruszka Date: Wed Jul 29 12:15:27 2009 +0200 itimers: Fix periodic tics precision Measure ITIMER_PROF and ITIMER_VIRT timers interval error between real ticks and requested by user. Take it into account when scheduling next tick. This patch introduce possibility where time between two consecutive tics is smaller then requested interval, it preserve however dependency that n tick is generated not earlier than n*interval time - counting from the beginning of periodic signal generation. Signed-off-by: Stanislaw Gruszka Acked-by: Peter Zijlstra Acked-by: Thomas Gleixner Cc: Oleg Nesterov Cc: Andrew Morton Cc: Paul Mackerras Cc: Benjamin Herrenschmidt LKML-Reference: <1248862529-6063-3-git-send-email-sgruszka@redhat.com> Signed-off-by: Ingo Molnar commit 42c4ab41a176ee784c0f28c0b29025a8fc34f05a Author: Stanislaw Gruszka Date: Wed Jul 29 12:15:26 2009 +0200 itimers: Merge ITIMER_VIRT and ITIMER_PROF Both cpu itimers have same data flow in the few places, this patch make unification of code related with VIRT and PROF itimers. Signed-off-by: Stanislaw Gruszka Acked-by: Peter Zijlstra Acked-by: Thomas Gleixner Cc: Oleg Nesterov Cc: Andrew Morton Cc: Paul Mackerras Cc: Benjamin Herrenschmidt LKML-Reference: <1248862529-6063-2-git-send-email-sgruszka@redhat.com> Signed-off-by: Ingo Molnar commit 15cfa2b3db8b64d4e66d36fb88d21bae9ea3dfba Author: Takashi Iwai Date: Mon Aug 3 14:23:33 2009 +0200 ALSA: hda - Fix line-out jack detection The commit fefd67f31ee7f5259344e36a237d59b47e8715cf ALSA: hda - Add line-out jack detection on IDT/STAC codecs enabled wrong pins for jack detections. Fixed to the correct ones. Signed-off-by: Takashi Iwai commit af1057abd7d5f97e17ab96e34d1920746188ddcb Author: Julia Lawall Date: Mon Aug 3 11:57:20 2009 +0100 ARM: 5635/1: 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/) // @haskernel@ @@ @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit cfc65dd57967f2e0c7b3a8b73e6d12470b1cf1c1 Author: Alex Williamson Date: Thu Jul 30 16:15:18 2009 -0600 iommu=pt is a valid early param This avoids a "Malformed early option 'iommu'" warning on boot when trying to use pass-through mode. Signed-off-by: Alex Williamson Signed-off-by: David Woodhouse commit 6a12235c7d2d75c7d94b9afcaaecd422ff845ce0 Author: David Woodhouse Date: Wed Jul 29 10:25:58 2009 +0100 agp: kill phys_to_gart() and gart_to_phys() There seems to be no reason for these -- they're a 1:1 mapping on all platforms. Signed-off-by: David Woodhouse commit f692775d7e0a22477143cd884e45c955448ac7d2 Author: David Woodhouse Date: Wed Jul 29 09:28:45 2009 +0100 intel-agp: fix sglist allocation to avoid vmalloc() Signed-off-by: David Woodhouse commit 91b8e3056bf9107b688eb076c9b804171364db71 Author: David Woodhouse Date: Wed Jul 29 08:49:12 2009 +0100 intel-agp: Move repeated sglist free into separate function Signed-off-by: David Woodhouse commit c2980d8c2961113f24863f70d8ad016f55224c81 Author: David Woodhouse Date: Wed Jul 29 08:39:26 2009 +0100 agp: Switch agp_{un,}map_page() to take struct page * argument Signed-off-by: David Woodhouse commit 56ec4c1e72865c6d99f643b6574e6e074c3e8823 Author: David Woodhouse Date: Mon Jul 27 16:44:32 2009 +0100 agp: tidy up handling of scratch pages w.r.t. DMA API Signed-off-by: David Woodhouse commit 176616814d700f19914d8509d9f65dec51a6ebf7 Author: Zhenyu Wang Date: Mon Jul 27 12:59:57 2009 +0100 intel_agp: Use PCI DMA API correctly on chipsets new enough to have IOMMU When graphics dma remapping engine is active, we must fill gart table with dma address from dmar engine, as now graphics device access to graphics memory must go through dma remapping table to get real physical address. Add this support to all drivers which use intel_i915_insert_entries() Signed-off-by: Zhenyu Wang Signed-off-by: David Woodhouse commit ff663cf8705bea101d5f73cf471855c85242575e Author: Zhenyu Wang Date: Thu Jul 23 17:25:49 2009 +0100 agp: Add generic support for graphics dma remapping New driver hooks for support graphics memory dma remapping are introduced in this patch. It makes generic code can tell if current device needs dma remapping, then call driver provided interfaces for mapping and unmapping. Change has also been made to handle scratch_page in remapping case. Signed-off-by: Zhenyu Wang Signed-off-by: David Woodhouse commit 2a4ceb6d3e6a566cb4a9dc8f974177f031d27cd7 Author: David Woodhouse Date: Mon Jul 27 10:27:29 2009 +0100 agp: Switch mask_memory() method to take address argument again, not page In commit 07613ba2 ("agp: switch AGP to use page array instead of unsigned long array") we switched the mask_memory() method to take a 'struct page *' instead of an address. This is painful, because in some cases it has to be an IOMMU-mapped virtual bus address (in fact, shouldn't it _always_ be a dma_addr_t returned from pci_map_xxx(), and we just happen to get lucky most of the time?) Signed-off-by: David Woodhouse commit 47cab6a722d44c71c4f8224017ef548522243cf4 Author: Ingo Molnar Date: Mon Aug 3 09:31:54 2009 +0200 debug lockups: Improve lockup detection, fix generic arch fallback As Andrew noted, my previous patch ("debug lockups: Improve lockup detection") broke/removed SysRq-L support from architecture that do not provide a __trigger_all_cpu_backtrace implementation. Restore a fallback path and clean up the SysRq-L machinery a bit: - Rename the arch method to arch_trigger_all_cpu_backtrace() - Simplify the define - Document the method a bit - in the hope of more architectures adding support for it. [ The patch touches Sparc code for the rename. ] Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds Cc: "David S. Miller" LKML-Reference: <20090802140809.7ec4bb6b.akpm@linux-foundation.org> Signed-off-by: Ingo Molnar commit 51840409b6c928eead140157d4e9fc267f50caf9 Author: Lubomir Rintel Date: Sun Aug 2 18:14:44 2009 +0200 ALSA: pcm - Tell user that stream to be rewound is suspended Return STRPIPE instead of EBADF when userspace attempts to rewind of forward a stream that was suspended in meanwhile, so that it can be recovered by snd_pcm_recover(). This was causing Pulseaudio to unload the ALSA sink module under a race condition when it attempted to rewind the stream right after resume from suspend, before writing to the stream which would cause it to revive the stream otherwise. Tested to work with Pulseaudio patched to attempt to snd_pcm_recover() upon receiving an error from snd_pcm_rewind(). Signed-off-by: Lubomir Rintel Signed-off-by: Takashi Iwai commit e44d4e4cee1ece7b6e6bf4db899b1a7766015306 Merge: 559059b 4b35d2c Author: Takashi Iwai Date: Mon Aug 3 08:37:17 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 559059b27f1768e89adc204f3ba2cb82882c15ca Author: Wu Fengguang Date: Sun Aug 2 16:48:55 2009 +0800 ALSA: hda: add IbexPeak/Clarkdale HDMI model with static cvt/pin number The new IbexPeak HDMI codec has 3 pin nodes and 2 converter nodes. Here we assume only the first ones will be used. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit e4c4e448cf557921ffbbbd6d6ddac81fdceacb4f Author: Eric Dumazet Date: Thu Jul 30 03:15:07 2009 +0000 neigh: Convert garbage collection from softirq to workqueue Current neigh_periodic_timer() function is fired by timer IRQ, and scans one hash bucket each round (very litle work in fact) As we are supposed to scan whole hash table in 15 seconds, this means neigh_periodic_timer() can be fired very often. (depending on the number of concurrent hash entries we stored in this table) Converting this to a workqueue permits scanning whole table, minimizing icache pollution, and firing this work every 15 seconds, independantly of hash table size. This 15 seconds delay is not a hard number, as work is a deferrable one. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1e3e238e9c4bf9987b19185235cd0cdc21ea038c Author: Hannes Eder Date: Sun Aug 2 11:05:41 2009 +0000 IPVS: use pr_err and friends instead of IP_VS_ERR and friends Since pr_err and friends are used instead of printk there is no point in keeping IP_VS_ERR and friends. Furthermore make use of '__func__' instead of hard coded function names. Signed-off-by: Hannes Eder Acked-by: Simon Horman Signed-off-by: David S. Miller commit bcd218be5aebed94951a750b1d477aea86fb68ea Author: Steve Glendinning Date: Tue Jul 28 02:37:58 2009 +0000 smsc95xx: remove EEPROM loaded check The eeprom read & write commands currently check the E2P_CMD_LOADED_ bit is set before allowing any operations. This prevents any reading or writing unless a correctly programmed EEPROM is installed. This patch removes the check, so it is possible to program blank EEPROMS via ethtool. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 81e43213882e62374c1a87f9d97d4287ed9f7257 Author: Gerrit Renker Date: Tue Jul 28 09:48:07 2009 +0000 inet6: functions shadow global variable This renames away a variable clash: * ipv6_table[] is declared as a static global table; * ipv6_sysctl_net_init() uses ipv6_table to refer/destroy dynamic memory; * ipv6_sysctl_net_exit() also uses ipv6_table for the same purpose; * both the two last functions call kfree() on ipv6_table. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 8b97c7c283c5ba8f9f4dabd418fd7dcfcc8a387e Author: Julia Lawall Date: Sat Aug 1 22:48:45 2009 +0000 drivers/atm: 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/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 39506a552b4b302540e1f9c6c93a122df353e57d Author: Julia Lawall Date: Sat Aug 1 09:51:06 2009 +0000 drivers/net: 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/) // @haskernel@ @@ #include @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 25f6e89bedd29cc49bfa0d55497e91a671b9ae6e Author: Bartlomiej Zolnierkiewicz Date: Thu Jul 30 23:21:18 2009 +0200 x86: Remove superfluous NULL pointer check in destroy_irq() This takes care of the following entry from Dan's list: arch/x86/kernel/apic/io_apic.c +3241 destroy_irq(11) warning: variable derefenced before check 'desc' Reported-by: Dan Carpenter Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Jonathan Corbet Cc: Eugene Teo Cc: Julia Lawall LKML-Reference: <200907302321.19086.bzolnier@gmail.com> Signed-off-by: Ingo Molnar commit 88e7b76ef7cf939a0cf23a1902030211b20837fe Author: Divy Le Ray Date: Thu Jul 30 21:23:39 2009 +0000 cxgb3: fix Gen2 pci default settings Modify control register settings to accommodate the bridge's max read requset size. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 9450526ac7bd74edf1ee030841d8078c6db6ca0b Author: Divy Le Ray Date: Thu Jul 30 21:23:34 2009 +0000 cxgb3: fix EDC filename string Fix a cut'n paste error in the AEL2020 twinax EDC file name Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 90629209a020859b67423a6326f3765f220c7f5c Author: Ming Lei Date: Sun Aug 2 21:43:36 2009 +0800 lockdep: Fix memory usage info of BFS The unit is KB, so sizeof(struct circular_queue) should be divided by 1024. Signed-off-by: Ming Lei Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: Ming Lei Cc: a.p.zijlstra@chello.nl LKML-Reference: <1249220616-7190-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit e351b660fddd4df76cc4635f896d311ed0ff3752 Author: Ming Lei Date: Wed Jul 22 22:48:09 2009 +0800 lockdep: Reintroduce generation count to make BFS faster We still can apply DaveM's generation count optimization to BFS, based on the following idea: - before doing each BFS, increase the global generation id by 1 - if one node in the graph has been visited, mark it as visited by storing the current global generation id into the node's dep_gen_id field - so we can decide if one node has been visited already, by comparing the node's dep_gen_id with the global generation id. By applying DaveM's generation count optimization to current implementation of BFS, we gain the following advantages: - we save MAX_LOCKDEP_ENTRIES/8 bytes memory; - we remove the bitmap_zero(bfs_accessed, MAX_LOCKDEP_ENTRIES); in each BFS, which is very time-consuming since MAX_LOCKDEP_ENTRIES may be very large.(16384UL) Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra Cc: "David S. Miller" LKML-Reference: <1248274089-6358-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit bb97a91e2549a7f2df9c21d32542582f549ab3ec Author: Peter Zijlstra Date: Mon Jul 20 19:15:35 2009 +0200 lockdep: Deal with many similar locks spin_lock_nest_lock() allows to take many instances of the same class, this can easily lead to overflow of MAX_LOCK_DEPTH. To avoid this overflow, we'll stop accounting instances but start reference counting the class in the held_lock structure. [ We could maintain a list of instances, if we'd move the hlock stuff into __lock_acquired(), but that would require significant modifications to the current code. ] We restrict this mode to spin_lock_nest_lock() only, because it degrades the lockdep quality due to lost of instance. For lockstat this means we don't track lock statistics for any but the first lock in the series. Currently nesting is limited to 11 bits because that was the spare space available in held_lock. This yields a 2048 instances maximium. Signed-off-by: Peter Zijlstra Cc: Marcelo Tosatti Cc: Linus Torvalds Signed-off-by: Ingo Molnar commit f607c6685774811b8112e124f10a053d77015485 Author: Peter Zijlstra Date: Mon Jul 20 19:16:29 2009 +0200 lockdep: Introduce lockdep_assert_held() Add a lockdep helper to validate that we indeed are the owner of a lock. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 98c33eddaf41d225d99b40f9eedbd0fac4c08c05 Author: Peter Zijlstra Date: Tue Jul 21 13:19:07 2009 +0200 lockdep: Fix style nits fixes a few comments and whitespaces that annoyed me. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4f84f4330a11b9eb828bf5af557f4c79c64614a3 Author: Peter Zijlstra Date: Mon Jul 20 15:27:04 2009 +0200 lockdep: Fix backtraces Truncate stupid -1 entries in backtraces. Signed-off-by: Peter Zijlstra LKML-Reference: <1248096665.15751.8816.camel@twins> Signed-off-by: Ingo Molnar commit bcf08df3b23b3d13bf8c4ad6bd744a6ad30015fb Author: Ingo Molnar Date: Sat Apr 19 12:11:10 2008 +0200 sched: Fix cpupri build on !CONFIG_SMP This build bug: In file included from kernel/sched.c:1765: kernel/sched_rt.c: In function ‘has_pushable_tasks’: kernel/sched_rt.c:1069: error: ‘struct rt_rq’ has no member named ‘pushable_tasks’ kernel/sched_rt.c: In function ‘pick_next_task_rt’: kernel/sched_rt.c:1084: error: ‘struct rq’ has no member named ‘post_schedule’ Triggers because both pushable_tasks and post_schedule are SMP-only fields. Move pushable_tasks() to the SMP section and #ifdef the post_schedule use. Cc: Gregory Haskins Cc: Peter Zijlstra LKML-Reference: <20090729150422.17691.55590.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit bbfa26229a8143889e95e0df4a9d69067ee836cd Author: Ingo Molnar Date: Sun Aug 2 14:44:24 2009 +0200 lockdep: Fix BFS build Fix: kernel/built-in.o: In function `lockdep_stats_show': lockdep_proc.c:(.text+0x48202): undefined reference to `max_bfs_queue_depth' As max_bfs_queue_depth is only available under CONFIG_PROVE_LOCKING=y. Cc: Ming Lei Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 693525e3bea25cf2ee6cf2b862ba7c148e891df2 Author: Peter Zijlstra Date: Tue Jul 21 13:56:38 2009 +0200 sched: Ensure the migration task doesn't go away during use Like sched_migrate_task(), set_cpus_allowed_ptr() should hold onto the migration thread too. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 8f48894fcc89ddec62e1762f73a0825793e59e91 Author: Peter Zijlstra Date: Fri Jul 24 12:25:30 2009 +0200 sched: Add debug check to task_of() A frequent mistake appears to be to call task_of() on a scheduler entity that is not actually a task, which can result in a wild pointer. Add a check to catch these mistakes. Suggested-by: Ingo Molnar Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 00aec93d10a051ea64f83eff75d4065a19508ea6 Author: Gregory Haskins Date: Thu Jul 30 10:57:23 2009 -0400 sched: Fully integrate cpus_active_map and root-domain code Reflect "active" cpus in the rq->rd->online field, instead of the online_map. The motivation is that things that use the root-domain code (such as cpupri) only care about cpus classified as "active" anyway. By synchronizing the root-domain state with the active map, we allow several optimizations. For instance, we can remove an extra cpumask_and from the scheduler hotpath by utilizing rq->rd->online (since it is now a cached version of cpu_active_map & rq->rd->span). Signed-off-by: Gregory Haskins Acked-by: Peter Zijlstra Acked-by: Max Krasnyansky Signed-off-by: Peter Zijlstra LKML-Reference: <20090730145723.25226.24493.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit 3f029d3c6d62068d59301d90c18dbde8ee402107 Author: Gregory Haskins Date: Wed Jul 29 11:08:47 2009 -0400 sched: Enhance the pre/post scheduling logic We currently have an explicit "needs_post" vtable method which returns a stack variable for whether we should later run post-schedule. This leads to an awkward exchange of the variable as it bubbles back up out of the context switch. Peter Zijlstra observed that this information could be stored in the run-queue itself instead of handled on the stack. Therefore, we revert to the method of having context_switch return void, and update an internal rq->post_schedule variable when we require further processing. In addition, we fix a race condition where we try to access current->sched_class without holding the rq->lock. This is technically racy, as the sched-class could change out from under us. Instead, we reference the per-rq post_schedule variable with the runqueue unlocked, but with preemption disabled to see if we need to reacquire the rq->lock. Finally, we clean the code up slightly by removing the #ifdef CONFIG_SMP conditionals from the schedule() call, and implement some inline helper functions instead. This patch passes checkpatch, and rt-migrate. Signed-off-by: Gregory Haskins Signed-off-by: Peter Zijlstra LKML-Reference: <20090729150422.17691.55590.stgit@dev.haskins.net> Signed-off-by: Ingo Molnar commit c3a2ae3d93c0f10d29c071f599764d00b8de00cb Author: Steven Rostedt Date: Wed Jul 29 00:21:23 2009 -0400 sched: Add new prio to cpupri before removing old prio We need to add the new prio to the cpupri accounting before removing the old prio. This is because removing the old prio first will open a race window where the cpu will be removed from pri_active. In this case the cpu will not be visible for RT push and pulls. This could cause a RT task to not migrate appropriately, and create a very large latency. This bug was found with the use of ftrace sched events and trace_printk. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: <20090729042526.438281019@goodmis.org> Signed-off-by: Ingo Molnar commit da19ab510343c6496fe8b8f890091296032025c9 Author: Steven Rostedt Date: Wed Jul 29 00:21:22 2009 -0400 sched: Check for pushing rt tasks after all scheduling The current method for pushing RT tasks after scheduling only happens after a context switch. But we found cases where a task is set up on a run queue to be pushed but the push never happens because the schedule chooses the same task. This bug was found with the help of Gregory Haskins and the use of ftrace (trace_printk). It tooks several days for both of us analyzing the code and the trace output to find this. Signed-off-by: Steven Rostedt Signed-off-by: Peter Zijlstra LKML-Reference: <20090729042526.205923666@goodmis.org> Signed-off-by: Ingo Molnar commit e709715915d69b6a929d77e7652c9c3fea61c317 Author: Peter Zijlstra Date: Wed Jun 3 15:41:20 2009 +0200 sched: Optimize unused cgroup configuration When cgroup group scheduling is built in, skip some code paths if we don't have any (but the root) cgroups configured. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit a5004278f0525dcb9aa43703ef77bf371ea837cd Author: Peter Zijlstra Date: Mon Jul 27 14:04:49 2009 +0200 sched: Fix cgroup smp fairness Commit ec4e0e2fe018992d980910db901637c814575914 ("fix inconsistency when redistribute per-cpu tg->cfs_rq shares") broke cgroup smp fairness. In order to avoid starvation of newly placed tasks, we never quite set the share of an empty cpu group-task to 0, but instead we set it as if there's a single NICE-0 task present. If however we actually set this in cfs_rq[cpu]->shares, that means the total shares for that group will be slightly inflated every time we balance, causing the observed unfairness. Fix this by setting cfs_rq[cpu]->shares to 0 but actually setting the effective weight of the related se to the inflated number. Signed-off-by: Peter Zijlstra LKML-Reference: <1248696557.6987.1615.camel@twins> Signed-off-by: Ingo Molnar commit 8e9ed8b02490fea577b1eb1704c05bf43c891ed7 Merge: 716a423 07903af Author: Ingo Molnar Date: Sun Aug 2 14:11:26 2009 +0200 Merge branch 'sched/urgent' into sched/core Merge reason: avoid upcoming patch conflict. Signed-off-by: Ingo Molnar commit 716a42348cdaf04534b15fbdc9c83e25baebfed5 Author: Frederic Weisbecker Date: Fri Jul 24 20:05:23 2009 +0200 sched: Fix cond_resched_lock() in !CONFIG_PREEMPT The might_sleep() test inside cond_resched_lock() assumes the spinlock is held and then preemption is disabled. This is true with CONFIG_PREEMPT but the preempt_count() doesn't change otherwise. Check by starting from the appropriate preempt offset depending on the config. Reported-by: Li Zefan Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1248458723-12146-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit c1dc0b9c0c8979ce4d411caadff5c0d79dee58bc Author: Ingo Molnar Date: Sun Aug 2 11:28:21 2009 +0200 debug lockups: Improve lockup detection When debugging a recent lockup bug i found various deficiencies in how our current lockup detection helpers work: - SysRq-L is not very efficient as it uses a workqueue, hence it cannot punch through hard lockups and cannot see through most soft lockups either. - The SysRq-L code depends on the NMI watchdog - which is off by default. - We dont print backtraces from the RCU code's built-in 'RCU state machine is stuck' debug code. This debug code tends to be one of the first (and only) mechanisms that show that a lockup has occured. This patch changes the code so taht we: - Trigger the NMI backtrace code from SysRq-L instead of using a workqueue (which cannot punch through hard lockups) - Trigger print-all-CPU-backtraces from the RCU lockup detection code Also decouple the backtrace printing code from the NMI watchdog: - Dont use variable size cpumasks (it might not be initialized and they are a bit more fragile anyway) - Trigger an NMI immediately via an IPI, instead of waiting for the NMI tick to occur. This is a lot faster and can produce more relevant backtraces. It will also work if the NMI watchdog is disabled. - Dont print the 'dazed and confused' message when we print a backtrace from the NMI - Do a show_regs() plus a dump_stack() to get maximum info out of the dump. Worst-case we get two stacktraces - which is not a big deal. Sometimes, if register content is corrupted, the precise stack walker in show_regs() wont give us a full backtrace - in this case dump_stack() will do it. Cc: Paul E. McKenney Cc: Peter Zijlstra Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: Signed-off-by: Ingo Molnar commit e33b992d1504f21a8c2173245aeca4fc2ad632ab Author: Dean Nelson Date: Fri Jul 31 09:14:03 2009 +0000 vxge: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for vxge. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 1e3c8bd63854a620680323681f28e60a44e26f0e Author: Dean Nelson Date: Fri Jul 31 09:13:56 2009 +0000 s2io: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for s2io. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit fbc663ceeb7a48481a3b0290040528fbfd207282 Author: Dean Nelson Date: Fri Jul 31 09:13:48 2009 +0000 qlge: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for qlge. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit d6a1f83b63e6999ee9374330ea2d7924e775aff7 Author: Dean Nelson Date: Fri Jul 31 09:13:40 2009 +0000 ixgb: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for ixgb. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit c06c430dedf71a0e9180d673191b9c9368aeaa65 Author: Dean Nelson Date: Fri Jul 31 09:13:33 2009 +0000 igbvf: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for igbvf. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 07ce50e434b62c4de05207109ecd3d615b3cce42 Author: Dean Nelson Date: Fri Jul 31 09:13:25 2009 +0000 bnx2x: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for bnx2x. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 2ec3de26d2dc666159b79a8b9394fa00b6f414ae Author: Dean Nelson Date: Fri Jul 31 09:13:18 2009 +0000 bnx2: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for bnx2. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 0d6ab58da0465c42f34d9d4e7d91510278183c80 Author: Dean Nelson Date: Fri Jul 31 09:13:10 2009 +0000 atl1e: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for atl1e. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit 005fb4f0330afb2916ddc3f3c4c70e4555d64758 Author: Dean Nelson Date: Fri Jul 31 09:13:02 2009 +0000 atl1c: return PCI_ERS_RESULT_DISCONNECT on permanent failure PCI drivers that implement the struct pci_error_handlers' error_detected callback should return PCI_ERS_RESULT_DISCONNECT if the state passed in is pci_channel_io_perm_failure. This patch fixes the issue for atl1c. Signed-off-by: Dean Nelson Signed-off-by: David S. Miller commit d9509ac1295ce2ec121333d29b8a85a9e564f817 Author: Sathya Perla Date: Mon Jul 27 22:53:30 2009 +0000 be2net: delete unnecessary code from be_cmd_POST() When the driver loads the POST stage of the card is expected to be POST_STAGE_ARMFW_RDY. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit efd2e40a8cc891e8f90e0bdde000006bd6201530 Author: Sathya Perla Date: Mon Jul 27 22:53:10 2009 +0000 be2net: some name changes for consistency be_mbox_db_ring() has been changed to be_mbox_notify() (to be consistent with be_mcc_notify()) and struct be_mcc_cq_entry changed to be_mcc_compl to be consistent with rx/tx_compl. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 5f0b849eb35d09cd2f332d5031051c1a8976c30b Author: Sathya Perla Date: Mon Jul 27 22:52:56 2009 +0000 be2net: replace some printks with dev_err()/dev_warn() And get rid of some unnecessary printks. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit eec368fb3ce3ee9e7bb042bbafb03f297d96e55e Author: Sathya Perla Date: Mon Jul 27 22:52:23 2009 +0000 be2net: remove pci_func field from be_adapter struct pci function is available as PCI_FUNC(pdev->devfn); no need for a separate field. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 8788fdc2a53cf012a43808877eaa6ac7e3c923b4 Author: Sathya Perla Date: Mon Jul 27 22:52:03 2009 +0000 be2net: get rid of be_ctrl_info struct/abstraction Currently only the be_ctrl_info struct ptr (instead of adapter) is passed to all the routines in be_cmds.c. Instead pass be_adapter ptr to allow access to all its fields. Merge the contents of struct be_ctrl_info into be_adapter. The resulting code is simpler. Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit a084fcfae541abc0eeecdd73ceeb01fb2453df4e Author: Russell King Date: Sat Aug 1 16:26:03 2009 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit dcb0ce1bdf39581bcd0cffc3d487fb20667977cd Author: Zhang, Yanmin Date: Thu Jul 30 11:28:11 2009 +0800 slub: change kmem_cache->align to record the real alignment kmem_cache->align records the original align parameter value specified by users. Function calculate_alignment might change it based on cache line size. So change kmem_cache->align correspondingly. Signed-off-by: Zhang Yanmin Signed-off-by: Pekka Enberg commit 0c30df6fe0bd1e3845357e793dc1bfd908751c45 Author: Sergey Matyukevich Date: Thu Jul 30 22:29:07 2009 +0100 ARM: 5632/1: Board-specific data for IDE support on afeb9260 This patch adds board-specific data for IDE support on afeb9260. Depends on #5631/1 Tested-by: Sergey Matyukevich Signed-off-by: Sergey Matyukevich Acked-by: Andrew Victor Acked-by: Sergey Lapin Signed-off-by: Russell King commit fb85205ada3fef98122a40b700ecb71efb33ae71 Author: Sergey Matyukevich Date: Thu Jul 30 22:23:24 2009 +0100 ARM: 5631/1: Platform data for CF/IDE support in AT91SAM9260 This patch adds platform data for CF/IDE support and SMC init code for AT91SAM9260 SoC. Tested-by: Sergey Matyukevich Signed-off-by: Sergey Matyukevich Acked-by: Andrew Victor Signed-off-by: Russell King commit ae45b1c618d9e645a5e1decff31b710f739745fa Author: wanzongshun Date: Fri Jul 31 02:30:32 2009 +0100 ARM: 5634/1: Add static setting cpu frequence for w90p910 platform Add static setting cpu frequence for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 897bd6a363770ced6b78f6ae8882325c7590ed8b Author: wanzongshun Date: Fri Jul 31 02:29:45 2009 +0100 ARM: 5633/1: Add wdt resource for w90p910 platform Add wdt resource for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 6d7f68a1eab3d5b3c0a6a5cf9434c77cd3a8c6ac Author: Janusz Krzysztofik Date: Wed Jul 29 13:18:53 2009 +0200 ASoC: add support for Amstrad E3 (Delta) machine This patch adds machine support for Amstrad E3 (Delta) videophone to ASoC. Created and tested against linux-2.6.31-rc3. Applies and works with linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Depends on: 1) latest version of the CX20442 codec driver that exposes v253_ops structure[1], 2) patch 2/3 form this series: TTY: Add definition of a new line discipline required by Amstrad E3 (Delta) ASoC driver[2]. CPU DAI parameters best matching the codec DAI has been selected out empirically for best user experience. Board specific audio function control (with related DAPM widgets) has been modeled after empirically discovered codec capabilities. Unlike other ASoC machine drivers, this one makes use of a codec provided line discipline that is required for talking to a modem chip that can control the codec behavoiur. As the line discipline operations must call board specific bits as well, the machine driver registers its own line discipline ops, not the codec provided, and then calls those codec provided from inside its own callbacks. If some kind of a glue, like a bus over a tty, exsited that could help in runtime detection of a modem (bus adapter) over a more generic line discipline (bus driver)[3], the line discipline code could be probably designed in a more generic way. In order to work at all, this driver requires a working McBSP1. On OMAP1510 based machines (not sure if other OMAP1 variants as well), where McBSP1 is a DSP public peripheral, that means the kernel must provide basic DSP support, ie. omap_dsp_init(), in order to power up the DSP. This used to be included in linux-omap-2.6 tree up to commit 2512fd29db4eb09e82d182596304c7aaf76d2c5c. Without that, the driver would not work, ie. not shift in/out any bits over the CPU DAI[4]. This limitation is not board, but CPU specific, and may apply to other code that makes use of McBSP1/McBSP3 on affected machines. I provide an extra patch (4/3) as a temporary solution. To work correctly in playback mode, this driver requires my prevoiusly submitted patch that corrects pcm pointer calculation for OMAP1510 based machines[5] (already included in linux-2.6.31-rc3). To support codec controls, this driver requires my previously submitted patch that adds support for modem found on Amstrad Delta[6]. [1] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019780.html [2] http://www.spinics.net/lists/linux-serial/msg01862.html [3] http://www.spinics.net/lists/linux-serial/msg01856.html [4] http://www.spinics.net/lists/linux-omap/msg15114.html [5] http://mailman.alsa-project.org/pipermail/alsa-devel/2009-June/018950.html [6] http://www.spinics.net/lists/linux-omap/msg15432.html Credits to: Mark Underwood - for his initial, omap-alsa based sound driver for this machine, Mark Brown - for his help, patience and excellent subsytem maintainer support. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit ad120dae127f5cb14b4c4ed0b98313fb13b9c846 Author: Janusz Krzysztofik Date: Wed Jul 29 12:24:46 2009 +0200 ASoC: CX20442: push down machine independent line discipline bits This corrected patch adds machine independent line discipline code, prevoiusly exsiting inside my Amstrad Delta ASoC machine dirver, to the Conexant CX20442 codec driver. The code can be used as a standalone line discipline, or as a set of codec specific functions called from machine's line discipline callbacks. Anyway, the line discipline itself must be registered by a machine driver. Applies on top of the followup to my initial driver version: http://mailman.alsa-project.org/pipermail/alsa-devel/2009-July/019757.html Suggested by ASoC manintainer Mark Brown Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit 78ed73e84d132e2d556eda90e5b76620f4390ff2 Author: Janusz Krzysztofik Date: Wed Jul 22 05:22:37 2009 +0200 TTY: Add definition of a new line discipline required by Amstrad E3 (Delta) ASoC driver This patch adds new line discipline name an number to include/linux/tty.h. The line discipline will be used by the Amstrad E3 (Delta) sound driver that will come next in this series of patches. Created against linux-2.6.31-rc3. Applies to linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Signed-off-by: Janusz Krzysztofik Acked-by: Alan Cox Signed-off-by: Mark Brown commit b8e22c1fe375a8c3b3e4fd7c569cb8932607bef3 Author: Lars-Peter Clausen Date: Fri Jul 31 21:15:25 2009 +0200 ASoC: jack: Fix race in snd_soc_jack_add_gpios The irq can fire as soon as it has been requested, thus all fields accessed from within the irq handler must be initialized prior to requesting the irq. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 77ee09c67e051a5ebd19a53ba3945dbdc8d21b3c Author: Mark Brown Date: Fri Jul 31 18:26:51 2009 +0100 ASoC: Allow CODECs to flag invalid registers This helps CODECs with sparse register maps work better with the register cache display interface. Signed-off-by: Mark Brown commit a81655ae5a9da16a08ba14637dc6c10217e57492 Author: Eric Sandeen 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 Signed-off-by: Eric Sandeen Cc: Chris Mason Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit ede58517ca93277547a0d054728c352618212d85 Author: Julia Lawall Date: Mon Jul 27 18:15:25 2009 +0200 fs/xfs: Correct redundant test bp was tested for NULL a few lines before, followed by a return, and there is no intervening modification of its value. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 2f6d7c1b34403b97fa57473edcb6749d1db5ace3 Merge: df597ef 1e4247d Author: David S. Miller Date: Thu Jul 30 19:26:55 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit df597efb5737063497f1a4f7c996cc9aec294230 Merge: a33bc5c 0a92457 Author: David S. Miller Date: Thu Jul 30 19:22:43 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwlwifi/iwl-3945.h drivers/net/wireless/iwlwifi/iwl-tx.c drivers/net/wireless/iwlwifi/iwl3945-base.c commit a33bc5c15154c835aae26f16e6a3a7d9ad4acb45 Author: Neil Horman Date: Thu Jul 30 18:52:15 2009 -0700 xfrm: select sane defaults for xfrm[4|6] gc_thresh Choose saner defaults for xfrm[4|6] gc_thresh values on init Currently, the xfrm[4|6] code has hard-coded initial gc_thresh values (set to 1024). Given that the ipv4 and ipv6 routing caches are sized dynamically at boot time, the static selections can be non-sensical. This patch dynamically selects an appropriate gc threshold based on the corresponding main routing table size, using the assumption that we should in the worst case be able to handle as many connections as the routing table can. For ipv4, the maximum route cache size is 16 * the number of hash buckets in the route cache. Given that xfrm4 starts garbage collection at the gc_thresh and prevents new allocations at 2 * gc_thresh, we set gc_thresh to half the maximum route cache size. For ipv6, its a bit trickier. there is no maximum route cache size, but the ipv6 dst_ops gc_thresh is statically set to 1024. It seems sane to select a simmilar gc_thresh for the xfrm6 code that is half the number of hash buckets in the v6 route cache times 16 (like the v4 code does). Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit b5ead1cda64336b589eb4353e00f69c818fb6603 Author: Peter Korsgaard Date: Wed Jul 1 17:47:07 2009 +0200 ARM: S3C: move timer/pwm handling from plat-s3c24xx to plat-s3c The s3c64xx devices use the same hardware core as s3c24xx, so move the timer/pwm handling to plat-s3c so it can be used by both. Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit 14077ea63b5aea1db0142c1085d24aa0d11b9d36 Author: Peter Korsgaard Date: Wed Jul 1 17:47:06 2009 +0200 ARM: S3C: move s3c_device_nand from plat-s3c24xx to plat-s3c Move the s3c_device_nand platform device from plat-s3c24xx to plat-s3c, now that the nand driver also support the s3c64xx devices. Signed-off-by: Peter Korsgaard Signed-off-by: Ben Dooks commit 2896bda4824c1e4d34852e355916e34671e38a11 Author: Peter Korsgaard Date: Wed Jul 1 17:47:09 2009 +0200 ARM: S3C6410: airgoo hmt board support Add support for the Airgoo HMT (home media terminal) device. The HMT is a tablet device with a s3c6410, a 7" LCD and a number of peripheral connections. For more details of the hardware specs, see: http://article.gmane.org/gmane.linux.debian.devel.embedded/4307 Signed-off-by: Peter Korsgaard [ben-linux@fluff.org: subject rewrite] Signed-off-by: Ben Dooks commit e6d197a6954c8a9ff85727c31ca61fc1da78628a Author: Ben Dooks Date: Thu Jul 30 23:23:42 2009 +0100 ARM: S3C: CPUFREQ: Add debugfs support for cpufreq Add debugfs support for the cpufreq driver to allow information about the system state to be exported to the user. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit dfff4e95d749c414af3f7350835139103408a50d Author: Ben Dooks Date: Thu Jul 30 23:23:41 2009 +0100 ARM: S3C: CPUFREQ: Add documentation for system Add documentation for the S3C24XX style CPUFREQ driver. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit ad78759529be38d6aa062233b980095cf74aa7f0 Author: Ben Dooks Date: Thu Jul 30 23:23:40 2009 +0100 ARM: S3C2410: Add armclk for cpufreq support Add armclk for use with the cpufreq support and anything else that may want it. This clock is just a direct descendant of fclk. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit ca0b4901d8faaf98cf254e25cd2784bcb21e46d5 Author: Ben Dooks Date: Thu Jul 30 23:23:39 2009 +0100 ARM: BAST: CPUFREQ: Add board support Add board support for CPUFREQ with the Simtec BAST board registering the necessary information with the core. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit f0176794b6abc2e5239c07a58cf11b6f43d0f185 Author: Ben Dooks Date: Thu Jul 30 23:23:38 2009 +0100 ARM: S3C2410: Add S3C2410A sysdev. Add a sysdev S3C2410A sysdev to allow the differentiation of the S3C2410A from the S3C2410. This is needed for the CPUFREQ code to enable the extra features and update cpu specific information. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 140780ab5a2bc04ccff77337c3a27f3b44182a91 Author: Ben Dooks Date: Thu Jul 30 23:23:37 2009 +0100 ARM: S3C24XX: CPUFREQ: S3C2412/S3C2443 IO timing support Add IO bank timing support for S3C2412/S3C2443. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 25400036867fa7a135fca17810555400d176acaa Author: Ben Dooks Date: Thu Jul 30 23:23:36 2009 +0100 ARM: S3C2412: Update memory register mapping and definitions Update the mapping of the memory controler registers and add the missing definitions of the register block for the SSMC. The register contents definitions can be found in the pl093 header. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit e13cf03eaae3792442c401860910d40f33c89a33 Author: Ben Dooks Date: Thu Jul 30 23:23:35 2009 +0100 ARM: S3C: Update CPU register mapping practices. Currently map-base.h defines the main virtual address mappings made for all the support S3C SoC series, but does not then define any base for per-cpu mappings to be made from. Add S3C_ADDR_CPU() macro to define an virtual address as an offset from the last of the core mappings. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 78ddb2785980fc01b129c3547463266cae9c6ca9 Author: Ben Dooks Date: Thu Jul 30 23:23:34 2009 +0100 ARM: PL093: Header file for PL093 SSMC PrimeCell Header to define the standard registers for an PL093 SSMC memory controller. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 22d4239973bbd3738b3cfe6048c55f885f3f6256 Author: Ben Dooks Date: Thu Jul 30 23:23:33 2009 +0100 ARM: S3C2412: CPUFREQ: Add core support. Add core support for frequency scaling on the S3C2412 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit baf6b281cfa7259ab2d1148b879850f699520bc6 Author: Ben Dooks Date: Thu Jul 30 23:23:32 2009 +0100 ARM: OSIRIS: CPUFREQ: Add CPU frequency scaling support Add CPU frequency scalling support to the Simtec Osiris. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 0345b51c6a4bfaf6c066b8055d02116432b6a0c9 Author: Ben Dooks Date: Thu Jul 30 23:23:31 2009 +0100 ARM: S3C2440: CPUFREQ: Add crystal frequency Kconfig entries. Add entries to select the crystal to select for each different supported board. This information is then available for anything else requiring this, such as the CPUFreq PLL tables. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 78278d6a9673b487d8229dd430cacdf9964c0d3f Author: Ben Dooks Date: Thu Jul 30 23:23:30 2009 +0100 ARM: S3C2440: CPUFREQ: Add PLL tables Add PLL tables for the S3C2440. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 342e20f10294aca4097ae2a056c72a202221a75f Author: Ben Dooks Date: Thu Jul 30 23:23:29 2009 +0100 ARM: S3C2440: CPUFREQ: Add core support. Add core support for frequency scaling on the S3C2440 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 438a09e1eb01c3f0d4cddde97ed9caae652f910b Author: Ben Dooks Date: Thu Jul 30 23:23:28 2009 +0100 ARM: S3C2410: CPUFREQ: Add PLL table Add PLL table for the S3C2410 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit a24c091db988551e2c350cfde9eb80ab6e791ffb Author: Ben Dooks Date: Thu Jul 30 23:23:27 2009 +0100 ARM: S3C2410: CPUFREQ: Add core support. Add core support for frequency scaling on the S3C2410 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 831a6fcb9393960b35173fa2e0f835b710152fff Author: Ben Dooks Date: Thu Jul 30 23:23:26 2009 +0100 ARM: S3C2410: CPUFREQ: Add io-timing support. Add io-timing support for frequency scaling on the S3C2410 SoC. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 9d56c02a5a171e1fdb87f3b718b418cb0522d2b1 Author: Ben Dooks Date: Thu Jul 30 23:23:25 2009 +0100 ARM: Add S3C24XX to CPUFreq KConfig Add the S3C24XX to the main ARM CPUFreq Kconfig support list. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 89c52ed4687faca6bf0eabf6d46eaee4a14376b3 Author: Ben Dooks Date: Thu Jul 30 23:23:24 2009 +0100 ARM: Add ARCH_HAS_CPUFREQ for presence of CPUFREQ driver Add ARCH_HAS_CPUFREQ so that each machine config can select it if they have CPUFREQ driver support. This means that the CPUFREQ specific area does not need the if statement updating each time a new machine is added. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit d6fc87d3f7d236892e4d0003a07cd2b5171e5e27 Author: Ben Dooks Date: Thu Jul 30 23:23:23 2009 +0100 ARM: S3C: CPUFREQ: Move struct s3c_cpufreq_config to cpu-freq-core.h Move the structure s3c_cpufreq_config from cpu-freq.h to the less advertised cpu-freq-core.h as it is not needed by anything outside the core drivers. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit ea5fe9aedf512d20b75b7dcfd54ab99ae5c0934b Author: Ben Dooks Date: Thu Jul 30 23:23:22 2009 +0100 ARM: S3C: CPUFREQ: Documentation for cpufreq header Update arch/arm/plat-s3c/include/plat/cpu-freq.h to include kerneldoc style documentation. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 2e4ea6e8209e0c1d93c69c34c32002337b3f747e Author: Ben Dooks Date: Thu Jul 30 23:23:21 2009 +0100 ARM: S3C24XX: CPUFREQ: Add core support. Add the core of the support for enabling the CPUFreq driver on all S3C24XX based systems. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit b0e66522f4d86713b0450255210e26c4f11ee86b Author: Ben Dooks Date: Thu Jul 30 23:23:20 2009 +0100 ARM: S3C24XX: Add BWSCON per-bank information. Add definitions and an accessor macro to deal with reading bus information from S3C2410_BWSCON for any given numbered bank. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 9aada7ac047f789ffb27540cc1695989897b2dfe Author: Hannes Eder Date: Thu Jul 30 14:29:44 2009 -0700 IPVS: use pr_fmt While being at it cleanup whitespace. Signed-off-by: Hannes Eder Signed-off-by: David S. Miller commit b4076d1715b8a38138db0805a85932b3b650d583 Author: Stephen Hemminger Date: Thu Jul 30 13:16:45 2009 -0700 vlan: allow creating vlan when real device is not up There is no reason for the arbitrary restriction that device must be up to create a vlan. This patch was added to Vyatta kernel to resolve startup ordering issues where vlan's are created but real device was disabled. Note: the vlan already correctly inherits the operstate from real device; so if vlan is created and real device is marked down, the vlan is marked down. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 573dd788ccd919f90c78f971c0da124ffa4b8bff Author: Eilon Greenstein Date: Wed Jul 29 00:20:11 2009 +0000 bnx2x: Version 1.48.114-1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 7d0446c2349da54f2967fb34d984db572fbfc6ac Author: Eilon Greenstein Date: Wed Jul 29 00:20:10 2009 +0000 bnx2x: WoL only with current MAC address In some cases with 57711E, depending on the functions unload sequence, other functions MAC address could have been used to wake the system as well. Make sure to block all but the current function if WoL is required by changing the mode to single function WoL. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit c1f1a06f926acc267c62a26d5d7435a3b5c7e429 Author: Eilon Greenstein Date: Wed Jul 29 00:20:08 2009 +0000 bnx2x: Self-test kills management traffic Self test used to play with the management FIFO possibly while management was running... Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 581ce43d269bb9f9ea85d8f6e6acf68bad129740 Author: Eilon Greenstein Date: Wed Jul 29 00:20:04 2009 +0000 bnx2x: Receive traffic that maches management filtering rules Due to lack of configuration, if the BMC configures the chip to pass all broadcast/multicast traffic to it, the host will not receive it. On top of fixing it, also make sure that in promiscuous mode, the host will receive the management traffic as well. Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2e6713c7662cc5ebc7346b033c404cb2f708fd51 Merge: b4093d6 658874f Author: Rafael J. Wysocki Date: Thu Jul 30 19:38:04 2009 +0200 Merge branch 'master' into for-linus commit 10233a939812450e4fe07cf529585bab5b4d99ec Author: Eric Bénard Date: Thu Jul 30 07:23:42 2009 +0100 ARM: 5630/1: Add support for Eukrea's CPUAT91 CPUAT91 is based on Atmel's AT91RM9200 with up to 16MB Strataflash, up to 128MB SDRAM and an ethernet PHY in RMII mode. Signed-off-by: Eric Benard Acked-by: Andrew Victor Signed-off-by: Russell King commit 41a353d126ca332c20cfd97683b6261992743840 Author: Eric Bénard Date: Thu Jul 30 07:20:03 2009 +0100 ARM: 5629/1: Add support for Eukrea's CPU9260 & CPU9G20 CPU9260 and CPU9G20 share the same PCB populated with either Atmel's AT91SAM9260B or AT91SAM9G20B with up to 64MB Strataflash, up to 128MB SDRAM, up to 2GB NAND and an ethernet PHY in RMII mode. Signed-off-by: Eric Benard Acked-by: Andrew Victor Signed-off-by: Russell King commit ef12379f205bed7e92434e12ddd44e62d13bebe1 Author: Hartley Sweeten Date: Wed Jul 29 22:41:06 2009 +0100 ARM: 5628/1: ep93xx: Introduce Pulse Width Modulator (PWM) driver The EP93xx features two PWMs (one on the EP9307) with the following features: * Configurable dual output * Separate input clocks for each PWM output * 16-bit resolution * Programmable pulse width (duty cycle), interval (frequency), and polarity This adds the necessary core support as well as the driver. A sysfs interface is provided to control the PWM outputs. Signed-off-by: Matthieu Crapet Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 03cb2dafcbde938ed7d01d4b952ea60e3c4e8532 Merge: d195658 3a38516 Author: Takashi Iwai Date: Thu Jul 30 18:09:04 2009 +0200 Merge branch 'topic/hda-cirrus' into topic/hda commit d195658bd785e9384d2f70937034ceb13d5e4bcc Merge: fefd67f 78735cf Author: Takashi Iwai Date: Thu Jul 30 18:08:54 2009 +0200 Merge branch 'fix/hda' into topic/hda commit fefd67f31ee7f5259344e36a237d59b47e8715cf Author: Takashi Iwai Date: Thu Jul 30 18:03:05 2009 +0200 ALSA: hda - Add line-out jack detection on IDT/STAC codecs Add the automatic mute of speakers via line-out jack plugging on STAC/IDT codecs. The feature is enabled when the HP detect is present. Signed-off-by: Takashi Iwai commit 8d631ccff8d90fce77b42f01b3872595c599cbf9 Author: Daniel Mack Date: Thu Jul 23 20:35:54 2009 +0200 ds2760_battery: implement set_charged() feature The ds2760's internal current meter is not reliable enough as it has an inacurracy of around ~15%. Without any correction for that error, the current accumulator is couting up all the time, even though the battery is already fully charged and hence destroys the static information. The longer it is connected, the worse is the aberration. Fortunately, this can be corrected by the DS2760_CURRENT_OFFSET_BIAS register. Using the external power_supply_set_battery_charged() function, this register is now gauging the measurement. A delayed work is used to debounce flaky GPIO signals and to let the current value settle. Also see Maxim's application note AN4188. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Cc: Matt Reimer Cc: Anton Vorontsov Signed-off-by: Anton Vorontsov commit e5f5ccb646bc6009572b5c23201b5e81638ff150 Author: Daniel Mack Date: Thu Jul 23 20:35:53 2009 +0200 power_supply: get_by_name and set_charged functionality This adds a function that indicates that a battery is fully charged. It also includes functions to get a power_supply device from the class of registered devices by name reference. These can be used to find a specific battery to call power_supply_set_battery_charged() on. Some battery drivers might need this information to calibrate themselves. Signed-off-by: Daniel Mack Cc: Ian Molton Cc: Anton Vorontsov Cc: Matt Reimer Signed-off-by: Anton Vorontsov commit ff3417e7effe57cc002a8882a48bcb8e1a7e7267 Author: Daniel Mack Date: Thu Jul 30 17:42:31 2009 +0400 power_supply: EXPORT_SYMBOL cleanups While I'm at it, cleanup the power supply code so that EXPORT_SYMBOL_GPL appears directly after the symbole declaration. checkpatch.pl wants it that way. Signed-off-by: Daniel Mack Cc: Ian Molton Cc: Matt Reimer Signed-off-by: Anton Vorontsov commit 02d0d2758821c38b2601d34dac544140af09e651 Author: Daniel Mack Date: Wed Jul 15 22:57:16 2009 +0200 ds2760_battery: add current_accum module parameter When connecting a ds2760 to a partly loaded battery the first time, there must be a way to bootstrap the current_accum value. Without that, the current capactity value is bogus until the battery is fully charged for the first time. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Cc: Matt Reimer Signed-off-by: Anton Vorontsov commit 25f2bfa62ae77820a8185734c4a2ab7f3971a2fc Author: Daniel Mack Date: Wed Jul 15 18:20:41 2009 +0200 ds2760_battery: handle full_active_uAh == 0 case correctly In systems where the battery monitor is not part of the battery pack and is hence not bootstrapped with sane values, the full_active_uAh is likely to be zero. Handle that case by defaulting to the rated_capacity information which can be passed to the driver using the new module parameter. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Acked-by: Matt Reimer Signed-off-by: Anton Vorontsov commit c1e72193ea3fa02e96bf3aa66006e18d107d0266 Author: Daniel Mack Date: Wed Jul 15 18:20:40 2009 +0200 ds2760_battery: add rated_capacity module parameter For systems where the ds2760 is soldered directly on the PCB, the 'rated capacity' register is not set to anything useful. In order to allow users to bootstrap this value, introduce a new module parameter 'rated_capacity' and use it to write the internal EEPROM in case the value differes from what's been given. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Acked-by: Matt Reimer Signed-off-by: Anton Vorontsov commit 5c6e9bf2c96e746237516bc8897add67682ee452 Author: Daniel Mack Date: Wed Jul 15 18:20:39 2009 +0200 ds2760_battery: export more features Export POWER_SUPPLY_PROP_TIME_TO_EMPTY_NOW and POWER_SUPPLY_PROP_CAPACITY features to the power supply core. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Acked-by: Matt Reimer Signed-off-by: Anton Vorontsov commit 2e83a5c5d2317c386de2880eb43ef0bef8eb1fa9 Author: Daniel Mack Date: Wed Jul 15 18:20:38 2009 +0200 ds2760_battery: delay power supply registration This fixes a race condition I recently introduced with the PMOD feature addition (cef437e3: "w1: ds2760_battery: add support for sleep mode feature"). Postpone the call to power_supply_register() to fix it. Signed-off-by: Daniel Mack Cc: Szabolcs Gyurko Acked-by: Matt Reimer Signed-off-by: Anton Vorontsov commit 3a38516750e176a18f76d605b401fbab2c72d648 Author: Stelian Pop Date: Thu Jul 30 14:44:27 2009 +0200 ALSA: hda - Enable HP output with Macbook Pro 5, 5 The patch below, to be applied on the latest sound-unstable-2.6.git, enables headphones output on my MacBookPro 5,5, together with the automuting feature. Here is the exact soundcard id: Vendor Id: 0x10134206 Subsystem Id: 0x106b4d00 Revision Id: 0x100301 Signed-off-by: Takashi Iwai commit a1daf67d721adfecc298132550bc2967c67f764f Merge: 3a39f83 82c4362e Author: Mark Brown Date: Thu Jul 30 13:21:38 2009 +0100 Merge branch 'gta02-audio' into for-2.6.32 commit 5207e10ed49c515e7432d0b1a7561ccc7b71f9df Author: Takashi Iwai Date: Thu Jul 30 13:09:08 2009 +0200 ALSA: hda - Integrate Digital Input Source to Input Source STAC/IDT codecs provide both "Input Source" and "Digital Input Source" controls to choose the analog input source and the digital input source. But this is far user-unfriendly. This patch merges the input source selections into one "Input Source" control. To have separate digital and analog input source controls, you can pass "separate_dmux = 1 " hint string. At the same time, this patch gets rid of analog mixer stuff that was already disabled in previous patches. Signed-off-by: Takashi Iwai commit bf677bd8fbd5dc06ead5511cf9fa76d090856c6a Author: Takashi Iwai Date: Thu Jul 30 09:24:29 2009 +0200 ALSA: hda - Fix typos of Capture controls. The commit 6479c63188290beae83ade3243b9d6eb47d394b6 ALSA: hda - Create Capture controls dynamically introduced typos of "Capture". Fixed now. Signed-off-by: Takashi Iwai commit 6732bd0d15893d20359396309adc238e0af10b58 Author: Wu Fengguang Date: Thu Jul 30 09:19:14 2009 +0200 ALSA: hda: add HP automute support to Intel ALC889/ALC889A models It auto mutes all 8-channel outputs at rear panel when the front panel headphone is connected. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit dd7714c92248943b778e8199c7dec7ef859dcac2 Author: Wu Fengguang Date: Thu Jul 30 14:36:35 2009 +0800 ALSA: hda: add 2-channel mode to Intel ALC889/ALC889A models This 2-channel mode is useful in that it will broadcast a 2-channel audio stream to all front/side/... ports. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 044824d96208c8ec4863f9c54a529e00a1f1d37c Author: Dhananjay Phadke Date: Tue Jul 28 09:10:03 2009 +0000 netxen: fix CONFIG_INET=n build Wrap dest IP hashing code with #ifdef CONFIG_INET, this feature makes no sense without INET, but other driver can still work. Signed-off-by: Dhananjay Phadke Acked-by: Randy Dunlap Signed-off-by: David S. Miller commit f3a0867b12e0cf1512c0bd0665f2339fc75ed2a8 Author: Bartlomiej Zolnierkiewicz Date: Wed Jul 29 00:04:59 2009 +0200 x86, mce: fix reporting of Thermal Monitoring mechanism enabled Early Pentium M models use different method for enabling TM2 (per paragraph 13.5.2.3 of the "Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide, Part 1"). Tested on the affected Pentium M variant (model == 13). Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit d0c87d1f61704ed589fc0788bedd753632340e98 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 23:56:37 2009 +0200 x86, mce: remove never executed code fseverities_coverage is never NULL in err_out code path. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 419d6162c0c0103fa2f44f6691dff9cac14c650d Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 23:56:00 2009 +0200 x86, mce: add missing __cpuinit tags mce_cap_init() and mce_cpu_quirks() can be tagged with __cpuinit. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin commit e3346fc48204d780f92527d06df8bf6f28d603ec Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 28 23:55:09 2009 +0200 x86, mce: fix "mce" boot option handling for CONFIG_X86_NEW_MCE "mce argument mce ignored. Please use /sys" message shouldn't be printed when using "mce" boot option. Signed-off-by: Bartlomiej Zolnierkiewicz Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 94699b04eddd4b247d871930431d6fa1a46c175e Author: Bartlomiej Zolnierkiewicz 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 Reviewed-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 3a39f832a5699d50a6785de97c551033cc09d0ec Author: Barry Song <21cnbao@gmail.com> Date: Wed Jul 29 15:03:16 2009 +0800 ASoC: Fix checkpatch issues and typos of ad1938 codec and bf5xx-tdm dai 1. fix "line over 80 characters" checkpatch warnings 2. ‘DMA_nnBIT_MASK’ is deprecated, use DMA_BIT_MASK instead 3. fix typos Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 82c4362ee3d8a0b8797ba77222b25c7671696e2b Author: Lars-Peter Clausen Date: Wed Jul 29 16:40:19 2009 +0200 ASoC: neo1973_gta02_wm8753: Replace deprecated s3c_gpio calls with gpiolib With the s3c platform has implementing gpiolib support the s3c_gpio api has been deprecated. This patch gets rid of all s3c_gpio calls and replaces them by using gpiolib. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 69331fbdeede932b64a0eaea6d196beaa9c40e0f Author: Lars-Peter Clausen Date: Wed Jul 29 16:40:18 2009 +0200 ASoC: neo1973_gta02_wm8753: Replace snd_soc_cnew with snd_soc_add_controls. Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown commit 1e4247d457c6a42e4a05cb7dfa4e6ea1fa65c112 Author: Wey-Yi Guy Date: Mon Jul 27 13:50:15 2009 -0700 iwlwifi: debugFs to enable/disable HT40 support Add debugfs file to enable/disable HT40(40MHz) channel support. By default, 40MHz is supported if AP can support the function. By echo "1" to "disable_ht40" file, iwlwifi driver will disable the 40MHz support and only allow 20MHz channel. Because the information exchange happen during association time, so enable/disable ht40 channel only can be performed when it is not associated with AP. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 35a1e70dfe74aafa350325f79687153b9852c3f1 Author: Luis R. Rodriguez Date: Mon Jul 27 08:30:00 2009 -0700 ath9k: remove unused ATH_PCI_VERSION Our version goes by the kernel release. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a9a11622c5c742c115fad371c0397ae86dd3bb67 Author: Johannes Berg Date: Mon Jul 27 12:01:53 2009 +0200 cfg80211: self-contained wext handling where possible Finally! This is what you've all been waiting for! This patch makes cfg80211 take care of wext emulation _completely_ by itself, drivers that don't need things cfg80211 doesn't do yet don't even need to be aware of wireless extensions. This means we can also clean up mac80211's and iwm's Kconfig and make it possible to build them w/o wext now! RIP wext. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1f9298f96082692bdfe73af6fc2167f627f21647 Author: Johannes Berg Date: Mon Jul 27 12:01:52 2009 +0200 cfg80211: combine IWESSID handlers Since we now have handlers IWESSID for all modes, we can combine them into one. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 562e482265ac4d660d9f0114419591d62f44361d Author: Johannes Berg Date: Mon Jul 27 12:01:51 2009 +0200 cfg80211: combine IWAP handlers Since we now have IWAP handlers for all modes, we can combine them into one. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0e82ffe3b90bcad72cfe80e4379946b8fb0691ca Author: Johannes Berg Date: Mon Jul 27 12:01:50 2009 +0200 cfg80211: combine iwfreq implementations Until now we implemented iwfreq for managed mode, we needed to keep the implementations separate, but now that we have all versions implemented we can combine them and export just one handler. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a7bc376c858e0e724b8cb2db09b6874562d377ca Author: Johannes Berg Date: Mon Jul 27 10:33:31 2009 +0200 mac80211: verify info->control.vif is not NULL When enqueuing packets on the internal packet queue, we need to ensure that we have a valid vif pointer since that is required since the net namespace work. Add some assertions to verify this, but also don't crash is for some reason we don't end up with a vif pointer -- warn and drop the packet in all these cases. Since this code touches a number of hotpaths, it is intended to be temporary, or maybe configurable in the future, at least the bit that is in the path that gets hit for every packet, ieee80211_tx_pending(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f9d6b402603a63b5e5b56bd7a79fa72a818be55b Author: Johannes Berg Date: Mon Jul 27 10:22:28 2009 +0200 cfg80211: fix disassoc while not associated When trying to disassociate while not associated, the kernel would crash rather than refusing the operation, fix this; Reported-by: Maxim Levitsky Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit fec247c0d5bfbaa0861774ce31d515bbd48f7fce Author: Sujith Date: Mon Jul 27 12:08:16 2009 +0530 ath9k: Add debug counters for TX Location: ath9k/phy#/xmit Signed-off-by: Sujith Signed-off-by: John W. Linville commit 0ee9c13c7c92581ab005d80795cf65897213b249 Author: Helmut Schaa Date: Sat Jul 25 17:25:51 2009 +0200 mac80211: fix an oops in ieee80211_scan_state_set_channel Fix an oops in ieee80211_scan_state_set_channel which was triggered if the last scanned channel was skipped (for example due to regulatory restrictions) by returning to the decision state after each skipped channel. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit c0b2bbd833a5a26b5a9425cb9a7eb66bbe736dd1 Author: Johannes Berg Date: Sat Jul 25 16:54:36 2009 +0200 nl80211: add missing parameter clearing Jouni and Maxim reported an oops when using wpa_supplicant -Dnl80211, which seems to be due to random data being contained in the crypto settings for the assoc() command. This seems to be due to the missing memset here, so add it -- it's certainly missing but I'm not 100% certain that it will fix the problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cbdec9758736c30ecbb03651b0c2915c442a5895 Author: Gabor Juhos Date: Fri Jul 24 17:27:22 2009 +0200 ath9k: get rid of unnecessary setpower calls We are using setpower routines regardless of the current power mode. Don't bother the hardware, if it is not necessary. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 96148326c4b54db5c384def1a5ab285c359d1395 Author: Gabor Juhos Date: Fri Jul 24 17:27:21 2009 +0200 ath9k: fix race with IEEE80211_CONF_PS checks There is a small window where the mac80211 changes the IEEE80211_CONF_PS flag, and then informs the driver about the change. We have a race condition if we are checking the flag in the same time. Avoid it by introducing a local variable, and using that instead of checking the IEEE80211_CONF_PS flag directly. This fix the problem reported by Luis: http://article.gmane.org/gmane.linux.kernel.wireless.general/34363 Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit ff8365ca889cb86ba5bd40fe3047d047bc632f4c Author: Alexander Beregalov Date: Fri Jul 24 11:55:44 2009 +0400 ar9170: fix build error when !CONFIG_AR9170_LEDS Fix this build error when CONFIG_AR9170_LEDS is not set drivers/net/wireless/ath/ar9170/main.c:1296: error: 'struct ar9170' has no member named 'led_work' Signed-off-by: Alexander Beregalov Signed-off-by: John W. Linville commit 11866efa9b5d6f321a2625b7f6837ba55c4c2e4b Author: John W. Linville Date: Mon Jul 27 10:56:41 2009 -0400 ray_cs: remove bogus NULL check at head of ray_get_wireless_stats Reported-by: Johannes Berg Cc: Martin Ettl Signed-off-by: John W. Linville commit 8d8b261a5c11bd043b9b0e0c7e6c49d57611e3ae Author: Johannes Berg Date: Sat Jul 25 11:58:36 2009 +0200 mac80211: fix receiving deauth Marcel reported a warning, which quite obviously comes from an oversight in the code handling deauth frames, and which resulted in multiple follow-up warnings due to this missing handling. This patch adds the missing deauth handling (telling cfg80211 about it) and also removes the follow-up warnings since they could happen due to races even if nothing is wrong. I've explained the races in the comments. Signed-off-by: Johannes Berg Reported-by: Marcel Holtmann Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit bc43b28c10855aa56f6d0bd64ec6a6d8edbcf11b Author: Johannes Berg Date: Sat Jul 25 10:54:13 2009 +0200 cfg80211: fix circular lock dependency (1) Luis reported this lockdep complaint, that he had also reported earlier but when trying to analyse I had been locking at the wrong code, and never saw the problem: (slightly abridged) ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.31-rc4-wl #6 ------------------------------------------------------- wpa_supplicant/3799 is trying to acquire lock: (cfg80211_mutex){+.+.+.}, at: [] cfg80211_get_dev_from_ifindex+0x1a/0x90 [cfg80211] but task is already holding lock: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x12/0x20 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (rtnl_mutex){+.+.+.}: [] __lock_acquire+0xd76/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] rtnl_lock+0x12/0x20 [] nl80211_send_reg_change_event+0x1f5/0x2a0 [cfg80211] [] set_regdom+0x28e/0x4c0 [cfg80211] -> #0 (cfg80211_mutex){+.+.+.}: [] __lock_acquire+0xe3b/0x12b0 [] lock_acquire+0xe3/0x120 [] mutex_lock_nested+0x44/0x350 [] cfg80211_get_dev_from_ifindex+0x1a/0x90 [cfg80211] [] get_rdev_dev_by_info_ifindex+0x6f/0xa0 [cfg80211] [] nl80211_set_interface+0x3b/0x260 [cfg80211] When looking at the correct code, the problem is quite obvious. I'm not entirely sure which code paths lead here, so until I can analyse it better let's just use RCU to avoid the problem. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6686d17e161dcd0dc6801bcde9e397020bf9edf7 Author: Reinette Chatre Date: Fri Jul 24 11:13:13 2009 -0700 iwlagn: fix sparse warning when compiling without debug C [M] drivers/net/wireless/iwlwifi/iwl-core.o drivers/net/wireless/iwlwifi/iwl-core.c:1341: warning: ‘iwl_dump_nic_error_log’ defined but not used Reported-by: Luis R. Rodriguez Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f7ea097d9b4e61a816c041c92548aad7c7ed7915 Author: Reinette Chatre Date: Fri Jul 24 11:13:12 2009 -0700 iwlagn: fix null pointer access during ucode load on 1000 Commit "iwlwifi: Handle new firmware file with ucode build number in header" introduced new ucode header parsing routines, but neglected to initialize these routines for 1000. The system thus goes into infinite loop trying to load ucode, failing every time with a null pointer exception as it tries to parse the header. Signed-off-by: Reinette Chatre Acked-by: Wey-Yi Guy Signed-off-by: John W. Linville commit b4093d6235b7e4249616651ee328600ced48a18a Merge: d9ab771 7d3e91b Author: Rafael J. Wysocki Date: Wed Jul 29 20:28:08 2009 +0200 Merge branch 'master' into for-linus commit 71443b0b745f7d2c775c8a228e09ef2dc98d42f3 Author: Takashi Iwai Date: Wed Jul 29 18:41:29 2009 +0200 ALSA: hda - No analog mix input source as default for IDT92HD71bxx The analog mix is disabled now as default (unless "analog_mixer" hint is given), so it shoudn't appear in the digital input source as well. Signed-off-by: Takashi Iwai commit fdeb076f20df14b1c7f2817362172548d146b121 Author: Paul Mundt Date: Thu Jul 30 00:27:35 2009 +0900 sh: Add romImage target to archhelp. Adds an archhelp blurb for the romImage target so it is reflected in 'make help'. Signed-off-by: Paul Mundt commit d162300e6c963fe255ea7f73b956a7716e24205d Author: Magnus Damm Date: Wed Jul 29 15:06:15 2009 +0000 sh: kfr2r09 romImage support V2 This patch is romImage support for the kfr2r09 board V2. The partner-jet-setup.txt file is converted into assembly code which becomes the first code to execute from the reset vector. The file partner-jet-setup.txt can also be used to setup the hardware using a JTAG debugger so booting from RAM can be done without burning the code to flash. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3c928320b2254cb6c8d8a7919a1fcf94ca7cae66 Author: Magnus Damm Date: Wed Jul 29 15:04:05 2009 +0000 sh: romImage support V2 This patch contains support for the romImage build target V2. The resulting romImage file should be burned to rom or flash and could be used as small boot loader. Board code should keep their setup code in the file romimage.h located in their mach include directory. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 15b4f296fce683497ecc815b2f9b6f121fb3fef8 Author: Takashi Iwai Date: Wed Jul 29 16:32:55 2009 +0200 ALSA: hda - Add missing DMUX initialization for auto-mic with STAC/IDT Added the missing initialization of DMUX connection (to analog input) for auto-mic mode with STAC/IDT codecs. Signed-off-by: Takashi Iwai commit 26a2798053519d766ddae1ca1b03c8295fddf1a8 Author: Takashi Iwai Date: Wed Jul 29 16:28:09 2009 +0200 ALSA: hda - Remove static connection in IDT 92HD71bxx We don't need any more static connection to the port F (which is often used for docking stations) since its connection is done dynamically via DAC assignment now. Signed-off-by: Takashi Iwai commit fd78a76aefb5bf28a11d6960d29e03a11db62320 Author: Stuart Menefy Date: Wed Jul 29 23:01:24 2009 +0900 sh: Rework irqflags tracing to fix up CONFIG_PROVE_LOCKING. This cleans up the irqflags tracing code quite a bit and ties it in to various missing callsites that caused an imbalance when CONFIG_PROVE_LOCKING was enabled. Previously this was catching on: 987 #ifdef CONFIG_PROVE_LOCKING 988 DEBUG_LOCKS_WARN_ON(!p->hardirqs_enabled); 989 DEBUG_LOCKS_WARN_ON(!p->softirqs_enabled); 990 #endif 991 retval = -EAGAIN; with hardirqs being doubly enabled, and subsequently bailing out with the following call trace: Call trace: [<88035224>] __lock_acquire+0x616/0x6a6 [<88015a8c>] do_fork+0xf8/0x2b0 [<880331ec>] trace_hardirqs_on_caller+0xd4/0x114 [<88241074>] _spin_unlock_irq+0x20/0x64 [<88035224>] __lock_acquire+0x616/0x6a6 [<8800386c>] kernel_thread+0x48/0x70 [<88024ecc>] ____call_usermodehelper+0x0/0x110 [<88024ecc>] ____call_usermodehelper+0x0/0x110 [<88003894>] kernel_thread_helper+0x0/0x14 [<88024bac>] __call_usermodehelper+0x38/0x70 [<88025dc0>] worker_thread+0x150/0x274 [<88035b9c>] lock_release+0x0/0x198 [<88024b74>] __call_usermodehelper+0x0/0x70 [<88028cf0>] autoremove_wake_function+0x0/0x30 [<88028bf2>] kthread+0x3e/0x70 [<88025c70>] worker_thread+0x0/0x274 [<8800389c>] kernel_thread_helper+0x8/0x14 [<88028bb4>] kthread+0x0/0x70 [<88003894>] kernel_thread_helper+0x0/0x14 Reported-by: Nobuhiro Iwamatsu Signed-off-by: Stuart Menefy Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 82b242214b6f5b96eb9b76452ac6e2b67dd81abd Author: Paul Mundt Date: Wed Jul 29 22:43:58 2009 +0900 Revert "sh: Bump the earlytimer bits back to time_init()." This reverts commit 1d29ebebcb951ab6b04d22807cafb24b893310a2. Bumping up the earlytimer initialization causes IRQs to be enabled too early, which blows up lockdep: ... NR_IRQS:256 nr_irqs:256 ------------[ cut here ]------------ Badness at kernel/lockdep.c:2128 Pid : 0, Comm: swapper CPU : 0 Not tainted (2.6.31-rc3-00205-g3ed6e12-dirty #2443) PC is at trace_hardirqs_on_caller+0x48/0x10c PR is at trace_hardirqs_on_caller+0x3c/0x10c ... Revert it back to late_time_init time, which fixes up lockdep. Signed-off-by: Paul Mundt commit 3ed6e129390fb872c3b7e05a232e5d380fbdfb48 Author: Paul Mundt Date: Wed Jul 29 22:06:58 2009 +0900 sh: Handle a NULL vma in __update_tlb() for the fast-path. The TLB miss fast-path presently calls in to update_mmu_cache() to set up the entry, and does so with a NULL vma. Check for vma validity in the __update_tlb() ptrace checks. Signed-off-by: Paul Mundt commit 3d21d3f7e7032619f5c5b47d3ee23bbe45de5993 Author: Takashi Iwai Date: Wed Jul 29 14:32:56 2009 +0200 ALSA: hda - Support auto-mic switching with IDT/STAC codec Support the automatic mic-switching with some devices with IDT/STAC codecs. The condition is that the device has only two inputs, one for an external mic and one for an internal mic. Signed-off-by: Takashi Iwai commit 3725f28b478035a0410268f06a383f24ede7971c Author: Yoshihiro Shimoda Date: Wed Jul 29 09:24:41 2009 +0000 usb: fix hibernate in r8a66597-hcd dev_pm_ops conversion. This fixes up the dev_pm_ops conversion and wires up the callbacks needed for hibernation. Signed-off-by: Yoshihiro Shimoda Signed-off-by: Paul Mundt commit 62558ce15759ee93223132258588320967e1e521 Author: Takashi Iwai Date: Wed Jul 29 14:23:09 2009 +0200 ALSA: hda - Avoid overwrite of jack events with STAC/IDT Since only one event can be associated to a (pin) widget, it's safer to avoid the multiple mapping. This patch fixes the behavior of the STAC/IDT codec driver. Now stac_get_event() doesn't take the type argument but simply returns the first hit element. Then enable_pin_detect() checks the validity of the type, and returns non-zero only if a valid entry. The caller can call stac_issue_unsol_event() after checking the return value. Signed-off-by: Takashi Iwai commit c8489c3ed319677f23e5387fec09c844365566e8 Author: Barry Song <21cnbao@gmail.com> Date: Thu Jul 23 02:10:34 2009 +0800 ASoC: board driver to connect bf5xx with ad1938 Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 01e2ab207ca5a8edac622ab112b581d41b5eb36e Author: Barry Song <21cnbao@gmail.com> Date: Mon Jul 27 18:06:39 2009 +0800 ASoC: blackfin I2S(TDM mode) CPU DAI driver The I2S DAI driver for blackfin SPORT, but works in TDM mode. I2S is not a special case of TDM with only left and right two slots for SPORT interface. I2S coordinates with TDM in SPORT, but not a part of TDM. TDM require different hardware configuration with I2S, not only different slot number. One is "Stereo Serial Operation" mode of SPORT, the other one is "Multichannel Operation" mode. They are incompatible at the same time. Hardware and DMA description and data transfer flow are much different for I2S and TDM. Merging them as a whole will be very ugly and difficult to maintain. So we don't define a new DAI type, but give two DAI instances for standard I2S and TDM, both in I2S-family DAI type. The TDM instance still uses the I2S-family DAI type. Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit b84eab08a67913581515a1184f1deedf1d54dc5d Author: Janusz Krzysztofik Date: Tue Jul 28 20:24:12 2009 +0200 ASoC: CX20442: fix issues pointed out by subsystem maintainer The patch fixes some checkpatch identified issues and adds a comment about line discipline interaction to my driver code, as requested by Mark on my inital submission (thank you Mark for applying my imperfect patch anyway). It also fixes MODULE_ALIAS mismatch as used in my machine driver. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit abfabf8cafa60e7876a7193fb344f739f690071d Author: Andy Adamson Date: Thu Jul 23 19:02:18 2009 -0400 nfsd41: encode replay sequence from the slot values The sequence operation is not cached; always encode the sequence operation on a replay from the slot table and session values. This simplifies the sessions replay logic in nfsd4_proc_compound. If this is a replay of a compound that was specified not to be cached, return NFS4ERR_RETRY_UNCACHED_REP. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit c8647947f8c13ee2647505debae284ab1c859e65 Author: Andy Adamson Date: Thu Jul 23 19:02:17 2009 -0400 nfsd41: rename nfsd4_enc_uncached_replay This function is only used for SEQUENCE replay. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit 49557cc74c7bdf6a984be227ead9a84b3a26f053 Author: Andy Adamson Date: Thu Jul 23 19:02:16 2009 -0400 nfsd41: Use separate DRC for setclientid Instead of trying to share the generic 4.1 reply cache code for the CREATE_SESSION reply cache, it's simpler to handle CREATE_SESSION separately. The nfs41 single slot clientid DRC holds the results of create session processing. CREATE_SESSION can be preceeded by a SEQUENCE operation (an embedded CREATE_SESSION) and the create session single slot cache must be maintained. nfsd4_replay_cache_entry() and nfsd4_store_cache_entry() do not implement the replay of an embedded CREATE_SESSION. The clientid DRC slot does not need the inuse, cachethis or other fields that the multiple slot session cache uses. Replace the clientid DRC cache struct nfs4_slot cache with a new nfsd4_clid_slot cache. Save the xdr struct nfsd4_create_session into the cache at the end of processing, and on a replay, replace the struct for the replay request with the cached version all while under the state lock. nfsd4_proc_compound will handle both the solo and embedded CREATE_SESSION case via the normal use of encode_operation. Errors that do not change the create session cache: A create session NFS4ERR_STALE_CLIENTID error means that a client record (and associated create session slot) could not be found and therefore can't be changed. NFSERR_SEQ_MISORDERED errors do not change the slot cache. All other errors get cached. Remove the clientid DRC specific check in nfs4svc_encode_compoundres to put the session only if cstate.session is set which will now always be true. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit 88e588d56a2f0226a34386b94a03fda97d2b8e67 Author: Andy Adamson Date: Thu Jul 23 19:02:15 2009 -0400 nfsd41: change check_slot_seqid parameters For separation of session slot and clientid slot processing. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit 5261dcf8eb3d098545a676030910cf2c05a00e6c Author: Andy Adamson Date: Thu Jul 23 19:02:14 2009 -0400 nfsd41: remove redundant forechannel max requests check This check is done in set_forechannel_maxreqs. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit 0c193054a4c1cf190d2f23e5e91bd14402e43912 Author: Andy Adamson Date: Mon Jul 27 19:09:19 2009 -0400 nfsd41: hange from page to memory based drc limits NFSD_SLOT_CACHE_SIZE is the size of all encoded operation responses (excluding the sequence operation) that we want to cache. For now, keep NFSD_SLOT_CACHE_SIZE at PAGE_SIZE. It will be reduced when the DRC is changed from page based to memory based. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit 6a14dd1a4fe1bd00e02a96c97015cedfddda58ed Author: Andy Adamson Date: Mon Jul 27 19:06:45 2009 -0400 nfsd41: reserve less memory for DRC Also remove a slightly misleading comment. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit b101ebbc39f50f8af4657e517954ca874b13b364 Author: Andy Adamson Date: Mon Jul 27 18:40:09 2009 -0400 nfsd41: minor set_forechannel_maxreqs cleanup Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit be98d1bbd1b872a10d64cdef0af10b9afcc48092 Author: Andy Adamson Date: Mon Jul 27 18:49:05 2009 -0400 nfsd41: reclaim DRC memory on session free This fixes a leak which would eventually lock out new clients. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields commit 413d63d7106b914a4a004ac08698f10c618e4616 Author: J. Bruce Fields Date: Tue Jul 28 11:37:25 2009 -0400 nfsd: minor write_pool_threads exit cleanup Signed-off-by: J. Bruce Fields commit 2522a776c1b9b5c93383d07717f895cc1a56a87a Author: Eric Sesterhenn Date: Tue Jul 28 14:32:08 2009 +0200 Fix memory leak in write_pool_threads kmemleak produces the following warning unreferenced object 0xc9ec02a0 (size 8): comm "cat", pid 19048, jiffies 730243 backtrace: [] create_object+0x100/0x240 [] kmemleak_alloc+0x2b/0x60 [] __kmalloc+0x14b/0x270 [] write_pool_threads+0x87/0x1d0 [] nfsctl_transaction_write+0x58/0x70 [] nfsctl_transaction_read+0x4f/0x60 [] vfs_read+0x94/0x150 [] sys_read+0x3d/0x70 [] sysenter_do_call+0x12/0x32 [] 0xffffffff write_pool_threads() only frees nthreads on error paths, in the success case we leak it. Signed-off-by: Eric Sesterhenn Reviewed-by: Catalin Marinas Signed-off-by: J. Bruce Fields commit 50c62f068ee67b5a0178855f502f4ea2ee931eed Author: Takashi Iwai Date: Tue Jul 28 18:25:29 2009 +0200 ALSA: hda - Don't create analog mixer for IDT92HD71bxx The analog mixer unit on IDT 92HD71Bxx codecs is almost useless since we use only the direct connections from DAC to pin. Remove the controls to avoid unneeded confusion as default now. This can be still back via "analog_mixer = 1" hint. Signed-off-by: Takashi Iwai commit 6479c63188290beae83ade3243b9d6eb47d394b6 Author: Takashi Iwai Date: Tue Jul 28 18:20:25 2009 +0200 ALSA: hda - Create Capture controls dynamically Instead of static snd_kcontrol_new arrays, create "Capture Volume" and "Capture Switch" controls dynamically based on the mixer attr values (made via HDA_COMPOSE_AMP_VAL()). This reduces the code size and gives more flexibility to change the number of controls later. Signed-off-by: Takashi Iwai commit 9cef7492696a416663b4edb953a4eade8517ebeb Author: Paul Mundt Date: Wed Jul 29 00:12:17 2009 +0900 sh: update_mmu_cache() consolidation. This splits out a separate __update_cache()/__update_tlb() for update_mmu_cache() to wrap in to. This lets us share the common __update_cache() bits while keeping special __update_tlb() handling broken out. Signed-off-by: Paul Mundt commit 4417932315d185b59c0089091de7fa509c59fd5a Author: Takashi Iwai Date: Tue Jul 28 17:03:49 2009 +0200 ALSA: hda - Don't create unneeded digital input source for IDT 92HD71x The current driver creates always the digital input source mixer elements for IDT 92HD71x codecs no matter whether digital mics are present. This patch adds the proper check to avoid the creation of these controls if unnecessary. Signed-off-by: Takashi Iwai commit 9a11f1aa8e14798037d0c9ac134696fa3af6eb2a Author: Takashi Iwai Date: Tue Jul 28 16:01:20 2009 +0200 ALSA: hda - Reword information messages for BIOS auto-probing mode The sentense "Unknown model for xxx, ..." makes people too nervous and drives them to a direction to a wrong "fix" by giving any mismatching model option. Let's rephrase the messages to be more nice and easy (at least that won't make people suspect conspiracies). Signed-off-by: Takashi Iwai commit 78a1a6d3411de1a8b0dc1cb92754b5f12f251912 Author: Syed Rafiuddin Date: Tue Jul 28 18:57:30 2009 +0530 ARM: OMAP4: Update the GPIO support This patch adds GPIO support on OMAP4430 development platform. Signed-off-by: Syed Rafiuddin commit 085b54d99b8ee999e7905b8f16e201e0da8ba369 Author: Syed Rafiuddin Date: Tue Jul 28 18:57:22 2009 +0530 ARM: OMAP4: Add UART4 support This patch adds UART4 support on OMAP4430 development platform. Signed-off-by: Syed Rafiuddin commit a5b92cc348299c20be215b9f4b50853ecfbf3864 Author: Syed Rafiuddin Date: Tue Jul 28 18:57:10 2009 +0530 ARM: OMAP4: Add McBSP support This patch creates McBSP support on OMAP4430 development platform. This patch includes corresponding base address changes for OMAP4. Signed-off-by: Syed Rafiuddin commit 3de472138a138008b534d9587593ba83390e330a Author: David Rientjes Date: Mon Jul 27 18:30:35 2009 -0700 slub: use size and objsize orders to disable debug flags This patch moves the masking of debugging flags which increase a cache's min order due to metadata when `slub_debug=O' is used from kmem_cache_flags() to kmem_cache_open(). Instead of defining the maximum metadata size increase in a preprocessor macro, this approach uses the cache's ->size and ->objsize members to determine if the min order increased due to debugging options. If so, the flags specified in the more appropriately named DEBUG_METADATA_FLAGS are masked off. This approach was suggested by Christoph Lameter . Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit b683d42693c4e92b838117f5c6f7b90bfa1525c9 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:04 2009 +0900 x86: remove unused swiotlb_phys_to_bus() and swiotlb_bus_to_phys() phys_to_dma() and dma_to_phys() are used instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). Signed-off-by: FUJITA Tomonori commit 8ab7ff42c9dd9231706a4ba7120eed22ff52a93b Author: FUJITA Tomonori Date: Fri Jul 10 10:05:03 2009 +0900 powerpc: remove unused swiotlb_phys_to_bus() and swiotlb_bus_to_phys() phys_to_dma() and dma_to_phys() are used instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 862d196b27bd30a5ab8109d5cdb37980d81b1fe9 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:02 2009 +0900 swiotlb: use phys_to_dma and dma_to_phys This converts swiotlb to use phys_to_dma and dma_to_phys instead of swiotlb_phys_to_bus() and swiotlb_bus_to_phys(). swiotlb_phys_to_bus() and swiotlb_bus_to_phys() are not necessary so this patch also removes them. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 8d4f5339d1ee4027c07e6b2a1cfa9dc41b0d383b Author: FUJITA Tomonori Date: Fri Jul 10 10:05:01 2009 +0900 x86, IA64, powerpc: add phys_to_dma() and dma_to_phys() This adds two functions, phys_to_dma() and dma_to_phys() to x86, IA64 and powerpc. swiotlb uses them. phys_to_dma() converts a physical address to a dma address. dma_to_phys() does the opposite. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 8f2502fd8157632909ff335a3c628e7caeec5e03 Author: FUJITA Tomonori Date: Fri Jul 10 10:05:00 2009 +0900 remove is_buffer_dma_capable() is_buffer_dma_capable() was replaced with dma_capable(). is_buffer_dma_capable() tells if a buffer is dma-capable or not. However, it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 30945fdf6a08f52370dab3bc162e96c4b4e36082 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:59 2009 +0900 powerpc: remove unncesary swiotlb_arch_address_needs_mapping swiotlb doesn't use swiotlb_arch_address_needs_mapping(); it uses dma_capalbe(). We can remove unnecessary swiotlb_arch_address_needs_mapping(). We can remove swiotlb_addr_needs_map() and is_buffer_dma_capable() in swiotlb_pci_addr_needs_map() too; dma_capable() handles the features that both provide. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit b9394647ac88faad9db0f9e92eac4db434faded6 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:58 2009 +0900 swiotlb: use dma_capable() This converts swiotlb to use dma_capable() instead of swiotlb_arch_address_needs_mapping() and is_buffer_dma_capable(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 9a937c91eea31c4b594ea49a2a23c57003e04987 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:57 2009 +0900 powerpc: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit a0b00ca84b3ecb9eebd62ad34880d8cc0d988c8a Author: FUJITA Tomonori Date: Fri Jul 10 10:04:56 2009 +0900 ia64: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori commit a4c2baa6e148adfb27beaf16b6fb6d465b5b3acb Author: FUJITA Tomonori Date: Fri Jul 10 10:04:55 2009 +0900 x86: replace is_buffer_dma_capable() with dma_capable Signed-off-by: FUJITA Tomonori commit 99becaca86d184a4433e9fde879ff97303d7669f Author: FUJITA Tomonori Date: Fri Jul 10 10:04:54 2009 +0900 x86: add dma_capable() to replace is_buffer_dma_capable() dma_capable() eventually replaces is_buffer_dma_capable(), which tells if a memory area is dma-capable or not. The problem of is_buffer_dma_capable() is that it doesn't take a pointer to struct device so it doesn't work for POWERPC. Signed-off-by: FUJITA Tomonori commit 02ca646e73f3cb9be69e339841b94edae675e248 Author: FUJITA Tomonori Date: Thu Jul 23 11:18:49 2009 +0900 swiotlb: remove unnecessary swiotlb_bus_to_virt swiotlb_bus_to_virt is unncessary; we can use swiotlb_bus_to_phys and phys_to_virt instead. Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit cf56e3f2e8a8d5b7bc719980869b0e7985c256f3 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:52 2009 +0900 swiotlb: remove swiotlb_arch_range_needs_mapping Nobody uses swiotlb_arch_range_needs_mapping(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit bb52196be37ce154ddc50b1f39496146d181cbe7 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:51 2009 +0900 swiotlb: remove unused swiotlb_alloc() Nobody uses swiotlb_alloc(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 3885123da8335dc6b67387e5e626acbffc56f664 Author: FUJITA Tomonori Date: Fri Jul 10 10:04:50 2009 +0900 swiotlb: remove unused swiotlb_alloc_boot() Nobody uses swiotlb_alloc_boot(). Signed-off-by: FUJITA Tomonori Acked-by: Becky Bruce commit 9e3b25837a20f4d48fef57b0cb8bf750a8cfa8e2 Author: Florian Echtler Date: Mon Jul 27 17:35:39 2009 -0700 Input: usbtouchscreen - add support for e2i touchscreen controller This patch adds support for the e2i touchscreen controller used in the Mimo 740 (and probably in other e2i touchscreen products). Tested on Mimo 740. Signed-off-by: Florian Echtler Signed-off-by: Dmitry Torokhov commit 785b4b3a5a992eeb8b495a89b6f690b383010aba Author: Peng Tao Date: Mon Jul 27 21:44:40 2009 -0400 ext4: fix build warning when EXT4FS_DEBUG is on When compiling with EXT4FS_DEBUG on, gcc will complain with following warnings: linux-2.6/fs/ext4/ialloc.c: In function ‘ext4_count_free_inodes’: linux-2.6/fs/ext4/ialloc.c:1192: warning: format ‘%lu’ expects type ‘long unsigned int’, but argument 2 has type ‘ext4_group_t’ So add a type cast to suppress it. Signed-off-by: Peng Tao Signed-off-by: "Theodore Ts'o" commit 1da46bebb1bb01a77333e6509e74e12b85df5729 Author: Pavel Machek Date: Fri Jul 24 11:13:10 2009 -0700 iwlwifi: fix LED config option IWLWIFI_LEDS option should certainly have help comment, and should default to y. Signed-off-by: Pavel Machek Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit bcc693a14ddf46170752c185e415ff8609b9f82f Author: Wey-Yi Guy Date: Fri Jul 24 11:13:09 2009 -0700 iwlwifi: Name fix for MPDU density for TX aggregation Fix incorrect name for HT MPDU Density. default set to 4 uSec Reported-by: Sujith Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit ec74116487278adf6c3db9c3bbdc81c6409c1cbb Author: Reinette Chatre Date: Fri Jul 24 11:13:08 2009 -0700 iwlwifi: print packet contents in error case This data is more useful to debugging that the receive buffer contents. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 5696aea6f243e40013d2b00cd140fd006ec20b9c Author: Johannes Berg Date: Fri Jul 24 11:13:06 2009 -0700 iwlwifi: remove command callback return value No existing callbacks use anything other than the return value 1, which means that the caller should free the reply skb, so it seems safer in terms of not introducing memory leaks to simply remove the return value and let the caller always free the skb. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit c2acea8e9b86ba5a5469ff477445676a223af4e2 Author: Johannes Berg Date: Fri Jul 24 11:13:05 2009 -0700 iwlwifi: fix up command sending The current command sending in iwlwifi is a bit of a mess: 1) there is a struct, iwl_cmd, that contains both driver and device data in a single packed structure -- this is very confusing 2) the on-stack data and the command metadata share a structure by embedding the latter in the former, which is also rather confusing because it leads to weird unions and similarly odd constructs 3) each txq always has enough space for 256 commands, even if only 32 end up being used This patch fixes these things: 1) rename iwl_cmd to iwl_device_cmd and keep track of command metadata and device command separately, in two arrays in each tx queue 2) remove the 'meta' member from iwl_host_cmd and only put in the required members 3) allocate the cmd/meta arrays separately instead of embedding them into the txq structure Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fbf3a2af3834e8e93e9c2876de62c5b49988e352 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:04 2009 -0700 iwlwifi: Thermal Throttling debugfs function Add debugfs function to display current thermal throttling status for both Legacy and Advance Thermal Throttling Management Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 46f9381aa3fb62f6a141bfd41dcbeda1ec5fa26e Author: Wey-Yi Guy Date: Fri Jul 24 11:13:03 2009 -0700 iwlwifi: Thermal Throttling Management - part 2 Part 2 of Thermal Throttling Management - Thermal Throttling feature is used to put NIC into low power state when driver detect the Radio temperature reach pre-defined threshold Two Thermal Throttling Management Methods; this patch introduce the Advance Thermal Throttling: TI-0: system power index, no tx/rx restriction, HT enabled TI-1: power index 5, 1 spatial stream Tx, multiple spatial stream Rx, HT enabled TI-2: power index 5: 1 spatial stream Tx, 1 spatial stream Rx, HT disabled TI-CT-KILL: power index 5, no Tx, no Rx, HT disabled For advance Thermal Throttling, CT_KILL_ENTER threshold and CT_KILL_EXIT threshold are different; uCode will not stay awake until reach CT_KILL_EXIT threshold. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 39b73fb15e4704fd4d1e33688135810637f5f3fb Author: Wey-Yi Guy Date: Fri Jul 24 11:13:02 2009 -0700 iwlwifi: Thermal Throttling Management - Part 1 Part 1 of Thermal Throttling Management - Thermal Throttling feature is used to put NIC into low power state when driver detect the Radio temperature reach pre-defined threshold Two Thermal Throttling Management Methods; this patch introduce the Legacy Thermal Management: IWL_TI_0: normal temperature, system power state IWL_TI_1: high temperature detect, low power state IWL_TI_2: higher temperature detected, lower power state IWL_TI_CT_KILL: critical temperature detected, lowest power state Once get into CT_KILL state, uCode go into sleep, driver will stop all the active queues, then move to IWL_TI_CT_KILL state; also set up 5 seconds timer to toggle CSR flag, uCode wake up upon CSR flag change, then measure the temperature. If temperature is above CT_KILL exit threshold, uCode go backto sleep; if temperature is below CT_KILL exit threshold, uCode send Card State Notification response with appropriate CT_KILL status flag, and uCode remain awake, Driver receive Card State Notification Response and update the card temperature to the CT_KILL exit threshold. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 672639de13c4db92ed6a47e68043a4317e219902 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:01 2009 -0700 iwlwifi: critical temperature enter/exit condition If advance thermal throttling is used the driver need to pass both "enter" and "exit" temperature to uCode. Using different critical temperature threshold for legacy and advance thermal throttling management based on the type of thermal throttling method is used except 1000. For 1000, it use advance thermal throttling critical temperature threshold, but with legacy thermal management implementation until ucode has the necessary implementations in place. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e3139fe741b25a0f8a27fd2cdf2ad11734c3d4d3 Author: Wey-Yi Guy Date: Fri Jul 24 11:13:00 2009 -0700 iwlwifi: revert to active table when rate is not valid When performing rate scaling, if detected that the new rate index is invalid, clear the search_better_tbl flag so it will not be stuck in the loop. Since the search table is already set up in uCode, we need to empty out the the search table; revert back to the "active" rate and throughput info. Also pass the "active" table setup to uCode to make sure the rate scale is functioning correctly. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 21f5fc75deca63bc41c9d13007d35981d4485622 Author: Luis R. Rodriguez Date: Fri Jul 24 19:57:25 2009 -0400 mac80211: fix oops due to missing private data This was caused by patch: "mac80211: cooperate more with network namespaces" The version of the patch applied doesn't match Johannes' latest: http://johannes.sipsolutions.net/patches/kernel/all/LATEST/NNN-mac80211-netns.patch The skb->cb virtual interface data wasn't being reset for reuse so ath9k pooped out when trying to dereference the private rate control info from the skb. BUG: unable to handle kernel NULL pointer dereference RIP: 0010:[] ath_tx_rc_status+0x33/0x150 [ath9k] <-- snip etc --> Reported-by: Davide Pesavento Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit ac88b6ecdfa629fd1261dab1504d78a56fd4cabf Author: Vivek Natarajan Date: Thu Jul 23 10:59:57 2009 +0530 ath9k: Add support for AR9287 based chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 3fa52056f3a8e755708241d5795e6d3e6f55ad85 Author: Johannes Berg Date: Fri Jul 24 13:23:09 2009 +0200 mac80211: fix PS-poll response, race When a station queries us for a PS-poll response, we wrongly queue the frame on the virtual interface's queue rather than the pending queue. Additionally, fix a race condition where we could potentially send multiple frames to the sleeping station due to using a station flag rather than a packet flag. When converting to a packet flag, we can also convert p54 and remove the filter clearing we added for it. (Also remove a now dead function) Signed-off-by: Johannes Berg Reported-by: Bob Copeland Tested-by: Bob Copeland Cc: Christian Lamparter Signed-off-by: John W. Linville commit 91a3bd76155085d41520cf41ede39e8b7f01aeff Author: Luis R. Rodriguez Date: Thu Jul 23 16:37:47 2009 -0700 mac80211: fix MLME issuing of probe requests while scanning We were issuing probe requests to the associated AP on the wrong band by having our beacon timer loss trigger while we are scanning. When we would scan the timer could hit and force us to send a probe request to the AP but with a chance we'd be on the wrong band. This leads to finding no usable bitrate but we should not get so far on the xmit path. We should not be trying to send these probe request frames so prevent ieee80211_mgd_probe_ap() from sending these. As it turns out all callers of ieee80211_mgd_probe_ap() need this check so we just move the scan check there. This means we can remove the recenlty added check during ieee80211_sta_monitor_work(). Additionally we now fix a race condition added by the patch "mac80211: do not monitor the connection while scanning" which had the same check in ieee80211_sta_conn_mon_timer(). The race happens because the timer routine *does* a valid check for scanning but after it queues work into the mac80211 workqueue the work callback can kick off with scanning enabled and cause the same issue we were trying to avoid. The more appropriate solution would be to disable the respective timers during scan and re-enable them after scan but requires more complex code and testing. Cc: Christian Lamparter Cc: Larry Finger Reported-by: Fabio Rossi Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 485318471e85c1ddb5e3056fa30fdbbc46d759c6 Author: Johannes Berg Date: Thu Jul 23 16:50:16 2009 +0200 mac80211: fix mlme timeouts When a new MLME work is created, its timeout is initialised to 0. This is wrong, it could then be thought of as having an actual timeout in the future (time_is_after_jiffies() can return true). Instead, it should be initialised to jiffies so that it will run right away as soon as the mlme work is executed. Signed-off-by: Johannes Berg Reported-by: Luciano Roth Coelho Reported-by: Alban Browaeys Signed-off-by: John W. Linville commit 09f97e0fc4ae81f151bd76b97e28d2af429c1427 Author: Helmut Schaa Date: Thu Jul 23 12:14:29 2009 +0200 cfg80211: increase scan result expire time Using background scanning in mac80211 the time a scan needs to finish can exceed 10 seconds. Hence, increase the scan results expire time to 15 seconds which should be sufficient. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 977923b00c79185c11b4b47664f5ffa4c3820438 Author: Helmut Schaa Date: Thu Jul 23 12:14:20 2009 +0200 mac80211: rename scan_state to next_scan_state Rename scan_state to next_scan_state to better reflect what it is used for. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 142b9f5074dc0d09dc0025739ad437723d7bf527 Author: Helmut Schaa Date: Thu Jul 23 13:18:01 2009 +0200 mac80211: implement basic background scanning Introduce a new scan flag "SCAN_OFF_CHANNEL" which basically tells us that we are currently on a different channel for scanning and cannot RX/TX. "SCAN_SW_SCANNING" tells us that we are currently running a software scan but we might as well be on the operating channel to RX/TX. While "SCAN_SW_SCANNING" is set during the whole scan "SCAN_OFF_CHANNEL" is set when leaving the operating channel and unset when coming back. Introduce two new scan states "SCAN_LEAVE_OPER_CHANNEL" and "SCAN_ENTER_OPER_CHANNEL" which basically implement the functionality we need to leave the operating channel (send a nullfunc to the AP and stop the queues) and enter it again (send a nullfunc to the AP and start the queues again). Enhance the scan state "SCAN_DECISION" to switch back to the operating channel after each scanned channel. In the future it sould be simple to enhance the decision state to scan as much channels in a row as the qos latency allows us. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit fbe9c429f195111bbf7f1630efa19aee295fd8e7 Author: Helmut Schaa Date: Thu Jul 23 12:14:04 2009 +0200 mac80211: Replace {sw, hw}_scanning variables with a bitfield Use a bitfield to store the current scan mode instead of two boolean variables {sw,hw}_scanning. This patch does not introduce functional changes but allows us to enhance the scan flags later (for example for background scanning). Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 2fb3f028a9a46bd344329766257699b4acb36525 Author: Helmut Schaa Date: Thu Jul 23 12:13:56 2009 +0200 mac80211: introduce a new scan state "decision" Introduce a new scan state "decision" which is entered after every completed scan operation and decides about the next steps. At first the decision is in any case to scan the next channel. This shouldn't introduce any functional changes. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f502d09b750437a4ec9c63333acf1070fe7958af Author: Helmut Schaa Date: Thu Jul 23 12:13:48 2009 +0200 mac80211: advance the state machine immediately if no delay is needed Instead of queueing the scan work again without delay just process the next state immediately. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7d3be3cc489176bc7bd23e673b0b4aef597af2b3 Author: Helmut Schaa Date: Thu Jul 23 12:13:41 2009 +0200 mac80211: refactor the scan code Move the processing of each scan state into its own functions for better readability. This patch does not introduce functional changes. Signed-off-by: Helmut Schaa Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 4ef7084173e22cfdd4bb3aa3858ba8dd5d76f22f Author: Sujith Date: Thu Jul 23 15:32:41 2009 +0530 ath9k: Remove a few redundant variables/macros Signed-off-by: Sujith Signed-off-by: John W. Linville commit f83da96564b2a2f4ae75ea971b357458e5240b61 Author: Sujith Date: Thu Jul 23 15:32:37 2009 +0530 ath9k: Cleanup return values Cleanup aggregation start/stop function interfaces. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 9e98ac65a39df54fb0520cd86d1e7373319df00f Author: Sujith Date: Thu Jul 23 15:32:34 2009 +0530 ath9k: Remove redundant HT macros These can be obtained from mac80211. Signed-off-by: Sujith Signed-off-by: John W. Linville commit 305fe47fb8ac1279f01284c1ba5875fa9a355d22 Author: Sujith Date: Thu Jul 23 15:32:29 2009 +0530 ath9k: Fix a sparse warning Signed-off-by: Sujith Signed-off-by: John W. Linville commit c49fd520d10eb277d94c570f2fdb35d2974a30ee Author: Sujith Date: Thu Jul 23 15:32:25 2009 +0530 ath9k: Trivial fix in Kconfig Update filename for debug information. Signed-off-by: Sujith Signed-off-by: John W. Linville commit d1eba248469272ae0618288bccf65b24d017f1d2 Author: Sujith Date: Thu Jul 23 15:31:31 2009 +0530 mac80211: Add a few 802.11n defines for AMPDU parameters Signed-off-by: Sujith Acked-by: Johannes Berg Signed-off-by: John W. Linville commit d9db5fa2c5cada8d8c20219ad4bab254e866409d Author: Vivek Natarajan Date: Thu Jul 23 12:01:50 2009 +0530 ath9k: Add init values for AR9287 based chipsets. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit 58d30d14a1e5fbc3db6351e5af178ba71e2710f0 Author: Luis R. Rodriguez Date: Wed Jul 22 10:41:14 2009 -0700 ath: map TH to FCC3_WORLD TH gets 5 GHz. Cc: David Quan Cc: Michael Green Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit eb87eaac52e916e28bcf3bd5974f3b581f6c0ae9 Author: Lars Ericsson Date: Sat Jul 18 20:21:52 2009 +0200 rt2x00: Don't alter rt2x00dev->default_ant rt2x00dev->default_ant should be initialized once by the driver, and should not be changed afterwards. Because rt2x00lib_config_antenna() was using a reference to the struct antenna_setup it actually had the oppurtunity to change the default antenna setting and it actually did that during the validation. Instead of passing a pointer to antenna_setup the entire structure should be copied. Signed-off-by: Lars Ericsson Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a272a720660059c30fa038113b77fa2a096437d9 Author: Johannes Berg Date: Tue Jul 14 00:33:36 2009 +0200 mac80211: allow using network namespaces This finally opens up the ability to put mac80211 devices into different network namespaces. As long as you don't have sysfs, that is. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 463d018323851a608eef52a9427b0585005c647f Author: Johannes Berg Date: Tue Jul 14 00:33:35 2009 +0200 cfg80211: make aware of net namespaces In order to make cfg80211/nl80211 aware of network namespaces, we have to do the following things: * del_virtual_intf method takes an interface index rather than a netdev pointer - simply change this * nl80211 uses init_net a lot, it changes to use the sender's network namespace * scan requests use the interface index, hold a netdev pointer and reference instead * we want a wiphy and its associated virtual interfaces to be in one netns together, so - we need to be able to change ns for a given interface, so export dev_change_net_namespace() - for each virtual interface set the NETIF_F_NETNS_LOCAL flag, and clear that flag only when the wiphy changes ns, to disallow breaking this invariant * when a network namespace goes away, we need to reparent the wiphy to init_net * cfg80211 users that support creating virtual interfaces must create them in the wiphy's namespace, currently this affects only mac80211 The end result is that you can now switch an entire wiphy into a different network namespace with the new command iw phy# set netns and all virtual interfaces will follow (or the operation fails). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5061b0c2b9066de426fbc63f1278d2210e789412 Author: Johannes Berg Date: Tue Jul 14 00:33:34 2009 +0200 mac80211: cooperate more with network namespaces There are still two places in mac80211 that hardcode the initial net namespace (init_net). One of them is mandated by cfg80211 and will be removed by a separate patch, the other one is used for finding the network device of a pending packet via its ifindex. Remove the latter use by keeping track of the device pointer itself, via the vif pointer, and avoid it going stale by dropping pending frames for a given interface when the interface is removed. To keep track of the vif pointer for the correct interface, change the info->control.vif pointer's internal use to always be the correct vif, and only move it to the vif the driver expects (or NULL for monitor interfaces and injected packets) right before giving the packet to the driver. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6cf5767c7107c606644503f3e95bc1855386a70f Author: Julia Lawall Date: Mon Jul 27 11:38:52 2009 -0700 drivers/atm: Correct redundant test str has already been tested. It seems that this test should be on the recently returned value snr. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a44a4a006b860476881ec0098c36584036e1cb91 Author: Neil Horman Date: Mon Jul 27 08:22:46 2009 +0000 xfrm: export xfrm garbage collector thresholds via sysctl Export garbage collector thresholds for xfrm[4|6]_dst_ops Had a problem reported to me recently in which a high volume of ipsec connections on a system began reporting ENOBUFS for new connections eventually. It seemed that after about 2000 connections we started being unable to create more. A quick look revealed that the xfrm code used a dst_ops structure that limited the gc_thresh value to 1024, and always dropped route cache entries after 2x the gc_thresh. It seems the most direct solution is to export the gc_thresh values in the xfrm[4|6] dst_ops as sysctls, like the main routing table does, so that higher volumes of connections can be supported. This patch has been tested and allows the reporter to increase their ipsec connection volume successfully. Reported-by: Joe Nall Signed-off-by: Neil Horman ipv4/xfrm4_policy.c | 18 ++++++++++++++++++ ipv6/xfrm6_policy.c | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) Signed-off-by: David S. Miller commit 8a729fce76f7af50d8b622f2fb26adce9c8df743 Author: Eric Dumazet Date: Sun Jul 26 23:18:11 2009 +0000 net: ethtool_op_get_rx_csum() should be public and exported Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 479432344420bc9a868088e346fecb6765e2b674 Author: Julia Lawall Date: Mon Jul 27 06:15:43 2009 +0000 net/netlabel: Correct redundant test entry was tested for NULL near the beginning of the function, followed by a return, and there is no intervening modification of its value. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; position p1,p2; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Acked-by: Paul Moore Signed-off-by: David S. Miller commit 463889e27e6f4f097374a6c9de5611f520766dad Author: Julia Lawall Date: Mon Jul 27 06:13:30 2009 +0000 drivers/net: Correct redundant test res has already been tested. It seems that this test should be on the recently returned value mmio. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; expression E; @@ if (x == NULL || ...) { ... when forall return ...; } ... when != \(x=E\|x--\|x++\|--x\|++x\|x-=E\|x+=E\|x|=E\|x&=E\|&x\) ( *x == NULL | *x != NULL ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit f004ec728bff3cf924ffc19387baca503cd73b01 Merge: c685bfc 987b881 Author: David S. Miller Date: Mon Jul 27 11:29:31 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lowpan/lowpan commit c685bfc6c6bcb9bcc42d1345a3650d3ce5185c52 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:47 2009 +0000 netxen: update version to 4.0.41 Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 7042cd8f148345bfca6c336f009c96a416674f5e Author: Amit Kumar Salecha Date: Mon Jul 27 11:15:54 2009 -0700 netxen: support for ethtool set ringparam Add support for ethtool -G to tune rx and tx ring sizes per interface basis. This is only supported for NX3031 based cards. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 028afe719855a157e32450c36b7a12e1f9e85abe Author: Dhananjay Phadke Date: Sun Jul 26 20:07:45 2009 +0000 netxen: add vlan tx acceleration support Enable vlan tx acceleration for NX3031 if firmware advertises capability. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 9b08beba2d1bf7e4598deba2800a9ea5e5c3a282 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:44 2009 +0000 netxen: fix skb alloc size for legacy firmware Request 1532 bytes skb data size for NX3031. NX2031 firmware needs 1760 sized buffers. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit f17443f4b01659a5c44d5fc6f5c502c39c293959 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:43 2009 +0000 netxen: refactor net_device setup code Move all net_device initialization into one function netxen_setup_netdev(). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 4f96b988e8d404b8b32aefed27503b4538949a3c Author: Dhananjay Phadke Date: Sun Jul 26 20:07:42 2009 +0000 netxen: clean up firmware version checks NX2031 firmware version will never be > 4.0.0, so replace (adapter->fw_major < 4) checks with pci revision ID check. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 24767ab16913bc27ba7a85698e5c0f591368647d Author: Dhananjay Phadke Date: Mon Jul 27 11:08:00 2009 -0700 netxen: Add default and limit macros for ring sizes. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 1bcfd790c49341fcbdce9526a007c4e2b9d54c7c Author: Dhananjay Phadke Date: Sun Jul 26 20:07:40 2009 +0000 netxen: refactor tso code o move all tso / checksum offload code into netxen_tso_check(). o optimize the tso header copy into simple loop. o clean up unnecessary unions from cmd_desc_type0 struct. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 83ac51fa747c3a74372417629fcad4b110857b77 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:39 2009 +0000 netxen: annotate dma watchdog setup o remove superfluous code to setup PCI dma watchdog for NX2031. o disable dma watchdog completely for NX3031 (not required). Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit ca2ef330b5eb30e3bc7047f99fd4be9f1bad22be Author: Dhananjay Phadke Date: Sun Jul 26 20:07:38 2009 +0000 netxen: configure interrupt coalesce defaults Initialize and configure interrupt coalesing defaults in the firmware, so that these also reflect in "ethool -c". Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 6598b169b856793f8f9b80a3f3c5a48f5eaf40e3 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:37 2009 +0000 netxen: enable ip addr hashing NX3031 hardware requires local IP addresses for packet accumulation (LRO). IP address hashing is required to distinguish a local TCP flow from others (forwarded or guest). This patch adds listener for IP and netdev events and configures IP address in the firmware. Signed-off-by: Amit Kumar Salecha Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 68b3cae0824b98d1f469a80cc65dcaab81771f45 Author: Dhananjay Phadke Date: Sun Jul 26 20:07:36 2009 +0000 netxen: refresh firmware info after reset o move dma mask update to netxen_start_firmware() so that if firmware changes across suspend (e.g. file -> flash) it reflects right dma mask. o re-read firmware capabilities after firmware reset. Signed-off-by: Dhananjay Phadke Signed-off-by: David S. Miller commit 663a31ce5bbef2d14fa325023e48bf02b4249f27 Author: Karsten Keil Date: Mon Jul 27 08:20:55 2009 -0700 mISDN: Fix wrong struct name in macro and clarifications Based on comments from Joe Perches . Thanks. Fix IOFUNC_MEMIO macro. WriteFiFo##name##_MIO use the wrong struct name, this was missed because the macro was only called with this name. Clarify with _func that the defined types are functions. Add names to the parameters for better understanding the purpose. Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 70034918930d2e5b68c09bced637228c50d9561a Author: Stephen Rothwell Date: Mon Jul 27 08:05:52 2009 -0700 net: fix multiple definitions of setup_w6692 Signed-off-by: Stephen Rothwell Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 59e57f4417507b1e71f6e5af3eb7e68e6477ac94 Author: Eric Dumazet 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 Acked-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 987b8816661332978efd0f85bedf9866fe2e3232 Author: Thadeu Lima de Souza Cascardo Date: Sun Jul 26 12:34:40 2009 -0300 trivial: fix typo in ieee802154 documentation and add it to index Signed-off-by: Thadeu Lima de Souza Cascardo commit 0dfae7d5a21901b28ec0452d71be64adf5ea323e Author: Paul Mundt Date: Mon Jul 27 21:30:17 2009 +0900 sh: Use the now generic SH-4 clear/copy page ops for all MMU platforms. Now that the SH-4 page clear/copy ops are generic, they can be used for all platforms with CONFIG_MMU=y. SH-5 remains the odd one out, but it too will gradually be converted over to using this interface. SH-3 platforms which do not contain aliases will see no impact from this change, while aliasing SH-3 platforms will get the same interface as SH-4. Signed-off-by: Paul Mundt commit 221c007b028ebf663ebee4fc90483909547d92a7 Author: Paul Mundt Date: Mon Jul 27 20:55:46 2009 +0900 sh: Rename arch/sh/lib/clear_page.S -> __clear_user.S. Now that this only contains the __clear_user() function, rename it accordingly. Signed-off-by: Paul Mundt commit dfff0fa65ab15db45acd64b3189787d37ab163cd Author: Paul Mundt Date: Mon Jul 27 20:53:22 2009 +0900 sh: wire up clear_user_highpage() for sh4, convert sh7705. This wires up clear_user_highpage() on SH-4 and subsequently converts the SH7705 32kB cache mode over to using it. Now that the SH-4 implementation handles all of the dcache purging directly in the aliasing case, there is no need to do this in the default clear_page() implementation. Signed-off-by: Paul Mundt commit 1ba7a7c650bd8ee567e25d9b68e9081d131c70f6 Author: Takashi Iwai Date: Mon Jul 27 12:56:26 2009 +0200 ALSA: hda - Add exception for volume-knob in snd_hda_get_connections() Volume-knob widgets may have connections even if they have no CONN_LIST cap bit. Allow the query exceptionally in snd_hda_get_connections(). Signed-off-by: Takashi Iwai commit a22d543a95e82e5ad0ee1a44aad54fd6b6bf52a8 Author: Takashi Iwai Date: Mon Jul 27 12:54:26 2009 +0200 ALSA: hda - Introduce get_wcaps_type() macro Add a helper macro to retrieve the widget type from wiget cap bits. Signed-off-by: Takashi Iwai commit 5c04c78afba4805846519f29f0b55ac8759e0d48 Author: Eric Sandeen 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 Reviewed-by: Olaf Weber Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 72dccb01e8632aa5ffe58070003d0fa19d007116 Author: Eric Dumazet Date: Thu Jul 23 02:01:38 2009 +0000 bnx2: Update vlan_features [PATCH net-next-2.6] bnx2: Update vlan_features In order to get full use of some advanced features of BNX2, we now need to fill dev->vlan_features. Patch successfully tested with vlan devices built on top of bonding. (bond0 : one bnx2 slave, one tg3 slave (not yet vlan_features enabled) Signed-off-by: Eric Dumazet Acked-by: Michael Chan Signed-off-by: David S. Miller commit 51def0bea92629dff02ff1de40603eb90c609c55 Author: Tomas Winkler Date: Wed Jul 22 14:06:56 2009 +0000 imwc3200: move iwmc3200 SDIO ids to sdio_ids.h 1. add intel's sdio vendor id to sdio_ids.h 2. move iwmc3200 sdio devices' ids to sdio_ids.h Signed-off-by: Tomas Winkler Signed-off-by: David S. Miller commit 1896e61ff7cc1c9dd0d8b1cf4a9426a0f7217a20 Author: Sridhar Samudrala Date: Wed Jul 22 13:38:22 2009 +0000 ethtool: device independent rx_csum and get_flags routines This helps avoid error messages with ethtool -k on devices that don't provide device specific routines. Signed-off-by: Sridhar Samudrala ------------------------------------------------------------------ Signed-off-by: David S. Miller commit 7d073c68a49b23b5ba2bc23c3bb5b3bcaa0b4f20 Author: Eric Dumazet Date: Thu Jul 23 21:21:19 2009 +0000 bnx2x: Dont update vlan_features in bnx2x_set_tso() Patrick said : "vlan_features doesn't need to be updated, the resulting dev->features of the VLAN device is computed as the intersection of dev->features and dev->vlan_features." Signed-off-by: Eric Dumazet Acked-by: Eilon Greenstein Signed-off-by: David S. Miller commit b5eb0589937eae2d58fca17fa45ed44152e772ed Author: Johannes Berg Date: Wed Jul 15 05:23:23 2009 +0000 net: deprecate print_mac We've had %pM for long enough now, time to deprecate print_mac() and remove the __maybe_unused attribute from DECLARE_MAC_BUF so that variables declared with that can be found and removed. Otherwise people are putting in new users of print_mac(). Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit c409c34bc472cc62da6c619acf786120b56c2dc2 Author: Mike McCormack Date: Tue Jul 21 14:51:20 2009 +0000 sky2: remove unnecessary assignment Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit 421d20a3dccb3670d4b2e8d3e4cef6327530f30d Author: David S. Miller Date: Sun Jul 26 13:39:10 2009 -0700 phonet: Fix build. As reported by Oliver Hartkopp: net/phonet/pn_dev.c: In function ‘phonet_init_net’: net/phonet/pn_dev.c:221: error: implicit declaration of function ‘proc_net_fops_create’ net/phonet/pn_dev.c: In function ‘phonet_exit_net’: net/phonet/pn_dev.c:242: error: implicit declaration of function ‘proc_net_remove’ Signed-off-by: David S. Miller commit 703490ff7eaff03e412683da3d8367b5190a71ca Author: Richard Röjfors Date: Fri Jul 24 23:14:17 2009 -0700 Input: tsc2007 - do not read coordinates during probe Don't read coordinates during probe of the driver, just power down the controller and wait for interrupts. Signed-off-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit cad065fd1e95003444e8528f801f52164cb78561 Author: Richard Röjfors Date: Fri Jul 24 23:14:17 2009 -0700 Input: tsc2007 - make init/exit platform hw callbacks optional Make init_platform_hw and exit_platform_hw callbacks optional since they are not needed on all platforms. Signed-off-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit 141586bc57f6083f36c18d86e1cfa5916a1e7c05 Author: Dmitry Torokhov Date: Fri Jul 24 23:14:16 2009 -0700 Input: tsc2007 - properly shut off interrupts/delayed work Properly shut off interrupts/delayed work by free-ing IRQ first and then ensuring that enable/disable is balanced. Also add __devinit/__devexit markings, restore poll delay/period scheduling logic, make sure we call exit_platform_hw() method when probe fails. Tested-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit 75fba3b05d6ed82b975c1f8df8f8e08d5d81dee5 Author: Richard Röjfors Date: Fri Jul 24 22:01:39 2009 -0700 Input: tsc2007 - remove HR timer Since it's not allowed to do synchronous I2C in the HR timer callback context we have to switch to using the global workqueue. The work is scheduled every 1ms when polling rather than 5 us. Signed-off-by: Richard Röjfors Signed-off-by: Dmitry Torokhov commit b0010911d52dc7836a78c9f5c3b32ce4ac05b3c3 Author: Dmitry Torokhov Date: Fri Jul 24 22:01:43 2009 -0700 Input: pxa27x_keypad - switch to using dev_pm_ops Signed-off-by: Dmitry Torokhov commit 633aae23ff31bef692a70772652e753a0ae59b81 Author: Dmitry Torokhov Date: Wed Jul 22 21:51:36 2009 -0700 Input: serio - switch to using dev_pm_ops Signed-off-by: Dmitry Torokhov commit ebd7768daeb39b0691e25175e25b980f13e913e2 Author: Dmitry Torokhov Date: Wed Jul 22 21:51:32 2009 -0700 Input: i8042 - switch to using dev_pm_ops Signed-off-by: Dmitry Torokhov commit c8b201ff867e64b6233d069563081775269f4499 Merge: 436b355 249b405 Author: David S. Miller Date: Sun Jul 26 10:01:25 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 436b355b96042ab6564f43a7dabd5c61d9634ff7 Merge: 92d947b f70e75e Author: David S. Miller Date: Sun Jul 26 10:00:21 2009 -0700 Merge branch 'for_david' of git://git.kernel.org/pub/scm/linux/kernel/git/kkeil/ISDN-2.6-net-next commit 92d947b77436437f4fe6f9b7b7cd35f1a294fa9d Author: Alexander Duyck Date: Thu Jul 23 18:11:01 2009 +0000 igbvf: resolve "frees DMA memory with different size" warnings This change resolves some warnings seen with DMA debugging enabled in which we were mapping skb->data with size + NET_IP_ALIGN and unmapping it with just size. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a0c98605d7237fc4bf26a345db5f950f46e69834 Author: Alexander Duyck Date: Thu Jul 23 18:10:43 2009 +0000 igb: initialize mailbox function pointers prior to phy init The igb driver is currently initializing the mailbox function pointers after the phy. This causes issues as the phy init will return from the function early if there is no phy present. To resolve this I have moved the function pointer init to a location prior to the phy initialization so that serdes based adapters can also make use of SR-IOV. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 0cce119aa977dba00467985c0ae93fe43d28740a Author: Alexander Duyck Date: Thu Jul 23 18:10:24 2009 +0000 igb: cleanup flow control configuration to make requested/current more clear This patch cleans up the flow control configuration for igb to make it a bit more readable in regards to what the requested and current modes are. This should help with the maintainability of the current igb driver in regards to flow control. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 2d94d8ab76ea6c858c6e2eb0ab0403b00b031039 Author: Alexander Duyck Date: Thu Jul 23 18:10:06 2009 +0000 igb: use buffer_info->dma instead of shinfo->nr_frags to determine unmap This change makes it so that we use buffer_info->dma instead of shinfo->nr_frags to determine if we need to unmap a received skb. By doing this we can avoid a cache miss on small packets since the buffer_info structure should already be prefetched. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4703bf73bd5b0d43c3eb5b547398d4f62dc5d4e1 Author: Alexander Duyck Date: Thu Jul 23 18:09:48 2009 +0000 igb: add support for 82576 mezzanine card This patch adds support for a new 82576 mezzanine adapter. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 08a72b5dced32889594e08008cca0d0582f2d3d8 Author: Alexander Duyck Date: Thu Jul 23 18:09:30 2009 +0000 igb: remove unused switch statement from igb_set_wol There is a switch statement in igb_set_wol that defaults to break and doesn't actually do anything. As such it should be removed. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5ac1665906559768029c398d9ede8e7cdd73004e Author: Alexander Duyck Date: Thu Jul 23 18:09:12 2009 +0000 igb: cleanup receive address register initialization This update cleans up the receive address register initialization. The main purpose of this is to clean out some redundancy that was introduced due to having multiple ways of setting the receive address registers. Instead of having a specialized function to set one register and one to set all of them it makes more sense to just go through the list calling the function that is needed to set the individual registers. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 28fc06f58b1fe567bb86c7d0e3d93137e5c0126e Author: Alexander Duyck Date: Thu Jul 23 18:08:54 2009 +0000 igb: move all multicast addresses into multicast table array This patch moves all of the multicast addresses out of the free Receive address registers and instead programs them all into the multicast table array. As a result the multicast filtering may not be as precise, but it also greatly reduces the overhead for multicast addresses. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 009bc06e5311b48c77b7708d9e226ae0f110373a Author: Alexander Duyck Date: Thu Jul 23 18:08:35 2009 +0000 igb: add completion timeout workaround for 82575/82576 The 82575 and 82576 hardware can both experience data corruption issues if a pci-e completion arrives after the timeout value. In order to avoid this we need to increase the timeout value while pci-e master is disabled. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 12645a196eccb9209f88915f56a686086dea1a16 Author: Alexander Duyck Date: Thu Jul 23 18:08:16 2009 +0000 igb: do not overwrite EEPROM LED settings The igb driver was overwritting the LED settings that were configured via EEPROM. This is not correct behavior as the LED settings are meant to be configured by EEPROM and not changed. This change removes the code that was setting the LED behavior on the interface. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f3e7841ca3608db6e0207cd8af5561f065882517 Author: Alexander Duyck Date: Thu Jul 23 18:07:58 2009 +0000 igb: change configure_pcs_link to void since it always returns 0 Since igb_configure_pcs_link always returns 0 there isn't really much point to checking for the result so it is best just to change this to a void so we can properly ignore the return result. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 099e1cb700da6359b784ac7fb65099091b7b961e Author: Alexander Duyck Date: Thu Jul 23 18:07:40 2009 +0000 igb: make serdes power down available for 82575 in addition to 82576 parts There was a serdes power down workaround that was originally added for 82576 fiber. However it has also been found that this workaround is needed for serdes connections as well. In addition it is also needed for 82575 serdes so we we need to remove the checks restricting it to 82576. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dcc3ae9a5252ea4ffe65b43cdc09ec2654b48000 Author: Alexander Duyck Date: Thu Jul 23 18:07:20 2009 +0000 igb: remove media type fiber as it is misleading The current igb driver only supports copper and serdes. The fiber media type is a holdover from earlier NICs as the current nics supported by igb all use serdes when communicating over a fiber connection. As a result we can remove media type fiber without losing any functionality. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f70e75e11069edfbe55be06960854c46860da0a3 Author: Karsten Keil Date: Fri Jul 24 18:41:23 2009 +0200 mISDN: hfcmulti display real PCI ids for not supported cards In the PCI probe function struct pci_device_id points to the matched entry of the ID table, but for devices which are matched with PCI_ANY_ID sub IDs we want display the IDs of the device itself. Signed-off-by: Karsten Keil commit ba2d6ccb1df6ebb2c1b2322518ce7be25c1e3469 Author: Karsten Keil Date: Fri Jul 24 18:26:08 2009 +0200 ISDN: ARRAY_SIZE changes These changes were a direct result of using a semantic patch More information can be found at http://www.emn.fr/x-info/coccinelle/ Modified some of the changes to avoid the extra define. Signed-off-by: Stoyan Gaydarov Signed-off-by: Karsten Keil commit 3cad3da3ed9ece03704f7d67e038b8ae710fa312 Author: Julia Lawall Date: Sun Jul 12 22:05:03 2009 +0200 drivers/isdn: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Signed-off-by: Karsten Keil commit a900845e56617edc005fd8f35bfd5a407aaf96c8 Author: Karsten Keil Date: Thu Jul 23 10:03:05 2009 +0200 mISDN: Add support for Traverse Technologies NETJet PCI cards Add support for cards based on the Tiger 300 and Tiger 320 ISDN PCI chip. Currently only the ISAC ISDN line interface is supported. Signed-off-by: Karsten Keil commit 707b2ce6c1f4f1261788f2ff09ad82c35e0e6240 Author: Karsten Keil Date: Wed Jul 22 20:06:05 2009 +0200 mISDN: Add driver for Winbond cards Add driver for Winbond W6692 based PCI cards. Signed-off-by: Karsten Keil commit da2272c91ae81b41ae6fa6ebdc767a6cef73b770 Author: Karsten Keil Date: Wed Jul 22 20:01:59 2009 +0200 mISDN: Add support for Speedfax+ cards Add support for the Siemens ISAR DSP chip and cards based on it, including analog modem protocols. Signed-off-by: Karsten Keil commit 6115d2f3fcaebed5b88fa9cefd178bb5b07461ff Author: Karsten Keil Date: Wed Jul 22 19:52:24 2009 +0200 mISDN: Driver for AVM Fritz!CARD PCI Add mISDN driver for AVM FRITZ!CARD PCI (all versions). Signed-off-by: Karsten Keil commit cae86d4a4e56eeda1afdea38f230d222edda7dd5 Author: Karsten Keil Date: Wed Jul 22 19:42:46 2009 +0200 mISDN: Add driver for Infineon ISDN chipset family This driver supports cards with Infineon ISAC/HSCX, ISACX, IPAC and IPACX chips from various manufacturers. Signed-off-by: Karsten Keil commit fb286f0471a04ef646c8e5c79750ae6718183745 Author: Karsten Keil Date: Thu Jul 9 10:02:29 2009 +0200 mISDN: Make clearing B-channel a common function Clearing B-channel is needed in every driver, so it makes sense to have it as common function. Signed-off-by: Karsten Keil commit f3fad223ed69f406f33c9619c256858d5a5fc5c7 Author: Karsten Keil Date: Wed Jul 8 20:58:33 2009 +0200 ISDN: Fix isdnhdlc for one byte hdlc packets Normally HDLC packets contain more as one byte (e.g a X25/X75 header). But if you use plain HDLC framing, the current code do not encode 1 byte payloads, this patch fix that. Signed-off-by: Karsten Keil commit c38fc3bc2ecddd4f5278131603e6964cbed071b2 Author: Karsten Keil Date: Wed Jul 8 20:31:42 2009 +0200 ISDN: Add support for none reverse bitstreams to isdnhdc The original isdnhdlc code was developed for devices which had reversed bitorder in the byte stream. Adding code to handle normal bitstreams as well. Signed-off-by: Karsten Keil commit 6bd4bcd3cd8affc09eaee7efbc037f65f4a71501 Author: Karsten Keil Date: Wed Jul 8 19:11:09 2009 +0200 ISDN: Clean up isdnhdlc code Clean up isdnhdlc to meet current code standard. Remove hint to already removed bit reversal table. Signed-off-by: Karsten Keil commit cb3824bade2549d7ad059d5802da43312540fdee Author: Karsten Keil Date: Wed Jul 8 14:21:12 2009 +0200 ISDN: Make isdnhdlc usable for other ISDN drivers isdnhdlc is useful for other ISDN drivers as well. Move the include file to a central location and the source to the central isdn location. Signed-off-by: Karsten Keil commit 4c8abb556b393b3ed73d72481ba27705294f6dc6 Author: Nicolas Ferre Date: Fri Jul 24 12:16:57 2009 +0100 ARM: 5622/1: at91: at91sam9g45 headers: DMA peripheral identifiers It adds DMA peripheral identifiers for hardware handshaking interface. It will be used in platform code. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit ae78e0e0e49885bef3bffee2a56254db6abf562c Author: Mike Rapoport Date: Wed Jul 22 23:02:54 2009 -0700 Input: gpio_keys - swtich to dev_pm_ops Signed-off-by: Mike Rapoport Signed-off-by: Dmitry Torokhov commit 8150f32b90f630ad3e460f026ce338cb81685bc9 Author: Dmitry Torokhov Date: Fri Jul 24 22:11:32 2009 -0700 Driver Core: Make PM operations a const pointer They are not supposed to be modified by drivers, so make them const. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit 249b405cf8145da8a74b70544ae1079d244bdb00 Author: Javier Cardona Date: Tue Jul 7 10:55:03 2009 -0700 mac80211: Fix regression in mesh forwarding path. The removal of the master netdev broke the mesh forwarding path. This patch fixes it by using the new internal 'pending' queue. As a result of this change, mesh forwarding no longer does the inefficient 802.11 -> 802.3 -> 802.11 conversion that was done before. [Changes since v1] Suggested by Johannes: - Select queue before adding to mpath queue - ieee80211_add_pending_skb -> ieee80211_add_pending_skbs - Remove unnecessary header wme.h Signed-off-by: Javier Cardona Signed-off-by: Andrey Yurovsky Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit 3d34deb6737b1ae1f8b7817b57d603807f5d88ea Author: Johannes Berg Date: Thu Jun 18 17:25:11 2009 +0200 mac80211: fix ieee80211_xmit call context ieee80211_xmit() cannot be called with tasklets enabled because it is normally called from within a tasklet. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 72bce62775db0315511474e8d8f8e25d25b48366 Author: Johannes Berg Date: Wed Jun 17 17:45:28 2009 +0200 net: remove unused skb->do_not_encrypt mac80211 required this due to the master netdev, but now it can put all information into skb->cb and this can go. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3b8d81e020f77c9da8b85b0685c8cd2ca7c7b150 Author: Johannes Berg Date: Wed Jun 17 17:43:56 2009 +0200 mac80211: remove master netdev With the internal 'pending' queue system in place, we can simply put packets there instead of pushing them off to the master dev, getting rid of the master interface completely. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c4029083e2acb82229c43b791c07afb089d972ff Author: Johannes Berg Date: Wed Jun 17 17:43:30 2009 +0200 net: export __dev_addr_sync/__dev_addr_unsync For mac80211, with the master netdev removal, we need to be able to sync a multicast address list onto another list that is not tracked within a netdev, so we need access to the functions doing that. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ccc78ec5d463e6c99f4a384be52b31222ffe2e21 Author: Luis R. Rodriguez Date: Tue Jul 21 21:03:42 2009 -0400 adm8211: remove uneeded code during suspend/resume mac80211 drivers do not need to stop the software queues or call their own stop() callback upon suspend as we do it for drivers. Equally drivers don't have to call their own start() or start the queues as mac80211 will do it for us. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 95a2b2ef82dc0bd10475c02e9d1fc7c93e708d03 Author: Luis R. Rodriguez Date: Tue Jul 21 21:03:10 2009 -0400 ath9k: do not stop the queues in driver stop mac80211 will have disabled the queues for us when needed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 2b3daf588965b72d3a9ccff426bfd5516bb73c6a Author: Joe Perches Date: Tue Jul 21 13:09:56 2009 -0700 MAINTAINERS: Update rtl8180 patterns rtl8180 files were moved into a subdirectory by commit 1c740ed2210a0d124674a477ea538468aba47810 Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 834da346041cd8969897feea2cdb09269120599f Author: Kalle Valo Date: Tue Jul 21 14:26:08 2009 +0300 MAINTAINERS: add wl1251 wireless driver Add myself as the maintainer for wl1251 driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 270b7588b376968d4db3af01e6d9907814c45552 Author: Kalle Valo Date: Tue Jul 21 14:26:01 2009 +0300 wl1251: remove wl1251_plt_start/stop() This Production Line Testing code is currently unused and can be removed. It can be reintroduced when nl80211 test mode implemented for the driver. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f298c282a5233126ffe6385c02a9e79f695bed0f Author: Kalle Valo Date: Tue Jul 21 14:25:53 2009 +0300 wl1251: remove accidentally added wl1251_netlink.c Commit "wl1251: add wl1251 prefix to all 1251 files" accidentally added wl1251_netlink.c which contains a private netlink interface. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit f974cfdd8112a081fb1a402bf77835f28f37fcad Author: Pavel Roskin Date: Mon Jul 20 08:00:30 2009 -0400 ath5k: fix values for bus error bits in ISR2 The new values are taken from the recently open sourced Atheros HAL. Correctness is also confirmed by the users with access to Atheros documentation. Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1e056665e878ce4f91dbfd594f4ebba49ea689c0 Author: Zhu Yi Date: Mon Jul 20 16:12:57 2009 +0800 cfg80211: avoid setting default_key if add_key fails In cfg80211_upload_connect_keys(), we call add_key, set_default_key and set_default_mgmt_key (if applicable) one by one. If one of these operations fails, we should stop calling the following functions. Because if the key is not added successfully, we should not set it as default key anyway. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 971ad01169398170976951d3a9479a29d231c734 Author: Zhu Yi Date: Mon Jul 20 11:47:47 2009 +0800 iwmc3200wifi: fix a use-after-free bug The patch fixes a use-after-free bug for cmd->seq_num; Reported-by: Dan Carpenter Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9c7c0cdd24e64f9aed39453a1bffc3b3fd16ef99 Author: Zhu Yi Date: Mon Jul 20 11:47:46 2009 +0800 iwmc3200wifi: fix cfg80211_connect_result is called in IBSS Avoid calling cfg80211_connect_result() in IBSS mode. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b68518fcbc6e0fe8c06a218cd2b92f62f3730cf9 Author: Zhu Yi Date: Mon Jul 20 11:47:45 2009 +0800 iwmc3200wifi: use cfg80211_connect_result to send req/resp IE cfg80211_connect_result() let us specify associate request and response IEs as parameters after we are connected. We use this capability instead of doing it ourselves with WEXT. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3409ff7711bcf70390d5ba8ebde5d913b5266a45 Author: Zhu Yi Date: Mon Jul 20 11:47:44 2009 +0800 cfg80211: fix typo of IWEVASSOCRESPIE It should be IWEVASSOCREQIE instead. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1f00fca5c83c1bc5b4ca7e07f2a030bc39c130f2 Author: Zhu Yi Date: Mon Jul 20 11:47:43 2009 +0800 cfg80211: set_default_key only for WEP We invoke the cfg80211 set_default_key callback only for WEP key configuring. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e6a3f551bc236010c4d4d99e626e150e98a4c3e6 Author: Larry Finger Date: Sun Jul 19 21:53:14 2009 -0500 p54: Eliminate unnecessary initialization In two places, variables are unnecessilarly initialized to NULL. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit f742880c9ca733b6c18bfaa0f5ad2a57f37180c2 Author: Christian Lamparter Date: Sun Jul 19 23:21:07 2009 +0200 mac80211: fix spare warnings in driver-trace.h This patch fixes the following errors: driver-trace.h:148:1: error: cannot size expression driver-trace.h:148:1: error: cannot size expression [...] driver-trace.h:222:1: error: cannot size expression driver-trace.h:71:1: error: incompatible types for operation (<) driver-trace.h:71:1: left side has type void * driver-trace.h:71:1: right side has type int driver-trace.h:99:1: error: incompatible types for operation (<) driver-trace.h:99:1: left side has type void * driver-trace.h:99:1: right side has type int driver-trace.h:148:1: error: incompatible types for operation (<) driver-trace.h:148:1: left side has type void * driver-trace.h:148:1: right side has type int driver-trace.h:222:1: error: cannot size expression driver-trace.h:248:1: error: incompatible types for operation (<) driver-trace.h:248:1: left side has type void * driver-trace.h:248:1: right side has type int driver-trace.h:446:1: error: incompatible types for operation (<) driver-trace.h:446:1: left side has type void * driver-trace.h:446:1: right side has type int Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a99d02483a40b9410d8a7af3b653ebc3f106280f Author: Christian Lamparter Date: Sun Jul 19 22:09:32 2009 +0200 mac80211: do not monitor the connection while scanning mac80211 constantly monitors the connection to the associated AP in order to check if it is out of reach/dead. This is absolutely fine most of the time. Except when there is a scheduled scan for the whole neighborhood. After all this path could trigger while scanning on different channel. Or even worse: this AP probing triggers a WARN_ON in rate_lowest_index when the scan code did a band transition! ( http://www.kerneloops.org/raw.php?rawid=449304 ) Reported-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 9ab56078e638efb75ac4ccd27c7196cdfed2e6c8 Author: Roel Kluin Date: Mon Jul 13 00:10:07 2009 +0200 arlan: inverted logic? Inverted logic Signed-off-by: Roel Kluin Signed-off-by: John W. Linville commit f9b604f6c24ad161e9c9e30a138d5899724225c8 Author: Gabor Juhos Date: Sun Jun 21 00:02:15 2009 +0200 ath9k: make use ath9k_hw_wait int ath9k_hw_reset_tsf We have a dedicated function for this kind of checks, use that instead of duplicating the code. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 1b7e528b2e39bfed37228eedaaf0665196d8ddc9 Author: Gabor Juhos Date: Sun Jun 21 00:02:14 2009 +0200 ath9k: wake up the chip for TSF reset If we are in NETWORK SLEEP state, AR_SLP32_TSF_WRITE_STATUS limit always exceeds in 'ath9k_hw_reset_tsf', because reading of the AR_SLP3 register always return with the magic 0xdeadbeef value. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit da3c821f549419e09b4b64f07d99f52174daae6d Author: Stefan Weil Date: Sun Jul 19 15:00:39 2009 +0200 wl12xx: fix spelling Changes (comments and debug output): * couldnt -> couldn't * frmware -> firmware * recevied -> received Signed-off-by: Stefan Weil Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 4951348109c334f2b839816bd161522d089cb782 Author: Luis Correia Date: Fri Jul 17 21:39:19 2009 +0200 rt2x00: Comment spellchecking Fix a bunch of spelling errors in the rt2x00 drivers Signed-off-by: Luis Correia Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 30a12a8fbbd530b016277dd2ab65246b516540a8 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:27 2009 -0700 iwlwifi: change iwl_enable/disable_interrupts to "inline" iwl_enable_interrupts is being called inside the interrupt, change from function call to inline Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4c423a2b0cc3c85137988962e6ba3f01baef0b4e Author: Reinette Chatre Date: Fri Jul 17 09:30:26 2009 -0700 iwlwifi: inform user about rfkill state changes rfkill state changes are mostly available through debug messages. These are significant enough to always make user aware of so we turn them into warnings. Also insert a missing newline in some rfkill related debug message. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 58dba728b1b727cb3d95a1f76ca4e88a1e628ee1 Author: Reinette Chatre Date: Fri Jul 17 09:30:25 2009 -0700 iwlwifi: clarify hardware error message When a hardware error is detected we need to be clear about that and not create impression that the microcode is able to deal with it. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a562a9dda7f47e7cac58d80bf1ffe441feca510e Author: Reinette Chatre Date: Fri Jul 17 09:30:24 2009 -0700 iwlwifi: make debug level more user friendly * Deprecate the "debug50" module parameter used to obtain 5000 series and up debugging. Replace it with "debug" module parameter to match with original driver and be consistent between them. The "debug50" module parameter can still be used, except that the module parameter is not writable in keeping with its previous state. We currently just mark it as "deprecated" and do not have it in the feature-removal-schedule. Some more cleanup of module parameters needs to be done and can then be entered together. * Only make "debug" module parameters visible if the driver is compiled with CONFIG_IWLWIFI_DEBUG. This will eliminate a lot of confusion where users think they have set debug flags but yet cannot see any debug output. * Make module parameters writable. This eliminates the need for the "debug_level" sysfs file, which can now also be deprecated and added to feature-removal-schedule. This file is in significant use though with many iwlwifi documents and text referring users to it. We can thus not take its removal lightly and keep it around. With iwlcore shared between iwlagn and iwl3945 we really do not need debug module parameters for each but can instead have one debug module parameter for the iwlcore module. The same issue is here as with the sysfs file - a lot of iwlwifi documentation and text (like bug reports) rely on iwlagn and iwl3945 having this module parameter, so changing this to a module parameter of iwlcore will have significant impact and we do not do this for that reason. One consequence of this patch is that if a user is running a system with both 3945 and later hardware then the setting of the one module parameter will affect the value of the other. The likelihood of this seems low - and even if this setup is present it does not seem like an issue for both modules to run with the same debug level. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 34a66de628b5dcc4a93129610ccd24814935e8cd Author: Wey-Yi Guy Date: Fri Jul 17 09:30:23 2009 -0700 iwlwifi: uCode Alive notification with timeout Wait for REPLY_ALIVE notification from init and runtime uCode. based on the type of REPLY_ALIVE, different status bit will be set to wake up the queue: STATUS_INIT_UCODE_ALIVE for init uCode STATUS_RT_UCODE_ALIVE for runtime uCode. If timeout, attempt to download the failing uCode image again. This can only be done for the init ucode images of all iwlagn devices and the runtime ucode image of the 5000 series and up. If there is a problem with the 4965 runtime ucode coming up we restart the interface and thus trigger a new download of the init ucode also. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cce53aa347c1e023d967b1cb1aa393c725aedba5 Author: Jay Sternberg Date: Fri Jul 17 09:30:22 2009 -0700 iwlwifi: update 1000 series API version to match firmware firmware file now contains build number so API needs to be updated. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b23a0524a38b146f85be44ae0d71abd2a710f4ab Author: Wey-Yi Guy Date: Fri Jul 17 09:30:21 2009 -0700 iwlwifi: checking unknown HW type When deciding NVM type, if the HW type is unknown, report error and exit with -ENOENT. This check should prevent incorrect behavior by assuming the wrong NVM type. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit e5108d075c705ed3336163d9ead2b8fe629f680d Author: Wey-Yi Guy Date: Fri Jul 17 09:30:20 2009 -0700 iwlwifi: Led blinking counting both tx and rx For controlling led blinking, counting both tx and rx data traffic; this will be able to handle traffic in either direction Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit a283c0116b0cc5e82327e50ad4d05f6d4d42c603 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:19 2009 -0700 iwlwifi: add led debugfs function Adding debugfs file to show current led blinking rate /sys/kernel/debug/ieee80211/phy0/iwlagn/data/led Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 2d1bb9e58c2b13df13741d1efe1129cf1098405d Author: Reinette Chatre Date: Fri Jul 17 09:30:18 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 Tested-by: Frans Pop Signed-off-by: John W. Linville commit 5e215169f466e48561e40d1fa142f02e0e44a3d0 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:17 2009 -0700 iwlwifi: make led functions generic Led functions are generic for all the devices except 3945, so remove the reference to 4965 Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit cc0f555d511a5fe9d4519334c8f674a1dbab9e3a Author: Jay Sternberg Date: Fri Jul 17 09:30:16 2009 -0700 iwlwifi: Handle new firmware file with ucode build number in header Adding new API version to account for change to ucode file format. New header includes the build number of the ucode. This build number is the SVN revision thus allowing for exact correlation to the code that generated it. The header adds the build number so that older ucode images can also be enhanced to include the build in the future. some cleanup in iwl_read_ucode needed to ensure old header not used and reduce unnecessary references through pointer with the data is already in heap variable. Signed-off-by: Jay Sternberg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 244294e83f7637e31bbf64060301904860a32051 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:15 2009 -0700 iwlwifi: fix rx signal quality reporting in dmesg Fix quality incorrectly reported as signal strength value. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 02c06e4abc0680afd31bf481a803541556757fb6 Author: Wey-Yi Guy Date: Fri Jul 17 09:30:14 2009 -0700 iwlagn: modify digital SVR for 1000 On 1000, there are two Switching Voltage Regulators (SVR). The first one apply digital voltage level (1.32V) for PCIe block and core. We need to use this regulator to solve a stability issue related to noisy DC2DC line in the silicon. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 436b37c59416d0d8e21430f7980857fc932eb1e6 Author: Christian Lamparter Date: Thu Jul 16 20:05:41 2009 +0200 p54: fix a fw crash caused by statistic feedback This patch fixes a bug which crawled into the tree with the split-up changes. The memory-manager wasn't aware of the statistic feedback extra_len space requirements and happily placed following frames into the allegedly free spots. Thanks fly out to Larry Finger for taking the time to test all (permutations of) patches and theories all day long. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 46df10ae44b4488176bae16da0b31541eb0f8f48 Author: Christian Lamparter Date: Thu Jul 16 20:03:47 2009 +0200 p54: fix beaconing related firmware crash This patch fixes a firmware crash which can be provoked by changing operation mode. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Tested-by: Larry Finger Signed-off-by: John W. Linville commit 12f49a79cd32d97a11f864a7b67660438ee3e6c8 Author: Christian Lamparter Date: Thu Jul 16 20:03:17 2009 +0200 p54: remove useless code This patch removes some useless checks in recv/xmit code. Acked-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 25e83c490be421019997146bdec8645f5bcabcd1 Author: Johannes Berg Date: Thu Jul 16 11:39:04 2009 +0200 cfg80211: don't optimise wext calls too much In the wext code I tried to not reconnect all the time when the user wasn't really sure what they were doing, like setting the BSSID back to the same value it was. However, this optimisation should only be done while associated so that setting the BSSID back to the same value that it was actually triggers a new association if not currently associated. To achieve, that, put the relevant code into the !IDLE case instead. Signed-off-by: Johannes Berg Tested-by: Kalle Valo Tested-by: Marcel Holtmann Signed-off-by: John W. Linville commit d4b1a6876f99ae1886cd254f649506af6692ac9f Author: Zhu Yi Date: Thu Jul 16 17:34:14 2009 +0800 cfg80211: remove WARN_ON in __cfg80211_sme_scan_done cfg80211_sme_scan_done() can be called (by fullmac cards) with wdev->conn == NULL when CFG80211_SME_CONNECTING. We quit silently instead of WARN_ON in this case. Signed-off-by: Zhu Yi Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 6e5db0a8454b44bf88fa74cf437a507ec08f436d Author: Zhu Yi Date: Thu Jul 16 17:34:13 2009 +0800 iwmc3200wifi: remove key caches in driver cfg80211 now guarantees keys are set after connecting. We can remove the key cache code from the driver now. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit b6c321718e1376b1a55afc63cce090a2c4573417 Author: Zhu Yi Date: Thu Jul 16 17:34:12 2009 +0800 iwmc3200wifi: make iwm_send_wifi_if_cmd return 0 on success We used to return the result of wait_event_interruptible_timeout() which is the remaining timeout on success. But this information is not used by any of its callers. So we just return 0 on success. This fixed a erroneous return value bug for iwm_set_key(). Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 0e371f1a0c0acd4abfa052b01e7b1f4a71ef6590 Author: Zhu Yi Date: Thu Jul 16 17:34:11 2009 +0800 iwmc3200wifi: remove setting WEP keys before setting essid support The recent cfg80211 "rework key operation" patch from Johannes Berg makes sure keys are set only after the connection has been established. So we can remove the setting WEP keys before essid support from the driver. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9967d46aa5ba065650d3352ab5d906f56ba17648 Author: Samuel Ortiz Date: Thu Jul 16 17:34:10 2009 +0800 iwmc3200wifi: cfg80211 managed mode port This patch ports iwmc3200wifi to the cfg80211 managed mode API. Signed-off-by: Samuel Ortiz Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 4fdd81f5f2e6fc55b67938f09b3495d679428cd7 Author: Zhu Yi Date: Thu Jul 16 17:34:09 2009 +0800 iwmc3200wifi: use correct debug level This patch uses TX and RX instead of NTF debug levels in some hot paths. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 49b7772776359b8306ce740bfc52d32b344adc83 Author: Zhu Yi Date: Thu Jul 16 17:34:08 2009 +0800 iwmc3200wifi: set cipher_suites before registering wiphy We need to specify all the cipher suites we supported. Otherwise cfg80211_validate_key_settings() will fail when we are setting keys. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3a0e4851c97328ee455a57cb3e4097bb43934a87 Author: Zhu Yi Date: Thu Jul 16 17:34:07 2009 +0800 iwmc3200wifi: hardware does not support IP checksum The iwmc3200wifi hardware doesn't support IP checksum. So mark the skb->ip_summed to CHECKSUM_NONE instead of CHECKSUM_UNNECESSARY. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1cc589b9e7d95888bb8cc806c210d8ab5371d40f Author: Zhu Yi Date: Thu Jul 16 17:34:06 2009 +0800 iwmc3200wifi: fix UMAC INIT_COMPLETE notification handling The patch fixes the missing UMAC iwm_umac_wifi_in_hdr header in the UMAC INIT_COMPLETE (iwm_umac_notif_init_complete) notification. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit ea9edaf6bc0e3f3a7bd167d9ba369276a30c9953 Author: Larry Finger Date: Wed Jul 15 22:49:27 2009 -0500 hostap_cs: Enable shared interrupts The hostap_cs driver is programmed for exclusive rather that shared interrupts. Signed-off-by: Larry Finger Reported-and-Tested-by: Jack Schneider Signed-off-by: John W. Linville commit e91d83346ad9b30f44469c92b982206dcd7dcaf0 Author: Johannes Berg Date: Wed Jul 15 17:21:41 2009 +0200 wireless: remove print_mac uses Use %pM instead, and also remove stray variables declared with DECLARE_MAC_BUF. Signed-off-by: Johannes Berg Acked-by: Kalle Valo Signed-off-by: John W. Linville commit 04dc882d601ec6fae5dfcb47c43f7af343e9a135 Author: Vivek Natarajan Date: Wed Jul 15 08:51:17 2009 +0530 ath9k: Add AR9287 based chipsets' register information. Signed-off-by: Vivek Natarajan Signed-off-by: John W. Linville commit ae9e4b0d1a43fd66da43918491834f9e5c1b6cca Author: Luis R. Rodriguez Date: Tue Jul 14 20:23:15 2009 -0400 cfg80211: treat ieee80211_regdom hints as user hints We were treating ieee80211_regdom module parameter hints as core hints, this means we were not letting the user help compliance further when using the module parameter. It also meant that users with a device with a custom regulatory domain set (wiphy->custom_regulatory) using this module parameter were being stuck to the original default core static regualtory domain. We fix this by using the static cfg80211_regdomain alpha2 as the core hint and treating the module parameter separately. All iwlwifi and ath5k/ath9k/ar9170 devices which world roam set the wiphy->custom_regulatory. This change allows users using this module parameter to have it trated as a a proper user hint and not have it ignored. Signed-off-by: Luis R. Rodriguez Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 64839170be296e6348fbaf83fd103711978669b9 Author: Luis R. Rodriguez Date: Tue Jul 14 20:22:53 2009 -0400 ath9k: disable radio when all devices are marked idle This uses the new configuration changes indicated up by mac80211 when all interfaces are marked idle. We need to do a little more work as we have our own set of virtual wiphys within ath9k. Only when all virtual wiphys are inactive do we allow an idle state change for a wiphy to trigger disabling the radio. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 709ade9eb8ef06e03526115408e2fc93a9feabbd Author: Gabor Juhos Date: Tue Jul 14 20:17:15 2009 -0400 ath9k: serialize ath9k_ps_{wakeup,restore} calls These functions are changing the power mode of the chip, but this may have unpredictable effects, if another code are trying to set the power mode via 'ath9k_hw_setpower' in the same time from another context. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 0bc0798b7605664c3ab8d577b398dc7ae0b2e58c Author: Gabor Juhos Date: Tue Jul 14 20:17:14 2009 -0400 ath9k: uninline ath9k_ps_{wakeup,restore} functions Uninline these functions before we add functional changes to them. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit 04717ccd80e5acc500239222684fcf8d2c759a84 Author: Gabor Juhos Date: Tue Jul 14 20:17:13 2009 -0400 ath9k: serialize ath9k_hw_setpower calls Because ath9k_setpower is called from various contexts, we have to protect it against concurrent calls. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit ebaa24534ef54a8f665558536dbef3a761a9b841 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:12 2009 -0400 ath9k: Remove pointless ath9k_ps_restore() in ath_detach() Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c41d92dc9d9a1afcec0095c32698ea7deff01098 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:11 2009 -0400 ath9k: Handle tx desc shortage more appropriately Update tx BA window and complete the frame as failed one if we can't clone the holding descriptor due to unavailability of descriptors. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 8e7f98b5690fc295e3a39b99aeed475d28c60c90 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:17:10 2009 -0400 ath9k: Remove bogus assert in ath_clone_txbuf() oops, this one should be part of the original patch "ath9k: downgrade assert in ath_clone_txbuf()" Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 164ace38536849966ffa377b1b1132993a5a375d Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:09 2009 -0400 ath9k: Fix TX hang issue with Atheros chipsets The hardware doesn't generate interrupts in some cases and so work around this by monitoring the TX status periodically and reset the chip if required. This behavior of the hardware not generating the TX interrupts can be noticed through ath9k debugfs interrupt statistics when heavy traffic is being sent from STA to AP. One can easily see this behavior when the STA is transmitting at a higher rates. The interrupt statistics in the debugfs interface clearly shows that only RX interrupts alone being generated and TX being stuck. TX should be monitored through a timer and reset the chip only when frames are queued to the hardware but TX interrupts are not generated for the same even after one second. Also, we shouldn't remove holding descriptor from AC queue if it happens to be the only descriptor and schedule TX aggregation regarless of queue depth as it improves scheduling of AMPDUs from software to hardware queue. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit dd8b15b027d96f7097ae9dbaebd822a114a03c34 Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:08 2009 -0400 ath9k: RX stucks during heavy traffic in HT40 mode. Running iperf along with p2p traffic on both TX and RX side then stop one side, then stop the other side, then start it up again, eventually the STA gets into a mode that it can not pass data at all. A hardware workaround for invalid RSSI can make FIFO write pointer to jump over read pointer, causing RX data corruption and repeated DMA. Both TX and RX works fine when the workaround is disabled. To replace the original hardware work around, software looks for frames with post delimiter CRC error and mark the RSSI invalid so that the upperlayer will not use the RSSI associated with this frame. So disable the hardware workaround by updating the appropriate registers. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit a59b5a5e684652eec035c869ab8911a1689c8f53 Author: Senthil Balasubramanian Date: Tue Jul 14 20:17:07 2009 -0400 ath9k: Manipulate and report the correct RSSI RSSI reported by the RX descriptor requires little manipulation. Manipulate and report the correct RSSI to the stack. This will fix the improper signal levels reported by iwconfig iw dev wlanX station dump. Also the Link Quality reported seems to be varying (falls to zero also sometimes) when iperf is run from STA to AP. Also use the default noise floor for now as the one reported during the caliberation seems to be wrong. The Signal and Link Quality before this patch (taken while TX is in progress from STA to AP) 09:59:13.285428037 Link Quality=29/70 Signal level=-81 dBm 09:59:13.410660084 Link Quality=20/70 Signal level=-90 dBm 09:59:13.586864392 Link Quality=21/70 Signal level=-89 dBm 09:59:13.710296281 Link Quality=21/70 Signal level=-89 dBm 09:59:13.821683064 Link Quality=25/70 Signal level=-85 dBm 09:59:13.933402989 Link Quality=24/70 Signal level=-86 dBm 09:59:14.045839276 Link Quality=26/70 Signal level=-84 dBm 09:59:14.193926673 Link Quality=23/70 Signal level=-87 dBm 09:59:14.306230262 Link Quality=31/70 Signal level=-79 dBm 09:59:14.419459667 Link Quality=26/70 Signal level=-84 dBm 09:59:14.530711167 Link Quality=37/70 Signal level=-73 dBm 09:59:14.642593962 Link Quality=29/70 Signal level=-81 dBm 09:59:14.754361169 Link Quality=21/70 Signal level=-89 dBm 09:59:14.866217355 Link Quality=21/70 Signal level=-89 dBm 09:59:14.976963623 Link Quality=28/70 Signal level=-82 dBm 09:59:15.089149809 Link Quality=26/70 Signal level=-84 dBm 09:59:15.205039887 Link Quality=27/70 Signal level=-83 dBm 09:59:15.316368003 Link Quality=23/70 Signal level=-87 dBm 09:59:15.427684036 Link Quality=36/70 Signal level=-74 dBm 09:59:15.539756380 Link Quality=21/70 Signal level=-89 dBm 09:59:15.650549093 Link Quality=22/70 Signal level=-88 dBm 09:59:15.761171672 Link Quality=32/70 Signal level=-78 dBm 09:59:15.872793750 Link Quality=23/70 Signal level=-87 dBm 09:59:15.984421694 Link Quality=22/70 Signal level=-88 dBm 09:59:16.097315093 Link Quality=21/70 Signal level=-89 dBm The link quality and signal level after this patch (take while TX is in progress from STA to AP) 17:21:25.627848091 Link Quality=65/70 Signal level=-45 dBm 17:21:25.762805607 Link Quality=65/70 Signal level=-45 dBm 17:21:25.875521888 Link Quality=66/70 Signal level=-44 dBm 17:21:25.987468448 Link Quality=66/70 Signal level=-44 dBm 17:21:26.100628151 Link Quality=66/70 Signal level=-44 dBm 17:21:26.213129671 Link Quality=66/70 Signal level=-44 dBm 17:21:26.324923070 Link Quality=65/70 Signal level=-45 dBm 17:21:26.436831357 Link Quality=65/70 Signal level=-45 dBm 17:21:26.610356973 Link Quality=65/70 Signal level=-45 dBm 17:21:26.723340047 Link Quality=65/70 Signal level=-45 dBm 17:21:26.835715293 Link Quality=64/70 Signal level=-46 dBm 17:21:26.949542748 Link Quality=64/70 Signal level=-46 dBm 17:21:27.062261613 Link Quality=65/70 Signal level=-45 dBm 17:21:27.174511563 Link Quality=64/70 Signal level=-46 dBm 17:21:27.287616232 Link Quality=64/70 Signal level=-46 dBm 17:21:27.400598119 Link Quality=64/70 Signal level=-46 dBm 17:21:27.511381404 Link Quality=64/70 Signal level=-46 dBm 17:21:27.624530421 Link Quality=65/70 Signal level=-45 dBm 17:21:27.737807109 Link Quality=64/70 Signal level=-46 dBm 17:21:27.850861352 Link Quality=65/70 Signal level=-45 dBm 17:21:27.963369436 Link Quality=64/70 Signal level=-46 dBm 17:21:28.076582289 Link Quality=64/70 Signal level=-46 dBm Signed-off-by: Senthil Balasubramanian Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 922bac602255d4557c289cabba7857c5be332d34 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:13 2009 -0400 ath9k: Nuke struct ath_tx_ratectrl_state Move its only member (u8 per) to struct ath_rate_priv. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c41304653e120749dae8b04332b92ffb5f4dbbfd Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:12 2009 -0400 ath9k: Use probe interval instead of rssi reduce interval Get rid of rssi reduce interval. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit ddf4a2db72c1073b31d0ad28911d137b1745cfca Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:11 2009 -0400 ath9k: Remove unused members from rate control structure Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 39a4cafe1638bb21f335b210d037cd2cd8ce6c08 Author: Vasanthakumar Thiagarajan Date: Tue Jul 14 20:14:10 2009 -0400 ath9k: Remove dead code in rate control ath9k rate control is based on only PER (packet error rate), remove unused code which was intented to do rssi based rate selection. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e25739a171d7352168346dbab7f006e1f9275995 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:09 2009 -0400 ath9k: remove rate control wraper After the cleanup we just use get_rate as a wrapper, skip the wrapper. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4c6d4f5c33fbe19b134c1af43af166fee79eb986 Author: Luis R. Rodriguez Date: Thu Jul 16 10:05:41 2009 -0700 mac80211: add helper for management / no-ack frame rate decision All current rate control algorithms agree to send management and no-ack frames at the lowest rate. They also agree to do this when sta and the private rate control data is NULL. We add a hlper to mac80211 for this and simplify the rate control algorithm code. Developers wishing to make enhancements to rate control algorithms are for broadcast/multicast can opt to not use this in their gate_rate() mac80211 callback. Cc: Zhu Yi Acked-by: Reinette Chatre Cc: ipw3945-devel@lists.sourceforge.net Cc: Gabor Juhos Acked-by: Felix Fietkau Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 943ab70f6aebfdc0005ef7e58ae982e9ec22224b Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:07 2009 -0400 iwlwifi: use ieee80211_is_data(fc) iwl-agn-rs.c already uses this. Cc: Zhu Yi Cc: Reinette Chatre Cc: ipw3945-devel@lists.sourceforge.net Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e8986436580caf50ebbd3bf8371074aadf95aba5 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:06 2009 -0400 mac80211: make minstrel/pid RC use ieee80211_is_data(fc) Cc: Felix Fietkau Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7682a76df8f4e875e4029d95b799c712ee740ddc Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:05 2009 -0400 ath9k: remove unnecessary IEEE80211_TX_CTL_NO_ACK checks We check for this condition early on in our mac80211 get_rate() callback ath_get_rate(), so remove this check later down the path. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 201c3b414b4b759f399502b059189d7802bbfbb6 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:04 2009 -0400 ath9k: rename ath_rc_ratefind_ht() to ath_rc_get_highest_rix() The purpose is to find the highest rate we can use. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b9b6e15a9481441108ad2527db0187f729c88970 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:03 2009 -0400 ath9k: remap ATH9K_MODE_* There are a lot of gaps here. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dfe80a3fd2199c31d0a2dc24044abaadb64c26c2 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:02 2009 -0400 ath9k: remove ATH9K_MODE_11B This saves us 2733 bytes. text data bss dec hex filename 252265 3628 1584 257477 3edc5 ath9k-has-b-rate.ko 249905 3628 1584 255117 3e48d ath9k.ko Cc: Derek Smithies Cc: Chittajit Mitra Siged-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 4e6df85dacedbc68b551fdd8677f7df68639c181 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:01 2009 -0400 ath9k: remove unused ath_rc_isvalid_txmask() Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 39448b0a27529f2feecd876729ef0fba25354363 Author: Luis R. Rodriguez Date: Tue Jul 14 20:14:00 2009 -0400 ath9k: rename ath_rc_get_nextlowervalid_txrate() What this does is get us our next lower rate so call it that, ath_rc_get_lower_rix(). Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 20f57215a2ff75f7c2e4004b7583e1fec925679e Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:59 2009 -0400 ath9k: remove pointless wrapper ath_rc_rate_getidx() This is just calling another helper, so just use the other helper directly. This should make it clear that when do not find the next rate we stick to the current one. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 7466c524a42110e921e79b390b58bfc6ca6d249e Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:58 2009 -0400 ath9k: remove unused stepdown when looking for the next rate This is not used, remove this. Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 984d021d56f036e5ffbef191cb5e498cf159784d Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:57 2009 -0400 ath9k: remove unused min rate calculation code This is not used, and when we need to get the lowest rate we should simply use mac80211's own rate_lowest_index(sband, sta). Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit dd1901830ca7baaaae2e58f549f770f215c6f3af Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:56 2009 -0400 ath9k: cleanup try count for MRR in rate control This has no functional change and just cleans up the code to be more legible and removes a useless variable for Multi Rate Retry. For regular frames we use 2 retries for MRR segments [0-2]. For the last MRR segment [3] we use 4. MRR[0] = 2 MRR[1] = 2 MRR[2] = 2 MRR[3] = 4 Cc: Derek Smithies Cc: Chittajit Mitra Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0ab216d9727c0728c8b5f9ad627b6955570303d7 Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:55 2009 -0400 iwlwifi: remove rs_get_rate workaround This removes the work around implemented for transmitting on an unsupported band on iwlwifi. This was added via the patch: 8e1856e82cb8f541e925738bebfbc473420cda68: iwlwifi: fix rs_get_rate WARN_ON() Cc: Mohamed Abbas Cc: Reinette Chatre Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit e43419f9ad99112a2715ee34c634ffeac3bf730d Author: Luis R. Rodriguez Date: Tue Jul 14 20:13:54 2009 -0400 ath9k: downgrade assert in rc.c for invalid rate The case where no vaid rate is found should not happen now but to help debugging and downgrade this to a warn. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit b770b43e95a66587fbd8c1841de83da87fbf23ea Author: Luis R. Rodriguez Date: Thu Jul 16 10:15:09 2009 -0700 mac80211: drop frames for sta with no valid rate When we're associated we should be able to send data to target sta. If we cannot we may be trying to use the incorrect band to talk to the sta. Lets catch any such cases, warn, and drop the frames to not invalidate assumptions being made on rate control algorithms when they have a valid sta to communicate with. Any such cases should be handled and fixed. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit fe643414dbf330d6d910e01edd48dd93dc6f2942 Author: Jiri Slaby Date: Tue Jul 14 22:37:13 2009 +0200 wireless: wl12xx, fix lock imbalance Add omitted mutex_unlock to one of wl12xx_op_start fail paths (when wl12xx_chip_wakeup fails). [v2] Power off the device, because: \= cite from http://marc.info/?l=linux-kernel&m=124755028209880&w=2 If the chip cannot be booted, why should it remain powered on? In some rare cases, the chip might fail to initialize, but can recover if powered off and on again, so turning it off at this point is the right thing to do. =/ Signed-off-by: Jiri Slaby Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit a94ca4e7af0e6b63ef5345750fad8e1400274ba4 Author: Johannes Berg Date: Tue Jul 14 15:48:11 2009 +0200 iwlwifi: make some logging functions static/unexport iwl_dump_nic_error_log can be static and iwl_dump_nic_event_log doesn't need to be exported. Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 256fc96028f0eae5f7a3f6f77358cdd30a72c988 Author: Hin-Tak Leung Date: Tue Jul 14 00:05:56 2009 +0100 rtl8187: updating Kconfig with info of branded devices Adding more detailed info about Asus motherboards and Ralink devices. Signed-off-by: Hin-Tak Leung Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 8f75e07aa14107668d33f60fa4d78afa2d7aa22b Author: Hin-Tak Leung Date: Mon Jul 13 23:20:37 2009 +0100 zd1211rw: adding Accton Technology Corp (083a:e501) as a ZD1211B device New device supported by the zd1211rw driver reported to linux-wireless. Device string from lsusb: "ID 083a:e501 Accton Technology Corp. ZD1211B" RF type from dmesg: zd1211b chip 083a:e501 v4810 high 00-1a-2a AL2230_RF pa0 g--NS Signed-off-by: Hin-Tak Leung Tested-by: Adrián Cereto Signed-off-by: John W. Linville commit 6682588a08b8be34649348051bc0204f7ab401a2 Author: Johannes Berg Date: Mon Jul 13 13:24:44 2009 +0200 cfg80211: fix unregistration The work that we cancel there requires the cfg80211_mutex, so we can't cancel it under the mutex, which is fine, we can just move it to after the locked section. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0e2b6286805c419d28a4c1e19e3a121af7449b20 Author: Johannes Berg Date: Mon Jul 13 13:23:39 2009 +0200 mac80211: cancel the connection monitor timers/work In "mac80211: monitor the connection" I forgot to add code to cancel the new timers & work when the interface is brought down, which isn't a problem if you just bring it down, but _is_ a problem when you destroy the interface. Correct this lapse. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec96cfd8215af1cda016837efb266409164e3a30 Author: Julia Lawall Date: Sun Jul 12 22:05:33 2009 +0200 drivers/net: Drop unnecessary NULL test The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // Signed-off-by: Julia Lawall Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 323d566eae1ace41bc674863b58fcc474501a2db Author: Gábor Stefanik Date: Sun Jul 12 02:03:48 2009 +0200 cfg80211: fix disabling WPA via wext (SIOCSIWAUTH) cfg80211_set_wpa_version completely missed the use case when disabling WPA, considering IW_AUTH_WPA_VERSION_DISABLED an invalid argument. This caused weird error messages in wpa_supplicant. Signed-off-by: Gábor Stefanik Signed-off-by: John W. Linville commit 4b9631a4734e25e37c83e72c3e0ffcbb08de5791 Author: Ivo van Doorn Date: Sat Jul 11 18:00:19 2009 +0200 rt2x00: Remove DEVICE_STATE_DISABLED_RADIO_HW The DEVICE_STATE_DISABLED_RADIO_HW flag is only read but never set, it is an ancient part of one of the many versions of the rfkill implementations in rt2x00. It is about time is disappears. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit acbadf01ff6727a2c7dc6e12f70ce8d05a16dc06 Author: Christian Lamparter Date: Sat Jul 11 17:24:14 2009 +0200 ar9170: implement transmit aggregation This patch roughly implements xmit aggregation for ar9170-like device. Not all AP are compatible with the driver(and firmware) yet, so YMMV. A more refined code will definitely need the final HT specification to be available for the public, lots of firmware modification and possibly a redesigned driver just for good measure. Sadly, these conditions won't come true anytime soon... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1a9b6679adfb8ef1f1f3dbb7ebd2ee72e2ea4b56 Author: Christian Lamparter Date: Sat Jul 11 01:22:26 2009 +0200 p54: generate channel list dynamically This patch enhances the eeprom parser to generate customized channel list for every device. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 596a07c18b35c9df2fb212856241ae0dfe3162b9 Author: Johannes Berg Date: Sat Jul 11 00:17:32 2009 +0200 cfg80211: fix more bugs in mlme handling The "what-was-I-thinking-if-anything" patch. Clearly, if cfg80211_send_disassoc() does wdev_lock() and then calls __cfg80211_send_disassoc(), the latter shouldn't lock again. And the sme_state test is ... no further comments. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 930c06f27120fa8cf0bfb6fa000a701cfaf01ed6 Author: Stefan Steuerwald Date: Fri Jul 10 20:42:55 2009 +0200 rt2x00: Implement set_tim callback for all drivers Implement set_tim callback for all rt2x00 drivers, this makes the device wake up powersaving stations properly while in AP mode. The only way to update the beacon is by simply calling mac80211 and requesting the new beacon. This means the set_tim() event is mostly the same as a beacon_done() event which was already defined in rt2x00lib. Signed-off-by: Stefan Steuerwald Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 48ab905d1a81b7df33a33def04a890e4e0c51460 Author: Johannes Berg Date: Fri Jul 10 18:42:31 2009 +0200 nl80211: report BSS status When connected to a BSS, or joined to an IBSS, we'll want to know in userspace without using wireless extensions, so report the BSS status in the BSS list. Userspace can query the BSS list, display all the information and retrieve the station information as well. For example (from hwsim): $ iw dev wlan1 scan dump BSS 02:00:00:00:00:00 (on wlan1) -- associated freq: 2462 beacon interval: 100 capability: ESS ShortSlotTime (0x0401) signal: -50.00 dBm SSID: j Supported rates: 1.0* 2.0* 5.5* 11.0* 6.0 9.0 12.0 18.0 DS Paramater set: channel 11 ERP: Extended supported rates: 24.0 36.0 48.0 54.0 Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4697fe4f78df14d37cffa7e8d27cbb02a351c139 Author: Johannes Berg Date: Fri Jul 10 18:35:49 2009 +0200 cfg80211: fix wext setting SSID Pavel reported that you can't set the SSID from "foo" to "bar". I tried reproducing, but used different values, with different lengths, and thus never saw the obvious problem. Reported-by: Pavel Roskin Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 908d4369a394e816767d566d9c3d15a5af8c1c55 Author: Johannes Berg Date: Fri Jul 10 17:53:34 2009 +0200 cfg80211: don't look at wdev->ssid for giwessid This variable is only used internally, _while_ connected. If we use it, the sequence # iwconfig wlan1 essid foo # iwconfig wlan1 essid "" # iwconfig will still display "foo" as the SSID afterwards, which is obviously quite bogus. Fix this by only displaying the wext SSID, if present. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4b14c96dfbf068acb85c3fa2446b3949c0230deb Author: Johannes Berg Date: Fri Jul 10 16:56:59 2009 +0200 mac80211_hwsim: report fixed signal strength There's no reason to think that hwsim has any actual signal strength, but for testing it is very useful to have it report _some_ value to the stack so I can see if the value ends up being reported correctly Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c56c5714f12808e3f702817e72a78dd12f1704eb Author: Johannes Berg Date: Fri Jul 10 16:54:07 2009 +0200 cfg80211: fix wext stats Instead of using the wext BSSID which may be NULL if you haven't explicitly set one, we should instead use the current_bss pointer -- if that's NULL we aren't connected anyway. Fixes missing signal quality output reported to me internally at Intel. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ca3dbc20d47ae43c201c215259d078e227bfcf01 Author: Helmut Schaa Date: Fri Jul 10 14:54:58 2009 +0200 cfg80211: update misleading comment In cfg80211_scan_request n_channels refers to the total number of channels to scan. Update the misleading comment accordingly. Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit a43816df2a1a61effcb701037bdf63621d066182 Author: Johannes Berg Date: Fri Jul 10 11:39:26 2009 +0200 mac80211: mesh: fix two small problems 1) there's a spin_lock() that needs to be spin_lock_bh() 2) action frames of size 24 might cause an out-of-bounds memory access (for the 25th byte only, so no big deal) Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ec3f149017ef3fd21343b1dcec3589eec6ba5dd5 Author: Johannes Berg Date: Fri Jul 10 02:45:38 2009 +0200 cfg80211: fix a locking bug The cfg80211_sme_disassoc() function is already holding a lock here that cfg80211_mlme_deauth() would take, so it needs to use __cfg80211_mlme_deauth() instead. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b291ba11181d46dfbd2d7a5c00a5f3335228191e Author: Johannes Berg Date: Fri Jul 10 15:29:03 2009 +0200 mac80211: monitor the connection With the recent MLME rework I accidentally removed the connection monitoring code. In order to add it back, this patch will add new code to monitor both for beacon loss and for the connection actually working, with possibly separate triggers. When no unicast frames have been received from the AP for (currently) two seconds, we will send the AP a probe request. Also, when we don't see beacons from the AP for two seconds, we do the same (but those times need not be the same due to the way the code is now written). Additionally, clean up the parameters to the ieee80211_set_disassoc() function that I need here, those are all useless except sdata. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ca386f3137eb68621fadba546d9eb35ac2f82de3 Author: Johannes Berg Date: Fri Jul 10 02:39:48 2009 +0200 mac80211: fix multi-use timer We have, sometimes, multiple things that want to run but don't have their own timer. Introduce a new function to mac80211's mlme run_again() that makes sure that the timer will run again at the _first_ needed time, use that function and also properly reprogram the timer once it fired. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 01a7e08436929271c6173b5daf3e193ef5b3561a Author: Reinette Chatre Date: Thu Jul 9 10:33:41 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 Reviewed-by: Tomas Winkler Acked-by: Tomas Winkler Signed-off-by: John W. Linville commit 5905a1aa71488b5f78822100c865ed7c4f9fcd8f Author: Reinette Chatre Date: Thu Jul 9 10:33:40 2009 -0700 iwl3945: cleanup number of queues settings * Rename maximum number of queue (TFD_QUEUE_MAX) to IWL39_NUM_QUEUES to be consistent with rest of iwlwifi. * Remove unused defines. * Fix loops that iterate over number of TX queues to stop when maximum is reached (currently it is maximum + 1). * Remove queues_num module parameter as it is not used. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fcf89d05404dafcde581d44dfa89bd8c8def27f9 Author: Reinette Chatre Date: Thu Jul 9 10:33:38 2009 -0700 iwlwifi: fix permissions on debugfs files debugfs files are created with 644 permissions which gives everybody read access. This presents a security issue if a user opens the file and holds it open at the time the driver removes the file. At this point invalid memory will be accessed. Fix this by only allowing root to read debugfs files. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f5ad69fa47e7b204d0032d569812544cd9a351fb Author: Wey-Yi Guy Date: Thu Jul 9 10:33:36 2009 -0700 iwlwifi: move show_qos to debugfs This move the show_qos file from sysfs to debugfs because the "one value per file" sysfs rule. The file is located in /sys/kernel/debug/ieee80211/phy0/iwlagn/data Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 80e5b06a1b0d9a6aa88dc5c9e93ba49510c52b45 Author: Zhu Yi Date: Thu Jul 9 16:59:49 2009 +0800 cfg80211: fix NULL dereference in IBSS SIOCGIWAP This patch avoids memcpy from wdev->wext.ibss.bssid if it is NULL. This could happen if we SIOCGIWAP before SIOCSIWAP. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit f874011bb01e7fb19904db7f739bb343a0a53fd5 Author: Marcin Slusarz Date: Wed Jul 8 22:03:13 2009 +0200 wireless: fix supported cards for rtl8187 Different revisions of WUSB54GC-EU use different chipsets - v2 uses rtl8187, but v3 uses Ralink RT3070. Signed-off-by: Marcin Slusarz Cc: Przemyslaw Kulczycki Cc: John W. Linville Cc: Linux wireless Signed-off-by: John W. Linville commit fffd0934b9390f34bec45762192b7edd3b12b4b5 Author: Johannes Berg Date: Wed Jul 8 14:22:54 2009 +0200 cfg80211: rework key operation This reworks the key operation in cfg80211, and now only allows, from userspace, configuring keys (via nl80211) after the connection has been established (in managed mode), the IBSS been joined (in IBSS mode), at any time (in AP[_VLAN] modes) or never for all the other modes. In order to do shared key authentication correctly, it is now possible to give a WEP key to the AUTH command. To configure static WEP keys, these are given to the CONNECT or IBSS_JOIN command directly, for a userspace SME it is assumed it will configure it properly after the connection has been established. Since mac80211 used to check the default key in IBSS mode to see whether or not the network is protected, it needs an update in that area, as well as an update to make use of the WEP key passed to auth() for shared key authentication. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b9454e83cac42fcdc90bfbfba479132bd6629455 Author: Johannes Berg Date: Wed Jul 8 13:29:08 2009 +0200 nl80211: introduce new key attributes We will soon want to nest key attributes into some new attribute for configuring static WEP keys at connect() and ibss_join() time, so we need nested attributes for that. However, key attributes right now are 'global'. This patch thus introduces new nested attributes for the key settings and functions for parsing them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 10c836d7896e9d7b683a76f3cac3c289d8da72ef Author: Javier Cardona Date: Thu Jul 9 14:42:16 2009 -0700 mac80211: Assign next hop address to pending mesh frames Assign next hop address to pending mesh frames once the path is resolved. Regression. Frames transmitted when a mesh path was wating to be resolved were being transmitted with an invalid Receiver Address. [Changes since v1] Suggested by Johannes: - Improved frame_queue traversal - Narower RCU scope Signed-off-by: Javier Cardona Signed-off-by: Andrey Yurovsky Signed-off-by: John W. Linville commit 4bde0f7d1dca0a7d886997eb8dee3fb47a6484e4 Author: Johannes Berg Date: Tue Jul 7 23:46:51 2009 +0200 cfg80211: fix two buglets This fixes two small bugs: 1) the connect variable is already initialised, and the assignment to auth_type overwrites the previous setting with a wrong value 2) when all authentication attempts fail, we need to report that we couldn't connect Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a71d62dbf3f0523b7a456333196cb26cf783fe92 Author: Johannes Berg Date: Tue Jul 7 23:41:27 2009 +0200 cfg80211: fix race in giwrate cfg80211_wext_giwrate doesn't lock the wdev, so it cannot access current_bss race-free. Also, there's little point in trying to ask the driver for an AP that it never told us about, so avoid that case. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e0f114e82e3781087a0ad0e92c94ff0d55012c1a Author: Christian Lamparter Date: Tue Jul 7 19:08:07 2009 +0200 p54: re-enable power save feature This patch re-enables p54's power save features and adds a workaround which temporarily alters the device's power state in order to allow ps-polls to be sent and buffered data to be retrieved during psm. (Incorporates patch originally posted as "p54: fix beacon template dtim IE corruption". -- JWL) Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 0a2b8bb24d4eb67788edd71d1ef8aa86c2e17e0f Author: Johannes Berg Date: Tue Jul 7 13:46:22 2009 +0200 mac80211: driver operation debugging This makes mac80211 use the event tracing framework to log all operations as given to the driver. This will need to be extended with more information, but as a start it should be good. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 99783e2cde6eccbd31efeb03a79f26bb5f239c36 Author: Johannes Berg Date: Tue Jul 7 03:54:43 2009 +0200 mac80211: fix sparse warning ieee80211_testmode_cmd can very well be static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a3daf68931679dbd96342099e4d61a99ba98315c Merge: b5d6f93 8de56b7 Author: Takashi Iwai Date: Fri Jul 24 16:54:59 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 887ee17117fd23e962332b353d250ac9e090b20f Author: Artem Bityutskiy Date: Mon Jul 20 17:56:19 2009 +0300 UBIFS: remove unneeded call from ubifs_sync_fs Nowadays VFS always synchronizes all dirty inodes and pages before calling '->sync_fs()', so remove unneeded 'generic_sync_sb_inodes()' from 'ubifs_sync_fs()'. It used to be needed, but not any longer. Pointed-out-by: Christoph Hellwig Signed-off-by: Artem Bityutskiy commit e9d6bbc428bdf0c08bbd0b3f28db2b7317cfff21 Author: Artem Bityutskiy Date: Sun Jul 19 13:51:04 2009 +0300 UBIFS: kill BKL The BKL was pushed down from VFS to the file-systems. It used to serialize mount/unmount/remount and prevented more than one instance of the same file-system from doing mount/umount/remount at the same time. But it is OK for UBIFS and it does not need any additional locking for these cases. Thus, kick the BKL out of UBIFS. Signed-off-by: Artem Bityutskiy commit b5148da40cb77ca84c4b0281e7049bb26d786592 Author: Subrata Modak Date: Fri Jul 17 18:28:12 2009 +0300 UBIFS: remove unused functions Remove 'xent_key_init_hash()' and 'data_key_init_flash()' functions, as they are unot used anywhere. Signed-off-by: Subrata Modak Signed-off-by: Artem Bityutskiy commit 83ef2ecdbbd49cb0fbbfc7012b111b71664e386d Author: Subrata Modak Date: Wed Jul 15 07:49:03 2009 +0530 UBIFS: suppress compilation warning Fix "using uninitialized variable" compilation warning by using the "unititialized_var()" helper. Signed-off-by: Subrata Modak Signed-off-by: Artem Bityutskiy commit 412bb0a6224f96661c042a109c4978649c00ed52 Author: Catalin Marinas Date: Fri Jul 24 12:37:09 2009 +0100 Include linux/sched.h in arch/arm/mm/fault.c When building with !MMU, task_struct is not defined. Just include the relevant file. Signed-off-by: Catalin Marinas commit bdaaaec39792ee0035d6c5a5ad2520991e090a3c Author: Catalin Marinas Date: Fri Jul 24 12:35:06 2009 +0100 nommu: Do not set PRRR and NMRR in proc-v7.S if !MMU ARMv7-R profile CPUs do not have these registers. Signed-off-by: Catalin Marinas commit 8bdca0ac2b1ec35091941c57b4202f7096291c5b Author: Catalin Marinas Date: Fri Jul 24 12:35:06 2009 +0100 nommu: Fix compressed/head.S to not perform MMU specific operations Signed-off-by: Catalin Marinas commit 0e0fe9219d2e5426d87a0f62db445010d4aba2c7 Author: Catalin Marinas Date: Fri Jul 24 12:35:05 2009 +0100 nommu: Do not allow REALVIEW_HIGH_PHYS_OFFSET if !MMU Signed-off-by: Catalin Marinas commit 8b79d5f217d7fc7d6b85ee5b10899f2bd20b64ed Author: Catalin Marinas Date: Fri Jul 24 12:35:04 2009 +0100 nommu: Add #ifdef CONFIG_MMU around the PTE sanity checks Signed-off-by: Catalin Marinas commit b32f3afe3c5c4ddd1c414d41845470a99c88475f Author: Catalin Marinas Date: Fri Jul 24 12:35:03 2009 +0100 nommu: Include asm/setup.h in arch/arm/mm/nommu.c This is needed for the struct meminfo definition. Signed-off-by: Catalin Marinas commit ab6494f0c96f8953c7ad3e35301b2de2db3add57 Author: Catalin Marinas Date: Fri Jul 24 12:35:02 2009 +0100 nommu: Add noMMU support to the DMA API Signed-off-by: Catalin Marinas commit 2732f4b6f11689fa08e2db5689fc652d608936b5 Author: Catalin Marinas Date: Fri Jul 24 12:35:01 2009 +0100 nommu: Remove the memory_start/end variables from ARM page-nommu.h These variables do not seem to be used anywhere in the kernel. Signed-off-by: Catalin Marinas commit 3c4279750c7d3f88a0638a44e257d7d8d10732f2 Author: Hyok S. Choi Date: Fri Jul 24 12:35:00 2009 +0100 nommu: Enables to select noMMU mode MMU option is now selectable. Signed-off-by: Hyok S. Choi commit 05efde9d04ccc1d66a9d2225527c6ee638baa385 Author: Catalin Marinas Date: Fri Jul 24 12:34:59 2009 +0100 nommu: Do not override the CP15 control reg value returned from initfunc The patch removes the "mrc" instruction in head-nommu.S overriding the r0 register containing the value to be written in the CP15 system control register. Signed-off-by: Catalin Marinas commit 68b7f7153fa58df710924fbb79722717d2d16094 Author: Paul Brook Date: Fri Jul 24 12:34:58 2009 +0100 nommu: ptrace support The patch below adds ARM ptrace functions to get the process load address. This is required for useful userspace debugging on mmuless systems. These values are obtained by reading magic offsets with PTRACE_PEEKUSR, as on other nommu targets. I picked arbitrary large values for the offsets. Signed-off-by: Paul Brook commit 5d57795e26c413656725c26bd053dbee3711adee Author: Catalin Marinas Date: Fri Jul 24 12:34:57 2009 +0100 nommu: Add MMU-less support for the RealView boards This patch defines the IO_ADDRESS macro for the !CONFIG_MMU case. Signed-off-by: Catalin Marinas commit 365f7a43497dfdfdc05ca03896a8e22ee6944179 Author: Catalin Marinas Date: Fri Jul 24 12:34:57 2009 +0100 nommu: Add MMU-less support for Integrator platforms This patch redefines the IO_ADDRESS macro in include/asm-arm/hardware.h. Signed-off-by: Catalin Marinas commit 9a45f026bb3ba720765d46f62f5c464d3317a8ab Author: Catalin Marinas Date: Fri Jul 24 12:34:56 2009 +0100 nommu: Remove the context.id from asm-offsets.c when !MMU There is no MMU context switching on MMU-less systems. Signed-off-by: Catalin Marinas commit 09529f7a1a010cc364267fc5895a71c3853eb82c Author: Catalin Marinas Date: Fri Jul 24 12:34:55 2009 +0100 nommu: Fix the fault processing for the MMU-less case The patch adds the necessary ifdefs around functions that only make sense when the MMU is enabled. Signed-off-by: Catalin Marinas commit 16c79651a5ee1ad7e4fca65a7c5309dfca89ed28 Author: Catalin Marinas Date: Fri Jul 24 12:33:02 2009 +0100 Thumb-2: Add Thumb-2 support to the build files This patch adds the necessary entries to the Makefile and Kconfig files for building the Thumb-2 kernel. Signed-off-by: Catalin Marinas commit e2ed3be7319f2734fcd9c7638888501934c22751 Author: Catalin Marinas Date: Fri Jul 24 12:33:01 2009 +0100 Thumb-2: Make the uImage entry an odd number This allows U-Boot to branch to the kernel in Thumb-2 mode via "mov pc, lr". Signed-off-by: Catalin Marinas commit dff2ab16ac53d2e21c1ee5ec72f446d5740d8ca2 Author: Catalin Marinas Date: Fri Jul 24 12:33:00 2009 +0100 Thumb-2: Pass a Thumb-2 address to the secondary CPUs to jump to This patch sets bit 0 in the startup address passed to the secondary CPUs so that they branch into Thumb-2 mode. Signed-off-by: Catalin Marinas commit adca6dc23bc620ea95392659625200a252b97be3 Author: Catalin Marinas Date: Fri Jul 24 12:32:59 2009 +0100 Thumb-2: Add support for loadable modules Modules compiled to Thumb-2 have two additional relocations needing to be resolved at load time, R_ARM_THM_CALL and R_ARM_THM_JUMP24, for BL and B.W instructions. The maximum Thumb-2 addressing range is +/-2^24 (+/-16MB) therefore the MODULES_VADDR macro in asm/memory.h is set to (MODULES_END - 8MB) for the Thumb-2 compiled kernel. Signed-off-by: Catalin Marinas commit 0e056f20f18d0efa5da920f3cf8532adc56d5779 Author: Catalin Marinas Date: Fri Jul 24 12:32:58 2009 +0100 Thumb-2: Implement the unified boot code This patch adds the ARM/Thumb-2 unified support for the arch/arm/boot/* files. Signed-off-by: Catalin Marinas commit 07f33a035ddda78095bed64f39db54334776841d Author: Catalin Marinas Date: Fri Jul 24 12:32:57 2009 +0100 Thumb-2: Implement the unified VFP support This patch modifies the VFP files for the ARM/Thumb-2 unified assembly syntax. Signed-off-by: Catalin Marinas commit 8b592783a2e8b7721a99730bd549aab5208f36af Author: Catalin Marinas Date: Fri Jul 24 12:32:57 2009 +0100 Thumb-2: Implement the unified arch/arm/lib functions This patch adds the ARM/Thumb-2 unified support for the arch/arm/lib/* files. Signed-off-by: Catalin Marinas commit 347c8b70b1d5256e445e54e736f88d21877616cf Author: Catalin Marinas Date: Fri Jul 24 12:32:56 2009 +0100 Thumb-2: Implement the unified arch/arm/mm support This patch adds the ARM/Thumb-2 unified support to the arch/arm/mm/* files. Signed-off-by: Catalin Marinas commit b86040a59feb255a8193173caa4d5199464433d5 Author: Catalin Marinas Date: Fri Jul 24 12:32:54 2009 +0100 Thumb-2: Implementation of the unified start-up and exceptions code This patch implements the ARM/Thumb-2 unified kernel start-up and exception handling code. Signed-off-by: Catalin Marinas commit 0becb088501886f37ade38762c8eaaf4263572cc Author: Catalin Marinas Date: Fri Jul 24 12:32:53 2009 +0100 Thumb-2: Add macros for the unified assembler syntax This patch adds various C and assembler macros that help with using the unified assembler syntax for compiling files to either ARM or Thumb-2 modes. Signed-off-by: Catalin Marinas commit 88987ef91b99cf99bc5d167caeb31d4958fbf931 Author: Catalin Marinas Date: Fri Jul 24 12:32:52 2009 +0100 Thumb-2: Add some .align statements to the .S files Since the Thumb-2 instructions can be 16-bit wide, data in the .text sections may not be aligned to a 32-bit word and this leads to unaligned exceptions. This patch does not affect the ARM code generation. Signed-off-by: Catalin Marinas commit 4ce2f2fe61002ab35c9333d52c95b5ff9e949f50 Author: Marek Vasut Date: Thu Jul 23 22:16:56 2009 +0200 ASoC: Switch palm27x-asoc to jack detection api This patch removes the old method of jack detection from palm27x-asoc driver and adds jack detection api. It also removes some other (now) useless stuff from the driver and corrects pin configuration for the codec. Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit 178b699c25c39f042c3c2446e6bd5dbed18c0442 Author: Janusz Krzysztofik Date: Fri Jul 24 02:48:57 2009 +0200 ASoC: Jack handling enhancements as suggested by subsystem maintainer The patch adds a few small enhancements to the ASoC jack handling, as suggested by Mark in his comments to my Amstrad Delta driver, and a few fixes for related bugs found while learning Mark's code and testing results. Enhancements: 1. Update status of an ASoC jack while associating it with new gpios. 2. Really update DAPM pins while associating them with an ASoC jack. 3. Export ASoC jack gpios over gpiolib sysfs for diagnostic purposes. Fixes: 1. Apply mask on jack status report before using it, just for case. 2. While updating jack associated DAPM pins, use full resulting jack status, not the status report passed as an argument. Created and tested on linux-2.6.31-rc3 Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit af012961450949ea297b209e091bd1a3805b8a0a Author: Peter Zijlstra Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: BFS cleanup Some cleanups of the lockdep code after the BFS series: - Remove the last traces of the generation id - Fixup comment style - Move the bfs routines into lockdep.c - Cleanup the bfs routines [ tom.leiming@gmail.com: Fix crash ] Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-11-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 12f3dfd022d7e616757a94f0538d3d525d806a16 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Add statistics info for max bfs queue depth Add BFS statistics to the existing lockdep stats. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-10-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 4dd861d6467007681991d8ec079d928db2018cbb Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Update memory usage introduced by BFS Also account the BFS memory usage. Signed-off-by: Ming Lei [ fix build for !PROVE_LOCKING ] Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-9-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit ef681026ff85c49b7399ceec3eb62bbbcce605e8 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement lockdep_count_*ward_deps by BFS Implement lockdep_count_{for,back}ward using BFS. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-8-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 24208ca76707581a097c01a73fd63781e73d3404 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Introduce print_shortest_lock_dependencies Since the shortest lock dependencies' path may be obtained by BFS, we print the shortest one by print_shortest_lock_dependencies(). Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-7-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit d7aaba140a09b7a2295aec061629c880f088de3d Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement find_usage_*wards by BFS This patch uses BFS to implement find_usage_*wards(),which was originally writen by DFS. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-6-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit db0002a32f31060ca900b533d93a074ddf7d5b61 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Implement check_noncircular() by BFS This patch uses BFS to implement check_noncircular() and prints the generated shortest circle if exists. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-5-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 9e2d551ea0d767c0d624965f0c273e942f4be536 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Introduce match function to BFS 1,introduce match() to BFS in order to make it usable to match different pattern; 2,also rename some functions to make them more suitable. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-4-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit d588e46155e9c51217b9840db1e94a0f594c1af2 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Improve implementation of BFS 1,replace %MAX_CIRCULAR_QUE_SIZE with &(MAX_CIRCULAR_QUE_SIZE-1) since we define MAX_CIRCULAR_QUE_SIZE as power of 2; 2,use bitmap to mark if a lock is accessed in BFS in order to clear it quickly, because we may search a graph many times. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-3-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit c94aa5ca3088018d2a7a9bd3258aefffe29df265 Author: Ming Lei Date: Thu Jul 16 15:44:29 2009 +0200 lockdep: Print the shortest dependency chain if finding a circle Currently lockdep will print the 1st circle detected if it exists when acquiring a new (next) lock. This patch prints the shortest path from the next lock to be acquired to the previous held lock if a circle is found. The patch still uses the current method to check circle, and once the circle is found, breadth-first search algorithem is used to compute the shortest path from the next lock to the previous lock in the forward lock dependency graph. Printing the shortest path will shorten the dependency chain, and make troubleshooting for possible circular locking easier. Signed-off-by: Ming Lei Signed-off-by: Peter Zijlstra LKML-Reference: <1246201486-7308-2-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit a004cd42181409eda70804ded240a791f4564d61 Author: Thomas Gleixner Date: Tue Jul 21 09:54:05 2009 +0200 sched: Fix return value of migration_init() migration_init() returns the return value of the hotplug notifier. In the success case this is NOTIFY_OK which is 1. initcall_debug evaluates that as an error code because init calls are expected to return 0 on success. Signed-off-by: Thomas Gleixner commit ab300465676b0c0559af62d57ec9a902f5680b03 Author: Herbert Xu Date: Fri Jul 24 15:26:15 2009 +0800 crypto: api - Fix aligned ctx helper The aligned ctx helper was using a bogus alignment value thas was one off the correct value. Fortunately the current users do not require anything beyond the natural alignment of the platform so this hasn't caused a problem. This patch fixes that and also removes the unnecessary minimum check since if the alignment is less than the natural alignment then the subsequent ALIGN operation should be a noop. Signed-off-by: Herbert Xu commit 0b767b4df360bd442434d9d40b8a495e64202254 Author: Herbert Xu Date: Fri Jul 24 15:18:41 2009 +0800 crypto: hmac - Prehash ipad/opad This patch uses crypto_shash_export/crypto_shash_import to prehash ipad/opad to speed up hmac. This is partly based on a similar patch by Steffen Klassert. Signed-off-by: Herbert Xu commit 7b4ffcf953f091a815df081911c5e75c8a38418d Author: Phil Carmody Date: Fri Jul 24 13:59:17 2009 +0800 crypto: aes - Undefined behaviour in crypto_aes_expand_key It's undefined behaviour in C to write outside the bounds of an array. The key expansion routine takes a shortcut of creating 8 words at a time, but this creates 4 additional words which don't fit in the array. As everyone is hopefully now aware, GCC is at liberty to make any assumptions and optimisations it likes in situations where it can detect that UB has occured, up to and including nasal demons, and as the indices being accessed in the array are trivially calculable, it's rash to invite gcc to do take any liberties at all. Signed-off-by: Phil Carmody Signed-off-by: Herbert Xu commit 0044f3eda9a778ab63c2a5eafede3803f01b0b97 Author: Steffen Klassert Date: Fri Jul 24 13:57:13 2009 +0800 crypto: shash - Test for the algorithms import function before exporting it crypto_init_shash_ops_async() tests for setkey and not for import before exporting the algorithms import function to ahash. This patch fixes this. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 5befbd5a7e9c814d145f15b4281c88da96fb1aa9 Author: Steffen Klassert Date: Fri Jul 24 13:56:31 2009 +0800 crypto: ahash - Use GFP_KERNEL on allocation if the request can sleep ahash_op_unaligned() and ahash_def_finup() allocate memory atomically, regardless whether the request can sleep or not. This patch changes this to use GFP_KERNEL if the request can sleep. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 4fef5f90edc80aae92efec049750de93be9e25cb Author: Santosh Shilimkar Date: Wed Jul 1 20:20:23 2009 +0530 OMAP4: sDMA: Update the request lines and new registers. This patch updates the platform dma.h with new dma request lines for OMAP4 peripherals. Also additional hardware register of OMAP4 sDMA module are included. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit 74d154189d597b91da4322996dbf4f5c3d1544ab Merge: 5a6338d ffafa60 Author: David S. Miller Date: Thu Jul 23 19:03:51 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwmc3200wifi/netdev.c net/wireless/scan.c commit 5a6338db37885af06760d40cad589316e48431e9 Author: Dave Jones Date: Mon Jul 20 17:40:48 2009 +0000 Fix typos in comments in via-velocity header. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 2cf71d2e388cb0076b03f40f2fadfc590c228461 Author: Dave Jones Date: Thu Jul 23 18:11:12 2009 -0700 Remove unnecessary forward declarations from velocity NIC driver. By moving functions to before their first call, we eliminate the need to define forward references. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit c40674001b162f9218ba2a6f26188177c6a4e763 Author: Dave Jones Date: Mon Jul 20 17:35:21 2009 +0000 Fix up CodingStyle problems in via-velocity.c Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 83c98a8cd04dd0f848574370594886ba3bf56750 Author: Dave Jones Date: Tue Jul 21 09:15:49 2009 +0000 Remove unused zero-copy code from velocity NIC driver. This code hasn't been enabled in forever. Signed-off-by: Dave Jones Signed-off-by: David S. Miller commit 67edfef78639573e9b01c26295a935349aab6fa3 Author: Andi Kleen Date: Tue Jul 21 23:00:40 2009 +0000 TCP: Add comments to (near) all functions in tcp_output.c v3 While looking for something else I spent some time adding one liner comments to the tcp_output.c functions that didn't have any. That makes the comments more consistent. I hope I documented everything right. No code changes. v2: Incorporated feedback from Ilpo. v3: Change style of one liner comments, add a few more comments. Signed-off-by: Andi Kleen Acked-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 40d4e3dfc2f56ad85ecca29c7f9a0194bbb833c0 Author: Eric Dumazet Date: Tue Jul 21 21:57:59 2009 +0000 af_packet: style cleanups Some style cleanups to match current code practices. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c9a73cdb772a487b2c59c2711ad8b10d58cbaca8 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:23 2009 +0000 net: move macsonic's 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 Cc: Jeff Garzik Cc: David S. Miller Tested-by: Finn Thain Cc: Geert Uytterhoeven Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 0c9cd395faca5ccf549e2bcb6b09086962c112b0 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:27 2009 +0000 net: move xtsonic's probe function to .devinit.text A pointer to xtsonic_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. 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 Cc: Chris Zankel Cc: David S. Miller Cc: Andrew Morton Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit ffe8553f8871dabf61d49e7f97a2c6cbc7dc23cb Author: Uwe Kleine-König Date: Tue Jul 21 11:25:25 2009 +0000 net: move sb1250-mac's probe function to .devinit.text A pointer to sbmac_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. 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 Cc: Weiwei Wang Cc: Jeff Garzik Cc: David S. Miller Cc: Stephen Hemminger Acked-by: Maciej W. Rozycki Cc: Andrew Morton Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit dd93667711761362b393cfbd5959bb11aa1fa80d Author: Uwe Kleine-König Date: Tue Jul 21 11:25:24 2009 +0000 net: move meth's probe function to .devinit.text A pointer to meth_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. 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 Cc: David S. Miller Cc: Thomas Bogendoerfer Cc: Christoph Lameter Cc: Jeff Garzik Acked-by: Ralf Baechle Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit 2e76baea67fa74442938afd3417170b28e7aac86 Author: Uwe Kleine-König Date: Tue Jul 21 11:25:22 2009 +0000 net: move jazzsonic's probe function to .devinit.text A pointer to jazz_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. As noticed by Geert Uytterhoeven sonic_probe1 is called by jazz_sonic_probe, so the former has 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 Acked-by: Ralf Baechle Cc: Jeff Garzik Cc: David S. Miller Cc: Thomas Bogendoerfer Cc: Finn Thain Cc: Geert Uytterhoeven Cc: Andrew Morton Cc: netdev@vger.kernel.org Cc: Greg Kroah-Hartman Signed-off-by: David S. Miller commit a65a688182cd7f5b69bd6dd9022be96ea771642c Author: Uwe Kleine-König Date: Tue Jul 21 11:25:26 2009 +0000 net: move sgiseeq's probe function to .devinit.text A pointer to sgiseeq_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. 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 Cc: Wang Chen Cc: David S. Miller Cc: Andrew Morton Cc: Jeff Garzik Cc: Thomas Bogendoerfer Acked-by: Ralf Baechle Cc: Greg Kroah-Hartman Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller commit 27a242e92f77c955433ce0347533f401ecdcd0f3 Author: Ben Greear Date: Tue Jul 21 12:50:02 2009 -0700 veth: Zero timestamp in xmit path. This patch zero's the timestamp before handing the packet to the peer interface. This lets the peer recalculate the rx timestamp if it cares about timestamps. Signed-off-by: Ben Greear Signed-off-by: David S. Miller commit dd52856ba24ed2f67679c86f207e5a9bab1eb93b Author: Sebastian Haas Date: Tue Jul 21 12:38:13 2009 -0700 can: sja1000: Add support for the new 4 channel EMS CPC-PCI cards This patch adds support to the ems_pci driver for the new, v2, 4 channel CPC-PCI/PCIe/104P CAN cards from EMS Dr. Thomas Wuensche. Signed-off-by: Sebastian Haas Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 69222e2cb01ac3faaa8ca758c5ee036c191b8b9f Author: Mike Rapoport Date: Tue Jul 21 12:37:18 2009 -0700 dm9000: switch to dev_pm_ops Signed-off-by: Mike Rapoport Acked-by: Ben Dooks Signed-off-by: David S. Miller commit 5be93b9a865344cf69958777c8d7c6f758cba416 Author: Ajit Khaparde Date: Tue Jul 21 12:36:19 2009 -0700 be2net: Add GRO support to the be2net driver. LRO is not supported anymore. This patch removes support for INET_LRO and switches over to GRO. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 2eee40c7f7c3734b28456169b2945e07d5ac0e2d Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:58 2009 +0000 Phonet: dropped datagrams accounting The per-socket drop count is visible via /proc/net/phonet. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 2e2fb4b33d62c742019774c5e6e47711a3d60505 Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:59 2009 +0000 Phonet: account for dropped RX packets Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit c1dc13e9d0bc35a8d85bf4238c48c1b627d48f35 Author: Rémi Denis-Courmont Date: Tue Jul 21 01:57:57 2009 +0000 Phonet: sockets list through proc_fs This provides a list of sockets with their Phonet bind addresses and some socket debug informations through /proc/net/phonet. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit d9ab77161d811ffb0bccf396f7155cc905c1b9e1 Author: Dmitry Torokhov Date: Wed Jul 22 00:37:25 2009 +0200 Driver Core: Make PM operations a const pointer They are not supposed to be modified by drivers, so make them const. Signed-off-by: Dmitry Torokhov Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit f0166e5e3cdab66d5a31f796ce18e21fd3ce99dc Author: Dmitry Eremin-Solenikov Date: Thu Jul 23 16:56:29 2009 +0400 ieee802154: move headers out of extra directory include/net/ieee802154/af_ieee802154.h (and others) naming seems to be too long and redundant. Drop one level of subdirectories. Signed-off-by: Dmitry Eremin-Solenikov commit 878fa89f97954337d1dc41f0ccc3a8b5f89cfbc7 Author: Daniel Silverstone Date: Wed Jul 22 18:51:24 2009 +0200 IEEE80154: Add documentation to the IEEE80154 netlink and fakehard driver This adds some perfunctory documentation comments to the IEEE 802.15.4 fakehard.c driver (Fake hard MAC) and the nl802154.h (outgoing netlink messages) header. These comments are not necessarily complete, but they do reference the IEEE 802.15.4-2006 document where possible. Signed-off-by: Daniel Silverstone commit 474828a40f6ddab6e2a3475a19c5c84aa3ec7d60 Author: Marek Vasut Date: Wed Jul 22 13:01:03 2009 +0200 ALSA: Allow passing platform_data to devices attached to AC97 bus This patch allows passing platform_data to devices attached to AC97 bus (like touchscreens, battery measurement chips ...). Signed-off-by: Marek Vasut Signed-off-by: Mark Brown commit b5d6f93b92a37466b43ba105f524bdf046d3bb3c Author: Takashi Iwai Date: Thu Jul 23 12:25:40 2009 +0200 ALSA: hda - Add description of new models for ALC889/889A Signed-off-by: Takashi Iwai commit a7569afa8b79ca9272b0d7544335bc05b5b721d6 Author: Joonyoung Shim Date: Thu Jul 23 17:33:17 2009 +0900 ASoC: MAX9877: fix write operation for register The MAX9877 needs an address of start register when we write values to registers through i2c_master_send(), but the code for this was missed in max9877_write_regs(). If the value of control is 0 in the max9877_set_out_mode(), the value is not increased to 1, but actually the value to write to the register should be 1. And the register bits for out_mode and osc_mode should be cleared before writing. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 459dc35233c88d9eb7c5d0e6c086122751e64750 Author: Janusz Krzysztofik Date: Wed Jul 22 05:22:28 2009 +0200 ASoC: Add support for Conexant CX20442-11 voice modem codec This patch adds support for Conexant CX20442-11 voice modem codec, suitable for use by the ASoC board driver for Amstrad E3 (Delta) videophone. Related sound card driver will follow. This codec is an optional part of the Conexant SmartV three chip modem design. As such, documentation for its proprietary digital audio interface is not available. However, on Amstrad Delta board, thanks to Mark Underwood who created an initial, omap-alsa based sound driver a few years ago[1], the codec has been discovered to be accessible not only from the modem side, but also over the OMAP McBSP based CPU DAI. Thus, the driver can be used by any sound card that can access the codec DAI directly. The DAI configuration parameters (sample rate and format, number of channels) has been selected out empirically for best user experience. The codec analogue interface consists of two pairs of analogue I/O pins: speakerphone interface or telephone handset/headset interface. Furthermore, it seams to provide two operation modes for speakerphone I/O: standard and advanced, with automatic gain control and echo cancelation. Even if the codec control interface is unknown and not available, all those interfaces and modes can be selected over the modem chip using V.253 commands. The driver is able to issue necessary commands over a suitable hw_write function if provided by a sound card driver. Otherwise, the codec can be controlled over the modem from userspace while inactive. Even if nothig is known about the codec internal power management capabilities, DAPM widgets has been used to model the codec audio map. Automatically performed powering up/down of those virtual widgets results in corresponding V.253 commands being issued. Some driver features/oddities may be board specific, but I have no way to verify that with any board other than Amstrad Delta. [1] http://www.earth.li/pipermail/e3-hacking/2006-April/000481.html Created and tested against linux-2.6.31-rc3. Applies and works with linux-omap-2.6 commit 7c5cb7862d32cb344be7831d466535d5255e35ac as well. Signed-off-by: Janusz Krzysztofik Signed-off-by: Mark Brown commit a3beddd0aa267986de7b13b6d9cd0e1869fcf1fc Merge: 955c986 5bdef86 Author: Paul Mundt Date: Thu Jul 23 18:43:48 2009 +0900 Merge branch 'sh/kfr2r09' commit 5bdef865eb358b6f3760e25e591ae115e9eeddef Author: Magnus Damm Date: Thu Jul 23 08:59:48 2009 +0000 sh: kfr2r09 board support - mach-type and defconfig This patch adds a defconfig and a mach-types entry for the kfr2r09 board. At this point only a few devices like SCIF, KEYSC and NOR Flash are supported together with sh7724 devices such as IIC0, IIC1 and the multimedia blocks exported via UIO. Kexec is supported, but booting from flash is not (yet). Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 915190f7d4f08e413e5fde6b0abcd5375aeacdf4 Author: Nicolas Ferre Date: Tue Jul 21 11:31:29 2009 +0100 [ARM] 5614/1: at91: atmel_lcdfb: add at91sam9g10 support to atmel LCD driver Modify atmel LCD driver: atmel_lcdfb for at91sam9g10. This add a clock management equivalent to at91sam9261. Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 87a8c3702e40028468a2d0ef6dab7627dab60c86 Author: Jaroslav Kysela Date: Thu Jul 23 10:58:29 2009 +0200 ALSA: hda - Add better Intel IbexPeak platform support Here are the new sound enabling patches for IbexPeak. Summary of tested features: - playback - Front Headphone: OK - 8 channel audio: Front/Rear/CLFE/Side all OK - recording - Front Mic/Rear Mic: both OK (front/rear/line mics are selectable in the "Input source" alsamixer control) - Line In: not working (in 6ch mode, its amp/mute, direction and route all looks fine, so I'm a little puzzled) (hopefully no one will care this feature) - digital SPDIF input/output: not tested (no equipment) Signed-off-by: Wu Fengguang Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 3f3f1d9d8de10a5dad0d22046cdd26dfb93d05c9 Author: wanzongshun Date: Thu Jul 23 08:52:51 2009 +0100 [ARM] 5619/1: Add spi mfp api for w90p910 spi driver Add spi mfp api for w90p910 spi driver. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c16d5d5657294e782d505efd00bbf2452d6aa0ca Author: wanzongshun Date: Thu Jul 23 08:51:46 2009 +0100 [ARM] 5618/1: Add spi resource define for w90p910 spi driver Add spi resource define for w90p910 spi driver. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit b48147663b2582bfb91a2bf39f9d1ffe8f209122 Author: wanzongshun Date: Thu Jul 23 08:50:20 2009 +0100 [ARM] 5617/1: rename this spi device as w90p910-spi When programming clock api, I named this spi device as w90p910-usi, now, I think named it as w90p910-spi better Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 768db4e04b4c969cf3a9e81a79a10af6468ca56d Author: wanzongshun Date: Thu Jul 23 08:47:57 2009 +0100 [ARM] 5616/1: Add mac resource define for w90p910 mac driver Add mac resource define for w90p910 mac driver. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 42ff4cf957b695250534e540375e23507c722327 Author: wanzongshun Date: Fri Jul 17 14:42:33 2009 +0100 [ARM] 5610/1: Add fmi resource define for w90p910 platform Add fmi resource define for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 11a79260916b00bcfe1bcfbd7a994321ee25b880 Author: Mike Frysinger Date: Thu Jul 23 01:14:15 2009 -0700 Input: bf54x-keys - convert printk() to dev_*() Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit 4832958218f96f98009c5e01729fbe2b48c7124c Author: Michael Hennerich Date: Wed Jul 22 21:51:34 2009 -0700 Input: add Blackfin rotary input driver This driver handles the Blackfin on-chip rotary peripheral. Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit c30853df9834bccc2841798b0ab8f151929ae500 Merge: d756b27 06c7128 Author: Mark Brown Date: Thu Jul 23 08:22:58 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit d756b2774829c746e0cf2967802cbd41967eda65 Author: Lopez Cruz, Misael Date: Wed Jul 22 20:45:03 2009 -0500 ASoC: OMAP: Staticise pcm creation function of omap-pcm Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit 52ec7752b457311f10f5a8d16faa8ac2e684eb65 Author: Dmitry Torokhov Date: Wed Jul 22 21:51:40 2009 -0700 Input: pxa27x_keypad - remove extra clk_disable clk_disable() in remove method is not needed since we already have clk_disable in pxa27x_keypad_close(). Also make sure the driver uses resource_size() and helpers from include/input/matrix_keypad.h Tested-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Dmitry Torokhov commit bd072111e7319d90a7b8127f91c2806b9a6f279e Merge: 24d01c0 4be3bd7 Author: Dmitry Torokhov Date: Wed Jul 22 21:47:29 2009 -0700 Merge commit 'v2.6.31-rc4' into next commit 39a6bf1426af4aed2348bb533481027862346a37 Author: Magnus Damm Date: Wed Jul 22 16:23:45 2009 +0000 sh: kfr2r09 board support - KEYSC keypad This patch adds KEYSC keypad support to the kfr2r09 board. The keys driven by the sh7724 on-chip KEYSC block are described as a platform device and platform data for the sh_keysc driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a366aa64f3a51ca3deebe74447f929a5614d9b90 Author: Magnus Damm Date: Wed Jul 22 16:22:28 2009 +0000 sh: kfr2r09 board support - NOR flash This patch adds NOR flash support to the kfr2r09 board. NOR flash support is added by describing the NOR flash chip hooked up to CS0 as platform device data for the physmap-flash MTD driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit e7d165146a7de5ceb4f68e188b2679f003744f54 Author: Magnus Damm Date: Wed Jul 22 16:20:54 2009 +0000 sh: kfr2r09 board support - SCIF console This patch adds basic kfr2r09 board support. Only the SCIF1 console is supported with this patch, but this patch and a proper sh7724 configuration is all that is needed. Combine with an initramfs to have a small RAM based kernel and distribution booted as zImage from RAM via JTAG. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 955c9863bb5855a994751843e7066017edc00410 Author: Magnus Damm 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 Signed-off-by: Paul Mundt commit c690be1cb48cf5a95c34c879841cc6e2c4fbc425 Author: Magnus Damm Date: Wed Jul 22 14:58:39 2009 +0000 i2c: change i2c-sh_mobile.c 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 Signed-off-by: Paul Mundt commit 2c59b0b70b9d5d61c726f179724660c4c2423f31 Author: Magnus Damm Date: Wed Jul 22 14:41:35 2009 +0000 usb: m66592-udc platform data on_chip support Convert the m66592-udc driver to use the on_chip flag from platform data to enable on chip behaviour instead of relying on CONFIG_SUPERH_BUILT_IN_M66592 ugliness. This makes the code cleaner and also allows us to support both external and internal m66592 with the same kernel. It also makes the Kconfig part more future proof since we with this patch can add support for new processors with on-chip m66592 without modifying the Kconfig. The patch adds a m66592 header file for platform data and ties in platform data to the existing m66592 devices. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit cf4f1e76c49dacfde0680b170b9a9b6a42f296bb Author: Magnus Damm Date: Wed Jul 22 14:32:03 2009 +0000 usb: move r8a66597 register defines Move r8a66597 hardware register definitions from the host controller header file to the platform data header file. With this change in place we can easily share register definitions between the host controller driver and a future gadget driver. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3040c8203d68a9a0564af81729085054fd6b5b03 Author: Julia Lawall Date: Sun Jul 12 09:42:47 2009 +0200 HID: Drop NULL test on list_entry result list_entry, which is an alias for container_of, cannot return NULL, as there is no way to add a NULL value to a doubly linked list. A simplified version of the semantic match that findds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E; statement S1,S2; position p,p1; @@ *x = list_entry@p(...) ... when != x = E *if@p1 (x == NULL) S1 else S2 // Signed-off-by: Julia Lawall Signed-off-by: Jiri Kosina commit 711a680e35059bc5c7c28d3c4bd0bebd3b7bb6ee Author: Bruno Premont Date: Mon Jul 13 14:19:58 2009 +0200 HID: driver for Twinhan USB 6253:0100 remote control Add explicit key mappings for TwinHan USB HID remote control. All dummy Ctrl, Alt, Meta, ... key press/release events generated by the remote are silenced by "unmapping" them. This makes Power and Volume keys single-key and strips the regular (even while idle) key release events for Ctrl, Alt, Meta, ... Signed-off-by: Bruno Premont Signed-off-by: Jiri Kosina commit a24f423bdf253ccee369adc6c5451b40a0716fbb Author: Peter Huewe Date: Thu Jul 2 19:08:38 2009 +0200 HID: adding __init/__exit macros to module init/exit functions Trivial patch which adds the __init and __exit macros to the module_init / module_exit functions of several HID drivers from drivers/hid/ Signed-off-by: Peter Huewe Signed-off-by: Jiri Kosina commit 7a84b1336a145d683fb8cdfd6c2c67545a58b126 Author: Ruben Aos Garralda Date: Mon Jun 29 09:41:29 2009 +0200 HID: add rumble support for Thrustmaster Dual Trigger 3-in-1 This patch enables rumble in Thrustmaster Dual 3-in-1 trigger gamepads (in both PC and PS3 modes). It uses the same code as Thrustmaster FireStorm Dual Power 2, so it only adds new USB IDs to hid-core.c and hid-tmff.c Signed-off-by: Ruben Aos Garralda Signed-off-by: Jiri Kosina commit 837b47533a6476ab3fb96b1f52edd3ce9f3162b8 Author: Rafi Rubin Date: Tue Jun 23 14:09:26 2009 -0400 HID: ntrig tool separation and pen usages When both touch and pen are active send a tool announcement before sending any status changes so that event users may differentiate which tool is changing. Restored three usage codes used by the pen. Signed-off-by: Rafi Rubin Acked-by: Stephane Chatty Signed-off-by: Jiri Kosina commit 8b424887b603e953af7238fef96629424dc915cb Author: Sergey Senozhatsky Date: Tue Jun 23 15:32:19 2009 +0200 HID: Avoid double spin_lock_init on usbhid->lock Avoid double spin_lock_init on usbhid->lock. Signed-off-by: Sergey Senozhatsky Signed-off-by: Jiri Kosina commit fd30ea8c871552ddd6a5e1c0886de8fef4df53bc Author: Jiri Kosina Date: Tue Jun 23 12:11:31 2009 +0200 HID: add force feedback support for Logitech WingMan Formula Force GP Add force feedback support for Logitech WingMan Formula Force GP (0x046d/0xc293). Reported-by: wylda@volny.cz Tested-by: wylda@volny.cz Signed-off-by: Jiri Kosina commit 0810b51170570ed21cae56b8131db6a5e3efa584 Author: Robert Schedel Date: Tue Jun 23 11:26:48 2009 +0200 HID: Support new variants of Samsung USB IR receiver (0419:0001) This patch extends the existing Samsung IrDA (0419:0001) quirk file with newly reported variants: * New device variants with 203 byte and 135 byte report descriptors were reported to be recognized incorrectly. This patch adds an autodetection for those two, using report descriptor size to enable new quirks. * Any other unknown 0419:0001 variants will now be treated without any quirk flags (i.e. IGNORE_HIDINPUT/HIDDEV_FORCE will not be set by default anymore). More details: 1. Descriptor size 184 bytes ("Satelco bundled remote") Already supported since kernel 2.6.25 (my old patch). 2. Descriptor size 203 bytes ("Optronix remote") This receiver mostly works with the regular HID input driver. Only when some keys are released, another spurious key press event is interpreted due to incorrect array ranges. According to HID 1.11, section 6.2.2.5, arrays should return a 0 value when no control is asserted, and ranges should go from 1 to the number of elements. The patch clips the value with a logical range from 1..15 (instead of originally 0..18). Ticket with more information available at https://bugs.launchpad.net/bugs/326986 3. Descriptor size 135 bytes ("Gotview remote") This receiver has a similar issue than the previous one, i.e. it mostly works with regular HID input, except some key press events get stuck on key release. The patch clips the array value from 1..14 (instead of originally 0..17). Ticket with more information available at http://bugs.archlinux.org/task/15216 4. Other unknown variants (found one report with 218 bytes, but no further information about issues) For such unknown variants we should refrain from changing any device flags. Currently, HIDINPUT is suppressed and HIDDEV is enforced (because in 2.6.25 the quirk table did not yet allow differentiating variants and we did not expect variants either). Now we should be as strict as possible and enable it only for the first variant above. Signed-off-by: Robert Schedel Signed-off-by: Jiri Kosina commit 35ebf6e7210dc0f7c612856513a8489a1da9de7e Author: Takashi Iwai Date: Wed Jul 22 17:12:34 2009 +0200 ALSA: ctxfi - Simple code clean up - replace NULL == xxx with !xxx - replace NULL != xxx with xxx - similar trivial cleanups Signed-off-by: Takashi Iwai commit fbd90375d7531927d312766b548376d909811b4d Author: Peter Zijlstra Date: Wed Jul 22 13:40:14 2009 +0200 hrtimer: Remove cb_entry from struct hrtimer It's unused, remove it. Signed-off-by: Peter Zijlstra Signed-off-by: Thomas Gleixner LKML-Reference: commit 89e1b9511fc7fbfac4139fca5531f5f9d946c537 Merge: 9c6c529 6811066 Author: Takashi Iwai Date: Wed Jul 22 17:06:53 2009 +0200 Merge branch 'fix/ctxfi' into topic/ctxfi commit 16a433d8b38720a816736d59a62e705c19e31600 Author: Jaroslav Kysela Date: Wed Jul 22 16:20:40 2009 +0200 ALSA: hda-intel: Cleanups for widget connection list handling This patch adds a check to snd_hda_get_connections() routine for presence of AC_WCAP_CONN_LIST. Also, make sure that negative error codes from noted route are handled on all places as errors. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 254da007f93f79ee773788cbb38f24dfab9590f5 Author: Jaroslav Kysela Date: Wed Jul 22 15:31:03 2009 +0200 ALSA: hda_generic: use AC_WCAP_CONN_LIST check for widget connections Previous patch used widget type, but the presence flag of the connection list is in the widget capabilities. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 052960483833f81603450e2a3cfa7a5ee98eedd4 Author: Jaroslav Kysela Date: Wed Jul 22 14:38:58 2009 +0200 ALSA: hda_generic: do not read connections for widged with an unknown type Reading node connections for an unknown widget can confuse HDA codec bus. Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 1c20930a41c623a2281e754f9321cd0feb01ceb9 Author: Takashi Iwai Date: Wed Jul 22 15:17:45 2009 +0200 ALSA: hda - Fix ALC861 auto-mode parser Fix the logic of ALC861 auto-mode parser for the outputs. Instead of assuming the fixed DAC list, parse the conection and assign the DAC dynamically. Also, unmute the unused output connections to avoid noises on inputs. Signed-off-by: Takashi Iwai commit 05ff7e11b78f18ff6819d2c260b7bcc7da0c8f46 Author: Takashi Iwai Date: Wed Jul 22 12:39:24 2009 +0200 ALSA: hda - Reduce click noise at power-saving Add some tricks to reduce the click noise at powering down to D3 in the power saving mode on STAC/IDT codecs. The key seems to be to reset PINs before the power-down, and some delay before entering D3. The needed delay is significantly long, but I don't know why. Signed-off-by: Takashi Iwai commit 2277ab4a1df50e05bc732fe9488d4e902bb8399a Author: Paul Mundt Date: Wed Jul 22 19:20:49 2009 +0900 sh: Migrate from PG_mapped to PG_dcache_dirty. This inverts the delayed dcache flush a bit to be more in line with other platforms. At the same time this also gives us the ability to do some more optimizations and cleanup. Now that the update_mmu_cache() callsite only tests for the bit, the implementation can gradually be split out and made generic, rather than relying on special implementations for each of the peculiar CPU types. SH7705 in 32kB mode and SH-4 still need slightly different handling, but this is something that can remain isolated in the varying page copy/clear routines. On top of that, SH-X3 is dcache coherent, so there is no need to bother with any of these tests in the PTEAEX version of update_mmu_cache(), so we kill that off too. Signed-off-by: Paul Mundt commit e458a48f8776d624d05246471501c6086adb1d7a Author: Joonyoung Shim Date: Wed Jul 22 14:09:08 2009 +0900 ASoC: MAX9877: separate callback functions The callback function to control register was used by whole controls in MAX9877 driver, but this causes using many if statement for double register control or invert. So, the callback function for double register control is separate differently, and the code for invert is added in the callback function. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit c0b96cf639aa1bfa8983f734d4225091aa813e00 Author: Paul Mundt Date: Wed Jul 22 16:50:57 2009 +0900 sh: Provide _PAGE_SPECIAL for 32-bit. Allocate one of the unused PTE bits for _PAGE_SPECIAL directly. This is prep work for fast gup and the zero page revival. Signed-off-by: Paul Mundt commit f592682f9fca18d336ac068a1abc8507b4a1d936 Author: Herbert Xu Date: Wed Jul 22 12:37:06 2009 +0800 crypto: shash - Require all algorithms to support export/import This patch provides a default export/import function for all shash algorithms. It simply copies the descriptor context as is done by sha1_generic. This in essence means that all existing shash algorithms now support export/import. This is something that will be depended upon in implementations such as hmac. Therefore all new shash and ahash implementations must support export/import. For those that cannot obtain a partial result, padlock-sha's fallback model should be used so that a partial result is always available. Signed-off-by: Herbert Xu commit 9fadfd1adff28a8895de8df9e8a778c44958840f Author: Herbert Xu Date: Wed Jul 22 12:29:41 2009 +0800 crypto: sha512-s390 - Add export/import support This patch adds export/import support to sha512-s390 (which includes sha384-s390). The exported type is defined by struct sha512_state, which is basically the entire descriptor state of sha512_generic. Since sha512-s390 only supports a 64-bit byte count the import function will reject anything that exceeds that. Signed-off-by: Herbert Xu commit 13887ed6888dad1608eb9530ebd83b6ba29db577 Author: Herbert Xu Date: Wed Jul 22 12:22:43 2009 +0800 crypto: sha512_generic - Use 64-bit counters This patch replaces the 32-bit counters in sha512_generic with 64-bit counters. It also switches the bit count to the simpler byte count. Signed-off-by: Herbert Xu commit 1f38ad8389bbca038d320c29d30aa1d6ed96b48d Author: Herbert Xu Date: Wed Jul 22 11:48:18 2009 +0800 crypto: sha512 - Export struct sha512_state This patch renames struct sha512_ctx and exports it as struct sha512_state so that other sha512 implementations can use it as the reference structure for exporting their state. Signed-off-by: Herbert Xu commit ac95301f271f32901e4007096aa3516def49eed2 Author: Herbert Xu Date: Wed Jul 22 14:37:15 2009 +0800 crypto: xcbc - Fix shash conversion Although xcbc was converted to shash, it didn't obey the new requirement that all hash state must be stored in the descriptor rather than the transform. This patch fixes this issue and also optimises away the rekeying by precomputing K2 and K3 within setkey. Signed-off-by: Herbert Xu commit b588ef6e69bfc0944a17dc673ee166a00fa23de2 Author: Herbert Xu Date: Wed Jul 22 13:04:37 2009 +0800 crypto: xcbc - Use crypto_xor This patch replaces the local xor function with the generic crypto_xor function. Signed-off-by: Herbert Xu commit 6fba00d176ab73b15bb8e31f261582943429a92b Author: Herbert Xu Date: Wed Jul 22 11:10:22 2009 +0800 crypto: cryptd - Add finup/export/import for hash This patch adds the finup/export/import functions to the cryptd ahash implementation. We simply invoke the underlying shash operations. Signed-off-by: Herbert Xu commit 25cbf465207e9616e9b7d362ee166abf296d4c1e Author: javier Martin Date: Tue Jul 21 11:15:06 2009 +0200 ASoC: Correct a bug with "ADC Inversion Switch" in wm8974 codec. This corrects a bug with ADC Inversion Switch in wm8974 codec. Signed-off-by: Javier Martin Signed-off-by: Mark Brown commit ed0f19b23754dc24f9a2d3c266a36277410f4686 Author: John Bonesio Date: Tue Jul 21 13:15:40 2009 -0700 ASoC: MPC5200: Increase the delay time between resets Reset was failing with the original udelay(50) between the code in psc_ac97_cold_reset() and the call to psc_ac97_warm_reset(). Through testing it was found that a delay of 1ms was necessary for the cold_reset code to consistently complete successfully. Signed-off-by: John Bonesio Signed-off-by: Mark Brown commit 511647ff58fd0f1c1f415d2c757d841650edac91 Author: Magnus Damm Date: Wed Jul 8 13:23:07 2009 +0200 PM: Remove platform device suspend_late()/resume_early() V2 This is V2 of the platform driver power management late/early callback removal patch. The callbacks ->suspend_late() and ->resume_early() are removed since all in-tree users now have been migrated to dev_pm_ops. Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 48fea9659ec1a35641db3832adaf3860ecabb6ba Author: Magnus Damm Date: Wed Jul 8 13:22:56 2009 +0200 USB: Rework musb suspend()/resume_early() This patch reworks platform driver power management code for musb from legacy callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend() -> suspend() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 6a6c6189b1fef97de9b8b936131fe2085ac42a5a Author: Magnus Damm Date: Wed Jul 8 13:22:47 2009 +0200 I2C: Rework i2c-s3c2410 suspend_late()/resume() V2 This is V2 of the i2c-s3c2410 dev_pm_ops patch. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume() -> resume() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 57f4d4f1b72983f8c76e2f232e064730aeffe599 Author: Magnus Damm Date: Wed Jul 8 13:22:39 2009 +0200 I2C: Rework i2c-pxa suspend_late()/resume_early() This patch reworks platform driver power management code for i2c-pxa from legacy late/early callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 4aebac2fb9645e897864e12cdb8d1e4aadf5b2a4 Author: Magnus Damm Date: Wed Jul 8 13:22:27 2009 +0200 DMA: Rework txx9dmac suspend_late()/resume_early() This patch reworks platform driver power management code for txx9dmac from legacy late/early callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 4a256b5fc028e6dad0fd1b59745f743ee528c944 Author: Magnus Damm Date: Wed Jul 8 13:22:18 2009 +0200 DMA: Rework dw_dmac suspend_late()/resume_early() This patch reworks platform driver power management code for dw_dmac from legacy late/early callbacks to dev_pm_ops. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit 79ee031ff6fd23a1a2a4f783cfc3421885304ce3 Author: Magnus Damm Date: Wed Jul 8 13:22:04 2009 +0200 ARM: Rework omap suspend_late()/resume_early() This patch reworks platform driver power management code for omap drivers using late/early legacy callbacks. The callbacks are converted for CONFIG_SUSPEND like this: suspend_late() -> suspend_noirq() resume_early() -> resume_noirq() Signed-off-by: Magnus Damm Acked-by: Greg Kroah-Hartman Acked-by: Pavel Machek Signed-off-by: Rafael J. Wysocki commit d7aacaddcac3971e33cf52d7e610c06696cb347f Author: Magnus Damm Date: Wed Jul 8 13:21:31 2009 +0200 Driver Core: Add platform device arch data V3 Allow architecture specific data in struct platform_device V3. With this patch struct pdev_archdata is added to struct platform_device, similar to struct dev_archdata in found in struct device. Useful for architecture code that needs to keep extra data associated with each platform device. Struct pdev_archdata is different from dev.platform_data, the convention is that dev.platform_data points to driver-specific data. It may or may not be required by the driver. The format of this depends on driver but is the same across architectures. The structure pdev_archdata is a place for architecture specific data. This data is handled by architecture specific code (for example runtime PM), and since it is architecture specific it should _never_ be touched by device driver code. Exactly like struct dev_archdata but for platform devices. [rjw: This change is for power management mostly and that's why it goes through the suspend tree.] Signed-off-by: Magnus Damm Acked-by: Kevin Hilman Acked-by: Greg Kroah-Hartman Signed-off-by: Rafael J. Wysocki commit a59b50e995465911ba580df0bd10cf64aa81fc43 Author: Joseph Cihula Date: Tue Jun 30 19:31:10 2009 -0700 intel_txt: Force IOMMU on for Intel TXT launch The tboot module will DMA protect all of memory in order to ensure the that kernel will be able to initialize without compromise (from DMA). Consequently, the kernel must enable Intel Virtualization Technology for Directed I/O (VT-d or Intel IOMMU) in order to replace this broad protection with the appropriate page-granular protection. Otherwise DMA devices will be unable to read or write from memory and the kernel will eventually panic. Because runtime IOMMU support is configurable by command line options, this patch will force it to be enabled regardless of the options specified, and will log a message if it was required to force it on. dmar.c | 7 +++++++ intel-iommu.c | 17 +++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Cc: David Woodhouse Signed-off-by: H. Peter Anvin commit 86886e55b273f565935491816c7c96b82469d4f8 Author: Joseph Cihula Date: Tue Jun 30 19:31:07 2009 -0700 x86, intel_txt: Intel TXT Sx shutdown support Support for graceful handling of sleep states (S3/S4/S5) after an Intel(R) TXT launch. Without this patch, attempting to place the system in one of the ACPI sleep states (S3/S4/S5) will cause the TXT hardware to treat this as an attack and will cause a system reset, with memory locked. Not only may the subsequent memory scrub take some time, but the platform will be unable to enter the requested power state. This patch calls back into the tboot so that it may properly and securely clean up system state and clear the secrets-in-memory flag, after which it will place the system into the requested sleep state using ACPI information passed by the kernel. arch/x86/kernel/smpboot.c | 2 ++ drivers/acpi/acpica/hwsleep.c | 3 +++ kernel/cpu.c | 7 ++++++- 3 files changed, 11 insertions(+), 1 deletion(-) Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Signed-off-by: H. Peter Anvin commit 840c2baf2d4cdf35ecc3b7fcbba7740f97de30a4 Author: Joseph Cihula Date: Tue Jun 30 19:31:02 2009 -0700 x86, intel_txt: Intel TXT reboot/halt shutdown support Support for graceful handling of kernel reboots after an Intel(R) TXT launch. Without this patch, attempting to reboot or halt the system will cause the TXT hardware to lock memory upon system restart because the secrets-in-memory flag that was set on launch was never cleared. This will in turn cause BIOS to execute a TXT Authenticated Code Module (ACM) that will scrub all of memory and then unlock it. Depending on the amount of memory in the system and its type, this may take some time. This patch creates a 1:1 address mapping to the tboot module and then calls back into tboot so that it may properly and securely clean up system state and clear the secrets-in-memory flag. When it has completed these steps, the tboot module will reboot or halt the system. arch/x86/kernel/reboot.c | 8 ++++++++ init/main.c | 3 +++ 2 files changed, 11 insertions(+) Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Signed-off-by: H. Peter Anvin commit 3162534069597e34dd0ac9eb711be8dc23835ae7 Author: Joseph Cihula Date: Tue Jun 30 19:30:59 2009 -0700 x86, intel_txt: Intel TXT boot support This patch adds kernel configuration and boot support for Intel Trusted Execution Technology (Intel TXT). Intel's technology for safer computing, Intel Trusted Execution Technology (Intel TXT), defines platform-level enhancements that provide the building blocks for creating trusted platforms. Intel TXT was formerly known by the code name LaGrande Technology (LT). Intel TXT in Brief: o Provides dynamic root of trust for measurement (DRTM) o Data protection in case of improper shutdown o Measurement and verification of launched environment Intel TXT is part of the vPro(TM) brand and is also available some non-vPro systems. It is currently available on desktop systems based on the Q35, X38, Q45, and Q43 Express chipsets (e.g. Dell Optiplex 755, HP dc7800, etc.) and mobile systems based on the GM45, PM45, and GS45 Express chipsets. For more information, see http://www.intel.com/technology/security/. This site also has a link to the Intel TXT MLE Developers Manual, which has been updated for the new released platforms. A much more complete description of how these patches support TXT, how to configure a system for it, etc. is in the Documentation/intel_txt.txt file in this patch. This patch provides the TXT support routines for complete functionality, documentation for TXT support and for the changes to the boot_params structure, and boot detection of a TXT launch. Attempts to shutdown (reboot, Sx) the system will result in platform resets; subsequent patches will support these shutdown modes properly. Documentation/intel_txt.txt | 210 +++++++++++++++++++++ Documentation/x86/zero-page.txt | 1 arch/x86/include/asm/bootparam.h | 3 arch/x86/include/asm/fixmap.h | 3 arch/x86/include/asm/tboot.h | 197 ++++++++++++++++++++ arch/x86/kernel/Makefile | 1 arch/x86/kernel/setup.c | 4 arch/x86/kernel/tboot.c | 379 +++++++++++++++++++++++++++++++++++++++ security/Kconfig | 30 +++ 9 files changed, 827 insertions(+), 1 deletion(-) Signed-off-by: Joseph Cihula Signed-off-by: Shane Wang Signed-off-by: Gang Wei Signed-off-by: H. Peter Anvin commit e8834a63bddf87f7b85955d1ba60d28343d88469 Author: Eilon Greenstein Date: Tue Jul 21 05:47:55 2009 +0000 bnx2x: Version 1.48.113-1 Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5b6402d10328beb8a9b351ac65a31326ed5fe847 Author: Eilon Greenstein Date: Tue Jul 21 05:47:51 2009 +0000 bnx2x: Missing parenthesis might result with wrong casting Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit ba71d3134176b9791aab7cb78242b6ba1428aac8 Author: Eilon Greenstein Date: Tue Jul 21 05:47:49 2009 +0000 bnx2x: Set LED in loopback test Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 4d295db0efd2ccf06edb7a45ad885b40c56b7161 Author: Eilon Greenstein Date: Tue Jul 21 05:47:47 2009 +0000 bnx2x: Supporting BCM8727 PHY Adding support for BCM8727 - a dual port SFP+ PHY. That includes verification of the optic module vendor and part number - the list of approved modules resides on the nvram and the module is verified by the FW. Since not all users would like to use this verification feature, it can be disabled. The default behavior is to issue a warning if the module is not approved, but still allow using it - but it is also possible to disable the link if the module is not approved. Signed-off-by: Yaniv Rosner Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 5316bc0b9adbefe24f149b12caeddc30df6f04e1 Author: Eilon Greenstein Date: Tue Jul 21 05:47:43 2009 +0000 bnx2x: Update vlan_features As noted by Or Gerlitz , the vlan_features was not updated Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit e15107065d073714dc47cf6b80c8bf5eea1bf18b Author: Eilon Greenstein Date: Tue Jul 21 05:47:41 2009 +0000 bnx2x: SMP-safe inter_sem Signed-off-by: Vlad Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 37dbbf32a0d45f0ed88f92cb6d0c35f4809e3a8e Author: Eilon Greenstein Date: Tue Jul 21 05:47:33 2009 +0000 bnx2x: Adding some mmiowb Signed-off-by: Vlad Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit eb8da205a6cac953a46a247b8dd19505eba944e2 Author: Eilon Greenstein Date: Tue Jul 21 05:47:30 2009 +0000 bnx2x: Fan failure early detection Check if fan failure happened before the driver was loaded and notify the user Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit fd4ef40d5977e1c226e9cd9659398e82cc4a1e85 Author: Eilon Greenstein Date: Tue Jul 21 05:47:27 2009 +0000 bnx2x: Fan failure Setup fan failure for different PHY types or according to nvram settings Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 279abdf59c766a06db89b50c6d3615b4f2b19ed3 Author: Eilon Greenstein Date: Tue Jul 21 05:47:22 2009 +0000 bnx2x: Stop management traffic in loopback test Since management traffic cannot go on the wire while configured to loopback, simply stop it to avoid race condition when the MAC is set to loopback in the middle of a packet Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 3c2b8d180a47d041e9101ead27e49d237df0f1d1 Author: Gerrit Renker Date: Tue Jul 21 11:13:25 2009 -0700 mcastv6: Local variable shadows function argument The local variable 'idev' shadows the function argument 'idev' to ip6_mc_add_src(). Fixed by removing the local declaration, as pmc->idev should be identical with 'idev' passed as argument. Signed-off-by: Gerrit Renker Acked-by: David L Stevens Signed-off-by: David S. Miller commit 4bf1fa5a34aa2dd0d2cc58f0fc213a2e22d007a4 Author: Uwe Kleine-König Date: Tue Jul 21 09:56:27 2009 +0100 [ARM] 5613/1: implement CALLER_ADDRESSx From: Uwe Kleine-König As __builtin_return_address(n) doesn't work for ARM with n > 0, the kernel needs its own implementation. This fixes many warnings saying: warning: unsupported argument to '__builtin_return_address' The new methods and walk_stackframe must not be instrumented because CALLER_ADDRESSx is used in the various tracers and tracing the tracer is a bad idea. What's currently missing is an implementation using unwind tables. This is not fatal though, it's just that the tracers don't get enough information to be really useful. Note that if both ARM_UNWIND and FRAME_POINTER are enabled, walk_stackframe uses unwind information. So in this case the same implementation is used as when FRAME_POINTER is disabled. Cc: Catalin Marinas Signed-off-by: Uwe Kleine-König Signed-off-by: Russell King commit 3aa7a9a3cf8774f6701b1903a6353f9545f561ce Author: Hartley Sweeten Date: Mon Jul 20 18:22:36 2009 +0100 [ARM] 5612/1: ep93xx: add platform LEDs The EP93xx has two gpio pins specifically assigned to drive external LEDs. Add core support for these LEDs. On the EDB93xx development boards, the rdled is connected to an external reset circuit. Turning this led on for an extended amount of time will cause the circuit to issue a manual reset. Refer to Cirrus App Note AN258 for more information. http://www.cirrus.com/en/pubs/appNote/AN258REV2.pdf This led can be safely used as the system heartbeat with the ledtrig-heartbeat driver. echo heartbeat > /sys/class/leds/platform:rdled/trigger The grled can be used for any desired purpose. Tested-by: Matthieu Crapet Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit fc6cca3917e6594eb93c0b5e2226342eab175041 Merge: 6bde607 ef9b542 aea1f79 Author: Paul Mundt Date: Tue Jul 21 17:37:18 2009 +0900 Merge branches 'sh/compressors' and 'sh/stable-updates' commit ef9b542fce00dafc6bb1d9097b045a777f4a2382 Author: Paul Mundt Date: Tue Jul 21 17:24:36 2009 +0900 sh: bzip2/lzma uImage support. This builds on the bzip2/lzma zImage support change and wires it up for uImages. Based on the blackfin implementation. Signed-off-by: Paul Mundt commit 24d01c0681bfbc10a99304c48a89ad213d2d7a4b Author: Dmitry Torokhov Date: Tue Jul 21 01:12:12 2009 -0700 Input: sh_keysc - allow modifying keymap from userspace Adjust the driver so EVIOCGKEYCODE/EVIOCSKEYCODE work. Acked-by: Magnus Damm Signed-off-by: Dmitry Torokhov commit 99fde513f57db2c8e1b202ade4be7d47033ff09b Author: Marek Vasut Date: Mon Jul 20 22:28:50 2009 -0700 Input: wm97xx - add possibility to control the GPIO_STATUS shift This patch allows tweaking the behaviour of GPIO_STATUS register shift quirk that's in wm97xx-core. The problem with GPIO_STATUS register being shifted by one doesn't appear on all hardware it seems and causes problems with accelerated touchscreen drivers on Palm hardware. Therefore an accelerated touchscreen driver can select if the shift is/isn't happening on the hardware. Signed-off-by: Marek Vasut Acked-by: Mark Brown Signed-off-by: Dmitry Torokhov commit b833306febc7d9b805a89aff29f1e410a64981c4 Author: Marek Vasut Date: Mon Jul 20 22:26:37 2009 -0700 Input: wm97xx - add Palm support to Mainstone accelerated touch This patch refactors the Mainstone accelerated touch code a little and adds support for interrupt driven touchscreen on Palm LifeDrive, TX and Tungsten T5. Signed-off-by: Marek Vasut Acked-by: Mark Brown Signed-off-by: Dmitry Torokhov commit 1f9963cbb0280e0cd554161e00f1a0eeddbf1ae1 Author: Li Zefan Date: Mon Jul 20 10:20:53 2009 +0800 tracing/filters: improve subsystem filter Currently a subsystem filter should be applicable to all events under the subsystem, and if it failed, all the event filters will be cleared. Those behaviors make subsys filter much less useful: # echo 'vec == 1' > irq/softirq_entry/filter # echo 'irq == 5' > irq/filter bash: echo: write error: Invalid argument # cat irq/softirq_entry/filter none I'd expect it set the filter for irq_handler_entry/exit, and not touch softirq_entry/exit. The basic idea is, try to see if the filter can be applied to which events, and then just apply to the those events: # echo 'vec == 1' > softirq_entry/filter # echo 'irq == 5' > filter # cat irq_handler_entry/filter irq == 5 # cat softirq_entry/filter vec == 1 Changelog for v2: - do some cleanups to address Frederic's comments. Inspired-by: Steven Rostedt Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker LKML-Reference: <4A63D485.7030703@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit ff4e9da2330beb8d64498a513d3f9694e941b01a Author: Xiao Guangrong Date: Mon Jun 22 10:33:07 2009 +0800 tracing: cleanup for tracing_trace_options_read() '\n' is already appended, and what we need is just an extra space for the '\0'. Signed-off-by: Xiao Guangrong LKML-Reference: <4A3EED63.3090908@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 7d536cb3fb9993bdcd5a2fbaa6b0670ded4e101c Author: Li Zefan Date: Thu Jul 16 10:54:02 2009 +0800 tracing/events: record the size of dynamic arrays When a dynamic array is defined, we add __data_loc_foo in trace_entry to record the offset of the array, but the size of the array is not recorded, which causes 2 problems: - the event filter just compares the first 2 chars of the strings. - parsers can't parse dynamic arrays. So we encode the size of each dynamic array in the higher 16 bits of __data_loc_foo, while the offset is in lower 16 bits. Signed-off-by: Li Zefan LKML-Reference: <4A5E964A.9000403@cn.fujitsu.com> Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit 9c6c529a21cd3b6efb367256a239eec4153721c0 Merge: bc5304b 55fe27f Author: Takashi Iwai Date: Mon Jul 20 17:08:01 2009 +0200 Merge branch 'fix/ctxfi' into topic/ctxfi commit cb24405e67e56cbef51b5e4d0bb0a0fde167261f Author: Andy Grover Date: Fri Jul 17 13:13:36 2009 +0000 RDS: Refactor end of __conn_create for readability Add a comment for what's going on. Remove negative logic. I find this much easier to understand quickly, although there are a few lines duplicated. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit ed9e352a350ec85eb354046e0db6a86019620f53 Author: Andy Grover Date: Fri Jul 17 13:13:35 2009 +0000 RDS/IW: Remove dead code In iWARP code, node_type will always be RNIC Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 404bb72a56e553febe1055f98347a7a3e3145759 Author: Andy Grover Date: Fri Jul 17 13:13:34 2009 +0000 RDS/IW: Remove page_shift variable from iwarp transport The existing code treated page_shift as a variable, when in fact we always want to have the fastreg page size be the same as the arch's page size -- and it is, so this doesn't need to be a variable. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit a870d62726721785c34fa73d852bd35e5d1b295b Author: Andy Grover Date: Fri Jul 17 13:13:33 2009 +0000 RDS/IB: Always use PAGE_SIZE for FMR page size While FMRs allow significant flexibility in what size of pages they can use, we really just want FMR pages to match CPU page size. Roland says we can count on this always being supported, so this simplifies things. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit edacaeae52ade6cbb3a0704db32a9fb4a219dee3 Author: Andy Grover Date: Fri Jul 17 13:13:32 2009 +0000 RDS: Fix completion notifications on blocking sockets Completion or congestion notifications were not being checked if the socket went to sleep. This patch fixes that. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit fdf6e6b4afd8a56fa58f70a3950bd7ea7fbaef5f Author: Andy Grover Date: Fri Jul 17 13:13:31 2009 +0000 RDS/IB: Drop connection when a fatal QP event is received Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 68cb01c1ba312add7c7cc7da1bbe98b3071904d1 Author: Andy Grover Date: Fri Jul 17 13:13:30 2009 +0000 RDS/IB: Disable flow control in sysctl and explain why Backwards compatibility with rds 3.0 causes protocol- based flow control to be disabled as a side-effect. I don't want to pull out FC support from the IB transport but I do want to document and keep the sysctl consistent if possible. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit e11d912a7dd4dfe388f38ba3080a6d067a57b23d Author: Andy Grover Date: Fri Jul 17 13:13:29 2009 +0000 RDS/IB: Move tx/rx ring init and refill to later Since RDS 3.0 and 3.1 have different packet formats, we need to wait until after protocol negotiation is complete to layout the rx buffers. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 9099707ded4b3aeda7b1a6c1c87076bd18578d24 Author: Andy Grover Date: Fri Jul 17 13:13:28 2009 +0000 RDS: Don't set c_version in __rds_conn_create() Protocol negotiation is logically a property of the transports, so rds core need not set it. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 597ddd50e1c07ac55ac7742442690efcf16a37f5 Author: Andy Grover Date: Fri Jul 17 13:13:27 2009 +0000 RDS/IB: Rename byte_len to data_len to enhance readability Of course len is in bytes. Calling it data_len hopefully indicates a little better what the variable is actually for. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 92c330b9e93ce70a8c45a6b8b0a551321d783feb Author: Andy Grover Date: Fri Jul 17 13:13:26 2009 +0000 RDS/RDMA: Fix cut-n-paste errors in printks in rdma_transport.c Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 8dacd57e7ebc307d4d7c27c5d1caada4c4e63ebd Author: Andy Grover Date: Fri Jul 17 13:13:25 2009 +0000 RDS/IB: Fix printk to indicate remote IP, not local Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 02a6a2592e41d27644d647f3bce23598649961bc Author: Andy Grover Date: Fri Jul 17 13:13:24 2009 +0000 RDS/IB: Handle connections using RDS 3.0 wire protocol The big differences between RDS 3.0 and 3.1 are protocol-level flow control, and with 3.1 the header is in front of the data. The header always ends up in the header buffer, and the data goes in the data page. In 3.0 our "header" is a trailer, and will end up either in the data page, the header buffer, or split across the two. Since 3.1 is backwards- compatible with 3.0, we need to continue to support these cases. This patch does that -- if using RDS 3.0 wire protocol, it will copy the header from wherever it ended up into the header buffer. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 9ddbcfa098bae757d3760dd1dbf2847a0bd5a525 Author: Andy Grover Date: Fri Jul 17 13:13:23 2009 +0000 RDS/IB: Improve RDS protocol version checking RDS on IB uses privdata to do protocol version negotiation. Apparently the IB stack will return a larger privdata buffer than the struct we were expecting. Just to be extra-sure, this patch adds some checks in this area. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 3ba23ade464cca7c4a7ba5628c613339d3f2e161 Author: Andy Grover Date: Fri Jul 17 13:13:22 2009 +0000 RDS: Set retry_count to 2 and make modifiable via modparam This will be default cause IB connections to failover faster, but allow a longer retry count to be used if desired. Signed-off-by: Andy Grover Signed-off-by: David S. Miller commit 4edf547b4d0f886acf5aa5a0c8f8edbaff280830 Author: Johannes Berg Date: Wed Jul 15 06:16:34 2009 +0000 net: explain netns notifiers a little better Eric explained this to me -- and afterwards the comment made sense, but not before. Add the the critical point about interfaces having to be gone from the netns before subsys notifiers are called. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 27e0955184a70c4bd4542ee2da18c749b4f43345 Author: roel kluin Date: Fri Jul 17 08:01:54 2009 +0000 b44: strncpy does not null terminate string strlcpy() will always null terminate the string. Also use the sizeof(version) to strlcopy() the version string. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit 68fd60a8c8bca6af51805c45f286f0f2572ac977 Author: Lai Jiangshan Date: Thu Jul 16 10:53:34 2009 +0800 tracing/events: add missing type info of dynamic arrays The format file doesn't contain enough information for __dynamic_array/__string. The type name is missing. Before: # cat format: name: irq_handler_entry ... field:__data_loc name; offset:16; size:2; After: # cat format: name: irq_handler_entry ... field:__data_loc char[] name; offset:16; size:2; Signed-off-by: Lai Jiangshan LKML-Reference: <4A5E962E.9020900@cn.fujitsu.com> Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Signed-off-by: Steven Rostedt commit c550091edd6fac2ed9dac1b30d986b6c58b216fa Author: Robert Richter Date: Thu Jul 16 13:11:16 2009 +0200 x86/oprofile: Small coding style fixes Some small coding style fixes. Signed-off-by: Robert Richter commit 11be1a7b54283021777f409aa983ce125945e67c Author: Robert Richter Date: Fri Jul 10 18:15:21 2009 +0200 x86/oprofile: Add counter reservation check for virtual counters This patch adds a check for the availability of a counter. A virtual counter is used only if its physical counter is not reserved. Signed-off-by: Robert Richter commit 61d149d5248ad7428801cdede0f5fcc2b90cd61c Author: Robert Richter Date: Fri Jul 10 15:47:17 2009 +0200 x86/oprofile: Implement op_x86_virt_to_phys() This patch implements a common x86 function to convert virtual counter numbers to physical. Signed-off-by: Robert Richter commit 1b294f5960cd89e49eeb3e797860c552b03f2272 Author: Robert Richter Date: Thu Jul 9 14:56:25 2009 +0200 oprofile: Adding switch counter to oprofile statistic variables This patch moves the multiplexing switch counter from x86 code to common oprofile statistic variables. Now the value will be available and usable for all architectures. The initialization and incrementation also moved to common code. Signed-off-by: Robert Richter commit 4d015f79e972cea1761cfee8872b1c0992ccd8b2 Author: Robert Richter Date: Thu Jul 9 21:42:51 2009 +0200 x86/oprofile: Implement mux_clone() To setup a counter for all cpus, its structure is cloned from cpu 0. This patch implements mux_clone() to do this part for multiplexing data. Signed-off-by: Robert Richter commit 5280514471c2803776701c43c027038decac1103 Author: Robert Richter Date: Thu Jul 9 16:02:44 2009 +0200 x86/oprofile: Enable multiplexing only if the model supports it This patch checks if the model supports multiplexing. Only then multiplexing will be enabled. The code is added to the common x86 initialization. Signed-off-by: Robert Richter commit 39e97f40c3a5e71de0532368deaa683e09b74ba2 Author: Robert Richter Date: Thu Jul 9 15:11:45 2009 +0200 x86/oprofile: Add function has_mux() to check multiplexing support The check is used to prevent running multiplexing code for models not supporting multiplexing. Before, the code was running but without effect. Signed-off-by: Robert Richter commit 52471c67ee2fa5ed6f700ef57bf27833c63b2192 Author: Robert Richter Date: Mon Jul 6 14:43:55 2009 +0200 x86/oprofile: Modify initialization of num_virt_counters Models that do not yet support counter multiplexing have to setup num_virt_counters. This patch implements the setup from num_counters if num_virt_counters is not set. Thus, num_virt_counters must be setup only for multiplexing support. Signed-off-by: Robert Richter commit 2904a527575344a804fdd82b1f8d09a8731d8d49 Author: Robert Richter Date: Thu Jul 9 12:33:41 2009 +0200 x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec The member num_virt_controls of struct op_x86_model_spec is not used. This patch removes it. Signed-off-by: Robert Richter commit 259a83a8abdb9d2664819ec80ad12ebaeb251e32 Author: Robert Richter Date: Thu Jul 9 15:12:35 2009 +0200 x86/oprofile: Remove const qualifier from struct op_x86_model_spec This patch removes the const qualifier from struct op_x86_model_spec to make model parameters changable. Signed-off-by: Robert Richter commit b28d1b923ab52d535c0719155dccf3b3d98bab9f Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit d0f585dd20010f8479e56b5c6f391ef18e26877e Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit 48fb4b46712c7d3e8adc79826311abd9ccbf7f1d Author: Robert Richter Date: Thu Jul 9 14:38:49 2009 +0200 x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c This patch moves some code in nmi_int.c to get a single separate multiplexing code section. Signed-off-by: Robert Richter commit 6ab82f958a5dca591a6ea17a3ca6f2aca06f4f2f Author: Robert Richter Date: Thu Jul 9 14:40:04 2009 +0200 x86/oprofile: Implement multiplexing setup/shutdown functions This patch implements nmi_setup_mux() and nmi_shutdown_mux() functions to setup/shutdown multiplexing. Multiplexing code in nmi_int.c is now much more separated. Signed-off-by: Robert Richter commit 7e7478c6bc0e011d2854b21f190cc3a1dba89905 Author: Robert Richter Date: Thu Jul 16 13:09:53 2009 +0200 oprofile: Grouping multiplexing code in op_model_amd.c This patch moves some multiplexing code to the new function op_mux_fill_in_addresses(). Also, the whole multiplexing code is now at a single location. Signed-off-by: Robert Richter commit d8471ad3ab613a1ba7abd3aad46659de39a2871c Author: Robert Richter Date: Thu Jul 16 13:04:43 2009 +0200 oprofile: Introduce op_x86_phys_to_virt() This new function translates physical to virtual counter numbers. Signed-off-by: Robert Richter commit a5659d17adb815fb35e11745e2f39c3f0bfd579f Author: Robert Richter Date: Fri Jun 19 16:45:34 2009 +0200 oprofile: Grouping multiplexing code in oprof.c This patch moves multiplexing code to a single section of code. This reduces the use of #ifdefs especially within functions. Signed-off-by: Robert Richter commit 16422a6e2d16a39861ae5b0b11d9b411a245ab83 Author: Robert Richter Date: Wed Jul 15 15:44:18 2009 +0200 oprofile: Remove oprofile_multiplexing_init() oprofile_multiplexing_init() can be removed when moving the initialization of oprofile_time_slice to oprofile_create_files(). Signed-off-by: Robert Richter commit afe1b50fe6aa56093e9234bdc08779e9fe20b5bf Author: Robert Richter Date: Wed Jul 15 15:19:29 2009 +0200 oprofile: Rename variable timeout_jiffies and move to oprofile_files.c This patch renames timeout_jiffies into an oprofile specific name. The macro MULTIPLEXING_TIMER_DEFAULT is changed too. Also, since this variable is controlled using oprofilefs, its definition is moved to oprofile_files.c. Signed-off-by: Robert Richter commit 2051cade7ccbe45a8bf8b7809d56b23d6d75ad03 Author: Robert Richter Date: Wed Jul 15 15:44:18 2009 +0200 oprofile: oprofile_set_timeout(), return with error for invalid args Return with -EINVAL for invalid parameters instead of setting the default value in oprofile_set_timeout(). Signed-off-by: Robert Richter commit 6bfccd099c2841e1c42530f1b6d2553bfa13be3a Author: Robert Richter Date: Thu Jul 9 19:23:50 2009 +0200 x86/oprofile: Fix initialization of switch_index Variable switch_index must be initialized for each cpu. This patch fixes the initialization by moving it to the per-cpu init function nmi_cpu_setup(). Signed-off-by: Robert Richter commit 82a225283fb0d9438549595d9e6f3ecc42b42ad6 Author: Robert Richter Date: Thu Jul 9 16:29:34 2009 +0200 x86/oprofile: Use per_cpu() instead of __get_cpu_var() __get_cpu_var() calls smp_processor_id(). When the cpu id is already known, instead use per_cpu() to avoid generating the id again. Signed-off-by: Robert Richter commit 5e766e3e433fa2d5d2fdfd8e2432804c91393387 Author: Robert Richter Date: Wed Jul 8 14:54:17 2009 +0200 x86/oprofile: Fix usage of NUM_CONTROLS/NUM_COUNTERS macros Use the corresponding macros when iterating over counter and control registers. Since NUM_CONTROLS and NUM_COUNTERS are equal for AMD cpus the fix is more a cosmetical change. Signed-off-by: Robert Richter commit b902e5735272b6a79fe2853180b2ad6658aa9678 Author: Jarek Poplawski Date: Tue Jul 14 11:20:32 2009 +0000 ipv4: fib_trie: Use tnode_get_child_rcu() and node_parent_rcu() in lookups While looking for other fib_trie problems reported by Pawel Staszewski I noticed there are a few uses of tnode_get_child() and node_parent() in lookups instead of their rcu versions. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit be916cdebe4dc720a23b1a9bb589f2c22afd6589 Author: Jarek Poplawski Date: Tue Jul 14 09:41:00 2009 +0000 ipv4: Fix inflate_threshold_root automatically During large updates there could be triggered warnings like: "Fix inflate_threshold_root. Now=25 size=11 bits" if inflate() of the root node isn't finished in 10 loops. It should be much rarer now, after changing the threshold from 15 to 25, and a temporary problem, so this patch tries to handle it automatically using a fix variable to increase by one inflate threshold for next root resizes (up to the 35 limit, max fix = 10). The fix variable is decreased when root's inflate() finishes below 7 loops (even if some other, smaller table/ trie is updated -- for simplicity the fix variable is global for now). Reported-by: Pawel Staszewski Reported-by: Jorge Boncompte [DTI2] Tested-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit c3059477fce2d956a0bb3e04357324780c5d8eeb Author: Jarek Poplawski Date: Tue Jul 14 08:33:08 2009 +0000 ipv4: Use synchronize_rcu() during trie_rebalance() During trie_rebalance() we free memory after resizing with call_rcu(), but large updates, especially with PREEMPT_NONE configs, can cause memory stresses, so this patch calls synchronize_rcu() in tnode_free_flush() after each sync_pages to guarantee such freeing (especially before resizing the root node). The value of sync_pages = 128 is based on Pawel Staszewski's tests as the lowest which doesn't hinder updating times. (For testing purposes there was a sysfs module parameter to change it on demand, but it's removed until we're sure it could be really useful.) The patch is based on suggestions by: Paul E. McKenney Reported-by: Pawel Staszewski Tested-by: Pawel Staszewski Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 2e477c9bd2bb6a1606e498adb53ba913378ecdf2 Author: Herbert Xu Date: Mon Jul 20 07:35:37 2009 -0700 vlan: Propagate physical MTU changes When the physical MTU changes we want to ensure that all existing VLAN device MTUs do not exceed the new underlying MTU. This patch adds that propagation. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4d4036e0e7299c6cbb2d2421b4b30b7a409ce61a Author: Jason Yeh Date: Wed Jul 8 13:49:38 2009 +0200 oprofile: Implement performance counter multiplexing The number of hardware counters is limited. The multiplexing feature enables OProfile to gather more events than counters are provided by the hardware. This is realized by switching between events at an user specified time interval. A new file (/dev/oprofile/time_slice) is added for the user to specify the timer interval in ms. If the number of events to profile is higher than the number of hardware counters available, the patch will schedule a work queue that switches the event counter and re-writes the different sets of values into it. The switching mechanism needs to be implemented for each architecture to support multiplexing. This patch only implements AMD CPU support, but multiplexing can be easily extended for other models and architectures. There are follow-on patches that rework parts of this patch. Signed-off-by: Jason Yeh Signed-off-by: Robert Richter commit 6bde607e699b9f3c6fa5e4a97d78c7778e643b3d Author: Tim Abbott Date: Mon Jul 20 23:30:24 2009 +0900 sh: Clean up linker script using new BSS_SECTION macro. Updated to use the fixed BSS linker script macros from this thread: http://www.spinics.net/lists/kernel/msg913238.html Signed-off-by: Tim Abbott Cc: Sam Ravnborg Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt commit 6e1922bbd25fd507db05c54499726159b1614b83 Merge: c358fc4 04e448d Author: Paul Mundt Date: Mon Jul 20 23:29:26 2009 +0900 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes into sh/kbuild-fixes commit bc5304b6fb6c572452b538512761a126f0e0b0d8 Author: Takashi Iwai Date: Mon Jul 20 13:41:35 2009 +0200 ALSA: ctxfi - Native timer support for emu20k2 Added the native timer support for emu20k2, which gives much more accurate update timing than the system timer. Signed-off-by: Takashi Iwai commit 86f4d0123b1fddb47d35b9a893f8c0b94bf89abe Author: Dan Carpenter Date: Sun Jul 19 14:47:45 2009 +0300 intel-iommu: double kfree() g_iommus is freed after we "goto error;". Found by smatch (http://repo.or.cz/w/smatch.git). Signed-off-by: Dan Carpenter Signed-off-by: David Woodhouse commit 1c388ad054fb1ead3dc354b1719570b99e464135 Author: Paul Menage Date: Fri Jul 17 16:16:18 2009 -0700 include/linux/cred.h: work around gcc-4.2.4 warning in get_cred() With gcc 4.2.4 (building UML) I get the warning include/linux/cred.h: In function 'get_cred': include/linux/cred.h:189: warning: passing argument 1 of 'get_new_cred' discards qualifiers from pointer target type Inserting an additional local variable appears to keep the compiler happy, although it's not clear to me why this should be needed. Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Acked-by: David Howells Signed-off-by: James Morris commit c358fc46efa6b8a03cf007e7250b4b0020950d0a Merge: 7284987 2094e50 719a72b Author: Paul Mundt Date: Mon Jul 20 04:28:11 2009 +0900 Merge branches 'sh/hwblk' and 'sh/platform-updates' commit 719a72b7c75bb239ca6184190ab994b71a31c6dc Author: Magnus Damm Date: Fri Jul 17 14:59:55 2009 +0000 usb: r8a66597-hcd platform data on_chip support Convert the r8a66597-hcd driver to use the on_chip flag from platform data to enable on chip behaviour instead of relying on CONFIG_SUPERH_ON_CHIP_R8A66597 ugliness. This makes the code cleaner and also allows us to support both external and internal r8a66597 with the same kernel. It also makes the Kconfig part more future proof since we with this patch can add support for new processors with on-chip r8a66597 without modifying the Kconfig. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ae1cef6ea155328905cb359ec7c2a47776d2d4d4 Author: Magnus Damm Date: Fri Jul 17 14:52:05 2009 +0000 usb: convert r8a66597-hcd to dev_pm_ops Convert the r8a66597-hcd driver to dev_pm_ops. This makes the driver a good PM citizen and removes a warning printout. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 2094e504a7489a2d774d544592360e578d9325f8 Author: Magnus Damm Date: Fri Jul 17 14:43:38 2009 +0000 sh: hwblk support for sh7723 This patch adds hwblk support for the sh7723 processor. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 0f8ee1874fa80899debc0a0670e2bed0a28d2548 Author: Magnus Damm Date: Fri Jul 17 14:24:55 2009 +0000 sh: Add support for multiple hwblk counters Extend the SuperH hwblk code to support more than one counter. Contains ground work for the future Runtime PM implementation. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 57594742a2b545f8f114cda34f15650be8ae976d Author: Akinobu Mita Date: Sun Jul 19 00:11:06 2009 +0900 x86: Introduce set_desc_base() and set_desc_limit() Rename set_base()/set_limit to set_desc_base()/set_desc_limit() and rewrite them in C. These are naturally introduced by the idea of get_desc_base()/get_desc_limit(). The conversion actually found the bug in apm_32.c: bad_bios_desc is written at run-time, but it is defined const variable. Signed-off-by: Akinobu Mita LKML-Reference: <20090718151105.GC11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit fde0312d01b60a3fd5dc56e69a9613defbbc7097 Author: Akinobu Mita Date: Sun Jul 19 00:09:56 2009 +0900 x86: Remove unused patch_espfix_desc() patch_espfix_desc() is not used after commit dc4c2a0aed3b09f6e255bd5c3faa50fe6e0b2ded Signed-off-by: Akinobu Mita LKML-Reference: <20090718150955.GB11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit 254e0a6bff87ab8b22293c4bd1443507df698407 Author: Akinobu Mita Date: Sun Jul 19 00:08:54 2009 +0900 x86: Use get_desc_base() Use get_desc_base() to get the base address in desc_struct Signed-off-by: Akinobu Mita LKML-Reference: <20090718150853.GA11294@localhost.localdomain> Signed-off-by: Ingo Molnar commit 05e870d29aef0bf43124b2bd424103987fadd5b5 Merge: 3f3b7c1 2e9bf24 Author: Takashi Iwai Date: Sun Jul 19 13:52:31 2009 +0200 Merge branch 'fix/hda' into topic/hda commit def01bc53d03881acfc393bd10a5c7575187e008 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Convert the only user of cond_resched_bkl to use cond_resched() fs/locks.c:flock_lock_file() is the only user of cond_resched_bkl() This helper doesn't do anything more than cond_resched(). The latter naming is enough to explain that we are rescheduling if needed. The bkl suffix suggests another semantics but it's actually a synonym of cond_resched(). Reported-by: Peter Zijlstra Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-7-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 613afbf83298efaead05ebcac23d2285609d7160 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Pull up the might_sleep() check into cond_resched() might_sleep() is called late-ish in cond_resched(), after the need_resched()/preempt enabled/system running tests are checked. It's better to check the sleeps while atomic earlier and not depend on some environment datas that reduce the chances to detect a problem. Also define cond_resched_*() helpers as macros, so that the FILE/LINE reported in the sleeping while atomic warning displays the real origin and not sched.h Changes in v2: - Call __might_sleep() directly instead of might_sleep() which may call cond_resched() - Turn cond_resched() into a macro so that the file:line couple reported refers to the caller of cond_resched() and not __cond_resched() itself. Changes in v3: - Also propagate this __might_sleep() pull up to cond_resched_lock() and cond_resched_softirq() Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-6-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 6f80bd985fe242c2e6a8b6209ed20b0495d3d63b Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Remove the CONFIG_PREEMPT_BKL case definition of cond_resched() CONFIG_PREEMPT_BKL doesn't exist anymore. So remove this config-on case definition of cond_resched(). Reported-by: Peter Zijlstra Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-5-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e4aafea2d4bde8b44d6500c4ee7195bbfc51269e Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Add a preempt count base offset to __might_sleep() Add a preempt count base offset to compare against the current preempt level count. It prepares to pull up the might_sleep check from cond_resched() to cond_resched_lock() and cond_resched_bh(). For these two helpers, we need to respectively ensure that once we'll unlock the given spinlock / reenable local softirqs, we will reach a sleepable state. Signed-off-by: Frederic Weisbecker [ Move and rename preempt_count_equals() ] Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-4-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e09758fae8ccde97e026c704319eaa18d488dc86 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Cover the CONFIG_DEBUG_SPINLOCK_SLEEP off-case for __might_sleep() Cover the off case for __might_sleep(), so that we avoid #ifdefs in files that make use of it. Especially, this prepares for the __might_sleep() pull up on cond_resched(). Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 4b2155678d7cc7b5f45d6b36049091376c3408a2 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Remove obsolete comment in __cond_resched() Remove the outdated comment from __cond_resched() related to the now removed Big Kernel Semaphore. Reported-by: Arnd Bergmann Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit e7aaaa6934636d7a6cadd9e2a05250fbb6a34f65 Author: Frederic Weisbecker Date: Thu Jul 16 15:44:29 2009 +0200 sched: Drop the need_resched() loop from cond_resched() The schedule() function is a loop that reschedules the current task while the TIF_NEED_RESCHED flag is set: void schedule(void) { need_resched: /* schedule code */ if (need_resched()) goto need_resched; } And cond_resched() repeat this loop: do { add_preempt_count(PREEMPT_ACTIVE); schedule(); sub_preempt_count(PREEMPT_ACTIVE); } while(need_resched()); This loop is needless because schedule() already did the check and nothing can set TIF_NEED_RESCHED between schedule() exit and the loop check in need_resched(). Then remove this needless loop. Signed-off-by: Frederic Weisbecker Acked-by: Peter Zijlstra Signed-off-by: Peter Zijlstra LKML-Reference: <1247725694-6082-1-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 5304d5fc74a269cc6c3e70f9713684ca729abdf0 Merge: 54d35f2 78af08d Author: Ingo Molnar Date: Sat Jul 18 15:50:22 2009 +0200 Merge branch 'linus' into sched/core Merge reason: branch had an old upstream base (-rc1-ish), but also merge to avoid a conflict. Signed-off-by: Ingo Molnar commit d34a4debef933061924ee17c2ede33f5c44925fb Author: jolsa@redhat.com Date: Thu Jul 16 21:44:28 2009 +0200 tracing: Remove .globl in the scripts/recordmcount.pl doc I was reading throught the recordmcount.pl starting comment, and spotted a tiny discrepancy. The second example is about my_func not being global, but the example code has the ".globl my_func" statement just moved. Signed-off-by: Jiri Olsa Cc: rostedt@goodmis.org LKML-Reference: <1247773468-11594-4-git-send-email-jolsa@redhat.com> Signed-off-by: Ingo Molnar commit 566b0aaf798a0dddfc455d1a5b05c424c6686c65 Author: jolsa@redhat.com Date: Thu Jul 16 21:44:26 2009 +0200 tracing: Remove unused fields/variables Signed-off-by: Jiri Olsa Cc: rostedt@goodmis.org LKML-Reference: <1247773468-11594-2-git-send-email-jolsa@redhat.com> Signed-off-by: Ingo Molnar commit 45bceffc3013bda7d2ebc7802e9b153b674e2d44 Merge: 6f2f3cf 78af08d Author: Ingo Molnar Date: Sat Jul 18 12:19:57 2009 +0200 Merge branch 'linus' into tracing/core Merge reason: tracing/core was on an older, pre-rc1 base. Signed-off-by: Ingo Molnar commit bca146578c863a1f37cb191995317e855a0364e1 Author: Mark Brown Date: Sat Jul 18 11:09:42 2009 +0100 ASoC: Fix checkpatch issues in AD1938 Signed-off-by: Mark Brown commit bff78650a2b0ed42b8fb134b6a9b387e00027d67 Author: Ben Dooks Date: Sat Jul 18 10:12:28 2009 +0100 ARM: HWMON: S3C24XX series ADC driver Add support for the ADC controller on the S3C series of processors to drivers/hwmon for use with hardware monitoring systems. Signed-off-by: Ben Dooks Acked-by: Jean Delvare Signed-off-by: Ben Dooks commit e170adcb406504b8acd35554c69830c11916be1f Author: Ben Dooks Date: Sat Jul 18 10:12:27 2009 +0100 ARM: S3C: Add ADC synchronous read call. To add HWMON support, we need a synchronous read() call that blocks until completion. Add the client that is being service to the select and convert callbacks to make the code easier. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 885f9ebe7554628967b6e93b284dd3021e1bb280 Author: Ben Dooks Date: Sat Jul 18 10:12:26 2009 +0100 ARM: BAST: Add hwmon device information Add platform device information for the ADC channels to be exported via HWMON. This exports all the ADCs not being used for the touchscreen interface. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit c197cec5fae7968a7154ee999f0a1b07938d1528 Author: Ben Dooks Date: Sat Jul 18 10:12:25 2009 +0100 ARM: S3C: Update hwmon device definition and name Change the hwmon device name to something more generic as this should be functional for both the s3c24xx and s3c64xx archs. Since it has yet to have a driver, it is pretty safe to change as there are no extant users. Also add the necessary entry in devs.h which seems to have been missed out at somepoint. Signed-off-by: Ben Dooks Signed-off-by: Ben Dooks commit 0c11f655553c84bb695fdd5ea8b19d42b41b7133 Author: Mark Brown Date: Fri Jul 17 22:13:01 2009 +0100 ASoC: Fix FLL reference clock division setup in WM8993 Signed-off-by: Mark Brown commit 8aa2df53088f024b13cb005956bd6da94cc1fd2d Author: Mark Brown Date: Fri Jul 17 21:53:49 2009 +0100 ASoC: Bodge around GCC 4.4.0 flow analysis bug in GCC 4.4.0 GCC 4.4.0 doesn't appear to be able to spot that we don't apply any FLL configuration if the output frequency is zero. Signed-off-by: Mark Brown commit 37cf2b8d1622897cf57e70cdab9eba57feb5ff6c Author: Mike Frysinger Date: Fri Jul 17 10:14:26 2009 -0700 connector: get test code working by default The connector test code currently does not work out of the box. This is because it uses a connector id that is above the registered limit. So rather than force people to stumble through undocumented code wondering why it isn't working, have the test code use one of the "private" ids by default. While I'm in here, clean up the code (kernel and user app) so that it's a bit more user friendly and verbose in significant things that it does. Terse test code wastes people time as they simply enumerate it with all the same kind of debug messages to get a better feel of what code is running at any time. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 41144ca3dda6d55b10c46d5b7d86502ccffa1c97 Author: Mike Frysinger Date: Fri Jul 17 10:13:58 2009 -0700 connector: clean up grammar/style in documentation The grammar in most of this file is slightly off, and some sections are hard to read due to lack of visual clues breaking up related material. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit 0741241c6b80bfd58417e95de984d60c9e9ef2a0 Author: Mike Frysinger Date: Fri Jul 17 10:13:21 2009 -0700 connector: make callback argument type explicit The connector documentation states that the argument to the callback function is always a pointer to a struct cn_msg, but rather than encode it in the API itself, it uses a void pointer everywhere. This doesn't make much sense to encode the pointer in documentation as it prevents proper C type checking from occurring and can easily allow people to use the wrong pointer type. So convert the argument type to an explicit struct cn_msg pointer. Signed-off-by: Mike Frysinger Signed-off-by: David S. Miller commit e36aa25a533962b08402530e8443ac804a454e27 Author: Sridhar Samudrala Date: Tue Jul 14 14:21:04 2009 +0000 tun: Allow tap device to send/receive UFO packets. - Allow setting UFO on tap device and handle UFO packets. Signed-off-by: Sridhar Samudrala --------------------------------------------------------- Signed-off-by: David S. Miller commit 5c5167515d80f78f6bb538492c423adcae31ad65 Author: Sridhar Samudrala Date: Tue Jul 14 14:21:02 2009 +0000 virtio-net: Allow UFO feature to be set and advertised. - Allow setting UFO on virtio-net and advertise to host. Signed-off-by: Sridhar Samudrala Acked-by: Rusty Russell Signed-off-by: David S. Miller commit bbf50e4df11ea5b9d2f625be2a1cea3ec0352890 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:51:11 2009 +0000 ixgbe: Bump version number Keep the version number marching along as updates come in. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 3845bec0f33f7c2604ba985f6f80983d0c139d46 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:52 2009 +0000 ixgbe: Add device support for a new copper 82598 device This adds support for a new copper device for 82598, device id 0x150b. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 078788b6a68828c1caf395b48110535e051cd623 Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:32 2009 +0000 ixgbe: Make sure boolean assignments from bitwise operations done correctly When the link comes up, the driver detects which flow control settings are active. This is done using bitwise operations directly from the hardware registers, and assumes the proper boolean assignment. Make this an explicit boolean value before assignment to the bool. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit f4ec443b2b27ecb401eee35a7bea330438556c7e Author: Peter P Waskiewicz Jr Date: Thu Jul 16 15:50:12 2009 +0000 ixgbe: Remove legacy descriptor support The ethtool offline test is the only consumer of the legacy descriptors. Update that path to only use advanced descriptors, and remove all support for legacy descriptors. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c482c568577a2b31716e1019f2868bda7cf5629c Author: Eric Dumazet Date: Fri Jul 17 00:26:32 2009 +0000 udp: cleanups Pure style cleanups. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 652f6787c082a174f0bbfa7f895b65b03d8d46c9 Author: Wolfgang Denk Date: Fri Jul 17 02:27:07 2009 +0000 fs_enet/mii-fec.c: fix MII speed calculation The MII speed calculation was based on the CPU clock (ppc_proc_freq), but for MPC512x we must use the bus clock instead. This patch makes it use the correct clock and makes sure we don't clobber reserved bits in the MII_SPEED register. Signed-off-by: Wolfgang Denk Cc: Grant Likely Cc: Kumar Gala Cc: Acked-by: Grant Likely Signed-off-by: David S. Miller commit 0abe1856bdb68ef699c00949cf9f81fbec98d499 Author: wanzongshun Date: Tue Jul 14 15:12:26 2009 +0100 [ARM] 5604/1: Add keypad multi-function pin api for w90p910 platform Add keypad multi-function pin api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit db58e90fdbe9d12b431ae8d8e856961ce75d74f0 Author: wanzongshun Date: Tue Jul 14 15:10:43 2009 +0100 [ARM] 5602/1: Add sub clock api for w90p910 platform Add sub clock api for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit d2c241955095b129459985a8c02d85b70984b945 Author: wanzongshun Date: Tue Jul 14 15:09:54 2009 +0100 [ARM] 5601/1: Add HAVE_CLK depends on for w90p910 platform Add HAVE_CLK depends on for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit 3f3b7c1aed70fa25c6811f830c5fb1a7054681ae Author: Takashi Iwai Date: Fri Jul 17 14:36:59 2009 +0200 ALSA: hda - Fix ALC268 parser for mono speaker - Parse the mono output pin 0x16 correctly even as the primary output - Create "Speaker" volume control if the primary output is a speaker - Fix the wrong direction of (optional) "Mono" switch Signed-off-by: Takashi Iwai commit 5d43f11bcf854d83b24c7ca6bb15d9ab9130159f Author: Hartley Sweeten Date: Thu Jul 16 22:46:31 2009 +0100 [ARM] 5609/1: ep93xx: add register defines for keypad support Add missing register defines for ep93xx keypad clock support. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit fbeeea5386ab213bd55b223f3a75c823fccd6df5 Author: Ryan Mallon Date: Wed Jul 15 21:51:59 2009 +0100 [ARM] 5607/1: ep93xx: Use __iomem pointer on syscon write function Change the reg argument of the ep93xx_syscon_swlocked_write function to be an __iomem pointer. Fixes a number of build warnings. Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 595c050d89e91e91cca3845e48b01042677bd19e Author: Ryan Mallon Date: Wed Jul 15 21:31:46 2009 +0100 [ARM] 5605/1: Fix ep93xx gpio.c headers Fix a number of build errors in ep93xx gpio.c due to to missing irq.h Signed-off-by: Ryan Mallon Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 5b1c3c858cff4da95b9f7091eef424e706784cab Author: Hartley Sweeten Date: Mon Jul 13 19:50:10 2009 +0100 [ARM] 5600/1: ep93xx: core.c remove cast when copying dev_addr The MAC address for the ep93xx ethernet driver can be optionally copied from registers in the controller when booting. Due to [ARM] 5573/1: ep93xx: ensure typesafe io, the cast for the source address is no longer needed. EP93XX_ETHERNET_BASE is typed as a (void __iomem __force *) so memcpy_fromio() needs to be used instead of memcpy(). Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 82e1b804b03defe46fb69ffd2c8b19e6649bcb0d Author: Takashi Iwai Date: Fri Jul 17 12:47:34 2009 +0200 ALSA: hda - Fix the previous sanity check in make_codec_cmd() The newly added sanity-check for a codec verb can be better written with logical ORs. Also, the parameter can be more than 8bit. Signed-off-by: Takashi Iwai commit c5910a703889cf44ac1aa9405642a7d3b5bc6f24 Author: Candelaria Villareal, Jorge Date: Tue Jul 14 20:04:08 2009 -0500 ASoC: SDP3430: Add support for EXTMUTE using TWL GPIO6 Board sdp3430 has hardware support for EXTMUTE using TWL4030 GPIO6 line, controlled by register INTBR_PMBR1. Machine driver takes care of enabling gpio line through i2c and codec driver manipulates the line during headset ramp up/down sequence. Signed-off-by: Jorge Eduardo Candelaria Signed-off-by: Mark Brown commit 6430aeeb30b478d4ef25f988b1fde6f6ae83adb5 Author: Wu Fengguang Date: Fri Jul 17 16:49:19 2009 +0800 ALSA: hda - add bounds checking for the codec command fields A recent bug involves passing auto detected >0x7f NID to codec command, creating an invalid codec addr field, and finally lead to cmd timeout and fall back into single command mode. Jaroslav fixed that bug in alc880_parse_auto_config(). It would be safer to further check the bounds of all cmd fields. Cc: Jaroslav Kysela Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 9176b672c29baaa94cdff4eedf1350a3b553d9ea Author: Andiry Brienza Date: Fri Jul 17 11:32:32 2009 +0800 ALSA: hda - Add support for new AMD HD audio devices Add support for new AMD HD audio devices. Use generic driver to detect HD audio devices with Vendor ID AMD. Signed-off-by: Andiry Xu Signed-off-by: Takashi Iwai commit 416c8fe3cdcd2d46a6ca12d8ec6143c62d8569d9 Author: Takashi Iwai Date: Fri Jul 17 07:48:03 2009 +0200 ASoC: Kill direct accesses to driver_data Replaced with dev_{get|set}_drvdata(). Signed-off-by: Takashi Iwai commit 6f2f3cf00ee32f75ba007a46bab88a54d68a5deb Author: Xiao Guangrong Date: Thu Jul 16 14:21:08 2009 +0800 tracing/function: Cleanup for function tracer We can directly use %pf input format instead of kallsyms_lookup() and %s input format Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit 79173bf556417a737e9d2e096e0788452ec30a61 Author: Xiao Guangrong Date: Thu Jul 16 14:17:11 2009 +0800 tracing/trace_stack: Cleanup for trace_lookup_stack() We can directly use %pF input format instead of sprint_symbol() and %s input format. Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit 64fbcd162819bddaf0d99e78b16371b655aa5dee Author: Xiao Guangrong Date: Wed Jul 15 12:32:15 2009 +0800 tracing/function: Simplify __ftrace_replace_code() Rewrite the __ftrace_replace_code() function, simplify it, but don't change the code's logic. First, we get the state we want to set, if the record has the same state, then do nothing, otherwise enable/disable it. Signed-off-by: Xiao Guangrong Reviewed-by: Li Zefan Signed-off-by: Frederic Weisbecker commit da8120355e80ddaf534adb8ed910871d97512d56 Merge: c86ae82 7fefe6a Author: David S. Miller Date: Thu Jul 16 20:21:24 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/orinoco/main.c commit 967cc5371113f9806b39a2ebb2174af2883d96fe Author: Oleg Nesterov Date: Thu Jul 9 23:28:49 2009 +0200 kernel: is_current_single_threaded: don't use ->mmap_sem is_current_single_threaded() can safely miss a freshly forked CLONE_VM task, but in this case it must not miss its parent. That is why we take mm->mmap_sem for writing to make sure a thread/task with the same ->mm can't pass exit_mm() and disappear. However we can avoid ->mmap_sem and rely on rcu/barriers: - if we do not see the exiting parent on thread/process list we see the result of list_del_rcu(), in this case we must also see the result of list_add_rcu() which does wmb(). - if we do see the parent but its ->mm == NULL, we need rmb() to make sure we can't miss the child. Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: James Morris commit 5bb459bb45d1ad3c177485dcf0af01580aa31125 Author: Oleg Nesterov Date: Fri Jul 10 03:48:23 2009 +0200 kernel: rename is_single_threaded(task) to current_is_single_threaded(void) - is_single_threaded(task) is not safe unless task == current, we can't use task->signal or task->mm. - it doesn't make sense unless task == current, the task can fork right after the check. Rename it to current_is_single_threaded() and kill the argument. Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: James Morris commit d2e3ee9b29f5de5b01e611b04e6fb29760589b01 Author: Oleg Nesterov Date: Fri Jul 17 09:09:36 2009 +1000 kernel: fix is_single_threaded - Fix the comment, is_single_threaded(p) actually means that nobody shares ->mm with p. I think this helper should be renamed, and it should not have arguments. With or without this patch it must not be used unless p == current, otherwise we can't safely use p->signal or p->mm. - "if (atomic_read(&p->signal->count) != 1)" is not right when we have a zombie group leader, use signal->live instead. - Add PF_KTHREAD check to skip kernel threads which may borrow p->mm, otherwise we can return the wrong "false". - Use for_each_process() instead of do_each_thread(), all threads must use the same ->mm. - Use down_write(mm->mmap_sem) + rcu_read_lock() instead of tasklist_lock to iterate over the process list. If there is another CLONE_VM process it can't pass exit_mm() which takes the same mm->mmap_sem. We can miss a freshly forked CLONE_VM task, but this doesn't matter because we must see its parent and return false. Signed-off-by: Oleg Nesterov Cc: David Howells Cc: James Morris Cc: Roland McGrath Cc: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: James Morris commit da706d8bc833e7153622435560422e653bdb2e94 Author: Lai Jiangshan Date: Wed Jul 15 16:27:30 2009 +0800 ring_buffer: Fix warning while ignoring cmpxchg return value kernel/trace/ring_buffer.c: In function 'rb_tail_page_update': kernel/trace/ring_buffer.c:849: warning: value computed is not used kernel/trace/ring_buffer.c:850: warning: value computed is not used Add "(void)"s to fix this warning, because we don't need here to handle the fail case of cmpxchg, it's fine if an interrupt already did the job. Changed from V1: Add a comment(which is written by Steven) for it. Signed-off-by: Lai Jiangshan Acked-by: Steven Rostedt Signed-off-by: Frederic Weisbecker commit 713c0ecdb888e9ef6f085e828555455c5916b07f Author: Sten Spans Date: Thu Jul 16 09:41:39 2009 +0200 security: fix security_file_lock cmd argument Pass posix-translated lock operations to security_file_lock when invoked via sys_flock. Signed-off-by: Sten Spans Signed-off-by: James Morris commit 0fb67e982a1749b2cd477709838bf866028970ce Author: Daniel Drake Date: Thu Jul 16 14:46:57 2009 +0100 ALSA: hda - Add CX20582 and OLPC XO-1.5 support This adds support for the Conexant CX20582 codec, based on code from http://www.linuxant.com/alsa-driver/alsa-driver-linuxant-1.0.19ppch12-1.noarch.rpm.zip This is the codec to be shipped in the OLPC XO-1.5, so this patch also includes an XO-specific profile. Resultant configuration: http://dev.laptop.org/~dsd/20090713/codec0.txt http://dev.laptop.org/~dsd/20090713/codec0.svg As the Linuxant code is structured differently to the other codecs, I was unable to cleanly reimplement everything in the generic and Dell profiles as more info is needed (e.g. codec graphs). I simplified those profiles so that hopefully it will not break anyone's audio. If it does, it may be worth returning -ENODEV from patch_cx5066 on non-OLPC systems, and then fixing snd_hda_codec_configure() to fall back on the generic parser, at least until support for other systems is figured out. Signed-off-by: Daniel Drake Signed-off-by: Takashi Iwai commit 2a549c364aa11e658ae14b71861d25474e5808cf Author: Sachin Sant Date: Thu Jul 16 19:58:42 2009 +0800 crypto: s390 - Fix sha build failure Use struct s390_sha_ctx instead of sha1/sha256_state struct to fix s390 crypto build break. Signed-off-by: Sachin Sant Signed-off-by: Herbert Xu commit 1274738d85d0e25c4f82d83f50a6bcbe2397e9ea Author: Barry Song <21cnbao@gmail.com> Date: Thu Jul 16 16:00:05 2009 +0800 ASoC: new ad1938 codec driver based on asoc Signed-off-by: Barry Song <21cnbao@gmail.com> Signed-off-by: Mark Brown commit 3e46a447396df99e2367fe1564651abaacc19c13 Author: Kevin Hilman Date: Wed Jul 15 10:42:09 2009 -0700 ASoC: davinci: don't use clock names clock name strings are no longer passed on platform_data. Instead, we rely entirely on struct device and clkdev to find the right clock. Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit e9b25f16cda88b33fe15b30c009912e6c471edda Author: Herbert Xu Date: Thu Jul 16 10:33:27 2009 +0800 crypto: padlock - Fix hashing of partial blocks When we encounter partial blocks in finup, we'll invoke the xsha instruction with a bogus count that is not a multiple of the block size. This patch fixes it. Signed-off-by: Herbert Xu commit c86ae82605ef92594a0de809a8c588ae955fed63 Author: Johannes Berg Date: Wed Jul 15 11:31:10 2009 -0700 gianfar: remove unused DECLARE_MAC_BUF The use of it was converted to %pM, but the variable stuck -- remove it now to not cause spurious warnings. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 9db9ed977d4f1a317f5f4d467d43025fa27223d8 Author: Joonyoung Shim Date: Wed Jul 15 20:34:00 2009 +0900 ASoC: MAX9877: add MAX9877 amp driver The MAX9877 combines a high-efficiency Class D audio power amplifier with a stereo Class AB capacitor-less DirectDrive headphone amplifier. The max9877_add_controls() is called to register the MAX9877 specific controls on machine specific init() of the machine driver. The datasheet for the MAX9877 can find at the following url: http://datasheets.maxim-ic.com/en/ds/MAX9877.pdf [Slight edit to sort the ALL_CODECS entries -- broonie.] Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 3ce91d5a5a47eca6308c0a64f768c7a4466e0407 Author: Joonyoung Shim Date: Wed Jul 15 20:33:50 2009 +0900 ASoC: add SOC_DOUBLE_R_EXT_TLV control type This is a macro for double controls with special callback function and TLV. The SOC_DOUBLE_R_EXT_TLV needs two registers and one shift for double controls. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit d0af93db12639c425adee795fabadedb52182346 Author: Joonyoung Shim Date: Wed Jul 15 20:33:47 2009 +0900 ASoC: add SOC_DOUBLE_EXT_TLV control type This is a macro for double controls with special callback function and TLV. The SOC_DOUBLE_EXT_TLV needs one register and two shifts for double controls. Signed-off-by: Joonyoung Shim Signed-off-by: Mark Brown commit 1dacc76d0014a034b8aca14237c127d7c19d7726 Author: Johannes Berg Date: Wed Jul 1 11:26:02 2009 +0000 net/compat/wext: send different messages to compat tasks Wireless extensions have the unfortunate problem that events are multicast netlink messages, and are not independent of pointer size. Thus, currently 32-bit tasks on 64-bit platforms cannot properly receive events and fail with all kinds of strange problems, for instance wpa_supplicant never notices disassociations, due to the way the 64-bit event looks (to a 32-bit process), the fact that the address is all zeroes is lost, it thinks instead it is 00:00:00:00:01:00. The same problem existed with the ioctls, until David Miller fixed those some time ago in an heroic effort. A different problem caused by this is that we cannot send the ASSOCREQIE/ASSOCRESPIE events because sending them causes a 32-bit wpa_supplicant on a 64-bit system to overwrite its internal information, which is worse than it not getting the information at all -- so we currently resort to sending a custom string event that it then parses. This, however, has a severe size limitation we are frequently hitting with modern access points; this limitation would can be lifted after this patch by sending the correct binary, not custom, event. A similar problem apparently happens for some other netlink users on x86_64 with 32-bit tasks due to the alignment for 64-bit quantities. In order to fix these problems, I have implemented a way to send compat messages to tasks. When sending an event, we send the non-compat event data together with a compat event data in skb_shinfo(main_skb)->frag_list. Then, when the event is read from the socket, the netlink code makes sure to pass out only the skb that is compatible with the task. This approach was suggested by David Miller, my original approach required always sending two skbs but that had various small problems. To determine whether compat is needed or not, I have used the MSG_CMSG_COMPAT flag, and adjusted the call path for recv and recvfrom to include it, even if those calls do not have a cmsg parameter. I have not solved one small part of the problem, and I don't think it is necessary to: if a 32-bit application uses read() rather than any form of recvmsg() it will still get the wrong (64-bit) event. However, neither do applications actually do this, nor would it be a regression. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 4f45b2cd4e78b5e49d7d41548345b879d3fdfeae Author: Johannes Berg Date: Wed Jun 24 01:34:49 2009 +0000 wext: optimise, comment and fix event sending The current function for sending events first allocates the event stream buffer, and then an skb to copy the event stream into. This can be done in one go. Also, the current function leaks kernel data to userspace in a 4 uninitialised bytes, initialise those explicitly. Finally also add a few useful comments, as opposed to the current comments. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit b333b3d22822cf9b295990866798e9239c9dee72 Author: Johannes Berg Date: Wed Jun 24 01:34:48 2009 +0000 wireless extensions: make netns aware This makes wireless extensions netns aware. The tasklet sending the events is converted to a work struct so that we can rtnl_lock() in it. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit a76761b621bcd8336065c4fe3a74f046858bc34c Author: Tejun Heo Date: Wed Jul 15 23:35:14 2009 +0900 percpu: add dummy pcpu_lpage_remapped() for !CONFIG_SMP !CONFIG_SMP was missing pcpu_lpage_remapped() definition causing build failure. Add dummy implementation. This was discovered by linux-next testing. Signed-off-by: Tejun Heo Cc: Randy Dunlap Cc: Kamalesh Babulal Cc: Stephen Rothwell commit cbc86b9161b40f95caee0e56381b68956fc28cc4 Author: Herbert Xu Date: Wed Jul 15 21:26:41 2009 +0800 crypto: shash - Fix async finup handling of null digest When shash_ahash_finup encounters a null request, we end up not calling the underlying final function. This patch fixes that. Signed-off-by: Herbert Xu commit fa64966473830219fe74952029ddb0e981a87749 Author: Herbert Xu Date: Wed Jul 15 21:16:05 2009 +0800 crypto: shash - Fix digest size offset When an shash algorithm is exported as ahash, ahash will access its digest size through hash_alg_common. That's why the shash layout needs to match hash_alg_common. This wasn't the case because the alignment weren't identical. This patch fixes the problem. Signed-off-by: Herbert Xu commit a70c522520d967844c01fa01459edc698fc54544 Author: Herbert Xu Date: Wed Jul 15 20:39:05 2009 +0800 crypto: ahash - Fix setkey crash When the alignment check was made unconditional for ahash we may end up crashing on shash algorithms because we're always calling alg->setkey instead of tfm->setkey. This patch fixes it. Signed-off-by: Herbert Xu commit faae890883624e14a328863eafabf54a36698774 Author: Herbert Xu Date: Wed Jul 15 18:37:48 2009 +0800 crypto: padlock - Fix compile error on i386 The previous change to allow hashing from states other than the initial broke compilation on i386 because the inline assembly tried to squeeze a u64 into a 32-bit register. As we've already checked for 32-bit overflows we can simply truncate it to u32, or unsigned long so that we don't truncate at all on x86-64. Signed-off-by: Herbert Xu commit 4b75e9476737dffef44a66818a4a481edd2512a1 Author: Mark Brown Date: Wed Jul 15 10:36:51 2009 +0100 ASoC: Error out if we can't determine a suitable WM9081 sysclk Due to the flexibility of the WM9081 FLL this should never happen in a real system. Reported-by: Jaswinder Singh Rajput Signed-off-by: Mark Brown commit 78df617acf83745908ae71f322e084284054ea66 Author: Andreas Mohr Date: Sun Jul 12 22:17:54 2009 +0200 ALSA: azt3328: fix previous breakage, improve suspend, cleanups - fix my previous codec activity breakage (_non-warned_ variable assignment issue) - convert suspend/resume to 32bit I/O access (I/O is painful; to improve suspend/resume performance) - change DEBUG_PLAY_REC to DEBUG_CODEC for consistency - printk cleanup - some logging improvements - minor cleanup/improvements The variable assignment issue above was a conditional assignment to the call_function variable (this ended with the non-preinitialized variable not getting assigned in some cases, thus a dangling stack value, yet gcc 4.3.3 unbelievably did _NOT_ warn about it in this case!!), needed to change this into _always_ assigning the check result. Practical result of this bug was that when shutting down _either_ playback or capture, _both_ streams dropped dead :P Tested, working (plus resume) and checkpatch.pl:ed on 2.6.30-rc5, applies cleanly to 2.6.30 proper with my previous (committed) patches applied. Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit 2d4b842014dc76a81abced47ef27177eedb9deba Author: Clemens Ladisch Date: Mon Jul 13 13:52:46 2009 +0200 sound: rawmidi: disable active-sensing-on-close by default Sending an Active Sensing message when closing a port can interfere with the following data if the port is reopened and a note-on is sent before the device's timeout has elapsed. Therefore, it is better to disable this setting by default. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 08d033405a5a537d4197dad0fcb6be47062be2a9 Author: Clemens Ladisch Date: Mon Jul 13 13:50:57 2009 +0200 sound: seq_oss_midi: remove magic numbers Instead of using magic numbers for the controlles sent when resetting a port, use the symbols from asoundef.h. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit b86c87288c2205376ee213d6a03ac9422faf014a Author: Clemens Ladisch Date: Mon Jul 13 13:50:17 2009 +0200 sound: seq_midi: do not send MIDI reset when closing Sending a MIDI reset message when closing a port is wrong because we only want to shut the device up, not to reset all settings. Furthermore, many devices ignore this message. Fortunately, the RawMIDI layer already shuts the device up, so we can ignore this matter here. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit a65dd997b3cf057f6524466cf8dfb8382c132bd5 Author: Clemens Ladisch Date: Mon Jul 13 13:48:36 2009 +0200 sound: usb-audio: add MIDI drain callback When draining, instead of waiting for fifty milliseconds, just wait for the currently active URBs to complete. This cuts the usual waiting time down to one USB frame, or zero in the common case when there is no URB. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit ed4affa53229701be7be4f7f84ba84164135d7e8 Author: Clemens Ladisch Date: Mon Jul 13 13:43:59 2009 +0200 sound: usb-audio: use multiple output URBs Some newer USB MIDI interfaces use rather small packet sizes, so to get enough bandwidth, we have to be able to send multiple packets in one USB frame, so we have to use multiple URBs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 4773d1fb8f37612336d2c929058bf96d3a1624b1 Author: Clemens Ladisch Date: Mon Jul 13 13:40:36 2009 +0200 sound: usb-audio: use multiple input URBs Some newer USB MIDI interfaces use rather small packet sizes, so to get enough bandwidth, we have to be able to receive multiple packets in one USB frame, so we have to use multiple URBs. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit f907ed94f993b0cd366c26eaa88b90c5454203ae Author: Clemens Ladisch Date: Mon Jul 13 13:30:22 2009 +0200 seq-midi: always log message on output overrun It turns out that the main cause of output buffer overruns is not slow drivers but applications that generate too many messages. Therefore, it makes more sense to make that error message always visible, and to rate-limit it. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 468b8fde24d49f5b34e9152981824b9d4ecd1a2e Author: Clemens Ladisch Date: Mon Jul 13 11:39:29 2009 +0200 sound: usb-audio: Xonar U1 digital output support Add support for the Asus Xonar U1. This device is mostly class compliant, but the digital output requires a vendor-specific request. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit e465d544fab81aa122f86a50418f4be7f1fcf066 Author: Mark Brown Date: Wed Jul 15 10:01:30 2009 +0100 ASoC: Fix sample rate lookup in WM8993 We need to use the best value we picked, not the last value we looked at. Reported-by: Stephen Rothwell Signed-off-by: Mark Brown commit b5ebd44eb7559ea6135d536bafd02323d2ef0547 Author: Herbert Xu Date: Wed Jul 15 16:53:33 2009 +0800 crypto: xcbc - Fix incorrect error value when creating instance If shash_alloc_instance() fails, we return the wrong error value. This patch fixes it. Signed-off-by: Herbert Xu commit 3b3fc322d9c92e8bbfcecf739f1a3d10ded7f2cd Author: Herbert Xu Date: Wed Jul 15 16:52:55 2009 +0800 crypto: hmac - Fix incorrect error value when creating instance If shash_alloc_instance() fails, we return the wrong error value. This patch fixes it. Signed-off-by: Herbert Xu commit 05ed8758fa30e088766905d0d600aa393e144353 Author: Steffen Klassert Date: Wed Jul 15 16:51:04 2009 +0800 crypto: cryptd - Fix uninitialized return value If cryptd_alloc_instance() fails, the return value is uninitialized. This patch fixes this by setting the return value. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 0db9b7aebb6a1c2bba2d0636ae0b1f9ef729c827 Author: David Woodhouse Date: Tue Jul 14 02:01:57 2009 +0100 intel-iommu: Kill pointless intel_unmap_single() function Signed-off-by: David Woodhouse commit acea0018a24b794e32afea4f3be4230c58f2f8e3 Author: David Woodhouse Date: Tue Jul 14 01:55:11 2009 +0100 intel-iommu: Defer the iotlb flush and iova free for intel_unmap_sg() too. I see no reason why we did this _only_ in intel_unmap_page(). Signed-off-by: David Woodhouse commit 3d39cecc4841e8d4c4abdb401d10180f5faaded0 Author: David Woodhouse Date: Wed Jul 8 15:23:30 2009 +0100 intel-iommu: Remove superfluous iova_alloc_lock from IOVA code We only ever obtain this lock immediately before the iova_rbtree_lock, and release it immediately after the iova_rbtree_lock. So ditch it and just use iova_rbtree_lock. [v2: Remove the lockdep bits this time too] Signed-off-by: David Woodhouse commit 305f9db22d62da10c43c7fd7554ec923c2b8727e Author: Herbert Xu Date: Wed Jul 15 15:11:08 2009 +0800 crypto: crypto4xx - Disable SHA implementation The crypto4xx SHA implementation keeps the hash state in the tfm data structure. This breaks a fundamental requirement of ahash implementations that they must be reentrant. This patch disables the broken implementation. Signed-off-by: Herbert Xu commit 5c61259e6c7290082108e93815f7f72f27da14f4 Author: Zhao Yakui Date: Mon Jun 22 13:17:10 2009 +0800 drm/mode: get the modeline for standard timing in EDID by using CVT/GTF Create the standard timing modeline by using CVT/GFT algorithm while interpreting the EDID. In course of interpreting the EDID, the timing level will be obtained, which is used to determine whether the CVT/GTF algorithm is selected to generate the modeline for the given hdisplay/vdisplay/vrefresh_rate. In the UMS mode firstly it will check whether it can be found in the DMT table. If it can be found, then the modeline is returned. Then the timing_level is used to choose CVT/GTF. As there is no DMT table, no modeline is returned when timing level is DMT. For the other two timing levels, the CVT/GTF will be called to generate the required standard timing modeline. [airlied: fixed up conflicts since EDID rework] Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 26bbdadad356ec02d33657858d91675f3e9aca94 Author: Zhao Yakui Date: Mon Jun 22 13:17:09 2009 +0800 drm/mode: add the GTF algorithm in kernel space Add the GTF algorithm in kernel space. And this function can be called to generate the required modeline. I copied it from the file of xserver/hw/xfree86/modes/xf86gtf.c. What I have done is to translate it by using integer calculation. This is to avoid the float-point calculation in kernel space. At the same tie I also refer to the function of fb_get_mode in drivers/video/fbmon.c Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit d782c3f95c9263dc0b98e7115f75f1e18b9600b3 Author: Zhao Yakui Date: Mon Jun 22 13:17:08 2009 +0800 drm/mode: add the CVT algorithm in kernel space Add the CVT algorithm in kernel space. And this function can be called to generate the required modeline. I copied it from the file of xserver/hw/xfree86/modes/xf86cvt.c. What I have done is to translate it by using integer calculation. This is to avoid the float-point calculation in kernel space. [airlied:- cleaned up some bits] Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit 66f6ce5e52f2f209d5bf1f06167cec888f4f4c13 Author: Herbert Xu Date: Wed Jul 15 12:40:40 2009 +0800 crypto: ahash - Add unaligned handling and default operations This patch exports the finup operation where available and adds a default finup operation for ahash. The operations final, finup and digest also will now deal with unaligned result pointers by copying it. Finally export/import operations are will now be exported too. Signed-off-by: Herbert Xu commit 872fb6dd6b07986417964e089074e7acfd025f4c Author: Fenghua Yu Date: Mon Jul 13 13:09:43 2009 -0700 ia64: Fix setup_per_cpu_areas() compilation error Fix ia64 build setup_per_cpu_areas() redifinition issue in UP configuration. When compiling ia64 kernel in UP configuration, the following compilation errors are reported: arch/ia64/kernel/setup.c:860: error: redefinition of 'setup_per_cpu_areas' include/linux/percpu.h:185: error: previous definition of 'setup_per_cpu_areas' was here The patch fixes the issue in arch/ia64/kernel/setup.c Signed-off-by: Fenghua Yu Signed-off-by: Tejun Heo commit 4bd9b0f4afc76cf972578c702e1bc1b6f2d10ba5 Author: Andy Adamson Date: Wed Jun 24 15:37:45 2009 -0400 nfsd41: use globals for DRC limits The version 4.1 DRC memory limit and tracking variables are server wide and session specific. Replace struct svc_serv fields with globals. Stop using the svc_serv sv_lock. Add a spinlock to serialize access to the DRC limit management variables which change on session creation and deletion (usage counter) or (future) administrative action to adjust the total DRC memory limit. Signed-off-by: Andy Adamson Signed-off-by: Benny Halevy commit 7702ce40bc84a02e88aa20f95333df8cff5f9d37 Author: Chuck Lever Date: Mon Jul 13 10:54:26 2009 -0400 SUNRPC: handle IPv6 PKTINFO when extracting destination address PKTINFO is needed to scrape the caller's IP address off the socket so RPC datagram replies are routed correctly. Fill in missing pieces in the kernel RPC server's UDP receive path to request IPv6 PKTINFO and correctly parse the IPv6 cmsg header. Without this patch, kernel RPC services drop all incoming requests on UDP on IPv6. Related commit: 7a37f5787e76bf1765c1add3a9a7163f841a28bb Signed-off-by: Chuck Lever Cc: Neil Brown Signed-off-by: J. Bruce Fields commit e25371d60cb06a44d7a32d7966ab9bfbeacb9390 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:49:01 2009 -0700 x86/ioapic.c: unify ioapic_retrigger_irq() The 32 and 64-bit versions of ioapic_retrigger_irq() are identical except the 64-bit one takes vector_lock. vector_lock is defined and used on 32-bit too, so just use a common ioapic_retrigger_irq(). Signed-off-by: Jeremy Fitzhardinge commit 638f2f8c52a92c15ebda9e50d84c1ab56fc42e42 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:37:52 2009 -0700 x86/ioapic.c: convert __target_IO_APIC_irq to conventional for() loop Use a normal for() loop in __target_IO_APIC_irq(). Signed-off-by: Jeremy Fitzhardinge commit 4eea6fff612f54380dd642b045bf03ac0613fe3e Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:32:15 2009 -0700 x86/ioapic.c: clean up replace_pin_at_irq_node logic and comments There's no need for a control variable in replace_pin_at_irq_node(); it can just return if it finds the old apic/pin to replace. If the loop terminates, then it didn't find the old apic/pin, so it can add the new ones. Signed-off-by: Jeremy Fitzhardinge commit 535b64291a9d1ff8bc54642494a5fce27e1e1170 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:29:26 2009 -0700 x86/ioapic.c: convert replace_pin_at_irq_node to conventional for() loop Use a conventional for() loop in replace_pin_at_irq_node(). Signed-off-by: Jeremy Fitzhardinge commit 875e68ec32fc5495f3edf987aaae1c52306184b7 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:24:11 2009 -0700 x86/ioapic.c: simplify add_pin_to_irq_node() Rather than duplicating the same alloc/init code twice, restructure the function to look for duplicates and then add an entry if none is found. This function is not performance critical; all but one of its callers are __init functions, and the non-__init caller is for PCI device setup. Signed-off-by: Jeremy Fitzhardinge commit d8c52063ed85dda61b70bc05b90711478db5dc17 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:17:58 2009 -0700 x86/ioapic.c: convert io_apic_level_ack_pending loop to normal for() loop Convert the unconventional loop in io_apic_level_ack_pending() to a conventional for() loop. Signed-off-by: Jeremy Fitzhardinge commit 8e13d697febc1ba17e70ed88789255c8bc25aa41 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:14:59 2009 -0700 x86/ioapic.c: move lost comment to what seems like appropriate place The comment got separated from its subject, so move it to what appears to be the right place, and update to describe the current structure. Signed-off-by: Jeremy Fitzhardinge commit 83c21bedf63ce92a2dd82ae2c7a96179b0aa4372 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:13:04 2009 -0700 x86/ioapic.c: remove redundant declaration of irq_pin_list The structure is defined immediately below, so there's no need to forward declare it. Signed-off-by: Jeremy Fitzhardinge commit 916a0fe739f151664f7f07b42543ae6fd4caec49 Author: Jeremy Fitzhardinge Date: Mon Jun 8 03:00:22 2009 -0700 x86/ioapic.c: remove #ifdef for 82093AA workaround While no 64-bit hardware will have a version 0x11 I/O APIC which needs the level/edge bug workaround, that's not a particular reason to use CONFIG_X86_32 to #ifdef the code out. Most 32-bit machines will no longer need the workaround either, so the test to see whether it is necessary should be more fine-grained than "32-bit=yes, 64-bit=no". (Also fix formatting of block comment.) Signed-off-by: Jeremy Fitzhardinge commit 890aeacf64c55a7ada7054a140d249ab13899f2d Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:57:43 2009 -0700 x86/ioapic.c: unify __mask_IO_APIC_irq() The main difference between 32 and 64-bit __mask_IO_APIC_irq() does a readback from the I/O APIC to synchronize it. If there's a hardware requirement to do a readback sync after updating an APIC register, then it will be a hardware requrement regardless of whether the kernel is compiled 32 or 64-bit. Unify __mask_IO_APIC_irq() using the 64-bit version which always syncs with io_apic_sync(). Signed-off-by: Jeremy Fitzhardinge commit 2f210deba9887dd9143b63b217506f1ac152e91c Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:55:22 2009 -0700 x86/ioapic.c: ioapic_modify_irq is too large to inline If ioapic_modify_irq() is marked inline, it gets inlined several times. Un-inlining it saves around 200 bytes in .text for me. Signed-off-by: Jeremy Fitzhardinge commit 6b2b171a774af256082635b53ac387b1613b7b4c Author: Jeremy Fitzhardinge Date: Mon Jun 8 02:53:50 2009 -0700 x86/acpi: acpi_parse_madt_ioapic_entries: remove redundant braces We don't put braces around a single statement. Signed-off-by: Jeremy Fitzhardinge commit 82d76f4d9fbf7d951d63e7056fd9911ada507bd1 Author: Cliff Cai Date: Tue Jul 14 10:01:40 2009 -0400 ASoC: Blackfin I2S: fix resume handling There is no need to manually start playback/capture ourselves as the PCM driver will handle things for us. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 18d02bc32c0b35726b2a6a3699a0c44e5e8f6c94 Author: Cliff Cai Date: Tue Jul 14 10:01:39 2009 -0400 ASoC: Blackfin AC97: fix resume handling There is no need to manually start playback/capture ourselves as the PCM driver will handle things for us. Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit 9208faf297dddfa97a86d7224b6bf94f2e346dd9 Author: Yu Zhiguo Date: Mon Jul 6 17:24:16 2009 +0800 NFSv4: ACL in operations 'open' and 'create' should be used ACL in operations 'open' and 'create' is decoded but never be used. It should be set as the initial ACL for the object according to RFC3530. If error occurs when setting the ACL, just clear the ACL bit in the returned attr bitmap. Signed-off-by: Yu Zhiguo Signed-off-by: J. Bruce Fields commit 6e63ea4b0b14ff5fb8a3ca704fcda7d28b95f079 Author: Robert Richter Date: Tue Jul 7 19:25:39 2009 +0200 x86/oprofile: Whitespaces changes only This patch fixes whitespace changes of code that will be touched in follow-on patches. Signed-off-by: Robert Richter commit 44ab9a6b0e909145d42615493952fe986b1ce5c2 Author: Robert Richter Date: Thu Jul 9 18:33:02 2009 +0200 x86/oprofile: Rework and simplify nmi_cpu_setup() This patch removes the function nmi_save_registers(). Per-cpu code is now executed only in the function nmi_cpu_setup(). Also, it renames the per-cpu function nmi_restore_registers() to nmi_cpu_restore_registers(). Signed-off-by: Robert Richter commit 4aed03ae58946c716c8e3f7060f8b500b8a8e30f Author: Mark Brown Date: Fri Jul 10 16:28:33 2009 +0100 wm8350_power: Implement charge type property Signed-off-by: Mark Brown Signed-off-by: Anton Vorontsov commit 093900c2b964da73daf234374225b5ce5d49f941 Author: Herbert Xu Date: Tue Jul 14 21:48:35 2009 +0800 crypto: ahash - Use GFP_KERNEL in unaligned setkey We currently use GFP_ATOMIC in the unaligned setkey function to allocate the temporary aligned buffer. Since setkey must be called in a sleepable context, we can use GFP_KERNEL instead. Signed-off-by: Herbert Xu commit 0e2d3a126338ebb213c8e32d8d1d8936d8e62d43 Author: Herbert Xu Date: Tue Jul 14 21:43:56 2009 +0800 crypto: shash - Fix alignment in unaligned operations When we encounter an unaligned pointer we are supposed to copy it to a temporary aligned location. However the temporary buffer isn't aligned properly. This patch fixes that. Signed-off-by: Herbert Xu commit 8c32c516eb1c1f9c14d25478442137c698788975 Author: Herbert Xu Date: Tue Jul 14 21:35:36 2009 +0800 crypto: hash - Zap unaligned buffers Some unaligned buffers on the stack weren't zapped properly which may cause secret data to be leaked. This patch fixes them by doing a zero memset. It is also possible for us to place random kernel stack contents in the digest buffer if a digest operation fails. This is fixed by only copying if the operation succeeded. Signed-off-by: Herbert Xu commit 8045a4c293d36c61656a20d581b11f7f0cd7acd5 Author: Robert Richter Date: Tue Jul 7 19:30:25 2009 +0200 x86/oprofile: Fix cast of counter value When casting the counter value to a 64 bit value in 32 bit mode, sign extension may lead to broken counter values. This patch fixes this by casting to (u64) instead of (s64). Signed-off-by: Robert Richter commit debc6a6927dcd833a30750b07a4c2b456b71f1be Merge: 21e7087 6847e15 4f6e1fe Author: Robert Richter Date: Tue Jul 14 15:20:44 2009 +0200 Merge commit 'v2.6.31-rc3'; commit 'tip/oprofile' into oprofile/core Conflicts: drivers/oprofile/oprofile_stats.c drivers/usb/otg/Kconfig drivers/usb/otg/Makefile Signed-off-by: Robert Richter commit 500b3e3c3dc8e4845b77ae81e5b7b085ab183ce6 Author: Herbert Xu Date: Tue Jul 14 20:29:57 2009 +0800 crypto: ahash - Remove old_ahash_alg Now that all ahash implementations have been converted to the new ahash type, we can remove old_ahash_alg and its associated support. Signed-off-by: Herbert Xu commit 4dc10c0142ce0af8c20ec44dc6928ae63ad4f73a Author: Herbert Xu Date: Tue Jul 14 20:21:46 2009 +0800 crypto: crypto4xx - Switch to new style ahash This patch changes crypto4xx to use the new style ahash type. In particular, we now use ahash_alg to define ahash algorithms instead of crypto_alg. This is achieved by introducing a union that encapsulates the new type and the existing crypto_alg structure. They're told apart through a u32 field containing the type value. Signed-off-by: Herbert Xu commit 0b535adfb102bac1edb046444172b6b77d99bc92 Author: Herbert Xu Date: Tue Jul 14 19:11:32 2009 +0800 crypto: cryptd - Switch to new style ahash This patch changes cryptd to use the new style ahash type. In particular, the instance is enlarged to encapsulate the new ahash_alg structure. Signed-off-by: Herbert Xu commit 72849873cdf213b5d7b8ae006e6740b2d78f6ad8 Author: Paul Mundt Date: Tue Jul 14 06:51:54 2009 -0400 sh: Kill off zero-sized vmlinux_64.lds.S This seems to be some merge damage, kill it off. Signed-off-by: Paul Mundt commit 9cd899a32f611eb6328014f1d9e0ba31977812d9 Author: Herbert Xu Date: Tue Jul 14 18:45:45 2009 +0800 crypto: cryptd - Switch to template create API This patch changes cryptd to use the template->create function instead of alloc in anticipation for the switch to new style ahash algorithms. Signed-off-by: Herbert Xu commit 52861c7cd711fac97b37ae0f4842a9ad26ecae72 Author: Herbert Xu Date: Tue Jul 14 18:30:24 2009 +0800 crypto: hash - Add helpers to free spawns This patch adds the helpers crypto_drop_ahash and crypto_drop_shash so that these spawns can be dropped without ugly casts. Signed-off-by: Herbert Xu commit 7be380f7201064f704a128b78ac01a62dbd10162 Author: Herbert Xu Date: Tue Jul 14 16:06:54 2009 +0800 crypto: tcrypt - Add mask parameter This patch adds a mask parameter to complement the existing type parameter. This is useful when instantiating algorithms that require a mask other than the default, e.g., ahash algorithms. Signed-off-by: Herbert Xu commit 01c2dece4316dadc0f9fad1ad0b56d493980e492 Author: Herbert Xu Date: Tue Jul 14 14:06:06 2009 +0800 crypto: ahash - Add instance/spawn support This patch adds support for creating ahash instances and using ahash as spawns. Signed-off-by: Herbert Xu commit 88056ec346ccf41f63dbc7080b24b5fd19d1358d Author: Herbert Xu Date: Tue Jul 14 12:28:26 2009 +0800 crypto: ahash - Convert to new style algorithms This patch converts crypto_ahash to the new style. The old ahash algorithm type is retained until the existing ahash implementations are also converted. All ahash users will automatically get the new crypto_ahash type. Signed-off-by: Herbert Xu commit 2ca33da1dea3ba53d1425226a6bac073c5e8568c Author: Herbert Xu Date: Mon Jul 13 20:46:25 2009 +0800 crypto: api - Remove frontend argument from extsize/init_tfm As the extsize and init_tfm functions belong to the frontend the frontend argument is superfluous. Signed-off-by: Herbert Xu commit 6b1679f4a006acb5d76f8df686aa44c63d2555b4 Author: Herbert Xu Date: Sun Jul 12 23:08:28 2009 +0800 crypto: crypto4xx - Use crypto_ahash_set_reqsize This patch makes crypto4xx use crypto_ahash_set_reqsize to avoid accessing crypto_ahash directly. Signed-off-by: Herbert Xu commit 0d6669e2ba60ce5f5d4def6ab453f03567cc738e Author: Herbert Xu Date: Sun Jul 12 23:06:33 2009 +0800 crypto: cryptd - Use crypto_ahash_set_reqsize This patch makes cryptd use crypto_ahash_set_reqsize to avoid accessing crypto_ahash directly. Signed-off-by: Herbert Xu commit fc00127fb67b2a7d2b66f0f4096a5367b581f045 Author: Herbert Xu Date: Sun Jul 12 23:05:48 2009 +0800 crypto: ahash - Add crypto_ahash_set_reqsize This patch adds the helper crypto_ahash_set_reqsize so that implementations do not directly access the crypto_ahash structure. Signed-off-by: Herbert Xu commit 46309d8938122dff2fe59bf163307989cd22ea4a Author: Herbert Xu Date: Sun Jul 12 21:38:59 2009 +0800 crypto: cryptd - Use shash algorithms This patch changes cryptd to use shash algorithms instead of the legacy hash interface. Signed-off-by: Herbert Xu commit 7eddf95ec5440d60f10963f453e27f82f394044e Author: Herbert Xu Date: Sun Jul 12 21:25:20 2009 +0800 crypto: shash - Export async functions This patch exports the async functions so that they can be reused by cryptd when it switches over to using shash. Signed-off-by: Herbert Xu commit 6941c3a0aabb6ad4167827360f384e9daed7dd7f Author: Herbert Xu Date: Sun Jul 12 13:58:04 2009 +0800 crypto: hash - Remove legacy hash/digest implementaion This patch removes the implementation of hash and digest now that no algorithms use them anymore. The interface though will remain until the users are converted across. Signed-off-by: Herbert Xu commit 9ef074fa9b525f7fc7a35d0761f3d4ed01fe8252 Author: Herbert Xu Date: Sun Jul 12 12:50:11 2009 +0800 crypto: authenc - Remove reference to crypto_hash Now that there are no more legacy hash implementations we can remove the reference to crypto_hash. Signed-off-by: Herbert Xu commit 3106caab617c75c9a47706af3a8017318207be2d Author: Herbert Xu Date: Sun Jul 12 12:48:32 2009 +0800 crypto: xcbc - Switch to shash This patch converts the xcbc algorithm to the new shash type. Signed-off-by: Herbert Xu commit 8bd1209cfff246ce6dfae86837467a01236f9cb6 Author: Herbert Xu Date: Thu Jul 9 12:43:37 2009 +0800 crypto: hmac - Switch to shash This patch changes hmac to the new shash interface. Signed-off-by: Herbert Xu commit bbbee4679afd7c29a58087f133ffe241597f3144 Author: Herbert Xu Date: Sat Jul 11 18:16:16 2009 +0800 crypto: padlock - Switch sha to shash This patch converts the padlock-sha implementation to shash. In doing so the existing mechanism of storing the data until final is no longer viable as we do not have a way of allocating data in crypto_shash_init and then reliably freeing it. This is just as well because a better way of handling the problem is to hash everything but the last chunk using normal sha code and then provide the intermediate result to the padlock device. This is good enough because the primary application of padlock-sha is IPsec and there the data is laid out in the form of an hmac header followed by the rest of the packet. In essence we can provide all the data to the padlock as the hmac header only needs to be hashed once. Signed-off-by: Herbert Xu commit 113adefc73c291f93f875fe515a46d8f76252fff Author: Herbert Xu Date: Tue Jul 14 12:50:12 2009 +0800 crypto: shash - Make descsize a run-time attribute This patch changes descsize to a run-time attribute so that implementations can change it in their init functions. Signed-off-by: Herbert Xu commit ba3b64b976f91067710ef1a87b9b445406910e8f Merge: 47db8e8 b7d4de7 Author: Mark Brown Date: Mon Jul 13 23:05:51 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit 47db8e89ac04377fc4de9278d0a3d6e599c04b95 Author: Peter Meerwald Date: Mon Jul 13 23:05:11 2009 +0100 ASoC: fixes multiple typos in comments, no functional change Signed-off-by: Peter Meerwald Signed-off-by: Mark Brown commit 0a0cf58d93b49bdd3ba6049a5536e76c32ef7f88 Author: Kevin Hilman Date: Mon Jul 13 14:50:40 2009 -0700 ASoC: spdif: set module licence to GPL Without MODULE_LICENCE("GPL"), when built as a module it will fail to load because it uses other GPL symbols from kernel. Signed-off-by: Kevin Hilman Signed-off-by: Mark Brown commit a27e304b5c0bd7a3d6f337fd107a0a93d8687821 Author: Kevin Hilman Date: Mon Jul 13 14:50:39 2009 -0700 ASoC: spdif codec: enable use by modules Signed-off-by: Mark Brown commit 087d53ab11d538ce57b8a8e0ef899d7ee6a38548 Author: Rongrong Cao Date: Fri Jul 10 20:13:30 2009 +0100 ASoC: fix checking for external widgets bug In SOC DAPM layer of SOUND subsystem, when add signal route (in the function snd_soc_dapm_add_route() ), the original code has wrong logic when dapm layer check each widget whether an external one. Signed-off-by: Rongrong Cao Signed-off-by: Mark Brown commit 05dd2cd3bb3299540e33ff60c5b401dd88f273bd Author: Matt Fleming Date: Mon Jul 13 11:38:04 2009 +0000 sh: Restore previous behaviour on kernel fault The last commit changed the behaviour on kernel faults when we were doing something other than syncing the page tables. vmalloc_sync_one() needs to return NULL if the page tables are up to date, because the reason for the fault was not a missing/inconsitent page table entry. By returning NULL if the page tables are sync'd we signal to the calling function that further work must be done to resolve this fault. Also, remove the superfluous __va() around the first argument to vmalloc_sync_one(). The value of pgd_k is already a virtual address and using it wth __va() causes a NULL dereference. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 97fd5bc7f2e442482a7a6cc4bc2a286cbb5f4754 Author: Tobias Klauser Date: Mon Jul 13 11:17:49 2009 -0700 net: Rename lookup_neigh_params function Rename lookup_neigh_params to lookup_neigh_parms as the struct is named neigh_parms and all other functions dealing with the struct carry neigh_parms in their names. Signed-off-by: Tobias Klauser Signed-off-by: David S. Miller commit 7d45ecafb6792ca68da9517969d37d910601845f Merge: be940d6 7638d53 Author: James Morris Date: Tue Jul 14 00:30:40 2009 +1000 Merge branch 'master' into next Conflicts: include/linux/personality.h Use Linus' version. Signed-off-by: James Morris commit 33e319fba727708ee45fec70091c498da4e8f606 Author: Roel Kluin Date: Mon Jul 13 02:20:10 2009 +0200 ASoC: Keep index within stac9766_reg[] Keep index within stac9766_reg[] Signed-off-by: Roel Kluin Signed-off-by: Mark Brown commit b7788c5ff9e7676dc98ca6dce437ae16b79c6726 Author: Wan ZongShun Date: Sun Jul 12 20:52:19 2009 -0700 Input: w90p910_ts - use clk API Now that clk API is available on ARM we can use it in the driver. Signed-off-by: Wan ZongShun Signed-off-by: Dmitry Torokhov commit f9c22736940cdc8f5e2db0109fc9493e0cbd895d Author: Hans J. Koch Date: Sun Jul 12 20:51:25 2009 -0700 Input: ucb1400_ts - fix a misleading function name The driver for UCB1400 touchscreen controllers contains a function named ucb1400_ts_pen_down(), but it returns 0 if the pen is down and 1 if it's up. This causes confusion, especially since it's used as a boolean truth value later in the code. This patch renames it. Signed-off-by: Hans J. Koch Signed-off-by: Dmitry Torokhov commit 8e321c4f72e2fb580a091317ba0fb2941f637ce1 Author: Julia Lawall Date: Sat Jul 11 10:03:55 2009 +0000 drivers/net/bonding: Adjust constant name AD_SHORT_TIMEOUT and AD_STATE_LACP_ACTIVITY have the same value, but AD_STATE_LACP_ACTIVITY better reflects the intended semantics. [ J adds: AD_STATE_LACP_ACTIVITY is a value defined by the standard, and should be set here in accordance with 802.3ad 43.4.12; AD_SHORT_TIMEOUT is a constant specific to the Linux 802.3ad implementation that happens to have the same value ] The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ struct port_params p; @@ * p.port_state |= AD_SHORT_TIMEOUT // Signed-off-by: Julia Lawall Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 440c1ce178d6a6743e02d136a55b2de3f6d62a20 Author: Huang Weiyi Date: Fri Jul 10 15:33:49 2009 +0000 dropmon: remove duplicated #include Remove duplicated #include('s) in include/linux/net_dropmon.h Signed-off-by: Huang Weiyi Signed-off-by: David S. Miller commit df5ede82588487db1894933af217e4aa710978d5 Author: Changli Gao Date: Wed Jul 8 18:06:47 2009 +0000 net: remove redundant sched/ in net/Makefile Remove redundant sched/ in net/Makefile. sched/ is contained in previous: obj-$(CONFIG_NET) += ethernet/ 802/ sched/ netlink/, so the later obj-$(CONFIG_NET_SCHED) += sched/ isn't necessary. Signed-off-by: Changli Gao ---- Makefile | 1 - 1 file changed, 1 deletion(-) Signed-off-by: David S. Miller commit be940d6279c30a2d7c4e8d1d5435f957f594d66d Author: James Morris Date: Mon Jul 13 10:39:36 2009 +1000 Revert "SELinux: Convert avc_audit to use lsm_audit.h" This reverts commit 8113a8d80f4c6a3dc3724b39b470f3fee9c426b6. The patch causes a stack overflow on my system during boot. Signed-off-by: James Morris commit b3a633c8527ef155b1a4e22e8f5abc58f7af54c9 Author: Julien Tinnes Date: Fri Jul 10 10:46:30 2009 -0700 personality handling: fix PER_CLEAR_ON_SETID for security reasons We have found that the current PER_CLEAR_ON_SETID mask on Linux doesn't include neither ADDR_COMPAT_LAYOUT, nor MMAP_PAGE_ZERO. The current mask is READ_IMPLIES_EXEC|ADDR_NO_RANDOMIZE. We believe it is important to add MMAP_PAGE_ZERO, because by using this personality it is possible to have the first page mapped inside a process running as setuid root. This could be used in those scenarios: - Exploiting a NULL pointer dereference issue in a setuid root binary - Bypassing the mmap_min_addr restrictions of the Linux kernel: by running a setuid binary that would drop privileges before giving us control back (for instance by loading a user-supplied library), we could get the first page mapped in a process we control. By further using mremap and mprotect on this mapping, we can then completely bypass the mmap_min_addr restrictions. Less importantly, we believe ADDR_COMPAT_LAYOUT should also be added since on x86 32bits it will in practice disable most of the address space layout randomization (only the stack will remain randomized). Signed-off-by: Julien Tinnes Signed-off-by: Tavis Ormandy Acked-by: Christoph Hellwig Acked-by: Kees Cook Signed-off-by: James Morris commit 8113a8d80f4c6a3dc3724b39b470f3fee9c426b6 Author: Thomas Liu Date: Fri Jul 10 10:31:04 2009 -0400 SELinux: Convert avc_audit to use lsm_audit.h Convert avc_audit in security/selinux/avc.c to use lsm_audit.h, for better maintainability and for less code duplication. - changed selinux to use common_audit_data instead of avc_audit_data - eliminated code in avc.c and used code from lsm_audit.h instead. I have tested to make sure that the avcs look the same before and after this patch. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit ba73542585a4a3c8a708f502e62e6e63dd74b66c Author: Sridhar Samudrala Date: Thu Jul 9 08:10:04 2009 +0000 udpv6: Handle large incoming UDP/IPv6 packets and support software UFO - validate and forward GSO UDP/IPv6 packets from untrusted sources. - do software UFO if the outgoing device doesn't support UFO. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 7ea2f2c5a66e4e9a8d96296ac47ad895c467ee1d Author: Sridhar Samudrala Date: Thu Jul 9 08:10:01 2009 +0000 udpv6: Remove unused skb argument of ipv6_select_ident() - move ipv6_select_ident() inline function to ipv6.h and remove the unused skb argument Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit c31d5326902cebffcd83b1aede67a0e0ac923090 Author: Sridhar Samudrala Date: Thu Jul 9 08:09:58 2009 +0000 udpv6: Fix gso_size setting in ip6_ufo_append_data - fix gso_size setting for ipv6 fragment to be a multiple of 8 bytes. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 493c6be3fedfe24aa676949b237b9b104d911abf Author: Sridhar Samudrala Date: Thu Jul 9 08:09:54 2009 +0000 udpv6: Fix HW checksum support for outgoing UFO packets - add HW checksum support for outgoing large UDP/IPv6 packets destined for a UFO enabled device. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit d7ca4cc01fd154f2da30ae6dae160fa5800af758 Author: Sridhar Samudrala Date: Thu Jul 9 08:09:47 2009 +0000 udpv4: Handle large incoming UDP/IPv4 packets and support software UFO. - validate and forward GSO UDP/IPv4 packets from untrusted sources. - do software UFO if the outgoing device doesn't support UFO. Signed-off-by: Sridhar Samudrala Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 30ffee8480c13fbcf8ab6c28e31f79dfff683117 Author: Johannes Berg Date: Fri Jul 10 09:51:35 2009 +0000 net: move and export get_net_ns_by_pid The function get_net_ns_by_pid(), to get a network namespace from a pid_t, will be required in cfg80211 as well. Therefore, let's move it to net_namespace.c and export it. We can't make it a static inline in the !NETNS case because it needs to verify that the given pid even exists (and return -ESRCH). Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 134e63756d5f3d0f7604dfcca847b09d1b14fd66 Author: Johannes Berg Date: Fri Jul 10 09:51:34 2009 +0000 genetlink: make netns aware This makes generic netlink network namespace aware. No generic netlink families except for the controller family are made namespace aware, they need to be checked one by one and then set the family->netnsok member to true. A new function genlmsg_multicast_netns() is introduced to allow sending a multicast message in a given namespace, for example when it applies to an object that lives in that namespace, a new function genlmsg_multicast_allns() to send a message to all network namespaces (for objects that do not have an associated netns). The function genlmsg_multicast() is changed to multicast the message in just init_net, which is currently correct for all generic netlink families since they only work in init_net right now. Some will later want to work in all net namespaces because they do not care about the netns at all -- those will have to be converted to use one of the new functions genlmsg_multicast_allns() or genlmsg_multicast_netns() whenever they are made netns aware in some way. After this patch families can easily decide whether or not they should be available in all net namespaces. Many genl families us it for objects not related to networking and should therefore be available in all namespaces, but that will have to be done on a per family basis. Note that this doesn't touch on the checkpoint/restart problem where network namespaces could be used, genl families and multicast groups are numbered globally and I see no easy way of changing that, especially since it must be possible to multicast to all network namespaces for those families that do not care about netns. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 11a28d373ed2539a110d56419457e2e7db221ac7 Author: Johannes Berg Date: Fri Jul 10 09:51:33 2009 +0000 net: make namespace iteration possible under RCU All we need to take care of is using proper RCU list add/del primitives and inserting a synchronize_rcu() at one place to make sure the exit notifiers are run after everybody has stopped iterating the list. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 6c04bb18ddd633b7feac2c8fe2ae0bf61d20ca7a Author: Johannes Berg Date: Fri Jul 10 09:51:32 2009 +0000 netlink: use call_rcu for netlink_change_ngroups For the network namespace work in generic netlink I need to be able to call this function under rcu_read_lock(), otherwise the locking becomes a nightmare and more locks would be needed. Instead, just embed a struct rcu_head (actually a struct listeners_rcu_head that also carries the pointer to the memory block) into the listeners memory so we can use call_rcu() instead of synchronising and then freeing. No rcu_barrier() is needed since this code cannot be modular. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 487420df79f1d9f5b9de74c9bef378609c475a39 Author: Johannes Berg Date: Fri Jul 10 08:32:06 2009 +0000 netlink: remove unused exports I added those myself in commits b4ff4f04 and 84659eb5, but I see no reason now why they should be exported, only generic netlink uses them which cannot be modular. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 3e28ad7b2442e02c35c2fee2d85a90d0202a9aad Merge: 040f43e e460ab2 Author: Paul Mundt Date: Sun Jul 12 11:45:25 2009 -0400 Merge branches 'sh/compressors' and 'sh/ftrace' commit aef73cfcb913eae3d0deeb60eb385f75039db40b Author: Herbert Xu Date: Sat Jul 11 22:22:14 2009 +0800 crypto: async - Use kzfree for requests This patch changes the kfree call to kzfree for async requests. As the request may contain sensitive data it needs to be zeroed before it can be reallocated by others. Signed-off-by: Herbert Xu commit 57cfe44bccb0e38ddb44a34a42f517deef1f4e82 Author: Herbert Xu Date: Sat Jul 11 22:17:39 2009 +0800 crypto: shash - Move null setkey check to registration time This patch moves the run-time null setkey check to shash_prepare_alg just like we did for finup/digest. Signed-off-by: Herbert Xu commit d19d36672ee379f26b79df985a9a2e5afb3f1df1 Author: Hartley Sweeten Date: Fri Jul 10 23:02:59 2009 +0100 [ARM] 5599/1: MAINTAINERS: update for EP93XX ARM Change the maintainer of the EP93XX ARM ARCHITECTURE. Signed-off-by: H Hartley Sweeten Signed-off-by: Ryan Mallon Acked-by: Lennert Buytenhek Signed-off-by: Russell King commit 5396730b3caad500ceba84c9391143cafb5938a8 Author: Hartley Sweeten Date: Thu Jul 9 23:22:07 2009 +0100 [ARM] 5598/1: ep93xx: core.c typesafe vic_init The EP93XX_VIC{1/2}_BASE defines are now typesafe due to [ARM] 5573/1: ep93xx: ensure typesafe io. The (void *) cast is not needed when calling vic_init(). Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 040f43e0bf70935cbe8a775110206d11367e11db Author: Paul Mundt Date: Sat Jul 11 13:36:25 2009 -0400 sh64: Don't use PHYSADDR() for output_addr calculation. Opencode the MEMORY_START offset directly, sh64 uses a slightly different calculation. Signed-off-by: Paul Mundt commit 59f002964f4e6668a0132cd796b82f7f8a4803f0 Author: Paul Mundt Date: Sat Jul 11 13:32:24 2009 -0400 sh: rename arch/sh/boot/compressed/misc_32.c -> misc.c This is now used by both sh64 and regular sh, kill off the old sh64 version now too. Signed-off-by: Paul Mundt commit b14c6d428a54fb3235e69fd78fba9080c96645be Author: Paul Mundt Date: Sat Jul 11 13:30:38 2009 -0400 sh: Consolidate the sh64 changes in arch/sh/boot/compressed/misc_32.c This makes some minor changes to misc_32.c so that it can be used by sh64. Signed-off-by: Paul Mundt commit 07e88e1bfc128681a80578724fde6a872f413862 Author: Paul Mundt Date: Sat Jul 11 13:21:19 2009 -0400 sh: bzip2/lzma zImage support. This plugs in bzip2 and lzma support for zImages. Signed-off-by: Paul Mundt commit df8ce2595fbac8b046322fce9df61ce1cf8ddf62 Author: Paul Mundt Date: Sun Jul 12 01:37:30 2009 +0900 sh: Tidy up gzip-based zImage decompression. This brings the zImage handling in to the current century, in preparation for handling the other compression types. Signed-off-by: Paul Mundt commit 6a00cded91532f3d58e07729ba56269339281d8e Author: Russell King Date: Sat Jul 11 16:57:20 2009 +0100 [ARM] pgtable: rearrange file PTE bit allocation For future compatibility, we need to ensure that swap and file Linux PTEs conform with the hardware PTEs "fault" encoding. Swap PTEs already fit in with this, but file PTEs do not. Shift them by one bit to ensure that they conform, using bit 2 to distinguish between swap and file PTEs. Signed-off-by: Russell King commit f7a55fa6ecef8be6d15bd79a803e44a3187ce9d6 Author: Russell King Date: Sat Jul 11 16:51:40 2009 +0100 [ARM] remove L_PTE_BUFFERABLE and L_PTE_CACHEABLE These old symbols are meaningless now that we have memory type support implemented. The entire memory type field needs to be modified rather than just a few bits twiddled. Signed-off-by: Russell King commit ee0049d49ad2556222a7b3127be2dae11982f7b3 Author: Huang Weiyi Date: Sat Jul 11 09:31:58 2009 +0800 [ARM] remove duplicated #include Remove duplicated #include('s) in arch/arm/mach-mx3/devices.c arch/arm/mach-omap1/mcbsp.c arch/arm/mach-omap2/mcbsp.c arch/arm/plat-stmp3xxx/pinmux.c Signed-off-by: Huang Weiyi Signed-off-by: Russell King commit 0724915a69433716704bc5de6f729d3751981be6 Author: Huang Weiyi Date: Sat Jul 11 09:33:21 2009 +0800 [ARM] remove duplicated #include Remove duplicated #include('s) in drivers/spi/amba-pl022.c Signed-off-by: Huang Weiyi Signed-off-by: Russell King commit e460ab27b6c3ea313762169713086529d5bfb8bc Author: Paul Mundt Date: Sat Jul 11 21:06:53 2009 +0900 sh: Fix up stack overflow check with ftrace disabled. Presently the STACK_CHECK() code is called in to multiple times, although it's only necessary from the mcount entry. The code still attempts to treat the nop case as an ftrace path resulting in superfluous code flow for the case where ftrace is disabled. And finally, this also fixes up references to a few undefined symbols when FUNCTION_TRACER=n. Signed-off-by: Paul Mundt commit a470b95e99ea77ef1e307ff181e59a4a16caa4f4 Author: Paul Mundt Date: Sat Jul 11 20:33:34 2009 +0900 sh: Fix up ftrace build error when STACK_DEBUG=n. Presently the closest reference to function_trace_stop is within a CONFIG_STACK_DEBUG block. When this is turned off, the build bails out with a pcrel too far error. Reorder things a bit to handle the various combinations. Signed-off-by: Paul Mundt commit fe27932052aebf77ac5f3e73962825d2aeb457a0 Author: Paul Mundt Date: Sat Jul 11 20:32:14 2009 +0900 sh: Use DECLARE_EXPORT() for mcount symbol export. The function prototype for mcount is not defined if we are not building with ftrace support enabled, so use DECLARE_EXPORT() to stub one in. Signed-off-by: Paul Mundt commit 9f14b84afda297d301b81a5bcbd65e83d7b02034 Author: Paul Mundt Date: Sat Jul 11 20:05:34 2009 +0900 sh: Replace DEBUG_STACKOVERFLOW with STACK_DEBUG. STACK_DEBUG ties in to mcount in order to do function-granular stack overflow checks as opposed to lazily checking from IRQ context. As the default is nohz, the frequency of overflow checking is too irregular to catch much useful information, and so the mcount approach employed by sparc64 is adopted instead. This kills off the old check entirely from the do_IRQ() path and now adopts CONFIG_MCOUNT instead. Signed-off-by: Paul Mundt commit 473d1cf4ee623b043790838bcf77e77958840bf2 Author: Paul Mundt Date: Sat Jul 11 19:56:58 2009 +0900 sh: Decouple mcount from ftrace. This adds a general CONFIG_MCOUNT in order to permit mcount generation without ftrace support. This is primarily for allowing platforms to enable aggressive stack overflow checking without having to enable ftrace support. Based on the sparc64 implementation. Signed-off-by: Paul Mundt commit 7d024608265eb815ae4ce1e5da097ec9d800dda4 Author: Herbert Xu Date: Fri Jul 10 17:26:44 2009 +0800 crypto: padlock - Use shash fallback for sha This patch changes padlock sha fallback to shash instead of hash. Signed-off-by: Herbert Xu commit f63559bef380a95093408691c1081f07da755b74 Author: Herbert Xu Date: Fri Jul 10 13:20:32 2009 +0800 crypto: sha256-s390 - Add export/import support This patch adds export/import support to sha256-s390. The exported type is defined by struct sha256_state, which is basically the entire descriptor state of sha256_generic. Signed-off-by: Herbert Xu commit 406f104b4172de7452702c6810807c1b0132ba22 Author: Herbert Xu Date: Fri Jul 10 13:18:26 2009 +0800 crypto: sha1-s390 - Add export/import support This patch adds export/import support to sha1-s390. The exported type is defined by struct sha1_state, which is basically the entire descriptor state of sha1_generic. Signed-off-by: Herbert Xu commit 9b2fda7b94a769af13c24582739e50664b0e27a8 Author: Herbert Xu Date: Fri Jul 10 13:00:27 2009 +0800 crypto: sha256_generic - Add export/import support This patch adds export/import support to sha256_generic. The exported type is defined by struct sha256_state, which is basically the entire descriptor state of sha256_generic. Signed-off-by: Herbert Xu commit 3d4d277cf88e1980d905707b9c8ca61e8ad6bf0b Author: Herbert Xu Date: Fri Jul 10 12:54:20 2009 +0800 crypto: sha256_generic - Use 64-bit counter like sha1 This patch replaces the two 32-bit counter code in sha256_generic with the simpler 64-bit counter code from sha1. Signed-off-by: Herbert Xu commit e2a7ce4e185a94462698cc0e5192495ee3d22a2f Author: Herbert Xu Date: Thu Jul 9 21:27:13 2009 +0800 crypto: sha1_generic - Add export/import support This patch adds export/import support to sha1_generic. The exported type is defined by struct sha1_state, which is basically the entire descriptor state of sha1_generic. Signed-off-by: Herbert Xu commit 8267adab9433593adb09d94626475c2a5921f111 Author: Herbert Xu Date: Thu Jul 9 20:36:44 2009 +0800 crypto: shash - Move finup/digest null checks to registration time This patch moves the run-time null finup/digest checks to the shash_prepare_alg function which is run at registration time. Signed-off-by: Herbert Xu commit 99d27e1c59e34869605de625b033c52163f5bfa7 Author: Herbert Xu Date: Thu Jul 9 20:30:57 2009 +0800 crypto: shash - Export/import hash state only This patch replaces the full descriptor export with an export of the partial hash state. This allows the use of a consistent export format across all implementations of a given algorithm. This is useful because a number of cases require the use of the partial hash state, e.g., PadLock can use the SHA1 hash state to get around the fact that it can only hash contiguous data chunks. Signed-off-by: Herbert Xu commit 8bdbd962ecfcbdd96f9dbb02d780b4553afd2543 Author: Alan Cox Date: Sat Jul 4 00:35:45 2009 +0100 x86/cpu: Clean up various files a bit No code changes except printk levels (although some of the K6 mtrr code might be clearer if there were a few as would splitting out some of the intel cache code). Signed-off-by: Alan Cox LKML-Reference: Signed-off-by: Ingo Molnar commit e90476d3bab4322070c0afb3e3b55671de8664ea Author: Huang Weiyi Date: Sat Jul 11 09:32:46 2009 +0800 x86: Remove duplicated #include Remove duplicated #include in: arch/x86/kernel/dumpstack.c Signed-off-by: Huang Weiyi Signed-off-by: Ingo Molnar commit f686d8c11c61143b9705ed38d8cd26b0643902a4 Merge: 2802e34 7816fec 69ca06c Author: Paul Mundt Date: Sat Jul 11 10:08:33 2009 +0900 Merge branches 'sh/ftrace' and 'sh/stable-updates' commit 7816fecd03e480ed0b47d674ed772ca0b45e1b5e Author: Matt Fleming Date: Sat Jul 11 00:29:04 2009 +0000 sh: Mark __switch_to() as __notrace_funcgraph Annotate __switch_to() so that the function graph tracer does not try to trace it. Use __notrace_funcgraph, as opposed to notrace, so that other tracers can continue to trace __switch_to(). The reason that we don't want to trace __switch_to() with the function graph tracer is because of how the return address stack in task_struct is implemented. When we enter __switch_to we store the real return address on prev's ret_stack. When we return from __switch_to() we've patched the return address on the kernel stack to be return_to_handler. Calling return_to_handler we do, -> ftrace_return_to_handler() -> ftrace_pop_return_ftrace() Which tries to pop the real return address from current->ret_stack. The problem being that we stored the return address on prev->ret_stack, but current now points to next, and next->ret_stack doesn't contain the correct return address (and is possibly even empty). Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 327933f5d6cdf083284d3c06e0370d1de464aef4 Author: Matt Fleming Date: Sat Jul 11 00:29:03 2009 +0000 sh: Function graph tracer support Add both dynamic and static function graph tracer support for sh. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit b99610fb9cdf390965c62c22322596d961591160 Author: Matt Fleming Date: Sat Jul 11 01:00:23 2009 +0000 sh: Provide diagnostic kernel stack checks Enable kernel stack checking code in both the dynamic ftrace and mcount code paths. Check the stack to see if it's overflowing and make sure that the stack pointer contains an address that's either in init_stack or after the bss. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 5a421ce3c062a87db0a9e7f2a0a7ee0a5b869aab Author: Benny Halevy Date: Fri Jul 10 12:37:40 2009 +0300 nfsd41: gather and report statistics also for v4.1 ops Signed-off-by: Benny Halevy Signed-off-by: J. Bruce Fields commit 030c819e79e8ad0320486e9ccbe76d2f0870369f Merge: f6f1eb1 5f34534 Author: Mark Brown Date: Fri Jul 10 21:06:33 2009 +0100 Merge branch 'tlv320aic3x' into reg-cache commit 5bc38193c1793e240a7e0b93f129606931e35fdb Author: Johannes Berg Date: Tue Jul 7 11:00:55 2009 +0200 hwsim: make testmode_cmd static sparse correctly complains about this, no reason for it not to be static. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0b20633d966eb08506f8796544aef7a9ab5f3544 Author: Johannes Berg Date: Tue Jul 7 03:56:13 2009 +0200 cfg80211: disallow configuring unsupported interfaces In order to force drivers to advertise their interface types, don't just disallow creating new interfaces with unadvertised types but also disallow setting them UP. Additionally, add some validation on the operations the drivers support. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 79c97e97aed7f760d2826c7daf2d42d8eefe9838 Author: Johannes Berg Date: Tue Jul 7 03:56:12 2009 +0200 cfg80211: clean up naming once and for all We've named the registered devices 'drv' sometimes, thinking of "driver", which is not what it is, it's the internal representation of a wiphy, i.e. a device. Let's clean up the naming once and and use 'rdev' aka 'registered device' everywhere. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 667503ddcb96f3b10211f997fe55907fa7509841 Author: Johannes Berg Date: Tue Jul 7 03:56:11 2009 +0200 cfg80211: fix locking Over time, a lot of locking issues have crept into the smarts of cfg80211, so e.g. scan completion can race against a new scan, IBSS join can race against leaving an IBSS, etc. Introduce a new per-interface lock that protects most of the per-interface data that we need to keep track of, and sprinkle assertions about that lock everywhere. Some things now need to be offloaded to work structs so that we don't require being able to sleep in functions the drivers call. The exception to that are the MLME callbacks (rx_auth etc.) that currently only mac80211 calls because it was easier to do that there instead of in cfg80211, and future drivers implementing those calls will, if they ever exist, probably need to use a similar scheme like mac80211 anyway... In order to be able to handle _deauth and _disassoc properly, introduce a cookie passed to it that will determine locking requirements. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4f5dadcebb55fccef34722bbbf6401d39124c8a4 Author: Johannes Berg Date: Tue Jul 7 03:56:10 2009 +0200 cfg80211: fix MFP bug, sparse warnings sparse warns about a number of things, and one of them (use_mfp shadowed variable) actually is a bug, fix all of them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4d0c8aead32ecdbe1310ad473b3637991f560865 Author: Johannes Berg Date: Tue Jul 7 03:56:09 2009 +0200 cfg80211: properly name driver locking Currently we call that cfg80211_put_dev(), but that is misleading. With the new convention of using 'rdev' for registered_device variables, also call that function cfg80211_unlock_rdev(). Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c1e6fb1aad0d4d4f032d46b6bab093a41c6c82bf Author: Johannes Berg Date: Tue Jul 7 03:56:08 2009 +0200 cfg80211: warn again on spurious deauth The original code in mac80211 could send a deauth frame under certain circumstances even if nothing had ever requested an authentication. This has been fixed with the rework there, so cfg80211 can now warn again about spurious events to catch possible future drivers or mac80211 regressions. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit cb0b4beb93d14429bf0c50fc1ab8e26348dca880 Author: Johannes Berg Date: Tue Jul 7 03:56:07 2009 +0200 cfg80211: mlme API must be able to sleep After the mac80211 mlme cleanup, we can require that the MLME functions in cfg80211 can sleep. This will simplify future work in cfg80211 a lot. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c238c8ac63f2d33ea5e7c0b9e9e0ccd8ae9a34e4 Author: Johannes Berg Date: Tue Jul 7 03:56:06 2009 +0200 cfg80211: dont use union for wext Otherwise it becomes very hard to reset the structs correctly since wext can be configured while the interface is down. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 78485475618cf9f1c70dc7f15e8deafa8b6074ab Author: Johannes Berg Date: Tue Jul 7 03:56:05 2009 +0200 cfg80211: fix netdev down problem We shouldn't be looking at the ssid_len for non-IBSS, and for IBSS we should also return an error on trying to leave an IBSS while not in or joining an IBSS. This fixes an issue where we wouldn't disconnect() on an interface being taken down since there's no SSID configured this way. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c9cf01226e0bd1fa4f7f7024d8d53e982fad208f Author: Johannes Berg Date: Tue Jul 7 03:45:18 2009 +0200 mac80211: refactor the WEP code to be directly usable The new key work for cfg80211 will only give us the WEP key for shared auth to do that authentication, and not via the regular key settings, so we need to be able to encrypt a single frame in software, and that without a key struct. Thus, refactor the WEP code to not require a key structure but use the key, len and idx directly. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 77fdaa12cea26c204cc12c312fe40bc0f3dcdfd8 Author: Johannes Berg Date: Tue Jul 7 03:45:17 2009 +0200 mac80211: rework MLME for multiple authentications Sit tight. This shakes up the world as you know it. Let go of your spaghetti tongs, they will no longer be required, the horrible statemachine in net/mac80211/mlme.c is no more... With the cfg80211 SME mac80211 now has much less to keep track of, but, on the other hand, for FT it needs to be able to keep track of at least one authentication being in progress while associated. So convert from a single state machine to having small ones for all the different things we need to do. For real FT it will still need work wrt. PS, but this should be a good step. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit a7c1cfc9616ee76213a6d4fd4c17f13fdc92ddce Author: Johannes Berg Date: Tue Jul 7 03:45:16 2009 +0200 mac80211: remove dead code from mlme The ap_capab and last_probe struct members are unused. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3e5d7649a64e558e4146ddfad4dfcf13fc65dd47 Author: Johannes Berg Date: Tue Jul 7 14:37:26 2009 +0200 cfg80211: let SME control reassociation vs. association Since we don't really know that well in the kernel, let's let the SME control whether it wants to use reassociation or not, by allowing it to give the previous BSSID in the associate() parameters. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2ffa5fede379091bf62a732462b829e4b51af054 Author: Christian Lamparter Date: Mon Jul 6 15:18:13 2009 +0200 p54: fix queue stall due to underrun Larry Finger discovered a weird behavior under load. In essence, the queue's length count under runs, which in turn renders the associated ac queue unusable. Reported-by: Larry Finger Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6d541a684d7eb72c71eaba82b09a360c96609134 Author: Christian Lamparter Date: Mon Jul 6 15:17:56 2009 +0200 p54usb: fix stalls caused by urb allocation failures This patch squashes a few old bugs, which have been around since the initial version of p54usb in one form or another. we never freed a orphaned frame, when were denied the resources, which are necessary to pass the data into the usb subsystem. As a result we could end up with a full queue that wasn't emptied, until the device was brought down. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1be491fca12ff599c37ceaf7e9042ebee9f0068e Author: Johannes Berg Date: Sun Jul 5 14:51:06 2009 +0200 rfkill: prep for rfkill API changes We've designed the /dev/rfkill API in a way that we can increase the event struct by adding members at the end, should it become necessary. To validate the events, userspace and the kernel need to have the proper event size to check for -- when reading from the other end they need to verify that it's at least version 1 of the event API, with the current struct size, so define a constant for that and make the code a little more 'future proof'. Not that I expect that we'll have to change the event size any time soon, but it's better to write the code in a way that lends itself to extending. Due to the current size of the event struct, the code is currently equivalent, but should the event struct ever need to be increased the new code might not need changing. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3355443ad7601991affa5992b0d53870335af765 Author: Bob Copeland Date: Sat Jul 4 21:03:13 2009 -0400 ath5k: write PCU registers on initial reset "Ath5k: unify resets" introduced a regression into 2.6.28 where the PCU registers are never initialized, due to ath5k_reset() always passing true for change_channel. We subsequently program a lot of these registers but several may start in an unknown state. Cc: stable@kernel.org Reported-by: Forrest Zhang Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 0d0cd72fa1e6bfd419c99478ec70b4877ed0ef86 Author: Bob Copeland Date: Sat Jul 4 12:59:54 2009 -0400 ath5k: do not release irq across suspend/resume Paraphrasing Rafael J. Wysocki: "drivers should not release PCI IRQs in suspend." Doing so causes a warning during suspend/resume on some platforms. Cc: Rafael J. Wysocki Reported-by: Alan Jenkins Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 88f6bfe1829d67bea37b060d53131b2b96ebc8ac Author: Bob Copeland Date: Sat Jul 4 12:59:53 2009 -0400 ath: remove unnecessary return in ath_regd_get_band_ctl 'default' case already returns NO_CTL Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 21800491cc5c48e9f1084a6f524a0da7c2525cc6 Author: Bob Copeland Date: Sat Jul 4 12:59:52 2009 -0400 ath5k: rework beacon configuration Using the enable_beacon flag allows some simplifications and fixes some corner cases in beacon handling. This change adds a state variable for beaconing in ath5k_beacon_config and handles both enabling and disabling, thus eliminating the need for ath5k_beacon_disable. We also now configure the beacon when any of the beacon parameters change, so ath5k_beacon_reconfig is no longer needed (its mmiowb gets moved to ath5k_beacon_config). Finally, by locking around the whole config function, we don't need to worry about clearing the interrupt mask register before installing the new mask. The upshot is this correctly disables beaconing when the interfaces are taken down, it fixes a potential restarting of beaconing when ath5k_reset() is called, and ensures that updates to the beacon interval take effect immediately. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit cec8db23011d2a0a5ec101a0263d79678adf21ba Author: Bob Copeland Date: Sat Jul 4 12:59:51 2009 -0400 ath5k: send buffered frames after the beacon Enable the "Content" After Beacon queue and utilize it to send any buffered frames for power-saving clients. Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 0859339b5c2902a7a4ba1d4c9cf35d882f421e7f Author: Christian Lamparter Date: Sat Jul 4 17:49:59 2009 +0200 p54spi: remove dead code and definitions This patch removes some dead code: p54spi.c:115: warning: ‘p54spi_read16’ defined but not used and while we're at it, p54spi_registers_array is purged as well. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit a7eee06b874a02e2de75727ab21a8747ca6309ff Author: Christian Lamparter Date: Fri Jul 3 21:01:15 2009 +0200 p54: two endian fixes This patch fixes all CHECK_ENDIAN complains: 1. p54/fwio.c:296:6: warning: restricted __le32 degrades to integer p54/fwio.c:296:6: warning: restricted __le32 degrades to integer 2. p54/p54spi.c:172:32: warning: incorrect type in initializer p54spi.c:172:32: expected restricted __le32 [usertype] buffer p54/p54spi.c:172:32: got unsigned int Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 6c230c02700f9d2aebe6edf9f571835c06707940 Author: Samuel Ortiz Date: Fri Jul 3 02:00:48 2009 +0200 cfg80211: check for current_bss from giwrate When connecting to an ESSID manually, we may not set the BSSID, and thus wdev->wext.connect.bssid will be NULL. wdev->current_bss is always updated when a connection is established so we should check it first. Signed-off-by: Samuel Ortiz Acked-by: Johannes Berg Signed-off-by: John W. Linville commit e47a5cddf893815e7da16e3226b959af785d8aaf Author: Ivo van Doorn Date: Wed Jul 1 15:17:35 2009 +0200 rt2x00: use wiphy rfkill interface Remove the input_polldev from rt2x00 and replace it with the rfkill interface offered by the wiphy structure. This simplifies the entire rfkill handling in rt2x00 and allows us to remove the CONFIG_RT2X00_LIB_RFKILL option and always enables rfkill capabilities. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b623a9f7c488e51dbe4320d8b5cdd0ba242d0067 Author: Johannes Berg Date: Wed Jul 1 14:57:59 2009 +0200 iwlwifi: fix aggregation limit According to the documentation, the limit is 0x3f == 63, not 64. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 96f7e73938da744e718ce4817dd3e7e424624654 Author: Helmut Schaa Date: Tue Jun 30 14:49:18 2009 +0200 mac80211: shorten the passive dwell time for sw scans mac80211's software scan implementation uses a passive dwell time of (HZ / 5) which means we stay 200ms on each passive channel. Compared to iwlwifi's hw scan and the old ipw* drivers which use values around 120ms this is quite long. Reducing the passive dwell time from 200ms to 125ms should save us something around a second on cards capable of 11a and we should still be able to catch beacons from most access points (assuming a ~100ms beacon interval). Signed-off-by: Helmut Schaa Signed-off-by: John W. Linville commit 9d49e861a5e31fb7f575f348743886189045e102 Author: Jiri Slaby Date: Sun Jun 28 23:25:28 2009 +0200 ath9k: remove permissions from debugfs files Don't allow users to open debugfs files, because it can cause oopses. When a user opens some file, driver unlinks it and frees the corresponding structure, we will dereference freed memory. Signed-off-by: Jiri Slaby Signed-off-by: John W. Linville commit 31670070ffe18f8e8743109b19297a0efac0a72c Author: Jiri Slaby Date: Sun Jun 28 23:25:27 2009 +0200 ath5k: remove permissions from debugfs files Don't allow users to open debugfs files, because it can cause oopses. When a user opens some file, driver unlinks it and frees the corresponding structure, we will dereference freed memory. Signed-off-by: Jiri Slaby Signed-off-by: John W. Linville commit 6badaaf7729e5d1c02934b1739303ce79014ab67 Author: Joe Perches Date: Sun Jun 28 09:26:32 2009 -0700 drivers/net/wireless/ath/ath9k: Remove unnecessary semicolons Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 7ac487260e087f1660e856d4afae2dd49774f66b Author: Reinette Chatre Date: Fri Jun 26 11:00:55 2009 -0700 iwlwifi: always print buffer when error condition occurs We want to see the buffer contents when the error occurs without needing to set any debug flags. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 68021b966b3cb363596251bac0370c12e084e7da Author: Reinette Chatre Date: Fri Jun 26 11:00:54 2009 -0700 iwlwifi: add utility to print buffer when error occurs Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit f55e668f902e40a5299deb8cc5940d1d24b19ea0 Author: Reinette Chatre Date: Fri Jun 26 11:00:53 2009 -0700 iwlagn: re-enable PS support for iwlagn The register locking rework addressed the problem where nic access was obtained incorrectly when PS is enabled. Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 19a42803f310ff60ce5a6c02992762068a01394a Author: Zhu Yi Date: Thu Jun 25 18:28:32 2009 +0800 iwmc3200wifi: remove B0 hardware support The patch removes B0 hardware support. Nobody is using it anyway. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit fd2c7fe0b4dedc34ea0a2a72e00648bd2b8c7c3a Author: Zhu Yi Date: Thu Jun 25 18:28:31 2009 +0800 iwmc3200wifi: simplify calibration map The patch simplifies calibration map by combining the init_calib_map and periodic_calib_map into one calib_map in struct iwm_conf. Now the initial calibration map is stored in the lower 16 bits of calib_map and the periodic calibration map is stored in the higher 16 bits. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit dd13fd649879b6230be5d855e00c286c5e60f354 Author: Zhu Yi Date: Thu Jun 25 18:28:30 2009 +0800 iwmc3200wifi: replace netif_rx with netif_rx_ni The patch uses netif_rx_ni() over netif_rx() to post buffers to upper network code because it is always scheduled in a workqueue. The problem was first observed from a dynamic ticks warning: "NOHZ: local_softirq_pending ..." Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8ab0ea77273ecf97d26cf8ca026ef383098577fb Author: Joe Perches Date: Wed Jun 24 22:13:27 2009 -0700 drivers/net/wireless: Use PCI_VDEVICE Signed-off-by: Joe Perches Signed-off-by: John W. Linville commit 140add21356528fc76ad276fd32b2e7abb945325 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:42 2009 +0530 ath9k: Handle different TX and RX streams properly. This patch fixes an issue when the TX and RX streams are different. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit e5f0921a9593365b506f69daa3cfd19c0ed1340b Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:41 2009 +0530 ath9k: race condition in SCANNING state check during ANI calibration ANI calibration shouldn't be done when we are not on our home channel. This is already verified. However, it is racy. Fix this by proper spin locks. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit f38faa31e0da07390d72fb67d3151e56c54871f4 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:40 2009 +0530 ath9k: stop ani when the STA gets disconnected. ANI is not required when the STA is disconnected. So stop it and enable ANI for adhoc and monitor mode. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit 2664f201ef162224c775ecf7e33aee9c4cac62b0 Author: Senthil Balasubramanian Date: Wed Jun 24 18:56:39 2009 +0530 ath9k: remove unnecessary STATION mode check. Remove unncessary STATION mode check in ath9k_bss_assoc_info() as it is called only for STATION mode. Signed-off-by: Senthil Balasubramanian Signed-off-by: John W. Linville commit d8c9210757605c5191d2d9f4e09be5e59ceac824 Author: Christian Lamparter Date: Tue Jun 23 10:39:45 2009 -0500 p54: Modify p54 files for new organization Modify the remaining p54 files to account for the new file organization. Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0a5fb84f6b62bca8352f0aad045118e47340b096 Author: Christian Lamparter Date: Tue Jun 23 10:39:12 2009 -0500 p54: Move TX/RX code Copy the TX/RX code from p54common.c into a new file txrx.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0ac0d6cedf6110381501c236339a9fbe13c3441d Author: Christian Lamparter Date: Tue Jun 23 10:38:49 2009 -0500 p54: Move mac80211 glue code Copy the mac80211 glue code from p54common.c into a new file main.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0533f796993f7e8ccd682005bfbbe4135b24587e Author: Christian Lamparter Date: Tue Jun 23 10:38:24 2009 -0500 p54: Move LMAC interface definitions Copy the LMAC Interface specific definitions from p54common.h into a new file lmac.h Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 0597c0141cf011ccf76419cb4f96f99b0d4b6171 Author: Christian Lamparter Date: Tue Jun 23 10:37:59 2009 -0500 p54: Move LED code Copy the LED code from p54common.c into a new file led.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 76074e1670b197385ce93242e3ba3ccc7a6be377 Author: Christian Lamparter Date: Tue Jun 23 10:37:40 2009 -0500 p54: Move firmware code Copy the firmware i/o code from p54common.c into a new file fwio.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 289b098c2754d04f768b34ac5a9d08b59c38b725 Author: Christian Lamparter Date: Tue Jun 23 10:37:13 2009 -0500 p54: Move eeprom header Copy the eeprom code from p54common.h into a new file eeprom.h Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4c8a32f57105a78c49e01f083717cdb531d3c2b9 Author: Christian Lamparter Date: Tue Jun 23 10:36:26 2009 -0500 p54: Move eeprom code Copy the eeprom code from p54common.c into a new file eeprom.c Signed-off-by: Christian Lamparter Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 35a0ace7739b50331c919a3255639f123b78eaff Author: Roel Kluin Date: Mon Jun 22 17:42:21 2009 +0200 wireless: remove redundant tests on unsigned bufsize and remainder are unsigned. When negative they are wrapped and caught by the other test. Signed-off-by: Roel Kluin Signed-off-by: Pavel Roskin Signed-off-by: John W. Linville commit 1795378ee8d162084c6f98fc62ec309e418dfbe9 Author: Christian Lamparter Date: Sat Jun 20 21:13:46 2009 +0200 p54: redo rx_status into skb->cb This patch slightly optimizes p54_rx_data's stack and code size. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 92179986ba5221a21e0f8a1e9b7b82a2883fef79 Author: Christian Lamparter Date: Sat Jun 20 05:10:24 2009 +0200 ar9170usb: module link in sysfs Andrey Yurovsky reported that the driver forwarded erroneously the parent device structure instead of the real thing, which of course led to some dodgy sysfs links (at least?). Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 2c2f3b33888419fb9e7d015b9dc67b9db4437efa Author: Tomas Winkler Date: Fri Jun 19 13:52:45 2009 -0700 iwlwifi: unify iwl_setup_rxon_timing This patch unifies setup_rxon_timing funcions of AGN and 3945. HWs differ only in supported maximal beacon interval. This is reflected in hw_paras.max_beacon_itrvl Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 4e05c2347a50f1d0892ff3475d7609eec428f781 Author: Johannes Berg Date: Fri Jun 19 13:52:44 2009 -0700 iwlwifi: scan requested channels only When userspace requests only certain channels to be scanned, we currently ignore that request entirely. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 45af81956e990440fe78d6d41f847664cb620609 Author: Johannes Berg Date: Fri Jun 19 13:52:43 2009 -0700 iwlwifi: make software queue assignment more efficient There really is no reason to be assigning txq->swq_id all the time, once at aggregation setup is sufficient. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 90e8e424d9c071f2db22100de81af6c8f7df34ee Author: Tomas Winkler Date: Fri Jun 19 13:52:42 2009 -0700 iwlwifi: drop sw_crypto from hw_params. Each HW supported by iwlwifi is capable of hardware crypto so drop this flag from hw_params structure. Signed-off-by: Tomas Winkler Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 3354a0f6a3ced6957dfb9f689ad075cfa8fd272f Author: Mohamed Abbas Date: Fri Jun 19 13:52:41 2009 -0700 iwlwifi: Check HW ready before prepare card. Hardware may be ready for us to manage it without us trying to prepare it first. Check if this is the case. Signed-off-by: Mohamed Abbas Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 7d5ca3b8b2b38ab676d0adc268a3c6a82e7a7588 Author: Luis R. Rodriguez Date: Fri Jun 19 11:57:59 2009 -0700 ath9k: differentiate quality reporting between legacy and HT configurations We were not differentiating quality between legacy and HT configurations. We change this to consider the differences. New theory for reporting quality: At a hardware RSSI of 45 you will be able to use MCS 7 reliably. At a hardware RSSI of 45 you will be able to use MCS 15 reliably. At a hardware RSSI of 35 you should be able use 54 Mbps reliably. MCS 7 is the highets MCS index usable by a 1-stream device. MCS 15 is the highest MCS index usable by a 2-stream device. All ath9k devices are either 1-stream or 2-stream. How many bars you see is derived from the qual reporting. A more elaborate scheme can be used here but it requires tables of SNR/throughput for each possible mode used. For the MCS table you can refer to the wireless wiki: http://wireless.kernel.org/en/developers/Documentation/ieee80211/802.11n This should fix this bug report: http://bugzilla.kernel.org/show_bug.cgi?id=13537 Cc: Janath.Peiris@atheros.com Cc: Matt.Smith@atheros.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 23b149c1890f9a55f065c6b7842e9383d22e0c04 Author: Andrey Yurovsky Date: Wed Jun 17 19:15:19 2009 -0700 libertas: fix card cleanup order in SDIO driver The SDIO driver sets the surpriseremoved flag before calling lbs_remove_card. With IEEE PS enabled, lbs_remove_card must issue a command to exit IEEE PS mode, however with that flag set the command path is blocked and the card is never taken out of IEEE PS mode. This step is required to ensure that the driver can be reloaded. This patch moves the setting of surpriseremoved after lbs_remove_card is called. Tested with V9 firmware by ensuring that IEEE PS is disabled when the driver is removed. Reloading the driver is not fully tested due to a separate issue with module reload in the SDIO driver, however this patch at least leaves the card in a better state when we bring the driver down. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit efcfd1f28f6a5c377a0e630ca2c96c54eb3f1e8f Author: Andrey Yurovsky Date: Thu Jun 18 09:51:57 2009 -0700 libertas: correct card cleanup order in SPI driver The SPI driver does a couple of card cleanup steps in the wrong order on module removal. If IEEE PS is enabled, this results in the card being left in IEEE PS mode and subsequent failures to reload the module. The problem is that the surpriseremoved flag is set before calling lbs_remove_card, but that function needs to issue a command to exit IEEE PS mode (the flag blocks the command path). In addition, lbs_stop_card should be called first because it clears out any pending commands. Tested on a GSPI device with V9 firmware by confirming that we can reload the module with or without IEEE PS enabled. Also fix a warning from the wrong uint format in a printk. V2: use z modifier, thanks Sebastian. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit ce8d096dac70e92a506d2f686ae4f724f42052cf Author: Andrey Yurovsky Date: Wed Jun 17 18:45:34 2009 -0700 libertas: copy WPA keys to priv when associating Libertas currently maintains a copy of the WPA unicast and group keys when using WPA or WPA2. This copy is checked when deciding whether or not to return to sleep in IEEE PS mode but the actual copying back to priv was omitted, which breaks IEEE PS mode with WPA/WPA2 when one issues commands that require temporarily keeping the device awake. This patch introduces the omitted copy-back of the keys so that IEEE PS functions correctly in WPA/WPA2 mode. Thanks to Dan Williams for clearing up the issue. V2: fix typo. Also, this has been tested on GSPI and SDIO with V9 firmware. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit 9834c079d130217c8c5ac8791428ebeb8c660538 Author: Johannes Berg Date: Mon Jul 6 19:40:51 2009 +0200 cfg80211: fix giwrange "cfg80211: Advertise ciphers via WE according to driver capability" unfortunately broke iwrange -- it used the variable c that needs to be 0 for the channel list. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3dc27d25f288c923735e8f10fa8e578be896e96a Author: Johannes Berg Date: Thu Jul 2 21:36:37 2009 +0200 nl80211: limit to one pairwise cipher for associate() In this case, only one cipher makes sense, unlike for connect() where it may be possible to have the card or driver select. No changes to mac80211 due to the way the structs are laid out -- but the loop in net/mac80211/cfg.c will degrade to just zero or one passes. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 4244f41a040288e07d050ea64f60997c584cce9e Author: David Kilroy Date: Thu Jul 2 20:26:45 2009 +0100 orinoco: fix printk format specifier for size_t arguments This addresses the following compile warnings on 64-bit platforms. drivers/net/wireless/orinoco/scan.c: In function 'orinoco_add_hostscan_results': drivers/net/wireless/orinoco/scan.c:194: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/net/wireless/orinoco/scan.c:211: warning: format '%d' expects type 'int', but argument 3 has type 'size_t' drivers/net/wireless/orinoco/scan.c:211: warning: format '%d' expects type 'int', but argument 4 has type 'size_t' Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 0a9b5e17952ec7ce938645a23ba29bcfdb66c8d9 Author: Johannes Berg Date: Thu Jul 2 18:26:18 2009 +0200 cfg80211: refuse authenticating to same BSSID twice It is possible that there are different BSS structs with the same BSSID, but we cannot authenticate with multiple of them them because we need the BSSID to be unique for deauthenticating/disassociating. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 19957bb399e2722719c0e20c9ae91cf8b6aaff04 Author: Johannes Berg Date: Thu Jul 2 17:20:43 2009 +0200 cfg80211: keep track of BSSes In order to avoid problems with BSS structs going away while they're in use, I've long wanted to make cfg80211 keep track of them. Without the SME, that wasn't doable but now that we have the SME we can do this too. It can keep track of up to four separate authentications and one association, regardless of whether it's controlled by the cfg80211 SME or the userspace SME. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 517357c685ccc4b5783cc7dbdae8824ada19a97f Author: Johannes Berg Date: Thu Jul 2 17:18:40 2009 +0200 cfg80211: assimilate and export ieee80211_bss_get_ie This function from mac80211 seems generally useful, and I will need it in cfg80211 soon. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0eb14647fc6b56f73efb28a72ca0c7cc03a653f9 Author: Johannes Berg Date: Thu Jul 2 15:49:03 2009 +0200 cfg80211: reset auth algorithm When the interface is brought down, we need to reset the auth algorithm because wpa_supplicant doesn't reset it, and then we fail to use shared key auth when required later. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e45cd82ace91b71bc690ba78a0ebea17edfaabef Author: Johannes Berg Date: Thu Jul 2 09:58:04 2009 +0200 cfg80211: send events for userspace SME When the userspace SME is in control, we are currently not sending events, but this means that any userspace applications using wext or nl80211 to receive events will not know what's going on unless they can also interpret the nl80211 assoc event. Since we have all the required code, let the SME follow events from the userspace SME, this even means that you will be refused to connect() while the userspace SME is in control and connected. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab1faead50d09165b58c2854997c7205ca9c0d22 Author: Johannes Berg Date: Wed Jul 1 21:41:17 2009 +0200 mac80211: remove dead code, clean up With mac80211 now always controlled by an external SME, a lot of code is dead -- SSID, BSSID, channel selection is always done externally, etc. Additionally, rename IEEE80211_STA_TKIP_WEP_USED to IEEE80211_STA_DISABLE_11N and clean up the code a bit. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6dc1cb0319997648f59b0f46b9e093e779f0353d Author: Johannes Berg Date: Wed Jul 1 21:40:45 2009 +0200 mac80211: remove auth algorithm retry The automatic auth algorithm issue is now solved in cfg80211, so mac80211 no longer needs code to try different algorithms -- just using whatever cfg80211 asked for is good. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ac00326e9d1d46bf48e9cf60cf892a96b885601a Author: Johannes Berg Date: Wed Jul 1 21:27:01 2009 +0200 mac80211: re-add HT disabling The IEEE80211_STA_TKIP_WEP_USED flag is used internally to disable HT when WEP or TKIP are used. Now that cfg80211 is giving us the required information, we can set the flag appropriately again. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 8990646d2fafeacfacba4a4b1073a4216662089a Author: Johannes Berg Date: Wed Jul 1 21:27:00 2009 +0200 cfg80211: implement get_wireless_stats By dropping the noise reporting, we can implement wireless stats in cfg80211. We also make the handler return NULL if we have no information, which is possible thanks to the recent wext change. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9930380f0bd8405fa6a51d644f3de88c30666519 Author: Johannes Berg Date: Wed Jul 1 21:26:59 2009 +0200 cfg80211: implement IWRATE For now, let's implement that using a very hackish way: simply mirror the wext API in the cfg80211 API. This will have to be changed later when we implement proper bitrate API. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit ab737a4f7dbe57b12b73f482a7b973bf00b41942 Author: Johannes Berg Date: Wed Jul 1 21:26:58 2009 +0200 cfg80211: implement IWAP for WDS This implements siocsiwap/giwap for WDS mode. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit bc92afd92088ab41223383cc6863ab4792533c54 Author: Johannes Berg Date: Wed Jul 1 21:26:57 2009 +0200 cfg80211: implement iwpower Just on/off and timeout, and with a hacky cfg80211 method until we figure out what we want, though this is probably sufficient as we want to use pm_qos for wifi everywhere. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f21293549f60f88c74fcb9944737f11048896dc4 Author: Johannes Berg Date: Wed Jul 1 21:26:56 2009 +0200 cfg80211: managed mode wext compatibility This adds code to make it possible to use the cfg80211 connect() API with wireless extensions, and because the previous patch added emulation of that API with auth() and assoc(), by extension also supports wext on that. At the same time, removes code from mac80211 for wext, but doesn't yet clean up mac80211's mlme code more. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6829c878ecd24ff0ae41b4668c7e9d0f11b66942 Author: Johannes Berg Date: Thu Jul 2 09:13:27 2009 +0200 cfg80211: emulate connect with auth/assoc This adds code to cfg80211 so that drivers (mac80211 right now) that don't implement connect but rather auth/assoc can still be used with the nl80211 connect command. This will also be necessary for the wext compat code. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b23aa676ab9d54469cda9f7151f51a2851c6f36e Author: Samuel Ortiz Date: Wed Jul 1 21:26:54 2009 +0200 cfg80211: connect/disconnect API This patch introduces the cfg80211 connect/disconnect API. The goal here is to run the AUTH and ASSOC steps in one call. This is needed for some fullmac cards that run both steps directly from the target, after the host driver sends a connect command. Additionally, all the new crypto parameters for connect() are now also valid for associate() -- although associate requires the IEs to be used, the information can be useful for drivers and should be given. Signed-off-by: Samuel Ortiz Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 6a669e65c5ec393a650362874e13f7d3365a7827 Author: Johannes Berg Date: Wed Jul 1 21:26:53 2009 +0200 wireless: define AKM suites We'll need these values for some drivers using connect API and for wext compat code, so let's define them. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3f65b24536996ac493777ef11474c47e1d3f56a0 Author: Johannes Berg Date: Wed Jul 1 21:26:52 2009 +0200 mac80211: remove an unused function declaration The ieee80211_scan_results function hasn't existed for a long time now, so its declaration should be removed as well. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit aff89a9b9084931e51b89d8f3ee3c547bea6c422 Author: Johannes Berg Date: Wed Jul 1 21:26:51 2009 +0200 cfg80211: introduce nl80211 testmode command This introduces a new NL80211_CMD_TESTMODE for testing and calibration use with nl80211. There's no multiplexing like like iwpriv had, and the command is not available by default, it needs to be explicitly enabled in Kconfig and shouldn't be enabled in most kernels. The command requires a wiphy index or interface index to identify the device to operate on, and the new TESTDATA attribute. There also is API for sending replies to the command, and testmode multicast messages (on a testmode multicast group). I've also updated mac80211 to be able to pass through the command to the driver, since it itself doesn't implement the testmode command. Additionally, to give people an idea of how to use the command, I've added a little code to hwsim that makes use of the new command to set the powersave mode, this is currently done via debugfs and should remain there, and the testmode command only serves as an example of how to use this best -- with nested netlink attributes in the TESTDATA attribute. A hwsim testmode tool can be found at http://git.sipsolutions.net/hwsim.git/. This tool is BSD licensed so people can easily use it as a basis for their own internal fabrication and validation tools. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 5121ea0481f9cea1dfd958f18d7b4ac78778cd40 Author: Johannes Berg Date: Wed Jul 1 21:26:50 2009 +0200 wext: constify extra argument to wireless_send_event This is never changed by the function, so can be marked const. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 0575606b086ad216b7b1976ca9b9a6e711db92f0 Author: Johannes Berg Date: Wed Jul 1 21:26:49 2009 +0200 mac80211: tell SME about real auth state When the auth algorithm is rejected, but we don't have another one to try, we will eventually retry but that isn't useful -- we'll then do it again and again until we eventually give up. Instead, we should let the SME know and go into disabled state. The same applies for situations where the AP rejects with any other status code. Additionally, when trying the next auth algorithm, we should reset the auth_tries so that just a single lost frame doesn't lead to us giving up on the third auth algorithm. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 7ebbe6bd51a259e16608b3fd7b578f5dd1292a45 Author: Johannes Berg Date: Wed Jul 1 21:26:48 2009 +0200 cfg80211: remove wireless_dev->bssid This variable isn't necessary -- the wext code keeps track of the BSSID itself, and otherwise we have current_bss. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit e6d6e3420d511cd7552a95d1f04bd4c80a9ddb34 Author: Johannes Berg Date: Wed Jul 1 21:26:47 2009 +0200 cfg80211: use proper allocation flags Instead of hardcoding GFP_ATOMIC everywhere, add a new function parameter that gets the flags from the caller. Obviously then I need to update all callers (all of them in mac80211), and it turns out that now it's ok to use GFP_KERNEL in almost all places. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit dad823302135a2d99efd40e35d94a6ff14961c93 Author: Johannes Berg Date: Wed Jul 1 21:26:46 2009 +0200 nl80211: clean up function definitions I don't like the 'extern' keyword much when it's not necessary, it makes lines rather long. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 2a783c136b4f280d9863170bd6703d25bdb4746c Author: Johannes Berg Date: Wed Jul 1 21:26:45 2009 +0200 cfg80211: move break statement to correct place Move a break statement to the correct place _after_ the #endif, otherwise w/o WIRELESS_EXT things break badly. Also, while touching this code, do a cleanup and assign dev->ieee80211_ptr to a new variable. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 898324025fc12132d3ed98f8baf4fb3fa45327e0 Author: Johannes Berg Date: Wed Jul 1 21:26:44 2009 +0200 wext: default to y The way I initially thought we could do wireless extensions is by making all the compat code in cfg80211 be independent of CONFIG_WIRELESS_EXT, but this is turning out to not be feasible. Therefore, fix the Kconfig help text and make the option default to yes, so people won't get a nasty surprise when mac80211 will get rid of its 'select WIRELESS_EXT' any time now. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit d3cebbdcedf8d1519913f6e9bf88dbac7fbaa760 Author: Johannes Berg Date: Wed Jul 1 21:26:43 2009 +0200 mac80211: fix todo lock The key todo lock can be taken from different locks that require it to be _bh to avoid lock inversion due to (soft)irqs. This should fix the two problems reported by Bob and Gabor: http://mid.gmane.org/20090619113049.GB18956@hash.localnet http://mid.gmane.org/4A3FA376.8020307@openwrt.org Signed-off-by: Johannes Berg Cc: Bob Copeland Cc: Gabor Juhos Signed-off-by: John W. Linville commit df2b35b65b7142bac2c7add3a1dedde3a373aff3 Author: Johannes Berg Date: Wed Jul 1 21:26:42 2009 +0200 wext: allow returning NULL stats Currently, wext drivers cannot return NULL for stats even though that would make the ioctl return -EOPNOTSUPP because that would mean they are no longer listed in /proc/net/wireless. This patch changes the wext core's behaviour to list them if they have any wireless_handlers, but only show their stats when available, so that drivers can start returning NULL if stats are currently not available, reducing confusion for e.g. IBSS. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c0acf38e0ba42f93d8d56a6db2e2116ea1b23961 Author: John W. Linville Date: Tue Jun 30 16:55:52 2009 -0400 mac80211_hwsim: fix-up build damage from removal of skb->dst Signed-off-by: John W. Linville commit 293dc5dfdbcc16cde06e40a688394cc8ab083e48 Author: Gabor Juhos Date: Fri Jun 19 12:17:48 2009 +0200 ath9k: remove ath_rx_ps_back_to_sleep helper This helper only clears the SC_OP_WAIT_FOR_{BEACON,CAB} flags. Remove it and clear these flags directly in the approptiate places instead. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit b7351a003ca29ac4372393040ffb06dc04309e2e Author: Gabor Juhos Date: Fri Jun 19 12:17:47 2009 +0200 ath9k: remove unnecessary clearing of SC_OP_WAIT_{BEACON,CAB} flags All SC_OP_WAIT_* flags will be cleared in 'ath9k_conf' when PS mode is disabled, so we don't have to clear it here. Changes-licensed-under: ISC Signed-off-by: Gabor Juhos Signed-off-by: John W. Linville commit f58d4ed98bfe7b2febcd6f0d62744b623e4b8371 Author: Johannes Berg Date: Fri Jun 19 02:45:21 2009 +0200 cfg80211: send wext MLME-MICHAELMICFAILURE.indication Instead of having mac80211 do it itself. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit b5c469108935bacfe6f45005867256801832fdce Author: David Kilroy Date: Thu Jun 18 23:21:35 2009 +0100 orinoco: remove WE nickname support Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 934fd51a94572bcdeea5150ba6a0148971ea9980 Author: David Kilroy Date: Thu Jun 18 23:21:34 2009 +0100 orinoco: convert giwrange to cfg80211 Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit c63cdbe8f80487c372fe0dfe460ed30467029f01 Author: David Kilroy Date: Thu Jun 18 23:21:33 2009 +0100 orinoco: convert scanning to cfg80211 This removes the custom scan cache used by orinoco. We also have to avoid calling cfg80211_scan_done from the hard interrupt, so we offload the entirety of scan processing to a workqueue. This may behave strangely if you start scanning just prior to suspending... Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5217c571c898371c540e49671600d54346b2e123 Author: David Kilroy Date: Thu Jun 18 23:21:32 2009 +0100 orinoco: convert mode setting to cfg80211 Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 721aa2f75b00399074eb443fdf16d797b4504a36 Author: David Kilroy Date: Thu Jun 18 23:21:31 2009 +0100 orinoco: provide generic commit function This allows changes to be commited from cfg80211 functions. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 6415f7df10573bf1ec42644f42bef565127114a1 Author: David Kilroy Date: Thu Jun 18 23:21:30 2009 +0100 orinoco: Handle suspend/restore in core driver Each device does almost exactly the same things on suspend and resume when upping and downing the interface. So move this logic into a common routine. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ef96b5c9ed6ba4b45fd4cf45810c34978bb8d8bb Author: David Kilroy Date: Thu Jun 18 23:21:29 2009 +0100 airport: store irq in card private structure ... instead of relying on the net_device fields. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 5381956b780e82805247c2ec8e32c4c665309394 Author: David Kilroy Date: Thu Jun 18 23:21:28 2009 +0100 orinoco: move netdev interface creation to main driver With the move to cfg80211 it's nice to keep the hardware operations distinct from the interface, even though we can only support a single interface. This also means the driver resembles other cfg80211 drivers. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 35832c50d1d1552618f55aa5457a251df9e63b26 Author: David Kilroy Date: Thu Jun 18 23:21:27 2009 +0100 orinoco: make firmware download less verbose The firmware download code has been in a couple of releases, without any significant issues reported in this code. Convert to use pr_debug, so the messages can be recoverred by defining DEBUG. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit ea60a6aaf55984a13a7150568cc103d006e86ab2 Author: David Kilroy Date: Thu Jun 18 23:21:26 2009 +0100 orinoco: initiate cfg80211 conversion Initialise and register a wiphy. Store the orinoco_private structure in the new wiphy, and use the net_device private area to store the wireless_dev. This results in a change to the way we navigate from a net_device to the driver private orinoco_private, which we encapsulate in the inline function ndev_priv. Most of the remaining calls to netdev_priv are thus replaced by ndev_priv. We can immediately rely on cfg80211 to handle SIOCGIWNAME, so orinoco_ioctl_getname is removed. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 98e5f404485d5d11b15e8351535a0e064a37647c Author: David Kilroy Date: Thu Jun 18 23:21:25 2009 +0100 orinoco: Change set_tkip to use orinoco_private instead of hermes_t hw.h does not include hermes.h, and none of the other functions requires types from that file. Also hermes_t is a (discouraged) typedef so we can't add a forward declaration. Therefore change this function to use orinoco_private. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 8e638267a896e171e49fb9013f5baf96a4ede754 Author: David Kilroy Date: Thu Jun 18 23:21:24 2009 +0100 orinoco: initialise independently of netdev Initialise the orinoco driver before registerring with netdev, which will help when we get to cfg80211... Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a2608362b22ade22ef5472a8c9b82687d86f976f Author: David Kilroy Date: Thu Jun 18 23:21:23 2009 +0100 orinoco: Replace net_device with orinoco_private in driver interfaces Move away from using net_device as the main structure in orinoco function calls. Use orinoco_private instead. This makes more sense when we move to cfg80211, and we get wiphys as well. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 44d8dade8f12ffe5c9b7eddd0512c1548c027a4c Author: David Kilroy Date: Thu Jun 18 23:21:22 2009 +0100 orinoco: firmware helpers should use dev_err and friends We should be able to call these routines before we register with netdev, so avoid printks using the netdev name. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a3f47b9c2ada45ffacc8f2b54507221a1ba8eb10 Author: David Kilroy Date: Thu Jun 18 23:21:21 2009 +0100 orinoco: use dev_err in early initialisation routines This allows us to use determine_fw_capabilities, orinoco_hw_read_card_setting and orinoco_hw_allocate_fid prior to netdev registration. Since dev_dbg only prints if DEBUG is defined (or dynamic debug is enabled), move a couple of the more useful prints up to info. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 42a51b933034bbed93fa54009c96a482044e5b43 Author: David Kilroy Date: Thu Jun 18 23:21:20 2009 +0100 orinoco: Move FID allocation to hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit e9e3d0100eae5f254024bd59229ef1be2b719b84 Author: David Kilroy Date: Thu Jun 18 23:21:19 2009 +0100 orinoco: Move card reading code into hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit a2d1a42a4b44c97fb83c5bf53af8cd6ab4c6c110 Author: David Kilroy Date: Thu Jun 18 23:21:18 2009 +0100 orinoco: Move firmware capability determination into hw.c This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy Signed-off-by: John W. Linville commit 27bea66c22582853ad2e1de93d26c3016493818b Author: David Kilroy Date: Thu Jun 18 23:21:17 2009 +0100 cfg80211: infer WPA and WPA2 support from TKIP and CCMP Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2ab658f9ce218ae93b3d2db2b3fe68bfefb81196 Author: David Kilroy Date: Thu Jun 18 23:21:16 2009 +0100 cfg80211: set WE encoding size based on available ciphers Only set the sizes for WEP40 and WEP104. Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 51cd4aabd082144881644c308647ca501690b68c Author: David Kilroy Date: Thu Jun 18 23:21:15 2009 +0100 cfg80211: allow drivers that can't scan for specific ssids Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 3daf097594d398b2ddd2dca6caeaa92cb9148e23 Author: David Kilroy Date: Thu Jun 18 23:21:14 2009 +0100 cfg80211: Advertise ciphers via WE according to driver capability Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f1f74825fe01ac77204ca34e3240dec50a8207c2 Author: David Kilroy Date: Thu Jun 18 23:21:13 2009 +0100 cfg80211: add wrapper function to get wiphy from priv pointer Signed-off-by: David Kilroy Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 90e3012e94be0755a516f60f5339a2a08f4a7d0a Author: Johannes Berg Date: Thu Jun 18 14:51:12 2009 +0200 mac80211_hwsim: clean up the skb before passing it back We need to clean up the skb before we can copy it, this is required for proper operation since the socket it is still attached to could potentially live in a different network namespace or so. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 3bfbe80e4462c22e5dc42a00b2b394e347f4aa09 Author: Hin-Tak Leung Date: Thu Jun 18 03:53:26 2009 +0100 zd1211rw: sort vid/pid pairs by numerical value In the past ids were inserted in no particular order and it has become hard to see what ids are already included or not. This patch sorts the ids by numerical value and has no functional effect. Signed-off-by: Hin-Tak Leung Signed-off-by: John W. Linville commit 83f5e2cf79390f7ca909b7035dd415230257cc4d Author: Johannes Berg Date: Wed Jun 17 17:41:49 2009 +0200 cfg80211: prohibit scanning the same channel more than once It isn't very useful to scan the same channel more than once during a given scan, and some hardware (notably iwlwifi) can only scan a limited number of channels at a time. To prevent any overflows, simply disallow scanning any channel multiple times in a given scan command. This is a small change in the userspace ABI, but the only user, wpa_supplicant, never asks for a scan with the same frequency listed twice. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 386aa23dd5f94b810210b9f849807946a5100b57 Author: Johannes Berg Date: Wed Jun 17 17:28:45 2009 +0200 mac80211: improve per-sta debugfs We had code for a number of files, that we didn't publish in debugfs, fix that. Also make the agg_status file layout more readable and add more information to it. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit f1d58c2521eb160178b2151d6326d8dc5d7c8560 Author: Johannes Berg Date: Wed Jun 17 13:13:00 2009 +0200 mac80211: push rx status into skb->cb Within mac80211, we often need to copy the rx status into skb->cb. This is wasteful, as drivers could be building it in there to start with. This patch changes the API so that drivers are expected to pass the RX status in skb->cb, now accessible as IEEE80211_SKB_RXCB(skb). It also updates all drivers to pass the rx status in there, but only by making them memcpy() it into place before the call to the receive function (ieee80211_rx(_irqsafe)). Each driver can now be optimised on its own schedule. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 18ad01c43918751cc22f8ee28f6b38b8954a55b2 Author: Johannes Berg Date: Tue Jun 16 20:46:45 2009 +0200 rt2x00: remove skb->do_not_encrypt usage Johannes is trying to get rid of the master netdev and in the process will remove skb->do_not_encrypt field. This removes the do_not_encrypt usage from rt2x00 to make the change easier. Signed-off-by: Johannes Berg Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit a538e2d5a30f577e9c8f6ccfe72b29a258e0fe86 Author: Johannes Berg Date: Tue Jun 16 19:56:42 2009 +0200 cfg80211: issue netlink notification when scan starts To ease multiple apps working together smoothly, send a notification when a scan is started. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 222ec50a0a5d20e75522aacf4c767df6585e8548 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:32 2009 +0300 rndis_wlan: convert set/get txpower to cfg80211 Convert set/get txpower to cfg80211 and add stop netdev handler to turn off radio for rfkill. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit a33e9e7f35ef6dcab528e0327f29188475f60691 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:27 2009 +0300 usbnet: Add stop function pointer to 'struct rndis_data'. Allow minidriver to know that netdev has stopped. This is to let wireless turn off radio when usbnet dev is stopped. Signed-off-by: Jussi Kivilinna Acked-by: David Brownell Acked-by: David S. Miller Signed-off-by: John W. Linville commit d75ec2b7ec27fd6cdba78492fbd63bee4d091a87 Author: Jussi Kivilinna Date: Tue Jun 16 17:17:21 2009 +0300 rndis_wlan: convert get/set frag/rts to cfg80211 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 257862f3faef397f1a677ae6a5a1828fa00a97b1 Author: Zhu Yi Date: Mon Jun 15 21:59:56 2009 +0200 iwmc3200wifi: rfkill cleanup The patch cleans up the unused rfkill related structures and flags. It also adds wext and cfg80211 handlers for txpower auto and off so that software rfkill could be issued by user space. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 3549716484a95fd16f7fcf8b68699bd4c803b382 Author: Samuel Ortiz Date: Mon Jun 15 21:59:54 2009 +0200 iwmc3200wifi: cache keys when interface is down When the interface is down and one sets a WEP key from userspace, we should be able to simply cache it. Since that implies setting part of the profile's security settings, we now alloc/free the umac_profile at probe/remove time, and no longer at interface bring up/down time. Simply resetting it during the latter is enough. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 191506ecbce03f09f6afa76f1af069574bf99bec Author: Zhu Yi Date: Mon Jun 15 21:59:53 2009 +0200 iwmc3200wifi: change coexist periodic calibration flag The patch changes coexist periodic calibration priority flag. It also set wireless mode to UMAC and set PM control flag to 0x1. Signed-off-by: Zhu Yi Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 13e0fe70960e95cdea89b71aa3d046ec71efac8c Author: Samuel Ortiz Date: Mon Jun 15 21:59:52 2009 +0200 iwmc3200wifi: cfg80211 key hooks implemetation This patch implements the new cfg80211 privacy related hooks: add/get/set_key and the set_default_key one. With this implementation we can now call the wext-compat *encode* routines and reduce our own wext code. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit a70742f167424bab794ca74b9e99b598b358bb7d Author: Samuel Ortiz Date: Mon Jun 15 21:59:51 2009 +0200 iwmc3200wifi: handling wifi_if_ntfy responses When we're calling iwm_send_wifi_if_cmd() with the resp flag set, we're currently waiting on the mlme queue, waiting for some flags here and there to show up. This patch adds a wifi_ntfy bitmap, and when we're sending a wifi_if command expecting an answers, we wait synchronously for it to show up, on a dedicated queue. The wifi_ntfy bit is set when we receive the corresponding answer. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 0c5553b1392dea5ba5ad678790367c1275ed1172 Author: Samuel Ortiz Date: Mon Jun 15 21:59:50 2009 +0200 iwmc3200wifi: invalidate keys when changing the BSSID While associated, we have to invalidate our key cache if we clear our BSSID through siwap. Signed-off-by: Samuel Ortiz Signed-off-by: John W. Linville commit 030b865520c3e26f4a316852aa022a22c4948907 Author: Wey-Yi Guy Date: Fri Jun 12 13:22:55 2009 -0700 iwlwifi: remove disable_tx_power for device > 4965 After 4965, tx_power_calibration moved from driver to uCode. remove "disable_tx_power" from debugfs to minimize the confusion. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit fe6efb4b423c923fb491a9ca4fa419e843548740 Author: Wey-Yi Guy Date: Fri Jun 12 13:22:54 2009 -0700 iwlwifi: no need to refer to max_nrg_cck range value max_nrg_cck value inside the sensitivity range structure is not needed for sensitivity calibration. Keep the parameter in sensitivity structure but set the value to "0" in case needed in the future implementation. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 9d67187dbd93df98011f7229f76de25d142b57cc Author: Wey-Yi Guy Date: Fri Jun 12 13:22:53 2009 -0700 iwlwifi: modify sensitivity value for 5150 In 5150 there is a long delay between the AGC(Automatic Gain Control) command till the RF is stabilized causing us to miss detections when there was adjacent channel noise, so we need to adjusted the Sensitivity calibration for 5150 differently. Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 47af3fe36dc478f7eddc8bec104ff1876d71f37c Author: Luciano Coelho Date: Fri Jun 12 14:17:53 2009 +0300 wl1251: change psm enabled/disabled info to debug With shorter CAM timeouts, the logs get flooded with "psm enabled" and "psm disabled traces. This patch changes it from wl1251_info to wl1251_debug, so they are only shown if DEBUF_PSM is enabled. Signed-off-by: Luciano Coelho Reviewed-by: Janne Ylalehto Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 05fac682c2ca0c572d1bd8e6a38025838ddf0e68 Author: Kalle Valo Date: Fri Jun 12 14:17:47 2009 +0300 wl1251: fix a checkpatch warning drivers/net/wireless/wl12xx/wl1251_main.c:158: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 80301cdcfe44e3533175be23d7d52a9fc8c3fdb0 Author: Kalle Valo Date: Fri Jun 12 14:17:39 2009 +0300 wl1251: use wl1251 prefix everywhere Last we can change all code prefixes from wl12xx/WL12XX to wl1251/WL1251. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 1e6f172fccbf1194bad4b2aeae437ec3189a3f08 Author: Kalle Valo Date: Fri Jun 12 14:17:33 2009 +0300 wl12xx: remove unused wl12xx_hw_init_mem_config() The function declaration is a leftover from some earlier, already removed, code. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 1367411858d5fc60b632a3f488f2b4adc73d12d7 Author: Kalle Valo Date: Fri Jun 12 14:17:25 2009 +0300 wl1251: rename wl12xx.h to wl1251.h wl12xx.h is now only used by 1251 code, so we can rename it. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit ef2f8d45771490de5b8373c25e983ee1e3aee9ea Author: Kalle Valo Date: Fri Jun 12 14:17:19 2009 +0300 wl1251: add wl1251 prefix to all 1251 files Now that all 1271 files are split, we can add wl1251_ prefix to the files. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit c731837855a9dcc2ec0c5367b0e16ad975aaed16 Author: Kalle Valo Date: Fri Jun 12 14:17:12 2009 +0300 wl1251: remove wl1271_setup() We don't want to have any 1271 code in wl1251. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: John W. Linville commit c5ce901b3fdb2312f896f138ac864a7ef363c02d Author: Kalle Valo Date: Fri Jun 12 14:17:06 2009 +0300 wl12xx: rename driver to wl1251 Rename driver to wl1251.ko in preparation for wl1271 driver. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit e6f0b5c2993609c576a0c45e86f7e5b6dd0ae421 Author: Kalle Valo Date: Fri Jun 12 14:16:58 2009 +0300 wl12xx: rename wl1251.c wl1251_ops.c In preparation to split wl12xx to wl1251 and wl1271. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Reviewed-by: Luciano Coelho Signed-off-by: John W. Linville commit 77cc9e43cee58303893f3a4fb8eaa2a3288c9c17 Author: Juuso Oikarinen Date: Fri Jun 12 14:16:52 2009 +0300 wl12xx: Use chipset specific join commands Add implementation to use chipset specific join commands. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit ce650b5cde686a282aed860bb5cd7368e00eac07 Author: Vidhya Govindan Date: Fri Jun 12 14:16:45 2009 +0300 wl12xx: Assign value to rx msdu lifetime variable The patch "wl12xx: cmd and acx interface rework" failed to assign MSDU lifetime value in wl12xx_acx_rx_msdu_life_time() and breaks the functionality. This patch fixes the regression by assigning the correct value. Signed-off-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0182f8d56c1836629f8331a19bd71e3833b81769 Author: Kalle Valo Date: Fri Jun 12 14:16:39 2009 +0300 wl12xx: enable ELP mode ELP mode is working now, let's enable it so that the firmware can sleep and reduce power consumption. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit c5483b71936333ba9474f57d0f3a7a7abf9b87a0 Author: Kalle Valo Date: Fri Jun 12 14:16:32 2009 +0300 wl12xx: check if elp wakeup failed Check the return call from wl12xx_ps_elp_wakeup() and bail out if it fails. This shouldn't happen, but if does there's a fundamental low level issue. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 01d9cfbdaadc64a46b57437c989bbad241074135 Author: Kalle Valo Date: Fri Jun 12 14:16:26 2009 +0300 wl12xx: optimise elp wakeup and sleep calls The wakeup call was done too deep in code path, it's better to wakeup chip from higher levels. This will also reduce wakeup calls significantly. Signed-off-by: Kalle Valo Reviewed-by: Luciano Coelho Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit cee4fd2712a3db21f432bdff14e59aed160453b2 Author: Kalle Valo Date: Fri Jun 12 14:16:20 2009 +0300 wl12xx: protect wl12xx_op_set_rts_threshold() The function doesn't lock the mutex before sending the acx. Signed-off-by: Kalle Valo Reviewed-by: Vidhya Govindan Signed-off-by: Luciano Coelho Signed-off-by: John W. Linville commit 6021b2895891b161f73ede9938c101234c63218e Author: Ari Kauppi Date: Fri Jun 12 14:16:13 2009 +0300 wl12xx: Fix CMD_TEST regression via netlink. CMD_TEST via netlink API has been broken since e29c3f59cfbc38c3b481a2694b08962da19c4664: cmd and acx interface rework. The user of the interface sends the request in a buffer without the wl12xx_command header but expects the response to have the wl12xx_command header (with id and status). This patch reverts the e29c3f5 commit for cmd.c:wl12xx_cmd_test and implements the needed wrapper functionality in netlink.c. Now the API of wl12xx_cmd_test and rest of wl12xx_cmd_* commands in cmd.c are similar. Signed-off-by: Ari Kauppi Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c518a73e537a2c7b83e490335ddedb6465fa5f73 Author: Ari Kauppi Date: Fri Jun 12 14:16:07 2009 +0300 wl12xx: Fix incorrect warning message. A warning message in wl12xx_acx_event_mbox_mask has a copy/paste error. Fix it to print the correct acx command. Signed-off-by: Ari Kauppi Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8ec8beb28361864c82153fec5ddb82c9d636430f Author: Juuso Oikarinen Date: Fri Jun 12 14:16:00 2009 +0300 wl12xx: Add support for block reading from a fixed register address Add support for block reading (multiple bytes) from a fixed chipset register address. This is required for the wl1271 TX data path. Signed-off-by: Juuso Oikarinen Reviewed-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9f2ad4fb52916e58a1b75e9a30f42638655932d3 Author: Juuso Oikarinen Date: Fri Jun 12 14:15:54 2009 +0300 wl12xx: Moved wl1251 TX path implementation into chip specific files Moved wl1251 TX path implementation into chip specific files to enable parallel implementation for the wl1271 TX path. Signed-off-by: Juuso Oikarinen Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 9f483dc3d1b0b1695c8177c1dea2e721954b10fb Author: Luciano Coelho Date: Fri Jun 12 14:15:46 2009 +0300 wl12xx: pass the wake up condition when configuring the wake up event Changed the function wl12xx_acx_wake_up_conditions() so that it receives an argument with the actual wake up condition, instead of having WAKE_UP_EVENT_DTIM_BITMAP hardcoded. This is needed because we have to use different conditions in 1271. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 052a625a859ceba68022862eeee70511f56483a5 Author: Luciano Coelho Date: Fri Jun 12 14:15:41 2009 +0300 wl12xx: add support for fixed address in wl12xx_spi_read In the wl1271 implementation, we need to read memory from the register partition using fixed addresses. This change adds the possibility to request fixed address when calling wl12xx_spi_read() or wl12xx_spi_reg_read(). Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 27797d68f70b28e77e6d183910dc7b3d7505105d Author: Luciano Coelho Date: Fri Jun 12 14:15:33 2009 +0300 wl12xx: add support for new WL1271 chip revision This patch adds the code that recognizes the new WL1271 chip revision (PG 2.0). Full support for this chip is not yet implemented and support for WL1271 PG 1.0 is not guaranteed anymore. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0d1c38398fa8cd478a229b4428fb511f813376e8 Author: Luciano Coelho Date: Fri Jun 12 14:15:27 2009 +0300 wl12xx: moved firmware version reading routine to chip-specific functions With WL1271, the firmware version can only be read right after booting the chip. To keep WL1251 aligned with this procedure, the code that reads the firmware version initially has been moved to a common place where it can be read from both chipsets. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit a336e266640cd9f7be96b14ff09bbb37dfa646de Author: Luciano Coelho Date: Fri Jun 12 14:15:22 2009 +0300 wl12xx: add wl12xx_spi_reg_read() and wl12xx_spi_reg_write() functions In some cases we need to read more than 32 bits from the register area. These functions were added to support that, like the existing wl12xx_spi_mem_read() and wl12xx_spi_mem_write() already do for large blocks in the memory area. Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 0628817accc305201fc0e1b7f020dec618c868cc Author: Juuso Oikarinen Date: Fri Jun 12 14:15:13 2009 +0300 wl12xx: removed chipset interrupt source configuration from fw wakeup The chipset source interrupt source configuration during fw wakeup was blocking interrupts on the wl1271. The configuration is effectively unused here as it is used to trigger an interrupt for the chipset wake-up event, which is not handled, or waited for, in the fw wakeup anyway on either wl1251 or wl1271. Signed-off-by: Juuso Oikarinen Signed-off-by: Luciano Coelho Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 4721213fdde4456a36a5e63f02e5c2556a4df398 Author: Kalle Valo Date: Fri Jun 12 14:15:08 2009 +0300 wl12xx: fix rx descriptor use Rx descriptor was incorrectly allocated from stack, use struct wl12xx instead. Needed for DMA transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 53d65423ba1bc3c38d53b27656395c632b073590 Author: Kalle Valo Date: Fri Jun 12 14:15:00 2009 +0300 wl12xx: use wl12xx_mem_read32() to read the rx counter As a side effect the transfer is now DMA safe. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 5262c12d16334a37354c93d606bdb96499f7e5fc Author: Kalle Valo Date: Fri Jun 12 14:14:55 2009 +0300 wl12xx: allocate buffer the spi busy word from struct wl12xx Needed for DMA transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 56343a3cfdea4d341c7c13d26013024037eae602 Author: Kalle Valo Date: Fri Jun 12 14:14:47 2009 +0300 wl12xx: allocate buffer spi read/write command buffer kzalloc() Needed for DMA safe transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 8d47cdb617e0e76e05ea0f92fc164e53bf874b30 Author: Kalle Valo Date: Fri Jun 12 14:14:41 2009 +0300 wl12xx: reserve buffer for partition command in struct wl12xx This is now DMA safe. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c4f5c8521868789caaf704c9c2d523b40ccfcb02 Author: Kalle Valo Date: Fri Jun 12 14:14:34 2009 +0300 wl12xx: fix error handling in wl12xx_probe() Resources were not freed properly in some cases. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit 1d3b8130611bbe50168ad0a12841735c9c235410 Author: Kalle Valo Date: Fri Jun 12 14:14:28 2009 +0300 wl12xx: reserver buffer for read32()/write32() in struct wl12xx The buffer is needed for DMA safe transfers. Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit ff25839bf0c99e828c26864a24417a36a6b6a31e Author: Kalle Valo Date: Fri Jun 12 14:14:19 2009 +0300 wl12xx: cmd and acx interface rework Rework cmd and acx interfaces, it was just too confusing earlier. Now all commands need to contain all the needed headers, either just cmd headers or both cmd and acx headers. This accomplish to remove the extra copy done for each command. The interfaces are now properly documented as well. Also try to make all commands safe for DMA transfers. I might have missed some, but most of them should be fixed now. And this is not all! As a free bonus you will also get some cosmetic cleanups and code reorganisation. Order today! Signed-off-by: Kalle Valo Signed-off-by: John W. Linville commit c4f9f16b309b65f9f578ec4ba78b3efa106cf65d Author: Vasanthakumar Thiagarajan Date: Fri Jun 12 10:55:55 2009 +0530 ath9k: Make sure we configure a non-zero beacon interval This patch moves the sanity check on beacon interval which was done only for mesh mode to all operating modes just to be safe. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e0d6133cba88759bc760b254c27975330fff6519 Author: Andrey Yurovsky Date: Tue Jun 16 13:20:01 2009 -0700 libertas: remove ps_supported flag, use fwcapinfo Power save support depends on the firmware capabilities rather than the card's hardware interface. Use the FW_CAPINFO_PS bit in the firmware capabilities mask throughout the driver in place of the redundant ps_supported flag and don't make decisions about PS support in the interface drivers (with the exception of a special case in the USB driver). V2: put the USB special case in the right place. Signed-off-by: Andrey Yurovsky Acked-by: Dan Williams Signed-off-by: John W. Linville commit f0f3d388baabdbc613548d6ad8e5da7616b1cbd1 Author: Bob Copeland Date: Wed Jun 10 22:22:21 2009 -0400 ath5k: enable hardware LEDs Cardbus and some PCI cards use hardware LEDs rather than software GPIOs. Program them with the proper blink patterns when idle, scanning or associated. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=13288. Tested-by: Frans Pop Tested-by: Mark Hindley Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 46026e8f487c075f9ec4d671348e351eb5e46d3e Author: Bob Copeland Date: Wed Jun 10 22:22:20 2009 -0400 ath5k: cleanup ath5k_hw struct ah_gpios array isn't used, and ah_current_channel can be a pointer instead of an embedded struct. Removing these and some other write-only variables, and moving some things around for better packing and cache utilization saves 116 bytes. text data bss dec hex filename 121762 472 64 122298 1ddba ath5k_before.ko 121646 472 64 122182 1dd46 ath5k.ko Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 8a46097a6c60dc9d2f09bf01734f3308142614b3 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:09 2009 +0530 ath9k: downgrade ASSERT() in ath_clone_txbuf() We can easily run out of tx buf if there is any stuck in transmission, so downgrade it to WARN_ON(). Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit c3d8f02ed9699252d69a9a14276980d9df7c5fe1 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:08 2009 +0530 ath9k: Remove unnecessary count for addba attempt mac80211 already has one to keep track of number of failure addba attempts. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit 089e698d235162324142063c96780aeacd546d36 Author: Vasanthakumar Thiagarajan Date: Wed Jun 10 17:50:07 2009 +0530 ath9k: Nuke unneccesary helper function to see if aggr is active IEEE80211_TX_CTL_AMPDU in tx control flags should be enough to confirm BA is negotiated for that tid. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: John W. Linville commit e36d56b64808aec54b68b4e9976180c1da0933b2 Author: Johannes Berg Date: Tue Jun 9 21:04:43 2009 +0200 cfg80211: pass netdev to change_virtual_intf If there was a reason I'm passing the ifidx I cannot remember it any more and don't see one now, so let's just pass the pointer itself. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1aaad49e856ce41adc07d8ae0c8ef35fc4483245 Author: Frans Pop Date: Mon Jul 6 13:31:48 2009 +0200 printk: Restore previous console_loglevel when re-enabling logging When logging to console is disabled from userspace using klogctl() and later re-enabled, console_loglevel gets set to the default log level instead to the previous value. This means that if the kernel was booted with 'quiet', the boot is suddenly no longer quiet after logging to console gets re-enabled. Save the current console_loglevel when logging is disabled and restore to that value. If the log level is set to a specific value while disabled, this is interpreted as an implicit re-enabling of the logging. The problem that prompted this patch is described in: http://lkml.org/lkml/2009/6/28/234 There are two variations possible on the patch below: 1) If klogctl(7) is called while logging is not disabled, then set level to default (partially preserving current functionality): case 7: /* Enable logging to console */ - console_loglevel = default_console_loglevel; + if (saved_console_loglevel == -1) + console_loglevel = default_console_loglevel; + else { + console_loglevel = saved_console_loglevel; + saved_console_loglevel = -1; + } 2) If klogctl(8) is called while logging is disabled, then don't enable logging, but remember the requested value for when logging does get enabled again: case 8: /* Set level of messages printed to console */ [...] - console_loglevel = len; + if (saved_console_loglevel == -1) + console_loglevel = len; + else + saved_console_loglevel = len; Yet another option would be to ignore the request. Signed-off-by: Frans Pop Cc: cryptsetup@packages.debian.org Cc: Andrew Morton Cc: Linus Torvalds LKML-Reference: <200907061331.49930.elendil@planet.nl> Signed-off-by: Ingo Molnar commit a1b4f1a5b7f57be2593a9f1fca465a529c95fc07 Author: Cyrill Gorcunov Date: Sun Jul 5 20:01:54 2009 +0400 x86, ipi: Clean up safe_smp_processor_id() by using the cpu_has_apic() macro helper We already use a lot of cpu_has_ helpers. Lets do here the same for consistency. Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090705160154.GB4791@lenovo> Signed-off-by: Ingo Molnar commit 9ff80942992cd5abd0779c815f310f65b7b83860 Author: Cyrill Gorcunov Date: Wed Jul 8 22:03:53 2009 +0400 x86: Clean up idt_descr and idt_tableby using NR_VECTORS instead of hardcoded number Signed-off-by: Cyrill Gorcunov Cc: Yinghai Lu LKML-Reference: <20090708180353.GH5301@lenovo> Signed-off-by: Ingo Molnar commit e202687927c132b1e1ff36b526b5e78ac33de840 Merge: a357800 8b2c70d Author: Ingo Molnar Date: Fri Jul 10 13:30:06 2009 +0200 Merge branch 'tip/tracing/ring-buffer-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/core commit 3c6aae4489e7c05f3685e9eaa538249be7c79ebe Author: Takashi Iwai Date: Fri Jul 10 12:52:27 2009 +0200 ALSA: hda - Check codec errors in snd_hda_get_connections() The codec read errors in snd_hda_get_connections() are ignored so far, and it causes a problem like the bug in the commit 9d30937accf2c01e8b0bd59787409a7348cbbcb7 ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking Better to check errors in the function and returns a proper error code rather than passing bogus NID values. Signed-off-by: Takashi Iwai commit 31909b83ea5b4035ce129bb0df622ec2d2fb3e96 Author: Takashi Iwai Date: Fri Jul 10 12:33:48 2009 +0200 ALSA: hda - Fix the merge error Fix the merge error at the commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572, an addition of the missing alc880_gpio3_init_verbs to ALC882_TARGA model. Signed-off-by: Takashi Iwai commit 8259cf4342029aad37660e524178c8858f48b0ab Author: Robin Getz Date: Thu Jul 9 13:08:37 2009 -0400 printk: Ensure that "console enabled" messages are printed on the console Today, when a console is registered without CON_PRINTBUFFER, end users never see the announcement of it being added, and never know if they missed something, if the console is really at the start or not, and just leads to general confusion. This re-orders existing code, to make sure the console is added, before the "console [%s%d] enabled" is printed out - ensuring that this message is _always_ seen. This has the desired/intended side effect of making sure that "console enabled:" messages are printed on the bootconsole, and the real console. This does cause the same line is printed twice if the bootconsole and real console are the same device, but if they are on different devices, the message is printed to both consoles. Signed-off-by : Robin Getz Cc: "Andrew Morton" Cc: "Linus Torvalds" LKML-Reference: <200907091308.37370.rgetz@blackfin.uclinux.org> Signed-off-by: Ingo Molnar commit a35780005eb256eb5ec83ffcc802967295887a45 Author: Lai Jiangshan Date: Mon Jul 6 16:10:23 2009 +0800 tracing/workqueues: Add refcnt to struct cpu_workqueue_stats The stat entries can be freed when the stat file is being read. The worse is, the ptr can be freed immediately after it's returned from workqueue_stat_start/next(). Add a refcnt to struct cpu_workqueue_stats to avoid use-after-free. Signed-off-by: Lai Jiangshan Signed-off-by: Li Zefan Acked-by: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A51B16F.6010608@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d8ea37d5de58d35a39d0b4e7d209751aaa1b8174 Author: Lai Jiangshan Date: Mon Jul 6 16:10:18 2009 +0800 tracing/stat: Add stat_release() callback Add stat_release() callback to struct tracer_stat, so a stat tracer can release it's entries after the stat file has been read out. Signed-off-by: Lai Jiangshan Signed-off-by: Li Zefan Cc: Lai Jiangshan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A51B16A.6020708@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 80098c200e2ee3b4c86a9d1e156dbcd05380e08f Author: Li Zefan Date: Mon Jul 6 16:15:04 2009 +0800 kmemtrace: Rename some functions So we have: - kmemtrace_print_alloc/free() for kmemtrace default output - kmemtrace_print_alloc/free_user() for binary output used by kmemtrace-user. Suggested-by: Eduard - Gabriel Munteanu Signed-off-by: Li Zefan Acked-by: Pekka Enberg Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A51B288.70505@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 6a167c655858cbec4175532fd00417661c87f149 Author: Frederic Weisbecker Date: Thu Jul 9 04:46:30 2009 +0200 tracing/kmemtrace: Use the %pf format Remove the obsolete seq_print_ip_sym() usage and replace it by the %pf format in order to print function symbols. Signed-off-by: Frederic Weisbecker Reviewed-by: Li Zefan Cc: Steven Rostedt Cc: Lai Jiangshan Cc: Pekka Enberg Cc: Eduard - Gabriel Munteanu LKML-Reference: <1247107590-6428-3-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 68baafcfc46074c4bb4e4c3115c2c76a8a85f37d Author: Frederic Weisbecker Date: Thu Jul 9 04:46:29 2009 +0200 tracing/function-graph-tracer: Use the %pf format Remove the obsolete seq_print_ip_sym() usage and replace it by the %pf format in order to print function symbols. Signed-off-by: Frederic Weisbecker Reviewed-by: Li Zefan Cc: Steven Rostedt Cc: Lai Jiangshan LKML-Reference: <1247107590-6428-2-git-send-email-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit dc82ec98a4727fd51b77e92d05fe7d2db3dcc11c Author: Xiao Guangrong Date: Thu Jul 9 16:22:22 2009 +0800 tracing/filter: Remove empty subsystem and its directory Remove empty subsystem and its directory when module unload. Before patch: # rmmod trace-events-sample.ko # ls sample enable filter After patch: # rmmod trace-events-sample.ko # ls sample ls: cannot access sample: No such file or directory Signed-off-by: Xiao Guangrong Acked-by: Tom Zanussi Reviewed-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A55A8BE.9010707@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c5cb183608167c744cb28bbd85884be5a4ce875d Author: Xiao Guangrong Date: Thu Jul 9 16:20:12 2009 +0800 tracing/filter: Remove preds from struct event_subsystem No need to save preds to event_subsystem, because it's not used. Signed-off-by: Xiao Guangrong Acked-by: Tom Zanussi Reviewed-by: Li Zefan Cc: Frederic Weisbecker Cc: Steven Rostedt LKML-Reference: <4A55A83C.1030005@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 2802e34590f290173a3f2aa5a4d662ae5373b420 Author: Tim Abbott Date: Thu Jul 9 14:45:59 2009 +0000 sh: Clean up linker script using new linker script macros. This patch converts the sh architecture to use the new linker script macros in include/asm-generic/vmlinux.lds.h. Signed-off-by: Tim Abbott Cc: Paul Mundt Cc: Sam Ravnborg Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt commit fa5ec8a1f66f3c2a3af723abcf8085509c9ee682 Author: David Rientjes Date: Tue Jul 7 00:14:14 2009 -0700 slub: add option to disable higher order debugging slabs When debugging is enabled, slub requires that additional metadata be stored in slabs for certain options: SLAB_RED_ZONE, SLAB_POISON, and SLAB_STORE_USER. Consequently, it may require that the minimum possible slab order needed to allocate a single object be greater when using these options. The most notable example is for objects that are PAGE_SIZE bytes in size. Higher minimum slab orders may cause page allocation failures when oom or under heavy fragmentation. This patch adds a new slub_debug option, which disables debugging by default for caches that would have resulted in higher minimum orders: slub_debug=O When this option is used on systems with 4K pages, kmalloc-4096, for example, will not have debugging enabled by default even if CONFIG_SLUB_DEBUG_ON is defined because it would have resulted in a order-1 minimum slab order. Reported-by: Larry Finger Tested-by: Larry Finger Cc: Christoph Lameter Signed-off-by: David Rientjes Signed-off-by: Pekka Enberg commit e5a8a896f5180f2950695d2d0b79db348d200ca4 Merge: bff3877 e594e96 Author: David S. Miller Date: Thu Jul 9 20:18:24 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit 3ccdccfadbd2548abe38682b587f4ba27eac2fc9 Author: Andi Kleen Date: Thu Jul 9 00:31:45 2009 +0200 x86: mce: Lower maximum number of banks to architecture limit The Intel x86 architecture right now only supports 32 machine check banks, more would bump into other MSRs. So lower the max define to 32. This only affects a few bitmaps, most data structures are dynamically sized anyways. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit a2d32bcbc008aa0f9c301a7c6f3494cb23e6af54 Author: Andi Kleen Date: Thu Jul 9 00:31:44 2009 +0200 x86: mce: macros to compute banks MSRs Instead of open coded calculations for bank MSRs hide the indexing of higher banks MCE register MSRs in new macros. No semantic changes. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit cebe182033f156b430952370fb0f9dbe6e89b081 Author: Andi Kleen Date: Thu Jul 9 00:31:43 2009 +0200 x86: mce: Move per bank data in a single datastructure This addresses one of the leftover review comments. Move the per bank data into a single structure. This avoids several separate variables and also separate allocation of sysfs objects. I didn't move the CMCI ownership information so far because that would have needed some non trivial changes in the algorithms. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 9eda8cb3ac235217e4ffa01cb9cedee1c1550599 Author: Andi Kleen Date: Thu Jul 9 00:31:42 2009 +0200 x86: mce: Move code in mce.c Now that the X86_OLD_MCE ifdefs are gone move some code that used to be outside the big ifdef to a more natural place near its user. No code change. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit c1ebf835617035b1f08f734247dcb981e17aac6b Author: Andi Kleen Date: Thu Jul 9 00:31:41 2009 +0200 x86: mce: Rename CONFIG_X86_NEW_MCE to CONFIG_X86_MCE Drop the CONFIG_X86_NEW_MCE symbol and change all references to it to check for CONFIG_X86_MCE directly. No code changes Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 5bb38adcb54cf7192b154368ad62982caa11ca0b Author: Andi Kleen Date: Thu Jul 9 00:31:39 2009 +0200 x86: mce: Remove old i386 machine check code As announced in feature-remove-schedule.txt remove CONFIG_X86_OLD_MCE This patch only removes code. The ancient machine check code for very old systems that are not supported by CONFIG_X86_NEW_MCE is still kept. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit bab9bc6583fe6c1660d6ed36dd14bbb4edfaf393 Author: Andi Kleen Date: Thu Jul 9 00:31:38 2009 +0200 x86: mce: Update X86_MCE description in x86/Kconfig - Clarify that this config controls thermal throttling reporting too - Clarify the types of errors reported by machine checks - Drop references to ancient CPUs. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit c31d96338a6041520ba5f1b6a4a5012ef00686b3 Author: Andi Kleen Date: Thu Jul 9 00:31:37 2009 +0200 x86: mce: Make CONFIG_X86_ANCIENT_MCE dependent on CONFIG_X86_MCE Add a missing depency for ANCIENT_MCE. It didn't matter in practice because the ANCIENT code wasn't compiled without X86_MCE, but it's better to express that clearly in Kconfig. Signed-off-by: Andi Kleen Signed-off-by: H. Peter Anvin commit 65c3f0a2d0f72d210c879e4974c2d222b7951321 Author: Thomas Liu Date: Thu Jul 9 10:00:31 2009 -0400 security: Wrap SMACK and SELINUX audit data structs in ifdefs Wrapped the smack_audit_data and selinux_audit_data structs in include/linux/lsm_audit.h in ifdefs so that the union will always be the correct size. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit d4131ded4d4c1a5c1363ddd93ca104ed97dd0458 Author: Thomas Liu Date: Thu Jul 9 10:00:30 2009 -0400 security: Make lsm_priv union in lsm_audit.h anonymous Made the lsm_priv union in include/linux/lsm_audit.h anonymous. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit ed5215a21460f63d6bdc118cb55a9e6d1b433f35 Author: Thomas Liu Date: Thu Jul 9 10:00:29 2009 -0400 Move variable function in lsm_audit.h into SMACK private space Moved variable function in include/linux/lsm_audit.h into the smack_audit_data struct since it is never used outside of it. Also removed setting of function in the COMMON_AUDIT_DATA_INIT macro because that variable is now private to SMACK. Signed-off-by: Thomas Liu Acked-by: Eric Paris I-dont-see-any-problems-with-it: Casey Schaufler Signed-off-by: James Morris commit 13892cf95d2edf0d3c4285cc2d0113efa73be723 Author: Russell King Date: Thu Jul 9 20:56:14 2009 +0100 [ARM] Update mach-types Signed-off-by: Russell King commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572 Merge: b1e4422 005b107 Author: Takashi Iwai Date: Thu Jul 9 18:48:38 2009 +0200 Merge branch 'fix/hda' into topic/hda Conflicts: sound/pci/hda/patch_realtek.c Signed-off-by: Takashi Iwai commit d7dbf6ea40a2859adaca2dfdbbea83f3d6c73c2f Author: Mark Brown Date: Wed Jul 8 21:12:20 2009 +0100 [ARM] 5596/1: at91sam9g20-ek: Register WM8731 in board file The WM8731 driver has been updated to allow registration via normal device model methods rather than from within the ASoC driver probe so update the AT91SAM9G20-EK to make use of this. Signed-off-by: Mark Brown Acked-by: Andrew Victor Signed-off-by: Russell King commit 19c0a7286f3f0093bbbbcdce0af4c3205421b608 Author: wanzongshun Date: Sat Jul 4 12:26:33 2009 +0100 [ARM] 5591/1: Add group irq enable/disable for w90p910 platform. Add group irq enable/disable for w90p910 platform. Signed-off-by: Wan ZongShun Signed-off-by: Russell King commit c3e3baddbc0b6636b01cb2aa3e44505ad61be17b Author: Hartley Sweeten Date: Mon Jul 6 17:40:53 2009 +0100 [ARM] 5593/1: ep93xx: clock.c __iomem pointer To ensure typesafe io, the enable_reg variable should be a void __iomem pointer not u32. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 583ddafe1787528d08b0026bb3273490a499b730 Author: Hartley Sweeten Date: Mon Jul 6 17:39:50 2009 +0100 [ARM] 5592/1: ep93xx: cleanup platform header includes arch/arm/mach-ep93xx/include/mach/hardware.h 1. Properly name the include files so that they are loaded from the directory and not the local directory. 2. Remove including the ts72xx.h header. This header is not generic to the ep93xx platform. It should only be included by the ts72xx specific files that require it. The only two users in the tree are arch/arm/mach-ep93xx/ts72xx.c and drivers/mtd/nand/ts7250.c. arch/arm/mach-ep93xx/include/mach/ts72xx.h 1. should already be included by any user of this header. Doing the include here hides it from being needed by the calling source file. arch/arm/mach-ep93xx/core.c 1. Remove unnecessary headers. They were probably included originally due to cut-and-paste from other files. 2. should be included not arch/arm/mach-ep93xx/adsphere.c arch/arm/mach-ep93xx/edb93xx.c arch/arm/mach-ep93xx/gesbc9312.c arch/arm/mach-ep93xx/micro9.c arch/arm/mach-ep93xx/ts72xx.c 1. Remove unnecessary headers. arch/arm/mach-ep93xx/ts72xx.c 1. Remove unnecessary headers. 2. Add platform specific header . drivers/mtd/nand/ts7250.c 1. should be included not . 2. Add platform specific header . Cc: Ryan Mallon Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit 701fac823e24676ea42451c6597f96d81d9b6aba Author: Hartley Sweeten Date: Tue Jun 30 23:06:43 2009 +0100 [ARM] 5578/1: ep93xx: add ep93xx-keypad clock Add clkdev support for the ep93xx_keypad driver. A matrix keypad driver for the ep93xx just got merged via the input subsystem group. For this driver to work the keypad clock needs to be added to the ep93xx clkdev support. In order to accomplish this the following changes are implemented: 1) Move the EP93XX_EXT_*_RATE defines to mach/include/hardware.h. 2) Add EP93XX_KEYTCHCLK_DIV{4/16} for the keypad driver. 3) Add support for programmable clocks (set_rate() callback). 4) Add clk_keypad for the keypad driver. 5) tab indent the clk_lookup table for easier reading. 6) Add the set_rate() callback to program the keypad clock. This callback is generalized since the ADC clock (touchscreen) can use the same callback. 7) Use the ep93xx_syscon_swlocked_write() core function for updating the software locked register. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 02239f0a4264608686cc0015d906c7b2dead89df Author: Hartley Sweeten Date: Wed Jul 8 02:00:49 2009 +0100 [ARM] 5577/2: ep93xx: syscon locked register functions Add core functions to handle writes to the ep93xx software locked registers. There are a number of registers in the EP93xx System Controller that require a write to the software lock register before they can be updated. This patch adds a number of exported functions to the ep93xx core that handle this access. The software locked clock divider registers, VidClkDiv, MIRClkDiv, I2SClkDiv and KeyTchClkDiv would typically involve writing a specific value to the register. To support this the ep93xx_syscon_swlocked_write() function is provided. For the DeviceCfg register it's more typical to only need to set or clear a single bit. A generic ep93xx_devcfg_set_clear() function is provided to handle both operations. Two inline functions, ep93xx_devcfg_set_bits() and ep93xx_devcfg_clear_bits() are also provided to improve code readability. In addition, the remaining bits in the System Controller Device Config Register have been documented and the previously defined names shortened. All code paths that use this functionality have been updated except for arch/arm/kernel/crunch.c. That code is in a context switch path, which is not reentrant, so it is safe against itself. Cc: Lennert Buytenhek Cc: Matthias Kaehlcke Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 89001446925d6da8785c3265a71316e34c6d15de Author: Russell King Date: Thu Jul 9 15:16:07 2009 +0100 MMC: MMCI: use gpiolib for card detect/write protect Use gpiolib where available (and when valid GPIOs are provided) for write protect/card detect status reporting. We fall back to the old 'status' method where gpiolib support is not available. Signed-off-by: Russell King commit 7fb2bbf4d9e7e62057184f1e061566459eef6c79 Author: Russell King Date: Thu Jul 9 15:15:12 2009 +0100 MMC: MMCI: allow GPIOs to be passed Add and initialize the gpio_wp and gpio_cd members. We need to ensure that all users are covered, because GPIO 0 may be valid. Signed-off-by: Russell King Acked-by: Linus Walleij commit 012b7d339ce8c42d41e35b35c4acc3dd29501d52 Author: Russell King Date: Thu Jul 9 15:13:56 2009 +0100 MMC: MMCI: use AMBA bus accessors Rather than open coding the accessors for decoding peripheral IDs, use the macros already provided. Signed-off-by: Russell King Acked-by: Linus Walleij commit cc369cf504c51d36765e18b0c28a09a92d28ed79 Author: Mark Brown Date: Thu Jul 9 11:28:07 2009 +0100 ASoC: WM8510 has a single frame clock so needs symmetric rates Signed-off-by: Mark Brown commit 63b2413b2ff446e30286c2bd775fd10b12d188c6 Author: Takashi Iwai Date: Thu Jul 9 11:45:59 2009 +0200 ALSA: hda - don't build digital output controls if not exist Signed-off-by: Takashi Iwai commit 7ede5a5ba55a696a6e1d8456526e44635e966a81 Author: Herbert Xu Date: Thu Jul 9 11:34:06 2009 +0800 crypto: api - Fix crypto_drop_spawn crash on blank spawns This patch allows crypto_drop_spawn to be called on spawns that have not been initialised or have failed initialisation. This fixes potential crashes during initialisation without adding special case code. Signed-off-by: Herbert Xu commit ef5d590c9b9a00b017683006fe4cf959b9532336 Author: Herbert Xu Date: Thu Jul 9 11:32:55 2009 +0800 crypto: shash - Add shash_instance_ctx This patch adds the helper shash_instance_ctx which is the shash analogue of crypto_instance_ctx. Signed-off-by: Herbert Xu commit 023bf6f1b8bf58dc4da7f0dc1cf4787b0d5297c1 Author: Tejun Heo Date: Thu Jul 9 11:27:40 2009 +0900 linker script: unify usage of discard definition Discarded sections in different archs share some commonality but have considerable differences. This led to linker script for each arch implementing its own /DISCARD/ definition, which makes maintaining tedious and adding new entries error-prone. This patch makes all linker scripts to move discard definitions to the end of the linker script and use the common DISCARDS macro. As ld uses the first matching section definition, archs can include default discarded sections by including them earlier in the linker script. ia64 is notable because it first throws away some ia64 specific subsections and then include the rest of the sections into the final image, so those sections must be discarded before the inclusion. defconfig compile tested for x86, x86-64, powerpc, powerpc64, ia64, alpha, sparc, sparc64 and s390. Michal Simek tested microblaze. Signed-off-by: Tejun Heo Acked-by: Paul Mundt Acked-by: Mike Frysinger Tested-by: Michal Simek Cc: linux-arch@vger.kernel.org Cc: Michal Simek Cc: microblaze-uclinux@itee.uq.edu.au Cc: Sam Ravnborg Cc: Tony Luck commit 1dcdd0911b5553f0282ce8525773955b59a56919 Author: Michal Simek Date: Thu Jul 9 11:27:40 2009 +0900 microblaze: include EXIT_TEXT to _stext Microblaze wants to throw out EXIT_TEXT during runtime too. This hasn't caused trouble till now because the linker script didn't discard EXIT_TEXT and it ended up in its default output section. As discard definition is about to be unified, include EXIT_TEXT into _stext explicitly and while at it replace explicit exitcall definition to EXIT_CALL. Signed-off-by: Michal Simek Signed-off-by: Tejun Heo commit bff38771e1065c7fc3de87e47ba366151eea573c Author: Anton Vorontsov Date: Wed Jul 8 11:10:56 2009 -0700 netpoll: Introduce netpoll_carrier_timeout kernel option Some PHYs require longer timeouts for carrier detection, and auto-negotiation process may take indefinite amount of time. It may be inconvenient to force longer timeouts for sane PHYs, so let's introduce a kernel command line option. Since we're using module_param(), the option also can be changed in runtime. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit cb507e7e79f3c0e45ecaefad9220c34fcfbe74e8 Author: Mark Brown Date: Wed Jul 8 18:54:57 2009 +0100 ASoC: Add pop delay debug at end of DAPM sequencing Provide an interval after the end of DAPM sequencing so that we can distinguish between a pop in the final step of the sequence and a pop generated from some other source outside DAPM. Signed-off-by: Mark Brown commit 34701fde8f4bf207ca96d10b8700a8667157854c Author: Divy Le Ray Date: Tue Jul 7 19:48:32 2009 +0000 cxgb3: Drain Mac Tx fifo when the port goes down. Drain the MAC TX fifos when a port goes down. Back pressure might otherwise occur, leading to both ports of the same adapter to hang. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 88045b3cf0f8981129cb489c7b6bc36c21dd33a7 Author: Divy Le Ray Date: Tue Jul 7 19:49:04 2009 +0000 cxgb3: fix mac index mapping Override the mac index computation for the gen2 adapter, as each port is expected to use index 0. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit dce7d1d031aeaa8c65bd37ff2480dc450a68185e Author: Divy Le Ray Date: Tue Jul 7 19:48:59 2009 +0000 cxgb3: Fix mss table initialization Fix the HW SMT table initialization to avoid random mss miscomputations for offload connections. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 2e8c07c35b3ffee7689406be61fd1448ee45d3cd Author: Divy Le Ray Date: Tue Jul 7 19:49:09 2009 +0000 cxgb3: use request_firmware() for the EDC registers setup use request_firmware() to load the phy's EDC programmation Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 5e659515569220701bfe3c8936dcab67554cc286 Author: Divy Le Ray Date: Tue Jul 7 19:48:43 2009 +0000 cxgb3: AEL2020 phy support update We don't always see the link status update interrupt when we come out of reset and the peer is up. Check and report the link status right before enabling interrupts. Also fix LED settings, to get a consistent link status. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit cfe2462c6af309ee70e4aeefa55cae976071b9e2 Author: Divy Le Ray Date: Tue Jul 7 19:48:38 2009 +0000 cxgb3: Fix T3C MAC max packet size access Max packet size is not the only field in T3C's High Water Mark register. Mask the register to access this field. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 619f05cf690149bef1f15cd0cec6a31b40d96951 Author: Divy Le Ray Date: Tue Jul 7 19:48:53 2009 +0000 cxgb3: fix phy power down 2 phys are were not getting the Global Tx disable bit set when powered down, leading to an inconsistent link state on peer. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 2c3d50f7db6c4aa85b099613aba8660da6de75d4 Author: Divy Le Ray Date: Tue Jul 7 19:48:48 2009 +0000 cxgb3: AQ100X phy support update Add missing SUPPORTED_TP flag. Update FW version checking. Do the full initialization even if the FW version is unknown, it might help catching further issues. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 96fd6d471b2c953df5379a356be04f8c8f8b4bdf Author: Mark Brown Date: Wed Jul 8 18:26:16 2009 +0100 ASoC: Configure WM8731 SYSCLK at startup on AT91SAM9G20-EK The system clock is currently fixed by the driver and this avoids the need for us to handle errors with enabling and disabling MCLK (which was incorrect previously so this fixes bugs in error handling). Signed-off-by: Mark Brown commit 22df8eb4fe293d67c98732e02a2dbef0d9c6cd96 Author: Mark Brown Date: Wed Jul 8 18:18:19 2009 +0100 ASoC: Disable microphone input for AT91SAM9G20-EK by default As shipped the board does not have inputs but it is relatively straightforward to modify the board to hook them up so support is provided in the driver. When these modifications have not been made enabling the microphone stage can cause problems. Add an ifdef to disable this by default. Don't put it into Kconfig since users will have to get their soldering irons out to change things. Signed-off-by: Mark Brown commit 2a01e5f3587be459c934d711bffddc14d66386f3 Author: Mark Brown Date: Wed Jul 8 18:05:51 2009 +0100 ASoC: Use CODEC as clock master on AT91SAM9G20-EK This simplifies the driver by removing the need to manually configure dividers within the CPU and improve audio performance by ensuring that the optimal phase relationships between the clocks in the system are maintained. Note that currently this means that for playback to work the Output Mixer HiFi switch must be enabled since otherwise CODEC will not generate the DAC clock. Signed-off-by: Mark Brown commit 4934482d93ca42d57180e08bf3ee6b77124f5f8e Author: Mark Brown Date: Wed Jul 8 17:48:12 2009 +0100 ASoC: Limit WM8731 to symmetric rates While the hardware is capable of some limited asynmmetric modes the driver does not currently support those modes so tell applications that only symmetric rates are available. Signed-off-by: Mark Brown commit 942c435ba79fd263a922bb114d56eccab6250662 Author: Mark Brown Date: Fri Jun 5 16:32:59 2009 +0100 ASoC: Add WM8993 CODEC driver The WM8993 is a highly integrated ultra-low power hi-fi CODEC designed for portable devices such as multimedia phones. Signed-off-by: Mark Brown commit ff7d04b130d76ab3a7b79120070346ccf3a72b3f Author: Mark Brown Date: Wed Jul 8 16:54:51 2009 +0100 ASoC: DaVinci I2S needs mach/asp.h Reported-by: Troy Kisky Signed-off-by: Mark Brown commit ef38ed888eee33af93a006db6e337d71320dfa2b Author: Mark Brown Date: Wed Jul 8 17:05:43 2009 +0100 ASoC: Correct WM8731 Mic Capture Switch control name Signed-off-by: Mark Brown commit 37d217f029a56a6d385f99773fb27dfcb51f9a46 Author: Miklos Szeredi Date: Wed Jul 8 18:17:58 2009 +0200 fuse: document protocol version negotiation Clarify how the protocol version should be negotiated between kernel and userspace. Notably libfuse didn't correctly handle the case when the supported major versions didn't match. Signed-off-by: Miklos Szeredi commit d00efa648d3c78ba212f08facf0defdff385dc28 Author: Mark Brown Date: Wed Jul 8 16:53:12 2009 +0100 ASoC: Add TLV information for WM8731 Signed-off-by: Mark Brown commit deee2289b932d512035f579b8f8e178796564ba1 Author: Herbert Xu Date: Wed Jul 8 23:39:01 2009 +0800 crypto: shash - Propagate reinit return value This patch fixes crypto_shash_import to propagate the value returned by reinit. Signed-off-by: Herbert Xu commit f88ad8de282a9c4afd79fb0b4b536025f24a2005 Author: Herbert Xu Date: Wed Jul 8 23:32:08 2009 +0800 crypto: shash - Use finup in default digest This patch simplifies the default digest function by using finup. Signed-off-by: Herbert Xu commit 6e5414750af8a521c3ba7805d6ad460ba21df1a1 Author: Troy Kisky Date: Tue Jul 7 17:36:06 2009 -0700 ASoC: DaVinci: pcm, don't play 1st sound period twice Update the dma link with correct data as soon as the master channel has copied it. Otherwise, the 1st period will play twice. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 0390e6aecf571ddac934e6c0644bb4038167b698 Author: Herbert Xu Date: Wed Jul 8 22:36:36 2009 +0800 crypto: shash - Add __crypto_shash_cast This patch adds __crypto_shash_cast which turns a crypto_tfm into crypto_shash. It's analogous to the other __crypto_*_cast functions. It hasn't been needed until now since no existing shash algorithms have had an init function. Signed-off-by: Herbert Xu commit cde6263fa954dfc03ebe169aa3f7f71176d7901b Author: Herbert Xu Date: Wed Jul 8 22:32:07 2009 +0800 crypto: shash - Add crypto_shash_ctx_aligned This patch adds crypto_shash_ctx_aligned which will be needed by hmac after its conversion to shash. Signed-off-by: Herbert Xu commit cc6a8acdeee932f6911d8b236d2c7d6bcc4616f6 Author: Takashi Iwai Date: Tue Jun 17 16:39:06 2008 +0200 ALSA: Fix SG-buffer DMA with non-coherent architectures Using SG-buffers with dma_alloc_coherent() is often very inefficient on non-coherent architectures because a tracking record could be allocated in addition for each dma_alloc_coherent() call. Instead, simply disable SG-buffers but just allocate normal continuous buffers on non-supported (currently all but x86) architectures. Signed-off-by: Takashi Iwai commit b1e4422f96a9b4830ffd8119b05211abb830ef4a Author: William Weston Date: Wed Jul 8 01:10:05 2009 -0700 ALSA: hda - Add quirks for RTL888 & RV630/M76 based MSI GX710 Signed-off-by: William Weston Signed-off-by: Takashi Iwai commit 619a6ebd2547f3a8ec2fbc5245daaa1f2056eb32 Author: Herbert Xu Date: Wed Jul 8 18:46:23 2009 +0800 crypto: shash - Add shash_register_instance This patch adds shash_register_instance so that shash instances can be registered without bypassing the shash checks applied to normal algorithms. Signed-off-by: Herbert Xu commit 7d6f56400a695af497a8b7c23ea0ff9c3d9d99f4 Author: Herbert Xu Date: Wed Jul 8 17:56:28 2009 +0800 crypto: shash - Add shash_attr_alg2 helper This patch adds the helper shash_attr_alg2 which locates a shash algorithm based on the information in the given attribute. Signed-off-by: Herbert Xu commit d06854f0243d91badabaab14503f7f3bb770061d Author: Herbert Xu Date: Wed Jul 8 17:53:16 2009 +0800 crypto: api - Add crypto_attr_alg2 helper This patch adds the helper crypto_attr_alg2 which is similar to crypto_attr_alg but takes an extra frontend argument. This is intended to be used by new style algorithm types such as shash. Signed-off-by: Herbert Xu commit 942969992d86330c9700e2cd9afe8a6bea42df78 Author: Herbert Xu Date: Wed Jul 8 17:21:37 2009 +0800 crypto: shash - Add spawn support This patch adds the functions needed to create and use shash spawns, i.e., to use shash algorithms in a template. Signed-off-by: Herbert Xu commit 97eedce1a64a57648ac5e39f03825528c47ba72e Author: Herbert Xu Date: Wed Jul 8 15:55:52 2009 +0800 crypto: api - Add new style spawn support This patch modifies the spawn infrastructure to support new style algorithms like shash. In particular, this means storing the frontend type in the spawn and using crypto_create_tfm to allocate the tfm. Signed-off-by: Herbert Xu commit 2e4fddd8e420e8f531a34e7a97f9cdb851a6ad13 Author: Herbert Xu Date: Tue Jul 7 15:17:12 2009 +0800 crypto: shash - Add shash_instance This patch adds shash_instance and the associated alloc/free functions. This is meant to be an instance that with a shash algorithm under it. Note that the instance itself doesn't have to be shash. Signed-off-by: Herbert Xu commit 277a57c710ff73af1213f5d4b42bf6458c1ebca3 Author: Takashi Iwai Date: Wed Jul 8 12:42:08 2009 +0200 ALSA: hda - Fix compile warnings in patch_cirrus.c Signed-off-by: Takashi Iwai commit f7370699fbbb18f97442d6f47cc2d478a911ad6f Author: Jim Persson Date: Tue Jul 7 22:07:59 2009 -0700 Input: usbtouchscreen - support for JASTEC/DigiTech DTR-02U USB touch controllers Add support for the JASTEC/DigiTech DTR-02U USB touch screen controllers. Signed-off-by: Jim Persson Signed-off-by: Dmitry Torokhov commit 72398e4b1a4cf55d3698a4f265b638093a470b04 Author: Julia Lawall Date: Tue Jul 7 22:04:55 2009 -0700 Input: use resource_size when allocating resources 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/) // @@ struct resource *res; @@ - (res->end - res->start) + 1 + resource_size(res) // Signed-off-by: Julia Lawall Signed-off-by: Dmitry Torokhov commit 09bb9aa0ed22bea814b0f137390f911af33ddd1b Author: Maxime Bizon Date: Wed Jul 1 01:29:36 2009 +0000 MIPS: BCM63XX: Add integrated ethernet PHY support for phylib. Signed-off-by: Maxime Bizon Signed-off-by: Ralf Baechle drivers/net/phy/Kconfig | 6 ++ drivers/net/phy/Makefile | 1 drivers/net/phy/bcm63xx.c | 132 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 drivers/net/phy/bcm63xx.c Signed-off-by: David S. Miller commit 460deefae62db4472e8bd16b21c7d70f3c7fd785 Author: Paul Moore Date: Tue Jul 7 08:11:33 2009 +0000 tun: Remove a dead line of code Remove an unnecessary assignment. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 50f238fdf38e37f0350be17c36e3ec0fd298cc40 Author: Anton Vorontsov Date: Tue Jul 7 08:38:42 2009 +0000 ucc_geth: Add support for skb recycling We can reclaim transmitted skbs to use in the receive path, so-called skb recycling support. Also reorder ucc_geth_poll() steps, so that we'll clean tx ring firstly, thus maybe reclaim some skbs for rx. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 8b2c70d1e43074cc06afe99b0de12b686d9c9d02 Author: Steven Rostedt Date: Wed Jun 10 15:45:41 2009 -0400 ring-buffer: add design document This adds the design document for the ring buffer and also explains how it is designed to have lockless writes. Signed-off-by: Steven Rostedt commit 77ae365eca895061c8bf2b2e3ae1d9ea62869739 Author: Steven Rostedt Date: Fri Mar 27 11:00:29 2009 -0400 ring-buffer: make lockless This patch converts the ring buffers into a completely lockless buffer recording system. The read side still takes locks since we still serialize readers. But the writers are the ones that must be lockless (those can happen in NMIs). The main change is to the "head_page" pointer. We write to the tail, and read from the head. The "head_page" pointer in the cpu buffer is now just a reference to where to look. The real head page is now kept in the head_page->list->prev->next pointer. That is, in the list head of the previous page we set flags. The list pages are allocated to be aligned such that the lowest significant bits are always zero pointing to the list. This gives us play to put in flags to their pointers. bit 0: set when the page is a head page bit 1: set when the writer is moving the page (for overwrite mode) cmpxchg is used to update the pointer. When the writer wraps the buffer and the tail meets the head, in overwrite mode, the writer must move the head page forward. It first uses cmpxchg to change the pointer flag from 1 to 2. Once this is done, the reader on another CPU will not take the page from the buffer. The writers need to protect against interrupts (we don't bother with disabling interrupts because NMIs are allowed to write too). After the writer sets the pointer flag to 2, it takes care to manage interrupts coming in. This is discribed in detail within the comments of the code. Changes in version 2: - Let reader reset entries value of header page. - Fix tail page passing commit page on reader page test. - Always increment entries and write counter in rb_tail_page_update - Add safety check in rb_set_commit_to_write to break out of infinite loop - add mask in rb_is_reader_page [ Impact: lock free writing to the ring buffer ] Signed-off-by: Steven Rostedt commit 3adc54fa82a68be1cd1ac82ad786ee362796e50a Author: Steven Rostedt Date: Mon Mar 30 15:32:01 2009 -0400 ring-buffer: make the buffer a true circular link list This patch changes the ring buffer data pages from using a link list head pointer, to making each buffer page point to another buffer page and never back to a "head". This makes the handling of the ring buffer less complex, since the traversing of the ring buffer pages no longer needs to account for the head pointer. This change also is needed to make the ring buffer lockless. [ Changes in version 2: - Added change that Lai Jiangshan mentioned. From: Lai Jiangshan Date: Thu, 11 Jun 2009 11:25:48 +0800 LKML-Reference: <4A30793C.6090208@cn.fujitsu.com> I'm not sure whether these 4 lines: bpage = list_entry(pages.next, struct buffer_page, list); list_del_init(&bpage->list); cpu_buffer->pages = &bpage->list; list_splice(&pages, cpu_buffer->pages); equal to these 2 lines: cpu_buffer->pages = pages.next; list_del(&pages); If there are equivalent, I think the second one are simpler. It may be not a really necessarily cleanup. What I asked is: if there are equivalent, could you use these two line: cpu_buffer->pages = pages.next; list_del(&pages); ] [ Impact: simplify the ring buffer to help make it lockless ] Signed-off-by: Steven Rostedt commit 147202aa772329a02c6e80bc2b7a6b8dd3deac0b Author: David Woodhouse Date: Tue Jul 7 19:43:20 2009 +0100 intel-iommu: Speed up map routines by using cached domain ASAP We did before, in the end -- but it was at the bottom of a long stack of functions. Add an inline wrapper get_valid_domain_for_dev() which will use the cached one _first_ and only make the out-of-line call if it's not already set. This takes the average time taken for a 1-page intel_map_sg() from 5961 cycles to 4812 cycles on my Lenovo x200s test box -- a modest 20%. Signed-off-by: David Woodhouse commit 3f405b46a91c0c4cdfa6077b4e1853f35a94e8ef Merge: 4ec5c96 efd13be Author: Mark Brown Date: Tue Jul 7 19:18:46 2009 +0100 Merge branch 'davinci' into for-2.6.32 Conflicts: sound/soc/davinci/davinci-i2s.c commit 72b43cf1402169e8bc088838a6db91d613c35627 Author: Ondrej Zary Date: Tue Jul 7 18:09:48 2009 +0200 ALSA: cmi8330: Allow MPU-401-less operation Adding MPU-401 support to cmi8330 driver could cause a regression (non-working sound) on a system where there is no free IRQ for the MPU-401 device (which is not very uncommon as this card requires two separate IRQs plus a third one for MPU-401). When MPU-401 PnP configuration fails (mostly because of unavailable IRQ), just ignore MPU-401 and continue without it. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 7a6d3c8b3049d07123628f2bf57127bba2cc878f Author: Csaba Henk Date: Wed Jul 1 17:28:41 2009 -0700 fuse: make the number of max background requests and congestion threshold tunable The practical values for these limits depend on the design of the filesystem server so let userspace set them at initialization time. Signed-off-by: Csaba Henk Signed-off-by: Miklos Szeredi commit a40f262cc21fbfd781bbddcc40b16b83a75f5f34 Author: Thomas Gleixner Date: Tue Jul 7 13:00:31 2009 +0200 timekeeping: Move ktime_get() functions to timekeeping.c The ktime_get() functions for GENERIC_TIME=n are still located in hrtimer.c. Move them to time/timekeeping.c where they belong. LKML-Reference: Signed-off-by: Thomas Gleixner commit 70ec7bb91ad0d6cce84c8e17f8cbb608dda7b18c Author: Herbert Xu Date: Tue Jul 7 14:07:37 2009 +0800 crypto: api - Add crypto_alloc_instance2 This patch adds a new argument to crypto_alloc_instance which sets aside some space before the instance for use by algorithms such as shash that place type-specific data before crypto_alg. For compatibility the function has been renamed so that existing users aren't affected. Signed-off-by: Herbert Xu commit 951ed4d36b77ba9fe1ea08fc3c59d8bb6c9bda32 Author: Martin Schwidefsky Date: Tue Jul 7 11:27:28 2009 +0200 timekeeping: optimized ktime_get[_ts] for GENERIC_TIME=y The generic ktime_get function defined in kernel/hrtimer.c is suboptimial for GENERIC_TIME=y: 0) | ktime_get() { 0) | ktime_get_ts() { 0) | getnstimeofday() { 0) | read_tod_clock() { 0) 0.601 us | } 0) 1.938 us | } 0) | set_normalized_timespec() { 0) 0.602 us | } 0) 4.375 us | } 0) 5.523 us | } Overall there are two read_seqbegin/read_seqretry loops and a lot of unnecessary struct timespec calculations. ktime_get returns a nano second value which is the sum of xtime, wall_to_monotonic and the nano second delta from the clock source. ktime_get can be optimized for GENERIC_TIME=y. The new version only calls clocksource_read: 0) | ktime_get() { 0) | read_tod_clock() { 0) 0.610 us | } 0) 1.977 us | } It uses a single read_seqbegin/readseqretry loop and just adds everthing to a nano second value. ktime_get_ts is optimized in a similar fashion. [ tglx: added WARN_ON(timekeeping_suspended) as in getnstimeofday() ] Signed-off-by: Martin Schwidefsky Acked-by: john stultz LKML-Reference: <20090707112728.3005244d@skybase> Signed-off-by: Thomas Gleixner commit b4dabfc452a1011882983db9e464f8ee1e3c01e6 Author: Takashi Iwai Date: Tue Jul 7 09:05:07 2009 +0200 ALSA: hda - Fix the speaker volume control name Increase the name string buffer size so that "Surround Speaker Playback Volume" won't be truncated. Signed-off-by: Takashi Iwai commit ed208255e700073c34b0ef8d2045ac030ac28971 Author: Takashi Iwai Date: Tue Jul 7 09:04:26 2009 +0200 ALSA: hda - Add GPIO setup for MacBook pro 5,5 with CS420x GPIO3 seems corresponding to EAPD that is required for the speaker output. Signed-off-by: Takashi Iwai commit 0b959167237208bc1a811e30bf866cd29bff1652 Author: Ondrej Zary Date: Mon Jul 6 22:08:04 2009 +0200 ALSA: cmi8330: find OPL3 port automatically My CMI8329 had OPL3 port specified in SB16 resources. But now I found out that it was my modification of the card's PnP EEPROM a couple of years ago (can be done using C9SETROM.EXE utility). I did it because the OPL3 port was completely missing from PnP data. It seems to be hardwired to 0x388 on CMI8329. Find OPL3 port automatically by searching in WSS and SB16 resources. If not found, assume that it's hardwired to 0x388. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit f2ac72e8268d9559c3114d5a22679f91f80a2238 Author: Herbert Xu Date: Tue Jul 7 12:30:33 2009 +0800 crypto: api - Add new template create function This patch introduces the template->create function intended to replace the existing alloc function. The intention is for create to handle the registration directly, whereas currently the caller of alloc has to handle the registration. This allows type-specific code to be run prior to registration. Signed-off-by: Herbert Xu commit ef0657c49e0f93dcebc9b4719e4fe0b478411f60 Author: Julia Lawall Date: Mon Jul 6 19:09:50 2009 -0700 drivers/net/cs89x0.c: Avoid using magic number in set_dma_mode The constant DMA_RX_MODE is defined to be 0x14 in the local include file cs89x0.h. Since a constant with the same name is used elsewhere with set_dma_mode, it seems likely that this constant could be used here. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1; identifier I; constant int C; @@ ( set_dma_mode(E1,I,...) | *set_dma_mode(E1,C,...) ) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 5dcc60b71886795965fd5029b5d9a9ba7b5a2c17 Author: Yeasah Pell Date: Mon Jul 6 18:12:33 2009 -0700 dm9000: add checksum offload support Add checksum offload support for DM9000A and DM9000B chips. v2 changes: added a local copy of ip_summed to save IO cycles in dm9000_send_packet v3 changes: trans_start updating is removed. Signed-off-by: Yeasah Pell Signed-off-by: Mike Rapoport Signed-off-by: David S. Miller commit 727dc3fde82969609e1e69f1f12de83c2fe41238 Author: Paul Mundt Date: Tue Jul 7 10:30:02 2009 +0900 video: sh_mobile_lcdcfb: depends on HAVE_CLK. This deifdefs the driver and adds an explicit HAVE_CLK dependency. Given that all SH platforms provide it, there is no reason to keep this as an ifdef. Other architectures that implement support for this driver will already have to provide clock framework support for timers and so on already, so adding this as an additional dependency is not terribly probematic. Signed-off-by: Paul Mundt commit 482d804cb4b520b6e3134c959c968712ebcdea02 Author: Mark Smith Date: Mon Jul 6 11:05:58 2009 +0000 econet: use NET_RX_SUCCESS instead of magic number 0 for econet_rcv successful return Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit 5c91face51d29f553a444d16db4ac2c6162a3cd0 Author: Mark Smith Date: Mon Jul 6 11:26:24 2009 +0000 ipv6: correct return on ipv6_rcv() packet drop The routine ipv6_rcv() uses magic number 0 for a return when it drops a packet. This corresponds to NET_RX_SUCCESS, which is obviously incorrect. Correct this by using NET_RX_DROP instead. ps. It isn't exactly clear who the IPv6 maintainers are, apologies if I've missed any. Signed-off-by: Mark Smith Signed-off-by: David S. Miller commit b7cb8c2c8275ab081b97610b13a83c80904571a6 Author: Jesse Brandeburg Date: Mon Jul 6 10:45:01 2009 +0000 e1000: fix flow control thresholds when testing the jumbo frames with pages patch, the stats would show rx_missed errors (dropped packets) even when connected to a link partner with flow control enabled. this indicates that for this MTU (9000) the flow control thresholds are not adjusting correctly. In fact, before this change, the FCRTH (xoff threshold) is 36864 when the fifo size is only 40000, with 9000 byte MTU. fix it so that we at least have room for one frame after we send the xoff. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit edbbb3ca107715067b27a71e6ea7f58750912aa2 Author: Jesse Brandeburg Date: Mon Jul 6 10:44:39 2009 +0000 e1000: implement jumbo receive with partial descriptors This is code extremely similar to what is committed in e1000e already. e1000 will no longer request 32kB slab buffers to support jumbo frames on PCI/PCI-X adapters. This will significantly reduce the likelyhood of order:3 allocation failures. This new code adds support for using pages as receive buffers, and the driver will chain multiple pages together to build a jumbo frame for OS consumption. The hardware takes a power of two buffer size and will dump as much data as it can receive into 1 or more buffers. The benefits of applying this are 1) stop akpm's dissing :-) of this lame e1000 behavior [1] 2) more efficient memory allocation (half) when using jumbo frames, which will also allow for much better socket utilization with jumbos since the socket is charged for the full allocation of each receive buffer, regardless of how much is used. 3) this was a feature request by a customer 4) copybreak for small packets < 256 bytes still applies [1] http://lkml.org/lkml/2008/7/10/68 http://article.gmane.org/gmane.linux.network/130986 Signed-off-by: Jesse Brandeburg CC: Andrew Morton Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 94c9e5a89349a1f1ebabe0876c059dc387b8b2a0 Author: Jesse Brandeburg Date: Mon Jul 6 10:44:20 2009 +0000 e1000: allow ethtool coalesece to adjust interrupts per second This patch allows on-the-fly adjustment of the interrupts per second generated by e1000 devices 82545/82546 (hardware support of ITR register is a requirement) adjust using this command: ethtool -C eth0 rx-usecs 10 where 10 is 10 microseconds per interrupt interval, so 10 = 100,000 interrupts per second, and 125 = 8000 interrupts per second. changes should be immediate. 1,3 are special values and indicate the automatic tuning mode to the driver, where 1 is 4000-90000 interrupts per second and 3 is 4000-20000 interrupts per second and is the driver default. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4ec5c9693b46ab34976511cd43bf75c3a0fc704d Merge: 1e30a58 637a935 Author: Mark Brown Date: Mon Jul 6 21:49:35 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit f77139c07a0e1dd164e039320ada50111f899223 Author: Guo-Fu Tseng Date: Mon Jul 6 04:45:58 2009 +0000 jme: Advance driver version number Advance driver version number after modifications. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit ce7d70af2c8b9c74e8afb2c0d69e304d141ce4aa Author: Guo-Fu Tseng Date: Mon Jul 6 04:41:22 2009 +0000 jme: Tuning rxsum function 1. Use more efficient way to determine flag status. 2. Hardware dose not mark fragment bit against IPv6 packets, print TCP/UDP checksum warning message for IPv4 packets only. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit d1dfa1d1de855e8db58ec4e403af5939d273f8fe Author: Guo-Fu Tseng Date: Mon Jul 6 04:40:38 2009 +0000 jme: Remove shadow register support The hardware failed to update the shadow register in several cases. It's known to be failed at 64bit box with more than 4G RAM. In order to make the device working stable, give up using the shadow register feature. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 47bd10d14b3341004266395014007c120a359c9d Author: Guo-Fu Tseng Date: Mon Jul 6 04:39:46 2009 +0000 jme: Change bufinf memory location Instead of using a large chunk of memory space preserved for for modules, using kmalloc to obtain the needed memory. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 44d8d2e9f0dfa52bb1aebdbaa510669bff61c9dc Author: Guo-Fu Tseng Date: Mon Jul 6 04:38:35 2009 +0000 jme: Fix typo Fix enum typo in jme.h Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 38ed0c2107dea55347504042ed4e1d0cbc3e9100 Author: Guo-Fu Tseng Date: Mon Jul 6 04:37:52 2009 +0000 jme: Fix unmatched tasklet_{enable|disable} pair Fix faulty tasklet function usage. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit eacf69a156dd068b3dfaa0aeb4874cda8633de87 Author: Guo-Fu Tseng Date: Mon Jul 6 04:36:30 2009 +0000 jme: Some minor coding style consistency modifications Making coding style more consistent. Signed-off-by: Guo-Fu Tseng Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit eb7fffa39a3f114832df54a3e373d7580d8fe757 Author: Russell King Date: Sun Jul 5 22:41:31 2009 +0100 [ARM] realview: add PL061 gpiolib support Signed-off-by: Russell King commit a6bae20559bb0371e89ebc46689e9cf4e7816813 Author: Takashi Iwai Date: Mon Jul 6 15:15:22 2009 +0200 ALSA: hda - Add quirk for MacBook Pro 5,5 with CS4206 Add the default pin configs for MBP55. Signed-off-by: Takashi Iwai commit 60e53882ace216cf58fc847a94d839f32b8eb7bf Author: Takashi Iwai Date: Mon Jul 6 15:01:09 2009 +0200 ALSA: hda - Fix double creation of SPDIF input controls Signed-off-by: Takashi Iwai commit 9983aa62c321a22774e47cf701b6d8b16d92a822 Author: Takashi Iwai Date: Mon Jul 6 14:31:59 2009 +0200 ALSA: info - Use krealloc() Use krealloc() to resize the buffer in sound/core/info.c. Signed-off-by: Takashi Iwai commit 7119888df1fd115573616ae43747b2e823b0663e Merge: c652d78 0f60bb2 Author: Paul Mundt Date: Mon Jul 6 20:19:28 2009 +0900 Merge branches 'sh/ftrace' and 'sh/cachetlb' commit c652d780c9cf7f860141de232b37160fe013feca Author: Matt Fleming Date: Mon Jul 6 20:16:33 2009 +0900 sh: Add ftrace syscall tracing support Now that I've added TIF_SYSCALL_FTRACE the thread flags do not fit into a single byte any more. Code testing them now needs to be aware of the upper and lower bytes. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 40c20fa05a29766565f56ede17d0ffa539e1c9a9 Author: Takashi Iwai Date: Mon Jul 6 13:00:57 2009 +0200 ALSA: hda - Add CS420x-specific coef setup Signed-off-by: Takashi Iwai commit ea35929b886975a240660b3ba6c61826761731ad Author: Takashi Iwai Date: Mon Jul 6 12:58:59 2009 +0200 ALSA: hda - Force to initialize input mixer setup for CS420x Signed-off-by: Takashi Iwai commit 21a4dc43acdd547335f59ad52efeef5160247736 Author: Takashi Iwai Date: Mon Jul 6 12:55:46 2009 +0200 ALSA: hda - Fix cirrus codec parsing The parser wasn't called in the proper order. Split now the parser to be called in patch_cirrus(), and the rest are just for building PCMs and controls. Signed-off-by: Takashi Iwai commit bbeddc43e673fb6882cc55efdc3c3002c14f5d08 Author: Russell King Date: Sun Jul 5 22:43:01 2009 +0100 [ARM] versatile: add PL061 gpiolib support Signed-off-by: Russell King commit c1340c053be7a43d837a3acb352d5008be865a55 Author: Matt Fleming Date: Sun Jun 28 14:05:44 2009 +0100 sh: Define HAVE_FUNCTION_TRACE_MCOUNT_TEST Enable HAVE_FUNCTION_TRACE_MCOUNT_TEST and test the value of function_trace_stop from our assembly code as opposed to using the generic C function. This should optimise our mcount/ftrace code path. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit ca0d17277fd101ce4878f92b398b6ab71fb2c287 Author: Matt Fleming Date: Sun Jun 28 12:53:07 2009 +0100 sh: Fix the value of MCOUNT_INSN_OFFSET It seems that MCOUNT_INSN_OFFSET was calculating the distance between the wrong functions. The value that should have actually been computed is the distance between ftrace_call and ftrace_stub. I discovered this when I added some code to ftrace_caller. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit dfbf9511155d3584b8747c935216077f46eb9a4f Author: Andreas Mohr Date: Sun Jul 5 13:55:46 2009 +0200 ALSA: azt3328: large codec cleanup, add I2S port etc. - fully separate codec I/O port handling, enabling the use of a single function each for all codecs (playback, capture, I2S out) - add a new separate pcm for I2S out port (UNTESTED, no I2S DAC available yet) - switch gameport to low frequency while idle, to try to reduce noise/power - improve snd_azf3328_codec_setdmaa() calculation - minor variable type cleanup (u16, bool etc.) - add some doc updates (help those lost Windows users, debug help, ...) Note that due to the large cleanup aspect of the codec I/O change, I was able to fit everything including all improvements into the same binary size!! (a measly 10 bytes more or so) This should now be the almost last patch to this driver (minus some possible kernel clocksource patch and x86_64 fixes or so). I just felt like taking a break from the usual stuff and wanted to get this driver's structure finished, and it's rather clean now... Tested, working and checkpatch.pl:ed on 2.6.30-rc5, applies cleanly to 2.6.30 proper. Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit 3eff8958308ed875a4e845d59a498288f8bbad77 Author: Andreas Mohr Date: Sun Jul 5 13:28:48 2009 +0200 ALSA: azt3328: fix Kconfig entry This driver is about as far from being experimental as it can ever get for an undocumented card, thus create this patch (interestingly it was the only EXPERIMENTAL remaining in the entire Kconfig file). Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai commit 1c718505171b06dbb60eafcb3fddba877dae5f7b Author: Akira Fujita Date: Sun Jul 5 23:04:36 2009 -0400 ext4: Fix compile warnings with MB_DEBUG When MB_DEBUG is enabled, we get some compile warnings because ext4_group_t is unsigned int. This patch fixes them. Signed-off-by Akira Fujita Signed-off-by: "Theodore Ts'o" commit 5a4a798937f92413cb7dbdb6bd554186024092e9 Author: Joe Perches Date: Sun Jul 5 22:33:08 2009 -0400 ext4: Remove unnecessary semicolons in mballoc.c Signed-off-by: Joe Perches Signed-off-by: "Theodore Ts'o" commit 6487a9d3b5476ffd1bbbe97e58cf26dbeb7a5d4a Author: Curt Wohlgemuth Date: Fri Jul 17 10:54:08 2009 -0400 ext4: More buffer head reference leaks After the patch I posted last week regarding buffer head ref leaks in no-journal mode, I looked at all the code that uses buffer heads and searched for more potential leaks. The patch below fixes the issues I found; these can occur even when a journal is present. The change to inode.c fixes a double release if ext4_journal_get_create_access() fails. The changes to namei.c are more complicated. add_dirent_to_buf() will release the input buffer head EXCEPT when it returns -ENOSPC. There are some callers of this routine that don't always do the brelse() in the event that -ENOSPC is returned. Unfortunately, to put this fix into ext4_add_entry() required capturing the return value of make_indexed_dir() and add_dirent_to_buf(). Signed-off-by: Curt Wohlgemuth Signed-off-by: "Theodore Ts'o" commit f6f50e28f0cb8d7bcdfaacc83129f005dede11b1 Author: Jan Kara Date: Fri Jul 17 10:40:01 2009 -0400 jbd2: 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. Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 78f1ddbb498283c2445c11b0dfa666424c301803 Author: Theodore Ts'o Date: Mon Jul 27 23:09:47 2009 -0400 ext4: Avoid null pointer dereference when decoding EROFS w/o a journal We need to check to make sure a journal is present before checking the journal flags in ext4_decode_error(). Signed-off-by: Eric Sesterhenn Signed-off-by: "Theodore Ts'o" commit 43b38520296d0c1730c78c878e1d6d1a49122091 Author: Manish Katiyar Date: Mon Jul 27 21:38:17 2009 -0400 ext4: Fix typo in ext4/Kconfig Signed-off-by: Manish Katiyar Signed-off-by: "Theodore Ts'o" commit 024eab4d5bf7e3168a2b71038b3e04e6b1f376ed Author: Aneesh Kumar K.V Date: Fri Jul 17 09:01:04 2009 -0400 ext4: Fix memory leak fix when mounting an ext4 filesystem The allocation of the ext4_group_info array was moved to a new function ext4_mb_add_group_info() in commit 5f21b0e6 so that online resize would use a common (and correct) codepath. Unfortunately, the call to the new ext4_mb_add_group_info() function was added without removing the code which originally allocated the array. This caused a memory leak each time an ext4 filesystem was mounted. The fix is simple; remove the code that did the original allocation, since it is no longer needed. Reported-by: Catalin Marinas Tested-by: Catalin Marinas Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit ec634fe328182a1a098585bfc7b69e5042bdb08d Author: Patrick McHardy Date: Sun Jul 5 19:23:38 2009 -0700 net: convert remaining non-symbolic return values in ndo_start_xmit() functions This patch converts the remaining occurences of raw return values to their symbolic counterparts in ndo_start_xmit() functions that were missed by the previous automatic conversion. Additionally code that assumed the symbolic value of NETDEV_TX_OK to be zero is changed to explicitly use NETDEV_TX_OK. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a73e76e23c20c05cb8c0b7ba8bc9daa04b05c80f Author: Sreenivasa Honnur Date: Wed Jul 1 21:18:43 2009 +0000 vxge: Version update - Version update Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 0a25bdc69634fb343c4b23e3422a37e5819448f1 Author: Sreenivasa Honnur Date: Wed Jul 1 21:18:06 2009 +0000 vxge: Printing the function's configured mode of operation - Printing the function's configured mode of operation. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 22fa125ee24f8db497fa447c145a4a1293fab098 Author: Sreenivasa Honnur Date: Wed Jul 1 21:17:24 2009 +0000 vxge: Disable fcs stripping. - Disable fcs stripping. The minimum frame size that can be received by the hardware is 57 Bytes. A 64 Byte Ethernet frame with the vlan tag and fcs stripped will result in a 56 Byte frame which will lock up the receive engine. The work around is to disable fcs stripping in the hardware which is done with a firmware upgrade. The fixes are - 1. Ensure that the correct firmware version is used. 2. Decrement the indicated packet length of the receive packet by 4 bytes (FCS length). Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit a5d165b571fcf347e82af6292074d2f0c07de3a6 Author: Sreenivasa Honnur Date: Wed Jul 1 21:16:37 2009 +0000 vxge: Fixes in isr routine - Fixes in isr routine Fixed crash with INTA mode during driver unload. Pass hldev to request_irq instead of vdev. Fixed Traffic failure with GRO in INTA mode. Pass the correct napi context to gro functions. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 6052ae1676b705c67133542e663ec3380f032e2c Author: Sreenivasa Honnur Date: Wed Jul 1 21:15:41 2009 +0000 vxge: Removed the code to bounds check the mss value - Removed the code to bounds check the mss value. The hardware does bounds checking and will not allow an oversized mss to lockup the transmit path. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 3255da416de6da8b3bac6d30b8eed61b54953480 Author: Sreenivasa Honnur Date: Wed Jul 1 21:14:57 2009 +0000 vxge: Corrected Register map entry for xmac_link registers - Corrected Register map entry for xmac_link registers. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit bd9ee6808b6c9106fd8046693c544d081746184b Author: Sreenivasa Honnur Date: Wed Jul 1 21:14:03 2009 +0000 vxge: check for card status before continuing in device close - Fixed the crash in rmmod after vpath open failed when trying to change mtu. We should check for card status before continuing in device close. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 914d0d714fa472d7f99ef899a8180628ecdcd23c Author: Sreenivasa Honnur Date: Wed Jul 1 21:13:12 2009 +0000 vxge: Fixed memory leak by freeing memory allocated for device_config - Fixed memory leak by freeing memory allocated for device_config. Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit 7975d1eed732c9d50b41f5847453e324f544bd30 Author: Sreenivasa Honnur Date: Wed Jul 1 21:12:23 2009 +0000 vxge: Removed ioremap of unused bar addresses and their references - Removed ioremap of bar1 address Driver needs only bar0 address for register access - Removed references to bar1 and bar2 addresses Signed-off-by: Sreenivasa Honnur Signed-off-by: Ramkrishna Vepa Signed-off-by: David S. Miller commit e04af024b2e74249990587e76ec98220028c01c3 Author: Cyrill Gorcunov Date: Fri Jul 3 20:11:58 2009 +0000 net, netns_xt: shrink netns_xt members In case if kernel was compiled without ebtables support there is no need to keep ebt_table pointers in netns_xt structure. Make it config dependent. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 1490fd89474dab9c560d3cca1a4aefbdb89be247 Author: Cyrill Gorcunov Date: Fri Jul 3 20:11:57 2009 +0000 net, bridge: align br_nf_ops assignment No functional change -- just for easier reading. Signed-off-by: Cyrill Gorcunov Signed-off-by: David S. Miller commit 6650613d3387dcc30685e2781818ea7d0f840027 Author: oscar.medina@motorola.com Date: Tue Jun 30 03:25:39 2009 +0000 tipc: Add socket options to get number of queued messages This patch allows a TIPC application to determine the number of messages currently waiting in a socket's receive queue (TIPC_SOCK_RECVQ_DEPTH) or in all TIPC socket receive queues (TIPC_NODE_RECVQ_DEPTH). Signed-off-by: Oscar Medina Signed-off-by: Allan Stephens Signed-off-by: David S. Miller commit af794c74240d8d788058bdfee339512e7ac029b2 Author: Rami Rosen Date: Thu Jun 25 04:42:19 2009 +0000 cleanup: remove unused member in scm_cookie. This patch removes an unused member (seq) scm_cookie; besides initialized to 0 in the header file, it is not used. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit 6f5bec195839dba3ca0ab8a7a53861e679109c0b Author: Michael Opdenacker Date: Wed Jun 24 21:05:09 2009 +0000 Minor code cleanup in drivers/net/r6040.c Replaced '0' by 'bar' in the probe function. The 'bar' variable was already set to '0' and is already used in pci_iomap(). This is cleaner and improves code consistency. Signed-off-by: Michael Opdenacker Acked-by: Florian Fainelli Signed-off-by: David S. Miller commit 6ed106549d17474ca17a16057f4c0ed4eba5a7ca Author: Patrick McHardy Date: Tue Jun 23 06:03:08 2009 +0000 net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions This patch is the result of an automatic spatch transformation to convert all ndo_start_xmit() return values of 0 to NETDEV_TX_OK. Some occurences are missed by the automatic conversion, those will be handled in a seperate patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0e8635a8e1f2d4a9e1bfc6c3b21419a5921e674f Author: Florian Westphal Date: Sat Jun 20 00:53:25 2009 +0000 net: remove NET_RX_BAD and NET_RX_CN* defines almost no users in the tree; and the few that use them treat them like NET_RX_DROP. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit 6b1344724e10c166d9e3c17011ed879ddf302e94 Merge: 8e4a718 1ded3f5 Author: David S. Miller Date: Sun Jul 5 19:06:45 2009 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 commit b56063453881a6d94cf5718c6769de6e35e67753 Author: Eric Sandeen Date: Sun Jul 5 12:23:35 2009 -0500 xfs: remove XFS_INO64_OFFSET Commit a19d9f887d81106d52cacbc9930207b487e07e0e removed the ino64 option but left the XFS_INO64_OFFSET define it used in place - just remove it. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit f6f1eb1033959f3633eafbe06dcac92b9c503c41 Author: Mark Brown Date: Sun Jul 5 17:57:57 2009 +0100 ASoC: Factor out WM8580 register cache code Note the slightly tricky cache usage in the volume update function due to the requirement for a separate write for the VU bit. Signed-off-by: Mark Brown commit 5f345346dd715d53fb2ed168a4fd432e1bdcb14d Author: Mark Brown Date: Sun Jul 5 17:35:28 2009 +0100 ASoC: Remove use of hw_read from TLV320AIC3x driver The TLV320AIC3x driver is currently the only user of the CODEC hw_read operation and is jumping through some hoops in order to do so. In order to support future refactoring to make the hw_read operation more usable unwrap the usage in this driver to avoid its use. Signed-off-by: Mark Brown commit 1e30a5828e4e9e49fcc6e471bf0d99d4fd273ba4 Author: Mark Brown Date: Sun Jul 5 17:28:41 2009 +0100 ASoC: Remove unused AK4535 hardware read functionality Nothing uses it and the existing hw_read operation needs to be refectored so it's easier to remove it rather than work with it. Support can be re-added if the code requires volatile registers. Signed-off-by: Mark Brown commit 17a52fd60a0a0e617ed94aadb1b19751a8fa219e Author: Mark Brown Date: Sun Jul 5 17:24:50 2009 +0100 ASoC: Begin to factor out register cache I/O functions A lot of CODECs share the same register data formats and therefore replicate the code to manage access to and caching of the register map. In order to reduce code duplication centralised versions of this code will be introduced with drivers able to configure the use of the common code by calling the new snd_soc_codec_set_cache_io() API call during startup. As an initial user the 7 bit address/9 bit data format used by many Wolfson devices is supported for write only CODECs and the drivers with straightforward register cache implementations are converted to use it. Signed-off-by: Mark Brown commit 5420f30723122012c7bb868a55ff21c7d383b68e Author: Mark Brown Date: Sun Jul 5 16:29:39 2009 +0100 ASoC: Fix leaks in WM8988 registration error handling Signed-off-by: Mark Brown commit 1a01417e85846e42e939a345a294e8ae2287cc1f Author: Mark Brown Date: Sun Jul 5 15:47:03 2009 +0100 ASoC: Fix WM8960 leaks on probe failure Signed-off-by: Mark Brown commit fe5422fc4ac221910083e603eb2a873280a9bd37 Author: Mark Brown Date: Sun Jul 5 15:18:01 2009 +0100 ASoC: Fix leaks in WM8731 probe error handling Signed-off-by: Mark Brown commit 096e49d5e6f7bd93395e7ddf7e0239e1644d0505 Author: Mark Brown Date: Sun Jul 5 15:12:22 2009 +0100 ASoC: Add CODEC volatile register operation Add a volatile_register() operation to the CODEC structure providing a standard operation to query if a register is volatile. This will be used to factor out the register cache I/O operations for the CODECs. Signed-off-by: Mark Brown commit af0adf3e81dbcf782388b8a7d0d7094ef5e70f50 Author: Troy Kisky Date: Sat Jul 4 19:29:59 2009 -0700 ASoC: DaVinci: i2s, add davinci_i2s_prepare and shutdown If the codec is master then prepare should call mcbsp_start, not trigger. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit f5cfa954e6812c09e3a4b89e8009b22285b860a3 Author: Troy Kisky Date: Sat Jul 4 19:29:57 2009 -0700 ASoC: DaVinci: i2s, fix mcbsp_word_length update Code previously just "ors" in this field without clearing first. Fix, by never reading this register. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 9333b594a08f2b2d8b7d96260164817acdbc5cab Author: Troy Kisky Date: Sat Jul 4 19:29:56 2009 -0700 ASoC: DaVinci: i2s, minor cleanup of davinci_i2s_startup Save a few lines of code. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 1bef449989d0866a7db366a8153135cfa3d5cad9 Author: Troy Kisky Date: Sat Jul 4 19:29:55 2009 -0700 ASoC: DaVinci: i2s, only start sample generator if needed Only start sample generator if needed, and more cleanup on davinci_mcbsp_start. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit eba575c30b93755dc0ee5e9adbb5b06d3289b62a Author: Troy Kisky Date: Sat Jul 4 19:29:54 2009 -0700 ASoC: DaVinci: i2s cleanup Move variable declaration closer to use. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit f9af37cc632b59c39768329797443308ad6b4137 Author: Troy Kisky Date: Sat Jul 4 19:29:53 2009 -0700 ASoc: DaVinci: i2s, minor cleanup Add davinci_mcbsp_dev as argument to davinci_mcbsp_start and davinci_mcbsp_stop. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit c392bec716431d77e503345117a3e7ad3face677 Author: Troy Kisky Date: Sat Jul 4 19:29:52 2009 -0700 ASoC: DaVinci: i2s toggle clock to complete reset Add toggle_clock function to complete i2s reset earlier. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit 35cf63583d8d81d8ac261e944db9eeb44a60692d Author: Troy Kisky Date: Sat Jul 4 19:29:51 2009 -0700 ASoC: DaVinci: i2s, remove MOD_REG_BIT macro No functional changes. Rename variable w to something more meaningful. Remove code obfuscating macro MOD_REG_BIT. Signed-off-by: Troy Kisky Signed-off-by: Mark Brown commit c71320d0c445e01555a86fa6523609db47eeaef6 Author: Rafael J. Wysocki Date: Sun Jul 5 00:22:34 2009 +0200 genirq: Fix comment describing suspend_device_irqs() The kerneldoc comment describing suspend_device_irqs() is currently misleading, because generally the function doesn't really disable interrupt lines at the chip level. Replace it with a more accurate one. Signed-off-by: Rafael J. Wysocki LKML-Reference: <200907050022.35117.rjw@sisk.pl> Signed-off-by: Thomas Gleixner commit 96ccd4a43a4d80c80be636cd025a69959cf47424 Author: Thomas Gleixner Date: Sun Jul 5 12:47:52 2009 +0200 genirq: Remove obsolete defines and typedefs The defines and typedefs (hw_interrupt_type, no_irq_type, irq_desc_t) have been kept around for migration reasons. The last users are gone, remove them. Signed-off-by: Thomas Gleixner commit 69eb88825a7a562ee3564bdae20c35b0238307b0 Author: Ondrej Zary Date: Sat Jul 4 22:25:44 2009 +0200 cmi8330: Add basic CMI8329 support Add basic support for CMI8329 cards. Makes PCM and OPL3 work. Does not break CMI8330 (tested). Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit e3d0e69268dffb9676bf0800a60fb3573a723480 Author: Ingo Molnar Date: Sun Jul 5 09:44:11 2009 +0200 x86: Further clean up of mtrr/generic.c Yinghai noticed that i defined BIOS_BUG_MSG but added no usage for it. The usage is to clean up this turd in generic.c: printk(KERN_WARNING "WARNING: BIOS bug: VAR MTRR %d " "contains strange UC entry under 1M, check " "with your system vendor!\n", i); Breaking printk lines in the middle looks ugly, is hard to read and breaks 'git grep'. Use the BIOS_BUG_MSG instead. Also complete the moving of structure definitions and variables to the top of the file. Reported-by: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> Signed-off-by: Ingo Molnar commit 0f60bb25b4036d30fd795709be09626c58c52464 Author: Paul Mundt Date: Sun Jul 5 03:18:47 2009 +0900 sh: Tidy up vmalloc fault handling. This rewrites the vmalloc fault handling as per x86, which subsequently allows for easy future tie-in for vmalloc_sync_all(). Signed-off-by: Paul Mundt commit c63c3105e4991b2991ba73a742b8b59bfdbe4acd Author: Paul Mundt Date: Sun Jul 5 02:50:10 2009 +0900 sh: use kprobes_built_in() for notify_page_fault(). Kill off the KPROBES ifdef, as per x86. Signed-off-by: Paul Mundt commit 1ecc6ab669e7e82603c60e692566d2d592cb8fb4 Merge: 4048e5c 7426394 9731f4a Author: Paul Mundt Date: Sun Jul 5 00:33:40 2009 +0900 Merge branches 'sh/hwblk', 'sh/cpuidle' and 'sh/stable-updates' commit 4048e5ca29afbd747a16245f2bc4d1d521a6d0d0 Author: Magnus Damm Date: Fri Jun 26 06:59:17 2009 +0000 usb: m66592-udc buffer management update This patch updates the m66592-udc buffer management code. Use fixed buffers for bulk and isochronous pipes, also make sure to handle the isochronous-as-bulk case. With fixed buffers there is no need to keep track of used buffers with bi_bufnum. Also, this fixes a potential buffer offset problem where the base offset incorrectly varies with the number of pipes used. With this patch applied it is possible to use m66592-udc for both Ethernet and Serial using CONFIG_USB_CDC_COMPOSITE. Signed-off-by: Magnus Damm Acked-by: Yoshihiro Shimoda Acked-by: Greg Kroah-Hartman Signed-off-by: Paul Mundt commit 5084f61a4d6c9c7bfd3be07fbb5253c1a08cd568 Author: Matt Fleming Date: Fri Jul 3 23:34:51 2009 +0100 sh: Use bootmem ontop of lmb for NUMA Like the UP case, use lmb as the foundation of memory resource management on NUMA. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 7426394f20c2e74b7c560bcd266cec1b327a269b Author: Magnus Damm Date: Fri Jul 3 10:28:00 2009 +0000 sh: cpuidle for SuperH Mobile using hwblk This patch adds cpuidle support for SuperH Mobile. The sleep mode selected by cpuidle is compared with the mode selected by the hwblk sleep code and the best allowed mode is entered. At this point "Sleep mode" and "Sleep mode + SF" are supported. This code can easily be extended to support "Software suspend mode", but the assembly code must first be updated to avoid loosing interrupts. Also, update the code to only copy the assembly snippet into internal memory once at bootup. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit a61c1a636628a28ab5b42a9d36582a8f6a08893a Author: Magnus Damm Date: Fri Jul 3 10:15:25 2009 +0000 sh: hwblk for sh7722 This patch contains the sh7722 specific hwblk implementation. Hwblk ids are added to the processor specific header file, module stop bits and areas are kept track of as hwblks, clocks are converted to make use of the shared hwblk code. Code to determine allowed sleep modes is also added. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 79714acbab080ad351acf4bba9a2bbc21d65c93c Author: Magnus Damm Date: Fri Jul 3 10:08:05 2009 +0000 sh: hwblk base implementation This patch is the hwblk base implementation, containing structures and shared functions dealing with hardware blocks. A each processor model should provide a list of hwblks and describe which module stop bit that is associated with each hwblck and how the hwblks are grouped together into areas. The shared code keeps track of the usage count for each hwblk and the areas. Fallback implementations for processor specific code are also kept as weak symbols. The clock framework, the runtime pm code and cpuidle will all tie into this hwblk implementation. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 1475ef0f0367766417f10f82880178ca42922748 Merge: b0bb3aa 02358fc Author: Takashi Iwai Date: Sat Jul 4 12:20:25 2009 +0200 Merge branch 'fix/hda' into topic/hda commit dbd51be026eaf84088fdee7fab9f38fa92eef26d Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:56:28 2009 +0530 x86: Clean up mtrr/main.c Fix following trivial style problems: ERROR: trailing whitespace X 25 WARNING: Use #include instead of WARNING: Use #include instead of ERROR: do not initialise externals to 0 or NULL X 2 ERROR: "foo * bar" should be "foo *bar" X 5 ERROR: do not use assignment in if condition X 2 WARNING: line over 80 characters X 8 ERROR: return is not a function, parentheses are not required WARNING: braces {} are not necessary for any arm of this statement ERROR: space required before the open parenthesis '(' X 2 ERROR: open brace '{' following function declarations go on the next line ERROR: space required after that ',' (ctx:VxV) X 8 ERROR: space required before the open parenthesis '(' X 3 ERROR: else should follow close brace '}' WARNING: space prohibited between function name and open parenthesis '(' WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable X 2 Also use pr_debug and pr_warning where possible. total: 50 errors, 14 warnings arch/x86/kernel/cpu/mtrr/main.o: text data bss dec hex filename 3668 116 4156 7940 1f04 main.o.before 3668 116 4156 7940 1f04 main.o.after md5: e01af2fd28deef77c8d01e71acfbd365 main.o.before.asm e01af2fd28deef77c8d01e71acfbd365 main.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> Cc: Avi Kivity # Avi, please have a look at the kvm_para.h bit [ More cleanups ] Signed-off-by: Ingo Molnar commit 09b22c85d59dd935fdfa71655a443785e3f99c18 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:54:53 2009 +0530 x86: Clean up mtrr/state.c Fix: WARNING: Use #include instead of WARNING: line over 80 characters X 4 arch/x86/kernel/cpu/mtrr/state.o: text data bss dec hex filename 864 0 0 864 360 state.o.before 864 0 0 864 360 state.o.after md5: c5c4364b9aeac74d70111e1e49667a2c state.o.before.asm c5c4364b9aeac74d70111e1e49667a2c state.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More cleanups ] Signed-off-by: Ingo Molnar commit 3ec8dbcb09bb6df83993ca03e88cb85e3aaa8edb Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:54:16 2009 +0530 x86: Clean up mtrr/mtrr.h Fix: ERROR: do not use C99 // comments ERROR: "foo * bar" should be "foo *bar" X 2 Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More tidyups ] Signed-off-by: Ingo Molnar commit 26dc67eda19beafb7e5ef2770cec5b3ee5995a8e Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:53:40 2009 +0530 x86: Clean up mtrr/if.c Fix: WARNING: Use #include instead of ERROR: trailing whitespace X 7 ERROR: trailing statements should be on next line X 3 WARNING: line over 80 characters X 5 ERROR: space required before the open parenthesis '(' arch/x86/kernel/cpu/mtrr/if.o: text data bss dec hex filename 2239 4 0 2243 8c3 if.o.before 2239 4 0 2243 8c3 if.o.after md5: 78d1f2aa4843ec6509c18e2dee54bc7f if.o.before.asm 78d1f2aa4843ec6509c18e2dee54bc7f if.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ More cleanups to make the code more consistent. ] Signed-off-by: Ingo Molnar commit a1a499a39911fcfecbebaba1f38588088909f918 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:53:00 2009 +0530 x86: Clean up mtrr/generic.c Fix following trivial style problems: ERROR: trailing whitespace X 4 WARNING: Use #include instead of WARNING: braces {} are not necessary for single statement blocks X 3 ERROR: "foo * bar" should be "foo *bar" WARNING: line over 80 characters X 6 ERROR: "foo * bar" should be "foo *bar" ERROR: spaces required around that '=' (ctx:VxO) ERROR: space required before that '-' (ctx:OxV) WARNING: suspect code indent for conditional statements (8, 12) ERROR: spaces required around that '=' (ctx:VxV) ERROR: do not initialise statics to 0 or NULL ERROR: space prohibited after that open parenthesis '(' X 2 ERROR: space prohibited before that close parenthesis ')' X 2 ERROR: trailing statements should be on next line ERROR: return is not a function, parentheses are not required Also use pr_debug and pr_warning where possible. arch/x86/kernel/cpu/mtrr/generic.o: text data bss dec hex filename 5652 77 4224 9953 26e1 generic.o.before 5652 77 4220 9949 26dd generic.o.after The md5 changed: b34d6c045f06daa4ed092b90cc760e8f generic.o.before.asm a490c6251cfd8442fbffecc0e09a573d generic.o.after.asm Because mtrr_state moved from data to bss, changing its offsets - and also because __LINE__ numbers changed. Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Further cleanups to make the code more consistent ] Signed-off-by: Ingo Molnar commit 2311037708c170977506fbcbe0a2ba0c6d221940 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:52:08 2009 +0530 x86: Clean up mtrr/cyrix.c Fix trivial style problems: WARNING: Use #include instead of WARNING: line over 80 characters ERROR: do not initialise statics to 0 or NULL ERROR: space prohibited after that open parenthesis '(' X 2 ERROR: space prohibited before that close parenthesis ')' X 2 ERROR: trailing whitespace X 2 ERROR: trailing statements should be on next line ERROR: do not use C99 // comments X 2 arch/x86/kernel/cpu/mtrr/cyrix.o: text data bss dec hex filename 1637 32 8 1677 68d cyrix.o.before 1637 32 8 1677 68d cyrix.o.after md5: 6f52abd06905be3f4cabb5239f9b0ff0 cyrix.o.before.asm 6f52abd06905be3f4cabb5239f9b0ff0 cyrix.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Made the code more consistent ] Signed-off-by: Ingo Molnar commit 63f9600fadb10ea739108ae93e3e842d9843c58b Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:51:32 2009 +0530 x86: Clean up mtrr/cleanup.c Fix trivial style problems: WARNING: Use #include instead of WARNING: Use #include instead of Also, nr_mtrr_spare_reg should be unsigned long. arch/x86/kernel/cpu/mtrr/cleanup.o: text data bss dec hex filename 6241 8992 2056 17289 4389 cleanup.o.before 6241 8992 2056 17289 4389 cleanup.o.after The md5 has changed: 1a7a27513aef1825236daf29110fe657 cleanup.o.before.asm bcea358efa2532b6020e338e158447af cleanup.o.after.asm Because a WARN_ON()'s __LINE__ value changed by 3 lines. Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Did lots of other cleanups to make the code look more consistent. ] Signed-off-by: Ingo Molnar commit 6c4caa1ab737502190e416b76e6c10d2bf24276a Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:50:44 2009 +0530 x86: Clean up mtrr/centaur.c Remove dead code and fix trivial style problems: ERROR: trailing whitespace X 2 WARNING: line over 80 characters X 3 ROR: trailing whitespace ERROR: do not use C99 // comments X 2 arch/x86/kernel/cpu/mtrr/centaur.o: text data bss dec hex filename 605 32 68 705 2c1 centaur.o.before 605 32 68 705 2c1 centaur.o.after md5: a4865ea98ce3c163bb1d376a3949b3e3 centaur.o.before.asm a4865ea98ce3c163bb1d376a3949b3e3 centaur.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Standardized comments, DocBook, curly braces, newlines. ] Signed-off-by: Ingo Molnar commit 42204455f160dab0c47f19e1be23f5c927af2d17 Author: Jaswinder Singh Rajput Date: Sat Jul 4 07:50:00 2009 +0530 x86: Clean up mtrr/amd.c: Fix trivial style problems : ERROR: trailing whitespace WARNING: line over 80 characters ERROR: do not use C99 // comments arch/x86/kernel/cpu/mtrr/amd.o: text data bss dec hex filename 501 32 0 533 215 amd.o.before 501 32 0 533 215 amd.o.after md5: 62f795eb840ee2d17b03df89e789e76c amd.o.before.asm 62f795eb840ee2d17b03df89e789e76c amd.o.after.asm Suggested-by: Alan Cox Signed-off-by: Jaswinder Singh Rajput Cc: Andrew Morton Cc: Yinghai Lu LKML-Reference: <20090703164225.GA21447@elte.hu> [ Also restructured comments to be standard, removed stray return, converted function description to DocBook style, etc. ] Signed-off-by: Ingo Molnar commit d7e57676e3ed7ab9b2c7c4bcb7873e51eacbdb84 Merge: feaa045 746a99a Author: Ingo Molnar Date: Sat Jul 4 11:00:38 2009 +0200 Merge branch 'linus' into x86/cleanups Merge reason: We were on an older pre-rc1 base, move to almost-rc2. Signed-off-by: Ingo Molnar commit a530b7958612bafe2027e21359083dba84f0b3b4 Author: Tejun Heo Date: Sat Jul 4 08:11:00 2009 +0900 percpu: teach large page allocator about NUMA Large page first chunk allocator is primarily used for NUMA machines; however, its NUMA handling is extremely simplistic. Regardless of their proximity, each cpu is put into separate large page just to return most of the allocated space back wasting large amount of vmalloc space and increasing cache footprint. This patch teachs NUMA details to large page allocator. Given processor proximity information, pcpu_lpage_build_unit_map() will find fitting cpu -> unit mapping in which cpus in LOCAL_DISTANCE share the same large page and not too much virtual address space is wasted. This greatly reduces the unit and thus chunk size and wastes much less address space for the first chunk. For example, on 4/4 NUMA machine, the original code occupied 16MB of virtual space for the first chunk while the new code only uses 4MB - one 2MB page for each node. [ Impact: much better space efficiency on NUMA machines ] Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: Jan Beulich Cc: Andi Kleen Cc: David Miller commit 2f39e637ea240efb74cf807d31c93a71a0b89174 Author: Tejun Heo Date: Sat Jul 4 08:11:00 2009 +0900 percpu: allow non-linear / sparse cpu -> unit mapping Currently cpu and unit are always identity mapped. To allow more efficient large page support on NUMA and lazy allocation for possible but offline cpus, cpu -> unit mapping needs to be non-linear and/or sparse. This can be easily implemented by adding a cpu -> unit mapping array and using it whenever looking up the matching unit for a cpu. The only unusal conversion is in pcpu_chunk_addr_search(). The passed in address is unit0 based and unit0 might not be in use so it needs to be converted to address of an in-use unit. This is easily done by adding the unit offset for the current processor. [ Impact: allows non-linear/sparse cpu -> unit mapping, no visible change yet ] Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: David Miller commit ce3141a277ff6cc37e51008b8888dc2cb7456ef1 Author: Tejun Heo Date: Sat Jul 4 08:11:00 2009 +0900 percpu: drop pcpu_chunk->page[] percpu core doesn't need to tack all the allocated pages. It needs to know whether certain pages are populated and a way to reverse map address to page when freeing. This patch drops pcpu_chunk->page[] and use populated bitmap and vmalloc_to_page() lookup instead. Using vmalloc_to_page() exclusively is also possible but complicates first chunk handling, inflates cache footprint and prevents non-standard memory allocation for percpu memory. pcpu_chunk->page[] was used to track each page's allocation and allowed asymmetric population which happens during failure path; however, with single bitmap for all units, this is no longer possible. Bite the bullet and rewrite (de)populate functions so that things are done in clearly separated steps such that asymmetric population doesn't happen. This makes the (de)population process much more modular and will also ease implementing non-standard memory usage in the future (e.g. large pages). This makes @get_page_fn parameter to pcpu_setup_first_chunk() unnecessary. The parameter is dropped and all first chunk helpers are updated accordingly. Please note that despite the volume most changes to first chunk helpers are symbol renames for variables which don't need to be referenced outside of the helper anymore. This change reduces memory usage and cache footprint of pcpu_chunk. Now only #unit_pages bits are necessary per chunk. [ Impact: reduced memory usage and cache footprint for bookkeeping ] Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: David Miller commit c8a51be4cabb7009db5f865169389242d49c4c60 Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 percpu: reorder a few functions in mm/percpu.c (de)populate functions are about to be reimplemented to drop pcpu_chunk->page array. Move a few functions so that the rewrite patch doesn't have code movement making it more difficult to read. [ Impact: code movement ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 38a6be525460f52ac6f2de1c3f73c5615a8853cd Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 percpu: simplify pcpu_setup_first_chunk() Now that all first chunk allocator helpers allocate and map the first chunk themselves, there's no need to have optional default alloc/map in pcpu_setup_first_chunk(). Drop @populate_pte_fn and only leave @dyn_size optional and make all other params mandatory. This makes it much easier to follow what pcpu_setup_first_chunk() is doing and what actual differences tweaking each parameter results in. [ Impact: drop unused code path ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 8c4bfc6e8801616ab2e01c38140b2159b388d2ff Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 x86,percpu: generalize lpage first chunk allocator Generalize and move x86 setup_pcpu_lpage() into pcpu_lpage_first_chunk(). setup_pcpu_lpage() now is a simple wrapper around the generalized version. Other than taking size parameters and using arch supplied callbacks to allocate/free/map memory, pcpu_lpage_first_chunk() is identical to the original implementation. This simplifies arch code and will help converting more archs to dynamic percpu allocator. While at it, factor out pcpu_calc_fc_sizes() which is common to pcpu_embed_first_chunk() and pcpu_lpage_first_chunk(). [ Impact: code reorganization and generalization ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 8f05a6a65d944f2fed4eb384fb58aa8c8e5a9bab Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 percpu: make 4k first chunk allocator map memory At first, percpu first chunk was always setup page-by-page by the generic code. To add other allocators, different parts of the generic initialization was made optional. Now we have three allocators - embed, remap and 4k. embed and remap fully handle allocation and mapping of the first chunk while 4k still depends on generic code for those. This makes the generic alloc/map paths specifci to 4k and makes the code unnecessary complicated with optional generic behaviors. This patch makes the 4k allocator to allocate and map memory directly instead of depending on the generic code. The only outside visible change is that now dynamic area in the first chunk is allocated up-front instead of on-demand. This doesn't make any meaningful difference as the area is minimal (usually less than a page, just enough to fill the alignment) on 4k allocator. Plus, dynamic area in the first chunk usually gets fully used anyway. This will allow simplification of pcpu_setpu_first_chunk() and removal of chunk->page array. [ Impact: no outside visible change other than up-front allocation of dyn area ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit d4b95f80399471e4bce5e992700ff7f06ef91f6a Author: Tejun Heo Date: Sat Jul 4 08:10:59 2009 +0900 x86,percpu: generalize 4k first chunk allocator Generalize and move x86 setup_pcpu_4k() into pcpu_4k_first_chunk(). setup_pcpu_4k() now is a simple wrapper around the generalized version. Other than taking size parameters and using arch supplied callbacks to allocate/free memory, pcpu_4k_first_chunk() is identical to the original implementation. This simplifies arch code and will help converting more archs to dynamic percpu allocator. While at it, s/pcpu_populate_pte_fn_t/pcpu_fc_populate_pte_fn_t/ for consistency. [ Impact: code reorganization and generalization ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit 788e5abc5441e9046dd91c995c6f1f75bbd144bf Author: Tejun Heo Date: Sat Jul 4 08:10:58 2009 +0900 percpu: drop @unit_size from embed first chunk allocator The only extra feature @unit_size provides is making dead space at the end of the first chunk which doesn't have any valid usecase. Drop the parameter. This will increase consistency with generalized 4k allocator. James Bottomley spotted missing conversion for the default setup_per_cpu_areas() which caused build breakage on all arcsh which use it. [ Impact: drop unused code path ] Signed-off-by: Tejun Heo Cc: James Bottomley Cc: Ingo Molnar commit 79ba6ac825fac187894e236c9df1ba5fcbf53fd3 Author: Tejun Heo Date: Sat Jul 4 08:10:58 2009 +0900 x86: make pcpu_chunk_addr_search() matching stricter The @addr passed into pcpu_chunk_addr_search() is unit0 based address and thus should be matched inside unit0 area. Currently, when it uses chunk size when determining whether the address falls in the first chunk. Addresses in unitN where N>0 shouldn't be passed in anyway, so this doesn't cause any malfunction but fix it for consistency. [ Impact: mostly cleanup ] Signed-off-by: Tejun Heo Cc: Ingo Molnar commit c43768cbb7655ea5ff782ae250f6e2ef4297cf98 Merge: 1a8dd30 746a99a Author: Tejun Heo Date: Sat Jul 4 07:13:18 2009 +0900 Merge branch 'master' into for-next Pull linus#master to merge PER_CPU_DEF_ATTRIBUTES and alpha build fix changes. As alpha in percpu tree uses 'weak' attribute instead of inline assembly, there's no need for __used attribute. Conflicts: arch/alpha/include/asm/percpu.h arch/mn10300/kernel/vmlinux.lds.S include/linux/percpu-defs.h commit b0bb3aa6233dccfccd040793d0d9ce838e4890e1 Author: Takashi Iwai Date: Fri Jul 3 23:25:37 2009 +0200 ALSA: hda - Don't override maxbps for FLOAT sharing with linear formats When FLOAT PCM format is available but together with other linear PCM formats, don't override maxbps value. For FLOAT format, it's always 32, thus it can be better checked in snd_hda_calc_stream_format(). Otherwise the maxbps 32 might be used wrongly even if the linear PCM doesn't support it. Signed-off-by: Takashi Iwai commit 846d8e7cc82a6205d5c0a905a4940abd0f565741 Author: Wei Yongjun Date: Thu Jun 25 16:35:44 2009 +0800 svcrdma: fix error handling of rdma_alloc_frmr() ib_alloc_fast_reg_mr() and ib_alloc_fast_reg_page_list() returns ERR_PTR() and not NULL. Compile tested only. Signed-off-by: Wei Yongjun Signed-off-by: J. Bruce Fields commit e488fca79fd0e864e993745ebda99e93dffebda8 Merge: 8ab9e0a aa20245 Author: Takashi Iwai Date: Fri Jul 3 15:03:35 2009 +0200 Merge branch 'fix/hda' into topic/hda commit 6814044324e745e7c55aaf4bd47bdfd9a51d842a Author: Lopez Cruz, Misael Date: Fri Jul 3 02:21:39 2009 -0500 ASoC: TWL4030: Add tristate callbacks for HiFi and Voice Add "set_tristate" callbacks for HiFi and Voice DAIs. Machine drivers can enable and disable tristate for each DAI with "snd_soc_dai_set_tristate" function. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 1b6ebdd7bbdb3fdcab82c8056dbae0c23dbaaf4d Author: Candelaria Villareal, Jorge Date: Thu Jul 2 19:04:07 2009 -0500 ASoC: Zoom2: Update twl4030_setup_data parameters Add support for EXTMUTE in Zoom2 machine driver. This is necessary to further reduce pop noise problem. Signal EXTMUTE is connected to signal GPIO 153 in Zoom2 board. In addition, change ramp delay value to 3 (218/161/109 ms). With previous ramp delay value, pop noise was louder. With a longer value the beep tone can be observed. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit ddc1637af217dbd8bc51f30e6d24e84476a869a6 Author: Li Zefan Date: Fri Jul 3 17:34:24 2009 +0800 kmemtrace: Print binary output only if 'bin' option is set Currently by default the output of kmemtrace is binary format instead of human-readable output. This patch makes the following changes: - We'll see human-readable output by default - We'll see binary output if 'bin' option is set Note: you may probably need to explicitly disable context-info binary output: # echo 0 > options/context-info # echo 1 > options/bin # cat trace_pipe v2: - use %pF to print call_site Signed-off-by: Li Zefan Acked-by: Pekka Enberg Acked-by: Eduard - Gabriel Munteanu Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4DD0A0.5060500@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 8ab9e0af6d7709a781b60a51711ddf1d43bd22bb Author: Takashi Iwai Date: Fri Jul 3 10:58:12 2009 +0200 ALSA: hda - Manually expand alc882_init_verbs Instead of expanding alc882_init_verbs to two elements via a macro, manually expand to each entry. This makes clear that some have already the full slot for init_verbs array (currently 5). Signed-off-by: Takashi Iwai commit cb6381225a8064b0911dced3eb10f00bd5520c85 Author: Takashi Iwai Date: Fri Jul 3 10:56:10 2009 +0200 ALSA: hda - Add missing mixer amp initialization for ALC882 After merting patch_alc882() and patch_alc883(), the initialization of mixer amp 0x0b was missing in alc882_base_init_verbs[]. This is usually no critical problem, but it can disable the power-saving as the default state, so better to put to mute these channels. Signed-off-by: Takashi Iwai commit 4d09161196c9a836eacea4b36e2f217bc34894cf Author: Robin Getz Date: Wed Jul 1 21:08:37 2009 -0400 printk: Enable the use of more than one CON_BOOT (early console) Today, register_console() assumes the following usage: - The first console to register with a flag set to CON_BOOT is the one and only bootconsole. - If another register_console() is called with an additional CON_BOOT, it is silently rejected. - As soon as a console without the CON_BOOT set calls registers the bootconsole is automatically unregistered. - Once there is a "real" console - register_console() will silently reject any consoles with it's CON_BOOT flag set. In many systems (alpha, blackfin, microblaze, mips, powerpc, sh, & x86), there are early_printk implementations, which use the CON_BOOT which come out serial ports, vga, usb, & memory buffers. In many embedded systems, it would be nice to have two bootconsoles - in case the primary fails, you always have access to a backup memory buffer - but this requires at least two CON_BOOT consoles... This patch enables that functionality. With the change applied, on boot you get (if you try to re-enable a boot console after the "real" console has been registered): root:/> dmesg | grep console bootconsole [early_shadow0] enabled bootconsole [early_BFuart0] enabled Kernel command line: root=/dev/mtdblock0 rw earlyprintk=serial,uart0,57600 console=ttyBF0,57600 nmi_debug=regs console handover:boot [early_BFuart0] boot [early_shadow0] -> real [ttyBF0] Too late to register bootconsole early_shadow0 or: root:/> dmesg | grep console Kernel command line: root=/dev/mtdblock0 rw console=ttyBF0,57600 console [ttyBF0] enabled Signed-off-by: Robin Getz Cc: "Linus Torvalds" Cc: "Andrew Morton" Cc: "Mike Frysinger" Cc: "Paul Mundt" LKML-Reference: <200907012108.38030.rgetz@blackfin.uclinux.org> Signed-off-by: Ingo Molnar commit 240ebbf81f149b11a31e060ebe5ee51a3c775360 Author: Paul E. McKenney Date: Thu Jun 25 09:08:18 2009 -0700 rcu: Add synchronize_sched_expedited() rcutorture doc + updates This patch updates the rcutorture documentation to include updated output format. It also brings the RCU documentation up to date. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460983193-git-send-email-> Signed-off-by: Ingo Molnar commit 0acc512cb1a29636df5e982c7d845edafe77c2d0 Author: Paul E. McKenney Date: Thu Jun 25 09:08:17 2009 -0700 rcu: Add synchronize_sched_expedited() torture tests This patch adds rcutorture tests for the new synchronize_sched_expedited() primitive, and also does some whitespace cleanups in kernel/rcutorture.c as well. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460981342-git-send-email-> Signed-off-by: Ingo Molnar commit 03b042bf1dc14a268a3d65d38b4ec2a4261e8477 Author: Paul E. McKenney Date: Thu Jun 25 09:08:16 2009 -0700 rcu: Add synchronize_sched_expedited() primitive This adds the synchronize_sched_expedited() primitive that implements the "big hammer" expedited RCU grace periods. This primitive is placed in kernel/sched.c rather than kernel/rcupdate.c due to its need to interact closely with the migration_thread() kthread. The idea is to wake up this kthread with req->task set to NULL, in response to which the kthread reports the quiescent state resulting from the kthread having been scheduled. Because this patch needs to fallback to the slow versions of the primitives in response to some races with CPU onlining and offlining, a new synchronize_rcu_bh() primitive is added as well. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: torvalds@linux-foundation.org Cc: davem@davemloft.net Cc: dada1@cosmosbay.com Cc: zbr@ioremap.net Cc: jeff.chua.linux@gmail.com Cc: paulus@samba.org Cc: laijs@cn.fujitsu.com Cc: jengelh@medozas.de Cc: r000n@r000n.net Cc: benh@kernel.crashing.org Cc: mathieu.desnoyers@polymtl.ca LKML-Reference: <12459460982947-git-send-email-> Signed-off-by: Ingo Molnar commit c601a51af10f714292f42eab45fa8c9154dc1414 Author: Matt Fleming Date: Fri Jul 3 16:16:54 2009 +0900 sh: Use bootmem ontop of lmb Rework the bootmem allocator to use the lmb framework. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit ab8b9baac3f48fb3fc3d47790950c0eec134e678 Author: Eric Sandeen Date: Thu Jul 2 21:35:43 2009 -0500 un-static xfs_read_agf CONFIG_XFS_DEBUG builds still need xfs_read_agf to be non-static, oops. Signed-off-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit fd09d7facb7cf3a884979eb5f843338ce1ce9b43 Author: Sebastian Andrzej Siewior Date: Fri Jul 3 12:10:47 2009 +0800 crypto: ansi_prng - alloc cipher just in init As reported by Eric Sesterhenn the re-allocation of the cipher in reset leads to: |BUG: sleeping function called from invalid context at kernel/rwsem.c:21 |in_atomic(): 1, irqs_disabled(): 0, pid: 4926, name: modprobe |INFO: lockdep is turned off. |Pid: 4926, comm: modprobe Tainted: G M 2.6.31-rc1-22297-g5298976 #24 |Call Trace: | [] __might_sleep+0xf9/0x101 | [] down_read+0x16/0x68 | [] crypto_alg_lookup+0x16/0x34 | [] crypto_larval_lookup+0x30/0xf9 | [] crypto_alg_mod_lookup+0x1d/0x62 | [] crypto_alloc_base+0x1e/0x64 | [] reset_prng_context+0xab/0x13f | [] ? __spin_lock_init+0x27/0x51 | [] cprng_init+0x2a/0x42 | [] __crypto_alloc_tfm+0xfa/0x128 | [] crypto_alloc_base+0x33/0x64 | [] alg_test_cprng+0x30/0x1f4 | [] alg_test+0x12f/0x19f | [] ? __alloc_pages_nodemask+0x14d/0x481 | [] do_test+0xf9d/0x163f [tcrypt] | [] do_test+0x3a1/0x163f [tcrypt] | [] tcrypt_mod_init+0x35/0x7c [tcrypt] | [] _stext+0x54/0x12c | [] ? tcrypt_mod_init+0x0/0x7c [tcrypt] | [] ? up_read+0x16/0x2b | [] ? __blocking_notifier_call_chain+0x40/0x4c | [] sys_init_module+0xa9/0x1bf | [] sysenter_do_call+0x12/0x32 because a spin lock is held and crypto_alloc_base() may sleep. There is no reason to re-allocate the cipher, the state is resetted in ->setkey(). This patches makes the cipher allocation a one time thing and moves it to init. Reported-by: Eric Sesterhenn Signed-off-by: Sebastian Andrzej Siewior Acked-by: Neil Horman Signed-off-by: Herbert Xu commit ed94070058033a3c99fe62c90d00c39dc443c679 Author: Sebastian Andrzej Siewior Date: Fri Jul 3 12:09:41 2009 +0800 crypto: ansi_prng - Use just a BH lock The current code uses a mix of sping_lock() & spin_lock_irqsave(). This can lead to deadlock with the correct timming & cprng_get_random() + cprng_reset() sequence. I've converted them to bottom half locks since all three user grab just a BH lock so this runs probably in softirq :) Signed-off-by: Sebastian Andrzej Siewior Acked-by: Neil Horman Signed-off-by: Herbert Xu commit c2b455474e4c6bc8bab6506e2a08dbd5ad50d74d Author: Alessandro Rubini Date: Thu Jul 2 15:29:53 2009 +0100 [ARM] 5588/1: nomadik: add defconfig for nhk8815 Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 0b260fd4b0eb7c90f9258bfa6317ae553319b5da Author: Alessandro Rubini Date: Thu Jul 2 15:29:43 2009 +0100 [ARM] 5587/1: nomadik: add l2cc Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 725b1f9d86822246e5a1237bf97d2783857d8a3a Author: Alessandro Rubini Date: Thu Jul 2 15:29:32 2009 +0100 [ARM] 5586/1: nomadik board: added ethernet Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 63796b740b888b396eb0cc78917d755693cc224c Author: Alessandro Rubini Date: Thu Jul 2 15:29:22 2009 +0100 [ARM] 5585/1: nomadik: add gpio-i2c devices Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 2ec1d3594563e0283873e24bb5d100dffee5d568 Author: Alessandro Rubini Date: Thu Jul 2 15:29:12 2009 +0100 [ARM] 5584/1: nomadik: add gpio driver and devices Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 28ad94ec61dc60207dbffdb95ff870c617fbb832 Author: Alessandro Rubini Date: Thu Jul 2 19:06:47 2009 +0100 [ARM] 5590/1: Add basic support for ST Nomadik 8815 SoC and evaluation board This patch adds the basic infrastructure for the Nomadik 8815 CPU and the "Nomadik Hardware Kit" NHK8815. This patch only includes the serial console and core stuff, no drivers. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit 8c81b52422147b4b09f5adb8d0c6963342a336c6 Author: Alessandro Rubini Date: Thu Jul 2 15:28:52 2009 +0100 [ARM] 5583/1: VIC: acknowledge software interrupts The PrimeCell Vectored Interrupt Controller offers a way to trigger any interrupt through software. This is a useful tool for developing, but such software interrupt can only be acked by writing a bit in the "software clear" register, or the handler will loop forever. This splits ack from mask, and acks the soft irq in case it was the source. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Acked-by: Linus Walleij Signed-off-by: Russell King commit 87e8824b4588076409692b82ef4b1d98f25cd400 Author: Alessandro Rubini Date: Thu Jul 2 15:28:41 2009 +0100 [ARM] 5582/1: VIC: support ST-modified version with a split init The Nomadik SoC (not yet merged) has a modified PL090 VIC cell. This adds support for it by reading the PrimeCell ID at the end of the page and calling a separate init function. Signed-off-by: Alessandro Rubini Acked-by: Andrea Gallo Signed-off-by: Russell King commit b319ff80852e823c3a18778c839151784990f80b Author: Nicolas Ferre Date: Fri Jun 26 15:37:01 2009 +0100 [ARM] 5570/1: at91: Support for at91sam9g10: core chip & board support From: Hong Xu Here are the modification to at91sam9261 files dedicated to the support of at91sam9g10. This direction has been adopted to minimize code duplication. All at91sam9261 drivers are enabled in _devices and board- files. Modificaton to peripherals that support at91sam9g10 will be added in future patches. Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit b784b7c03723891876c9053c589150a4062f9455 Author: Nicolas Ferre Date: Fri Jun 26 15:36:59 2009 +0100 [ARM] 5568/1: at91: Basic support for at91sam9g10: header files From: Hong Xu AT91sam9g10 is an ARM 926ej-s SOC. It is an evolution of the at91sam9261 with a faster clock speed: 266/133MHz. Here is the basic header file support for this product. Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit eab4170865cce9b8898a813b7e8024de857a01da Author: Nicolas Ferre Date: Fri Jun 26 15:37:00 2009 +0100 [ARM] 5567/1: at91: Support for at91sam9g10: clocks management From: Hong Xu Add the at91sam9g10 support to the AT91 generic clock file. It takes advantage of the management by functionalities of those PLLs and clocks. Signed-off-by: Hong Xu Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit ee8076ed3e1cdd0cd1e61318386932669c90b92f Author: Andres Salomon Date: Thu Jul 2 09:45:18 2009 -0400 power_supply: Add a charge_type property, and use it for olpc driver This adds a new sysfs file called 'charge_type' which displays the type of charging (unknown, n/a, trickle charge, or fast charging). This allows things like battery diagnostics to determine what the battery/EC is doing without resorting to changing the 'status' sysfs output. Signed-off-by: Andres Salomon Acked-by: Mark Brown Signed-off-by: Anton Vorontsov commit 4e49ffd10f01950bd81e8ef368a1ffb484a7d759 Author: Candelaria Villareal, Jorge Date: Wed Jul 1 19:17:43 2009 -0500 ASoC: TWL4030: Add EXTMUTE to reduce pop-noise effect According to TRM, an external FET controlled by a 1.8V output signal can be used to reduce the pop-noise heard when the audio amplifier is switched on. It is suggested that GPIO6 of TWL4030 be used, but any other gpio can be used instead. This is indicated in machine driver with the following twl4030_setup_data members: -hs_extmute. Set to 1 if board has support for EXTMUTE. -set_hs_extmute. Set to a callback funcion to control an external gpio line. Set to NULL if MUTE[GPIO6] pin is used. Codec driver takes care of enabling and disabling this output during the headset pop attenuation sequence. Also add a delay to let VMID settle in ramp up sequence. Signed-off-by: Jorge Eduardo Candelaria Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit a68f6610d4f1ebe61818f5926fa8fa9e75d06a95 Author: Herbert Xu Date: Thu Jul 2 16:32:12 2009 +0800 crypto: testmgr - Allow implementation-specific tests This patch adds the support for testing specific implementations. This should only be used in very specific situations. Right now this means specific implementations of random number generators. Signed-off-by: Herbert Xu commit cd775387244e379ef9b284f9b6aff6ee069f4d12 Author: Takashi Iwai Date: Thu Jul 2 10:28:56 2009 +0200 ALSA: ice1724 - Fix section mismatch Now snd_vt1724_chip_reset() is used in the resume callback, thus it cannot be __devinit. Signed-off-by: Takashi Iwai commit 370f048214b4e9aa2102fa3c454ae1374da287c5 Author: Eric Sandeen Date: Thu Jul 2 00:09:33 2009 -0500 xfs: add more statics & drop some unused functions A lot more functions could be made static, but they need forward declarations; this does some easy ones, and also found a few unused functions in the process. Signed-off-by: Eric Sandeen Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit 2115d2c17369df4b70fd161623a40ce98c261989 Merge: 1dcf98f da9ff1f Author: Mark Brown Date: Wed Jul 1 21:45:47 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit e3c6c4a8af9e3c4588235444774e66b6483b10ad Author: Vegard Nossum Date: Wed Jul 1 22:36:22 2009 +0200 kmemcheck: update documentation The download instructions are no longer needed since kmemcheck was included in mainline. Signed-off-by: Vegard Nossum commit d33c9a491bc87fb87fd0298d0425f0ff320d20a2 Author: Sebastian Andrzej Siewior Date: Sun Jun 28 13:10:19 2009 +0200 kmemcheck: depend on HAVE_ARCH_KMEMCHECK to make it selectable if it is available. Signed-off-by: Sebastian Andrzej Siewior Acked-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 414f3251aa1b4cbd1e070866971eabc004a7dc20 Author: Vegard Nossum Date: Mon Jun 22 14:31:53 2009 +0200 kmemcheck: remove useless check This check is a left-over from ancient times. We now have the equivalent check much earlier in both the page fault handler and the debug trap handler (the calls to kmemcheck_active()). Signed-off-by: Vegard Nossum commit a4a874a906ae69c35df4b712fadbc35b15665355 Author: Huang Weiyi Date: Thu Jun 18 07:05:46 2009 +0800 kmemcheck: remove duplicated #include Remove duplicated #include in arch/x86/mm/kmemcheck/shadow.c. Signed-off-by: Huang Weiyi Acked-by: Pekka Enberg Signed-off-by: Vegard Nossum commit 1dcf98ff8e2a4571a2accb852686023b47ca629a Author: Mark Brown Date: Wed Jul 1 18:28:54 2009 +0100 ASoC: Add WM8523 CODEC driver The WM8523 is a high performance stereo DAC with integral charge pump providing 2Vrms line driver outputs using a single 3.3V power supply rail. Signed-off-by: Mark Brown commit e5f1424807f4fa7aeddc376575e3b413c71c6fe1 Author: Takashi Iwai Date: Wed Jul 1 18:11:44 2009 +0200 ALSA: hda - Add Cirrus Logic CS420x support Signed-off-by: Takashi Iwai commit c78578693376e68ecdfcb64a3cc3a95a31b49295 Merge: b5025c5 ff84847 Author: Takashi Iwai Date: Wed Jul 1 18:09:15 2009 +0200 Merge branch 'fix/hda' into topic/hda commit b5025c50b5e817b3e509ad7e569f131b80d7c223 Author: Takashi Iwai Date: Wed Jul 1 18:05:27 2009 +0200 ALSA: hda - Allow FLOAT PCM format So far, the FLOAT PCM format is used only exclusivley set. But this can be a combination with other formats. This patch changes the parser to allow the FLOAT format in addition to other PCM formats. Signed-off-by: Takashi Iwai commit 020e5f85cb087a40572c8b8b2dd06292a14fa212 Author: Li Zefan Date: Wed Jul 1 10:47:05 2009 +0800 tracing/events: Add trace_event boot option We already have ftrace= boot option, and this adds a similar boot option for trace events, so allow trace events to be enabled at boot, for boot debugging purpose. Signed-off-by: Li Zefan Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4A4ACE29.3010407@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit c5cb5a2d8d7dc872cf1504091ad0e59fe5ff7cb5 Author: Masami Hiramatsu Date: Tue Jun 30 17:08:14 2009 -0400 kprobes: Clean up insn_pages by using list instead of hlist Use struct list instead of struct hlist for managing insn_pages, because insn_pages doesn't use hash table. Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Cc: Ananth N Mavinakayanahalli LKML-Reference: <20090630210814.17851.64651.stgit@localhost.localdomain> Signed-off-by: Ingo Molnar commit 144bbeaedc53290eab21da82ce1cb5faefd14374 Author: Andres Salomon Date: Tue Jun 30 02:15:26 2009 -0400 olpc_battery: Add an 'error' sysfs device that displays raw errors Grab the error code from EC_BAT_ERRCODE and let the user see it (rather than attempting to decode it as we do with PROP_HEALTH) with a separate error sysfs file. Signed-off-by: Andres Salomon Signed-off-by: Anton Vorontsov commit b294a290d24d1196d68399cc3a9b8c50bfb55abd Author: Andres Salomon Date: Tue Jun 30 02:13:01 2009 -0400 Revert "power: remove POWER_SUPPLY_PROP_CAPACITY_LEVEL" This reverts commit 8efe444038a205e79b38b7ad03878824901849a8 and 4cbc76eadf56399cd11fb736b33c53aec9caab8c. Richard@laptop.org was apparently using CAPACITY_LEVEL for debugging battery/EC problems, and was upset that it was removed. This readds it. Conflicts: Documentation/power_supply_class.txt Signed-off-by: Andres Salomon Signed-off-by: Anton Vorontsov commit 8a123ee2a46daa5c1b6f24eb3b004a5156244889 Author: Mark Brown Date: Tue Jun 30 21:10:34 2009 +0100 ASoC: WM8974 DAPM cleanups Also implement AUX mode control. Signed-off-by: Mark Brown commit 8b83a19367dc3bdfef07634646bbad90f6cba898 Author: Mark Brown Date: Tue Jun 30 19:37:02 2009 +0100 ASoC: WM8974 cosmetic cleanups Signed-off-by: Mark Brown commit cb11d39ead79e5bc8ca42de86b9df8dec8b88681 Author: Mark Brown Date: Tue Jun 30 19:36:39 2009 +0100 ASoC: Use symmetric rates for WM8974 The chip has a single LRCLK. Signed-off-by: Mark Brown commit a5f8d2f1b83d47b09ff7b587b9402c449e1e18d5 Author: Mark Brown Date: Tue Jun 30 19:30:33 2009 +0100 ASoC: Add WM8974 TLV information Signed-off-by: Mark Brown commit 91d0c3ecbaf6616c0723d7aad9b6dadad2dea43f Author: Mark Brown Date: Tue Jun 30 19:02:32 2009 +0100 ASoC: Refresh WM8974 PLL configuration Move away from a fixed table to runtime calculation. Signed-off-by: Mark Brown commit 33d81af4d12fc8863247abba1c1d706b462e89d0 Author: Mark Brown Date: Tue Jun 30 19:01:52 2009 +0100 ASoC: Declare 2 channels for WM8974 The device is a mono device but it can read two channel data and many I2S controllers only understand 2 channels. Signed-off-by: Mark Brown commit df1ef7a38db21a92239c775a28f0c69124c9b454 Author: Mark Brown Date: Tue Jun 30 19:01:09 2009 +0100 ASoC: Refresh WM8974 bias configuration Signed-off-by: Mark Brown commit 416356fcfad46bdebcf8e2afdb94919401ff99d3 Author: Mark Brown Date: Tue Jun 30 19:05:15 2009 +0100 ASoC: Convert to dev_pm_ops Signed-off-by: Mark Brown commit 0d971c9fcf06d22663040570c3cfe08b137c4b2f Author: Takashi Iwai Date: Tue Jun 30 16:11:11 2009 +0200 ALSA: hda - Fix input pinctl for ALC882 auto mode alc882_auto_init_analog_input() sets the input pins to VREF-80 regardless of the input pin types although it shouldn't be for line-in pins. This patch fixes the behavior to follow other codecs. Signed-off-by: Takashi Iwai commit 4953550a6ca399b644ef057626617465d8be9a7b Author: Takashi Iwai Date: Tue Jun 30 15:28:30 2009 +0200 ALSA: hda - Merge patch_alc882() and patch_alc883() Merge patch_alc882() and patch_alc883() to the former one since both codecs have fairly similar connections but just a slight difference. Signed-off-by: Takashi Iwai commit b9791ca013cfe344052455e9c8336e39d133c654 Merge: 546861f 1e7b8c8 Author: Takashi Iwai Date: Tue Jun 30 15:29:38 2009 +0200 Merge branch 'topic/hda-patch' into topic/hda commit 546861f1d3372d69d22e6624f51227d7d10c83f4 Merge: a983b9e 1d955eb Author: Takashi Iwai Date: Tue Jun 30 15:12:11 2009 +0200 Merge branch 'fix/hda' into topic/hda commit ac7242142b03421c96b0a2f8d99f146d075614c2 Merge: 89c8657 2bfdd79 Author: James Morris Date: Tue Jun 30 09:10:35 2009 +1000 Merge branch 'master' into next commit 9ea21ebca1a1c4caf3bdaecb0879034107cac1e9 Author: Mark Brown Date: Mon Jun 29 16:29:06 2009 +0100 ASoC: Fix WM8961 suspend function type Signed-off-by: Mark Brown commit 372a14a4a4db18751cd092aa3fe2a58216a8fc2f Author: Mark Brown Date: Mon Jun 29 14:56:01 2009 +0100 ASoC: Remove unreferenced wm8974_add_controls() Signed-off-by: Mark Brown commit 1a8dd307cc0a2119be4e578c517795464e6dabba Author: Tejun Heo Date: Mon Jun 29 17:45:39 2009 +0900 percpu: use __weak only in the definition of weak percpu variables __weak is necessary only for definition and might even not work in declaration. Drop it from declaration. This change was suggested by Ivan Kokshaysky. Signed-off-by: Tejun Heo Acked-by: Ivan Kokshaysky commit 54d35f29f49224d86b994acb6e5969b9ba09022d Author: Hitoshi Mitake Date: Mon Jun 29 14:44:57 2009 +0900 sched: Hide runqueues from direct reference at source code level for __raw_get_cpu_var() Hide __raw_get_cpu_var() as well - thus all the direct references to runqueues will abstracted out. Signed-off-by: Hitoshi Mitake LKML-Reference: <20090629.144457.886429910353660979.mitake@dcl.info.waseda.ac.jp> Signed-off-by: Ingo Molnar commit 348b346b238d9c0e5694c8d0b835a099cb383835 Merge: 6c697bd 5298976 Author: Ingo Molnar Date: Mon Jun 29 09:16:13 2009 +0200 Merge branch 'linus' into sched/core Merge reason: we will merge a dependent patch. Signed-off-by: Ingo Molnar commit 666cbe342622c959ad95515918a1c1f8210c93f2 Author: David Brownell Date: Sun Jun 28 23:50:08 2009 -0700 Input: dm355evm_keys - use threaded IRQs Convert the dm355evm keys driver to use IRQ threading instead of a private workqueue. IRQ threads were added to Linux after this driver was written, and in this case fit what the driver needs. (Although the non-shared thread costs more runtime memory.) Signed-off-by: David Brownell Signed-off-by: Dmitry Torokhov commit a983b9e5000e4b54b1f05297046dbb7375e9de5f Merge: b7b5114 c912e7a Author: Takashi Iwai Date: Mon Jun 29 08:51:09 2009 +0200 Merge branch 'fix/hda-samsung-p50' into topic/hda commit b7b51141b4fb6f9059a20c03dd2a5bf77c466c7e Author: Takashi Iwai Date: Mon Jun 29 08:34:06 2009 +0200 ALSA: hda - Check "beep" hint Check the hint "beep" in snd_hda_attach_beep_device() to avoid the beep device creation if user doesn't want. Signed-off-by: Takashi Iwai commit 74a0094cd9d030d7a684e6ce1cbd1658eb63bd7d Author: Ondrej Zary Date: Sat Jun 27 16:26:35 2009 +0200 ALSA: cmi8330: revert comments about AD1848 back In ALSA 1.0.20, the comments were changed to say CMI8330 instead of AD1848. The CMI8330 chip includes two codecs - AD1848 and SB16, so the comments were correct and are misleading now. Revert them back. Signed-off-by: Ondrej Zary Signed-off-by: Takashi Iwai commit 565b0c1f100408ccbcb04ba458a14da454cb271d Author: Figo.zhang Date: Mon Jun 29 12:02:55 2009 +0800 x86, highmem_32.c: Clean up comment Signed-off-by: Figo.zhang Cc: Andrew Morton LKML-Reference: <1246248175.5759.12.camel@myhost> Signed-off-by: Ingo Molnar commit ce0c0f9eec2f377055e8b23c6fa192202381e022 Author: Figo.zhang Date: Sun Jun 28 18:07:39 2009 +0800 x86, pgtable.h: Clean up types Use "unsigned long" consistently, not "unsigned". Signed-off-by: Figo.zhang LKML-Reference: <1246183659.2530.4.camel@myhost> Signed-off-by: Ingo Molnar commit 087975b06b00af9bf888fab6f94ae113c5cd80bd Author: Akinobu Mita Date: Sat Jun 27 15:35:15 2009 +0900 x86: Clean up dump_pagetable() Use pgtable access helpers for 32-bit version dump_pagetable() and get rid of __typeof__() operators. This needs to make pmd_pfn() available for 2-level pgtable. Also, remove some casts for 64-bit version dump_pagetable(). Signed-off-by: Akinobu Mita LKML-Reference: <20090627063514.GA2834@localhost.localdomain> Signed-off-by: Ingo Molnar commit fbd85b0e26bab0a13dcf860f2c20e86cb0507b61 Author: Arnd Bergmann Date: Sat Jun 27 15:58:13 2009 +0200 score: clean up mm/init.c score does not need multiple zero pages, because it does not suffer from cache aliasing problems, so simplify that code. Also make some functions static and include the appropriate header files. Signed-off-by: Arnd Bergmann commit 9b05706a744da939655525eeeae23f1989b434ce Author: Arnd Bergmann Date: Sat Jun 27 15:22:00 2009 +0200 score: make irq.h definitions local Some internal definitions of the interrupt controller are only needed in irq.c, so move them out of the global irq.h header. Also add proper __iomem annotations for sparse. Signed-off-by: Arnd Bergmann commit c6067472252c1d6155c7c01c93e0d580342cdb29 Author: Arnd Bergmann Date: Sat Jun 27 14:46:35 2009 +0200 score: cleanups: dead code, 0 as pointer, shadowed variables A few smaller issues found by sparse, some code that was never used, two instances of '0' instead of 'NULL' and local variables shadowing another one. Signed-off-by: Arnd Bergmann commit bddc605955bca2d914ca621a7ef4ca6c271f55d8 Author: Arnd Bergmann Date: Sat Jun 27 15:12:16 2009 +0200 score: fix function prototypes Syscalls should return 'long' and be marked as 'asmlinkage'. Functions that are only used in a single file should be 'static'. Signed-off-by: Arnd Bergmann commit a1f8213b9518d0e9124a48a34bdd58b4bc2650e5 Author: Arnd Bergmann Date: Sat Jun 27 15:05:30 2009 +0200 score: add address space annotations Annotate the address space for pointers that are used correctly with __user and __iomem, so that sparse can better warn about incorrect casts. Signed-off-by: Arnd Bergmann commit 9fb24cc50045ec8d13d0a6c3d4d454750b466d61 Author: Arnd Bergmann Date: Sat Jun 27 14:50:51 2009 +0200 score: add missing #includes Files that define a global function should #include the header with its declaration to make sure that the prototypes do not diverge. Signed-off-by: Arnd Bergmann commit 789b23bc40a67d9a19bedc2655c6bcab79bcabd8 Author: Nicolas Ferre Date: Fri Jun 26 15:36:58 2009 +0100 [ARM] 5572/1: at91: Support for at91sam9g45 series: core chip & board support Here are the at91 specific files dedicated to the at91sam9g45 series. They mimic the traditional at91 way of managing chips & boards. The first board that embeds at91sam9g45 chip is the AT91SAM9G45-EKES. In the future, the main board for this 9g45 series will be the AT91SAM9M10G45-EK (I choose this last name for the board file). Simple drivers are enabled in _devices and board- files. Newer peripheral support will be added in future patches. Incuded peripherals support (for now): - USART - SPI - Ethernet - NAND flash - LCD - gpio/joystick/buttons - leds and pwm Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit fddcc0ae58edefeb7ac1e460411d7dfbe8ebdacc Author: Nicolas Ferre Date: Fri Jun 26 15:36:56 2009 +0100 [ARM] 5571/1: at91: Basic support for at91sam9g45 series: header files. AT91sam9g45 series is an ARM 926ej-s SOC family clocked at 400/133MHz. It embedds USB high speed host and device, LCD, DDR2 RAM, and a full set of peripherals. Here is the basic header file support for this product series. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 2ef9df7ada6b6dd53446a994ef6e3a6ad5a300ef Author: Nicolas Ferre Date: Fri Jun 26 15:36:57 2009 +0100 [ARM] 5569/1: at91: Support for at91sam9g45: clocks management Add the at91sam9g45 series support to the AT91 generic clock file. This takes care of the particularities of the PMC for this series. It also takes advantage of the management by functionalities of those PLLs and clocks. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit 7c6425a0404399ba78852ef4108007ecf51ef3dc Author: Ryan Mallon Date: Wed Jun 24 23:15:23 2009 +0100 [ARM] 5566/1: Remove at91_gpiolib_request Remove at91_gpiolib_request. It returns -EPERM if a request pin is not in GPIO mode, however we want to be able to gpio_request alternative function pins to reserve them, and in some cases we need to be able to use the gpiolib functions on alternative function pins. Signed-off-by: Ryan Mallon Acked-by: David Brownell Signed-off-by: Russell King commit 226ddb9833a3c2f1087bfac70659d8e318d3c31f Author: Nicolas Ferre Date: Wed Jun 24 17:13:47 2009 +0100 [ARM] 5564/1: at91: add gpio button and leds support for at91sam9rlek This adds input keyboard gpio support on at91sam9rlek board. It adds button 1 and 2 (left and right click). It also adds gpio leds ds1, ds2 and ds3. Signed-off-by: Nicolas Ferre Acked-by: Andrew Victor Signed-off-by: Russell King commit f04989bbf4a40077dc7ddcc3dccde11a5f3e91f2 Author: Hartley Sweeten Date: Fri Jun 26 21:40:34 2009 +0100 [ARM] 5575/1: ep93xx: Show gpio interrupt type in debugfs output. ep93xx: Show gpio interrupt type in debugfs output. EP93xx uses a private implementation for the debugfs output. Modify this output so it includes the interrupt type when the gpio is configured as an interrupt Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit ddf4f3d994651ee2924432a618d9caefed411dc1 Author: Hartley Sweeten Date: Fri Jun 26 21:39:27 2009 +0100 [ARM] 5574/1: ep93xx: gpio.c: fix header includes and __iomem pointers Fix ep93xx gpio.c header includes and __iomem pointers. 1. should be included instead of 2. should be included instead of 3. data_reg and data_dir_reg in struct ep93xx_gpio_chip should be void __iomem pointers not unsigned int Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 702b59e623c3ca80beaeab79ca5ede4ea23170e2 Author: Hartley Sweeten Date: Fri Jun 26 21:36:36 2009 +0100 [ARM] 5573/1: ep93xx: ensure typesafe io ARM: ep93xx: ensure typesafe io For the ep93xx platform, all EP93XX_*_BASE defines are based on virtual addresses. Ensure that all these defines are properly typesafe for the __raw_{read/write}* macros. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 2495fbf7effa6868f5d74124ae9b22a57980755b Author: H. Peter Anvin Date: Fri Jun 26 10:53:57 2009 -0700 x86, setup: remove obsolete pre-Kconfig CONFIG_VIDEO_ variables There were a set of pre-Kconfig configuration variables defined in the video code. There is absolutely no evidence that they have been tweaked by anybody in modern history, so just get rid of them and hope nobody notices. If someone does complain, these should be made real Kconfig variables. Reported-by: Robert P. J. Day Signed-off-by: H. Peter Anvin commit c2caa4da46a41899b29f90ec30ef3ba86665b334 Author: Mark Brown Date: Fri Jun 26 15:36:56 2009 +0100 ASoC: Fix widget powerdown on shutdown We need to set the widget power state we want to implement. Signed-off-by: Mark Brown commit e3c7dbb07cde886ba97f183c4cc98a2a99b46eaa Author: Lopez Cruz, Misael Date: Thu Jun 25 12:36:14 2009 -0500 ASoC: Remove word "Switch" from Handsfree switch name SoC dapm adds the suffix "Switch" to SND_SOC_DAPM_SWITCH controls, removing word "Switch" from HandsfreeL/HandsfreeR widget name for avoiding to duplicate it. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 55dba52458a11126ff4445b5b94ebde03afcf47a Author: Jiri Kosina Date: Fri Jun 26 10:50:12 2009 +0200 HID: fix memory leak on error path in debug code If hid_get_report() fails, we forgot to free the already allocated buffer for debugging messages on error path. Fix that up. Signed-off-by: Jiri Kosina commit 38b7f49a0654cb52cac61c6455807248eee3059d Author: Jiri Kosina Date: Fri Jun 26 10:48:34 2009 +0200 HID: fix debugfs build with !CONFIG_DEBUG_FS Fix the debug function prototypes to be correct even in the !CONFIG_DEBUG_FS case. Reported-by: Stephen Rothwell Signed-off-by: Jiri Kosina commit 647613e97fa46f6c25cf38b0f2fa81eba5f278d4 Author: Atsushi Nemoto Date: Thu Jun 25 22:36:58 2009 +0900 ASoC: txx9aclc: dynamically allocate dmaengine devname Use kasprintf to allocate temporary devname string instead of a fixed size string. This fixes "FIXME" introduced on removal of BUS_ID_SIZE. Signed-off-by: Atsushi Nemoto Signed-off-by: Mark Brown commit dcf52fb71d988ba945054308f661bddf9b2455fb Author: Bjorn Helgaas Date: Mon Jun 22 20:41:45 2009 +0000 ACPI: remove unused acpi_device_ops .stop method No drivers use the .stop method, so remove it. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang Signed-off-by: Len Brown commit cf745ec7a1222a661b2c5f0e8c2c4be81300d2a4 Author: Bjorn Helgaas Date: Mon Jun 22 20:41:40 2009 +0000 ACPI: EC: remove .stop() method This patch folds the .stop() method into .remove(). acpi_ec_stop() is only called via acpi_device_probe() and acpi_device_remove(), and in both cases it is called immediately before acpi_ec_remove(), so there's no need to have it be a separate method. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang CC: Alexey Starikovskiy Signed-off-by: Len Brown commit d02be04707b8ff5375a76c027327e8708877da39 Author: Bjorn Helgaas Date: Mon Jun 22 20:41:35 2009 +0000 ACPI: EC: remove .start() method This patch folds the .start() method into .add(). acpi_ec_start() is always called immediately after acpi_ec_add(), so there's no need to have it be a separate method. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang CC: Alexey Starikovskiy Signed-off-by: Len Brown commit 5efc5476184173996dfcce780c2bb5e727df674e Author: Bjorn Helgaas Date: Mon Jun 22 20:41:30 2009 +0000 ACPI: EC: move acpi_ec_start() after acpi_ec_add() This patch rearranges ec_install_handlers() and acpi_ec_start() so acpi_ec_start() ends up just after acpi_ec_add(). A subsequent patch will merge them. Code movement only; no functional change. Signed-off-by: Bjorn Helgaas CC: Alexey Starikovskiy Signed-off-by: Len Brown commit 80f20fef6a2381402e59b169eb51b989cc175ab7 Author: Bjorn Helgaas Date: Mon Jun 22 20:41:25 2009 +0000 ACPI: memory hotplug: remove .start() method This patch folds the .start() method into .add(). The .start() method is called in two paths: boot-time device enumeration and run-time node addition, currently via container_device_add(). In both cases, .start() is called immediately after .add(), so there's no reason to make them separate methods. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang CC: Yasunori Goto CC: Dave Hansen Signed-off-by: Len Brown commit 970b04929a68134acca17878b1d93e115e58c12a Author: Bjorn Helgaas Date: Mon Jun 22 20:41:19 2009 +0000 ACPI: processor: remove .start() method This patch folds the .start() method into .add(). acpi_processor_start() is always called immediately after acpi_processor_add(), so there's really no point in having them be separate methods. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang CC: Venkatesh Pallipadi CC: Zhao Yakui Signed-off-by: Len Brown commit ddcd62d89e8c919cc75aeffd2ca37c986141b0f0 Author: Bjorn Helgaas Date: Mon Jun 22 20:41:14 2009 +0000 ACPI: processor: move acpi_processor_start() after acpi_processor_add() Move acpi_processor_start() to just after acpi_processor_add(). A subsequent patch will merge them. Code movement only; no functional change. Signed-off-by: Bjorn Helgaas CC: Venkatesh Pallipadi CC: Zhao Yakui Signed-off-by: Len Brown commit d4e0526184199e23ac1460fe59b8a3741b17a8b5 Author: Bjorn Helgaas Date: Mon Jun 22 20:41:09 2009 +0000 ACPI: processor: clean up in acpi_processor_start() error exits We used to leave crud around if things failed in acpi_processor_start(). This patch cleans up as much as we can before returning. Signed-off-by: Bjorn Helgaas Reviewed-by: Alex Chiang CC: Venkatesh Pallipadi CC: Zhao Yakui Signed-off-by: Len Brown commit c1815e074079838d36d89e45e92b7ee317190700 Author: Bjorn Helgaas Date: Mon Jun 22 20:41:04 2009 +0000 ACPI: processor: remove KOBJ_ONLINE/KOBJ_OFFLINE events This patch removes the KOBJ_ONLINE/KOBJ_OFFLINE events the driver used to generate for CPU hotplug. As far as I know, nobody consumes these. The driver core still generates KOBJ_ADD and KOBJ_REMOVE, of course. Signed-off-by: Bjorn Helgaas CC: Venkatesh Pallipadi CC: Zhao Yakui CC: Matthew Garrett CC: Thomas Renninger CC: Dave Jones CC: Kay Sievers CC: Greg Kroah-Hartman Signed-off-by: Len Brown commit 62b1653e29d8f359c4c7e045b965dc963459473d Merge: 10121a1 d5fc3b5 Author: Takashi Iwai Date: Thu Jun 25 15:28:39 2009 +0200 Merge branch 'for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6 into topic/asoc commit d5fc3b5fe374f24b6773c22e90ef4bdda718b845 Merge: e2f551d dd5e8e6 Author: Mark Brown Date: Thu Jun 25 13:58:37 2009 +0100 Merge branch 'for-2.6.31' into for-2.6.32 commit e2f551dacbdff8e40365a989ab66104b03316f4d Author: Mark Brown Date: Thu Jun 25 13:57:59 2009 +0100 ASoC: Add core suspend and resume callbacks to WM8961 Signed-off-by: Mark Brown commit 0b67fb65d1b2ba1396de69112b8b9bc95d8d5feb Author: Herbert Xu Date: Thu Jun 25 18:43:48 2009 +0800 crypto: skcipher - Change default sync geniv on SMP to eseqiv As it stands we use chainiv for sync algorithms and eseqiv for async algorithms. However, when there is more than one CPU chainiv forces all processing to be serialised which is usually not what you want. Also, the added overhead of eseqiv isn't that great. Therefore this patch changes the default sync geniv on SMP machines to eseqiv. For the odd situation where the overhead is unacceptable then chainiv is still available as an option. Note that on UP machines chainiv is still preferred over eseqiv for sync algorithms. Signed-off-by: Herbert Xu commit b40e9538124fc9b9333e3eea0fc514da4a185dae Author: Igor Chernyshev Date: Thu Jun 25 09:31:07 2009 +0200 ALSA: ice1724 - Patch for suspend/resume for Audiotrak Prodigy HD2 I've built a small HTPC and had to add suspend/resume support in ice1724 driver. There seem to be 3 existing bugs related to that: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4413 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3748 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2314 Due to hardware (un)availability, I only enabled the fix for Audiotrak Prodigy HD2 card, which is installed in my HTPC. However, most of my code should be reusable in the future on other ice1724-based cards as well (as long as people add card-specific peices of code). The fix is currently based on ALSA 1.0.20 and works on my MythBuntu 9.04 HTPC (using 2.6.28-11 kernel). Signed-off-by: Igor Chernyshev Signed-off-by: Takashi Iwai commit 435578aeaad5859dda8657e3ed2c1a5bc1e524ec Author: Herbert Xu Date: Thu Jun 25 14:46:31 2009 +0800 crypto: skcipher - Fix request for sync algorithms When a sync givcipher algorithm is requested, if an async version of the same algorithm already exists, then we will loop forever without ever constructing the sync version based on a blkcipher. This is because we did not include the requested type/mask when getting a larval for the geniv algorithm that is to be constructed. Signed-off-by: Herbert Xu commit 409a736336b560798f84d71ad6477c8fad20b523 Author: Joe Perches Date: Thu Jun 25 13:50:53 2009 +0800 hwrng: Use PCI_VDEVICE Signed-off-by: Joe Perches Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit 89c86576ecde504da1eeb4f4882b2189ac2f9c4a Author: Thomas Liu Date: Wed Jun 24 17:58:05 2009 -0400 selinux: clean up avc node cache when disabling selinux Added a call to free the avc_node_cache when inside selinux_disable because it should not waste resources allocated during avc_init if SELinux is disabled and the cache will never be used. Signed-off-by: Thomas Liu Acked-by: Eric Paris Signed-off-by: James Morris commit a893a84e8799270fbec5c3708d001650aab47138 Author: Oleg Nesterov 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 Reviewed-by: Serge Hallyn Signed-off-by: James Morris commit 9e48858f7d36a6a3849f1d1b40c3bf5624b4ee7c Author: Ingo Molnar Date: Thu May 7 19:26:19 2009 +1000 security: rename ptrace_may_access => ptrace_access_check The ->ptrace_may_access() methods are named confusingly - the real ptrace_may_access() returns a bool, while these security checks have a retval convention. Rename it to ptrace_access_check, to reduce the confusion factor. [ Impact: cleanup, no code changed ] Signed-off-by: Ingo Molnar Signed-off-by: James Morris commit 86abcf9cebf7b5ceb33facde297face5ec4d2260 Author: James Morris Date: Thu Jun 18 22:00:05 2009 +1000 keys: annotate seqfile ops with __releases and __acquires Annotate seqfile ops with __releases and __acquires to stop sparse complaining about unbalanced locking. Signed-off-by: James Morris Reviewed-by: Serge Hallyn commit c17ef45342cc033fdf7bdd5b28615e0090f8d2e7 Author: Paul E. McKenney Date: Tue Jun 23 17:12:47 2009 -0700 rcu: Remove Classic RCU Remove Classic RCU, given that the combination of Tree RCU and the proposed Bloatwatch RCU do everything that Classic RCU can with fewer bugs. Tree RCU has been default in x86 builds for almost six months, and seems to be quite reliable, so there does not seem to be much justification for keeping the Classic RCU code and config complexity around anymore. Signed-off-by: Paul E. McKenney Cc: akpm@linux-foundation.org Cc: niv@us.ibm.com Cc: dvhltc@us.ibm.com Cc: dipankar@in.ibm.com Cc: dhowells@redhat.com Cc: lethal@linux-sh.org Cc: kernel@wantstofly.org Signed-off-by: Ingo Molnar commit 1e7b8c87cb53d9a14f1a9ef35eed739f68851f5c Author: Takashi Iwai Date: Wed Jun 17 17:30:54 2009 +0200 ALSA: hda - More description about patch module option Signed-off-by: Takashi Iwai commit 768248256339da88d65088c8beffe1a3dcd9f1ca Author: Takashi Iwai Date: Wed Jun 17 17:17:18 2009 +0200 ALSA: hda - Add description about patch loading Signed-off-by: Takashi Iwai commit 4ea6fbc8eb23c3ae5fd2fb55a340ab85c8649bce Author: Takashi Iwai Date: Wed Jun 17 09:52:54 2009 +0200 ALSA: hda - Add patch module option Added the patch module option to apply a "patch" as a firmware to modify pin configurations or give additional hints to the driver before actually initializing and configuring the codec. This can be used as a workaround when the BIOS doesn't give sufficient information or give wrong information that doesn't match with the real hardware setup, until it's fixed statically in the driver via a quirk. Signed-off-by: Takashi Iwai commit a1e21c9078fb8005e5accb921696ec9e2f38176e Author: Takashi Iwai Date: Wed Jun 17 09:33:52 2009 +0200 ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new() The codec setup call via snd_hda_codec_configure() isn't necessarily called in snd_hda_codec_new(). For the later added feature, it's better to change the code flow like: - create all codec instances - configure each codec Signed-off-by: Takashi Iwai commit bf4bb2b1f285ec56e7f3cbf0190761b42131871c Author: Tejun Heo Date: Wed Jun 24 16:57:03 2009 +0900 sparc64: fix build breakage introduced by percpu-convert-most patchset Commit e74e396204bfcb67570ba4517b08f5918e69afea incorrectly added HAVE_LEGACY_PER_CPU_AREA to sparc64 although it already has been converted to dynamic percpu allocator. Drop both HAVE_{LEGACY|DYNAMIC}_PER_CPU_AREA. Signed-off-by: Tejun Heo Acked-by: David Miller commit 9a0ef2923abd2cc2c6f78d3663ac7af34c0220e8 Author: Tejun Heo Date: Wed Jun 24 15:13:53 2009 +0900 s390: switch to dynamic percpu allocator 64bit s390 shares the same problem with alpha regarding percpu symbol addressing from modules. It needs assembly magic to force GOTENT reference when building module as the percpu address will be outside the usual 4G range from the module text. This can be solved by using weak percpu variable definitions. This patch makes s390 use weak definitions and switch to dynamic percpu allocator. Please note that weak attribute is not added if !SMP as percpu variables behave exactly the same as normal variables on UP. Compile tested. Generation of GOTENT reference verified. This patch is based on Ivan Kokshaysky's alpha percpu patch. [ Impact: use dynamic percpu allocator ] Signed-off-by: Tejun Heo Cc: Martin Schwidefsky Cc: Heiko Carstens commit 9b7dbc7dc0365a943af2d73b1376a6f0aac5dc0d Author: Tejun Heo Date: Wed Jun 24 15:13:52 2009 +0900 alpha: switch to dynamic percpu allocator Alpha implements custom SHIFT_PERCPU_PTR for modules because percpu area can be located far away from the 4G area where the module text is located. The custom SHIFT_PERCPU_PTR forces GOT usage using ldq instruction with literal relocation; however, the relocation can't be used with dynamically allocated percpu variables. Fortunately, similar result can be achieved by using weak percpu variable definitions. This patch makes alpha use weak definitions and switch to dynamic percpu allocator. asm/tlbflush.h was getting linux/sched.h via asm/percpu.h which no longer needs it. Include linux/sched.h directly in asm/tlbflush.h. Compile tested. Generation of litereal relocation verified. This patch is based on Ivan Kokshaysky's alpha percpu patch. [ Impact: use dynamic percpu allocator ] Signed-off-by: Tejun Heo Acked-by: Ivan Kokshaysky Cc: Richard Henderson commit 6088464cf1ae9fb3d2ccc0ec5feb3f5b971098d8 Author: Tejun Heo Date: Wed Jun 24 15:13:52 2009 +0900 alpha: kill unnecessary __used attribute in PER_CPU_ATTRIBUTES With the previous percpu variable definition change, all percpu variables are global and there's no need to specify __used, which only triggers on recent compilers anyway. Kill it. [ Impact: remove unnecessary percpu attribute ] Signed-off-by: Tejun Heo Cc: Ivan Kokshaysky Cc: Richard Henderson commit 7c756e6e19e71f0327760d8955f7077118ebb2b1 Author: Tejun Heo Date: Wed Jun 24 15:13:50 2009 +0900 percpu: implement optional weak percpu definitions Some archs (alpha and s390) need to use weak definitions for percpu variables in modules so that the compiler generates external references for them. This patch implements weak percpu definitions which arch can enable by defining ARCH_NEEDS_WEAK_PER_CPU in arch percpu header file. This weak definition adds the following two restrictions on percpu variable definitions. 1. percpu symbols must be unique whether static or not 2. percpu variables can't be defined inside a function To ensure that these restrictions are observed in generic code, config option DEBUG_FORCE_WEAK_PER_CPU enables weak percpu definitions for all cases. This patch is inspired by Ivan Kokshaysky's alpha percpu patch. [ Impact: stricter rules for percpu variables, one more debug config option ] Signed-off-by: Tejun Heo Cc: Ingo Molnar Cc: David Howells Cc: Ivan Kokshaysky commit 245b2e70eabd797932adb263a65da0bab3711753 Author: Tejun Heo Date: Wed Jun 24 15:13:48 2009 +0900 percpu: clean up percpu variable definitions Percpu variable definition is about to be updated such that all percpu symbols including the static ones must be unique. Update percpu variable definitions accordingly. * as,cfq: rename ioc_count uniquely * cpufreq: rename cpu_dbs_info uniquely * xen: move nesting_count out of xen_evtchn_do_upcall() and rename it * mm: move ratelimits out of balance_dirty_pages_ratelimited_nr() and rename it * ipv4,6: rename cookie_scratch uniquely * x86 perf_counter: rename prev_left to pmc_prev_left, irq_entry to pmc_irq_entry and nmi_entry to pmc_nmi_entry * perf_counter: rename disable_count to perf_disable_count * ftrace: rename test_event_disable to ftrace_test_event_disable * kmemleak: rename test_pointer to kmemleak_test_pointer * mce: rename next_interval to mce_next_interval [ Impact: percpu usage cleanups, no duplicate static percpu var names ] Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter Cc: Ivan Kokshaysky Cc: Jens Axboe Cc: Dave Jones Cc: Jeremy Fitzhardinge Cc: linux-mm Cc: David S. Miller Cc: Peter Zijlstra Cc: Steven Rostedt Cc: Li Zefan Cc: Catalin Marinas Cc: Andi Kleen commit b9bf3121af348d9255f1c917830fe8c2df52efcb Author: Tejun Heo Date: Wed Jun 24 15:13:47 2009 +0900 percpu: use DEFINE_PER_CPU_SHARED_ALIGNED() There are a few places where ___cacheline_aligned* is used with DEFINE_PER_CPU(). Use DEFINE_PER_CPU_SHARED_ALIGNED() instead. DEFINE_PER_CPU_SHARED_ALIGNED() applies alignment only on SMPs. While all other converted places used _in_smp variant or only get compiled for SMP, net/rds used unconditional ____cacheline_aligned. I don't see any reason these data structures should be aligned on UP and thus converted together. Signed-off-by: Tejun Heo Cc: Mike Frysinger Cc: Tony Luck Cc: Andy Grover commit 204fba4aa303ea4a7bb726a539bf4a5b9e3203d0 Author: Tejun Heo Date: Wed Jun 24 15:13:45 2009 +0900 percpu: cleanup percpu array definitions Currently, the following three different ways to define percpu arrays are in use. 1. DEFINE_PER_CPU(elem_type[array_len], array_name); 2. DEFINE_PER_CPU(elem_type, array_name[array_len]); 3. DEFINE_PER_CPU(elem_type, array_name)[array_len]; Unify to #1 which correctly separates the roles of the two parameters and thus allows more flexibility in the way percpu variables are defined. [ Impact: cleanup ] Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter Cc: Ingo Molnar Cc: Tony Luck Cc: Benjamin Herrenschmidt Cc: Thomas Gleixner Cc: Jeremy Fitzhardinge Cc: linux-mm@kvack.org Cc: Christoph Lameter Cc: David S. Miller commit fe87f94f341a4b4097285b46f003059b26eb59bf Author: Jesper Nilsson Date: Wed Jun 24 15:13:41 2009 +0900 CRIS: Change DEFINE_PER_CPU of current_pgd to be non volatile. The DEFINE_PER_CPU of current_pgd was on CRIS defined using volatile, which is not needed. Remove volatile. Tested on an ARTPEC-3 (CRISv32) board. tj: extern DEFINE_PER_CPU() replaced with DECLARE_PER_CPU() [ Impact: code cleanup ] Signed-off-by: Jesper Nilsson Signed-off-by: Tejun Heo commit 405d967dc70002991f8fc35c20e0d3cbc7614f63 Author: Tejun Heo Date: Wed Jun 24 15:13:38 2009 +0900 linker script: throw away .discard section x86 throws away .discard section but no other archs do. Also, .discard is not thrown away while linking modules. Make every arch and module linking throw it away. This will be used to define dummy variables for percpu declarations and definitions. This patch is based on Ivan Kokshaysky's alpha percpu patch. [ Impact: always throw away everything in .discard ] Signed-off-by: Tejun Heo Cc: Ivan Kokshaysky Cc: Richard Henderson Cc: Russell King Cc: Haavard Skinnemoen Cc: Bryan Wu Cc: Mikael Starvik Cc: Jesper Nilsson Cc: David Howells Cc: Yoshinori Sato Cc: Tony Luck Cc: Hirokazu Takata Cc: Geert Uytterhoeven Cc: Michal Simek Cc: Ralf Baechle Cc: Kyle McMartin Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Paul Mundt Cc: David S. Miller Cc: Jeff Dike Cc: Chris Zankel Cc: Rusty Russell Cc: Ingo Molnar commit e74e396204bfcb67570ba4517b08f5918e69afea Author: Tejun Heo Date: Mon Mar 30 19:07:44 2009 +0900 percpu: use dynamic percpu allocator as the default percpu allocator This patch makes most !CONFIG_HAVE_SETUP_PER_CPU_AREA archs use dynamic percpu allocator. The first chunk is allocated using embedding helper and 8k is reserved for modules. This ensures that the new allocator behaves almost identically to the original allocator as long as static percpu variables are concerned, so it shouldn't introduce much breakage. s390 and alpha use custom SHIFT_PERCPU_PTR() to work around addressing range limit the addressing model imposes. Unfortunately, this breaks if the address is specified using a variable, so for now, the two archs aren't converted. The following architectures are affected by this change. * sh * arm * cris * mips * sparc(32) * blackfin * avr32 * parisc (broken, under investigation) * m32r * powerpc(32) As this change makes the dynamic allocator the default one, CONFIG_HAVE_DYNAMIC_PER_CPU_AREA is replaced with its invert - CONFIG_HAVE_LEGACY_PER_CPU_AREA, which is added to yet-to-be converted archs. These archs implement their own setup_per_cpu_areas() and the conversion is not trivial. * powerpc(64) * sparc(64) * ia64 * alpha * s390 Boot and batch alloc/free tests on x86_32 with debug code (x86_32 doesn't use default first chunk initialization). Compile tested on sparc(32), powerpc(32), arm and alpha. Kyle McMartin reported that this change breaks parisc. The problem is still under investigation and he is okay with pushing this patch forward and fixing parisc later. [ Impact: use dynamic allocator for most archs w/o custom percpu setup ] Signed-off-by: Tejun Heo Acked-by: Rusty Russell Acked-by: David S. Miller Acked-by: Benjamin Herrenschmidt Acked-by: Martin Schwidefsky Reviewed-by: Christoph Lameter Cc: Paul Mundt Cc: Russell King Cc: Mikael Starvik Cc: Ralf Baechle Cc: Bryan Wu Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Cc: Hirokazu Takata Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Heiko Carstens Cc: Ingo Molnar commit b188e4ce3b7965ecc8d45191042cc9d25f6b90ee Author: Len Brown Date: Wed Jun 24 01:48:32 2009 -0400 ACPI: fix CONFIG_ACPI_PROCFS=n build warning drivers/acpi/processor_idle.c:1162: warning: unused variable ‘entry’ Signed-off-by: Len Brown commit 259c5e05c13daaaea039b5bf29a2674701cfd68e Author: Herbert Xu Date: Wed Jun 24 13:48:13 2009 +0800 crypto: testmgr - Remove hash size check Until hash test vectors grow longer than 256 bytes, the only purpose of the check is to generate a gcc warning. Signed-off-by: Herbert Xu commit c9944881acf02b6f25fa62a0441a98b7dc0d7ae6 Author: Roland Dreier Date: Wed Jun 24 13:42:40 2009 +0800 crypto: aes-ni - Don't print message with KERN_ERR on old system When the aes-intel module is loaded on a system that does not have the AES instructions, it prints Intel AES-NI instructions are not detected. at level KERN_ERR. Since aes-intel is aliased to "aes" it will be tried whenever anything uses AES and spam the console. This doesn't match existing practice for how to handle "no hardware" when initializing a module, so downgrade the message to KERN_INFO. Signed-off-by: Roland Dreier Signed-off-by: Herbert Xu commit 74cad4ee9839669ad920257678ea0bf0a818cd3b Author: Zhao Yakui Date: Wed Jun 24 11:49:49 2009 +0800 ACPI: Make ACPI processor proc I/F depend on the ACPI_PROCFS Now whether the ACPI processor proc I/F is registered depends on the CONFIG_PROC. It had better depend on the CONFIG_ACPI_PROCFS. When the CONFIG_ACPI_PROCFS is unset in kernel configuration, the ACPI processor proc I/F won't be registered. Signed-off-by: Zhao Yakui Signed-off-by: Len Brown commit 517374704da44c1ba77c1600714fe214524af286 Author: Mark Brown Date: Mon Jun 22 13:16:51 2009 +0100 ASoC: Add a shutdown callback Ensure that the audio subsystem is powered down cleanly when the system shuts down by providing a shutdown operation. This ensures that all the components have been returned to an off state cleanly which should avoid audio issues from partially charged capacitors or noise on digital inputs if the system is restarted quickly. Signed-off-by: Mark Brown Tested-by: Ben Dooks commit 30808ca751c3b8d81e948efb8fed7451a8321010 Author: Lopez Cruz, Misael Date: Mon Jun 22 19:34:07 2009 -0500 ASoC: TWL4030: Correct bypass event for voice sidetone Event for voice sidetone was being interpreted as an analog HiFi bypass event because VSTPGA register offset is less than ARXR2_APGA_CTL offset. Reordering the register checks allows to handle voice digital bypass event properly. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 328d0a138e3d7761f4db53fabf82279b90ea66dd Author: Lopez Cruz, Misael Date: Mon Jun 22 10:51:52 2009 -0500 ASoC: TWL4030: Add AVADC Clock Priority AVDAC clk priority allows to determine the path ADC must be connected when the codec is in option2 and both HiFi and Voice paths are enabled. Signed-off-by: Misael Lopez Cruz Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 20dda18be9035c487c2e9534e4d18d2a1e1deade Author: Stephen Smalley Date: Mon Jun 22 14:54:53 2009 -0400 selinux: restore optimization to selinux_file_permission Restore the optimization to skip revalidation in selinux_file_permission if nothing has changed since the dentry_open checks, accidentally removed by 389fb800. Also remove redundant test from selinux_revalidate_file_permission. Signed-off-by: Stephen Smalley Reviewed-by: Paul Moore Acked-by: Eric Paris Signed-off-by: James Morris commit c264301c777840b2df130e042b7f5a0c1041646f Author: Lopez Cruz, Misael Date: Fri Jun 19 03:23:42 2009 -0500 ASoC: TWL4030: Fix voice interface clock masters Voice interface of twl4030 codec supports: CBM_CFM and CBS_CFS. It doesn't support CBS_CFM. Signed-off-by: Misael Lopez Cruz Acked-By: Peter Ujfalusi Signed-off-by: Mark Brown commit e831a9c6186ca1f63fdf2f41628193dd690ab440 Author: Chen Liqin Date: Mon Jun 22 17:10:57 2009 +0800 score: move save arg5 and arg6 instruction in front of enable_irq Because enable_irq clobber r8 before arg5 was saved. modified: arch/score/kernel/entry.S Signed-off-by: Chen Liqin Signed-off-by: Arnd Bergmann commit e370f45aeb76634d81a59b3b8f45b0f2faebef9b Merge: f274143 74dc55e Author: Mark Brown Date: Mon Jun 22 11:08:26 2009 +0100 Merge branch 'wm8961' into for-2.6.32 commit 215ccd6f55a2144bd553e0a3d12e1386f02309fd Author: Neil Horman Date: Sun Jun 21 21:38:03 2009 +0800 crypto: fips - Select CPRNG The ANSI CPRNG has no dependence on FIPS support. FIPS support however, requires the use of the CPRNG. Adjust that depedency relationship in Kconfig. Signed-off-by: Neil Horman Signed-off-by: Herbert Xu commit a95436e44a76a32dcbe7c8df59701ddde53017c1 Author: Borislav Petkov Date: Sat Jun 20 23:28:22 2009 -0700 x86, mce: use atomic_inc_return() instead of add by 1 Use atomic_inc_return() instead of atomic_add_return() by 1. Signed-off-by: Borislav Petkov Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit e487683990972bf9aa4e688434c46ead76748bca Author: Borislav Petkov Date: Sat Jun 20 23:27:16 2009 -0700 x86, mce: fix typo in comment in asm/mce.h Fix comment to match the actual declaration. Signed-off-by: Borislav Petkov Cc: Andi Kleen Signed-off-by: H. Peter Anvin commit f274143f127dd9420e6def7dc47340b55f29c885 Author: Barry Song Date: Sat Jun 20 11:29:56 2009 -0400 ASoC: Blackfin: convert internal names from bf52x to bf5xx These drivers aren't BF52x specific, so don't use bf52x in the names. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Signed-off-by: Mark Brown commit feaa0457ec8351cae855edc9a3052ac49322538e Author: Jaswinder Singh Rajput Date: Sat Jun 20 16:15:40 2009 +0530 x86: ds.c fix invalid assignment Fixes the type mixups that cause the following sparse warnings: CHECK arch/x86/kernel/ds.c arch/x86/kernel/ds.c:549:19: warning: incorrect type in argument 2 (invalid types) arch/x86/kernel/ds.c:549:19: expected bad type enum bts_field field arch/x86/kernel/ds.c:549:19: got int arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:514:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:514:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:514:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:514:7: error: invalid assignment arch/x86/kernel/ds.c:520:35: error: incompatible types for operation (*) arch/x86/kernel/ds.c:520:35: left side has type unsigned char static [unsigned] [toplevel] sizeof_ptr_field arch/x86/kernel/ds.c:520:35: right side has type bad type enum bts_field field arch/x86/kernel/ds.c:520:7: error: invalid assignment arch/x86/kernel/ds.c:520:35: error: incompatible types for operation (*) Signed-off-by: Jaswinder Singh Rajput Cc: Markus Metzger LKML-Reference: <1245494740.8613.12.camel@localhost.localdomain> Signed-off-by: Ingo Molnar commit 423c238d7185a0a8f1b28ddb0be44e0286927909 Author: Mark Brown Date: Sat Jun 20 13:54:02 2009 +0100 ASoC: Staticise put_twl4030_opmode_enum_double() It's an operation for a control and doesn't need to be exported. Signed-off-by: Mark Brown commit b53109db5e016425b767e8e33669a5f41257e6e5 Author: Mark Brown Date: Sat Jun 20 13:53:20 2009 +0100 ASoC: Fix shadowed variables in twl4030 No need to define second copies of mode and format, they're declared with exactly the same type at the head of the function and there's no conflict in their use. Signed-off-by: Mark Brown commit ea4006576945195ed35824acfb4007ca7cb78b70 Author: Herbert Xu Date: Fri Jun 19 20:37:00 2009 +0800 crypto: tcrypt - Fix module return code when testing by name We should return 0/-ENOENT instead of 1/0 when testing by name. Signed-off-by: Herbert Xu commit 27300176d75e4723e2125e745a98a77bf0133f72 Author: Herbert Xu Date: Fri Jun 19 20:32:58 2009 +0800 crypto: ansi_cprng - Do not select FIPS The RNG should work with FIPS disabled. Signed-off-by: Herbert Xu commit 2f476ef61f0e00fe3fcb96693b6a624a6c52fad9 Author: Arnd Bergmann Date: Fri Jun 19 13:40:41 2009 +0200 score: add prototypes for wrapped syscalls Every system call should be declared, so this adds missing declarations for the ones we were missing so far. Signed-off-by: Arnd Bergmann commit b5022df4c275607f0824526eceb3c217e85279f3 Author: Arnd Bergmann Date: Fri Jun 19 11:45:18 2009 +0200 score: remove init_mm init_mm is now part of the common code and not provided by the architecture any more. Signed-off-by: Arnd Bergmann commit f673c032ed13ed8f3fda5922c2190da2892398bc Author: Arnd Bergmann Date: Fri Jun 19 11:31:54 2009 +0200 score: add generic sys_call_table This adds back a sys_call_table to the score architecture, which got lost in the conversion to the generic unistd.h file. It's rather worrying that the code got submitted without a system call table, which evidently means that it got zero testing. Since the system call table has a different layout from the old one (which was modeled after the mips-o32 one), I also try to fix the entry.S path to use it. In the modified calling conventions, all system call arguments are passed as registers r4 through r9, instead of r4 through r7 plus stack for the fifth and sixth argument. This matches what other architectures to when they normally pass arguments on the stack. Signed-off-by: Arnd Bergmann commit a873a5f1c4eda125f506c059a4f8ea48b9f42eff Author: Steffen Klassert Date: Fri Jun 19 19:46:53 2009 +0800 crypto: tcrypt - Test algorithms by name This adds the 'alg' module parameter to be able to test an algorithm by name. If the algorithm type is not ad-hoc clear for a algorithm (e.g. pcrypt, cryptd) it is possilbe to set the algorithm type with the 'type' module parameter. Signed-off-by: Steffen Klassert Signed-off-by: Herbert Xu commit 78229db4c4f78f27ecf772fe7489a70530ba9862 Author: Arnd Bergmann Date: Fri Jun 19 11:22:30 2009 +0200 score: remove __{put,get}_user_unknown The point of these extern declarations is to provoke a link error, so an architecture must not provide a symbol for them. Signed-off-by: Arnd Bergmann commit 72ea3723411c18cace4c8c9e0ccf4116d5e6eaaa Author: Arnd Bergmann Date: Fri Jun 19 11:11:55 2009 +0200 score: unset __ARCH_WANT_IPC_PARSE_VERSION This really should not be needed. The change for not changing the IPC code for every new architecture just went into 2.6.31, so we can skip it now. Signed-off-by: Arnd Bergmann commit 0402c91af944c61bf788370f03326959a35cb8be Author: Chen Liqin Date: Fri Jun 19 13:53:49 2009 +0800 score: update files according to review comments modified: arch/score/include/asm/cacheflush.h modified: arch/score/include/asm/delay.h modified: arch/score/include/asm/errno.h modified: arch/score/include/asm/pgtable-bits.h modified: arch/score/include/asm/pgtable.h modified: arch/score/include/asm/ptrace.h modified: arch/score/include/asm/unistd.h modified: arch/score/kernel/entry.S modified: arch/score/kernel/process.c modified: arch/score/kernel/ptrace.c modified: arch/score/kernel/signal.c modified: arch/score/kernel/sys_score.c modified: arch/score/kernel/traps.c modified: arch/score/mm/cache.c Signed-off-by: Chen Liqin Signed-off-by: Arnd Bergmann commit 6bcf67374137f433e85aa42a18fde9f0e8562901 Author: Chen Liqin Date: Sat Jun 13 15:24:33 2009 +0800 score: add maintainers for score architecture Signed-off-by: Chen Liqin Signed-off-by: Arnd Bergmann commit 6bc9a3966f0395419b09b2ec90f89f7f00341b37 Author: Chen Liqin Date: Fri Jun 12 22:01:00 2009 +0800 score: Add support for Sunplus S+core architecture This is the complete set of new arch Score's files for linux. Score instruction set support 16bits, 32bits and 64bits instruction, Score SOC had been used in game machine and LCD TV. Signed-off-by: Chen Liqin Signed-off-by: Arnd Bergmann commit 56f8c9bc410deb55f21698e6a0d59f559ae1d794 Author: Tetsuo Handa Date: Fri Jun 19 14:13:27 2009 +0900 TOMOYO: Remove next_domain from tomoyo_find_next_domain(). We can update bprm->cred->security inside tomoyo_find_next_domain(). Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit ccf135f509abdbf607e9a68f08ddeee2c66dc36e Author: Tetsuo Handa Date: Fri Jun 19 10:29:34 2009 +0900 TOMOYO: Move tomoyo_delete_domain(). We can mark tomoyo_delete_domain() as a "static" function by moving it from domain.c to common.c . Signed-off-by: Tetsuo Handa Signed-off-by: James Morris commit d905163c5b23f6d8511971e06081a1b525e8a0bd Merge: 44c2d9b 0732f87 Author: James Morris Date: Fri Jun 19 08:20:55 2009 +1000 Merge branch 'master' into next commit 73a2d096fdf23aa841f7595d114a11ec85a85e4d Author: Arnd Bergmann Date: Thu Jun 18 21:48:20 2009 +0200 x86: remove all now-duplicate header files All files that have been made identical to the asm-generic version in the previous patches can now be removed, guaranteeing that this does not introduce semantic changes. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 69d5ffdaad7b77b97229b55c36afb20e5bebd29e Author: Arnd Bergmann Date: Thu Jun 18 21:48:19 2009 +0200 x86: convert termios.h to the asm-generic version This patch turned out more controversial than expected and may get dropped in the future. I'm including it for reference anyway. The user_termio_to_kernel_termios and kernel_termios_to_user_termio functions on x86 are lacking error checking from get_user and are not portable to big-endian systems, so the asm-generic header has to differ in this regard. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 06f5013aa8eb5895ced2c71d13f5114103605555 Author: Arnd Bergmann Date: Thu Jun 18 21:48:18 2009 +0200 x86: convert almost generic headers to asm-generic version In x86, mman.h, module.h, scatterlist.h, types.h and ucontext.h can use the asm-generic version by just defining the x86 specific parts locally and falling back on the generic code for the common bits. This patch illustrates the differences between the x86 and asm-generic versions by changing a file that is initially identical to the x86 version to one that is identical to the asm-generic version. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 7bfd124d6dae7d394e73753300594a81a022fe7d Author: Arnd Bergmann Date: Thu Jun 18 21:48:17 2009 +0200 x86: convert trivial headers to asm-generic version For these nine header files, the asm-generic version should be semantically identical to what is in x86. Change the contents to be binary identical, for better review. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 4adc667593f83a18a8e54ce94f250fd166a272ac Author: Arnd Bergmann Date: Thu Jun 18 21:48:16 2009 +0200 x86: add copies of some headers to convert to asm-generic Just an intermediate step to make reviewing easier. These files are identical copies of the existing headers. Signed-off-by: Arnd Bergmann LKML-Reference: Signed-off-by: H. Peter Anvin commit 21e70878215f620fe99ea7d7c74bc641aeec932f Author: Jaswinder Singh Rajput Date: Thu Jun 18 17:09:27 2009 +0530 x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs() op_amd_handle_ibs() should return 0 when IBS is not present or not defined. Fix compilation warning: CC [M] arch/x86/oprofile/op_model_amd.o arch/x86/oprofile/op_model_amd.c: In function ‘op_amd_handle_ibs’: arch/x86/oprofile/op_model_amd.c:217: warning: no return statement in function returning non-void Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Robert Richter commit 44c2d9bdd7022ca7d240d5adc009296fc1c6ce08 Author: KaiGai Kohei Date: Thu Jun 18 17:26:13 2009 +0900 Add audit messages on type boundary violations The attached patch adds support to generate audit messages on two cases. The first one is a case when a multi-thread process tries to switch its performing security context using setcon(3), but new security context is not bounded by the old one. type=SELINUX_ERR msg=audit(1245311998.599:17): \ op=security_bounded_transition result=denied \ oldcontext=system_u:system_r:httpd_t:s0 \ newcontext=system_u:system_r:guest_webapp_t:s0 The other one is a case when security_compute_av() masked any permissions due to the type boundary violation. type=SELINUX_ERR msg=audit(1245312836.035:32): \ op=security_compute_av reason=bounds \ scontext=system_u:object_r:user_webapp_t:s0 \ tcontext=system_u:object_r:shadow_t:s0:c0 \ tclass=file perms=getattr,open Signed-off-by: KaiGai Kohei Acked-by: Stephen Smalley Signed-off-by: James Morris commit caabbdc07df4249f2ed516b2c3e2d6b0973bcbb3 Author: KaiGai Kohei Date: Thu Jun 18 17:30:07 2009 +0900 cleanup in ss/services.c It is a cleanup patch to cut down a line within 80 columns. Signed-off-by: KaiGai Kohei -- security/selinux/ss/services.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Signed-off-by: James Morris commit 03b56ce54143a3a69d4fea6ff8130b1c903a47ce Author: Jarod Wilson Date: Thu Jun 18 19:52:59 2009 +0800 crypto: des_s390 - Permit weak keys unless REQ_WEAK_KEY set Just started running fips cavs test vectors through an s390x system for giggles, and discovered that I missed patching s390's arch-specific des3 implementation w/an earlier des3 patch to permit weak keys. This change adds the same flag tweaks as ad79cdd77fc1466e45cf923890f66bcfe7c43f12 (crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set) for s390's des3 implementation, yields expected test results now. Signed-off-by: Jarod Wilson Signed-off-by: Herbert Xu commit 5b739ef8a4e8cf5201d21abff897e292c232477b Author: Neil Horman Date: Thu Jun 18 19:50:21 2009 +0800 random: Add optional continuous repetition test to entropy store based rngs FIPS-140 requires that all random number generators implement continuous self tests in which each extracted block of data is compared against the last block for repetition. The ansi_cprng implements such a test, but it would be nice if the hw rng's did the same thing. Obviously its not something thats always needed, but it seems like it would be a nice feature to have on occasion. I've written the below patch which allows individual entropy stores to be flagged as desiring a continuous test to be run on them as is extracted. By default this option is off, but is enabled in the event that fips mode is selected during bootup. Signed-off-by: Neil Horman Acked-by: Matt Mackall Signed-off-by: Herbert Xu commit 17950c5b243f99cbabef173415ee988c52104d7e Author: Jeremy Fitzhardinge Date: Fri Apr 24 01:01:01 2009 -0700 x86-64: move clts into batch cpu state updates when preloading fpu When a task is likely to be using the fpu, we preload its state during the context switch, rather than waiting for it to run an fpu instruction. Make sure the clts() happens while we're doing batched fpu state updates to optimise paravirtualized context switches. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit 16d9dbf0c2bd167fdd942b83592d59696c7b73bd Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:50:27 2009 -0700 x86-64: move unlazy_fpu() into lazy cpu state part of context switch Make sure that unlazy_fpu()'s stts gets batched along with the other cpu state changes during context switch. (32-bit already does this.) This makes sure it gets batched when running paravirtualized. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit 2fcddce10f6771cfa0c56fd1e826d50d67d100b7 Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:45:26 2009 -0700 x86-32: make sure clts is batched during context switch If we're preloading the fpu state during context switch, make sure the clts happens while we're batching the cpu context update, then do the actual __math_state_restore once the updates are flushed. This allows more efficient context switches when running paravirtualized, as all the hypercalls can be folded together into one. [ Impact: optimise paravirtual FPU context switch ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit e6e9cac8c3417b43498b243c1f8f11780e157168 Author: Jeremy Fitzhardinge Date: Fri Apr 24 00:40:59 2009 -0700 x86: split out core __math_state_restore Split the core fpu state restoration out into __math_state_restore, which assumes that cr0.TS is clear and that the fpu context has been initialized. This will be used during context switch. There are two reasons this is desireable: - There's a small clarification. When __switch_to() calls math_state_restore, it relies on the fact that tsk_used_math() returns true, and so will never do a blocking init_fpu(). __math_state_restore() does not have (or need) that logic, so the question never arises. - It allows the clts() to be moved earler in __switch_to() so it can be performed while cpu context updates are batched (will be done in a later patch). [ Impact: refactor code to make reuse cleaner; no functional change ] Signed-off-by: Jeremy Fitzhardinge Cc: Alok Kataria Cc: Rusty Russell commit ac5672f82c39ff2f8dce81bf3e68b1dfc41f366f Author: Jeremy Fitzhardinge Date: Tue Apr 14 14:29:44 2009 -0700 x86/paravirt: split paravirt definitions into paravirt_types.h Split the monolithic asm/paravirt.h into separate paravirt.h (inlines and other "active" definitions), and paravirt_types.h (types, constants and other "passive" definitions). This makes it easier to use the type/constant definitions without pulling in everything else and causing circular dependency problems. [ Impact: cleanup ] Signed-off-by: Jeremy Fitzhardinge commit 4f6e1fe1d8ba3d9f4fb52dd006da9714d75243cf Merge: 65795ef b72f7fa Author: Ingo Molnar Date: Wed Jun 17 19:10:28 2009 +0200 Merge branch 'auto' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into oprofile commit 6c697bdf08a09ce461e305a22362973036e95db3 Author: Mike Galbraith Date: Wed Jun 17 10:48:02 2009 +0200 sched: Add SCHED_RESET_ON_FORK functionality for nice < 0 tasks Signed-off-by: Mike Galbraith Acked-by: Lennart Poettering Cc: Peter Zijlstra LKML-Reference: <1245228482.27326.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit b9dc29e72fd3dc2a739ce8eafd958220d0745734 Author: Mike Galbraith Date: Wed Jun 17 10:46:01 2009 +0200 sched: Clean up SCHED_RESET_ON_FORK Make SCHED_RESET_ON_FORK sched_fork() bits a self-contained unlikely code path. Signed-off-by: Mike Galbraith Acked-by: Lennart Poettering Cc: Peter Zijlstra LKML-Reference: <1245228361.18329.6.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit a583cd53478f0c55b92f084bdbe3b66d2b4496df Author: Mark Brown Date: Wed Jun 17 17:30:14 2009 +0100 ASoC: Regulator support for WM8580 Add basic support for integration with the regulator API to WM8580. Since the core cannot yet disable biases when the CODEC is idle we simply request and enable the regulators for the entire time the driver is active. Signed-off-by: Mark Brown commit eedbdf03a25ab3b2c332ad7fa205aa8ffbe477ba Author: Takashi Iwai Date: Tue Jun 16 14:27:35 2009 +0200 ALSA: usb-audio - Correct bogus volume dB information Some USB devices give bogus dB information and it screws up PA. It's better to detect a broken value and correct it in the driver before exposing the value to the outside. Signed-off-by: Takashi Iwai commit b8e1c73f4608b8b9ca1e8f1a09f9fd8684e78071 Author: Takashi Iwai Date: Tue Jun 16 14:04:37 2009 +0200 ALSA: usb-audio - Use the new TLV_DB_MINMAX type Use the new TLV_DB_MINMAX type instead of TLV_DB_SCALE. Signed-off-by: Takashi Iwai commit 085f30654175a91c28d2b66b9ea6cceab627fed0 Author: Takashi Iwai Date: Tue Jun 16 13:57:07 2009 +0200 ALSA: Add new TLV types for dBwith min/max Add new types for TLV dB scale specified with min/max values instead of min/step since the resolution can't match always with the one a device provides. For example, usb audio devices give 1/256 dB resolution while ALSA TLV is based on 1/100 dB resolution. The new min/max types have less problems because the possible rounding error happens only at min/max. Signed-off-by: Takashi Iwai commit 1abd91849990ed61d6468ffa8b7fc1ae61db4b1a Author: Philipp Zabel Date: Mon Jun 15 22:18:23 2009 +0200 ASoC: UDA1380: refactor device registration This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c5 "ASoC: Refactor WM8731 device registration" to make UDA1380 use standard device instantiation. Similarly, the I2C device registration temporarily moves into the magician machine driver before it will find its final resting place in the board file. At the same time, platform specific configuration is moved to platform data and common power/reset GPIO handling moves into the codec driver. Signed-off-by: Philipp Zabel Signed-off-by: Mark Brown commit ca94c442535a44d508c99a77e54f21a59f4fc462 Author: Lennart Poettering Date: Mon Jun 15 17:17:47 2009 +0200 sched: Introduce SCHED_RESET_ON_FORK scheduling policy flag This patch introduces a new flag SCHED_RESET_ON_FORK which can be passed to the kernel via sched_setscheduler(), ORed in the policy parameter. If set this will make sure that when the process forks a) the scheduling priority is reset to DEFAULT_PRIO if it was higher and b) the scheduling policy is reset to SCHED_NORMAL if it was either SCHED_FIFO or SCHED_RR. Why have this? Currently, if a process is real-time scheduled this will 'leak' to all its child processes. For security reasons it is often (always?) a good idea to make sure that if a process acquires RT scheduling this is confined to this process and only this process. More specifically this makes the per-process resource limit RLIMIT_RTTIME useful for security purposes, because it makes it impossible to use a fork bomb to circumvent the per-process RLIMIT_RTTIME accounting. This feature is also useful for tools like 'renice' which can then change the nice level of a process without having this spill to all its child processes. Why expose this via sched_setscheduler() and not other syscalls such as prctl() or sched_setparam()? prctl() does not take a pid parameter. Due to that it would be impossible to modify this flag for other processes than the current one. The struct passed to sched_setparam() can unfortunately not be extended without breaking compatibility, since sched_setparam() lacks a size parameter. How to use this from userspace? In your RT program simply replace this: sched_setscheduler(pid, SCHED_FIFO, ¶m); by this: sched_setscheduler(pid, SCHED_FIFO|SCHED_RESET_ON_FORK, ¶m); Signed-off-by: Lennart Poettering Acked-by: Peter Zijlstra LKML-Reference: <20090615152714.GA29092@tango.0pointer.de> Signed-off-by: Ingo Molnar commit b3b50b3f31775be5d2e441618bbc1c5cbee4d9f1 Author: Mark Brown Date: Sat Jun 13 22:30:18 2009 +0100 ASoC: Add suspend and resume callbacks to Wolfson CODEC drivers Signed-off-by: Mark Brown commit c64b04fe6e0cb7c78e01751a44ef56cf20344e87 Author: Jaswinder Singh Rajput Date: Sun Jun 14 00:59:50 2009 +0530 x86, cpu: cpu/proc.c display cache alignment and address sizes for 32 bit 32 bits can also access x86_cache_alignment, x86_phys_bits and x86_virt_bits, make them available to user space just as on 64 bits. Signed-off-by: Jaswinder Singh Rajput LKML-Reference: <1244921390.11733.30.camel@ht.satnam> Signed-off-by: H. Peter Anvin commit 831dc0f10f7b2a4856094ff160c018bf19f77527 Author: Mark Brown Date: Sat Jun 13 19:55:02 2009 +0100 ASoC: Add stub suspend and resume calls for ASoC subdevices Now that ASoC subdevices can be regular devices they can have normal suspend and resume calls from their buses. However, suspending them individually is not desirable since this can lead to problems such as pops and clicks from devices being suspended with their signals being amplified or clocks being stopped suddenly. This will be resolved by having the normal device model suspend and resume calls call into ASoC which will suspend the entire card while any of its components are suspended. At present this is not yet implemented but in order to aid the transition of drivers to the standard device model this patch adds API calls for the notifications. Signed-off-by: Mark Brown commit 619439998ac32953d737fbe2dc82eb67024547d0 Author: Mark Brown Date: Fri Jun 12 22:56:59 2009 +0100 ASoC: Automatically manage WM8350 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit 21002e20767292d85701154cdf12a591b45f0979 Author: Mark Brown Date: Fri Jun 12 17:27:52 2009 +0100 ASoC: Automatically manage WM8900 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit 9e79261f302083cbc6aa95e0f778e3583b1ab36e Author: Mark Brown Date: Fri Jun 12 17:27:07 2009 +0100 ASoC: Automatically control WM8903 sloping stopband filter For best performance the DAC sloping stopband filter should be enabled below 24kHz and not enabled above that so remove the user visible control for this and do it autonomously in the driver. Signed-off-by: Mark Brown commit df205936d5d1dfec9a52c90af77bb54a2c9c9728 Author: Lopez Cruz, Misael Date: Thu Jun 11 17:35:27 2009 -0500 ASoC: Zoom2: Add machine driver for Zoom2 board Add support for Zoom2 board. Zoom2 machine driver connects both codec DAIs (audio and voice) to omap3 McBSP ports in the following way: HiFi <-> McBSP2 Voice <-> McBSP3 The zoom2 driver has the following DAPM widgets: * Ext Mic: MAINMIC, SUBMIC (with bias) * Ext Spk: HFL, HFR * Headset Stereophone: HSOL, HSOR * Headset Mic: HSMIC (with bias) * Aux In: AUXL, AUXR Signed-off-by: Misael Lopez Cruz Signed-off-by: Mark Brown commit b72f7fa9788c85866da10d7b2091077397018b7a Merge: 802070f 1cc4ce6 Author: Robert Richter Date: Fri Jun 12 18:46:35 2009 +0200 Merge branches 'oprofile/fixes', 'oprofile/next' and 'oprofile/master' into oprofile/auto commit 802070f5474af1a49435a9528aede47bb18abd47 Author: Robert Richter Date: Fri Jun 12 18:32:07 2009 +0200 x86/oprofile: fix initialization of arch_perfmon for core_i7 Commit: e419294 x86/oprofile: moving arch_perfmon counter setup to op_x86_model_spec.init introduced a bug in the initialization of core_i7 leading to the incorrect model setup to &op_ppro_spec. This patch fixes this. Signed-off-by: Robert Richter commit 74dc55ed5b709e4a2a538252f98ea62358df82ce Author: Mark Brown Date: Tue Jun 9 09:55:51 2009 +0100 ASoC: Add WM8961 driver The WM8961 is a low power, high quality stereo CODEC designed for portable digital applications with headphone and stereo class D speaker drivers. Signed-off-by: Mark Brown commit 1241eb8f136bf3ea409f61590e7663465906d158 Merge: 51563a0 940010c Author: Robert Richter Date: Fri Jun 12 17:58:48 2009 +0200 Merge commit 'tip/perfcounters-for-linus' into oprofile/master Conflicts: arch/x86/oprofile/op_model_ppro.c Signed-off-by: Robert Richter commit 1cc4ce6f5f89cdc355013aa43f06a14a015766d1 Author: Maynard Johnson Date: Wed May 27 10:15:08 2009 -0500 oprofile: reset bt_lost_no_mapping with other stats The bt_lost_no_mapping is not getting reset at the start of a profiling run, thus the oprofiled.log shows erroneous values for this statistic. The attached patch fixes this problem. Signed-off-by: Maynard Johnson Signed-off-by: Robert Richter commit cd667ce24796700e1a0e6e7528efc61c96ff832e Author: Jiri Kosina Date: Fri Jun 12 15:20:57 2009 +0200 HID: use debugfs for events/reports dumping This is a followup patch to the one implemeting rdesc representation in debugfs rather than being dependent on compile-time CONFIG_HID_DEBUG setting. The API of the appropriate formatting functions is slightly modified -- if they are passed seq_file pointer, the one-shot output for 'rdesc' file mode is used, and therefore the message is formatted into the corresponding seq_file immediately. Otherwise the called function allocated a new buffer, formats the text into the buffer and returns the pointer to it, so that it can be queued into the ring-buffer of the processess blocked waiting on input on 'events' file in debugfs. 'debug' parameter to the 'hid' module is now used solely for the prupose of inetrnal driver state debugging (parser, transport, etc). Signed-off-by: Jiri Kosina commit a635f9dd83f3382577f4544a96df12356e951a40 Author: Jiri Kosina Date: Fri Jun 12 15:20:55 2009 +0200 HID: use debugfs for report dumping descriptor It is a little bit inconvenient for people who have some non-standard HID hardware (usually violating the HID specification) to have to recompile kernel with CONFIG_HID_DEBUG to be able to see kernel's perspective of the HID report descriptor and observe the parsed events. Plus the messages are then mixed up inconveniently with the rest of the dmesg stuff. This patch implements /sys/kernel/debug/hid//rdesc file, which represents the kernel's view of report descriptor (both the raw report descriptor data and parsed contents). With all the device-specific debug data being available through debugfs, there is no need for keeping CONFIG_HID_DEBUG, as the 'debug' parameter to the hid module will now only output only driver-specific debugging options, which has absolutely minimal memory footprint, just a few error messages and one global flag (hid_debug). We use the current set of output formatting functions. The ones that need to be used both for one-shot rdesc seq_file and also for continuous flow of data (individual reports, as being sent by the device) distinguish according to the passed seq_file parameter, and if it is NULL, it still output to kernel ringbuffer, otherwise the corresponding seq_file is used for output. The format of the output is preserved. Signed-off-by: Jiri Kosina commit 0e09b67e5886bf549ab14ef73de35d64ac867e2b Merge: fa44c07 291f3bb Author: Mark Brown Date: Thu Jun 11 21:04:04 2009 +0100 Merge branch 'dapm' into for-2.6.32 commit fa44c077eb2a17aa6913feceb493d13f45f3fa25 Author: Daniel Ribeiro Date: Wed Jun 10 15:23:24 2009 -0300 ASoC: remove duplicated code on pxa-ssp.c * We don't need to write the registers twice, remove the first write. * DAIFMT_INV switch is duplicated inside DAIFMT_FORMAT switch, move it out. (This patch is for Mark's for-2.6.32 branch, I have not checked if the code is duplicated on current 2.6.30) Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 51563a0e5650d0d76539625388d72d62b34c726e Author: Robert Richter Date: Wed Jun 3 20:54:56 2009 +0200 x86/oprofile: introduce oprofile_add_data64() The IBS implemention writes 64 bit register values to the cpu buffer by writing two 32 values using oprofile_add_data(). This patch introduces oprofile_add_data64() to write a single 64 bit value to the buffer. Signed-off-by: Robert Richter commit c572ae4efd1b0a5cc76c5e6aae05c1b182b6a69c Author: Robert Richter Date: Wed Jun 3 20:10:39 2009 +0200 x86/oprofile: use 64 bit values in IBS functions The IBS code internally uses 32 bit values (a low and a high value) to represent a 64 bit value. This patch changes this and now 64 bit values are used instead. 64 bit MSR functions can be used now. No functional changes. Signed-off-by: Robert Richter commit 1a245c45343651a87ff63afc5ddeb8e24d731835 Author: Robert Richter Date: Fri Jun 5 15:54:24 2009 +0200 x86/oprofile: remove some local variables in MSR save/restore functions The patch removes some local variables in these functions. Signed-off-by: Robert Richter commit 95e74e62c1540b1115fe8cec5b592f22960f2bb2 Author: Robert Richter Date: Wed Jun 3 19:09:27 2009 +0200 x86/oprofile: use 64 bit values to save MSR states This patch removes struct op_saved_msr and replaces it by an u64 variable. This makes code easier and it is possible to use 64 bit MSR functions. Signed-off-by: Robert Richter commit bbc5986d2db427fdd61b6116ff8b9ed988e663a8 Author: Robert Richter Date: Mon May 25 17:38:19 2009 +0200 x86/oprofile: use 64 bit wrmsr functions This patch replaces some wrmsr() functions with wrmsrl(). Signed-off-by: Robert Richter commit 217d3cfb959756cb493fc03106c0253baa420ce8 Author: Robert Richter Date: Thu Jun 4 02:36:44 2009 +0200 x86/oprofile: replace CTR*_IS_RESERVED macros The patch replaces all CTR*_IS_RESERVED macros. Signed-off-by: Robert Richter commit dea3766ca052a4f572b16a23a322553c064d75af Author: Robert Richter Date: Mon May 25 18:11:52 2009 +0200 x86/oprofile: replace CTRL_SET_*ACTIVE macros The patch replaces all CTRL_SET_*ACTIVE macros. 64 bit MSR functions and 64 bit counter values are used now. The code uses bit masks from . Signed-off-by: Robert Richter commit 42399adb239d4f1413899cc618ecf640779e79df Author: Robert Richter Date: Mon May 25 17:59:06 2009 +0200 x86/oprofile: replace CTR_OVERFLOWED macros The patch replaces all CTR_OVERFLOWED macros. 64 bit MSR functions and 64 bit counter values are used now. Thus, it will be easier to later extend the models to use more than 32 bit width counters. Signed-off-by: Robert Richter commit 3370d358569755625aba4d9a846a040ce691d9ed Author: Robert Richter Date: Mon May 25 15:10:32 2009 +0200 x86/oprofile: replace macros to calculate control register This patch introduces op_x86_get_ctrl() to calculate the value of the performance control register. This is generic code usable for all models. The event and reserved masks are model specific and stored in struct op_x86_model_spec. 64 bit MSR functions are used now. The patch removes many hard to read macros used for ctrl calculation. The function op_x86_get_ctrl() is common code and the first step to further merge performance counter implementations for x86 models. Signed-off-by: Robert Richter commit ef8828ddf828174785421af67c281144d4b8e796 Author: Robert Richter Date: Mon May 25 19:31:44 2009 +0200 x86/oprofile: pass the model to setup_ctrs() functions In follow-on patches the setup_ctrs() functions will need data that describes the model. This patch extends the function argument list to pass a pointer of the model to these function. Signed-off-by: Robert Richter commit 9c59354b48ce9cf28048b02fea73dd0236f876ea Author: Robert Richter Date: Mon May 25 18:16:43 2009 +0200 x86/oprofile: remove unused macros for AMD virtualization profiling The use of the macros has no effect. The oprofilefs has to be extended first to support these features. Signed-off-by: Robert Richter commit ec064c093e254f4433afb17dcef7f964c76436af Author: Robert Richter Date: Mon May 25 15:05:50 2009 +0200 x86/oprofile: fix and cleanup CTRL_SET_* macros This patch fixes missing braces around macro parameters. Macro definitions from intel_arch_perfmon.h are used where possible. Signed-off-by: Robert Richter commit 1131a478245b00664ae2dbc0f68db987b51fa806 Author: Robert Richter Date: Mon May 25 20:23:23 2009 +0200 x86/oprofile: remove MSR macros for p4 cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit 74c9a5c341bb1f6cbb5095b07c77230f19682ce8 Author: Robert Richter Date: Fri May 22 19:47:38 2009 +0200 x86/oprofile: remove MSR macros for ppro cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit d2731a4387ad6c6bca07abfe9ed41d450fb6d665 Author: Robert Richter Date: Fri May 22 19:47:38 2009 +0200 x86/oprofile: remove MSR macros for AMD cpus The macros CTRL_READ() and CTRL_WRITE() make the code hard to read and maintain. This patch replaces them by rdmsr()/wrmsr() functions and simplifies the code. Signed-off-by: Robert Richter commit ff9faa8b676e195476b86f03fe58db0f01bda8f3 Author: Robert Richter Date: Fri May 22 15:36:29 2009 +0200 x86/oprofile: move common macros to op_x86_model.h There are duplicate macro implementations in model specific code. This patch moves all common macros to op_x86_model.h. Signed-off-by: Robert Richter commit d20f24c66011f8a397bca6c5d1a6a7c7e612d2d7 Author: Robert Richter Date: Sun Jan 11 13:01:16 2009 +0100 x86/oprofile: simplify AMD cpu init code Signed-off-by: Robert Richter commit 9063759540daac40cc1f402f83a3be6b489f8583 Author: Robert Richter Date: Tue Mar 10 19:15:57 2009 +0100 x86/oprofile: remove #ifdefs in ibs functions IBS code is moved to separate functions. This allows the removal of #ifdefs in functions. Signed-off-by: Robert Richter commit fecfe6320ba71eed6d16849683298f0894aa60de Author: Robert Richter Date: Thu May 7 16:07:41 2009 +0200 oprofile: remove obselete include headers This became obsolete with this commit: 6dad828 oprofile: port to the new ring_buffer Signed-off-by: Robert Richter commit 0dc8335aa3e59f1adbb0fce7c9c0b342146cd036 Author: Robert Richter Date: Thu May 7 15:09:33 2009 +0200 oprofile: remove irq_flags in struct op_entry This became obsolete with this commit: 304cc6a ring_buffer: remove unused flags parameter, fix Signed-off-by: Robert Richter commit 06552ccc36abeb12e37efc16c384dc7f30794f85 Author: Robert Richter Date: Thu May 28 02:12:36 2009 +0200 x86/oprofile: minor style changes in struct op_x86_model_spec Some vertical alignments. Variables are now located in the beginning of the struct. Signed-off-by: Robert Richter commit e419294ed3c98cccc145202e4fe165bfd8099d63 Author: Robert Richter Date: Sun Oct 12 15:12:34 2008 -0400 x86/oprofile: moving arch_perfmon counter setup to op_x86_model_spec.init The function arch_perfmon_init() in nmi_int.c is model specific. This patch moves it to op_model_ppro.c by using the init function pointer in struct op_x86_model_spec. Cc: Andi Kleen Signed-off-by: Robert Richter commit 849620fab413355eff48232eac5a8c53c57615c5 Author: Robert Richter Date: Thu May 14 17:10:52 2009 +0200 Revert "oprofile: discover counters for op ppro too" This reverts commit 59512900baab03c5629f2ff5efad1d5d4e682ece. arch_perfmon_setup_counters() is actually never called for ppro, so there is no code that changes the numbers in op_ppro_spec. The patch as it is has no effect. Cc: Andi Kleen Signed-off-by: Robert Richter commit 0886751c5d8b19fcee2e65d34ae21c9111e652a9 Merge: 7e4e0bd 07a2039 Author: Robert Richter Date: Wed Jun 10 21:47:10 2009 +0200 Merge commit 'v2.6.30' into oprofile/master commit efd13be09e2db4ac4efa2c6101c4f50ee1ead4b0 Author: Chaithrika U S Date: Mon Jun 8 06:49:41 2009 -0400 ASoC: Minor fixes to DaVinci I2S probe function Assign proper errors when platform resource claims fail. Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 291f3bbcacf278726911c713e14cedb71c486b16 Author: Mark Brown Date: Sun Jun 7 13:57:17 2009 +0100 ASoC: Make DAPM power sequence lists local variables They are now only accessed within dapm_power_widgets() so can be local to that function. Signed-off-by: Mark Brown commit 4f1c1923851f9734c972812121e80a3b04ab3af4 Author: Mark Brown Date: Sun Jun 7 13:37:44 2009 +0100 ASoC: Coalesce power updates for PGAs Handle gain ramping for PGAs so we can coalesce their power updates too. This is not ideal since we can't cope properly with gain ramping for stereo paths but that was the case without coalescing and gain ramping is relatively infrequently used so the effects are limited. Signed-off-by: Mark Brown commit 81628103dd8527d99ea39b054a3f002d5859d7c3 Author: Mark Brown Date: Sun Jun 7 13:21:24 2009 +0100 ASoC: Coalesce power updates for DAPM widgets with events Signed-off-by: Mark Brown commit e3d4dabd2d9b74778f6f15a830eb3a0027bb3799 Author: Mark Brown Date: Sun Jun 7 13:08:45 2009 +0100 ASoC: Sort specialised mixers and muxes together The more flexible value muxes and named mixers don't need to be sorted differently from a power management point of view, they are different only in terms of the control interface and not in terms of seqencing behaviour. Signed-off-by: Mark Brown commit b22ead2a510fdb30440753f90237e86fdac70fae Author: Mark Brown Date: Sun Jun 7 12:51:26 2009 +0100 ASoC: Coalesce register writes for DAPM sequences Reduce the number of register writes we need to set the power state for a CODEC by coalescing updates to widgets with the same sequence order and same register into a single write. This can be a noticable performance improvement with slow or heavily contended control buses, such as I2C controllers with a low clock frequency, and is particularly noticable when resuming. It can also reduce the noticability of and pops and clicks by ensuring that left and right channels are powered simultaneously if they are in the same register. Currently widgets that have events are not coalesced, including PGAs which may use the volume ramping control. Signed-off-by: Mark Brown commit 46f5822f7841697d4aedaf4672661d7a765172cd Author: Daniel Ribeiro Date: Sun Jun 7 02:49:11 2009 -0300 ASoC: Allow 32 bit registers for DAPM Replace the remaining unsigned shorts with unsigned ints. Tested with pcap2 codec (25 bits registers). Signed-off-by: Daniel Ribeiro Signed-off-by: Mark Brown commit 04f80f5c486b39446af44e218dba90ec210d61ca Author: Chaithrika U S Date: Fri Jun 5 06:28:49 2009 -0400 ASoC: Add machine driver support for DM646x This patch does the following: (1) Add support for the DM646x machine (2) Modifications required to introduce the platform driver model to get platform data for all the machines including dm355 and dm644x. Signed-off-by: Steve Chen Signed-off-by: Pavel Kiryukhin Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit b67f4487295560599f6cca55fb7e8773ff27f00a Author: Chaithrika U S Date: Fri Jun 5 06:28:40 2009 -0400 ASoC: Add mcasp support for DM646x Adds driver support for the two instances of McASP on TI's DM646x. The multichannel audio serial port (McASP) functions as a general-purpose audio serial port optimized for the needs of multichannel audio application. (http://www.ti.com/litv/pdf/spruer1b). There are two instances of McASP on DM646x. The McASP0 module includes up to 4 serializers that can be individually enabled to either transmit or receive in different modes. The McASP1 module is limited with only 1 pinned-out serializer that can be enabled to only transmit in DIT mode (neither receiving in any mode nor transmitting in either Burst or TDM mode is supported). McASP0 consists of transmit and receive sections that may operate synchronized, or completely independently with separate master clocks, bit clocks, and frame syncs, and using different transmit modes with different bit-stream formats. Signed-off-by: Steve Chen Signed-off-by: Pavel Kiryukhin Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 5204d49676dae3ae1f9dff5b60bf567d24680872 Author: Chaithrika U S Date: Fri Jun 5 06:28:23 2009 -0400 ASoC: Introduce platform driver model for dm644x, dm355 Introduce the platform driver model to get platform data for dm355 and dm644x. Register platform driver and acquire the resources in the probe function Since the platform specific code had been moved from machine driver to dm.c Signed-off-by: Naresh Medisetty Signed-off-by: Chaithrika U S Signed-off-by: Mark Brown commit 163cac061c97394d4ef9c89efe5921dac937ddb8 Author: Mark Brown Date: Sun Jun 7 10:12:52 2009 +0100 ASoC: Factor out DAPM sequence execution Lump the list walk into a single function, and pull in the power application too so we can do some further refactoring. Pure code motion. Signed-off-by: Mark Brown commit 38357ab2c83631728afa37a783c9b1bd474a0739 Author: Mark Brown Date: Sat Jun 6 19:03:23 2009 +0100 ASoC: Sort DAPM power sequences while building lists In the past the DAPM power sequencing was done by iterating over the list of widgets once for each widget type and powering widgets of that type. Instead of doing that do the sorting at the time we insert the widgets into the lists of widgets to apply power changes to. This reduces the amount of computation required for seqencing still further, though the costs are generally dwarfed by the costs of the register writes implementing them. Signed-off-by: Mark Brown commit 4fcbbb67a3cdc7129190a76763480f5ef63e5772 Author: Mark Brown Date: Sat May 23 12:27:03 2009 +0100 ASoC: Update WM8974 to use standard I2C device probe methods Signed-off-by: Mark Brown commit 1a55b3f6ed1d917dd26271dae19dda088d820540 Author: Mark Brown Date: Sat May 23 11:31:40 2009 +0100 ASoC: WM8974 checkpatch cleanups Signed-off-by: Mark Brown commit 0a1bf553359013621c8c5cf745354212c6ef51d3 Author: Mark Brown Date: Sat May 23 11:18:41 2009 +0100 ASoC: Add WM8974 CODEC driver The WM8974 is a low power, high quality mono CODEC designed for portable applications such as digital still cameras or digital voice recorders. This driver was originally written by Graeme Gregory and Liam Girdwood and has since been maintained by myself with some updates contributed by Brett Saunders and Javier Martin. Signed-off-by: Mark Brown commit 606689e9f8c52b537c85fd4bc1ba5ce7b3ee2678 Author: Mark Brown Date: Sat Feb 28 17:33:52 2009 +0000 ASoC: Add Openmoko Neo FreeRunner (GTA02) audio driver This driver supports the audio subsystem on the Openmoko Neo FreeRunner smartphone, often known by its codename GTA02. The system has a WM8753 connected to a Samsung S3C2442 with an external GPIO controlled speaker amplifier. The driver was originally written by Graeme Gregory and has recieved contributions from Openmoko, myself and members of the Openmoko community. For much of this time the primary Openmoko kernel maintainer was Andy Green. Signed-off-by: Graeme Gregory Signed-off-by: Andy Green Signed-off-by: Mark Brown