commit 156171c71a0dc4bce12b4408bb1591f8fe32dc1a Author: Linus Torvalds Date: Thu Nov 12 16:46:07 2009 -0800 Linux 2.6.32-rc7 commit 031fc8f313f55595c677c50b1d6d5c410fadee60 Merge: e04b5ef b029839 Author: Linus Torvalds Date: Thu Nov 12 14:57:15 2009 -0800 Merge branch 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6 * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: omap3: Decrease cpufreq transition latency omap3: update Pandora defconfig omap3: 3430sdp: Enable Linux Regulator framework omap3: beagle: Fix USB host port power control omap3: pandora: Fix keypad keymap omap1: Amstrad Delta defconfig fixes omap: Fix omapfb/lcdc on OMAP1510 broken when PM set omap: Use resource_size omap: Fix race condition in omap dma driver commit e04b5ef8b49db87d01a9b3a47fe41a918a0c0ff5 Author: Mike Hommey Date: Wed Nov 11 14:26:55 2009 -0800 __generic_block_fiemap(): fix for files bigger than 4GB Because of an integer overflow on start_blk, various kind of wrong results would be returned by the generic_block_fiemap() handler, such as no extents when there is a 4GB+ hole at the beginning of the file, or wrong fe_logical when an extent starts after the first 4GB. Signed-off-by: Mike Hommey Cc: Alexander Viro Cc: Steven Whitehouse Cc: Theodore Ts'o Cc: Eric Sandeen Cc: Josef Bacik Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 276b282e904f690dc930f9bc946110651f297669 Author: Rodolfo Giometti Date: Wed Nov 11 14:26:54 2009 -0800 pps: events reporting fix up PPS events must be recorded according to PPS's mode settings. If a process asks for (i.e.) capture-assert events only, when the PPS client calls the pps_event() function to save the current PPS event, we should verify the event type and then discard unwanted ones. Also, without this patch userland processes waiting for a specific PPS event (assert or clear but not both) may be awakened at wrong time. Signed-off-by: Rodolfo Giometti Tested-by: William S. Brasher Tested-by: Reg Clemens Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbf83cc5a29dba480cf1ba1c5e3417a0d4a31410 Author: Rodolfo Giometti Date: Wed Nov 11 14:26:52 2009 -0800 pps: locking scheme fix up for PPS_GETPARAMS Userland programs may read/write PPS parameters at same time and these operations may corrupt PPS data. Signed-off-by: Rodolfo Giometti Tested-by: Reg Clemens Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69fd8d24673a8f4f8be5db7f84b5dc9e4ff354c8 Author: Pavel Machek Date: Wed Nov 11 14:26:51 2009 -0800 drivers/video/msm: update to new kernel TASK_INTERRUPTIBLE and friends are now only available after including , so include it when needed. bus_id is no longer available/necessary, so remove that. Android pmem driver is not available in mainline, so remove its hooks from drivers/video. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d62668e1dd830a81ef73ec73386b420cb2a9ca62 Author: Sergei Shtylyov Date: Wed Nov 11 14:26:50 2009 -0800 gpiolib: fix device_create() result check In case of failure, device_create() returns not NULL but the error code. The current code checks for non-NULL though which causes kernel oops in sysfs_create_group() when device_create() fails. Check for error using IS_ERR() and propagate the error value using PTR_ERR() instead of fixed -ENODEV code returned now... Signed-off-by: Sergei Shtylyov Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcb3a1676b87effbdeffe8da5c44f63433d158d9 Author: Scott Valentine Date: Wed Nov 11 14:26:49 2009 -0800 rtc: v3020: fix v3020_mmio_read_bit() v3020_mmio_read_bit() always returns 0 when left_shift > 7. v3020_mmio_read_bit()'s return type is (unsigned char). The code returns a value masked by (1 << left_shift) that is casted to the return type. If left_shift is larger than 7, the cast will always result in a 0 return value. The problem was discovered with left_shift = 16, and the included patch corrects the problem. The bug was introduced in the last (Apr 3 2009) commit of the file, kernel versions 2.6.30 and later. Cc: Alessandro Zummo Cc: Paul Gortmaker Cc: Raphael Assenat Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61df33370c52633b47d794f5e024eb15ca9a2efe Author: Yoichi Yuasa Date: Wed Nov 11 14:26:48 2009 -0800 rtc-vr41xx: fix do_div() warning drivers/rtc/rtc-vr41xx.c: In function 'vr41xx_rtc_irq_set_freq': drivers/rtc/rtc-vr41xx.c:217: warning: comparison of distinct pointer types lacks a cast drivers/rtc/rtc-vr41xx.c:217: warning: right shift count >= width of type drivers/rtc/rtc-vr41xx.c:217: warning: passing argument 1 of '__div64_32' from incompatible pointer type include/asm-generic/div64.h:35: note: expected 'uint64_t *' but argument is of type 'long unsigned int *' Signed-off-by: Yoichi Yuasa Cc: Alessandro Zummo Cc: Paul Gortmaker Cc: Paul Mundt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc63cf237078c86214abcb2ee9926d8ad289da9b Author: Anton Blanchard Date: Wed Nov 11 14:26:48 2009 -0800 exec: setup_arg_pages() fails to return errors In setup_arg_pages we work hard to assign a value to ret, but on exit we always return 0. Also remove a now duplicated exit path and branch to out_unlock instead. Signed-off-by: Anton Blanchard Acked-by: Serge Hallyn Reviewed-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93f40e6f1493ae0c1e04760b221c125ef5e47205 Author: Guennadi Liakhovetski Date: Wed Nov 11 14:26:47 2009 -0800 fb: put framebuffer drivers back under the "frame buffer devices" menu The config FB_PRE_INIT_FB entry in drivers/video/Kconfig pushes all entries below it out of the menuconfig selection. Fix this. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df69f0da187815bc116860be4a29c7c953d22c5a Author: Joe Perches Date: Wed Nov 11 14:26:46 2009 -0800 MAINTAINERS: correct SECURITY SUBSYSTEM git entry Use git.kernel.org not www.kernel.org Signed-off-by: Joe Perches Cc: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34693710601146d683018a14817f93791dfb2737 Author: Joe Perches Date: Wed Nov 11 14:26:45 2009 -0800 MAINTAINERS: correct NETFILTER git entry format Signed-off-by: Joe Perches Cc: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eeba444a5d5646553c094f79235b50e757aa1424 Author: Joe Perches Date: Wed Nov 11 14:26:44 2009 -0800 MAINTAINERS: correct 9P FILE SYSTEM git entry Signed-off-by: Joe Perches Cc: Latchesar Ionkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49c1d9da1c83b83e4ed65bb84326835cdb3e7327 Author: Ladislav Michl Date: Wed Nov 11 14:26:43 2009 -0800 mmci-omap: free irq resource Free IRQ on remove. Signed-off-by: Ladislav Michl Acked-by: Tony Lindgren Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b87e5e2b8ed9336566100c8c796ab6dd52436881 Author: Lennert Buytenhek Date: Wed Nov 11 14:26:42 2009 -0800 serial: add support for the Lava Quattro PCI quad-port 16550A card This seems to be a different model (with a different PCI ID) than the "Quatro" card that is also in the list. Signed-off-by: Lennert Buytenhek Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80647b959f97fa20a4714dde3e07b7f69d896556 Author: Lennert Buytenhek Date: Wed Nov 11 14:26:41 2009 -0800 serial: fix printk format specifiers for struct uart_port::iobase struct uart_port::iobase is unsigned long, so use %lx as printk format specifier. Signed-off-by: Lennert Buytenhek Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05f45d7d746d07c95588871abf933334856c1a3b Author: Werner Almesberger Date: Wed Nov 11 14:26:40 2009 -0800 rtc: pcf50633: consider alrm->enable in pcf50633_rtc_set_alarm According to Documentation/rtc.txt, RTC_WKALM_SET sets the alarm time and enables/disables the alarm. We implement RTC_WKALM_SET through pcf50633_rtc_set_alarm. The enabling/disabling part was missing. Signed-off-by: Werner Almesberger Reported-by: Michael 'Mickey' Lauer Signed-off-by: Paul Fertser Cc: Paul Gortmaker Cc: Balaji Rao Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 265f2a057bf6b567a32bb16dc8b1765cf0555d9f Author: Rask Ingemann Lambertsen Date: Wed Nov 11 14:26:36 2009 -0800 rtc: pcf50633: fix month off-by-one error The PCF50633 stores a month value of 1-12, but the kernel wants 0-11. Signed-off-by: Rask Ingemann Lambertsen Signed-off-by: Paul Fertser Cc: Paul Gortmaker Cc: Balaji Rao Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 431861cfab0c8613f83bac0f41dae22ff74f9bc1 Author: Nicolas Ferre Date: Wed Nov 11 14:26:35 2009 -0800 atmel_lcdfb: new alternate pixel clock formula at91sam9g45 non ES lots have an alternate pixel clock calculation formula. Introduce this one with condition on the cpu_is_xxxxx() macros. Newer 9g45 SOC will not have good pixel clock calculation without this fix. Signed-off-by: Nicolas Ferre Cc: Krzysztof Helt Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7779d7bed950a7fb1af4f540c2f82a6b81b65901 Author: Heiko Carstens Date: Wed Nov 11 14:26:34 2009 -0800 fs: add missing compat_ptr handling for FS_IOC_RESVSP ioctl For FS_IOC_RESVSP and FS_IOC_RESVSP64 compat_sys_ioctl() uses its arg argument as a pointer to userspace. However it is missing a a call to compat_ptr() which will do a proper pointer conversion. This was introduced with 3e63cbb1 "fs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls". Signed-off-by: Heiko Carstens Cc: Ankit Jain Acked-by: Christoph Hellwig Cc: Al Viro Acked-by: Arnd Bergmann Acked-by: David S. Miller Cc: [2.6.31.x] Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29f12ca32122db98481150be09d35bd72b68045e Author: Sukadev Bhattiprolu Date: Wed Nov 11 14:26:32 2009 -0800 pidns: fix a leak in /proc dentries and inodes with pid namespaces. Daniel Lezcano reported a leak in 'struct pid' and 'struct pid_namespace' that is discussed in: http://lkml.org/lkml/2009/10/2/159. To summarize the thread, when container-init is terminated, it sets the PF_EXITING flag, zaps other processes in the container and waits to reap them. As a part of reaping, the container-init should flush any /proc dentries associated with the processes. But because the container-init is itself exiting and the following PF_EXITING check, the dentries are not flushed, resulting in leak in /proc inodes and dentries. This fix reverts the commit 7766755a2f249e7e0 ("Fix /proc dcache deadlock in do_exit") which introduced the check for PF_EXITING. At the time of the commit, shrink_dcache_parent() flushed dentries from other filesystems also and could have caused a deadlock which the commit fixed. But as pointed out by Eric Biederman, after commit 0feae5c47aabdde59, shrink_dcache_parent() no longer affects other filesystems. So reverting the commit is now safe. As pointed out by Jan Kara, the leak is not as critical since the unclaimed space will be reclaimed under memory pressure or by: echo 3 > /proc/sys/vm/drop_caches But since this check is no longer required, its best to remove it. Signed-off-by: Sukadev Bhattiprolu Reported-by: Daniel Lezcano Acked-by: Eric W. Biederman Acked-by: Jan Kara Cc: Andrea Arcangeli Cc: Serge Hallyn Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15f3c476589c8778b0c10f1fb5160f9107c69556 Author: Andrew Morton Date: Wed Nov 11 14:26:30 2009 -0800 alpha: move THREAD_SIZE definition outside #ifndef ASSEMBLY arch/alpha/kernel/vmlinux.lds.S uses it: arch/alpha/kernel/vmlinux.lds:241: undefined symbol `THREAD_SIZE' referenced in expression Seems to have been caused by commit 9d93f00580243cc059510d9d6ac4d2f5e97e5b83 Author: Geoffrey Thomas AuthorDate: Thu Sep 24 10:36:26 2009 -0400 Commit: Linus Torvalds CommitDate: Thu Sep 24 17:16:22 2009 -0700 alpha: Clean up linker script using new linker script macros. Note that .data.page_aligned and .data.cacheline_aligned are now after _data; it was probably a bug that they were before it. Also, some explicit ALIGN(8)'s between various initcall sections were removed; this should be harmless as the implicit alignment of initcall_t was already 8. Cc: Geoffrey Thomas Cc: Tim Abbott Cc: Ivan Kokshaysky Cc: Sam Ravnborg Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71ccb83cfc487354d2647e315c8196e5872198ab Author: Peter Zijlstra Date: Wed Nov 11 14:26:27 2009 -0800 alpha: fix F_SETOWN_EX and F_GETLK64 conflict Fix a bug in commit ba0a6c9f6fceed11c6a99e8326f0477fe383e6b5 Author: Peter Zijlstra AuthorDate: Wed Sep 23 15:57:03 2009 -0700 Commit: Linus Torvalds CommitDate: Thu Sep 24 07:21:01 2009 -0700 fcntl: add F_[SG]ETOWN_EX In asm-generic/fcntl.h, F_SETOWN_EX and F_GETLK64 both have value 12, and F_GETOWN_EX and F_SETLK64 both have value 13. Reported-by: "Joseph S. Myers" Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Andreas Schwab Signed-off-by: Peter Zijlstra Acked-by: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e00e431612c3a6e437a01f2129fd3843da0c982a Author: KAMEZAWA Hiroyuki Date: Wed Nov 11 14:26:26 2009 -0800 memcg: fix wrong pointer initialization at page migration when memcg is disabled. Lee Schermerhorn reported that he saw bad pointer dereference in mem_cgroup_end_migration() when he disabled memcg by boot option. memcg's page migration logic works as mem_cgroup_prepare_migration(page, &ptr); do page migration mem_cgroup_end_migration(page, ptr); Now, ptr is not initialized in prepare_migration when memcg is disabled by boot option. This causes panic in end_migration. This patch fixes it. Reported-by: Lee Schermerhorn Cc: Balbir Singh Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Daisuke Nishimura Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9f9d4706cb1b706f89f98ea6ead41ebecdefbc2 Author: Krzysztof Helt Date: Wed Nov 11 14:26:25 2009 -0800 savagefb: fix blanking mode on CRT display Fix wrong bit mask for blanking register. Due to the error a CRT monitor blanks off due to wrong frequency (out of range) instead of PM signal (vertical and horizontal frequencies cut off). Just compare the mask with bits set in the switch(blank) clause below the changed line. Signed-off-by: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5c15d0b37ab1cd3969b8ce7828ab41c79f36f77 Author: Krzysztof Helt Date: Wed Nov 11 14:26:22 2009 -0800 fb: remove fb_save_state() and fb_restore_state operations Remove fb_save_state() and fb_restore_state operations from frame buffer layer. They are used only in two drivers: 1. savagefb - and cause bug #11248 2. uvesafb Usage of these operations is misunderstood in both drivers so kill these operations, fix the bug #11248 and avoid confusion in the future. Tested on Savage 3D/MV card and the patch fixes the bug #11248. The frame buffer layer uses these funtions during switch between graphics and text mode of the console, but these drivers saves state before switching of the frame buffer (in the fb_open) and after releasing it (in the fb_release). This defeats the purpose of these operations. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11248 Signed-off-by: Krzysztof Helt Reported-by: Jochen Hein Tested-by: Jochen Hein Cc: Geert Uytterhoeven Cc: Michal Januszewski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d0ed60fe9cd1fbf57f755cd27a23ae9114d7210 Author: Mel Gorman Date: Wed Nov 11 14:26:17 2009 -0800 page allocator: Do not allow interrupts to use ALLOC_HARDER Commit 341ce06f69abfafa31b9468410a13dbd60e2b237 ("page allocator: calculate the alloc_flags for allocation only once") altered watermark logic slightly by allowing rt_tasks that are handling an interrupt to set ALLOC_HARDER. This patch brings the watermark logic more in line with 2.6.30. This change results in a reduction of the number high-order GFP_ATOMIC allocation failures reported. See http://www.gossamer-threads.com/lists/linux/kernel/1144153 [rientjes@google.com: Spotted the problem] Signed-off-by: Mel Gorman Reviewed-by: Pekka Enberg Reviewed-by: Rik van Riel Reviewed-by: KOSAKI Motohiro Cc: David Rientjes Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc4a6851466039a8a688c843962a05689059ff3b Author: Mel Gorman Date: Wed Nov 11 14:26:14 2009 -0800 page allocator: always wake kswapd when restarting an allocation attempt after direct reclaim failed If a direct reclaim makes no forward progress, it considers whether it should go OOM or not. Whether OOM is triggered or not, it may retry the allocation afterwards. In times past, this would always wake kswapd as well but currently, kswapd is not woken up after direct reclaim fails. For order-0 allocations, this makes little difference but if there is a heavy mix of higher-order allocations that direct reclaim is failing for, it might mean that kswapd is not rewoken for higher orders as much as it did previously. This patch wakes up kswapd when an allocation is being retried after a direct reclaim failure. It would be expected that kswapd is already awake, but this has the effect of telling kswapd to reclaim at the higher order as well. Signed-off-by: Mel Gorman Reviewed-by: Christoph Lameter Reviewed-by: Pekka Enberg Reviewed-by: KOSAKI Motohiro Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0c9065324b7c1242b97b27a1407da18471b9b23 Author: Randy Dunlap Date: Wed Nov 11 14:26:13 2009 -0800 MAINTAINERS: openipmi list is moderated openipmi list is moderated. Signed-off-by: Randy Dunlap Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bd7bf5f1aabf5d5e6b8ee60360dc52259a83118 Author: Roel Kluin Date: Wed Nov 11 14:26:13 2009 -0800 get_maintainer: fix usage comment With the `s' it just won't work. Signed-off-by: Roel Kluin Acked-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65c8bb5b9f25d869b814ca4238935a2e609f81cf Author: Joe Perches Date: Wed Nov 11 14:26:12 2009 -0800 MAINTAINERS: VMWARE VMXNET3 - Quote name with comma and period, use tabs Names with periods or commas need to be quoted Use tab not spaces Signed-off-by: Joe Perches Cc: Shreyas Bhatewara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3387f656309dd427023c7e00cad901a89d40bc1c Author: Joe Perches Date: Wed Nov 11 14:26:11 2009 -0800 MAINTAINERS: SERVER ENGINES 10Gbps iSCSI - Use single line M: Integrate P:/M: lines to single M: Use tabs not spaces Signed-off-by: Joe Perches Cc: Jayamohan Kallickal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 455518e7b5ff53478821fe9185531e0a2135d076 Author: Joe Perches Date: Wed Nov 11 14:26:10 2009 -0800 MAINTAINERS: BROCADE BFA - Use single line M: and tabs Integrate P:/M: to single M: Use tab for spacing Signed-off-by: Joe Perches Cc: Jing Huang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52e650407d709fd02091f0d735434def96a545bc Author: Joe Perches Date: Wed Nov 11 14:26:09 2009 -0800 MAINTAINERS: ASUS ACPI EXTRAS - remove F:arch/x86/kernel/acpi/boot.c Oops. How did that get there? (Don't look, it's my original pattern commit...) Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff5e4b51a397568c6a2901903c35a4bfaaf752a4 Author: Stefan Schmidt Date: Thu Nov 12 09:53:50 2009 +0100 fs/jbd: Export log_start_commit to fix ext3 build. This fixes: ERROR: "log_start_commit" [fs/ext3/ext3.ko] undefined! Signed-off-by: Stefan Schmidt commit b029839cf1f3aa095de73aa2acc241f1c65201ab Author: Mike Turquette Date: Wed Nov 11 11:00:38 2009 -0800 omap3: Decrease cpufreq transition latency Adjust OMAP3 frequency transition latency from 10,000,000uS to a more reasonable 300,000uS. This causes ondemand and conservative governors to sample CPU load more often resulting in more responsive behavior. Tested on Android 2.6.29; using this value and conservative governor, CORE power consumption on Zoom2 was comparable to the old and unresponsive 10,000,000uS value while UI responsiveness was greatly improved. Signed-off-by: Mike Turquette Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit aa021baa3295fa6e3f367d80f8955dd5176656eb Merge: 404291a a6dbd42 Author: Linus Torvalds Date: Wed Nov 11 13:38:59 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: fix panic when trying to destroy a newly allocated Btrfs: allow more metadata chunk preallocation Btrfs: fallback on uncompressed io if compressed io fails Btrfs: find ideal block group for caching Btrfs: avoid null deref in unpin_extent_cache() Btrfs: skip btrfs_release_path in btrfs_update_root and btrfs_del_root Btrfs: fix some metadata enospc issues Btrfs: fix how we set max_size for free space clusters Btrfs: cleanup transaction starting and fix journal_info usage Btrfs: fix data allocation hint start commit 404291ac9e72d118fcadeb939a69b2caa0a0e9ca Author: Linus Torvalds Date: Wed Nov 11 13:32:29 2009 -0800 btusb bluetooth driver: wait for 'waker' work too before closing Rafael debugged a resume-time hang (with oopses in workqueue handling) on his laptop that was due to the 'waker' workqueue entry being disconnected and then released without the workqueue entry having been synchronized. Several people were involved, with Oleg Nesterov doing a debugging patch showing what workqueue entry was corrupt etc. This was a regression introduced by commit 7bee549e19 ("Bluetooth: Add USB autosuspend support to btusb driver") as Rafael points out (not actually bisected, but it became clear once the bug was found). Tested-and-reported-by: Rafael J. Wysocki Acked-by: Oliver Neukum Cc: Oleg Nesterov Cc: Tejun Heo Cc: Marcel Holtmann Signed-off-by: Linus Torvalds commit a6dbd429d8dd3382bbd9594b8d2ec74843a260d9 Author: Josef Bacik Date: Wed Nov 11 15:53:34 2009 -0500 Btrfs: fix panic when trying to destroy a newly allocated There is a problem where iget5_locked will look for an inode, not find it, and then subsequently try to allocate it. Another CPU will have raced in and allocated the inode instead, so when iget5_locked gets the inode spin lock again and does a search, it finds the new inode. So it goes ahead and calls destroy_inode on the inode it just allocated. The problem is we don't set BTRFS_I(inode)->root until the new inode is completely initialized. This patch makes us set root to NULL when alloc'ing a new inode, so when we get to btrfs_destroy_inode and we see that root is NULL we can just free up the memory and continue on. This fixes the panic http://www.kerneloops.org/submitresult.php?number=812690 Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit fd801452a30927ec0dff84e541191e611c1afd0c Merge: 79a8f1b 7b02bec Author: Linus Torvalds Date: Wed Nov 11 11:52:22 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: JBD/JBD2: free j_wbuf if journal init fails. ext3: Wait for proper transaction commit on fsync ext3: retry failed direct IO allocations commit 79a8f1b1a481cc28701275de916ccea954c6743f Merge: 55871bdd cc2cef5 Author: Linus Torvalds Date: Wed Nov 11 11:35:04 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - possible read past array alc88[02]_parse_auto_config() sound: rawmidi: fix MIDI device O_APPEND error handling sound: rawmidi: fix checking of O_APPEND when opening MIDI device sound: rawmidi: fix double init when opening MIDI device with O_APPEND ALSA: hda - Avoid quirk for HP dc5750 ALSA: hda - Tweak OLPC XO-1.5 microphone bias ALSA: hda: Use model=auto quirk for Sony VAIO VGN-FW170J using ALC262 commit 55871bdd03bf577c5c8fc65498ae24b7c148e1eb Merge: e5d45ab eb64713 Author: Linus Torvalds Date: Wed Nov 11 11:34:14 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86/PCI: Adjust GFP mask handling for coherent allocations PCI ASPM: fix oops on root port removal commit e5d45abe1487aa856e48d6d9b857bd200b63b896 Merge: 749f3cb f56ab49 Author: Linus Torvalds Date: Wed Nov 11 11:33:08 2009 -0800 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: pasemi_defconfig update powerpc: 2.6.32 update of defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx powerpc/8xxx: enable IPsec ESP by default on mpc83xx/mpc85xx powerpc/83xx: Fix u-boot partion size for MPC8377E-WLAN boards powerpc/85xx: Fix USB GPIOs for MPC8569E-MDS boards powerpc/82xx: kmalloc failure ignored in ep8248e_mdio_probe() powerpc/85xx: sbc8548 - fixup of PCI-e related DTS fields commit 749f3cbe1acd60a7bf6ff0396a48a28705096305 Merge: 6b46362 65f69e5 Author: Linus Torvalds Date: Wed Nov 11 11:32:42 2009 -0800 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: Use a definition for the userspace cmpxchg emulation syscall [ARM] Fix test for unimplemented ARM syscalls ARM: 5784/1: fix early boot machine ID mismatch error display [ARM] orion5x: update defconfig [ARM] Kirkwood: update defconfig [ARM] Kirkwood: clarify PCIe MEM bus/physical address distinction [ARM] kirkwood: fix PCI I/O port assignment [ARM] kirkwood: fix section mismatch [ARM] OpenRD base: Initialize PCI express and i2c [ARM] properly report mv78100 stepping A1 ARM: 5780/1: KS8695: Fix macro definition bug in regs-switch.c ARM: 5779/1: ep93xx/micro9.c: fix implicit declaration of function __raw_readl and IOMEM RealView: Add sparsemem support for the RealView PBX platform RealView: Remove duplicated #define REALVIEW_SYS_FLAGS* statements RealView: Add default memory configuration Check whether the SCU was already initialised ARMv7: Check whether the SMP/nAMP mode was already enabled [ARM] pxa: fix resume failure by saving/restoring IPRx registers [ARM] pxa/palm: fix incorrect initialization of Palm Tungsten C keyboard [ARM] pxa/zaurus: fix NAND flash OOB layout for Borzoi commit 6b46362c0ea472b174c336786fd406c504326ad4 Merge: 961767b eeba575 Author: Linus Torvalds Date: Wed Nov 11 11:32:04 2009 -0800 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: (52 commits) drm/kms: Init the CRTC info fields for modes forced from the command line. drm/radeon/r600: CS parser updates drm/radeon/kms: add debugfs for power management for AtomBIOS devices drm/radeon/kms: initial mode validation support drm/radeon/kms/atom/dce3: call transmitter init on mode set drm/radeon/kms: store detailed connector info drm/radeon/kms/atom/dce3: fix up usPixelClock calculation for Transmitter tables drm/radeon/kms/r600: fix rs880 support v2 drm/radeon/kms/r700: fix some typos in chip init drm/radeon/kms: remove some misleading debugging output drm/radeon/kms: stop putting VRAM at 0 in MC space on r600s. drm/radeon/kms: disable D1VGA and D2VGA if enabled drm/radeon/kms: Don't RMW CP_RB_CNTL drm/radeon/kms: fix coherency issues on AGP cards. drm/radeon/kms: fix rc410 suspend/resume. drm/radeon/kms: add quirk for hp dc5750 drm/radeon/kms/atom: fix potential oops in spread spectrum code drm/kms: typo fix drm/radeon/kms/atom: Make card_info per device drm/radeon/kms/atom: Fix DVO support ... commit 961767b75d63c21aa60ee3ccf940288c3c1afde6 Merge: 1fd18a8 d451564 Author: Linus Torvalds Date: Wed Nov 11 11:30:15 2009 -0800 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: highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow rcu: Fix long-grace-period race between forcing and initialization uids: Prevent tear down race commit 1fd18a871a0761633d02d0536ecb4a311d92a3d3 Merge: 26a9ba1 e7e7e0c Author: Linus Torvalds Date: Wed Nov 11 11:29:58 2009 -0800 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: try_one_irq() must be called with irq disabled commit 26a9ba160f50115ece48198608002600914932a7 Merge: 13b5892 c10edee Author: Linus Torvalds Date: Wed Nov 11 11:29:34 2009 -0800 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf tools: Fix permission checks perf_events: Fix some typo in the perf events config description commit 13b5892672073b1169b3b60b8a57123fb32c9df1 Merge: 605f375 e9036b3 Author: Linus Torvalds Date: Wed Nov 11 11:29:24 2009 -0800 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: Use root_task_group_empty only with FAIR_GROUP_SCHED sched: Fix kernel-doc function parameter name commit 605f37504f3afb590bf852bae4da5af8e462688e Merge: 16fe410 506f90e Author: Linus Torvalds Date: Wed Nov 11 11:29:10 2009 -0800 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, amd-ucode: Check UCODE_MAGIC before loading the container file x86: Fix error return sequence in __ioremap_caller() x86: Add Phoenix/MSC BIOSes to lowmem corruption list commit 16fe4101ae265e908615702806ee3b28ab1c8370 Merge: 7bbf8ef 1e424a3 Author: Linus Torvalds Date: Wed Nov 11 11:28:11 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: partial revert to fix double brelse WARNING() ext4: Fix return value of ext4_split_unwritten_extents() to fix direct I/O ext4: code clean up for dio fallocate handling ext4: skip conversion of uninit extents after direct IO if there isn't any ext4: fix ext4_ext_direct_IO()'s return value after converting uninit extents ext4: discard preallocation when restarting a transaction during truncate commit 7bbf8ef6902d1e0102a91d22c035622443fd20ca Merge: 1ed2374 1efd374 Author: Linus Torvalds Date: Wed Nov 11 11:27:49 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] SBC-FITPC2 watchdog driver registration fix commit 1ed23743077019e7790234c58e9af678664581df Merge: a544de2 2ce672e Author: Linus Torvalds Date: Wed Nov 11 11:27:26 2009 -0800 Merge branch 'fixes-s3c-2632-rc6' of git://git.fluff.org/bjdooks/linux * 'fixes-s3c-2632-rc6' of git://git.fluff.org/bjdooks/linux: ARM: S3C64XX: DMA: Free node for non-circular queues ARM: S3C64XX: DMA: Callback with correct buffer pointer ARM: S3C64XX: DMA: Make src and dst transfer size same ARM: S3C64XX: DMA: Unify callback functions for success/failure ARM: S3C64XX: DMA: Protect buffer pointers while manipulation ARM: S3C64XX: Tidy definition and comments in s3c_dma_has_circular() ARM: S3C64XX: Remove duplicate s3c_dma_has_circular() definition for S3C64xx. ARM: SMDK6410: Allocate more GPIO space for WM1190-EV1 ARM: SMDK6410: Configure GPIO pull up for WM835x IRQ line commit a544de2ee0bc321bf4a08fa20b331878f2405a77 Merge: 52cb014 22370ef Author: Linus Torvalds Date: Wed Nov 11 11:26:42 2009 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (27 commits) V4L/DVB (13314): saa7134: set ts_force_val for the Hauppauge WinTV HVR-1150 V4L/DVB (13313): saa7134: add support for FORCE_TS_VALID mode for mpeg ts input V4L/DVB (13311): uvcvideo: Fix compilation warning with 2.6.32 due to type mismatch with abs() V4L/DVB (13309): uvcvideo: Ignore the FIX_BANDWIDTH for compressed video V4L/DVB (13287): ce6230 - saa7164-cmd: Fix wrong sizeof V4L/DVB (13286): pxa-camera: Fix missing sched.h V4L/DVB (13264): gspca_mr97310a: Change vstart for CIF sensor type 1 cams V4L/DVB (13257): gspca - m5602-s5k4aa: Add vflip for Fujitsu Amilo Xi 2528 V4L/DVB (13256): gspca - m5602-s5k4aa: Add another MSI GX700 vflip quirk V4L/DVB (13255): gspca - m5602-s5k4aa: Add vflip quirk for the Bruneinit laptop V4L/DVB (13240): firedtv: fix regression: tuning fails due to bogus error return V4L/DVB (13237): firedtv: length field corrupt in ca2host if length>127 V4L/DVB (13230): s2255drv: Don't conditionalize video buffer completion on waiting processes V4L/DVB (13202): smsusb: add autodetection support for three additional Hauppauge USB IDs V4L/DVB (13190): em28xx: fix panic that can occur when starting audio streaming V4L/DVB (13170): bttv: Fix reversed polarity error when switching video standard V4L/DVB (13169): bttv: Fix potential out-of-order field processing V4L/DVB (13167): pt1: Fix a compile error on arm V4L/DVB (13132): fix use-after-free Oops, resulting from a driver-core API change V4L/DVB (13131): pxa_camera: fix camera pixel format configuration ... commit 33b258086441dd07e00133c79fcd8cbc6a76d737 Author: Chris Mason Date: Wed Nov 11 10:16:57 2009 -0500 Btrfs: allow more metadata chunk preallocation On an FS where all of the space has not been allocated into chunks yet, the enospc can return enospc just because the existing metadata chunks are full. We get around this by allowing more metadata chunks to be allocated up to a certain limit, and finding the right limit is a little fuzzy. The problem is the reservations for delalloc would preallocate way too much of the FS as metadata. We need to start saying no and just force some IO to happen. But we also need to let a reasonable amount of the FS become metadata. This bumps the hard limit up, later releases will have a better system. Signed-off-by: Chris Mason commit f5a84ee3cdd88d96b7bcede10af58598ad8d52a7 Author: Josef Bacik Date: Tue Nov 10 21:23:48 2009 -0500 Btrfs: fallback on uncompressed io if compressed io fails Currently compressed IO does not deal with not having its entire extent able to be allocated. So if we have enough free space to allocate for the extent, but its not contiguous, it will fail spectacularly. This patch fixes this by falling back on uncompressed IO which lets us spread the delalloc extent across multiple extents. I tested this by making us randomly think the reservation had failed to make it fallback on the uncompressed io way and it seemed to work fine. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit ccf0e72537a9f68611ca575121afd08e2b4d0fb0 Author: Josef Bacik Date: Tue Nov 10 21:23:48 2009 -0500 Btrfs: find ideal block group for caching This patch changes a few things. Hopefully the comments are helpfull, but I'll try and be as verbose here. Problem: My fedora box was taking 1 minute and 21 seconds to boot with btrfs as root. Part of this problem was we pick the first block group we can find and start caching it, even if it may not have enough free space. The other problem is we only search for cached block groups the first time around, which we won't find any cached block groups because this is a newly mounted fs, so we end up caching several block groups during bootup, which with alot of fragmentation takes around 30-45 seconds to complete, which bogs down the system. So Solution: 1) Don't cache block groups willy-nilly at first. Instead try and figure out which block group has the most free, and therefore will take the least amount of time to cache. 2) Don't be so picky about cached block groups. The other problem is once we've filled up a cluster, if the block group isn't finished caching the next time we try and do the allocation we'll completely ignore the cluster and start searching from the beginning of the space, which makes us cache more block groups, which slows us down even more. So instead of skipping block groups that are not finished caching when we have a hint, only skip the block group if it hasn't started caching yet. There is one other tweak in here. Before if we allocated a chunk and still couldn't find new space, we'd end up switching the space info to force another chunk allocation. This could make us end up with way too many chunks, so keep track of this particular case. With this patch and my previous cluster fixes my fedora box now boots in 43 seconds, and according to the bootchart is not held up by our block group caching at all. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 4eb3991c5def39bcf553c14ebe2618fcb47b627f Author: Dan Carpenter Date: Tue Nov 10 09:01:43 2009 +0000 Btrfs: avoid null deref in unpin_extent_cache() I re-orderred the checks to avoid dereferencing "em" if it was null. Found by smatch static checker. Signed-off-by: Dan Carpenter Signed-off-by: Chris Mason commit df66916e71231e9f2377cac9c5c1e2d190f9a427 Author: Li Dongyang Date: Fri Nov 6 14:33:01 2009 +0000 Btrfs: skip btrfs_release_path in btrfs_update_root and btrfs_del_root We don't need to call btrfs_release_path because btrfs_free_path will do that for us. Signed-off-by: Li Dongyang Signed-off-by: Chris Mason commit 5df6a9f606bf2ee25ab8031bff124ed883b823be Author: Josef Bacik Date: Tue Nov 10 21:23:48 2009 -0500 Btrfs: fix some metadata enospc issues We weren't reserving metadata space for rename, rmdir and unlink, which could cause problems. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 01dea1efc23b511d3b58bb94da07ddb6d6db9895 Author: Josef Bacik Date: Tue Nov 10 21:23:48 2009 -0500 Btrfs: fix how we set max_size for free space clusters This patch fixes a problem where max_size can be set to 0 even though we filled the cluster properly. We set max_size to 0 if we restart the cluster window, but if the new start entry is big enough to be our new cluster then we could return with a max_size set to 0, which will mean the next time we try to allocate from this cluster it will fail. So set max_extent to the entry's size. Tested this on my box and now we actually allocate from the cluster after we fill it. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 249ac1e55c642c670f47aacdc57629bbbf10a8db Author: Josef Bacik Date: Tue Nov 10 21:23:48 2009 -0500 Btrfs: cleanup transaction starting and fix journal_info usage We use journal_info to tell if we're in a nested transaction to make sure we don't commit the transaction within a nested transaction. We use another method to see if there are any outstanding ioctl trans handles, so if we're starting one do not set current->journal_info, since it will screw with other filesystems. This patch also cleans up the starting stuff so there aren't any magic numbers. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 6346c93988caa3048bf4d81f9ba3608a7a195aa2 Author: Josef Bacik Date: Tue Nov 10 21:23:47 2009 -0500 Btrfs: fix data allocation hint start Sometimes our start allocation hint when we cow a file can be either EXTENT_HOLE or some other such place holder, which is not optimal. So if we find that our em->block_start is one of these special values, check to see where the first block of the inode is stored, and use that as a hint. If that block is also a special value, just fallback on a hint of 0 and let the allocator figure out a good place to put the data. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 1ea6e6652a63f5db18d753d6a2c963d966b6d9c2 Author: Grazvydas Ignotas Date: Wed Nov 11 11:00:38 2009 -0800 omap3: update Pandora defconfig This patch updates defconfig to enable options needed to properly boot OMAP3 pandora board. It also enables MMC, OTG, GPIO LEDs, TWL4030 GPIO and sound drivers. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit b30dcf5f37023d591caee80c233bf33706bc5a21 Author: Sergio Aguirre Date: Wed Nov 11 11:00:37 2009 -0800 omap3: 3430sdp: Enable Linux Regulator framework Some drivers have dependencies on this, and therefore should be enabled. Signed-off-by: Sergio Aguirre Signed-off-by: Tony Lindgren commit e9840dc00468c4d2ca63b9f80038533d0f931d16 Author: Jarkko Nikula Date: Wed Nov 11 11:00:36 2009 -0800 omap3: beagle: Fix USB host port power control The host port power is enabled by driving the nEN_USB_PWR low as stated in the comment. This fix is originally from Steve Sakoman . Signed-off-by: Jarkko Nikula Cc: Steve Sakoman Signed-off-by: Tony Lindgren commit 24de042ca4faa5dc1811d7b6a8b6eefd97ed7577 Author: Grazvydas Ignotas Date: Wed Nov 11 11:00:35 2009 -0800 omap3: pandora: Fix keypad keymap The original TWL4030 keypad driver from linux-omap used KEY() macro defined as (col, row), but while it was merged upstream it was changed to use matrix keypad infrastructure, which uses (row, col) format. Update the keymap in board file to match layout of mainline driver. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit 01943244552c6c747050e7d9d3a10ce31030b4e6 Author: Janusz Krzysztofik Date: Wed Nov 11 11:00:34 2009 -0800 omap1: Amstrad Delta defconfig fixes The patch provides the following fixes: - keep kernel small enough to boot with standard tools, - ensure compatibility with both new and legacy distros, - turn on support for recently added or fixed hardware features. Created and tested against linux-2.6.32-rc5. Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren commit 8561a84f85eccddf46212622f1f18317a220891b Author: Janusz Krzysztofik Date: Wed Nov 11 11:00:03 2009 -0800 omap: Fix omapfb/lcdc on OMAP1510 broken when PM set With CONFIG_PM=y, the omapfb/lcdc device on Amstrad Delta, after initially starting correctly, breaks with the following error messages: omapfb omapfb: resetting (status 0xffffff96,reset count 1) ... omapfb omapfb: resetting (status 0xffffff96,reset count 100) omapfb omapfb: too many reset attempts, giving up. Looking closer at this I have found that it had been broken almost 2 years ago with commit 2418996e3b100114edb2ae110d5d4acb928909d2, PM fixes for OMAP1. The definite reason for broken omapfb/lcdc behavoiur in PM mode appeared to be ARM_IDLECT1:IDLIF_ARM (bit 6) put into idle regardless of LCD DMA possibly running. The bit were set based on return value of the omap_dma_running() function that did not check for dedicated LCD DMA channel status. The patch below fixes this. Note that the hardcoded register value will be fixed during the next merge cycle to use OMAP_LCDC_ defines. Currently the OMAP_LCDC_ defines are local to drivers/video/omap/lcdc.c, so let's not start moving those right now. Created against linux-2.6.32-rc6 Tested on Amstrad Delta Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren commit 7b02bec07efe1d6c7d48c786e0c1a38d28fe7245 Author: Tao Ma Date: Tue Nov 10 17:13:22 2009 +0800 JBD/JBD2: free j_wbuf if journal init fails. If journal init fails, we need to free j_wbuf. Cc: Andrew Morton Cc: Jan Kara Signed-off-by: Tao Ma Signed-off-by: Jan Kara commit fe8bc91c4c30122b357d197117705cfd4fabaf28 Author: Jan Kara Date: Fri Oct 16 19:26:15 2009 +0200 ext3: Wait for proper transaction commit on fsync We cannot rely on buffer dirty bits during fsync because pdflush can come before fsync is called and clear dirty bits without forcing a transaction commit. What we do is that we track which transaction has last changed the inode and which transaction last changed allocation and force it to disk on fsync. Signed-off-by: Jan Kara Reviewed-by: Aneesh Kumar K.V commit ea0174a7137c8ca9f130ca681f3a99c872da6778 Author: Eric Sandeen Date: Mon Oct 12 21:34:27 2009 -0500 ext3: retry failed direct IO allocations On a 256M 4k block filesystem, doing this in a loop: dd if=/dev/zero of=test oflag=direct bs=1M count=64 rm -f test eventually leads to spurious ENOSPC: dd: writing `test': No space left on device As with other block allocation callers, it looks like we need to potentially retry the allocations on the initial ENOSPC. A similar patch went into ext4 (commit fbbf69456619de5d251cb9f1df609069178c62d5) Signed-off-by: Eric Sandeen Signed-off-by: Jan Kara commit cc2cef505ccd434acd7fb3cee2b9cbf2a5294369 Merge: b7fe750 71121d9f Author: Takashi Iwai Date: Wed Nov 11 08:10:31 2009 +0100 Merge branch 'fix/hda' into for-linus commit 71121d9fcc494453b9311992de220abb47dde3f1 Author: Roel Kluin Date: Tue Nov 10 20:11:55 2009 +0100 ALSA: hda - possible read past array alc88[02]_parse_auto_config() The test of index `i' is after the read - too late - and unsafe: if snd_hda_get_connections() fails in the last iteration a read beyond the array is possible. Signed-off-by: Roel Kluin Signed-off-by: Takashi Iwai commit f56ab498db55f1b7f5219aa5c7a04d562392cbb8 Author: Olof Johansson Date: Tue Oct 6 10:52:50 2009 -0500 powerpc: pasemi_defconfig update pasemi_defconfig hasn't been updated for a year. Mostly a refresh of defaults, but this also disables 64K pages. Signed-off-by: Olof Johansson Signed-off-by: Benjamin Herrenschmidt commit f74400aed9dbd7ba6712f2f1f02adeb2442bd10d Merge: 799dd75 e9bcf14 Author: Benjamin Herrenschmidt Date: Wed Nov 11 15:43:25 2009 +1100 Merge commit 'kumar/merge' into merge commit 6d1352420901b0a74e6149a891ff4457f7199651 Author: Tobias Klauser Date: Tue Nov 10 18:55:19 2009 -0800 omap: Use resource_size Use the resource_size function instead of manually calculating the resource size. This reduces the chance of introducing off-by-one errors and actually fixes one in mailbox.c. Signed-off-by: Tobias Klauser Signed-off-by: Tony Lindgren commit ee90732456fe8e75406fdd3cd136a4bfb7ce31f5 Author: Tao Hu Date: Tue Nov 10 18:55:17 2009 -0800 omap: Fix race condition in omap dma driver The bug could cause irq enable bit of one DMA channel is cleared/set unexpectedly when 2 (or more) drivers are calling omap_request_dma()/omap_free_dma() simultaneously Signed-off-by: Fei Yang Signed-off-by: Tao Hu Signed-off-by: Tony Lindgren commit 65f69e5c16f8eee17b7f71bfad9e8e58f44c7386 Merge: cc20d42 c97c5aa Author: Russell King Date: Tue Nov 10 23:37:21 2009 +0000 Merge branch 'for-rmk' of git://linux-arm.org/linux-2.6 commit b7fe750fcceda4fa6bef399b0e2812562728ea82 Author: Clemens Ladisch Date: Wed Oct 21 09:11:43 2009 +0200 sound: rawmidi: fix MIDI device O_APPEND error handling Commit 9a1b64caac82aa02cb74587ffc798e6f42c6170a in 2.6.30 broke the error handling code in rawmidi_open_priv(). If only the output substream of a RawMIDI device has been opened and if this device is then opened with O_RDWR | O_APPEND and if the initialization of the input substream fails (either because of low memory or because the device driver's open callback fails), then the runtime structure of the already open output substream will be freed and all following writes through the first handle will cause snd_rawmidi_write() to use the NULL runtime pointer. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 16fb109644b5644e42ececeff644514de6f4bd03 Author: Clemens Ladisch Date: Wed Oct 21 09:10:16 2009 +0200 sound: rawmidi: fix checking of O_APPEND when opening MIDI device Commit 9a1b64caac82aa02cb74587ffc798e6f42c6170a in 2.6.30 dropped the check that a substream must already have been opened with O_APPEND to be able to open it a second time. This would make it possible for a substream to be switched to append mode, which would mean that non-atomic writes would fail unexpectedly. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 8579d2d7779d7ff41ea2a0183015e0e5038f1043 Author: Clemens Ladisch Date: Wed Oct 21 09:09:38 2009 +0200 sound: rawmidi: fix double init when opening MIDI device with O_APPEND Commit 9a1b64caac82aa02cb74587ffc798e6f42c6170a in 2.6.30 moved the substream initialization code to where it would be executed every time the substream is opened. This had the consequence that any further opening would drop and leak the data in the existing buffer, and that the device driver's open callback would be called multiple times, unexpectedly. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Takashi Iwai commit 4ac55982907e1d48e64feaa56be91b9b52d3714d Author: Takashi Iwai Date: Tue Nov 10 16:08:45 2009 +0100 ALSA: hda - Avoid quirk for HP dc5750 The present quirk for HP dc5750 seems broken and maps the pins wrongly. Since the auto-parser works well for this device, set the default entry to use model=auto. Reference: Novell bnc#552154 https://bugzilla.novell.com/show_bug.cgi?id=552154 Signed-off-by: Takashi Iwai commit 1efd374d78834a793663414402911765bcdda6eb Author: Denis Turischev Date: Thu Nov 5 13:32:40 2009 +0200 [WATCHDOG] SBC-FITPC2 watchdog driver registration fix This patch fixes device registration process. Signed-off-by: Denis Turischev Signed-off-by: Wim Van Sebroeck commit cc20d42986d5807cbe4f5c7c8e3dab2e59ea0db3 Author: Russell King Date: Mon Nov 9 23:53:29 2009 +0000 ARM: Use a definition for the userspace cmpxchg emulation syscall Use a definition for the cmpxchg SWI instead of hard-coding the number. Signed-off-by: Russell King Acked-by: Nicolas Pitre commit dbaccc0cca830efe9bb3c9e4a1cfcd6503790079 Author: Daniel Drake Date: Mon Nov 9 15:17:24 2009 +0000 ALSA: hda - Tweak OLPC XO-1.5 microphone bias Our contacts at Conexant suggested that we reduce the external microphone bias to 50% in order to center the input signal with the DC input range of the codec. This is because the microphone port is DC coupled for potential use with sensors. Signed-off-by: Daniel Drake Signed-off-by: Takashi Iwai commit 506f90eeae682dc96c11c7aefac0262b3a560b49 Author: Borislav Petkov Date: Thu Oct 29 14:45:52 2009 +0100 x86, amd-ucode: Check UCODE_MAGIC before loading the container file Signed-off-by: Borislav Petkov Signed-off-by: Andreas Herrmann LKML-Reference: <20091029134552.GC30802@alberich.amd.com> Signed-off-by: Ingo Molnar commit eeba57518c01cf462d87bbfc59049139da47adcb Author: Francisco Jerez Date: Sat Nov 7 16:27:32 2009 +0100 drm/kms: Init the CRTC info fields for modes forced from the command line. Fixes fdo bug 24710. Signed-off-by: Francisco Jerez Signed-off-by: Dave Airlie commit a39533b4ddad388b64a20bcabd17ac125fd4ba65 Author: Alex Deucher Date: Mon Nov 9 16:41:21 2009 -0500 drm/radeon/r600: CS parser updates Add some additional regs that require relocs. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d4515646699b6ad7b1a98ceb871296b957f3ef47 Author: Soeren Sandmann Date: Wed Oct 28 18:56:35 2009 +0100 highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE Previously calling debug_kmap_atomic() with these types would cause spurious warnings. (triggered by SysProf using perf events) Signed-off-by: Soeren Sandmann Pedersen Cc: Linus Torvalds Cc: a.p.zijlstra@chello.nl Cc: # .31.x LKML-Reference: Signed-off-by: Ingo Molnar commit 5ebd4c22897dce65845807a9bd3a31cc4e142b53 Author: Soeren Sandmann Date: Wed Oct 28 18:55:36 2009 +0100 highmem: Fix race in debug_kmap_atomic() which could cause warn_count to underflow debug_kmap_atomic() tries to prevent ever printing more than 10 warnings, but it does so by testing whether an unsigned integer is equal to 0. However, if the warning is caused by a nested IRQ, then this counter may underflow and the stream of warnings will never end. Fix that by using a signed integer instead. Signed-off-by: Soeren Sandmann Pedersen Cc: Linus Torvalds Cc: a.p.zijlstra@chello.nl Cc: # .31.x LKML-Reference: Signed-off-by: Ingo Molnar commit 2ce672e4f49e7b69a90948f6d06c682154bbcc3b Merge: b3c5496 336b1a3 Author: Ben Dooks Date: Mon Nov 9 23:52:34 2009 +0000 ARM: S3C: Merge fixes-s3c64xx-dma Merge branch 'fixes-s3c64xx-dma' into fixes-s3c-2632-rc6 commit 336b1a3181d81db85c0af3d0c18fe0a04b4d5126 Author: Jassi Brar Date: Thu Nov 5 13:44:39 2009 +0900 ARM: S3C64XX: DMA: Free node for non-circular queues We need to free the buff and lli nodes if the buffer queue is not CIRCULAR. Signed-off-by: Jassi Brar Signed-off-by: Ben Dooks commit 9b08284bf22f438baa2d6b68015ff17ddb431a61 Author: Jassi Brar Date: Thu Nov 5 13:44:33 2009 +0900 ARM: S3C64XX: DMA: Callback with correct buffer pointer buffdone callback should be called per buffer request with pointer to the latest serviced request. 'next' should point to the one next to currently active. Signed-off-by: Jassi Brar Signed-off-by: Ben Dooks commit 7507f39c57d4a285aea11c379fbc65c2b3f375ef Author: Jassi Brar Date: Thu Nov 5 13:44:45 2009 +0900 ARM: S3C64XX: DMA: Make src and dst transfer size same Some devices don't seem to work if the source and desitnation transfer widths are not same. For example, SPI dma xfers, with 8bits/word, don't work without this patch. Signed-off-by: Jassi Brar Signed-off-by: Ben Dooks commit 6d0b8627d545aed7d4bcaad2156b6cb95e105715 Author: Jassi Brar Date: Thu Nov 5 13:44:26 2009 +0900 ARM: S3C64XX: DMA: Unify callback functions for success/failure Replace s3c64xx_dma_tcirq and s3c64xx_dma_errirq with the common s3c64xx_dma_buffdone. Signed-off-by: Jassi Brar Signed-off-by: Ben Dooks commit 210012a6cd8770a73d1aa74b742667b462d04511 Author: Jassi Brar Date: Thu Nov 5 13:44:20 2009 +0900 ARM: S3C64XX: DMA: Protect buffer pointers while manipulation Ensure the DMA buffer points are not updated from another source during the process of enquing a buffer. Signed-off-by: Jassi Brar [ben-linux@fluff.org: Updated patch comment] Signed-off-by: Ben Dooks commit b3c5496fbfc2e5f64bb85b142615717850fee980 Author: Ben Dooks Date: Mon Nov 9 23:45:47 2009 +0000 ARM: S3C64XX: Tidy definition and comments in s3c_dma_has_circular() The recent changes to arch/arm/mach-s3c6400/include/mach/dma.h have left an out of date comment in there as well as accidentally changing the type of the function. Fix the commit 54489cd46a3a268ed981c681726c6d690883f076 Signed-off-by: Ben Dooks commit 54489cd46a3a268ed981c681726c6d690883f076 Author: Maurus Cuelenaere Date: Wed Nov 4 13:13:29 2009 +0100 ARM: S3C64XX: Remove duplicate s3c_dma_has_circular() definition for S3C64xx. This patch removes the duplicated s3c_dma_has_circular() definition and so fixes compilation for S3C64xx. Signed-off-by: Maurus Cuelenaere Signed-off-by: Ben Dooks commit c7a19787195fcc90aabc3a71f29647ba9a443efe Author: Mark Brown Date: Tue Nov 3 14:42:10 2009 +0000 ARM: SMDK6410: Allocate more GPIO space for WM1190-EV1 The WM835x has some GPIOs on it, allocate some space so we can use them with gpiolib. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit a3323b72b964471650a6128de4e10f8e88d47ae1 Author: Mark Brown Date: Tue Nov 3 14:42:04 2009 +0000 ARM: SMDK6410: Configure GPIO pull up for WM835x IRQ line When used with the WM1190-EV1 board we can use the internal pull up resistor of the CPU to provide the required pull for the IRQ line. Without this interrupts from the WM835x don't work in the default WM1190-EV1 hardwaer configuration. Signed-off-by: Mark Brown Signed-off-by: Ben Dooks commit 52cb0148ef2401dbffa4daf60588cad27e4f329d Author: Atsushi Nemoto Date: Mon Nov 9 23:21:19 2009 +0000 mtd/maps: Fix accidental removal in Makefile The commit d79c326 ("gpio-addr-flash: new driver for GPIO assisted flash addressing") removed two lines from the Makefile by accident. Though I'm not sure how this accident happened, this patch reverts the removal. Signed-off-by: Atsushi Nemoto Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 95491d902b4ed1bfd8f602aada793d74cc85428b Author: Daniel T Chen Date: Sun Nov 8 19:03:55 2009 -0500 ALSA: hda: Use model=auto quirk for Sony VAIO VGN-FW170J using ALC262 BugLink: https://bugs.launchpad.net/bugs/478309 The internal microphone on this VAIO model does not work unless the "auto" quirk is used. Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 799dd75b1a8380a967c929a4551895788c374b31 Merge: 6bee582 afa0897 Author: Linus Torvalds Date: Mon Nov 9 09:58:31 2009 -0800 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c: Add an interface to lock/unlock an I2C bus segment i2c-piix4: Modify code name SB900 to Hudson-2 commit 6bee58259fce0baad7b02c7a48146d50fa7f6c3c Merge: d178f27 8dee721 Author: Linus Torvalds Date: Mon Nov 9 09:57:02 2009 -0800 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md/raid5: make sure curr_sync_completes is uptodate when reshape starts md: don't clear endpoint for resync when resync is interrupted. commit d178f27fc5150d680d9df865ea9dfe3269cf00a6 Author: Hugh Dickins Date: Mon Nov 9 15:58:23 2009 +0000 ksm: cond_resched in unstable tree KSM needs a cond_resched() for CONFIG_PREEMPT_NONE, in its unbounded search of the unstable tree. The stable tree cases already have one, and originally there was one down inside get_user_pages(); but I missed it when I converted to follow_page() instead. Signed-off-by: Hugh Dickins Acked-by: Izik Eidus Signed-off-by: Linus Torvalds commit b7b69c7e97bc0a6694e7052a200609fd48baafc2 Merge: 1ce5523 c083234 Author: Linus Torvalds Date: Mon Nov 9 09:52:55 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix missing cleanup of gc cache on error cases nilfs2: fix kernel oops in error case of nilfs_ioctl_move_blocks commit 1ce55238e2dd46b978b098a85cb3d3ea494e4a93 Merge: aa90763 2606289 Author: Linus Torvalds Date: Mon Nov 9 09:51:42 2009 -0800 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: (34 commits) net/fsl_pq_mdio: add module license GPL can: fix WARN_ON dump in net/core/rtnetlink.c:rtmsg_ifinfo() can: should not use __dev_get_by_index() without locks hisax: remove bad udelay call to fix build error on ARM ipip: Fix handling of DF packets when pmtudisc is OFF qlge: Set PCIe reset type for EEH to fundamental. qlge: Fix early exit from mbox cmd complete wait. ixgbe: fix traffic hangs on Tx with ioatdma loaded ixgbe: Fix checking TFCS register for TXOFF status when DCB is enabled ixgbe: Fix gso_max_size for 82599 when DCB is enabled macsonic: fix crash on PowerBook 520 NET: cassini, fix lock imbalance ems_usb: Fix byte order issues on big endian machines be2net: Bug fix to send config commands to hardware after netdev_register be2net: fix to set proper flow control on resume netfilter: xt_connlimit: fix regression caused by zero family value rt2x00: Don't queue ieee80211 work after USB removal Revert "ipw2200: fix oops on missing firmware" decnet: netdevice refcount leak netfilter: nf_nat: fix NAT issue in 2.6.30.4+ ... commit aa907639f1d9fe0e3274b4f6c1088542f750a539 Merge: a58695b 1c9d80d Author: Linus Torvalds Date: Mon Nov 9 09:51:15 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc: Move of_set_property_mutex acquisition outside of devtree_lock grab. sparc64: replace parentheses in pmul() sparc64: Add a comment about why we only use certain memory barriers these days. commit a58695bb9d63764da9607bf1e7ff09ef03b190a8 Merge: 413623e 0fb18c4 Author: Linus Torvalds Date: Mon Nov 9 09:50:55 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: Revert "ide: try to use PIO Mode 0 during probe if possible" commit 413623e70765ffd5679c600aea28022e23d9f44b Merge: a314b0c f475f67 Author: Linus Torvalds Date: Mon Nov 9 09:50:15 2009 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: don't use CIFSGetSrvInodeNumber in is_path_accessible cifs: clean up handling when server doesn't consistently support inode numbers commit a314b0cf8c0802ac9a8aba4bbecc8587a0502391 Merge: 49456d8 969e46a Author: Linus Torvalds Date: Mon Nov 9 09:49:58 2009 -0800 Merge branch 'sh/for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Replace old style lock initializer sh: Account for cache aliases in flush_icache_range() sh: unwinder: Fix up invalid PC refetch in dwarf unwinder. serial: sh-sci: disable callback typo fix commit 49456d8d2c60a41b82d1ea8f8b49ea425e463b26 Merge: d5d6eba a556bec Author: Linus Torvalds Date: Mon Nov 9 09:47:21 2009 -0800 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: fix arch/m32r/boot/compressed/Makefile commit d5d6eba94b4c390c29e375bacabf9fdc2f01243d Merge: f0ede3f dede17b Author: Linus Torvalds Date: Mon Nov 9 09:30:14 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: snd-aica: declare MODULE_FIRMWARE ALSA: hda - Don't initialize CORB/RIRB for single_cmd mode ALSA: usb-audio: fix combine_word problem sound: Replace old style lock initializer ASoC: S3C64XX I2S: Enable audio-bus clock ASoC: OMAP: Don't try to set unsupported OMAP_DMA_DATA_BURST_16 on OMAP1 ALSA: hda, move hp_bseries_system sound: Use KERN_WARNING instead of KERN_WARN, which does not exist ALSA: intel8x0: Mute External Amplifier by default for another Sony model ALSA: hda - Add OLPC XO-1.5 PCI ID ALSA: hda - Enable GPIO control for mute LED on HP systems commit f0ede3f36188237d124b457d6735941d8e2cf981 Merge: 7c9abfb 43758dd Author: Linus Torvalds Date: Mon Nov 9 09:28:42 2009 -0800 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: sleep: another HP/Compaq DMI entries for init_set_sci_en_on_resume ACPI: add DMI entry for SCI_EN resume quirk on HP dv4 thermal: sysfs-api.txt - document passive attribute for thermal zones thermal: sysfs-api.txt - reformat for improved readability acpi: thermal: Add EOL to the trip_point_N_type strings ACPI: Move dereference after NULL test ACPICA: avoid "Info: mapping multiple BARs. Your kernel is fine." ACPI: add __cpuinit to acpi_processor_add() acpi-power-meter: Don't leak ACPI error codes to userspace eeepc-laptop: don't enable camera at startup if it's already on. Revert "eeepc-laptop: Prevent a panic when disabling RT2860 wireless when associated" ACPI: clean up video.c boundary checks and types commit 969e46a8533a3e40ce2146f6764a963b1f5505da Author: Thomas Gleixner Date: Fri Nov 6 22:42:05 2009 +0000 sh: Replace old style lock initializer SPIN_LOCK_UNLOCKED is deprecated. Use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Thomas Gleixner Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt commit a9d244a2ff163247b607c4bb64803230ca8f8acb Author: Matt Fleming Date: Thu Nov 5 23:14:39 2009 +0000 sh: Account for cache aliases in flush_icache_range() The icache may also contain aliases so we must account for them just like we do when manipulating the dcache. We usually get away with aliases in the icache because the instructions that are read from memory are read-only, i.e. they never change. However, the place where this bites us is when the code has been modified. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 1c9d80ddc60f8ac26344ec3db9830e5f8016c16d Author: David S. Miller Date: Sun Nov 8 17:41:20 2009 -0800 sparc: Move of_set_property_mutex acquisition outside of devtree_lock grab. Otherwise we try to sleep with preemption disabled, etc. Noticed by Thomas Gleixner. Signed-off-by: David S. Miller commit a556bec9955c8e47b40a87dbfeef6f24d3b2228f Author: Hirokazu Takata Date: Mon Nov 9 08:51:35 2009 +0900 m32r: fix arch/m32r/boot/compressed/Makefile - Fix a comment string - Fix a typo of $(suffix-y) Signed-off-by: Hirokazu Takata commit 1e424a348303694fabdf8b1efbfcb1a892dfa63a Author: Theodore Ts'o Date: Sun Nov 8 15:45:44 2009 -0500 ext4: partial revert to fix double brelse WARNING() This is a partial revert of commit 6487a9d (only the changes made to fs/ext4/namei.c), since it is causing the following brelse() double-free warning when running fsstress on a file system with 1k blocksize and we run into a block allocation failure while converting a single-block directory to a multi-block hash-tree indexed directory. WARNING: at fs/buffer.c:1197 __brelse+0x2e/0x33() Hardware name: VFS: brelse: Trying to free free buffer Modules linked in: Pid: 2226, comm: jbd2/sdd-8 Not tainted 2.6.32-rc6-00577-g0003f55 #101 Call Trace: [] warn_slowpath_common+0x65/0x95 [] warn_slowpath_fmt+0x29/0x2c [] __brelse+0x2e/0x33 [] jbd2_journal_refile_buffer+0x67/0x6c [] jbd2_journal_commit_transaction+0x319/0x14d8 [] ? try_to_del_timer_sync+0x58/0x60 [] ? sched_clock_cpu+0x12a/0x13e [] ? trace_hardirqs_off+0xb/0xd [] ? cpu_clock+0x3f/0x5b [] ? lock_release_holdtime+0x36/0x137 [] ? _spin_unlock_irqrestore+0x44/0x51 [] ? trace_hardirqs_on_caller+0x103/0x124 [] ? trace_hardirqs_on+0xb/0xd [] ? try_to_del_timer_sync+0x58/0x60 [] kjournald2+0x11a/0x310 [] ? autoremove_wake_function+0x0/0x38 [] ? kjournald2+0x0/0x310 [] kthread+0x66/0x6b [] ? kthread+0x0/0x6b [] kernel_thread_helper+0x7/0x10 ---[ end trace 5579351b86af61e3 ]--- Commit 6487a9d was an attempt some buffer head leaks in an ENOSPC error path, but in some cases it actually results in an excess ENOSPC, as shown above. Fixing this means cleaning up who is responsible for releasing the buffer heads from the callee to the caller of add_dirent_to_buf(). Since that's a relatively complex change, and we're late in the rcX development cycle, I'm reverting this now, and holding back a more complete fix until after 2.6.32 ships. We've lived with this buffer_head leak on ENOSPC in ext3 and ext4 for a very long time; a few more months won't kill us. Signed-off-by: "Theodore Ts'o" Cc: Curt Wohlgemuth commit bfd2e29f04e5f048ea62677811d1244badd6661e Author: Russell King Date: Sun Nov 8 20:05:28 2009 +0000 [ARM] Fix test for unimplemented ARM syscalls The existing test always failed since 'no' was always greater than 0x7ff. Signed-off-by: Russell King commit 5418983113f8cc4d984c7ef847bec5bdd0d90032 Merge: 158bc5a 3293576 Author: Russell King Date: Sun Nov 8 16:40:38 2009 +0000 Merge branch 'for-rmk' of git://git.marvell.com/orion commit c10edee2e1716f8cf217cf52ed01ae4742fcdf3c Author: Pekka Enberg Date: Sun Nov 8 18:01:06 2009 +0200 perf tools: Fix permission checks The perf_event_open() system call returns EACCES if the user is not root which results in a very confusing error message: $ perf record -A -a -f Error: perfcounter syscall returned with -1 (Permission denied) Fatal: No CONFIG_PERF_EVENTS=y kernel support configured? It turns out that's because perf tools are checking only for EPERM. Fix that up to get a much better error message: $ perf record -A -a -f Fatal: Permission error - are you root? Signed-off-by: Pekka Enberg Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Frederic Weisbecker LKML-Reference: <1257696066-4046-1-git-send-email-penberg@cs.helsinki.fi> Signed-off-by: Ingo Molnar commit eb647138acefc897c0eb6eddd5d3650966dfe627 Author: Jan Beulich Date: Sun Nov 8 12:12:14 2009 +0100 x86/PCI: Adjust GFP mask handling for coherent allocations Rather than forcing GFP flags and DMA mask to be inconsistent, GFP flags should be determined even for the fallback device through dma_alloc_coherent_mask()/dma_alloc_coherent_gfp_flags(). This restores 64-bit behavior as it was prior to commits 8965eb19386fdf5ccd0ef8b02593eb8560aa3416 and 4a367f3a9dbf2e7ffcee4702203479809236ee6e (not sure why there are two of them), where GFP_DMA was forced on for 32-bit, but not for 64-bit, with the slight adjustment that afaict even 32-bit doesn't need this without CONFIG_ISA. Signed-off-by: Jan Beulich Acked-by: Takashi Iwai LKML-Reference: <4AF18187020000780001D8AA@vpn.id2.novell.com> Signed-off-by: Ingo Molnar Signed-off-by: Jesse Barnes commit e9036b36eed4d3cdb33fa9cbcdd9888ae516889f Author: Cyrill Gorcunov Date: Mon Oct 26 22:24:14 2009 +0300 sched: Use root_task_group_empty only with FAIR_GROUP_SCHED root_task_group_empty is used only with FAIR_GROUP_SCHED so if we use other scheduler options we get: kernel/sched.c:314: warning: 'root_task_group_empty' defined but not used So move CONFIG_FAIR_GROUP_SCHED up that it covers root_task_group_empty(). Signed-off-by: Cyrill Gorcunov Cc: Peter Zijlstra LKML-Reference: <20091026192414.GB5321@lenovo> Signed-off-by: Ingo Molnar commit 158bc5af3d49be49c33dc06ff90c4f754c7d4f1b Author: Nicolas Pitre Date: Sat Nov 7 07:35:06 2009 +0100 ARM: 5784/1: fix early boot machine ID mismatch error display That code was refactored a long time ago, but one particular label didn't get adjusted properly which broke the listing of supported machines. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit de2a47cf2b3f59ef9664b277f4021b91af13598e Author: Xiaotian Feng Date: Thu Nov 5 10:43:51 2009 +0800 x86: Fix error return sequence in __ioremap_caller() kernel missed to free memtype if get_vm_area_caller failed in __ioremap_caller. This patch introduces error path to fix this and cleans up the repetitive error return sequences that contributed to the creation of the bug. Signed-off-by: Xiaotian Feng Acked-by: Suresh Siddha Cc: Venkatesh Pallipadi Cc: H. Peter Anvin LKML-Reference: <1257389031-20429-1-git-send-email-dfeng@redhat.com> Signed-off-by: Ingo Molnar commit 968c86458a5975efa7a95f832a4ec9fb21471137 Author: Randy Dunlap Date: Fri Nov 6 15:31:08 2009 -0800 sched: Fix kernel-doc function parameter name Fix variable name in sched.c kernel-doc notation. Fixes this DocBook warning: Warning(kernel/sched.c:2008): No description found for parameter 'p' Warning(kernel/sched.c:2008): Excess function parameter 'k' description in 'kthread_bind' Signed-off-by: Randy Dunlap LKML-Reference: <4AF4B1BC.8020604@oracle.com> Signed-off-by: Ingo Molnar commit c083234f1592ef3fad3d8083663c5e4a357ec77c Author: Ryusuke Konishi Date: Sun Nov 8 12:09:24 2009 +0900 nilfs2: fix missing cleanup of gc cache on error cases This fixes an -rc1 regression brought by the commit: 1cf58fa840472ec7df6bf2312885949ebb308853 ("nilfs2: shorten freeze period due to GC in write operation v3"). Although the patch moved out a function call of nilfs_ioctl_move_blocks() to nilfs_ioctl_clean_segments() from nilfs_ioctl_prepare_clean_segments(), it didn't move corresponding cleanup job needed for the error case. This will move the missing cleanup job to the destination function. Signed-off-by: Ryusuke Konishi Acked-by: Jiro SEKIBA commit 5399dd1fc8f5e812db931225ef5f67d89f3b1a56 Author: Ryusuke Konishi Date: Sat Nov 7 18:45:16 2009 +0900 nilfs2: fix kernel oops in error case of nilfs_ioctl_move_blocks This fixes a kernel oops reported by Markus Trippelsdorf in the email titled "[NILFS users] kernel Oops while running nilfs_cleanerd". The oops was caused by a bug of error path in nilfs_ioctl_move_blocks() function, which was inlined in nilfs_ioctl_clean_segments(). nilfs_ioctl_move_blocks checks duplication of blocks which will be moved in garbage collection. But, the check should have be done within nilfs_ioctl_move_inode_block() to prevent list corruption among buffers storing the target blocks. To fix the kernel oops, this moves forward the duplication check before the list insertion. I also tested this for stable trees [2.6.30, 2.6.31]. Reported-by: Markus Trippelsdorf Signed-off-by: Ryusuke Konishi Cc: stable commit 2606289779cb297320a185db5997729d29b6700b Author: Sebastian Siewior Date: Fri Nov 6 08:50:28 2009 +0000 net/fsl_pq_mdio: add module license GPL or it will taint the kernel and fail to load becuase of_address_to_resource() is GPL only. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: David S. Miller commit 53a0ef866dc379e577794819d0b8ade5ba338e3a Author: Wolfgang Grandegger Date: Fri Nov 6 23:53:13 2009 +0000 can: fix WARN_ON dump in net/core/rtnetlink.c:rtmsg_ifinfo() On older kernels, e.g. 2.6.27, a WARN_ON dump in rtmsg_ifinfo() is thrown when the CAN device is registered due to insufficient skb space, as reported by various users. This patch adds the rtnl_link_ops "get_size" to fix the problem. I think this patch is required for more recent kernels as well, even if no WARN_ON dumps are triggered. Maybe we also need "get_xstats_size" for the CAN xstats. Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 6755aebaaf9fc5416acfd4578ab7a1e122ecbc74 Author: Eric Dumazet Date: Fri Nov 6 00:23:01 2009 +0000 can: should not use __dev_get_by_index() without locks bcm_proc_getifname() is called with RTNL and dev_base_lock not held. It calls __dev_get_by_index() without locks, and this is illegal (might crash) Close the race by holding dev_base_lock and copying dev->name in the protected section. Signed-off-by: Eric Dumazet Signed-off-by: Oliver Hartkopp Signed-off-by: David S. Miller commit 88b938e63e68fd35e603421f722be0f35dde1016 Author: Roel Kluin Date: Sun Nov 8 00:26:56 2009 -0800 sparc64: replace parentheses in pmul() `>>' has a higher precedence than `?' so src2 evaluated to either 16 or 0 dependent on the bits set in rs2. Signed-off-by: Roel Kluin Signed-off-by: David S. Miller commit dede17b8e931eeaa38b0288e8d545d558d904942 Merge: f645073 1a69697 Author: Takashi Iwai Date: Sun Nov 8 09:16:15 2009 +0100 Merge branch 'fix/hda' into for-linus commit f6450739617977b81035edd0d42a3fac514c1a7b Merge: 6fc786d f37325a Author: Takashi Iwai Date: Sun Nov 8 09:16:06 2009 +0100 Merge branch 'fix/misc' into for-linus commit f37325a956f0ee4356793da7d93c699a25b21d92 Author: Ben Hutchings Date: Sat Nov 7 22:13:39 2009 +0000 ALSA: snd-aica: declare MODULE_FIRMWARE Signed-off-by: Ben Hutchings Signed-off-by: Takashi Iwai commit 3293576c6b7104cdac9c2d10d35abd86b02d7264 Author: Nicolas Pitre Date: Sat Nov 7 20:59:20 2009 -0500 [ARM] orion5x: update defconfig Signed-off-by: Nicolas Pitre commit ffbfe093b660ce1c9ede569ebe4f969f9003aa59 Author: Nicolas Pitre Date: Sat Nov 7 20:36:02 2009 -0500 [ARM] Kirkwood: update defconfig Signed-off-by: Nicolas Pitre commit a1897fa67cb964cc6b5a9048a31eb6ef3dcc2dda Author: Lennert Buytenhek Date: Sat Nov 7 14:50:00 2009 +0100 [ARM] Kirkwood: clarify PCIe MEM bus/physical address distinction Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 35f029e2514be209eb0e88c7d927f3bcc42a5cc2 Author: Lennert Buytenhek Date: Sat Nov 7 14:49:18 2009 +0100 [ARM] kirkwood: fix PCI I/O port assignment Instead of allocating PCI devices I/O port bus addresses from the 000xxxxx I/O port range as intended, due to a bus versus physical address mixup, the Kirkwood PCIe handling code inadvertently allocated I/O port bus addresses from the f20xxxxx address range (which is the physical address range of the PCIe I/O mapping window), but then direct all I/O port accesses to bus addresses 000xxxxx, which would then not be decoded at all. Fix this by setting the base address of the PCIe I/O space struct resource to KIRKWOOD_PCIE_IO_BUS_BASE instead of the incorrect KIRKWOOD_PCIE_IO_PHYS_BASE, and fix up __io() to expect addresses offsetted by the former instead of the latter. (The suggested fix of directing I/O port accesses from the host to bus addresses f20xxxxx instead has the problem that assigning full 32bit I/O port bus addresses (f20xxxxx) doesn't work on all PCI devices, as not all PCI devices implement full 32 bit BAR registers for I/O ports. We should really try to allocate I/O port bus addresses that fit in 16 bits.) Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit e7e7e0c084ef862d5754701108d4a038514d6314 Author: Yong Zhang Date: Sat Nov 7 11:16:13 2009 +0800 genirq: try_one_irq() must be called with irq disabled Prarit reported: ================================= [ INFO: inconsistent lock state ] 2.6.32-rc5 #1 --------------------------------- inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes: (&irq_desc_lock_class){?.-...}, at: [] try_one_irq+0x32/0x138 {IN-HARDIRQ-W} state was registered at: [] __lock_acquire+0x2fc/0xd5d [] lock_acquire+0xf3/0x12d [] _spin_lock+0x40/0x89 [] handle_level_irq+0x30/0x105 [] handle_irq+0x95/0xb7 [] do_IRQ+0x6a/0xe0 [] ret_from_intr+0x0/0x16 irq event stamp: 195096 hardirqs last enabled at (195096): [] _spin_unlock_irq+0x3a/0x5c hardirqs last disabled at (195095): [] _spin_lock_irq+0x29/0x95 softirqs last enabled at (195088): [] __do_softirq+0x1c1/0x1ef softirqs last disabled at (195093): [] call_softirq+0x1c/0x30 other info that might help us debug this: 1 lock held by swapper/0: #0: (kernel/irq/spurious.c:21){+.-...}, at: [] run_timer_softirq+0x1a9/0x315 stack backtrace: Pid: 0, comm: swapper Not tainted 2.6.32-rc5 #1 Call Trace: [] valid_state+0x187/0x1ae [] mark_lock+0x129/0x253 [] __lock_acquire+0x370/0xd5d [] lock_acquire+0xf3/0x12d [] _spin_lock+0x40/0x89 [] try_one_irq+0x32/0x138 [] poll_all_shared_irqs+0x41/0x6d [] poll_spurious_irqs+0x1c/0x49 [] run_timer_softirq+0x239/0x315 [] __do_softirq+0x102/0x1ef [] call_softirq+0x1c/0x30 [] do_softirq+0x59/0xca [] irq_exit+0x58/0xae [] smp_apic_timer_interrupt+0x94/0xba [] apic_timer_interrupt+0x13/0x20 The reason is that try_one_irq() is called from hardirq context with interrupts disabled and from softirq context (poll_all_shared_irqs()) with interrupts enabled. Disable interrupts before calling it from poll_all_shared_irqs(). Reported-and-tested-by: Prarit Bhargava Signed-off-by: Yong Zhang LKML-Reference: <1257563773-4620-1-git-send-email-yong.zhang0@gmail.com> Signed-off-by: Thomas Gleixner commit 22370ef5035f206283505409c9a64a595c5c7320 Author: Michael Krufky Date: Wed Nov 4 14:23:57 2009 -0300 V4L/DVB (13314): saa7134: set ts_force_val for the Hauppauge WinTV HVR-1150 The Hauppauge WinTV HVR-1150 retail boards require the FORCE_TS_VALID bit to be set in order to function properly. This change will work on the early revisions on the board as well, but the final revision will not function without this change. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4007a672abd88091e3cced158ec491d41c0c454c Author: Michael Krufky Date: Wed Nov 4 14:19:35 2009 -0300 V4L/DVB (13313): saa7134: add support for FORCE_TS_VALID mode for mpeg ts input When FORCE_TS_VALID mode is enabled, the saa713x will accept MPEG TS input without requiring TS_VALID set high. This is required for some new boards to function properly, due to the hardware design implementation. The configuration is toggled within the board setup configuration. Boards that do not have this bit set will function as before with no change. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2e8961330ec4b558a0f4db18ab5fb566842f492b Author: Laurent Pinchart Date: Wed Nov 4 13:11:10 2009 -0300 V4L/DVB (13311): uvcvideo: Fix compilation warning with 2.6.32 due to type mismatch with abs() The abs() macro has changed in 2.6.32 and returns a long instead of an int. Fix the driver to avoid compilation warnings. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit a2e35af6c756b5fa827fec5e0431cf2ce449beef Author: Laurent Pinchart Date: Wed Nov 4 11:09:12 2009 -0300 V4L/DVB (13309): uvcvideo: Ignore the FIX_BANDWIDTH for compressed video The FIX_BANDWIDTH quirk tries to work around cameras requesting the maximum bandwidth regardless of the image size by computing a bandwidth estimate. This works only for uncompressed frames. Signed-off-by: Laurent Pinchart Signed-off-by: Mauro Carvalho Chehab commit 7157fbd0ed1a00024fb915cfa5ed93fb4ce9dfaf Author: Jean Delvare Date: Wed Nov 4 15:26:59 2009 -0300 V4L/DVB (13287): ce6230 - saa7164-cmd: Fix wrong sizeof Which is why I have always preferred sizeof(struct foo) over sizeof(var). Cc: Antti Palosaari Acked-by: Steven Toth Signed-off-by: Jean Delvare Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit d514edac5df2149207f1ae2f52de63882c692eec Author: Jonathan Cameron Date: Wed Nov 4 14:18:04 2009 -0300 V4L/DVB (13286): pxa-camera: Fix missing sched.h Required for wakeup call. Signed-off-by: Jonathan Cameron Acked-by: Guennadi Liakhovetski Signed-off-by: Douglas Schilling Landgraf Signed-off-by: Mauro Carvalho Chehab commit 32345b059676169444d8d3c4a59009adcdf93885 Author: Theodore Kilgore Date: Sun Nov 1 12:59:42 2009 -0300 V4L/DVB (13264): gspca_mr97310a: Change vstart for CIF sensor type 1 cams gspca_mr97310a: Change vstart for CIF sensor type 1 cams This fixes the distortion at the end of the frame, and avoids the bad frame dropping done because of this distortion, trippling the framerate! Signed-off-by: Theodore Kilgore Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 81191f694cb507c49d3c7aa6238dcc0a83ad4001 Author: Erik Andrén Date: Sat Oct 3 10:01:41 2009 -0300 V4L/DVB (13257): gspca - m5602-s5k4aa: Add vflip for Fujitsu Amilo Xi 2528 Adds a vflip quirk for the Fujitsu Amilo Xi 2528. Thanks to Evgeny for the report. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit 2339a1887dab469bb4bae56aa7eca3a5e05ecde7 Author: Erik Andrén Date: Sun Sep 27 10:20:21 2009 -0300 V4L/DVB (13256): gspca - m5602-s5k4aa: Add another MSI GX700 vflip quirk Adds another vflip quirk for the MSI GX700. Thanks to John Katzmaier for reporting. Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit b6ef8836c1ff5199abd40cfba162052bc7e8af00 Author: Erik Andrén Date: Sun Sep 27 10:11:43 2009 -0300 V4L/DVB (13255): gspca - m5602-s5k4aa: Add vflip quirk for the Bruneinit laptop Adds a vflip quirk for the Bruneinit laptop. Thanks to Jörg for the report Signed-off-by: Erik Andrén Signed-off-by: Mauro Carvalho Chehab commit dcff9cfe432c74b382cea327509ede2e114b1615 Author: Stefan Richter Date: Sat Oct 17 17:46:25 2009 -0300 V4L/DVB (13240): firedtv: fix regression: tuning fails due to bogus error return Since 2.6.32(-rc1), DVB core checks the return value of dvb_frontend_ops.set_frontend. Now it becomes apparent that firedtv always returned a bogus value from its set_frontend method. CC: stable@kernel.org Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit c94115ffc4d76089b26eee4d1cb56f1f6b631bd2 Author: Henrik Kurelid Date: Sat Oct 3 05:37:58 2009 -0300 V4L/DVB (13237): firedtv: length field corrupt in ca2host if length>127 This solves a problem in firedtv that has become major for Swedish DVB-T users the last month or so. It will most likely solve issues seen by other users as well. If the length of an AVC message is greater than 127, the length field should be encoded in LV mode instead of V mode. V mode can only be used if the length is 127 or less. This patch ensures that the CA_PMT message is always encoded in LV mode so PMT message of greater lengths can be supported. Signed-off-by: Henrik Kurelid Signed-off-by: Stefan Richter Signed-off-by: Mauro Carvalho Chehab commit 1f95725755ab67f3198df3b5bf7517f926f310ca Author: Mike Isely Date: Wed Sep 23 18:06:57 2009 -0300 V4L/DVB (13230): s2255drv: Don't conditionalize video buffer completion on waiting processes The s2255 driver had logic which aborted processing of a video frame if there was no process waiting on the video buffer in question. That simply doesn't work when the application is doing things in an asynchronous manner. If the application went to the trouble to queue the buffer in the first place, then the driver should always attempt to complete it - even if the application at that moment has its attention turned elsewhere. Applications which always blocked waiting for I/O on the capture device would not have been affected by this. Applications which *mostly* blocked waiting for I/O on the capture device probably only would have been somewhat affected (frame lossage, at a rate which goes up as the application blocks less). Applications which never blocked on the capture device (e.g. polling only) however would never have been able to receive any video frames, since in that case this "is anyone waiting on this?" check on the buffer never would have evalutated true. This patch just deletes that harmful check against the buffer's wait queue. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab CC: stable@kernel.org commit 78c948ab0cc44f9c8ae397d7d9d217bb498bfa2f Author: Michael Krufky Date: Wed Oct 21 18:27:29 2009 -0300 V4L/DVB (13202): smsusb: add autodetection support for three additional Hauppauge USB IDs Add support for three new Hauppauge Device USB IDs: 2040:b900 2040:b910 2040:c000 Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 96fbf771d86a90ff006bc62ca4d4de6474b3de31 Author: Devin Heitmueller Date: Thu Oct 15 01:14:34 2009 -0300 V4L/DVB (13190): em28xx: fix panic that can occur when starting audio streaming Because the counters were not reset when starting up streaming, they would be reused from the previous run. This can result in cases such that when the second instance of streaming starts up, the "cnt" variable in em28xx_audio_isocirq() can end up being negative, resulting in attempting to write to memory before the start of runtime->dma_area (as well as having a negative number of bytes to copy). Signed-off-by: Devin Heitmueller CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab commit 2de26c0a4a218a351bb1970eeaddf2905b47ff13 Author: Mike Isely Date: Mon Sep 21 12:42:22 2009 -0300 V4L/DVB (13170): bttv: Fix reversed polarity error when switching video standard The bttv driver function which handles switching of the video standard (set_tvnorm() in bttv-driver.c) includes a check which can optionally also reset the cropping configuration to a default value. It is "optional" based on a comparison of the cropcap parameters of the previous vs the newly requested video standard. The comparison is being done with a memcmp(), a function which only returns a true value if the comparison actually fails. This if-statement appears to have been written to assume wrong memcmp() semantics. That is, it was re-initializing the cropping configuration only if the new video standard did NOT have different cropcap values. That doesn't make any sense. One definitely should reset things if the cropcap parameters are different - if there's any comparison to made at all. The effect of this problem was that a transition from, say, PAL to NTSC would leave in place old cropping setup that made sense for the PAL geometry but not for NTSC. If the application doesn't care about cropping it also won't try to reset the cropping configuration, resulting in an improperly cropped video frame. In the case I was testing this actually caused black video frames to be displayed. Another interesting effect of this bug is that if one does something which does NOT change the video standard and this function is run, then the cropping setup gets reset anyway - again because of the backwards comparison. It turns out that just running anything which merely opens and closes the video device node (e.g. v4l-info) will cause this to happen. One can argue that simply opening the device node and not doing anything to it should not mess with any of its state - but because of this behavior, any TV app which does such things (e.g. xawtv) probably therefore doesn't see the problem. The solution is to fix the sense of the if-statement. It's easy to see how this mistake could have been made given how memcmp() works. The patch is therefore removal of a single "!" character from the if-statement in set_tvnorm in bttv-driver.c. Signed-off-by: Mike Isely CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab commit 66349b4e7ab3825dbfc167a5f0309792a587adb7 Author: Mike Isely Date: Mon Sep 21 12:09:08 2009 -0300 V4L/DVB (13169): bttv: Fix potential out-of-order field processing There is a subtle interaction in the bttv driver which can result in fields being repeatedly processed out of order. This is a problem specifically when running in V4L2_FIELD_ALTERNATE mode (probably the most common case). 1. The determination of which fields are associated with which buffers happens in videobuf, before the bttv driver gets a chance to queue the corresponding DMA. Thus by the point when the DMA is queued for a given buffer, the algorithm has to do the queuing based on the buffer's already assigned field type - not based on which field is "next" in the video stream. 2. The driver normally tries to queue both the top and bottom fields at the same time (see bttv_irq_next_video()). It tries to sort out top vs bottom by looking at the field type for the next 2 available buffers and assigning them appropriately. 3. However the bttv driver *always* actually processes the top field first. There's even an interrupt set aside for specifically recognizing when the top field has been processed so that it can be marked done even while the bottom field is still being DMAed. Given all of the above, if one gets into a situation where bttv_irq_next_video() gets entered when the first available buffer has been pre-associated as a bottom field, then the function is going to process the buffers out of order. That first available buffer will be put into the bottom field slot and the buffer after that will be put into the top field slot. Problem is, since the top field is always processed first by the driver, then that second buffer (the one after the first available buffer) will be the first one to be finished. Because of the strict fifo handling of all video buffers, then that top field won't be seen by the app until after the bottom field is also processed. Worse still, the app will get back the chronologically later bottom field first, *before* the top field is received. The buffer's timestamps will even be backwards. While not fatal to most TV apps, this behavior can subtlely degrade userspace deinterlacing (probably will cause jitter). That's probably why it has gone unnoticed. But it will also cause serious problems if the app in question discards all but the latest received buffer (a latency minimizing tactic) - causing one field to only ever be displayed since the other is now always late. Unfortunately once you get into this state, you're stuck this way - because having consumed two buffers, now the next time around the "first" available buffer will again be a bottom field and the same thing happens. How can we get into this state? In a perfect world, where there's always a few free buffers queued to the driver, it should be impossible. However if something disrupts streaming, e.g. if the userspace app can't queue free buffers fast enough for a moment due perhaps to a CPU scheduling glitch, then the driver can get momentarily starved and some number of fields will be dropped. That's OK. But if an odd number of fields get dropped, then that "first" available buffer might be the bottom field and now we're stuck... This patch fixes that problem by deliberately only setting up a single field for one frame if we don't get a top field as the first available buffer. By purposely skipping the other field, then we only handle a single buffer thus bringing things back into proper sync (i.e. top field first) for the next frame. To do this we just drop the few lines in bttv_irq_next_video() that attempt to set up the second buffer when that second buffer isn't for the bottom field. This is definitely a problem in when in V4L2_FIELD_ALTERNATE mode. In the other modes this change either has no effect or doesn't harm things any further anyway. Signed-off-by: Mike Isely CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab commit e0a7e8a621666f9ce1373270bae061f92a2a2b87 Author: HIRANO Takahito Date: Sun Sep 20 08:57:49 2009 -0300 V4L/DVB (13167): pt1: Fix a compile error on arm The lack of #include caused a compile error on some architectures. Signed-off-by: HIRANO Takahito Signed-off-by: Mauro Carvalho Chehab commit 76823b791d867c2ab563c237f188d0cbb4ced6e1 Author: Guennadi Liakhovetski Date: Mon Oct 5 12:54:54 2009 -0300 V4L/DVB (13132): fix use-after-free Oops, resulting from a driver-core API change Commit b4028437876866aba4747a655ede00f892089e14 has broken again re-use of device objects across device_register() / device_unregister() cycles. Fix soc-camera by nullifying the struct after device_unregister(). Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 07bc46e6671b4533a5e56607ddec9de9079c1844 Author: Guennadi Liakhovetski Date: Mon Oct 5 12:54:34 2009 -0300 V4L/DVB (13131): pxa_camera: fix camera pixel format configuration A missed conversion prevents correct pixel format negotiation with client drivers. Reported-by: Antonio Ospite Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 8cf1fec877c102beeae1e13624b1f7d20abbf8f9 Author: Guennadi Liakhovetski Date: Mon Oct 5 12:51:47 2009 -0300 V4L/DVB (13129): sh_mobile_ceu_camera: fix cropping for scaling clients Fix a bug in cropping calculation, when the client is also scaling the image. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 1381dfd5150cfbdb5fa55ce7ab5ab56812111909 Author: Hans de Goede Date: Sun Oct 4 14:04:47 2009 -0300 V4L/DVB (13122): gscpa - stv06xx + ov518: dont discard every other frame When we call gspca_frame_add, it returns a pointer to the frame passed in, unless we call it with LAST_PACKET, when it will return a pointer to a new frame in which to store the frame data for the next frame. The frame pointer was not updated in stv06xx and ov518. Signed-off-by: Hans de Goede Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab commit a57c1dcb93e43357ed3f666e5a2b5d5071dd3930 Author: Seth Barry Date: Sun Sep 27 16:42:29 2009 -0300 V4L/DVB (13109): tda18271: fix signedness issue in tda18271_rf_tracking_filters_init While having tda18271 module set with debug=17 (cal & info prints) and cal=0 (delay calibration process until first use) - I discovered that during the calibration process, if the frequency test for 69750000 returned a bcal of 0 (see tda18721-fe.c in tda18271_powerscan func) that the tuner wouldn't be able to pickup any of the frequencies in the range (all the other frequencies bands returned bcal=1). I spent some time going over the code and the NXP's tda18271 spec (ver.4 of it i think) and adding a lot of debug prints and walking/stepping through the calibration process. I found that when the powerscan fails to find a frequency, the rf calibration is not run and the default value is supposed to be used in its place (pulled from the RF_CAL_map table) - but something was getting goofed up there. Now, my c coding skills are very rusty, but i think root of the problem is a signedness issue with the math operation for calculating the rf_a1 and rf_a2 values in tda18271_rf_tracking_filters_init func, which results in values like 20648 for rf_a1 (when it should probably have a value like 0, or so slightly negative that it should be zero - this bad value for rf_a1 would in turn makes the approx calc within tda18271c2_rf_tracking_filters_correction go out of whack). The simplest solution i found was to explicitly convert the signedness of the denominator to avoid the implicit conversion. The values placed into the u32 rf_freq array should never exceed about 900mhz, so i think the s32 max value shouldn't be an issue in this case. I've tested it out a little, and even when i get a bcal=0 with the modified code, the default calibration value gets used, rf_a1 is zero, and the tuner seems to lock on the stream and mythtv seems to play it fine. Signed-off-by: Seth Barry Signed-off-by: Michael Krufky CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab commit 4d8317876d5f53ef792e90f89d8f162d7bca5c81 Author: Michael Krufky Date: Sun Sep 27 14:05:12 2009 -0300 V4L/DVB (13107): tda18271: fix overflow in FM radio frequency calculation Multiplication by 62500 causes an overflow in the 32 bit freq variable, which is later divided by 1000 when using FM radio. This patch prevents the overflow by scaling the frequency value correctly upfront. Thanks to Henk Vergonet for spotting the problem and providing a preliminary patch, which this changeset was based upon. Cc: Henk Vergonet Signed-off-by: Michael Krufky CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab commit 7646b9de26c54cf4bc9c446d7ada9f91ece31e0a Author: Martin Samek Date: Wed Sep 30 22:59:09 2009 -0300 V4L/DVB (13079): dib0700: fixed xc2028 firmware loading kernel oops Fixing kernel oops when driver attemps to load xc2028 firmware. Note by djh: the patch contribute by Martin is a port of a fix I made during the PCTV 340e development. It's a temporary workaround that fixes a regression (an OOPS condition) and the real fix should be in the code that manages the i2c master on the dib7000p. But this fix does address the immmediate regression and should be merged upstream until we do a cleaner fix. Signed-off-by: Martin Samek Signed-off-by: Devin Heitmueller CC: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab commit 1e13c8f0c97c883287b1940719d0040fd38fcd58 Author: Patrick Boettcher Date: Sat Sep 19 05:24:40 2009 -0300 V4L/DVB (13050): DIB0700: fix-up USB device ID for Terratec/Leadtek git commit db48138f6bc4d2b613b08731ffc8b319432ebc25 changed by accident the assignment of certain USB IDs to their device-specific-handlers. Thanks to Edward Sheldrake for finding this regression Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 2b5d9946bc6bfdfa489f099eb59bcc15f8ae5afa Author: Michael Krufky Date: Sun Sep 27 19:11:34 2009 -0300 V4L/DVB (13048): dib0070: fix build dependency when driver is disabled Fix build dependency on function, dib0070_ctrl_agc_filter [mchehab@redhat.com: reverted the quick workaround 3f48258e50ef4] Signed-off-by: Michael Krufky Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit afa08974fe80c198b8650f73ed8ab59135ca10d0 Author: Jean Delvare Date: Sat Nov 7 13:10:46 2009 +0100 i2c: Add an interface to lock/unlock an I2C bus segment Some drivers need to be able to prevent access to an I2C bus segment for a specific period of time. Add an interface for them to do so without twiddling with i2c-core internals. Signed-off-by: Jean Delvare Acked-by: Ben Hutchings commit 3806e94b0148350c72f9a3214274026b6ca03f49 Author: Crane Cai Date: Sat Nov 7 13:10:46 2009 +0100 i2c-piix4: Modify code name SB900 to Hudson-2 Change SB900 to its formal code name Hudson-2. Signed-off-by: Crane Cai Signed-off-by: Jean Delvare commit 1a6969788ef2d5bc3169eee59def6b267182f136 Author: Takashi Iwai Date: Sat Nov 7 09:49:04 2009 +0100 ALSA: hda - Don't initialize CORB/RIRB for single_cmd mode So far, CORB/RIRB still remains even if the driver is switched to the single_cmd mode. The specification says that this should be disabled, but I hoped this isn't the case; indeed most devices worked together with CORB/RIRB. However, Poulsbo (US15W) seems problematic with this setup, and it requires to disable CORB/RIRB when single_cmd is used. Now this patch disables CORB/RIRB initialization when the single_cmd mode is used. Also the unsolicited event is disabled because it can't work without RIRB. Reported-and-tested-by: Troy Kisky Signed-off-by: Takashi Iwai commit f495088210c8b9e20791d995a8210170c68d2deb Author: Julian Anastasov Date: Fri Nov 6 23:44:53 2009 +0200 ALSA: usb-audio: fix combine_word problem Fix combine_word problem where first octet is not read properly. The only affected place seems to be the INPUT_TERMINAL type. Before now, sound controls can be created with the output terminal's name which is a fallback mechanism used only for unknown input terminal types. For example, Line can wrongly appear as Speaker. After the change it should appear as Line. The side effect of this change can be that users can expect the wrong control name in their scripts or programs while now we return the correct one. Probably, these defines should use get_unaligned_le16 and friends. Signed-off-by: Julian Anastasov Cc: Signed-off-by: Takashi Iwai commit 70edc800a39327174d3244f9226ce8cacd01dc91 Author: Thomas Gleixner Date: Fri Nov 6 22:41:29 2009 +0000 sound: Replace old style lock initializer SPIN_LOCK_UNLOCKED is deprecated. Use __SPIN_LOCK_UNLOCKED instead. Signed-off-by: Thomas Gleixner Signed-off-by: Takashi Iwai commit cc05368c52fed7d9efa0f56c5270e95bb569713e Author: Martin Michlmayr Date: Fri Nov 6 14:52:34 2009 +0000 hisax: remove bad udelay call to fix build error on ARM The hisax ISDN driver fails to build on ARM with CONFIG_HISAX_ELSA: | drivers/built-in.o: In function `modem_set_dial': | drivers/isdn/hisax/elsa_ser.c:535: undefined reference to `__bad_udelay' | drivers/isdn/hisax/elsa_ser.c:544: undefined reference to `__bad_udelay' | drivers/built-in.o: In function `modem_set_init': | drivers/isdn/hisax/elsa_ser.c:486: undefined reference to `__bad_udelay' | [...] According to the comment in arch/arm/include/asm/delay.h, __bad_udelay is specifically designed on ARM to produce a build failure when udelay is called with a value > 2000. Signed-off-by: Martin Michlmayr Signed-off-by: David S. Miller commit 23ca0c989e46924393f1d54bec84801d035dd28e Author: Herbert Xu Date: Fri Nov 6 10:37:41 2009 +0000 ipip: Fix handling of DF packets when pmtudisc is OFF RFC 2003 requires the outer header to have DF set if DF is set on the inner header, even when PMTU discovery is off for the tunnel. Our implementation does exactly that. For this to work properly the IPIP gateway also needs to engate in PMTU when the inner DF bit is set. As otherwise the original host would not be able to carry out its PMTU successfully since part of the path is only visible to the gateway. Unfortunately when the tunnel PMTU discovery setting is off, we do not collect the necessary soft state, resulting in blackholes when the original host tries to perform PMTU discovery. This problem is not reproducible on the IPIP gateway itself as the inner packet usually has skb->local_df set. This is not correctly cleared (an unrelated bug) when the packet passes through the tunnel, which allows fragmentation to occur. For hosts behind the IPIP gateway it is readily visible with a simple ping. This patch fixes the problem by performing PMTU discovery for all packets with the inner DF bit set, regardless of the PMTU discovery setting on the tunnel itself. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 73475339005dc68eb0bd2f6b1e93a3a39b628410 Author: Ron Mercer Date: Fri Nov 6 07:44:58 2009 +0000 qlge: Set PCIe reset type for EEH to fundamental. This device requires a fundamental reset when recovering from EEH. Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit 60fa6c374e7efcbed04bc6d11d3b35645c523b2f Author: Ron Mercer Date: Fri Nov 6 07:44:57 2009 +0000 qlge: Fix early exit from mbox cmd complete wait. This line was accidentally left out of the previous commit # da03945140a035a2962f7f93e359085596f20499 ("qlge: Fix firmware mailbox command timeout."). Signed-off-by: Ron Mercer Signed-off-by: David S. Miller commit ee5f784a2d48cdacf561e99b2d01b23364189474 Author: Don Skidmore Date: Fri Nov 6 12:56:20 2009 +0000 ixgbe: fix traffic hangs on Tx with ioatdma loaded When ioatdma was loaded we we were unable to transmit traffic. We weren't using the correct registers in ixgbe_update_tx_dca for 82599 systems. Likewise in ixgbe_configure_tx() we weren't disabling the arbiter before modifying MTQC. Signed-off-by: Don Skidmore Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 26f23d82dd8eae6dcc2ab99c04a9256089576a73 Author: Yi Zou Date: Fri Nov 6 12:56:00 2009 +0000 ixgbe: Fix checking TFCS register for TXOFF status when DCB is enabled When DCB is enabled, the ixgbe_check_tx_hang() should check the corresponding TC's TXOFF in TFCS based on the TC that the tx ring belongs to. Adds a function to map from the tx_ring hw reg_idx to the correspodning TC and read TFCS accordingly. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit b352e40da8977253f49850a24f6448653a459ac0 Author: Yi Zou Date: Fri Nov 6 12:55:38 2009 +0000 ixgbe: Fix gso_max_size for 82599 when DCB is enabled The 32k gso_max_size when DCB is enabled is for 82598 only, not for 82599. Signed-off-by: Yi Zou Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit dcaa6a9414cdc767c0afba4705c25ae9cf6096b5 Author: Finn Thain Date: Tue Nov 3 03:42:40 2009 +0000 macsonic: fix crash on PowerBook 520 No-one seems to know where the PowerBook 500 series store their ethernet MAC addresses. So, rather than crash, use a MAC address from the SONIC CAM. Failing that, generate a random one. Signed-off-by: Finn Thain Signed-off-by: David S. Miller commit 87d75b52414a22c54cf8382bcdd329376b1bce78 Author: Jiri Slaby Date: Thu Nov 5 23:14:29 2009 +0000 NET: cassini, fix lock imbalance Stanse found that one error path in cas_open omits to unlock pm_mutex. Fix that. Signed-off-by: Jiri Slaby Signed-off-by: David S. Miller commit 2b2072e902848a63168570f500a5726744b3873a Author: Sebastian Haas Date: Wed Nov 4 05:48:33 2009 +0000 ems_usb: Fix byte order issues on big endian machines CPC-USB is using a ARM7 core with little endian byte order. The "id" field in can_msg needs byte order conversion from/to CPU byte order. Signed-off-by: Sebastian Haas Signed-off-by: David S. Miller commit 4f2aa89cd263932d61f286307771996df76bf63e Author: Ajit Khaparde Date: Fri Nov 6 02:07:32 2009 +0000 be2net: Bug fix to send config commands to hardware after netdev_register Sending config commands to be2 hardware before netdev_register is completed, is sometimes causing the async link notification to arrive even before the driver is ready to handle it. The commands for vlan config and flow control settings can infact wait till be_open. This patch takes care of that. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 9e90c961134929678022aee0c68b16c1ed520614 Author: Ajit Khaparde Date: Fri Nov 6 02:06:59 2009 +0000 be2net: fix to set proper flow control on resume If be2 goes into suspend after a user changes the flow control settings, we are not programming them back after resume. This patch takes care of it. We now get the flow control settings before going to suspend mode and then apply them during resume. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit bb7b22840141a4fab8f232ee90d30cdf728bb032 Merge: 539054a 66f84d6 Author: David S. Miller Date: Fri Nov 6 18:21:44 2009 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 539054a8fa5141c9a4e9ac6a86d249e3f2bdef45 Author: Jan Engelhardt Date: Fri Nov 6 18:08:32 2009 -0800 netfilter: xt_connlimit: fix regression caused by zero family value Commit v2.6.28-rc1~717^2~109^2~2 was slightly incomplete; not all instances of par->match->family were changed to par->family. References: http://bugzilla.netfilter.org/show_bug.cgi?id=610 Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f1b291d4c47440cbfc1a478e88800e2742d60a80 Author: Simon Kagstrom Date: Fri Nov 6 15:44:04 2009 +0100 x86: Add Phoenix/MSC BIOSes to lowmem corruption list We have a board with a Phoenix/MSC BIOS which also corrupts the low 64KB of RAM, so add an entry to the table. Signed-off-by: Simon Kagstrom LKML-Reference: <20091106154404.002648d9@marrow.netinsight.se> Signed-off-by: H. Peter Anvin commit f475f6775465283494346663f201ad04810d2e8a Author: Jeff Layton Date: Fri Nov 6 14:18:49 2009 -0500 cifs: don't use CIFSGetSrvInodeNumber in is_path_accessible Because it's lighter weight, CIFS tries to use CIFSGetSrvInodeNumber to verify the accessibility of the root inode and then falls back to doing a full QPathInfo if that fails with -EOPNOTSUPP. I have at least a report of a server that returns NT_STATUS_INTERNAL_ERROR rather than something that translates to EOPNOTSUPP. Rather than trying to be clever with that call, just have is_path_accessible do a normal QPathInfo. That call is widely supported and it shouldn't increase the overhead significantly. Cc: Stable Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ec06aedd44541129840ed52e6165afa3796a27bf Author: Jeff Layton Date: Fri Nov 6 14:18:29 2009 -0500 cifs: clean up handling when server doesn't consistently support inode numbers It's possible that a server will return a valid FileID when we query the FILE_INTERNAL_INFO for the root inode, but then zeroed out inode numbers when we do a FindFile with an infolevel of SMB_FIND_FILE_ID_FULL_DIR_INFO. In this situation turn off querying for server inode numbers, generate a warning for the user and just generate an inode number using iunique. Once we generate any inode number with iunique we can no longer use any server inode numbers or we risk collisions, so ensure that we don't do that in cifs_get_inode_info either. Cc: Stable Reported-by: Timothy Normand Miller Signed-off-by: Jeff Layton Signed-off-by: Steve French commit 761434a318a64bf521f8abcc920e1d9837640fa2 Author: Kenji Kaneshige Date: Fri Nov 6 16:22:44 2009 +0900 PCI ASPM: fix oops on root port removal Fix the following BUG_ON() problem reported by Alex Chiang. This problem happened when removing PCIe root port using PCI logical hotplug operation. The immediate cause of this problem is that the pointer to invalid data structure is passed to pcie_update_aspm_capable() by pcie_aspm_exit_link_state(). When pcie_aspm_exit_link_state() received a pointer to root port link, it unconfigures the root port link and frees its data structure at first. At this point, there are not links to configure under the root port and the data structure for root port link is already freed. So pcie_aspm_exit_link_state() must not call pcie_update_aspm_capable() and pcie_config_aspm_path(). This patch fixes the problem by changing pcie_aspm_exit_link_state() not to call pcie_update_aspm_capable() and pcie_config_aspm_path() if the specified link is root port link. ------------[ cut here ]------------ kernel BUG at drivers/pci/pcie/aspm.c:606! invalid opcode: 0000 [#1] SMP DEBUG_PAGEALLOC last sysfs file: /sys/devices/pci0000:40/0000:40:13.0/remove CPU 1 Modules linked in: shpchp Pid: 9345, comm: sysfsd Not tainted 2.6.32-rc5 #98 ProLiant DL785 G6 RIP: 0010:[] [] pcie_update_aspm_capable+0x15/0xbe RSP: 0018:ffff88082a2f5ca0 EFLAGS: 00010202 RAX: 0000000000000e77 RBX: ffff88182cc3e000 RCX: ffff88082a33d006 RDX: 0000000000000001 RSI: ffffffff811dff4a RDI: ffff88182cc3e000 RBP: ffff88082a2f5cc0 R08: ffff88182cc3e000 R09: 0000000000000000 R10: ffff88182fc00180 R11: ffff88182fc00198 R12: ffff88182cc3e000 R13: 0000000000000000 R14: ffff88182cc3e000 R15: ffff88082a2f5e20 FS: 00007f259a64b6f0(0000) GS:ffff880864600000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00007feb53f73da0 CR3: 000000102cc94000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process sysfsd (pid: 9345, threadinfo ffff88082a2f4000, task ffff88082a33cf00) Stack: ffff88182cc3e000 ffff88182cc3e000 0000000000000000 ffff88082a33cf00 <0> ffff88082a2f5cf0 ffffffff811dff52 ffff88082a2f5cf0 ffff88082c525168 <0> ffff88402c9fd2f8 ffff88402c9fd2f8 ffff88082a2f5d20 ffffffff811d7db2 Call Trace: [] pcie_aspm_exit_link_state+0xf5/0x11e [] pci_stop_bus_device+0x76/0x7e [] pci_stop_bus_device+0x2b/0x7e [] pci_remove_bus_device+0x15/0xb9 [] remove_callback+0x29/0x3a [] sysfs_schedule_callback_work+0x15/0x6d [] worker_thread+0x19d/0x298 [] ? worker_thread+0x148/0x298 [] ? sysfs_schedule_callback_work+0x0/0x6d [] ? autoremove_wake_function+0x0/0x38 [] ? worker_thread+0x0/0x298 [] kthread+0x7d/0x85 [] child_rip+0xa/0x20 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0x85 [] ? child_rip+0x0/0x20 Code: 89 e5 8a 50 48 31 c0 c0 ea 03 83 e2 07 e8 b2 de fe ff c9 48 98 c3 55 48 89 e5 41 56 49 89 fe 41 55 41 54 53 48 83 7f 10 00 74 04 <0f> 0b eb fe 48 8b 05 da 7d 63 00 4c 8d 60 e8 4c 89 e1 eb 24 4c RIP [] pcie_update_aspm_capable+0x15/0xbe RSP ---[ end trace 6ae0f65bdeab8555 ]--- Reported-by: Alex Chiang Signed-off-by: Kenji Kaneshige Tested-by: Alex Chiang Signed-off-by: Jesse Barnes commit 66f84d6594729c866c0c03fe97159a987dad7d84 Author: Sean Cross Date: Thu Nov 5 20:22:03 2009 +0100 rt2x00: Don't queue ieee80211 work after USB removal This prevents the rt2x00 driver from queueing ieee80211 work after the   USB card has been removed, preventing a kernel panic. Signed-off-by: Sean Cross Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 143d40f3ab8fbd8ca2fe712ec8e072d687142804 Author: John W. Linville Date: Fri Nov 6 12:58:20 2009 -0500 Revert "ipw2200: fix oops on missing firmware" This reverts commit e6c5fc53d0f44a772398402ee8a1879818e42b4e. Based on this regression report: Date: Thu, 05 Nov 2009 15:59:16 +0100 From: Holger Schurig To: linux-wireless@vger.kernel.org Subject: BUG: oops when "rmmod ipw2200" This happened on wireless-testing v2.6.32-rc6-41575-g5e68bfb. I modprobed ipw2200, put it into monitor mode, used tshark a while to monitor, then I stopped tshark, "ifconfig eth2 down" and finally "rmmod ipw2200", and voila: [ 917.189620] ------------[ cut here ]------------ [ 917.189717] kernel BUG at net/wireless/core.c:543! [ 917.189805] invalid opcode: 0000 [#1] PREEMPT SMP [ 917.190002] last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:02:0d.0/firmware/0000:02:0d.0/loading [ 917.190136] Modules linked in: lib80211_crypt_wep ipw2200(-) libipw lib80211 ath5k mac80211 ath cfg80211 psmouse uhci_hcd [ 917.190680] [ 917.190759] Pid: 1763, comm: rmmod Not tainted (2.6.32-rc6-wl #26) Amilo M1425 [ 917.190886] EIP: 0060:[] EFLAGS: 00010202 CPU: 0 [ 917.190992] EIP is at wiphy_unregister+0xd3/0x175 [cfg80211] [ 917.191083] EAX: f601d4c4 EBX: 00000000 ECX: 00000000 EDX: f79e8600 [ 917.191176] ESI: f601d400 EDI: f95b4350 EBP: f6009eb4 ESP: f6009e8c [ 917.191269] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 917.191360] Process rmmod (pid: 1763, ti=f6008000 task=f79e8130 task.ti=f6008000) [ 917.191486] Stack: [ 917.191562] f601d5a0 f601d484 f6460e98 f6009ea0 c01407ee f6009eb8 00000246 f64604c0 [ 917.191916] <0> f6460e5c f95b4350 f6009ec0 f94fd030 f6460e98 f6009edc f95a9d4f f787bc00 [ 917.192100] <0> f787bc58 f787bc00 f95b4350 f95b4350 f6009ee8 c0207fca f787bc58 f6009ef8 [ 917.192100] Call Trace: [ 917.192100] [] ? trace_hardirqs_on+0xb/0xd [ 917.192100] [] ? unregister_ieee80211+0xe/0x27 [libipw] [ 917.192100] [] ? ipw_pci_remove+0x59/0x227 [ipw2200] [ 917.192100] [] ? pci_device_remove+0x19/0x39 [ 917.192100] [] ? __device_release_driver+0x59/0x9d [ 917.192100] [] ? driver_detach+0x67/0x85 [ 917.192100] [] ? bus_remove_driver+0x69/0x85 [ 917.192100] [] ? driver_unregister+0x4d/0x54 [ 917.192100] [] ? pci_unregister_driver+0x28/0x71 [ 917.192100] [] ? ipw_exit+0x1c/0x1e [ipw2200] [ 917.192100] [] ? sys_delete_module+0x192/0x1ef [ 917.192100] [] ? remove_vma+0x52/0x58 [ 917.192100] [] ? sysenter_exit+0xf/0x18 [ 917.192100] [] ? sysenter_do_call+0x12/0x36 [ 917.192100] Code: 74 07 e8 81 bc 8c c7 eb c8 8d 55 e0 89 f8 e8 d6 6d 66 c7 8b 45 dc 31 d2 e8 81 cc 8c c7 8d 86 c4 00 00 00 39 86 c4 00 00 00 74 04 <0f> 0b eb fe 8b 45 dc 8d 5e 0c e8 5a cc 8c c7 8b 86 94 03 00 00 [ 917.192100] EIP: [] wiphy_unregister+0xd3/0x175 [cfg80211] SS:ESP 0068:f6009e8c [ 917.203718] ---[ end trace bcaaf449945a5100 ]--- Signed-off-by: John W. Linville commit 6fc786d5034ed7ce2d43c459211137de6d99dd28 Author: Jassi Brar Date: Fri Nov 6 18:00:24 2009 +0900 ASoC: S3C64XX I2S: Enable audio-bus clock Added the missing clk_enable after acquiring the 'audio-bus' clock. Signed-off-by: Jassi Brar Signed-off-by: Mark Brown commit 4d187fb830a7aa8afb471124abe41b04caf49401 Author: Janusz Krzysztofik Date: Wed Oct 21 23:10:03 2009 +0200 ASoC: OMAP: Don't try to set unsupported OMAP_DMA_DATA_BURST_16 on OMAP1 After DMA burst mode has been introduced in sound/soc/omap/omap-pcm.c, omap_pcm_prepare() unconditionally calls: omap_set_dma_src_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16); omap_set_dma_dest_burst_mode(prtd->dma_ch, OMAP_DMA_DATA_BURST_16); Current implementation of those two functions found in arch/arm/plat-ompa/dma.c doesn't support OMAP_DMA_DATA_BURST_16 on OMAP1 at all, so they both end with BUG() on that machine. That results in ASoC being completely unusable, at least on my OMAP5910 based Amstrad Delta. The patch corrects the problem by not calling those two functions when run on OMAP1 class based machines. Created against linux-2.6.32-rc5. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Mark Brown commit 0fb18c4777ff424c1db694af98443a201fa4fc30 Author: David S. Miller Date: Fri Nov 6 04:52:50 2009 -0800 Revert "ide: try to use PIO Mode 0 during probe if possible" This reverts commit 6029336426a2b43e4bc6f4a84be8789a047d139e. Ok, we really do need to revert this, even with Bart's sis5513.c fix in there. The problem is that several driver's ->set_pio_mode() method depends upon the drive->media type being set properly. Most of them use this to enable prefetching, which can only be done for disk media. But the commit being reverted here calls ->set_pio_mode() before it's setup. Actually it considers everything disk because that is the default media type set by ide_port_init_devices_data(). The set of drivers that depend upon the media type in their ->set_pio_method() are: drivers/ide/alim15x3.c drivers/ide/it8172.c drivers/ide/it8213.c drivers/ide/pdc202xx_old.c drivers/ide/piix.c drivers/ide/qd65xx.c drivers/ide/sis5513.c drivers/ide/slc90e66.c And it is possible that we could fix this by guarding the prefetching and other media dependent setting changes with a test on IDE_PFLAG_PROBING in hwif->port_flags, that's simply too risky for 2.6.32-rcX and -stable. Signed-off-by: David S. Miller commit ba230c3f6dc88ec008806adb27b12088486d508e Author: Mingming Date: Fri Nov 6 04:01:23 2009 -0500 ext4: Fix return value of ext4_split_unwritten_extents() to fix direct I/O To prepare for a direct I/O write, we need to split the unwritten extents before submitting the I/O. When no extents needed to be split, ext4_split_unwritten_extents() was incorrectly returning 0 instead of the size of uninitialized extents. This bug caused the wrong return value sent back to VFS code when it gets called from async IO path, leading to an unnecessary fall back to buffered IO. This bug also hid the fact that the check to see whether or not a split would be necessary was incorrect; we can only skip splitting the extent if the write completely covers the uninitialized extent. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 887e671f324d9898aaedb29a6ece6c853c394067 Author: Eric Dumazet Date: Fri Nov 6 00:50:39 2009 -0800 decnet: netdevice refcount leak While working on device refcount stuff, I found a device refcount leak through DECNET. This nasty bug can be used to hold refcounts on any !DECNET netdevice. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f9dd09c7f7199685601d75882447a6598be8a3e0 Author: Jozsef Kadlecsik Date: Fri Nov 6 00:43:42 2009 -0800 netfilter: nf_nat: fix NAT issue in 2.6.30.4+ Vitezslav Samel discovered that since 2.6.30.4+ active FTP can not work over NAT. The "cause" of the problem was a fix of unacknowledged data detection with NAT (commit a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272). However, actually, that fix uncovered a long standing bug in TCP conntrack: when NAT was enabled, we simply updated the max of the right edge of the segments we have seen (td_end), by the offset NAT produced with changing IP/port in the data. However, we did not update the other parameter (td_maxend) which is affected by the NAT offset. Thus that could drift away from the correct value and thus resulted breaking active FTP. The patch below fixes the issue by *not* updating the conntrack parameters from NAT, but instead taking into account the NAT offsets in conntrack in a consistent way. (Updating from NAT would be more harder and expensive because it'd need to re-calculate parameters we already calculated in conntrack.) Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f5209b4446d185cc95f46363f8043a743530c15a Author: Sathya Perla Date: Fri Nov 6 00:31:01 2009 -0800 be2net: Fix CQE_STATUS_EXTD_SHIFT define Signed-off-by: Sathya Perla Signed-off-by: David S. Miller commit 421b541110b20ccff1a7ff3245439cb24efe9812 Author: Paul Mundt Date: Fri Nov 6 17:23:33 2009 +0900 sh: unwinder: Fix up invalid PC refetch in dwarf unwinder. The dwarf unwinder presently attempts to provide a sane PC value if none is provided, however the logic is broken and cases where a previous valid dwarf frame exists along with a bogus PC value can still proceed. This fixes up the test and prevents the unwinder from blowing up. Signed-off-by: Paul Mundt commit 345e5a7672f561b539b3249cbe437b8d6595ab1b Author: Magnus Damm Date: Thu Nov 5 14:34:57 2009 +0000 serial: sh-sci: disable callback typo fix Avoid invoking the disable callback in case of NULL. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 43758dd88fdf1e5b3897c7a04dfae0afb8313dea Merge: 12308a2 2839d39 Author: Len Brown Date: Fri Nov 6 01:45:11 2009 -0500 Merge branch 'bugzilla-13449' into release commit b4ec824021493ba6cb7eeb61572f4d2f8a80a52e Author: Eric Dumazet Date: Thu Nov 5 20:56:07 2009 -0800 rose: device refcount leak While hunting dev_put() for net-next-2.6, I found a device refcount leak in ROSE, ioctl(SIOCADDRT) error path. Fix is to not touch device refcount, as we hold RTNL Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 1056bd51674e529813213186471bb4ac6689a755 Author: Stephen Hemminger Date: Thu Nov 5 20:46:52 2009 -0800 bridge: prevent bridging wrong device The bridge code assumes ethernet addressing, so be more strict in the what is allowed. This showed up when GRE had a bug and was not using correct address format. Add some more comments for increased clarity. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 4eb0c00b6221f28b8988df37c9cb1bc5a2b91b39 Author: David S. Miller Date: Thu Nov 5 20:24:33 2009 -0800 sparc64: Add a comment about why we only use certain memory barriers these days. Based upon feedback from Mathieu Desnoyers. Signed-off-by: David S. Miller commit 2839d396e3ae0891c1fdd87aa1cea218e6f5c4df Author: Vaibhav Verma Date: Thu Nov 5 23:13:36 2009 -0500 ACPI: sleep: another HP/Compaq DMI entries for init_set_sci_en_on_resume http://bugzilla.kernel.org/show_bug.cgi?id=13745 Signed-off-by: Len Brown commit 7433874e31f7f2e6e942b12012790565731d0f4a Author: Rafał Miłecki Date: Tue Nov 3 00:53:02 2009 +0100 drm/radeon/kms: add debugfs for power management for AtomBIOS devices Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 8a1cbf64977f89e9e9bc1d80dd01503337424f96 Author: Gustavo Maciel Dias Vieira Date: Mon Oct 19 09:41:53 2009 -0200 ACPI: add DMI entry for SCI_EN resume quirk on HP dv4 Fixes the missing battery on sleep problem for yet another HP laptop ("HP Pavilion dv4"). Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13449 Signed-off-by: Gustavo Maciel Dias Vieira Signed-off-by: Len Brown commit 6de95c198729d34a85c88f8844f1c3d57fb6da00 Author: Li Jie Date: Thu Nov 5 07:29:54 2009 -0800 [ARM] kirkwood: fix section mismatch kirkwood_timer_init() and kirkwood_pcie_setup() lack of __init which causes following warnings: WARNING: vmlinux.o(.text+0x9568): Section mismatch in reference from the function kirkwood_timer_init() to the function .init.text:kirkwood_find_tclk() The function kirkwood_timer_init() references the function __init kirkwood_find_tclk(). This is often because kirkwood_timer_init lacks a __init annotation or the annotation of kirkwood_find_tclk is wrong. WARNING: vmlinux.o(.text+0x979c): Section mismatch in reference from the function kirkwood_pcie_setup() to the function .init.text:orion_pcie_setup() The function kirkwood_pcie_setup() references the function __init orion_pcie_setup(). This is often because kirkwood_pcie_setup lacks a __init annotation or the annotation of orion_pcie_setup is wrong. Signed-off-by: lijie Signed-off-by: Nicolas Pitre commit 5d8965557318fabb1680d1817c2afc2714b6d3ce Author: Simon Kagstrom Date: Fri Oct 9 08:26:45 2009 +0200 [ARM] OpenRD base: Initialize PCI express and i2c Signed-off-by: Simon Kagstrom Acked-by: Dieter Kiermaier Signed-off-by: Nicolas Pitre commit 662aeced1512e008e5613b91de8e8b8e01017cb5 Author: Lennert Buytenhek Date: Wed Sep 30 13:02:42 2009 -0700 [ARM] properly report mv78100 stepping A1 Signed-off-by: Lennert Buytenhek Signed-off-by: Nicolas Pitre commit 8dee7211467a56b7eb4e4359efb0aa4a72e1b6f3 Author: NeilBrown Date: Fri Nov 6 14:59:29 2009 +1100 md/raid5: make sure curr_sync_completes is uptodate when reshape starts This value is visible through sysfs and is used by mdadm when it manages a reshape (backing up data that is about to be rearranged). So it is important that it is always correct. Current it does not get updated properly when a reshape starts which can cause problems when assembling an array that is in the middle of being reshaped. This is suitable for 2.6.31.y stable kernels. Cc: stable@kernel.org Signed-off-by: NeilBrown commit 24395a85d8efe6eee477ea35c73d045a8dd7a3a1 Author: NeilBrown Date: Fri Nov 6 14:59:27 2009 +1100 md: don't clear endpoint for resync when resync is interrupted. If a 'sync_max' has been set (via sysfs), it is wrong to clear it until a resync (or reshape or recovery ...) actually reached that point. So if a resync is interrupted (e.g. by device failure), leave 'resync_max' unchanged. This is particularly important for 'reshape' operations that do not change the size of the array. For such operations mdadm needs to monitor the reshape taking rolling backups of the section being reshaped. If resync_max gets cleared, the reshape can get ahead of mdadm and then the backups that mdadm creates are useless. This is suitable for 2.6.31.y stable kernels. Cc: stable@kernel.org Signed-off-by: NeilBrown commit a3fa6320ce964f799388b152a1b0f6e2c3b32a7f Author: Alex Deucher Date: Thu Nov 5 11:57:07 2009 -0500 drm/radeon/kms: initial mode validation support Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f95a9f0b05d22cffc46fbd2d065b260f8405e43f Author: Alex Deucher Date: Thu Nov 5 02:21:06 2009 -0500 drm/radeon/kms/atom/dce3: call transmitter init on mode set Generally this is done at post, but might not always be done with softboot or for connectors on docking stations. Could probably be done once when the driver loads/resumes rather than on each mode set. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b75fad0682caacb16012582deecbd7d19bc2f68e Author: Alex Deucher Date: Thu Nov 5 13:16:01 2009 -0500 drm/radeon/kms: store detailed connector info This will be useful for mode validation and certain atom tables. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 4170a6c1bc106d7fcf94f5842224ac4dac61006b Author: Alex Deucher Date: Thu Nov 5 01:16:23 2009 -0500 drm/radeon/kms/atom/dce3: fix up usPixelClock calculation for Transmitter tables Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ee59f2b462b0a7d2eb57ae59340d016589fa8e42 Author: Alex Deucher Date: Thu Nov 5 13:11:46 2009 -0500 drm/radeon/kms/r600: fix rs880 support v2 Lots of cases were wrong or missing. v2: rebased against drm-next Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 12308a2f2703d135681b3e9cf582009747f588f7 Merge: 91d3f9b 29226ed 80f0c89 d410ee5 Author: Len Brown Date: Thu Nov 5 18:31:18 2009 -0500 Merge branches 'misc', 'eeepc-laptop' and 'bugzilla-14445' into release commit 29226ed3c3b5cd0b2b0b1fb40ffeac3f796b80e9 Author: Frans Pop Date: Mon Oct 26 08:39:00 2009 +0100 thermal: sysfs-api.txt - document passive attribute for thermal zones Signed-off-by: Frans Pop Acked-by: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 38bb0849a6799e05bb474a88f198522ae4ecace2 Author: Frans Pop Date: Mon Oct 26 08:38:59 2009 +0100 thermal: sysfs-api.txt - reformat for improved readability The document currently uses large indentations which make the text too wide for easy readability. Also improve general consistency. Signed-off-by: Frans Pop Acked-by: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 625120a42bd4371da98808a4ca3e7589083a06d8 Author: Amit Kucheria Date: Fri Oct 16 12:46:02 2009 +0300 acpi: thermal: Add EOL to the trip_point_N_type strings Make the trip_point_N_type sysfs files return a string ending in EOL for consistency with other sysfs files. Signed-off-by: Amit Kucheria Acked-by: Zhang Rui Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 5cfa245b0b63c3d79568e78a1ee3d00654d5517d Author: Julia Lawall Date: Sat Oct 17 08:34:39 2009 +0200 ACPI: Move dereference after NULL test If the NULL test on pr is needed, then the dereference should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // Signed-off-by: Julia Lawall Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit d410ee5109a1633a686a5663c6743a92e1181f9b Author: Bob Moore Date: Thu Oct 22 09:11:11 2009 +0800 ACPICA: avoid "Info: mapping multiple BARs. Your kernel is fine." Ensure that memory mappings created for operation regions do not cross page boundaries. Crossing a page boundary while mapping regions can cause warnings if the pages have different attributes. Such regions are probably BIOS bugs, and this is the workaround. http://bugzilla.kernel.org/show_bug.cgi?id=14445 [Kernel summit hacking hour] Signed-off-by: Bob Moore Acked-by: Suresh Siddha Signed-off-by: Lin Ming Signed-off-by: Len Brown commit 941b10fab2cbd90ac7ad6bc2338ffe30e1d3ce53 Author: Rakib Mullick Date: Thu Nov 5 16:51:40 2009 -0500 ACPI: add __cpuinit to acpi_processor_add() Annote acpi_processor_add with cpuinit since it calls a cpuinit function acpi_processor_power_init and fixes a section mismatch warning. We were warned by the following warning: LD drivers/acpi/processor.o WARNING: drivers/acpi/processor.o(.text+0x1829): Section mismatch in reference from the function acpi_processor_add() to the function .cpuinit.text:acpi_processor_power_init() The function acpi_processor_add() references the function __cpuinit acpi_processor_power_init(). This is often because acpi_processor_add lacks a __cpuinit annotation or the annotation of acpi_processor_power_init is wrong. Signed-off-by: Rakib Mullick Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 7c9abfb884b8737f0afdc8a88bcea77526f0da87 Merge: e5a9236 abb3911 Author: Linus Torvalds Date: Thu Nov 5 13:24:15 2009 -0800 Merge branch 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: get_tss_base_addr() should return a gpa_t KVM: x86: Catch potential overrun in MCE setup commit e5a92362226e1685988bbf8d7ed50ab23453acc0 Merge: 4397989 5219f34 Author: Linus Torvalds Date: Thu Nov 5 13:23:29 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse: fuse: invalidate target of rename fuse: fix kunmap in fuse_ioctl_copy_user fuse: prevent fuse_put_request on invalid pointer commit 4397989fc91ed289909ecf307c2dc21cee0e7905 Merge: 1bbc9a6 de19d02 Author: Linus Torvalds Date: Thu Nov 5 13:23:16 2009 -0800 Merge git://git.infradead.org/users/dwmw2/mtd-2.6.32 * git://git.infradead.org/users/dwmw2/mtd-2.6.32: mtd/maps: gpio-addr-flash: depend on GPIO arch support mtd/maps: gpio-addr-flash: pull in linux/ headers rather than asm/ mtd: nand: fix htmldocs warnings commit 1bbc9a66d0194449f32c2aa18be40db5744dbd85 Merge: 2c75910 38634e6 Author: Linus Torvalds Date: Thu Nov 5 13:22:49 2009 -0800 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/kvm: Remove problematic BUILD_BUG_ON statement powerpc/pci: Fix regression in powerpc MSI-X powerpc: Avoid giving out RTC dates below EPOCH powerpc/mm: Remove debug context clamping from nohash code powerpc: Cleanup Kconfig selection of hugetlbfs support commit 2c75910f1aa042be1dd769378d2611bf551721ac Author: Chris Lalancette Date: Thu Nov 5 11:47:08 2009 +0100 x86: Make sure get_user_desc() doesn't sign extend. The current implementation of get_user_desc() sign extends the return value because of integer promotion rules. For the most part, this doesn't matter, because the top bit of base2 is usually 0. If, however, that bit is 1, then the entire value will be 0xffff... which is probably not what the caller intended. This patch casts the entire thing to unsigned before returning, which generates almost the same assembly as the current code but replaces the final "cltq" (sign extend) with a "mov %eax %eax" (zero-extend). This fixes booting certain guests under KVM. Signed-off-by: Chris Lalancette Signed-off-by: Linus Torvalds commit c742239866250a5690485ab775b942c85c6bee63 Author: zeal Date: Tue Nov 3 02:36:55 2009 +0100 ARM: 5780/1: KS8695: Fix macro definition bug in regs-switch.c NOTE: 1. Macro style is so strange. 2. The value 0xc0 is not match with KS8695 manual. It should be 0x0c. Signed-off-by: zeal Acked-by: Andrew Victor Signed-off-by: Russell King commit d525753bf30fe29a2897273e180fc24723350dcc Author: Jean-Christop PLAGNIOL-VILLARD Date: Mon Nov 2 20:13:32 2009 +0100 ARM: 5779/1: ep93xx/micro9.c: fix implicit declaration of function __raw_readl and IOMEM Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Acked-by: H Hartley Sweeten Signed-off-by: Russell King commit 9a6fc8d0f8c3ee3d42417e8315fc8c8fae1d3213 Merge: d4116f8 82d6469 Author: Linus Torvalds Date: Thu Nov 5 10:58:07 2009 -0800 Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen * 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen: xen: mask extended topology info in cpuid xen/hvc: make sure console output is always emitted, with explicit polling commit d4116f820496ae3af5225d09450edc7791df0045 Merge: 608221f 4c3da22 Author: Linus Torvalds Date: Thu Nov 5 10:57:39 2009 -0800 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: sysfs: Don't leak secdata when a sysfs_dirent is freed. commit 608221fdf9a2170962295dcfbea53dc5c50d1a74 Merge: 72cc129 b84ff7d Author: Linus Torvalds Date: Thu Nov 5 10:56:47 2009 -0800 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix kthread_bind() by moving the body of kthread_bind() to sched.c sched: Disable SD_PREFER_LOCAL at node level sched: Fix boot crash by zalloc()ing most of the cpu masks sched: Strengthen buddies and mitigate buddy induced latencies commit 72cc129e8dae988d2a132467cfd0ecd7623c35fb Merge: 411094a ed146b2 Author: Linus Torvalds Date: Thu Nov 5 10:56:25 2009 -0800 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: ftrace: Fix unmatched locking in ftrace_regex_write() ring-buffer: Synchronize resizing buffer with reader lock commit 411094acb70f171a111710cf32031c749ffdd28c Merge: 8fcf4e5 89240ba Author: Linus Torvalds Date: Thu Nov 5 10:54:08 2009 -0800 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, fs: Fix x86 procfs stack information for threads on 64-bit x86: Add reboot quirk for 3 series Mac mini x86: Fix printk message typo in mtrr cleanup code dma-debug: Fix compile warning with PAE enabled x86/amd-iommu: Un__init function required on shutdown x86/amd-iommu: Workaround for erratum 63 commit 8fcf4e5a572af520580b14abd9017760e6fcdada Merge: bd90175 45cdd47 Author: Linus Torvalds Date: Thu Nov 5 10:53:49 2009 -0800 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: Should index be positive? m32r: bzip2/lzma kernel compression support m32r: add NOTES to vmlinux.lds.S to remove .note.gnu.build-id section arch/m32r: Use DIV_ROUND_CLOSEST commit bd901751e7ab9ddba335b19643605b3cf8517078 Merge: d39b7dd 17adea0 Author: Linus Torvalds Date: Thu Nov 5 10:53:24 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: amd64_edac: fix CECCs reporting amd64_edac: fix a wrong goto clause in amd64_edac.c commit d39b7dd1dcbf394a1cb897457c862dafe9a20ac5 Author: Linus Torvalds Date: Thu Nov 5 10:48:30 2009 -0800 sgi-gru: decrapfiy options_write() function Not a single line of actual code in the function was really fundamentally correct. Problems ranged from lack of proper range checking, to removing the last character written (which admittedly is usually '\n'), to not accepting hex numbers even though the 'show' routine would show the data in that format. This tries to do better. Acked-by: Michael Buesch Tested-and-acked-by: Jack Steiner Cc: stable@kernel.org Cc: Jiri Kosina Cc: Michael Gilbert Signed-off-by: Linus Torvalds commit 78987bdc4e41a425ac113c2c51474f0368fe653a Author: Randy Dunlap Date: Thu Nov 5 09:22:30 2009 -0800 ALSA: hda, move hp_bseries_system Function hp_bseries_system() is always used, outside of CONFIG_ boundaries/controls, so move it. sound/pci/hda/patch_sigmatel.c:5458: error: implicit declaration of function 'hp_bseries_system' Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai commit 22aecebfd9498c4779e5c5bed1d2d054bd99f7a4 Author: Darrick J. Wong Date: Wed Oct 21 18:01:37 2009 -0700 acpi-power-meter: Don't leak ACPI error codes to userspace If the ACPI methods return an error code, we must return -EINVAL to userspace to flag the error. Right now we pass the (positive) number right through, which causes echo to keep writing bogus values. Signed-off-by: Darrick J. Wong Acked-by: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit e9bcf1418c9ccff30f243005187bbfa659c2df74 Author: Kumar Gala Date: Thu Nov 5 08:21:18 2009 -0600 powerpc: 2.6.32 update of defconfigs for embedded 6xx/7xxx, 8xx, 8{3,5,6}xxx Updated mpc85xx_{smp_}defconfig to enable: * XES_MPC85xx board * PCI MSI * RapidIO Signed-off-by: Kumar Gala commit 114785a619e3f28133a555692b3d0b417ab91e66 Author: Kim Phillips Date: Mon Oct 12 11:35:27 2009 -0500 powerpc/8xxx: enable IPsec ESP by default on mpc83xx/mpc85xx Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 850f785a1f8c8448db4d70983595b2b088cf60b7 Author: Anton Vorontsov Date: Fri Oct 16 20:47:22 2009 +0400 powerpc/83xx: Fix u-boot partion size for MPC8377E-WLAN boards u-boot partition size should be 0x80000 (512 KB), not 0x8000 (32 KB). Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit a070e66ae89978ffc16378b2d37bedf3674a9112 Author: Anton Vorontsov Date: Fri Oct 16 20:50:13 2009 +0400 powerpc/85xx: Fix USB GPIOs for MPC8569E-MDS boards This patch fixes USB GPIOs numbers for MPC8569E-MDS boards, plus according to the latest HW Getting Started Guide (rev 3.3, pilot boards), USB "POWER" GPIO polarity has changed, it is no longer inverted. This patch makes USB Host somewhat work on pilot boards, though there are still some problems with determining devices speed and long bulk transfers. Reported-by: Liu Yu Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 58459a4e19e107d793a58a46780def2cea12a391 Author: Roel Kluin Date: Wed Sep 9 16:49:57 2009 +0200 powerpc/82xx: kmalloc failure ignored in ep8248e_mdio_probe() Prevent NULL dereference if kmalloc() fails. Also clean up if of_mdiobus_register() returns an error. Signed-off-by: Roel Kluin Acked-by: Scott Wood Signed-off-by: Kumar Gala commit cb5485a0b99b232c5c7c4c21e2346f8ab7ef555d Author: Paul Gortmaker Date: Mon Sep 21 10:30:08 2009 -0400 powerpc/85xx: sbc8548 - fixup of PCI-e related DTS fields The PCI-e addressing was originally patterned of the MPC8548CDS which has PCI1, PCI2, and PCI-e. Since this board only has PCI1 and PCI-e, it makes more sense to be similar to the MPC8568MDS board. This does that by cutting the PCI/PCI-e I/O sizes from 16MB to 8MB and pulling the PCI-e I/O range back to 0xe280_0000 (the hole where PCI2 I/O would have been). This also fixes a typo where an extra zero made an 8MB range a 128MB range, removes the hole left by PCI2 from the aliases, and sets the clocks to match the oscillators that are actually on the board. With accompanying u-boot updates, PCI-e has been validated with both a sky2 card (1148:9e00) and an e1000 card (8086:108b). Signed-off-by: Paul Gortmaker Signed-off-by: Kumar Gala commit eef3044965740a5e153d7b1e456e1b3e0fc3e619 Merge: 91d3f9b c482ae4 Author: Russell King Date: Thu Nov 5 12:55:04 2009 +0000 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit c97c5aa83c41a532bc67da356d77da929bc41b9c Author: Catalin Marinas Date: Wed Nov 4 12:19:05 2009 +0000 RealView: Add sparsemem support for the RealView PBX platform The RealView PBX board has two 512MB blocks of memory - one at 0x70000000 (with 256MB mirror at 0) and another at 0x20000000. Only the block at 0x70000000 (or the mirror at 0) may be used for DMA (e.g. framebuffer). This patch adds the sparsemem definitions to allow the use of all the memory split as follows: 256MB @ 0x00000000 (ZONE_DMA) 512MB @ 0x20000000 (ZONE_NORMAL) 256MB @ 0x80000000 (ZONE_NORMAL) Signed-off-by: Catalin Marinas commit 157aed7473d300587e89cc87e13f194e3fa6fa36 Author: Colin Tuckley Date: Wed Nov 4 12:19:05 2009 +0000 RealView: Remove duplicated #define REALVIEW_SYS_FLAGS* statements The platsmp.c file defines the REALVIEW_SYS_FLAGS* macros which are already present in platform.h. Just use the latter. Signed-off-by: Colin Tuckley Signed-off-by: Catalin Marinas commit 5b39d1548dc2751f8de89e6f429b6560a137eebb Author: Catalin Marinas Date: Wed Nov 4 12:19:04 2009 +0000 RealView: Add default memory configuration This patch adds a realview_fixup() function called during booting to set up the memory banks. This way there is no need to pass a "mem=" argument on the kernel command line. Signed-off-by: Catalin Marinas commit 9b229fa0951fb47cbc178be4bd8e9ef185b38802 Author: Catalin Marinas Date: Wed Nov 4 12:16:38 2009 +0000 Check whether the SCU was already initialised If Linux is running in non-secure mode, this register may have been already initialised and writing to the control register not allowed. Signed-off-by: Catalin Marinas commit 22402529df88ec39a59b08a46bced73dd5722b64 Author: Uwe Kleine-König Date: Thu Nov 5 01:32:44 2009 -0800 virtio_net: rename driver struct to please modpost Commit 3d1285b (move virtnet_remove to .devexit.text) introduced the first reference to __devexit in struct virtio_driver virtio_net which upset modpost ("Section mismatch in reference from the variable virtio_net to the function .devexit.text:virtnet_remove()"). Fix this by renaming virtio_net to virtio_net_driver. Signed-off-by: Uwe Kleine-König Reported-by: Michael S. Tsirkin Blame-taken-by: Rusty Russell Signed-off-by: David S. Miller commit f702cf463e1308fbb0c1faa9f3d8e3fa9cb5630f Author: Randy Dunlap Date: Wed Nov 4 16:04:52 2009 -0800 sound: Use KERN_WARNING instead of KERN_WARN, which does not exist Reported-by: Andrew Lyon Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai commit 7e6c3989af5baee999ef9a4424e85938cba8d34a Author: Daniel T Chen Date: Wed Nov 4 21:03:46 2009 -0500 ALSA: intel8x0: Mute External Amplifier by default for another Sony model BugLink: https://bugs.launchpad.net/bugs/474972 This Sony model needs External Amplifier muted for audible playback, so make sure we set the inv_eapd quirk. Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 38634e6769920929385f1ffc8820dc3e893cc630 Author: Benjamin Herrenschmidt Date: Thu Nov 5 17:10:34 2009 +1100 powerpc/kvm: Remove problematic BUILD_BUG_ON statement Signed-off-by: Benjamin Herrenschmidt commit 8435b027b87a78145992c37b0b8ed0f1b7761bf0 Author: Andre Detsch Date: Wed Nov 4 13:03:19 2009 -0200 powerpc/pci: Fix regression in powerpc MSI-X Patch f598282f5145036312d90875d0ed5c14b49fd8a7 exposed a problem in powerpc MSI-X functionality, making network interfaces such as ixgbe and cxgb3 stop to work when MSI-X is enabled. RX interrupts were not being generated. The problem was caused because MSI irq was not being effectively unmasked after device initialization. Signed-off-by: Andre Detsch Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 978d7eb31d44de34a7f71e04ed4158f3f854688d Author: Benjamin Herrenschmidt Date: Sun Nov 1 19:11:03 2009 +0000 powerpc: Avoid giving out RTC dates below EPOCH Doing so causes xtime to be negative which crashes the timekeeping code in funny ways when doing suspend/resume Signed-off-by: Benjamin Herrenschmidt commit f1167fb318f0ff0bcb9cbb57bb6d16ad450f0cfb Author: Benjamin Herrenschmidt Date: Wed Nov 4 13:39:52 2009 +0000 powerpc/mm: Remove debug context clamping from nohash code I inadvertently left that debug code enabled, causing the number of contexts to be clamped to 31 which is going to slow things down on 4xx and just plain breaks 8xx Signed-off-by: Benjamin Herrenschmidt commit 37b12dd2b07b4d7dc222a5f7f88b25cec532b2aa Author: Larry Finger Date: Wed Nov 4 00:00:25 2009 -0600 rtl8187: Fix kernel oops when device is removed when LEDS enabled As reported by Rick Farina (sidhayn@gmail.com), removing the RTL8187 USB stick, or unloading the driver rtl8187 using rmmod will cause a kernel oops. There are at least two forms of the failure, (1) BUG: Scheduling while atomic, and (2) a fatal kernel page fault. This problem is reported in Bugzilla #14539. This problem does not occur for kernel 2.6.31, but does for 2.6.32-rc2, thus it is technically a regression; however, bisection did not locate any faulty patch. The fix was found by comparing the faulty code in rtl8187 with p54usb. My interpretation is that the handling of work queues in mac80211 changed enough to the LEDs to be unregistered before tasks on the work queues are cancelled. Previously, these actions could be done in either order. (Herton Ronaldo Krzesinski reports that the code is the same in 2.6.31, so this may be a candidate for 2.6.31.x. -- JWL) Signed-off-by: Larry Finger Reported-by: Rick Farina Tested-by: Rick Farina Cc: stable@kernel.org Signed-off-by: John W. Linville commit 4c3da2209b1261af9a948b7509a38904c8eee554 Author: Eric W. Biederman Date: Wed Nov 4 02:50:06 2009 -0800 sysfs: Don't leak secdata when a sysfs_dirent is freed. While refreshing my sysfs patches I noticed a leak in the secdata implementation. We don't free the secdata when we free the sysfs dirent. This is a bug in 2.6.32-rc5 that we really should close. Signed-off-by: Eric W. Biederman Acked-by: Serge Hallyn Signed-off-by: James Morris commit dffc14365bb07812567ee7f3f8699277ef19aaa8 Author: Joe Perches Date: Wed Nov 4 09:38:58 2009 -0800 MAINTAINERS: Add git net-next-2.6 Add a reference to the the git tree where most of the forward going network development occurs. Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 286e633ef0ff5bb63c07b4516665da8004966fec Author: Roel Kluin Date: Wed Nov 4 08:31:59 2009 -0800 isdn: hfc_usb: Fix read buffer overflow Check whether index is within bounds before testing the element. Signed-off-by: Roel Kluin Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a947c8f0313c0cf3691b8d8d2b9aaddf372afdcc Author: Roel Kluin Date: Wed Nov 4 08:31:19 2009 -0800 isdn: hisax: Fix test in waitforxfw The negation makes it a bool before the comparison and hence it will never be 0x40. Signed-off-by: Roel Kluin Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit b9db21f8b964e158f95bb581c887159b6cb98ffa Author: Jiri Slaby Date: Wed Nov 4 08:30:08 2009 -0800 isdn: eicon: Return on error When diva_strace_read_uint returns an error, return even from process_idi_event, because l2_state is uninitialized. Signed-off-by: Jiri Slaby Cc: Karsten Keil Acked-by: Armin Schindler Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 1ea70841f07666af69e481d4ffdd6edb56db3c92 Author: Jiri Slaby Date: Wed Nov 4 08:28:12 2009 -0800 isdn: eicon: Use offsetof Use offsetof instead of explicit implementation. * fixes bug with omitted & like: len = (byte)(((T30_INFO *) 0)->station_id + 20) * avoids compiler warnings with wrong sizes (pointer-to-char cast): len = (byte)(&(((T30_INFO *) 0)->universal_6)); * cleans up the code Signed-off-by: Jiri Slaby Cc: Karsten Keil Acked-by: Armin Schindler Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 08cb3f60b2f866c906a5a779444b30ba8f9a93c8 Author: Dan Carpenter Date: Wed Nov 4 08:27:09 2009 -0800 misdn: Fix reversed 'if' in st_own_ctrl The current code probably returns -EINVAL a lot. Otherwise it would oops. Compile tested only. Found by smatch (http://repo.or.cz/w/smatch.git). Signed-off-by: Dan Carpenter Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 02303d2028aef19889415364fc5f7bb374887157 Author: Jiri Slaby Date: Wed Nov 4 08:25:57 2009 -0800 isdn: hisax: Fix lock imbalance. Add omittted unlocks to 2 functions. Signed-off-by: Jiri Slaby Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 91d3f9bacdb4950d2f79fe2ba296aa249f60d06c Merge: 51bb296 4204878 Author: Linus Torvalds Date: Wed Nov 4 07:05:43 2009 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: Ironlake suspend/resume support drm/i915: kill warning in intel_find_pll_g4x_dp drm/i915: update watermarks before enabling PLLs drm/i915: add FIFO watermark support for G4x drm/i915: quiet DP i2c init drm/i915: fix panel fitting filter coefficient select for Ironlake drm/i915: fix to setup display reference clock control on Ironlake drm/i915: Install a fence register for fbc on g4x drm/i915: save/restore BLC histogram control reg across suspend/resume drm/i915: Fix FDI M/N setting according with correct color depth drm/i915: disable powersave feature for Ironlake currently drm/i915: Fix render reclock availability detection. drm/i915: Save and restore the GM45 FBC regs on suspend and resume. drm/i915: Set the LVDS_BORDER when using LVDS scaling mode drm/i915: disable FBC for Pineview, fixing a boot hang. commit abb3911965c1bd8eea305f64d4840a314259d96d Author: Gleb Natapov Date: Sun Oct 25 17:42:02 2009 +0200 KVM: get_tss_base_addr() should return a gpa_t If TSS we are switching to resides in high memory task switch will fail since address will be truncated. Windows2k3 does this sometimes when running with more then 4G Cc: stable@kernel.org Signed-off-by: Gleb Natapov Signed-off-by: Avi Kivity commit a9e38c3e01ad242fe2a625354cf065c34b01e3aa Author: Jan Kiszka Date: Fri Oct 23 09:37:00 2009 +0200 KVM: x86: Catch potential overrun in MCE setup We only allocate memory for 32 MCE banks (KVM_MAX_MCE_BANKS) but we allow user space to fill up to 255 on setup (mcg_cap & 0xff), corrupting kernel memory. Catch these overflows. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti commit c8ee5538b091b8aca9ca738c6989c5ad6f9e67c0 Author: Tonyliu Date: Wed Nov 4 05:45:02 2009 -0800 DaVinci EMAC: correct param for ISR emac_irq is declared as: static irqreturn_t emac_irq(int irq, void *dev_id) { struct net_device *ndev = (struct net_device *)dev_id; struct emac_priv *priv = netdev_priv(ndev); ... Clearly emac_irq() needs "struct net_device *" as "void *dev_id", so correct this. Signed-off-by: Tonyliu Signed-off-by: David S. Miller commit 3a19d56c71bd3a08412d609d219ac8eec0819166 Author: Torgny Johansson Date: Wed Nov 4 05:25:02 2009 -0800 cdc_ether: additional Ericsson MBM PID's to the whitelist Signed-off-by: Torgny Johansson Signed-off-by: David S. Miller commit 17adea01b9606e416ea5116a27d02d47fe7e6c8d Author: Borislav Petkov Date: Wed Nov 4 14:04:06 2009 +0100 amd64_edac: fix CECCs reporting Shift error type bits properly. Signed-off-by: Borislav Petkov commit a3c4c58085b23d8e878a58dcdd0f8fcf8fad1ccd Author: Li Hong Date: Mon Oct 19 16:33:29 2009 +0800 amd64_edac: fix a wrong goto clause in amd64_edac.c In amd64_edac_init(void) in amd64_edac.c, cache_k8_northbridges() is called before pci_register_driver. If it fails, should exit with err directly. Signed-off-by: Li Hong Acked-by: Doug Thompson Signed-off-by: Borislav Petkov commit 89240ba059ca468ae7a8346edf7f95082458c2fc Author: Stefani Seibold Date: Tue Nov 3 10:22:40 2009 +0100 x86, fs: Fix x86 procfs stack information for threads on 64-bit This patch fixes two issues in the procfs stack information on x86-64 linux. The 32 bit loader compat_do_execve did not store stack start. (this was figured out by Alexey Dobriyan). The stack information on a x64_64 kernel always shows 0 kbyte stack usage, because of a missing implementation of the KSTK_ESP macro which always returned -1. The new implementation now returns the right value. Signed-off-by: Stefani Seibold Cc: Americo Wang Cc: Alexey Dobriyan Cc: Al Viro Cc: Andrew Morton LKML-Reference: <1257240160.4889.24.camel@wall-e> Signed-off-by: Ingo Molnar commit 1b3a02eb452354fa9b36a7f33dc4c8307bbc40aa Author: Tony Thompson Date: Wed Nov 4 12:16:38 2009 +0000 ARMv7: Check whether the SMP/nAMP mode was already enabled If running in non-secure mode, enabling this register will fault. Signed-off-by: Tony Thompson Acked-by: Srinidhi Kasagar Signed-off-by: Catalin Marinas commit 798a8a15011e88cc63dbbb15728b42572c152093 Author: Daniel Drake Date: Wed Nov 4 10:11:07 2009 +0000 ALSA: hda - Add OLPC XO-1.5 PCI ID The XO-1.5 laptop now has a unique subvendor/subproduct ID, which can be used to automatically select the correct CXT5066 configuration. Signed-off-by: Daniel Drake Signed-off-by: Takashi Iwai commit 5219f346b0ea2a2a8821f1e966b190788c285b0b Author: Miklos Szeredi Date: Wed Nov 4 10:24:52 2009 +0100 fuse: invalidate target of rename Invalidate the target's attributes, which may have changed (such as nlink, change time) so that they are refreshed on the next getattr(). Signed-off-by: Miklos Szeredi commit 0bd87182d3ab18a32a8e9175d3f68754c58e3432 Author: Jens Axboe Date: Tue Nov 3 11:40:44 2009 +0100 fuse: fix kunmap in fuse_ioctl_copy_user Looks like another victim of the confusing kmap() vs kmap_atomic() API differences. Reported-by: Todor Gyumyushev Signed-off-by: Jens Axboe Signed-off-by: Miklos Szeredi Cc: Tejun Heo Cc: stable@kernel.org commit f60311d5f7670d9539b424e4ed8b5c0872fc9e83 Author: Anand V. Avati Date: Thu Oct 22 06:24:52 2009 -0700 fuse: prevent fuse_put_request on invalid pointer fuse_direct_io() has a loop where requests are allocated in each iteration. if allocation fails, the loop is broken out and follows into an unconditional fuse_put_request() on that invalid pointer. Signed-off-by: Anand V. Avati Signed-off-by: Miklos Szeredi Cc: stable@kernel.org commit 5bdaaada16363d64e10ae081755d1a8d392429f2 Author: Vitaliy Kulikov Date: Wed Nov 4 07:57:45 2009 +0100 ALSA: hda - Enable GPIO control for mute LED on HP systems This patch enables GPIO to control mute LED indicator on the HP systems with the special string in BIOS and applies it with the correct polarity on HP B-series systems. It also restores configuration of the pin intended as the second Headphone on HP B-series systems but configured as something else in the BIOS to pass MS DTM. Signed-off-by: Vitaliy Kulikov Signed-off-by: Takashi Iwai commit ed146b25942b428f8e8056587b7638ce76573c2f Author: Li Zefan Date: Tue Nov 3 08:55:38 2009 +0800 ftrace: Fix unmatched locking in ftrace_regex_write() When a command is passed to the set_ftrace_filter, then the ftrace_regex_lock is still held going back to user space. # echo 'do_open : foo' > set_ftrace_filter (still holding ftrace_regex_lock when returning to user space!) Signed-off-by: Li Zefan LKML-Reference: <4AEF7F8A.3080300@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit f7112949f6a4cd6883d66c882d568c2197321de6 Author: Lai Jiangshan Date: Tue Nov 3 19:42:45 2009 +0800 ring-buffer: Synchronize resizing buffer with reader lock We got a sudden panic when we reduced the size of the ringbuffer. We can reproduce the panic by the following steps: echo 1 > events/sched/enable cat trace_pipe > /dev/null & while ((1)) do echo 12000 > buffer_size_kb echo 512 > buffer_size_kb done (not more than 5 seconds, panic ...) Reported-by: KOSAKI Motohiro Signed-off-by: Lai Jiangshan LKML-Reference: <4AF01735.9060409@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit e29649db3bd5620499bf9bdcd63c5cf12edbd26e Author: Alex Deucher Date: Tue Nov 3 10:04:01 2009 -0500 drm/radeon/kms/r700: fix some typos in chip init Noticed by Andre on IRC. Also fix up some minor whitespace issues. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 6fa8d66af83710b3610bd3b2581f051074f2b416 Author: Alex Deucher Date: Tue Nov 3 16:10:36 2009 -0500 drm/radeon/kms: remove some misleading debugging output Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 51bb296b09a83ee1aae025778db38f9d2cc7bb1a Merge: dc79d2f 4b27e1b Author: Linus Torvalds Date: Tue Nov 3 18:16:21 2009 -0800 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: cfq-iosched: limit coop preemption cfq-iosched: fix bad return value cfq_should_preempt() backing-dev: bdi sb prune should be in the unregister path, not destroy Fix bio_alloc() and bio_kmalloc() documentation bio_put(): add bio_clone() to the list of functions in the comment commit dc79d2f21a2dc19df26f0cb0b46be2d6241b627b Merge: b419148 f38e35b Author: Linus Torvalds Date: Tue Nov 3 18:15:18 2009 -0800 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_via: Remove redundant device ID for VIA VT8261 drivers/ata/libata: Move dereference after NULL test ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2 commit 4d357abb895ec51f1cbdebb1fbbf4d4576900a2e Author: Dave Airlie Date: Tue Nov 3 14:54:36 2009 +1000 drm/radeon/kms: stop putting VRAM at 0 in MC space on r600s. The Lenovo W500 laptop hangs inside an SMI on brightness changes, I thought it just needed the VGA disable but it turned out to require slightly more work, setting the MC locations up just like the IGP chip requirements seems to make it all happy again and I can boot and play with brightness. We should probably just do this for all chips and give up the VRAM at 0x0 idea, it never seems to buy us anything but pain. Signed-off-by: Dave Airlie commit 8a9832e89ff1bc7a039c8f966f07101570be3d5e Author: Dave Airlie Date: Tue Nov 3 13:23:15 2009 +1000 drm/radeon/kms: disable D1VGA and D2VGA if enabled Once kms is enabled we don't need these, and it causes a problem with the Lenovo W500 ACPI brightness implementation, it hangs in a loop inside an SMI. Signed-off-by: Dave Airlie commit d6f28938d9426d12eea1578949f1d73d24ad37ec Author: Alex Deucher Date: Mon Nov 2 16:01:27 2009 -0500 drm/radeon/kms: Don't RMW CP_RB_CNTL Immediate readback seems faulty on some chips. I suspect it takes a while to get through the fifo to the actual register backbone. There's no need to read it back, so, just write the driver's copy of the register's value directly. Should fix bug 24535 and possibly 24218 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit df67bed92fa86ef926da8b62a6da68722388ff72 Author: Dave Airlie Date: Fri Oct 30 13:31:26 2009 +1000 drm/radeon/kms: fix coherency issues on AGP cards. When we are evicting from VRAM->RAM we allocate the ttm object, but we don't set the caching policy on it before blitting into it. This means on AGP we end up blitting into cached pages, and the CPU later flushes out on top of them. This was mostly seen as font corruption. The other question is why we don't evict VRAM->GTT in a lot of cases, this would save us some cache transitions since a lot of objects that are evicted from VRAM will probably end up being pulled back in a few operations later, and evicting them to system memory involves 2 unnecessary cache transitions. Signed-off-by: Dave Airlie commit 45cdd473301aae36e1f10664b9fe7ef5aad3f182 Author: Roel Kluin Date: Sun Nov 1 15:33:06 2009 +0100 m32r: Should index be positive? Index `ipi_num' is signed, test whether it is negative to make sure we don't get a negative array element. Signed-off-by: Roel Kluin Signed-off-by: Hirokazu Takata commit 337214e8c6b0c777713b2483749f9c03102a416c Author: Hirokazu Takata Date: Thu Oct 15 09:21:56 2009 +0900 m32r: bzip2/lzma kernel compression support - Support bzip2 and lzma kernel compression for m32r. - Clean up arch/m32r/boot/compressed/misc.c. Signed-off-by: Hirokazu Takata commit e968b8d404ae8ab4ef218cd145f6dcb71e65154b Author: Hirokazu Takata Date: Mon Oct 5 00:10:55 2009 +0900 m32r: add NOTES to vmlinux.lds.S to remove .note.gnu.build-id section Building with --build-id option, .note.gnu.build-id section is added to vmlinux.bin. But some old buggy binutils creates a huge vmlinux.bin, and a bootloader fails to boot its zImage as well. This patch adds a NOTES macro to a linker script vmlinux.ld.S to put .note.gnu.build-id section into .note section. Then, the .note section will be removed, because "-R .note" option is specified in OBJCOPYFLAGS to make a vmlinux.bin binary. Signed-off-by: Hirokazu Takata commit 560235857fb79da48d36e8f866a0ee3b10a232bf Author: Julia Lawall Date: Sun Aug 2 10:47:27 2009 +0200 arch/m32r: Use DIV_ROUND_CLOSEST The kernel.h macro DIV_ROUND_CLOSEST performs the computation (x + d/2)/d but is perhaps more readable. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ @depends on haskernel@ expression x,__divisor; @@ - (((x) + ((__divisor) / 2)) / (__divisor)) + DIV_ROUND_CLOSEST(x,__divisor) // Signed-off-by: Julia Lawall Signed-off-by: Hirokazu Takata commit 4b70df181611012a3556f017b57dfcef7e1d279f Author: Mingming Date: Tue Nov 3 14:44:54 2009 -0500 ext4: code clean up for dio fallocate handling The ext4_debug() call in ext4_end_io_dio() should be moved after the check to make sure that io_end is non-NULL. The comment above ext4_get_block_dio_write() ("Maximum number of blocks...") is a duplicate; the original and correct comment is above the #define DIO_MAX_BLOCKS up above. Based on review comments from Curt Wohlgemuth. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 5f5249507e4b5c4fc0f9c93f33d133d8c95f47e1 Author: Mingming Date: Tue Nov 10 10:48:04 2009 -0500 ext4: skip conversion of uninit extents after direct IO if there isn't any At the end of direct I/O operation, ext4_ext_direct_IO() always called ext4_convert_unwritten_extents(), regardless of whether there were any unwritten extents involved in the I/O or not. This commit adds a state flag so that ext4_ext_direct_IO() only calls ext4_convert_unwritten_extents() when necessary. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 109f55651954def97fa41ee71c464d268c512ab0 Author: Mingming Date: Tue Nov 10 10:48:08 2009 -0500 ext4: fix ext4_ext_direct_IO()'s return value after converting uninit extents After a direct I/O request covering an uninitalized extent (i.e., created using the fallocate system call) or a hole in a file, ext4 will convert the uninitialized extent so it is marked as initialized by calling ext4_convert_unwritten_extents(). This function returns zero on success. This return value was getting returned by ext4_direct_IO(); however the file system's direct_IO function is supposed to return the number of bytes read or written on a success. By returning zero, it confused the direct I/O code into falling back to buffered I/O unnecessarily. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit f38e35b43f2924b3b4e51147b7193f32e9276db4 Author: JosephChan@via.com.tw Date: Mon Nov 2 19:36:08 2009 +0800 sata_via: Remove redundant device ID for VIA VT8261 Just remove redundant device ID for VIA VT8261. The device ID 0x9000 and 0x9040 are redundant (for VT8261). The 0x9040 is reserved for other usage. Signed-off-by: Joseph Chan Signed-off-by: Jeff Garzik commit a1104016ce8f7750ecd8ca6129786bc549aa5c38 Author: Julia Lawall Date: Sat Oct 17 08:41:47 2009 +0200 drivers/ata/libata: Move dereference after NULL test In each case, if the NULL test on qc is needed, then the derefernce should be after the NULL test. A simplified version of the semantic match that detects this problem is as follows (http://coccinelle.lip6.fr/): // @match exists@ expression x, E; identifier fld; @@ * x->fld ... when != \(x = E\|&x\) * x == NULL // Signed-off-by: Julia Lawall Signed-off-by: Jeff Garzik commit e65cc194f7628ecaa02462f22f42fb09b50dcd49 Author: Mark Nelson Date: Tue Nov 3 20:06:48 2009 +1100 ahci: Enable SB600 64bit DMA on MSI K9A2 Platinum v2 Like the Asus M2A-VM, MSI's K9A2 Platinum (MS-7376) can also support 64bit DMA. It is a new enough board that all the BIOS releases work correctly with 64bit DMA enabled. Signed-off-by: Mark Nelson Signed-off-by: Jeff Garzik commit 4b27e1bb442e964903f8a3fa6bdf33a602dc0941 Author: Shaohua Li Date: Tue Nov 3 20:25:02 2009 +0100 cfq-iosched: limit coop preemption CFQ has an optimization for cooperated applications. if several io-context have close requests, they will get boost. But the optimization get abused. Considering thread a, b, which work on one file. a reads sectors s, s+2, s+4, ...; b reads sectors s+1, s+3, s +5, ... Both a and b are sequential read, so they can open idle window. a reads a sector s and goes to idle window and wakeup b. b reads sector s+1, since in current implementation, cfq_should_preempt() thinks a and b are cooperators, b will preempt a. b then reads sector s+1 and goes to idle window and wakeup a. for the same reason, a will preempt b and reads s+2. a and b will continue the circle. The circle will be very long, and a and b will occupy whole disk queue. Other applications will nearly have no chance to run. Fix this limiting coop preempt until a queue is scheduled normally again. Signed-off-by: Shaohua Li Acked-by: Jeff Moyer Signed-off-by: Jens Axboe commit e6ec4fe24572ee265723d895ec4159e5559c8266 Author: Jens Axboe Date: Tue Nov 3 20:21:35 2009 +0100 cfq-iosched: fix bad return value cfq_should_preempt() Commit a6151c3a5c8e1ff5a28450bc8d6a99a2a0add0a7 inadvertently reversed a preempt condition check, potentially causing a performance regression. Make the meta check correct again. Signed-off-by: Jens Axboe commit 8c4db3355b0fcc9ad77431f15b955efa0645b5d0 Author: Jens Axboe Date: Tue Nov 3 20:18:44 2009 +0100 backing-dev: bdi sb prune should be in the unregister path, not destroy Commit 592b09a42fc3ae6737a0f3ecf4fee42ecd0296f8 was different from the tested path, in that it moved the bdi super_block prune from unregister to destroy context. This doesn't fully fix the sync hang bug on unexpected device removal, as need to prune the bdi cache pointer before killing flusher thread. Tested-by: Artur Skawina Signed-off-by: Jens Axboe commit 82d6469916c6fcfa345636a49004c9d1753905d1 Author: Jeremy Fitzhardinge Date: Thu Oct 22 16:41:15 2009 -0700 xen: mask extended topology info in cpuid A Xen guest never needs to know about extended topology, and knowing would just confuse it. This patch just zeros ebx in leaf 0xb which indicates no topology info, preventing a crash under Xen on cpus which support this leaf. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit 7825cf10e31c64ece3cac66fb01a742f1094da51 Author: Jeremy Fitzhardinge Date: Tue Oct 20 15:28:21 2009 +0900 xen/hvc: make sure console output is always emitted, with explicit polling We never want to rely on the hvc workqueue to emit output, because the most interesting output is when the kernel is broken. This will improve oops/crash/console message for better debugging. Instead, we force-poll until all output is emitted. Signed-off-by: Jeremy Fitzhardinge Cc: Stable Kernel commit 1d87cff407ceddf0bc4e825949a4b1bf645418bd Merge: 0515475 342688f Author: Ingo Molnar Date: Tue Nov 3 16:54:14 2009 +0100 Merge branch 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit 80f0c895b57f0d936b420de6afea5167a49f62fa Author: Luca Niccoli Date: Fri Oct 16 22:22:47 2009 +0200 eeepc-laptop: don't enable camera at startup if it's already on. Switching the camera takes 500ms, checking if it's on is almost free... The BIOS remembers the setting through reboots, so there's good chance the camera is already enabled. Signed-off-by: Luca Niccoli Cc: Corentin Chary Cc: Alan Jenkins Cc: Matthew Garrett Signed-off-by: Andrew Morton Signed-off-by: Corentin Chary Signed-off-by: Len Brown commit 58ce48a9de1dd47acb5dc00e2837214d2be1d92a Author: Corentin Chary Date: Fri Oct 16 22:22:46 2009 +0200 Revert "eeepc-laptop: Prevent a panic when disabling RT2860 wireless when associated" rt2860sta is fine with the patch as is, but iwl3945 isn't (eeepc_rfkill_set() needs to call eeepc_rfkill_hotplug(true) – which means that we're back to causing the rt2860sta panic This reverts commit b56ab33d68638e6aafdbfc694025e8354a628f49. Signed-off-by: Corentin Chary Signed-off-by: Darren Salt Signed-off-by: Len Brown commit 342688f9db392ec82ab9e6b25a6137f9ee1647d7 Merge: 012abee ca020711 59a40e70 Author: Joerg Roedel Date: Tue Nov 3 12:05:40 2009 +0100 Merge branches 'amd-iommu/fixes' and 'dma-debug/fixes' into iommu/fixes commit b84ff7d6f1b7f8a43414e74d972ec4c8f3361db4 Author: Mike Galbraith Date: Thu Oct 29 11:48:30 2009 +0100 sched: Fix kthread_bind() by moving the body of kthread_bind() to sched.c Eric Paris reported that commit f685ceacab07d3f6c236f04803e2f2f0dbcc5afb causes boot time PREEMPT_DEBUG complaints. [ 4.590699] BUG: using smp_processor_id() in preemptible [00000000] code: rmmod/1314 [ 4.593043] caller is task_hot+0x86/0xd0 Since kthread_bind() messes with scheduler internals, move the body to sched.c, and lock the runqueue. Reported-by: Eric Paris Signed-off-by: Mike Galbraith Tested-by: Eric Paris Cc: Peter Zijlstra LKML-Reference: <1256813310.7574.3.camel@marge.simson.net> [ v2: fix !SMP build and clean up ] Signed-off-by: Ingo Molnar commit 6b9de613ae9c79b637e070136585dde029578065 Author: Mike Galbraith Date: Mon Nov 2 20:36:51 2009 +0100 sched: Disable SD_PREFER_LOCAL at node level Yanmin Zhang reported that SD_PREFER_LOCAL induces an order of magnitude increase in select_task_rq_fair() overhead while running heavy wakeup benchmarks (tbench and vmark). Since SD_BALANCE_WAKE is off at node level, turn SD_PREFER_LOCAL off as well pending further investigation. Reported-by: Zhang, Yanmin Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit c482ae4dcf23fd241321595d71bbe8aee33eabf5 Author: Haojian Zhuang Date: Mon Nov 2 14:02:21 2009 -0500 [ARM] pxa: fix resume failure by saving/restoring IPRx registers Since interrupt handler is changed to use interrupt priority, we also need to save and restore these interrupt controller registers in suspend/resume routine. Signed-off-by: Haojian Zhuang Tested-by: Daniel Mack Tested-by: Pavel Machek Tested-by: Robert Jarzmik Acked-by: Pavel Machek Signed-off-by: Eric Miao commit 902805dbdae016653768f7139d7b3ab36a20cc6d Author: Ondrej Zajicek Date: Mon Oct 26 23:59:30 2009 +0100 [ARM] pxa/palm: fix incorrect initialization of Palm Tungsten C keyboard Palm Tungsten C keyboard structure has swapped rows/cols gpio structures and does not work. This patch fixes it. Signed-off-by: Ondrej Zajicek Cc: Marek Vasut Signed-off-by: Eric Miao commit 5e0fa3f63eda875cbe23be37d64a16c65a577209 Author: Stanislav Brabec Date: Thu Oct 22 23:05:03 2009 +0200 [ARM] pxa/zaurus: fix NAND flash OOB layout for Borzoi Borzoi, Terrier and Akita use the same NAND Flash OOB layout, which seems to be different from Spitz for some reason. Here is a fix. When the code was ported to the platform data, the map was applied just for Akita. After this patch, Flash works again on Borzoi. Terrier still has a problem with partition table different from Borzoi (unfixable without reading of the system configuration in flash) and JFFS2 partitions can be mounted (with some "Empty flash at ... ends at ..." in the syslog). Signed-off-by: Stanislav Brabec Acked-by: Richard Purdie Signed-off-by: Eric Miao commit fa5d11133b07053270e18fa9c18560e66e79217e Author: Aneesh Kumar K.V Date: Mon Nov 2 18:50:49 2009 -0500 ext4: discard preallocation when restarting a transaction during truncate When restart a transaction during a truncate operation, we drop and reacquire i_data_sem. After reacquiring i_data_sem, we need to discard any inode-based preallocation that might have been grabbed while we released i_data_sem (for example, if pdflush is allocating blocks and racing against the truncate). Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit dd77038d233d106f297b907bf51459dfb1099eb1 Author: Thadeu Lima de Souza Cascardo Date: Fri Oct 30 19:32:25 2009 -0200 perf_events: Fix some typo in the perf events config description Signed-off-by: Thadeu Lima de Souza Cascardo Cc: trivial@kernel.org LKML-Reference: <1256938346-8230-1-git-send-email-cascardo@holoscopio.com> Signed-off-by: Ingo Molnar commit 83f5b01ffbbaea6f97c9a79d21e240dbfb69f2f1 Author: Paul E. McKenney Date: Wed Oct 28 08:14:49 2009 -0700 rcu: Fix long-grace-period race between forcing and initialization Very long RCU read-side critical sections (50 milliseconds or so) can cause a race between force_quiescent_state() and rcu_start_gp() as follows on kernel builds with multi-level rcu_node hierarchies: 1. CPU 0 calls force_quiescent_state(), sees that there is a grace period in progress, and acquires ->fsqlock. 2. CPU 1 detects the end of the grace period, and so cpu_quiet_msk_finish() sets rsp->completed to rsp->gpnum. This operation is carried out under the root rnp->lock, but CPU 0 has not yet acquired that lock. Note that rsp->signaled is still RCU_SAVE_DYNTICK from the last grace period. 3. CPU 1 calls rcu_start_gp(), but no one wants a new grace period, so it drops the root rnp->lock and returns. 4. CPU 0 acquires the root rnp->lock and picks up rsp->completed and rsp->signaled, then drops rnp->lock. It then enters the RCU_SAVE_DYNTICK leg of the switch statement. 5. CPU 2 invokes call_rcu(), and now needs a new grace period. It calls rcu_start_gp(), which acquires the root rnp->lock, sets rsp->signaled to RCU_GP_INIT (too bad that CPU 0 is already in the RCU_SAVE_DYNTICK leg of the switch statement!) and starts initializing the rcu_node hierarchy. If there are multiple levels to the hierarchy, it will drop the root rnp->lock and initialize the lower levels of the hierarchy. 6. CPU 0 notes that rsp->completed has not changed, which permits both CPU 2 and CPU 0 to try updating it concurrently. If CPU 0's update prevails, later calls to force_quiescent_state() can count old quiescent states against the new grace period, which can in turn result in premature ending of grace periods. Not good. This patch adds an RCU_GP_IDLE state for rsp->signaled that is set initially at boot time and any time a grace period ends. This prevents CPU 0 from getting into the workings of force_quiescent_state() in step 4. Additional locking and checks prevent the concurrent update of rsp->signaled in step 6. Signed-off-by: Paul E. McKenney Cc: laijs@cn.fujitsu.com Cc: dipankar@in.ibm.com Cc: mathieu.desnoyers@polymtl.ca Cc: josh@joshtriplett.org Cc: dvhltc@us.ibm.com Cc: niv@us.ibm.com Cc: peterz@infradead.org Cc: rostedt@goodmis.org Cc: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1256742889199-git-send-email-> Signed-off-by: Ingo Molnar commit b00bc0b237055b4c45816325ee14f0bd83e6f590 Author: Thomas Gleixner Date: Mon Nov 2 13:01:56 2009 +0100 uids: Prevent tear down race Ingo triggered the following warning: WARNING: at lib/debugobjects.c:255 debug_print_object+0x42/0x50() Hardware name: System Product Name ODEBUG: init active object type: timer_list Modules linked in: Pid: 2619, comm: dmesg Tainted: G W 2.6.32-rc5-tip+ #5298 Call Trace: [<81035443>] warn_slowpath_common+0x6a/0x81 [<8120e483>] ? debug_print_object+0x42/0x50 [<81035498>] warn_slowpath_fmt+0x29/0x2c [<8120e483>] debug_print_object+0x42/0x50 [<8120ec2a>] __debug_object_init+0x279/0x2d7 [<8120ecb3>] debug_object_init+0x13/0x18 [<810409d2>] init_timer_key+0x17/0x6f [<81041526>] free_uid+0x50/0x6c [<8104ed2d>] put_cred_rcu+0x61/0x72 [<81067fac>] rcu_do_batch+0x70/0x121 debugobjects warns about an enqueued timer being initialized. If CONFIG_USER_SCHED=y the user management code uses delayed work to remove the user from the hash table and tear down the sysfs objects. free_uid is called from RCU and initializes/schedules delayed work if the usage count of the user_struct is 0. The init/schedule happens outside of the uidhash_lock protected region which allows a concurrent caller of find_user() to reference the about to be destroyed user_struct w/o preventing the work from being scheduled. If the next free_uid call happens before the work timer expired then the active timer is initialized and the work scheduled again. The race was introduced in commit 5cb350ba (sched: group scheduling, sysfs tunables) and made more prominent by commit 3959214f (sched: delayed cleanup of user_struct) Move the init/schedule_delayed_work inside of the uidhash_lock protected region to prevent the race. Signed-off-by: Thomas Gleixner Acked-by: Dhaval Giani Cc: Paul E. McKenney Cc: Kay Sievers Cc: stable@kernel.org commit 49557e620339cb134127b5bfbcfecc06b77d0232 Author: Rusty Russell Date: Mon Nov 2 20:37:20 2009 +1030 sched: Fix boot crash by zalloc()ing most of the cpu masks I got a boot crash when forcing cpumasks offstack on 32 bit, because find_new_ilb() returned 3 on my UP system (nohz.cpu_mask wasn't zeroed). AFAICT the others need to be zeroed too: only nohz.ilb_grp_nohz_mask is initialized before use. Signed-off-by: Rusty Russell Cc: Peter Zijlstra LKML-Reference: <200911022037.21282.rusty@rustcorp.com.au> Signed-off-by: Ingo Molnar commit 05154752cf3767c544b65b5e340793d40b3f1229 Author: Gottfried Haider Date: Mon Nov 2 11:51:11 2009 +0100 x86: Add reboot quirk for 3 series Mac mini Reboot does not work out of the box on my "Early 2009" Mac mini (3,1). Detect this machine via DMI as we do for recent MacBooks. Signed-off-by: Gottfried Haider Cc: Ozan Çağlayan Cc: Paul Mackerras Signed-off-by: Ingo Molnar commit 5f04eeb8a76521dec371ceb05e8263889a8af2bc Author: Alberto Bertogli Date: Mon Nov 2 11:39:42 2009 +0100 Fix bio_alloc() and bio_kmalloc() documentation Commit 451a9ebf accidentally broke bio_alloc() and bio_kmalloc() comments by (almost) swapping them. This patch fixes that, by placing the comments in the right place. Signed-off-by: Alberto Bertogli Acked-by: Tejun Heo Signed-off-by: Jens Axboe commit ad0bf11070ebb3c95f8ce82e6219dbd79c8e8b69 Author: Alberto Bertogli Date: Mon Nov 2 11:39:22 2009 +0100 bio_put(): add bio_clone() to the list of functions in the comment In bio_put()'s comment, add bio_clone() to the list of functions that can give you a bio reference. Signed-off-by: Alberto Bertogli Signed-off-by: Jens Axboe commit 16121d70fdf9eeb05ead46b241a293156323dbbe Author: Dave Jones Date: Sun Nov 1 19:27:05 2009 -0500 x86: Fix printk message typo in mtrr cleanup code Trivial typo. Signed-off-by: Dave Jones LKML-Reference: Signed-off-by: Ingo Molnar commit 5a1eb5c4453207ad9e7f6e8ca4f8db289743c993 Author: Benjamin Herrenschmidt Date: Fri Oct 30 15:03:54 2009 +1100 powerpc: Cleanup Kconfig selection of hugetlbfs support Signed-off-by: Benjamin Herrenschmidt commit 59a40e70458341b35d123b60aca416a1d97ebbe3 Author: Joerg Roedel Date: Thu Oct 29 16:25:50 2009 +0100 dma-debug: Fix compile warning with PAE enabled When PAE is enabled in the kernel configuration the size of phys_addr_t differs from the size of a void pointer. The gcc prints a warning about that in dma-debug code. This patch fixes the warning by converting the output to unsigned long long instead of a pointer. Signed-off-by: Joerg Roedel commit ca0207114f1708b563f510b7781a360ec5b98359 Author: Joerg Roedel Date: Wed Oct 28 18:02:26 2009 +0100 x86/amd-iommu: Un__init function required on shutdown The function iommu_feature_disable is required on system shutdown to disable the IOMMU but it is marked as __init. This may result in a panic if the memory is reused. This patch fixes this bug. Signed-off-by: Joerg Roedel commit 52a2b11cafb1b14bacfc65a20966da5ba3a863e1 Author: Arjan van de Ven Date: Thu Oct 1 15:48:40 2009 -0700 ACPI: clean up video.c boundary checks and types proc.c and video.c are a bit sloppy around types and style, confusing gcc for a new feature that'll be in 2.6.33 and will cause a warning on the current code. This patch changes if (foo + 1 > sizeof bar) into if (foo >= sizeof(bar)) which is more kernel-style. it also changes a variable in proc.c to unsigned; it gets assigned a value from an unsigned type, and is then only compared for > not for negative, so using unsigned is just outright the right type Signed-off-by: Arjan van de Ven Signed-off-by: Len Brown commit ea1495a6274c9542a168337536f8ce74d1173f23 Author: Dave Airlie Date: Tue Oct 27 11:57:53 2009 +1100 drm/radeon/kms: fix rc410 suspend/resume. This fixes suspend/resume on my rc410 motherboard, it restores the memory controller setup before posting the GPU, since it seems to need the MC_FB_LOCATION setup correctly. Signed-off-by: Dave Airlie commit fc7f7119d2ed97fff1aaddad6bf7d61ed446cf37 Author: Alex Deucher Date: Wed Oct 28 01:46:54 2009 -0400 drm/radeon/kms: add quirk for hp dc5750 Doesn't have a tv-out port Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d11aa88b33b071d55181a7a482b9e7494888c10e Author: Alex Deucher Date: Wed Oct 28 00:51:20 2009 -0400 drm/radeon/kms/atom: fix potential oops in spread spectrum code Make sure we have an LVDS encoder before casting enc_priv. [airlied: also fix two missing cpu_to_le16 casts we noticed on irc] Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit a2d49ae7df5b96fba3c63710df61412587fc6a24 Author: James Simmons Date: Tue Oct 27 21:09:24 2009 +0000 drm/kms: typo fix I believe this is a typo. Signed-off-by: Dave Airlie commit 61c4b24b3e3bb83bfe29f24fe566281b4f722237 Author: Mathias Fröhlich Date: Tue Oct 27 15:08:01 2009 -0400 drm/radeon/kms/atom: Make card_info per device Make the struct card_info, which is a per struct radeon_device dataset, a struct member of the radeon device instead of a static per kernel module value. This should avoid potential problems with two radeon cards installed in one system. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d56ef9c8fd34ed29ffae27598a864b4a9a82521b Author: Alex Deucher Date: Tue Oct 27 12:11:09 2009 -0400 drm/radeon/kms/atom: Fix DVO support DVO in 12 bit mode (which seems to be the most common config) requires 2x ppll. Fixes fdo bug 21857. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 8f552a66a40bcc6e903e91310f42fe140e0342c4 Author: Alex Deucher Date: Tue Oct 27 11:16:09 2009 -0400 drm/radeon/kms/atom: loosen pll min output limits Limiting the pll output range is a good thing generally as it limits the number of possible pll combinations for a given frequency presumably to the ones that work best on each card. That's why the limits are in the bios tables. However, certain duallink DVI monitors seem to like pll combinations that would be limited by this at least on pre-DCE 3.0 r6xx hardware. This might need to be adjusted per family or per clock range in the future. See fdo bug 24727. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3e5cb98dfe87cc61d0a1119dd8aa2b1e4cfab424 Author: Alex Deucher Date: Fri Oct 16 12:21:24 2009 -0400 drm/radeon/kms: add support for msi Try to enable msi on chips that support it. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ebbe1cb936dfc96d809ccf4d64a9755f8ba0c0ff Author: Alex Deucher Date: Fri Oct 16 11:15:25 2009 -0400 drm/radeon/kms/atom: add support for spread spectrum (v2) Spread spectrum is a periodic disturbance added to the feedback divider to change the pixel clock periodically to reduce interference. Only enabled on LVDS. v2: add support for r4xx and fix DCE 3 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit c290dadf4cac25cc91529d84004795ab43fc0821 Author: Alex Deucher Date: Thu Oct 22 16:12:34 2009 -0400 drm/radeon/kms/r7xx: add regs for 40 bit CUR/GRPH addresses The *_HIGH regs are reversed. The secondary ones are in the primary block and vice versa. We currently only use a 32 bit internal address, so these are 0 for now. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 33fdb15c99aac20d238af487fa363d3e5c7ed197 Author: Robert Noland Date: Tue Oct 20 13:07:38 2009 -0500 drm/radeon/r600: only assign vb after we know space is available. This patch only changes this is the swap path, where it doesn't loop. Signed-off-by: Robert Noland Signed-off-by: Dave Airlie commit c54b1820d69a1043acaf50d084852e628266e0e2 Author: Robert Noland Date: Tue Oct 20 08:11:36 2009 -0500 drm/radeon/r600: Replace repeated calculations with variable. - Reduce the chance of error and avoid a bit of overhead. - Use switch to assign color and format Signed-off-by: Robert Noland Signed-off-by: Dave Airlie commit bc293e58cb4095f2ad43fe672ae269e31d1a18e2 Author: Mathias Fröhlich Date: Mon Oct 19 17:49:49 2009 -0400 drm/radeon/kms/atom: get better min pixel clock info Where supported use ulMinPixelClockPLL_Output rather than usMinPixelClockPLL_Output for pll_out_min. This seems to improve pll selection on some boards. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 790cfb34ad645be3bf69265cb05d824aeabcfa11 Author: Alex Deucher Date: Thu Oct 15 23:26:09 2009 -0400 drm/radeon/kms: add quirk for acer 5102 doesn't have a tv-out port Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5885b7a9f4d2a0405b7e42d44eab4ed2302a8239 Author: Alex Deucher Date: Mon Oct 19 17:23:33 2009 -0400 drm/radeon/kms: fix vram_width calculation on r6xx/r7xx Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ceb776bc87280eb8d13f38e4d7afae757e95af44 Author: Mathias Fröhlich Date: Mon Oct 19 12:50:41 2009 -0400 drm/radeon/kms: fix cs parser tex bit 11 check The problem boils down to the order when the bit11 of the texture size is or'ed to the original width. In the end each mipmap level has the same width or height because of that 11 bit is ored to the scaled down lod with and thus blows up the size again to the full size or more due to the power of two rounding afterwards. The attached patch changes this order so that the texture sizes are computed correct. Also the on error the yet missing inputs to the size computation are printed which helped me to find out where it really breaks. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit c850cb782626fda78e5e9e5baf18a5bd806a225c Author: Dave Airlie Date: Fri Oct 23 18:49:03 2009 +1000 drm/kms: fix kms/fbdev colormap support properly. This sets the fbcon to use TRUECOLOR by default, it then only modifies the pseudo palette for fbcon, and only touches the real palette when in 8-bit pseudo color mode. Signed-off-by: Dave Airlie commit f685ceacab07d3f6c236f04803e2f2f0dbcc5afb Author: Mike Galbraith Date: Fri Oct 23 23:09:22 2009 +0200 sched: Strengthen buddies and mitigate buddy induced latencies This patch restores the effectiveness of LAST_BUDDY in preventing pgsql+oltp from collapsing due to wakeup preemption. It also switches LAST_BUDDY to exclusively do what it does best, namely mitigate the effects of aggressive wakeup preemption, which improves vmark throughput markedly, and restores mysql+oltp scalability. Since buddies are about scalability, enable them beginning at the point where we begin expanding sched_latency, namely sched_nr_latency. Previously, buddies were cleared aggressively, which seriously reduced their effectiveness. Not clearing aggressively however, produces a small drop in mysql+oltp throughput immediately after peak, indicating that LAST_BUDDY is actually doing some harm. This is right at the point where X on the desktop in competition with another load wants low latency service. Ergo, do not enable until we need to scale. To mitigate latency induced by buddies, or by a task just missing wakeup preemption, check latency at tick time. Last hunk prevents buddies from stymieing BALANCE_NEWIDLE via CACHE_HOT_BUDDY. Supporting performance tests: tip = v2.6.32-rc5-1497-ga525b32 tipx = NO_GENTLE_FAIR_SLEEPERS NEXT_BUDDY granularity knobs = 31 knobs + 31 buddies tip+x = NO_GENTLE_FAIR_SLEEPERS granularity knobs = 31 knobs (Three run averages except where noted.) vmark: ------ tip 108466 messages per second tip+ 125307 messages per second tip+x 125335 messages per second tipx 117781 messages per second 2.6.31.3 122729 messages per second mysql+oltp: ----------- clients 1 2 4 8 16 32 64 128 256 .......................................................................................... tip 9949.89 18690.20 34801.24 34460.04 32682.88 30765.97 28305.27 25059.64 19548.08 tip+ 10013.90 18526.84 34900.38 34420.14 33069.83 32083.40 30578.30 28010.71 25605.47 tipx 9698.71 18002.70 34477.56 33420.01 32634.30 31657.27 29932.67 26827.52 21487.18 2.6.31.3 8243.11 18784.20 34404.83 33148.38 31900.32 31161.90 29663.81 25995.94 18058.86 pgsql+oltp: ----------- clients 1 2 4 8 16 32 64 128 256 .......................................................................................... tip 13686.37 26609.25 51934.28 51347.81 49479.51 45312.65 36691.91 26851.57 24145.35 tip+ (1x) 13907.85 27135.87 52951.98 52514.04 51742.52 50705.43 49947.97 48374.19 46227.94 tip+x 13906.78 27065.81 52951.19 52542.59 52176.11 51815.94 50838.90 49439.46 46891.00 tipx 13742.46 26769.81 52351.99 51891.73 51320.79 50938.98 50248.65 48908.70 46553.84 2.6.31.3 13815.35 26906.46 52683.34 52061.31 51937.10 51376.80 50474.28 49394.47 47003.25 Signed-off-by: Mike Galbraith Cc: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit 4204878179c99d419d392d78d817729992b4c442 Author: Zhenyu Wang Date: Wed Oct 21 15:27:01 2009 +0800 drm/i915: Ironlake suspend/resume support This adds registers save/restore for Ironlake to make suspend work. Signed-off-by: Guo, Chaohong [zhenyuw: some code re-orgnization, and add more save/restore for FDI link and transcoder registers, also fix palette register for Ironlake] Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit fe798b9718bea5c48938fc38fa78ae9503b8de6c Author: Jesse Barnes Date: Tue Oct 20 07:55:28 2009 +0900 drm/i915: kill warning in intel_find_pll_g4x_dp Initialize clock.vco to silence gcc. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 629598da932cfa5ff398fe10bc123282a6f3049e Author: Jesse Barnes Date: Tue Oct 20 07:37:32 2009 +0900 drm/i915: update watermarks before enabling PLLs When coming back from DPMS or turning on a display, make sure we have the watermarks set up before turning on the display plane, otherwise we may get underruns. Signed-off-by: Jesse Barnes Tested-by: Dirk Hohndel Signed-off-by: Eric Anholt commit 0e442c60dd39ac6924b11a20497734bd2303744c Author: Jesse Barnes Date: Mon Oct 19 10:09:33 2009 +0900 drm/i915: add FIFO watermark support for G4x Turns out G4x needs to have sensible watermarks set, especially for self-refresh enabled modes. Add support for it. Signed-off-by: Jesse Barnes Tested-by: Dirk Hohndel Signed-off-by: Eric Anholt commit d54e9d28241fd52cca3df4f6bc2054a30d453fed Author: Zhenyu Wang Date: Mon Oct 19 15:43:51 2009 +0800 drm/i915: quiet DP i2c init Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit b1f60b7029989da71fd8ea1b1176480fac9e846c Author: Zhenyu Wang Date: Mon Oct 19 15:43:49 2009 +0800 drm/i915: fix panel fitting filter coefficient select for Ironlake Must set filter selection as hardcoded coefficients for medium 3x3 filtering, which matches vbios setting for Ironlake. This fixes display corrupt issue on HP arrandale with new vbios. Cc: Stable Team Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit c038e51e841581cc3fb9a76e5e16331331e9c85c Author: Zhenyu Wang Date: Mon Oct 19 15:43:48 2009 +0800 drm/i915: fix to setup display reference clock control on Ironlake For new stepping of PCH, the display reference clock is fully under driver's control. This one trys to setup all needed reference clock for different outputs. Older stepping of PCH chipset should be ignoring this. This fixes output failure issue on newer PCH which requires driver to take control of reference clock enabling. Cc: Stable Team Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit d0c403e950d449c8c413a1fbf05dfec45ce03e55 Author: Alex Deucher Date: Thu Oct 15 23:38:32 2009 -0400 drm/radeon/kms: fix support for original r100 Original radeon didn't have a connector table in the bios. Check for the CRT table and if we have one, add a VGA connector. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 2d152c6ba81c8a7776103b517fa454b8da0419aa Author: Alex Deucher Date: Thu Oct 15 23:08:05 2009 -0400 drm/radeon/kms: fix legacy quirk handling Need to check the return type for the quirk function to decide whether we add the connectors and encoders. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f059d2ad69b056aeabad4460f706a3df2f77ce50 Author: Zhao Yakui Date: Wed Oct 14 09:11:25 2009 +0800 drm: Add the basic check for the detailed timing in EDID Sometimes we will get the incorrect display modeline when parsing the detailed timing in EDID. For example: >hsync/vsync width is zero >sync is beyond the blank. So add the basic check for the detailed timing in EDID to avoid the incorrect display modeline. Signed-off-by: Zhao Yakui Signed-off-by: Dave Airlie commit a77f171843d466d4af0d527bcb2d314fafa8afd7 Author: Matt Turner Date: Wed Oct 14 00:34:41 2009 -0400 drm/radeon/kms: use RADEON_GPU_PAGE_SIZE instead of 4096 Signed-off-by: Matt Turner Signed-off-by: Dave Airlie commit dfdd646773941bb6b22c3898a26a109e57c872a2 Author: Alex Deucher Date: Tue Oct 13 12:48:44 2009 -0400 drm/radeon/kms: limit default tv modes to <= 1024x768 fixes fdo bug 24496 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ceefedd8e8a80b743fa0b6d6b1992be7029a9efb Author: Alex Deucher Date: Tue Oct 13 23:57:47 2009 -0400 drm/radeon/kms/atom: fix tv-out D1MODE_INTERLEAVE_EN was getting set in some cases in the encoder quirks function due to the changes in 5a9bcacc0a56f0d9577494e834519480018a6cc3 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 0294cf4f7f895ddcf284b1ce7cf27a2c9d7106f7 Author: Alex Deucher Date: Thu Oct 15 16:16:35 2009 -0400 drm/radeon/kms: fix connector edid handling Based partly on a patch from Christian Koenig - fix several memory leaks in radeon_connector->edid handling - store edid in radeon_connector->edid in detect() or get_modes() - switch hdmi detect code to use radeon_connector->edid - add support for oem boards multiple connectors that share a ddc line. - short circuit lvds_detect() if have a stored edid Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 0d9c778978ff268228c095ae737c282c03a5986d Author: Chris Wilson Date: Wed Oct 14 20:12:46 2009 +0100 drm/i915: Install a fence register for fbc on g4x To enable framebuffer compression on a g4x, we not only need the buffer to tiled (X only), we also need to hold a fence register for the buffer. Currently we only install a fence register for pre-i965s when setting up the scanout buffer. Rather than adding some convoluted logic to g4x_enable_fbc() to acquire a fence register, and perhaps to g4x_disable_fbc() to release it again, we can extend the acquisition during setup to all chipsets. Signed-off-by: Chris Wilson Cc: Jesse Barnes Signed-off-by: Eric Anholt commit 0eb96d6ed38430b72897adde58f5477a6b71757a Author: Jesse Barnes Date: Wed Oct 14 12:33:41 2009 -0700 drm/i915: save/restore BLC histogram control reg across suspend/resume Turns out some machines, like the ThinkPad X40 don't come back if you don't save/restore this register. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit 1b4d7d75ccff38008ccd40f8e2d74e33a087caaa Author: Alex Deucher Date: Thu Oct 15 01:33:35 2009 -0400 drm/radeon/kms: fix internal tmds setup on legacy display engine - crtc 0 routing was wrong - need to clear various timing bits in FP_GEN_CNTL - need to set FP_H/V2_SYNC_STRT_WID regs for crtc 1 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 8c2a6d730400e14bf28ccfa11b9bbf453db775ec Author: Alex Deucher Date: Wed Oct 14 02:00:42 2009 -0400 drm/radeon/kms: move active_device setup into encoder fixup() radeon_encoder->active_device defines the active routing between the encoder and connector. The encoder fixup and dpms functions need to know the active_device to function properly. Setting active_device in the prepare hook was too late in some cases. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 58a27471d00dc09945cbcfbbc5cbcdcd3c28211d Author: Zhenyu Wang Date: Fri Sep 25 08:01:28 2009 +0000 drm/i915: Fix FDI M/N setting according with correct color depth FDI M/N calculation hasn't taken the current pipe color depth into account, but always set as 24bpp. This one checks current pipe color depth setting, and change FDI M/N calculation a little to use bits_per_pixel first, then convert to bytes_per_pixel later. This fixes display corrupt issue on Arrandle LVDS with 1600x900 panel in 18bpp dual-channel mode. Cc: Stable Team Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit c03342fa6d4617a77cb867ee0ec71665d520eb69 Author: Zhenyu Wang Date: Tue Sep 29 11:01:23 2009 +0800 drm/i915: disable powersave feature for Ironlake currently Until we figure out the right setting for powersave features on Ironlake, disable it for now. Also disable watermark update, which has new registers for it on Ironlake too. Signed-off-by: Zhenyu Wang Reviewed-by: Jesse Barnes [anholt: Resolved against the Pineview FBC changes] Signed-off-by: Eric Anholt commit 181a5336d6cc836f05507410d66988c483ad0154 Author: Andy Lutomirski Date: Tue Oct 13 10:40:52 2009 -0700 drm/i915: Fix render reclock availability detection. If the device didn't support EDP, we would bail out too soon. Signed-off-by: Andy Lutomirski [anholt: Pulled this patch out of the patch for adding quirks to enable reclocking.] Signed-off-by: Eric Anholt commit 06027f9111b9f3244ddc40752428f7847b0b867e Author: Jesse Barnes Date: Mon Oct 5 13:47:26 2009 -0700 drm/i915: Save and restore the GM45 FBC regs on suspend and resume. This hasn't fixed the regressions we were testing against, but clearly should be required. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit a3e17eb8f4080a79738a938abe718be255247a44 Author: Zhao Yakui Date: Sat Oct 10 10:42:37 2009 +0800 drm/i915: Set the LVDS_BORDER when using LVDS scaling mode According to the spec the LVDS_BORDER_ENABLE bit decides whether the border data should be included in the active display and data sent to the panel. Border should be used when in VGA centered (un-scaled) mode or when scaling a 4:3 source image to a wide screen panel (typical 16:9). So when the LVDS scaling is used, decide whether the LVDS_BORDER should be enabled or not according to the current scaling mode. At the same time fix the typo error in LVDS center scaling mode. https://bugs.freedesktop.org/show_bug.cgi?id=23789 Signed-off-by: Zhao Yakui tested-by: Zhao Jian Signed-off-by: Eric Anholt commit 9216d44dc13b5e858253f06d83ceea25a9b72f4f Author: Shaohua Li Date: Sat Oct 10 15:20:55 2009 +0800 drm/i915: disable FBC for Pineview, fixing a boot hang. Pineview doesn't have this FBC mechanism, so this code doesn't apply. Signed-off-by: Shaohua Li Signed-off-by: Eric Anholt commit fb06ca8f8c61dfd7cbfa2092756577ff78a26dcd Author: Alex Deucher Date: Mon Oct 12 11:25:05 2009 -0400 drm/radeon/kms: properly handle mode id with native mode changes drm modes are objects with indentifiers. Make sure to preserve the mode id when copying mode params. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 39deb2d67515086f08a672e7574716ca0d3883a5 Author: Dave Airlie Date: Mon Oct 12 14:21:19 2009 +1000 drm/radeon/kms: fix use of index before proper initialisation. With the adjust table introduction, we need to fill out index before getting the table version. Signed-off-by: Dave Airlie commit ceeb50279b3d05eb7ea2b67e90acb2110d09325f Author: Dave Airlie Date: Mon Oct 12 13:54:10 2009 +1000 drm/radeon: Revert "drm/r600: avoid assigning vb twice in blit code" This reverts commit 49c458e544ae14514209ed80ea6829ca1b18ddf0. It seems to have some side effects in the non-kms cases. Signed-off-by: Dave Airlie commit 0549a061b545d232d12836f98c7c4965dd83f837 Author: Alex Deucher Date: Fri Oct 9 18:41:19 2009 -0400 drm/radeon/kms: also check for edid in lvds detect In case the system has bad native mode info but valid edid. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit de2103e452ec7f2db5db7c44279735688608381d Author: Alex Deucher Date: Fri Oct 9 15:14:30 2009 -0400 drm/radeon/kms: use drm_mode directly for panel modes This reduces the number of mode format conversions needed and makes native panel mode support cleaner. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5a9bcacc0a56f0d9577494e834519480018a6cc3 Author: Alex Deucher Date: Thu Oct 8 15:09:31 2009 -0400 drm/radeon/kms/atom: rework crtc modeset - clean up tv timing handling - unify SetCRTC_Timing and SetCRTC_UsingDTDTiming Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 2606c88608122339cbd5c6b5c149a2eb74ccfe9e Author: Alex Deucher Date: Thu Oct 8 13:36:21 2009 -0400 drm/radeon/kms/atom: add support for AdjustDisplayPll DCE3+ has an AdjustDisplayPll that will adjust the pixel clock accordingly based on the encoder/transmitter to handle special hw requirements. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5f9a0eb5af16906cd31fc3e02746aa3d61fd3aa9 Author: Alex Deucher Date: Thu Oct 8 13:08:29 2009 -0400 drm/radeon/kms/atom: reorder crtc dpms Based on recommendation from bios docs. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 2ffb842948ba64b03986f4064140a74c1780c44b Author: Alex Deucher Date: Thu Oct 8 13:02:19 2009 -0400 drm/radeon/kms: make sure LVDS panel is valid in detect() If the panel data is bogus this can lead to problems later when the hardware trys to set the mode. If the data is invalid, report LVDS as disconnected. Should fix fdo bug 24247. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b5fc901002db0519093ec723fd98969bc03cd629 Author: Michel Dänzer Date: Thu Oct 8 10:44:10 2009 +0200 drm/radeon/kms: Fix apparent typo in legacy CRTC memory bandwidth calculation. While investigating the cause of CRTC FIFO underruns, I noticed that when converting the memory bandwidth calculation from the userspace X driver code, an instance of '8.0' was apparently accidentally converted to '80'. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit f30f37def4c72e5df8d949022b806e5a4e99bbcb Author: Michel Dänzer Date: Thu Oct 8 10:44:09 2009 +0200 drm/radeon/kms: Update memory bandwidth requirements in mode_set_base hook. The hook may change the number of bytes per pixel being scanned out, which affects the CRTC memory bandwidth requirements. E.g. booting in 8bpp and then running X in 32bpp would result in the bandwidth requirements being underestimated for the latter and consequently in CRTC FIFO underruns causing visible artifacts with 3D intensive workloads. ATOM changes only compile-tested. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit e33497aaaef5ec9998cf7b007b13d74bb41be74e Author: Dave Airlie Date: Mon Oct 12 13:32:38 2009 +1000 drm/radeon/kms: don't refuse LUT because no framebuffer. The fb binding might be happening in a subsequent crtc setup call. gets rid of some lut issues. Signed-off-by: Dave Airlie commit c5cca146aa03e1f60fb179df65f0dbaf17bc64ed Author: Joerg Roedel Date: Fri Oct 9 18:31:20 2009 +0200 x86/amd-iommu: Workaround for erratum 63 There is an erratum for IOMMU hardware which documents undefined behavior when forwarding SMI requests from peripherals and the DTE of that peripheral has a sysmgt value of 01b. This problem caused weird IO_PAGE_FAULTS in my case. This patch implements the suggested workaround for that erratum into the AMD IOMMU driver. The erratum is documented with number 63. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit de19d02b731478877ce8b1ccf371c2b2142ac80e Author: Mike Frysinger Date: Thu Sep 24 15:11:38 2009 -0400 mtd/maps: gpio-addr-flash: depend on GPIO arch support The driver requires gpio functionality, so make sure we depend on that in the Kconfig menu. Signed-off-by: Mike Frysinger Signed-off-by: David Woodhouse commit f5bae56a501347671b18095731d78e13eee5205f Author: Mike Frysinger Date: Thu Sep 24 15:11:37 2009 -0400 mtd/maps: gpio-addr-flash: pull in linux/ headers rather than asm/ Now that there are linux/ versions of gpio.h and io.h, include those rather than hitting the asm/ versions. Signed-off-by: Mike Frysinger Signed-off-by: David Woodhouse commit 58475fb908485ab38860d6970a8063987fe1d619 Author: Jaswinder Singh Rajput Date: Thu Sep 24 13:04:53 2009 +0100 mtd: nand: fix htmldocs warnings Fixed following htmldocs warnings: DOCPROC Documentation/DocBook/mtdnand.xml Warning(drivers/mtd/nand/nand_base.c:769): No description found for parameter 'page' Warning(drivers/mtd/nand/nand_base.c:785): No description found for parameter 'page' Warning(drivers/mtd/nand/nand_base.c:824): No description found for parameter 'page' Warning(drivers/mtd/nand/nand_base.c:947): No description found for parameter 'page' Warning(drivers/mtd/nand/nand_base.c:996): No description found for parameter 'page' Warning(drivers/mtd/nand/nand_base.c:1040): No description found for parameter 'page' Signed-off-by: Jaswinder Singh Rajput Signed-off-by: David Woodhouse