commit 8c9ed899b44c19e81859fbb0e9d659fe2f8630fc Author: David Howells Date: Thu May 7 11:41:37 2009 +0100 NOMMU: Don't check vm_region::vm_start is page aligned in add_nommu_region() Don't check vm_region::vm_start is page aligned in add_nommu_region() because the region may reflect some non-page-aligned mapped file, such as could be obtained from RomFS XIP. Signed-off-by: David Howells Acked-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ee7fee0b91ceb1c057c67fcc573b2d8dfe6d92c5 Merge: 8a0a9bd... c464729... Author: Linus Torvalds Date: Thu May 7 12:01:41 2009 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: remove rd%d links immediately after stopping an array. md: remove ability to explicit set an inactive array to 'clean'. md: constify VFTs md: tidy up status_resync to handle large arrays. md: fix some (more) errors with bitmaps on devices larger than 2TB. md/raid10: don't clear bitmap during recovery if array will still be degraded. md: fix loading of out-of-date bitmap. commit 8a0a9bd4db63bc45e3017bedeafbd88d0eb84d02 Author: Linus Torvalds Date: Tue May 5 08:17:43 2009 -0700 random: make get_random_int() more random It's a really simple patch that basically just open-codes the current "secure_ip_id()" call, but when open-coding it we now use a _static_ hashing area, so that it gets updated every time. And to make sure somebody can't just start from the same original seed of all-zeroes, and then do the "half_md4_transform()" over and over until they get the same sequence as the kernel has, each iteration also mixes in the same old "current->pid + jiffies" we used - so we should now have a regular strong pseudo-number generator, but we also have one that doesn't have a single seed. Note: the "pid + jiffies" is just meant to be a tiny tiny bit of noise. It has no real meaning. It could be anything. I just picked the previous seed, it's just that now we keep the state in between calls and that will feed into the next result, and that should make all the difference. I made that hash be a per-cpu data just to avoid cache-line ping-pong: having multiple CPU's write to the same data would be fine for randomness, and add yet another layer of chaos to it, but since get_random_int() is supposed to be a fast interface I did it that way instead. I considered using "__raw_get_cpu_var()" to avoid any preemption overhead while still getting the hash be _mostly_ ping-pong free, but in the end good taste won out. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 2c66fa7e6be6bdb88587ac13ac1de080d5be4f95 Merge: 60db402... ae51e60... Author: Linus Torvalds Date: Thu May 7 10:54:32 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] 5507/1: support R_ARM_MOVW_ABS_NC and MOVT_ABS relocation types [ARM] 5506/1: davinci: DMA_32BIT_MASK --> DMA_BIT_MASK(32) i.MX31: Disable CPU_32v6K in mx3_defconfig. mx3fb: Fix compilation with CONFIG_PM mx27ads: move PBC mapping out of vmalloc space MXC: remove BUG_ON in interrupt handler mx31: remove mx31moboard_defconfig ARM: ARCH_MXC should select HAVE_CLK mxc : BUG in imx_dma_request mxc : Clean up properly when imx_dma_free() used without imx_dma_disable() [ARM] mv78xx0: update defconfig [ARM] orion5x: update defconfig [ARM] Kirkwood: update defconfig [ARM] Kconfig typo fix: "PXA930" -> "CPU_PXA930". [ARM] S3C2412: Add missing cache flush in suspend code [ARM] S3C: Add UDIVSLOT support for newer UARTS [ARM] S3C64XX: Add S3C64XX_PA_IIS{0,1} to commit ae51e609843f7d0aaeb1c2ad9f89d252a4899885 Author: Paul Gortmaker Date: Thu May 7 16:18:40 2009 +0100 [ARM] 5507/1: support R_ARM_MOVW_ABS_NC and MOVT_ABS relocation types From: Bruce Ashfield To fully support the armv7-a instruction set/optimizations, support for the R_ARM_MOVW_ABS_NC and R_ARM_MOVT_ABS relocation types is required. The MOVW and MOVT are both load-immediate instructions, MOVW loads 16 bits into the bottom half of a register, and MOVT loads 16 bits into the top half of a register. The relocation information for these instructions has a full 32 bit value, plus an addend which is stored in the 16 immediate bits in the instruction itself. The immediate bits in the instruction are not contiguous (the register # splits it into a 4 bit and 12 bit value), so the addend has to be extracted accordingly and added to the value. The value is then split and put into the instruction; a MOVW uses the bottom 16 bits of the value, and a MOVT uses the top 16 bits. Signed-off-by: David Borman Signed-off-by: Bruce Ashfield Signed-off-by: Paul Gortmaker Signed-off-by: Russell King commit a029b706d3b2d3a139bdeae84131d9a0f35f6478 Author: Kevin Hilman Date: Thu May 7 14:25:48 2009 +0100 [ARM] 5506/1: davinci: DMA_32BIT_MASK --> DMA_BIT_MASK(32) As per commit 284901a90a9e0b812ca3f5f852cbbfb60d10249d, use DMA_BIT_MASK(n) Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit c4647292fda0833bebe45be27f04453b736981fa Author: NeilBrown Date: Thu May 7 12:51:06 2009 +1000 md: remove rd%d links immediately after stopping an array. md maintains link in sys/mdXX/md/ to identify which device has which role in the array. e.g. rd2 -> dev-sda indicates that the device with role '2' in the array is sda. These links are only present when the array is active. They are created immediately after ->run is called, and so should be removed immediately after ->stop is called. However they are currently removed a little bit later, and it is possible for ->run to be called again, thus adding these links, before they are removed. So move the removal earlier so they are consistently only present when the array is active. Signed-off-by: NeilBrown commit 5bf295975416f8e97117bbbcfb0191c00bc3e2b4 Author: NeilBrown Date: Thu May 7 12:50:57 2009 +1000 md: remove ability to explicit set an inactive array to 'clean'. Being able to write 'clean' to an 'array_state' of an inactive array to activate it in 'clean' mode is both unnecessary and inconvenient. It is unnecessary because the same can be achieved by writing 'active'. This activates and array, but it still remains 'clean' until the first write. It is inconvenient because writing 'clean' is more often used to cause an 'active' array to revert to 'clean' mode (thus blocking any writes until a 'write-pending' is promoted to 'active'). Allowing 'clean' to both activate an array and mark an active array as clean can lead to races: One program writes 'clean' to mark the active array as clean at the same time as another program writes 'inactive' to deactivate (stop) and active array. Depending on which writes first, the array could be deactivated and immediately reactivated which isn't what was desired. So just disable the use of 'clean' to activate an array. This avoids a race that can be triggered with mdadm-3.0 and external metadata, so it suitable for -stable. Reported-by: Rafal Marszewski Acked-by: Dan Williams Cc: Signed-off-by: NeilBrown commit 110518bccf076726cc93bf604527d8019aae50ba Author: Jan Engelhardt Date: Thu May 7 12:49:37 2009 +1000 md: constify VFTs Signed-off-by: Jan Engelhardt Signed-off-by: NeilBrown commit dd71cf6b2773310b01c6fe6c773064c80fd2476b Author: NeilBrown Date: Thu May 7 12:49:35 2009 +1000 md: tidy up status_resync to handle large arrays. Two problems in status_resync. 1/ It still used Kilobytes as the basic block unit, while most code now uses sectors uniformly. 2/ It doesn't allow for the possibility that max_sectors exceeds the range of "unsigned long". So - change "max_blocks" to "max_sectors", and store sector numbers in there and in 'resync' - Make 'rt' a 'sector_t' so it can temporarily hold the number of remaining sectors. - use sector_div rather than normal division. - change the magic '100' used to preserve precision to '32'. + making it a power of 2 makes division easier + it doesn't need to be as large as it was chosen when we averaged speed over the entire run. Now we average speed over the last 30 seconds or so. Reported-by: "Mario 'BitKoenig' Holbe" Signed-off-by: NeilBrown commit db305e507d554430a69ede901a6308e6ecb72349 Author: NeilBrown Date: Thu May 7 12:49:06 2009 +1000 md: fix some (more) errors with bitmaps on devices larger than 2TB. If a write intent bitmap covers more than 2TB, we sometimes work with values beyond 32bit, so these need to be sector_t. This patches add the required casts to some unsigned longs that are being shifted up. This will affect any raid10 larger than 2TB, or any raid1/4/5/6 with member devices that are larger than 2TB. Signed-off-by: NeilBrown Reported-by: "Mario 'BitKoenig' Holbe" Cc: stable@kernel.org commit 18055569127253755d01733f6ecc004ed02f88d0 Author: NeilBrown Date: Thu May 7 12:48:10 2009 +1000 md/raid10: don't clear bitmap during recovery if array will still be degraded. If we have a raid10 with multiple missing devices, and we recover just one of these to a spare, then we risk (depending on the bitmap and array chunk size) clearing bits of the bitmap for which recovery isn't complete (because a device is still missing). This can lead to a subsequent "re-add" being recovered without any IO happening, which would result in loss of data. This patch takes the safe approach of not clearing bitmap bits if the array will still be degraded. This patch is suitable for all active -stable kernels. Cc: stable@kernel.org Signed-off-by: NeilBrown commit b74fd2826c5acce20e6f691437b2d19372bc2057 Author: NeilBrown Date: Thu May 7 12:47:19 2009 +1000 md: fix loading of out-of-date bitmap. When md is loading a bitmap which it knows is out of date, it fills each page with 1s and writes it back out again. However the write_page call makes used of bitmap->file_pages and bitmap->last_page_size which haven't been set correctly yet. So this can sometimes fail. Move the setting of file_pages and last_page_size to before the call to write_page. This bug can cause the assembly on an array to fail, thus making the data inaccessible. Hence I think it is a suitable candidate for -stable. Cc: stable@kernel.org Reported-by: Vojtech Pavlik Signed-off-by: NeilBrown commit 60db402780ec257b287de591d65157575952bb4a Author: Andrew Morton Date: Wed May 6 16:03:07 2009 -0700 drivers/base/iommu.c: add missing includes Fix zillions of -mm x86_64 allmodconfig build errors - the file uses EXPORT_SYMBOL() and kmalloc but misses the needed includes. Cc: Greg Kroah-Hartman Cc: Joerg Roedel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e6b6c1a676d25acdf079ee8ab5cdfeb5e5b835 Author: Eric Piel Date: Wed May 6 16:03:06 2009 -0700 initramfs: clean up messages related to initramfs unpacking With the removal of duplicate unpack_to_rootfs() (commit df52092f3c97788592ef72501a43fb7ac6a3cfe0) the messages displayed do not actually correspond to what the kernel is doing. In addition, depending if ramdisks are supported or not, the messages are not at all the same. So keep the messages more in sync with what is really doing the kernel, and only display a second message in case of failure. This also ensure that the printk message cannot be split by other printk's. Signed-off-by: Eric Piel Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc4d5c292b68ef02514d2072dcbf82d090c34875 Author: David Howells Date: Wed May 6 16:03:05 2009 -0700 nommu: make the initial mmap allocation excess behaviour Kconfig configurable NOMMU mmap() has an option controlled by a sysctl variable that determines whether the allocations made by do_mmap_private() should have the excess space trimmed off and returned to the allocator. Make the initial setting of this variable a Kconfig configuration option. The reason there can be excess space is that the allocator only allocates in power-of-2 size chunks, but mmap()'s can be made in sizes that aren't a power of 2. There are two alternatives: (1) Keep the excess as dead space. The dead space then remains unused for the lifetime of the mapping. Mappings of shared objects such as libc, ld.so or busybox's text segment may retain their dead space forever. (2) Return the excess to the allocator. This means that the dead space is limited to less than a page per mapping, but it means that for a transient process, there's more chance of fragmentation as the excess space may be reused fairly quickly. During the boot process, a lot of transient processes are created, and this can cause a lot of fragmentation as the pagecache and various slabs grow greatly during this time. By turning off the trimming of excess space during boot and disabling batching of frees, Coldfire can manage to boot. A better way of doing things might be to have /sbin/init turn this option off. By that point libc, ld.so and init - which are all long-duration processes - have all been loaded and trimmed. Reported-by: Lanttor Guo Signed-off-by: David Howells Tested-by: Lanttor Guo Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a6be87fd1e5cdbbc3b6a14d02a3efa9ecba1d3f Author: David Howells Date: Wed May 6 16:03:03 2009 -0700 nommu: clamp zone_batchsize() to 0 under NOMMU conditions Clamp zone_batchsize() to 0 under NOMMU conditions to stop free_hot_cold_page() from queueing and batching frees. The problem is that under NOMMU conditions it is really important to be able to allocate large contiguous chunks of memory, but when munmap() or exit_mmap() releases big stretches of memory, return of these to the buddy allocator can be deferred, and when it does finally happen, it can be in small chunks. Whilst the fragmentation this incurs isn't so much of a problem under MMU conditions as userspace VM is glued together from individual pages with the aid of the MMU, it is a real problem if there isn't an MMU. By clamping the page freeing queue size to 0, pages are returned to the allocator immediately, and the buddy detector is more likely to be able to glue them together into large chunks immediately, and fragmentation is less likely to occur. By disabling batching of frees, and by turning off the trimming of excess space during boot, Coldfire can manage to boot. Reported-by: Lanttor Guo Signed-off-by: David Howells Tested-by: Lanttor Guo Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9155203a5de94278525647b16733f0c315f3b786 Author: David Howells Date: Wed May 6 16:03:02 2009 -0700 mm: use roundown_pow_of_two() in zone_batchsize() Use roundown_pow_of_two(N) in zone_batchsize() rather than (1 << (fls(N)-1)) as they are equivalent, and with the former it is easier to see what is going on. Signed-off-by: David Howells Tested-by: Lanttor Guo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74614f8d9d4141a3752fc1c38706859b63f4842b Author: Daniel Mack Date: Wed May 6 16:03:00 2009 -0700 isl29003: fix resume functionality The isl29003 does not interpret the return value of i2c_smbus_write_byte_data() correctly and hence causes an error on system resume. Also introduce power_state_before_suspend and restore the chip's power state upon wakeup. Signed-off-by: Daniel Mack Cc: "Rafael J. Wysocki" Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57226e7898076f864d6ce41ddeff4bbc772b950c Author: Krzysztof Helt Date: Wed May 6 16:03:00 2009 -0700 fbdev: remove makefile reference to removed driver The cyblafb driver is removed so remove its last trace in the makefile. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2498ce42d3a4d1a498f1df4884da960087547db7 Author: Ralph Wuerthner Date: Wed May 6 16:02:59 2009 -0700 alloc_vmap_area: fix memory leak If alloc_vmap_area() fails the allocated struct vmap_area has to be freed. Signed-off-by: Ralph Wuerthner Reviewed-by: Christoph Lameter Reviewed-by: Minchan Kim Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca1eda2d75b855f434b1d5458534332ffad92d65 Author: Randy Dunlap Date: Wed May 6 16:02:58 2009 -0700 doc: small kernel-parameters updates Change last "i386" to X86-32 as is used throughout the rest of the file. Change combination of X86-32,X86-64 to just X86, as is done throughout the rest of the file. Add a note that hyphens and underscores are equivalent in parameter names, with examples. Signed-off-by: Randy Dunlap Cc: Jan Engelhardt Cc: Christopher Sylvain Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdca0f9b1eabb24373e2307fe492f428f5928abc Author: Michal Januszewski Date: Wed May 6 16:02:56 2009 -0700 fbdev: fix fillrect for 24bpp modes The software fillrect routines do not work properly when the number of pixels per machine word is not an integer. To see that, run the following command on a fbdev console with a 24bpp video mode, using a non-accelerated driver such as (u)vesafb: reset ; echo -e '\e[41mtest\e[K' The expected result is 'test' displayed on a line with red background. Instead of that, 'test' has a red background, but the rest of the line (rendered using fillrect()) contains a distored colorful pattern. This patch fixes the problem by correctly computing rotation shifts. It has been tested in a 24bpp mode on 32- and 64-bit little-endian machines. Signed-off-by: Michal Januszewski Acked-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 184101bf143ac96d62b3dcc17e7b3550f98d3350 Author: David Rientjes Date: Wed May 6 16:02:55 2009 -0700 oom: prevent livelock when oom_kill_allocating_task is set When /proc/sys/vm/oom_kill_allocating_task is set for large systems that want to avoid the lengthy tasklist scan, it's possible to livelock if current is ineligible for oom kill. This normally happens when it is set to OOM_DISABLE, but is also possible if any threads are sharing the same ->mm with a different tgid. So change __out_of_memory() to fall back to the full task-list scan if it was unable to kill `current'. Cc: Nick Piggin Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df3935ffd6166fdd00702cf548fb5bb55737758b Author: Josef Bacik Date: Wed May 6 16:02:53 2009 -0700 fiemap: fix problem with setting FIEMAP_EXTENT_LAST Fix a problem where the generic block based fiemap stuff would not properly set FIEMAP_EXTENT_LAST on the last extent. I've reworked things to keep track if we go past the EOF, and mark the last extent properly. The problem was reported by and tested by Eric Sandeen. Tested-by: Eric Sandeen Signed-off-by: Josef Bacik Cc: Cc: Cc: Cc: Steven Whitehouse Cc: Mark Fasheh Cc: Joel Becker Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57adc4d2dbf968fdbe516359688094eef4d46581 Author: Andi Kleen Date: Wed May 6 16:02:53 2009 -0700 Eliminate thousands of warnings with gcc 3.2 build When building with gcc 3.2 I get thousands of warnings such as include/linux/gfp.h: In function `allocflags_to_migratetype': include/linux/gfp.h:105: warning: null format string due to passing a NULL format string to warn_slowpath() in #define __WARN() warn_slowpath(__FILE__, __LINE__, NULL) Split this case out into a separate call. This also shrinks the kernel slightly: text data bss dec hex filename 4802274 707668 712704 6222646 5ef336 vmlinux text data bss dec hex filename 4799027 703572 712704 6215303 5ed687 vmlinux due to removeing one argument from the commonly-called __WARN(). [akpm@linux-foundation.org: reduce scope of `empty'] Acked-by: Jesper Nilsson Acked-by: Johannes Weiner Acked-by: Arjan van de Ven Signed-off-by: Andi Kleen Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 429aa0fca0df702fc9c81d799175a7d920398827 Author: Hugh Dickins Date: Wed May 6 16:02:51 2009 -0700 doc: hashdist defaults on for 64bit kernel boot parameter `hashdist' now defaults on for all 64bit NUMA. Signed-off-by: Hugh Dickins Acked-by: Mel Gorman Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 381a80e6df396eaabef2c00f85974a4579ac1c70 Author: Wu Fengguang Date: Wed May 6 16:02:50 2009 -0700 inotify: use GFP_NOFS in kernel_event() to work around a lockdep false-positive There is what we believe to be a false positive reported by lockdep. inotify_inode_queue_event() => take inotify_mutex => kernel_event() => kmalloc() => SLOB => alloc_pages_node() => page reclaim => slab reclaim => dcache reclaim => inotify_inode_is_dead => take inotify_mutex => deadlock The plan is to fix this via lockdep annotation, but that is proving to be quite involved. The patch flips the allocation over to GFP_NFS to shut the warning up, for the 2.6.30 release. Hopefully we will fix this for real in 2.6.31. I'll queue a patch in -mm to switch it back to GFP_KERNEL so we don't forget. ================================= [ INFO: inconsistent lock state ] 2.6.30-rc2-next-20090417 #203 --------------------------------- inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage. kswapd0/380 [HC0[0]:SC0[0]:HE1:SE1] takes: (&inode->inotify_mutex){+.+.?.}, at: [] inotify_inode_is_dead+0x35/0xb0 {RECLAIM_FS-ON-W} state was registered at: [] mark_held_locks+0x68/0x90 [] lockdep_trace_alloc+0xf5/0x100 [] __kmalloc_node+0x31/0x1e0 [] kernel_event+0xe2/0x190 [] inotify_dev_queue_event+0x126/0x230 [] inotify_inode_queue_event+0xc6/0x110 [] vfs_create+0xcd/0x140 [] do_filp_open+0x88d/0xa20 [] do_sys_open+0x98/0x140 [] sys_open+0x20/0x30 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff irq event stamp: 690455 hardirqs last enabled at (690455): [] _spin_unlock_irqrestore+0x44/0x80 hardirqs last disabled at (690454): [] _spin_lock_irqsave+0x32/0xa0 softirqs last enabled at (690178): [] __do_softirq+0x202/0x220 softirqs last disabled at (690157): [] call_softirq+0x1c/0x50 other info that might help us debug this: 2 locks held by kswapd0/380: #0: (shrinker_rwsem){++++..}, at: [] shrink_slab+0x37/0x180 #1: (&type->s_umount_key#17){++++..}, at: [] shrink_dcache_memory+0x11f/0x1e0 stack backtrace: Pid: 380, comm: kswapd0 Not tainted 2.6.30-rc2-next-20090417 #203 Call Trace: [] print_usage_bug+0x19f/0x200 [] ? save_stack_trace+0x2f/0x50 [] mark_lock+0x4bb/0x6d0 [] ? check_usage_forwards+0x0/0xc0 [] __lock_acquire+0xc62/0x1ae0 [] ? slob_free+0x10c/0x370 [] lock_acquire+0xe1/0x120 [] ? inotify_inode_is_dead+0x35/0xb0 [] mutex_lock_nested+0x63/0x420 [] ? inotify_inode_is_dead+0x35/0xb0 [] ? inotify_inode_is_dead+0x35/0xb0 [] ? sched_clock+0x9/0x10 [] ? lock_release_holdtime+0x35/0x1c0 [] inotify_inode_is_dead+0x35/0xb0 [] dentry_iput+0xbc/0xe0 [] d_kill+0x33/0x60 [] __shrink_dcache_sb+0x2d3/0x350 [] shrink_dcache_memory+0x15a/0x1e0 [] shrink_slab+0x125/0x180 [] kswapd+0x560/0x7a0 [] ? isolate_pages_global+0x0/0x2c0 [] ? autoremove_wake_function+0x0/0x40 [] ? trace_hardirqs_on+0xd/0x10 [] ? kswapd+0x0/0x7a0 [] kthread+0x5b/0xa0 [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0xa0 [] ? child_rip+0x0/0x20 [eparis@redhat.com: fix audit too] Cc: Al Viro Cc: Matt Mackall Cc: Christoph Lameter Signed-off-by: Wu Fengguang Signed-off-by: Eric Paris Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd1e6c1df5c396961509daac2b456852edf982df Author: Breno Leitao Date: Wed May 6 17:17:57 2009 +0100 jsm: removing unused spinlock This patch removes bd_lock spinlock (inside jsm_board structure). The lock is initialized in the probe function and not used anymore. Signed-off-by: Breno Leitao Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit fab892232e275e4e9351a50d018c0a9513155814 Author: Alan Cox Date: Wed May 6 17:17:26 2009 +0100 vt: Add a note on the historical abuse of CLOCK_TICK_RATE This is one area where we can't just magic away the bizarre use of CLOCK_TICK_RATE as it leaks to user space APIs. It also means the visible CLOCK_TICK_RATE is frozen for architectures which is horrible. We need to fix this somehow Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds commit 413f81eba35d6ede9289b0c8a920c013a84fac71 Merge: 899ad58... 42beefc... Author: Linus Torvalds Date: Tue May 5 17:02:05 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: drm/r128: fix r128 ioremaps to use ioremap_wc. drm: cleanup properly in drm_get_dev() failure paths drm: clean the map list before destroying the hash table drm: remove unreachable code in drm_sysfs.c drm: add control node checks missing from kms merge drm/kms: don't try to shortcut drm mode set function drm/radeon: bump minor version for occlusion queries support commit 42beefc0093725ec0f8cea340cc54c36ccaceea0 Author: Dave Airlie Date: Wed May 6 09:04:52 2009 +1000 drm/r128: fix r128 ioremaps to use ioremap_wc. This should allow r128 to start working again since PAT changes. taken from F-11 kernel. Signed-off-by: Dave Airlie commit 899ad580fe93c6d2a9f364fb0329ef2c259ccd1d Merge: a425a63... 0692698... Author: Linus Torvalds Date: Tue May 5 15:48:03 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] xen_domu_defconfig: fix build issues/warnings commit a425a638c858fd10370b573bde81df3ba500e271 Author: Mel Gorman Date: Tue May 5 16:37:17 2009 +0100 Ignore madvise(MADV_WILLNEED) for hugetlbfs-backed regions madvise(MADV_WILLNEED) forces page cache readahead on a range of memory backed by a file. The assumption is made that the page required is order-0 and "normal" page cache. On hugetlbfs, this assumption is not true and order-0 pages are allocated and inserted into the hugetlbfs page cache. This leaks hugetlbfs page reservations and can cause BUGs to trigger related to corrupted page tables. This patch causes MADV_WILLNEED to be ignored for hugetlbfs-backed regions. Signed-off-by: Mel Gorman Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 99ee12973e5fd1123ed1779fb4d11ac7d381d430 Merge: bcb1656... 74a03b6... Author: Linus Torvalds Date: Tue May 5 12:09:38 2009 -0700 Merge branch 'timers/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: clockevents: prevent endless loop in tick_handle_periodic() commit bcb16568275a9bfaa79efdce6816467927f2c406 Merge: e858e8b... d7226fb... Author: Linus Torvalds Date: Tue May 5 12:09:27 2009 -0700 Merge branch 'irq/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: Revert "genirq: assert that irq handlers are indeed running in hardirq context" commit e858e8b07666e96c7206f3c42d233340156ebf0a Merge: da87bbd... f5f293a... Author: Linus Torvalds Date: Tue May 5 12:08:40 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: account system time properly commit da87bbd14299ef43848742c44dfe05fa1da5a21f Merge: e91b3b2... 6e85c5b... Author: Linus Torvalds Date: Tue May 5 12:08:20 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: kernel/posix-cpu-timers.c: fix sparse warning dma-debug: remove broken dma memory leak detection for 2.6.30 locking: Documentation: lockdep-design.txt, fix note of state bits commit e91b3b2681148371d84b9cdf4cab6f9de0522544 Merge: 5e30302... 33015c8... Author: Linus Torvalds Date: Tue May 5 12:08:02 2009 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: tracing: x86, mmiotrace: fix range test tracing: fix ref count in splice pages commit 5e30302b9ee75a01d65d8dcf4085254a5da1066d Merge: 35984d7... 35d1168... Author: Linus Torvalds Date: Tue May 5 12:07:21 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: show number of core_siblings instead of thread_siblings in /proc/cpuinfo amd-iommu: fix iommu flag masks x86: initialize io_bitmap_base on 32bit x86: gettimeofday() vDSO: fix segfault when tv == NULL commit 35984d73f0829dd359639b34869cf08ba091ca98 Merge: f328ddc... 4391ed6... Author: Linus Torvalds Date: Tue May 5 12:06:54 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild, modpost: fix unexpected non-allocatable warning with mips kbuild, modpost: fix "unexpected non-allocatable" warning with SUSE gcc kbuild, modpost: fix unexpected non-allocatable section when cross compiling commit 0692698cb7369ea1ce74f3f87f70baf5072f8a37 Author: Jan Beulich Date: Tue May 5 13:57:52 2009 +0100 [IA64] xen_domu_defconfig: fix build issues/warnings - drivers/xen/events.c did not compile - xen_setup_hook caused a modpost section warning - the use of u64 (instead of unsigned long long) together with a %llu in drivers/xen/balloon.c caused a compiler warning Signed-off-by: Jan Beulich Signed-off-by: Tony Luck commit f328ddc154605be11c4ca38fee6ace8adb140087 Merge: 80445de... 2196d1c... Author: Linus Torvalds Date: Tue May 5 08:27:14 2009 -0700 Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: i2c-algo-pca: Let PCA9564 recover from unacked data byte (state 0x30) i2c-algo-bit: Fix timeout test i2c: Timeouts off by 1 commit 80445de57764b45fc26315c19fe7dc9fc57c2c65 Merge: 32bc66d... bc83871... Author: Linus Torvalds Date: Tue May 5 08:26:10 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: (30 commits) e1000: fix virtualization bug bonding: fix alb mode locking regression Bluetooth: Fix issue with sysfs handling for connections usbnet: CDC EEM support (v5) tcp: Fix tcp_prequeue() to get correct rto_min value ehea: fix invalid pointer access ne2k-pci: Do not register device until initialized. Subject: [PATCH] br2684: restore net_dev initialization net: Only store high 16 bits of kernel generated filter priorities virtio_net: Fix function name typo virtio_net: Cleanup command queue scatterlist usage bonding: correct the cleanup in bond_create() virtio: add missing include to virtio_net.h smsc95xx: add support for LAN9512 and LAN9514 smsc95xx: configure LED outputs netconsole: take care of NETDEV_UNREGISTER event xt_socket: checks for the state of nf_conntrack bonding: bond_slave_info_query() fix cxgb3: fixing gcc 4.4 compiler warning: suggest parentheses around operand of ‘!’ netfilter: use likely() in xt_info_rdlock_bh() ... commit 32bc66d8d0edc9b04dea9ebac299bdb7ad781d6b Merge: a31ea2f... 0203d6e... Author: Linus Torvalds Date: Tue May 5 08:25:37 2009 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Fix setting of oprofile cpu type powerpc: Update MPC5xxx and Xilinx Virtex maintainer entries powerpc adjust oprofile_cpu_type version 3 commit a31ea2f568d0ad4bb11e2fe8a94b95de0cb5fa69 Merge: 0488713... 65c90bc... Author: Linus Torvalds Date: Tue May 5 08:24:41 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: selinux: Fix send_sigiotask hook commit 0488713c1eeff06e497e2e54ffb2795b447e8983 Merge: 37ecfd8... 1bab88b... Author: Linus Torvalds Date: Tue May 5 08:23:42 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: net/9p: handle correctly interrupted 9P requests net/9p: return error when p9_client_stat fails net/9p: set correct stat size when sending Twstat messages commit 37ecfd807b82bf547429fe1376e1fe7000ba7cff Merge: 71019c3... 2e058a6... Author: Linus Torvalds Date: Tue May 5 08:23:16 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: mvsdio: fix CONFIG_PM=y build mmci: fix crash with debug enabled sdhci: catch ADMA errors mmc: increase power up delay sdhci-pci: bad error handling in probe function mmc_block: be prepared for oversized requests commit 71019c350aca8fe650246988e64bfd2c89192180 Merge: f83ce3e... 5d7ee52... Author: Linus Torvalds Date: Tue May 5 08:22:55 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: ASoC: Remove BROKEN from mpc5200 kconfig ASoC: TWL4030: Fix gain control for earpiece amplifier ALSA: pcm core - Avoid jiffies check for devices with BATCH flag ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers ALSA: indigo-express: add missing 64KHz flags ASoC: Set the MPC5200 i2s driver to BROKEN status. ASoC: Fix logic in WM8350 master clocking check commit 0c15702445eef6ff9dba774fd1995aca10176969 Merge: 64724ef... 25971df... Author: Russell King Date: Tue May 5 09:22:26 2009 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit 64724ef8bd2a25aa91678c253a5dbfdad1a95662 Merge: 283a5d2... 3a5df4b... Author: Russell King Date: Tue May 5 09:22:05 2009 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion commit 25971dfe3a9d14c3b91fc51de96d7f48da394c99 Author: Magnus Lilja Date: Sat Apr 18 18:20:50 2009 +0200 i.MX31: Disable CPU_32v6K in mx3_defconfig. The i.MX31 ARM11 core is not a v6K core. Disable this option as it is incompatible with non v6K cores. Signed-off-by: Magnus Lilja Signed-off-by: Sascha Hauer commit b09de4209d179c92ab880d911e72a892d053ff01 Author: Sascha Hauer Date: Wed Apr 8 11:45:47 2009 +0200 mx3fb: Fix compilation with CONFIG_PM Signed-off-by: Sascha Hauer commit 7b9020badf78327b3fcb567b466a1dd4d33710ce Author: Uwe Kleine-König Date: Tue Apr 21 22:56:14 2009 +0200 mx27ads: move PBC mapping out of vmalloc space Before this patch I got the following line in my dmesg: [ 0.000000] BUG: mapping for 0xd4000000 at 0xeb000000 overlaps vmalloc space VMALLOC_END is 0xf4000000 and there are the following other mappings defined for mx27ads: (0xa0500000,+0x00001000) maps to 0xffff0000 (0x10000000,+0x00100000) maps to 0xf4000000 (0x80000000,+0x00100000) maps to 0xf4100000 (0xd8000000,+0x00100000) maps to 0xf4200000 So map PBC to 0xf4300000. Signed-off-by: Uwe Kleine-König Signed-off-by: Sascha Hauer commit e2c97e7fdc9d71637840dea8f76eb3782c3b2023 Author: Sascha Hauer Date: Tue Apr 21 12:39:59 2009 +0200 MXC: remove BUG_ON in interrupt handler On i.MX31 I sometimes get spurious interrupts. There is no need to crash the whole system when this happens. Instead, silently ignore it. Signed-off-by: Sascha Hauer commit f1fd4c64af58ec28d29bced9e94ecf6d5177c2b0 Author: Valentin Longchamp Date: Fri Apr 17 15:20:26 2009 +0200 mx31: remove mx31moboard_defconfig We want to have a mx31_defconfig file that builds a kernel that is able to boot on all support mx31 systems and thus also can be better tested by automatic build scripts. For these reasons, this config file is not needed anymore. Signed-off-by: Valentin Longchamp Signed-off-by: Sascha Hauer commit 9abf137c6dbf6eabb3add98fcd8352c3dd520568 Author: Guennadi Liakhovetski Date: Thu Apr 16 14:12:54 2009 +0200 ARM: ARCH_MXC should select HAVE_CLK All i.MX platforms support calls and should select HAVE_CLK. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Sascha Hauer commit f2292532a5f0cf6359adca349cdd2a0150581937 Author: Martin Fuzzey Date: Thu Mar 26 22:27:52 2009 +0100 mxc : BUG in imx_dma_request On MX2 platforms imx_dma_request() calls request_irq() which may sleep with interrupts disabled. Signed-off-by: Martin Fuzzey Signed-off-by: Sascha Hauer commit de0096d80980e26fab16ac3eff57f47fadad92cb Author: Martin Fuzzey Date: Thu Mar 26 22:21:16 2009 +0100 mxc : Clean up properly when imx_dma_free() used without imx_dma_disable() The sequence imx_dma_request() imx_dma_enable() imx_dma_free() left the dma channel in_use mode and did not release the timer. Signed-off-by: Martin Fuzzey Signed-off-by: Sascha Hauer commit 2196d1cf4afab93fb64c2e5b417096e49b661612 Author: Enrik Berkhan Date: Tue May 5 08:39:25 2009 +0200 i2c-algo-pca: Let PCA9564 recover from unacked data byte (state 0x30) Currently, the i2c-algo-pca driver does nothing if the chip enters state 0x30 (Data byte in I2CDAT has been transmitted; NOT ACK has been received). Thus, the i2c bus connected to the controller gets stuck afterwards. I have seen this kind of error on a custom board in certain load situations most probably caused by interference or noise. A possible reaction is to let the controller generate a STOP condition. This is documented in the PCA9564 data sheet (2006-09-01) and the same is done for other NACK states as well. Further, state 0x38 isn't handled completely, either. Try to do another START in this case like the data sheet says. As this couldn't be tested, I've added a comment to try to reset the chip if the START doesn't help as suggested by Wolfram Sang. Signed-off-by: Enrik Berkhan Reviewed-by: Wolfram Sang Signed-off-by: Jean Delvare commit 0cdba07bb23cdd3e0d64357ec3d983e6b75e541f Author: Dave Airlie Date: Tue May 5 08:39:24 2009 +0200 i2c-algo-bit: Fix timeout test When fetching DDC using i2c algo bit, we were often seeing timeouts before getting valid EDID on a retry. The VESA spec states 2ms is the DDC timeout, so when this translates into 1 jiffie and we are close to the end of the time period, it could return with a timeout less than 2ms. Change this code to use time_after instead of time_after_eq. Signed-off-by: Dave Airlie Signed-off-by: Jean Delvare commit 4ccc28f725bc2b7b0a3bc27e9c15f4eaf63fb812 Author: Roel Kluin Date: Tue May 5 08:39:24 2009 +0200 i2c: Timeouts off by 1 with while (timeout++ < MAX_TIMEOUT); timeout reaches MAX_TIMEOUT + 1 after the loop, so the tests below are off by one. Signed-off-by: Roel Kluin Signed-off-by: Jean Delvare commit bc83871e8325bb17da2930a76c2a3806377a76c5 Merge: e151a60... a67e899... Author: David S. Miller Date: Mon May 4 21:31:29 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 commit e151a60ad1faffb6241cf7eb6846353df1f33a32 Author: Jesse Brandeburg Date: Mon May 4 11:19:42 2009 +0000 e1000: fix virtualization bug a recent fix to e1000 (commit 15b2bee2) caused KVM/QEMU/VMware based virtualized e1000 interfaces to begin failing when resetting. This is because the driver in a virtual environment doesn't get to run instructions *AT ALL* when an interrupt is asserted. The interrupt code runs immediately and this recent bug fix allows an interrupt to be possible when the interrupt handler will reject it (due to the new code), when being called from any path in the driver that holds the E1000_RESETTING flag. the driver should use the __E1000_DOWN flag instead of the __E1000_RESETTING flag to prevent interrupt execution while reconfiguring the hardware. Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 815bcc2719c12b6f5b511706e2d19728e07f0b02 Author: Jay Vosburgh Date: Mon May 4 09:03:37 2009 +0000 bonding: fix alb mode locking regression Fix locking issue in alb MAC address management; removed incorrect locking and replaced with correct locking. This bug was introduced in commit 059fe7a578fba5bbb0fdc0365bfcf6218fa25eb0 ("bonding: Convert locks to _bh, rework alb locking for new locking") Bug reported by Paul Smith , who also tested the fix. Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 3a5df4bf2a1829a342f3a416c217049e8caa0a1b Author: Nicolas Pitre Date: Mon May 4 14:28:59 2009 -0400 [ARM] mv78xx0: update defconfig Signed-off-by: Nicolas Pitre commit 7e14acb44021132e66801066e9e7527300c5fc10 Author: Nicolas Pitre Date: Mon May 4 14:09:33 2009 -0400 [ARM] orion5x: update defconfig Signed-off-by: Nicolas Pitre commit f2d41ecb0f096e4fc58d1456c9d54560f6e2b955 Author: Nicolas Pitre Date: Mon May 4 12:02:23 2009 -0400 [ARM] Kirkwood: update defconfig Signed-off-by: Nicolas Pitre commit 65c90bca0dba56f60dc4ce2a529140c3cc440f22 Author: Stephen Smalley Date: Mon May 4 15:43:18 2009 -0400 selinux: Fix send_sigiotask hook The CRED patch incorrectly converted the SELinux send_sigiotask hook to use the current task SID rather than the target task SID in its permission check, yielding the wrong permission check. This fixes the hook function. Detected by the ltp selinux testsuite and confirmed to correct the test failure. Signed-off-by: Stephen Smalley Signed-off-by: James Morris commit f83ce3e6b02d5e48b3a43b001390e2b58820389d Author: Jake Edge Date: Mon May 4 12:51:14 2009 -0600 proc: avoid information leaks to non-privileged processes By using the same test as is used for /proc/pid/maps and /proc/pid/smaps, only allow processes that can ptrace() a given process to see information that might be used to bypass address space layout randomization (ASLR). These include eip, esp, wchan, and start_stack in /proc/pid/stat as well as the non-symbolic output from /proc/pid/wchan. ASLR can be bypassed by sampling eip as shown by the proof-of-concept code at http://code.google.com/p/fuzzyaslr/ As part of a presentation (http://www.cr0.org/paper/to-jt-linux-alsr-leak.pdf) esp and wchan were also noted as possibly usable information leaks as well. The start_stack address also leaks potentially useful information. Cc: Stable Team Signed-off-by: Jake Edge Acked-by: Arjan van de Ven Acked-by: "Eric W. Biederman" Signed-off-by: Linus Torvalds commit a67e899cf38ae542d1a028ccd021f9189f76fb74 Author: Marcel Holtmann Date: Sat May 2 18:24:06 2009 -0700 Bluetooth: Fix issue with sysfs handling for connections Due to a semantic changes in flush_workqueue() the current approach of synchronizing the sysfs handling for connections doesn't work anymore. The whole approach is actually fully broken and based on assumptions that are no longer valid. With the introduction of Simple Pairing support, the creation of low-level ACL links got changed. This change invalidates the reason why in the past two independent work queues have been used for adding/removing sysfs devices. The adding of the actual sysfs device is now postponed until the host controller successfully assigns an unique handle to that link. So the real synchronization happens inside the controller and not the host. The only left-over problem is that some internals of the sysfs device handling are not initialized ahead of time. This leaves potential access to invalid data and can cause various NULL pointer dereferences. To fix this a new function makes sure that all sysfs details are initialized when an connection attempt is made. The actual sysfs device is only registered when the connection has been successfully established. To avoid a race condition with the registration, the check if a device is registered has been moved into the removal work. As an extra protection two flush_work() calls are left in place to make sure a previous add/del work has been completed first. Based on a report by Marc Pignat Signed-off-by: Marcel Holtmann Tested-by: Justin P. Mattock Tested-by: Roger Quadros Tested-by: Marc Pignat commit 9f722c0978b04acba209f8ca1896ad05814bc3a3 Author: Omar Laazimani Date: Mon May 4 12:01:43 2009 -0700 usbnet: CDC EEM support (v5) This introduces a CDC Ethernet Emulation Model (EEM) host side driver to support USB EEM devices. EEM is different from the Ethernet Control Model (ECM) currently supported by the "CDC Ethernet" driver. One key difference is that it doesn't require of USB interface alternate settings to manage interface state; some maldesigned hardware can't handle that part of USB. It also avoids a separate USB interface for control and status updates. [ dbrownell@users.sourceforge.net: fix skb leaks, add rx packet checks, improve fault handling, EEM conformance updates, cleanup ] Signed-off-by: Omar Laazimani Signed-off-by: David Brownell Signed-off-by: David S. Miller commit 35d11680a9d82c93eb92f08f9702b72877427b4a Author: Andreas Herrmann Date: Mon May 4 20:28:59 2009 +0200 x86: show number of core_siblings instead of thread_siblings in /proc/cpuinfo Commit 7ad728f98162cb1af06a85b2a5fc422dddd4fb78 (cpumask: x86: convert cpu_sibling_map/cpu_core_map to cpumask_var_t) changed the output of /proc/cpuinfo for siblings: Example on an AMD Phenom: physical id : 0 siblings : 1 core id : 3 cpu cores : 4 Before that commit it was: physical id : 0 siblings : 4 core id : 3 cpu cores : 4 Instead of cpu_core_mask it now uses cpu_sibling_mask to count siblings. This is due to the following hunk of above commit: | --- a/arch/x86/kernel/cpu/proc.c | +++ b/arch/x86/kernel/cpu/proc.c | @@ -14,7 +14,7 @@ static void show_cpuinfo_core(struct seq_file *m, struct cpuinf | if (c->x86_max_cores * smp_num_siblings > 1) { | seq_printf(m, "physical id\t: %d\n", c->phys_proc_id); | seq_printf(m, "siblings\t: %d\n", | - cpus_weight(per_cpu(cpu_core_map, cpu))); | + cpumask_weight(cpu_sibling_mask(cpu))); | seq_printf(m, "core id\t\t: %d\n", c->cpu_core_id); | seq_printf(m, "cpu cores\t: %d\n", c->booted_cores); | seq_printf(m, "apicid\t\t: %d\n", c->apicid); This was a mistake, because the impact line shows that this side-effect was not anticipated: Impact: reduce per-cpu size for CONFIG_CPUMASK_OFFSTACK=y So revert the respective hunk to restore the old behavior. [ Impact: fix sibling-info regression in /proc/cpuinfo ] Signed-off-by: Andreas Herrmann Cc: Rusty Russell LKML-Reference: <20090504182859.GA29045@alberich.amd.com> Signed-off-by: Ingo Molnar commit 0c266898b42fe4e4e2f9edfc9d3474c10f93aa6a Author: Satoru SATOH Date: Mon May 4 11:11:01 2009 -0700 tcp: Fix tcp_prequeue() to get correct rto_min value tcp_prequeue() refers to the constant value (TCP_RTO_MIN) regardless of the actual value might be tuned. The following patches fix this and make tcp_prequeue get the actual value returns from tcp_rto_min(). Signed-off-by: Satoru SATOH Signed-off-by: David S. Miller commit 0b2febf38a33d7c40fb7bb4a58c113a1fa33c412 Author: Hannes Hering Date: Mon May 4 11:06:37 2009 -0700 ehea: fix invalid pointer access This patch fixes an invalid pointer access in case the receive queue holds no pointer to the next skb when the queue is empty. Signed-off-by: Hannes Hering Signed-off-by: Jan-Bernd Themann Signed-off-by: David S. Miller commit 5d7ee52f1c3dbe0e06d9bfad4912562fd1b6eb03 Merge: dea6a9d... 3f68165... Author: Takashi Iwai Date: Mon May 4 16:06:58 2009 +0200 Merge branch 'fix/misc' into for-linus * fix/misc: ALSA: indigo-express: add missing 64KHz flags commit dea6a9d306f75004c202a843e5a578e595e56c09 Merge: 56dc16f... 6574612... Author: Takashi Iwai Date: Mon May 4 16:06:43 2009 +0200 Merge branch 'fix/asoc' into for-linus * fix/asoc: ASoC: Remove BROKEN from mpc5200 kconfig ASoC: TWL4030: Fix gain control for earpiece amplifier ASoC: Set the MPC5200 i2s driver to BROKEN status. ASoC: Fix logic in WM8350 master clocking check commit 56dc16f75dfe91ea91f6b0978b3871003934ae82 Merge: 091438d... 3e5b501... Author: Takashi Iwai Date: Mon May 4 16:06:37 2009 +0200 Merge branch 'fix/pcm-jiffies-check' into for-linus * fix/pcm-jiffies-check: ALSA: pcm core - Avoid jiffies check for devices with BATCH flag ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers commit 6574612fbb34c63117581e68f2231ddce027e41e Author: Takashi Iwai Date: Mon May 4 16:03:21 2009 +0200 ASoC: Remove BROKEN from mpc5200 kconfig The regression was fixed by commit 3e5b50165fd0be080044586f43fcdd460ed27610, so no need to mark this driver as BROKEN. Signed-off-by: Takashi Iwai commit 3a20ac2c52b1317f5a5f0bd9cd3cbe8495ddd026 Merge: 18cc8d8... 3e5b501... Author: Takashi Iwai Date: Mon May 4 16:00:16 2009 +0200 Merge branch 'fix/pcm-jiffies-check' into fix/asoc commit 6da7342ff1c5274c51ada084974668d10f769c16 Author: Joerg Roedel Date: Mon May 4 11:44:38 2009 +0200 amd-iommu: fix iommu flag masks The feature bits should be set via bitmasks, not via feature IDs. [ Impact: fix feature enabling in newer IOMMU versions ] Signed-off-by: Joerg Roedel LKML-Reference: <20090504102028.GA30307@amd.com> Signed-off-by: Ingo Molnar commit 4391ed6aa9a38cdfb48addd7a9b24a2ff099b1a7 Author: Sam Ravnborg Date: Mon May 4 13:05:26 2009 +0200 kbuild, modpost: fix unexpected non-allocatable warning with mips mips emit the following debug sections: .mdebug* and .pdr They were included in the check for non-allocatable section and caused modpost to warn. Manuel Lauss suggested to fix this by adding the relevant sections to the list of sections we do not check. Signed-off-by: Sam Ravnborg Reported-by: Manuel Lauss commit 028ecebdd83cc4a7f8c7e96e28a5537d2ac98dae Author: Sam Ravnborg Date: Sun May 3 22:17:37 2009 +0200 kbuild, modpost: fix "unexpected non-allocatable" warning with SUSE gcc Jean reported that he saw one warning for each module like the one below: WARNING: arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.o (.comment.SUSE.OPTs): unexpected non-allocatable section. The warning appeared with the improved version of the check of the flags in the sections. That check already ignored sections named ".comment" - but SUSE store additional info in the comment section and has named it in a SUSE specific way. Therefore modpost failed to ignore the section. The fix is to extend the pattern so we ignore all sections that start with the name ".comment.". Signed-off-by: Sam Ravnborg Reported-by: Jean Delvare Tested-by: Jean Delvare commit 7d875a02864a35532543897195dfea2235815df8 Author: Anders Kaseorg Date: Sun May 3 22:02:55 2009 +0200 kbuild, modpost: fix unexpected non-allocatable section when cross compiling The missing TO_NATIVE(sechdrs[i].sh_flags) was causing many unexpected non-allocatable section warnings when cross-compiling for an architecture with a different endianness. Fix endianness of all the fields in the ELF header and section headers, not just some of them so we are not hit by this anohter time. Signed-off-by: Anders Kaseorg Reported-by: Sean MacLennan Tested-by: Sean MacLennan Signed-off-by: Sam Ravnborg commit 2e058a6fb004a6b6c3eb6a219ae408f83b670598 Author: Rabin Vincent Date: Tue Apr 21 00:14:54 2009 +0530 mvsdio: fix CONFIG_PM=y build Fix usage of obsolete parameters and functions in the driver's PM callbacks. Signed-off-by: Rabin Vincent Acked-by: Nicolas Pitre Signed-off-by: Pierre Ossman commit 4ea580f1db62c5419e6690878fd61a740f3aae8e Author: Rabin Vincent Date: Fri Apr 17 08:44:19 2009 +0530 mmci: fix crash with debug enabled If MMC debugging is enabled, the mmci driver oopses because the DBG macro uses host->mmc before it is set. Set it earlier. Signed-off-by: Rabin Vincent Signed-off-by: Pierre Ossman commit 4accfe2577fab83e41db02282570e849f24ddf53 Author: Pierre Ossman Date: Fri Apr 10 23:55:42 2009 +0200 sdhci: catch ADMA errors We forgot to add the ADMA error bit to the list of data interrupts. Signed-off-by: Pierre Ossman commit 79bccc5aefb4e64e651abe04f78c3e6bf8acd6f0 Author: José M. Fernández Date: Tue Mar 10 02:21:21 2009 +0100 mmc: increase power up delay The TI controller on Toshiba Tecra M5 needs more time to power up or the cards will init incorrectly or not at all. Signed-off-by: José M. Fernández Signed-off-by: Pierre Ossman commit c60a32cd129b1c41f98888b03ba2904406bac8f8 Author: Dan Carpenter Date: Fri Apr 10 23:31:10 2009 +0200 sdhci-pci: bad error handling in probe function The goto unmap is too early, we haven't allocated host or done the request_region(). Found by smatch (http://repo.or.cz/w/smatch.git). [ Second error path fix by Pierre Ossman ] Signed-off-by: Dan Carpenter Signed-off-by: Pierre Ossman commit 548d2de9bd978a4d4e941477500f1ab97aade137 Author: Pierre Ossman Date: Fri Apr 10 17:52:57 2009 +0200 mmc_block: be prepared for oversized requests The block layer does not support very low sector count restrictions so we need to be prepared to handle bigger requests than we can send directly to the controller. Problem found by Manuel Lauss. Signed-off-by: Pierre Ossman commit 283a5d250e5315b76e7bfd7498c581324c922bfe Author: Robert P. J. Day Date: Sat May 2 10:14:15 2009 -0400 [ARM] Kconfig typo fix: "PXA930" -> "CPU_PXA930". Signed-off-by: Robert P. J. Day Signed-off-by: Russell King commit bc75159f2e436b732980475325ae6797da774f03 Merge: b4348f3... dc8fc7e... Author: Russell King Date: Sun May 3 10:53:21 2009 +0100 Merge branch 'v2630-rc3-fixes' of git://aeryn.fluff.org.uk/bjdooks/linux commit 7fdf523067666b0eaff330f362401ee50ce187c4 Author: Trond Myklebust Date: Fri Apr 24 17:32:22 2009 -0400 NFS: Close page_mkwrite() races Follow up to Nick Piggin's patches to ensure that nfs_vm_page_mkwrite returns with the page lock held, and sets the VM_FAULT_LOCKED flag. See http://bugzilla.kernel.org/show_bug.cgi?id=12913 Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit b4348f32dae3cb6eb4bc21c7ed8f76c0b11e9d6a Merge: 9fffb55... 28e2117... Author: Linus Torvalds Date: Sat May 2 16:52:50 2009 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: fix getbmap vs mmap deadlock xfs: a couple getbmap cleanups xfs: add more checks to superblock validation xfs_file_last_byte() needs to acquire ilock commit 9fffb55f66127b52c937ede5196ebfa0c0d50bce Author: David Gibson Date: Thu Apr 30 15:25:53 2009 +1000 Move dtc and libfdt sources from arch/powerpc/boot to scripts/dtc The powerpc kernel always requires an Open Firmware like device tree to supply device information. On systems without OF, this comes from a flattened device tree blob. This blob is usually generated by dtc, a tool which compiles a text description of the device tree into the flattened format used by the kernel. Sometimes, the bootwrapper makes small changes to the pre-compiled device tree blob (e.g. filling in the size of RAM). To do this it uses the libfdt library. Because these are only used on powerpc, the code for both these tools is included under arch/powerpc/boot (these were imported and are periodically updated from the upstream dtc tree). However, the microblaze architecture, currently being prepared for merging to mainline also uses dtc to produce device tree blobs. A few other archs have also mentioned some interest in using dtc. Therefore, this patch moves dtc and libfdt from arch/powerpc into scripts, where it can be used by any architecture. The vast bulk of this patch is a literal move, the rest is adjusting the various Makefiles to use dtc and libfdt correctly from their new locations. Signed-off-by: David Gibson Signed-off-by: Linus Torvalds commit afc1e702e8e8355faa712d4e90d9afe26a4995a5 Merge: 7b39da7... 3c48f23... Author: Linus Torvalds Date: Sat May 2 16:50:46 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/configfs: configfs: Fix Trivial Warning in fs/configfs/symlink.c commit 7b39da786a63e82d9d440075eae9018b79154d2a Merge: 2142bab... 96c1674... Author: Linus Torvalds Date: Sat May 2 16:48:32 2009 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide-cd: fix REQ_QUIET tests in cdrom_decode_status Fix up trivial conflicts in include/linux/blkdev.h commit 2142babac999a5ba169348892a8e3ac222bec7a4 Merge: bb402c4... 0516e46... Author: Linus Torvalds Date: Sat May 2 16:40:20 2009 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (45 commits) [ARM] 5489/1: ARM errata: Data written to the L2 cache can be overwritten with stale data [ARM] 5490/1: ARM errata: Processor deadlock when a false hazard is created [ARM] 5487/1: ARM errata: Stale prediction on replaced interworking branch [ARM] 5488/1: ARM errata: Invalidation of the Instruction Cache operation can fail davinci: DM644x: NAND: update partitioning davinci: update DM644x support in preparation for more SoCs davinci: DM644x: rename board file davinci: update pin-multiplexing support davinci: serial: generalize for more SoCs davinci: DM355 IRQ Definitions davinci: DM646x: add interrupt number and priorities davinci: PSC: Clear bits in MDCTL reg before setting new bits davinci: gpio bugfixes davinci: add EDMA driver davinci: timers: use clk_get_rate() [ARM] pxa/littleton: add missing da9034 touchscreen support [ARM] pxa/zylonite: configure GPIO18/19 correctly, used by 2 GPIO expanders [ARM] pxa/zylonite: fix the issue of unused SDATA_IN_1 pin get AC97 not working [ARM] pxa: make ads7846 on corgi and spitz to sync on HSYNC [ARM] pxa: remove unused CPU_FREQ_PXA Kconfig symbol ... commit bb402c4fb5bba4edf5b8c72b3db8760e60df4876 Merge: 61bd1e8... 5679af4... Author: Linus Torvalds Date: Sat May 2 16:38:30 2009 -0700 Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: x86, mce: fix boot logging logic x86, mce: make polling timer interval per CPU commit 61bd1e858db743af64f6e363c526f7e433d12e0c Merge: 8c0c3f7... e9da4d7... Author: Linus Torvalds Date: Sat May 2 16:36:34 2009 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (53 commits) [SCSI] libosd: OSD2r05: on-the-wire changes for latest OSD2 revision 5. [SCSI] libosd: OSD2r05: OSD_CRYPTO_KEYID_SIZE will grow 20 => 32 bytes [SCSI] libosd: OSD2r05: Prepare for rev5 attribute list changes [SCSI] libosd: fix potential ERR_PTR dereference in osd_initiator.c [SCSI] mpt2sas : bump driver version to 01.100.02.00 [SCSI] mpt2sas: fix hotplug event processing [SCSI] mpt2sas : release diagnotic buffers prior host reset [SCSI] mpt2sas : Broadcast Primative AEN bug fix [SCSI] mpt2sas : Identify Dell series-7 adapters at driver load time [SCSI] mpt2sas : driver name needs to be in the MPT2IOCINFO ioctl [SCSI] mpt2sas : running out of message frames [SCSI] mpt2sas : fix oops when firmware sends large sense buffer size [SCSI] mpt2sas : the sanity check in base_interrupt needs to be on dword boundary [SCSI] mpt2sas : unique ioctl magic number [SCSI] fix sign extension with 1.5TB usb-storage LBD=y [SCSI] ipr: Fix sleeping function called with interrupts disabled [SCSI] fcoe: fip: add multicast filter to receive FIP advertisements. [SCSI] libfc: Fix compilation warnings with allmodconfig [SCSI] fcoe: fix spelling typos and bad comments [SCSI] fcoe: don't export functions that are internal to fcoe ... commit 8c0c3f7ff0daa119f0bb109148f6f0e39573b429 Merge: f75e674... eacaad0... Author: Linus Torvalds Date: Sat May 2 16:35:45 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: document the multi-touch (MT) protocol Input: add detailed multi-touch finger data report protocol Input: allow certain EV_ABS events to bypass all filtering Input: bcm5974 - add documentation for the driver Input: bcm5974 - augment debug information Input: bcm5974 - Add support for the Macbook 5 (Unibody) Input: bcm5974 - add quad-finger tapping Input: bcm5974 - prepare for a new trackpad header type Input: appletouch - fix DMA to/from stack buffer Input: wacom - fix TabletPC touch bug Input: lifebook - add DMI entry for Fujitsu B-2130 Input: ALPS - add signature for Toshiba Satellite Pro M10 Input: elantech - make sure touchpad is really in absolute mode Input: elantech - provide a workaround for jumpy cursor on firmware 2.34 Input: ucb1400 - use disable_irq_nosync() in irq handler Input: tsc2007 - use disable_irq_nosync() in irq handler Input: sa1111ps2 - use disable_irq_nosync() in irq handlers Input: omap-keypad - use disable_irq_nosync() in irq handler commit f75e6745aa3084124ae1434fd7629853bdaf6798 Author: Trond Myklebust Date: Tue Apr 21 17:18:20 2009 -0400 SUNRPC: Fix the problem of EADDRNOTAVAIL syslog floods on reconnect See http://bugzilla.kernel.org/show_bug.cgi?id=13034 If the port gets into a TIME_WAIT state, then we cannot reconnect without binding to a new port. Tested-by: Petr Vandrovec Tested-by: Jean Delvare Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 414772fa496273d1a93cefa6dab790f5fdf9de82 Merge: 7e567b4... b614a69... Author: Linus Torvalds Date: Sat May 2 16:33:56 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-fixes: kbuild, modpost: Check the section flags, to catch missing "ax"/"aw" kbuild: fix comment in modpost.c kbuild: fix scripts/setlocalversion with git kbuild: fix Module.markers permission error under cygwin docs: also clean index.html kbuild: remove a tag file before it is regenerated kbuild: "make prepare" should be "make modules_prepare" kbuild: clean Module.markers and modules.order for out-of-tree modules avr32: drop unused CLEAN_FILES commit 7e567b44e6c59ad8bec321afb03302ffb1e6dda6 Merge: 020f932... 2191aeb... Author: Linus Torvalds Date: Sat May 2 16:30:47 2009 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2: Change repository in MAINTAINERS. ocfs2: Fix a missing credit when deleting from indexed directories. ocfs2/trivial: Remove unused variable in ocfs2_rename. ocfs2: Add missing iput() during error handling in ocfs2_dentry_attach_lock() ocfs2: Fix some printk() warnings. ocfs2: Fix 2 warning during ocfs2 make. ocfs2: Reserve 1 more cluster in expanding_inline_dir for indexed dir. commit 020f932bd246e9d595f7a006250762d98ffeab46 Merge: 912e779... e5288eb... Author: Linus Torvalds Date: Sat May 2 16:29:47 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: fix oops in hid_check_keys_pressed() HID: fix possible deadlock in usbhid_close() HID: Fix the support for apple mini aluminium keyboard HID: Add support for the G25 force feedback wheel in native mode HID: hidraw -- fix missing unlocks in unlocked_ioctl commit 912e7796b06fa9b1006835605e27c42e46801b8f Merge: 65fd210... 9cd6724... Author: Linus Torvalds Date: Sat May 2 16:28:58 2009 -0700 Merge branch 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev: m32r: use __stringify() macro in assembler.h m32r: build fix for __stringify macro commit 65fd21058a791f35aff11eeccd2e270f0faf11ec Author: Ashutosh Naik Date: Thu Apr 30 15:08:58 2009 -0700 ibft: fix the display of a few fields in the NIC attribute structure in sysfs Fix the display of a few fields in the iBFT NIC attribute structure in sysfs. Ensure that, if the DHCP IP address and the subnet mask for the interface is present in the iBFT NIC structure, the corresponding entries are created in sysfs tree for the device. This would hence create the additional entries in the tree based on the iBFT table and would not delete any existing entries. Signed-off-by: Ashutosh Naik Cc: Vishnu V Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e4a5bda89034502fb144331e71a0efdfd5fae97 Author: Andrea Righi Date: Thu Apr 30 15:08:57 2009 -0700 mm: prevent divide error for small values of vm_dirty_bytes Avoid setting less than two pages for vm_dirty_bytes: this is necessary to avoid potential division by 0 (like the following) in get_dirty_limits(). [ 49.951610] divide error: 0000 [#1] PREEMPT SMP [ 49.952195] last sysfs file: /sys/devices/pci0000:00/0000:00:01.1/host0/target0:0:0/0:0:0:0/block/sda/uevent [ 49.952195] CPU 1 [ 49.952195] Modules linked in: pcspkr [ 49.952195] Pid: 3064, comm: dd Not tainted 2.6.30-rc3 #1 [ 49.952195] RIP: 0010:[] [] get_dirty_limits+0xe9/0x2c0 [ 49.952195] RSP: 0018:ffff88001de03a98 EFLAGS: 00010202 [ 49.952195] RAX: 00000000000000c0 RBX: ffff88001de03b80 RCX: 28f5c28f5c28f5c3 [ 49.952195] RDX: 0000000000000000 RSI: 00000000000000c0 RDI: 0000000000000000 [ 49.952195] RBP: ffff88001de03ae8 R08: 0000000000000000 R09: 0000000000000000 [ 49.952195] R10: ffff88001ddda9a0 R11: 0000000000000001 R12: 0000000000000001 [ 49.952195] R13: ffff88001fbc8218 R14: ffff88001de03b70 R15: ffff88001de03b78 [ 49.952195] FS: 00007fe9a435b6f0(0000) GS:ffff8800025d9000(0000) knlGS:0000000000000000 [ 49.952195] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 49.952195] CR2: 00007fe9a39ab000 CR3: 000000001de38000 CR4: 00000000000006e0 [ 49.952195] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 49.952195] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 49.952195] Process dd (pid: 3064, threadinfo ffff88001de02000, task ffff88001ddda250) [ 49.952195] Stack: [ 49.952195] ffff88001fa0de00 ffff88001f2dbd70 ffff88001f9fe800 000080b900000000 [ 49.952195] 00000000000000c0 ffff8800027a6100 0000000000000400 ffff88001fbc8218 [ 49.952195] 0000000000000000 0000000000000600 ffff88001de03bb8 ffffffff802d3ed7 [ 49.952195] Call Trace: [ 49.952195] [] balance_dirty_pages_ratelimited_nr+0x1d7/0x3f0 [ 49.952195] [] ? ext3_writeback_write_end+0x9e/0x120 [ 49.952195] [] generic_file_buffered_write+0x12f/0x330 [ 49.952195] [] __generic_file_aio_write_nolock+0x26d/0x460 [ 49.952195] [] ? generic_file_aio_write+0x52/0xd0 [ 49.952195] [] generic_file_aio_write+0x69/0xd0 [ 49.952195] [] ext3_file_write+0x26/0xc0 [ 49.952195] [] do_sync_write+0xf1/0x140 [ 49.952195] [] ? get_lock_stats+0x2a/0x60 [ 49.952195] [] ? autoremove_wake_function+0x0/0x40 [ 49.952195] [] vfs_write+0xcb/0x190 [ 49.952195] [] sys_write+0x50/0x90 [ 49.952195] [] system_call_fastpath+0x16/0x1b [ 49.952195] Code: 00 00 00 2b 05 09 1c 17 01 48 89 c6 49 0f af f4 48 c1 ee 02 48 89 f0 48 f7 e1 48 89 d6 31 d2 48 c1 ee 02 48 0f af 75 d0 48 89 f0 <48> f7 f7 41 8b 95 ac 01 00 00 48 89 c7 49 0f af d4 48 c1 ea 02 [ 49.952195] RIP [] get_dirty_limits+0xe9/0x2c0 [ 49.952195] RSP [ 50.096523] ---[ end trace 008d7aa02f244d7b ]--- Signed-off-by: Andrea Righi Cc: Peter Zijlstra Cc: David Rientjes Cc: Dave Chinner Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8713e01295140f674a41f2199b0f7ca99dfb69d5 Author: Andrew Morton Date: Thu Apr 30 15:08:55 2009 -0700 vmscan: avoid multiplication overflow in shrink_zone() Local variable `scan' can overflow on zones which are larger than (2G * 4k) / 100 = 80GB. Making it 64-bit on 64-bit will fix that up. Cc: KOSAKI Motohiro Cc: Wu Fengguang Cc: Peter Zijlstra Cc: Rik van Riel Cc: Lee Schermerhorn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ae05fb254a5f2617fc8fcfff7be959b54a5e963 Author: Oleg Nesterov Date: Thu Apr 30 15:08:54 2009 -0700 ptrace: s/parent/real_parent/ in binfmt_elf_fdpic.c ->real_parent is the parent. ->parent may be the tracer. Signed-off-by: Oleg Nesterov Acked-by: David Howells Acked-by: Roland McGrath Cc: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52dc5aec9fe2eb591f1490278ae767448860118b Author: Randy Dunlap Date: Thu Apr 30 15:08:53 2009 -0700 kernel-doc: restrict syntax for private: and public: scripts/kernel-doc can (incorrectly) delete struct members that are surrounded by /* ... */ /* ... */ if there is a /* private: */ comment in there somewhere also. Fix that by making the "/* private:" only allow whitespace between /* and "private:", not anything/everything in the world. This fixes some erroneous kernel-doc warnings that popped up while processing include/linux/usb/composite.h. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00a62ce91e554198ef28234c91c36f850f5a3bc9 Author: KOSAKI Motohiro Date: Thu Apr 30 15:08:51 2009 -0700 mm: fix Committed_AS underflow on large NR_CPUS environment The Committed_AS field can underflow in certain situations: > # while true; do cat /proc/meminfo | grep _AS; sleep 1; done | uniq -c > 1 Committed_AS: 18446744073709323392 kB > 11 Committed_AS: 18446744073709455488 kB > 6 Committed_AS: 35136 kB > 5 Committed_AS: 18446744073709454400 kB > 7 Committed_AS: 35904 kB > 3 Committed_AS: 18446744073709453248 kB > 2 Committed_AS: 34752 kB > 9 Committed_AS: 18446744073709453248 kB > 8 Committed_AS: 34752 kB > 3 Committed_AS: 18446744073709320960 kB > 7 Committed_AS: 18446744073709454080 kB > 3 Committed_AS: 18446744073709320960 kB > 5 Committed_AS: 18446744073709454080 kB > 6 Committed_AS: 18446744073709320960 kB Because NR_CPUS can be greater than 1000 and meminfo_proc_show() does not check for underflow. But NR_CPUS proportional isn't good calculation. In general, possibility of lock contention is proportional to the number of online cpus, not theorical maximum cpus (NR_CPUS). The current kernel has generic percpu-counter stuff. using it is right way. it makes code simplify and percpu_counter_read_positive() don't make underflow issue. Reported-by: Dave Hansen Signed-off-by: KOSAKI Motohiro Cc: Eric B Munson Cc: Mel Gorman Cc: Christoph Lameter Cc: [All kernel versions] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0763ed2355198cdef2f6a2098e9d52eb1fe4365d Author: Grant Likely Date: Thu Apr 30 15:08:50 2009 -0700 of: make of_(un)register_platform_driver common code Some drivers using of_register_platform_driver() wrapper break on sparc because the wrapper isn't in the header file. This patch moves it from Microblaze and PowerPC implementations and makes it common code. Fixes this sparc64 allmodconfig build error (at least): drivers/leds/leds-gpio.c: In function `gpio_led_init': drivers/leds/leds-gpio.c:295: error: implicit declaration of function `of_register_platform_driver' drivers/leds/leds-gpio.c: In function `gpio_led_exit': drivers/leds/leds-gpio.c:311: error: implicit declaration of function `of_unregister_platform_driver' Signed-off-by: Grant Likely Acked-by: David S. Miller Cc: Michal Simek Cc: Benjamin Herrenschmidt Cc: Stephen Rothwell Cc: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74641f584da8eccf30becfbb5507ab457187db22 Author: Ivan Kokshaysky Date: Thu Apr 30 15:08:49 2009 -0700 alpha: binfmt_aout fix This fixes the problem introduced by commit 3bfacef412 (get rid of special-casing the /sbin/loader on alpha): osf/1 ecoff binary segfaults when binfmt_aout built as module. That happens because aout binary handler gets on the top of the binfmt list due to late registration, and kernel attempts to execute the binary without preparatory work that must be done by binfmt_loader. Fixed by changing the registration order of the default binfmt handlers using list_add_tail() and introducing insert_binfmt() function which places new handler on the top of the binfmt list. This might be generally useful for installing arch-specific frontends for default handlers or just for overriding them. Signed-off-by: Ivan Kokshaysky Cc: Al Viro Cc: Richard Henderson Signed-off-by: Linus Torvalds commit 77b4cf5cb0c9d6010a18030a0e0a8d2aaf6b43ec Author: Ivan Kokshaysky Date: Thu Apr 30 15:08:48 2009 -0700 alpha: futex implementation Signed-off-by: Ivan Kokshaysky Cc: Al Viro Cc: Richard Henderson Signed-off-by: Linus Torvalds commit 08a42e86bce511b45ca3eee40f51674b02a777d1 Author: Ivan Kokshaysky Date: Thu Apr 30 15:08:47 2009 -0700 alpha: exception table sorting Exception fixups for sections other than .text (like one in futex_init()) break the natural ordering of fixup entries, so sorting is required. Without that the result of the exception table search depends on phase of the moon. Signed-off-by: Ivan Kokshaysky Cc: Al Viro Cc: Richard Henderson Signed-off-by: Linus Torvalds commit 1ffb1c0c64b4a2b75eed1f63cc47f2beb711c92f Author: Ivan Kokshaysky Date: Thu Apr 30 15:08:45 2009 -0700 alpha: titan and marvel build fixes These platforms got broken after u64 => 'long long' conversion. Apparently that change was compile-tested with 'make allmodconfig', but it doesn't include systems that depend on !ALPHA_LEGACY_START_ADDRESS. Signed-off-by: Ivan Kokshaysky Cc: Al Viro Cc: Richard Henderson Signed-off-by: Linus Torvalds commit b175dc09285b36200a83b78baf167905181fb4e5 Author: Stefan Bader Date: Thu Apr 30 15:08:44 2009 -0700 vgacon: return the upper half of 512 character fonts Uwe Geuder noted that he gets random bitmaps on a text console if he tried to type extended characters (like the e acute). For him everything above unicode 0xa0 was corrupted. After some digging there seems to be a little culprit in vgacon since the beginning of ages (well git). The function vgacon_font_get will store the number of characters correctly in font->charcount but then calls to vgacon_do_font_op(..., 0, 0). Which means only the lower 256 characters are actually stored to the fontdata. The rest is left untouched. So the next time that saved data is used, the garbled font appears. This happens on every switch between text consoles. Addresses https://bugs.launchpad.net/ubuntu/+source/linux/+bug/355057 Signed-off-by: Stefan Bader Tested-by: Uwe Geuder Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae3abae64f177586be55b04a7fb7047a34b21a3e Author: Daisuke Nishimura Date: Thu Apr 30 15:08:19 2009 -0700 memcg: fix mem_cgroup_shrink_usage() Current mem_cgroup_shrink_usage() has two problems. 1. It doesn't call mem_cgroup_out_of_memory and doesn't update last_oom_jiffies, so pagefault_out_of_memory invokes global OOM. 2. Considering hierarchy, shrinking has to be done from the mem_over_limit, not from the memcg which the page would be charged to. mem_cgroup_try_charge_swapin() does all of these things properly, so we use it and call cancel_charge_swapin when it succeeded. The name of "shrink_usage" is not appropriate for this behavior, so we change it too. Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Dhaval Giani Cc: Daisuke Nishimura Cc: YAMAMOTO Takashi Cc: KOSAKI Motohiro Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0816178638c15ce5472d39d771a96860dff4141a Author: Vitaly Mayatskikh Date: Thu Apr 30 15:08:18 2009 -0700 pagemap: require aligned-length, non-null reads of /proc/pid/pagemap The intention of commit aae8679b0ebcaa92f99c1c3cb0cd651594a43915 ("pagemap: fix bug in add_to_pagemap, require aligned-length reads of /proc/pid/pagemap") was to force reads of /proc/pid/pagemap to be a multiple of 8 bytes, but now it allows to read 0 bytes, which actually puts some data to user's buffer. According to POSIX, if count is zero, read() should return zero and has no other results. Signed-off-by: Vitaly Mayatskikh Cc: Thomas Tuttle Acked-by: Matt Mackall Cc: Alexey Dobriyan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b827e496c893de0c0f142abfaeb8730a2fd6b37f Author: Nick Piggin Date: Thu Apr 30 15:08:16 2009 -0700 mm: close page_mkwrite races Change page_mkwrite to allow implementations to return with the page locked, and also change it's callers (in page fault paths) to hold the lock until the page is marked dirty. This allows the filesystem to have full control of page dirtying events coming from the VM. Rather than simply hold the page locked over the page_mkwrite call, we call page_mkwrite with the page unlocked and allow callers to return with it locked, so filesystems can avoid LOR conditions with page lock. The problem with the current scheme is this: a filesystem that wants to associate some metadata with a page as long as the page is dirty, will perform this manipulation in its ->page_mkwrite. It currently then must return with the page unlocked and may not hold any other locks (according to existing page_mkwrite convention). In this window, the VM could write out the page, clearing page-dirty. The filesystem has no good way to detect that a dirty pte is about to be attached, so it will happily write out the page, at which point, the filesystem may manipulate the metadata to reflect that the page is no longer dirty. It is not always possible to perform the required metadata manipulation in ->set_page_dirty, because that function cannot block or fail. The filesystem may need to allocate some data structure, for example. And the VM cannot mark the pte dirty before page_mkwrite, because page_mkwrite is allowed to fail, so we must not allow any window where the page could be written to if page_mkwrite does fail. This solution of holding the page locked over the 3 critical operations (page_mkwrite, setting the pte dirty, and finally setting the page dirty) closes out races nicely, preventing page cleaning for writeout being initiated in that window. This provides the filesystem with a strong synchronisation against the VM here. - Sage needs this race closed for ceph filesystem. - Trond for NFS (http://bugzilla.kernel.org/show_bug.cgi?id=12913). - I need it for fsblock. - I suspect other filesystems may need it too (eg. btrfs). - I have converted buffer.c to the new locking. Even simple block allocation under dirty pages might be susceptible to i_size changing under partial page at the end of file (we also have a buffer.c-side problem here, but it cannot be fixed properly without this patch). - Other filesystems (eg. NFS, maybe btrfs) will need to change their page_mkwrite functions themselves. [ This also moves page_mkwrite another step closer to fault, which should eventually allow page_mkwrite to be moved into ->fault, and thus avoiding a filesystem calldown and page lock/unlock cycle in __do_fault. ] [akpm@linux-foundation.org: fix derefs of NULL ->mapping] Cc: Sage Weil Cc: Trond Myklebust Signed-off-by: Nick Piggin Cc: Valdis Kletnieks Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5fc1abe438b87a9d128beebc377f78e2681a76d Author: Heiko Carstens Date: Thu Apr 30 15:08:14 2009 -0700 atomic: fix atomic_long_cmpxchg/xchg for 64 bit architectures On a linux-next allyesconfig build: kernel/trace/ring_buffer.c:1726: warning: passing argument 1 of 'atomic_cmpxchg' from incompatible pointer type linux-next/arch/s390/include/asm/atomic.h:112: note: expected 'struct atomic_t *' but argument is of type 'struct atomic64_t *' atomic_long_cmpxchg and atomic_long_xchg are incorrectly defined for 64 bit architectures. They should be mapped to the atomic64_* variants. Acked-by: Mathieu Desnoyers Signed-off-by: Heiko Carstens Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e040a3e915d0a3da6caa665da7a458973e8f33e Author: Jesper Nilsson Date: Thu Apr 30 15:08:13 2009 -0700 CRISv10: fix serial driver proc-usage drivers/serial/crisv10.c:4428: error: unknown field 'read_proc' specified in initializer Commit 0f043a81ebe84be3576667f04fdda481609e3816 ("proc tty: remove struct tty_operations::read_proc") removes the read_proc entry from struct tty_operations. Rework the proc handling in the CRISv10 serial driver to use proc_fops instead. Signed-off-by: Jesper Nilsson Cc: Alexey Dobriyan Cc: Alan Cox Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf94a4d116fa7a1b81868d4b5410a41efe831a49 Author: Christoph Hellwig Date: Thu Apr 30 15:08:12 2009 -0700 MAINTAINERS: add ptrace entry Add Roland and Oleg as formal ptrace maintainers, they've been doing the job for a while. Includes the file patterns requested by Joe. Signed-off-by: Christoph Hellwig Acked-by: Roland McGrath Cc: Oleg Nesterov Cc: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0bd3f63ce01a1757dbce6373122a05fbf99ced7 Author: Daisuke Nishimura Date: Thu Apr 30 15:08:11 2009 -0700 memcg: fix try_get_mem_cgroup_from_swapcache() This is a bugfix for commit 3c776e64660028236313f0e54f3a9945764422df ("memcg: charge swapcache to proper memcg"). Used bit of swapcache is solid under page lock, but considering move_account, pc->mem_cgroup is not. We need lock_page_cgroup() anyway. Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e50cc9022d6c0b9175d804573e3f401d00d1381 Author: Florian Fainelli Date: Thu Apr 30 15:08:10 2009 -0700 MAINTAINERS: Florian has moved I will finish school soon, so replace my student address with this one. Signed-off-by: Florian Fainelli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8985f3ac503b51c5abf8883fc4fb912e13b955c Author: Ian Kent Date: Thu Apr 30 15:08:09 2009 -0700 autofs4: fix incorrect return in autofs4_mount_busy() Fix an obvious incorrect return status in autofs4_mount_busy(). Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc43f75cd9815833b27831600ccade672edb5e43 Author: Johannes Weiner Date: Thu Apr 30 15:08:08 2009 -0700 mm: fix pageref leak in do_swap_page() By the time the memory cgroup code is notified about a swapin we already hold a reference on the fault page. If the cgroup callback fails make sure to unlock AND release the page reference which was taken by lookup_swap_cach(), or we leak the reference. Signed-off-by: Johannes Weiner Cc: Balbir Singh Reviewed-by: Minchan Kim Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 379b026ecc20c4657d37e40ead789f7f28f1a1c1 Author: Lubomir Rintel Date: Sat May 2 13:52:13 2009 -0700 ne2k-pci: Do not register device until initialized. Doing it in reverse order causes uevent to be sent before we have a MAC address, which confuses udev. Signed-off-by: Lubomir Rintel Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 902e5ea15f8471a3213a37b11b98196f3406aeaf Author: Rabin Vincent Date: Sat May 2 13:49:36 2009 -0700 Subject: [PATCH] br2684: restore net_dev initialization Commit 0ba25ff4c669e5395110ba6ab4958a97a9f96922 ("br2684: convert to net_device_ops") inadvertently deleted the initialization of the net_dev pointer in the br2684_dev structure, leading to crashes. This patch adds it back. Reported-by: Mikko Vinni Tested-by: Mikko Vinni Signed-off-by: Rabin Vincent Signed-off-by: David S. Miller commit d0ab8ff81bf1b01bae7d6b92ca067badbbb02cc9 Author: Robert Love Date: Sat May 2 13:48:32 2009 -0700 net: Only store high 16 bits of kernel generated filter priorities The kernel should only be using the high 16 bits of a kernel generated priority. Filter priorities in all other cases only use the upper 16 bits of the u32 'prio' field of 'struct tcf_proto', but when the kernel generates the priority of a filter is saves all 32 bits which can result in incorrect lookup failures when a filter needs to be deleted or modified. Signed-off-by: Robert Love Signed-off-by: David S. Miller commit 53951bd57dfe2da58f86cdf276719082d80d8485 Author: Robert Moore Date: Sat May 2 11:48:37 2009 -0700 acpica: validate package element more carefully in acpi_rs_get_pci_routing_table_length acpi_rs_get_pci_routing_table_length is not performing sufficient validation on the package returned from _PRT. It assumes a package of packages and fails/faults if this is not the case. We should validate each subpackage when extracted from the parent package, and not accept objects of the wrong type, since that will just cause the scanning to fail (likely with a kernel oops). This can only happen with a serious BIOS bug, and is accompanied by a warning something like this: ACPI Warning (nspredef-0949): \_SB_.PCI0.PEG4._PRT: Return Package type mismatch at index 0 - found Integer, expected Package [20090320] Signed-off-by: Linus Torvalds commit 9cd67243de582c206758adff152c5fcc1b2aa069 Author: Hirokazu Takata Date: Sat May 2 22:08:33 2009 +0900 m32r: use __stringify() macro in assembler.h Replace #x with __stringify(x). Also, #ifndef __STR is removed and undefine __STR macro at the beginning. The __STR() macro is still remained, because the assembler.h might be included from assembly codes as well as C codes. Signed-off-by: Hirokazu Takata commit 9c88b06dc7589fb0bccd617c4659066fb803cfda Author: Hirokazu Takata Date: Sat May 2 20:29:00 2009 +0900 m32r: build fix for __stringify macro This patch fixes the following build error of 2.6.30-rc3-git2: AS arch/m32r/kernel/head.o In file included from /include/linux/init.h:7, from /arch/m32r/kernel/head.S:11: /include/linux/stringify.h:9: error: syntax error in macro parameter list /include/linux/stringify.h:10: error: syntax error in macro parameter list This build error was caused at __HEAD macro in arch/m32r/kernel/head.S, which uses __stringify() macro. Remove -traditional option from EXTRA_AFLAGS for the m32r, because the __stringify() macro depends on the gcc's variadic macro extension function, due to commit: Make __stringify support variable argument macros too commit: 8f7c2c37319a81ef4c2bfdec67b1ccd5744d97e4 Signed-off-by: Hirokazu Takata commit 74a03b69d1b5ce00a568e142ca97e76b7f5239c6 Author: john stultz Date: Fri May 1 13:10:25 2009 -0700 clockevents: prevent endless loop in tick_handle_periodic() tick_handle_periodic() can lock up hard when a one shot clock event device is used in combination with jiffies clocksource. Avoid an endless loop issue by requiring that a highres valid clocksource be installed before we call tick_periodic() in a loop when using ONESHOT mode. The result is we will only increment jiffies once per interrupt until a continuous hardware clocksource is available. Without this, we can run into a endless loop, where each cycle through the loop, jiffies is updated which increments time by tick_period or more (due to clock steering), which can cause the event programming to think the next event was before the newly incremented time and fail causing tick_periodic() to be called again and the whole process loops forever. [ Impact: prevent hard lock up ] Signed-off-by: John Stultz Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit 1824a9897473fda5e5e42f991ddc674c175e3a09 Author: Alex Williamson Date: Fri May 1 17:31:10 2009 +0000 virtio_net: Fix function name typo Signed-off-by: Alex Williamson Signed-off-by: David S. Miller commit 23e258e1a871c0c0cd91c294f7e66ccac74ef243 Author: Alex Williamson Date: Fri May 1 17:27:56 2009 +0000 virtio_net: Cleanup command queue scatterlist usage We were avoiding calling sg_init* on scatterlists passed into virtnet_send_command to prevent extraneous end markers. This caused build warnings for uninitialized variables. Cleanup the code to create proper scatterlists. Signed-off-by: Alex Williamson Signed-off-by: David S. Miller commit 1363d9b135270662852ed2e6629fb79a36de5400 Author: Jiri Pirko Date: Fri May 1 15:35:28 2009 -0700 bonding: correct the cleanup in bond_create() This patch makes the cleanup in bond_create nicer :) Also now the forgotten free_netdev is called. Signed-off-by: Jiri Pirko Signed-off-by: David S. Miller commit c047fcd245975f40312ed57bf43e7d4abd188e6b Author: Grant Likely Date: Fri May 1 15:34:02 2009 -0700 virtio: add missing include to virtio_net.h virtio_net.h uses the macro ETH_ALEN which is defined in linux/if_ether.h. Discovered when hacking on virtio-over-pci patches. Signed-off-by: Grant Likely Signed-off-by: David S. Miller commit 726474b8cd0f0f49c570b1dbbab44be898797550 Author: Steve Glendinning Date: Fri May 1 06:07:22 2009 +0000 smsc95xx: add support for LAN9512 and LAN9514 LAN9512 and LAN9514 are USB hubs with an integrated 10/100 ethernet controller. Logically this looks like an ethernet controller (similar to LAN9500) permanently attached to one of the hub's downstream ports. This patch adds the usb device id of the new ethernet controller to the smsc95xx driver. This id is the same in both new devices. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit f293501c61c50b014ad2347661c6acd951c80fed Author: Steve Glendinning Date: Fri May 1 05:46:51 2009 +0000 smsc95xx: configure LED outputs SMSC LAN9500 has dual purpose GPIO/LED pins, and by default at power-on these are configured as GPIOs. This means that if LEDs are fitted they won't ever light. This patch sets them to be LED outputs for speed, duplex and link/activity. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 2382b15bcc39228572ccf1d9a1185dcabb84c833 Author: Bruno Prémont Date: Wed Apr 29 20:45:17 2009 +0000 netconsole: take care of NETDEV_UNREGISTER event When netconsole is loaded and a network interface fades away (e.g. on rmmod $interface_driver_module) the rmmod remains stuck and some locks are taken that prevent any additional module loading/unloading as well as interface up/down changes. In addition kernel logs (and console) get flooded at 10s interval with [ 122.464065] unregister_netdevice: waiting for eth0 to become free. Usage count = 1 [ 132.704059] unregister_netdevice: waiting for eth0 to become free. Usage count = 1 This patch lets netconsole take NETDEV_UNREGISTER event into account and release the affected interface if it was in use. Signed-off-by: Bruno Prémont Acked-by: Matt Mackall Signed-off-by: David S. Miller commit acda074390270ca9e28f2a9729f7b835e2ad6da4 Author: Laszlo Attila Toth Date: Fri May 1 15:23:10 2009 -0700 xt_socket: checks for the state of nf_conntrack xt_socket can use connection tracking, and checks whether it is a module. Signed-off-by: Laszlo Attila Toth Signed-off-by: David S. Miller commit 689c96cca7ec3d2ba7fba00481810f99f1803c63 Author: Eric Dumazet Date: Thu Apr 23 03:39:04 2009 +0000 bonding: bond_slave_info_query() fix bond_slave_info_query() should keep a read lock while accessing slave info, or risk accessing stale data and corruption. Signed-off-by: Eric Dumazet Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit e5288eb5ea89bd82d897cb687348bc608278f920 Author: Jiri Kosina Date: Sat May 2 00:02:57 2009 +0200 HID: fix oops in hid_check_keys_pressed() If the device is not claimed by hid-input (i.e devices driver by userspace hiddev/hidraw-based drivers, or completely detached from HID and driver by libusb), we must not check the hid->inptus, as it is not guaranteed to be initialized, as this is performed only for devices handled by hid-input. Reported-by: Guillaume Chazarain Tested-by: Guillaume Chazarain Signed-off-by: Jiri Kosina commit f9a196b8dceba3c1e5fe885b81e45043ad7c60fc Author: Thomas Gleixner Date: Fri May 1 20:59:25 2009 +0200 x86: initialize io_bitmap_base on 32bit commit db949bba3c7cf2e664ac12e237c6d4c914f0c69d (x86-32: use non-lazy io bitmap context switching) broke ioperm for 32bit because it removed the lazy initialization of io_bitmap_base and did not set it to the real bitmap offset. [ Impact: fix non-working sys_ioperm() on 32-bit kernels ] Signed-off-by: Thomas Gleixner commit 00b64f2aa5e8741b49e48ebad1116cc78dbbf0fd Author: Sergey Senozhatsky Date: Fri May 1 09:15:09 2009 -0700 cxgb3: fixing gcc 4.4 compiler warning: suggest parentheses around operand of ‘!’ Trivial: fixing gcc 4.4 compiler warning: drivers/net/cxgb3/t3_hw.c: In function ‘t3_prep_adapter’: drivers/net/cxgb3/t3_hw.c:3782: warning: suggest parentheses around operand of ‘!’ or change ‘|’ to ‘||’ or ‘!’ to ‘~’ Signed-off-by: Sergey Senozhatsky Signed-off-by: David S. Miller commit 0f3d042ed2f934f149ccb78300454beaf0c1134b Author: Eric Dumazet Date: Fri May 1 09:10:46 2009 -0700 netfilter: use likely() in xt_info_rdlock_bh() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ec581f6a42bbbea5271c66da9769a41b46c74e10 Author: Eric Dumazet Date: Fri May 1 09:05:06 2009 -0700 net: Fix skb_tx_hash() for forwarding workloads. When skb_rx_queue_recorded() is true, we dont want to use jash distribution as the device driver exactly told us which queue was selected at RX time. jhash makes a statistical shuffle, but this wont work with 8 static inputs. Later improvements would be to compute reciprocal value of real_num_tx_queues to avoid a divide here. But this computation should be done once, when real_num_tx_queues is set. This needs a separate patch, and a new field in struct net_device. Reported-by: Andrew Dickinson Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d7226fb6ec5d4f325e4e7fd905894e2ea3eb3ae0 Author: Thomas Gleixner Date: Fri May 1 15:16:04 2009 +0200 Revert "genirq: assert that irq handlers are indeed running in hardirq context" This reverts commit 044d408409cc4e1bc75c886e27ca85c270db104c. The commit added a warning when handle_IRQ_event() is called outside of hard interrupt context. This breaks the generic tasklet based interrupt resend mechanism which is used when the hardware has no way to retrigger the interrupt. So we get a warning for a use case which is correct and worked for years. Remove it. Signed-off-by: Thomas Gleixner commit dc8fc7edef5fe799a1c38c916d2c64b1d0fcf81a Author: Ben Dooks Date: Tue Apr 28 10:06:00 2009 +0100 [ARM] S3C2412: Add missing cache flush in suspend code The alterations to the suspend code missed adding a call to the cache flushing routines during the suspend path of the S3C2412. Signed-off-by: Ben Dooks commit 090f848da000083bf6c1a052222396970e53b4d7 Author: Ben Dooks Date: Fri Dec 12 00:24:21 2008 +0000 [ARM] S3C: Add UDIVSLOT support for newer UARTS Add support for the UDIVSLOT register on the newer UART blocks which gives the capability of 1/16ths adjustment to the baud rate. Signed-off-by: Ben Dooks commit 5ef316fbe7fd03802b8625833884587927161c14 Author: Ben Dooks Date: Tue Feb 3 23:48:54 2009 +0000 [ARM] S3C64XX: Add S3C64XX_PA_IIS{0,1} to Add the physical address of the two I2S channel register blocks. Signed-off-by: Ben Dooks commit b614a697dc17dff82f140d72d21a095f810fa7fb Author: Anders Kaseorg Date: Thu Apr 23 16:49:33 2009 -0400 kbuild, modpost: Check the section flags, to catch missing "ax"/"aw" When you put .section ".foo" in an assembly file instead of .section "foo", "ax" , one of the possible symptoms is that modpost will see an ld-generated section name ".foo.1" in section_rel() or section_rela(). But this heuristic has two problems: it will miss a bad section that has no relocations, and it will incorrectly flag many gcc-generated sections as bad when compiling with -ffunction-sections -fdata-sections. On mips it fixes a lot of bogus warnings with gcc 4.4.0 lije this one: WARNING: crypto/cryptd.o (.text.T.349): unexpected section name. So instead of checking whether the section name matches a particular pattern, we directly check for a missing SHF_ALLOC in the section flags. Signed-off-by: Anders Kaseorg Tested-by: Ralf Baechle Signed-off-by: Sam Ravnborg commit c993971f4a7dc7ae43963aecb958395353c109ae Author: Sam Ravnborg Date: Sun Apr 26 11:17:42 2009 +0200 kbuild: fix comment in modpost.c There is some confusion on naming of the head section. Correct naming is .head.text. Fix comment so we use correct naming. Signed-off-by: Sam Ravnborg commit a182ad3d0f858f50bb719a48bb35a013e12366c5 Author: Nico Schottelius Date: Sat Apr 25 09:48:39 2009 +0200 kbuild: fix scripts/setlocalversion with git When using trees like wireless-testing, which have untagged tags, scripts/setlocalversion does not display any git indication for localversion. This patch fixes it: If git is available, but no usable tag is found, it uses -g${head}. It skips the detection of unanottated tags via git name-rev. Signed-off-by: Nico Schottelius Signed-off-by: Sam Ravnborg commit 99e3a1eb3c22bb671c6f3d22d8244bfc9fad8185 Author: Cedric Hombourger Date: Sat Apr 25 09:38:21 2009 +0200 kbuild: fix Module.markers permission error under cygwin While building the kernel, we end-up calling modpost with -K and -M options for the same file (Modules.markers). This is resulting in modpost's main function calling read_markers() and then write_markers() on the same file. We then have read_markers() mmap'ing the file, and writer_markers() opening that same file for writing. The issue is that read_markers() exits without munmap'ing the file and is as a matter holding a reference on Modules.markers. When write_markers() is opening that very same file for writing, we still have a reference on it and cygwin (Windows?) is then making fopen() fail with EPERM. Calling release_file() before exiting read_markers() clears that reference (and memory leak) and fopen() then succeeds. Tested on both cygwin (1.3.22) and Linux. Also ran modpost within valgrind on Linux to make sure that the munmap'ed file was not accessed after read_markers() Signed-off-by: Cedric Hombourger Cc: Signed-off-by: Andrew Morton Signed-off-by: Sam Ravnborg commit 64e3da109404eed27f825ee3eb1fe465ded47979 Author: Randy Dunlap Date: Fri Apr 17 18:28:55 2009 -0700 docs: also clean index.html Missed index.html in "make cleandocs", so add it. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 2e6cb8b0dc602ba4aa23d1ec7e3524a7268f59d9 Author: Matt Kraai Date: Tue Apr 21 20:38:23 2009 -0700 kbuild: remove a tag file before it is regenerated If a tag file is not removed before it is regenerated, the newly generated data is appended to the old, which preserves stale data and makes the tag file grow over time. Signed-off-by: Matt Kraai Signed-off-by: Sam Ravnborg commit c4d5ee67ce26503d7eaf2aca5bb13c58e89d1be8 Author: Robert P. J. Day Date: Fri Apr 24 12:35:23 2009 -0400 kbuild: "make prepare" should be "make modules_prepare" Correct the Makefile help text to read "make modules_prepare". Signed-off-by: Robert P. J. Day Signed-off-by: Sam Ravnborg commit 0c56042adc02fa460a2d6bc507a1e3f9bde326fc Author: Frédéric Brière Date: Sun Apr 19 12:58:40 2009 -0400 kbuild: clean Module.markers and modules.order for out-of-tree modules Signed-off-by: Frédéric Brière Signed-off-by: Sam Ravnborg commit c520f72172814c202ee47c51a63a1b1dde7f22f2 Author: Sam Ravnborg Date: Mon Apr 20 20:02:16 2009 +0200 avr32: drop unused CLEAN_FILES Left over from before we used arch/avr32/include Signed-off-by: Sam Ravnborg Cc: Jesper Nilsson commit 0203d6ec4e88062f20558fbed3cdff2af758a53b Author: Benjamin Herrenschmidt Date: Wed Apr 29 19:39:38 2009 +0000 powerpc: Fix setting of oprofile cpu type commit 2657dd4e301d4841ed67a4fac7d145ad8f3e1b28 introduced a bug where we would now always override the "real" oprofile CPU type with the "compatible" one provided by a pseudo-PVR in the device-tree which is incorrect and breaks oprofile on all current configs since the "compatible" ones aren't yet recognized. This fixes it. Signed-off-by: Benjamin Herrenschmidt commit 9d37a90f9c5271440c8f62b4adc71a726b4b86b6 Author: Grant Likely Date: Tue Apr 28 06:50:15 2009 +0000 powerpc: Update MPC5xxx and Xilinx Virtex maintainer entries - Add git tree URLs - Drop Sylvain from the 5xxx maintainers list. He hasn't been active for a while now. Signed-off-by: Grant Likely Signed-off-by: Benjamin Herrenschmidt commit 79af6c49a93ea80952fd42dc180c8827cd8c984c Author: Michael Wolf Date: Mon Apr 27 06:17:54 2009 +0000 powerpc adjust oprofile_cpu_type version 3 Oprofile is changing the naming it is using for the compatibility modes. Instead of having compat-power, oprofile will go to family naming convention and use ibm-compat-v. Currently only ibm-compat-v1 will be defined. The notion of compatibility events just started with POWER6. So there is no way that any other tool could exist that is using these oprofile_cpu_type strings we want to change. Signed-off-by: Mike Wolf Signed-off-by: Benjamin Herrenschmidt commit 2191aebaf9af9125bfee32808babe6f61446c8a6 Author: Joel Becker Date: Fri Apr 17 15:58:50 2009 -0700 ocfs2: Change repository in MAINTAINERS. The ocfs2.git repository is moving to my kernel.org account. Signed-off-by: Joel Becker Acked-by: Mark Fasheh commit dfa13f39b798fee68250abe1aed851395c8b51b5 Author: Joel Becker Date: Wed Apr 29 17:55:08 2009 -0700 ocfs2: Fix a missing credit when deleting from indexed directories. The ocfs2 directory index updates two blocks when we remove an entry - the dx root and the dx leaf. OCFS2_DELETE_INODE_CREDITS was only accounting for the dx leaf. This shows up when ocfs2_delete_inode() runs out of credits in jbd2_journal_dirty_metadata() at "J_ASSERT_JH(jh, handle->h_buffer_credits > 0);". The test that caught this was running dirop_file_racer from the ocfs2-test suite with a 250-character filename PREFIX. Run on a 512B blocksize, it forces the orphan dir index to grow large enough to trigger. Signed-off-by: Joel Becker commit 0516e4643cd22fc9f535aef02ad1de66c382c93b Author: Catalin Marinas Date: Thu Apr 30 17:06:20 2009 +0100 [ARM] 5489/1: ARM errata: Data written to the L2 cache can be overwritten with stale data This patch is a workaround for the 460075 Cortex-A8 (r2p0) erratum. It configures the L2 cache auxiliary control register so that the Write Allocate mode for the L2 cache is disabled. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 855c551f5b8cc3815d58e1056c1f1e7c461e2d24 Author: Catalin Marinas Date: Thu Apr 30 17:06:15 2009 +0100 [ARM] 5490/1: ARM errata: Processor deadlock when a false hazard is created This patch adds a workaround for the 458693 Cortex-A8 (r2p0) erratum. It sets the corresponding bits in the auxiliary control register so that the PLD instruction becomes a NOP. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 7ce236fcd6fd45b0441a2d49acb2ceb2de2e8a47 Author: Catalin Marinas Date: Thu Apr 30 17:06:09 2009 +0100 [ARM] 5487/1: ARM errata: Stale prediction on replaced interworking branch This patch adds the workaround for the 430973 Cortex-A8 (r1p0..r1p2) erratum. The BTAC/BTB is now flushed at every context switch. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 9cba3ccc8fe77b67aff2db8f5827d7cb752ce11f Author: Catalin Marinas Date: Thu Apr 30 17:06:03 2009 +0100 [ARM] 5488/1: ARM errata: Invalidation of the Instruction Cache operation can fail This patch implements the recommended workaround for erratum 411920 (ARM1136, ARM1156, ARM1176). Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit eacaad01b4e67336b5b3f4db6dc15ef92c64b47d Author: Henrik Rydberg Date: Tue Apr 28 07:49:21 2009 -0700 Input: document the multi-touch (MT) protocol This patchs adds documentation for the multi-touch protocol to Documentation/input/. [randy.dunlap@oracle.com: grammar fixes] Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 96c16743973e8c1a7b9c655d10b7973408d6d1dd Author: Borislav Petkov Date: Thu Apr 30 18:24:34 2009 +0200 ide-cd: fix REQ_QUIET tests in cdrom_decode_status Original patch (dfa4411cc3a690011cab90e9a536938795366cf9) was buggy. This is a more proper fix which introduces blk_rq_quiet() macro alleviating the need for dumb, too short caching variables. Thanks to Helge Deller and Bart for debugging this. Signed-off-by: Borislav Petkov Cc: Jens Axboe Cc: Sergei Shtylyov Reported-and-tested-by: Helge Deller Signed-off-by: Bartlomiej Zolnierkiewicz commit 7a67e56fd362d3edfde1f19170893508c3940d3a Author: Jarek Poplawski Date: Thu Apr 30 05:41:19 2009 -0700 net: Fix oops when splicing skbs from a frag_list. Lennert Buytenhek wrote: > Since 4fb669948116d928ae44262ab7743732c574630d ("net: Optimize memory > usage when splicing from sockets.") I'm seeing this oops (e.g. in > 2.6.30-rc3) when splicing from a TCP socket to /dev/null on a driver > (mv643xx_eth) that uses LRO in the skb mode (lro_receive_skb) rather > than the frag mode: My patch incorrectly assumed skb->sk was always valid, but for "frag_listed" skbs we can only use skb->sk of their parent. Reported-by: Lennert Buytenhek Debugged-by: Lennert Buytenhek Tested-by: Lennert Buytenhek Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 2f65dd475c6a8a997145ea83cc3d2d5e6dc55af1 Author: John Wright Date: Wed Apr 29 14:32:01 2009 -0600 x86: gettimeofday() vDSO: fix segfault when tv == NULL According to the gettimeofday(2) manual: If either tv or tz is NULL, the corresponding structure is not set or returned. Since it is legal to give NULL as the tv argument, the code should make sure tv is not NULL before trying to dereference it. This issue manifests itself on x86_64 when vdso=0 is not on the kernel command-line and libc uses the vDSO for gettimeofday() (e.g. glibc >= 2.7). A simple reproducer: #include #include int main(void) { struct timezone tz; gettimeofday(NULL, &tz); return 0; } See http://bugs.debian.org/466491 for more details. [ Impact: fix gettimeofday(NULL, &tz) segfault ] Signed-off-by: John Wright Cc: Andi Kleen Cc: John Wright LKML-Reference: <1241037121-14805-1-git-send-email-john.wright@hp.com> Signed-off-by: Ingo Molnar commit 6e85c5ba73c07b990798087e9b858c065db2b234 Author: H Hartley Sweeten Date: Wed Apr 29 19:14:32 2009 -0400 kernel/posix-cpu-timers.c: fix sparse warning Sparse reports the following in kernel/posix-cpu-timers.c: warning: symbol 'firing' shadows an earlier one Signed-off-by: H Hartley Sweeten Cc: Subrata Modak LKML-Reference: Signed-off-by: Ingo Molnar commit 28e211700a81b0a934b6c7a4b8e7dda843634d2f Author: Christoph Hellwig Date: Tue Feb 24 08:39:02 2009 -0500 xfs: fix getbmap vs mmap deadlock xfs_getbmap (or rather the formatters called by it) copy out the getbmap structures under the ilock, which can deadlock against mmap. This has been reported via bugzilla a while ago (#717) and has recently also shown up via lockdep. So allocate a temporary buffer to format the kernel getbmap structures into and then copy them out after dropping the locks. A little problem with this is that we limit the number of extents we can copy out by the maximum allocation size, but I see no real way around that. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 5f79ed685fc6122018c4b5826e2e5bdb7bc6f109 Author: Christoph Hellwig Date: Wed Apr 29 10:50:48 2009 -0400 xfs: a couple getbmap cleanups - reshuffle various conditionals for data vs attr fork to make the code more readable - do fine-grainded goto-based error handling - exit early from conditionals instead of keeping a long else branch around - allow kmem_alloc to fail Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit b9ec9068d79e039507a247ebc5bc9c0ce53654ce Author: Olaf Weber Date: Fri Apr 17 16:12:45 2009 -0500 xfs: add more checks to superblock validation There had been reports where xfs filesystem was randomly corrupted with fsfuzzer, and xfs failed to handle it gracefully. This patch fixes couple of reported problem by providing additional checks in the superblock validation routine. Signed-off-by: Olaf Weber Reviewed-by: Josef 'Jeff' Sipek Reviewed-by: Christoph Hellwig Signed-off-by: Felix Blyakher commit def6b3ba56b637d58126ef67fc19bab57945fcc4 Author: Lachlan McIlroy Date: Thu Apr 23 22:18:00 2009 -0400 xfs_file_last_byte() needs to acquire ilock We had some systems crash with this stack: [] ia64_leave_kernel+0x0/0x280 [] xfs_bmbt_get_startoff+0x0/0x20 [xfs] [] xfs_bmap_last_offset+0x210/0x280 [xfs] [] xfs_file_last_byte+0x70/0x1a0 [xfs] [] xfs_itruncate_start+0xc0/0x1a0 [xfs] [] xfs_inactive_free_eofblocks+0x290/0x460 [xfs] [] xfs_release+0x1b0/0x240 [xfs] [] xfs_file_release+0x70/0xa0 [xfs] [] __fput+0x1a0/0x420 [] fput+0x40/0x60 The problem here is that xfs_file_last_byte() does not acquire the inode lock and can therefore race with another thread that is modifying the extext list. While xfs_bmap_last_offset() is trying to lookup what was the last extent some extents were merged and the extent list shrunk so the index we lookup is now beyond the end of the extent list and potentially in a freed buffer. Signed-off-by: Lachlan McIlroy Reviewed-by: Christoph Hellwig Reviewed-by: Felix Blyakher Signed-off-by: Felix Blyakher commit 93af7aca44f0e82e67bda10a0fb73d383edcc8bd Author: Lennert Buytenhek Date: Wed Apr 29 11:58:18 2009 +0000 mv643xx_eth: 64bit mib counter read fix On several mv643xx_eth hardware versions, the two 64bit mib counters for 'good octets received' and 'good octets sent' are actually 32bit counters, and reading from the upper half of the register has the same effect as reading from the lower half of the register: an atomic read-and-clear of the entire 32bit counter value. This can under heavy traffic occasionally lead to small numbers being added to the upper half of the 64bit mib counter even though no 32bit wrap has occured. Since we poll the mib counters at least every 30 seconds anyway, we might as well just skip the reads of the upper halves of the hardware counters without breaking the stats, which this patch does. Signed-off-by: Lennert Buytenhek Cc: stable@kernel.org Signed-off-by: David S. Miller commit 1319ebadf185933e6b7ff95211d3cef9004e9754 Author: Lennert Buytenhek Date: Wed Apr 29 11:57:34 2009 +0000 mv643xx_eth: OOM handling fixes Currently, when OOM occurs during rx ring refill, mv643xx_eth will get into an infinite loop, due to the refill function setting the OOM bit but not clearing the 'rx refill needed' bit for this queue, while the calling function (the NAPI poll handler) will call the refill function in a loop until the 'rx refill needed' bit goes off, without checking the OOM bit. This patch fixes this by checking the OOM bit in the NAPI poll handler before attempting to do rx refill. This means that once OOM occurs, we won't try to do any memory allocations again until the next invocation of the poll handler. While we're at it, change the OOM flag to be a single bit instead of one bit per receive queue since OOM is a system state rather than a per-queue state, and cancel the OOM timer on entry to the NAPI poll handler if it's running to prevent it from firing when we've already come out of OOM. Signed-off-by: Lennert Buytenhek Cc: stable@kernel.org Signed-off-by: David S. Miller commit ddc9f824b09d790e93a800ba29ff3462f8fb5d0b Merge: ac7c992... c428c89... Author: David S. Miller Date: Wed Apr 29 15:52:56 2009 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit c428c89201a57a0ce24c37ed79e540d1f4101cf3 Author: Johannes Berg Date: Wed Apr 29 00:28:18 2009 +0200 mac80211: default to automatic power control In "mac80211: correct wext transmit power handler" I fixed the wext handler, but forgot to make the default of the user_power_level -1 (aka "auto"), so that now the transmit power is always set to 0, causing associations to time out and similar problems since we're transmitting with very little power. Correct this by correcting the default user_power_level to -1. Signed-off-by: Johannes Berg Bisected-by: Niel Lambrechts Signed-off-by: John W. Linville commit d4c4a9a1bce1912ed5681251f0037fd4f2364a3e Author: Alan Jenkins Date: Wed Apr 29 11:41:24 2009 +0100 mac80211: fix modprobe deadlock by not calling wep_init under rtnl_lock - ieee80211_wep_init(), which is called with rtnl_lock held, blocks in request_module() [waiting for modprobe to load a crypto module]. - modprobe blocks in a call to flush_workqueue(), when it closes a TTY [presumably when it exits]. - The workqueue item linkwatch_event() blocks on rtnl_lock. There's no reason for wep_init() to be called with rtnl_lock held, so just move it outside the critical section. Signed-off-by: Alan Jenkins Signed-off-by: John W. Linville commit 7e31a966ad270ba32a77c157c015cd7c82faaa55 Author: Tao Ma Date: Wed Apr 29 01:20:55 2009 +0800 ocfs2/trivial: Remove unused variable in ocfs2_rename. With indexed dir enabled, now we use ocfs2_dir_lookup_result to wrap all the bh used for dir. So remove the 2 unused variables. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 89092ddd7aca598e3b8874f7a49216e7917d8f3f Author: Oliver Neukum Date: Wed Apr 29 17:12:12 2009 +0200 HID: fix possible deadlock in usbhid_close() This patch switches usbhid_close() from flush_scheduled_work() to canceling the outstanding work. This fixes a possible deadlock due to work taking the mutex usbhid_close() holds. Lockdep reported the problem. Signed-off-by: Oliver Neukum -- Signed-off-by: Jiri Kosina commit f5f293a4e3d0a0c52cec31de6762c95050156516 Author: Eric Dumazet Date: Wed Apr 29 14:44:49 2009 +0200 sched: account system time properly Andrew Gallatin reported that IRQ and SOFTIRQ times were sometime not reported correctly on recent kernels, and even bisected to commit 457533a7d3402d1d91fbc125c8bd1bd16dcd3cd4 ([PATCH] fix scaled & unscaled cputime accounting) as the first bad commit. Further analysis pointed that commit 79741dd35713ff4f6fd0eafd59fa94e8a4ba922d ([PATCH] idle cputime accounting) was the real cause of the problem. account_process_tick() was not taking into account timer IRQ interrupting the idle task servicing a hard or soft irq. On mostly idle cpu, irqs were thus not accounted and top or mpstat could tell user/admin that cpu was 100 % idle, 0.00 % irq, 0.00 % softirq, while it was not. [ Impact: fix occasionally incorrect CPU statistics in top/mpstat ] Reported-by: Andrew Gallatin Re-reported-by: Andrew Morton Signed-off-by: Eric Dumazet Acked-by: Martin Schwidefsky Cc: rick.jones2@hp.com Cc: brice@myri.com Cc: Paul Mackerras Cc: Benjamin Herrenschmidt LKML-Reference: <49F84BC1.7080602@cosmosbay.com> Signed-off-by: Ingo Molnar commit 2feaace40e5c3133fea795333402f30929a200d9 Author: Ulrich Dangel Date: Tue Apr 28 16:23:51 2009 +0200 HID: Fix the support for apple mini aluminium keyboard Quirks for the apple mini keyboard was recently added but keyboard was recognized as a powerbook keyboard. Adjusted boundary to the lowest product id for the apple mini keyboard to get the right translation. Signed-off-by: Ulrich Dangel Signed-off-by: Jiri Kosina commit 33015c85995716d03f6293346cf05a1908b0fb9a Author: Stuart Bennett Date: Tue Apr 28 20:17:48 2009 +0100 tracing: x86, mmiotrace: fix range test Matching on (addr == (p->addr + p->len)) causes problems when mappings are adjacent. [ Impact: fix mmiotrace confusion on adjacent iomaps ] Signed-off-by: Stuart Bennett Acked-by: Pekka Paalanen Cc: Steven Rostedt LKML-Reference: <1240946271-7083-2-git-send-email-stuart@freedesktop.org> Signed-off-by: Ingo Molnar commit 7267fa6819467669f5cc2ba81a615dcc88158b4b Author: Steven Rostedt Date: Wed Apr 29 00:16:21 2009 -0400 tracing: fix ref count in splice pages The pages allocated for the splice binary buffer did not initialize the ref count correctly. This caused pages not to be freed and causes a drastic memory leak. Thanks to logdev I was able to trace the tracer to find where the leak was. [ Impact: stop memory leak when using splice ] Signed-off-by: Steven Rostedt Signed-off-by: Ingo Molnar commit 10993374f84cc1c4100aea9eca7fa154518ffc5e Merge: a133e77... fc76132... Author: Russell King Date: Tue Apr 28 21:41:01 2009 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit b7fcb5c4a4c27da2f6d86cb03d18687e537442cf Author: Bob Copeland Date: Mon Apr 27 22:12:43 2009 -0400 ath5k: fix buffer overrun in rate debug code char bname[5] is too small for the string "X GHz" when the null terminator is taken into account. Thus, turning on rate debugging can crash unless we have lucky stack alignment. Cc: stable@kernel.org Reported-by: Paride Legovini Signed-off-by: Bob Copeland Signed-off-by: John W. Linville commit 74aa9be0ea0ffeb233f45c39f3cf594b68bbbb89 Author: Johannes Berg Date: Thu Apr 23 10:45:04 2009 +0200 iwlwifi: notify on scan completion even when shutting down Under certain circumstances iwlwifi can get stuck and will no longer accept scan requests, because the core code (cfg80211) thinks that it's still processing one. This fixes one of the points where it can happen, but I've still seen it (although only with my radio-off-when-idle patch). Signed-off-by: Johannes Berg Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit e805e4d0b53506dff4255a2792483f094e7fcd2c Author: Jussi Kivilinna Date: Wed Apr 22 10:59:37 2009 +0300 rndis_wlan: fix initialization order for workqueue&workers rndis_wext_link_change() might be called from rndis_command() at initialization stage and priv->workqueue/priv->work have not been initialized yet. This causes invalid opcode at rndis_wext_bind on some brands of bcm4320. Fix by initializing workqueue/workers in rndis_wext_bind() before rndis_command is used. This bug has existed since 2.6.25, reported at: http://bugzilla.kernel.org/show_bug.cgi?id=12794 Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 6269b731560d69c5eaa929909891edec39496d71 Author: Stephen Rothwell Date: Wed Apr 22 15:11:05 2009 +1000 wireless: remove unneeded EXPORT_SYMBOL the tickles a powerpc compiler bug drivers/net/wireless/iwlwifi/iwl3945-base.c:1415: error: __ksymtab_iwl3945_rx_queue_reset causes a section type conflict I am pretty sure that this is a compiler bug, so not to worry. However, as far as I can see, iwl-3945.o (the only user) and iwl3945-base.o are always linked into the same module, so the EXPORT_SYMBOL (which causes the problem) should not be needed. Correct? Signed-off-by: Stephen Rothwell Signed-off-by: John W. Linville commit 5e5ee686e3c0f8a3cbe9b75c2690326bf91af10d Author: Henrik Rydberg Date: Tue Apr 28 07:47:33 2009 -0700 Input: add detailed multi-touch finger data report protocol In order to utilize the full power of the new multi-touch devices, a way to report detailed finger data to user space is needed. This patch adds a multi-touch (MT) protocol which allows drivers to report details for an arbitrary number of fingers. The driver sends a SYN_MT_REPORT event via the input_mt_sync() function when a complete finger has been reported. In order to stay compatible with existing applications, the data reported in a finger packet must not be recognized as single-touch events. In addition, all finger data must bypass input filtering, since subsequent events of the same type refer to different fingers. A set of ABS_MT events with the desired properties are defined. The events are divided into categories, to allow for partial implementation. The minimum set consists of ABS_MT_TOUCH_MAJOR, ABS_MT_POSITION_X and ABS_MT_POSITION_Y, which allows for multiple fingers to be tracked. If the device supports it, the ABS_MT_WIDTH_MAJOR may be used to provide the size of the approaching finger. Anisotropy and direction may be specified with ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and ABS_MT_ORIENTATION. Devices with more granular information may specify general shapes as blobs, i.e., as a sequence of rectangular shapes grouped together by a ABS_MT_BLOB_ID. Finally, the ABS_MT_TOOL_TYPE may be used to specify whether the touching tool is a finger or a pen. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 61994a61bcedf328cb1d6e96c393fc91ce64563d Author: Henrik Rydberg Date: Tue Apr 28 07:45:31 2009 -0700 Input: allow certain EV_ABS events to bypass all filtering With the upcoming multi-touch interface as an example, there is a need to make certain that all reported events actually get passed to the event handler. This patch equips the input core with the ability to bypass all filtering for certain EV_ABS events. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 4c57e379f4e318847dd06f60c7e1ff4d8bde1bdb Author: Henrik Rydberg Date: Tue Apr 28 07:07:07 2009 -0700 Input: bcm5974 - add documentation for the driver This patch adds documentation for the bcm5974 to Documentation/input/. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 5340219317a3370a4b76a2b6f31b1e5a3dbc648b Author: Henrik Rydberg Date: Tue Apr 28 07:04:42 2009 -0700 Input: bcm5974 - augment debug information Add more button and finger data to the debug output. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 158e928741e58eb4aa379da422290c10fef23f00 Author: Henrik Rydberg Date: Tue Apr 28 07:03:54 2009 -0700 Input: bcm5974 - Add support for the Macbook 5 (Unibody) This patch adds support for the new unibody Macbook, with physically integrated button and trackpad. Since the integrated button changes the logic for touch-and-click, a device capability bit mask is now reported in input_id.version, which can be picked up by user space via a EVIOCGID call. Signed-off-by: Henrik Rydberg Tested-by: David M. Lary Signed-off-by: Dmitry Torokhov commit 6916d97f6e25cc66a32d6e9a16419067d843b14f Author: Henrik Rydberg Date: Mon Apr 27 11:52:43 2009 -0700 Input: bcm5974 - add quad-finger tapping The integrated button on the new unibody Macbooks presents a need to report explicit four-finger actions. Evidently, the finger pressing the button is also touching the trackpad, so in order to fully support three-finger actions, the driver must be able to report four-finger actions. This patch adds a new button, BTN_TOOL_QUADTAP, which achieves this. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 9894cf0ff5e9ccda60d8d0e2d37bd61539b08826 Author: Henrik Rydberg Date: Mon Apr 27 11:52:42 2009 -0700 Input: bcm5974 - prepare for a new trackpad header type The new unibody Macbooks are equipped with an integrated button and trackpad. The package header of the trackpad interface has changed to also contain information about the integrated button. This patch performs the necessary preparations to allow for the new package header. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 0385c5ee3ca96bfe244610bf459abf66682ff202 Author: Bob Copeland Date: Tue Apr 28 07:49:53 2009 -0700 Input: appletouch - fix DMA to/from stack buffer CONFIG_DMA_API_DEBUG spotted an instance of appletouch using an array on the stack as a DMA buffer for certain hardware. Change it to use a kmalloc()ed buffer instead. Signed-off-by: Bob Copeland Reviewed-by: Johannes Berg Signed-off-by: Dmitry Torokhov commit 384318ecd2eb4fdbcbe7c4df6e8bb55986bf52d4 Author: Ping Cheng Date: Tue Apr 28 07:49:54 2009 -0700 Input: wacom - fix TabletPC touch bug This patch fixed a bug that was introduced in kernel 2.6.28 for TabletPC touch data. The wacom_parse_hid routine in wacom_sys.c should always return 0 even when usb_control_msg got an error. Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 18cc8d8d9b74c446832336d8f6e1afb145f9431b Author: Joonyoung Shim Date: Tue Apr 28 18:18:05 2009 +0900 ASoC: TWL4030: Fix gain control for earpiece amplifier The gain control for earpiece amplifier uses 0dB ~ 12dB according to the TRM, but the present code is implemented to -6dB ~ 6dB. Signed-off-by: Joonyoung Shim Acked-by: Peter Ujfalusi Signed-off-by: Mark Brown commit 3e5b50165fd0be080044586f43fcdd460ed27610 Author: Takashi Iwai Date: Tue Apr 28 12:07:08 2009 +0200 ALSA: pcm core - Avoid jiffies check for devices with BATCH flag The hardware devices with SNDRV_PCM_INFO_BATCH flag can't give the precise current position. And such hardwares have often big FIFO in addition to the ring buffer, and it screws up the jiffies check in pcm_lib.c. This patch adds a simple check of info flag so that the driver skips the jiffies check in snd_pcm_period_elapsed() when BATCH flag is set. Signed-off-by: Takashi Iwai commit 2008f137e92220b98120c4803499cdddb2b0fb06 Author: Takashi Iwai Date: Tue Apr 28 12:25:59 2009 +0200 ALSA: Add missing SNDRV_PCM_INFO_BATCH flag to some drivers Added SNDRV_PCM_INFO_BATCH flag to PCM info field of some drivers that really don't give the precise pointer value. Signed-off-by: Takashi Iwai commit 3f68165e234233255a789c827c5d3d6fa965ddce Author: Giuliano Pochini Date: Mon Apr 27 23:23:29 2009 +0200 ALSA: indigo-express: add missing 64KHz flags Indigo-express cards also support 64KHz sampling rate: this patch adds missing SNDRV_PCM_RATE_64000 flags. Signed-off-by: Giuliano Pochini Signed-off-by: Takashi Iwai commit 0c95de73a711d376dc17afe484f919bd5b66c016 Author: Jon Smirl Date: Mon Apr 27 12:44:41 2009 -0400 ASoC: Set the MPC5200 i2s driver to BROKEN status. Signed-off-by: Jon Smirl Acked-by: Grant Likely Signed-off-by: Mark Brown commit 5e42336a461a2354b640001323cd07cebd9ade6e Author: Mark Brown Date: Mon Apr 27 19:18:22 2009 +0100 ASoC: Fix logic in WM8350 master clocking check We need to check only if the WM8350 is master and only when starting the stream so if either is not true then we can skip the check. Signed-off-by: Mark Brown commit a133e775d533c0035af627693dec288f1b1d4ffc Merge: 5876ee9... 3e9c18e... Author: Russell King Date: Mon Apr 27 18:06:24 2009 +0100 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci commit 3e9c18e1dc71b9a0fac302e2defe99d850ad3d79 Author: David Brownell Date: Wed Apr 15 14:19:21 2009 -0500 davinci: DM644x: NAND: update partitioning Update NAND partitioning for the dm6446 evm, unmasking the hidden data at the beginning and letting the kernel be updated from Linux. - This is boot-compatible with TI's software (U-Boot 1.20 and both the 2.6.10 and 2.6.18 kernels), in terms of startup and loading kernels from flash. - In the same way, it's also boot-compatible with mainline U-Boot, which stores U-Boot params in block 0 not block 16. - It's not quite compatible with systems that previously used NAND partitions to hold (filesystem) data. The compatibilities are a bit different based on which kernel was used previously + Users of TI/MV kernels no longer see mtd2 "params" (mainline u-boot env is in a different place) * Filesystem is now mtd2 ... vs mtd3 + Users of GIT kernels now see mtd0 and mtd1 partitions * Filesystem partition starts 640 KBytes earlier * Filesystem is now mtd2 ... vs mtd0 * Linux now *uses* the flash-resident BBT * Removes annoying slowdown/hiccup during boot * Potentially ~64KB less space available with TI/MV kernels If you *used* NAND partitions from Linux, there is no solution that's fully compatible with all previous kernels in those respects ... ergo this "best compromise". It'd be good to back back up the filesystem data; or, carry your own backwards-compatibility patch for awhile. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit d0e47fba054a55e0066c6ae2c807d98d086af5a9 Author: Kevin Hilman Date: Tue Apr 14 11:30:11 2009 -0500 davinci: update DM644x support in preparation for more SoCs Rework DM644x code into SoC specific and board specific parts. This is also to generalize the structure a bit so it's easier to add support for new SoCs in the DaVinci family. Signed-off-by: Kevin Hilman commit 73d3c68f09e608be983013dc8b3e49aebe89298c Author: Kevin Hilman Date: Tue Apr 14 10:57:40 2009 -0500 davinci: DM644x: rename board file Rename DM6446 EVM board file, no functional changes. Code is updated and reworked in following patch. Signed-off-by: Kevin Hilman commit 5526b3f7e3317bdd0dcc0483214935ae64236efb Author: Kevin Hilman Date: Tue Apr 14 09:50:37 2009 -0500 davinci: update pin-multiplexing support Update MUX support to be more general and useful across multiple SoCs in the DaVinci family. Signed-off-by: Kevin Hilman commit 617b925f94e0126841164ffd40dd3a8879502b57 Author: Kevin Hilman Date: Tue Apr 14 08:04:26 2009 -0500 davinci: serial: generalize for more SoCs Signed-off-by: Kevin Hilman commit f9337405b21bafb1c1a24316b3e43b3d3d697925 Author: s-paulraj@ti.com Date: Thu Sep 18 15:35:00 2008 -0400 davinci: DM355 IRQ Definitions Adding IRQ defintions for DaVinci DM355 and default interrupt priorities for DM355 Signed-off-by: Sandeep Paulraj Signed-off-by: Kevin Hilman commit 9e16469c83167d6869ad6cbe83312027ec529c64 Author: Sudhakar Rajashekhara Date: Tue Apr 14 07:53:02 2009 -0500 davinci: DM646x: add interrupt number and priorities Signed-off-by: Sudhakar Rajashekhara Signed-off-by: Kevin Hilman commit fe277d9bbba9c2851ec11edcd5701f82e034ddd4 Author: Mark A. Greer Date: Thu Mar 26 19:33:21 2009 -0700 davinci: PSC: Clear bits in MDCTL reg before setting new bits Clear any set bits in the 'NEXT' field of the MDCTL register in the Power and Sleep Controller (PSC) before setting any new bits. This also allows some minor cleanup by removing some no longer needed lines of code. Signed-off-by: Mark A. Greer Signed-off-by: Kevin Hilman commit 474dad54baee8f8abe63ac334357a37021147701 Author: David Brownell Date: Sun Dec 7 11:46:23 2008 -0800 davinci: gpio bugfixes Update the DaVinci GPIO code to work better on non-dm6446 parts, notably the dm355: - Only handle the number of GPIOs the chip actually has. So for example on dm6467, GPIO-42 is the last GPIO, and trying to use GPIO-43 now fails cleanly; or GPIO-72 on dm6446. - Enable GPIO interrupts on each 16-bit GPIO-irq bank ... previously, only the first five were enabled, so GPIO-80 and above (on dm355) wouldn't trigger IRQs. - Use the right IRQ for each GPIO bank. The wrong values were used for dm355 chips, so GPIO IRQs got routed incorrectly. - Handle up to four pairs of 16-bit GPIO banks ... previously only three were handled, so accessing GPIO-96 and up (e.g. on dm355) would oops. - Update several comments that were dm6446-specific. Verified by receiving GPIO-1 (dm9000) and GPIO-5 (msp430) IRQs on the DM355 EVM. One thing this doesn't do is handle the way some of the GPIO numbers on dm6467 are reserved but aren't valid as GPIOs. Some bitmap logic could fix that if needed. Signed-off-by: David Brownell Signed-off-by: Kevin Hilman commit a4768d2275cb7c0d2a665b9ad4de07834be0714b Author: Kevin Hilman Date: Tue Apr 14 07:18:14 2009 -0500 davinci: add EDMA driver Original code for 2.6.10 and 2.6.28 series done by Texas Instruments and MontaVista, but major updates and rework done by Troy Kisky and David Brownell. Cc: Sergei Shtylyov Cc: Sudhakar Rajashekhara Cc: Troy Kisky Cc: David Brownell Signed-off-by: Kevin Hilman commit e60990023cac11bc6185e7a7f1007fbbb8d30e4d Author: Kevin Hilman Date: Tue Apr 14 07:06:37 2009 -0500 davinci: timers: use clk_get_rate() Use clock framework instead of hard-coded CLOCK_TICK_RATE for determining timer tick frequencies. Signed-off-by: Kevin Hilman commit e9da4d7f731dafc2b93ce7b31aa09c4d935ef978 Author: Boaz Harrosh Date: Sun Apr 19 19:17:54 2009 +0300 [SCSI] libosd: OSD2r05: on-the-wire changes for latest OSD2 revision 5. OSC's OSD2 target: [git clone git://git.open-osd.org/osc-osd/ master] (Initiator code prior to this patch must use: "git checkout CDB_VER_OSD2r01" in the target tree above) This is a summery of the wire changes: * OSDv2_ADDITIONAL_CDB_LENGTH == 192 => 228 (Total CDB is now 236 bytes) * Attributes List Element Header grew, so attribute values are 8 bytes aligned. * Cryptographic keys and signatures are 20 => 32 * Few new definitions. (Still missing new standard definitions attribute values, these do not change wire format and will be added later when needed) Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit f8d3a644bec74fd55dbfb11f95af7bf98fa963dc Author: Boaz Harrosh Date: Sun Apr 19 19:13:39 2009 +0300 [SCSI] libosd: OSD2r05: OSD_CRYPTO_KEYID_SIZE will grow 20 => 32 bytes In OSD2r04 draft, cryptographic key size changed to 32 bytes from OSD1's 20 bytes. This causes a couple of on-the-wire structures to change, including the CDB. In this patch the OSD1/OSD2 handling is separated out in regard to affected structures, but on-the-wire is still the same. All on the wire changes will be submitted in one patch for bisect-ability. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 71f32e31e5638df37904697e2d04182935add85d Author: Boaz Harrosh Date: Sun Apr 19 19:11:42 2009 +0300 [SCSI] libosd: OSD2r05: Prepare for rev5 attribute list changes In OSD2r05 draft each attribute list element header was changed so attribute-value would be 8 bytes aligned. In OSD2r01-r04 it was aligned on 2 bytes. (This is because in OSD2r01 the complete element was 8 bytes padded at end but the header was not adjusted and caused permanent miss-alignment.) OSD1 elements are not padded and might be or might not be aligned. OSD1 is still supported. In this code we do all the code re-factoring to separate OSD1/OSD2 differences but do not change actual wire format. All wire format changes will happen in one patch later, for bisect-ability. Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit bf5e84f69618f416e89a5a53434a8c865e70252e Author: Dan Carpenter Date: Sun Apr 19 19:07:47 2009 +0300 [SCSI] libosd: fix potential ERR_PTR dereference in osd_initiator.c bio_map_kern() returns an ERR_PTR() not NULL. Found by smatch (http://repo.or.cz/w/smatch.git). Compile tested. Signed-off-by: Dan Carpenter Signed-off-by: Boaz Harrosh Signed-off-by: James Bottomley commit 3b8b5c9b1f08660583e5dfe095c24170df62f1d2 Author: Eric Moore Date: Tue Apr 21 15:44:27 2009 -0600 [SCSI] mpt2sas : bump driver version to 01.100.02.00 Bump driver version. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 6f92a7a0aff413cdf42955a187647e3736ebd8f3 Author: Eric Moore Date: Tue Apr 21 15:43:33 2009 -0600 [SCSI] mpt2sas: fix hotplug event processing Here's a fix for hotplug events. The useage of queue_delayed_work seems to broke the fifo for processing of firmware events. After several iterations of adding and removing cabling connected to jbods, the devices are not getting added becuase kernel thread is activited out of order. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 99bb214b1b652c475bb3d79cede47ecb76b758fa Author: Eric Moore Date: Tue Apr 21 15:42:13 2009 -0600 [SCSI] mpt2sas : release diagnotic buffers prior host reset Diagnostic buffer support is already there in the driver. This support allows applications to pull ring buffers from controller firmware for debugging firmware related issues. What this patch does is sends reqeust to firmware to release the buffers prior to host reset. This will allow what ever debug info is there prior to reset to be dma'd to host memory. With out this fix, some of the debug data would been lost. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 8901cbb45e2a6657adf0e6eea4276ef452dee011 Author: Eric Moore Date: Tue Apr 21 15:41:32 2009 -0600 [SCSI] mpt2sas : Broadcast Primative AEN bug fix Bug fix in the broadcast primative async event code where the driver would stop sending tm queries after the first queury was completed. This was due driver not reseting the tm_cmds.status field back to MPT2_CMD_NOT_USED after completing a task management request. An addtional fix adding sanity check to insure sas_device->starget set to NULL. During multipath testing fail over/fail back, the mid layer was holding onto sdev longer than the fail back period, thus starget was getting set to NULL for device being added. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit f0f9cc1fb8a21f3ff90900505fc82a43d29d0975 Author: Eric Moore Date: Tue Apr 21 15:40:48 2009 -0600 [SCSI] mpt2sas : Identify Dell series-7 adapters at driver load time The Dell branding along with the VID, DID, SSVID, SSDID following the LSI branding that contains the card firmware/chip/bios versions. If the SSDID is not known but it is a Dell HBA, the driver will print the SSDID instead of the Dell branding string. Nothing will be printed for non Dell HBAs Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit e5f9bb198aa47d06553b66cc5f24ded49ed0b70d Author: Eric Moore Date: Tue Apr 21 15:40:01 2009 -0600 [SCSI] mpt2sas : driver name needs to be in the MPT2IOCINFO ioctl The driver name needs to be at the beginining of the driver_version string in MPT2IOCINFO ioctl. This is the same behaviour is there already in the mptsas driver. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 77bdd9ee1e1d94fa853c354dcde881ddc5d277a5 Author: Eric Moore Date: Tue Apr 21 15:39:24 2009 -0600 [SCSI] mpt2sas : running out of message frames The driver is not freeing message frame when returning failure from _ctl_do_task_abort. If you call this function 500 times when its unable to find an active task mid, you end up with no message frames. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 0d04df9b4a83c50ebe2143f20c2d5469c83ba314 Author: Eric Moore Date: Tue Apr 21 15:38:43 2009 -0600 [SCSI] mpt2sas : fix oops when firmware sends large sense buffer size There is a bug in firmware where the reply message frame says there is a 16kb sense buffer, when in reality its only 20 bytes. This fix insures the memcpy action doesn't corrupte the memory beyond the 90 bytes allocated in the scsi command for sense buffer. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 03ea1115506c53b46cec2177deb189d186bb80dd Author: Eric Moore Date: Tue Apr 21 15:37:57 2009 -0600 [SCSI] mpt2sas : the sanity check in base_interrupt needs to be on dword boundary The poison sanity check on the reply_post_free register needs to be by 32bit, not 64bit. The poison check is there because its possible that the driver read the 1st 32bit before the 2nd 32bit has been written to by firmware. In other words, this handles race between driver reading the 64 bit register, and it being dma'd across pci memory from controller firmware as two 32bit pci writes. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit fd01825c70006638dee16f48c810c20c54f6cd15 Author: Eric Moore Date: Tue Apr 21 15:37:20 2009 -0600 [SCSI] mpt2sas : unique ioctl magic number The current magic number is shared with mptsas driver. This to be unique to fix issues with register_ioctls32_conversion in older kernels. We are making this change across all versions of the sas2.0 drivers. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 8f76d151b010980d137bfdc736d1d8f64b489165 Author: Dave Hansen Date: Tue Apr 21 16:43:27 2009 -0700 [SCSI] fix sign extension with 1.5TB usb-storage LBD=y Shifting an unsigned char implicitly casts it to a signed int. This caused 'lba' to sign-extend and Linux would then try READ CAPACITY 16 which was not supported by at least one drive. Using the get_unaligned_be*() helpers keeps us from having to worry about how the extension might occur. Signed-off-by: Dave Hansen Reviewed-by: Matthew Wilcox Signed-off-by: James Bottomley commit dd406ef8950e76b17d74c5764a1e3d3a87d4a855 Author: Brian King Date: Wed Apr 22 08:58:02 2009 -0500 [SCSI] ipr: Fix sleeping function called with interrupts disabled The ata_sas_slave_configure was changed such that it now allocates some memory for a drain buffer for ATAPI devices. Fixup the ipr driver such that we no longer make this call with interrupts disabled. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 6401bdcad536cc00589c38e7e1c140d3acc00087 Author: Joe Eykholt Date: Tue Apr 21 16:27:46 2009 -0700 [SCSI] fcoe: fip: add multicast filter to receive FIP advertisements. The FCoE forwarder (FCF) would be selected, but then would soon time out after three advertisements were missed. This would be 24 seconds by default, or 3 times the keep-alive interval configured on the switch. The cause was that the multicast address for all FIP E-nodes was never added. Signed-off-by: Joe Eykholt Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a29e7646f42a325a7f6cce34adbeb52e8db15566 Author: Robert Love Date: Tue Apr 21 16:27:41 2009 -0700 [SCSI] libfc: Fix compilation warnings with allmodconfig When building with a .config generated from 'make allmodconfig' some build warnings are generated. This patch corrects the warnings, adds a FC_FID_NONE (= 0) enumeration for FC-IDs and cleans up one variable naming to meet our variable naming conventions. For example, fc_lport's should be named "lport," not "lp." Signed-off-by: Robert Love Signed-off-by: James Bottomley commit dd3fd72e692c8af007f70df4433c0cffe8582d8b Author: Chris Leech Date: Tue Apr 21 16:27:36 2009 -0700 [SCSI] fcoe: fix spelling typos and bad comments Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit fc224a5bc949aa30df572e990201c8f95767658f Author: Chris Leech Date: Tue Apr 21 16:27:30 2009 -0700 [SCSI] fcoe: don't export functions that are internal to fcoe These probably never should have been exported. If they were needed outside of the fcoe module, they would have been moved to libfcoe. Signed-off-by: Chris Leech Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 3caf02ee280a171074476d346d01dc0f5e05b22c Author: Dan Carpenter Date: Tue Apr 21 16:27:25 2009 -0700 [SCSI] fcoe: kfree() -> kfree_skb() sk_buff pointers should use kfree_skb() instead of vanilla kfree(). Found by smatch (http://repo.or.cz/w/smatch.git). Signed-off-by: Dan Carpenter Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 55c7a60cf0c9113cb52d2b87abb120e951bdb332 Author: Abhijeet Joglekar Date: Tue Apr 21 16:27:19 2009 -0700 [SCSI] libfc: whenever queueing delete ev for rport, set state to NONE When a delete event is queued for an rport, set state to NONE so that no other processing is done on the rport as it is being removed. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit bbf156697a6332f9074e2b275a9157d99a431398 Author: Abhijeet Joglekar Date: Tue Apr 21 16:27:14 2009 -0700 [SCSI] libfc: Change state to NONE in fc_lport_destroy After lport_destroy, the local port should not be used again. Transition to state NONE, any incoming frames or link up should not transition out of this state since we are deleting exchange table and cleaning up the local port. Also, mark link as down. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a0fd2e49ec75bf74d3d202df51dfe65ad4c32605 Author: Abhijeet Joglekar Date: Tue Apr 21 16:27:09 2009 -0700 [SCSI] libfc: During fabric logoff, flush the rport Q after logging off dns port We want to generate the rport queue event (from the logoff) before flushing the queue otherwise the event may still be in the queue when we logoff. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit b4c6f54632ad664a3d9e7f05e4ea0f1803e32755 Author: Abhijeet Joglekar Date: Tue Apr 21 16:27:04 2009 -0700 [SCSI] libfc: Track rogue remote ports Rogue ports are currently not tracked on any list. The only reference to them is through any outstanding exchanges pending on the rogue ports. If the module is removed while a retry is set on a rogue port (say a Plogi retry for instance), this retry is not cancelled because there is no reference to the rogue port in the discovery rports list. Thus the local port can clean itself up, delete the exchange pool, and then the rogue port timeout can fire and try to start up another exchange. This patch tracks the rogue ports in a new list disc->rogue_rports. Creating a new list instead of using the disc->rports list keeps remote port code change to a minimum. 1) Whenever a rogue port is created, it is immediately added to the disc->rogue_rports list. 2) When the rogues port goes to ready, it is removed from the rogue list and the real remote port is added to the disc->rports list 3) The removal of the rogue from the disc->rogue_rports list is done in the context of the fc_rport_work() workQ thread in discovery callback. 4) Real rports are removed from the disc->rports list like before. Lookup is done only in the real rports list. This avoids making large changes to the remote port code. 5) In fc_disc_stop_rports, the rogues list is traversed in addition to the real list to stop the rogue ports and issue logoffs on them. This way, rogue ports get cleaned up when the local port goes away. 6) rogue remote ports are not removed from the list right away, but removed late in fc_rport_work() context, multiple threads can find the same remote port in the list and call rport_logoff(). Rport_logoff() only continues with the logoff if port is not in NONE state, thus preventing multiple logoffs and multiple list deletions. 7) Since the rport is removed from the disc list at a later stage (in the disc callback), incoming frames can find the rport even if rport_logoff() has been called on the rport. When rport_logoff() is called, the rport state is set to NONE, and we are trying to cancel all exchanges and retries on that port. While in this state, if an incoming Plogi/Prli/Logo or other frames match the rport, we should not reply because the rport is in the NONE state. Just drop the frame, since the rport will be deleted soon in the disc callback (fc_rport_work) 8) In fc_disc_single(), remove rport lookup and call to fc_disc_del_target. fc_disc_single() is called from recv_rscn_req() where rport lookup and rport_logoff is already done. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 76f6804e7e7bb836cbdf4a73fe6c5485e4cc04c2 Author: Abhijeet Joglekar Date: Tue Apr 21 16:26:58 2009 -0700 [SCSI] libfc: Do not retry if the new state is not the same as old state For instance, if there is a Plogi pending (remote port is in Plogi state), and the state changes to say NONE (because the port is being logged off), then when the Plogi resp times out, do not start a retry. This patch partially reverts an earlier patch (libfc: check for err when recv and state is incorrect), by moving the state check back to before checking for error. However, if the state does not match, then there is an additional check to see if its an error ptr or a real frame before jumping to err or out respectively. Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit 0d228c0f7f9e3ade147e57682915c55b92448230 Author: Abhijeet Joglekar Date: Tue Apr 21 16:26:52 2009 -0700 [SCSI] libfc: Hold disc mutex while processing gpn ft resp gpn_ft_resp processing currently does not hold the discovery lock. disc_done() thus gets called from gpn_ft_resp or from gpn_ft_parse without the lock held. This then sets disc->pending to zero or calls gpn_ft_req() without disc_lock held. - Hold disc mutex during gpn_ft resp processing - In disc_done, release the disc mutex while calling lport callback Signed-off-by: Abhijeet Joglekar Signed-off-by: Robert Love Signed-off-by: James Bottomley commit a53922ddcf69f4bd8aa321b1fb30418df7a86c61 Author: kxie@chelsio.com Date: Tue Apr 21 15:32:35 2009 -0500 [SCSI] cxgb3i: fix ddp map overrun (version 2) Fixed a bug in calculating ddp map range when search for free entries: it was going beyond the end by one, thus corrupting gl_skb[0]. Signed-off-by: Karen Xie Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 1393109f23f8ad753a60a3e461c6caa96d8524f3 Author: Mike Christie Date: Tue Apr 21 15:32:34 2009 -0500 [SCSI] cxgb3i: fix cpu use abuse during writes When doing a lot (128) of large writes (256K) we can hit the cxgb3_snd_win check pretty easily. The driver's xmit thread then takes 100% of the cpu. The driver should not be returning -EAGAIN for this problem. It should be returing -ENOBUFS, then when the window is opened again it should queue the xmit thread (it already wakes the xmit thread). Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit dd0af9f94e54efb13ee050ebac11909215ef02c2 Author: Mike Christie Date: Tue Apr 21 15:32:33 2009 -0500 [SCSI] cxgb3i: fix can_queue and cmd_per_lun initialization cxgb3i was setting can_queue to only 128 commands, and was setting the can_queue and cmd_per_lun to the same value. This sets the can_queue to 1024 commands, and sets the cmd_per_lun to a safer default of 32. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 6b5d6c443a9b4fd71b633cef66b5db4de8a85787 Author: Mike Christie Date: Tue Apr 21 15:32:32 2009 -0500 [SCSI] cxgb3i, iser, iscsi_tcp: set target can queue Set target can queue limit to the number of preallocated session tasks we have. This along with the cxgb3i can_queue patch will fix a throughput problem where it could only queue one LU worth of data at a time. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 9a6510eb3f030cedba32664498a610dc6d084d46 Author: Mike Christie Date: Tue Apr 21 15:32:31 2009 -0500 [SCSI] iscsi_tcp: don't fire conn error if pdu init fails If a command's scsi cmd pdu setup fails then we can just fail the IO to the scsi layer. If a DATA_OUT for a R2T fails then we will want to drop the session, because it means we got a bad request from the target (iscsi protocol error). This patch has us propogate the error upwards so libiscsi_tcp or libiscsi can decide what the best action is to take. It also fixes a bug where we could try to grab the session lock while holding it, because if iscsi_tcp drops the session in the pdu setup callout the session lock is held when setting up the scsi cmd pdu. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 70932935b61ee3dcc5a419ec4c367feb2ff808e4 Author: Christof Schmitt Date: Fri Apr 17 15:08:15 2009 +0200 [SCSI] zfcp: Fix oops when port disappears The zfcp_port might have been removed, while the FC fast_io_fail timer is still running and could trigger the terminate_rport_io callback. Set the pointer to the zfcp_port to NULL and check accordingly before using it. Reviewed-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 3869bb6e73f5f55ce16b13025726b0bfdf1f4aae Author: Christof Schmitt Date: Fri Apr 17 15:08:14 2009 +0200 [SCSI] zfcp: Reference counting for cfdc requests Before dropping the reference count with zfcp_adapter_put, increase it with zfcp_adapter_get when issuing cfdc requests. Reviewed-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 6ab35c0713daf8cd68f272a4be8dfc02c86bbd3b Author: Martin Petermann Date: Fri Apr 17 15:08:13 2009 +0200 [SCSI] zfcp: Fix port reference counting If this problem appears zfcp ports cannot be de-queued since it is checked for a zero refcount. The port reference counting is wrong for existing zfcp ports when e.g. an adapter gets on-line again. During port scanning the reference counting for existing ports should not be changed. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 7001f0c4863230dd1560425fa0f5aad9e21716b8 Author: Martin Petermann Date: Fri Apr 17 15:08:12 2009 +0200 [SCSI] zfcp: revert previous patch for sbal counting The current sbal counting can be wrong if a fsf request is waiting for free sbals and at the same time qdio request queue is shutdown and re-opened. Revering a previous patch fixes this issue. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit c6936e7f34383db2f5038dfa2f0c168ebc2920e5 Author: Christof Schmitt Date: Fri Apr 17 15:08:11 2009 +0200 [SCSI] zfcp: Fix abort handler for completions in progress When the abort handler cannot find a pending FSF request, the request completion could just be running. This means we cannot return SUCCESS, since this would lead to call to scsi_done after exiting the SCSI error handler which is not allowed. Reviewed-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5b43e719308143ac02e6f4ee24132f8acad99ea7 Author: Swen Schillig Date: Fri Apr 17 15:08:10 2009 +0200 [SCSI] zfcp: no port recovery after ADISC request timeout A remote port remains in error state even if we receive a RSCN stating that the connection is re-established. The port recovery is not started due to a flag which is not reset. The solution is to clear the flag in question before we trigger a ERP. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit f7306bf6150161689aaa445c433699895f446208 Author: Christof Schmitt Date: Fri Apr 17 15:08:09 2009 +0200 [SCSI] zfcp: Let actcli handle control file errors Error codes specific to the control file requests are evaluated by the actcli tool, so don't report -ENXIO for those. Generic problems are still checked for outside the command specific handler. Reviewed-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 048225e3f44f07c0f67e9665be0b4f18788de0eb Author: Martin Petermann Date: Fri Apr 17 15:08:08 2009 +0200 [SCSI] zfcp: remove unit will fail if add unit is not finished On some hardware it can take some time to add a unit. If some remove this unit during this process the remove will fail. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit d81ad31c6cf4e318e6b94c959bd9a56ca440b279 Author: Swen Schillig Date: Fri Apr 17 15:08:07 2009 +0200 [SCSI] zfcp: no port recovery after storage side error inject The remote port remains in error state even if the connection is re-established. A wrong precondition check was performed on the port status leading to a cancellation of the port reopen. Remove the pre-req check because it's not required and better handled within the ERP. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 94ab4b38b2ab35a8ca955f4821c970a0ed7ec9ec Author: Swen Schillig Date: Fri Apr 17 15:08:06 2009 +0200 [SCSI] zfcp: avoid false ERP complete due to sema race The ERP thread is performing a task before it is executing the corresponding down on the semaphore. The response handler of the just started exchange config should wait for the completion by performing a down on this semaphore. Since this semaphore is still positive from the ERP enqueue the handler won't wait and therefore the exchange config will always fail leaving the adapter in error. The problem can be solved by performing the down on the semaphore before starting an ERP task. This is the logically correct order. Only walk the ERP loop if there is a task to perform. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 828bc1212a685918bbdb5866504b63eea2c241f5 Author: Swen Schillig Date: Fri Apr 17 15:08:05 2009 +0200 [SCSI] zfcp: Set WKA-port to offline on adapter deactivation The nameserver port might be in state online when the adapter is offlined. On adapter reactivation the nameserver port is not re-opened due to the PORT_ONLINE status. This results in an unsuccessful recovery. In forcing the nameserver port status to offline on all adapter offline events this issue is prevented. Waiting for the reference count to drop to zero in zfcp_wka_port_offline is not required, so remove it. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 92d5193b467c68e8432d6878980621c787e735af Author: Swen Schillig Date: Fri Apr 17 15:08:04 2009 +0200 [SCSI] zfcp: Dont block zfcp_wq with scan When running the scsi_scan from the zfcp workqueue and the target device does not respond, the zfcp workqueue can block until the scsi_scan hits a timeout. Move the work to the scsi host workqueue, since this one is also used for the scan from the SCSI midlayer. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ada81b748b768eb5b75567fd1db5e87ba5c98bf0 Author: Christof Schmitt Date: Fri Apr 17 15:08:03 2009 +0200 [SCSI] zfcp: Dont call zfcp_fsf_req_free on NULL pointer Fix problem that zfcp_fsf_exchange_config_data_sync and zfcp_fsf_exchange_config_data_sync could try to call zfcp_fsf_req_free with a NULL pointer. Reviewed-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 306b6edcdd7b6cc5fee50d48fc398201fa3df841 Author: Swen Schillig Date: Fri Apr 17 15:08:02 2009 +0200 [SCSI] zfcp: Enable auto-port discovery for NPIV. Since we're setting the host port type now to FC_PORTTYPE_NPIV for adapters running in NPIV mode we should allow this port type for auto-port scanning as well. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 135ea137e3c2872448c12d3a8890389fa64990c6 Author: Martin Petermann Date: Fri Apr 17 15:08:01 2009 +0200 [SCSI] zfcp: Avoid referencing freed memory in req send Avoid referencing a fsf request after sending it in fcp_fsf_req_send, it might have already completed and deallocated. Signed-off-by: Martin Petermann Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b4efdd586bc08cdf5977cad0a90091f44546a930 Author: Mike Christie Date: Thu Apr 9 15:57:10 2009 -0500 [SCSI] fix q->lock not held warning when target is busy We cannot call blk_plug_device from scsi_target_queue_ready because the q lock is not held. And we do not need to call it from there because when we return 0, the scsi_request_fn not_ready handling will plug the queue for us if needed. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit e832b3ca653895d479c872f995d0a31a0b0bdecd Author: James Smart Date: Mon Apr 6 18:48:17 2009 -0400 [SCSI] lpfc 8.3.1 : Update version to 8.3.1 Update driver version to 8.3.1 Also update copyright end year for driver. Signed-off-by: James Smart Signed-off-by: James Bottomley commit a257bf905efd22fd2c055580b0ab2e8e7ed1b6a1 Author: James Smart Date: Mon Apr 6 18:48:10 2009 -0400 [SCSI] lpfc 8.3.1: misc fixes/changes 8.3.1 Fixes/Changes : - Fix incorrect byte-swapping on word 4 of IOCB (data length) which caused LUNs to not be discovered on big-endian (e.g. PPC) - Remove a bad cast of MBslimaddr which loses the __iomem (sparse) - Make lpfc_debugfs_mask_disc_trc static (sparse) - Correct misspelled word BlockGuard in lpfc_logmsg.h comment - Replaced repeated code segment for canceling IOCBs from a list with a function call, lpfc_sli_cancel_iocbs(). - Increased HBQ buffers to support 40KB SSC sequences. - Added sysfs interface to update speed and topology parameter without link bounce. - Fixed bug with sysfs fc_host WWNs not being updated after changing the WWNs. - Check if the active mailbox is NULL in the beginning of the mailbox timeout handler - fixes panic in the mailbox timeout handler while running IO stress test - Fixed system panic in lpfc_pci_remove_one() due to ndlp indirect reference to phba through vport - Removed de-reference of scsi device after call to scsi_done() to fix panic in scsi completion path while accessing scsi device after scsi_done is called. - Fixed "Nodelist not empty" message when unloading the driver after target reboot test - Added LP2105 HBA model description - Added code to print all 16 words of unrecognized ASYNC events - Fixed memory leak in vport create + delete loop - Added support for handling dual error bit from HBA - Fixed a driver NULL pointer dereference in lpfc_sli_process_sol_iocb - Fixed a discovery bug with FC switch reboot in lpfc_setup_disc_node - Take NULL termintator into account when calculating available buffer space Signed-off-by: James Smart Signed-off-by: James Bottomley commit 3621a710a7dbb2d22a8e95d94bcf0c2d13ef57fc Author: James Smart Date: Mon Apr 6 18:47:14 2009 -0400 [SCSI] lpfc 8.3.1 : Fix up kernel-doc function comments Signed-off-by: James Smart Signed-off-by: James Bottomley commit e7ee4cc04b058d1eae9c1ac359031301b1798e3f Author: FUJITA Tomonori Date: Sat Apr 4 00:35:42 2009 +0900 [SCSI] sg: return EFAULT for an invalid user address blk_rq_unmap_user() returns EFAULT if a program passes an invalid address to kernel (the kernel fails to copy data to user space). sg needs to pass the returned value to user space instead of ignoring it. Before the block layer conversion, sg returns EFAULT properly. This restores the old behavior. Signed-off-by: FUJITA Tomonori Acked-by: Douglas Gilbert Signed-off-by: James Bottomley commit 96bcc722c47d07b6fd05c9d0cb3ab8ea5574c5b1 Author: Peter Jones Date: Fri Jul 11 16:17:05 2008 -0400 [SCSI] sr: report more accurate drive status after closing the tray. So, what's happening here is that the drive is reporting a sense of 2/4/1 ("logical unit is becoming ready") from sr_test_unit_ready(), and then we ask for the media event notification before checking that result at all. The check_media_event_descriptor() call isn't getting a check condition, but it's also reporting that the tray is closed and that there's no media. In actuality it doesn't yet know if there's media or not, but there's no way to express that in the media event status field. My current thought is that if it told us the device isn't yet ready, we should return that immediately, since there's nothing that'll tell us any more data than that reliably: Signed-off-by: James Bottomley commit fc76132b1e72efe45b5a5a693caadd54c3037f55 Author: Eric Miao Date: Mon Apr 13 11:06:49 2009 +0800 [ARM] pxa/littleton: add missing da9034 touchscreen support Signed-off-by: Eric Miao commit b49e385fc7cb4e6ed4206dfdab2b2579c5076120 Author: Eric Miao Date: Wed Apr 22 18:38:40 2009 +0800 [ARM] pxa/zylonite: configure GPIO18/19 correctly, used by 2 GPIO expanders Signed-off-by: Eric Miao commit 15fbc938576175eeb53798221f045d4ace52e5dc Author: Eric Miao Date: Wed Apr 22 18:34:36 2009 +0800 [ARM] pxa/zylonite: fix the issue of unused SDATA_IN_1 pin get AC97 not working GPIO17_SDATA_IN_1 and GPIO36_SDATA_IN_1 are originally designed for the 2nd codec but unused on the board, yet they are initialized incorrectly by the bootloader as the SDATA_IN_1 alternate function, thus causing AC97 fail to work. Fix this issue by configuring these pins as normal GPIO to avoid the noise from these pins being treated as signals from the 2nd codec. Signed-off-by: Eric Miao commit 3e36c0deea118e277f4ff9fa947bcde5f88426ca Author: Eric Miao Date: Fri Feb 6 16:49:23 2009 +0800 [ARM] pxa: make ads7846 on corgi and spitz to sync on HSYNC Signed-off-by: Eric Miao commit 36b5437f33fb95196bef2345dede39fdcab3e431 Author: Philipp Zabel Date: Fri Apr 17 11:37:10 2009 +0200 [ARM] pxa: remove unused CPU_FREQ_PXA Kconfig symbol cpufreq drivers for pxa2xx/3xx are now built-in automatically as soon as CPU_FREQ is enabled. Signed-off-by: Philipp Zabel Signed-off-by: Eric Miao commit fd87e081723089cba99df0b3d6f36ae2235c700a Author: Guennadi Liakhovetski Date: Thu Apr 16 11:23:08 2009 +0200 [ARM] pxa: remove duplicate select statements from Kconfig ARCH_PXA selects HAVE_CLK and COMMON_CLKDEV twice in arch/arm/Kconfig. Remove the second entry. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Eric Miao commit a8f6faebaf5b3f0f56b7c12a4f99d97c56938b37 Author: Eric Miao Date: Tue Apr 21 14:39:07 2009 +0800 [ARM] pxa: fix issue of muxed GPIO irq_chip functions touching non-muxed GPIOs pxa_gpio_irq_type() and pxa_unmask_muxed_gpio() will touch non-muxed GPIOs (0 and 1 on PXA2xx/PXA3xx) bits in GRERx and GFERx, which is incorrect. Actually, only those bits should get updated if the corresponding bits are set in c->irq_mask as well. Fix this by updating only those relevant bits. Reported-and-tested-by: Daniel Ribeiro Signed-off-by: Eric Miao commit 314eeac9e35d8b934dd7a09ed3a8e00d41977b84 Author: Joerg Roedel Date: Fri Apr 24 14:35:57 2009 +0200 dma-debug: remove broken dma memory leak detection for 2.6.30 The feature needs some more work because the notfier which is used to check for pending allocations is called before the device drivers ->remove() function. Therefore this feature reports false positives. A real fix for this issue is to introduce a new notifier event which sent _after_ the driver has deinitialized itself. That will done for the next kernel version. [ Impact: reduce the scope of CONFIG_DMA_API_DEBUG=y checks ] Signed-off-by: Joerg Roedel Cc: iommu@lists.linux-foundation.org LKML-Reference: <1240576557-22442-1-git-send-email-joerg.roedel@amd.com> Signed-off-by: Ingo Molnar commit 992d7ced75322307035a0e94074eb7188612a680 Author: Ming Lei Date: Fri Apr 24 23:10:06 2009 +0800 locking: Documentation: lockdep-design.txt, fix note of state bits From source code of get_usage_char(), the previous note is not correct, so fix it. static char get_usage_char(struct lock_class *class, enum lock_usage_bit bit) { char c = '.'; if (class->usage_mask & lock_flag(bit + 2))/*LOCK_ENABLED_##STATE*/ c = '+'; if (class->usage_mask & lock_flag(bit)) {/*LOCK_USED_IN_##STATE*/ c = '-'; if (class->usage_mask & lock_flag(bit + 2)) c = '?'; } return c; } note: 1) The 'bit' parameter always is passed as LOCK_USED_IN_##STATE or LOCK_USED_IN_##STATE_READ , from get_usage_chars(). Signed-off-by: Ming Lei LKML-Reference: <1240585806-5744-1-git-send-email-tom.leiming@gmail.com> Signed-off-by: Ingo Molnar commit 5876ee950f28612814cc4e01c5549718f8b79dce Author: Russell King Date: Sun Apr 26 13:56:01 2009 +0100 [ARM] lart: fix build error arch/arm/mach-sa1100/lart.c:36: error: 'PAGE_SHIFT' undeclared here (not in a function) Signed-off-by: Russell King commit 6b9ff696ba1176b6fca78d01fc590dd4335c8743 Author: Dmitry Torokhov Date: Fri Apr 24 12:01:47 2009 -0700 Input: lifebook - add DMI entry for Fujitsu B-2130 Although we already have entry for ZEPHYR the match is done on product name whereas B-2130 BIOS has it in board name. Reported-by: Yuriy Zhuravlev Signed-off-by: Dmitry Torokhov commit 0df283639d7f6aa8948516aabf0c48b4b486cda1 Merge: 9f5a691... 535ff67... Author: Russell King Date: Fri Apr 24 22:15:48 2009 +0100 Merge branch 'omap-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 commit 535ff672e3589a38f60567314bc2ae15b9ab2604 Merge: 846c29f... f248076... Author: Tony Lindgren Date: Fri Apr 24 09:56:16 2009 -0700 Merge branch 'omap-clock-fixes' into omap-fixes commit 3788f48a0fad246dbab826e8b2f07b403b0e3279 Author: Ben Skeggs Date: Mon Mar 2 10:37:44 2009 +1000 drm: cleanup properly in drm_get_dev() failure paths Signed-off-by: Ben Skeggs Signed-off-by: Dave Airlie commit 30ddbd94401a132f4d932775d1902b3c9a8c41b5 Author: Ben Skeggs Date: Mon Mar 2 11:13:04 2009 +1000 drm: clean the map list before destroying the hash table The hash tables contains some of the mapping so its really nice to have it for the deletion phase. Signed-off-by: Ben Skeggs Signed-off-by: Dave Airlie commit 400138bc8b9fca66d7d40511eaed2dc3a75426c8 Author: Jonas Bonn Date: Fri Apr 24 15:06:36 2009 +1000 drm: remove unreachable code in drm_sysfs.c This code was never going to get called in there. Signed-off-by: Jonas Bonn Signed-off-by: Dave Airlie commit 59738d5c974d81b566cb53c203f5db268b7b3545 Author: Jonas Bonn Date: Fri Apr 24 15:05:02 2009 +1000 drm: add control node checks missing from kms merge This line that checks the DRM_CONTROL_ALLOW flag was missed from the KMS merge. Re-add the check on the IOCTL, as this is currently the only use of this flag. Signed-off-by: Jonas Bonn Signed-off-by: Dave Airlie commit c964b129425c98cb37da365e772bdbe5281f3a05 Author: Dave Airlie Date: Wed Apr 22 18:32:56 2009 +1000 drm/kms: don't try to shortcut drm mode set function We have a drm_set_config which takes a crtc/encoder/mode setup, and checks it to see if it can shortcut and just do a base setup, or whether a complete mode setting is required. Signed-off-by: Dave Airlie commit e8a1344119f3787b822d110336e5dd33f6ffca70 Author: Maciej Cencora Date: Fri Apr 17 15:55:09 2009 +0200 drm/radeon: bump minor version for occlusion queries support We already added support, just need to let userspace know when it can use them. Signed-off-by: Maciej Cencora Signed-off-by: Dave Airlie commit f248076c0dad45b7e50f27096e1aac6a617665db Author: Paul Walmsley Date: Thu Apr 23 21:11:10 2009 -0600 OMAP2/3 GPTIMER: allow system tick GPTIMER to be changed in board-*.c files Add a function omap2_gp_clockevent_set_gptimer() for board-*.c files to use in .init_irq functions to configure the system tick GPTIMER. Practical choices at this point are GPTIMER1 or GPTIMER12. Both of these timers are in the WKUP powerdomain, and so are unaffected by chip power management. GPTIMER1 can use sys_clk as a source, for applications where a high-resolution timer is more important than power management. GPTIMER12 has the special property that it has the secure 32kHz oscillator as its source clock, which may be less prone to glitches than the off-chip 32kHz oscillator. But on HS devices, it may not be available for Linux use. It appears that most boards are fine with GPTIMER1, but BeagleBoard should use GPTIMER12 when using a 32KiHz timer source, due to hardware bugs in revisions B4 and below. Modify board-omap3beagle.c to use GPTIMER12. This patch originally used a Kbuild config option to select the GPTIMER, but was changed to allow this to be specified in board-*.c files, per Tony's request. Kalle Vallo found a bug in an earlier version of this patch - thanks Kalle. Tested on Beagle rev B4 ES2.1, with and without CONFIG_OMAP_32K_TIMER, and 3430SDP. Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren Cc: Kalle Valo commit 219c5b98d5eb86c75abc716087f494fe06c6b64e Author: Kevin Hilman Date: Thu Apr 23 21:11:08 2009 -0600 OMAP: dmtimer: enable all timers to be wakeup events All GP timers on OMAP2/3 can generate wakeup events. The wakeup status is cleared in the PRCM interrupt handler. Signed-off-by: Kevin Hilman Signed-off-by: Paul Walmsley commit 9198a40620fc69d577e854fb571e76af3313bc53 Author: Paul Walmsley Date: Thu Apr 23 21:11:08 2009 -0600 OMAP3 GPTIMER: fix GPTIMER12 IRQ GPTIMER12 IRQ is at IRQ 95 on OMAP3, unlike OMAP2. (ref: OMAP34xx Multimedia High Security (HS) Device Silicon Revision 3.0 Security Addendum Rev. B, SWPU119B) Signed-off-by: Paul Walmsley Signed-off-by: Tony Lindgren commit d53eb73795c55101453ea6ca4f486ea2ff7b0496 Author: Arun KS Date: Thu Apr 23 21:11:07 2009 -0600 OMAP1: clock: Typo fix for clock in omap1 Typo error when requesting for clock for dsp in omap1 Signed-off-by: Arun KS Signed-off-by: Paul Walmsley commit 9e53dd7180a1fd59a785dbfb9c633f01c96c388f Author: Sergio Aguirre Date: Thu Apr 23 21:11:07 2009 -0600 OMAP3: clock: Camera module doesn't have IDLEST bit This patch avoids waiting for the camera module to become ready, since it doesn't have IDLEST bit. Based on a earlier hack done by Paul Walmsley on Sep 9 2008 on linux-omap tree. Signed-off-by: Sergio Aguirre Signed-off-by: Paul Walmsley commit 15ca78f7925899fee7bc265651a69ab51f449eea Author: Paul Walmsley Date: Thu Apr 23 21:11:06 2009 -0600 OMAP2xxx clock: fix broken cpu_mask code Commit 8ad8ff6548f1c0bcbeaa02f274b3927c5015a921 breaks the OMAP2xxx cpu_mask code, which causes OMAP2xxx to panic on boot. Fix by removing the cpu_mask auto variable and by changing CK_242X and CK_243X to use RATE_IN_242X/RATE_IN_243X. Resolves <1>Unable to handle kernel NULL pointer dereference at virtual address 0000000c <1>pgd = c0004000 <1>[0000000c] *pgd=00000000 Internal error: Oops: 5 [#1] Modules linked in: CPU: 0 Not tainted (2.6.29-omap1 #32) PC is at omap2_clk_set_parent+0x104/0x120 LR is at omap2_clk_set_parent+0x28/0x120 Signed-off-by: Paul Walmsley Tested-by: Jarkko Nikula Cc: Russell King commit b75d17285b9de74a0f19e64e1389efcc6626d3fc Author: Dmitry Torokhov Date: Thu Apr 23 19:25:51 2009 -0700 Input: ALPS - add signature for Toshiba Satellite Pro M10 This toshiba has a touchpad with trackpoint and 2 sets of left and right buttons (above and below touchpad). Signed-off-by: Dmitry Torokhov commit a5a0a630922a2f6a774b6dac19f70cb5abd86bb0 Author: Sunil Mushran Date: Mon Apr 20 21:34:18 2009 -0700 ocfs2: Add missing iput() during error handling in ocfs2_dentry_attach_lock() In ocfs2_dentry_attach_lock(), if unable to get the dentry lock, we need to call iput(inode) because a failure here means no d_instantiate(), which means the normally matching iput() will not be called during dput(dentry). This patch fixes the oops that accompanies the following message: (3996,1):dlm_empty_lockres:2708 ERROR: lockres W00000000000000000a1046b06a4382 still has local locks! kernel BUG in dlm_empty_lockres at /rpmbuild/smushran/BUILD/ocfs2-1.4.2/fs/ocfs2/dlm/dlmmaster.c:2709! Signed-off-by: Sunil Mushran Signed-off-by: Joel Becker commit 846c29f109fc27bd93817271689a752afc9168f8 Author: Roger Quadros Date: Thu Apr 23 11:10:50 2009 -0700 ARM: OMAP3: Clean up spurious interrupt check logic SPURIOUSIRQ is contained in bits 31:7 of INTC_SIR, so INTC_SIR must be right shifted by 7, not 6. No change in logic, only changes for better readability. Refer to register definition of INTCPS_SIR_IRQ in OMAP3 Manual. Signed-off-by: Roger Quadros Signed-off-by: Tony Lindgren commit bedfd15410a331e4183d3d926bb944682cad61f3 Author: Roger Quadros Date: Thu Apr 23 11:10:50 2009 -0700 ARM: OMAP3: Fixed spurious IRQ issue for GPIO interrupts Flush posted write to IRQSTATUS register in GPIO IRQ handler. This eliminates the below error for all peripherals that use GPIO interrupts. <4>Spurious irq 95: 0xffffffdf, please flush posted write for irq 31 Signed-off-by: Roger Quadros Signed-off-by: Tony Lindgren commit c485ab50dd90412d88e25ed30b4e0d5ff636ffe2 Author: Huang Weiyi Date: Thu Apr 23 11:10:49 2009 -0700 ARM: OMAP3: remove duplicated #include Removed duplicated #include in arch/arm/mach-omap2/board-rx51.c. Signed-off-by: Huang Weiyi Signed-off-by: Tony Lindgren commit b3bb4f688c225d9455bbd59e98f634f98c1074d0 Author: Kevin Hilman Date: Thu Apr 23 11:10:49 2009 -0700 ARM: OMAP2/3: GPIO: do not attempt to wake-enable The GPIO IRQ enable/disable path attempts to also enable IRQ wake support for the parent GPIO bank IRQ as well. However, since there is no 'set_wake' hook for the bank IRQs, these calls will always fail. Also, since the enable will fail on the suspend path, the disable on the resume path will trigger unbalanced enable/disable warnings. This was discovered in the suspend/resume path on OMAP3/Beagle using the gpio-keys driver which disables/re-enables GPIO IRQ wakeups in the suspend/resume path. Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit d94a2eddf50c4aa1553acf3025f45d03704a1f97 Author: Roel Kluin Date: Thu Apr 23 11:10:49 2009 -0700 ARM: OMAP2: possible division by 0 In linus' git tree the functions can be found at: vi arch/arm/mach-omap2/usb-tusb6010.c +200 - tusb6010_platform_retime() vi arch/arm/mach-omap2/gpmc.c +94 - gpmc_get_fclk_period() vi arch/arm/mach-omap2/usb-tusb6010.c +53 - tusb_set_async_mode() vi arch/arm/mach-omap2/usb-tusb6010.c +111 - tusb_set_sync_mode() is -ENODEV appropriate when sysclk_ps == 0? This was found by code analysis, please review. ------------------------------>8-------------8<--------------------------------- gpmc_get_fclk_period() may return 0 when gpmc_l3_clk is not enabled. This is not checked in tusb6010_platform_retime() nor in tusb_set_async_mode() it seems. In tusb_set_sync_mode() this may result in a division by zero. Signed-off-by: Roel Kluin Signed-off-by: Tony Lindgren commit 6b7bff3169192e2870f68f47fde25a22e136918e Author: Jarkko Nikula Date: Thu Apr 23 11:10:48 2009 -0700 ARM: OMAP2: Remove defines and resource init for OMAP24XX EAC There is no anymore legacy driver for OMAP24XX Enhanced Audio Controller in linux-omap and it was newer in mainline so cleanup these unneeded defines and initialization code. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit bac5b29fb9582df22b4c1386162ac31b62edf121 Author: Ladislav Michl Date: Thu Apr 23 11:10:48 2009 -0700 ARM: OMAP1: Fix mmc_set_power GPIO usage Simple simplification... Signed-off-by: Ladislav Michl Signed-off-by: Tony Lindgren commit 6a3260755fc0d86adacd912e3acf40e9ac5bbe2e Author: Ladislav Michl Date: Thu Apr 23 11:10:47 2009 -0700 ARM: OMAP1: Simplify board-h2 MMC setup Simplify board-h2 MMC setup Signed-off-by: Ladislav Michl Signed-off-by: Tony Lindgren commit 1748ae0e95760d62de501743f883af6833f33357 Author: Ladislav Michl Date: Thu Apr 23 11:10:44 2009 -0700 ARM: OMAP: MMC: Remove unused power_pin Remove unused power_pin Signed-off-by: Ladislav Michl Signed-off-by: Tony Lindgren commit ba16ec7cabb3f1aa7bbcb7b9982c4402a2e8ec02 Author: Tony Lindgren Date: Thu Apr 23 11:10:40 2009 -0700 ARM: OMAP: Remove old dead gpio expander code This should be done with GPIO calls. Patches against the mainline tree welcome to add the necessary working functionality back. Signed-off-by: Tony Lindgren commit da1b94e6a68e1bdeb9cdda016cceb17228b37d25 Author: Santosh Shilimkar Date: Thu Apr 23 11:10:40 2009 -0700 ARM: OMAP: Fix for possible race condition in omap_free_dma() Fix the possible race condition in omap_free_dma(). Function omap_free_dma() sets the dev_id = -1 and then accesses the channel afterwards to clear it. But setting the dev_id=-1 makes the channel available for allocation again. So it is possible someone else can grab it and results are unpredictable. To avod this DMA channle is cleared first and then the dev_id = -1 is set. Thanks to McNeil, Sean for ointing out this issue. Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit f5c122da543ebf98a5ccb3166768e38eea3120dd Author: Kevin Hilman Date: Tue Apr 14 07:04:16 2009 -0500 davinci: add arch_ioremap() which uses existing static mappings Add arch-specific ioremap() which uses any existing static mappings in place of doing a new mapping. From now on, drivers should always use ioremap() instead of IO_ADDRESS(). In addition, remove the davinci_[read|write]* macros in favor of using ioremap. Signed-off-by: Kevin Hilman commit c5b736d093217890245a33e9a98fe92d6f3529bf Author: Kevin Hilman Date: Fri Mar 20 17:29:01 2009 -0700 davinci: major rework of clock, PLL, PSC infrastructure This is a significant rework of the low-level clock, PLL and Power Sleep Controller (PSC) implementation for the DaVinci family. The primary goal is to have better modeling if the hardware clocks and features with the aim of DVFS functionality. Highlights: - model PLLs and all PLL-derived clocks - model parent/child relationships of PLLs and clocks - convert to new clkdev layer - view clock frequency and refcount via /proc/davinci_clocks Special thanks to significant contributions and testing by David Brownell. Cc: David Brownell Signed-off-by: Kevin Hilman commit e653034e66ec406f37427f588115badc6fc6af64 Author: Kevin Hilman Date: Fri Mar 20 17:37:21 2009 -0700 davinci: add runtime CPU detection support Signed-off-by: Kevin Hilman commit 9232fcc99948e39d5be04fc1c1025bd4f7998739 Author: Kevin Hilman Date: Wed Apr 8 14:49:38 2009 -0700 davinci: add default Kconfig, add HAVE_IDE Signed-off-by: Kevin Hilman commit c8088112fd96ad8b0f0bcd2f168fe6a17bf3cb41 Author: Paul Walmsley Date: Wed Apr 22 19:48:53 2009 -0600 OMAP2xxx clock: pre-initialize struct clks early Commit 3f0a820c4c0b4670fb5f164baa5582e23c2ef118 breaks OMAP2xxx boot during initial propagate_rate() on osc_ck and sys_ck. Fix by pre-initializing all struct clks before running any other clock init code. Incorporates review comments from Russell King . Resolves <1>Unable to handle kernel NULL pointer dereference at virtual address 00000000 <1>pgd = c0004000 <1>[00000000] *pgd=00000000 Internal error: Oops: 5 [#1] Modules linked in: CPU: 0 Not tainted (2.6.29-omap1 #37) PC is at propagate_rate+0x10/0x60 LR is at omap2_clk_init+0x30/0x218 ... Signed-off-by: Paul Walmsley Tested-by: Jarkko Nikula Cc: Russell King commit 5679af4c1625a1534a4321e1ecc3c48a1cf65eb8 Author: Andi Kleen Date: Tue Apr 7 17:06:55 2009 +0200 x86, mce: fix boot logging logic The earlier patch to change the poller to a separate function subtly broke the boot logging logic. This could lead to machine checks getting logged at boot even when disabled or defaulting to off on some systems. Fix that. [ Impact: bug fix - avoid spurious MCE in log ] Signed-off-by: Andi Kleen Reviewed-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 6298c512bc1007c3ff5c9ce20e6996781651cc45 Author: Andi Kleen Date: Thu Apr 9 12:28:22 2009 +0200 x86, mce: make polling timer interval per CPU The polling timer while running per CPU still uses a global next_interval variable, which lead to some CPUs either polling too fast or too slow. This was not a serious problem because all errors get picked up eventually, but it's still better to avoid it. Turn next_interval into a per cpu variable. v2: Fix check_interval == 0 case (Hidetoshi Seto) [ Impact: minor bug fix ] Signed-off-by: Andi Kleen Reviewed-by: Hidetoshi Seto Signed-off-by: H. Peter Anvin commit 5b09b507daaa882d888b6cd78ee89ba9caace44b Author: Joel Becker Date: Tue Apr 21 16:31:20 2009 -0700 ocfs2: Fix some printk() warnings. The old %llu vs u64 battle. Cast them correctly. Signed-off-by: Joel Becker commit 0fba813748f16f4eaf24d492c505226c4026d58f Author: Tao Ma Date: Thu Mar 19 05:08:43 2009 +0800 ocfs2: Fix 2 warning during ocfs2 make. fs/ocfs2/dir.c: In function ‘ocfs2_extend_dir’: fs/ocfs2/dir.c:2700: warning: ‘ret’ may be used uninitialized in this function fs/ocfs2/suballoc.c: In function ‘ocfs2_get_suballoc_slot_bit’: fs/ocfs2/suballoc.c:2216: warning: comparison is always true due to limited range of data type Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 3c48f23adada870db612a0dd3488605c4af5c0a5 Author: Subrata Modak Date: Sun Apr 19 01:10:03 2009 +0530 configfs: Fix Trivial Warning in fs/configfs/symlink.c I observed the following build warning with fs/configfs/symlink.c: fs/configfs/symlink.c: In function 'configfs_symlink': fs/configfs/symlink.c:138: warning: 'target_item' may be used uninitialized in this function Here is a small fix for this. Cc: Patrick Mochel Cc: Balbir Singh Cc: Sachin P Sant Signed-Off-By: Subrata Modak Signed-off-by: Joel Becker commit b2546df69b6bef19513112fd54ffb5d37cb3eb7a Author: Arjan Opmeer Date: Sat Apr 18 19:10:17 2009 -0700 Input: elantech - make sure touchpad is really in absolute mode There exist laptops with Elantech touchpads where switching to absolute mode does not happen, although writing the configuration register succeeds without error. Reading back the register afterwards reveils that the absolute mode bit is not set as if masked out by the touchpad firmware. Always read back register 0x10, make sure that for hardware version 1 the absolute mode bit is actually set and fail otherwise. This prevents the case where the touchpad is claimed by the Elantech driver but is nonetheless not working. Signed-off-by: Arjan Opmeer Signed-off-by: Dmitry Torokhov commit 3f8c0df43dec51fbdfb2627f7574aa00a5fce98c Author: Arjan Opmeer Date: Sat Apr 18 19:05:40 2009 -0700 Input: elantech - provide a workaround for jumpy cursor on firmware 2.34 It seems that Elantech touchpad firmware version 2.34 on the Hercules eCAFÉ suffers from a problem where bogus coordinates get reported at the beginning of a touch action. This causes the mouse cursor or the scrolled page to jump. Included patch provides a workaround that discards mouse packets that are likely to contain bogus coordinates. The workaround is activated when we detect touchpad with fimware version 2.34. Signed-off-by: Arjan Opmeer Signed-off-by: Dmitry Torokhov commit 3deb649e654ff87b87de9e415ac43ca8afbdff07 Author: Ben Nizette Date: Fri Apr 17 20:35:58 2009 -0700 Input: ucb1400 - use disable_irq_nosync() in irq handler disable_irq() waits for all running handlers to complete before returning. As such, if it's used to disable an interrupt from that interrupt's handler it will deadlock. This replaces the dangerous instances with the _nosync() variant which doesn't have this problem. Signed-off-by: Ben Nizette Signed-off-by: Dmitry Torokhov commit 29fa98bd9b50b5e9c17d99e961640ffafb765d71 Author: Ben Nizette Date: Fri Apr 17 20:35:57 2009 -0700 Input: tsc2007 - use disable_irq_nosync() in irq handler disable_irq() waits for all running handlers to complete before returning. As such, if it's used to disable an interrupt from that interrupt's handler it will deadlock. This replaces the dangerous instances with the _nosync() variant which doesn't have this problem. Signed-off-by: Ben Nizette Signed-off-by: Dmitry Torokhov commit e4bd3e591c8cc52ccf7a0b27f33aa7a5a19058d7 Author: Ben Nizette Date: Fri Apr 17 20:35:57 2009 -0700 Input: sa1111ps2 - use disable_irq_nosync() in irq handlers disable_irq() waits for all running handlers to complete before returning. As such, if it's used to disable an interrupt from that interrupt's handler it will deadlock. This replaces the dangerous instances with the _nosync() variant which doesn't have this problem. Signed-off-by: Ben Nizette Signed-off-by: Dmitry Torokhov commit 0f751719e4e689efbe537233552e5f0529ecb8ce Author: Ben Nizette Date: Fri Apr 17 20:35:57 2009 -0700 Input: omap-keypad - use disable_irq_nosync() in irq handler disable_irq() waits for all running handlers to complete before returning. As such, if it's used to disable an interrupt from that interrupt's handler it will deadlock. This replaces the dangerous instances with the _nosync() variant which doesn't have this problem. Signed-off-by: Ben Nizette Signed-off-by: Dmitry Torokhov commit 243b706d8a71364ad6080328d45b73516c8af5f3 Author: Christophe Borivant Date: Fri Apr 17 11:39:39 2009 +0200 HID: Add support for the G25 force feedback wheel in native mode Add Product Id 0xc299 for the Logitech G25 force feedback wheel The Logitech G25 force feedback wheel, is first recognize by the kernel with the product id "0xc294". In this mode, we can't use all the axes and buttons of the wheel. Using a userland utility, it is possible to make the wheel switch to native mode -- http://svn.vdrift.net/viewvc.cgi/trunk/tools/G25manage/?root=VDrift In native mode, the wheel change its id number to "0xc299". The packet that needs to be sent to the wheel to swtich to native mode and change its PID is { 0xf8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00 } Signed-off-by: Christophe Borivant Signed-off-by: Jiri Kosina commit 035a571120ddbe4f92b91bbe46f3eff05b6e43eb Author: Tao Ma Date: Tue Apr 7 07:40:57 2009 +0800 ocfs2: Reserve 1 more cluster in expanding_inline_dir for indexed dir. In ocfs2_expand_inline_dir, we calculate whether we need 1 extra cluster if we can't store the dx inline the root and save it in dx_alloc. So add it when we call ocfs2_reserve_clusters. Signed-off-by: Tao Ma Signed-off-by: Mark Fasheh commit 38089c658bf372adc2bd7b3597fceac0c7cecca6 Author: Dan Carpenter Date: Tue Apr 7 16:35:56 2009 +0200 HID: hidraw -- fix missing unlocks in unlocked_ioctl There were 2 places that returned directly instead of releasing their locks. I sent a fix for this file earlier but ended up missing these spots. I think what happened is that I have improved my checker script since then... Or maybe I just screwed up. Signed-off-by: Dan Carpenter Signed-off-by: Jiri Kosina commit 1bab88b2310998de18b32529a27ea835d164254a Author: Latchesar Ionkov Date: Sun Apr 5 16:28:59 2009 -0500 net/9p: handle correctly interrupted 9P requests Currently the 9p code crashes when a operation is interrupted, i.e. for example when the user presses ^C while reading from a file. This patch fixes the code that is responsible for interruption and flushing of 9P operations. Signed-off-by: Latchesar Ionkov commit 742b11a7ec60faa25d76c95c268041ab215c25ad Author: Latchesar Ionkov Date: Sun Apr 5 16:26:41 2009 -0500 net/9p: return error when p9_client_stat fails p9_client_stat function doesn't return correct value if it fails. p9_client_stat should return ERR_PTR of the error value when it fails. Instead, it always returns a value to the allocated p9_wstat struct even when it is not populated correctly. This patch makes p9_client_stat to handle failure correctly. Signed-off-by: Latchesar Ionkov Reviewed-by: Eric Van Hensbergen commit 453ed90d1395a5281a8f1a0de5d8aabc66202e34 Author: Latchesar Ionkov Date: Sun Apr 5 16:22:16 2009 -0500 net/9p: set correct stat size when sending Twstat messages The 9P2000 Twstat message requires the size of the stat structure to be specified. Currently the 9p code writes zero instead of the actual size. This behavior confuses some of the file servers that check if the size is correct. This patch adds a new function that calculcates the stat size and puts the value in the appropriate place in the 9P message. Signed-off-by: Latchesar Ionkov Reviewed-by: Eric Van Hensbergen