commit e40152ee1e1c7a63f4777791863215e3faa37a86 Author: Linus Torvalds Date: Sun May 16 14:17:36 2010 -0700 Linus 2.6.34 commit b5dbc858717113c823fe6bb058807c2cb67d1efa Merge: d34e14f c02db8c Author: Linus Torvalds Date: Sun May 16 11:11:53 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: rtnetlink: make SR-IOV VF interface symmetric sctp: delete active ICMP proto unreachable timer when free transport tcp: fix MD5 (RFC2385) support commit d34e14f690d611ffe3db09e4ed8123d86c89a831 Merge: 18e41da 4e73238 Author: Linus Torvalds Date: Sun May 16 11:11:31 2010 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: MIPS: Oprofile: Fix Loongson irq handler MIPS: N32: Use compat version for sys_ppoll. MIPS FPU emulator: allow Cause bits of FCSR to be writeable by ctc1 commit c02db8c6290bb992442fec1407643c94cc414375 Author: Chris Wright Date: Sun May 16 01:05:45 2010 -0700 rtnetlink: make SR-IOV VF interface symmetric Now we have a set of nested attributes: IFLA_VFINFO_LIST (NESTED) IFLA_VF_INFO (NESTED) IFLA_VF_MAC IFLA_VF_VLAN IFLA_VF_TX_RATE This allows a single set to operate on multiple attributes if desired. Among other things, it means a dump can be replayed to set state. The current interface has yet to be released, so this seems like something to consider for 2.6.34. Signed-off-by: Chris Wright Signed-off-by: David S. Miller commit 55fa0cfd7c3ac2ae34cac7dca2e3fbcfe661e6c3 Author: Wei Yongjun Date: Sun May 9 16:56:07 2010 +0000 sctp: delete active ICMP proto unreachable timer when free transport transport may be free before ICMP proto unreachable timer expire, so we should delete active ICMP proto unreachable timer when transport is going away. Signed-off-by: Wei Yongjun Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit 35790c0421121364883a167bab8a2e37e1f67f78 Author: Eric Dumazet Date: Sun May 16 00:34:04 2010 -0700 tcp: fix MD5 (RFC2385) support TCP MD5 support uses percpu data for temporary storage. It currently disables preemption so that same storage cannot be reclaimed by another thread on same cpu. We also have to make sure a softirq handler wont try to use also same context. Various bug reports demonstrated corruptions. Fix is to disable preemption and BH. Reported-by: Bhaskar Dutta Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4e73238d163c6fcf001264832701d2a6d4927672 Author: Wu Zhangjin Date: Fri May 7 00:59:46 2010 +0800 MIPS: Oprofile: Fix Loongson irq handler The interrupt enable bit for the performance counters is in the Control Register $24, not in the counter register. loongson2_perfcount_handler(), we need to use Reported-by: Xu Hengyang Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1198/ Signed-off-by: Ralf Baechle --- commit 46afb8296c2494bfce17064124b253eb9b176ef9 Author: Chandrakala Chavva Date: Mon May 10 17:11:54 2010 -0700 MIPS: N32: Use compat version for sys_ppoll. The sys_ppoll() takes struct 'struct timespec'. This is different for the N32 and N64 ABIs. Use the compat version to do the proper conversions. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1210/ Signed-off-by: Ralf Baechle --- commit 95e8f634d7a3ea5af40ec3fa42c8a152fd3a0624 Author: Shane McDonald Date: Thu May 6 23:26:57 2010 -0600 MIPS FPU emulator: allow Cause bits of FCSR to be writeable by ctc1 In the FPU emulator code of the MIPS, the Cause bits of the FCSR register are not currently writeable by the ctc1 instruction. In odd corner cases, this can cause problems. For example, a case existed where a divide-by-zero exception was generated by the FPU, and the signal handler attempted to restore the FPU registers to their state before the exception occurred. In this particular setup, writing the old value to the FCSR register would cause another divide-by-zero exception to occur immediately. The solution is to change the ctc1 instruction emulator code to allow the Cause bits of the FCSR register to be writeable. This is the behaviour of the hardware that the code is emulating. This problem was found by Shane McDonald, but the credit for the fix goes to Kevin Kissell. In Kevin's words: I submit that the bug is indeed in that ctc_op: case of the emulator. The Cause bits (17:12) are supposed to be writable by that instruction, but the CTC1 emulation won't let them be updated by the instruction. I think that actually if you just completely removed lines 387-388 [...] things would work a good deal better. At least, it would be a more accurate emulation of the architecturally defined FPU. If I wanted to be really, really pedantic (which I sometimes do), I'd also protect the reserved bits that aren't necessarily writable. Signed-off-by: Shane McDonald To: anemo@mba.ocn.ne.jp To: kevink@paralogos.com To: sshtylyov@mvista.com Patchwork: http://patchwork.linux-mips.org/patch/1205/ Signed-off-by: Ralf Baechle --- commit 18e41da89d55014d25b9a24502ee92b7f50599f9 Merge: 43aa7ac 5dc6416 Author: Linus Torvalds Date: Sat May 15 12:55:31 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: check for read permission on src file in the clone ioctl commit 43aa7ac736a4e21aae4882bd8f7c67403aed45b8 Author: kirjanov@gmail.com Date: Sat May 15 12:32:34 2010 -0400 lib/btree: fix possible NULL pointer dereference mempool_alloc() can return null in atomic case. Signed-off-by: Denis Kirjanov Cc: Joern Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdef2fe88b1e4bde7458aedd207929ce3f9d66ee Author: Nicolas Ferre Date: Sat May 15 12:32:31 2010 -0400 mmc: at91_mci: modify cache flush routines As we were using an internal dma flushing routine, this patch changes to the DMA API flush_kernel_dcache_page(). Driver is able to compile now. [akpm@linux-foundation.org: flush_kernel_dcache_page() comes before kunmap_atomic()] Signed-off-by: Nicolas Ferre Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dc6416414fb3ec6e2825fd4d20c8bf1d7fe0395 Author: Dan Rosenberg Date: Sat May 15 11:27:37 2010 -0400 Btrfs: check for read permission on src file in the clone ioctl The existing code would have allowed you to clone a file that was only open for writing Signed-off-by: Chris Mason commit 3f8bf8f0fd79410fbcbf9dd9910dbc9d4882c94f Merge: c28f3f8 684bdc7 Author: Linus Torvalds Date: Sat May 15 09:03:15 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: JFS: Free sbi memory in error path fs/sysv: dereferencing ERR_PTR() Fix double-free in logfs Fix the regression created by "set S_DEAD on unlink()..." commit commit c28f3f8660697d03afbdb581781b94ff6222a585 Merge: bfcf1ae 46db2c3 Author: Linus Torvalds Date: Sat May 15 09:03:02 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf record: Add a fallback to the reference relocation symbol commit 684bdc7ff95e0c1d4b0bcf236491840b55a54189 Author: Jan Blunck Date: Mon Apr 12 16:44:08 2010 -0700 JFS: Free sbi memory in error path I spotted the missing kfree() while removing the BKL. [akpm@linux-foundation.org: avoid multiple returns so it doesn't happen again] Signed-off-by: Jan Blunck Cc: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Al Viro commit 404e781249f003a37a140756fc4aeae463dcb217 Author: Dan Carpenter Date: Wed Apr 21 12:30:32 2010 +0200 fs/sysv: dereferencing ERR_PTR() I moved the dir_put_page() inside the if condition so we don't dereference "page", if it's an ERR_PTR(). Signed-off-by: Dan Carpenter Signed-off-by: Al Viro commit 265624495f5acf6077f8f8d264f8170573d8d752 Author: Al Viro Date: Wed Apr 28 20:57:02 2010 -0400 Fix double-free in logfs iput() is needed *until* we'd done successful d_alloc_root() Signed-off-by: Al Viro commit d83c49f3e36cecd2e8823b6c48ffba083b8a5704 Author: Al Viro Date: Fri Apr 30 17:17:09 2010 -0400 Fix the regression created by "set S_DEAD on unlink()..." commit 1) i_flags simply doesn't work for mount/unlink race prevention; we may have many links to file and rm on one of those obviously shouldn't prevent bind on top of another later on. To fix it right way we need to mark _dentry_ as unsuitable for mounting upon; new flag (DCACHE_CANT_MOUNT) is protected by d_flags and i_mutex on the inode in question. Set it (with dont_mount(dentry)) in unlink/rmdir/etc., check (with cant_mount(dentry)) in places in namespace.c that used to check for S_DEAD. Setting S_DEAD is still needed in places where we used to set it (for directories getting killed), since we rely on it for readdir/rmdir race prevention. 2) rename()/mount() protection has another bogosity - we unhash the target before we'd checked that it's not a mountpoint. Fixed. 3) ancient bogosity in pivot_root() - we locked i_mutex on the right directory, but checked S_DEAD on the different (and wrong) one. Noticed and fixed. Signed-off-by: Al Viro commit bfcf1ae2b2b1c09ee2c420313afe47ac5cc32d3f Merge: ecbb458 98af057 Author: Linus Torvalds Date: Fri May 14 21:28:42 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: 6126/1: ARM mpcore_wdt: fix build failure and other fixes ARM: 6125/1: ARM TWD: move TWD registers to common header ARM: 6110/1: Fix Thumb-2 kernel builds when UACCESS_WITH_MEMCPY is enabled ARM: 6112/1: Use the Inner Shareable I-cache and BTB ops on ARMv7 SMP ARM: 6111/1: Implement read/write for ownership in the ARMv6 DMA cache ops ARM: 6106/1: Implement copy_to_user_page() for noMMU ARM: 6105/1: Fix the __arm_ioremap_caller() definition in nommu.c commit ecbb458a484fd9c455f8feb36c87727e71b4ac1a Merge: 16a2164 e9b1d5d Author: Linus Torvalds Date: Fri May 14 21:28:23 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, mrst: Don't blindly access extended config space commit 16a2164bb03612efe79a76c73da6da44445b9287 Author: Hugh Dickins Date: Fri May 14 19:44:10 2010 -0700 profile: fix stats and data leakage If the kernel is large or the profiling step small, /proc/profile leaks data and readprofile shows silly stats, until readprofile -r has reset the buffer: clear the prof_buffer when it is vmalloc()ed. Signed-off-by: Hugh Dickins Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit bfcc6e2eca507819e297a4c758ebd6b26e625330 Author: Hugh Dickins Date: Fri May 14 19:40:35 2010 -0700 hughd: update email address My old address will shut down in a couple of weeks: update the tree. Signed-off-by: Hugh Dickins Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit e9b1d5d0ff4d3ae86050dc4c91b3147361c7af9e Author: H. Peter Anvin Date: Fri May 14 13:55:57 2010 -0700 x86, mrst: Don't blindly access extended config space Do not blindly access extended configuration space unless we actively know we're on a Moorestown platform. The fixed-size BAR capability lives in the extended configuration space, and thus is not applicable if the configuration space isn't appropriately sized. This fixes booting certain VMware configurations with CONFIG_MRST=y. Moorestown will add a fake PCI-X 266 capability to advertise the presence of extended configuration space. Reported-and-tested-by: Petr Vandrovec Signed-off-by: H. Peter Anvin Acked-by: Jacob Pan Acked-by: Jesse Barnes LKML-Reference: commit ef0e9180d3589ad35eefe9be6b239f32719fd548 Merge: 4fc4c3c 7f284d3 Author: Linus Torvalds Date: Fri May 14 12:20:09 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, cacheinfo: Turn off L3 cache index disable feature in virtualized environments x86, k8: Fix build error when K8_NB is disabled x86, amd: Check X86_FEATURE_OSVW bit before accessing OSVW MSRs x86: Fix fake apicid to node mapping for numa emulation commit 7f284d3cc96e02468a42e045f77af11e5ff8b095 Author: Frank Arnold Date: Thu Apr 22 16:06:59 2010 +0200 x86, cacheinfo: Turn off L3 cache index disable feature in virtualized environments When running a quest kernel on xen we get: BUG: unable to handle kernel NULL pointer dereference at 0000000000000038 IP: [] cpuid4_cache_lookup_regs+0x2ca/0x3df PGD 0 Oops: 0000 [#1] SMP last sysfs file: CPU 0 Modules linked in: Pid: 0, comm: swapper Tainted: G W 2.6.34-rc3 #1 /HVM domU RIP: 0010:[] [] cpuid4_cache_lookup_regs+0x 2ca/0x3df RSP: 0018:ffff880002203e08 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 0000000000000003 RCX: 0000000000000060 RDX: 0000000000000000 RSI: 0000000000000040 RDI: 0000000000000000 RBP: ffff880002203ed8 R08: 00000000000017c0 R09: ffff880002203e38 R10: ffff8800023d5d40 R11: ffffffff81a01e28 R12: ffff880187e6f5c0 R13: ffff880002203e34 R14: ffff880002203e58 R15: ffff880002203e68 FS: 0000000000000000(0000) GS:ffff880002200000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000038 CR3: 0000000001a3c000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process swapper (pid: 0, threadinfo ffffffff81a00000, task ffffffff81a44020) Stack: ffffffff810d7ecb ffff880002203e20 ffffffff81059140 ffff880002203e30 <0> ffffffff810d7ec9 0000000002203e40 000000000050d140 ffff880002203e70 <0> 0000000002008140 0000000000000086 ffff880040020140 ffffffff81068b8b Call Trace: [] ? sync_supers_timer_fn+0x0/0x1c [] ? mod_timer+0x23/0x25 [] ? arm_supers_timer+0x34/0x36 [] ? hrtimer_get_next_event+0xa7/0xc3 [] ? get_next_timer_interrupt+0x19a/0x20d [] get_cpu_leaves+0x5c/0x232 [] ? sched_clock_local+0x1c/0x82 [] ? sched_clock_tick+0x75/0x7a [] generic_smp_call_function_single_interrupt+0xae/0xd0 [] smp_call_function_single_interrupt+0x18/0x27 [] call_function_single_interrupt+0x13/0x20 [] ? notifier_call_chain+0x14/0x63 [] ? native_safe_halt+0xc/0xd [] ? default_idle+0x36/0x53 [] cpu_idle+0xaa/0xe4 [] rest_init+0x7e/0x80 [] start_kernel+0x40e/0x419 [] x86_64_start_reservations+0xb3/0xb7 [] x86_64_start_kernel+0xf8/0x107 Code: 14 d5 40 ff ae 81 8b 14 02 31 c0 3b 15 47 1c 8b 00 7d 0e 48 8b 05 36 1c 8b 00 48 63 d2 48 8b 04 d0 c7 85 5c ff ff ff 00 00 00 00 <8b> 70 38 48 8d 8d 5c ff ff ff 48 8b 78 10 ba c4 01 00 00 e8 eb RIP [] cpuid4_cache_lookup_regs+0x2ca/0x3df RSP CR2: 0000000000000038 ---[ end trace a7919e7f17c0a726 ]--- The L3 cache index disable feature of AMD CPUs has to be disabled if the kernel is running as guest on top of a hypervisor because northbridge devices are not available to the guest. Currently, this fixes a boot crash on top of Xen. In the future this will become an issue on KVM as well. Check if northbridge devices are present and do not enable the feature if there are none. [ hpa: backported to 2.6.34 ] Signed-off-by: Frank Arnold LKML-Reference: <1271945222-5283-3-git-send-email-bp@amd64.org> Acked-by: Borislav Petkov Signed-off-by: H. Peter Anvin Cc: commit ade029e2aaacc8965a548b0b0f80c5bee97ffc68 Author: Borislav Petkov Date: Sat Apr 24 09:56:53 2010 +0200 x86, k8: Fix build error when K8_NB is disabled K8_NB depends on PCI and when the last is disabled (allnoconfig) we fail at the final linking stage due to missing exported num_k8_northbridges. Add a header stub for that. Signed-off-by: Borislav Petkov LKML-Reference: <20100503183036.GJ26107@aftab> Signed-off-by: H. Peter Anvin Cc: commit 4fc4c3ce0dc1096cbd0daa3fe8f6905cbec2b87e Merge: 97b2073 b3b38d8 Author: Linus Torvalds Date: Fri May 14 11:49:42 2010 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify * 'for-linus' of git://git.infradead.org/users/eparis/notify: inotify: don't leak user struct on inotify release inotify: race use after free/double free in inotify inode marks inotify: clean up the inotify_add_watch out path Inotify: undefined reference to `anon_inode_getfd' Manual merge to remove duplicate "select ANON_INODES" from Kconfig file commit 97b2073ff04814a7f2fef5fe0e82bb008cad7d8e Merge: 508ff9d b9af5dd Author: Linus Torvalds Date: Fri May 14 11:43:52 2010 -0700 Merge branch 'davinci-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci * 'davinci-fixes-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: DA830: fix USB 2.0 clock entry commit b9af5ddf8a34ff3c911372173c2e51c6f8a6ca8f Author: Sergei Shtylyov Date: Thu May 13 22:51:51 2010 +0400 DA830: fix USB 2.0 clock entry DA8xx OHCI driver fails to load due to failing clk_get() call for the USB 2.0 clock. Arrange matching USB 2.0 clock by the clock name instead of the device. (Adding another CLK() entry for "ohci.0" device won't do -- in the future I'll also have to enable USB 2.0 clock to configure CPPI 4.1 module, in which case I won't have any device at all.) Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit b3b38d842fa367d862b83e7670af4e0fd6a80fc0 Author: Pavel Emelyanov Date: Wed May 12 15:34:07 2010 -0700 inotify: don't leak user struct on inotify release inotify_new_group() receives a get_uid-ed user_struct and saves the reference on group->inotify_data.user. The problem is that free_uid() is never called on it. Issue seem to be introduced by 63c882a0 (inotify: reimplement inotify using fsnotify) after 2.6.30. Signed-off-by: Pavel Emelyanov Eric Paris Cc: Signed-off-by: Andrew Morton Signed-off-by: Eric Paris commit e08733446e72b983fed850fc5d8bd21b386feb29 Author: Eric Paris Date: Tue May 11 17:17:40 2010 -0400 inotify: race use after free/double free in inotify inode marks There is a race in the inotify add/rm watch code. A task can find and remove a mark which doesn't have all of it's references. This can result in a use after free/double free situation. Task A Task B ------------ ----------- inotify_new_watch() allocate a mark (refcnt == 1) add it to the idr inotify_rm_watch() inotify_remove_from_idr() fsnotify_put_mark() refcnt hits 0, free take reference because we are on idr [at this point it is a use after free] [time goes on] refcnt may hit 0 again, double free The fix is to take the reference BEFORE the object can be found in the idr. Signed-off-by: Eric Paris Cc: commit 3dbc6fb6a3c8a7dc164ae330ab024a3fe65ae53e Author: Eric Paris Date: Tue May 11 17:16:23 2010 -0400 inotify: clean up the inotify_add_watch out path inotify_add_watch explictly frees the unused inode mark, but it can just use the generic code. Just do that. Signed-off-by: Eric Paris commit 508ff9d41c9aa7e178f6330e703a22af03090dd5 Merge: 3ac4e82 d77f873 Author: Linus Torvalds Date: Fri May 14 07:56:45 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: vhost: fix barrier pairing commit 3ac4e829bd8575e9adea2ba1b9329da363881ffb Merge: 7ac992e 4ae69e6 Author: Linus Torvalds Date: Fri May 14 07:55:42 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: mmap_min_addr check CAP_SYS_RAWIO only for write commit 7ac992ef615c66a05ebb831915935e83c0ec8e05 Merge: 6a251b0 a5e48b8 Author: Linus Torvalds Date: Fri May 14 07:29:29 2010 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Fix module loading on system with WB cache microblaze: export assembly functions used by modules microblaze: Remove powerpc code from Microblaze port microblaze: Remove compilation warnings in cache macro microblaze: export assembly functions used by modules microblaze: fix get_user/put_user side-effects microblaze: re-enable interrupts before calling schedule commit d77f873fdd21912803836da78f627d2efd267082 Merge: cea0d76 0d49935 Author: David S. Miller Date: Fri May 14 03:42:49 2010 -0700 Merge branch 'net-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost commit 4ae69e6b718589abe97c9625ccbb1e0bc95a8c0e Author: Kees Cook Date: Thu Apr 22 12:19:17 2010 -0700 mmap_min_addr check CAP_SYS_RAWIO only for write Redirecting directly to lsm, here's the patch discussed on lkml: http://lkml.org/lkml/2010/4/22/219 The mmap_min_addr value is useful information for an admin to see without being root ("is my system vulnerable to kernel NULL pointer attacks?") and its setting is trivially easy for an attacker to determine by calling mmap() in PAGE_SIZE increments starting at 0, so trying to keep it private has no value. Only require CAP_SYS_RAWIO if changing the value, not reading it. Comment from Serge : Me, I like to write my passwords with light blue pen on dark blue paper, pasted on my window - if you're going to get my password, you're gonna get a headache. Signed-off-by: Kees Cook Acked-by: Serge Hallyn Signed-off-by: James Morris (cherry picked from commit 822cceec7248013821d655545ea45d1c6a9d15b3) commit a5e48b88da225580394f825ffe67e444b050074b Author: Michal Simek Date: Fri May 14 07:40:46 2010 +0200 microblaze: Fix module loading on system with WB cache There is necessary to flush whole dcache. Icache work should be done in kernel/module.c. Signed-off-by: Michal Simek commit f01487119dda3d9f58c9729c7361ecc50a61c188 Author: Andreas Herrmann Date: Tue Apr 27 12:13:48 2010 +0200 x86, amd: Check X86_FEATURE_OSVW bit before accessing OSVW MSRs If host CPU is exposed to a guest the OSVW MSRs are not guaranteed to be present and a GP fault occurs. Thus checking the feature flag is essential. Cc: # .32.x .33.x Signed-off-by: Andreas Herrmann LKML-Reference: <20100427101348.GC4489@alberich.amd.com> Signed-off-by: H. Peter Anvin commit 6a251b0ab67989f468f4cb65179e0cf40cf8c295 Merge: 9e766d8 5051d41 Author: Linus Torvalds Date: Thu May 13 14:48:10 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: mfd: Clean up after WM83xx AUXADC interrupt if it arrives late commit 9e766d81b1f432826fd773fc5d679b8a8095e941 Merge: bf6239e 4f018c5 Author: Linus Torvalds Date: Thu May 13 14:36:19 2010 -0700 Merge branch 'kvm-updates/2.6.34' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.34' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: PPC: Keep index within boundaries in kvmppc_44x_emul_tlbwe() KVM: VMX: blocked-by-sti must not defer NMI injections KVM: x86: Call vcpu_load and vcpu_put in cpuid_update KVM: SVM: Fix wrong intercept masks on 32 bit KVM: convert ioapic lock to spinlock commit bf6239eb84e6d7331f168cd3593958b656ce42a3 Merge: 4462dc0 1c5250d Author: Linus Torvalds Date: Thu May 13 12:21:44 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: serial: imx.c: fix CTS trigger level lower to avoid lost chars tty: Fix unbalanced BKL handling in error path serial: mpc52xx_uart: fix null pointer dereference commit 1c5250d6163dac28be3afabdfb6c723f107051b7 Author: Valentin Longchamp Date: Wed May 5 11:47:07 2010 +0200 serial: imx.c: fix CTS trigger level lower to avoid lost chars The imx CTS trigger level is left at its reset value that is 32 chars. Since the RX FIFO has 32 entries, when CTS is raised, the FIFO already is full. However, some serial port devices first empty their TX FIFO before stopping when CTS is raised, resulting in lost chars. This patch sets the trigger level lower so that other chars arrive after CTS is raised, there is still room for 16 of them. Signed-off-by: Valentin Longchamp Tested-by: Philippe Rétornaz Acked-by: Wolfram Sang Cc: stable Signed-off-by: Greg Kroah-Hartman commit 77945febbe60a69e9dcab7f49d33a1aa1e436973 Author: Alan Cox Date: Tue May 4 20:42:36 2010 +0100 tty: Fix unbalanced BKL handling in error path Arnd noted: After the "retry_open:" label, we first get the tty_mutex and then the BKL. However a the end of tty_open, we jump back to retry_open with the BKL still held. If we run into this case, the tty_open function will be left with the BKL still held. Signed-off-by: Alan Cox Acked-by: Arnd Bergmann Cc: stable Signed-off-by: Greg Kroah-Hartman commit e6114fa1d1d6a588766f28081b971047dd3e5def Author: Anatolij Gustschin Date: Wed May 5 00:18:59 2010 +0200 serial: mpc52xx_uart: fix null pointer dereference Commit 6acc6833510db8f72b5ef343296d97480555fda9 introduced NULL pointer dereference and kernel crash on ppc32 machines while booting. Fix this bug now. Reported-by: Leonardo Chiquitto Tested-by: Leonardo Chiquitto Signed-off-by: Anatolij Gustschin Acked-by: Grant Likely Signed-off-by: Greg Kroah-Hartman commit 4462dc02842698f173f518c1f5ce79c0fb89395a Merge: 002baee 3d69438 Author: Linus Torvalds Date: Thu May 13 10:36:16 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: guard against hardlinking directories commit 002baeecf53677d2034113e34197ec221f42e037 Author: Jan Kara Date: Thu May 13 12:52:57 2010 +0200 vfs: Fix O_NOFOLLOW behavior for paths with trailing slashes According to specification mkdir d; ln -s d a; open("a/", O_NOFOLLOW | O_RDONLY) should return success but currently it returns ELOOP. This is a regression caused by path lookup cleanup patch series. Fix the code to ignore O_NOFOLLOW in case the provided path has trailing slashes. Cc: Andrew Morton Cc: Al Viro Reported-by: Marius Tolzmann Acked-by: Miklos Szeredi Signed-off-by: Jan Kara Signed-off-by: Linus Torvalds commit fc8e38f142dd59f81306ff6a81c1351e9eb0e014 Merge: aa86f26 105ce39 Author: Linus Torvalds Date: Thu May 13 07:35:26 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: ice1724 - Fix ESI Maya44 capture source control ALSA: pcm - Use pgprot_noncached() for MIPS non-coherent archs ALSA: virtuoso: fix Xonar D1/DX front panel microphone ALSA: hda - Add hp-dv4 model for IDT 92HD71bx ALSA: hda - Fix mute-LED GPIO pin for HP dv series ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice) commit aa86f26bd81a46985f1b32e513638d1c36cf3104 Merge: be83567 3843384 Author: Linus Torvalds Date: Thu May 13 07:28:43 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: ad7877 - keep dma rx buffers in seperate cache lines Input: psmouse - reset all types of mice before reconnecting Input: elantech - use all 3 bytes when checking version Input: iforce - fix Guillemot Jet Leader 3D entry Input: iforce - add Guillemot Jet Leader Force Feedback commit 5051d411ec87381693433d24c4488b2fa4a6306c Author: Mark Brown Date: Fri Apr 2 13:08:39 2010 +0100 mfd: Clean up after WM83xx AUXADC interrupt if it arrives late In certain circumstances, especially under heavy load, the AUXADC completion interrupt may be detected after we've timed out waiting for it. That conversion would still succeed but the next conversion will see the completion that was signalled by the interrupt for the previous conversion and therefore not wait for the AUXADC conversion to run, causing it to report failure. Provide a simple, non-invasive cleanup by using try_wait_for_completion() to ensure that the completion is not signalled before we wait. Since the AUXADC is run within a mutex we know there can only have been at most one AUXADC interrupt outstanding. A more involved change should follow for the next merge window. Signed-off-by: Mark Brown Signed-off-by: Samuel Ortiz commit ee4bcdf1d248c4ebe5f73e11631c3bd3f76d777b Author: Michal Simek Date: Thu May 13 12:11:42 2010 +0200 microblaze: export assembly functions used by modules Export __strncpy_user, memory_size, ioremap_bot for modules. Signed-off-by: Michal Simek commit 1ce2470aa544a0aa37b575c45cba366770860af7 Author: Michal Simek Date: Thu May 13 12:09:54 2010 +0200 microblaze: Remove powerpc code from Microblaze port Remove eeh_add_device_tree_late which is powerpc specific code. Signed-off-by: Michal Simek commit ddfbc935eae68294834dc29998f93147a5422a0d Author: Michal Simek Date: Thu May 13 10:55:47 2010 +0200 microblaze: Remove compilation warnings in cache macro CC arch/microblaze/kernel/cpu/cache.o arch/microblaze/kernel/cpu/cache.c: In function '__invalidate_dcache_range_wb': arch/microblaze/kernel/cpu/cache.c:398: warning: ISO C90 forbids mixed declarations and code arch/microblaze/kernel/cpu/cache.c: In function '__flush_dcache_range_wb': arch/microblaze/kernel/cpu/cache.c:509: warning: ISO C90 forbids mixed declara Signed-off-by: Michal Simek commit e1733d2c397476c245a681ba0b54c88858b7a0be Author: Steven J. Magnani Date: Tue Apr 27 13:00:35 2010 -0500 microblaze: export assembly functions used by modules Modules that use copy_{to,from}_user(), memcpy(), and memset() fail to build in certain circumstances. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit 105ce39ca4fabf20e3211cae1abc8f037e6a1f7f Merge: 8213466 2a6ce6e Author: Takashi Iwai Date: Thu May 13 10:07:15 2010 +0200 Merge branch 'fix/hda' into for-linus commit 3843384a055496dfed3c93ae883d964d8290fdab Author: Oskar Schirmer Date: Thu May 13 00:42:23 2010 -0700 Input: ad7877 - keep dma rx buffers in seperate cache lines With dma based spi transmission, data corruption is observed occasionally. With dma buffers located right next to msg and xfer fields, cache lines correctly flushed in preparation for dma usage may be polluted again when writing to fields in the same cache line. Make sure cache fields used with dma do not share cache lines with fields changed during dma handling. As both fields are part of a struct that is allocated via kzalloc, thus cache aligned, moving the fields to the 1st position and insert padding for alignment does the job. Signed-off-by: Oskar Schirmer Signed-off-by: Daniel Glöckner Signed-off-by: Oliver Schneidewind Signed-off-by: Johannes Weiner Acked-by: Mike Frysinger [dtor@mail.ru - changed to use ___cacheline_aligned as suggested by akpm] Signed-off-by: Dmitry Torokhov commit ef110b24e28f36620f63dab94708a17c7e267358 Author: Dmitry Torokhov Date: Thu May 13 00:42:23 2010 -0700 Input: psmouse - reset all types of mice before reconnecting Synaptics hardware requires resetting device after suspend to ram in order for the device to be operational. The reset lives in synaptics-specific reconnect handler, but it is not being invoked if synaptics support is disabled and the device is handled as a standard PS/2 device (bare or IntelliMouse protocol). Let's add reset into generic reconnect handler as well. Signed-off-by: Dmitry Torokhov commit 504e8beed161bd11a2c6cbb8aaf352c14d39b5bb Author: Dmitry Torokhov Date: Thu May 13 00:41:15 2010 -0700 Input: elantech - use all 3 bytes when checking version Apparently all 3 bytes returned by ETP_FW_VERSION_QUERY are significant and should be taken into account when matching hardware version/features. Tested-by: Eric Piel Signed-off-by: Dmitry Torokhov commit 538722ca3b762023ac65cec214901a1ebff8b575 Author: Steven J. Magnani Date: Thu May 6 16:38:33 2010 -0500 microblaze: fix get_user/put_user side-effects The Microblaze implementations of get_user() and (MMU) put_user() evaluate the address argument more than once. This causes unexpected side-effects for invocations that include increment operators, i.e. get_user(foo, bar++). This patch also removes the distinction between MMU and noMMU put_user(). Without the patch: $ echo 1234567890 > /proc/sys/kernel/core_pattern $ cat /proc/sys/kernel/core_pattern 12345 Signed-off-by: Steven J. Magnani commit 0d5961b7f612f8f54fd6fbe1942cdfb141cddfb9 Author: Steven J. Magnani Date: Tue Apr 27 13:00:23 2010 -0500 microblaze: re-enable interrupts before calling schedule schedule() should not be called with interrupts disabled. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit 46db2c3205ca6e24adbb9b038441bc8f65360535 Author: Arnaldo Carvalho de Melo Date: Tue Mar 30 18:27:39 2010 -0300 perf record: Add a fallback to the reference relocation symbol Usually "_text" is enough, but I received reports that its not always available, so fallback to "_stext" for the symbol we use to check if we need to apply any relocation to all the symbols in the kernel symtab, for when, for instance, kexec is being used. Reported-by: Darren Hart Reported-by: Steven Rostedt Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Ingo Molnar commit 4f018c513a81ba243165bfc4fcf44254986ad002 Author: Roel Kluin Date: Sun May 9 17:26:47 2010 +0200 KVM: PPC: Keep index within boundaries in kvmppc_44x_emul_tlbwe() An index of KVM44x_GUEST_TLB_SIZE is already one too large. Signed-off-by: Roel Kluin Acked-by: Hollis Blanchard Acked-by: Alexander Graf Signed-off-by: Marcelo Tosatti commit f8c5fae16649445e15656667f72bd51d777f7766 Author: Jan Kiszka Date: Tue May 11 15:16:46 2010 +0200 KVM: VMX: blocked-by-sti must not defer NMI injections As the processor may not consider GUEST_INTR_STATE_STI as a reason for blocking NMI, it could return immediately with EXIT_REASON_NMI_WINDOW when we asked for it. But as we consider this state as NMI-blocking, we can run into an endless loop. Resolve this by allowing NMI injection if just GUEST_INTR_STATE_STI is active (originally suggested by Gleb). Intel confirmed that this is safe, the processor will never complain about NMI injection in this state. Signed-off-by: Jan Kiszka KVM-Stable-Tag Acked-by: Gleb Natapov Signed-off-by: Marcelo Tosatti commit fe19c5a46b4c519153fddd4d5efe32a3e4cfa694 Author: Dongxiao Xu Date: Tue May 11 18:21:33 2010 +0800 KVM: x86: Call vcpu_load and vcpu_put in cpuid_update cpuid_update may operate VMCS, so vcpu_load() and vcpu_put() should be called to ensure correctness. Signed-off-by: Dongxiao Xu Signed-off-by: Marcelo Tosatti commit 061e2fd16863009c8005b4b5fdfb75c7215c0b99 Author: Joerg Roedel Date: Wed May 5 16:04:43 2010 +0200 KVM: SVM: Fix wrong intercept masks on 32 bit This patch makes KVM on 32 bit SVM working again by correcting the masks used for iret interception. With the wrong masks the upper 32 bits of the intercepts are masked out which leaves vmrun unintercepted. This is not legal on svm and the vmrun fails. Bug was introduced by commits 95ba827313 and 3cfc3092. Cc: Jan Kiszka Cc: Gleb Natapov Cc: stable@kernel.org Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity commit 46a47b1ed118cda1a08b7f6077b837a00fbc112b Author: Marcelo Tosatti Date: Fri Apr 23 14:03:38 2010 -0300 KVM: convert ioapic lock to spinlock kvm_set_irq is used from non sleepable contexes, so convert ioapic from mutex to spinlock. KVM-Stable-Tag. Tested-by: Ralf Bonenkamp Signed-off-by: Marcelo Tosatti commit be835674b55324c1abe973b15343c3663910c620 Merge: 5ec390e 131c6c9 Author: Linus Torvalds Date: Wed May 12 18:48:26 2010 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/perf_event: Fix oops due to perf_event_do_pending call powerpc/swiotlb: Fix off by one in determining boundary of which ops to use commit 5ec390e046039942d59ef2634b967b8b23fc57c2 Merge: cdf5f61 57d8490 Author: Linus Torvalds Date: Wed May 12 18:47:55 2010 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] correct address of _stext with CONFIG_SHARED_KERNEL=y [S390] ptrace: fix return value of do_syscall_trace_enter() [S390] dasd: fix race between tasklet and dasd_sleep_on commit cdf5f61ed1d64d50eb9cf10071ab40836f5f9f91 Merge: 769d996 e84346b Author: Linus Torvalds Date: Wed May 12 18:47:29 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: preserve seq # on requeued messages after transient transport errors ceph: fix cap removal races ceph: zero unused message header, footer fields ceph: fix locking for waking session requests after reconnect ceph: resubmit requests on pg mapping change (not just primary change) ceph: fix open file counting on snapped inodes when mds returns no caps ceph: unregister osd request on failure ceph: don't use writeback_control in writepages completion ceph: unregister bdi before kill_anon_super releases device name commit 131c6c9eddfa252e376edb4aeff9c7fe1b96a798 Merge: 0fe1ac4 b8b14c6 Author: Benjamin Herrenschmidt Date: Thu May 13 11:42:40 2010 +1000 Merge commit 'kumar/merge' into merge commit 769d9968e42c995eaaf61ac5583d998f32e0769a Author: Linus Torvalds Date: Wed May 12 18:39:45 2010 -0700 Revert "PCI: update bridge resources to get more big ranges in PCI assign unssigned" This reverts commit 977d17bb1749517b353874ccdc9b85abc7a58c2a, because it can cause problems with some devices not getting any resources at all when the resource tree is re-allocated. For an example of this, see https://bugzilla.kernel.org/show_bug.cgi?id=15960 (originally https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4982) (lkml thread: http://lkml.org/lkml/2010/4/19/20) where Peter Henriksson reported his Xonar DX sound card gone, because the IO port region was no longer allocated. Reported-bisected-and-tested-by: Peter Henriksson Requested-by: Andrew Morton Requested-by: Clemens Ladisch Acked-by: Jesse Barnes Cc: Yinghai Lu Signed-off-by: Linus Torvalds commit 7ac512aa8237c43331ffaf77a4fd8b8d684819ba Author: David Howells Date: Wed May 12 15:34:03 2010 +0100 CacheFiles: Fix error handling in cachefiles_determine_cache_security() cachefiles_determine_cache_security() is expected to return with a security override in place. However, if set_create_files_as() fails, we fail to do this. In this case, we should just reinstate the security override that was set by the caller. Furthermore, if set_create_files_as() fails, we should dispose of the new credentials we were in the process of creating. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 91af70814105f4c05e6e11b51c3269907b71794b Author: Michel Lespinasse Date: Wed May 12 11:38:45 2010 +0100 rwsem: Test for no active locks in __rwsem_do_wake undo code If there are no active threasd using a semaphore, it is always correct to unqueue blocked threads. This seems to be what was intended in the undo code. What was done instead, was to look for a sem count of zero - this is an impossible situation, given that at least one thread is known to be queued on the semaphore. The code might be correct as written, but it's hard to reason about and it's not what was intended (otherwise the goto out would have been unconditional). Go for checking the active count - the alternative is not worth the headache. Signed-off-by: Michel Lespinasse Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 0d4993563bde70bc7c7718686bc5c5c089733001 Author: Michael S. Tsirkin Date: Tue May 11 19:44:17 2010 +0300 vhost: fix barrier pairing According to memory-barriers.txt, an smp memory barrier in guest should always be paired with an smp memory barrier in host, and I quote "a lack of appropriate pairing is almost certainly an error". In case of vhost, failure to flush out used index update before looking at the interrupt disable flag could result in missed interrupts, resulting in networking hang under stress. This might happen when flags read bypasses used index write. So we see interrupts disabled and do not interrupt, at the same time guest writes flags value to enable interrupt, reads an old used index value, thinks that used ring is empty and waits for interrupt. Note: the barrier we pair with here is in drivers/virtio/virtio_ring.c, function vring_enable_cb. Signed-off-by: Michael S. Tsirkin Acked-by: Juan Quintela commit e7b702b1a8f2a6961367da903217e669be0f099f Author: Russell King Date: Sun Apr 18 21:25:11 2010 +0100 Inotify: undefined reference to `anon_inode_getfd' Fix: fs/built-in.o: In function `sys_inotify_init1': summary.c:(.text+0x347a4): undefined reference to `anon_inode_getfd' found by kautobuild with arms bcmring_defconfig, which ends up with INOTIFY_USER enabled (through the 'default y') but leaves ANON_INODES unset. However, inotify_user.c uses anon_inode_getfd(). Signed-off-by: Russell King Signed-off-by: Eric Paris commit 8213466596bf10b75887754773ee13c10cf86f5c Author: Takashi Iwai Date: Wed May 12 16:43:32 2010 +0200 ALSA: ice1724 - Fix ESI Maya44 capture source control The capture source control of maya44 was wrongly coded with the bit shift instead of the bit mask. Also, the slot for line-in was wrongly assigned (slot 5 instead of 4). Reported-by: Alex Chernyshoff Cc: Signed-off-by: Takashi Iwai commit 98af057092f8f0dabe63c5df08adc2bbfbddb1d2 Author: Srinidhi Kasagar Date: Wed May 12 05:53:26 2010 +0100 ARM: 6126/1: ARM mpcore_wdt: fix build failure and other fixes This fixes the build failures seen when building mpcore_wdt and it also removes the nonexistent ARM_MPCORE_PLATFORM dependency, instead make it dependent on HAVE_ARM_TWD. Also this fixes spinlock usage appropriately. Signed-off-by: srinidhi kasagar Acked-by: Linus Walleij Signed-off-by: Russell King commit f4a27aed48584b9e4699e9ee76288618a8574d77 Author: Srinidhi Kasagar Date: Wed May 12 05:52:18 2010 +0100 ARM: 6125/1: ARM TWD: move TWD registers to common header This moves the TWD register set of MPcore to a common existing file so that watchdog driver can access it Signed-off-by: srinidhi kasagar Acked-by: Linus Walleij Signed-off-by: Russell King commit 9fe17b5d47d3d3c85b35623dea8f571a184134c0 Author: Takashi Iwai Date: Wed May 12 10:32:42 2010 +0200 ALSA: pcm - Use pgprot_noncached() for MIPS non-coherent archs MIPS non-coherent archs need the noncached pgprot in mmap of PCM buffers. But, since the coherency needs to be checked dynamically via plat_device_is_coherent(), we need an ugly check dependent on MIPS in ALSA core code. This should be cleaned up in MIPS arch side (e.g. creating dma_mmap_coherent()) in near future. Tested-by: Wu Zhangjin Signed-off-by: Takashi Iwai commit 6a45f7822544c54a2cf070d84f4e85f2fb32ec02 Author: Clemens Ladisch Date: Tue May 11 16:34:39 2010 +0200 ALSA: virtuoso: fix Xonar D1/DX front panel microphone Commit 65c3ac885ce9852852b895a4a62212f62cb5f2e9 in 2.6.33 accidentally left out the initialization of the AC97 codec FMIC2MIC bit, which broke recording from the front panel microphone. Signed-off-by: Clemens Ladisch Cc: Signed-off-by: Jaroslav Kysela Signed-off-by: Takashi Iwai commit 2a6ce6e5fda4721b35f309acedf4cac61ecbfb04 Author: Takashi Iwai Date: Wed May 12 10:16:20 2010 +0200 ALSA: hda - Add hp-dv4 model for IDT 92HD71bx It turned out that HP dv series have inconsistent the mute-LED GPIO mapping among various models. dv4/7 seem to use GPIO 0 while dv 5/6 seem to use GPIO 3. The previous commit 26ebe0a28986f4845b2c5bea43ac5cc0b9f27f0a ALSA: hda - Fix mute-LED GPIO pin for HP dv series breaks dv5/6. This patch adds the new quirk model, hp-dv4, to handle HP dv4/7 separately from HP dv5/6. Tested-by: Kunal Gangakhedkar (for dv6-1110ax) Acked-by: Kunal Gangakhedkar Signed-off-by: Takashi Iwai commit 57d84906f0f3005d4d22e13a3f5102a16a7fc4a2 Author: Martin Schwidefsky Date: Wed May 12 09:32:13 2010 +0200 [S390] correct address of _stext with CONFIG_SHARED_KERNEL=y As of git commit 1844c9bc0b2fed3023551c1affe033ab38e90b9a head64.S/head31.S are not included in head.S anymore but build as an extra object. This breaks shared kernel support because the .org statement in head64.S/head31.S for CONFIG_SHARED_KERNEL=y will have a different effect. The end address of the head.text section in head.o will be added to the .org value, to compensate for this subtract 0x11000 to get the required value of 0x100000 again. Signed-off-by: Martin Schwidefsky commit 545c174d1f093a462b4bb9131b23d5ea72a600e1 Author: Gerald Schaefer Date: Wed May 12 09:32:12 2010 +0200 [S390] ptrace: fix return value of do_syscall_trace_enter() strace may change the system call number, so regs->gprs[2] must not be read before tracehook_report_syscall_entry(). This fixes a bug where "strace -f" will hang after a vfork(). Cc: Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit 1c1e093cbf6d3a7576ba0bd10363362a1c5c74ee Author: Stefan Weinhuber Date: Wed May 12 09:32:11 2010 +0200 [S390] dasd: fix race between tasklet and dasd_sleep_on The various dasd_sleep_on functions use a global wait queue when waiting for a cqr. The wait condition checks the status and devlist fields of the cqr to determine if it is safe to continue. This evaluation may return true, although the tasklet has not finished processing of the cqr and the callback function has not been called yet. When the callback is finally called, the data in the cqr may already be invalid. The sleep_on wait condition needs a safe way to determine if the tasklet has finished processing. Use the callback_data field of the cqr to store a token, which is set by the callback function itself. Cc: Signed-off-by: Stefan Weinhuber Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0fe1ac48bef018bed896307cd12f6ca9b5e704ab Author: Paul Mackerras Date: Tue Apr 13 20:46:04 2010 +0000 powerpc/perf_event: Fix oops due to perf_event_do_pending call Anton Blanchard found that large POWER systems would occasionally crash in the exception exit path when profiling with perf_events. The symptom was that an interrupt would occur late in the exit path when the MSR[RI] (recoverable interrupt) bit was clear. Interrupts should be hard-disabled at this point but they were enabled. Because the interrupt was not recoverable the system panicked. The reason is that the exception exit path was calling perf_event_do_pending after hard-disabling interrupts, and perf_event_do_pending will re-enable interrupts. The simplest and cleanest fix for this is to use the same mechanism that 32-bit powerpc does, namely to cause a self-IPI by setting the decrementer to 1. This means we can remove the tests in the exception exit path and raw_local_irq_restore. This also makes sure that the call to perf_event_do_pending from timer_interrupt() happens within irq_enter/irq_exit. (Note that calling perf_event_do_pending from timer_interrupt does not mean that there is a possible 1/HZ latency; setting the decrementer to 1 ensures that the timer interrupt will happen immediately, i.e. within one timebase tick, which is a few nanoseconds or 10s of nanoseconds.) Signed-off-by: Paul Mackerras Cc: stable@kernel.org Signed-off-by: Benjamin Herrenschmidt commit e84346b726ea90a8ed470bc81c4136a7b8710ea5 Author: Sage Weil Date: Tue May 11 21:20:38 2010 -0700 ceph: preserve seq # on requeued messages after transient transport errors If the tcp connection drops and we reconnect to reestablish a stateful session (with the mds), we need to resend previously sent (and possibly received) messages with the _same_ seq # so that they can be dropped on the other end if needed. Only assign a new seq once after the message is queued. Signed-off-by: Sage Weil commit f818a73674c5d197f66b636a46d7d578d7258129 Author: Sage Weil Date: Tue May 11 20:56:31 2010 -0700 ceph: fix cap removal races The iterate_session_caps helper traverses the session caps list and tries to grab an inode reference. However, the __ceph_remove_cap was clearing the inode backpointer _before_ removing itself from the session list, causing a null pointer dereference. Clear cap->ci under protection of s_cap_lock to avoid the race, and to tightly couple the list and backpointer state. Use a local flag to indicate whether we are releasing the cap, as cap->session may be modified by a racing thread in iterate_session_caps. Signed-off-by: Sage Weil commit cea0d767c29669bf89f86e4aee46ef462d2ebae8 Merge: b2464ab 0559a53 Author: Linus Torvalds Date: Tue May 11 17:38:04 2010 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (applesmc) Correct sysfs fan error handling hwmon: (asc7621) Bug fixes commit b2464ab2023f20aea23ef8df1cb45b338c859ea5 Merge: 788885a 829e924 Author: Linus Torvalds Date: Tue May 11 17:37:24 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: kprobes/x86: Fix removed int3 checking order perf: Fix static strings treated like dynamic ones commit 788885ae7a298dec73ba999c2fc5d46d42072ddf Author: Andrew Morton Date: Tue May 11 14:07:05 2010 -0700 drivers/gpu/drm/i915/i915_irq.c:i915_error_object_create(): use correct kmap-atomic slot i915_error_object_create() is called from the timer interrupt and hence can corrupt the KM_USER0 slot. Use KM_IRQ0 instead. Reported-by: Jaswinder Singh Rajput Tested-by: Jaswinder Singh Rajput Acked-by: Chris Wilson Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06efbeb4a47b6f865e1c9d175ab9d6e90b69ae9e Author: Oliver Neukum Date: Tue May 11 14:07:03 2010 -0700 hp_accel: fix race in device removal The work queue has to be flushed after the device has been made inaccessible. The patch closes a window during which a work queue might remain active after the device is removed and would then lead to ACPI calls with undefined behavior. Signed-off-by: Oliver Neukum Acked-by: Eric Piel Acked-by: Pavel Machek Cc: Pavel Herrmann Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3ed2a15719219769bb095b28009c1d654a419e8 Author: André Goddard Rosa Date: Tue May 11 14:07:03 2010 -0700 mqueue: fix kernel BUG caused by double free() on mq_open() In case of aborting because we reach the maximum amount of memory which can be allocated to message queues per user (RLIMIT_MSGQUEUE), we would try to free the message area twice when bailing out: first by the error handling code itself, and then later when cleaning up the inode through delete_inode(). Signed-off-by: André Goddard Rosa Cc: Alexey Dobriyan Cc: Al Viro Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de145b44b95b9d3212a82d1c0f29b09778ef33c5 Author: Michael Hennerich Date: Tue May 11 14:07:00 2010 -0700 fbdev: bfin-t350mcqb-fb: fix fbmem allocation with blanking lines The current allocation does not include the memory required for blanking lines. So avoid memory corruption when multiple devices are using the DMA memory near each other. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 747388d78a0ae768fd82b55c4ed38aa646a72364 Author: KAMEZAWA Hiroyuki Date: Tue May 11 14:06:59 2010 -0700 memcg: fix css_is_ancestor() RCU locking Some callers (in memcontrol.c) calls css_is_ancestor() without rcu_read_lock. Because css_is_ancestor() has to access RCU protected data, it should be under rcu_read_lock(). This makes css_is_ancestor() itself does safe access to RCU protected area. (At least, "root" can have refcnt==0 if it's not an ancestor of "child". So, we need rcu_read_lock().) Signed-off-by: KAMEZAWA Hiroyuki Cc: "Paul E. McKenney" Cc: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f0f15464185a92f9d8791ad231bcd7bf6df54e4 Author: KAMEZAWA Hiroyuki Date: Tue May 11 14:06:58 2010 -0700 memcg: fix css_id() RCU locking for real Commit ad4ba375373937817404fd92239ef4cadbded23b ("memcg: css_id() must be called under rcu_read_lock()") modifies memcontol.c for fixing RCU check message. But Andrew Morton pointed out that the fix doesn't seems sane and it was just for hidining lockdep messages. This is a patch for do proper things. Checking again, all places, accessing without rcu_read_lock, that commit fixies was intentional.... all callers of css_id() has reference count on it. So, it's not necessary to be under rcu_read_lock(). Considering again, we can use rcu_dereference_check for css_id(). We know css->id is valid if css->refcnt > 0. (css->id never changes and freed after css->refcnt going to be 0.) This patch makes use of rcu_dereference_check() in css_id/depth and remove unnecessary rcu-read-lock added by the commit. Signed-off-by: KAMEZAWA Hiroyuki Cc: "Paul E. McKenney" Cc: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11cad320a4f4bc53d3585c85600c782faa12b99e Author: Vitaliy Gusev Date: Tue May 11 14:06:56 2010 -0700 bsdacct: use del_timer_sync() in acct_exit_ns() acct_exit_ns --> acct_file_reopen deletes timer without check timer execution on other CPUs. So acct_timeout() can change an unmapped memory. Signed-off-by: Vitaliy Gusev Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab941e0fff3947b6dcc9c578d918d1bba54a6874 Author: Naoya Horiguchi Date: Tue May 11 14:06:55 2010 -0700 rmap: remove anon_vma check in page_address_in_vma() Currently page_address_in_vma() compares vma->anon_vma and page_anon_vma(page) for parameter check, but in 2.6.34 a vma can have multiple anon_vmas with anon_vma_chain, so current check does not work. (For anonymous page shared by multiple processes, some verified (page,vma) pairs return -EFAULT wrongly.) We can go to checking all anon_vmas in the "same_vma" chain, but it needs to meet lock requirement. Instead, we can remove anon_vma check safely because page_address_in_vma() assumes that page and vma are already checked to belong to the identical process. Signed-off-by: Naoya Horiguchi Reviewed-by: Rik van Riel Cc: Andi Kleen Cc: Andrea Arcangeli Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a6018f7f4f1075c1a5403b5ec0ee7262187b86c Author: Mel Gorman Date: Tue May 11 14:06:53 2010 -0700 hugetlbfs: kill applications that use MAP_NORESERVE with SIGBUS instead of OOM-killer Ordinarily, application using hugetlbfs will create mappings with reserves. For shared mappings, these pages are reserved before mmap() returns success and for private mappings, the caller process is guaranteed and a child process that cannot get the pages gets killed with sigbus. An application that uses MAP_NORESERVE gets no reservations and mmap() will always succeed at the risk the page will not be available at fault time. This might be used for example on very large sparse mappings where the developer is confident the necessary huge pages exist to satisfy all faults even though the whole mapping cannot be backed by huge pages. Unfortunately, if an allocation does fail, VM_FAULT_OOM is returned to the fault handler which proceeds to trigger the OOM-killer. This is unhelpful. Even without hugetlbfs mounted, a user using mmap() can trivially trigger the OOM-killer because VM_FAULT_OOM is returned (will provide example program if desired - it's a whopping 24 lines long). It could be considered a DOS available to an unprivileged user. This patch alters hugetlbfs to kill a process that uses MAP_NORESERVE where huge pages were not available with SIGBUS instead of triggering the OOM killer. This change affects hugetlb_cow() as well. I feel there is a failure case in there, but I didn't create one. It would need a fairly specific target in terms of the faulting application and the hugepage pool size. The hugetlb_no_page() path is much easier to hit but both might as well be closed. Signed-off-by: Mel Gorman Cc: Lee Schermerhorn Cc: David Rientjes Cc: Andi Kleen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 475f9aa6aa538befcbd0fa95bdebada600f247cd Author: Vitaly Mayatskikh Date: Tue May 11 14:06:51 2010 -0700 kexec: fix OOPS in crash_kernel_shrink Two "echo 0 > /sys/kernel/kexec_crash_size" OOPSes kernel. Also content of this file is invalid after first shrink to zero: it shows 1 instead of 0. This scenario is unlikely to happen often (root privs, valid crashkernel= in cmdline, dump-capture kernel not loaded), I hit it only by chance. This patch fixes it. Signed-off-by: Vitaly Mayatskikh Cc: Cong Wang Cc: Neil Horman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d586ebbb8814e039545d38f69029533f3f17748d Author: Nicolas Ferre Date: Tue May 11 14:06:50 2010 -0700 mmc: atmel-mci: fix in debugfs: response value printing In debugfs, printing of command response reports resp[2] twice: fix it to resp[3]. Signed-off-by: Nicolas Ferre Haavard Skinnemoen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abc2c9fdf636c4335a8d72ac3c5ae152bca44b68 Author: Nicolas Ferre Date: Tue May 11 14:06:50 2010 -0700 mmc: atmel-mci: remove data error interrupt after xfer Disable data error interrupts while we are actually recording that there is not such errors. This will prevent, in some cases, the warning message printed at new request queuing (in atmci_start_request()). Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 009a891b22395fc86e5f34057d79fffee4509ab5 Author: Nicolas Ferre Date: Tue May 11 14:06:49 2010 -0700 mmc: atmel-mci: prevent kernel oops while removing card The removing of an SD card in certain circumstances can lead to a kernel oops if we do not make sure that the "data" field of the host structure is valid. This patch adds a test in atmci_dma_cleanup() function and also calls atmci_stop_dma() before throwing away the reference to data. Signed-off-by: Nicolas Ferre Cc: Haavard Skinnemoen Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebb1fea9b3adf25d7e2f643c614163af4f93a17f Author: Nicolas Ferre Date: Tue May 11 14:06:48 2010 -0700 mmc: atmel-mci: fix two parameters swapped Two parameters were swapped in the calls to atmci_init_slot(). Signed-off-by: Nicolas Ferre Reported-by: Anders Grahn Cc: Haavard Skinnemoen Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34441427aab4bdb3069a4ffcda69a99357abcb2e Author: Robin Holt Date: Tue May 11 14:06:46 2010 -0700 revert "procfs: provide stack information for threads" and its fixup commits Originally, commit d899bf7b ("procfs: provide stack information for threads") attempted to introduce a new feature for showing where the threadstack was located and how many pages are being utilized by the stack. Commit c44972f1 ("procfs: disable per-task stack usage on NOMMU") was applied to fix the NO_MMU case. Commit 89240ba0 ("x86, fs: Fix x86 procfs stack information for threads on 64-bit") was applied to fix a bug in ia32 executables being loaded. Commit 9ebd4eba7 ("procfs: fix /proc//stat stack pointer for kernel threads") was applied to fix a bug which had kernel threads printing a userland stack address. Commit 1306d603f ('proc: partially revert "procfs: provide stack information for threads"') was then applied to revert the stack pages being used to solve a significant performance regression. This patch nearly undoes the effect of all these patches. The reason for reverting these is it provides an unusable value in field 28. For x86_64, a fork will result in the task->stack_start value being updated to the current user top of stack and not the stack start address. This unpredictability of the stack_start value makes it worthless. That includes the intended use of showing how much stack space a thread has. Other architectures will get different values. As an example, ia64 gets 0. The do_fork() and copy_process() functions appear to treat the stack_start and stack_size parameters as architecture specific. I only partially reverted c44972f1 ("procfs: disable per-task stack usage on NOMMU") . If I had completely reverted it, I would have had to change mm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is configured. Since I could not test the builds without significant effort, I decided to not change mm/Makefile. I only partially reverted 89240ba0 ("x86, fs: Fix x86 procfs stack information for threads on 64-bit") . I left the KSTK_ESP() change in place as that seemed worthwhile. Signed-off-by: Robin Holt Cc: Stefani Seibold Cc: KOSAKI Motohiro Cc: Michal Simek Cc: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c904afd7358e9ef515eb5df36b6f25c2b7fc2da Author: Denis Turischev Date: Tue May 11 14:06:44 2010 -0700 it8761e_gpio: fix bug in gpio numbering The SIO chip contains 16 possible gpio lines, not 14. The schematic was not read carefully. Signed-off-by: Denis Turischev Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f33d7e2d2d113a63772bbc993cdec3b5327f0ef1 Author: FUJITA Tomonori Date: Tue May 11 14:06:43 2010 -0700 dma-mapping: fix dma_sync_single_range_* dma_sync_single_range_for_cpu() and dma_sync_single_range_for_device() use a wrong address with a partial synchronization. Signed-off-by: FUJITA Tomonori Reviewed-by: Konrad Rzeszutek Wilk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45c6ceb547ad2d98215351974a4686bf8cb13e14 Author: Sage Weil Date: Tue May 11 15:01:51 2010 -0700 ceph: zero unused message header, footer fields We shouldn't leak any prior memory contents to other parties. And random data, particularly in the 'version' field, can cause problems down the line. Signed-off-by: Sage Weil commit 3d69438031b00c601c991ab447cafb7d5c3c59a6 Author: Jeff Layton Date: Tue May 11 14:59:55 2010 -0400 cifs: guard against hardlinking directories When we made serverino the default, we trusted that the field sent by the server in the "uniqueid" field was actually unique. It turns out that it isn't reliably so. Samba, in particular, will just put the st_ino in the uniqueid field when unix extensions are enabled. When a share spans multiple filesystems, it's quite possible that there will be collisions. This is a server bug, but when the inodes in question are a directory (as is often the case) and there is a collision with the root inode of the mount, the result is a kernel panic on umount. Fix this by checking explicitly for directory inodes with the same uniqueid. If that is the case, then we can assume that using server inode numbers will be a problem and that they should be disabled. Fixes Samba bugzilla 7407 Signed-off-by: Jeff Layton CC: Stable Reviewed-and-Tested-by: Suresh Jayaraman Signed-off-by: Steve French commit fc2a093e7ad23e935aa29e349bc27173c92f1a95 Merge: 9fc282b c9ff04c Author: Linus Torvalds Date: Tue May 11 10:12:18 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon: Fix 3 regressions - since buffer rework commit 9fc282baa8f743a7049e301d13cf9968ee95a91c Merge: c61ea31 de02d72 Author: Linus Torvalds Date: Tue May 11 10:11:40 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: net: Fix FDDI and TR config checks in ipv4 arp and LLC. IPv4: unresolved multicast route cleanup mac80211: remove association work when processing deauth request ar9170: wait for asynchronous firmware loading ipv4: udp: fix short packet and bad checksum logging phy: Fix initialization in micrel driver. sctp: Fix a race between ICMP protocol unreachable and connect() veth: Dont kfree_skb() after dev_forward_skb() IPv6: fix IPV6_RECVERR handling of locally-generated errors net/gianfar: drop recycled skbs on MTU change iwlwifi: work around passive scan issue commit c61ea31dac0319ec64b33725917bda81fc293a25 Author: David Howells Date: Tue May 11 16:51:39 2010 +0100 CacheFiles: Fix occasional EIO on call to vfs_unlink() Fix an occasional EIO returned by a call to vfs_unlink(): [ 4868.465413] CacheFiles: I/O Error: Unlink failed [ 4868.465444] FS-Cache: Cache cachefiles stopped due to I/O error [ 4947.320011] CacheFiles: File cache on md3 unregistering [ 4947.320041] FS-Cache: Withdrawing cache "mycache" [ 5127.348683] FS-Cache: Cache "mycache" added (type cachefiles) [ 5127.348716] CacheFiles: File cache on md3 registered [ 7076.871081] CacheFiles: I/O Error: Unlink failed [ 7076.871130] FS-Cache: Cache cachefiles stopped due to I/O error [ 7116.780891] CacheFiles: File cache on md3 unregistering [ 7116.780937] FS-Cache: Withdrawing cache "mycache" [ 7296.813394] FS-Cache: Cache "mycache" added (type cachefiles) [ 7296.813432] CacheFiles: File cache on md3 registered What happens is this: (1) A cached NFS file is seen to have become out of date, so NFS retires the object and immediately acquires a new object with the same key. (2) Retirement of the old object is done asynchronously - so the lookup/create to generate the new object may be done first. This can be a problem as the old object and the new object must exist at the same point in the backing filesystem (i.e. they must have the same pathname). (3) The lookup for the new object sees that a backing file already exists, checks to see whether it is valid and sees that it isn't. It then deletes that file and creates a new one on disk. (4) The retirement phase for the old file is then performed. It tries to delete the dentry it has, but ext4_unlink() returns -EIO because the inode attached to that dentry no longer matches the inode number associated with the filename in the parent directory. The trace below shows this quite well. [md5sum] ==> __fscache_relinquish_cookie(ffff88002d12fb58{NFS.fh,ffff88002ce62100},1) [md5sum] ==> __fscache_acquire_cookie({NFS.server},{NFS.fh},ffff88002ce62100) NFS has retired the old cookie and asked for a new one. [kslowd] ==> fscache_object_state_machine({OBJ52,OBJECT_ACTIVE,24}) [kslowd] <== fscache_object_state_machine() [->OBJECT_DYING] [kslowd] ==> fscache_object_state_machine({OBJ53,OBJECT_INIT,0}) [kslowd] <== fscache_object_state_machine() [->OBJECT_LOOKING_UP] [kslowd] ==> fscache_object_state_machine({OBJ52,OBJECT_DYING,24}) [kslowd] <== fscache_object_state_machine() [->OBJECT_RECYCLING] The old object (OBJ52) is going through the terminal states to get rid of it, whilst the new object - (OBJ53) - is coming into being. [kslowd] ==> fscache_object_state_machine({OBJ53,OBJECT_LOOKING_UP,0}) [kslowd] ==> cachefiles_walk_to_object({ffff88003029d8b8},OBJ53,@68,) [kslowd] lookup '@68' [kslowd] next -> ffff88002ce41bd0 positive [kslowd] advance [kslowd] lookup 'Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA' [kslowd] next -> ffff8800369faac8 positive The new object has looked up the subdir in which the file would be in (getting dentry ffff88002ce41bd0) and then looked up the file itself (getting dentry ffff8800369faac8). [kslowd] validate 'Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA' [kslowd] ==> cachefiles_bury_object(,'@68','Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA') [kslowd] remove ffff8800369faac8 from ffff88002ce41bd0 [kslowd] unlink stale object [kslowd] <== cachefiles_bury_object() = 0 It then checks the file's xattrs to see if it's valid. NFS says that the auxiliary data indicate the file is out of date (obvious to us - that's why NFS ditched the old version and got a new one). CacheFiles then deletes the old file (dentry ffff8800369faac8). [kslowd] redo lookup [kslowd] lookup 'Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA' [kslowd] next -> ffff88002cd94288 negative [kslowd] create -> ffff88002cd94288{ffff88002cdaf238{ino=148247}} CacheFiles then redoes the lookup and gets a negative result in a new dentry (ffff88002cd94288) which it then creates a file for. [kslowd] ==> cachefiles_mark_object_active(,OBJ53) [kslowd] <== cachefiles_mark_object_active() = 0 [kslowd] === OBTAINED_OBJECT === [kslowd] <== cachefiles_walk_to_object() = 0 [148247] [kslowd] <== fscache_object_state_machine() [->OBJECT_AVAILABLE] The new object is then marked active and the state machine moves to the available state - at which point NFS can start filling the object. [kslowd] ==> fscache_object_state_machine({OBJ52,OBJECT_RECYCLING,20}) [kslowd] ==> fscache_release_object() [kslowd] ==> cachefiles_drop_object({OBJ52,2}) [kslowd] ==> cachefiles_delete_object(,OBJ52{ffff8800369faac8}) The old object, meanwhile, goes on with being retired. If allocation occurs first, cachefiles_delete_object() has to wait for dir->d_inode->i_mutex to become available before it can continue. [kslowd] ==> cachefiles_bury_object(,'@68','Es0g00og0_Nd_XCYe3BOzvXrsBLMlN6aw16M1htaA') [kslowd] remove ffff8800369faac8 from ffff88002ce41bd0 [kslowd] unlink stale object EXT4-fs warning (device sda6): ext4_unlink: Inode number mismatch in unlink (148247!=148193) CacheFiles: I/O Error: Unlink failed FS-Cache: Cache cachefiles stopped due to I/O error CacheFiles then tries to delete the file for the old object, but the dentry it has (ffff8800369faac8) no longer points to a valid inode for that directory entry, and so ext4_unlink() returns -EIO when de->inode does not match i_ino. [kslowd] <== cachefiles_bury_object() = -5 [kslowd] <== cachefiles_delete_object() = -5 [kslowd] <== fscache_object_state_machine() [->OBJECT_DEAD] [kslowd] ==> fscache_object_state_machine({OBJ53,OBJECT_AVAILABLE,0}) [kslowd] <== fscache_object_state_machine() [->OBJECT_ACTIVE] (Note that the above trace includes extra information beyond that produced by the upstream code). The fix is to note when an object that is being retired has had its object deleted preemptively by a replacement object that is being created, and to skip the second removal attempt in such a case. Reported-by: Greg M Reported-by: Mark Moseley Reported-by: Romain DEGEZ Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 7d6fb7bd1919517937ec390f6ca2d7bcf4f89fb6 Author: Alex Chiang Date: Tue May 11 10:21:38 2010 -0600 ACPI: sleep: eliminate duplicate entries in acpisleep_dmi_table[] Duplicate entries ended up acpisleep_dmi_table[] by accident. They don't hurt functionality, but they are ugly, so let's get rid of them. Cc: stable@kernel.org Signed-off-by: Alex Chiang Signed-off-by: Linus Torvalds commit 9abf82b8bc93dd904738a71ca69aa5df356d4d24 Author: Sage Weil Date: Mon May 10 21:58:38 2010 -0700 ceph: fix locking for waking session requests after reconnect The session->s_waiting list is protected by mdsc->mutex, not s_mutex. This was causing (rare) s_waiting list corruption. Fix errors paths too, while we're here. A more thorough cleanup of this function is coming soon. Signed-off-by: Sage Weil commit d85b705663905b3dae30007f824355bdcfcf3f00 Author: Sage Weil Date: Mon May 10 10:24:48 2010 -0700 ceph: resubmit requests on pg mapping change (not just primary change) OSD requests need to be resubmitted on any pg mapping change, not just when the pg primary changes. Resending only when the primary changes results in occasional 'hung' requests during osd cluster recovery or rebalancing. Signed-off-by: Sage Weil commit 04d000eb358919043da538f197d63f2a5924a525 Author: Sage Weil Date: Fri May 7 11:26:34 2010 -0700 ceph: fix open file counting on snapped inodes when mds returns no caps It's possible the MDS will not issue caps on a snapped inode, in which case an open request may not __ceph_get_fmode(), botching the open file counting. (This is actually a server bug, but the client shouldn't BUG out in this case.) Signed-off-by: Sage Weil commit 0ceed5db321ac0f9782e77dda476ebe28a8e2199 Author: Sage Weil Date: Tue May 11 09:53:18 2010 -0700 ceph: unregister osd request on failure The osd request wasn't being unregistered when the osd returned a failure code, even though the result was returned to the caller. This would cause it to eventually time out, and then crash the kernel when it tried to resend the request using a stale page vector. Signed-off-by: Sage Weil commit 0559a538899d48e7d730affb9df2abb13a7d9008 Author: Henrik Rydberg Date: Tue May 11 09:17:47 2010 +0200 hwmon: (applesmc) Correct sysfs fan error handling The current code will not remove the sysfs files for fan numbers three and up. Also, upon exit, fans one and two are removed regardless of their existence. This patch cleans up the sysfs error handling for the fans. Signed-off-by: Henrik Rydberg Signed-off-by: Jean Delvare commit d1bf8cf6b911001d50f2079c158cb5dd9782e187 Author: Ken Milmore Date: Tue May 11 09:17:46 2010 +0200 hwmon: (asc7621) Bug fixes * Allow fan minimum RPM to be set to zero without triggering alarms. * Fix voltage scaling arithmetic and correct scale factors. * Correct fan1-fan4 alarm bit shifts. * Correct register address for temp3_smoothing_enable. * Read the alarm registers with high priority. Signed-off-by: Ken Milmore Signed-off-by: Jean Delvare commit 829e92458532b1dbfeb972435d45bb060cdbf5a3 Author: Masami Hiramatsu Date: Tue Apr 27 18:33:49 2010 -0400 kprobes/x86: Fix removed int3 checking order Fix kprobe/x86 to check removed int3 when failing to get kprobe from hlist. Since we have a time window between checking int3 exists on probed address and getting kprobe on that address, we can have following scenario: ------- CPU1 CPU2 hit int3 check int3 exists remove int3 remove kprobe from hlist get kprobe from hlist no kprobe->OOPS! ------- This patch moves int3 checking if there is no kprobe on that address for fixing this problem as follows: ------ CPU1 CPU2 hit int3 remove int3 remove kprobe from hlist get kprobe from hlist no kprobe->check int3 exists ->rollback&retry ------ Signed-off-by: Masami Hiramatsu Acked-by: Ananth N Mavinakayanahalli Cc: systemtap Cc: DLE Cc: Dave Anderson Cc: Peter Zijlstra Cc: Mike Galbraith Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <20100427223348.2322.9112.stgit@localhost6.localdomain6> Signed-off-by: Ingo Molnar commit de068ec048f807d4f62b7dda100c23a1365f086f Author: Frederic Weisbecker Date: Wed May 5 22:07:39 2010 +0200 perf: Fix static strings treated like dynamic ones The raw_field_ptr() helper, used to retrieve the address of a field inside a trace event, treats every strings as if they were dynamic ie: having a secondary level of indirection to retrieve their contents. FIELD_IS_STRING doesn't mean FIELD_IS_DYNAMIC, we only need to compute the secondary dereference for the latter case. This fixes perf sched segfaults, bad cmdline report and may be some other bugs. Reported-by: Jason Baron Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Tom Zanussi commit 26ebe0a28986f4845b2c5bea43ac5cc0b9f27f0a Author: Takashi Iwai Date: Tue May 11 08:36:29 2010 +0200 ALSA: hda - Fix mute-LED GPIO pin for HP dv series Old HP dv series seem to use the GPIO pin 0 for controlling the mute LED although the pin is a large package, where the newer models use GPIO 3 in such a case. For fixing the regression from the previous kernels, set spec->gpio_led statically for these model quirks. Signed-off-by: Takashi Iwai commit 0ebf9e3692d640917fb792a7494d05e1f5b1058f Author: Daniel T Chen Date: Mon May 10 21:50:04 2010 +0200 ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice) Reference: http://mailman.alsa-project.org/pipermail/alsa-devel/2010-May/027525.html As reported on the mailing list, we also need to cap to the 0 dB offset for Lenovo models, else the sound will be distorted. Reported-and-Tested-by: Tim Starling Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 513d8be9883fe0a7a73d216c7cecd20e7c9effda Author: Marek Vasut Date: Mon May 10 15:35:11 2010 -0700 Input: iforce - fix Guillemot Jet Leader 3D entry USB ID entry for "Guillemot Jet Leader 3D" in iforce-main.c did not match one used in iforce-usb.c Signed-off-by: Marek Vasut Signed-off-by: Dmitry Torokhov commit d861f7bf14808b9f457cb32c34585e97df60f140 Author: Marek Vasut Date: Mon May 10 15:35:11 2010 -0700 Input: iforce - add Guillemot Jet Leader Force Feedback This device features a RUDDER on the knob. Signed-off-by: Marek Vasut Signed-off-by: Dmitry Torokhov commit de02d72bb3cc5b3d4c873db4ca8291723dd48479 Merge: f0ecde1 79733a8 Author: David S. Miller Date: Mon May 10 22:53:41 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit c9ff04c941d2cd87d27496d7fee8923238bb2ebb Author: Jean Delvare Date: Tue May 11 14:01:45 2010 +1000 drm/radeon: Fix 3 regressions - since buffer rework Commit b4fe945405e477cded91772b4fec854705443dd5 introduced 3 bugs, fix them: * Use the right command dword for second packet offset in RADEON_CNTL_PAINT/BITBLT_MULTI. * Don't leak memory if drm_buffer_copy_from_user() fails. * Don't call drm_buffer_unprocessed() unless drm_buffer_alloc() and drm_buffer_copy_from_user() have been called successfully first. Signed-off-by: Jean Delvare Cc: Pauli Nieminen Signed-off-by: Dave Airlie commit 94b849aaf6e22ab7bf54b0d0377a882d4892396d Merge: f742246 482c453 Author: Linus Torvalds Date: Mon May 10 09:48:27 2010 -0700 Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard" ALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec ALSA: hda - fix DG45ID SPDIF output commit f7422464b57088071201cd94027662d8469f153b Author: Ian Kent Date: Mon May 10 16:46:08 2010 +0800 autofs4-2.6.34-rc1 - fix link_count usage After commit 1f36f774b2 ("Switch !O_CREAT case to use of do_last()") in 2.6.34-rc1 autofs direct mounts stopped working. This is caused by current->link_count being 0 when ->follow_link() is called from do_filp_open(). I can't work out why this hasn't been seen before Als patch series. This patch removes the autofs dependence on current->link_count. Signed-off-by: Ian Kent Cc: Al Viro Signed-off-by: Linus Torvalds commit b77b907fae863f3bc546a336a8bc5e660d371788 Merge: b57f95a fde4e2f Author: Linus Torvalds Date: Mon May 10 09:44:53 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: fix suspend crash by moving initializations earlier HID: sony: fix sony_set_operational_bt HID: ntrig: Remove unused macro, TripleTap and QuadTap HID: ntrig: TipSwitch for single touch mode touch. HID: hidraw: fix numbered reports HID: wacom: remove annoying non-error printk HID: ntrig: Emit TOUCH with DOUBLETAP for single touch HID: add support for cymotion master solar keyboard HID: ntrig: explain firmware quirk HID: fix N-trig touch panel with recent firmware commit 482c45331519524e4aeaf8a9084a445500822b85 Author: Stefan Lippers-Hollmann Date: Mon May 10 17:14:34 2010 +0200 ALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard" This reverts commit 7aee67466536bbf8bb44a95712c848a61c5a0acd. As it doesn't seem to be universally valid for all mainboard revisions of the D945GCLF2 and breaks snd-hda-intel/ snd-hda-codec-realtek on the Intel Corporation "D945GCLF2" (LF94510J.86A.0229.2009.0729.0209) mainboard. 00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 01) Signed-off-by: Stefan Lippers-Hollmann Cc: [2.6.33] Signed-off-by: Takashi Iwai commit f0ecde1466f21edf577b809735f4f35f354777a0 Author: David S. Miller Date: Mon May 10 04:59:07 2010 -0700 net: Fix FDDI and TR config checks in ipv4 arp and LLC. Need to check both CONFIG_FOO and CONFIG_FOO_MODULE Signed-off-by: David S. Miller commit bbd725435ddb1cac732f7a8c23c21ff67f24c60f Author: Andreas Meissner Date: Mon May 10 04:47:49 2010 -0700 IPv4: unresolved multicast route cleanup Fixes the expiration timer for unresolved multicast route entries. In case new multicast routing requests come in faster than the expiration timeout occurs (e.g. zap through multicast TV streams), the timer is prevented from being called at time for already existing entries. As the single timer is resetted to default whenever a new entry is made, the timeout for existing unresolved entires are missed and/or not updated. As a consequence new requests are denied when the limit of unresolved entries has been reached because old entries live longer than they are supposed to. The solution is to reset the timer only for the first unresolved entry in the multicast routing cache. All other timers are already set and updated correctly within the timer function itself by now. Signed-off by: Andreas Meissner Signed-off-by: David S. Miller commit 0217f1499cf880d93c64579b2943e9382d8c2c21 Author: Andrej Gelenberg Date: Sun May 9 22:10:41 2010 +0200 ALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec Ideapad quirks working for my ThinkPad X100e (microphone is not tested). Signed-off-by: Andrej Gelenberg Signed-off-by: Takashi Iwai commit b57f95a38233a2e73b679bea4a5453a1cc2a1cc9 Author: Linus Torvalds Date: Sun May 9 18:36:28 2010 -0700 Linux 2.6.34-rc7 commit 93cb463141d50e4c6a574efc2c6e4d6d76ffed77 Merge: 1c6fe03 77a4229 Author: Linus Torvalds Date: Sun May 9 18:35:53 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 I/O error [SCSI] Enable retries for SYNCRONIZE_CACHE commands to fix I/O error [SCSI] scsi_debug: virtual_gb ignores sector_size [SCSI] libiscsi: regression: fix header digest errors [SCSI] fix locking around blk_abort_request() [SCSI] advansys: fix narrow board error path commit 1c6fe0364fa7bf28248488753ee0afb6b759cd04 Author: Arjan van de Ven Date: Sat May 8 15:47:37 2010 -0700 cpuidle: Fix incorrect optimization commit 672917dcc78 ("cpuidle: menu governor: reduce latency on exit") added an optimization, where the analysis on the past idle period moved from the end of idle, to the beginning of the new idle. Unfortunately, this optimization had a bug where it zeroed one key variable for new use, that is needed for the analysis. The fix is simple, zero the variable after doing the work from the previous idle. During the audit of the code that found this issue, another issue was also found; the ->measured_us data structure member is never set, a local variable is always used instead. Signed-off-by: Arjan van de Ven Cc: Corrado Zoccolo Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit e814d826dc1821dbce3aa1ddb7f2f739f420ffd8 Author: Catalin Marinas Date: Fri May 7 10:52:32 2010 +0100 ARM: 6110/1: Fix Thumb-2 kernel builds when UACCESS_WITH_MEMCPY is enabled The patch adds the ENDPROC declarations for the __copy_to_user_std and __clear_user_std functions. Without these, the compiler generates BXL to ARM when compiling the kernel in Thumb-2 mode. Reported-by: Kyungmin Park Tested-by: Kyungmin Park Signed-off-by: Catalin Marinas Acked-by: Nicolas Pitre Signed-off-by: Russell King commit b8349b569aae661dea9d59d7d2ee587ccea3336c Author: Catalin Marinas Date: Fri May 7 18:03:05 2010 +0100 ARM: 6112/1: Use the Inner Shareable I-cache and BTB ops on ARMv7 SMP The standard I-cache Invalidate All (ICIALLU) and Branch Predication Invalidate All (BPIALL) operations are not automatically broadcast to the other CPUs in an ARMv7 MP system. The patch adds the Inner Shareable variants, ICIALLUIS and BPIALLIS, if ARMv7 and SMP. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit f4d6477f7f073b99220386d62f5bf54bec3482cc Author: Catalin Marinas Date: Fri May 7 16:26:24 2010 +0100 ARM: 6111/1: Implement read/write for ownership in the ARMv6 DMA cache ops The Snoop Control Unit on the ARM11MPCore hardware does not detect the cache operations and the dma_cache_maint*() functions may leave stale cache entries on other CPUs. The solution implemented in this patch performs a Read or Write For Ownership in the ARMv6 DMA cache maintenance functions. These LDR/STR instructions change the cache line state to shared or exclusive so that the cache maintenance operation has the desired effect. Tested-by: George G. Davis Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit b5a07faadeb4e0cfd6dcee359e501d4755cab875 Author: Catalin Marinas Date: Thu May 6 15:15:28 2010 +0100 ARM: 6106/1: Implement copy_to_user_page() for noMMU Commit 7959722 introduced calls to copy_(to|from)_user_page() from access_process_vm() in mm/nommu.c. The copy_to_user_page() was not implemented on noMMU ARM. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit b1a9ceb2e003aab7b96e30d990c1092453a0ea44 Author: Catalin Marinas Date: Thu May 6 15:14:09 2010 +0100 ARM: 6105/1: Fix the __arm_ioremap_caller() definition in nommu.c Commit 31aa8fd6 introduced the __arm_ioremap_caller() function but the nommu.c version did not have the _caller suffix. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit fde4e2f73208b8f34f123791e39c0cb6bc74b32a Author: Alan Stern Date: Fri May 7 10:41:10 2010 -0400 HID: fix suspend crash by moving initializations earlier Although the usbhid driver allocates its usbhid structure in the probe routine, several critical fields in that structure don't get initialized until usbhid_start(). However if report descriptor parsing fails then usbhid_start() is never called. This leads to problems during system suspend -- the system will freeze. This patch (as1378) fixes the bug by moving the initialization statements up into usbhid_probe(). Signed-off-by: Alan Stern Reported-by: Bruno Prémont Tested-By: Bruno Prémont Signed-off-by: Jiri Kosina commit f1c448e0a9e99c76f4ece368714fb35a40a8daba Merge: 2c32b1d 1176568 Author: Linus Torvalds Date: Fri May 7 14:11:40 2010 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: restore ability of spare drives to spin down. md/raid6: Fix raid-6 read-error correction in degraded state commit 2c32b1dab508ccaa4aea1a9d6047b65fc708e929 Merge: 48fe37c 15d0a87 Author: Linus Torvalds Date: Fri May 7 14:11:09 2010 -0700 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: fix compilation after 16bit state locking changes pcmcia: order userspace suspend and resume requests pcmcia: avoid pccard_validate_cis failure in resume callpath commit 48fe37cb53a40e13c2f9fc974f574e38d18be303 Merge: e33b3e7 0341509 Author: Linus Torvalds Date: Fri May 7 14:07:20 2010 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: blk-cgroup: Fix an RCU warning in blkiocg_create() blk-cgroup: Fix RCU correctness warning in cfq_init_queue() drbd: don't expose failed local READ to upper layers commit e33b3e7567f8636c61e79ff1da5ff9a6cf6562c7 Merge: e2dbe06 8cfe92d Author: Linus Torvalds Date: Fri May 7 14:02:01 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/ttm: Remove the ttm_bo_block_reservation() function. drm/ttm: Remove some leftover debug messages. drm/radeon: async event synchronization for drmWaitVblank commit e2dbe06c271f3bb2a495627980aad3d1d8ccef2a Author: Stijn Tintel Date: Fri May 7 14:28:34 2010 +0930 virtio: initialize earlier Move initialization of the virtio framework before the initialization of mtd, so that block2mtd can be used on virtio-based block devices. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=15644 Signed-off-by: Stijn Tintel Signed-off-by: Rusty Russell Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 91677467163b847f1a5497789a893ada97f375b6 Merge: 4a22533 17d2c0a Author: Linus Torvalds Date: Fri May 7 13:59:48 2010 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: Fix RCU issues in the NFSv4 delegation code NFSv4: Fix the locking in nfs_inode_reclaim_delegation() commit 4a2253313653bcc4126287818b676f95ac26dc09 Merge: 417a9ef 1468cf0 Author: Linus Torvalds Date: Fri May 7 13:59:22 2010 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: sleep: init_set_sci_en_on_resume for Dell Studio 155x ACPI: fix acpi_hest_firmware_first_pci() caused oops sbshc: acpi_device_class "smbus_host_controller" too long power_meter: acpi_device_class "power_meter_resource" too long acpi_pad: "processor_aggregator" name too long PNP: don't check for conflicts with bridge windows ACPI: DMI init_set_sci_en_on_resume for multiple Lenovo ThinkPads PNPACPI: compute Address Space length rather than using _LEN ACPI: silence kmemcheck false positive commit 417a9ef1f488e3cf92bacc4999e1cbabc0e7cf1a Merge: 91bc482 a47f6be Author: Linus Torvalds Date: Fri May 7 13:58:56 2010 -0700 Merge branch 'v4l_for_2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'v4l_for_2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB: pxa_camera: move fifo reset direct before dma start V4L/DVB: video: testing unsigned for less than 0 V4L/DVB: mx1-camera: compile fix V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" V4L/DVB: ngene: Workaround for stuck DiSEqC pin V4L/DVB: saa7146: fix regression of the av7110/budget-av driver V4L/DVB: v4l: fix config dependencies: mxb and saa7191 are V4L2 drivers, not V4L1 V4L/DVB: feature-removal: announce videotext.h removal V4L/DVB: V4L - vpfe capture - fix for kernel crash V4L/DVB: gspca: make usb id 0461:0815 get handled by the right driver V4L/DVB: gspca - stv06xx: Remove the 046d:08da from the stv06xx driver V4L/DVB: gspca - sn9c20x: Correct onstack wait_queue_head declaration V4L/DVB: saa7146: fix up bytesperline if it is an impossible value V4L/DVB: V4L: vpfe_capture - free ccdc_lock when memory allocation fails V4L/DVB: V4L - Makfile:Removed duplicate entry of davinci V4L/DVB: omap24xxcam: potential buffer overflow commit 91bc482ec5a615e8ecebc106aaf7d0c267d511de Merge: e8e8fad ee84b82 Author: Linus Torvalds Date: Fri May 7 13:58:21 2010 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: create rcu_my_thread_group_empty() wrapper memcg: css_id() must be called under rcu_read_lock() cgroup: Check task_lock in task_subsys_state() sched: Fix an RCU warning in print_task() cgroup: Fix an RCU warning in alloc_css_id() cgroup: Fix an RCU warning in cgroup_path() KEYS: Fix an RCU warning in the reading of user keys KEYS: Fix an RCU warning commit 79733a865c7fd778ce45e3503962b3a875b0a153 Author: Reinette Chatre Date: Tue May 4 16:04:49 2010 -0700 mac80211: remove association work when processing deauth request In https://bugzilla.kernel.org/show_bug.cgi?id=15794 a user encountered the following: [18967.469098] wlan0: authenticated [18967.472527] wlan0: associate with 00:1c:10:b8:e3:ea (try 1) [18967.472585] wlan0: deauthenticating from 00:1c:10:b8:e3:ea by local choice (reason=3) [18967.672057] wlan0: associate with 00:1c:10:b8:e3:ea (try 2) [18967.872357] wlan0: associate with 00:1c:10:b8:e3:ea (try 3) [18968.072960] wlan0: association with 00:1c:10:b8:e3:ea timed out [18968.076890] ------------[ cut here ]------------ [18968.076898] WARNING: at net/wireless/mlme.c:341 cfg80211_send_assoc_timeout+0xa8/0x140() [18968.076900] Hardware name: GX628 [18968.076924] Pid: 1408, comm: phy0 Not tainted 2.6.34-rc4-00082-g250541f-dirty #3 [18968.076926] Call Trace: [18968.076931] [] ? warn_slowpath_common+0x6e/0xb0 [18968.076934] [] ? cfg80211_send_assoc_timeout+0xa8/0x140 [18968.076937] [] ? mod_timer+0x10b/0x180 [18968.076940] [] ? ieee80211_assoc_done+0xbc/0xc0 [18968.076943] [] ? ieee80211_work_work+0x553/0x11c0 [18968.076945] [] ? finish_task_switch+0x41/0xb0 [18968.076948] [] ? ieee80211_work_work+0x0/0x11c0 [18968.076951] [] ? worker_thread+0x13b/0x210 [18968.076954] [] ? autoremove_wake_function+0x0/0x30 [18968.076956] [] ? worker_thread+0x0/0x210 [18968.076959] [] ? kthread+0x8e/0xa0 [18968.076962] [] ? kernel_thread_helper+0x4/0x10 [18968.076964] [] ? kthread+0x0/0xa0 [18968.076966] [] ? kernel_thread_helper+0x0/0x10 [18968.076968] ---[ end trace 8aa6265f4b1adfe0 ]--- As explained by Johannes Berg : We authenticate successfully, and then userspace requests association. Then we start that process, but the AP doesn't respond. While we're still waiting for an AP response, userspace asks for a deauth. We do the deauth, but don't abort the association work. Then once the association work times out we tell cfg80211, but it no longer wants to know since for all it is concerned we accepted the deauth that also kills the association attempt. Fix this by, upon receipt of deauth request, removing the association work and continuing to send the deauth. Unfortunately the user reporting the issue is not able to reproduce this problem anymore and cannot verify this fix. This seems like a well understood issue though and I thus present the patch. Bug-identified-by: Johannes Berg Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit 160b82420ab41f1e67fbf2e56dc587837ef39ce0 Author: Christian Lamparter Date: Thu Apr 29 17:53:33 2010 +0200 ar9170: wait for asynchronous firmware loading This patch fixes a regression introduced by the following patch: "ar9170: load firmware asynchronously" When we kick off a firmware loading request and then unbind, or disconnect the usb device right away, we get into trouble: > ------------[ cut here ]------------ > WARNING: at lib/kref.c:44 kref_get+0x1c/0x20() > Hardware name: 18666GU > Modules linked in: ar9170usb [...] > Pid: 6588, comm: firmware/ar9170 Not tainted 2.6.34-rc5-wl #43 > Call Trace: > [] ? warn_slowpath_common+0x6e/0xb0 > [] ? kref_get+0x1c/0x20 > [] ? warn_slowpath_null+0x13/0x20 > [] ? kref_get+0x1c/0x20 > [] ? kobject_get+0xf/0x20 > [] ? get_device+0x10/0x20 > [] ? device_add+0x60/0x530 > [] ? kobject_init+0x25/0xa0 > [] ? _request_firmware+0x139/0x3e0 > [] ? request_firmware_work_func+0x20/0x70 > [] ? request_firmware_work_func+0x0/0x70 > [] ? kthread+0x74/0x80 > [] ? kthread+0x0/0x80 > [] ? kernel_thread_helper+0x6/0x10 >---[ end trace 2d50bd818f64a1b7 ]--- - followed by a random Oops - Avoid that by waiting for the firmware loading to finish (whether successfully or not) before the unbind in ar9170_usb_disconnect. Reported-by: Johannes Berg Bug-fixed-by: Johannes Berg Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 1176568de7e066c0be9e46c37503b9fd4730edcf Author: NeilBrown Date: Fri May 7 19:44:26 2010 +1000 md: restore ability of spare drives to spin down. Some time ago we stopped the clean/active metadata updates from being written to a 'spare' device in most cases so that it could spin down and say spun down. Device failure/removal etc are still recorded on spares. However commit 51d5668cb2e3fd1827a55 broke this 50% of the time, depending on whether the event count is even or odd. The change log entry said: This means that the alignment between 'odd/even' and 'clean/dirty' might take a little longer to attain, how ever the code makes no attempt to create that alignment, so it could take arbitrarily long. So when we find that clean/dirty is not aligned with odd/even, force a second metadata-update immediately. There are already cases where a second metadata-update is needed immediately (e.g. when a device fails during the metadata update). We just piggy-back on that. Reported-by: Joe Bryant Signed-off-by: NeilBrown Cc: stable@kernel.org commit 87aa63000c484bfb9909989316f615240dfee018 Author: Gabriele A. Trombetti Date: Wed Apr 28 11:51:17 2010 +1000 md/raid6: Fix raid-6 read-error correction in degraded state Fix: Raid-6 was not trying to correct a read-error when in singly-degraded state and was instead dropping one more device, going to doubly-degraded state. This patch fixes this behaviour. Tested-by: Janos Haar Signed-off-by: Gabriele A. Trombetti Reported-by: Janos Haar Signed-off-by: NeilBrown Cc: stable@kernel.org commit 4d26f44657915f082806abfe3624aeded4c121fa Author: Wu Fengguang Date: Fri May 7 08:47:54 2010 +0800 ALSA: hda - fix DG45ID SPDIF output This reverts part of commit 52dc438606d1e, in order to fix a regression: broken SPDIF output on Intel DG45FC motherboard (IDT 92HD73E1X5 codec). --- DG45FC-IDT-codec-2.6.32 (SPDIF OK) +++ DG45FC-IDT-codec-2.6.33 (SPDIF broken) Node 0x22 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x00000010: OUT - Pin Default 0x40f000f0: [N/A] Other at Ext N/A - Conn = Unknown, Color = Unknown - DefAssociation = 0xf, Sequence = 0x0 - Pin-ctls: 0x00: + Pin Default 0x014510a0: [Jack] SPDIF Out at Ext Rear + Conn = Optical, Color = Black + DefAssociation = 0xa, Sequence = 0x0 + Pin-ctls: 0x40: OUT Connection: 3 0x25* 0x20 0x21 Node 0x23 [Pin Complex] wcaps 0x400301: Stereo Digital Pincap 0x00000010: OUT - Pin Default 0x01451140: [Jack] SPDIF Out at Ext Rear + Pin Default 0x074510b0: [Jack] SPDIF Out at Ext Rear Panel Conn = Optical, Color = Black - DefAssociation = 0x4, Sequence = 0x0 - Misc = NO_PRESENCE - Pin-ctls: 0x40: OUT + DefAssociation = 0xb, Sequence = 0x0 + Pin-ctls: 0x00: Connection: 3 0x26* 0x20 0x21 Cc: Cc: Alexey Fisher Tested-by: David Härdeman Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 0341509fdfc9519f7de6aabc5dd23217cef72b73 Author: Li Zefan Date: Fri May 7 08:57:00 2010 +0200 blk-cgroup: Fix an RCU warning in blkiocg_create() with CONFIG_PROVE_RCU=y, a warning can be triggered: # mount -t cgroup -o blkio xxx /mnt # mkdir /mnt/subgroup ... kernel/cgroup.c:4442 invoked rcu_dereference_check() without protection! ... To fix this, we avoid caling css_depth() here, which is a bit simpler than the original code. Signed-off-by: Li Zefan Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit ccc2d97cb7c798e785c9f198de243e2b59f7073b Author: Bjørn Mork Date: Thu May 6 03:44:34 2010 +0000 ipv4: udp: fix short packet and bad checksum logging commit 2783ef23 moved the initialisation of saddr and daddr after pskb_may_pull() to avoid a potential data corruption. Unfortunately also placing it after the short packet and bad checksum error paths, where these variables are used for logging. The result is bogus output like [92238.389505] UDP: short packet: From 2.0.0.0:65535 23715/178 to 0.0.0.0:65535 Moving the saddr and daddr initialisation above the error paths, while still keeping it after the pskb_may_pull() to keep the fix from commit 2783ef23. Signed-off-by: Bjørn Mork Cc: stable@kernel.org Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 1468cf0542663f873410b83d8bb61ae779e3a845 Merge: f238b41 5cc4a0f ea5bc73 11439a6 4bdae98 Author: Len Brown Date: Thu May 6 22:04:31 2010 -0400 Merge branches 'bugzilla-14337', 'bugzilla-14998', 'bugzilla-15407', 'bugzilla-15903' and 'misc-2.6.34' into release commit 8cfe92d683a0041ac8e016a0b0a487c99a78f6c1 Author: Thomas Hellstrom Date: Wed Apr 28 11:33:25 2010 +0200 drm/ttm: Remove the ttm_bo_block_reservation() function. It's unused and buggy in its current form, since it can place a bo in the reserved state without removing it from lru lists. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 5be6eff965aee22181d7f6210c2c463420e94e03 Author: Thomas Hellstrom Date: Wed Apr 28 11:33:24 2010 +0200 drm/ttm: Remove some leftover debug messages. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie commit 4fa07bf146aaee1e8409d35ab08624041c2e3867 Author: Jerome Glisse Date: Thu May 6 18:52:14 2010 +0200 drm/radeon: async event synchronization for drmWaitVblank Bring radeon up to speed with the async event synchronization for drmWaitVblank. See c9a9c5e02aedc1a2815877b0268f886d2640b771 for more information. Without this patch event never get delivered to userspace client. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit a47f6be45670465d45a3d27f7ff71986bd35d6c4 Author: Stefan Herbrechtsmeier Date: Tue Apr 20 03:51:29 2010 -0300 V4L/DVB: pxa_camera: move fifo reset direct before dma start Move the fifo reset from pxa_camera_start_capture to pxa_camera_irq direct before the dma start after an end of frame interrupt to prevent images from shifting because of old data at the begin of the frame. Signed-off-by: Stefan Herbrechtsmeier Acked-by: Robert Jarzmik Tested-by: Antonio Ospite Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 981cbef2c30ee82d6011bb2ef50461f6a074de71 Author: Dan Carpenter Date: Wed Apr 7 06:41:14 2010 -0300 V4L/DVB: video: testing unsigned for less than 0 soc_mbus_bytes_per_line() returns -EINVAL on error but we store it in an unsigned int so the test for less than zero doesn't work. I think it always returns "small" positive values so we can just cast it to int here. Signed-off-by: Dan Carpenter Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit b7d41d6d580743b1fed1b9560d948c9ef58564bd Author: Uwe Kleine-König Date: Sat Mar 27 18:42:13 2010 -0300 V4L/DVB: mx1-camera: compile fix This fixes a regression of 7d58289 (mx1: prefix SOC specific defines with MX1_ and deprecate old names) Signed-off-by: Uwe Kleine-König Acked-by: Sascha Hauer Signed-off-by: Guennadi Liakhovetski Signed-off-by: Mauro Carvalho Chehab commit 6f550dc08369ee0bc6402963c377e65f0f2e3b71 Author: Bjørn Mork Date: Wed Mar 24 07:57:57 2010 -0300 V4L/DVB: budget: Oops: "BUG: unable to handle kernel NULL pointer dereference" Never call dvb_frontend_detach if we failed to attach a frontend. This fixes the following oops, which will be triggered by a missing stv090x module: [ 8.172997] DVB: registering new adapter (TT-Budget S2-1600 PCI) [ 8.209018] adapter has MAC addr = 00:d0:5c:cc:a7:29 [ 8.328665] Intel ICH 0000:00:1f.5: PCI INT B -> GSI 17 (level, low) -> IRQ 17 [ 8.328753] Intel ICH 0000:00:1f.5: setting latency timer to 64 [ 8.562047] DVB: Unable to find symbol stv090x_attach() [ 8.562117] BUG: unable to handle kernel NULL pointer dereference at 000000ac [ 8.562239] IP: [] dvb_frontend_detach+0x4/0x67 [dvb_core] Ref http://bugs.debian.org/575207 Signed-off-by: Bjørn Mork Cc: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab commit 5dd92c1ff1f85b1a4dceba9caa0fda85835ccc4b Author: Oliver Endriss Date: Sun Mar 21 11:48:47 2010 -0300 V4L/DVB: ngene: Workaround for stuck DiSEqC pin Send one DiSEqC byte to make sure that the pin is set to low level. Signed-off-by: Oliver Endriss Reviewed-by: Manu Abraham Signed-off-by: Mauro Carvalho Chehab commit 03b1930efd3c2320b1dcba76c8af15f7e454919d Author: Hans Verkuil Date: Wed Mar 24 19:09:55 2010 -0300 V4L/DVB: saa7146: fix regression of the av7110/budget-av driver An earlier regression fix for the mxb driver (V4L/DVB: saa7146_vv: fix regression where v4l2_device was registered too late) caused a new regression in the av7110 driver. Reverted the old fix and fixed the problem in the mxb driver instead. Tested on mxb and budget-av cards. The real problem is that the saa7146 framework has separate probe() and attach() driver callbacks which should be rolled into one. This is now done for the mxb driver, but others should do the same. Lack of hardware makes this hard to do, though. I hope to get hold of some hexium cards and then I can try to improve the framework to prevent this from happening again. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d2f2d6d0a11e892263ea511e46af449113fd2081 Author: Hans Verkuil Date: Mon Mar 22 03:14:22 2010 -0300 V4L/DVB: v4l: fix config dependencies: mxb and saa7191 are V4L2 drivers, not V4L1 v4l: fix config dependencies: mxb and saa7191 are V4L2 drivers, not V4L1 Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b75396a4ea473a2cd4f2fb99a81b2289265a8021 Author: Hans Verkuil Date: Mon Mar 22 05:43:08 2010 -0300 V4L/DVB: feature-removal: announce videotext.h removal Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6a4f0623a4ebe46c743d213db808067553953913 Author: Muralidharan Karicheri Date: Thu Mar 18 11:44:12 2010 -0300 V4L/DVB: V4L - vpfe capture - fix for kernel crash As part of upstream merge, set_params() function was removed from isif.c. This requires removal of BUG_ON() and check for set_params ptr in vpfe_capture.c. Without this kernel crash dump is seen while bootup on DM365 Also made following changes:- 1) converted error messages to debug messages since it is not right to flood the console with error messages for user mistakes. 2) returns -EINVAL if ioctl is not supported Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit f8f73d01a31488ec8e923b2148043579d43d0378 Author: John Ellson Date: Wed Mar 17 10:22:58 2010 -0300 V4L/DVB: gspca: make usb id 0461:0815 get handled by the right driver The 0461:0815 camera is spca561 based not spca508 Signed-off-by: John Ellson Signed-off-by: Hans de Goede Signed-off-by: Mauro Carvalho Chehab commit 55e0b489a39bb635a44f769d620e44c70d9c065b Author: Erik Andrén Date: Mon Mar 8 17:16:00 2010 -0300 V4L/DVB: gspca - stv06xx: Remove the 046d:08da from the stv06xx driver The 046d:08da usb id shouldn't be associated with the stv06xx driver as they're not compatible with each other. This fixes a bug where Quickcam Messenger cams fail to use its proper driver (gspca-zc3xx), rendering the camera inoperable. Signed-off-by: Erik Andrén Tested-by: Gabriel Craciunescu Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab commit a76b9f49ba58d081e373080ff75130673140d3f1 Author: Yong Zhang Date: Fri Feb 5 10:52:39 2010 -0300 V4L/DVB: gspca - sn9c20x: Correct onstack wait_queue_head declaration Use DECLARE_WAIT_QUEUE_HEAD_ONSTACK to make lockdep happy Signed-off-by: Yong Zhang Signed-off-by: Jean-François Moine CC: Brian Johnson Signed-off-by: Mauro Carvalho Chehab commit 84a1d9c83e3e13991b958c897b6e9d6a5e4ce76d Author: Michael Hunold Date: Sat Mar 13 11:45:46 2010 -0300 V4L/DVB: saa7146: fix up bytesperline if it is an impossible value xawtv using DGA on a Radeon graphics card provides bogus values to S_FBUF, which will then screw up overlay video: https://bugs.launchpad.net/ubuntu/+source/xawtv/+bug/499734 This fixes the bytesperline value if it is off completely. Signed-off-by: Michael Hunold Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ab51bec1f852f6b858a26e745b32a79cd1a67eec Author: Murali Karicheri Date: Mon Mar 1 19:54:02 2010 -0300 V4L/DVB: V4L: vpfe_capture - free ccdc_lock when memory allocation fails This patch fixes a bug in vpfe_probe() that doesn't call mutex_unlock() if memory allocation for ccdc_cfg fails. See also the smatch warning report from Dan Carpenter that shows this as an issue. Signed-off-by: Murali Karicheri Signed-off-by: Mauro Carvalho Chehab commit b704e82a54591d69816b45f4324caf143f1a6fc8 Author: Vaibhav Hiremath Date: Sat Mar 13 10:58:39 2010 -0300 V4L/DVB: V4L - Makfile:Removed duplicate entry of davinci Signed-off-by: Vaibhav Hiremath Signed-off-by: Muralidharan Karicheri Signed-off-by: Mauro Carvalho Chehab commit 2132deff694765bc2e6c7ac84c6b30dab0775256 Author: Dan Carpenter Date: Wed Mar 10 07:57:03 2010 -0300 V4L/DVB: omap24xxcam: potential buffer overflow The previous loop goes until last == VIDEO_MAX_FRAME, so this could potentially go one past the end of the loop. Signed-off-by: Dan Carpenter Acked-by: Sakari Ailus Signed-off-by: Mauro Carvalho Chehab commit ea5bc73f4f56449b2d450068d492bcd17a675d7a Author: Kamal Mostafa Date: Tue Apr 27 14:02:40 2010 -0700 ACPI: sleep: init_set_sci_en_on_resume for Dell Studio 155x Add Dell Studio models (1558, 1557, 1555) to the 'set_sci_en_on_resume' list to fix hang on resume. BugLink: http://bugs.launchpad.net/bugs/553498 Signed-off-by: Kamal Mostafa Acked-by: Alex Chiang Cc: stable@kernel.org Signed-off-by: Len Brown commit ee84b8243b07c33a5c8aed42b4b2da60cb16d1d2 Author: Paul E. McKenney Date: Thu May 6 09:28:41 2010 -0700 rcu: create rcu_my_thread_group_empty() wrapper Some RCU-lockdep splat repairs need to know whether they are running in a single-threaded process. Unfortunately, the thread_group_empty() primitive is defined in sched.h, and can induce #include hell. This commit therefore introduces a rcu_my_thread_group_empty() wrapper that is defined in rcupdate.c, thus avoiding the need to include sched.h everywhere. Signed-off-by: "Paul E. McKenney" commit e8e8fade7b351f131433fa44ca5d4e960e1c0f9c Merge: 325ce9e 6513412 Author: Linus Torvalds Date: Thu May 6 08:38:20 2010 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Defconfig update microblaze: Optimize CACHE_LOOP_LIMITS and CACHE_RANGE_LOOP macros microblaze: Fix consistent-sync code microblaze: Define correct L1_CACHE_SHIFT value microblaze: cpuinfo shows cache line length microblaze: Fix kmalloc alignment on non-coherent DMA platforms microblaze: Fix typo fault in cache code microblaze: Fix consistent code microblaze: pci-dma: use include/linux/dma-mapping.h microblaze: page.h: Remove get_user_page and free_user_page microblaze: Remove "cache" optimized copy_page function microblaze: invoke oom-killer from page fault microblaze: fix divide by zero exception message microblaze: Add isa_dma_bridge_buggy to dma.h microblaze: Remove ancient code microblaze: Quiet section mismatch warnings for MMU version microblaze: Quiet section mismatch warnings microblaze: Fix IRQ entry/exit ftracing microblaze: resource/PCI: align functions now return start of resource microblaze: PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs commit 325ce9e3060960488fa2c1c9eccde5ad85d75e7c Merge: bbfdbe9 257dab81 Author: Linus Torvalds Date: Thu May 6 08:38:03 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] pxa/colibri: fix missing #include in colibri.h [ARM] pxa/spitz: fix On/off key name to fix warning during boot [ARM] pxa: fix the incorrect cpu_is_pxa950() [ARM] pxa: update cpuid pattern for pxa9xx in head.S [ARM] pxa/viper: fix timeout usage for I2C [ARM] pxa/raumfeld: fix button name [ARM] pxa/imote2: Fix iMote2 defconfig [ARM] pxa: add missing new line to regs-u2d.h ARM: 6093/1: Fix kernel memory printing for sparsemem arch/arm/include/asm/elf.h: forward-declare the task-struct arch/arm/plat-pxa/dma.c: correct NULL test ARM: 6076/1: SA1100: add processor check to sa1110-cpufreq driver ARM: 6075/1: SA1100: fix wrong CPU type for h3100 and h3600 ARM: Update mach-types ARM: 6066/1: Fix "BUG: scheduling while atomic: swapper/0/0x00000002 ARM: 6068/1: Fix build break with KPROBES enabled mx5: Fix build error for mx51_defconfig commit bbfdbe9dc00dc3fd6cba9b0f96adc46d025c9079 Merge: 722154e 8bed905 Author: Linus Torvalds Date: Thu May 6 08:37:39 2010 -0700 Merge branch 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: fix a number of Oopses and leaks in SH framebuffer driver SH: fix error paths in DMA driver sh: sh7751 pci controller io port fix sh: Fix maximum number of SCIF ports in R2D defconfigs SH: fix TS field shift calculation for DMA drivers commit 80ea76bb2575c426154b8d61d324197ee3592baa Author: David S. Miller Date: Thu May 6 03:15:59 2010 -0700 phy: Fix initialization in micrel driver. Missing name string in ks8001_driver, so we crash on register. Reported-by: Ingo Molnar Tested-by: Ingo Molnar Signed-off-by: David S. Miller commit b0c4d952a158a6a2547672cf4fc9d55e415410de Author: David Rientjes Date: Thu May 6 02:24:34 2010 -0700 x86: Fix fake apicid to node mapping for numa emulation With NUMA emulation, it's possible for a single cpu to be bound to multiple nodes since more than one may have affinity if allocated on a physical node that is local to the cpu. APIC ids must therefore be mapped to the lowest node ids to maintain generic kernel use of functions such as cpu_to_node() that determine device affinity. For example, if a device has proximity to physical node 1, for instance, and a cpu happens to be mapped to a higher emulated node id 8, the proximity may not be correctly determined by comparison in generic code even though the cpu may be truly local and allocated on physical node 1. When this happens, the true topology of the machine isn't accurately represented in the emulated environment; although this isn't critical to the system's uptime, any generic code that is NUMA aware benefits from the physical topology being accurately represented. This can affect any system that maps multiple APIC ids to a single node and is booted with numa=fake=N where N is greater than the number of physical nodes. Signed-off-by: David Rientjes Cc: Yinghai Lu Cc: Suresh Siddha LKML-Reference: Signed-off-by: Ingo Molnar commit 651341213583e9c57072fed0f88a749cc240fe49 Author: Michal Simek Date: Thu May 6 11:37:42 2010 +0200 microblaze: Defconfig update Signed-off-by: Michal Simek commit 3274c5707c22221574b396d140d0db3480a2027a Author: Michal Simek Date: Mon Apr 26 08:54:13 2010 +0200 microblaze: Optimize CACHE_LOOP_LIMITS and CACHE_RANGE_LOOP macros 1. Remove CACHE_ALL_LOOP2 macro because it is identical to CACHE_ALL_LOOP 2. Change BUG_ON to WARN_ON 3. Remove end aligned from CACHE_LOOP_LIMITS. C implementation do not need aligned end address and ASM code do aligned in their macros 4. ASM optimized CACHE_RANGE_LOOP_1/2 macros needs to get aligned end address. Because end address is compound from start + size, end address is the first address which is exclude. Here is the corresponding code which describe it. + int align = ~(line_length - 1); + end = ((end & align) == end) ? end - line_length : end & align; a) end is aligned: it is necessary to subtruct line length because we don't want to work with next cacheline b) end address is not aligned: Just align it to be ready for ASM code. Signed-off-by: Michal Simek commit 385e1efafc73a5deeb20645ae8b227b4896852e2 Author: Michal Simek Date: Thu Apr 29 13:02:17 2010 +0200 microblaze: Fix consistent-sync code PCI_DMA_FROMDEVICE should call invalidation not flushing. Signed-off-by: Michal Simek commit 598acab44dcbda0e300d9d080e81566334138e7d Author: Michal Simek Date: Mon Apr 26 13:43:23 2010 +0200 microblaze: Define correct L1_CACHE_SHIFT value Microblaze cacheline length is configurable and current cpu uses two cacheline length 4 and 8. We are taking conservative maximum value to be sure that cacheline alignment is satisfied for all cases. Here is the calculation for cacheline lenght 8 32bit=4Byte values which is corresponding with SHIFT 5. Signed-off-by: Michal Simek commit 77543cebab7387eab7d482e90018a64d6f2ced1e Author: Michal Simek Date: Mon Apr 26 13:53:04 2010 +0200 microblaze: cpuinfo shows cache line length Show cache line length in /proc/cpuinfo. Signed-off-by: Michal Simek commit de925d9d3b64390ef6363e16e9d6a84d7dd7cee1 Author: Michal Simek Date: Mon Apr 26 13:49:01 2010 +0200 microblaze: Fix kmalloc alignment on non-coherent DMA platforms Based on PowerPC patche 52142e756e9bf6485d3d53596e8aff2e816a7253 PowerPC description: On platforms doing non-coherent DMA (4xx, 8xx, ...), it's important that the kmalloc minimum alignment is set to the cache line size, to avoid sharing cache lines between different objects, so that DMA to one of the objects doesn't corrupt the other. Signed-off-by: Michal Simek commit c17e1a1cedb723d48d4822cae1af1c010b608b5c Author: Michal Simek Date: Fri Apr 23 11:38:43 2010 +0200 microblaze: Fix typo fault in cache code Copy & paste error. Signed-off-by: Michal Simek commit f1525765fb9c432f5dc5d0d18102fbe9980a14ae Author: Michal Simek Date: Sat Apr 10 17:34:06 2010 +0200 microblaze: Fix consistent code This patch fix consistent code which had problems with consistent_free function. I am not sure if we need to call flush_tlb_all after it but it keeps tlbs synced. I added noMMU and MMU version together. Uncached shadow feature is not tested. Signed-off-by: Michal Simek commit 16f6e9989293ba32e33c4a2a9b29a1d77c321723 Author: Michal Simek Date: Fri Apr 16 09:13:27 2010 +0200 microblaze: pci-dma: use include/linux/dma-mapping.h Based on af407c6db16aa9ca63559076dbe620220a822580 and f41b177157718abe9a93868bb76e47d4a6f3681d Signed-off-by: Michal Simek commit 22dcc2e3b96107e464dbc1a5c84b5e7239906cb0 Author: Michal Simek Date: Thu Apr 22 08:07:46 2010 +0200 microblaze: page.h: Remove get_user_page and free_user_page Remove ancient macros which are here from Linux-2.4 Signed-off-by: Michal Simek commit 43f2a6e8b122378b9ad20cd8ea449cdb38f5d829 Author: Michal Simek Date: Thu Apr 22 07:28:48 2010 +0200 microblaze: Remove "cache" optimized copy_page function Current implementation doesn't handle dcache_line_length correctly that's why is better to use generic memcpy. Cache optimized function could be good way howto improve performance but must be based on benchmarking not blind function like this. Signed-off-by: Michal Simek commit 21e1c93631e027136ea4070e7bca600c4ad4f391 Author: Nick Piggin Date: Fri Apr 23 02:06:21 2010 +1000 microblaze: invoke oom-killer from page fault As explained in commit 1c0fe6e3bd, we want to call the architecture independent oom killer when getting an unexplained OOM from handle_mm_fault, rather than simply killing current. Cc: microblaze-uclinux@itee.uq.edu.au Cc: Michal Simek Cc: linux-arch@vger.kernel.org Signed-off-by: Nick Piggin Acked-by: David Rientjes Acked-by: Michal Simek commit f3ff8212a24f1935b44a3fcdd81c787428f053a6 Author: Randy Dunlap Date: Wed Apr 21 14:11:34 2010 -0700 microblaze: fix divide by zero exception message Fix divide exception message to say "divide by zero". Signed-off-by: Randy Dunlap Cc: Michal Simek Cc: microblaze-uclinux@itee.uq.edu.au Signed-off-by: Michal Simek commit 113a591a17de9e71b90631be89d3268c406b11c6 Author: Michal Simek Date: Tue Apr 20 19:02:13 2010 +0200 microblaze: Add isa_dma_bridge_buggy to dma.h It is necessary for several drivers. Signed-off-by: Michal Simek commit e7682231092d1d1dd49bc590d6d3b7f0ddc07e74 Author: Michal Simek Date: Fri Apr 16 09:41:07 2010 +0200 microblaze: Remove ancient code I found several function which we don't use that's why I am removing them. Signed-off-by: Michal Simek commit 63f1032b97638fc2b023fa968b7703c8ebe6d6d9 Author: Michal Simek Date: Tue Apr 13 08:59:37 2010 +0200 microblaze: Quiet section mismatch warnings for MMU version Remove section mismatch - based on ppc aproach. WARNING: vmlinux.o(.text+0x64834): Section mismatch in reference from the function __pte_alloc_kernel() to the function .init.text:early_get_page() The function __pte_alloc_kernel() references the function __init early_get_page(). This is often because __pte_alloc_kernel lacks a __init annotation or the annotation of early_get_page is wrong. Signed-off-by: Michal Simek commit 7a0248e819ddaf2c2f28e6edd287b90aa930702a Author: Steven J. Magnani Date: Fri Apr 9 22:03:37 2010 -0500 microblaze: Quiet section mismatch warnings _start is located in .text, which causes mismatch warnings with machine_early_init() and start_kernel() in .init.text. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit e6d7961e5be0a259ba87411370f8be7f7da4c0f6 Author: Steven J. Magnani Date: Mon Apr 12 16:01:36 2010 -0500 microblaze: Fix IRQ entry/exit ftracing Function traces on Microblaze don't include IRQ entry and exit arrows, i.e. 0) | memcpy_toiovec() { 0) ==========> | 0) | do_IRQ() { ... 0) <========== | 0) ! 5414.000 us | } ...because do_IRQ() doesn't have the proper attributes. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit c86fac4382b3fb238a520ab5f2fa200c6a868b7f Author: Michal Simek Date: Fri Apr 16 09:04:51 2010 +0200 microblaze: resource/PCI: align functions now return start of resource This change should be part of b26b2d494b659f988b4d75eb394dfa0ddac415c9 Origin description: resource/PCI: align functions now return start of resource As suggested by Linus, align functions should return the start of a resource, not void. An update of "res->start" is no longer necessary. Signed-off-by: Michal Simek commit 8a66da71fa84d08bef7d1678db77df77dccefa20 Author: Michal Simek Date: Fri Apr 16 09:03:00 2010 +0200 microblaze: PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs This change should be part of 89a74ecccd1f78e51faf6287e5c0e93a92ac096e Origin description: PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs No functional change; this converts loops that iterate from 0 to PCI_BUS_NUM_RESOURCES through pci_bus resource[] table to use the pci_bus_for_each_resource() iterator instead. This doesn't change the way resources are stored; it merely removes dependencies on the fact that they're in a table. Signed-off-by: Michal Simek commit 50b5d6ad63821cea324a5a7a19854d4de1a0a819 Author: Vlad Yasevich Date: Thu May 6 00:56:07 2010 -0700 sctp: Fix a race between ICMP protocol unreachable and connect() ICMP protocol unreachable handling completely disregarded the fact that the user may have locked the socket. It proceeded to destroy the association, even though the user may have held the lock and had a ref on the association. This resulted in the following: Attempt to release alive inet socket f6afcc00 ========================= [ BUG: held lock freed! ] ------------------------- somenu/2672 is freeing memory f6afcc00-f6afcfff, with a lock still held there! (sk_lock-AF_INET){+.+.+.}, at: [] sctp_connect+0x13/0x4c 1 lock held by somenu/2672: #0: (sk_lock-AF_INET){+.+.+.}, at: [] sctp_connect+0x13/0x4c stack backtrace: Pid: 2672, comm: somenu Not tainted 2.6.32-telco #55 Call Trace: [] ? printk+0xf/0x11 [] debug_check_no_locks_freed+0xce/0xff [] kmem_cache_free+0x21/0x66 [] __sk_free+0x9d/0xab [] sk_free+0x1c/0x1e [] sctp_association_put+0x32/0x89 [] __sctp_connect+0x36d/0x3f4 [] ? sctp_connect+0x13/0x4c [] ? autoremove_wake_function+0x0/0x33 [] sctp_connect+0x31/0x4c [] inet_dgram_connect+0x4b/0x55 [] sys_connect+0x54/0x71 [] ? lock_release_non_nested+0x88/0x239 [] ? might_fault+0x42/0x7c [] ? might_fault+0x42/0x7c [] sys_socketcall+0x6d/0x178 [] ? trace_hardirqs_on_thunk+0xc/0x10 [] syscall_call+0x7/0xb This was because the sctp_wait_for_connect() would aqcure the socket lock and then proceed to release the last reference count on the association, thus cause the fully destruction path to finish freeing the socket. The simplest solution is to start a very short timer in case the socket is owned by user. When the timer expires, we can do some verification and be able to do the release properly. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 6ec82562ffc6f297d0de36d65776cff8e5704867 Author: Eric Dumazet Date: Thu May 6 00:53:53 2010 -0700 veth: Dont kfree_skb() after dev_forward_skb() In case of congestion, netif_rx() frees the skb, so we must assume dev_forward_skb() also consume skb. Bug introduced by commit 445409602c092 (veth: move loopback logic to common location) We must change dev_forward_skb() to always consume skb, and veth to not double free it. Bug report : http://marc.info/?l=linux-netdev&m=127310770900442&w=3 Reported-by: Martín Ferrari Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 257dab81413b31b8648becfe11586b3a41e5c29a Merge: ea056df ccb8d8d Author: Russell King Date: Thu May 6 08:16:34 2010 +0100 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit dcf097b247affd8b88ad410a92298590c5600f44 Author: Vivek Goyal Date: Thu Apr 22 11:54:52 2010 -0400 blk-cgroup: Fix RCU correctness warning in cfq_init_queue() It is necessary to be in an RCU read-side critical section when invoking css_id(), so this patch adds one to blkiocg_add_blkio_group(). This is actually a false positive, because this is called at initialization time and hence always refers to the root cgroup, which cannot go away. [ 103.790505] =================================================== [ 103.790509] [ INFO: suspicious rcu_dereference_check() usage. ] [ 103.790511] --------------------------------------------------- [ 103.790514] kernel/cgroup.c:4432 invoked rcu_dereference_check() without protection! [ 103.790517] [ 103.790517] other info that might help us debug this: [ 103.790519] [ 103.790521] [ 103.790521] rcu_scheduler_active = 1, debug_locks = 1 [ 103.790524] 4 locks held by bash/4422: [ 103.790526] #0: (&buffer->mutex){+.+.+.}, at: [] sysfs_write_file+0x3c/0x144 [ 103.790537] #1: (s_active#102){.+.+.+}, at: [] sysfs_write_file+0xe7/0x144 [ 103.790544] #2: (&q->sysfs_lock){+.+.+.}, at: [] queue_attr_store+0x49/0x8f [ 103.790552] #3: (&(&blkcg->lock)->rlock){......}, at: [] blkiocg_add_blkio_group+0x2b/0xad [ 103.790560] [ 103.790561] stack backtrace: [ 103.790564] Pid: 4422, comm: bash Not tainted 2.6.34-rc4-blkio-second-crash #81 [ 103.790567] Call Trace: [ 103.790572] [] lockdep_rcu_dereference+0x9d/0xa5 [ 103.790577] [] css_id+0x44/0x57 [ 103.790581] [] blkiocg_add_blkio_group+0x53/0xad [ 103.790586] [] cfq_init_queue+0x139/0x32c [ 103.790591] [] elv_iosched_store+0xbf/0x1bf [ 103.790595] [] queue_attr_store+0x70/0x8f [ 103.790599] [] ? sysfs_write_file+0xe7/0x144 [ 103.790603] [] sysfs_write_file+0x108/0x144 [ 103.790609] [] vfs_write+0xae/0x10b [ 103.790612] [] ? trace_hardirqs_on_caller+0x10c/0x130 [ 103.790616] [] sys_write+0x4a/0x6e [ 103.790622] [] system_call_fastpath+0x16/0x1b [ 103.790625] Located-by: Miles Lane Signed-off-by: Vivek Goyal Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar Signed-off-by: Jens Axboe commit 4bdae98f1a456ea1fea5ea02f9249d23bceab75b Author: Shaohua Li Date: Thu Apr 8 11:16:15 2010 +0800 ACPI: fix acpi_hest_firmware_first_pci() caused oops acpi_hest_firmware_first_pci() could be called when acpi is disabled and cause system oops. Signed-off-by: Shaohua Li Signed-off-by: Len Brown commit 97c227cb51ddcf52c66f7a7fba69237026418b56 Author: Dan Carpenter Date: Tue Apr 27 14:06:05 2010 -0700 sbshc: acpi_device_class "smbus_host_controller" too long acpi_device_class can only be 19 characters and a NULL terminator. With the current name we get a buffer overflow in acpi_smbus_hc_add() when we do: strcpy(acpi_device_class(device), ACPI_SMB_HC_CLASS); Signed-off-by: Dan Carpenter Cc: Alexey Starikovskiy Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 18262714ca0fb65c290b8ea1807b2b02bb52d0e3 Author: Dan Carpenter Date: Tue Apr 27 14:01:07 2010 -0700 power_meter: acpi_device_class "power_meter_resource" too long acpi_device_class can only be 19 characters and a NULL terminator. The current code has a buffer overflow in acpi_power_meter_add(): strcpy(acpi_device_class(device), ACPI_POWER_METER_CLASS); Signed-off-by: Dan Carpenter Cc: Len Brown Cc: "Darrick J. Wong" Cc: Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a40770a9537c72b555667851845e73484b22ba17 Author: Dan Carpenter Date: Tue Apr 27 14:06:05 2010 -0700 acpi_pad: "processor_aggregator" name too long cpi_device_class can only be 19 characters and a NULL terminator. With the current name we get a buffer overflow in acpi_pad_add() strcpy(acpi_device_class(device), ACPI_PROCESSOR_AGGREGATOR_CLASS); [akpm@linux-foundation.org: call it acpi_pad, per Shaohua Li] Signed-off-by: Dan Carpenter Cc: walter harms Acked-by: Shaohua Li Cc: Len Brown Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 11439a6fd90b4861df64b4f983726e1c54977ab7 Author: Bjorn Helgaas Date: Mon May 3 10:47:21 2010 -0600 PNP: don't check for conflicts with bridge windows With fa35b4926, I broke a lot of PNP resource assignment. That commit made PNPACPI include bridge windows as PNP resources, and PNP resource assignment treats any enabled overlapping PNP resources as conflicts. Since PCI host bridge windows typically include most of the I/O port space, this makes PNP port assigments fail. The PCI host bridge driver will eventually use those PNP window resources, so we should make PNP ignore them when checking for conflicts. This fixes https://bugzilla.kernel.org/show_bug.cgi?id=15903 Reported-and-tested-by: Pavel Kysilka Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit d40a4de0be08f005814a4fddac748fe5353208ec Author: Brian Haley Date: Mon May 3 15:44:27 2010 +0000 IPv6: fix IPV6_RECVERR handling of locally-generated errors I noticed when I added support for IPV6_DONTFRAG that if you set IPV6_RECVERR and tried to send a UDP packet larger than 64K to an IPv6 destination, you'd correctly get an EMSGSIZE, but reading from MSG_ERRQUEUE returned the incorrect address in the cmsg: struct msghdr: msg_name 0x7fff8f3c96d0 msg_namelen 28 struct sockaddr_in6: sin6_family 10 sin6_port 7639 sin6_flowinfo 0 sin6_addr ::ffff:38.32.0.0 sin6_scope_id 0 ((null)) It should have returned this in my case: struct msghdr: msg_name 0x7fffd866b510 msg_namelen 28 struct sockaddr_in6: sin6_family 10 sin6_port 7639 sin6_flowinfo 0 sin6_addr 2620:0:a09:e000:21f:29ff:fe57:f88b sin6_scope_id 0 ((null)) The problem is that ipv6_recv_error() assumes that if the error wasn't generated by ICMPv6, it's an IPv4 address sitting there, and proceeds to create a v4-mapped address from it. Change ipv6_icmp_error() and ipv6_local_error() to set skb->protocol to htons(ETH_P_IPV6) so that ipv6_recv_error() knows the address sitting right after the extended error is IPv6, else it will incorrectly map the first octet into an IPv4-mapped IPv6 address in the cmsg structure returned in a recvmsg() call to obtain the error. Signed-off-by: Brian Haley -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Signed-off-by: David S. Miller commit 54ad023ba8108d0163acc931ed4b5e4a8a3a7327 Author: Sage Weil Date: Wed May 5 21:30:35 2010 -0700 ceph: don't use writeback_control in writepages completion The ->writepages writeback_control is not still valid in the writepages completion. We were touching it solely to adjust pages_skipped when there was a writeback error (EIO, ENOSPC, EPERM due to bad osd credentials), causing an oops in the writeback code shortly thereafter. Updating pages_skipped on error isn't correct anyway, so let's just rip out this (clearly broken) code to pass the wbc to the completion. Signed-off-by: Sage Weil commit 7df9c43fbe470628a755dfd028e58fdd7ab9b44e Author: Sebastian Andrzej Siewior Date: Tue May 4 22:30:47 2010 +0000 net/gianfar: drop recycled skbs on MTU change The size for skbs which is added to the recycled list is using the current descriptor size which is current MTU. gfar_new_skb() is also using this size. So after changing or alteast increasing the MTU all recycled skbs should be dropped. Signed-off-by: Sebastian Andrzej Siewior Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 8bed90557d2600d25e58de30df48b244980164ec Author: Guennadi Liakhovetski Date: Fri Apr 30 16:07:00 2010 +0000 sh: fix a number of Oopses and leaks in SH framebuffer driver Fix a number of Oopses, memory leaks and unbalanced calls on error paths in sh_mobile_lcdcfb.c. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit ccb8d8d070b8f25f0163da5c9ceacf63a5169540 Author: Jakob Viketoft Date: Wed May 5 18:25:27 2010 +0800 [ARM] pxa/colibri: fix missing #include in colibri.h The use of mfp_cfg_t causes build errors without including . CC: stable@kernel.org CC: Daniel Mack Signed-off-by: Jakob Viketoft Signed-off-by: Eric Miao commit b53f7710610215b6d53a5caea082d3afede142ea Author: Pavel Machek Date: Wed May 5 15:03:12 2010 +0800 [ARM] pxa/spitz: fix On/off key name to fix warning during boot On/Off contains slash in the name, which causes warning during boot. Signed-off-by: Pavel Machek Signed-off-by: Eric Miao commit 5d2fec5df1631076ce1d27c61def201aabc31167 Author: Haojian Zhuang Date: Fri Mar 12 08:51:54 2010 -0500 [ARM] pxa: fix the incorrect cpu_is_pxa950() Fix the wrong variable used in cpu_is_pxa950(). Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 4157d317dc20f12bee9944155fed399bbe38fae4 Author: Haojian Zhuang Date: Fri Mar 12 05:47:55 2010 -0500 [ARM] pxa: update cpuid pattern for pxa9xx in head.S Update CPUID pattern of PXA9xx in head.S and fix the duplicate entries for pxa935. Signed-off-by: Haojian Zhuang Signed-off-by: Eric Miao commit 6ae87fe219ce32ea226254ee72e1d38ad35d9deb Author: Wolfram Sang Date: Sun Apr 18 13:48:29 2010 +0200 [ARM] pxa/viper: fix timeout usage for I2C The timeout value is in jiffies, so it should be using HZ, not a plain number. Assume with HZ=100 '100' means 1s here and adapt accordingly. Signed-off-by: Wolfram Sang Acked-by: Marc Zyngier Cc: Russell King Cc: Paul Shen Cc: Mike Rapoport Cc: Jean Delvare Signed-off-by: Eric Miao commit 299ed07868e2384dd3bff44e30892cfdadd7e1bc Author: Daniel Mack Date: Sun Apr 18 09:35:29 2010 +0200 [ARM] pxa/raumfeld: fix button name "on/off button" was recently renamed to remove the slash character. Follow that change in the pin polarity detection as well. While at it, fix another cosmetic coding style flaw as well. Signed-off-by: Daniel Mack Signed-off-by: Eric Miao commit 12145cae4d829d9d246a6272daef79074b5f4878 Author: Stefan Schmidt Date: Thu Apr 8 16:03:25 2010 +0200 [ARM] pxa/imote2: Fix iMote2 defconfig - Bring in a CMDLINE that actually works and prints to the right tty - Compile-in JFFS2 to boot into rootfs - Remove unneeded options for Bluetooth and radio - Disable CPU_FREQ as it makes the flash driver fail Thanks Jonathan for spotting what I messed up. Signed-off-by: Stefan Schmidt Acked-by: Jonathan Cameron Signed-off-by: Eric Miao commit d5df767dbe4bc1e7ce1bd16976f78ef938e53052 Author: Igor Grinberg Date: Wed Apr 7 11:40:37 2010 +0300 [ARM] pxa: add missing new line to regs-u2d.h Signed-off-by: Igor Grinberg Signed-off-by: Eric Miao commit 722154e4cacf015161efe60009ae9be23d492296 Merge: 1d7746c 0fd6b32 Author: Linus Torvalds Date: Wed May 5 15:48:13 2010 -0700 Merge branch 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [MTD] Remove zero-length files mtdbdi.c and internal.ho commit 1d7746cb411d8b10c0ac934cae6c58bd1ece9616 Merge: 65be2f5 85ea2d3 Author: Linus Torvalds Date: Wed May 5 15:47:57 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: pata_pcmcia / ide-cs: Fix bad hashes for Transcend and kingston IDs libata: Fix several inaccuracies in developer's guide commit 0fd6b32b3b2f5c1bfd412de7b5fd040fb31b6712 Author: Jeff Garzik Date: Wed May 5 15:25:12 2010 -0400 [MTD] Remove zero-length files mtdbdi.c and internal.ho Both were "removed" in commit a33eb6b91034c95b9b08576f68be170f995b2c7d. Signed-off-by: Jeff Garzik commit 85ea2d3f9e71cd72e866fdb74a9d5a15d65d44c2 Author: Kristoffer Ericson Date: Sun May 2 21:48:24 2010 +0200 pata_pcmcia / ide-cs: Fix bad hashes for Transcend and kingston IDs This patch fixes the bad hashes for one Kingston and one Transcend card. Thanks to komuro for pointing this out. Signed-off-by: Kristoffer Ericson Signed-off-by: Jeff Garzik commit 40868c85b8dfe233192f29099f45348f5b363ce9 Author: Sergei Shtylyov Date: Wed May 5 17:27:10 2010 +0400 libata: Fix several inaccuracies in developer's guide Commit 6bfff31e77cfa1b13490337e5a4dbaa3407e83ac (libata: kill probe_ent and related helpers) killed ata_device_add() but didn't remove references to it from the libata developer's guide. Commits 9363c3825ea9ad76561eb48a395349dd29211ed6 (libata: rename SFF functions) and 5682ed33aae05d10a25c95633ef9d9c062825888 (libata: rename SFF port ops) renamed the taskfile access methods but didn't update the developer's guide. Commit c9f75b04ed5ed65a058d18a8a8dda50632a96de8 (libata: kill ata_noop_dev_select()) didn't update the developer's guide as well. The guide also refers to the long gone ata_pio_data_xfer_noirq(), ata_pio_data_xfer(), and ata_mmio_data_xfer() -- replace those by the modern ata_sff_data_xfer_noirq(), ata_sff_data_xfer(), and ata_sff_data_xfer32(). Also, remove the reference to non-existant ata_port_stop()... Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 65be2f501f5b31208a963713e6702d40e8e7863d Merge: 5f23370 111c7d8 Author: Linus Torvalds Date: Wed May 5 11:18:16 2010 -0700 Merge branch 'slab-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'slab-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slub: Fix bad boundary check in init_kmem_cache_nodes() commit 111c7d82436db4c7673922b6ba021cebb7d26dd8 Author: Zhang, Yanmin Date: Thu Apr 1 17:32:30 2010 +0800 slub: Fix bad boundary check in init_kmem_cache_nodes() Function init_kmem_cache_nodes is incorrect when checking upper limitation of kmalloc_caches. The breakage was introduced by commit 91efd773c74bb26b5409c85ad755d536448e229c ("dma kmalloc handling fixes"). Acked-by: Christoph Lameter Signed-off-by: Pekka Enberg commit 07bedca29b0973f36a6b6db36936deed367164ed Author: Alex Chiang Date: Tue Apr 20 08:03:14 2010 -0600 ACPI: DMI init_set_sci_en_on_resume for multiple Lenovo ThinkPads Multiple Lenovo ThinkPad models with Intel Core i5/i7 CPUs can successfully suspend/resume once, and then hang on the second s/r cycle. We got confirmation that this was due to a BIOS defect. The BIOS did not properly set SCI_EN coming out of S3. The BIOS guys hinted that The Other Leading OS ignores the fact that hardware owns the bit and sets it manually. In any case, an existing DMI table exists for machines where this defect is a known problem. Lenovo promise to fix their BIOS, but for folks who either won't or can't upgrade their BIOS, allow Linux to workaround the issue. https://bugzilla.kernel.org/show_bug.cgi?id=15407 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/532374 Confirmed by numerous testers in the launchpad bug that using acpi_sleep=sci_force_enable fixes the issue. We add the machines to acpisleep_dmi_table[] to automatically enable this workaround. Cc: stable@kernel.org Cc: Colin King Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 77a4229719e511a0d38d9c355317ae1469adeb54 Author: James Bottomley Date: Tue May 4 16:51:40 2010 -0400 [SCSI] Retry commands with UNIT_ATTENTION sense codes to fix ext3/ext4 I/O error There's nastyness in the way we currently handle barriers (and discards): They're effectively filesystem commands, but they get processed as BLOCK_PC commands. Unfortunately BLOCK_PC commands are taken by SCSI to be SG_IO commands and the issuer expects to see and handle any returned errors, however trivial. This leads to a huge problem, because the block layer doesn't expect this to happen and any trivially retryable error on a barrier causes an immediate I/O error to the filesystem. The only real way to hack around this is to take the usual class of offending errors (unit attentions) and make them all retryable in the case of a REQ_HARDBARRIER. A correct fix would involve a rework of the entire block and SCSI submit system, and so is out of scope for a quick fix. Cc: Hannes Reinecke Cc: Stable Tree Signed-off-by: James Bottomley commit c213e1407be6b04b144794399a91472e0ef92aec Author: Hannes Reinecke Date: Tue May 4 16:49:21 2010 +0200 [SCSI] Enable retries for SYNCRONIZE_CACHE commands to fix I/O error Some arrays are giving I/O errors with ext3 filesystems when SYNCHRONIZE_CACHE gets a UNIT_ATTENTION. What is happening is that these commands have no retries, so the UNIT_ATTENTION causes the barrier to fail. We should be enable retries here to clear any transient error and allow the barrier to succeed. Signed-off-by: Hannes Reinecke Cc: Stable Tree Signed-off-by: James Bottomley commit 5f233706592fcce7df57e12674461c349b8f591d Merge: 8777c79 896903c Author: Linus Torvalds Date: Wed May 5 09:06:24 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: KEYS: call_sbin_request_key() must write lock keyrings before modifying them KEYS: Use RCU dereference wrappers in keyring key type code KEYS: find_keyring_by_name() can gain access to a freed keyring commit 8777c793d6a24c7f3adf52b1b1086e9706de4589 Merge: 7437e7d 47dd5be Author: Linus Torvalds Date: Wed May 5 07:56:36 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: flush_delayed_work: keep the original workqueue for re-queueing commit 7437e7d3672b6d23c08212c68752c9a9c25f8e9e Merge: 38c9e91 7cff094 Author: Linus Torvalds Date: Wed May 5 07:55:07 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: FEC: Fix kernel panic in fec_set_mac_address. ipv6: Fix default multicast hops setting. net: ep93xx_eth stops receiving packets drivers/net/phy: micrel phy driver dm9601: fix phy/eeprom write routine ppp_generic: handle non-linear skbs when passing them to pppd ppp_generic: pull 2 bytes so that PPP_PROTO(skb) is valid net: fix compile error due to double return type in SOCK_DEBUG net/usb: initiate sync sequence in sierra_net.c driver net/usb: remove default in Kconfig for sierra_net driver r8169: Fix rtl8169_rx_interrupt() e1000e: Fix oops caused by ASPM patch. net/sb1250: register mdio bus in probe sctp: Fix skb_over_panic resulting from multiple invalid parameter errors (CVE-2010-1173) (v4) p54pci: fix bugs in p54p_check_tx_ring commit 38c9e91bc396672e9ea8013bad63ea4f59d9d31c Merge: 1d7aec3 69b5de8 Author: Linus Torvalds Date: Wed May 5 07:54:22 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 (Venice) ALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582 ALSA: take tu->qlock with irqs disabled ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite P500-PSPGSC-01800T ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F ALSA: hda - fix array indexing while creating inputs for Cirrus codecs ALSA: es968: fix wrong PnP dma index commit 1d7aec304147aadcbc66ef9ab691208f9f22b6a8 Merge: 5157b4a 26a6931 Author: Linus Torvalds Date: Wed May 5 07:53:18 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: joydev - allow binding to button-only devices Input: elantech - ignore high bits in the position coordinates Input: elantech - allow forcing Elantech protocol Input: elantech - fix firmware version check Input: ati_remote - add some missing devices from lirc_atiusb Input: eeti_ts - cancel pending work when going to suspend Input: Add support of Synaptics Clickpad device Revert "Input: ALPS - add signature for HP Pavilion dm3 laptops" Input: psmouse - ignore parity error for basic protocols commit 5157b4aa5b7de8787b6318e61bcc285031bb9088 Author: Dan Williams Date: Tue May 4 20:41:56 2010 -0700 raid6: fix recovery performance regression The raid6 recovery code should immediately drop back to the optimized synchronous path when a p+q dma resource is not available. Otherwise we run the non-optimized/multi-pass async code in sync mode. Verified with raid6test (NDISKS=255) Applies to kernels >= 2.6.32. Cc: Acked-by: NeilBrown Reported-by: H. Peter Anvin Signed-off-by: Dan Williams Signed-off-by: Linus Torvalds commit 896903c2f5f79f029388f033a00c3b813bc91201 Author: David Howells Date: Fri Apr 30 14:32:23 2010 +0100 KEYS: call_sbin_request_key() must write lock keyrings before modifying them call_sbin_request_key() creates a keyring and then attempts to insert a link to the authorisation key into that keyring, but does so without holding a write lock on the keyring semaphore. It will normally get away with this because it hasn't told anyone that the keyring exists yet. The new keyring, however, has had its serial number published, which means it can be accessed directly by that handle. This was found by a previous patch that adds RCU lockdep checks to the code that reads the keyring payload pointer, which includes a check that the keyring semaphore is actually locked. Without this patch, the following command: keyctl request2 user b a @s will provoke the following lockdep warning is displayed in dmesg: =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- security/keys/keyring.c:727 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 2 locks held by keyctl/2076: #0: (key_types_sem){.+.+.+}, at: [] key_type_lookup+0x1c/0x71 #1: (keyring_serialise_link_sem){+.+.+.}, at: [] __key_link+0x4d/0x3c5 stack backtrace: Pid: 2076, comm: keyctl Not tainted 2.6.34-rc6-cachefs #54 Call Trace: [] lockdep_rcu_dereference+0xaa/0xb2 [] ? __key_link+0x4d/0x3c5 [] __key_link+0x19e/0x3c5 [] ? __key_instantiate_and_link+0xb1/0xdc [] ? key_instantiate_and_link+0x42/0x5f [] call_sbin_request_key+0xe7/0x33b [] ? mutex_unlock+0x9/0xb [] ? __key_instantiate_and_link+0xb1/0xdc [] ? key_instantiate_and_link+0x42/0x5f [] ? request_key_auth_new+0x1c2/0x23c [] ? cache_alloc_debugcheck_after+0x108/0x173 [] ? request_key_and_link+0x146/0x300 [] ? kmem_cache_alloc+0xe1/0x118 [] request_key_and_link+0x28b/0x300 [] sys_request_key+0xf7/0x14a [] ? trace_hardirqs_on_caller+0x10c/0x130 [] ? trace_hardirqs_on_thunk+0x3a/0x3f [] system_call_fastpath+0x16/0x1b Signed-off-by: David Howells Signed-off-by: James Morris commit f0641cba7729e5e14f82d2eedc398103f5fa31b1 Author: David Howells Date: Fri Apr 30 14:32:18 2010 +0100 KEYS: Use RCU dereference wrappers in keyring key type code The keyring key type code should use RCU dereference wrappers, even when it holds the keyring's key semaphore. Reported-by: Vegard Nossum Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit cea7daa3589d6b550546a8c8963599f7c1a3ae5c Author: Toshiyuki Okajima Date: Fri Apr 30 14:32:13 2010 +0100 KEYS: find_keyring_by_name() can gain access to a freed keyring find_keyring_by_name() can gain access to a keyring that has had its reference count reduced to zero, and is thus ready to be freed. This then allows the dead keyring to be brought back into use whilst it is being destroyed. The following timeline illustrates the process: |(cleaner) (user) | | free_user(user) sys_keyctl() | | | | key_put(user->session_keyring) keyctl_get_keyring_ID() | || //=> keyring->usage = 0 | | |schedule_work(&key_cleanup_task) lookup_user_key() | || | | kmem_cache_free(,user) | | . |[KEY_SPEC_USER_KEYRING] | . install_user_keyrings() | . || | key_cleanup() [<= worker_thread()] || | | || | [spin_lock(&key_serial_lock)] |[mutex_lock(&key_user_keyr..mutex)] | | || | atomic_read() == 0 || | |{ rb_ease(&key->serial_node,) } || | | || | [spin_unlock(&key_serial_lock)] |find_keyring_by_name() | | ||| | keyring_destroy(keyring) ||[read_lock(&keyring_name_lock)] | || ||| | |[write_lock(&keyring_name_lock)] ||atomic_inc(&keyring->usage) | |. ||| *** GET freeing keyring *** | |. ||[read_unlock(&keyring_name_lock)] | || || | |list_del() |[mutex_unlock(&key_user_k..mutex)] | || | | |[write_unlock(&keyring_name_lock)] ** INVALID keyring is returned ** | | . | kmem_cache_free(,keyring) . | . | atomic_dec(&keyring->usage) v *** DESTROYED *** TIME If CONFIG_SLUB_DEBUG=y then we may see the following message generated: ============================================================================= BUG key_jar: Poison overwritten ----------------------------------------------------------------------------- INFO: 0xffff880197a7e200-0xffff880197a7e200. First byte 0x6a instead of 0x6b INFO: Allocated in key_alloc+0x10b/0x35f age=25 cpu=1 pid=5086 INFO: Freed in key_cleanup+0xd0/0xd5 age=12 cpu=1 pid=10 INFO: Slab 0xffffea000592cb90 objects=16 used=2 fp=0xffff880197a7e200 flags=0x200000000000c3 INFO: Object 0xffff880197a7e200 @offset=512 fp=0xffff880197a7e300 Bytes b4 0xffff880197a7e1f0: 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a 5a ZZZZZZZZZZZZZZZZ Object 0xffff880197a7e200: 6a 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b jkkkkkkkkkkkkkkk Alternatively, we may see a system panic happen, such as: BUG: unable to handle kernel NULL pointer dereference at 0000000000000001 IP: [] kmem_cache_alloc+0x5b/0xe9 PGD 6b2b4067 PUD 6a80d067 PMD 0 Oops: 0000 [#1] SMP last sysfs file: /sys/kernel/kexec_crash_loaded CPU 1 ... Pid: 31245, comm: su Not tainted 2.6.34-rc5-nofixed-nodebug #2 D2089/PRIMERGY RIP: 0010:[] [] kmem_cache_alloc+0x5b/0xe9 RSP: 0018:ffff88006af3bd98 EFLAGS: 00010002 RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff88007d19900b RDX: 0000000100000000 RSI: 00000000000080d0 RDI: ffffffff81828430 RBP: ffffffff81828430 R08: ffff88000a293750 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000100000 R12: 00000000000080d0 R13: 00000000000080d0 R14: 0000000000000296 R15: ffffffff810f20ce FS: 00007f97116bc700(0000) GS:ffff88000a280000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000001 CR3: 000000006a91c000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process su (pid: 31245, threadinfo ffff88006af3a000, task ffff8800374414c0) Stack: 0000000512e0958e 0000000000008000 ffff880037f8d180 0000000000000001 0000000000000000 0000000000008001 ffff88007d199000 ffffffff810f20ce 0000000000008000 ffff88006af3be48 0000000000000024 ffffffff810face3 Call Trace: [] ? get_empty_filp+0x70/0x12f [] ? do_filp_open+0x145/0x590 [] ? tlb_finish_mmu+0x2a/0x33 [] ? unmap_region+0xd3/0xe2 [] ? virt_to_head_page+0x9/0x2d [] ? alloc_fd+0x69/0x10e [] ? do_sys_open+0x56/0xfc [] ? system_call_fastpath+0x16/0x1b Code: 0f 1f 44 00 00 49 89 c6 fa 66 0f 1f 44 00 00 65 4c 8b 04 25 60 e8 00 00 48 8b 45 00 49 01 c0 49 8b 18 48 85 db 74 0d 48 63 45 18 <48> 8b 04 03 49 89 00 eb 14 4c 89 f9 83 ca ff 44 89 e6 48 89 ef RIP [] kmem_cache_alloc+0x5b/0xe9 This problem is that find_keyring_by_name does not confirm that the keyring is valid before accepting it. Skipping keyrings that have been reduced to a zero count seems the way to go. To this end, use atomic_inc_not_zero() to increment the usage count and skip the candidate keyring if that returns false. The following script _may_ cause the bug to happen, but there's no guarantee as the window of opportunity is small: #!/bin/sh LOOP=100000 USER=dummy_user /bin/su -c "exit;" $USER || { /usr/sbin/adduser -m $USER; add=1; } for ((i=0; i /dev/null" $USER done (( add == 1 )) && /usr/sbin/userdel -r $USER exit Note that the nominated user must not be in use. An alternative way of testing this may be: for ((i=0; i<100000; i++)) do keyctl session foo /bin/true || break done >&/dev/null as that uses a keyring named "foo" rather than relying on the user and user-session named keyrings. Reported-by: Toshiyuki Okajima Signed-off-by: David Howells Tested-by: Toshiyuki Okajima Acked-by: Serge Hallyn Signed-off-by: James Morris commit 69b5de84758237ee0086554849489baeeafcd097 Merge: bfe7078 8f0f5ff Author: Takashi Iwai Date: Wed May 5 10:08:30 2010 +0200 Merge branch 'fix/hda' into for-linus commit 8f0f5ff6777104084b4b2e1ae079541c2a6ed6d9 Author: Daniel T Chen Date: Wed Apr 28 18:00:11 2010 -0400 ALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 (Venice) BugLink: https://launchpad.net/bugs/541802 The OR's hardware distorts at PCM 100% because it does not correspond to 0 dB. Fix this in patch_cxt5045() for all Packard Bell models. Reported-by: Valombre Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 231f50bc0e9735fd1b3fd376a8d3b6a14aee0694 Author: Anisse Astier Date: Wed Apr 28 18:05:06 2010 +0200 ALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582 Add a quirk for all-in-one computer Dell Inspiron One 19 Touch to have proper HP and Mic support. Signed-off-by: Anisse Astier Signed-off-by: Takashi Iwai commit bfe70783ca8e61f1fc3588cd59c4f1b755e9d3cf Author: Dan Carpenter Date: Wed Apr 28 10:29:14 2010 +0200 ALSA: take tu->qlock with irqs disabled We should disable irqs when we take the tu->qlock because it is used in the irq handler. The only place that doesn't is snd_timer_user_ccallback(). Most of the time snd_timer_user_ccallback() is called with interrupts disabled but the the first ti->ccallback() call in snd_timer_notify1() has interrupts enabled. This was caught by lockdep which generates the following message: > ================================= > [ INFO: inconsistent lock state ] > 2.6.34-rc5 #5 > --------------------------------- > inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. > dolphin/4003 [HC1[1]:SC0[0]:HE0:SE1] takes: > (&(&tu->qlock)->rlock){?.+...}, at: [] snd_timer_user_tinterrupt+0x28/0x132 [snd_timer] > {HARDIRQ-ON-W} state was registered at: > [] __lock_acquire+0x654/0x1482 > [] lock_acquire+0x5c/0x73 > [] _raw_spin_lock+0x25/0x34 > [] snd_timer_user_ccallback+0x55/0x95 [snd_timer] > [] snd_timer_notify1+0x53/0xca [snd_timer] Reported-by: Stefan Richter Signed-off-by: Dan Carpenter Signed-off-by: Takashi Iwai commit 7cff0943a1104479fc9fc2d6ced24c02ba81e73e Author: Mattias Walström Date: Wed May 5 00:55:48 2010 -0700 FEC: Fix kernel panic in fec_set_mac_address. Fix memory corruption that sometimes result in kernel panic. Signed-off-by: Mattias Walström Signed-off-by: David S. Miller commit c53666813813a0ea3d0391e1911eefc05a5e6b4f Author: Daniel T Chen Date: Tue May 4 22:07:58 2010 -0400 ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite P500-PSPGSC-01800T BugLink: https://launchpad.net/bugs/549267 The OR verified that using the olpc-xo-1_5 model quirk allows the headphones to be audible when inserted into the jack. Capture was also verified to work correctly. Reported-by: Richard Gagne Tested-by: Richard Gagne Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 4442dd4613fe3795b4c8a5f42fc96b7ffb90d01a Author: Daniel T Chen Date: Mon May 3 20:39:31 2010 -0400 ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F BugLink: https://launchpad.net/bugs/573284 The OR verified that using the olpc-xo-1_5 model quirk allows the headphones to be audible when inserted into the jack. Capture was also verified to work correctly. Reported-by: Andy Couldrake Tested-by: Andy Couldrake Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 8dd34ab111dc6ccb35a1a7a59222cb9bb0160e6f Author: Brian J. Tarricone Date: Sun May 2 17:32:10 2010 -0700 ALSA: hda - fix array indexing while creating inputs for Cirrus codecs This fixes a problem where cards show up as only having a single mixer element, suppressing all sound output. Signed-off-by: Brian J. Tarricone Signed-off-by: Takashi Iwai commit 7ebd467551ed6ae200d7835a84bbda0dcadaa511 Merge: d7526f2 68b3adb Author: Linus Torvalds Date: Tue May 4 19:08:12 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms/legacy: only enable load detection property on DVI-I drm/radeon/kms: fix panel scaling adjusted mode setup drivers/gpu/drm/drm_sysfs.c: sysfs files error handling drivers/gpu/drm/radeon/radeon_atombios.c: range check issues gpu: vga_switcheroo, fix lock imbalance drivers/gpu/drm/drm_memory.c: fix check for end of loop drivers/gpu/drm/via/via_video.c: fix off by one issue drm/radeon/kms/agp The wrong AGP chipset can cause a NULL pointer dereference drm/radeon/kms: r300 fix CS checker to allow zbuffer-only fastfill commit d7526f271f2111684211fc7d27814e86a36336c9 Merge: 67bff7c b810e94 Author: Linus Torvalds Date: Tue May 4 19:07:35 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: powernow-k8: Fix frequency reporting x86: Fix parse_reservetop() build failure on certain configs x86: Fix NULL pointer access in irq_force_complete_move() for Xen guests x86: Fix 'reservetop=' functionality commit 67bff7c087f91f79dfa97a33a3aeb147eb467093 Merge: 7572e56 cf8304e Author: Linus Torvalds Date: Tue May 4 18:49:34 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: KEYS: Fix RCU handling in key_gc_keyring() KEYS: Fix an RCU warning in the reading of user keys commit cf8304e8f380903de3a15dc6ebd551c9e6cf1a21 Author: David Howells Date: Tue May 4 14:16:10 2010 +0100 KEYS: Fix RCU handling in key_gc_keyring() key_gc_keyring() needs to either hold the RCU read lock or hold the keyring semaphore if it's going to scan the keyring's list. Given that it only needs to read the key list, and it's doing so under a spinlock, the RCU read lock is the thing to use. Furthermore, the RCU check added in e7b0a61b7929632d36cf052d9e2820ef0a9c1bfe is incorrect as holding the spinlock on key_serial_lock is not grounds for assuming a keyring's pointer list can be read safely. Instead, a simple rcu_dereference() inside of the previously mentioned RCU read lock is what we want. Reported-by: Serge E. Hallyn Signed-off-by: David Howells Acked-by: Serge Hallyn Acked-by: "Paul E. McKenney" Signed-off-by: James Morris commit d9a9b4aeea334e7912ce3d878d7f5cc6fdf1ffe4 Author: David Howells Date: Fri Apr 30 14:32:08 2010 +0100 KEYS: Fix an RCU warning in the reading of user keys Fix an RCU warning in the reading of user keys: =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- security/keys/user_defined.c:202 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 1 lock held by keyctl/3637: #0: (&key->sem){+++++.}, at: [] keyctl_read_key+0x9c/0xcf stack backtrace: Pid: 3637, comm: keyctl Not tainted 2.6.34-rc5-cachefs #18 Call Trace: [] lockdep_rcu_dereference+0xaa/0xb2 [] user_read+0x47/0x91 [] keyctl_read_key+0xac/0xcf [] sys_keyctl+0x75/0xb7 [] system_call_fastpath+0x16/0x1b Signed-off-by: David Howells Acked-by: Serge Hallyn Signed-off-by: James Morris commit 68b3adb429e0abf5c0a3deb75d71671436b3af10 Author: Alex Deucher Date: Fri Apr 30 12:37:31 2010 -0400 drm/radeon/kms/legacy: only enable load detection property on DVI-I DVI-D doesn't have analog. This matches the avivo behavior. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3515387ba90ef2c38602f4d52c4d5ec5fc95ae5c Author: Alex Deucher Date: Fri Apr 30 12:00:44 2010 -0400 drm/radeon/kms: fix panel scaling adjusted mode setup This should duplicate exactly what the ddx does for both legacy and avivo. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7572e56314a7e2568f7196862222b45cfb9d6eda Merge: a66f637 d577632 Author: Linus Torvalds Date: Tue May 4 16:33:18 2010 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2: Avoid a gcc warning in ocfs2_wipe_inode(). ocfs2: Avoid direct write if we fall back to buffered I/O ocfs2_dlmfs: Fix math error when reading LVB. ocfs2: Update VFS inode's id info after reflink. ocfs2: potential ERR_PTR dereference on error paths ocfs2: Add directory entry later in ocfs2_symlink() and ocfs2_mknod() ocfs2: use OCFS2_INODE_SKIP_ORPHAN_DIR in ocfs2_mknod error path ocfs2: use OCFS2_INODE_SKIP_ORPHAN_DIR in ocfs2_symlink error path ocfs2: add OCFS2_INODE_SKIP_ORPHAN_DIR flag and honor it in the inode wipe code ocfs2: Reset status if we want to restart file extension. ocfs2: Compute metaecc for superblocks during online resize. ocfs2: Check the owner of a lockres inside the spinlock ocfs2: one more warning fix in ocfs2_file_aio_write(), v2 ocfs2_dlmfs: User DLM_* when decoding file open flags. commit 5dfc589a8467470226feccdc50f1b32713318e7b Author: Sage Weil Date: Tue May 4 16:14:46 2010 -0700 ceph: unregister bdi before kill_anon_super releases device name Unregister and destroy the bdi in put_super, after mount is r/o, but before put_anon_super releases the device name. For symmetry, bdi_destroy in destroy_client (we bdi_init in create_client). Only set s_bdi if bdi_register succeeds, since we use it to decide whether to bdi_unregister. Signed-off-by: Sage Weil commit a66f6375bdeb64d7a56c532bda7c006358845820 Author: David Howells Date: Tue May 4 13:42:53 2010 +0100 Fix the x86_64 implementation of call_rwsem_wait() The x86_64 call_rwsem_wait() treats the active state counter part of the R/W semaphore state as being 16-bit when it's actually 32-bit (it's half of the 64-bit state). It should do "decl %edx" not "decw %dx". Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit c81406d6423416f1e18a8a41a3b7ac415fdf13d3 Merge: f5fa05d 6629dcf Author: Linus Torvalds Date: Tue May 4 15:20:37 2010 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-core: Use per-adapter userspace device lists i2c: Fix probing of FSC hardware monitoring chips i2c-core: Erase pointer to clientdata on removal commit f5fa05d97252b23b12749a7cd02710870c0762b0 Merge: f2809d6 048c852 Author: Linus Torvalds Date: Tue May 4 15:16:15 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf: Fix resource leak in failure path of perf_event_open() commit f2809d61d6cf47c2ed2963ba3b4c59e709144ccb Merge: d93ac51 8b46f88 Author: Linus Torvalds Date: Tue May 4 15:15:43 2010 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: Fix RCU lockdep splat on freezer_fork path rcu: Fix RCU lockdep splat in set_task_cpu on fork path mutex: Don't spin when the owner CPU is offline or other weird cases commit 15d0a873549ef0bdeaa04dacf29a3e15de886d03 Author: Marc Zyngier Date: Tue May 4 13:33:54 2010 +0200 pcmcia: fix compilation after 16bit state locking changes Commit 04de0816 (pcmcia: pcmcia_dev_present bugfix) broke the deprecated ioctl layer. Fix it by getting rid of references to unexisting fields. Signed-off-by: Marc Zyngier Reported-by: Pavel Machek Signed-off-by: Dominik Brodowski commit 43821242078aeced1d576b4b54d7b4a9bd76ec05 Author: Dominik Brodowski Date: Mon May 3 15:10:09 2010 +0200 pcmcia: order userspace suspend and resume requests Assert that userspace suspend and resume requests appearing (almost) immediately are executed in the following order: suspend, resume. This should result in "pccardctl reset" behaving the same as before. Signed-off-by: Dominik Brodowski commit ea056df7965fc46cfff28fd3808bf3ada23d5059 Author: Catalin Marinas Date: Tue May 4 17:27:43 2010 +0100 ARM: 6093/1: Fix kernel memory printing for sparsemem The show_mem() and mem_init() function are assuming that the page map is contiguous and calculates the start and end page of a bank using (map + pfn). This fails with SPARSEMEM where pfn_to_page() must be used. Tested-by: Will Deacon Tested-by: Marek Vasut Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit ad4ba375373937817404fd92239ef4cadbded23b Author: Paul E. McKenney Date: Fri Apr 23 12:26:38 2010 -0700 memcg: css_id() must be called under rcu_read_lock() This patch fixes task_in_mem_cgroup(), mem_cgroup_uncharge_swapcache(), mem_cgroup_move_swap_account(), and is_target_pte_for_mc() to protect calls to css_id(). An additional RCU lockdep splat was reported for memcg_oom_wake_function(), however, this function is not yet in mainline as of 2.6.34-rc5. Reported-by: Li Zefan Cc: Daisuke Nishimura Cc: Balbir Singh Signed-off-by: KAMEZAWA Hiroyuki Tested-by: Li Zefan Signed-off-by: Paul E. McKenney Cc: Andrew Morton commit 1ce7e4ff24fe338438bc7837e02780f202bf202b Author: Li Zefan Date: Fri Apr 23 10:35:52 2010 +0800 cgroup: Check task_lock in task_subsys_state() Expand task_subsys_state()'s rcu_dereference_check() to include the full locking rule as documented in Documentation/cgroups/cgroups.txt by adding a check for task->alloc_lock being held. This fixes an RCU false positive when resuming from suspend. The warning comes from freezer cgroup in cgroup_freezing_or_frozen(). Signed-off-by: Li Zefan Acked-by: Matt Helsley Signed-off-by: Paul E. McKenney commit b629317e66fb1c6066c550dded45ab85a936163c Author: Li Zefan Date: Thu Apr 22 17:30:40 2010 +0800 sched: Fix an RCU warning in print_task() With CONFIG_PROVE_RCU=y, a warning can be triggered: $ cat /proc/sched_debug ... kernel/cgroup.c:1649 invoked rcu_dereference_check() without protection! ... Both cgroup_path() and task_group() should be called with either rcu_read_lock or cgroup_mutex held. The rcu_dereference_check() does include cgroup_lock_is_held(), so we know that this lock is not held. Therefore, in a CONFIG_PREEMPT kernel, to say nothing of a CONFIG_PREEMPT_RT kernel, the original code could have ended up copying a string out of the freelist. This patch inserts RCU read-side primitives needed to prevent this scenario. Signed-off-by: Li Zefan Signed-off-by: Paul E. McKenney commit fae9c791703606636c1220e47f6690660042ce7f Author: Li Zefan Date: Thu Apr 22 17:30:00 2010 +0800 cgroup: Fix an RCU warning in alloc_css_id() With CONFIG_PROVE_RCU=y, a warning can be triggered: # mount -t cgroup -o memory xxx /mnt # mkdir /mnt/0 ... kernel/cgroup.c:4442 invoked rcu_dereference_check() without protection! ... This is a false-positive. It's safe to directly access parent_css->id. Signed-off-by: Li Zefan Signed-off-by: Paul E. McKenney commit 9a9686b634acc5cb6b7c601c171ae64af0318a24 Author: Li Zefan Date: Thu Apr 22 17:29:24 2010 +0800 cgroup: Fix an RCU warning in cgroup_path() with CONFIG_PROVE_RCU=y, a warning can be triggered: # mount -t cgroup -o debug xxx /mnt # cat /proc/$$/cgroup ... kernel/cgroup.c:1649 invoked rcu_dereference_check() without protection! ... This is a false-positive, because cgroup_path() can be called with either rcu_read_lock() held or cgroup_mutex held. Signed-off-by: Li Zefan Signed-off-by: Paul E. McKenney commit e35ec2d2c1fc45dd3e46dde74bb0c4c4366125bf Author: David Howells Date: Wed Apr 21 17:36:35 2010 +0100 KEYS: Fix an RCU warning in the reading of user keys Fix an RCU warning in the reading of user keys: =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- security/keys/user_defined.c:202 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 1 lock held by keyctl/3637: #0: (&key->sem){+++++.}, at: [] keyctl_read_key+0x9c/0xcf stack backtrace: Pid: 3637, comm: keyctl Not tainted 2.6.34-rc5-cachefs #18 Call Trace: [] lockdep_rcu_dereference+0xaa/0xb2 [] user_read+0x47/0x91 [] keyctl_read_key+0xac/0xcf [] sys_keyctl+0x75/0xb7 [] system_call_fastpath+0x16/0x1b Signed-off-by: David Howells Signed-off-by: Paul E. McKenney commit bfeb0360de7713de8240cafd7ecf6058b6dbea0b Author: David Howells Date: Tue Apr 20 11:25:49 2010 +0100 KEYS: Fix an RCU warning Fix the following RCU warning: =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- security/keys/request_key.c:116 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 1 lock held by keyctl/5372: #0: (key_types_sem){.+.+.+}, at: [] key_type_lookup+0x1c/0x70 stack backtrace: Pid: 5372, comm: keyctl Not tainted 2.6.34-rc3-cachefs #150 Call Trace: [] lockdep_rcu_dereference+0xaa/0xb2 [] call_sbin_request_key+0x156/0x2b6 [] ? __key_instantiate_and_link+0xb1/0xdc [] ? key_instantiate_and_link+0x42/0x5f [] ? request_key_auth_new+0x17b/0x1f3 [] ? request_key_and_link+0x271/0x400 [] ? kmem_cache_alloc+0xe1/0x118 [] request_key_and_link+0x38b/0x400 [] sys_request_key+0xf7/0x14a [] ? trace_hardirqs_on_caller+0x10c/0x130 [] ? trace_hardirqs_on_thunk+0x3a/0x3f [] system_call_fastpath+0x16/0x1b This was caused by doing: [root@andromeda ~]# keyctl newring fred @s 539196288 [root@andromeda ~]# keyctl request2 user a a 539196288 request_key: Required key not available Signed-off-by: David Howells Acked-by: Eric Dumazet Signed-off-by: Paul E. McKenney commit 6629dcff19470a894ce294d0adb9cbab94ee1fb9 Author: Jean Delvare Date: Tue May 4 11:09:28 2010 +0200 i2c-core: Use per-adapter userspace device lists Using a single list for all userspace devices leads to a dead lock on multiplexed buses in some circumstances (mux chip instantiated from userspace). This is solved by using a separate list for each bus segment. Signed-off-by: Jean Delvare Acked-by: Michael Lawnick commit b1d4b390ea4bb480e65974ce522a04022608a8df Author: Jean Delvare Date: Tue May 4 11:09:28 2010 +0200 i2c: Fix probing of FSC hardware monitoring chips Some FSC hardware monitoring chips (Syleus at least) doesn't like quick writes we typically use to probe for I2C chips. Use a regular byte read instead for the address they live at (0x73). These are the only known chips living at this address on PC systems. For clarity, this fix should not be needed for kernels 2.6.30 and later, as we started instantiating the hwmon devices explicitly based on DMI data. Still, this fix is valuable in the following two cases: * Support for recent FSC chips on older kernels. The DMI-based device instantiation is more difficult to backport than the device support itself. * Case where the DMI-based device instantiation fails, whatever the reason. We fall back to probing in that case, so it should work. This fixes kernel bug #15634: https://bugzilla.kernel.org/show_bug.cgi?id=15634 Signed-off-by: Jean Delvare Acked-by: Hans de Goede Cc: stable@kernel.org commit e4a7b9b04de15f6b63da5ccdd373ffa3057a3681 Author: Wolfram Sang Date: Tue May 4 11:09:27 2010 +0200 i2c-core: Erase pointer to clientdata on removal After discovering that a lot of i2c-drivers leave the pointer to their clientdata dangling, it was decided to let the core handle this issue. It is assumed that the core may access the private data after remove() as there are no guarantees for the lifetime of such pointers anyhow (see thread starting at http://lkml.org/lkml/2010/3/21/68) Signed-off-by: Wolfram Sang Signed-off-by: Jean Delvare commit 26a6931ba7656dc0ebebee615ba87db8a8e71f2b Author: Christoph Fritz Date: Sat Apr 24 21:41:05 2010 -0700 Input: joydev - allow binding to button-only devices Dance pads don't have an axis, so allow this kind of controllers to be used via legacy joystick interface. Signed-off-by: Christoph Fritz Signed-off-by: Dmitry Torokhov commit 6a7cc883d6ad95bb89282fc04e917c16d2b5584f Merge: be1066b 5c3c7e6 Author: Jens Axboe Date: Tue May 4 08:48:53 2010 +0200 Merge branch 'for-jens' of git://git.drbd.org/linux-2.6-drbd into for-linus commit f935aa9e99d6ec74a50871c120e6b21de7256efb Author: David S. Miller Date: Mon May 3 23:42:27 2010 -0700 ipv6: Fix default multicast hops setting. As per RFC 3493 the default multicast hops setting for a socket should be "1" just like ipv4. Ironically we have a IPV6_DEFAULT_MCASTHOPS macro it just wasn't being used. Reported-by: Elliot Hughes Signed-off-by: David S. Miller commit e938fbfd4a7ac829d48b767c4dc365535d5c4f97 Author: Florian Ragwitz Date: Mon May 3 23:29:37 2010 -0700 Input: elantech - ignore high bits in the position coordinates In older versions of the elantech hardware/firmware those bits always were unset, so it didn't actually matter, but newer versions seem to use those high bits for something else, screwing up the coordinates we report to the input layer for those devices. Signed-off-by: Florian Ragwitz Signed-off-by: Dmitry Torokhov commit f81bc788ff91d4efd4baf88b2c29713838caa8e5 Author: Florian Ragwitz Date: Tue Apr 27 00:47:04 2010 -0700 Input: elantech - allow forcing Elantech protocol Apparently hardware vendors now ship elantech touchpads with different version magic. This options allows for them to be tested easier with the current driver in order to add their magic to the whitelist later. Signed-off-by: Florian Ragwitz Signed-off-by: Dmitry Torokhov commit 225c61aad38b12924b3df5f4ef43150c0d6bae8c Author: Florian Ragwitz Date: Tue Apr 27 00:45:10 2010 -0700 Input: elantech - fix firmware version check The check determining whether device should use 4- or 6-byte packets was trying to compare firmware with 2.48, but was failing on majors greater than 2. The new check ensures that versions like 4.1 are checked properly. Signed-off-by: Florian Ragwitz Signed-off-by: Dmitry Torokhov commit 5132088697fbfd1330facf723499091182f6ef91 Author: Jarod Wilson Date: Mon May 3 23:30:32 2010 -0700 Input: ati_remote - add some missing devices from lirc_atiusb The (out-of-tree) lirc_atiusb driver has a much longer list of devices it supports. Some of them look like they may just be guesses at possible device IDs, but a few are definitely confirmed devices. This adds the nVidia-branded RF receiver and the X10 Lola Wireless Video Sender device (which contains an RF receiver) to the list of devices in ati_remote. Signed-off-by: Jarod Wilson Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit b8b14c66765ccba884c5c4570bf8be361d211d95 Author: Kumar Gala Date: Mon May 3 07:36:22 2010 -0500 powerpc/swiotlb: Fix off by one in determining boundary of which ops to use When we compare the devices DMA mask to the amount of memory we need to make sure we treat the DMA mask as an address boundary. For example if the DMA_MASK(32) and we have 4G of memory we'd incorrectly set the dma ops to swiotlb. We need to add one to the dma mask when we convert it. Signed-off-by: Kumar Gala commit 1827d2e943eeb5cba0662f3e6edc342d6bd65ae6 Author: David S. Miller Date: Mon May 3 23:21:27 2010 -0700 net: ep93xx_eth stops receiving packets Receiving small packet(s) in a fast pace leads to not receiving any packets at all after some time. After ethernet packet(s) arrived the receive descriptor is incremented by the number of frames processed. If another packet arrives while processing, this is processed in another call of ep93xx_rx. This second call leads that too many receive descriptors getting released. This fix increments, even in these case, the right number of processed receive descriptors. Signed-off-by: Stefan Agner Acked-by: Lennert Buytenhek Signed-off-by: David S. Miller commit d577632e65ea01fb3b124b652d7bd2381251da3c Author: Joel Becker Date: Mon May 3 19:15:49 2010 -0700 ocfs2: Avoid a gcc warning in ocfs2_wipe_inode(). gcc warns that a variable is uninitialized. It's actually handled, but an early return fools gcc. Let's just initialize the variable to a garbage value that will crash if the usage is ever broken. Signed-off-by: Joel Becker commit d93ac51c7a129db7a1431d859a3ef45a0b1f3fc5 Merge: 37e27e3 b0930f8 Author: Linus Torvalds Date: Mon May 3 16:36:19 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: remove bad auth_x kmem_cache ceph: fix lockless caps check ceph: clear dir complete, invalidate dentry on replayed rename ceph: fix direct io truncate offset ceph: discard incoming messages with bad seq # ceph: fix seq counting for skipped messages ceph: add missing #includes ceph: fix leaked spinlock during mds reconnect ceph: print more useful version info on module load ceph: fix snap realm splits ceph: clear dir complete on d_move commit d05070091849015f8c5b7d55cd75b86ebb61b3ec Author: David J. Choi Date: Thu Apr 29 06:12:41 2010 +0000 drivers/net/phy: micrel phy driver This is the first version of phy driver from Micrel Inc. Signed-off-by: David J. Choi Signed-off-by: David S. Miller commit e9162ab1610531d6ea6c1833daeb2613e44275e8 Author: Peter Korsgaard Date: Mon May 3 10:01:26 2010 +0000 dm9601: fix phy/eeprom write routine Use correct bit positions in DM_SHARED_CTRL register for writes. Michael Planes recently encountered a 'KY-RS9600 USB-LAN converter', which came with a driver CD containing a Linux driver. This driver turns out to be a copy of dm9601.c with symbols renamed and my copyright stripped. That aside, it did contain 1 functional change in dm_write_shared_word(), and after checking the datasheet the original value was indeed wrong (read versus write bits). On Michaels HW, this change bumps receive speed from ~30KB/s to ~900KB/s. On other devices the difference is less spectacular, but still significant (~30%). Reported-by: Michael Planes CC: stable@kernel.org Signed-off-by: Peter Korsgaard Signed-off-by: David S. Miller commit 5c3c7e64bbcb60db39d0d55c8fab39ef41d41c30 Author: Lars Ellenberg Date: Sat Apr 10 02:10:09 2010 +0200 drbd: don't expose failed local READ to upper layers fix regression introduced in 8.3.3: commit a9b17323f2875f5d9b132c2b476a750bf44b10c7 Author: Lars Ellenberg Date: Wed Aug 12 15:18:33 2009 +0200 out-of-spinlock completion of master bio : (bio_rw(bio) == READA) ? read_completed_with_error : read_ahead_completed_with_error; is obviously not what was intended. No one noticed because of * page-cache at work, * local RAIDs Impact: Failed local READs are not retried remotely, but errored to upper layers, causing filesystems to remount read-only, or worse. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 19937d0482cfe194fe52e97e59aa58ec911de0d1 Author: Simon Arlott Date: Mon May 3 10:20:27 2010 +0000 ppp_generic: handle non-linear skbs when passing them to pppd Frequently when using PPPoE with an interface MTU greater than 1500, the skb is likely to be non-linear. If the skb needs to be passed to pppd then the skb data must be read correctly. The previous commit fixes an issue with accidentally sending skbs to pppd based on an invalid read of the protocol type. When that error occurred pppd was reading invalid skb data too. Signed-off-by: Simon Arlott Signed-off-by: David S. Miller commit ea8420e9f5dff7324607671f0b7ab7fbf726339d Author: Simon Arlott Date: Mon May 3 10:19:33 2010 +0000 ppp_generic: pull 2 bytes so that PPP_PROTO(skb) is valid In ppp_input(), PPP_PROTO(skb) may refer to invalid data in the skb. If this happens and (proto >= 0xc000 || proto == PPP_CCPFRAG) then the packet is passed directly to pppd. This occurs frequently when using PPPoE with an interface MTU greater than 1500 because the skb is more likely to be non-linear. The next 2 bytes need to be pulled in ppp_input(). The pull of 2 bytes in ppp_receive_frame() has been removed as it is no longer required. Signed-off-by: Simon Arlott Signed-off-by: David S. Miller commit b0930f8d38c6ab76dc8222a5a910a21392d38208 Author: Sage Weil Date: Thu Apr 29 13:26:53 2010 -0700 ceph: remove bad auth_x kmem_cache It's useless, since our allocations are already a power of 2. And it was allocated per-instance (not globally), which caused a name collision when we tried to mount a second file system with auth_x enabled. Signed-off-by: Sage Weil commit 7ff899da02cb674211858fcd919f8b4511a4423f Author: Sage Weil Date: Fri Apr 23 10:25:33 2010 -0700 ceph: fix lockless caps check The __ variant requires caller to hold i_lock. Signed-off-by: Sage Weil commit ea1409f96197c1bffe5d7d5bc967b3445edcc1fa Author: Sage Weil Date: Wed Apr 28 16:12:06 2010 -0700 ceph: clear dir complete, invalidate dentry on replayed rename If a rename operation is resent to the MDS following an MDS restart, the client does not get a full reply (containing the resulting metadata) back. In that case, a ceph_rename() needs to compensate by doing anything useful that fill_inode() would have, like d_move(). It also needs to invalidate the dentry (to workaround the vfs_rename_dir() bug) and clear the dir complete flag, just like fill_trace(). Signed-off-by: Sage Weil commit 5c6a2cdb4fe8aaf6b54f022c14f13d2a12b45914 Author: Sage Weil Date: Thu Apr 22 13:48:59 2010 -0700 ceph: fix direct io truncate offset truncate_inode_pages_range wants the end offset to align with the last byte in a page. Signed-off-by: Sage Weil commit ae18756b9fa7bb93132cff06cd8575e3d46633f9 Author: Sage Weil Date: Thu Apr 22 07:47:01 2010 -0700 ceph: discard incoming messages with bad seq # We can get old message seq #'s after a tcp reconnect for stateful sessions (i.e., the MDS). If we get a higher seq #, that is an error, and we shouldn't see any bad seq #'s for stateless (mon, osd) connections. Signed-off-by: Sage Weil commit 684be25c52a1e43638ced160be0b0b46596e7f2b Author: Sage Weil Date: Wed Apr 21 20:45:59 2010 -0700 ceph: fix seq counting for skipped messages Increment in_seq even when the message is skipped for some reason. Signed-off-by: Sage Weil commit d45d0d970f495e04a4e4f46acd74e90f4a4564f9 Author: Sage Weil Date: Tue Apr 20 15:20:33 2010 -0700 ceph: add missing #includes Signed-off-by: Sage Weil commit 0b0c06d1476290cea248923c0ee7be9fd61cacea Author: Sage Weil Date: Tue Apr 20 10:27:13 2010 -0700 ceph: fix leaked spinlock during mds reconnect Signed-off-by: Sage Weil commit c8f16584ac85444d51d8753c5df502350cfc7bb7 Author: Sage Weil Date: Mon Apr 19 13:50:26 2010 -0700 ceph: print more useful version info on module load Decouple the client version from the server side. Print relevant protocol and map version info instead. Signed-off-by: Sage Weil commit 91dee39eebcfb47085c4d457a584b0e9723b6ca0 Author: Sage Weil Date: Mon Apr 19 10:15:44 2010 -0700 ceph: fix snap realm splits The snap realm split was checking i_snap_realm, not the list_head, to determine if an inode belonged in the new realm. The check always failed, which meant we always moved the inode, corrupting the old realm's list and causing various crashes. Also wait to release old realm reference to avoid possibility of use after free. Signed-off-by: Sage Weil commit c10f5e12bafde7f7a2f9b75d76f7a68d62154e91 Author: Sage Weil Date: Fri Apr 16 12:56:11 2010 -0700 ceph: clear dir complete on d_move d_move() reorders the d_subdirs list, breaking the readdir result caching. Unless/until d_move preserves that ordering, clear CEPH_I_COMPLETE on rename. Signed-off-by: Sage Weil commit fddb33f2e8872fa4857dd29f0b71a523c9ed5577 Author: Antonio Ospite Date: Mon May 3 17:19:03 2010 +0200 HID: sony: fix sony_set_operational_bt Don't send the report type as part of the data, this prevents the controller from going into the operational state at all. This is completely equivalent to what the code originally meant to accomplish: as per in net/bluetooth/hidp/core.c::hidp_output_raw_report(), by using HID_FEATURE_REPORT here, what will be actually sent is (HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_FEATURE) which is exactly 0x53. Signed-off-by: Antonio Ospite Signed-off-by: Bastien Nocera Signed-off-by: Jiri Kosina commit 37e27e36bc416b07d853d493e6818d6a785507a2 Merge: 973bec3 d557f65 Author: Linus Torvalds Date: Mon May 3 07:54:08 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: watchdog: ep93xx_wdt.c fix default timout value in MODULE_PARM_DESC string. commit 973bec34bfc1bc2465646181653d67f767d418c8 Author: Ryusuke Konishi Date: Mon May 3 21:00:48 2010 +0900 nilfs2: fix sync silent failure As of 32a88aa1, __sync_filesystem() will return 0 if s_bdi is not set. And nilfs does not set s_bdi anywhere. I noticed this problem by the warning introduced by the recent commit 5129a469 ("Catch filesystem lacking s_bdi"). WARNING: at fs/super.c:959 vfs_kern_mount+0xc5/0x14e() Hardware name: PowerEdge 2850 Modules linked in: nilfs2 loop tpm_tis tpm tpm_bios video shpchp pci_hotplug output dcdbas Pid: 3773, comm: mount.nilfs2 Not tainted 2.6.34-rc6-debug #38 Call Trace: [] warn_slowpath_common+0x60/0x90 [] warn_slowpath_null+0xd/0x10 [] vfs_kern_mount+0xc5/0x14e [] do_kern_mount+0x32/0xbd [] do_mount+0x671/0x6d0 [] ? __get_free_pages+0x1f/0x21 [] ? copy_mount_options+0x2b/0xe2 [] ? strndup_user+0x48/0x67 [] sys_mount+0x61/0x8f [] sysenter_do_call+0x12/0x32 This ensures to set s_bdi for nilfs and fixes the sync silent failure. Signed-off-by: Ryusuke Konishi Acked-by: Jens Axboe Signed-off-by: Linus Torvalds commit ed7e2ca24bfff5c7a09de8a05c536f68560b34fb Author: Rafi Rubin Date: Mon May 3 05:08:30 2010 -0400 HID: ntrig: Remove unused macro, TripleTap and QuadTap Removing the higher number taps. Their usage was incorrect and even if correct they should not be used for a touch screen. _MT_ events should be used to communicate multiple fingers. Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit 250d377522fd81459a4ea2350a794b453f37ce7d Author: Rafi Rubin Date: Mon May 3 05:08:29 2010 -0400 HID: ntrig: TipSwitch for single touch mode touch. Include TipSwitch in the touch detection decision for some single touch firmwares. Confidence and InRange are high for all finger events including those used to indicate the finger is no longer in contact with the sensor. Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit b810e94c9d8e3fff6741b66cd5a6f099a7887871 Author: Mark Langsdorf Date: Wed Mar 31 21:56:45 2010 +0200 powernow-k8: Fix frequency reporting With F10, model 10, all valid frequencies are in the ACPI _PST table. Cc: # 33.x 32.x Signed-off-by: Mark Langsdorf LKML-Reference: <1270065406-1814-6-git-send-email-bp@amd64.org> Signed-off-by: Borislav Petkov Reviewed-by: Thomas Renninger Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar commit cc83b08fc791045ac197e6f4a030599bcd7100c5 Author: Dominik Brodowski Date: Thu Apr 29 15:56:25 2010 +0200 pcmcia: avoid pccard_validate_cis failure in resume callpath If the PCMCIA CIS changed before a resume event (e.g. due to a card exchange while being suspended, possibly also during a call to "pccardctl reset"), also set the function count to zero so that the subsequent call to pccard_validate_cis() does not fail. Signed-off-by: Dominik Brodowski commit ab92e74f799a1cbc6b3c9bf90ed05403689ddecc Merge: ea5ce65 17807f9 Author: Russell King Date: Mon May 3 11:52:23 2010 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 commit d557f651b3617b46ed18d5bac48a851df1dbf684 Author: Wim Van Sebroeck Date: Mon May 3 08:58:56 2010 +0000 watchdog: ep93xx_wdt.c fix default timout value in MODULE_PARM_DESC string. The WATCHDOG_TIMEOUT macro does not exist. The default timeout value is WDT_TIMEOUT. Fix the MODULE_PARM_DESC so that the code can compile again. reported-by: Randy Dunlap Signed-off-by: Wim Van Sebroeck commit 56f0e74c9cf98941af700b61466648a2d06277bb Author: Ingo Molnar Date: Mon May 3 09:19:43 2010 +0200 x86: Fix parse_reservetop() build failure on certain configs Commit e67a807 ("x86: Fix 'reservetop=' functionality") added a fixup_early_ioremap() call to parse_reservetop() and declared it in io.h. But asm/io.h was only included indirectly - and on some configs not at all, causing a build failure on those configs. Cc: Liang Li Cc: Konrad Rzeszutek Wilk Cc: Yinghai Lu Cc: Jeremy Fitzhardinge Cc: Wang Chen Cc: "H. Peter Anvin" Cc: Andrew Morton LKML-Reference: <1272621711-8683-1-git-send-email-liang.li@windriver.com> Signed-off-by: Ingo Molnar commit 1183f3838c588545592c042c0ce15015661ce7f2 Author: Jan Engelhardt Date: Sun May 2 13:42:39 2010 -0700 net: fix compile error due to double return type in SOCK_DEBUG Fix this one: include/net/sock.h: error: two or more data types in declaration specifiers Signed-off-by: Jan Engelhardt Signed-off-by: David S. Miller commit 5447ed6c968e7270b656afa273c2b79d15d82edd Author: Douglas Gilbert Date: Sun Apr 25 12:30:23 2010 +0200 [SCSI] scsi_debug: virtual_gb ignores sector_size In the scsi_debug driver, the virtual_gb option ignores the sector_size, implicitly assuming that is 512 bytes. So if 'virtual_gb=1 sector_size=4096' the result is an 8 GB (virtual) disk. Signed-off-by: Douglas Gilbert Cc: Stable Tree Signed-off-by: James Bottomley commit 96b1f96dcab87756c0a1e7ba76bc5dc2add82b88 Author: Mike Christie Date: Sat Apr 24 16:21:19 2010 -0500 [SCSI] libiscsi: regression: fix header digest errors This fixes a regression introduced with this commit: commit d3305f3407fa3e9452079ec6cc8379067456e4aa Author: Mike Christie Date: Thu Aug 20 15:10:58 2009 -0500 [SCSI] libiscsi: don't increment cmdsn if cmd is not sent in 2.6.32. When I moved the hdr->cmdsn after init_task, I added a bug when header digests are used. The problem is that the LLD may calculate the header digest in init_task, so if we then set the cmdsn after the init_task call we change what the digest will be calculated by the target. Signed-off-by: Mike Christie Cc: Stable Tree Signed-off-by: James Bottomley commit 6f1464bf65fcaa57a4b32dae93de4e8bbdfaf7c5 Author: Elina Pasheva Date: Wed Apr 28 13:28:24 2010 +0000 net/usb: initiate sync sequence in sierra_net.c driver The following patch adds the initiation of the sync sequence to "sierra_net_bind()". If this step is omitted, the modem will never sync up with the host and it will not be possible to establish a data connection. Signed-off-by: Elina Pasheva Signed-off-by: Rory Filer Tested-by: Elina Pasheva Signed-off-by: David S. Miller commit 70b25f890ce9f0520c64075ce9225a5b020a513e Author: Tejun Heo Date: Thu Apr 15 09:00:08 2010 +0900 [SCSI] fix locking around blk_abort_request() blk_abort_request() expects queue lock to be held by the caller. Grab it before calling the function. Lack of this synchronization led to infinite loop on corrupt q->timeout_list. Signed-off-by: Tejun Heo Cc: stable@kernel.org Signed-off-by: James Bottomley commit 17d2c0a0c4d4e074f0a2a5c0090ff6d88f5e1d44 Author: David Howells Date: Sat May 1 12:37:18 2010 -0400 NFS: Fix RCU issues in the NFSv4 delegation code Fix a number of RCU issues in the NFSv4 delegation code. (1) delegation->cred doesn't need to be RCU protected as it's essentially an invariant refcounted structure. By the time we get to nfs_free_delegation(), the delegation is being released, so no one else should be attempting to use the saved credentials, and they can be cleared. However, since the list of delegations could still be under traversal at this point by such as nfs_client_return_marked_delegations(), the cred should be released in nfs_do_free_delegation() rather than in nfs_free_delegation(). Simply using rcu_assign_pointer() to clear it is insufficient as that doesn't stop the cred from being destroyed, and nor does calling put_rpccred() after call_rcu(), given that the latter is asynchronous. (2) nfs_detach_delegation_locked() and nfs_inode_set_delegation() should use rcu_derefence_protected() because they can only be called if nfs_client::cl_lock is held, and that guards against anyone changing nfsi->delegation under it. Furthermore, the barrier imposed by rcu_dereference() is superfluous, given that the spin_lock() is also a barrier. (3) nfs_detach_delegation_locked() is now passed a pointer to the nfs_client struct so that it can issue lockdep advice based on clp->cl_lock for (2). (4) nfs_inode_return_delegation_noreclaim() and nfs_inode_return_delegation() should use rcu_access_pointer() outside the spinlocked region as they merely examine the pointer and don't follow it, thus rendering unnecessary the need to impose a partial ordering over the one item of interest. These result in an RCU warning like the following: [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- fs/nfs/delegation.c:332 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 2 locks held by mount.nfs4/2281: #0: (&type->s_umount_key#34){+.+...}, at: [] deactivate_super+0x60/0x80 #1: (iprune_sem){+.+...}, at: [] invalidate_inodes+0x39/0x13a stack backtrace: Pid: 2281, comm: mount.nfs4 Not tainted 2.6.34-rc1-cachefs #110 Call Trace: [] lockdep_rcu_dereference+0xaa/0xb2 [] nfs_inode_return_delegation_noreclaim+0x5b/0xa0 [nfs] [] nfs4_clear_inode+0x11/0x1e [nfs] [] clear_inode+0x9e/0xf8 [] dispose_list+0x67/0x10e [] invalidate_inodes+0x11c/0x13a [] generic_shutdown_super+0x42/0xf4 [] kill_anon_super+0x11/0x4f [] nfs4_kill_super+0x3f/0x72 [nfs] [] deactivate_super+0x68/0x80 [] mntput_no_expire+0xbb/0xf8 [] release_mounts+0x9a/0xb0 [] put_mnt_ns+0x6a/0x79 [] nfs_follow_remote_path+0x5a/0x146 [nfs] [] ? nfs_do_root_mount+0x82/0x95 [nfs] [] nfs4_try_mount+0x75/0xaf [nfs] [] nfs4_get_sb+0x291/0x31a [nfs] [] vfs_kern_mount+0xb8/0x177 [] do_kern_mount+0x48/0xe8 [] do_mount+0x782/0x7f9 [] sys_mount+0x83/0xbe [] system_call_fastpath+0x16/0x1b Also on: fs/nfs/delegation.c:215 invoked rcu_dereference_check() without protection! [] lockdep_rcu_dereference+0xaa/0xb2 [] nfs_inode_set_delegation+0xfe/0x219 [nfs] [] nfs4_opendata_to_nfs4_state+0x2c2/0x30d [nfs] [] nfs4_do_open+0x2a6/0x3a6 [nfs] ... And: fs/nfs/delegation.c:40 invoked rcu_dereference_check() without protection! [] lockdep_rcu_dereference+0xaa/0xb2 [] nfs_free_delegation+0x3d/0x6e [nfs] [] nfs_do_return_delegation+0x26/0x30 [nfs] [] __nfs_inode_return_delegation+0x1ef/0x1fe [nfs] [] nfs_client_return_marked_delegations+0xc9/0x124 [nfs] ... Signed-off-by: David Howells Signed-off-by: Paul E. McKenney Signed-off-by: Trond Myklebust commit 8f649c376254755f2261a693b3d48d09126218dc Author: Trond Myklebust Date: Sat May 1 12:36:18 2010 -0400 NFSv4: Fix the locking in nfs_inode_reclaim_delegation() Ensure that we correctly rcu-dereference the delegation itself, and that we protect against removal while we're changing the contents. Signed-off-by: Trond Myklebust Signed-off-by: David Howells Signed-off-by: Paul E. McKenney commit 9a908c1aa4d3898f62e2cb8af6936b16503ab3e6 Author: Herton Ronaldo Krzesinski Date: Tue Mar 30 13:35:38 2010 -0300 [SCSI] advansys: fix narrow board error path Error handling on advansys_board_found is fixed, because it's buggy in the case we have an ASC_NARROW_BOARD set and failure happens on AscInitAsc1000Driver step: it was freeing items of wrong struct in the dvc_var union of struct asc_board, which could lead to an oops in the case we set some of the fields in struct of narrow board as code was choosing to always freeing wide board fields, and not everything was being freed/released properly. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: James Bottomley commit 048c852051d2bd5da54a4488bc1f16b0fc74c695 Author: Tejun Heo Date: Sat May 1 10:11:35 2010 +0200 perf: Fix resource leak in failure path of perf_event_open() perf_event_open() kfrees event after init failure which doesn't release all resources allocated by perf_event_alloc(). Use free_event() instead. Signed-off-by: Tejun Heo Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: LKML-Reference: <4BDBE237.1040809@kernel.org> Signed-off-by: Ingo Molnar commit ea5ce655b90f5debb7b9768284eaafcca218ddef Author: Andrew Morton Date: Tue Apr 27 14:09:12 2010 -0700 arch/arm/include/asm/elf.h: forward-declare the task-struct iop32x_defconfig: In file included from include/linux/elf.h:7, from kernel/elfcore.c:1: arch/arm/include/asm/elf.h:101: warning: "struct task_struct" declared inside parameter list arch/arm/include/asm/elf.h:101: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Andrew Morton Signed-off-by: Russell King commit d54690fec751aad3907b512e8eba0de11e250f87 Author: Julia Lawall Date: Tue Apr 27 14:09:11 2010 -0700 arch/arm/plat-pxa/dma.c: correct NULL test Test the just-allocated value for NULL rather than some other value. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression x,y; statement S; @@ x = \(kmalloc\|kcalloc\|kzalloc\)(...); ( if ((x) == NULL) S | if ( - y + x == NULL) S ) // Signed-off-by: Julia Lawall Cc: Eric Miao Signed-off-by: Andrew Morton Signed-off-by: Russell King commit e5992c05ffaa405cd291aa9fbca042ad47d53632 Author: Dmitry Artamonow Date: Fri Apr 30 21:31:36 2010 +0100 ARM: 6076/1: SA1100: add processor check to sa1110-cpufreq driver Just to make sure that this driver won't run on StrongArm SA1100 when both SA1100 and SA1110 cpufreq drivers are built in (usually in multimachine config). SA1100 driver already has similar check. Signed-off-by: Dmitry Artamonow Acked-by: Eric Miao Acked-by: Kristoffer Ericson Signed-off-by: Russell King commit d2ae1587b8283e58e18b31f7764592f462edaf31 Author: Dmitry Artamonow Date: Fri Apr 30 21:28:45 2010 +0100 ARM: 6075/1: SA1100: fix wrong CPU type for h3100 and h3600 They have StrongARM SA1110, not SA1100. Signed-off-by: Dmitry Artamonow Acked-by: Eric Miao Acked-by: Kristoffer Ericson Signed-off-by: Russell King commit 99a0099a8441d734580df7df07ab8dcfbf84e916 Author: Russell King Date: Sat May 1 10:36:43 2010 +0100 ARM: Update mach-types Signed-off-by: Russell King commit 13ea9cc82138691856d7cd855dff9aef1479adb9 Author: Santosh Shilimkar Date: Fri Apr 30 06:51:20 2010 +0100 ARM: 6066/1: Fix "BUG: scheduling while atomic: swapper/0/0x00000002 This patch fixes the preempt leak in the cpuidle path invoked from cpu-hotplug. The fix is suggested by Russell King and is based on x86 idea of calling init_idle() on the idle task when it's re-used which also resets the preempt count amongst other things dump: BUG: scheduling while atomic: swapper/0/0x00000002 Modules linked in: Backtrace: [] (dump_backtrace+0x0/0x110) from [] (dump_stack+0x18/0x1c) r7:c02149e4 r6:c033df00 r5:c7836000 r4:00000000 [] (dump_stack+0x0/0x1c) from [] (__schedule_bug+0x60/0x70) [] (__schedule_bug+0x0/0x70) from [] (schedule+0x98/0x7b8) r5:c7836000 r4:c7836000 [] (schedule+0x0/0x7b8) from [] (cpu_idle+0xb4/0xd4) # [] (cpu_idle+0x0/0xd4) from [] (secondary_start_kernel+0xe0/0xf0) r5:c7836000 r4:c0205f40 [] (secondary_start_kernel+0x0/0xf0) from [] (prm_rmw_mod_reg_bits+0x88/0xa4) r7:c02149e4 r6:00000001 r5:00000001 r4:c7836000 Backtrace aborted due to bad frame pointer Cc: Catalin Marinas Signed-off-by: Santosh Shilimkar Signed-off-by: Russell King commit 124efc27a7090d4aaab68b28f7e7a5137f4ecec9 Author: Santosh Shilimkar Date: Fri Apr 30 10:45:46 2010 +0100 ARM: 6068/1: Fix build break with KPROBES enabled With CONFIG_KPROBES enabled two section are getting created which leads to below build break. LOG: AS arch/arm/kernel/entry-armv.o arch/arm/kernel/entry-armv.S: Assembler messages: arch/arm/kernel/entry-armv.S:431: Error: symbol ret_from_exception is in a different section arch/arm/kernel/entry-armv.S:490: Error: symbol ret_from_exception is in a different section arch/arm/kernel/entry-armv.S:491: Error: symbol __und_usr_unknown is in a different section This was introduced by commit 4260415f6a3b92c5c986398d96c314df37a4ccbf Reported-by: Anand Gadiyar Signed-off-by: Santosh Shilimkar Signed-off-by: Russell King commit 2fdc45c7c4c283bc6882de20d2d887dc3bfdd899 Author: Elina Pasheva Date: Fri Apr 30 19:05:28 2010 -0700 net/usb: remove default in Kconfig for sierra_net driver The following patch removes the default from the Kconfig entry for sierra_net driver as recommended. Signed-off-by: Elina Pasheva Signed-off-by: Rory Filer Signed-off-by: David S. Miller commit 6c3b9d3458a8272f1e4c6aed9e8325136f6380f9 Author: Eric Dumazet Date: Fri Apr 30 16:20:39 2010 -0700 r8169: Fix rtl8169_rx_interrupt() In case a reset is performed, rtl8169_rx_interrupt() is called from process context instead of softirq context. Special care must be taken to call appropriate network core services (netif_rx() instead of netif_receive_skb()). VLAN handling also corrected. Reported-by: Sergey Senozhatsky Tested-by: Sergey Senozhatsky Diagnosed-by: Oleg Nesterov Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 96ff56419504ac6a610ff1af42330e0423242e16 Author: Johannes Berg Date: Fri Apr 30 14:42:15 2010 -0700 iwlwifi: work around passive scan issue Some firmware versions don't behave properly when passive scanning is requested on radar channels without enabling active scanning on receiving a good frame. Work around that issue by asking the firmware to only enable the active scanning after receiving a huge number of good frames, a number that can never be reached during our dwell time. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit bbd391a15d82e14efe9d69ba64cadb855b061dba Author: Prarit Bhargava Date: Tue Apr 27 11:24:42 2010 -0400 x86: Fix NULL pointer access in irq_force_complete_move() for Xen guests Upstream PV guests fail to boot because of a NULL pointer in irq_force_complete_move(). It is possible that xen guests have irq_desc->chip_data = NULL. Test for NULL chip_data pointer before attempting to complete an irq move. Signed-off-by: Prarit Bhargava LKML-Reference: <20100427152434.16193.49104.sendpatchset@prarit.bos.redhat.com> Acked-by: Suresh Siddha Signed-off-by: H. Peter Anvin Cc: [2.6.33] commit 6b933c8e6f1a2f3118082c455eef25f9b1ac7b45 Author: Li Dongyang Date: Sat Apr 17 17:49:10 2010 +0800 ocfs2: Avoid direct write if we fall back to buffered I/O when we fall back to buffered write from direct write, we call __generic_file_aio_write() but that will end up doing direct write even we are only prepared to do buffered write because the file has the O_DIRECT flag set. This is a fix for https://bugzilla.novell.com/show_bug.cgi?id=591039 revised with Joel's comments. Signed-off-by: Li Dongyang Acked-by: Mark Fasheh Signed-off-by: Joel Becker commit f9221fd80343285514568da6c5dbda0f87109de8 Merge: a36d515 a9743fc Author: Joel Becker Date: Fri Apr 30 13:37:29 2010 -0700 Merge branch 'skip_delete_inode' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2-mark into ocfs2-fixes commit 54413b825ca502b9384edabf972c512c29d64010 Merge: be1066b 64fc74f Author: Linus Torvalds Date: Fri Apr 30 13:04:14 2010 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (27 commits) MIPS: Loongson 2F: Fix of problems introduced by -mfix-loongson2f-jump MIPS: Loongson-2F: Use CONFIG_CPU_JUMP_WORKAROUNDS to control workarounds. MIPS: Loongson 2F: Enable fixups of the latest binutils MIPS: Loongson: Add CPU_LOONGSON2F_WORKAROUNDS MIPS: Kconfig: Make Broadcom SoC support naming consistent MIPS: BCM63xx: Update defconfig MIPS: oprofile: Fix breakage when CONFIG_OPROFILE=m STAGING: octeon-ethernet: Use proper phy addresses for Movidis hardware. NET: mdio-octeon: Enable the hardware before using it. I2C: Fix section mismatch errors in i2c-octeon.c MIPS: Loongson: Fix LOONGSON_ADDRWIN_CFG macro. MIPS: Loongson: Fix phys_mem_access_prot() check MIPS: Loongson: Fix find_vga_mem_init() MIPS: Loongson: Fix typo in gdium mach type string. MIPS: Use CKSEG1ADDR for uncached handler MIPS: Check for accesses beyond the end of the PGD. MIPS: Use uasm_i_ds{r,l}l_safe() instead of uasm_i_ds{r,l}l() in tlbex.c MIPS: Add uasm_i_dsrl_safe() and uasm_i_dsll_safe() to uasm. MIPS: die() does not call die notifier chain MIPS: Swarm, Littlesur: Enable PATA platform driver. ... commit 6c9ae016a8e2aff931391d3baa9ce6cb0ffa633c Merge: 0c75ba2 0250ece Author: David S. Miller Date: Fri Apr 30 12:54:15 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 64fc74f5f6055e8470208a7d9cfc8d3994fff34d Author: Wu Zhangjin Date: Sat Apr 10 20:07:13 2010 +0800 MIPS: Loongson 2F: Fix of problems introduced by -mfix-loongson2f-jump The -mfix-loongson2f-jump option provided by latest CVS binutils have fixed the out-of-order issue of Loongson-2F described in chapter 15 of the Loongson2F User Manual [1, 2], but introduced some problems. The option changes all of the jump target to "addr & 0xcfffffff" through the at($1) register, but for the reboot address of Loongson 2F 0xbfc00000 this is wrong. Avoids the problem via telling the assembler to not use the $at register. [1] Loongson2F User Manual (Chinese Version) http://www.loongson.cn/uploadfile/file/200808211 [2] English Version of Chapter 15: http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Reported-and-tested-by: Liu Shiwei Signed-off-by: Wu Zhangjin Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/1109/ Signed-off-by: Ralf Baechle commit b197b6286650feb9c991826519065aac6f4399b1 Author: Wu Zhangjin Date: Sat Apr 10 20:07:01 2010 +0800 MIPS: Loongson-2F: Use CONFIG_CPU_JUMP_WORKAROUNDS to control workarounds. Signed-off-by: Wu Zhangjin Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/1106/ Signed-off-by: Ralf Baechle commit 8bbda428e90a2b638428fbb07abd80b9cb624a27 Author: Wu Zhangjin Date: Sat Apr 10 20:05:01 2010 +0800 MIPS: Loongson 2F: Enable fixups of the latest binutils With the "Fixups of Loongson2F" patch [1] having been applied to binutils for binutils 2.20.1 we now can use it's time to enable the options provided by the patch to compile the kernel. Without these fixups, the system may hang if the erratum is triggered. For more information on these fixups please refer to the following references. [1] "Fixups of Loongson2F" patch for binutils(actually for gas) http://sourceware.org/ml/binutils/2009-11/msg00387.html [2] Chapter 15 of "Loongson2F User Manual"(Chinese Version) http://www.loongson.cn/uploadfile/file/200808211 [3] Chapter 15 of the English version Loongson 2F User Manual http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Signed-off-by: Zhang Le Signed-off-by: Wu Zhangjin Cc: Zhang Le Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/1106/ Signed-off-by: Ralf Baechle commit 622844bf0b4cfa4f76d4a0ddc44266938385f5ab Author: Wu Zhangjin Date: Sat Apr 10 20:04:42 2010 +0800 MIPS: Loongson: Add CPU_LOONGSON2F_WORKAROUNDS As documented in the Loongson 2F User Manual [2, 3], the old Loongson2F series (2F01 / 2F02) have the NOP & JUMP issues which requires workarounds in the kernel and binutils. This issue has been rectified in Loongson 2F series 2F03 so no workarounds needed. Now that the workarounds [1] adding the the -mfix-loongson2f-nop and -mfix-loongson2f-jump options have been comitted to the binutils the CVS repository), we can add the workarounds in the kernel. The workarounds have no significant side effect on the system but may decrease performance so we control them through a a new CPU_LOONGSON2F_WORKAROUNDS config option allowing the users to only enable it as necessary. [1] "Fixups of Loongson2F" patch for binutils(actually for gas) http://sourceware.org/ml/binutils/2009-11/msg00387.html [2] Chapter 15 of "Loongson2F User Manual"(Chinese Version) http://www.loongson.cn/uploadfile/file/200808211 [3] English Version of the above chapter 15 http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Signed-off-by: Wu Zhangjin Cc: linux-mips Patchwork: http://patchwork.linux-mips.org/patch/1105/ Signed-off-by: Ralf Baechle commit c619366e36aa75beaaee630f3d6e468422ed9530 Author: Florian Fainelli Date: Thu Mar 25 11:42:41 2010 +0100 MIPS: Kconfig: Make Broadcom SoC support naming consistent Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1082/ Signed-off-by: Ralf Baechle commit a9af5a01cadc25a058ee1dfd3bd8abd8724a3ed8 Author: Florian Fainelli Date: Thu Mar 25 11:42:22 2010 +0100 MIPS: BCM63xx: Update defconfig the defconfig was out-of-sync since 2.6.30-rc6, update it with the new symbols and enable BCM6338, 6345, wireless, b43 driver and LEDs support. Signed-off-by: Fainelli To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1081/ Signed-off-by: Ralf Baechle commit 922010ff7b75737e6dc361f8eae9c2784ac1872d Author: Wu Zhangjin Date: Mon Apr 26 20:01:54 2010 +0800 MIPS: oprofile: Fix breakage when CONFIG_OPROFILE=m When the oprofile is compiled as a module do_IRQ() is not called in arch/mips/loongson/lemote-2f/irq.c due to a wrong #ifdef there. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1143/ Signed-off-by: Ralf Baechle commit 9dd147467790932e2f630b67eec925745463ee11 Author: David Daney Date: Thu Apr 1 18:17:55 2010 -0700 STAGING: octeon-ethernet: Use proper phy addresses for Movidis hardware. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/1091/ Acked-by: David S. Miller Acked-by: Greg Kroah-Hartman Signed-off-by: Ralf Baechle commit 6c17812d622a74950e2cd65f368f0518491cca61 Author: David Daney Date: Thu Apr 1 18:17:54 2010 -0700 NET: mdio-octeon: Enable the hardware before using it. In some cases the mdio bus is not enabled at the time of probing. This prevents anything from working, so we will enable it before trying to use it, and disable it when the driver is removed. Signed-off-by: David Daney To: linux-mips@linux-mips.org To: netdev@vger.kernel.org To: gregkh@suse.de Patchwork: http://patchwork.linux-mips.org/patch/1090/ Acked-by: David S. Miller Acked-by: Greg Kroah-Hartman Signed-off-by: Ralf Baechle commit 20f12160607c09e299a3e93c7bf4d75e8801c9b7 Author: David Daney Date: Mon Mar 8 11:04:21 2010 -0800 I2C: Fix section mismatch errors in i2c-octeon.c Signed-off-by: David Daney To: linux-i2c@vger.kernel.org To: ben-linux@fluff.org To: khali@linux-fr.org Cc: linux-mips@linux-mips.org Cc: rade.bozic.ext@nsn.com Patchwork: http://patchwork.linux-mips.org/patch/1037/ Signed-off-by: Ralf Baechle commit 94c26c9a66a35d4da3ab200864d1afd14c91fb71 Author: Arnaud Patard Date: Thu Apr 29 11:58:51 2010 +0200 MIPS: Loongson: Fix LOONGSON_ADDRWIN_CFG macro. There's a typo in the LOONGSON_ADDRWIN_CFG macro. The cpu window mmap register address should contain the destination parameters not the source one. This has not been noticed because the code is only using source = destination. Signed-off-by: Arnaud Patard To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1162/ Signed-off-by: Ralf Baechle commit 514b6d0c06a5d751259f145d9593b4d084c1cce3 Author: Arnaud Patard Date: Thu Apr 29 11:58:49 2010 +0200 MIPS: Loongson: Fix phys_mem_access_prot() check The check used to determine if uncached accelerated should be used or not is wrong. The parenthesis are misplaced and making the test fail. Signed-off-by: Arnaud Patard To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1161/ Signed-off-by: Ralf Baechle commit ff40ad72addb448c1285181820597a17685ee69a Author: Richard LIU Date: Thu Apr 29 11:58:47 2010 +0200 MIPS: Loongson: Fix find_vga_mem_init() This allows to use all display device for instance DISPLAY_OTHER like SM501. Signed-off-by: Arnaud Patard To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1160/ Signed-off-by: Ralf Baechle commit 1c6d541c23a92c1b74c9dc62b453f3ac5923fbe1 Author: Arnaud Patard Date: Thu Apr 29 11:58:46 2010 +0200 MIPS: Loongson: Fix typo in gdium mach type string. It's not "gidum" but "gdium". Signed-off-by: Arnaud Patard Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1159/ Signed-off-by: Ralf Baechle commit 4f81b01a30ffb338068d611e27da18c08db55464 Author: Sebastian Andrzej Siewior Date: Tue Apr 27 22:53:30 2010 +0200 MIPS: Use CKSEG1ADDR for uncached handler "MIPS: Calculate proper ebase value for 64-bit kernels" 9af43ea080dd5d6c7b34f38261780e5dd43537bc (lmo) rsp. f6be75d03c8870be91e6e2a195648ece04b6bb16 (kernel.org) broke some 64-bit MIPS systems. Before this we were using XKPHYS/cached as ebase and computed the uncached xphsys/unchached address for that area. After that commit ebase became a 32-bit compat address and convert does not work anymore. We now should use CKSEG1 for this. CKSEG1ADDR does just that in 32-bit and 64-bit. Signed-off-by: Sebastian Andrzej Siewior To: Ralf Baechle Patchwork: http://patchwork.linux-mips.org/patch/1149/ Signed-off-by: Ralf Baechle commit 1ec56329ff939aba29291c0dec1a28ceed660162 Author: David Daney Date: Wed Apr 28 12:16:18 2010 -0700 MIPS: Check for accesses beyond the end of the PGD. For some combinations of PAGE_SIZE and vmbits, it is possible to have userspace access that are beyond what is covered by the PGD, but within vmbits. Such an access would cause the TLB refill handler to load garbage values for PMD and PTE potentially giving userspace access to parts of the physical address space to which it is not entitled. In the TLB refill hot path, we add a single dsrl instruction so we can check if any bits outside of the range covered by the PGD are set. In the vmalloc side we then separate the bad case from the normal vmalloc case and call tlb_do_page_fault_0 if warranted. This slows us down a bit, but has the benefit of yielding deterministic behavior. [Ralf: Fixed build error for 32-bit kernels.] [Ralf: Folded lmo commit c8c0e22b2aa3982852b44279638ef37f9aa31b7d into this commit.] Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1152/ Signed-off-by: Ralf Baechle --- commit 3be6022c27ace1e3b4ba963e7ffd2e3b60cecd8a Author: David Daney Date: Wed Apr 28 12:16:17 2010 -0700 MIPS: Use uasm_i_ds{r,l}l_safe() instead of uasm_i_ds{r,l}l() in tlbex.c This makes the code somewhat cleaner while reducing the risk of shift amount overflows when various page table related options are changed. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1154/ Signed-off-by: Ralf Baechle commit 26b9e547e90db6b8b409084a9d4501124ff492b3 Author: David Daney Date: Wed Apr 28 12:16:16 2010 -0700 MIPS: Add uasm_i_dsrl_safe() and uasm_i_dsll_safe() to uasm. This allows us to clean up the code by not having to explicitly code checks for shift amounts greater than 32. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1153/ Signed-off-by: Ralf Baechle commit ce384d83d00ee457c3931d3fdb9fa2c38e345a3c Author: Yury Polyanskiy Date: Mon Apr 26 00:53:10 2010 -0400 MIPS: die() does not call die notifier chain The MIPS implementation of die() forgets to call notify_die() and thus notifiers registered via register_die_notifier() are not called. This results in kgdb not being activated on exceptions. The only subtlety is that notify_die declares its regs argument w/o const, so the const had to be removed from mips die() as well. [Ralf: Fixed build error for SGI IP22 and IP28 platforms.] Signed-off-by: Yury Polyanskiy Cc: linux-mips@linux-mips.org Patchworks: http://patchwork.linux-mips.org/patch/1142/ Acked-by: Jason Wessel Signed-off-by: Ralf Baechle --- commit fcf3ca4c3d6d911df8ee2b8f010ffe504d3aef71 Author: Sebastian Andrzej Siewior Date: Sun Apr 18 15:26:36 2010 +0200 MIPS: Swarm, Littlesur: Enable PATA platform driver. According to include/asm/sibyte/swarm.h both systems provide a platform device for the ide controler. Until now the IDE subsystem was used which is deprecated by now. The same structure can be used with the PATA driver. Signed-off-by: Sebastian Andrzej Siewior Cc: tbm@cyrius.com Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1127/ Signed-off-by: Ralf Baechle commit 0000a5390184af1459e82506fcfa7db96f3e6d33 Author: Manuel Lauss Date: Wed Apr 21 17:41:59 2010 +0200 MIPS: DB1200: PCMCIA card detection must not be auto-enabled. Same issues as SD card detection: One of both is always triggering and the handlers take care to shut it up and enable the other. To avoid messages about "unbalanced interrupt enable/disable" they must not be automatically enabled when initally requested. This was not an issue with the db1200_defconfig due to fortunate timings; on a build without network chip support the warnings appear. Signed-off-by: Manuel Lauss To: Linux-MIPS Patchwork: http://patchwork.linux-mips.org/patch/1133/ Signed-off-by: Ralf Baechle commit 0dfeecacd8e4405209f217944818b90016bb4a9d Author: Sebastian Andrzej Siewior Date: Wed Apr 21 20:57:08 2010 +0200 MIPS: SB1250: Include correct header and fix a warning | arch/mips/pci/pci-sb1250.c: In function sb1250_pcibios_init: | arch/mips/pci/pci-sb1250.c:257: warning: assignment makes integer from pointer without a cast | arch/mips/pci/pci-sb1250.c:285: error: MAX_NR_CONSOLES undeclared (first use in this function) | arch/mips/pci/pci-sb1250.c:285: error: (Each undeclared identifier is reported only once | arch/mips/pci/pci-sb1250.c:285: error: for each function it appears in.) Signed-off-by: Sebastian Andrzej Siewior Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1136/ Signed-off-by: Ralf Baechle commit b20947aaa0026efd7355ae4bf70b56a13a3f98b1 Author: Sebastian Andrzej Siewior Date: Wed Apr 21 22:36:47 2010 +0200 MIPS: Fixup screen_info struct initializations |arch/mips/sibyte/swarm/setup.c:153: | warning: large integer implicitly truncated to unsigned type The field was changed in d9b26352 aka ("x86, setup: Store the boot cursor state"). This patch changes the values back they way they were before this extra field got introduced. While here, the other two boards are also converted to C99 initializer. Signed-off-by: Sebastian Andrzej Siewior Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1137/ Signed-off-by: Ralf Baechle commit 9eed4124c0d56d39b06224765c65eaa35f580edf Author: Ralf Baechle Date: Wed Apr 21 11:39:07 2010 +0100 MIPS: cmpxchg.h: Fix excessive indentation. Signed-off-by: Ralf Baechle commit c8f3cc0b65af00be5f84c6d4ee45007643322713 Author: David Daney Date: Mon Apr 19 11:43:10 2010 -0700 MIPS: Don't vmap things at address zero. In the 64-bit kernel we use swapper_pg_dir for three different things. 1) xuseg mappings for kernel threads. 2) vmap mappings for all kernel-space accesses in xkseg. 3) vmap mappings for kernel modules in ksseg (kseg2). Due to how the TLB refill handlers work, any mapping established in xkseg or ksseg will also establish a xuseg mapping that should never be used by the kernel. In order to be able to use exceptions to trap NULL pointer dereferences, we need to ensure that nothing is mapped at address zero. Since vmap mappings in xkseg are reflected in xuseg, this means we need to ensure that there are no vmap mappings established at the start of xkseg. So we move back VMALLOC_START to avoid establishing vmap mappings at the start of xkseg. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1129/ Signed-off-by: Ralf Baechle commit b0b4ce38a535ed3de5ec6fdd4f3c34435a1c1d1e Author: Geert Uytterhoeven Date: Thu Apr 8 20:52:00 2010 +0200 MIPS: TXx9: Add missing MODULE_ALIAS definitions for TXx9 platform devices This enables autoloading of the TXx9 sound driver on RBTX4927. Signed-off-by: Geert Uytterhoeven To: Atsushi Nemoto Cc: Linux MIPS Mailing List Patchwork: http://patchwork.linux-mips.org/patch/1101/ Signed-off-by: Ralf Baechle commit 7270be03bc300f67c0b9eccde730937e802892b6 Author: Ralf Baechle Date: Fri Apr 30 20:10:41 2010 +0100 MIPS: PNX8550: Fix build error, broken by: commit 5a0e3ad6af8660be21ca98a971cd00f331318c05 Author: Tejun Heo Date: Wed Mar 24 17:04:11 2010 +0900 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h Since a while the few headers included don't drag in anymore, thus no more prototype of printk() resulting in: CC arch/mips/nxp/pnx8550/common/reset.o /home/ralf/src/linux/upstream-linus/arch/mips/nxp/pnx8550/common/reset.c: In function 'pnx8550_machine_restart': /home/ralf/src/linux/upstream-linus/arch/mips/nxp/pnx8550/common/reset.c:31: error: implicit declaration of function 'printk' /home/ralf/src/linux/upstream-linus/arch/mips/nxp/pnx8550/common/reset.c:33: error: 'NULL' undeclared (first use in this function) /home/ralf/src/linux/upstream-linus/arch/mips/nxp/pnx8550/common/reset.c:33: error: (Each undeclared identifier is reported only once /home/ralf/src/linux/upstream-linus/arch/mips/nxp/pnx8550/common/reset.c:33: error: for each function it appears in.) make[3]: *** [arch/mips/nxp/pnx8550/common/reset.o] Error 1 Fixed by including Signed-off-by: Ralf Baechle commit 0c75ba22541ccea88e89782373991109a7ec2a54 Author: Anton Blanchard Date: Wed Apr 28 21:46:06 2010 +0000 e1000e: Fix oops caused by ASPM patch. Commit 6f461f6c7c961f0b1b73c0f27becf472a0ac606b ("e1000e: enable/disable ASPM L0s and L1 and ERT according to hardware errata") oopses on one of my ppc64 boxes with a NULL pointer (0x4a): Unable to handle kernel paging request for data at address 0x0000004a Faulting instruction address: 0xc0000000004d2f1c cpu 0xe: Vector: 300 (Data Access) at [c000000bec1833a0] pc: c0000000004d2f1c: .e1000e_disable_aspm+0xe0/0x150 lr: c0000000004d2f0c: .e1000e_disable_aspm+0xd0/0x150 dar: 4a [c000000bec1836d0] c00000000069b9d8 .e1000_probe+0x84/0xe8c [c000000bec1837b0] c000000000386d90 .local_pci_probe+0x4c/0x68 [c000000bec183840] c0000000003872ac .pci_device_probe+0xfc/0x148 [c000000bec183900] c000000000409e8c .driver_probe_device+0xe4/0x1d0 [c000000bec1839a0] c00000000040a024 .__driver_attach+0xac/0xf4 [c000000bec183a40] c000000000409124 .bus_for_each_dev+0x9c/0x10c [c000000bec183b00] c000000000409c1c .driver_attach+0x40/0x60 [c000000bec183b90] c0000000004085dc .bus_add_driver+0x150/0x328 [c000000bec183c40] c00000000040a58c .driver_register+0x100/0x1c4 [c000000bec183cf0] c00000000038764c .__pci_register_driver+0x78/0x128 Seems like pdev->bus->self == NULL. I haven't touched pci in a long time so I'm trying to remember what this means (no pcie bridge perhaps?) The patch below fixes the oops for me. Signed-off-by: Anton Blanchard Reviewed-by: Bruce Allan Signed-off-by: David S. Miller commit be1066bbcd443a65df312fdecea7e4959adedb45 Merge: 87156d6 4839737 Author: Linus Torvalds Date: Fri Apr 30 10:16:55 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: Staging: vme: Re-introduce necessary brackets Staging: iio: fix up the iio_get_new_idr_val comment Staging: add Add Sitecom WL-349 to rtl8192su Staging: rt2860: add Belkin F5D8055 Wireless-N USB Dongle device id staging: rtl8192su: add Support for Belkin F5D8053 v6 Staging: dt3155: fix 50Hz configuration staging: usbip: Fix deadlock Staging: rtl8192su: add USB ID for 0bda:8171 Staging: hv: name network device ethX rather than sethX Staging: hv: Fix up memory leak on HvCleanup Staging: hv: Fix a bug affecting IPv6 staging: iio: ring_sw: Fix incorrect test on successful read of last value, causes infinite loop staging: iio: Function iio_get_new_idr_val() return negative value if fails. Staging: iio: adc: fix dangling pointers Staging: iio: light: fix dangling pointers Staging: iio: test for failed allocation staging: iio: lis3l02dq - incorrect ws used in container of call. commit 87156d692afdc4c689e99380a263445217a4b76c Merge: e4049eb c61fae9 Author: Linus Torvalds Date: Fri Apr 30 10:16:42 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: serial: drivers/serial/pmac_zilog.c: add missing unlock serial: 8250_pnp - add Fujitsu Wacom device tty: Fix regressions in the char driver conversion commit e4049eb8527668a6c7f97b944970b81d1316d5b0 Merge: 35d824b 8a3461e Author: Linus Torvalds Date: Fri Apr 30 10:16:11 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (29 commits) USB: sl811-hcd: Fix device disconnect USB: ohci-at91: fix power management hanging USB: rename usb_buffer_alloc() and usb_buffer_free() USB: ti_usb: fix printk format warning USB: gadget: s3c-hsotg: Add missing unlock USB: fix build on OMAPs if CONFIG_PM_RUNTIME is not set USB: oxu210hp: release spinlock on error path USB: serial: option: add cinterion device id USB: serial: option: ZTEAC8710 Support with Device ID 0xffff USB: serial: pl2303: Hybrid reader Uniform HCR331 USB: option: add ID for ZTE MF 330 USB: xhci: properly set endpoint context fields for periodic eps. USB: xhci: properly set the "Mult" field of the endpoint context. USB: OHCI: don't look at the root hub to get the number of ports USB: don't choose configs with no interfaces USB: cdc-acm: add another device quirk USB: fix testing the wrong variable in fs_create_by_name() usb: Fix tusb6010 for DMA API musb_core: fix musb_init_controller() error cleanup path MUSB: fix DaVinci glue layer dependency ... commit 35d824b28fc5544d1eb7c1e3db15a1740df8ec4b Author: Borislav Petkov Date: Fri Apr 30 15:19:02 2010 +0200 edac, mce: Fix wrong mask and macro usage Correct two mishaps which prevented reporting error type (CECC vs UECC) and extended error description. Cc: # 32.x, 33.x Signed-off-by: Borislav Petkov Signed-off-by: Linus Torvalds commit 12b1b321689cf92236fb216472744e39419fab30 Author: Ralf Baechle Date: Mon Mar 8 20:51:03 2010 +0100 Inotify: Fix build failure in inotify user support CONFIG_INOTIFY_USER defined but CONFIG_ANON_INODES undefined will result in the following build failure: LD vmlinux fs/built-in.o: In function 'sys_inotify_init1': (.text.sys_inotify_init1+0x22c): undefined reference to 'anon_inode_getfd' fs/built-in.o: In function `sys_inotify_init1': (.text.sys_inotify_init1+0x22c): relocation truncated to fit: R_MIPS_26 against 'anon_inode_getfd' make[2]: *** [vmlinux] Error 1 make[1]: *** [sub-make] Error 2 make: *** [all] Error 2 Signed-off-by: Ralf Baechle Cc: Al Viro Signed-off-by: Linus Torvalds commit 8f2adb7cab81fc4984ddfe3a1efd1b62d52bead8 Merge: 66f41d4 95b1ed2 Author: Linus Torvalds Date: Fri Apr 30 09:57:55 2010 -0700 Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6 * 'merge' of git://git.secretlab.ca/git/linux-2.6: spi: spidev_test gives error upon 1-byte transfer omap2_mcspi: small fixes of output data format omap2_mcspi: Flush posted writes spi: spi_device memory should be released instead of device. spi: release device claimed by bus_find_device_by_name of: check for IS_ERR() serial/mpc52xx_uart: Drop outdated comments gpio: potential null dereference commit 4839737b3b6af2a9b3b960584f08177fbc9bf118 Author: Martyn Welch Date: Mon Mar 22 14:58:43 2010 +0000 Staging: vme: Re-introduce necessary brackets Somehow I managed to remove a set of rather necessary brackets in commit 29848ac9f3b33bf171439ae2d66d40e6a71446c4. Put them back. Signed-off-by: Martyn Welch Signed-off-by: Greg Kroah-Hartman commit f3cdc28520a059feb8b5001655f01536ab1e0167 Author: Andrew Morton Date: Tue Apr 27 11:29:54 2010 -0700 Staging: iio: fix up the iio_get_new_idr_val comment improve the comment a bit Cc: Greg KH Cc: Jonathan Cameron Cc: Sonic Zhang Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 64a5a09218626464be35e0229d85b2ab0fcf03fd Author: Rodrigo Linfati Date: Wed Apr 28 22:32:13 2010 +0200 Staging: add Add Sitecom WL-349 to rtl8192su Add usb id of Sitecom WL-349 to rtl8192su Signed-off-by: Rodrigo Linfati Signed-off-by: Greg Kroah-Hartman commit 12840c63b0679f7fab88ea1cc26b52db8b574ce7 Author: Chris Largret Date: Wed Mar 3 05:24:26 2010 -0600 Staging: rt2860: add Belkin F5D8055 Wireless-N USB Dongle device id Add Belkin F5D8055 Wireless-N USB support to the rt2870 staging driver. Signed-off-by: Chris Largret Signed-off-by: Greg Kroah-Hartman commit d615da093eb0f691a73a754589e2a4a24a6f1ca7 Author: Richard Airlie Date: Mon Apr 5 22:22:46 2010 +0100 staging: rtl8192su: add Support for Belkin F5D8053 v6 Please find attached a patch which adds the device ID for the Belkin F5D8053 v6 to the rtl8192su driver. I've tested this in 2.6.34-rc3 (Ubuntu 9.10 amd64) and the network adapter is working flawlessly. Signed-off-by: Richard Airlie Signed-off-by: Greg Kroah-Hartman commit 6536560cabab170ed2969b005bf69a496e9c45bf Author: H Hartley Sweeten Date: Wed Apr 14 18:29:17 2010 -0500 Staging: dt3155: fix 50Hz configuration According to the header file, dt3155_io.h, the 50/60 Hz configuration is controlled by a bit in the I2C CSR2 register (bit 2). The function dt3155_init_isr actually reads the I2C CONFIG register into the global I2C_CSR union variable then modifies the bit. It then does a write to the I2C CONFIG register with the global I2C_CONFIG union variable which is not even set with a value anywhere in the driver. My guess is 50Hz operation doesn't even work as-is. Fix this by actually reading and writing the correct register with the correct value. Signed-off-by: H Hartley Sweeten Cc: Simon Horman Signed-off-by: Greg Kroah-Hartman commit d01f42a22ef381ba973958e977209ac9a8667d57 Author: Eric Lescouet Date: Sat Apr 24 02:55:24 2010 +0200 staging: usbip: Fix deadlock When detaching a port from the client side (usbip --detach 0), the event thread, on the server side, is going to deadlock. The "eh" server thread is getting USBIP_EH_RESET event and calls: -> stub_device_reset() -> usb_reset_device() the USB framework is then calling back _in the same "eh" thread_ : -> stub_disconnect() -> usbip_stop_eh() -> wait_for_completion() the "eh" thread is being asleep forever, waiting for its own completion. This patch checks if "eh" is the current thread, in usbip_stop_eh(). Signed-off-by: Eric Lescouet Cc: stable Signed-off-by: Greg Kroah-Hartman commit c0087580b8d414f6874cfe93d2653212842fcb44 Author: Pavel Roskin Date: Tue Mar 9 23:11:07 2010 -0500 Staging: rtl8192su: add USB ID for 0bda:8171 Signed-off-by: Pavel Roskin Signed-off-by: Greg Kroah-Hartman commit 546d9e101e7a71e6202f47a13ddcd9b8fb05a52e Author: Stephen Hemminger Date: Thu Mar 11 09:11:37 2010 -0800 Staging: hv: name network device ethX rather than sethX This patch makes the HyperV network device use the same naming scheme as other virtual drivers (Xen, KVM). In an ideal world, userspace tools would not care what the name is, but some users and applications do care. Vyatta CLI is one of the tools that does depend on what the name is. Signed-off-by: Stephen Hemminger Cc: Hank Janssen Cc: stable Signed-off-by: Greg Kroah-Hartman commit fa8ad0257ea256381126ecf447694622216c600f Author: Cyrill Gorcunov Date: Mon Apr 5 20:56:57 2010 +0400 Staging: hv: Fix up memory leak on HvCleanup Don't assign NULL too early Signed-off-by: Cyrill Gorcunov Cc: Hank Janssen Cc: Haiyang Zhang Cc: stable Signed-off-by: Greg Kroah-Hartman commit 95beae90aa4afce57fb28e6f8238b78217bd7c98 Author: Haiyang Zhang Date: Mon Apr 19 15:32:11 2010 +0000 Staging: hv: Fix a bug affecting IPv6 Fix a bug affecting IPv6 Added the multicast flag for proper IPv6 function. Reported-by: Toshikazu Sakai Signed-off-by: Hank Janssen Signed-off-by: Haiyang Zhang Cc: stable Signed-off-by: Greg Kroah-Hartman commit 4845187b39b79e3c1d4474c2767ddc7fb493eb05 Author: Jonathan Cameron Date: Tue Mar 30 17:45:04 2010 +0100 staging: iio: ring_sw: Fix incorrect test on successful read of last value, causes infinite loop This is a bad one. The test means that almost no reads of the last value ever succeed! Result is an infinite loop. Another one for the 'oops' category. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit a8947fcf3bbeda9fc6ff1205e51f8ff1b0128cc4 Author: Sonic Zhang Date: Mon Mar 22 12:27:05 2010 +0000 staging: iio: Function iio_get_new_idr_val() return negative value if fails. Function iio_get_new_idr_val() return negative value if fails. So, only error when ret < 0 in iio_device_register_eventset(). Signed-off-by: Sonic Zhang Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit ee58cb2bcda99ae934176ad5ae66f7699d23cd3d Author: Wolfram Sang Date: Sat Mar 20 15:13:02 2010 +0100 Staging: iio: adc: fix dangling pointers Fix I2C-drivers which missed setting clientdata to NULL before freeing the structure it points to. Also fix drivers which do this _after_ the structure was freed already. Signed-off-by: Wolfram Sang Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit b36fc07dc3c742bd704c59d85c8cf12585a00e41 Author: Wolfram Sang Date: Sat Mar 20 15:13:03 2010 +0100 Staging: iio: light: fix dangling pointers Fix I2C-drivers which missed setting clientdata to NULL before freeing the structure it points to. Also fix drivers which do this _after_ the structure was freed already. Signed-off-by: Wolfram Sang Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit ef6d4f54cca5962127b47ee8a355611aafedd526 Author: Dan Carpenter Date: Tue Mar 16 13:03:49 2010 +0300 Staging: iio: test for failed allocation We should return test to see if iio_allocate_trigger() fails and return -ENOMEM. Signed-off-by: Dan Carpenter Acked-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 0b64c38b71d6e2c1049c75bb1d885031008700c1 Author: Jonathan Cameron Date: Thu Mar 11 17:29:48 2010 +0000 staging: iio: lis3l02dq - incorrect ws used in container of call. The word oops comes to mind. Original patch to merge the two work queues in here (prior to Greg taking them into staging) changed the top half to only use one of them and the bottom half to assume it was the other. Currently causes a NULL pointer dereference if you enable any of the events on an lis3l02dq. Just goes to show I need a few more regression tests. Signed-of-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman commit 8a3461e2cdb719ae4796feb70054f1597005af28 Author: Michael Hennerich Date: Wed Apr 28 17:31:36 2010 -0400 USB: sl811-hcd: Fix device disconnect A while ago I provided a patch that fixed device detection after device removal (USB: sl811-hcd: Fix device disconnect). Chris Brissette pointed out that the detection/removal counter method to distinguish insert or remove my fail under certain conditions. Latest SL811HS datasheet (Document 38-08008 Rev. *D) indicates that bit 6 (SL11H_INTMASK_RD) of the Interrupt Status Register together with bit 5 (SL11H_INTMASK_INSRMV) can be used to determine whether a device has been inserted or removed. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 869aa98c1d6a03dd2078f8f8257a0bcc343cb8b9 Author: Patrice Vilchez Date: Wed Apr 28 13:45:40 2010 +0200 USB: ohci-at91: fix power management hanging A hanging has been detected in ohci-at91 while going in suspend to ram. This is due to asynchronous operations between ohci reset and ohci clocks shutdown. This patch adds the reading of the control register between the reset of the ohci and clocks stop. This "flush the writes" idea was taken from ohci-hcd.c file (ohci_shutdown() function). Signed-off-by: Patrice Vilchez Signed-off-by: Nicolas Ferre Signed-off-by: Greg Kroah-Hartman commit 073900a28d95c75a706bf40ebf092ea048c7b236 Author: Daniel Mack Date: Mon Apr 12 13:17:25 2010 +0200 USB: rename usb_buffer_alloc() and usb_buffer_free() For more clearance what the functions actually do, usb_buffer_alloc() is renamed to usb_alloc_coherent() usb_buffer_free() is renamed to usb_free_coherent() They should only be used in code which really needs DMA coherency. [added compatibility macros so we can convert things easier - gregkh] Signed-off-by: Daniel Mack Cc: Alan Stern Cc: Pedro Ribeiro Signed-off-by: Greg Kroah-Hartman commit 75181f386f9a80ed6f87763ac6cf05826e253ccd Author: Randy Dunlap Date: Thu Apr 15 11:38:56 2010 -0700 USB: ti_usb: fix printk format warning Fix printk format warning in usbserial/ti_usb: drivers/usb/serial/ti_usb_3410_5052.c:1738: warning: format '%d' expects type 'int', but argument 5 has type 'size_t' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 19c190f9e0fe926db28122a804111a7538dc3498 Author: Julia Lawall Date: Mon Mar 29 17:36:44 2010 +0200 USB: gadget: s3c-hsotg: Add missing unlock In an error handling case the lock is not unlocked. The return is converted to a goto, to share the unlock at the end of the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irqsave (E1,...); ... when != E1 * return ...; ...+> } // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman commit 6d602610099632a9a15ef6d2bc9fd7b7d6aeb63e Author: Anand Gadiyar Date: Mon Mar 29 16:54:51 2010 +0530 USB: fix build on OMAPs if CONFIG_PM_RUNTIME is not set With patch as1329 (USB: convert to the runtime PM framework), we make USB_SUSPEND depend on PM_RUNTIME instead of CONFIG_PM. Also, CONFIG_USB_OTG selects CONFIG_USB_SUSPEND. If PM_RUNTIME is not enabled, and we try to enable USB_OTG, we will end up with CONFIG_USB_SUSPEND selected. This is due to a known bug with the select statement. This makes the build break on various OMAP configs (which have CONFIG_USB_OTG set by default, but do not yet have CONFIG_PM_RUNTIME enabled). Avoid this by changing the logic for CONFIG_USB_OTG from "select USB_SUSPEND" to "depends on USB_SUSPEND" Signed-off-by: Anand Gadiyar CC: Michal Marek CC: Tony Lindgren CC: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 82a5eeb9f486366ad1b6c3be2e0d328ca185aa7e Author: Dan Carpenter Date: Mon Mar 29 12:01:27 2010 +0300 USB: oxu210hp: release spinlock on error path Smatch complained about this missing spinlock. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman commit 6f44bcb60bfa58590142545096b64f44144f0bc1 Author: Greg Kroah-Hartman Date: Tue Apr 27 09:38:51 2010 -0700 USB: serial: option: add cinterion device id This adds a device id for a Cinterion device. Reported-by: John Race Signed-off-by: Greg Kroah-Hartman commit fe30bc1b16dcfbbadf3f77bbad1c9014b23704cd Author: Mahesh Kuruganti Date: Mon Apr 12 22:37:02 2010 +0530 USB: serial: option: ZTEAC8710 Support with Device ID 0xffff PATCH TO EXTEND SUPPORT TO AC8710 WITH 0xFFFF Product ID. Signed-off-by: Mahesh Kuruganti Signed-off-by: Greg Kroah-Hartman commit 18344a1cd5889d48dac67229fcf024ed300030d5 Author: Simone Contini Date: Mon Apr 12 23:25:10 2010 +0200 USB: serial: pl2303: Hybrid reader Uniform HCR331 I tried a magnetic stripe reader (http://www.kimaldi.com/kimaldi_eng/productos/lectores_de_tarjetas/lectores_tarjeta_chip_y_dni/lector_hibrido_uniform_hcr_331) and I see that it is interfaced with a PL2303. I wrote a patch to use your driver which simply adds the product ID for the device and it seems working fine. From: Simone Contini Signed-off-by: Greg Kroah-Hartman commit a559d2c8c1bf652ea2d0ecd6ab4a250fcdb37db8 Author: Dominik Brodowski Date: Wed Apr 14 21:36:42 2010 +0200 USB: option: add ID for ZTE MF 330 Based on the information provided for by Paweł Drobek, add a second vendor ID and the correct product ID for ZTE MF 330. Reported-by: Paweł Drobek Signed-off: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit 9238f25d5d32a435277eb234ec82bacdd5daed41 Author: Sarah Sharp Date: Fri Apr 16 08:07:27 2010 -0700 USB: xhci: properly set endpoint context fields for periodic eps. For periodic endpoints, we must let the xHCI hardware know the maximum payload an endpoint can transfer in one service interval. The xHCI specification refers to this as the Maximum Endpoint Service Interval Time Payload (Max ESIT Payload). This is used by the hardware for bandwidth management and scheduling of packets. For SuperSpeed endpoints, the maximum is calculated by multiplying the max packet size by the number of bursts and the number of opportunities to transfer within a service interval (the Mult field of the SuperSpeed Endpoint companion descriptor). Devices advertise this in the wBytesPerInterval field of their SuperSpeed Endpoint Companion Descriptor. For high speed devices, this is taken by multiplying the max packet size by the "number of additional transaction opportunities per microframe" (the high bits of the wMaxPacketSize field in the endpoint descriptor). For FS/LS devices, this is just the max packet size. The other thing we must set in the endpoint context is the Average TRB Length. This is supposed to be the average of the total bytes in the transfer descriptor (TD), divided by the number of transfer request blocks (TRBs) it takes to describe the TD. This gives the host controller an indication of whether the driver will be enqueuing a scatter gather list with many entries comprised of small buffers, or one contiguous buffer. It also takes into account the number of extra TRBs you need for every TD. This includes No-op TRBs and Link TRBs used to link ring segments together. Some drivers may choose to chain an Event Data TRB on the end of every TD, thus increasing the average number of TRBs per TD. The Linux xHCI driver does not use Event Data TRBs. In theory, if there was an API to allow drivers to state what their bandwidth requirements are, we could set this field accurately. For now, we set it to the same number as the Max ESIT payload. The Average TRB Length should also be set for bulk and control endpoints, but I have no idea how to guess what it should be. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1cf62246c0e394021e494e0a8f1013e80db1a1a9 Author: Sarah Sharp Date: Fri Apr 16 08:07:04 2010 -0700 USB: xhci: properly set the "Mult" field of the endpoint context. A SuperSpeed interrupt or isochronous endpoint can define the number of "burst transactions" it can handle in a service interval. This is indicated by the "Mult" bits in the bmAttributes of the SuperSpeed Endpoint Companion Descriptor. For example, if it has a max packet size of 1024, a max burst of 11, and a mult of 3, the host may send 33 1024-byte packets in one service interval. We must tell the xHCI host controller the number of multiple service opportunities (mults) the device can handle when the endpoint is installed. We do that by setting the Mult field of the Endpoint Context before a configure endpoint command is sent down. The Mult field is invalid for control or bulk SuperSpeed endpoints. Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit fcf7d2141f4a363a4a8454c4a0f26bb69e766c5f Author: Alan Stern Date: Tue Apr 20 10:37:57 2010 -0400 USB: OHCI: don't look at the root hub to get the number of ports This patch (as1371) fixes a small bug in ohci-hcd. The HCD already knows how many ports the controller has; there's no need to go looking at the root hub's usb_device structure to find out. Especially since the root hub's maxchild value is set correctly only while the root hub is bound to the hub driver. Signed-off-by: Alan Stern Cc: stable Signed-off-by: Greg Kroah-Hartman commit 62f9cfa3ece58268b3e92ca59c23b175f86205aa Author: Alan Stern Date: Tue Apr 20 10:40:59 2010 -0400 USB: don't choose configs with no interfaces This patch (as1372) fixes a bug in the routine that chooses the default configuration to install when a new USB device is detected. The algorithm is supposed to look for a config whose first interface is for a non-vendor-specific class. But the way it's currently written, it will also accept a config with no interfaces at all, which is not very useful. (Believe it or not, such things do exist.) Signed-off-by: Alan Stern Tested-by: Andrew Victor Cc: stable Signed-off-by: Greg Kroah-Hartman commit c3baa19b0a9b711b02cec81d9fea33b7b9628957 Author: Russ Nelson Date: Wed Apr 21 23:07:03 2010 -0400 USB: cdc-acm: add another device quirk The Maretron USB100 needs this quirk in order to work properly. Signed-off-by: Russ Nelson Signed-off-by: Greg Kroah-Hartman commit fa7fe7af146a7b613e36a311eefbbfb5555325d1 Author: Dan Carpenter Date: Thu Apr 22 12:00:52 2010 +0200 USB: fix testing the wrong variable in fs_create_by_name() There is a typo here. We should be testing "*dentry" which was just assigned instead of "dentry". This could result in dereferencing an ERR_PTR inside either usbfs_mkdir() or usbfs_create(). Signed-off-by: Dan Carpenter Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1d0f11b39728099100a768cab2d7a90389017e75 Author: Tony Lindgren Date: Fri Apr 23 17:41:15 2010 -0700 usb: Fix tusb6010 for DMA API Commit 18eabe2347ae7a11b3db768695913724166dfb0e introduced DMA buffer ownership. Fix tusb6010 accordingly. To compile, also dummy musb_platform_save and restore functions need to be added. Also change the order of musb_read_fifo() to happen after dma_cache_maint to have the DMA operations completed before moving the remaining unaligned bytes with PIO. The DMA access and PIO touch different areas of the FIFO, so this change only makes the code a bit easier to follow. Tested on n810 and g_ether with variable size ping test. The test seems to fail for some ping sizes, but that seems to be a different problem. Signed-off-by: Tony Lindgren Acked-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 34e2beb2c883e0ea1b6135ad6f7713f7574a01aa Author: Sergei Shtylyov Date: Thu Mar 25 13:14:33 2010 +0200 musb_core: fix musb_init_controller() error cleanup path This function forgets to call usb_remove_hcd() or musb_gadget_cleanup() iff sysfs_create_group() fails. [ felipe.balbi@nokia.com : review the entire error path not only when we fail hcd or gadget ] Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit c6a39eec9dcd5f205fd41a5c87a1f3e5d95ffaaa Author: Sergei Shtylyov Date: Thu Mar 25 13:14:24 2010 +0200 MUSB: fix DaVinci glue layer dependency CONFIG_ARCH_DAVINCI now embraces both the "real" DaVinci and DA8xx/OMAP-L1x -- on which the DaVinci glue layer won't work. Change the Makefile dependency to CONFIG_ARCH_DAVINCI_DMx which corresponds to "real" DaVinci. Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 461972d8a4c94bc44f11a13046041c78a7cf18dd Author: Sergei Shtylyov Date: Thu Mar 25 13:14:32 2010 +0200 musb_core: don't call musb_platform_exit() twice musb_platform_exit() is called twice from musb_init_controller() iff controller initialization fails. Move the call (and the DevCtl register writes surrounding it) from musb_free() to musb_remove(). Fix mispalced and now incorrect 'goto's in musb_init_controller(). Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 7917a9df73c13822cc830f0ead0fb1b44a930616 Author: Sergei Shtylyov Date: Thu Mar 25 13:14:31 2010 +0200 MUSB: OMAP: don't call clk_put() Remove duplicate/unbalanced call to clk_put() from musb_platform_exit() -- clk_put() gets called from musb_core.c anyway... Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 13962c747915e4d7ef4cf92c36bd06a7fe648f0b Author: Sergei Shtylyov Date: Thu Mar 25 13:14:30 2010 +0200 MUSB: DaVinci: fix musb_platform_init() error cleanup path This function forgets to call clk_disable() iff reading the USB module version register returns 0. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 3d0bfbf25957e04354389047f0e6ba520d58487c Author: Sergei Shtylyov Date: Thu Mar 25 13:14:29 2010 +0200 musb_core: don't prevent disabling clock on driver unload Resetting 'musb->clock' to NULL in musb_shutdown() prevents musb_platform_exit() from properly disabling the clock when unloading the driver -- don't do it. Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 1fb48f4a96ef3d4eee0a13b92a3e8489171b47c9 Author: Sergei Shtylyov Date: Thu Mar 25 13:14:28 2010 +0200 musb_core: don't touch 'musb->clock' in musb_free() Remove duplicate/unbalanced calls to clk_disable()/clk_put() in musb_free(): - clk_disable() is called by musb_platform_exit() just prior to this call; - clk_put() is called by the callers of musb_free() prior to calling it... Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 714bc5ef3edaec3ca0cf155fe01411760527c52e Author: Dan Carpenter Date: Thu Mar 25 13:14:27 2010 +0200 musb: potential use after free We assign "urb->hcpriv = qh;" a few lines down. I'm pretty sure we want it "urb->hcpriv" to be NULL not a freed value. Signed-off-by: Dan Carpenter Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 5e0e61afa5b342c0197fce2d4fd2a2b515e96b31 Author: Ajay Kumar Gupta Date: Thu Mar 25 13:14:26 2010 +0200 musb: save and restore missing bus control register Added the missing BUS_CONTROL register in musb save/restore routines. Signed-off-by: Ajay Kumar Gupta Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 2f831751c5a0511fec6a9074643d9914eedabc83 Author: Sergei Shtylyov Date: Thu Mar 25 13:14:25 2010 +0200 MUSB: Blackfin: don't fake blackfin_interrupt() result Commit a5073b52833e4df8e16c93dc4cbb7e0c558c74a2 (musb_gadget: fix unhandled endpoint 0 IRQs) misses this change to blackfin.c: stop faking successful result of blackfin_interrupt() and emitting a debug message on an unhandled interrupt. Signed-off-by: Sergei Shtylyov Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 1e753451eb1dc97ab8bdad3ae5278301e5b981bf Author: Ajay Kumar Gupta Date: Thu Mar 25 13:14:23 2010 +0200 musb: fix power field to hold all possible values MUSB can supply upto 500mA such as, AM3517 and OMAP3EVM Rev >=E and thus the 'power' field has to hold values above 255. Signed-off-by: Ajay Kumar Gupta Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit c61fae964a5ee04c4e4a01caecaf778c2e26e589 Author: Julia Lawall Date: Tue Apr 27 14:05:20 2010 -0700 serial: drivers/serial/pmac_zilog.c: add missing unlock In an error handling case the lock is not unlocked. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irqsave (E1,...); ... when != E1 * return ...; ...+> } // Signed-off-by: Julia Lawall Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d9901660b53b92f0f3551c06588b8be38224b245 Author: Ping Cheng Date: Mon Mar 22 13:40:29 2010 -0700 serial: 8250_pnp - add Fujitsu Wacom device Add Fujitsu Wacom 1FGT Tablet PC device Signed-off-by: Ping Cheng Cc: stable Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a2d1e3516c80027b2da17fb0b7ccd36f0ac33aa7 Author: Alan Cox Date: Fri Apr 23 16:01:18 2010 +0100 tty: Fix regressions in the char driver conversion This forgot to update a field in the old char drivers. The fact nobody has basically noticed (except one mxser user) rather suggests most of these drivers could go into the bitbucket. Signed-off-by: Alan Cox Cc: Jiri Slaby Cc: Dan Carpenter Cc: Andreas Pretzsch Signed-off-by: Greg Kroah-Hartman commit e67a807f3d9a82fa91817871f1c0e2e04da993b8 Author: Liang Li Date: Fri Apr 30 18:01:51 2010 +0800 x86: Fix 'reservetop=' functionality When specifying the 'reservetop=0xbadc0de' kernel parameter, the kernel will stop booting due to a early_ioremap bug that relates to commit 8827247ff. The root cause of boot failure problem is the value of 'slot_virt[i]' was initialized in setup_arch->early_ioremap_init(). But later in setup_arch, the function 'parse_early_param' will modify 'FIXADDR_TOP' when 'reservetop=0xbadc0de' being specified. The simplest fix might be use __fix_to_virt(idx0) to get updated value of 'FIXADDR_TOP' in '__early_ioremap' instead of reference old value from slot_virt[slot] directly. Changelog since v0: -v1: When reservetop being handled then FIXADDR_TOP get adjusted, Hence check prev_map then re-initialize slot_virt and PMD based on new FIXADDR_TOP. -v2: place fixup_early_ioremap hence call early_ioremap_init in reserve_top_address to re-initialize slot_virt and corresponding PMD when parse_reservertop -v3: move fixup_early_ioremap out of reserve_top_address to make sure other clients of reserve_top_address like xen/lguest won't broken Signed-off-by: Liang Li Tested-by: Konrad Rzeszutek Wilk Acked-by: Yinghai Lu Acked-by: Jeremy Fitzhardinge Cc: Wang Chen Cc: "H. Peter Anvin" Cc: Andrew Morton LKML-Reference: <1272621711-8683-1-git-send-email-liang.li@windriver.com> [ fixed three small cleanliness details in fixup_early_ioremap() ] Signed-off-by: Ingo Molnar commit 8b46f880841aac821af8efa6581bb0e46b8b9845 Author: Paul E. McKenney Date: Wed Apr 21 13:02:08 2010 -0700 rcu: Fix RCU lockdep splat on freezer_fork path Add an RCU read-side critical section to suppress this false positive. Located-by: Eric Paris Signed-off-by: Paul E. McKenney Acked-by: Li Zefan 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 Cc: eric.dumazet@gmail.com LKML-Reference: <1271880131-3951-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 8b08ca52f5942c21564bbb90ccfb61053f2c26a1 Author: Peter Zijlstra Date: Wed Apr 21 13:02:07 2010 -0700 rcu: Fix RCU lockdep splat in set_task_cpu on fork path Add an RCU read-side critical section to suppress this false positive. Located-by: Eric Paris Signed-off-by: Peter Zijlstra 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 Cc: eric.dumazet@gmail.com LKML-Reference: <1271880131-3951-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 47dd5be2d6a82b8153e059a1d09eb3879d485bfd Author: Oleg Nesterov Date: Fri Apr 30 07:23:51 2010 +0200 workqueue: flush_delayed_work: keep the original workqueue for re-queueing flush_delayed_work() always uses keventd_wq for re-queueing, but it should use the workqueue this dwork was queued on. Signed-off-by: Oleg Nesterov Signed-off-by: Tejun Heo commit 66f41d4c5c8a5deed66fdcc84509376c9a0bf9d8 Author: Linus Torvalds Date: Thu Apr 29 20:02:05 2010 -0700 Linux 2.6.34-rc6 commit b18262eda36e1f340e3c29a8da9a36b3452621f9 Merge: e97e712 56151e7 Author: Linus Torvalds Date: Thu Apr 29 20:01:42 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: don't needlessly skip PAGE_USER test for Fsl booke commit e97e7120eb24800cf8eb62c7da07b161cc2a8c73 Merge: fed0a9c 9bf729c Author: Linus Torvalds Date: Thu Apr 29 19:49:34 2010 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: add a shrinker to background inode reclaim commit 56151e753468e34aeb322af4b0309ab727c97d2e Author: Wufei Date: Wed Apr 28 17:42:32 2010 -0400 kgdb: don't needlessly skip PAGE_USER test for Fsl booke The bypassing of this test is a leftover from 2.4 vintage kernels, and is no longer appropriate, or even used by KGDB. Currently KGDB uses probe_kernel_write() for all access to memory via the KGDB core, so it can simply be deleted. This fixes CVE-2010-1446. CC: Benjamin Herrenschmidt CC: Paul Mackerras CC: Kumar Gala Signed-off-by: Wufei Signed-off-by: Jason Wessel commit fed0a9c644c7872f5bcaeb87a71103aef8e96761 Merge: 6bec119 3c2023d Author: Linus Torvalds Date: Thu Apr 29 17:18:07 2010 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: exofs: Fix "add bdi backing to mount session" fall out fs: fs/super.c needs to include backing-dev.h for !CONFIG_BLOCK commit 6bec11921a7d7b11d0b1909596636632aece5a26 Merge: 553cbf0 db7e1bc Author: Linus Torvalds Date: Thu Apr 29 17:17:35 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: 6061/1: PL061 GPIO: Bug fix - setting gpio for HIGH_LEVEL interrupt is not working. ARM: 5957/1: ARM: RealView SD/MMC Card detection and write-protect using GPIOLIB ARM: 6030/1: KS8695: enable console ARM: 6060/1: PL061 GPIO: Setting gpio val after changing direction to OUT. ARM: 6059/1: PL061 GPIO: Changing *_irq_chip_data with *_irq_data for real irqs. ARM: 6023/1: update bcmring_defconfig to latest version and fix build error ARM: fix build error in arch/arm/kernel/process.c commit 553cbf0a8f19c669bed82028988aa977558ef551 Merge: 27fb8d7 76ad4b8 Author: Linus Torvalds Date: Thu Apr 29 17:16:36 2010 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc/ps3: Update ps3_defconfig powerpc/ps3: Update platform maintainer powerpc/pseries: Flush lazy kernel mappings after unplug operations powerpc/numa: Add form 1 NUMA affinity powerpc/fsl-booke: Fix CONFIG_RELOCATABLE support on FSL Book-E ppc32 powerpc: 2.6.34 update of defconfigs for embedded 6xx/7xxx, 8xx, 8xxx powerpc/mpc8xxx defconfigs - turn off SYSFS_DEPRECATED powerpc/83xx: configure SIL SATA driver in 83xx-wide defconfig powerpc/83xx: enable EPOLL syscall in defconfig powerpc/83xx: add RTC drivers in 83xx defconfig powerpc/fsl-cpm: Configure clock correctly for SCC powerpc/fsl_booke: Correct test for MMU_FTR_BIG_PHYS powerpc/85xx/86xx: Fix build w/ CONFIG_PCI=n commit 95b1ed2ac7ffe3205afc6f5a20320fbdb984da92 Author: Hector Palacios Date: Thu Apr 29 15:02:28 2010 -0700 spi: spidev_test gives error upon 1-byte transfer The sample application spidev_test.c is using SPI_IOC_MESSAGE ioctl to do an SPI transfer. This ioctl returns the number of bytes successfully transmitted or a negative error code upon erroneous completion. The application however is returning an error if the result of the ioclt if the return value is 1. This makes the application to fail upon 1-byte length transfers. Signed-off-by: Hector Palacios Signed-off-by: Andrew Morton Signed-off-by: Grant Likely commit db7e1bc479cc941c53839b18ff811c7def0c52e7 Author: viresh kumar Date: Thu Apr 29 12:22:52 2010 +0100 ARM: 6061/1: PL061 GPIO: Bug fix - setting gpio for HIGH_LEVEL interrupt is not working. In current implementation of PL061, setting type of irq to HIGH_LEVEL is not working. This patch fixes this bug. Signed-off-by: Viresh Kumar Acked-by: Baruch Siach Signed-off-by: Russell King commit 9bf729c0af67897ea8498ce17c29b0683f7f2028 Author: Dave Chinner Date: Thu Apr 29 09:55:50 2010 +1000 xfs: add a shrinker to background inode reclaim On low memory boxes or those with highmem, kernel can OOM before the background reclaims inodes via xfssyncd. Add a shrinker to run inode reclaim so that it inode reclaim is expedited when memory is low. This is more complex than it needs to be because the VM folk don't want a context added to the shrinker infrastructure. Hence we need to add a global list of XFS mount structures so the shrinker can traverse them. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit 3c2023dd8ed31e2ecfbb2d5aa20e8884d4b339e2 Author: Boaz Harrosh Date: Thu Apr 29 20:35:29 2010 +0200 exofs: Fix "add bdi backing to mount session" fall out The patch: add bdi backing to mount session (b3d0ab7e60d1865bb6f6a79a77aaba22f2543236) Has a bug in the placement of the bdi member at struct exofs_sb_info. The layout member must be kept last. Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit 5477d0face8a3ba4e9a1e7283692fff9c92f8e5e Author: Jens Axboe Date: Thu Apr 29 20:33:35 2010 +0200 fs: fs/super.c needs to include backing-dev.h for !CONFIG_BLOCK When CONFIG_BLOCK is set, it ends up getting backing-dev.h included. But for !CONFIG_BLOCK, it isn't so lucky. The proper thing to do is include directly from the file it's used from, so do that. Signed-off-by: Jens Axboe commit 27fb8d7b1fe7c2fa2d7c1f243b899793e1b080e0 Merge: f80a0ca 9699eda Author: Linus Torvalds Date: Thu Apr 29 10:23:44 2010 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4 nfs: fix some issues in nfs41_proc_reclaim_complete() NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear NFS: Fix an unstable write data integrity race nfs: testing for null instead of ERR_PTR() NFS: rsize and wsize settings ignored on v4 mounts NFSv4: Don't attempt an atomic open if the file is a mountpoint SUNRPC: Fix a bug in rpcauth_prune_expired commit f80a0ca6ad8f2800453e819dafa09a0ed9e56850 Author: Arnd Bergmann Date: Wed Apr 28 14:36:41 2010 +0200 pktcdvd: improve BKL and compat_ioctl.c usage The pktcdvd driver uses proper locking and does not need the BKL in the ioctl and llseek functions of the character device, so kill both. Moving the compat_ioctl handling from common code into the driver itself fixes build problems when CONFIG_BLOCK is disabled. Acked-by: Randy Dunlap Signed-off-by: Arnd Bergmann Signed-off-by: Linus Torvalds commit a36fed12a4d980eebb2e67b87ea30ad090238cff Author: Boaz Harrosh Date: Thu Apr 29 13:38:00 2010 +0300 exofs: Fix "add bdi backing to mount session" fall out Commit b3d0ab7e60d1865bb6f6a79a77aaba22f2543236 ("exofs: add bdi backing to mount session") has a bug in the placement of the bdi member at struct exofs_sb_info. The layout member must be kept last. Signed-off-by: Boaz Harrosh Acked-by: Jens Axboe Signed-off-by: Linus Torvalds commit dfad53d48e32cd0e10eab98e986c76cdd957600f Merge: 79dba2e 7a0fc40 Author: Linus Torvalds Date: Wed Apr 28 20:41:55 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: x86: Disable large pages on CPUs with Atom erratum AAE44 x86-64: Clear a 64-bit FS/GS base on fork if selector is nonzero x86, mrst: Conditionally register cpu hotplug notifier for apbt commit 79dba2eaa771c3173957eccfd288e0e0d12e4d3f Merge: d9e80b7 48728e0 Author: Linus Torvalds Date: Wed Apr 28 20:40:17 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86/PCI: compute Address Space length rather than using _LEN x86/PCI: never allocate PCI MMIO resources below BIOS_END commit d9e80b7de91db05c1c4d2e5ebbfd70b3b3ba0e0f Author: Al Viro Date: Thu Apr 29 03:10:43 2010 +0100 nfs d_revalidate() is too trigger-happy with d_drop() If dentry found stale happens to be a root of disconnected tree, we can't d_drop() it; its d_hash is actually part of s_anon and d_drop() would simply hide it from shrink_dcache_for_umount(), leading to all sorts of fun, including busy inodes on umount and oopsen after that. Bug had been there since at least 2006 (commit c636eb already has it), so it's definitely -stable fodder. Signed-off-by: Al Viro Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit f238b414a74a13c3d62e31a08e81b585d750df74 Author: Bjorn Helgaas Date: Tue Apr 27 14:45:38 2010 -0600 PNPACPI: compute Address Space length rather than using _LEN ACPI _CRS Address Space Descriptors have _MIN, _MAX, and _LEN. Linux has been computing Address Spaces as [_MIN to _MIN + _LEN - 1]. Based on the tests in the bug reports below, Windows apparently uses [_MIN to _MAX]. Per spec (ACPI 4.0, Table 6-40), for _CRS fixed-size, fixed location descriptors, "_LEN must be (_MAX - _MIN + 1)", and when that's true, it doesn't matter which way we compute the end. But of course, there are BIOSes that don't follow this rule, and we're better off if Linux handles those exceptions the same way as Windows. This patch makes Linux use [_MIN to _MAX], as Windows seems to do. This effectively reverts 3162b6f0c5e and replaces it with simpler code. https://bugzilla.kernel.org/show_bug.cgi?id=14337 (round) https://bugzilla.kernel.org/show_bug.cgi?id=15480 (truncate) Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 03f80cc3f24e1dcdbdba081ed5daf5575aac6180 Author: Sebastian Siewior Date: Wed Apr 28 09:57:01 2010 +0000 net/sb1250: register mdio bus in probe "ifconfig eth0 up && ifconfig eth0 down" triggers: | kobject (a8000000cfa5a480): tried to init an initialized object, something is seriously wrong. | Call Trace: | [] dump_stack+0x8/0x34 | [] kobject_init+0xe8/0xf0 | [] device_initialize+0x2c/0x98 | [] device_register+0x14/0x28 | [] mdiobus_register+0xdc/0x1e0 | [] sbmac_open+0x58/0x220 | [] __dev_open+0x11c/0x180 | [] __dev_change_flags+0x120/0x180 | [] dev_change_flags+0x20/0x78 | [] devinet_ioctl+0x7cc/0x820 | [] sock_do_ioctl+0x38/0x90 | [] compat_sock_ioctl_trans+0x408/0x1030 | [] compat_sock_ioctl+0xb0/0xd0 | [] compat_sys_ioctl+0xa0/0x18b8 | [] handle_sys+0x114/0x130 | | sb1250-mac-mdio: probed mdiobus_register() calls device_register() which initializes the kobj of the device. mdiobus_unregister() calls only device_del() so we have one reference left. That one is leaving with mdiobus_free() which is only called on remove. Since I don't see any reason why mdiobus_register()/mdiobus_unregister() should happen in ->open()/->close() I move them to probe & exit. Signed-off-by: Sebastian Andrzej Siewior Signed-off-by: David S. Miller commit 5fa782c2f5ef6c2e4f04d3e228412c9b4a4c8809 Author: Neil Horman Date: Wed Apr 28 10:30:59 2010 +0000 sctp: Fix skb_over_panic resulting from multiple invalid parameter errors (CVE-2010-1173) (v4) Ok, version 4 Change Notes: 1) Minor cleanups, from Vlads notes Summary: Hey- Recently, it was reported to me that the kernel could oops in the following way: <5> kernel BUG at net/core/skbuff.c:91! <5> invalid operand: 0000 [#1] <5> Modules linked in: sctp netconsole nls_utf8 autofs4 sunrpc iptable_filter ip_tables cpufreq_powersave parport_pc lp parport vmblock(U) vsock(U) vmci(U) vmxnet(U) vmmemctl(U) vmhgfs(U) acpiphp dm_mirror dm_mod button battery ac md5 ipv6 uhci_hcd ehci_hcd snd_ens1371 snd_rawmidi snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_page_alloc snd_ac97_codec snd soundcore pcnet32 mii floppy ext3 jbd ata_piix libata mptscsih mptsas mptspi mptscsi mptbase sd_mod scsi_mod <5> CPU: 0 <5> EIP: 0060:[] Not tainted VLI <5> EFLAGS: 00010216 (2.6.9-89.0.25.EL) <5> EIP is at skb_over_panic+0x1f/0x2d <5> eax: 0000002c ebx: c033f461 ecx: c0357d96 edx: c040fd44 <5> esi: c033f461 edi: df653280 ebp: 00000000 esp: c040fd40 <5> ds: 007b es: 007b ss: 0068 <5> Process swapper (pid: 0, threadinfo=c040f000 task=c0370be0) <5> Stack: c0357d96 e0c29478 00000084 00000004 c033f461 df653280 d7883180 e0c2947d <5> 00000000 00000080 df653490 00000004 de4f1ac0 de4f1ac0 00000004 df653490 <5> 00000001 e0c2877a 08000800 de4f1ac0 df653490 00000000 e0c29d2e 00000004 <5> Call Trace: <5> [] sctp_addto_chunk+0xb0/0x128 [sctp] <5> [] sctp_addto_chunk+0xb5/0x128 [sctp] <5> [] sctp_init_cause+0x3f/0x47 [sctp] <5> [] sctp_process_unk_param+0xac/0xb8 [sctp] <5> [] sctp_verify_init+0xcc/0x134 [sctp] <5> [] sctp_sf_do_5_1B_init+0x83/0x28e [sctp] <5> [] sctp_do_sm+0x41/0x77 [sctp] <5> [] cache_grow+0x140/0x233 <5> [] sctp_endpoint_bh_rcv+0xc5/0x108 [sctp] <5> [] sctp_inq_push+0xe/0x10 [sctp] <5> [] sctp_rcv+0x454/0x509 [sctp] <5> [] ipt_hook+0x17/0x1c [iptable_filter] <5> [] nf_iterate+0x40/0x81 <5> [] ip_local_deliver_finish+0x0/0x151 <5> [] ip_local_deliver_finish+0xc6/0x151 <5> [] nf_hook_slow+0x83/0xb5 <5> [] ip_local_deliver+0x1a2/0x1a9 <5> [] ip_local_deliver_finish+0x0/0x151 <5> [] ip_rcv+0x334/0x3b4 <5> [] netif_receive_skb+0x320/0x35b <5> [] init_stall_timer+0x67/0x6a [uhci_hcd] <5> [] process_backlog+0x6c/0xd9 <5> [] net_rx_action+0xfe/0x1f8 <5> [] __do_softirq+0x35/0x79 <5> [] handle_IRQ_event+0x0/0x4f <5> [] do_softirq+0x46/0x4d Its an skb_over_panic BUG halt that results from processing an init chunk in which too many of its variable length parameters are in some way malformed. The problem is in sctp_process_unk_param: if (NULL == *errp) *errp = sctp_make_op_error_space(asoc, chunk, ntohs(chunk->chunk_hdr->length)); if (*errp) { sctp_init_cause(*errp, SCTP_ERROR_UNKNOWN_PARAM, WORD_ROUND(ntohs(param.p->length))); sctp_addto_chunk(*errp, WORD_ROUND(ntohs(param.p->length)), param.v); When we allocate an error chunk, we assume that the worst case scenario requires that we have chunk_hdr->length data allocated, which would be correct nominally, given that we call sctp_addto_chunk for the violating parameter. Unfortunately, we also, in sctp_init_cause insert a sctp_errhdr_t structure into the error chunk, so the worst case situation in which all parameters are in violation requires chunk_hdr->length+(sizeof(sctp_errhdr_t)*param_count) bytes of data. The result of this error is that a deliberately malformed packet sent to a listening host can cause a remote DOS, described in CVE-2010-1173: http://cve.mitre.org/cgi-bin/cvename.cgi?name=2010-1173 I've tested the below fix and confirmed that it fixes the issue. We move to a strategy whereby we allocate a fixed size error chunk and ignore errors we don't have space to report. Tested by me successfully Signed-off-by: Neil Horman Acked-by: Vlad Yasevich Signed-off-by: David S. Miller commit b56ba8aa6f3aeab23d3d4b1190ed1098463b2a9c Author: Colin Tuckley Date: Wed Feb 24 15:23:10 2010 +0100 ARM: 5957/1: ARM: RealView SD/MMC Card detection and write-protect using GPIOLIB The switch to using GPIOLIB broke the sd/mmc card detection on the RealView development boards if GPIO_PL061 was not selected. This patch selects GPIO_PL061 if GPIOLIB is selected. The sense of the return value from mmc_status has also changed and is corrected. Signed-off-by: Colin Tuckley Acked-by: Catalin Marinas Signed-off-by: Russell King commit 1d16b0f2f3edf05f12a9e3960588e0d4854157bb Merge: 032b734 4b99fef Author: Linus Torvalds Date: Wed Apr 28 13:37:31 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: regulator: fix enabling regulator issue on max8925 commit 032b734d291e3532221b6cf7643a5f41c6261941 Merge: 3fb938b e41c11e Author: Linus Torvalds Date: Wed Apr 28 13:37:06 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits) sfc: Change falcon_probe_board() to fail for unsupported boards sfc: Always close net device at the end of a disabling reset sfc: Wait at most 10ms for the MC to finish reading out MAC statistics sctp: Fix oops when sending queued ASCONF chunks sctp: fix to calc the INIT/INIT-ACK chunk length correctly is set sctp: per_cpu variables should be in bh_disabled section sctp: fix potential reference of a freed pointer sctp: avoid irq lock inversion while call sk->sk_data_ready() Revert "tcp: bind() fix when many ports are bound" net/usb: add sierra_net.c driver cdc_ether: fix autosuspend for mbm devices bluetooth: handle l2cap_create_connless_pdu() errors gianfar: Wait for both RX and TX to stop ipheth: potential null dereferences on error path smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt() drivers/usb/net/kaweth.c: add device "Allied Telesyn AT-USB10 USB Ethernet Adapter" bnx2: Update version to 2.0.9. bnx2: Prevent "scheduling while atomic" warning with cnic, bonding and vlan. bnx2: Fix lost MSI-X problem on 5709 NICs. cxgb3: Wait longer for control packets on initialization ... commit e41c11ee0cc602bcde68916be85fb97d1a484324 Author: Ben Hutchings Date: Wed Apr 28 09:01:50 2010 +0000 sfc: Change falcon_probe_board() to fail for unsupported boards The driver needs specific PHY and board support code for each SFC4000 board; there is no point trying to continue if it is missing. Currently unsupported boards can trigger an 'oops'. Signed-off-by: Ben Hutchings Cc: stable@kernel.org Signed-off-by: David S. Miller commit f49a4589e9e25ef525da449b1ce5597cb659bbb5 Author: Ben Hutchings Date: Wed Apr 28 09:01:33 2010 +0000 sfc: Always close net device at the end of a disabling reset This fixes a regression introduced by commit eb9f6744cbfa97674c13263802259b5aa0034594 "sfc: Implement ethtool reset operation". Signed-off-by: Ben Hutchings Cc: stable@kernel.org Signed-off-by: David S. Miller commit aabc5649078310094cbffb430fcbf9c25b6268f9 Author: Ben Hutchings Date: Wed Apr 28 09:00:35 2010 +0000 sfc: Wait at most 10ms for the MC to finish reading out MAC statistics The original code would wait indefinitely if MAC stats DMA failed. Signed-off-by: Ben Hutchings Cc: stable@kernel.org Signed-off-by: David S. Miller commit c0786693404cffd80ca3cb6e75ee7b35186b2825 Author: Vlad Yasevich Date: Wed Apr 28 08:47:22 2010 +0000 sctp: Fix oops when sending queued ASCONF chunks When we finish processing ASCONF_ACK chunk, we try to send the next queued ASCONF. This action runs the sctp state machine recursively and it's not prepared to do so. kernel BUG at kernel/timer.c:790! invalid opcode: 0000 [#1] SMP last sysfs file: /sys/module/ipv6/initstate Modules linked in: sha256_generic sctp libcrc32c ipv6 dm_multipath uinput 8139too i2c_piix4 8139cp mii i2c_core pcspkr virtio_net joydev floppy virtio_blk virtio_pci [last unloaded: scsi_wait_scan] Pid: 0, comm: swapper Not tainted 2.6.34-rc4 #15 /Bochs EIP: 0060:[] EFLAGS: 00010286 CPU: 0 EIP is at add_timer+0xd/0x1b EAX: cecbab14 EBX: 000000f0 ECX: c0957b1c EDX: 03595cf4 ESI: cecba800 EDI: cf276f00 EBP: c0957aa0 ESP: c0957aa0 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 Process swapper (pid: 0, ti=c0956000 task=c0988ba0 task.ti=c0956000) Stack: c0957ae0 d1851214 c0ab62e4 c0ab5f26 0500ffff 00000004 00000005 00000004 <0> 00000000 d18694fd 00000004 1666b892 cecba800 cecba800 c0957b14 00000004 <0> c0957b94 d1851b11 ceda8b00 cecba800 cf276f00 00000001 c0957b14 000000d0 Call Trace: [] ? sctp_side_effects+0x607/0xdfc [sctp] [] ? sctp_do_sm+0x108/0x159 [sctp] [] ? sctp_pname+0x0/0x1d [sctp] [] ? sctp_primitive_ASCONF+0x36/0x3b [sctp] [] ? sctp_process_asconf_ack+0x2a4/0x2d3 [sctp] [] ? sctp_sf_do_asconf_ack+0x1dd/0x2b4 [sctp] [] ? sctp_do_sm+0xb8/0x159 [sctp] [] ? sctp_cname+0x0/0x52 [sctp] [] ? sctp_assoc_bh_rcv+0xac/0xe1 [sctp] [] ? sctp_inq_push+0x2d/0x30 [sctp] [] ? sctp_rcv+0x797/0x82e [sctp] Tested-by: Wei Yongjun Signed-off-by: Yuansong Qiao Signed-off-by: Shuaijun Zhang Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit a8170c35e738d62e9919ce5b109cf4ed66e95bde Author: Wei Yongjun Date: Wed Apr 28 08:47:21 2010 +0000 sctp: fix to calc the INIT/INIT-ACK chunk length correctly is set When calculating the INIT/INIT-ACK chunk length, we should not only account the length of parameters, but also the parameters zero padding length, such as AUTH HMACS parameter and CHUNKS parameter. Without the parameters zero padding length we may get following oops. skb_over_panic: text:ce2068d2 len:130 put:6 head:cac3fe00 data:cac3fe00 tail:0xcac3fe82 end:0xcac3fe80 dev: ------------[ cut here ]------------ kernel BUG at net/core/skbuff.c:127! invalid opcode: 0000 [#2] SMP last sysfs file: /sys/module/aes_generic/initstate Modules linked in: authenc ...... Pid: 4102, comm: sctp_darn Tainted: G D 2.6.34-rc2 #6 EIP: 0060:[] EFLAGS: 00010282 CPU: 0 EIP is at skb_over_panic+0x37/0x3e EAX: 00000078 EBX: c07c024b ECX: c07c02b9 EDX: cb607b78 ESI: 00000000 EDI: cac3fe7a EBP: 00000002 ESP: cb607b74 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 Process sctp_darn (pid: 4102, ti=cb607000 task=cabdc990 task.ti=cb607000) Stack: c07c02b9 ce2068d2 00000082 00000006 cac3fe00 cac3fe00 cac3fe82 cac3fe80 <0> c07c024b cac3fe7c cac3fe7a c0608dec ca986e80 ce2068d2 00000006 0000007a <0> cb8120ca ca986e80 cb812000 00000003 cb8120c4 ce208a25 cb8120ca cadd9400 Call Trace: [] ? sctp_addto_chunk+0x45/0x85 [sctp] [] ? skb_put+0x2e/0x32 [] ? sctp_addto_chunk+0x45/0x85 [sctp] [] ? sctp_make_init+0x279/0x28c [sctp] [] ? apic_timer_interrupt+0x2a/0x30 [] ? sctp_sf_do_prm_asoc+0x2b/0x7b [sctp] [] ? sctp_do_sm+0xa0/0x14a [sctp] [] ? sctp_pname+0x0/0x14 [sctp] [] ? sctp_primitive_ASSOCIATE+0x2b/0x31 [sctp] [] ? sctp_sendmsg+0x7a0/0x9eb [sctp] [] ? inet_sendmsg+0x3b/0x43 [] ? task_tick_fair+0x2d/0xd9 [] ? sock_sendmsg+0xa7/0xc1 [] ? smp_apic_timer_interrupt+0x6b/0x75 [] ? dequeue_task_fair+0x34/0x19b [] ? sched_clock_local+0x17/0x11e [] ? _copy_from_user+0x2b/0x10c [] ? verify_iovec+0x3c/0x6a [] ? sys_sendmsg+0x186/0x1e2 [] ? __wake_up_common+0x34/0x5b [] ? __wake_up+0x2c/0x3b [] ? tty_wakeup+0x43/0x47 [] ? remove_wait_queue+0x16/0x24 [] ? n_tty_read+0x5b8/0x65e [] ? default_wake_function+0x0/0x8 [] ? sys_socketcall+0x17f/0x1cd [] ? sysenter_do_call+0x12/0x22 Code: 0f 45 de 53 ff b0 98 00 00 00 ff b0 94 ...... EIP: [] skb_over_panic+0x37/0x3e SS:ESP 0068:cb607b74 To reproduce: # modprobe sctp # echo 1 > /proc/sys/net/sctp/addip_enable # echo 1 > /proc/sys/net/sctp/auth_enable # sctp_test -H 3ffe:501:ffff:100:20c:29ff:fe4d:f37e -P 800 -l # sctp_darn -H 3ffe:501:ffff:100:20c:29ff:fe4d:f37e -P 900 -h 192.168.0.21 -p 800 -I -s -t sctp_darn ready to send... 3ffe:501:ffff:100:20c:29ff:fe4d:f37e:900-192.168.0.21:800 Interactive mode> bindx-add=192.168.0.21 3ffe:501:ffff:100:20c:29ff:fe4d:f37e:900-192.168.0.21:800 Interactive mode> bindx-add=192.168.1.21 3ffe:501:ffff:100:20c:29ff:fe4d:f37e:900-192.168.0.21:800 Interactive mode> snd=10 ------------------------------------------------------------------ eth0 has addresses: 3ffe:501:ffff:100:20c:29ff:fe4d:f37e and 192.168.0.21 eth1 has addresses: 192.168.1.21 ------------------------------------------------------------------ Reported-by: George Cheimonidis Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 81419d862db743fe4450a021893f24bab4698c1d Author: Vlad Yasevich Date: Wed Apr 28 08:47:20 2010 +0000 sctp: per_cpu variables should be in bh_disabled section Since the change of the atomics to percpu variables, we now have to disable BH in process context when touching percpu variables. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 0c42749cffbb4a06be86c5e5db6c7ebad548781f Author: Vlad Yasevich Date: Wed Apr 28 08:47:19 2010 +0000 sctp: fix potential reference of a freed pointer When sctp attempts to update an assocition, it removes any addresses that were not in the updated INITs. However, the loop may attempt to refrence a transport with address after removing it. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 561b1733a465cf9677356b40c27653dd45f1ac56 Author: Wei Yongjun Date: Wed Apr 28 08:47:18 2010 +0000 sctp: avoid irq lock inversion while call sk->sk_data_ready() sk->sk_data_ready() of sctp socket can be called from both BH and non-BH contexts, but the default sk->sk_data_ready(), sock_def_readable(), can not be used in this case. Therefore, we have to make a new function sctp_data_ready() to grab sk->sk_data_ready() with BH disabling. ========================================================= [ INFO: possible irq lock inversion dependency detected ] 2.6.33-rc6 #129 --------------------------------------------------------- sctp_darn/1517 just changed the state of lock: (clock-AF_INET){++.?..}, at: [] sock_def_readable+0x20/0x80 but this lock took another, SOFTIRQ-unsafe lock in the past: (slock-AF_INET){+.-...} and interrupts could create inverse lock ordering between them. other info that might help us debug this: 1 lock held by sctp_darn/1517: #0: (sk_lock-AF_INET){+.+.+.}, at: [] sctp_sendmsg+0x23d/0xc00 [sctp] Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 8d238b25b1ec22a73b1c2206f111df2faaff8285 Author: David S. Miller Date: Wed Apr 28 11:25:59 2010 -0700 Revert "tcp: bind() fix when many ports are bound" This reverts two commits: fda48a0d7a8412cedacda46a9c0bf8ef9cd13559 tcp: bind() fix when many ports are bound and a follow-on fix for it: 6443bb1fc2050ca2b6585a3fa77f7833b55329ed ipv6: Fix inet6_csk_bind_conflict() It causes problems with binding listening sockets when time-wait sockets from a previous instance still are alive. It's too late to keep fiddling with this so late in the -rc series, and we'll deal with it in net-next-2.6 instead. Signed-off-by: David S. Miller commit 9699eda6bc1f708a28acb716e1477aa351362fe2 Author: Xiaotian Feng Date: Thu Apr 22 18:56:17 2010 +0800 nfs: fix memory leak in nfs_get_sb with CONFIG_NFS_V4 With CONFIG_NFS_V4 and data version 4, nfs_get_sb will allocate memory for export_path in nfs4_validate_text_mount_data, so we need to free it then. This is addressed in following kmemleak report: unreferenced object 0xffff88016bf48a50 (size 16): comm "mount.nfs", pid 22567, jiffies 4651574704 (age 175471.200s) hex dump (first 16 bytes): 2f 6f 70 74 2f 77 6f 72 6b 00 6b 6b 6b 6b 6b a5 /opt/work.kkkkk. backtrace: [] kmemleak_alloc+0x60/0xa7 [] kmemleak_alloc_recursive.clone.5+0x1b/0x1d [] __kmalloc_track_caller+0x18f/0x1b7 [] kstrndup+0x37/0x54 [] nfs_parse_devname+0x152/0x204 [nfs] [] nfs4_validate_text_mount_data+0xd0/0xdc [nfs] [] nfs_get_sb+0x325/0x736 [nfs] [] vfs_kern_mount+0xbd/0x17c [] do_kern_mount+0x4d/0xed [] do_mount+0x787/0x7fe [] sys_mount+0x88/0xc2 [] system_call_fastpath+0x16/0x1b Signed-off-by: Xiaotian Feng Cc: Trond Myklebust Cc: Chuck Lever Cc: Benny Halevy Cc: Al Viro Cc: Andy Adamson Signed-off-by: Trond Myklebust commit acf82b85a70f39786e3cbb1ffed8655bcc972424 Author: Dan Carpenter Date: Thu Apr 22 11:28:39 2010 +0200 nfs: fix some issues in nfs41_proc_reclaim_complete() The original code passed an ERR_PTR() to rpc_put_task() and instead of returning zero on success it returned -ENOMEM. Signed-off-by: Dan Carpenter Signed-off-by: Trond Myklebust commit 48728e077480910df45baabc5f87b04276348c90 Author: Bjorn Helgaas Date: Tue Apr 27 14:45:43 2010 -0600 x86/PCI: compute Address Space length rather than using _LEN ACPI _CRS Address Space Descriptors have _MIN, _MAX, and _LEN. Linux has been computing Address Spaces as [_MIN to _MIN + _LEN - 1]. Based on the tests in the bug reports below, Windows apparently uses [_MIN to _MAX]. Per spec (ACPI 4.0, Table 6-40), for _CRS fixed-size, fixed location descriptors, "_LEN must be (_MAX - _MIN + 1)", and when that's true, it doesn't matter which way we compute the end. But of course, there are BIOSes that don't follow this rule, and we're better off if Linux handles those exceptions the same way as Windows. This patch makes Linux use [_MIN to _MAX], as Windows seems to do. This effectively reverts d558b483d5 and 03db42adfe and replaces them with simpler code. https://bugzilla.kernel.org/show_bug.cgi?id=14337 (round) https://bugzilla.kernel.org/show_bug.cgi?id=15480 (truncate) Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 3fb938b2a8bdbcf6086192d90fb7c73425e41fb9 Merge: 970b064 83bf6f1 Author: Linus Torvalds Date: Wed Apr 28 07:58:36 2010 -0700 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: fix matching rules for pseudo-multi-function cards pcmcia: pcmcia_dev_present bugfix commit 970b06485ffee36aa3549dfe4c6b2a2c2118354d Merge: 696e65c 33f60e9 Author: Linus Torvalds Date: Wed Apr 28 07:56:05 2010 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: coda: move backing-dev.h kernel include inside __KERNEL__ mtd: ensure that bdi entries are properly initialized and registered Move mtd_bdi_*mappable to mtdcore.c btrfs: convert to using bdi_setup_and_register() Catch filesystems lacking s_bdi drbd: Terminate a connection early if sending the protocol fails drbd: fix memory leak Fix JFFS2 sync silent failure smbfs: add bdi backing to mount session ncpfs: add bdi backing to mount session exofs: add bdi backing to mount session ecryptfs: add bdi backing to mount session coda: add bdi backing to mount session cifs: add bdi backing to mount session afs: add bdi backing to mount session. 9p: add bdi backing to mount session bdi: add helper function for doing init and register of a bdi for a file system block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer commit 696e65c3606aa3f587eeb181766baf49ea750cfc Merge: 1600f9d d8d8b63 Author: Linus Torvalds Date: Wed Apr 28 07:55:35 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: watchdog: booke_wdt: fix build - unconstify watchdog_info watchdog: sbc_fitpc2_wdt: fixed "scheduling while atomic" bug. watchdog: sbc_fitpc2_wdt: fixed I/O operations order Watchdog: sb_wdog.c: Fix sibyte watchdog initialization commit 4b99fef02510706a73c8400045b4c72514e581c4 Author: Haojian Zhuang Date: Tue Apr 6 06:19:15 2010 -0400 regulator: fix enabling regulator issue on max8925 Fix regulator enabling issue that is caused by typo error in is_enabled(). Signed-off-by: Haojian Zhuang Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit a1c4560d4d8909cc4feb6f9e875d0b92083e05cf Author: Dan Carpenter Date: Tue Apr 27 14:11:05 2010 -0700 drivers/gpu/drm/drm_sysfs.c: sysfs files error handling In the original code we used "j" as an iterator but we used "i" as an index. - for (j = 0; j < i; j++) - device_remove_file(&connector->kdev, - &connector_attrs[i]); Smatch complained about that because "i" was potentially passed the end of the array. Which makes sense if we should be using "j" there. I also thought that we should remove the files for &connector_attrs_opt1 but to do that I had to add separate iterators for &connector_attrs and &connector_attrs_opt1. Signed-off-by: Dan Carpenter Cc: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 0031c41be5c529f8329e327b63cde92ba1284842 Author: Dan Carpenter Date: Tue Apr 27 14:11:04 2010 -0700 drivers/gpu/drm/radeon/radeon_atombios.c: range check issues This change makes the array larger, "MAX_SUPPORTED_TV_TIMING_V1_2" is 3 and the original size "MAX_SUPPORTED_TV_TIMING" is 2. Also there were checks that were off by one. Signed-off-by: Dan Carpenter Acked-by: Alex Deucher Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 8c88e50bcf7f9f7e1b4987aaac3dfacc3ac6bd24 Author: Jiri Slaby Date: Tue Apr 27 14:11:03 2010 -0700 gpu: vga_switcheroo, fix lock imbalance Stanse found that one error path in vga_switcheroo_debugfs_write omits to unlock vgasr_mutex. Fix that. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 404b017d00a9f472bdf725a06892d42f1cba5ed8 Author: Dan Carpenter Date: Tue Apr 27 14:11:05 2010 -0700 drivers/gpu/drm/drm_memory.c: fix check for end of loop "agpmem" is never NULL here. Signed-off-by: Dan Carpenter Cc: Eric Anholt Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 22fb573affe51845622c4763653f60e130f80586 Author: Dan Carpenter Date: Tue Apr 27 14:11:03 2010 -0700 drivers/gpu/drm/via/via_video.c: fix off by one issue "fx->lock" is used as the index in "dev_priv->decoder_queue[fx->lock]" which is an array of "VIA_NR_XVMC_LOCKS" elements. Signed-off-by: Dan Carpenter Acked-by: Thomas Hellstrom Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit dda04c7bcf58cb02ac796beb1cf483aa5277f2af Author: Roman Tereshonkov Date: Mon Mar 15 09:06:29 2010 +0000 omap2_mcspi: small fixes of output data format Replaces %04x by %08x for 32-bits data output. Signed-off-by: Roman Tereshonkov Signed-off-by: Grant Likely commit a330ce2001b290c59fe98c37e981683ef0a75fdf Author: Roman Tereshonkov Date: Mon Mar 15 09:06:28 2010 +0000 omap2_mcspi: Flush posted writes mcspi_write_chconf0 is used to control rx/tx triggering. Post-write flushing is needed to get the immediate effect. Signed-off-by: Roman Tereshonkov Signed-off-by: Grant Likely commit ccb2ad579f910e6146adf4eb3aa50325253ee8c9 Author: Robert Fitzsimons Date: Sat Apr 24 01:18:13 2010 +0100 drm/radeon/kms/agp The wrong AGP chipset can cause a NULL pointer dereference Selecting the wrong or no CONFIG_AGP_* chipset can cause a NULL pointer dereference when combined with CONFIG_DRM_RADEON_KMS and an old system with a R100 AGP card (should effect other cards too). The agp field will be set to NULL if no suitable AGP chipset driver is loaded, drm_agp_acquire already preforms a suitable NULL check so it can be used directly. Signed-off-by: Robert Fitzsimons Signed-off-by: Dave Airlie commit 797fd5b9dad12a100c81b5782573a41259728cb1 Author: Marek Olšák Date: Tue Apr 13 02:33:36 2010 +0200 drm/radeon/kms: r300 fix CS checker to allow zbuffer-only fastfill Signed-off-by: Marek Olšák commit 33f60e9640b2f60dde6735293d4aa5ecc5b1d5d5 Author: Jens Axboe Date: Wed Apr 28 09:20:33 2010 +0200 coda: move backing-dev.h kernel include inside __KERNEL__ Otherwise we must export backing-dev.h as well, which doesn't make any sense. Signed-off-by: Jens Axboe commit 07a389feefd79d41c8542cf31ce1cf25a1466e2c Author: Roman Tereshonkov Date: Mon Apr 12 09:56:35 2010 +0000 spi: spi_device memory should be released instead of device. The memory for dev variable is allocated as a part of spi_device structure memory which the dev belongs to. Thus when the memory is released the right pointer is used. Signed-off-by: Roman Tereshonkov Signed-off-by: Grant Likely commit 8ec130a017ebd8b931344edde7013ffb18fa1965 Author: Roman Tereshonkov Date: Fri Apr 16 09:52:59 2010 +0000 spi: release device claimed by bus_find_device_by_name In success case the function bus_find_device_by_name calls get_device. In our context put_device should be called to decrease the device count usage. Signed-off-by: Roman Tereshonkov Signed-off-by: Grant Likely commit 9bd73715a1f83f640937c121d22fa8dbaab73002 Author: Dan Carpenter Date: Wed Apr 28 01:07:29 2010 -0600 of: check for IS_ERR() get_phy_device() can return an ERR_PTR() Signed-off-by: Dan Carpenter Signed-off-by: Grant Likely commit b0c06027c7d18d99e6f5e81382a7f06a8080b084 Author: Wolfram Sang Date: Tue Apr 27 11:25:27 2010 +0200 serial/mpc52xx_uart: Drop outdated comments Most things mentioned are either obsolete (platform-support) or wrong (device numbering, DCD spport) these days. The remaining rest is obvious. Signed-off-by: Wolfram Sang Signed-off-by: Grant Likely commit 3913fd5ed42c990c20036ef5c90e7987a9dd1ad1 Author: Dan Carpenter Date: Tue Apr 27 14:12:03 2010 -0700 gpio: potential null dereference Smatch found a potential null dereference in gpio_setup_irq(). The "pdesc" variable is allocated with idr_find() that can return NULL. If gpio_setup_irq() is called with 0 as gpio_flags and "pdesc" is null, it would OOPs here. Signed-off-by: Dan Carpenter Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Grant Likely commit 76ad4b8ebd5c68c8bf490bdb1fb4dcbc266e5223 Author: Geoff Levand Date: Thu Apr 15 09:11:39 2010 +0000 powerpc/ps3: Update ps3_defconfig Refresh ps3_defconfig to latest kernel sources and change these kernel config options: o CONFIG_USB_ANNOUNCE_NEW_DEVICES: n -> y o CONFIG_USB_EHCI_TT_NEWSCHED: n -> y o CONFIG_CMDLINE_BOOL: n -> y o CONFIG_CMDLINE: n -> "" Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit b809b9ca3e6b47561514ae9767177cc482e90fc6 Author: Geoff Levand Date: Thu Apr 15 09:11:34 2010 +0000 powerpc/ps3: Update platform maintainer Update the PS3 entries in the MAINTAINERS file. Signed-off-by: Geoff Levand Signed-off-by: Benjamin Herrenschmidt commit b4a26be9f6f8bb72998e445cc75fc6dc0c29513a Author: Benjamin Herrenschmidt Date: Tue Apr 6 15:03:40 2010 +0000 powerpc/pseries: Flush lazy kernel mappings after unplug operations This ensures that the translations for unmapped IO mappings or unmapped memory are properly removed from the MMU hash table before such an unplug. Without this, the hypervisor refuses the unplug operations due to those resources still being mapped by the partition. Signed-off-by: Benjamin Herrenschmidt commit 4b83c330b4d38e869111bda6e9077d4f61ed974a Author: Anton Blanchard Date: Wed Apr 7 15:33:44 2010 +0000 powerpc/numa: Add form 1 NUMA affinity Firmware changed the way it represents memory and cpu affinity on POWER7. Unfortunately the old method now caps the topology to work around issues with legacy operating systems. For Linux to get the correct topology we need to use the new form 1 affinity information. We set the form 1 field in the client architecture, and if we see "1" in the ibm,associativity-form property firmware supports form 1 affinity and we should look at the first field in the ibm,associativity-reference-points array. If not we use the second field as we always have. Signed-off-by: Anton Blanchard Signed-off-by: Benjamin Herrenschmidt commit eb4fd8cd355c8ec425a12ec6cbdac614e8a4819d Author: Elina Pasheva Date: Tue Apr 27 18:06:41 2010 -0700 net/usb: add sierra_net.c driver Re-submitted based on comments from netdev community. Summary of the changes: 1. Improved error handling. 2. Added the missing timeout arguments to usb_control_msg(). The following is a new Linux driver which exposes certain models of Sierra Wireless modems to the operating system as Network Interface Cards (NICs). This driver requires a version of the sierra.c driver which supports blacklisting to work properly. The blacklist in sierra.c rejects the interfaces claimed by sierra_net.c. Likewise, the sierra_net.c driver only accepts (i.e. whitelists) the interface(s) used for USB-to-WWAN traffic. The version of sierra.c which supports blacklisting is available from the sierra wireless knowledge base page for older kernels. It is also available in Linux kernel starting from version 2.6.31. This driver works with all Sierra Wireless devices configured with PID=68A3 like USB305, USB306 provided the corresponding firmware version is I2.0 (for USB305) or M3.0 (for USB306) and later. This driver will not work with earlier firmware versions than the ones shown above. In this case the driver will issue an error message indicating incompatibility and will not serve the device's USB-to-WWAN interface. Sierra_net.c sits atop a pre-existing Linux driver called usbnet.c. A series of hook functions are provided in sierra_net.c which are called by usbnet.c in response to a particular condition such as receipt or transmission of a data packet. As such, usbnet.c does most of the work of making a modem appear to the system as a network device and for properly exchanging traffic between the USB subsystem and the Network card interface. Sierra_net.c is concerned with managing the data exchanged between the USB-to-WWAN interface and the upper layers of the operating system. Signed-off-by: Elina Pasheva Signed-off-by: Rory Filer Signed-off-by: David S. Miller commit 55964d72d63b15df49a5df11ef91dc8601270815 Author: Torgny Johansson Date: Tue Apr 27 17:07:40 2010 -0700 cdc_ether: fix autosuspend for mbm devices Autosuspend works until you bring the wwan interface up, then the device does not enter autosuspend anymore. The following patch fixes the problem by setting the .manage_power field in the mbm_info struct to the same as in the cdc_info struct (cdc_manager_power). Signed-off-by: Torgny Johansson Signed-off-by: David S. Miller commit 477fffb082920476cc26f238d65538ccb8d601e1 Author: Dan Carpenter Date: Wed Apr 21 23:52:01 2010 +0000 bluetooth: handle l2cap_create_connless_pdu() errors l2cap_create_connless_pdu() can sometimes return ERR_PTR(-ENOMEM) or ERR_PTR(-EFAULT). Signed-off-by: Dan Carpenter Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit 761ed01b35ca32bfd4166cc3862ae80ee33e3a4b Author: Andy Fleming Date: Tue Apr 27 16:43:31 2010 -0700 gianfar: Wait for both RX and TX to stop When gracefully stopping the controller, the driver was continuing if *either* RX or TX had stopped. We need to wait for both, or the controller could get into an invalid state. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit 1600f9def09de07c5dbeb539e978fa73880690dd Merge: 11e39d9 b59ec78 Author: Linus Torvalds Date: Tue Apr 27 16:26:46 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: keys: don't need to use RCU in keyring_read() as semaphore is held commit 11e39d993dc693e0bfc5521d367b2494cb3bcd38 Merge: 03449cd 2bc3c11 Author: Linus Torvalds Date: Tue Apr 27 16:26:21 2010 -0700 Merge branch 'for-2.6.34' of git://linux-nfs.org/~bfields/linux * 'for-2.6.34' of git://linux-nfs.org/~bfields/linux: nfsd4: bug in read_buf commit 03449cd9eaa4fa3a7faa4a59474bafe2e90bd143 Author: David Howells Date: Tue Apr 27 13:13:08 2010 -0700 keys: the request_key() syscall should link an existing key to the dest keyring The request_key() system call and request_key_and_link() should make a link from an existing key to the destination keyring (if supplied), not just from a new key to the destination keyring. This can be tested by: ring=`keyctl newring fred @s` keyctl request2 user debug:a a keyctl request user debug:a $ring keyctl list $ring If it says: keyring is empty then it didn't work. If it shows something like: 1 key in keyring: 1070462727: --alswrv 0 0 user: debug:a then it did. request_key() system call is meant to recursively search all your keyrings for the key you desire, and, optionally, if it doesn't exist, call out to userspace to create one for you. If request_key() finds or creates a key, it should, optionally, create a link to that key from the destination keyring specified. Therefore, if, after a successful call to request_key() with a desination keyring specified, you see the destination keyring empty, the code didn't work correctly. If you see the found key in the keyring, then it did - which is what the patch is required for. Signed-off-by: David Howells Cc: James Morris Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2cb9aeb3c9b2475955cec328487484034f414e4 Author: Marc Zyngier Date: Tue Apr 27 13:13:07 2010 -0700 gpio: fix pca953x set_type 'scheduling while atomic' bug Bill Gatliff reported the following bug when using the irq_chip facility of the pca953x driver on a PPC platform: BUG: scheduling while atomic: insmod/1530/0x00000002 He traced it back to an i2c transaction in pca953x_irq_set_type(), which can be called with interrupt disabled (from __setup_irq()). As the i2c controller can sleep while sending a message, this qualifies as a bad idea. This patch moves the i2c transaction to pca953x_irq_bus_sync_unlock(), where it is actually safe to send an i2c message. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Marc Zyngier Reported-by: Bill Gatliff Cc: Eric Miao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3835541dd481091c4dbf5ef83c08aed12e50fd61 Author: Jerome Marchand Date: Tue Apr 27 13:13:06 2010 -0700 procfs: fix tid fdinfo Correct the file_operations struct in fdinfo entry of tid_base_stuff[]. Presently /proc/*/task/*/fdinfo contains symlinks to opened files like /proc/*/fd/. Signed-off-by: Jerome Marchand Cc: Alexander Viro Cc: Miklos Szeredi Cc: Alexey Dobriyan Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9e584fbbd9fd4f0f10b8aafc9982df8d0b553e35 Author: Peter Huewe Date: Tue Apr 27 13:13:04 2010 -0700 arch/avr32: fix build failure caused by wrong prototype This patch fixes a build failure introduced by 1d8393171 ("avr32: use generic ptrace_resume code") which had the static keyword as a leftover. arch/avr32/kernel/ptrace.c:32: error: static declaration of `user_enable_single_step' follows non-static declaration include/linux/ptrace.h:268: error: previous declaration of `user_enable_single_step' was here References: [1]http://kisskb.ellerman.id.au/kisskb/buildresult/2448162/ Signed-off-by: Peter Huewe Cc: Haavard Skinnemoen Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b59ec78cdcc57e02bc3dddfa7134a2f0fd15c34d Author: David Howells Date: Tue Apr 27 14:05:11 2010 -0700 keys: don't need to use RCU in keyring_read() as semaphore is held keyring_read() doesn't need to use rcu_dereference() to access the keyring payload as the caller holds the key semaphore to prevent modifications from happening whilst the data is read out. This should solve the following warning: =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- security/keys/keyring.c:204 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 1 lock held by keyctl/2144: #0: (&key->sem){+++++.}, at: [] keyctl_read_key+0x9c/0xcf stack backtrace: Pid: 2144, comm: keyctl Not tainted 2.6.34-rc2-cachefs #113 Call Trace: [] lockdep_rcu_dereference+0xaa/0xb2 [] keyring_read+0x4d/0xe7 [] keyctl_read_key+0xac/0xcf [] sys_keyctl+0x75/0xb9 [] system_call_fastpath+0x16/0x1b Signed-off-by: David Howells Cc: Herbert Xu Signed-off-by: Andrew Morton Signed-off-by: James Morris commit ba8b06e67ed7a560b0e7c80091bcadda4f4727a5 Author: Trond Myklebust Date: Tue Apr 27 18:33:54 2010 -0400 NFS: Ensure that nfs_wb_page() waits for Pg_writeback to clear Neil Brown reports that he is seeing the BUG_ON(ret == 0) trigger in nfs_page_async_flush. According to the trace in https://bugzilla.novell.com/show_bug.cgi?id=599628 the problem appears to be due to nfs_wb_page() not waiting for the PG_writeback flag to clear. There is a ditto problem in nfs_wb_page_cancel() Signed-off-by: Trond Myklebust commit d87ff58fda926fe5cb01214cccf1c72422ac776d Author: Dan Carpenter Date: Mon Apr 26 23:20:12 2010 +0000 ipheth: potential null dereferences on error path The calls to usb_free_buffer() dereference rx_urb and tx_urb in the parameter list but those could be NULL. Signed-off-by: Dan Carpenter Acked-by: L. Alberto Giménez Signed-off-by: David S. Miller commit 2a9151572224ad5fe808058097be94106470a6dc Author: Ken Kawasaki Date: Sat Apr 24 10:37:09 2010 +0000 smc91c92_cs: spin_unlock_irqrestore before calling smc_interrupt() smc91c92_cs: * spin_unlock_irqrestore before calling smc_interrupt() in media_check() to avoid lockup. * use spin_lock_irqsave for ethtool function. Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit dacf4fc85bbd063b8108b6c21275ae4a4fcce908 Author: Andreas Hartmann Date: Tue Apr 27 14:39:33 2010 -0700 drivers/usb/net/kaweth.c: add device "Allied Telesyn AT-USB10 USB Ethernet Adapter" akpm: reluctantly typed in from https://bugzilla.kernel.org/show_bug.cgi?id=15599 Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 587611d6e4d5c0fb5e9492cb06d9054744d69536 Author: Michael Chan Date: Tue Apr 27 11:28:11 2010 +0000 bnx2: Update version to 2.0.9. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 212f9934afccf9c97399216b694a7f452526d6da Author: Michael Chan Date: Tue Apr 27 11:28:10 2010 +0000 bnx2: Prevent "scheduling while atomic" warning with cnic, bonding and vlan. The bonding driver calls ndo_vlan_rx_register() while holding bond->lock. The bnx2 driver calls bnx2_netif_stop() to stop the rx handling while changing the vlgrp. The call also stops the cnic driver which sleeps while the bond->lock is held and cause the warning. This code path only needs to stop the NAPI rx handling while we are changing the vlgrp. Since no reset is going to occur, there is no need to stop cnic in this case. By adding a parameter to bnx2_netif_stop() to skip stopping cnic, we can avoid the warning. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c441b8d2cb2194b05550a558d6d95d8944e56a84 Author: Michael Chan Date: Tue Apr 27 11:28:09 2010 +0000 bnx2: Fix lost MSI-X problem on 5709 NICs. It has been reported that under certain heavy traffic conditions in MSI-X mode, the driver can lose an MSI-X vector causing all packets in the associated rx/tx ring pair to be dropped. The problem is caused by the chip dropping the write to unmask the MSI-X vector by the kernel (when migrating the IRQ for example). This can be prevented by increasing the GRC timeout value for these register read and write operations. Thanks to Dell for helping us debug this problem. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e95ef5d3f6bc60433883e1ef65dac747acd0bf1a Author: Andre Detsch Date: Mon Apr 26 05:38:27 2010 +0000 cxgb3: Wait longer for control packets on initialization In some Power7 platforms, when using VIOS (Virtual I/O Server), we need to wait longer for control packets to finish transfer during initialization. Without this change, initialization may fail prematurely. Signed-off-by: Wen Xiong Signed-off-by: Andre Detsch Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 6f461f6c7c961f0b1b73c0f27becf472a0ac606b Author: Bruce Allan Date: Tue Apr 27 03:33:04 2010 +0000 e1000e: enable/disable ASPM L0s and L1 and ERT according to hardware errata Prompted by a previous patch submitted by Matthew Garret , further digging into errata documentation reveals the current enabling or disabling of ASPM L0s and L1 states for certain parts supported by this driver are incorrect. 82571 and 82572 should always disable L1. For standard frames, 82573/82574/82583 can enable L1 but L0s must be disabled, and for jumbo frames 82573/82574 must disable L1. This allows for some parts to enable L1 in certain configurations leading to better power savings. Also according to the same errata, Early Receive (ERT) should be disabled on 82573 when using jumbo frames. Cc: Matthew Garret Signed-off-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 61fac744dddb22d99c7b12250bc9bada7866df08 Author: Peter Waskiewicz Date: Tue Apr 27 00:38:15 2010 +0000 ixgbe: Power down PHY during driver resets The PHY laser is still on during driver init. It's allowing garbage to hit our FIFO, which eventually can cause the entire device to die. Power down the laser while setting up the device, and re-enable the laser before getting link. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 16a5b3c4143fc7f6cbe0ef9fd4e9a58376f91506 Author: Christoph Egger Date: Mon Apr 26 15:56:36 2010 +0100 Remove redundant check for CONFIG_MMU The checks for CONFIG_MMU at this location are duplicated as all the code is located inside a #ifndef CONFIG_MMU block. So the first conditional block will always be included while the second never will. Signed-off-by: Christoph Egger Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit bc113f151a73cb2195c2fb40d7d70acf8e2f9208 Merge: 93a9248 e0d1f70 Author: Linus Torvalds Date: Tue Apr 27 08:59:38 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus * git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus: squashfs: fix potential buffer over-run on 4K block file systems squashfs: add missing buffer free squashfs: fix warn_on when root inode is corrupted squashfs: fix locking bug in zlib wrapper commit 93a9248af27aa83c08910d3e38b584678b1dc534 Merge: 17282b9 dd77ef9 Author: Linus Torvalds Date: Tue Apr 27 08:32:21 2010 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: more swap extent fixes for dynamic fork offsets commit 17282b9855574911622ff803b67dade7e64f6f8c Merge: 5892753 223e632 Author: Linus Torvalds Date: Tue Apr 27 08:27:26 2010 -0700 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: (39 commits) omap: delete unused bootloader tag variables omap: Devkit8000: Remove unused pins omap: Devkit8000: Change position of init calls omap: Devkit8000: Remove unnecessary include file omap: Devkit8000: Fix typo in pin name omap: Devkit8000: Add missing package selection omap: Devkit8000: Fix typo in supplies n8x0_defconfig: remove CONFIG_NILFS2_FS override omap: board-sdp-flash.c: Fix typos in debug output omap4: Fix McBSP4 base address omap: rx51_defconfig: Remove CONFIG_SYSFS_DEPRECATED*=y options omap: rx51_defconfig: Remove duplicate phonet omap: fix a gpmc nand problem AM3517: initialize i2c subsystem after mux subsystem omap: remove one of the define of INT_34XX_BENCH_MPU_EMUL omap: fix the compile error if CONFIG_MTD_NAND_OMAP2 is notenabled OMAP4: Clocks: Change SPI Instance Names omap: Devkit8000: Fix wrong usb port on Devkit8000 OMAP4: Fix for CONTROL register Base OMAP4-HSMMC: FIX for MMC5 Controller IRQ Base ... commit 5892753383090a3eddf0e1b043c95e3b2c7feda5 Author: Rik van Riel Date: Mon Apr 26 12:33:03 2010 -0400 mmap: check ->vm_ops before dereferencing Check whether the VMA has a vm_ops before calling close, just like we check vm_ops before calling open a few dozen lines higher up in the function. Signed-off-by: Rik van Riel Reported-by: Dan Carpenter Signed-off-by: Linus Torvalds commit a231a1f2714ce3b28445ac512a556d6c95517dab Merge: 0bfb824 180ce7e Author: Linus Torvalds Date: Tue Apr 27 08:26:09 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: authenc - Add EINPROGRESS check commit 0bfb82449c9c98a8cfb1f0f886b5b0c7f7b0ff1a Merge: b91ce4d 88b0450 Author: Linus Torvalds Date: Tue Apr 27 08:22:50 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon: Fix sparc regression in r300_scratch() drm: make sure vblank interrupts are disabled at DPMS time drm/radeon/kms/evergreen: No EnableYUV table drm/radeon: 9800 SE has only one quadpipe drm/radeon/kms: don't print error for legal crtcs. drm/radeon/kms/evergreen: fix LUT setup commit 5a38f2c7c4dd53d5be097930902c108e362584a3 Author: Alan Ott Date: Mon Apr 26 18:34:46 2010 -0400 HID: hidraw: fix numbered reports Make hidraw not stick an extra byte on the beginning of an IN transfer when a HID device contains multiple reports. Signed-off-by: Alan Ott Acked-by: Jiri Slaby Signed-off-by: Jiri Kosina commit d8d8b63b6dc413696ade040e52173c068df11702 Author: Anton Vorontsov Date: Mon Apr 26 15:59:53 2010 -0700 watchdog: booke_wdt: fix build - unconstify watchdog_info commit 42747d712de56cf2087b702d2ad90af114c53138 ("[WATCHDOG] watchdog_info constify") introduced the following build failure: CC booke_wdt.o booke_wdt.c: In function 'booke_wdt_init': booke_wdt.c:220: error: assignment of read-only variable 'ident' Fix this by removing 'const' qualifier from watchdog_info struct. Signed-off-by: Anton Vorontsov Signed-off-by: Wim Van Sebroeck Cc: Kumar Gala Signed-off-by: Andrew Morton commit 0661b1ac5d48eb47c8a5948c0554fea25e0895ab Author: Jens Axboe Date: Tue Apr 27 09:49:47 2010 +0200 mtd: ensure that bdi entries are properly initialized and registered They will be holding dirty inodes and be responsible for flushing them out, so they need to be setup properly. Signed-off-by: Jens Axboe commit a33eb6b91034c95b9b08576f68be170f995b2c7d Author: Jörn Engel Date: Tue Apr 27 09:40:52 2010 +0200 Move mtd_bdi_*mappable to mtdcore.c Removes one .h and one .c file that are never used outside of mtdcore.c. Signed-off-by: Joern Engel Edited to remove on leftover debug define. Signed-off-by: Jens Axboe commit 5cc4a0f6b72878ea4e96fdb392d5d24c892a988e Author: Dan Carpenter Date: Tue Apr 27 00:23:37 2010 +0200 ACPI: silence kmemcheck false positive This addresses: https://bugzilla.kernel.org/show_bug.cgi?id=14998 We copy some strings into "event" but we leave the space after the NULL terminators uninitialized. Later in acpi_bus_receive_event() we copy the whole struct to another buffer with memcpy(). If the new buffer is stored on the stack, kmemcheck prints a warning about the unitialized space after the NULL terminators. It's true that the space is uninitialized, but it's harmless. The buffer is only used in acpi_system_read_event() and we don't read past the NULL terminators. This patch changes the kmalloc() to kzalloc() so that we initialize the memory and silence the kmemcheck warning. Reported-by: Christian Casteyde Signed-off-by: Dan Carpenter Signed-off-by: Len Brown commit 88b045077a1462a47503137fd4ca0c31772819ca Author: David Miller Date: Mon Apr 26 02:55:42 2010 -0700 drm/radeon: Fix sparc regression in r300_scratch() Commit b4fe945405e477cded91772b4fec854705443dd5 ("drm/radeon: Fix memory allocation failures in the preKMS command stream checking.") added a regression in that it completely tossed the get_unaligned() done by r300_scratch() which we added in commit 958a6f8ccb1964adc3eec84cf401c5baeb4fbca0 ("drm: radeon: Fix unaligned access in r300_scratch()."). Put it back. Signed-off-by: David S. Miller Acked-by: Matt Turner Signed-off-by: Dave Airlie commit e32ee7fa54e3172e6413cefaaee9222a3f521617 Author: Jesse Barnes Date: Fri Mar 26 18:07:15 2010 +0000 drm: make sure vblank interrupts are disabled at DPMS time When we call drm_vblank_off() at DPMS off time (to wake any clients so they don't hang) we need to make sure interrupts are actually disabled. If drm_vblank_off() gets called before the vblank usage timer expires, it'll prevent the timer from disabling interrupts since it also clears the vblank_enabled flag for the pipe. Signed-off-by: Jesse Barnes Signed-off-by: Dave Airlie commit dbc9632a8c25c6efcc1ca3f3a2177c855b6e053e Author: Kumar Gala Date: Wed Apr 21 02:12:58 2010 -0500 powerpc/fsl-booke: Fix CONFIG_RELOCATABLE support on FSL Book-E ppc32 The following commit broke CONFIG_RELOCATABLE support on FSL Book-E parts: commit 549e8152de8039506f69c677a4546e5427aa6ae7 Author: Paul Mackerras Date: Sat Aug 30 11:43:47 2008 +1000 powerpc: Make the 64-bit kernel as a position-independent executable The change to __va and __pa to use PAGE_OFFSET & MEMORY_START causes problems on the Book-E parts because we don't know MEMORY_START until after we parse the device tree. We need __va to work properly to even parse the device tree so we have a chicken an egg. So go back to using he other definition of __va/__pa on CONFIG_BOOKE and use the PAGE_OFFSET/MEMORY_START version on "Classic" PPC64. Also updated casts to handle phys_addr_t being a different size from unsigned long (ie 36-bit physical on PPC32). Signed-off-by: Kumar Gala commit 908ba2bfd22253f26fa910cd855e4ccffb1467d0 Author: françois romieu Date: Mon Apr 26 11:42:58 2010 +0000 r8169: more broken register writes workaround 78f1cd02457252e1ffbc6caa44a17424a45286b8 ("fix broken register writes") does not work for Al Viro's r8169 (XID 18000000). Signed-off-by: Francois Romieu Signed-off-by: David S. Miller commit 87aeec767e1de60d7f76abbb44df5372b0932b7b Author: françois romieu Date: Mon Apr 26 11:42:06 2010 +0000 r8169: failure to enable mwi should not be fatal Few (6) network drivers enable mwi explicitly. Fewer worry about a failure. It is not a fix but it should avoid some annoyance like http://bugzilla.kernel.org/show_bug.cgi?id=15454 Signed-off-by: Francois Romieu Cc: Conrad Kostecki Signed-off-by: David S. Miller commit 2bc3c1179c781b359d4f2f3439cb3df72afc17fc Author: Neil Brown Date: Tue Apr 20 12:16:52 2010 +1000 nfsd4: bug in read_buf When read_buf is called to move over to the next page in the pagelist of an NFSv4 request, it sets argp->end to essentially a random number, certainly not an address within the page which argp->p now points to. So subsequent calls to READ_BUF will think there is much more than a page of spare space (the cast to u32 ensures an unsigned comparison) so we can expect to fall off the end of the second page. We never encountered thsi in testing because typically the only operations which use more than two pages are write-like operations, which have their own decoding logic. Something like a getattr after a write may cross a page boundary, but it would be very unusual for it to cross another boundary after that. Cc: stable@kernel.org Signed-off-by: J. Bruce Fields commit 55051feb57eba600b366006757304a0af3ada2bd Author: Bjorn Helgaas Date: Fri Apr 23 17:05:24 2010 -0600 x86/PCI: never allocate PCI MMIO resources below BIOS_END When we move a PCI device or assign resources to a device not configured by the BIOS, we want to avoid the BIOS region below 1MB. Note that if the BIOS places devices below 1MB, we leave them there. See https://bugzilla.kernel.org/show_bug.cgi?id=15744 and https://bugzilla.kernel.org/show_bug.cgi?id=15841 Tested-by: Andy Isaacson Tested-by: Andy Bailey Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 4eb8b9031a0314539605733597b1e30222d4da70 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Apr 25 08:59:07 2010 +0000 bridge br_multicast: Ensure to initialize BR_INPUT_SKB_CB(skb)->mrouters_only. Even with commit 32dec5dd0233ebffa9cae25ce7ba6daeb7df4467 ("bridge br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only without IGMP snooping."), BR_INPUT_SKB_CB(skb)->mrouters_only is not appropriately initialized if IGMP snooping support is compiled and disabled, so we can see garbage. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 322af98c56c70b3ec6f637fb07d41a9591a6ff9a Author: Denis Turischev Date: Thu Apr 22 19:54:20 2010 +0300 watchdog: sbc_fitpc2_wdt: fixed "scheduling while atomic" bug. spinlock need to be replaced by mutex because of sleep functions inside wdt_send_data. Signed-off-by: Denis Turischev Signed-off-by: Wim Van Sebroeck commit 93c0c8b4a5a174645550d444bd5c3ff0cccf74cb Author: Stefan Schmidt Date: Mon Apr 26 11:20:32 2010 -0700 ieee802154: Fix oops during ieee802154_sock_ioctl Trying to run izlisten (from lowpan-tools tests) on a device that does not exists I got the oops below. The problem is that we are using get_dev_by_name without checking if we really get a device back. We don't in this case and writing to dev->type generates this oops. [Oops code removed by Dmitry Eremin-Solenikov] If possible this patch should be applied to the current -rc fixes branch. Signed-off-by: Stefan Schmidt Signed-off-by: Dmitry Eremin-Solenikov Signed-off-by: David S. Miller commit 0250ececdf6813457c98719e2d33b3684881fde0 Author: Hans de Goede Date: Thu Apr 22 19:52:16 2010 +0200 p54pci: fix bugs in p54p_check_tx_ring Hans de Goede identified a bug in p54p_check_tx_ring: there are two ring indices. 1 => tx data and 3 => tx management. But the old code had a constant "1" and this resulted in spurious dma unmapping failures. Cc: stable@kernel.org Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=583623 Bug-Identified-by: Hans de Goede Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit fcf1dd7e68ceb6420478c8d89d35b4745d0b2f42 Author: Denis Turischev Date: Thu Apr 22 19:50:03 2010 +0300 watchdog: sbc_fitpc2_wdt: fixed I/O operations order There are fitpc2 compatible boards that hang with existent i/o operations order. Solution is to switch between writing to data and command ports. Signed-off-by: Denis Turischev Signed-off-by: Wim Van Sebroeck commit dc8bf1b1a6edfc92465526de19772061302f0929 Author: Andre Detsch Date: Mon Apr 26 07:27:07 2010 +0000 tg3: Fix INTx fallback when MSI fails tg3: Fix INTx fallback when MSI fails MSI setup changes the value of irq_vec in struct tg3 *tp. This attribute must be taken into account and restored before we try to do a new request_irq for INTx fallback. In powerpc, the original code was leading to an EINVAL return within request_irq, because the driver was trying to use the disabled MSI virtual irq number instead of tp->pdev->irq. Signed-off-by: Andre Detsch Acked-by: Michael Chan Signed-off-by: David S. Miller commit 86913315de5ed13debd1566dfea15c4179b1f0c0 Author: Guenter Roeck Date: Mon Apr 19 08:37:11 2010 -0700 Watchdog: sb_wdog.c: Fix sibyte watchdog initialization Watchdog configuration register and timer count register were interchanged, causing wrong values to be written into both registers. This caused watchdog triggered resets even if the watchdog was reset in time. Signed-off-by: Guenter Roeck Acked-by: Ralf Baechle Signed-off-by: Wim Van Sebroeck commit 83bf6f11e82eba8533f8dbd241b2c2825e42ae5d Author: Alexander Kurz Date: Sun Apr 25 13:44:35 2010 +0400 pcmcia: fix matching rules for pseudo-multi-function cards Prevent PCMCIA_DEV_ID_MATCH_FUNC_ID from grabbing PFC-cards: I changed the code, so that the first matching struct pcmcia_device_id _PFC_ entry will mark the card has_pfc, preventing PCMCIA_DEV_ID_MATCH_FUNC_ID to match. [linux-pcmcia@lists.infradead.org: re-order commit message] Signed-off-by: Alexander Kurz Signed-off-by: Dominik Brodowski commit dd77ef924c835c9813c3f4dc7e9c72e9cd88d238 Author: Dave Chinner Date: Tue Apr 20 17:00:37 2010 +1000 xfs: more swap extent fixes for dynamic fork offsets A new xfsqa test (226) with a prototype xfs_fsr change to try to handle dynamic fork offsets better triggers an assertion failure where the inode data fork is in btree format, yet there is room in the inode for it to be in extent format. The two inodes look like: before: ino 0x101 (target), num_extents 11, Max in-fork extents 6, broot size 40, fork offset 96 before: ino 0x115 (temp), num_extents 5, Max in-fork extents 3, broot size 40, fork offset 56 after: ino 0x101 (target), num_extents 5, Max in-fork extents 6, broot size 40, fork offset 96 after: ino 0x115 (temp), num_extents 11, Max in-fork extents 3, broot size 40, fork offset 56 Basically the target inode ends up with 5 extents in btree format, but it had space for 6 extents in extent format, so ends up incorrect. Notably here the broot size is the same, and that is where the kernel code is going wrong - the btree root will fit, so it lets the swap go ahead. The check should not allow the swap to take place if the number of extents while in btree format is less than the number of extents that can fit in the inode in extent format. Adding that check will prevent this swap and corruption from occurring. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig commit e6d086d83cf7f102d48c006f58172a69ec0c15a4 Author: Jens Axboe Date: Mon Apr 26 10:27:54 2010 +0200 btrfs: convert to using bdi_setup_and_register() It's now a provided helper, so get rid of the internal setup and btrfs atomic_t bdi enumerator. Signed-off-by: Jens Axboe commit 867f1845c53f52e6b9822bea387c7b16740ba2f8 Author: Krzysztof Helt Date: Sun Apr 25 13:12:45 2010 +0200 ALSA: es968: fix wrong PnP dma index There is only one dma for the ESS ES968 based board. Its index is 0 and not 1. This make the es968 card working. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai commit 83515bc7df812555e20cda48614674e2f346f9f5 Author: Guennadi Liakhovetski Date: Mon Apr 19 08:39:39 2010 +0000 SH: fix error paths in DMA driver If channel allocation is failing, mark the channel unused and give PM a chance to power down the hardware. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit e3a4317e1d9970c56ba19d29393e4289809a1aa5 Author: Magnus Damm Date: Thu Apr 22 06:21:10 2010 +0000 sh: sh7751 pci controller io port fix This patch updates the sh7751 pci code to handle io ports correctly. The code is based on the sh7788x implementation. Tested on a R2D-1 board with CONFIG_8139TOO_PIO=y. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 43f5988c1853b1f6c4cd1fca1d4dccd7833d6a8e Author: Magnus Damm Date: Thu Apr 22 06:06:04 2010 +0000 sh: Fix maximum number of SCIF ports in R2D defconfigs Update the R2D defconfigs to bump up the maximum number of SCIF ports on the system. Fixes a broken serial console regression added by cd5f107628ab89c5dec5ad923f1c27f4cba41972. Reported-by: Shin-ichiro KAWASAKI Signed-off-by: Magnus Damm Tested-by: Alexandre Courbot Signed-off-by: Paul Mundt commit c2fe3092e5b85c8c65ebac88a3ffa4355e51a9b6 Author: Guennadi Liakhovetski Date: Wed Apr 21 15:14:19 2010 +0000 SH: fix TS field shift calculation for DMA drivers CHCR_TS_HIGH_SHIFT is defined as a shift of TS high bits in CHCR register, relative to low bits. The TS_INDEX2VAL() macro has to take this into account. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 180ce7e81030e1ef763d58f97f9ab840ff57d848 Author: Herbert Xu Date: Mon Apr 26 09:14:05 2010 +0800 crypto: authenc - Add EINPROGRESS check When Steffen originally wrote the authenc async hash patch, he correctly had EINPROGRESS checks in place so that we did not invoke the original completion handler with it. Unfortuantely I told him to remove it before the patch was applied. As only MAY_BACKLOG request completion handlers are required to handle EINPROGRESS completions, those checks are really needed. This patch restores them. Reported-by: Sebastian Andrzej Siewior Signed-off-by: Herbert Xu commit b91ce4d14a21fc04d165be30319541e0f9204f15 Merge: 202f2bb 6443bb1 Author: Linus Torvalds Date: Sun Apr 25 16:28:56 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: ipv6: Fix inet6_csk_bind_conflict() e100: Fix the TX workqueue race commit 6443bb1fc2050ca2b6585a3fa77f7833b55329ed Author: Eric Dumazet Date: Sun Apr 25 15:09:42 2010 -0700 ipv6: Fix inet6_csk_bind_conflict() Commit fda48a0d7a84 (tcp: bind() fix when many ports are bound) introduced a bug on IPV6 part. We should not call ipv6_addr_any(inet6_rcv_saddr(sk2)) but ipv6_addr_any(inet6_rcv_saddr(sk)) because sk2 can be IPV4, while sk is IPV6. Reported-by: Michael S. Tsirkin Signed-off-by: Eric Dumazet Tested-by: Michael S. Tsirkin Signed-off-by: David S. Miller commit 202f2bb0708e968099a23fead4598a4c3f8f8637 Merge: ddc9b34 b90f687 Author: Linus Torvalds Date: Sun Apr 25 10:01:51 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Issue the discard operation *before* releasing the blocks to be reused ext4: Fix buffer head leaks after calls to ext4_get_inode_loc() ext4: Fix possible lost inode write in no journal mode commit 5129a469a91a91427334c40e29e64c6d0ab68caf Author: Jörn Engel Date: Sun Apr 25 08:54:42 2010 +0200 Catch filesystems lacking s_bdi noop_backing_dev_info is used only as a flag to mark filesystems that don't have any backing store, like tmpfs, procfs, spufs, etc. Signed-off-by: Joern Engel Changed the BUG_ON() to a WARN_ON(). Note that adding dirty inodes to the noop_backing_dev_info is not legal and will not result in them being flushed, but we already catch this condition in __mark_inode_dirty() when checking for a registered bdi. Signed-off-by: Jens Axboe commit 401da6aea31ef69c2fcd260382adabdcf7ce820a Author: Alan Cox Date: Sat Apr 24 21:09:29 2010 -0700 e100: Fix the TX workqueue race Nothing stops the workqueue being left to run in parallel with close or a few other operations. This causes double unmaps and the like. See kerneloops.org #1041230 for an example Signed-off-by: Alan Cox Signed-off-by: David S. Miller commit e0d1f70010dce062ccce1bbd940a661e60b82631 Author: Phillip Lougher Date: Fri Apr 23 02:32:02 2010 +0100 squashfs: fix potential buffer over-run on 4K block file systems Sizing the buffer based on block size is incorrect, leading to a potential buffer over-run on 4K block size file systems (because the metadata block size is always 8K). This bug doesn't seem have triggered because 4K block size file systems are not default, and also because metadata blocks after compression tend to be less than 4K. Signed-off-by: Phillip Lougher commit 370ec3d1ed9d76ba992e5b9b7d7d10700014d436 Author: Phillip Lougher Date: Fri Apr 23 00:24:22 2010 +0100 squashfs: add missing buffer free Signed-off-by: Phillip Lougher commit 1cb08e97389bb603e1b999312d9686c8faf0187a Author: Phillip Lougher Date: Fri Apr 16 01:01:36 2010 +0100 squashfs: fix warn_on when root inode is corrupted Fix warn_on triggered by mounting a fsfuzzer corrupted file system, where the root inode has been corrupted. Signed-off-by: Phillip Lougher Reported-by: Steve Grubb commit ddc9b34c3b3bc063a7d9eb891ae09b8f49cfb27e Merge: 8e500ff fd187aa Author: Linus Torvalds Date: Sat Apr 24 11:35:21 2010 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] use max load in conservative governor [CPUFREQ] fix a lockdep warning commit 8e500ff8df1223dfb42d6c39d3de1fc216fba1a2 Merge: 383bee6 7ce97d4 Author: Linus Torvalds Date: Sat Apr 24 11:34:17 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (22 commits) gianfar: Fix potential oops during OF address translation fsl_pq_mdio: Fix kernel oops during OF address translation tcp: bind() fix when many ports are bound rdma: potential ERR_PTR dereference rtnetlink: potential ERR_PTR dereference net: ipv6 bind to device issue ipv6: allow to send packet after receiving ICMPv6 Too Big message with MTU field less than IPV6_MIN_MTU drivers/net/usb: Add new driver ipheth cxgb3: fix linkup issue X25 fix dead unaccepted sockets KS8851: NULL pointer dereference if list is empty net: 3c574_cs fix stats.tx_bytes counter xfrm6: ensure to use the same dev when building a bundle can: Fix possible NULL pointer dereference in ems_usb.c net: Fix an RCU warning in dev_pick_tx() ipv6: Fix tcp_v6_send_response transport header setting. bridge: add a missing ntohs() 8139too: Fix a typo in the function name. mac80211: pass HT changes to driver when off channel mac80211: remove bogus TX agg state assignment ... commit 383bee6b54a1eeac3a286812be8a5c3f122fd834 Merge: b39c8be cc2893b Author: Linus Torvalds Date: Sat Apr 24 11:32:12 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: Ensure we re-enable devices on resume x86/PCI: parse additional host bridge window resource types PCI: revert broken device warning PCI aerdrv: use correct bit defines and add 2ms delay to aer_root_reset x86/PCI: ignore Consumer/Producer bit in ACPI window descriptions commit b39c8be6d5e38f4478be0c7aaf1d3a160a4dd330 Merge: df37bd1 c9db3ef Author: Linus Torvalds Date: Sat Apr 24 11:31:57 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: eeepc-laptop: add missing sparse_keymap_free eeepc-wmi: Build fix asus: don't modify bluetooth/wlan on boot dell-wmi: Fix memory leak eeepc-wmi: add backlight support eeepc-wmi: use a platform device as parent device of all sub-devices eeepc-wmi: add an eeepc_wmi context structure commit df37bd156dcb4f5441beaf5bde444adac974e9a0 Author: Phillip Lougher Date: Fri Apr 23 13:18:11 2010 -0400 initramfs: handle unrecognised decompressor when unpacking The unpack routine fails to handle the decompress_method() returning unrecognised decompressor (compress_name == NULL). This results in the routine looping eventually oopsing on an out of bounds memory access. Note this bug is usually hidden, only triggering on trailing junk after one or more correct compressed blocks. The case of the compressed archive being complete junk is (by accident?) caught by the if (state != Reset) check because state is initialised to Start, but not updated due to the decompressor not having been called. Obviously if the junk is trailing a correctly decompressed buffer, state == Reset from the previous call to the decompressor. Signed-off-by: Phillip Lougher Reported-by: Aaro Koskinen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22eccdd7d2d94be48ae9b01fef5f52ccbb81dcd5 Author: Dan Carpenter Date: Fri Apr 23 13:18:10 2010 -0400 ksm: check for ERR_PTR from follow_page() The follow_page() function can potentially return -EFAULT so I added checks for this. Also I silenced an uninitialized variable warning on my version of gcc (version 4.3.2). Signed-off-by: Dan Carpenter Acked-by: Rik van Riel Acked-by: Izik Eidus Cc: Andrea Arcangeli Cc: Johannes Weiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 453dc65931915abc61f92e12bba1fc4747ff5542 Author: Dmitry Torokhov Date: Fri Apr 23 13:18:08 2010 -0400 VMware Balloon driver This is a standalone version of VMware Balloon driver. Ballooning is a technique that allows hypervisor dynamically limit the amount of memory available to the guest (with guest cooperation). In the overcommit scenario, when hypervisor set detects that it needs to shuffle some memory, it instructs the driver to allocate certain number of pages, and the underlying memory gets returned to the hypervisor. Later hypervisor may return memory to the guest by reattaching memory to the pageframes and instructing the driver to "deflate" balloon. We are submitting a standalone driver because KVM maintainer (Avi Kivity) expressed opinion (rightly) that our transport does not fit well into virtqueue paradigm and thus it does not make much sense to integrate with virtio. There were also some concerns whether current ballooning technique is the right thing. If there appears a better framework to achieve this we are prepared to evaluate and switch to using it, but in the meantime we'd like to get this driver upstream. We want to get the driver accepted in distributions so that users do not have to deal with an out-of-tree module and many distributions have "upstream first" requirement. The driver has been shipping for a number of years and users running on VMware platform will have it installed as part of VMware Tools even if it will not come from a distribution, thus there should not be additional risk in pulling the driver into mainline. The driver will only activate if host is VMware so everyone else should not be affected at all. Signed-off-by: Dmitry Torokhov Cc: Avi Kivity Cc: Jeremy Fitzhardinge Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8af67e2681c693a21f3933e3bdfce4cf66596d3 Author: Anton Blanchard Date: Fri Apr 23 13:18:06 2010 -0400 fs/block_dev.c: fix performance regression in O_DIRECT|O_SYNC writes to block devices We are seeing a large regression in database performance on recent kernels. The database opens a block device with O_DIRECT|O_SYNC and a number of threads write to different regions of the file at the same time. A simple test case is below. I haven't defined DEVICE since getting it wrong will destroy your data :) On an 3 disk LVM with a 64k chunk size we see about 17MB/sec and only a few threads in IO wait: procs -----io---- -system-- -----cpu------ r b bi bo in cs us sy id wa st 0 3 0 16170 656 2259 0 0 86 14 0 0 2 0 16704 695 2408 0 0 92 8 0 0 2 0 17308 744 2653 0 0 86 14 0 0 2 0 17933 759 2777 0 0 89 10 0 Most threads are blocking in vfs_fsync_range, which has: mutex_lock(&mapping->host->i_mutex); err = fop->fsync(file, dentry, datasync); if (!ret) ret = err; mutex_unlock(&mapping->host->i_mutex); commit 148f948ba877f4d3cdef036b1ff6d9f68986706a (vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode) offers some explanation of what is going on: Use these new helpers for syncing from generic VFS functions. This makes O_SYNC writes to block devices acquire i_mutex for syncing. If we really care about this, we can make block_fsync() drop the i_mutex and reacquire it before it returns. Thanks Jan for such a good commit message! As well as dropping i_mutex, Christoph suggests we should remove the call to sync_blockdev(): > sync_blockdev is an overcomplicated alias for filemap_write_and_wait on > the block device inode, which is exactly what we did just before calling > into ->fsync The patch below incorporates both suggestions. With it the testcase improves from 17MB/s to 68M/sec: procs -----io---- -system-- -----cpu------ r b bi bo in cs us sy id wa st 0 7 0 65536 1000 3878 0 0 70 30 0 0 34 0 69632 1016 3921 0 1 46 53 0 0 57 0 69632 1000 3921 0 0 55 45 0 0 53 0 69640 754 4111 0 0 81 19 0 Testcase: #define _GNU_SOURCE #include #include #include #include #include #include #include #include #define NR_THREADS 64 #define BUFSIZE (64 * 1024) #define DEVICE "/dev/mapper/XXXXXX" #define ALIGN(VAL, SIZE) (((VAL)+(SIZE)-1) & ~((SIZE)-1)) static int fd; static void *doit(void *arg) { unsigned long offset = (long)arg; char *b, *buf; b = malloc(BUFSIZE + 1024); buf = (char *)ALIGN((unsigned long)b, 1024); memset(buf, 0, BUFSIZE); while (1) pwrite(fd, buf, BUFSIZE, offset); } int main(int argc, char *argv[]) { int flags = O_RDWR|O_DIRECT; int i; unsigned long offset = 0; if (argc > 1 && !strcmp(argv[1], "O_SYNC")) flags |= O_SYNC; fd = open(DEVICE, flags); if (fd == -1) { perror("open"); exit(1); } for (i = 0; i < NR_THREADS-1; i++) { pthread_t tid; pthread_create(&tid, NULL, doit, (void *)offset); offset += BUFSIZE; } doit((void *)offset); return 0; } Signed-off-by: Anton Blanchard Acked-by: Jan Kara Cc: Christoph Hellwig Cc: Alexander Viro Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98d5ce0d0044666fc85a01915a1d22407eb546fd Author: Hans Verkuil Date: Fri Apr 23 13:18:04 2010 -0400 lib/vsprintf.c: add missing EXPORT_SYMBOL(simple_strtoll) Add a missing EXPORT_SYMBOL. I must be the first person that wants to use this function :-) Signed-off-by: Hans Verkuil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fa08f25bd24fc51557a2d2364fa1ab5e7407b4 Author: Amit Kucheria Date: Fri Apr 23 13:18:03 2010 -0400 w1: fix omap 1-wire driver compilation Fixes the following error: drivers/w1/masters/omap_hdq.c: In function 'hdq_wait_for_flag': drivers/w1/masters/omap_hdq.c:137: error: implicit declaration of function 'schedule_timeout_uninterruptible' drivers/w1/masters/omap_hdq.c: In function 'hdq_write_byte': drivers/w1/masters/omap_hdq.c:177: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in this function) drivers/w1/masters/omap_hdq.c:177: error: (Each undeclared identifier is reported only once drivers/w1/masters/omap_hdq.c:177: error: for each function it appears in.) drivers/w1/masters/omap_hdq.c:177: error: implicit declaration of function 'schedule_timeout' drivers/w1/masters/omap_hdq.c: In function 'hdq_isr': drivers/w1/masters/omap_hdq.c:221: error: 'TASK_NORMAL' undeclared (first use in this function) drivers/w1/masters/omap_hdq.c: In function 'omap_hdq_break': drivers/w1/masters/omap_hdq.c:316: error: 'TASK_UNINTERRUPTIBLE' undeclared (first use in this function) Signed-off-by: Amit Kucheria Acked-by: Tony Lindgren Cc: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31f2b0ebc01fd332cb0997f7ce9f9cde29af9e20 Author: Oleg Nesterov Date: Fri Apr 23 13:18:01 2010 -0400 rmap: anon_vma_prepare() can leak anon_vma_chain If find_mergeable_anon_vma() succeeds but another thread installs ->anon_vma before we take ptl, then allocated == NULL but avc should be freed. Change the code to check avc != NULL to detect this case. Also, a couple of whitespace changes to make the critical section more visible. Signed-off-by: Oleg Nesterov Reviewed-by: Rik van Riel Cc: Hugh Dickins Cc: Pete Zaitcev Cc: Borislav Petkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93b4a44f3ad69520d605aace3f3486b8eb754b96 Author: David Howells Date: Fri Apr 23 13:18:00 2010 -0400 keys: fix an RCU warning Fix the following RCU warning: =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- security/keys/request_key.c:116 invoked rcu_dereference_check() without protection! This was caused by doing: [root@andromeda ~]# keyctl newring fred @s 539196288 [root@andromeda ~]# keyctl request2 user a a 539196288 request_key: Required key not available Signed-off-by: David Howells Acked-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccdb40048b2972f10bdc944913c0e0ee26b5d1f2 Author: Albin Tonnerre Date: Fri Apr 23 13:17:58 2010 -0400 lib: fix the use of LZO to decompress initramfs images This patch fixes 2 issues with the LZO decompressor: - It doesn't handle the case where a block isn't compressed at all. In this case, calling lzo1x_decompress_safe will fail, so we need to just use memcpy() instead (the upstream LZO code does something similar) - Since commit 54291362d2a5738e1b0495df2abcb9e6b0563a3f ("initramfs: add missing decompressor error check") , the decompressor return code is checked in the init/initramfs.c The LZO decompressor didn't return the expected value, causing the initramfs code to falsely believe a decompression error occured Signed-off-by: Albin Tonnerre Tested-by: bert schulze Cc: "H. Peter Anvin" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23be7468e8802a2ac1de6ee3eecb3ec7f14dc703 Author: Mel Gorman Date: Fri Apr 23 13:17:56 2010 -0400 hugetlb: fix infinite loop in get_futex_key() when backed by huge pages If a futex key happens to be located within a huge page mapped MAP_PRIVATE, get_futex_key() can go into an infinite loop waiting for a page->mapping that will never exist. See https://bugzilla.redhat.com/show_bug.cgi?id=552257 for more details about the problem. This patch makes page->mapping a poisoned value that includes PAGE_MAPPING_ANON mapped MAP_PRIVATE. This is enough for futex to continue but because of PAGE_MAPPING_ANON, the poisoned value is not dereferenced or used by futex. No other part of the VM should be dereferencing the page->mapping of a hugetlbfs page as its page cache is not on the LRU. This patch fixes the problem with the test case described in the bugzilla. [akpm@linux-foundation.org: mel cant spel] Signed-off-by: Mel Gorman Acked-by: Peter Zijlstra Acked-by: Darren Hart Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a6a1ecd9e9b5d046a236da2f7eb6b6812f04229 Author: Ian Dall Date: Fri Apr 23 13:17:53 2010 -0400 w1: w1 temp: fix negative termperature calculation Fix regression caused by commit 507e2fbaaacb6f164b4125b87c5002f95143174b ("w1: w1 temp calculation overflow fix") whereby negative temperatures for the DS18B20 are not converted properly. When the temperature exceeds 32767 milli-degrees the temperature overflows to -32768 millidegrees. These are both well within the -55 - +125 degree range for the sensor. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=12646 Signed-of-by: Ian Dall Cc: Evgeniy Polyakov Tested-by: Karsten Elfenbein Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7716fa66034c408b0f59e8b9c62f793befa5b338 Author: KAMEZAWA Hiroyuki Date: Fri Apr 23 13:17:51 2010 -0400 cgroups: fix procs documentation Writing to cgroup.procs is not supported now. Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Li Zefan Cc: Ben Blum Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a3bdfe6cd841880a5d849c40f90093b3817f6e0 Author: Thomas Gerlach Date: Fri Apr 23 13:17:50 2010 -0400 drivers/video/efifb.c: support framebuffer for NVIDIA 9400M in MacBook Pro 5,1 Description of patch: --------------------- This is a patch for the EFI framebuffer driver to enable the framebuffer of the NVIDIA 9400M as found in MacBook Pro (MBP) 5,1 and up. The framebuffer of the NVIDIA graphic cards are located at the following addresses in memory: 9400M: 0xC0010000 9600M GT: 0xB0030000 The patch delivered right here only provides the memory location of the framebuffer of the 9400M device. The 9600M GT is not covered. It is assumed that the 9400M is used when powered up the MBP. The information which device is currently powered and in use is stored in the 64 bytes large EFI variable "gpu-power-prefs". More specifically, byte 0x3B indicates whether 9600M GT (0x00) or 9400M (0x01) is online. The PCI bus IDs are the following: 9400M: PCI 03:00:00 9600M GT: PCI 02:00:00 The EFI variables can be easily read-out and manipulated with "rEFIt", an MBP specific bootloader tool. For more information on how handle rEFIt and EFI variables please consult "http://refit.sourceforge.net" and "http://ubuntuforums.org/archive/index.php/t-1076879.html". IMPORTANT NOTE: The information on how to activate the 9400M device given at "ubuntuforums.org" is not correct, since it states gpu-power-prefs[0x3B] = 0x00 -> 9400M (PCI 02:00:00) gpu-power-prefs[0x3B] = 0x01 -> 9600M GT (PCI 03:00:00) Actually, the assignment of the values and the PCI bus IDs are swapped. Suggestions: ------------ To cover framebuffers of both 9400M and 9600M GT, I would suggest to implement a conditional on "gpu-power-prefs". Depending on the value of byte 0x3B, the according framebuffer is selected. However, this requires kernel access to the EFI variables. [akpm@linux-foundation.org: rename optname, per Peter Jones] Signed-off-by: Thomas Gerlach Acked-by: Peter Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bd14a839d2ec703c56593a7209f2310c16d6478 Author: Takashi Iwai Date: Fri Apr 23 13:17:48 2010 -0400 lis3: add support for HP ProBook 432x/442x/452x/522x Correct axis-mappings for new HP ProBook laptops. Signed-off-by: Takashi Iwai Acked-by: Eric Piel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a88a2b886404b1cfc109125b1cba4775e8682955 Author: Paulius Zaleckas Date: Fri Apr 23 13:17:47 2010 -0400 mtd: fix Orion NAND driver compilation with ARM OABI We must tell GCC to use even register for variable passed to ldrd instruction. Without this patch GCC 4.2.1 puts this variable to r2/r3 on EABI and r3/r4 on OABI, so force it to r2/r3. This does not change anything when EABI and OABI compilation works OK. Without this patch and with OABI I get: CC drivers/mtd/nand/orion_nand.o /tmp/ccMkwOCs.s: Assembler messages: /tmp/ccMkwOCs.s:63: Error: first destination register must be even -- `ldrd r3,[ip]' make[5]: *** [drivers/mtd/nand/orion_nand.o] Error 1 Signed-off-by: Paulius Zaleckas Acked-by: Nicolas Pitre Acked-by: Artem Bityutskiy Cc: David Woodhouse Cc: Jamie Lokier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e59464c735db19619cde2aa331609adb02005f5b Author: Changli Gao Date: Fri Apr 23 13:17:45 2010 -0400 flex_array: fix the panic when calling flex_array_alloc() without __GFP_ZERO memset() is called with the wrong address and the kernel panics. Signed-off-by: Changli Gao Cc: Patrick McHardy Acked-by: David Rientjes Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46da27664887fb95cedba53eafcf876de812c8c1 Author: Andreas Schwab Date: Fri Apr 23 13:17:44 2010 -0400 kernel/sys.c: fix compat uname machine On ppc64 you get this error: $ setarch ppc -R true setarch: ppc: Unrecognized architecture because uname still reports ppc64 as the machine. So mask off the personality flags when checking for PER_LINUX32. Signed-off-by: Andreas Schwab Reviewed-by: Christoph Hellwig Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb2162df74bb19552db3d988fd11c787cf5fad56 Author: Jeff Mahoney Date: Fri Apr 23 13:17:41 2010 -0400 reiserfs: fix corruption during shrinking of xattrs Commit 48b32a3553a54740d236b79a90f20147a25875e3 ("reiserfs: use generic xattr handlers") introduced a problem that causes corruption when extended attributes are replaced with a smaller value. The issue is that the reiserfs_setattr to shrink the xattr file was moved from before the write to after the write. The root issue has always been in the reiserfs xattr code, but was papered over by the fact that in the shrink case, the file would just be expanded again while the xattr was written. The end result is that the last 8 bytes of xattr data are lost. This patch fixes it to use new_size. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=14826 Signed-off-by: Jeff Mahoney Reported-by: Christian Kujau Tested-by: Christian Kujau Cc: Edward Shishkin Cc: Jethro Beekman Cc: Greg Surbey Cc: Marco Gatti Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93d5c9be1ddd57d4063ce463c9ac2be1e5ee14f1 Author: Andrea Arcangeli Date: Fri Apr 23 13:17:39 2010 -0400 memcg: fix prepare migration If a signal is pending (task being killed by sigkill) __mem_cgroup_try_charge will write NULL into &mem, and css_put will oops on null pointer dereference. BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 IP: [] mem_cgroup_prepare_migration+0x7c/0xc0 PGD a5d89067 PUD a5d8a067 PMD 0 Oops: 0000 [#1] SMP last sysfs file: /sys/devices/platform/microcode/firmware/microcode/loading CPU 0 Modules linked in: nfs lockd nfs_acl auth_rpcgss sunrpc acpi_cpufreq pcspkr sg [last unloaded: microcode] Pid: 5299, comm: largepages Tainted: G W 2.6.34-rc3 #3 Penryn1600SLI-110dB/To Be Filled By O.E.M. RIP: 0010:[] [] mem_cgroup_prepare_migration+0x7c/0xc0 [nishimura@mxp.nes.nec.co.jp: fix merge issues] Signed-off-by: Andrea Arcangeli Acked-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Signed-off-by: Daisuke Nishimura Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cac36f707119b792b2396aed371d6b5cdc194890 Author: Jeff Mahoney Date: Fri Apr 23 13:17:37 2010 -0400 reiserfs: fix permissions on .reiserfs_priv Commit 677c9b2e393a0cd203bd54e9c18b012b2c73305a ("reiserfs: remove privroot hiding in lookup") removed the magic from the lookup code to hide the .reiserfs_priv directory since it was getting loaded at mount-time instead. The intent was that the entry would be hidden from the user via a poisoned d_compare, but this was faulty. This introduced a security issue where unprivileged users could access and modify extended attributes or ACLs belonging to other users, including root. This patch resolves the issue by properly hiding .reiserfs_priv. This was the intent of the xattr poisoning code, but it appears to have never worked as expected. This is fixed by using d_revalidate instead of d_compare. This patch makes -oexpose_privroot a no-op. I'm fine leaving it this way. The effort involved in working out the corner cases wrt permissions and caching outweigh the benefit of the feature. Signed-off-by: Jeff Mahoney Acked-by: Edward Shishkin Reported-by: Matt McCutchen Tested-by: Matt McCutchen Cc: Frederic Weisbecker Cc: Al Viro Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a0fc404ae663776e96db43879a0fa24fec1fa3a Author: H. Peter Anvin Date: Tue Apr 13 14:40:54 2010 -0700 x86: Disable large pages on CPUs with Atom erratum AAE44 Atom erratum AAE44/AAF40/AAG38/AAH41: "If software clears the PS (page size) bit in a present PDE (page directory entry), that will cause linear addresses mapped through this PDE to use 4-KByte pages instead of using a large page after old TLB entries are invalidated. Due to this erratum, if a code fetch uses this PDE before the TLB entry for the large page is invalidated then it may fetch from a different physical address than specified by either the old large page translation or the new 4-KByte page translation. This erratum may also cause speculative code fetches from incorrect addresses." [http://download.intel.com/design/processor/specupdt/319536.pdf] Where as commit 211b3d03c7400f48a781977a50104c9d12f4e229 seems to workaround errata AAH41 (mixed 4K TLBs) it reduces the window of opportunity for the bug to occur and does not totally remove it. This patch disables mixed 4K/4MB page tables totally avoiding the page splitting and not tripping this processor issue. This is based on an original patch by Colin King. Originally-by: Colin Ian King Cc: Colin Ian King Cc: Ingo Molnar Signed-off-by: H. Peter Anvin LKML-Reference: <1269271251-19775-1-git-send-email-colin.king@canonical.com> Cc: commit 7ce5a2b9bb2e92902230e3121d8c3047fab9cb47 Author: H. Peter Anvin Date: Fri Apr 23 16:17:40 2010 -0700 x86-64: Clear a 64-bit FS/GS base on fork if selector is nonzero When we do a thread switch, we clear the outgoing FS/GS base if the corresponding selector is nonzero. This is taken by __switch_to() as an entry invariant; it does not verify that it is true on entry. However, copy_thread() doesn't enforce this constraint, which can result in inconsistent results after fork(). Make copy_thread() match the behavior of __switch_to(). Reported-and-tested-by: Samuel Thibault Signed-off-by: H. Peter Anvin LKML-Reference: <4BD1E061.8030605@zytor.com> Cc: commit 7ce97d4f78b62e3af24cdd4df953d777e7efb2f6 Author: Anton Vorontsov Date: Fri Apr 23 07:12:44 2010 +0000 gianfar: Fix potential oops during OF address translation gianfar driver may pass NULL pointer to the of_translate_address(), which may lead to a kernel oops. Fix this by using of_iomap(), which is also much simpler and shorter. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 3b1fd3e55a39824e68bc8dd055d14892476e3671 Author: Anton Vorontsov Date: Fri Apr 23 07:12:35 2010 +0000 fsl_pq_mdio: Fix kernel oops during OF address translation Old P1020RDB device trees were not specifing tbipa address for MDIO nodes, which is now causing this kernel oops: ... eth2: TX BD ring size for Q[6]: 256 eth2: TX BD ring size for Q[7]: 256 Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc0015504 Oops: Kernel access of bad area, sig: 11 [#1] ... NIP [c0015504] memcpy+0x3c/0x9c LR [c000a9f8] __of_translate_address+0xfc/0x21c Call Trace: [df839e00] [c000a94c] __of_translate_address+0x50/0x21c (unreliable) [df839e50] [c01a33e8] get_gfar_tbipa+0xb0/0xe0 ... The old device trees are buggy, though having a dead ethernet is better than a dead kernel, so fix the issue by using of_iomap(). Also, a somewhat similar issue exist in the probe() routine, though there the oops is only a possibility. Nonetheless, fix it too. Signed-off-by: Anton Vorontsov Signed-off-by: David S. Miller commit 223e632c7a26c0424d658c35ef8c5e06bc28bf96 Author: Aaro Koskinen Date: Mon Mar 22 17:28:19 2010 +0000 omap: delete unused bootloader tag variables They are not needed and add over 512 bytes to kernel data. Signed-off-by: Aaro Koskinen Signed-off-by: Tony Lindgren commit cf25eb950d0d8ada0db33c1d99d61bce620c128f Author: Thomas Weber Date: Wed Mar 24 12:52:15 2010 +0000 omap: Devkit8000: Remove unused pins Old code from original patch contains beagle board pins that are not available on the Devkit8000. Signed-off-by: Thomas Weber Signed-off-by: Tony Lindgren commit faec32e5bfe699e40adcf30df82ec1db8fe8e43b Author: Thomas Weber Date: Wed Mar 24 12:52:14 2010 +0000 omap: Devkit8000: Change position of init calls Change position of calling serial and ethernet initialization. Signed-off-by: Thomas Weber Signed-off-by: Tony Lindgren commit 184644a633d1b8cf5f2f7cf0debc4ee3917adc44 Author: Thomas Weber Date: Wed Mar 24 12:52:13 2010 +0000 omap: Devkit8000: Remove unnecessary include file Remove include otg.h. Signed-off-by: Thomas Weber Signed-off-by: Tony Lindgren commit 3cdc6ee54a491003b583b47a56c4052c76c965e6 Author: Thomas Weber Date: Wed Mar 24 12:52:12 2010 +0000 omap: Devkit8000: Fix typo in pin name Replace wrong sdr_cke[01] with sdrc_cke[01]. Signed-off-by: Thomas Weber Signed-off-by: Tony Lindgren commit 51824c5f5ecf6175c1cc913cb5c7d6d6213e96aa Author: Thomas Weber Date: Wed Mar 24 12:52:11 2010 +0000 omap: Devkit8000: Add missing package selection Devkit8000 uses the CUS package for OMAP3530. This patch adds missing package selection for CUS and enables CONFIG_MUX. Replace whitespace with tab in Kconfig. Signed-off-by: Thomas Weber Signed-off-by: Tony Lindgren commit 6057db52a2c85659821feac4d3a86ada711893a4 Author: Thomas Weber Date: Wed Mar 24 12:52:10 2010 +0000 omap: Devkit8000: Fix typo in supplies Replace wrong vdss_dsi with vdds_dsi. Signed-off-by: Thomas Weber Signed-off-by: Tony Lindgren commit 57ed0e7b72e9b472c5ce862eaba5435b36233fab Author: Francisco Alecrim Date: Wed Mar 17 19:46:42 2010 +0000 n8x0_defconfig: remove CONFIG_NILFS2_FS override arch/arm/configs/n8x0_defconfig:1061:warning: override: reassigning to symbol NILFS2_FS Signed-off-by: Francisco Alecrim Signed-off-by: Tony Lindgren commit 31849483f17dd76d48341dfc6dfc38261b630d26 Author: Thomas Weber Date: Thu Mar 25 20:21:54 2010 +0000 omap: board-sdp-flash.c: Fix typos in debug output Corrected type of flash in output (OneNAND => NOR). Removed whitespace after newline in output. Removed double whitespace in output. Signed-off-by: Thomas Weber Signed-off-by: Tony Lindgren commit aee44c30e33bf8126773d1e2963e330b784ccd7c Author: Santosh Shilimkar Date: Wed Apr 7 07:47:23 2010 +0000 omap4: Fix McBSP4 base address This patch fixes the McBSP4 base address for OMAP4 Signed-off-by: Balaji T K Signed-off-by: Tony Lindgren commit cc352a3432abffb590b447fef89b4b5026387302 Author: Jarkko Nikula Date: Mon Apr 19 13:52:10 2010 +0000 omap: rx51_defconfig: Remove CONFIG_SYSFS_DEPRECATED*=y options Modern udev will not work with the CONFIG_SYSFS_DEPRECATED*=y options and it seems also that the Maemo release works without when testing with the Maemo 2.6.28 kernel. Signed-off-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit c8fa4d2738bc747e417a220e6ceb21e8c148266f Author: Jarkko Nikula Date: Mon Apr 19 13:52:09 2010 +0000 omap: rx51_defconfig: Remove duplicate phonet Phonet is enabled by the commit bce54fed941e03695ab557100a4bd1e457abca42 and this duplicate gives a warning when doing make rx51_defconfig. Signed-off-by: Jarkko Nikula Acked-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 11e1ef2d105900a302b7ca92bcaf96a96d0274a1 Author: stanley.miao Date: Tue Apr 20 06:33:30 2010 +0000 omap: fix a gpmc nand problem If gpmc_t isn't given, we don't need to set timing for gpmc, or it will cause a Oops. Signed-off-by: Stanley.Miao Signed-off-by: Tony Lindgren commit 5241b6b3bfa7be3661398cf93cb3dd187aeb65c6 Author: stanley.miao Date: Tue Apr 20 06:33:29 2010 +0000 AM3517: initialize i2c subsystem after mux subsystem The initialize of i2c subsystem will set pinmux, so it should be done after the initialize of mux subsystem initialization. Signed-off-by: Stanley.Miao Signed-off-by: Tony Lindgren commit 908c08d523f432a1b52298e2a50b21f4eebe6707 Author: stanley.miao Date: Tue Apr 20 06:33:27 2010 +0000 omap: remove one of the define of INT_34XX_BENCH_MPU_EMUL INT_34XX_BENCH_MPU_EMUL was defined twice, another is at Line 312. Signed-off-by: Stanley.Miao Signed-off-by: Tony Lindgren commit 562468bd697a88ad78a751823dc92f027f8c179c Author: stanley.miao Date: Tue Apr 20 06:33:26 2010 +0000 omap: fix the compile error if CONFIG_MTD_NAND_OMAP2 is notenabled If CONFIG_MTD_NAND_OMAP2 is not enabled, there will be a compile error, "gpmc_nand_init() is not defined". Add a inline noop function to fix it. Signed-off-by: Stanley.Miao Signed-off-by: Tony Lindgren commit c8334810db6e74019048cb3fc17c5e0b4d0c8c68 Author: Abraham Arce Date: Thu Apr 22 14:42:15 2010 +0000 OMAP4: Clocks: Change SPI Instance Names Change the name for the spi instances on omap44xx_clks to match the names omap2 spi driver gives: omap-mcspi.1 -> omap2_mcspi.1 omap-mcspi.2 -> omap2_mcspi.2 omap-mcspi.3 -> omap2_mcspi.3 omap-mcspi.4 -> omap2_mcspi.4 Signed-off-by: Abraham Arce Signed-off-by: Tony Lindgren commit 2135bb53fb6c9a4b2ed7901b2b176a6100e29f6b Author: Thomas Weber Date: Wed Mar 24 12:52:16 2010 +0000 omap: Devkit8000: Fix wrong usb port on Devkit8000 Disable the nonexistent ehci port on Devkit8000. Signed-off-by: Thomas Weber Acked-by: Anand Gadiyar Signed-off-by: Tony Lindgren commit 3655e0b415506a4d162ed4b2b12408c80dcfa4a2 Author: Santosh Shilimkar Date: Wed Apr 21 18:21:04 2010 +0000 OMAP4: Fix for CONTROL register Base This patch fixes the base address of CONTROL register on OMAP4430SDP. The control base is used by peripherals like MMC1 for PBIAS configuration. Signed-off-by: Santosh Shilimkar Signed-off-by: Kishore Kadiyala Signed-off-by: Tony Lindgren commit 9df76b7f179538903dfb4660ae27c807dd27535a Author: kishore kadiyala Date: Wed Apr 21 18:19:37 2010 +0000 OMAP4-HSMMC: FIX for MMC5 Controller IRQ Base This patch fixes HSMMC Controller5 IRQ Base. Signed-off-by: Kishore Kadiyala Signed-off-by: Tony Lindgren commit f6b74535b5286ddb7a8c86a48ec372615cffbc4c Author: Enric Balletbo i Serra Date: Mon Mar 1 15:02:36 2010 +0000 omap3: Fix EHCI port for IGEP v2 board IGEP v2 uses EHCI port 1 instead of EHCI port 2. Signed-off-by: Enric Balletbo i Serra Acked-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 1dea5c6b5876ea917a082e95a76c10aac307d4ec Author: Tony Lindgren Date: Wed Apr 21 15:27:24 2010 -0700 omap: Fix n8x0 mmc_mmc_init compile warnings and typos Fix warning: 'return' with a value, in function returning void in n8x0_mmc_init. Also fix a search and replace typo. Signed-off-by: Tony Lindgren commit 67d24820c2f8e4df26e2ce6c7463db3f9d187f1f Author: Tony Lindgren Date: Wed Apr 21 15:27:25 2010 -0700 omap2: Fix ARM processor check for 24xx The value to check is 7 for V6 instead. The code has been working as it falls through to 24xx code if the other checks fail. Signed-off-by: Tony Lindgren commit df571c4ab32da9bc05a7db98516fc06ef3cdc5d1 Author: Richard Woodruff Date: Wed Apr 7 07:47:21 2010 +0000 omap4: Fix build break when used with gcc-4.4.1 (2009-q3) This patch adds argument to smc calls as gcc-4.4.1 requires it otherwise the build breaks with 2009-q3 toolchanin. arch/arm/mach-omap2/omap-headsmp.S: Assembler messages: arch/arm/mach-omap2/omap-headsmp.S:36: Error: missing expression -- `smc' arch/arm/mach-omap2/omap-headsmp.S:55: Error: missing expression -- `smc' arch/arm/mach-omap2/omap-headsmp.S:63: Error: missing expression -- `smc' make[1]: *** [arch/arm/mach-omap2/omap-headsmp.o] Error 1 Signed-off-by: Richard Woodruff Signed-off-by: Santosh Shilimkar Signed-off-by: Tony Lindgren commit a36d515c7a2dfacebcf41729f6812dbc424ebcf0 Author: Joel Becker Date: Fri Apr 23 15:24:59 2010 -0700 ocfs2_dlmfs: Fix math error when reading LVB. When asked for a partial read of the LVB in a dlmfs file, we can accidentally calculate a negative count. Reported-by: Dan Carpenter Cc: Signed-off-by: Joel Becker commit c21a534e2f24968cf74976a4e721ac194db30ded Author: Tao Ma Date: Wed Apr 21 14:05:55 2010 +0800 ocfs2: Update VFS inode's id info after reflink. In reflink we update the id info on the disk but forgot to update the corresponding information in the VFS inode. Update them accordingly when we want to preserve the attributes. Reported-by: Jeff Liu Signed-off-by: Tao Ma Cc: Signed-off-by: Joel Becker commit 0350cb078f5035716ebdad4ad4709d02fe466a8a Author: Dan Carpenter Date: Thu Apr 22 11:39:29 2010 +0200 ocfs2: potential ERR_PTR dereference on error paths If "handle" is non null at the end of the function then we assume it's a valid pointer and pass it to ocfs2_commit_trans(); Signed-off-by: Dan Carpenter Cc: Signed-off-by: Joel Becker commit c9db3efee16add57ea459a00dfa00610fcbce931 Author: Corentin Chary Date: Sat Apr 10 11:02:51 2010 +0200 eeepc-laptop: add missing sparse_keymap_free Also remove legacy keymap which was not used since we use sparse_keymap. Signed-off-by: Corentin Chary commit a9743fcdc0eb43d028b71267438076e1b0112ba0 Author: Mark Fasheh Date: Fri Apr 23 11:42:22 2010 -0700 ocfs2: Add directory entry later in ocfs2_symlink() and ocfs2_mknod() If we get a failure during creation of an inode we'll allow the orphan code to remove the inode, which is correct. However, we need to ensure that we don't get any errors after the call to ocfs2_add_entry(), otherwise we could leave a dangling directory reference. The solution is simple - in both cases, all I had to do was move ocfs2_dentry_attach_lock() above the ocfs2_add_entry() call. Signed-off-by: Mark Fasheh commit 062d340384dcf77dfd8de0a082b5da571de3925a Author: Li Dongyang Date: Thu Apr 22 16:11:29 2010 +0800 ocfs2: use OCFS2_INODE_SKIP_ORPHAN_DIR in ocfs2_mknod error path Mark the inode with flag OCFS2_INODE_SKIP_ORPHAN_DIR in ocfs2_mknod, so we can kill the inode in case of error. [ Fixed up comment style -Mark ] Signed-off-by: Li Dongyang Signed-off-by: Mark Fasheh commit ab41fdc8fdd9f0942430941c1e2b516fd481371d Author: Li Dongyang Date: Thu Apr 22 16:11:25 2010 +0800 ocfs2: use OCFS2_INODE_SKIP_ORPHAN_DIR in ocfs2_symlink error path Mark the inode with flag OCFS2_INODE_SKIP_ORPHAN_DIR when we get an error after allocating one, so that we can kill the inode. Signed-off-by: Li Dongyang Signed-off-by: Mark Fasheh commit d4cd1871cff68e188dadcf6d1280762522b643eb Author: Li Dongyang Date: Thu Apr 22 16:11:19 2010 +0800 ocfs2: add OCFS2_INODE_SKIP_ORPHAN_DIR flag and honor it in the inode wipe code Currently in the error path of ocfs2_symlink and ocfs2_mknod, we just call iput with the inode we failed with, but the inode wipe code will complain because we don't add the inode to orphan dir. One solution would be to lock the orphan dir during the entire transaction, but that's too heavy for a rare error path. Instead, we add a flag, OCFS2_INODE_SKIP_ORPHAN_DIR which tells the inode wipe code that it won't find this inode in the orphan dir. [ Merge fixes and comment style cleanups -Mark ] Signed-off-by: Li Dongyang Signed-off-by: Mark Fasheh commit 33eaf788345c0311ab48ae62673c05f59fb09bb3 Merge: 3a3076f 227c4ed Author: Linus Torvalds Date: Fri Apr 23 10:40:36 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio 1558 ALSA: hda: Use LPIB quirk for DG965OT board version AAD63733-203 ALSA: snd-meastro3: Ignore spurious HV interrupts during suspend / resume ALSA: snd-meastro3: Add amp_gpio quirk for Compaq EVO N600C ALSA: hda: Use ALC880_F1734 quirk for Fujitsu Siemens AMILO Xi 1526 ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645 ALSA: hda - Fix resume from StR of HP 2510p with docking-station commit 3a3076f4d6e2fa31338a0b007df42a3b32f079e0 Author: Josef Bacik Date: Fri Apr 23 12:17:17 2010 -0400 Cleanup generic block based fiemap This cleans up a few of the complaints of __generic_block_fiemap. I've fixed all the typing stuff, used inline functions instead of macros, gotten rid of a couple of variables, and made sure the size and block requests are all block aligned. It also fixes a problem where sometimes FIEMAP_EXTENT_LAST wasn't being set properly. Signed-off-by: Josef Bacik Signed-off-by: Linus Torvalds commit 1918ad77f7f908ed67cf37c505c6ad4ac52f1ecf Author: Jesse Barnes Date: Fri Apr 23 09:32:23 2010 -0700 drm/i915: fix non-Ironlake 965 class crashes My PIPE_CONTROL fix (just sent via Eric's tree) was buggy; I was testing a whole set of patches together and missed a conversion to the new HAS_PIPE_CONTROL macro, which will cause breakage on non-Ironlake 965 class chips. Fortunately, the fix is trivial and has been tested. Be sure to use the HAS_PIPE_CONTROL macro in i915_get_gem_seqno, or we'll end up reading the wrong graphics memory, likely causing hangs, crashes, or worse. Reported-by: Zdenek Kabelac Reported-by: Toralf Förster Tested-by: Toralf Förster Signed-off-by: Jesse Barnes Signed-off-by: Linus Torvalds commit 227c4edb729790960f5f4991a703a398e925184c Merge: 1f10cd3 715aa67 Author: Takashi Iwai Date: Fri Apr 23 17:10:48 2010 +0200 Merge branch 'fix/misc' into for-linus commit 1f10cd34d9b347106cb34ef91c8ff76f12ee67a8 Merge: 923125c 5c1bccf Author: Takashi Iwai Date: Fri Apr 23 17:10:44 2010 +0200 Merge branch 'fix/hda' into for-linus commit 0ad707407d933841a0f337d6edccbc1d6c83e186 Author: Yegor Yefremov Date: Wed Apr 7 09:34:56 2010 +0100 ARM: 6030/1: KS8695: enable console Add add_preferred_console() to ks8695_console_init() to enable the console Signed-off-by: Yegor Yefremov Acked-by: Andrew Victor Signed-off-by: Russell King commit 4b402210486c6414fe5fbfd85934a0a22da56b04 Author: Benjamin Herrenschmidt Date: Fri Apr 16 23:20:00 2010 +0200 mutex: Don't spin when the owner CPU is offline or other weird cases Due to recent load-balancer changes that delay the task migration to the next wakeup, the adaptive mutex spinning ends up in a live lock when the owner's CPU gets offlined because the cpu_online() check lives before the owner running check. This patch changes mutex_spin_on_owner() to return 0 (don't spin) in any case where we aren't sure about the owner struct validity or CPU number, and if the said CPU is offline. There is no point going back & re-evaluate spinning in corner cases like that, let's just go to sleep. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Peter Zijlstra LKML-Reference: <1271212509.13059.135.camel@pasglop> Signed-off-by: Ingo Molnar commit c6f8505e4627ba8ca46cbcb602ad82e7f17a7122 Author: Alex Deucher Date: Fri Apr 23 02:26:55 2010 -0400 drm/radeon/kms/evergreen: No EnableYUV table DCE4 cards don't have an EnableYUV table. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5c1bccf645d4ab65e4c7502acb42e8b9afdb5bdc Author: Daniel T Chen Date: Thu Apr 22 17:54:45 2010 -0400 ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio 1558 BugLink: https://launchpad.net/bugs/568600 The OR has verified that the dell-m6 model quirk is necessary for audio to be audible by default on the Dell Studio XPS 1645. This change is necessary for 2.6.32.11 and 2.6.33.2 alike. Reported-by: Andy Ross Tested-by: Andy Ross Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 0e0280dc2b0c7395a880d25544b47f3e3e3f79db Author: Daniel T Chen Date: Wed Apr 21 19:55:43 2010 -0400 ALSA: hda: Use LPIB quirk for DG965OT board version AAD63733-203 BugLink: https://launchpad.net/bugs/459083 The OR has verified with 2.6.32.11 and the latest alsa-driver stable daily snapshot that position_fix=1 is necessary for the external mic to work and for PulseAudio not to crash constantly. This patch is necessary also for 2.6.32.11 and 2.6.33.2. Reported-by: Tested-by: Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 94f7bf647315472c80b8368c849739038e5620a3 Author: Tormod Volden Date: Thu Apr 22 16:57:32 2010 -0400 drm/radeon: 9800 SE has only one quadpipe Although these cards have 2 pipelines on the silicon only the first passed the QA and the other should be disabled. http://www.digital-daily.com/video/ati-radeon9800se/ http://www.rojakpot.com/showarticle.aspx?artno=101&pgno=1 agd5f: add some other SE cards as well; fix up kms Signed-off-by: Tormod Volden Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 9c950a43dd4d1e22a4b893c991871bac26930f97 Author: Dave Airlie Date: Fri Apr 23 13:21:58 2010 +1000 drm/radeon/kms: don't print error for legal crtcs. With evergreen this is bounded by num_crtc not by 0,1. Signed-off-by: Dave Airlie commit 677d07683ea826c19ddcb156e9c1337cd7bd8539 Author: Alex Deucher Date: Thu Apr 22 22:58:50 2010 -0400 drm/radeon/kms/evergreen: fix LUT setup Must have gotten broken during an earlier rebase. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d5a30458a90597915977f06e79406b664a41b8ac Merge: a4b7d3b a09bf4c Author: Linus Torvalds Date: Thu Apr 22 19:46:29 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: ensure NCQ error result taskfile is fully initialized before returning it via qc->result_tf. libata: fix docs, RE port and device of libata.force ID separated by point pata_pcmcia/ide-cs: add IDs for transcend and kingston cards libata: fix locking around blk_abort_request() commit fda48a0d7a8412cedacda46a9c0bf8ef9cd13559 Author: Eric Dumazet Date: Wed Apr 21 09:26:15 2010 +0000 tcp: bind() fix when many ports are bound Port autoselection done by kernel only works when number of bound sockets is under a threshold (typically 30000). When this threshold is over, we must check if there is a conflict before exiting first loop in inet_csk_get_port() Change inet_csk_bind_conflict() to forbid two reuse-enabled sockets to bind on same (address,port) tuple (with a non ANY address) Same change for inet6_csk_bind_conflict() Reported-by: Gaspar Chilingarov Signed-off-by: Eric Dumazet Acked-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit a09bf4cd53b8ab000197ef81f15d50f29ecf973c Author: Jeff Garzik Date: Thu Apr 22 21:59:13 2010 -0400 libata: ensure NCQ error result taskfile is fully initialized before returning it via qc->result_tf. Cc: stable@kernel.org Signed-off-by: Jeff Garzik commit 792590c72376649b4e315df386fd208b83db05b9 Author: Phillip Lougher Date: Sun Apr 4 22:20:58 2010 +0100 squashfs: fix locking bug in zlib wrapper Fix locking bug in zlib wrapper introduced by recent decompressor changes. Signed-off-by: Phillip Lougher commit 4c44f309cd396c18b096d31f03126824c685dbe2 Author: Roman Fietze Date: Wed Apr 21 12:17:12 2010 +0200 libata: fix docs, RE port and device of libata.force ID separated by point According to libata-core correctly around line 6572: /* parse id */ p = strchr(id, '.'); ... the optional device is separated from the port in the libata.force ID by a point or dot instead of by a colon. Fix documentation to reflect this. Signed-off-by: Roman Fietze Signed-off-by: Jeff Garzik commit f25798eda66c753aeaaec15244e0c919cf1d31e0 Author: Kristoffer Ericson Date: Mon Apr 19 19:54:11 2010 +0200 pata_pcmcia/ide-cs: add IDs for transcend and kingston cards This patch adds idstrings for Kingston 1GB/4GB and Transcend 4GB/8GB. Signed-off-by: Kristoffer Ericson Signed-off-by: Jeff Garzik commit fa41efdae7de61191a7bda3a00e88ef69afb5bb9 Author: Tejun Heo Date: Thu Apr 15 08:57:37 2010 +0900 libata: fix locking around blk_abort_request() blk_abort_request() expectes queue lock to be held by the caller. Grab it before calling the function. Lack of this synchronization led to infinite loop on corrupt q->timeout_list. Signed-off-by: Tejun Heo Cc: Jens Axboe Cc: stable@kernel.org Signed-off-by: Jeff Garzik commit a4b7d3bb744bbaaceb94a9aaf6b5cbc6e5d230f0 Merge: a2340be 6307e09 Author: Linus Torvalds Date: Thu Apr 22 18:24:37 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: usb: Increase timeout value for device reset USB: put claimed interfaces in the "suspended" state USB: EHCI: defer reclamation of siTDs USB: fix remote wakeup settings during system sleep USB: pl2303: add AdLink ND-6530 USB IDs USB: Add id for HP ev2210 a.k.a Sierra MC5725 miniPCI-e Cell Modem. USB: OHCI: DA8xx/OMAP-L1x: fix up macro rename USB: qcaux: add LG Rumor and Sanyo Katana LX device IDs usb: wusb: don't overflow the Keep Alive IE buffer USB: ehci: omap: fix kernel panic with rmmod USB: fixed bug in usbsevseg using USB autosuspend incorrectly USB: ti_usb_3410_5052: adding multitech dialup fax/modem devices commit a2340be047aaf026cbec6ee649c3f1eaf2bc7bd7 Merge: 7db2ccd a30dcb4 Author: Linus Torvalds Date: Thu Apr 22 18:24:27 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: sysfs: use sysfs_attr_init in ASUS atk0110 driver Documentation/HOWTO: update git home URL Documentation: -stable rules: upstream commit ID requirement reworded commit 7db2ccddd112d8b4b0d0dd7f309ebd8b39373fbb Merge: a2b297f e552eb7 Author: Linus Torvalds Date: Thu Apr 22 18:24:06 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: use PIPE_CONTROL instruction on Ironlake and Sandy Bridge drm/i915: cleanup FBC buffers at unload time drm/i915: fix tiling limits for i915 class hw v2 drm/i915: set DIDL using the ACPI video output device _ADR method return. drm/i915: Fix 82854 PCI ID, and treat it like other 85X drm/i915: Attempt to fix watermark setup on 85x (v2) commit a2b297ff56b9bad251d11a476880a5e4614cd92f Merge: cfc94b2 6e3b96e Author: Linus Torvalds Date: Thu Apr 22 18:21:38 2010 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md/raid5: fix previous patch. commit 519e61666f4030426fc539d4e7102dc2bad41113 Author: manjugk manjugk Date: Thu Mar 4 07:11:56 2010 +0000 omap: DMA: Init CDAC to zero The register DMA4_CDAC needs to be initialized to zero before starting DMA transfer. Cc: Santosh Shilimkar Cc: Govindraj R Cc: Kevin Hilman Reported-by:S, Venkatraman Signed-off-by: Manjunatha GK Signed-off-by: Tony Lindgren commit 29501577a7f3c925d5273064752ce3dc356ccfad Author: Janusz Krzysztofik Date: Mon Apr 5 11:38:06 2010 +0000 omap: gpio: fix incorrect matching of IRQ_TYPE_EDGE_BOTH Since IRQ_TYPE_EDGE_BOTH is defined as (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING), testing against it with a bitwise AND also matches both single-edge cases in addition to the intended both edges case. Fix it, replacing with a more accurate expression. Created and tested againts linux-2.6.34-rc3. Applicable to 2.6.33-stable as well. Signed-off-by: Janusz Krzysztofik Signed-off-by: Tony Lindgren commit 46cdc4e431536c279b1ce00520d6fe6e9ca42b04 Author: Felipe Balbi Date: Wed Apr 7 09:57:23 2010 +0000 arm: omap1: remove dead code from timer32k.c Trivial patch, no functional changes Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 2decb12e3ebec556520dd92178572449af8ed617 Author: Aaro Koskinen Date: Wed Apr 7 09:57:22 2010 +0000 omap: fix clocksource_32k to start from zero When the 32k sync timer is used for sched_clock(), it should count time from the kernel boot (clocksource init) instead of the last HW reset. Otherwise printk.time values will jump suddenly during the boot: [ 0.000000] calling omap2_clk_arch_init+0x0/0x138 @ 1 [ 0.000000] initcall omap2_clk_arch_init+0x0/0x138 returned -22 after 0 usecs [ 0.000000] initcall omap2_clk_arch_init+0x0/0x138 returned with error code -22 [ 0.000000] calling omap_init_clocksource_32k+0x0/0x98 @ 1 [ 508.697937] initcall omap_init_clocksource_32k+0x0/0x98 returned 0 after 0 usecs [ 508.697967] calling omap_init_devices+0x0/0x38 @ 1 [ 508.698425] initcall omap_init_devices+0x0/0x38 returned 0 after 0 usecs This will confuse tools such as scripts/bootgraph.pl. Signed-off-by: Aaro Koskinen Acked-by: Kevin Hilman Signed-off-by: Tony Lindgren commit cc2893b6af5265baa1d68b17b136cffca9e40cfa Author: Matthew Garrett Date: Thu Apr 22 09:30:51 2010 -0400 PCI: Ensure we re-enable devices on resume If the firmware puts a device back into D0 state at resume time, we'll update its state in resume_noirq and thus skip the platform resume code. Calling that code twice should be safe and we ought to avoid getting to that point anyway, so remove the check and also allow the platform pci code to be called for D0. Fixes USB not being powered after resume on recent Lenovo machines. Acked-by: Alex Chiang Acked-by: Rafael J. Wysocki Signed-off-by: Matthew Garrett Signed-off-by: Jesse Barnes commit 66528fdd45b082bf7c74687d72ae08afa4a446f8 Author: Bjorn Helgaas Date: Tue Apr 20 13:52:41 2010 -0600 x86/PCI: parse additional host bridge window resource types This adds support for Memory24, Memory32, and Memory32Fixed descriptors in PCI host bridge _CRS. I experimentally determined that Windows (2008 R2) accepts these descriptors and treats them as windows that are forwarded to the PCI bus, e.g., if it finds any PCI devices with BARs outside the windows, it moves them into the windows. I don't know whether any machines actually use these descriptors in PCI host bridge _CRS methods, but if any exist and they're new enough that we automatically turn on "pci=use_crs", they will work with Windows but not with Linux. Here are the details: https://bugzilla.kernel.org/show_bug.cgi?id=15817 Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 45aa23b4cbd37408678c96cd113241860d3321f6 Author: Bjorn Helgaas Date: Thu Apr 22 09:02:43 2010 -0600 PCI: revert broken device warning This reverts c519a5a7dab2d. That change added a warning about devices that didn't respond correctly when sizing BARs, which helped diagnose broken devices. But the test wasn't specific enough, so it also complained about working devices with zero-size BARs, e.g., https://bugzilla.kernel.org/show_bug.cgi?id=15822 Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 24acc6895616b373475e92e49925efc3ef591563 Author: Dan Carpenter Date: Wed Apr 21 23:55:27 2010 +0000 rdma: potential ERR_PTR dereference In the original code, the "goto out" calls "rdma_destroy_id(cm_id);" That isn't needed here and would cause problems because "cm_id" is an ERR_PTR. The new code just returns directly. Signed-off-by: Dan Carpenter Acked-by: Andy Grover Signed-off-by: David S. Miller commit 80032cffb95edff4fc216b1cb21682257be326b7 Author: Dan Carpenter Date: Wed Apr 21 23:53:27 2010 +0000 rtnetlink: potential ERR_PTR dereference In the original code, if rtnl_create_link() returned an ERR_PTR then that would get passed to rtnl_configure_link() which dereferences it. Signed-off-by: Dan Carpenter Acked-by: Patrick McHardy Signed-off-by: David S. Miller commit a30dcb4f68fb60440f71b3e62bc5c15f631d14f9 Author: Jiri Kosina Date: Thu Apr 15 02:45:25 2010 +0200 sysfs: use sysfs_attr_init in ASUS atk0110 driver Annotate dynamic sysfs attribute in atk_create_files(). This gets rid of the following lockdep warning: BUG: key ffff8800379ca670 not in .data! ------------[ cut here ]------------ WARNING: at kernel/lockdep.c:2696 lockdep_init_map+0xd2/0x108() Hardware name: P5K PRO Modules linked in: asus_atk0110(+) pata_acpi firewire_ohci ata_generic dm_multipath firewire_core crc_itu_t pata_marvell floppy Pid: 599, comm: modprobe Not tainted 2.6.34-rc4 #27 Call Trace: [] warn_slowpath_common+0x7c/0x94 [] warn_slowpath_null+0x14/0x16 [] lockdep_init_map+0xd2/0x108 [] sysfs_add_file_mode+0x66/0xa2 [] sysfs_add_file+0x11/0x13 [] sysfs_create_file+0x2a/0x2c [] device_create_file+0x19/0x1b [] atk_add+0x58b/0x72e [asus_atk0110] [] acpi_device_probe+0x50/0x122 [] driver_probe_device+0xa2/0x127 [] __driver_attach+0x4f/0x6b [] ? __driver_attach+0x0/0x6b [] bus_for_each_dev+0x59/0x8e [] driver_attach+0x1e/0x20 [] bus_add_driver+0xb9/0x207 [] driver_register+0x9d/0x10e [] ? atk0110_init+0x0/0x31 [asus_atk0110] [] acpi_bus_register_driver+0x43/0x45 [] atk0110_init+0x15/0x31 [asus_atk0110] [] ? atk0110_init+0x0/0x31 [asus_atk0110] [] do_one_initcall+0x5e/0x15e [] sys_init_module+0xd8/0x239 [] system_call_fastpath+0x16/0x1b ---[ end trace 4d0c84007055efb9 ]--- BUG: key ffff8800379ca638 not in .data! BUG: key ffff8800379ca6a8 not in .data! BUG: key ffff8800379ca6e0 not in .data! BUG: key ffff880036f73670 not in .data! BUG: key ffff880036f73638 not in .data! BUG: key ffff880036f736a8 not in .data! BUG: key ffff880036f736e0 not in .data! BUG: key ffff880036f76c70 not in .data! BUG: key ffff880036f76c38 not in .data! BUG: key ffff880036f76ca8 not in .data! BUG: key ffff880036f76ce0 not in .data! BUG: key ffff8800368e7670 not in .data! BUG: key ffff8800368e7638 not in .data! BUG: key ffff8800368e76a8 not in .data! BUG: key ffff8800368e76e0 not in .data! BUG: key ffff880036ef7670 not in .data! BUG: key ffff880036ef7638 not in .data! BUG: key ffff880036ef76a8 not in .data! BUG: key ffff880036ef76e0 not in .data! BUG: key ffff8800373ccc70 not in .data! BUG: key ffff8800373ccc38 not in .data! BUG: key ffff8800373ccca8 not in .data! BUG: key ffff8800373ccce0 not in .data! BUG: key ffff880037a60870 not in .data! BUG: key ffff880037a60838 not in .data! BUG: key ffff880037a608a8 not in .data! BUG: key ffff880037a608e0 not in .data! BUG: key ffff880037355070 not in .data! BUG: key ffff880037355038 not in .data! BUG: key ffff8800373550a8 not in .data! BUG: key ffff8800373550e0 not in .data! BUG: key ffff8800378c2670 not in .data! BUG: key ffff8800378c2638 not in .data! BUG: key ffff8800378c26a8 not in .data! BUG: key ffff8800378c26e0 not in .data! BUG: key ffff880036ef7e70 not in .data! BUG: key ffff880036ef7e38 not in .data! BUG: key ffff880036ef7ea8 not in .data! BUG: key ffff880036ef7ee0 not in .data! Cc: Eric W. Biederman Reported-by: Dhaval Giani Signed-off-by: Jiri Kosina Tested-by: Dhaval Giani Signed-off-by: Greg Kroah-Hartman commit e234ebf7881c013b654113f0a208977ac3ce1d01 Author: Randy Dunlap Date: Tue Apr 6 16:16:59 2010 -0700 Documentation/HOWTO: update git home URL Update git home page info. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 959fb1c5075c2dcdbe879e6dafbc59eb1e1192d6 Author: Stefan Richter Date: Thu Apr 1 22:01:52 2010 +0200 Documentation: -stable rules: upstream commit ID requirement reworded It is a hard requirement to include the upstream commit ID in the changelog of a -stable submission, not just a courtesy to the stable team. This concerns only mail submission though, which is no longer the only way into stable. (Also, fix a double "the".) Signed-off-by: Stefan Richter Acked-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 6307e0961205c50a8a9b6e8e3e4dfd178a944ba9 Author: Dinh Nguyen Date: Tue Apr 13 11:13:15 2010 -0500 usb: Increase timeout value for device reset It seems that for USB IP on Freescale MX5x processors, it needs >750 usec for the reset to complete. This change should not hurt any other EHCI hardware. Signed-off-by: Dinh Nguyen Signed-off-by: Greg Kroah-Hartman commit 571dc79d62a163fd043de47d7d39bae58831e81e Author: Alan Stern Date: Fri Apr 9 16:03:43 2010 -0400 USB: put claimed interfaces in the "suspended" state This patch (as1370) fixes a bug in the USB runtime power management code. When a driver claims an interface, it doesn't expect to need to call usb_autopm_get_interface() or usb_autopm_put_interface() for runtime PM to work. Runtime PM can be controlled by the driver's primary interface; the additional interfaces it claims shouldn't interfere. As things stand, the claimed interfaces will prevent the device from autosuspending. To fix this problem, the patch sets interfaces to the suspended state when they are claimed. Also, although in theory this shouldn't matter, the patch changes the suspend code so that interfaces are suspended in reverse order from detection and resuming. This is how the PM core works, and we ought to use the same approach. Signed-off-by: Alan Stern Debugged-and-tested-by: Dominik Brodowski Signed-off-by: Greg Kroah-Hartman commit 0e5f231bc16ff9910882fa5b9d64d80e7691cfab Author: Alan Stern Date: Thu Apr 8 16:56:37 2010 -0400 USB: EHCI: defer reclamation of siTDs This patch (as1369) fixes a problem in ehci-hcd. Some controllers occasionally run into trouble when the driver reclaims siTDs too quickly. This can happen while streaming audio; it causes the controller to crash. The patch changes siTD reclamation to work the same way as iTD reclamation: Completed siTDs are stored on a list and not reused until at least one frame has passed. Signed-off-by: Alan Stern Tested-by: Nate Case CC: Signed-off-by: Greg Kroah-Hartman commit 5f677f1d45b2bf08085bbba7394392dfa586fa8e Author: Alan Stern Date: Fri Apr 2 13:20:11 2010 -0400 USB: fix remote wakeup settings during system sleep This patch (as1363) changes the way USB remote wakeup is handled during system sleeps. It won't be enabled unless an interface driver specifically needs it. Also, it won't be enabled during the FREEZE or QUIESCE phases of hibernation, when the system doesn't respond to wakeup events anyway. Finally, if the device is already runtime-suspended with remote wakeup enabled, but wakeup is supposed to be disabled for the system sleep, the device gets woken up so that it can be suspended again with the proper wakeup setting. This will fix problems people have reported with certain USB webcams that generate wakeup requests when they shouldn't, and as a result cause system suspends to fail. See https://bugs.launchpad.net/ubuntu/+source/linux/+bug/515109 Signed-off-by: Alan Stern Tested-by: Erik Andrén CC: Signed-off-by: Greg Kroah-Hartman commit 9a61d72602771906e11a5944e8571f8006387b39 Author: Manuel Jander Date: Mon Mar 29 23:51:57 2010 +0200 USB: pl2303: add AdLink ND-6530 USB IDs I read a rumor that the AdLink ND6530 USB RS232, RS422 and RS485 isolated adapter is actually a PL2303 based usb serial adapter. I tried it out, and as far as I can tell it works. Signed-off-by: Manuel Jander Signed-off-by: Greg Kroah-Hartman commit cfbaa39347b34837f26e01fe8f4f8dbbae60b520 Author: William Lightning Date: Fri Mar 26 10:51:20 2010 -0700 USB: Add id for HP ev2210 a.k.a Sierra MC5725 miniPCI-e Cell Modem. Signed-off-by: William Lightning Signed-off-by: Greg Kroah-Hartman commit 9600cbb24b3937dc6ebf470211d8908354ca3b0c Author: Sergei Shtylyov Date: Fri Mar 26 17:37:14 2010 +0300 USB: OHCI: DA8xx/OMAP-L1x: fix up macro rename It appears that the DA8xx/OMAP-L1x glue layer went into the kernel uncompilable: commit 1960e693ac12ae5fe518309d6a63a44c93fad9e7 (davinci: da8xx/omapl1: add support for the second sysconfig module) has renamed DA8XX_SYSCFG_* macros to DA8XX_SYSCFG0_* and it's been committed before the glue layer... Signed-off-by: Sergei Shtylyov Signed-off-by: Greg Kroah-Hartman commit 898f89c388534e5fe4b05b760d7f737cc352bad3 Author: Dan Williams Date: Tue Mar 23 03:08:48 2010 -0700 USB: qcaux: add LG Rumor and Sanyo Katana LX device IDs These phones also have the familiar ttyACM0/ttyUSB0 schizophrenia when placed into "Dial-up Networking" mode after connecting a USB cable. Signed-off-by: Dan Williams Signed-off-by: Greg Kroah-Hartman commit a23b64845f1ed0c090e30a70ca747a379674e006 Author: David Vrabel Date: Mon Mar 22 14:50:14 2010 +0000 usb: wusb: don't overflow the Keep Alive IE buffer The Keep Alive IE only has space for WUIE_ELT_MAX (== 4) device addresses. Signed-off-by: David Vrabel Signed-off-by: Greg Kroah-Hartman commit 18f91196b6e7994bd694a96a6c3b0ac1f3e81d82 Author: Ajay Kumar Gupta Date: Thu Mar 18 16:58:35 2010 +0530 USB: ehci: omap: fix kernel panic with rmmod Sets the regulator values to NULL if they are not defined. This is required to fix the kernel panic in exit path when EHCI module is removed on the platforms where EHCI regulator are not set. Signed-off-by: Ajay Kumar Gupta Signed-off-by: Greg Kroah-Hartman commit 4c1f5c88aaffacb2831353b6d3c1557be52071a2 Author: Harrison Metzger Date: Tue Mar 9 15:12:10 2010 -0500 USB: fixed bug in usbsevseg using USB autosuspend incorrectly This patch fixes a bug with the usbsevseg driver which assumed that USB autosuspend will always be used. Signed-off-by: Harrison Metzger Signed-off-by: Greg Kroah-Hartman commit cdc04834ce70343aa6f87c5332ec66c35d968967 Author: Alex Manoussakis Date: Thu Apr 22 15:18:20 2010 -0700 USB: ti_usb_3410_5052: adding multitech dialup fax/modem devices The following patch adds support for Multitech Systems' MT9234MU and MT9234ZBA usb dialup fax modems. It is based on a patch and firmware provided to me by Multitech Systems' support, after I reported to them that my MT9234MU modem was not working with recent linux kernels. Signed-off-by: Alex Manoussakis Signed-off-by: Greg Kroah-Hartman commit e552eb7038a36d9b18860f525aa02875e313fe16 Author: Jesse Barnes Date: Wed Apr 21 11:39:23 2010 -0700 drm/i915: use PIPE_CONTROL instruction on Ironlake and Sandy Bridge Since 965, the hardware has supported the PIPE_CONTROL command, which provides fine grained GPU cache flushing control. On recent chipsets, this instruction is required for reliable interrupt and sequence number reporting in the driver. So add support for this instruction, including workarounds, on Ironlake and Sandy Bridge hardware. https://bugs.freedesktop.org/show_bug.cgi?id=27108 Signed-off-by: Jesse Barnes Tested-by: Chris Wilson Signed-off-by: Eric Anholt commit 6e3b96ed610e5a1838e62ddae9fa0c3463f235fa Author: NeilBrown Date: Fri Apr 23 07:08:28 2010 +1000 md/raid5: fix previous patch. Previous patch changes stripe and chunk_number to sector_t but mistakenly did not update all of the divisions to use sector_dev(). This patch changes all the those divisions (actually the '%' operator) to sector_div. Signed-off-by: NeilBrown Cc: stable@kernel.org Tested-by: Stefan Lippers-Hollmann commit 20bf377e679208ba9ae0edcb8c70a8f6d33d17f9 Author: Jesse Barnes Date: Wed Apr 21 11:39:22 2010 -0700 drm/i915: cleanup FBC buffers at unload time This keeps the memory manager from complaining when we take it down. Signed-off-by: Jesse Barnes Signed-off-by: Eric Anholt commit cfc94b2c9ac603b20db54225408df6ed80188dcd Merge: 4c6a399 e139366 Author: Linus Torvalds Date: Thu Apr 22 12:54:54 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: ohci: wait for local CSR lock access to finish firewire: ohci: prevent aliasing of locally handled register addresses firewire: core: fw_iso_resource_manage: return -EBUSY when out of resources firewire: core: fix retries calculation in iso manage_channel() firewire: cdev: fix cut+paste mistake in disclaimer commit 71d0a6112a363e703e383ae5b12c492485c39701 Author: Trond Myklebust Date: Thu Apr 22 15:35:57 2010 -0400 NFS: Fix an unstable write data integrity race Commit 2c61be0a9478258f77b66208a0c4b1f5f8161c3c (NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible) exposed a race on file close. In order to ensure correct close-to-open behaviour, we want to wait for all outstanding background commit operations to complete. This patch adds an inode flag that indicates if a commit operation is under way, and provides a mechanism to allow ->write_inode() to wait for its completion if this is a data integrity flush. Signed-off-by: Trond Myklebust commit cdd29ecfcb9554132cd94b82ae8b69ba37adb3b5 Author: Dan Carpenter Date: Thu Apr 22 15:35:56 2010 -0400 nfs: testing for null instead of ERR_PTR() nfs_path() returns an ERR_PTR(), it doesn't return null. Signed-off-by: Dan Carpenter Signed-off-by: Trond Myklebust commit 356e76b855bdbfd8d1c5e75bcf0c6bf0dfe83496 Author: Chuck Lever Date: Thu Apr 22 15:35:56 2010 -0400 NFS: rsize and wsize settings ignored on v4 mounts NFSv4 mounts ignore the rsize and wsize mount options, and always use the default transfer size for both. This seems to be because all NFSv4 mounts are now cloned, and the cloning logic doesn't copy the rsize and wsize settings from the parent nfs_server. I tested Fedora's 2.6.32.11-99 and it seems to have this problem as well, so I'm guessing that .33, .32, and perhaps older kernels have this issue as well. Signed-off-by: Chuck Lever Cc: Stable Signed-off-by: Trond Myklebust commit 1f063d2cdf332a8a5722006b1345d15d16007c6e Author: Trond Myklebust Date: Thu Apr 22 15:35:55 2010 -0400 NFSv4: Don't attempt an atomic open if the file is a mountpoint Fix https://bugzilla.kernel.org/show_bug.cgi?id=15789 Signed-off-by: Trond Myklebust commit 3d7b08945e54a3a5358d5890240619a013cb7388 Author: Trond Myklebust Date: Thu Apr 22 15:35:55 2010 -0400 SUNRPC: Fix a bug in rpcauth_prune_expired Don't want to evict a credential if cred->cr_expire == jiffies, since that means that it was just placed on the cred_unused list. We therefore need to use time_in_range() rather than time_in_range_open(). Signed-off-by: Trond Myklebust commit 4c6a3999651741419cd3cc4303cf0c2be07d89bc Author: Valdis.Kletnieks@vt.edu Date: Thu Apr 22 14:29:10 2010 -0400 dri-devel mailing list moved - update MAINTAINERS I posted to dri-devel@lists.sourceforge.net, and got a bounce back: The dri-devel list has moved to freedesktop.org (see http://lists.freedesktop.org/mailman/listinfo/dri-devel). If you were subscribed to the list here, the subscription should have been transferred to the new location. Please only post to the new list. Fix MAINTAINERS to correspond. Signed-off-by: Valdis Kletnieks Signed-off-by: Linus Torvalds commit 36c48f8cc5fc0558c1109a84b0832a26c384d8f1 Merge: 1482338 7f3c1fa Author: Linus Torvalds Date: Thu Apr 22 11:15:33 2010 -0700 Merge branch 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc * 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc: uml: Fix build breakage after slab.h changes commit 1482338f6242dbaea46039c5f1b4604a472b364b Author: Randy Dunlap Date: Thu Apr 22 11:02:14 2010 -0700 scsi: fix operator precedence warning Fix operator precedence warning (from sparse), which results in the data value always being 0: drivers/scsi/qla4xxx/ql4_mbx.c:470:66: warning: right shift by bigger than source value Signed-off-by: Randy Dunlap Acked-by: Ravi Anand Cc: David C Somayajulu Cc: Karen Higgins Cc: Vikas Chaudhary Signed-off-by: Linus Torvalds commit c81eddb0e3728661d1585fbc564449c94165cc36 Merge: a28ca3f 76ef964 Author: Linus Torvalds Date: Thu Apr 22 08:43:59 2010 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] zcore: Fix reipl device detection [S390] vdso: use ntp adjusted clock multiplier [S390] cio: use exception-save stsch [S390] add hook to reenable mss after hibernation [S390] cio: allow enable_facility from outside init functions [S390] dasd: fix endless loop in erp commit 76ef964c78797f9baed7c2f9a58f696e86d8a048 Author: Michael Holzheu Date: Thu Apr 22 17:17:07 2010 +0200 [S390] zcore: Fix reipl device detection The reipl device information is passed from the kernel to zfcpdump using a pointer in the lowcore (0xe00) that points to the reipl information Currently if that pointer is not zero, we copy the reipl information. If the pointer is not initialized and points outside the accessible memory, it can happen that the memory copy fails. In that case we currently stop the initialization of zcore which leads to a failing kernel dump. The correct behavior is to disable the reipl after dump and continue with zcore intialization. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 157a1a27d5921fc94db8c14e0d01363d13de99b5 Author: Hendrik Brueckner Date: Thu Apr 22 17:17:06 2010 +0200 [S390] vdso: use ntp adjusted clock multiplier Commit "timekeeping: Fix clock_gettime vsyscall time warp" (0696b711e) introduced the new parameter "mult" to update_vsyscall(). This parameter contains the internal NTP adjusted clock multiplier. The s390x vdso did not use this adjusted multiplier. Instead, it used the constant clock multiplier for gettimeofday() and clock_gettime() variants. This may result in observable time warps as explained in commit 0696b711e. Make the NTP adjusted clock multiplier available to the s390x vdso implementation and use it for time calculations. Cc: Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 8821d24cd261aede9b0436cd3252b17a60ccc33a Author: Sebastian Ott Date: Thu Apr 22 17:17:05 2010 +0200 [S390] cio: use exception-save stsch Using stsch on schids with ssid != 0 can lead to an operand exception. Use stsch_err to handle potential exceptions if we fail to reenable mss after hibernation. Cc: Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 889ee9556c89a877b8343b6bbe6ac8dc5d57e433 Author: Sebastian Ott Date: Thu Apr 22 17:17:04 2010 +0200 [S390] add hook to reenable mss after hibernation Reenable multiple subchannel sets after hibernation, prior to the device callbacks. Cc: Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 818c272bd74b834c3ca9347c6a540c2ec880afdc Author: Sebastian Ott Date: Thu Apr 22 17:17:03 2010 +0200 [S390] cio: allow enable_facility from outside init functions Prepare chsc_enable_facility to be used from outside init functions. Use static memory for the chsc call and protect its access by a spinlock (although there is no concurrent usage). Cc: Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 6a5176c474e3e722ab273d940442238e554e5e58 Author: Stefan Haberland Date: Thu Apr 22 17:17:02 2010 +0200 [S390] dasd: fix endless loop in erp If not enough memory is available to build a new erp request it ended up in an endless loop trying to build erp requests. Fixed the loop to proceed the next request instead. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 715aa675338ce6e1a3b4f77cf87ea611f93058a8 Author: Hans de Goede Date: Wed Apr 21 11:04:08 2010 -0400 ALSA: snd-meastro3: Ignore spurious HV interrupts during suspend / resume Ignore spurious HV interrupts during suspend / resume, this avoids mistaking them for a mute button press. This is not very pretty but it seems the only way to fix the master volume control gets muted after suspend issue I'm seeing. Note that the es1968 driver is doing exactly the same. Signed-off-by: Hans de Goede Cc: Signed-off-by: Takashi Iwai commit 7efbfd1ae98ef9efe06352e2a1ad83e8c14ceeb1 Author: Hans de Goede Date: Wed Apr 21 11:04:06 2010 -0400 ALSA: snd-meastro3: Add amp_gpio quirk for Compaq EVO N600C Without this quirk sound stops working after suspend resume. With this quirk, one still needs to manually unmute the master volume control after a suspend / / resume cycle. That is fixed in another patch in this set. Note that this patch was submitted to the alsa bug tracker a long time ago: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4319 Signed-off-by: Hans de Goede CC: Signed-off-by: Takashi Iwai commit a28ca3f3244dfe05d16c67f2c0636ce6bf2b4e0a Merge: 61fb06c 490475a Author: Linus Torvalds Date: Thu Apr 22 07:50:11 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] bnx2i: Bug fixes related to MTU change issue when there are active iscsi sessions [SCSI] ibmvscsi: fix DMA API misuse [SCSI] wd7000: fix reset handler typo spin_unlock_irq() => spin_lock_irq() [SCSI] zfcp: Fix tracing of requests with error status [SCSI] zfcp: Update MAINTAINERS entry [SCSI] iscsi_tcp: fix relogin/shutdown hang [SCSI] qla2xxx: fix lock imbalance [SCSI] lpfc: fix lock imbalances [SCSI] be2iscsi: fix lock imbalance [SCSI] dpt_i2o: several use after free issues commit 61fb06cc8e68906fb29d67bd5b6c2d50a95fc9e5 Author: Balbir Singh Date: Thu Apr 22 12:22:34 2010 +0930 virtio: Fix GFP flags passed from the virtio balloon driver The virtio balloon driver can dig into the reservation pools of the OS to satisfy a balloon request. This is not advisable and other balloon drivers (drivers/xen/balloon.c) avoid this as well. The patch also adds changes to avoid printing a warning if allocation fails, since we retry after sometime anyway. Signed-off-by: Balbir Singh Signed-off-by: Rusty Russell Cc: kvm Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit b7b6cf005b59ff5a4dba10338954c3dcfc75ef7b Merge: 74a9201 42df64b Author: Linus Torvalds Date: Thu Apr 22 07:20:30 2010 -0700 Merge branch 'for-linus/i2c' of git://git.fluff.org/bjdooks/linux * 'for-linus/i2c' of git://git.fluff.org/bjdooks/linux: i2c-stu300: off by one issue i2c-pnx: Add stop conditions for end of transfer i2c-pnx: Limit maximum divider to 1023 i2c-omap: fix OOPS in omap_i2c_unidle() during probe i2c-imx: fix error handling commit 74a920139a0f1119c5a604cef0ce5d6f591dc782 Author: Randy Dunlap Date: Wed Apr 21 14:32:47 2010 -0700 staging: fix dt3155 build When the dt3155 driver is built-in (not as a loadable module), these build errors happen: drivers/staging/dt3155/dt3155_drv.c:1047: error: implicit declaration of function 'request_irq' drivers/staging/dt3155/dt3155_drv.c:1048: error: 'IRQF_SHARED' undeclared (first use in this function) drivers/staging/dt3155/dt3155_drv.c:1048: error: 'IRQF_DISABLED' undeclared (first use in this function) drivers/staging/dt3155/dt3155_drv.c:1091: error: implicit declaration of function 'free_irq' so remove the #ifdef MODULE check since it's not needed. Also remove the CONFIG_PCI check since the Kconfig file already requires that. Signed-off-by: Randy Dunlap Cc: Scott Smedley Tested-by: Jan III Sobieski Signed-off-by: Linus Torvalds commit 5e31877b647bf41ad080adad6100a617ed4c6be4 Merge: 1ef6ce7 b338cc8 Author: Linus Torvalds Date: Thu Apr 22 07:17:09 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: security: testing the wrong variable in create_by_name() CRED: Fix a race in creds_are_invalid() in credentials debugging CRED: Fix double free in prepare_usermodehelper_creds() error handling commit 3353541fe533350a22a03e2fb7dc085b35912575 Author: Daniel T Chen Date: Thu Apr 22 07:15:26 2010 -0400 ALSA: hda: Use ALC880_F1734 quirk for Fujitsu Siemens AMILO Xi 1526 BugLink: https://launchpad.net/bugs/567494 The OR has verified that the existing model quirk, ALC880_UNIWILL, is insufficient for audible playback and capture by default. Instead, the ALC880_F1734 model quirk needs to be used. This change is necessary for both 2.6.32.11 and 2.6.33.2. Reported-by: Arnaud Malpeyre Tested-by: Arnaud Malpeyre Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 7e2455c1a123ceadbb35150a610d61e8443fd340 Author: Philipp Reisner Date: Thu Apr 22 14:50:23 2010 +0200 drbd: Terminate a connection early if sending the protocol fails Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg Signed-off-by: Jens Axboe commit 7ac314c82f552eefebaa91c9fffe8c0d435641b9 Author: Dan Carpenter Date: Thu Apr 22 14:27:23 2010 +0200 drbd: fix memory leak We leak memory if "--dry-run" is not supported by the peer. Signed-off-by: Dan Carpenter Signed-off-by: Jens Axboe commit 6de9400250f95f82da432c28b9b43823f4154c58 Author: Jörn Engel Date: Thu Apr 22 14:11:43 2010 +0200 Fix JFFS2 sync silent failure JFFS2 does not appear to set s_bdi anywhere. And as of 32a88aa1, __sync_filesystem() will return 0 if s_bdi is not set. As a result, sync_fs() is never called for jffs2 and whatever remains in the wbuf will not make it to the device. Fix that up by assigning the mtd bdi. Signed-off-by: Jörn Engel Acked-By: David Woodhouse Signed-off-by: Jens Axboe commit 64b997c5142a13373857de09599afd2f079c2f7a Author: viresh kumar Date: Wed Apr 21 09:42:05 2010 +0100 ARM: 6060/1: PL061 GPIO: Setting gpio val after changing direction to OUT. pl061_direction_output doesn't set value of gpio to value passed to it. This patch sets value of GPIO pin to requested value after changing direction to OUT. Signed-off-by: Viresh Kumar Acked-by: Baruch Siach Signed-off-by: Russell King commit 9a99d55514d3c6bfc03e41536659d781af6998f5 Author: viresh kumar Date: Wed Apr 21 09:41:54 2010 +0100 ARM: 6059/1: PL061 GPIO: Changing *_irq_chip_data with *_irq_data for real irqs. PL061 driver is using set_irq_chip_data and get_irq_chip_data for real irq lines. It must be using *_irq_data functions instead. As chip_data is used by interrupt controllers also, which makes vic write at incorrect addresses. Signed-off-by: Viresh Kumar Acked-by: Baruch Siach Signed-off-by: Russell King commit 313af42b5b3ea105567e8a62b01f35a9245c3fb3 Author: Leo Chen Date: Thu Apr 1 19:10:47 2010 +0100 ARM: 6023/1: update bcmring_defconfig to latest version and fix build error update bcmring_defconfig to the latest kernel version, this will fix the KAutobuild error. Signed-off-by: Leo Hao Chen Signed-off-by: Russell King commit b338cc8207eae46640a8d534738fda7b5e48511d Author: Dan Carpenter Date: Thu Apr 22 12:05:35 2010 +0200 security: testing the wrong variable in create_by_name() There is a typo here. We should be testing "*dentry" instead of "dentry". If "*dentry" is an ERR_PTR, it gets dereferenced in either mkdir() or create() which would cause an OOPs. Signed-off-by: Dan Carpenter Signed-off-by: James Morris commit 424264b7b220e8eee165dc3080ae48692af73dec Author: Jens Axboe Date: Thu Apr 22 12:37:07 2010 +0200 smbfs: add bdi backing to mount session This ensures that dirty data gets flushed properly. Signed-off-by: Jens Axboe commit f1970c73cbb6b884152207e4dfe90639f5029905 Author: Jens Axboe Date: Thu Apr 22 12:31:11 2010 +0200 ncpfs: add bdi backing to mount session This ensures that dirty data gets flushed properly. Signed-off-by: Jens Axboe commit b3d0ab7e60d1865bb6f6a79a77aaba22f2543236 Author: Jens Axboe Date: Thu Apr 22 12:26:04 2010 +0200 exofs: add bdi backing to mount session This ensures that dirty data gets flushed properly. Signed-off-by: Jens Axboe commit 9df9c8b930156a2f9ce2b2ae66acb14bee2663f5 Author: Jens Axboe Date: Thu Apr 22 12:22:04 2010 +0200 ecryptfs: add bdi backing to mount session This ensures that dirty data gets flushed properly. Signed-off-by: Jens Axboe commit 5163d90076729413cb882d3dd5c3d3cfb5b9f035 Author: Jens Axboe Date: Thu Apr 22 12:12:40 2010 +0200 coda: add bdi backing to mount session This ensures that dirty data gets flushed properly. Signed-off-by: Jens Axboe commit 8044f7f468469c80031611206d554f86fcdfe704 Author: Jens Axboe Date: Thu Apr 22 12:09:48 2010 +0200 cifs: add bdi backing to mount session This ensures that dirty data gets flushed properly. Signed-off-by: Jens Axboe commit e1da0222753a2322d76c97fc02396fb83143c7ac Author: Jens Axboe Date: Thu Apr 22 11:58:18 2010 +0200 afs: add bdi backing to mount session. This ensures that dirty data gets flushed properly. Signed-off-by: Jens Axboe commit 0ed07ddb56d1348e5ce33f3b8de20d730351983a Author: Jens Axboe Date: Thu Apr 22 11:42:00 2010 +0200 9p: add bdi backing to mount session This ensures that dirty data gets flushed properly. Signed-off-by: Jens Axboe commit c3c532061e46156e8aab1268f38d66cfb63aeb2d Author: Jens Axboe Date: Thu Apr 22 11:37:01 2010 +0200 bdi: add helper function for doing init and register of a bdi for a file system Pretty trivial helper, just sets up the bdi and registers it. An atomic sequence count is used to ensure that the registered sysfs names are unique. Signed-off-by: Jens Axboe commit aac78daf8f37256283f56820ae858add7139c56c Author: Daniel T Chen Date: Wed Apr 21 20:41:52 2010 -0400 ALSA: hda: Use STAC_DELL_M6_BOTH quirk for Dell Studio XPS 1645 BugLink: https://launchpad.net/bugs/553002 The OR has verified that the dell-m6 model quirk is necessary for audio to be audible by default on the Dell Studio XPS 1645. This change is necessary for 2.6.32.11 and 2.6.33.2 alike. Reported-by: Robert Chambers Tested-by: Robert Chambers Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit f4f914b58019f0e50d521bbbadfaee260d766f95 Author: Jiri Olsa Date: Tue Apr 20 21:21:26 2010 +0000 net: ipv6 bind to device issue The issue raises when having 2 NICs both assigned the same IPv6 global address. If a sender binds to a particular NIC (SO_BINDTODEVICE), the outgoing traffic is being sent via the first found. The bonded device is thus not taken into an account during the routing. From the ip6_route_output function: If the binding address is multicast, linklocal or loopback, the RT6_LOOKUP_F_IFACE bit is set, but not for global address. So binding global address will neglect SO_BINDTODEVICE-binded device, because the fib6_rule_lookup function path won't check for the flowi::oif field and take first route that fits. Signed-off-by: Jiri Olsa Signed-off-by: Scott Otto Signed-off-by: David S. Miller commit f2228f785a9d97307aa8ba709088cfda6c3df73f Author: Shan Wei Date: Sun Apr 18 16:58:22 2010 +0000 ipv6: allow to send packet after receiving ICMPv6 Too Big message with MTU field less than IPV6_MIN_MTU According to RFC2460, PMTU is set to the IPv6 Minimum Link MTU (1280) and a fragment header should always be included after a node receiving Too Big message reporting PMTU is less than the IPv6 Minimum Link MTU. After receiving a ICMPv6 Too Big message reporting PMTU is less than the IPv6 Minimum Link MTU, sctp *can't* send any data/control chunk that total length including IPv6 head and IPv6 extend head is less than IPV6_MIN_MTU(1280 bytes). The failure occured in p6_fragment(), about reason see following(take SHUTDOWN chunk for example): sctp_packet_transmit (SHUTDOWN chunk, len=16 byte) |------sctp_v6_xmit (local_df=0) |------ip6_xmit |------ip6_output (dst_allfrag is ture) |------ip6_fragment In ip6_fragment(), for local_df=0, drops the the packet and returns EMSGSIZE. The patch fixes it with adding check length of skb->len. In this case, Ipv6 not to fragment upper protocol data, just only add a fragment header before it. Signed-off-by: Shan Wei Signed-off-by: David S. Miller commit a19259c3d589a014e5f47f148f74dfc44422c82b Author: Diego Giagio Date: Sun Apr 18 08:35:16 2010 +0000 drivers/net/usb: Add new driver ipheth Add new driver to use tethering with an iPhone device. After initial submission, apply fixes to fit the new driver into the kernel standards. There are still a couple of minor (almost cosmetic-level) issues, but the driver is fully functional right now. Signed-off-by: L. Alberto Giménez Signed-off-by: Diego Giagio Signed-off-by: David S. Miller commit 9441cad99b4b09d6b627351c2d282833868c116c Author: Hiroshi Shimamoto Date: Mon Apr 19 15:32:20 2010 +0000 cxgb3: fix linkup issue I encountered an issue that not to link up on cxgb3 fabric. I bisected and found that this regression was introduced by 0f07c4ee8c800923ae7918c231532a9256233eed. Correct to pass phy_addr to cphy_init() at t3_xaui_direct_phy_prep(). Signed-off-by: Hiroshi Shimamoto Acked-by: Divy Le Ray Signed-off-by: David S. Miller commit 2cec6b014da6fb4a40ba1c6556cdf9681ed3f89e Author: andrew hendry Date: Sat Apr 17 14:17:32 2010 +0000 X25 fix dead unaccepted sockets 1, An X25 program binds and listens 2, calls arrive waiting to be accepted 3, Program exits without accepting 4, Sockets time out but don't get correctly cleaned up 5, cat /proc/net/x25/socket shows the dead sockets with bad inode fields. This line borrowed from AX25 sets the dying socket so the timers clean up later. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 761172fbf672c5784b2a0d71ca2f4389eb7a2c21 Author: Abraham Arce Date: Fri Apr 16 14:48:43 2010 +0000 KS8851: NULL pointer dereference if list is empty Fix NULL pointer dereference in ks8851_tx_work by checking if dequeued list is already empty before writing the packet to TX FIFO Unable to handle kernel NULL pointer dereference at virtual address 00000050 PC is at ks8851_tx_work+0xdc/0x1b0 LR is at wait_for_common+0x148/0x164 pc : [] lr : [] psr: 20000013 Backtrace: ks8851_tx_work+0x0/0x1b0 worker_thread+0x0/0x190 kthread+0x0/0x90 Signed-off-by: Abraham Arce Signed-off-by: David S. Miller commit df245dce572bc22b230a05532a3f9daee50effb5 Author: Alexander Kurz Date: Fri Apr 16 03:01:01 2010 +0000 net: 3c574_cs fix stats.tx_bytes counter Update the stats counter calculation in 3c574_cs, similar to the method used in 3c589_cs. This corrects the contents of the counter on tests using a "Megahertz 574B" card. [linux@dominikbrodowski.net: clean up commit message] Signed-off-by: Alexander Kurz Signed-off-by: Dominik Brodowski Signed-off-by: David S. Miller commit bc8e4b954e463716a57d8113dd50ae9d47b682a7 Author: Nicolas Dichtel Date: Wed Apr 21 16:25:30 2010 -0700 xfrm6: ensure to use the same dev when building a bundle When building a bundle, we set dst.dev and rt6.rt6i_idev. We must ensure to set the same device for both fields. Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller commit 1c0b28b1ee90261a0a27194e6684dd2837785064 Author: Hans J. Koch Date: Wed Apr 21 00:18:06 2010 +0000 can: Fix possible NULL pointer dereference in ems_usb.c In ems_usb_probe(), a pointer is dereferenced after making sure it is NULL... This patch replaces netdev->dev.parent with &intf->dev in dev_err() calls to avoid this. Signed-off-by: "Hans J. Koch" Acked-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit e134d200d57d43b171dcb0b55c178a1a0c7db14a Author: David Howells Date: Wed Apr 21 10:28:25 2010 +0100 CRED: Fix a race in creds_are_invalid() in credentials debugging creds_are_invalid() reads both cred->usage and cred->subscribers and then compares them to make sure the number of processes subscribed to a cred struct never exceeds the refcount of that cred struct. The problem is that this can cause a race with both copy_creds() and exit_creds() as the two counters, whilst they are of atomic_t type, are only atomic with respect to themselves, and not atomic with respect to each other. This means that if creds_are_invalid() can read the values on one CPU whilst they're being modified on another CPU, and so can observe an evolving state in which the subscribers count now is greater than the usage count a moment before. Switching the order in which the counts are read cannot help, so the thing to do is to remove that particular check. I had considered rechecking the values to see if they're in flux if the test fails, but I can't guarantee they won't appear the same, even if they've changed several times in the meantime. Note that this can only happen if CONFIG_DEBUG_CREDENTIALS is enabled. The problem is only likely to occur with multithreaded programs, and can be tested by the tst-eintr1 program from glibc's "make check". The symptoms look like: CRED: Invalid credentials CRED: At include/linux/cred.h:240 CRED: Specified credentials: ffff88003dda5878 [real][eff] CRED: ->magic=43736564, put_addr=(null) CRED: ->usage=766, subscr=766 CRED: ->*uid = { 0,0,0,0 } CRED: ->*gid = { 0,0,0,0 } CRED: ->security is ffff88003d72f538 CRED: ->security {359, 359} ------------[ cut here ]------------ kernel BUG at kernel/cred.c:850! ... RIP: 0010:[] [] __invalid_creds+0x4e/0x52 ... Call Trace: [] copy_creds+0x6b/0x23f Note the ->usage=766 and subscr=766. The values appear the same because they've been re-read since the check was made. Reported-by: Roland McGrath Signed-off-by: David Howells Signed-off-by: James Morris commit e2bca7c76a79b68506bfc3699beb74c0d41fe230 Merge: b3c7740 d54a45e Author: Tony Lindgren Date: Wed Apr 21 15:26:56 2010 -0700 Merge branch 'for_2.6.34rc_a' of git://git.pwsan.com/linux-2.6 into omap-fixes-for-linus commit c85b86a6dc7b5b4607c3a14fdbda78df06b5c79f Author: Cory Fields Date: Wed Apr 21 17:08:24 2010 -0400 HID: wacom: remove annoying non-error printk This is the only line printed on my "quiet" boot and seems completely unnecessary. Signed-off-by: Cory Fields Signed-off-by: Bastien Nocera Signed-off-by: Jiri Kosina commit 1ef6ce7a340f9ed139a73147ff9cf7ad56889414 Merge: 458f8c8 2545cf6 Author: Linus Torvalds Date: Wed Apr 21 12:33:12 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68knommu: allow 4 coldfire serial ports m68knommu: fix coldfire tcdrain m68knommu: remove a duplicate vector setting line for 68360 Fix m68k-uclinux's rt_sigreturn trampoline m68knommu: correct the CC flags for Coldfire M5272 targets uclinux: error message when FLAT reloc symbol is invalid, v2 commit 458f8c895beba63851281dcdac3773685f0fae09 Merge: 255f41c 58d5765 Author: Linus Torvalds Date: Wed Apr 21 12:31:52 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: mc13783-regulator: fix a memory leak in mc13783_regulator_remove regulator: Let drivers know when they use the stub API commit 255f41c59558a346d65a2012420a7573e36dc584 Merge: 9befb55 b6349ac Author: Linus Torvalds Date: Wed Apr 21 12:31:12 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs * git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs: [LogFS] Split large truncated into smaller chunks [LogFS] Set s_bdi [LogFS] Prevent mempool_destroy NULL pointer dereference [LogFS] Move assertion [LogFS] Plug 8 byte information leak [LogFS] Prevent memory corruption on large deletes [LogFS] Remove unused method Fix trivial conflict with added header includes in fs/logfs/super.c commit 9befb55ef51ad69dd67e279b0533d4cbc5e4c6c0 Merge: a486b0a c7f2e1f Author: Linus Torvalds Date: Wed Apr 21 12:30:07 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6: jfs: add jfs specific ->setattr call jfs: fix diAllocExt error in resizing filesystem jfs_dmap.[ch]: trivial typo fix: s/heigth/height/g commit a486b0af797e19ff79c6943cc8986111f2569fe8 Merge: 1519ae4 e8861cf Author: Linus Torvalds Date: Wed Apr 21 12:29:46 2010 -0700 Merge branch 'kvm-updates/2.6.34' of git://git.kernel.org/pub/scm/virt/kvm/kvm * 'kvm-updates/2.6.34' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: x86: Fix TSS size check for 16-bit tasks KVM: Add missing srcu_read_lock() for kvm_mmu_notifier_release() KVM: Increase NR_IOBUS_DEVS limit to 200 KVM: fix the handling of dirty bitmaps to avoid overflows KVM: MMU: fix kvm_mmu_zap_page() and its calling path KVM: VMX: Save/restore rflags.vm correctly in real mode KVM: allow bit 10 to be cleared in MSR_IA32_MC4_CTL KVM: Don't spam kernel log when injecting exceptions due to bad cr writes KVM: SVM: Fix memory leaks that happen when svm_create_vcpu() fails KVM: take srcu lock before call to complete_pio() commit 1519ae4dc785995c548bca98b75190b9f0667dde Merge: 083fd8b 35f2a59 Author: Linus Torvalds Date: Wed Apr 21 12:28:44 2010 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md/raid5: allow for more than 2^31 chunks. commit 083fd8b21a13742b37ab347089c73f895a896672 Author: David Howells Date: Wed Apr 21 12:01:23 2010 +0100 AFS: Don't pass error value to page_cache_release() in error handling In the error handling in afs_mntpt_do_automount(), we pass an error pointer to page_cache_release() if read_mapping_page() failed. Instead, we should extend the gotos around the error handling we don't need. Reported-by: Dan Carpenter Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit a534dbe96e9929c7245924d8252d89048c23d569 Author: Richard Kennedy Date: Wed Apr 14 20:54:03 2010 +0200 block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer blk_rq_timed_out_timer() relied on blk_add_timer() never returning a timer value of zero, but commit 7838c15b8dd18e78a523513749e5b54bda07b0cb removed the code that bumped this value when it was zero. Therefore when jiffies is near wrap we could get unlucky & not set the timeout value correctly. This patch uses a flag to indicate that the timeout value was set and so handles jiffies wrap correctly, and it keeps all the logic in one function so should be easier to maintain in the future. Signed-off-by: Richard Kennedy Cc: stable@kernel.org Signed-off-by: Jens Axboe commit e8861cfe2c75bdce36655b64d7ce02c2b31b604d Author: Jan Kiszka Date: Wed Apr 14 16:57:11 2010 +0200 KVM: x86: Fix TSS size check for 16-bit tasks A 16-bit TSS is only 44 bytes long. So make sure to test for the correct size on task switch. Signed-off-by: Jan Kiszka Signed-off-by: Avi Kivity commit eda2beda835697878e309b6049aa0a3bad051590 Author: Lai Jiangshan Date: Tue Apr 20 14:29:29 2010 +0800 KVM: Add missing srcu_read_lock() for kvm_mmu_notifier_release() I got this dmesg due to srcu_read_lock() is missing in kvm_mmu_notifier_release(). =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- arch/x86/kvm/x86.h:72 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 2 locks held by qemu-system-x86/3100: #0: (rcu_read_lock){.+.+..}, at: [] __mmu_notifier_release+0x38/0xdf #1: (&(&kvm->mmu_lock)->rlock){+.+...}, at: [] kvm_mmu_zap_all+0x21/0x5e [kvm] stack backtrace: Pid: 3100, comm: qemu-system-x86 Not tainted 2.6.34-rc3-22949-gbc8a97a-dirty #2 Call Trace: [] lockdep_rcu_dereference+0xaa/0xb3 [] unalias_gfn+0x56/0xab [kvm] [] gfn_to_memslot+0x16/0x25 [kvm] [] gfn_to_rmap+0x17/0x6e [kvm] [] rmap_remove+0xa0/0x19d [kvm] [] kvm_mmu_zap_page+0x109/0x34d [kvm] [] kvm_mmu_zap_all+0x35/0x5e [kvm] [] kvm_arch_flush_shadow+0x16/0x22 [kvm] [] kvm_mmu_notifier_release+0x15/0x17 [kvm] [] __mmu_notifier_release+0x88/0xdf [] ? __mmu_notifier_release+0x38/0xdf [] ? exit_mm+0xe0/0x115 [] exit_mmap+0x2c/0x17e [] mmput+0x2d/0xd4 [] exit_mm+0x108/0x115 [...] Signed-off-by: Lai Jiangshan Signed-off-by: Avi Kivity commit 05d17608a69b3ae653ea5c9857283bef3439c733 Author: David Howells Date: Tue Apr 20 00:25:58 2010 +0000 net: Fix an RCU warning in dev_pick_tx() Fix the following RCU warning in dev_pick_tx(): =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- net/core/dev.c:1993 invoked rcu_dereference_check() without protection! other info that might help us debug this: rcu_scheduler_active = 1, debug_locks = 0 2 locks held by swapper/0: #0: (&idev->mc_ifc_timer){+.-...}, at: [] run_timer_softirq+0x17b/0x278 #1: (rcu_read_lock_bh){.+....}, at: [] dev_queue_xmit+0x14e/0x4dc stack backtrace: Pid: 0, comm: swapper Not tainted 2.6.34-rc5-cachefs #4 Call Trace: [] lockdep_rcu_dereference+0xaa/0xb2 [] dev_queue_xmit+0x259/0x4dc [] ? dev_queue_xmit+0x14e/0x4dc [] ? trace_hardirqs_on+0xd/0xf [] ? local_bh_enable_ip+0xbc/0xc1 [] neigh_resolve_output+0x24b/0x27c [] ip6_output_finish+0x7c/0xb4 [] ip6_output2+0x256/0x261 [] ? trace_hardirqs_on+0xd/0xf [] ip6_output+0xbbc/0xbcb [] ? fib6_force_start_gc+0x2b/0x2d [] mld_sendpack+0x273/0x39d [] ? mld_sendpack+0x0/0x39d [] ? mark_held_locks+0x52/0x70 [] mld_ifc_timer_expire+0x24f/0x288 [] run_timer_softirq+0x1ec/0x278 [] ? run_timer_softirq+0x17b/0x278 [] ? mld_ifc_timer_expire+0x0/0x288 [] ? __do_softirq+0x69/0x140 [] __do_softirq+0xa2/0x140 [] call_softirq+0x1c/0x28 [] do_softirq+0x38/0x80 [] irq_exit+0x45/0x47 [] smp_apic_timer_interrupt+0x88/0x96 [] apic_timer_interrupt+0x13/0x20 [] ? __atomic_notifier_call_chain+0x0/0x86 [] ? mwait_idle+0x6e/0x78 [] ? mwait_idle+0x65/0x78 [] cpu_idle+0x4d/0x83 [] rest_init+0xb9/0xc0 [] ? rest_init+0x0/0xc0 [] start_kernel+0x392/0x39d [] x86_64_start_reservations+0xb3/0xb7 [] x86_64_start_kernel+0xe4/0xeb An rcu_dereference() should be an rcu_dereference_bh(). Signed-off-by: David Howells Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit e04997b13a2c2fc93af970fe95fd29a74db113e8 Merge: 6651ffc 05ce7bf Author: David S. Miller Date: Wed Apr 21 00:50:39 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 6651ffc8e8bdd5fb4b7d1867c6cfebb4f309512c Author: Herbert Xu Date: Wed Apr 21 00:47:15 2010 -0700 ipv6: Fix tcp_v6_send_response transport header setting. My recent patch to remove the open-coded checksum sequence in tcp_v6_send_response broke it as we did not set the transport header pointer on the new packet. Actually, there is code there trying to set the transport header properly, but it sets it for the wrong skb ('skb' instead of 'buff'). This bug was introduced by commit a8fdf2b331b38d61fb5f11f3aec4a4f9fb2dedcb ("ipv6: Fix tcp_v6_send_response(): it didn't set skb transport header") Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4260415f6a3b92c5c986398d96c314df37a4ccbf Author: Russell King Date: Mon Apr 19 10:15:03 2010 +0100 ARM: fix build error in arch/arm/kernel/process.c /tmp/ccJ3ssZW.s: Assembler messages: /tmp/ccJ3ssZW.s:1952: Error: can't resolve `.text' {.text section} - `.LFB1077' This is caused because: .section .data .section .text .section .text .previous does not return us to the .text section, but the .data section; this makes use of .previous dangerous if the ordering of previous sections is not known. Fix up the other users of .previous; .pushsection and .popsection are a safer pairing to use than .section and .previous. Signed-off-by: Russell King commit 04de0816173c86948b75da93a6344a0a02bbec4d Author: Dominik Brodowski Date: Tue Apr 20 14:49:01 2010 +0200 pcmcia: pcmcia_dev_present bugfix pcmcia_dev_present is in and by itself buggy. Add a note specifying why it is broken, and replace the broken locking -- taking a mutex is a bad idea in IRQ context, from which this function is rarely called -- by an atomic_t. Signed-off-by: Dominik Brodowski commit 2545cf6e94b4eb5a2c48dd55751aa9a70ff1ff9d Author: Philippe De Muyter Date: Thu Mar 18 11:37:13 2010 +0100 m68knommu: allow 4 coldfire serial ports Fix driver/serial/mcf.c for 4-ports coldfire's (e.g. MCF5484). Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 3732b68f22857201fa09cb82b128f295096a2375 Author: Philippe De Muyter Date: Fri Apr 2 17:56:08 2010 +0200 m68knommu: fix coldfire tcdrain Fix tcdrain on coldfire uarts. Currently with coldfire uarts tcdrain returns without waiting for txempty, because (tx)fifosize is 0. Fix that and call uart_update_timeout when setting the baud rate, otherwise tcdrain will wait for an half our :) Also constify mcf_uart_ops. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer commit 6ecaf44e62274cd3496341ee0189bbbc0ae00976 Author: Greg Ungerer Date: Fri Feb 19 11:27:37 2010 +1000 m68knommu: remove a duplicate vector setting line for 68360 Remove a duplicate vector setting line for the 68360 interrupt setup. Pointed out by Roel Kluin Signed-off-by: Greg Ungerer commit 760d6e7861f245599e0ca1e98ba524a77d401a51 Author: Maxim Kuvyrkov Date: Wed Sep 23 01:25:44 2009 +0400 Fix m68k-uclinux's rt_sigreturn trampoline Signed-off-by: Maxim Kuvyrkov Signed-off-by: Greg Ungerer commit eb79cbe23055a8919a32d19456fa06fbaa16cc1a Author: Philip Nye Date: Tue Jan 12 10:18:03 2010 +1000 m68knommu: correct the CC flags for Coldfire M5272 targets Signed-off-by: Philip Nye Signed-off-by: Greg Ungerer commit d7dfee3f5db5575b1d838744559c3c9bb351f74f Author: Jun Sun Date: Thu Dec 31 17:28:52 2009 -0800 uclinux: error message when FLAT reloc symbol is invalid, v2 This patch fixes a cosmetic error in printk. Text segment and data/bss segment are allocated from two different areas. It is not meaningful to give the diff between them in the error reporting messages. Signed-off-by: Jun Sun Signed-off-by: Greg Ungerer commit 8eabf95cb17253a3ac72b1a62ce8a80b3efecd62 Author: Eric Dumazet Date: Tue Apr 20 03:20:05 2010 +0000 bridge: add a missing ntohs() grec_nsrcs is in network order, we should convert to host horder in br_multicast_igmp3_report() Signed-off-by: Eric Dumazet Acked-by: Herbert Xu Signed-off-by: David S. Miller commit e46754f8c9333170f11780d8e3a70da1b1a88338 Merge: ef9e83c fe6f212 Author: David S. Miller Date: Tue Apr 20 17:57:56 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit eff30363c0b8b057f773108589bfd8881659fe74 Author: David Howells Date: Tue Apr 20 22:41:18 2010 +0100 CRED: Fix double free in prepare_usermodehelper_creds() error handling Patch 570b8fb505896e007fd3bb07573ba6640e51851d: Author: Mathieu Desnoyers Date: Tue Mar 30 00:04:00 2010 +0100 Subject: CRED: Fix memory leak in error handling attempts to fix a memory leak in the error handling by making the offending return statement into a jump down to the bottom of the function where a kfree(tgcred) is inserted. This is, however, incorrect, as it does a kfree() after doing put_cred() if security_prepare_creds() fails. That will result in a double free if 'error' is jumped to as put_cred() will also attempt to free the new tgcred record by virtue of it being pointed to by the new cred record. Signed-off-by: David Howells Signed-off-by: James Morris commit ae7c9b70dcb4313ea3dbcc9a2f240dae6c2b50c0 Author: Jacob Pan Date: Mon Apr 19 11:23:43 2010 -0700 x86, mrst: Conditionally register cpu hotplug notifier for apbt APB timer is used on Moorestown platforms but not on a standard PC. If APB timer code is compiled in but not initialized at run-time due to lack of FW reported SFI table, kernel would panic when the non-boot CPUs are offlined and notifier is called. https://bugzilla.kernel.org/show_bug.cgi?id=15786 This patch ensures CPU hotplug notifier for APB timer is only registered when the APBT timer block is initialized. Signed-off-by: Jacob Pan LKML-Reference: <1271701423-1162-1-git-send-email-jacob.jun.pan@linux.intel.com> Signed-off-by: H. Peter Anvin commit b90f687018e6d6c77d981b09203780f7001407e5 Author: Theodore Ts'o Date: Tue Apr 20 16:51:59 2010 -0400 ext4: Issue the discard operation *before* releasing the blocks to be reused Otherwise, we can end up having data corruption because the blocks could get reused and then discarded! https://bugzilla.kernel.org/show_bug.cgi?id=15579 Signed-off-by: "Theodore Ts'o" commit b6349ac89eacb813f6963f7263da05bc3f483351 Author: Joern Engel Date: Tue Apr 20 21:44:10 2010 +0200 [LogFS] Split large truncated into smaller chunks Truncate would do an almost limitless amount of work without invoking the garbage collector in between. Split it up into more manageable, though still large, chunks. Signed-off-by: Joern Engel commit 05ce7bfe547c9fa967d9cab6c37867a9cb6fb3fa Merge: 27ee896 62af9b5 Author: Linus Torvalds Date: Tue Apr 20 09:39:40 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: quota: Convert __DQUOT_PARANOIA symbol to standard config option commit 62af9b520513d78484f22f874916dfacbc889ce0 Author: Jan Kara Date: Mon Apr 19 16:47:20 2010 +0200 quota: Convert __DQUOT_PARANOIA symbol to standard config option Make __DQUOT_PARANOIA define from the old days a standard config option and turn it off by default. This gets rid of a quota warning about writes before quota is turned on for systems with ext4 root filesystem. Currently there's no way to legally solve this because /etc/mtab has to be written before quota is turned on on most systems. Signed-off-by: Jan Kara commit 27ee8963708185b96bc84a149eb5336a249a7497 Merge: ac8bf56 07a7141 Author: Linus Torvalds Date: Tue Apr 20 09:21:19 2010 -0700 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: fix error handling in cm4000_cs.c drivers/pcmcia: Add missing local_irq_restore serial_cs: MD55x support (PCMCIA GPRS/EDGE modem) (kernel 2.6.33) pcmcia: avoid late calls to pccard_validate_cis pcmcia: fix ioport size calculation in rsrc_nonstatic pcmcia: re-start on MFC override pcmcia: fix io_probe due to parent (PCI) resources pcmcia: use previously assigned IRQ for all card functions commit ac8bf564307962a763a52b34e771205c58b76ec8 Merge: 34388d1 28a1f53 Author: Linus Torvalds Date: Tue Apr 20 09:20:55 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Fix hardirq tracing in trap return path. sparc64: Use correct pt_regs in decode_access_size() error paths. sparc64: Fix PREEMPT_ACTIVE value. sparc64: Run NMIs on the hardirq stack. sparc64: Allocate sufficient stack space in ftrace stubs. sparc: Fix forgotten kmemleak headers inclusion commit 34388d1c4feae50d61d6f4ec7594b9076d6d24db Merge: 186837c ab285f2 Author: Linus Torvalds Date: Tue Apr 20 09:20:23 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf: Fix unsafe frame rewinding with hot regs fetching commit 186837ca3a6dd6b422a5ea316ed38eea183dca5d Merge: 4cecd93 b78315f Author: Linus Torvalds Date: Tue Apr 20 09:20:11 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: delay vblank cleanup until after driver unload commit 4cecd935f67bf46a9fe8037c710dd86651fcafe4 Author: Christoph Hellwig Date: Tue Apr 20 05:31:02 2010 +0200 x86: correctly wire up the newuname system call Before commit e28cbf22933d0c0ccaf3c4c27a1a263b41f73859 ("improve sys_newuname() for compat architectures") 64-bit x86 had a private implementation of sys_uname which was just called sys_uname, which other architectures used for the old uname. Due to some merge issues with the uname refactoring patches we ended up calling the old uname version for both the old and new system call slots, which lead to the domainname filed never be set which caused failures with libnss_nis. Reported-and-tested-by: Andy Isaacson Signed-off-by: Christoph Hellwig Signed-off-by: Linus Torvalds commit e80e2a60ff7914dae691345a976c80bbbff3ec74 Author: Sridhar Samudrala Date: Tue Mar 30 16:48:25 2010 -0700 KVM: Increase NR_IOBUS_DEVS limit to 200 This patch increases the current hardcoded limit of NR_IOBUS_DEVS from 6 to 200. We are hitting this limit when creating a guest with more than 1 virtio-net device using vhost-net backend. Each virtio-net device requires 2 such devices to service notifications from rx/tx queues. Signed-off-by: Sridhar Samudrala Signed-off-by: Avi Kivity commit 87bf6e7de1134f48681fd2ce4b7c1ec45458cb6d Author: Takuya Yoshikawa Date: Mon Apr 12 19:35:35 2010 +0900 KVM: fix the handling of dirty bitmaps to avoid overflows Int is not long enough to store the size of a dirty bitmap. This patch fixes this problem with the introduction of a wrapper function to calculate the sizes of dirty bitmaps. Note: in mark_page_dirty(), we have to consider the fact that __set_bit() takes the offset as int, not long. Signed-off-by: Takuya Yoshikawa Signed-off-by: Marcelo Tosatti commit 77662e0028c7c63e34257fda03ff9625c59d939d Author: Xiao Guangrong Date: Fri Apr 16 16:34:42 2010 +0800 KVM: MMU: fix kvm_mmu_zap_page() and its calling path This patch fix: - calculate zapped page number properly in mmu_zap_unsync_children() - calculate freeed page number properly kvm_mmu_change_mmu_pages() - if zapped children page it shoud restart hlist walking KVM-Stable-Tag. Signed-off-by: Xiao Guangrong Signed-off-by: Marcelo Tosatti commit 78ac8b47c566dd6177a3b9b291b756ccb70670b7 Author: Avi Kivity Date: Thu Apr 8 18:19:35 2010 +0300 KVM: VMX: Save/restore rflags.vm correctly in real mode Currently we set eflags.vm unconditionally when entering real mode emulation through virtual-8086 mode, and clear it unconditionally when we enter protected mode. The means that the following sequence KVM_SET_REGS (rflags.vm=1) KVM_SET_SREGS (cr0.pe=1) Ends up with rflags.vm clear due to KVM_SET_SREGS triggering enter_pmode(). Fix by shadowing rflags.vm (and rflags.iopl) correctly while in real mode: reads and writes to those bits access a shadow register instead of the actual register. Signed-off-by: Avi Kivity Signed-off-by: Marcelo Tosatti commit 114be429c8cd44e57f312af2bbd6734e5a185b0d Author: Andre Przywara Date: Wed Mar 24 17:46:42 2010 +0100 KVM: allow bit 10 to be cleared in MSR_IA32_MC4_CTL There is a quirk for AMD K8 CPUs in many Linux kernels (see arch/x86/kernel/cpu/mcheck/mce.c:__mcheck_cpu_apply_quirks()) that clears bit 10 in that MCE related MSR. KVM can only cope with all zeros or all ones, so it will inject a #GP into the guest, which will let it panic. So lets add a quirk to the quirk and ignore this single cleared bit. This fixes -cpu kvm64 on all machines and -cpu host on K8 machines with some guest Linux kernels. Signed-off-by: Andre Przywara Signed-off-by: Avi Kivity commit d6a23895aa82353788a1cc5a1d9a1c963465463e Author: Avi Kivity Date: Thu Mar 11 12:20:03 2010 +0200 KVM: Don't spam kernel log when injecting exceptions due to bad cr writes These are guest-triggerable. Signed-off-by: Avi Kivity commit b7af40433870aa0636932ad39b0c48a0cb319057 Author: Takuya Yoshikawa Date: Tue Mar 9 14:55:19 2010 +0900 KVM: SVM: Fix memory leaks that happen when svm_create_vcpu() fails svm_create_vcpu() does not free the pages allocated during the creation when it fails to complete the allocations. This patch fixes it. Signed-off-by: Takuya Yoshikawa Signed-off-by: Avi Kivity commit 7567cae105e435b53e5a3e778546dd3ec53e3204 Author: Gleb Natapov Date: Tue Mar 9 12:01:10 2010 +0200 KVM: take srcu lock before call to complete_pio() complete_pio() may use slot table which is protected by srcu. Signed-off-by: Gleb Natapov Cc: stable@kernel.org Signed-off-by: Avi Kivity commit 28a1f533ae8606020238b840b82ae70a3f87609e Author: David S. Miller Date: Tue Apr 20 00:48:37 2010 -0700 sparc64: Fix hardirq tracing in trap return path. We can overflow the hardirq stack if we set the %pil here so early, just let the normal control flow do it. This is fine as we are allowed to do the actual IRQ enable at any point after we call trace_hardirqs_on. Signed-off-by: David S. Miller commit 7fbef0d1e278a0a8c803a4d2b1e2bd5740bffa52 Author: Daniel Mack Date: Mon Apr 19 00:42:16 2010 -0700 Input: eeti_ts - cancel pending work when going to suspend This fixes a race between the suspend code and input events. Signed-off-by: Daniel Mack Signed-off-by: Dmitry Torokhov commit 5f57d67da87332a9a1ba8fa7a33bf0680e1c76e7 Author: Takashi Iwai Date: Mon Apr 19 10:37:21 2010 -0700 Input: Add support of Synaptics Clickpad device The new type of touchpads can be detected via a new query command 0x0c. The clickpad flags are in cap[0]:4 and cap[1]:0 bits. When the device is detected, the driver now reports only the left button as the supported buttons so that X11 driver can detect that the device is Clickpad. A Clickpad device gives the button events only as the middle button. The kernel driver morphs to the left button. The real handling of Clickpad is done rather in X driver side. Signed-off-by: Takashi Iwai Signed-off-by: Dmitry Torokhov commit 6d327cb03fbc64cac36571c9bc8a1576d2b3ea00 Author: Dmitry Torokhov Date: Tue Apr 20 00:37:21 2010 -0700 Revert "Input: ALPS - add signature for HP Pavilion dm3 laptops" This reverts commit 5e28d8eb68c12eab9c4a47b42ba993a6420d71d3 since the magic knock does not work for this model of the touchpad and the device stays in PS/2 compatibility mode. commit b78315f051de8d207bead90470aa216c0617572b Author: Jesse Barnes Date: Fri Mar 26 11:07:16 2010 -0700 drm: delay vblank cleanup until after driver unload Drivers may use vblank calls now (e.g. drm_vblank_off) in their unload paths, so don't clean up the vblank related structures until after driver unload. Signed-off-by: Jesse Barnes Reviewed-by: Kristian Høgsberg Signed-off-by: Dave Airlie commit b4d0a038e0f856313ca26fd3872bc209a2e616ad Author: Kumar Gala Date: Mon Apr 19 23:17:27 2010 -0500 powerpc: 2.6.34 update of defconfigs for embedded 6xx/7xxx, 8xx, 8xxx Signed-off-by: Kumar Gala commit e3c8a02743002757de53226b1b9f019c6769fd9b Author: Kim Phillips Date: Thu Apr 15 18:59:18 2010 -0500 powerpc/mpc8xxx defconfigs - turn off SYSFS_DEPRECATED a recent fc11 udev update on an 83xx board made root console login disappear: Updating : udev-141-8.fc11.ppc 32/83 udev: starting version 141 udev: deprecated sysfs layout; update the kernel or disable CONFIG_SYSFS_DEPRECATED; some udev features will not work correctly and sure enough, turning off SYSFS_DEPRECATED brings the login prompt back. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit acbcba908dd271253a9661dde1f0087c0f789e8c Author: Kim Phillips Date: Thu Apr 15 18:59:13 2010 -0500 powerpc/83xx: configure SIL SATA driver in 83xx-wide defconfig to enable the storage controller on earlier rev. mpc834x itx boards. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 35f2a591192d0a5d9f7fc696869c76f0b8e49c3d Author: NeilBrown Date: Tue Apr 20 14:13:34 2010 +1000 md/raid5: allow for more than 2^31 chunks. With many large drives and small chunk sizes it is possible to create a RAID5 with more than 2^31 chunks. Make sure this works. Reported-by: Brett King Signed-off-by: NeilBrown Cc: stable@kernel.org commit f5b0959fec5d2e1aee383963a6000bb87222b78d Author: Kim Phillips Date: Mon Apr 5 11:14:04 2010 -0500 powerpc/83xx: enable EPOLL syscall in defconfig 83xx users looking to run apache will experience this error: /var/log/apache2/error.log: [emerg] (38)Function not implemented: Couldn't create pollset in child; check system or user limits enabling CONFIG_EPOLL in kernel config fixes this so apache can run. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 5bfb3fdca308df9e9ea0830b43d3d75d0920fd7e Author: Kim Phillips Date: Mon Apr 5 11:13:51 2010 -0500 powerpc/83xx: add RTC drivers in 83xx defconfig 83xx boards typically have the DS1307 or DS1374: git grep RTC_DRV arch/powerpc/configs/*83* | grep "=y" arch/powerpc/configs/83xx/asp8347_defconfig:CONFIG_RTC_DRV_DS1374=y arch/powerpc/configs/83xx/mpc8313_rdb_defconfig:CONFIG_RTC_DRV_DS1307=y arch/powerpc/configs/83xx/mpc8315_rdb_defconfig:CONFIG_RTC_DRV_DS1307=y arch/powerpc/configs/83xx/mpc832x_mds_defconfig:CONFIG_RTC_DRV_DS1374=y arch/powerpc/configs/83xx/mpc834x_itx_defconfig:CONFIG_RTC_DRV_DS1307=y arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig:CONFIG_RTC_DRV_DS1307=y arch/powerpc/configs/83xx/mpc834x_mds_defconfig:CONFIG_RTC_DRV_DS1374=y arch/powerpc/configs/83xx/mpc836x_mds_defconfig:CONFIG_RTC_DRV_DS1374=y Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 1cca2d2b99f3d7eea6aa627b96bffc3b0999eca2 Author: Wolfgang Ocker Date: Sat Apr 3 16:11:43 2010 +0200 powerpc/fsl-cpm: Configure clock correctly for SCC Some board setup functions call cpm1_clk_setup() or cmp2_clk_setup() to configure the clock source. If CPM_CLK_RTX has been used for the parameter mode, the clock has been configured only for TX but not for RX. With this patch CPM_CLK_RTX configures the clock for both directions correctly. Signed-off-by: Wolfgang Ocker Acked-by: Scott Wood Signed-off-by: Kumar Gala commit e8137341b1bb9bbdc29d9fd8980485ec7dcb4109 Author: Becky Bruce Date: Mon Apr 12 11:21:50 2010 -0500 powerpc/fsl_booke: Correct test for MMU_FTR_BIG_PHYS The code was looking for this in cpu_features, not mmu_features. Fix this. Signed-off-by: Becky Bruce Signed-off-by: Kumar Gala commit e0f278adc29e8986531a51e5ed33db42e34bf952 Author: Anton Vorontsov Date: Fri Apr 16 23:07:24 2010 +0400 powerpc/85xx/86xx: Fix build w/ CONFIG_PCI=n Currently some MPC85xx and MPC86xx boards fail to build without CONFIG_PCI: arch/powerpc/platforms/fsl_uli1575.c: In function 'quirk_final_uli5249': arch/powerpc/platforms/fsl_uli1575.c:234: error: implicit declaration of function 'pci_bus_for_each_resource' arch/powerpc/platforms/fsl_uli1575.c:234: error: expected ';' before '{' token cc1: warnings being treated as errors arch/powerpc/platforms/fsl_uli1575.c:223: warning: unused variable 'dummy' make[1]: *** [arch/powerpc/platforms/fsl_uli1575.o] Error 1 This patch fixes the issue by appending 'if PCI' condition when selecting FSL_ULI1575 Kconfig symbol. Signed-off-by: Anton Vorontsov Signed-off-by: Kumar Gala commit 42df64b1f83fa9b786067a0b5a3aca0fbb2d8db8 Author: Dan Carpenter Date: Wed Apr 7 12:22:58 2010 +0300 i2c-stu300: off by one issue If we don't find the correct rate, we want to end the loop with "i" pointing to the last element in the array. Signed-off-by: Dan Carpenter Signed-off-by: Ben Dooks commit 28ad3321a1ac732c7fe37d5be85f67fe40ef18a9 Author: Kevin Wells Date: Tue Mar 16 15:55:37 2010 -0700 i2c-pnx: Add stop conditions for end of transfer Add a stop condition bit flag to the last byte in the transfer. This will generate an extra clock to handle the stop condition and prevent devices from staying in an ACK'd state. Signed-off-by: Kevin Wells Signed-off-by: Ben Dooks commit be80dbaa3ed64337693be58fb2f3808e78911ba6 Author: Kevin Wells Date: Tue Mar 16 15:55:36 2010 -0700 i2c-pnx: Limit maximum divider to 1023 Limit maximum divider to 0x3ff to divider computations. On high I2C parent clock rates, the divider can exceed 0x3ff. This will help prevent some very odd clock rates. Signed-off-by: Kevin Wells Signed-off-by: Ben Dooks commit 7c6bd2010fced38444c9fd658f4c6ce61bd185bf Author: Mika Westerberg Date: Tue Mar 23 12:12:56 2010 +0200 i2c-omap: fix OOPS in omap_i2c_unidle() during probe Commit d84d3ea317ce0db89ce0903b4037f800c5d4c477 added register shift to allow also 16-bit register access. However, omap_i2c_unidle() is called before these are set which causes the following OOPS: Unhandled fault: alignment exception (0x801) at 0xfa070009 Internal error: : 801 [#1] last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.34-rc2-00052-gae6be51 #3) PC is at omap_i2c_unidle+0x44/0x138 LR is at trace_hardirqs_on_caller+0x158/0x18c pc : [] lr : [] psr: 20000013 sp : cfc2bf10 ip : 00000009 fp : 00000000 r10: 00000000 r9 : 00000000 r8 : c0378560 r7 : c0378b88 r6 : c0378558 r5 : cfcadc00 r4 : cfcadc00 r3 : 00000009 r2 : fa070000 r1 : 00000000 r0 : 00000000 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c5387f Table: 80004019 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xcfc2a2e8) Stack: (0xcfc2bf10 to 0xcfc2c000) bf00: c0372cf8 c027225c 00000000 c0a69678 bf20: cfc3e508 c0500898 c0378560 c0378560 c0500898 cfcac8c0 c04fc280 c017d4f4 bf40: c0378560 c017c63c c0378560 c0378594 c0500898 cfcac8c0 c04fc280 c017c754 bf60: 00000000 c017c6f4 c0500898 c017beac cfc16a5c cfc3fd94 c0023448 c0500898 bf80: c0500898 c017b7d4 c032dc7f 00000093 cfc28d40 c0023448 00000000 c0500898 bfa0: 00000000 00000000 00000000 c017ca48 c0023448 00000000 c001d274 00000000 bfc0: 00000000 c002b344 00000031 00000000 00000000 00000192 00000000 c0023448 bfe0: 00000000 00000000 00000000 c0008578 00000000 c002c304 ffdfffff ffffffff [] (omap_i2c_unidle+0x44/0x138) from [] (omap_i2c_probe+0x1a4/0x398) [] (omap_i2c_probe+0x1a4/0x398) from [] (platform_drv_probe+0x18/0x1c) [] (platform_drv_probe+0x18/0x1c) from [] (driver_probe_device+0xc0/0x178) [] (driver_probe_device+0xc0/0x178) from [] (__driver_attach+0x60/0x84) [] (__driver_attach+0x60/0x84) from [] (bus_for_each_dev+0x44/0x74) [] (bus_for_each_dev+0x44/0x74) from [] (bus_add_driver+0x9c/0x218) [] (bus_add_driver+0x9c/0x218) from [] (driver_register+0xa8/0x130) [] (driver_register+0xa8/0x130) from [] (do_one_initcall+0x5c/0x1b8) [] (do_one_initcall+0x5c/0x1b8) from [] (kernel_init+0x90/0x144) [] (kernel_init+0x90/0x144) from [] (kernel_thread_exit+0x0/0x8) Code: e5942004 e3a0c009 e1a0331c e3a01000 (e18210b3) ---[ end trace 1b75b31a2719ed1c ]--- This patch moves register shift setting before any register accesses are done. Signed-off-by: Mika Westerberg Cc: Cory Maccarrone Signed-off-by: Ben Dooks commit da9c99fc32e2d84f80672d192a7aaf7239057a2e Author: Arnaud Patard Date: Tue Mar 23 17:28:28 2010 +0100 i2c-imx: fix error handling - Return -ETIMEDOUT on bus busy error - Fix timeout test "time_after(jiffies, orig_jiffies + HZ / 1000)" : By default, HZ=100 on arm. This means that this test has no chances to work and may result in a dead loop. Set timeout to 500ms. - Don't try to send a new message if we failed to transmit previous one. This was preventing to recover from error on my system Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks commit 01bf0b64579ead8a82e7cfc32ae44bc667e7ad0f Author: Linus Torvalds Date: Mon Apr 19 16:29:56 2010 -0700 Linux 2.6.34-rc5 commit e8a03feb54ca7f1768bbdc2b491f9ef654e6d01d Author: Rik van Riel Date: Wed Apr 14 17:59:28 2010 -0400 rmap: add exclusively owned pages to the newest anon_vma The recent anon_vma fixes cause many anonymous pages to end up in the parent process anon_vma, even when the page is exclusively owned by the current process. Adding exclusively owned anonymous pages to the top anon_vma reduces rmap scanning overhead, especially in workloads with forking servers. This patch adds a parameter to __page_set_anon_rmap that can be used to indicate whether or not the added page is exclusively owned by the current process. Pages added through page_add_new_anon_rmap are exclusively owned by the current process, and can be added to the top anon_vma. Pages added through page_add_anon_rmap can be either shared or exclusively owned, so we do the conservative thing and add it to the oldest anon_vma. A next step would be to add the exclusive parameter to page_add_anon_rmap, to be used from functions where we do know for sure whether a page is exclusively owned. Signed-off-by: Rik van Riel Reviewed-by: Johannes Weiner Lightly-tested-by: Borislav Petkov Reviewed-by: Minchan Kim [ Edited to look nicer - Linus ] Signed-off-by: Linus Torvalds commit 9b030e2006546366c832911ca5eb9e785408795b Merge: 76e506a 9f37622 Author: Linus Torvalds Date: Mon Apr 19 14:20:32 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6: eCryptfs: Turn lower lookup error messages into debug messages eCryptfs: Copy lower directory inode times and size on link ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode ecryptfs: fix error code for missing xattrs in lower fs eCryptfs: Decrypt symlink target for stat size eCryptfs: Strip metadata in xattr flag in encrypted view eCryptfs: Clear buffer before reading in metadata xattr eCryptfs: Rename ecryptfs_crypt_stat.num_header_bytes_at_front eCryptfs: Fix metadata in xattr feature regression commit ef9e83c1ab2981769f16e626179dd56895041b38 Author: Alexander Kuznetsov Date: Mon Apr 19 14:17:43 2010 -0700 8139too: Fix a typo in the function name. Signed-off-by: Alexander Kuznetsov Signed-off-by: David S. Miller commit baa06775e224e9f74e5c2de894c95cd49678beff Author: David S. Miller Date: Mon Apr 19 13:46:48 2010 -0700 sparc64: Use correct pt_regs in decode_access_size() error paths. Signed-off-by: David S. Miller commit fe6f212ce12341df18ef9b890bea739b4547157b Author: Reinette Chatre Date: Mon Apr 19 10:46:31 2010 -0700 mac80211: pass HT changes to driver when off channel Since "mac80211: make off-channel work generic" drivers have not been notified of configuration changes after association or authentication. This caused more dependence on current state to ensure driver will be notified when configuration changes occur. One such problem arises if off-channel is in progress when HT information changes. Since HT is only enabled on the "oper_channel" the driver will never be notified of this change. Usually the driver is notified soon after of a BSS information change (BSS_CHANGED_HT) ... but since the driver did not get a notification that this is a HT channel the new BSS information does not make sense. Fix this by also changing the off-channel information when HT is enabled and thus cause driver to be notified correctly. This fixes a problem in 4965 when associated with 5GHz 40MHz channel. Without this patch the system can associate but is unable to transfer any data, not even ping. See http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2158 Signed-off-by: Reinette Chatre Signed-off-by: John W. Linville commit b4bb5c3fd9333024044362df67e23e96158489ed Author: Johannes Berg Date: Mon Apr 19 10:48:38 2010 +0200 mac80211: remove bogus TX agg state assignment When the addba timer expires but has no work to do, it should not affect the state machine. If it does, TX will not see the successfully established and we can also crash trying to re-establish the session. Cc: stable@kernel.org [2.6.32, 2.6.33] Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 9f37622f897a90ad3c3da5c14d94d8f3ffc62b70 Author: Tyler Hicks Date: Thu Mar 25 11:16:56 2010 -0500 eCryptfs: Turn lower lookup error messages into debug messages Vaugue warnings about ENAMETOOLONG errors when looking up an encrypted file name have caused many users to become concerned about their data. Since this is a rather harmless condition, I'm moving this warning to only be printed when the ecryptfs_verbosity module param is 1. Signed-off-by: Tyler Hicks commit 3a8380c0754a7972668a46f645930910e304095c Author: Tyler Hicks Date: Tue Mar 23 18:09:02 2010 -0500 eCryptfs: Copy lower directory inode times and size on link The timestamps and size of a lower inode involved in a link() call was being copied to the upper parent inode. Instead, we should be copying lower parent inode's timestamps and size to the upper parent inode. I discovered this bug using the POSIX test suite at Tuxera. Signed-off-by: Tyler Hicks commit 133b8f9d632cc23715c6d72d1c5ac449e054a12a Author: Jeff Mahoney Date: Fri Mar 19 15:35:46 2010 -0400 ecryptfs: fix use with tmpfs by removing d_drop from ecryptfs_destroy_inode Since tmpfs has no persistent storage, it pins all its dentries in memory so they have d_count=1 when other file systems would have d_count=0. ->lookup is only used to create new dentries. If the caller doesn't instantiate it, it's freed immediately at dput(). ->readdir reads directly from the dcache and depends on the dentries being hashed. When an ecryptfs mount is mounted, it associates the lower file and dentry with the ecryptfs files as they're accessed. When it's umounted and destroys all the in-memory ecryptfs inodes, it fput's the lower_files and d_drop's the lower_dentries. Commit 4981e081 added this and a d_delete in 2008 and several months later commit caeeeecf removed the d_delete. I believe the d_drop() needs to be removed as well. The d_drop effectively hides any file that has been accessed via ecryptfs from the underlying tmpfs since it depends on it being hashed for it to be accessible. I've removed the d_drop on my development node and see no ill effects with basic testing on both tmpfs and persistent storage. As a side effect, after ecryptfs d_drops the dentries on tmpfs, tmpfs BUGs on umount. This is due to the dentries being unhashed. tmpfs->kill_sb is kill_litter_super which calls d_genocide to drop the reference pinning the dentry. It skips unhashed and negative dentries, but shrink_dcache_for_umount_subtree doesn't. Since those dentries still have an elevated d_count, we get a BUG(). This patch removes the d_drop call and fixes both issues. This issue was reported at: https://bugzilla.novell.com/show_bug.cgi?id=567887 Reported-by: Árpád Bíró Signed-off-by: Jeff Mahoney Cc: Dustin Kirkland Cc: stable@kernel.org Signed-off-by: Tyler Hicks commit cfce08c6bdfb20ade979284e55001ca1f100ed51 Author: Christian Pulvermacher Date: Tue Mar 23 11:51:38 2010 -0500 ecryptfs: fix error code for missing xattrs in lower fs If the lower file system driver has extended attributes disabled, ecryptfs' own access functions return -ENOSYS instead of -EOPNOTSUPP. This breaks execution of programs in the ecryptfs mount, since the kernel expects the latter error when checking for security capabilities in xattrs. Signed-off-by: Christian Pulvermacher Cc: stable@kernel.org Signed-off-by: Tyler Hicks commit 3a60a1686f0d51c99bd0df8ac93050fb6dfce647 Author: Tyler Hicks Date: Mon Mar 22 00:41:35 2010 -0500 eCryptfs: Decrypt symlink target for stat size Create a getattr handler for eCryptfs symlinks that is capable of reading the lower target and decrypting its path. Prior to this patch, a stat's st_size field would represent the strlen of the encrypted path, while readlink() would return the strlen of the decrypted path. This could lead to confusion in some userspace applications, since the two values should be equal. https://bugs.launchpad.net/bugs/524919 Reported-by: Loïc Minier Cc: stable@kernel.org Signed-off-by: Tyler Hicks commit 76e506a754c9519ba0a948b475a62f31fac8b599 Author: Linus Torvalds Date: Mon Apr 19 11:53:17 2010 -0700 Fix ISDN/Gigaset build failure Commit b91ecb00 ("gigaset: include cleanup cleanup") removed an implicit sched.h inclusion that came in via slab.h, and caused various compile problems as a result. This should fix it. Reported-by: Ingo Molnar Signed-off-by: Linus Torvalds commit e1393667be574807a13bfaf1bb471f5fd1a5287b Author: Clemens Ladisch Date: Mon Apr 12 10:35:44 2010 +0200 firewire: ohci: wait for local CSR lock access to finish Add a loop to wait for the controller to finish a locally-initiated CSR lock operation. Google shows some occurrences of the "swap not done yet" message which might indicate that some OHCI controllers are not fast enough to do the lock/swap in the time needed for one PCI access. This also correctly handles the case where the lock operation did not finish, instead of silently returning an uninitialized value. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 2608203daf5f87311c6e5d36e5de5efcb14aab24 Author: Clemens Ladisch Date: Mon Apr 12 10:35:30 2010 +0200 firewire: ohci: prevent aliasing of locally handled register addresses We must compute the offset from the CSR register base with the full 48 address bits to prevent matching with addresses whose lower 32 bits happen to be equal with one of the specially handled registers. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit d6372b6e7c6142e6cc2108b3b850584cd7ade106 Author: Clemens Ladisch Date: Mon Apr 12 10:35:18 2010 +0200 firewire: core: fw_iso_resource_manage: return -EBUSY when out of resources Returning -EIO for all errors would not allow clients to determine if the resource allocation process itself failed, or if the resources are not available. (The latter information is needed by CMP to synchronize restoring of overlayed connections after a bus reset.) Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 3a1f0a0e3d871e3d3e08a1429009992151becda8 Author: Clemens Ladisch Date: Mon Apr 12 10:35:05 2010 +0200 firewire: core: fix retries calculation in iso manage_channel() If there is a permanent error condition when communicating with the IRM, after the sixth error, the retry variable will be decremented to -1. If, in this case, the bits in channels_mask are not yet exhausted, the next channel is retried 2^32 times. To fix this, check that retry is never decremented beyond zero. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit b7d2526f5c20385894a5e57b1a4292f5a1741f1b Author: Takashi Iwai Date: Mon Apr 19 18:11:29 2010 +0200 ALSA: hda - Fix resume from StR of HP 2510p with docking-station When HP laptop with AD1981 codec is suspended and the docking-station is connected before the resume, the outputs get confused, and wrongly routed still to the speaker. This is because of a change in 2.6.34-rc1 ea52bf260ecbb175339af3178c15788df21b7516 ALSA: hda: Add powerdown for Analog Devices HDA codecs The problem was the added resume callback that doesn't consider the modified init hook. The fix is simply remove the resume callback here and make the resume normally. This doesn't change any behavior intended in the commit above (for shutting down the sound at suspend) but only fixes the resume. Reported-and-tested-by: Frans Pop Signed-off-by: Takashi Iwai commit 85341c61361cc45a9cc0e11c01e8f4479ef460ac Merge: 375db48 bc293d6 Author: Linus Torvalds Date: Mon Apr 19 08:35:47 2010 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: Make RCU lockdep check the lockdep_recursion variable rcu: Update docs for rcu_access_pointer and rcu_dereference_protected rcu: Better explain the condition parameter of rcu_dereference_check() rcu: Add rcu_access_pointer and rcu_dereference_protected commit 375db4810b27306ea400ab39d3d6f7a063ac9ff6 Merge: 73c6c7f b91ecb0 Author: Linus Torvalds Date: Mon Apr 19 07:27:45 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: gigaset: include cleanup cleanup packet : remove init_net restriction WAN: flush tx_queue in hdlc_ppp to prevent panic on rmmod hw_driver. ip: Fix ip_dev_loopback_xmit() net: dev_pick_tx() fix fib: suppress lockdep-RCU false positive in FIB trie. tun: orphan an skb on tx forcedeth: fix tx limit2 flag check iwlwifi: work around bogus active chains detection commit 73c6c7fbb74d07a80fee41ce4ca3976547519e42 Merge: eb3e5cc 79b9517 Author: Linus Torvalds Date: Mon Apr 19 07:27:06 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/radeon/kms: add FireMV 2400 PCI ID. drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSET drivers/gpu/radeon: Add MSPOS regs to safe list. drm/radeon/kms: disable the tv encoder when tv/cv is not in use drm/radeon/kms: adjust pll settings for tv drm/radeon/kms: fix tv dac conflict resolver drm/radeon/kms/evergreen: don't enable hdmi audio stuff drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0 drm/radeon/kms: fix rs600 tlb flush drm/radeon/kms: print GPU family and device id when loading drm/radeon/kms: fix calculation of mipmapped 3D texture sizes drm/radeon/kms: only change mode when coherent value changes. drm/radeon/kms: more atom parser fixes (v2) commit eb3e5cce2b39a266a1a167fa4290939db20ef5d6 Merge: 13bd8e4 b1cdbb5 Author: Linus Torvalds Date: Mon Apr 19 07:26:21 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: 5974/1: arm/mach-at91 Makefile: remove two blanks. ARM: 6052/1: kdump: make kexec work in interrupt context ARM: 6051/1: VFP: preserve the HW context when calling signal handlers ARM: 6050/1: VFP: fix the SMP versions of vfp_{sync,flush}_hwstate ARM: 6007/1: fix highmem with VIPT cache and DMA ARM: 5975/1: AT91 slow-clock suspend: don't wait when turning PLLs off commit 07a71415d5f790385695784a9b0e554412ee95c3 Author: Dan Carpenter Date: Sun Apr 18 22:07:33 2010 +0300 pcmcia: fix error handling in cm4000_cs.c In the original code we used -ENODEV as the number of bytes to copy_to_user() and we didn't release the locks. Signed-off-by: Dan Carpenter Acked-by: Harald Welte Signed-off-by: Dominik Brodowski commit 58d57658834faa0c19da35e84632f7b78846f69f Author: Axel Lin Date: Mon Apr 19 09:58:02 2010 +0800 mc13783-regulator: fix a memory leak in mc13783_regulator_remove This patch fixes a memory leak by freeing priv in mc13783_regulator_remove Signed-off-by: Axel Lin Cc: Sascha Hauer Cc: Liam Girdwood Cc: Mark Brown Cc: Samuel Ortiz Signed-off-by: Liam Girdwood commit be1a50d4eba4cdb3ebf9d97a0a8693c153436775 Author: Jean Delvare Date: Sat Apr 3 17:37:45 2010 +0200 regulator: Let drivers know when they use the stub API Have the stub variant of regulator_get() return NULL, so that drivers can (but still don't have to) handle this case specifically. Signed-off-by: Jean Delvare Cc: Mark Brown Cc: Jerome Oufella Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 79b9517a33a283c5d9db875c263670ed1e055f7e Author: Dave Airlie Date: Mon Apr 19 17:54:31 2010 +1000 drm/radeon/kms: add FireMV 2400 PCI ID. This is an M24/X600 chip. From RH# 581927 cc: stable@kernel.org Signed-off-by: Dave Airlie commit 7f3c1fa4c3f52ef65005ae5162e5173e875b8c0c Author: Jan Kiszka Date: Mon Apr 19 17:46:23 2010 +0900 uml: Fix build breakage after slab.h changes We now have to to include linux/slab.h explicitly for kmalloc & friends. Files that build against host headers already get their prototypes via um_malloc.h, linux/slab.h may even be unavailable. Signed-off-by: Jan Kiszka Signed-off-by: Tejun Heo commit 6c94b1ee0ca2bfb526d779c088ec20da6a3761db Author: David S. Miller Date: Mon Apr 19 01:30:51 2010 -0700 sparc64: Fix PREEMPT_ACTIVE value. It currently overlaps the NMI bit. Signed-off-by: David S. Miller commit 6b9d363c49d22395d0cf8729c5963f83cfbb6d69 Author: Dmitry Torokhov Date: Mon Apr 19 00:42:16 2010 -0700 Input: psmouse - ignore parity error for basic protocols Observing behavior of the other OS it appears that parity errors reported by the keyboard controller are being ignored and the data is processed as usual. Let's do the same for standard PS/2 protocols (bare, Intellimouse and Intellimouse Explorer) to provide better compatibility. Thsi should fix teh following bug: https://bugzilla.kernel.org/show_bug.cgi?id=6105 Thanks for Damjan Jovanovic for locating the source of issue and ideas for the patch. Tested-by: Damjan Jovanovic Signed-off-by: Dmitry Torokhov commit bc293d62b26ec590afc90a9e0a31c45d355b7bd8 Author: Paul E. McKenney Date: Thu Apr 15 12:50:39 2010 -0700 rcu: Make RCU lockdep check the lockdep_recursion variable The lockdep facility temporarily disables lockdep checking by incrementing the current->lockdep_recursion variable. Such disabling happens in NMIs and in other situations where lockdep might expect to recurse on itself. This patch therefore checks current->lockdep_recursion, disabling RCU lockdep splats when this variable is non-zero. In addition, this patch removes the "likely()", as suggested by Lai Jiangshan. Reported-by: Frederic Weisbecker Reported-by: David Miller Tested-by: Frederic Weisbecker 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 Cc: eric.dumazet@gmail.com LKML-Reference: <20100415195039.GA22623@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit cae94b0ad9d147152af77b971a7234faf20027a9 Author: Marek Olšák Date: Sun Feb 21 21:24:15 2010 +0100 drm/radeon/kms: allow R500 regs VAP_ALT_NUM_VERTICES and VAP_INDEX_OFFSET [airlied: fix V_A_N_V to not be safe and fix check to make sure only r500 - bump userspace version] Signed-off-by: Marek Olšák Signed-off-by: Dave Airlie commit f12eebb0acbaa6dcb60ed34451f5b159f509b2c0 Author: Corbin Simpson Date: Sun Apr 11 12:34:00 2010 -0700 drivers/gpu/radeon: Add MSPOS regs to safe list. Permits MSAA and D3D-style rasterization. [airlied: add rs600] Signed-off-by: Corbin Simpson Signed-off-by: Dave Airlie commit d3a67a43b0460bae3e2ac14092497833344ac10d Author: Alex Deucher Date: Tue Apr 13 11:21:59 2010 -0400 drm/radeon/kms: disable the tv encoder when tv/cv is not in use Switching between TV and VGA caused VGA to break on some systems since the TV encoder was left enabled when VGA was used. fixes fdo bug 25520. Signed-off-by: Alex Deucher Cc: stable Signed-off-by: Dave Airlie commit a1a4b23b66039c814c3d3a9a28d76d34800eadc5 Author: Alex Deucher Date: Fri Apr 9 15:31:56 2010 -0400 drm/radeon/kms: adjust pll settings for tv May fix fdo bug 26582. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 08d075116db3592db218bfe0f554cd93c9e12505 Author: Alex Deucher Date: Thu Apr 15 13:31:12 2010 -0400 drm/radeon/kms: fix tv dac conflict resolver On systems with the tv dac shared between DVI and TV, we can only use the dac for one of the connectors. However, when using a digital monitor on the DVI port, you can use the dac for the TV connector just fine. Check the use_digital status when resolving the conflict. Fixes fdo bug 27649, possibly others. Signed-off-by: Alex Deucher Cc: stable Signed-off-by: Dave Airlie commit 16823d16f55afc303af7864b9a055d8a1c012e1b Author: Alex Deucher Date: Fri Apr 16 11:35:30 2010 -0400 drm/radeon/kms/evergreen: don't enable hdmi audio stuff Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b317a9ce2259e64258a802a5ca70dec45ac15dda Author: Alex Deucher Date: Thu Apr 15 16:54:38 2010 -0400 drm/radeon/kms/atom: fix dual-link DVI on DCE3.2/4.0 Got broken during the evergreen merge. Fixes fdo bug 27001. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 30f69f3fb20bd719b5e1bf879339914063d38f47 Author: Jerome Glisse Date: Fri Apr 16 18:46:35 2010 +0200 drm/radeon/kms: fix rs600 tlb flush Typo in in flush leaded to no flush of the RS600 tlb which ultimately leaded to massive system ram corruption, with this patch everythings seems to work properly. Signed-off-by: Jerome Glisse Cc: stable Signed-off-by: Dave Airlie commit 1b5331d9c6ae1f68db6359d227531ec42bc40d47 Author: Jerome Glisse Date: Mon Apr 12 20:21:53 2010 +0000 drm/radeon/kms: print GPU family and device id when loading This will help figuring out GPU when looking at bugs log. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit c36a2a6de59e4a141a68b7575de837d3b0bd96b3 Author: Daniel Vetter Date: Sat Apr 17 15:12:03 2010 +0200 drm/i915: fix tiling limits for i915 class hw v2 Current code is definitely crap: Largest pitch allowed spills into the TILING_Y bit of the fence registers ... :( I've rewritten the limits check under the assumption that 3rd gen hw has a 3d pitch limit of 8kb (like 2nd gen). This is supported by an otherwise totally misleading XXX comment. This bug mostly resulted in tiling-corrupted pixmaps because the kernel allowed too wide buffers to be tiled. Bug brought to the light by the xf86-video-intel 2.11 release because that unconditionally enabled tiling for pixmaps, relying on the kernel to check things. Tiling for the framebuffer was not affected because the ddx does some additional checks there ensure the buffer is within hw-limits. v2: Instead of computing the value that would be written into the hw fence registers and then checking the limits simply check whether the stride is above the 8kb limit. To better document the hw, add some WARN_ONs in i915_write_fence_reg like I've done for the i830 case (using the right limits). Signed-off-by: Daniel Vetter Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=27449 Tested-by: Alexander Lam Cc: stable@kernel.org Signed-off-by: Eric Anholt commit 3143751ff51a163b77f7efd389043e038f3e008e Author: Zhang Rui Date: Mon Mar 29 15:12:16 2010 +0800 drm/i915: set DIDL using the ACPI video output device _ADR method return. we used to set the DIDL in the output device detected order. But some BIOSes requires it to be initialized in the ACPI device order. e.g. the value of the first field in DIDL stands for the first ACPI video output device in ACPI namespace. Now we initialize the DIDL using the device id, i.e. _ADR return value, of each ACPI video device, if it is not 0. https://bugzilla.kernel.org/show_bug.cgi?id=15054 Signed-off-by: Zhang Rui Signed-off-by: Eric Anholt commit 5ce8ba7c9279a63f99e1f131602580472b8af968 Author: Adam Jackson Date: Thu Apr 15 14:03:30 2010 -0400 drm/i915: Fix 82854 PCI ID, and treat it like other 85X pci.ids and the datasheet both say it's 358e, not 35e8. Signed-off-by: Adam Jackson Signed-off-by: Eric Anholt commit 8f4695ed1c9e068772bcce4cd4ff03f88d57a008 Author: Adam Jackson Date: Fri Apr 16 18:20:57 2010 -0400 drm/i915: Attempt to fix watermark setup on 85x (v2) IS_MOBILE() catches 85x, so we'd always try to use the 9xx FIFO sizing; since there's an explicit 85x version, this seems wrong. v2: Handle 830m correctly too. Signed-off-by: Adam Jackson Reviewed-by: Eric Anholt Signed-off-by: Eric Anholt commit b91ecb0027c7171c83d7cf443a22c39b1fde6d83 Author: Tilman Schmidt Date: Fri Apr 16 12:08:58 2010 +0000 gigaset: include cleanup cleanup Commit 5a0e3ad causes slab.h to be included twice in many of the Gigaset driver's source files, first via the common include file gigaset.h and then a second time directly. Drop the spares, and use the opportunity to clean up a few more similar cases. Impact: cleanup, no functional change Signed-off-by: Tilman Schmidt CC: Tejun Heo Acked-by: Tejun Heo Signed-off-by: David S. Miller commit 13bd8e4673d527a9e48f41956b11d391e7c2cfe0 Merge: d6f533c bfac4d6 Author: Linus Torvalds Date: Sat Apr 17 14:28:50 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: Ignore LVDS EDID when it is unavailabe or invalid drm/i915: Add no_lvds entry for the Clientron U800 drm/i915: Rename many remaining uses of "output" to encoder or connector. drm/i915: Rename intel_output to intel_encoder. agp/intel: intel_845_driver is an agp driver! drm/i915: introduce to_intel_bo helper drm/i915: Disable FBC on 915GM and 945GM. commit d6f533c8c7a4d83ed1c075f919a68031b9c67185 Merge: 6583294 bc39669 Author: Linus Torvalds Date: Sat Apr 17 10:58:38 2010 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI: EC: Limit burst to 64 bits commit 65832940eb74dca5ef1c8df086540825a00ad0c8 Merge: 1c1ec9c f1d486a Author: Linus Torvalds Date: Sat Apr 17 10:57:56 2010 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: don't warn on EAGAIN in inode reclaim xfs: ensure that sync updates the log tail correctly commit b8639077abf034824046ed09e779b74c4393031f Author: Joern Engel Date: Sat Apr 17 19:54:27 2010 +0200 [LogFS] Set s_bdi Since 32a88aa1 sync() was turned into a NOP for logfs. Worse, sync() would not return an error, giving the illusion that writeout had actually happened. Afaics jffs2 was broken as well. Signed-off-by: Joern Engel commit 42d284b986105a6ed5ac386818cae093532b2c55 Author: Julia Lawall Date: Mon Mar 29 17:35:24 2010 +0200 drivers/pcmcia: Add missing local_irq_restore Use local_irq_restore in this error-handling case just like in the one just below. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * local_irq_save (E1,...); ... when != E1 * return ...; ...+> } // Signed-off-by: Julia Lawall Signed-off-by: Dominik Brodowski commit 6f4567c8cf64d1887c8e993bbf066465262b392f Author: Timur Maximov Date: Wed Apr 14 19:06:57 2010 +0400 serial_cs: MD55x support (PCMCIA GPRS/EDGE modem) (kernel 2.6.33) Many PCMCIA GPRS modems like: Onda Edge N100E, Novaway PC98 (OEM SPC98Z), Rovermate Edgus Adaptmate-039 and others have same construction and identification: lspcmcia -vvv Product Name: Generic Modem: MD55x 1.00 Serial number: xxxxx-xxx Identification: manf_id: 0x015d card_id: 0x4c45 function: 2 (serial) prod_id(1): "Generic" (0xc49e4731) prod_id(2): "Modem: MD55x" (0x8913b110) prod_id(3): "1.00" (0x83dbf271) prod_id(4): "Serial number: xxxxx-xxx" (0x73ee9514) Serial connection to GSM module based on Elan VPU16551 PCMCIA UART with datasheet recommeded 14.7456MHz crystal oscillator. By default serial_cs set UART clock == 1843200 Hz For correct work need set clock 14745600 Hz. This quirk already present in driver, only need add device in quirk list. Signed-off-by: Timur Maximov Acked-by: Alan Cox Signed-off-by: Dominik Brodowski commit a8408c17d0038b76a83affb1b56dc18fa1e7ed86 Author: Dominik Brodowski Date: Sat Apr 17 17:37:33 2010 +0200 pcmcia: avoid late calls to pccard_validate_cis pccard_validate_cis() nowadays destroys the CIS cache. Therefore, calling it after card setup should be avoided. We can't control the deprecated PCMCIA ioctl (which is only used on ARM nowadays), but we can avoid -- and report -- any other calls. Signed-off-by: Dominik Brodowski commit 1c4f0197323254e463b642abf2c8361e2a924859 Author: Daniel Lezcano Date: Wed Apr 14 23:11:14 2010 +0000 packet : remove init_net restriction The af_packet protocol is used by Perl to do ioctls as reported by Stephane Riviere: "Net::RawIP relies on SIOCGIFADDR et SIOCGIFHWADDR to get the IP and MAC addresses of the network interface." But in a new network namespace these ioctl fail because it is disabled for a namespace different from the init_net_ns. These two lines should not be there as af_inet and af_packet are namespace aware since a long time now. I suppose we forget to remove these lines because we sent the af_packet first, before af_inet was supported. Signed-off-by: Daniel Lezcano Reported-by: Stephane Riviere Signed-off-by: David S. Miller commit 31f634a63de7068c6a5dcb0d7b09b24b61a5cf88 Author: Krzysztof Halasa Date: Wed Apr 14 14:09:52 2010 +0000 WAN: flush tx_queue in hdlc_ppp to prevent panic on rmmod hw_driver. tx_queue is used as a temporary queue when not allowed to queue skb directly to the hw device driver (which may sleep). Most paths flush it before returning, but ppp_start() currently cannot. Make sure we don't leave skbs pointing to a non-existent device. Thanks to Michael Barkowski for reporting this problem. Signed-off-by: Krzysztof Hałasa Signed-off-by: David S. Miller commit f2fa1b015e9c199e45c836c769d94db595150731 Author: Shanyu Zhao Date: Wed Apr 7 18:37:52 2010 -0700 iwlwifi: correct 6000 EEPROM regulatory address For 6000 series, the 2.4G HT40 band regulatory settings address in EEPROM was off by 2. Before the fix, you'll see this in dmesg: [79535.788877] ieee80211 phy8: U iwl_mod_ht40_chan_info HT40 Ch. 7 [2.4GHz] WIDE (0x61 0dBm): Ad-Hoc not supported [79535.788880] ieee80211 phy8: U iwl_mod_ht40_chan_info HT40 Ch. 11 [2.4GHz] WIDE (0x61 0dBm): Ad-Hoc not supported And after the fix: [91132.688706] ieee80211 phy14: U iwl_mod_ht40_chan_info HT40 Ch. 7 [2.4GHz] IBSS ACTIVE WIDE (0x6f 0dBm): Ad-Hoc supported [91132.688709] ieee80211 phy14: U iwl_mod_ht40_chan_info HT40 Ch. 11 [2.4GHz] IBSS ACTIVE WIDE (0x6f 0dBm): Ad-Hoc supported Signed-off-by: Shanyu Zhao Signed-off-by: Reinette Chatre commit 88be026490ed89c2ffead81a52531fbac5507e01 Author: Johannes Berg Date: Wed Apr 7 00:21:36 2010 -0700 iwlwifi: fix scan races When an internal scan is started, nothing protects the is_internal_short_scan variable which can cause crashes, cf. https://bugzilla.kernel.org/show_bug.cgi?id=15667. Fix this by making the short scan request use the mutex for locking, which requires making the request go to a work struct so that it can sleep. Reported-by: Peter Zijlstra Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit bc3966921ff9528ae44a4a108085ab06107c1e7d Merge: dc57da3 2060c44 Author: Len Brown Date: Fri Apr 16 16:08:07 2010 -0400 Merge branch 'bugzilla-15749' into release commit 2060c44576c79086ff24718878d7edaa7384a985 Author: Alexey Starikovskiy Date: Fri Apr 16 15:36:40 2010 -0400 ACPI: EC: Limit burst to 64 bits access_bit_width field is u8 in ACPICA, thus 256 value written to it becomes 0, causing divide by zero later. Proper fix would be to remove access_bit_width at all, just because we already have access_byte_width, which is access_bit_width / 8. Limit access width to 64 bit for now. https://bugzilla.kernel.org/show_bug.cgi?id=15749 fixes regression caused by the fix for: https://bugzilla.kernel.org/show_bug.cgi?id=14667 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit f1d486a3617a2f620b31224e4ace1496c4627e39 Author: Dave Chinner Date: Tue Apr 13 15:06:45 2010 +1000 xfs: don't warn on EAGAIN in inode reclaim Any inode reclaim flush that returns EAGAIN will result in the inode reclaim being attempted again later. There is no need to issue a warning into the logs about this situation. Signed-off-by: Dave Chinner Reviewed-by: Alex Elder Signed-off-by: Alex Elder commit b6f8dd49dbdbfa60a33bba3d4b766fe341109b4b Author: Dave Chinner Date: Tue Apr 13 15:06:44 2010 +1000 xfs: ensure that sync updates the log tail correctly Updates to the VFS layer removed an extra ->sync_fs call into the filesystem during the sync process (from the quota code). Unfortunately the sync code was unknowingly relying on this call to make sure metadata buffers were flushed via a xfs_buftarg_flush() call to move the tail of the log forward in memory before the final transactions of the sync process were issued. As a result, the old code would write a very recent log tail value to the log by the end of the sync process, and so a subsequent crash would leave nothing for log recovery to do. Hence in qa test 182, log recovery only replayed a small handle for inode fsync transactions in this case. However, with the removal of the extra ->sync_fs call, the log tail was now not moved forward with the inode fsync transactions near the end of the sync procese the first (and only) buftarg flush occurred after these transactions went to disk. The result is that log recovery now sees a large number of transactions for metadata that is already on disk. This usually isn't a problem, but when the transactions include inode chunk allocation, the inode create transactions and all subsequent changes are replayed as we cannt rely on what is on disk is valid. As a result, if the inode was written and contains unlogged changes, the unlogged changes are lost, thereby violating sync semantics. The fix is to always issue a transaction after the buftarg flush occurs is the log iѕ not idle or covered. This results in a dummy transaction being written that contains the up-to-date log tail value, which will be very recent. Indeed, it will be at least as recent as the old code would have left on disk, so log recovery will behave exactly as it used to in this situation. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 1c1ec9c03efce5853f75e244ff368339767f7b9e Merge: 1f82982 aebaec9 Author: Linus Torvalds Date: Fri Apr 16 07:26:31 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] max63xx driver depends on ioremap() [WATCHDOG] max63xx: be careful when disabling the watchdog [WATCHDOG] fixed book E watchdog period register mask. [WATCHDOG] omap4: Fix WDT Kconfig commit 1f829825f21755c48de075cd7722fcd19438f587 Merge: dc57da3 923125c Author: Linus Torvalds Date: Fri Apr 16 07:25:48 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ASoC: imx-ssi: do not call hrtimer_disable in trigger function ALSA: hda - Add position_fix quirk for Biostar mobo ALSA: hda - add a quirk for Clevo M570U laptop ASoC: imx-ssi: increase minimum periods to 4 ALSA: hda - Avoid invalid "Independent HP" control for VIA codecs ALSA: hda - Fix control element allocations in VIA codec parser ALSA: aaci - Fix alignment faults on ARM Cortex introduced by commit 29a4f2d3 ALSA: hda - Add fix-up for Sony VAIO with ALC269 ALSA: hda - Enhance fix-up table for Realtek codecs ALSA: usb - Fix Oops after usb-midi disconnection ALSA: hda - Fix initial capture source connections of ALC880/260 ALSA: hda - Fix setup for ALC269vb amic and dmic models ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21 ASoC: imx-ssi: Use a hrtimer in FIQ mode ASoC: imx-pcm-dma-mx2: restart DMA after an error ASoC: imx-ssi: honor IMX_SSI_DMA flag ASoC: wm2000: remove unused #include ALSA: hda: Add support for Medion WIM2160 commit c7f2e1f0ac142a657a1de00d404e1c8345b20598 Author: Dmitry Monakhov Date: Fri Apr 16 08:05:50 2010 -0500 jfs: add jfs specific ->setattr call generic setattr not longer responsible for quota transfer. use jfs_setattr for all jfs's inodes. Signed-off-by: Dmitry Monakhov Signed-off-by: Dave Kleikamp commit 2b0b39517d1af5294128dbc2fd7ed39c8effa540 Author: Bill Pemberton Date: Fri Apr 16 08:01:20 2010 -0500 jfs: fix diAllocExt error in resizing filesystem Resizing the filesystem would result in an diAllocExt error in some instances because changes in bmp->db_agsize would not get noticed if goto extendBmap was called. Signed-off-by: Bill Pemberton Signed-off-by: Dave Kleikamp Cc: jfs-discussion@lists.sourceforge.net Cc: linux-kernel@vger.kernel.org commit aebaec975f30c4db40bb418fe9117bb6b4655b1b Author: Geert Uytterhoeven Date: Wed Apr 7 19:57:02 2010 +0200 [WATCHDOG] max63xx driver depends on ioremap() Correct fix for the "ioremap() causes build failure on S390" should have been a dependancy on HAS_IOMEM. So we add this dependancy also (and leave the driver in the ARM section for now). Signed-off-by: Geert Uytterhoeven Signed-off-by: Wim Van Sebroeck commit b1183e064a3f95d27351b2d2c811b50bf4d770a4 Author: Marc Zyngier Date: Fri Apr 9 17:43:33 2010 +0100 [WATCHDOG] max63xx: be careful when disabling the watchdog When shutting down the watchdog timer, special care must be taken not to overwrite other bits in the register, as it may be shared with other peripherals. For example, on the Arcom Vulcan, the register is shared between the watchdog and the PCI reset line... Signed-off-by: Marc Zyngier Signed-off-by: Wim Van Sebroeck commit 0fb06571bbb5c72b4663c20f721323260ea802bf Author: Luuk Paulussen Date: Thu Apr 15 15:59:10 2010 +1200 [WATCHDOG] fixed book E watchdog period register mask. A previous fix changed the WDTP function to use the period directly, rather than subtracting from 63. However the mask generation was not changed, so the mask was coming out as 0. This patch fixes it. Signed-off-by: Luuk Paulussen Signed-off-by: Wim Van Sebroeck commit 77165a48edeaf4758588563c0592af6559e8b256 Author: Santosh Shilimkar Date: Wed Apr 7 13:17:22 2010 +0530 [WATCHDOG] omap4: Fix WDT Kconfig This patch allows Watchdog timer to be selected for OMAP4 by fixing Kconfig entry Signed-off-by: Santosh Shilimkar Signed-off-by: Wim Van Sebroeck commit 79681842e160c3211eeeb47ea31b061038d1e41e Author: Tao Ma Date: Fri Apr 16 13:59:25 2010 +0800 ocfs2: Reset status if we want to restart file extension. In __ocfs2_extend_allocation, we will restart our file extension if ((!status) && restart_func). But there is a bug that the status is still left as -EGAIN. This is really an old bug, but it is masked by the return value of ocfs2_journal_dirty. So it show up when we make ocfs2_journal_dirty void. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 923125c6503efd3b8779e0df9ec5fcac6acda0b4 Merge: 872d65f 8815cd0 Author: Takashi Iwai Date: Fri Apr 16 10:03:48 2010 +0200 Merge branch 'fix/hda' into for-linus commit 872d65f674a8a420fdfe656cd66d1fa8e60f41a7 Merge: d336905 b68b58f Author: Takashi Iwai Date: Fri Apr 16 10:03:42 2010 +0200 Merge branch 'fix/misc' into for-linus commit d336905e00f208bcb89c719022c11dd3d976597a Merge: 0d0fb0f 8392609 Author: Takashi Iwai Date: Fri Apr 16 10:03:36 2010 +0200 Merge branch 'fix/asoc' into for-linus commit 334656f33c43921cf383dfd0220dfd34376bcd98 Merge: e30b38c 8b9fce7 Author: David S. Miller Date: Thu Apr 15 14:28:46 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit e30b38c298b55e09456d3ccbc1df2f3e2e8dc6e9 Author: Eric Dumazet Date: Thu Apr 15 09:13:03 2010 +0000 ip: Fix ip_dev_loopback_xmit() Eric Paris got following trace with a linux-next kernel [ 14.203970] BUG: using smp_processor_id() in preemptible [00000000] code: avahi-daemon/2093 [ 14.204025] caller is netif_rx+0xfa/0x110 [ 14.204035] Call Trace: [ 14.204064] [] debug_smp_processor_id+0x105/0x110 [ 14.204070] [] netif_rx+0xfa/0x110 [ 14.204090] [] ip_dev_loopback_xmit+0x71/0xa0 [ 14.204095] [] ip_mc_output+0x192/0x2c0 [ 14.204099] [] ip_local_out+0x20/0x30 [ 14.204105] [] ip_push_pending_frames+0x28d/0x3d0 [ 14.204119] [] udp_push_pending_frames+0x14c/0x400 [ 14.204125] [] udp_sendmsg+0x39c/0x790 [ 14.204137] [] inet_sendmsg+0x45/0x80 [ 14.204149] [] sock_sendmsg+0xf1/0x110 [ 14.204189] [] sys_sendmsg+0x20c/0x380 [ 14.204233] [] system_call_fastpath+0x16/0x1b While current linux-2.6 kernel doesnt emit this warning, bug is latent and might cause unexpected failures. ip_dev_loopback_xmit() runs in process context, preemption enabled, so must call netif_rx_ni() instead of netif_rx(), to make sure that we process pending software interrupt. Same change for ip6_dev_loopback_xmit() Reported-by: Eric Paris Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit a2612cb16d4d8447793609cbdd2a2f4f156c0020 Author: Stefan Richter Date: Thu Apr 15 22:16:04 2010 +0200 firewire: cdev: fix cut+paste mistake in disclaimer This was supposed to be generic "authors or copyright holders"; I mistakenly picked up text from a wrong file. Reported-by: Daniel K. Signed-off-by: Stefan Richter commit dc57da3875f527b1cc195ea4ce5bd32e1e68433d Merge: 2fed94c 2b2f862 Author: Linus Torvalds Date: Thu Apr 15 12:20:56 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/gart: Disable GART explicitly before initialization dma-debug: Cleanup for copy-loop in filter_write() x86/amd-iommu: Remove obsolete parameter documentation x86/amd-iommu: use for_each_pci_dev Revert "x86: disable IOMMUs on kernel crash" x86/amd-iommu: warn when issuing command to uninitialized cmd buffer x86/amd-iommu: enable iommu before attaching devices x86/amd-iommu: Use helper function to destroy domain x86/amd-iommu: Report errors in acpi parsing functions upstream x86/amd-iommu: Pt mode fix for domain_destroy x86/amd-iommu: Protect IOMMU-API map/unmap path x86/amd-iommu: Remove double NULL check in check_device commit 2fed94c032316d89422d4abfca2a882897489b94 Merge: 00eef7b 19b3eec Author: Linus Torvalds Date: Thu Apr 15 11:56:20 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: cdev: change license of exported header files to MIT license firewire: cdev: comment fixlet firewire: cdev: iso packet documentation firewire: cdev: fix information leak firewire: cdev: require quadlet-aligned headers for transmit packets firewire: cdev: disallow receive packets without header commit 00eef7bd01c7598d195699983c5290d901df19ad Merge: 250541f 014f615 Author: Linus Torvalds Date: Thu Apr 15 11:49:55 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: wacom - switch mode upon system resume Revert "Input: wacom - merge out and in prox events" Input: matrix_keypad - allow platform to disable key autorepeat Input: ALPS - add signature for HP Pavilion dm3 laptops Input: i8042 - spelling fix Input: sparse-keymap - implement safer freeing of the keymap Input: update the status of the Multitouch X driver project Input: clarify the no-finger event in multitouch protocol Input: bcm5974 - retract efi-broken suspend_resume Input: sparse-keymap - free the right keymap on error commit 014f61504af276ba9d9544d8a7401d8f8526eb73 Author: Ping Cheng Date: Tue Apr 13 23:07:52 2010 -0700 Input: wacom - switch mode upon system resume When Wacom devices wake up from a sleep, the switch mode command (wacom_query_tablet_data) is needed before wacom_open is called. wacom_query_tablet_data should not be executed inside wacom_open since wacom_open is called more than once during probe. wacom_retrieve_hid_descriptor is removed from wacom_resume due to the fact that the required descriptors are stored properly upon system resume. Reported-and-tested-by: Anton Anikin Signed-off-by: Ping Cheng Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov commit 41b97ab5050088cd23692d578e7294c7be26109a Author: Dominik Brodowski Date: Thu Apr 15 19:01:53 2010 +0200 pcmcia: fix ioport size calculation in rsrc_nonstatic Size needs to be calculated after manipulating with the start value. Reported-by: Komuro Signed-off-by: Dominik Brodowski commit 8392609969b3b37a4da5cff08161661f7a8c16af Author: Sascha Hauer Date: Wed Apr 14 09:17:30 2010 +0200 ASoC: imx-ssi: do not call hrtimer_disable in trigger function Doing so causes a deadlock, so just signal the timer to stop using an atomic variable. Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 19b3eecc21b65a24b0aae2684ca0c8e1b99ef802 Author: Stefan Richter Date: Sun Apr 11 11:52:12 2010 +0200 firewire: cdev: change license of exported header files to MIT license Among else, this allows projects like libdc1394 to carry copies of the ABI related header files without them or distributors having to worry about effects on the project's overall license terms. Switch to MIT license as suggested by Kristian. Also update the year in the copyright statement according to source history. Cc: Jay Fenlason Acked-by: Clemens Ladisch Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 8728c544a9cbdcb0034aa5c45706c5f953f030ee Author: Eric Dumazet Date: Sun Apr 11 21:18:17 2010 +0000 net: dev_pick_tx() fix When dev_pick_tx() caches tx queue_index on a socket, we must check socket dst_entry matches skb one, or risk a crash later, as reported by Denys Fedorysychenko, if old packets are in flight during a route change, involving devices with different number of queues. Bug introduced by commit a4ee3ce3 (net: Use sk_tx_queue_mapping for connected sockets) Reported-by: Denys Fedorysychenko Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8815cd030fdd73932a791d1f06194c8db807cde7 Author: Takashi Iwai Date: Thu Apr 15 09:02:41 2010 +0200 ALSA: hda - Add position_fix quirk for Biostar mobo The Biostar mobo seems to give a wrong DMA position, resulting in stuttering or skipping sounds on 2.6.34. Since the commit 7b3a177b0d4f92b3431b8dca777313a07533a710, "ALSA: pcm_lib: fix "something must be really wrong" condition", makes the position check more strictly, the DMA position problem is revealed more clearly now. The fix is to use only LPIB for obtaining the position, i.e. passing position_fix=1. This patch adds a static quirk to achieve it as default. Reported-by: Frank Griffin Cc: Eric Piel Signed-off-by: Takashi Iwai commit d1501ea844eefdf925f6b711875b4b2b928fddf8 Author: Joerg Schirottke Date: Thu Apr 15 08:37:41 2010 +0200 ALSA: hda - add a quirk for Clevo M570U laptop Added the matching model for Clevo laptop M570U. Signed-off-by: Joerg Schirottke Tested-by: Maximilian Gerhard Cc: Signed-off-by: Takashi Iwai commit 1f1b0008e8dd1930d6e89522c70f4a438374302a Author: Joern Engel Date: Thu Apr 15 08:03:57 2010 +0200 [LogFS] Prevent mempool_destroy NULL pointer dereference It would probably be better to just accept NULL pointers in mempool_destroy(). But for the current -rc series let's keep things simple. This patch was lost in the cracks for a while. Kevin Cernekee had to rediscover the problem and send a similar patch because of it. :( Signed-off-by: Joern Engel commit 250541fca717a5c9b0d3710e737b2ca32ebb6fbc Merge: 96e35b4 6c9ff10 Author: Linus Torvalds Date: Wed Apr 14 18:46:03 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: SELinux: Reduce max avtab size to avoid page allocation failures commit 96e35b40c0d6206f56370f937f6f4722739eb273 Merge: f5c07a2 a6a5349 Author: Linus Torvalds Date: Wed Apr 14 18:45:31 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: ceph: use separate class for ceph sockets' sk_lock ceph: reserve one more caps space when doing readdir ceph: queue_cap_snap should always queue dirty context ceph: fix dentry reference leak in dcache readdir ceph: decode v5 of osdmap (pool names) [protocol change] ceph: fix ack counter reset on connection reset ceph: fix leaked inode ref due to snap metadata writeback race ceph: fix snap context reference leaks ceph: allow writeback of snapped pages older than 'oldest' snapc ceph: fix dentry rehashing on virtual .snap dir commit f5c07a2d8acfc98e00d3be6298f979e5b3175953 Merge: 7223b91 d618540 Author: Linus Torvalds Date: Wed Apr 14 18:45:14 2010 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (applesmc) Switch maintainers hwmon: (applesmc) Add iMac9,1 and MacBookPro2,2 support hwmon: (it87) Invalidate cache on temperature sensor change hwmon: (it87) Properly handle wrong sensor type requests hwmon: (it87) Don't arbitrarily enable temperature channels hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n hwmon: (sht15) Fix sht15_calc_temp interpolation function commit 7223b915421716b4e57ffb7e13f41f1b926db55c Merge: d471a4b 091ebf0 Author: Linus Torvalds Date: Wed Apr 14 18:44:29 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: lguest: stop using KVM hypercall mechanism lguest: workaround cmpxchg8b_emu by ignoring cli in the guest. commit d471a4b9f2ac327c15300ba2b2bda2c6d6fd03bc Merge: 4e310fd b560177 Author: Linus Torvalds Date: Wed Apr 14 18:44:00 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: Fix asm constraints for atomic_sub_and_test() and atomic_add_negative() m68k: Fix `struct sigcontext' for ColdFire commit 565a79f74af96ae90dfec411da14dc38d2cd56bc Author: Sascha Hauer Date: Wed Apr 14 09:17:31 2010 +0200 ASoC: imx-ssi: increase minimum periods to 4 Currently the notification of elapsed periods is not very exact. Increase minimum periods to 4 as suggested by Liam Girdwood. Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 6c9ff1013b7a21099da838eeef7c3f23ee347957 Author: Stephen Smalley Date: Mon Mar 15 10:42:11 2010 -0400 SELinux: Reduce max avtab size to avoid page allocation failures Reduce MAX_AVTAB_HASH_BITS so that the avtab allocation is an order 2 allocation rather than an order 4 allocation on x86_64. This addresses reports of page allocation failures: http://marc.info/?l=selinux&m=126757230625867&w=2 https://bugzilla.redhat.com/show_bug.cgi?id=570433 Reported-by: Russell Coker Signed-off-by: Stephen D. Smalley Acked-by: Eric Paris Signed-off-by: James Morris commit 4eaa0e3c869acd5dbc7c2e3818a9ae9cbf221d27 Author: Eric Dumazet Date: Wed Apr 14 16:13:29 2010 -0700 fib: suppress lockdep-RCU false positive in FIB trie. Followup of commit 634a4b20 Allow tnode_get_child_rcu() to be called either under rcu_read_lock() protection or with RTNL held. Signed-off-by: Eric Dumazet Signed-off-by: Paul E. McKenney Signed-off-by: David S. Miller commit b560177f3e1c6b2d75b220d41ae72636243475c4 Author: Geert Uytterhoeven Date: Sun Mar 21 10:52:21 2010 +0100 m68k: Fix asm constraints for atomic_sub_and_test() and atomic_add_negative() Recently, we started seeing this on allmodconfig builds: CC mm/memcontrol.o {standard input}: Assembler messages: {standard input}:4076: Error: operands mismatch -- statement `subl 12(%fp),170(%a0)' ignored Correct the asm constraint, like done for m68knommu. Signed-off-by: Geert Uytterhoeven commit 1aac4effad4ea52da94eb13b12e0ca1731407ee4 Author: Maxim Kuvyrkov Date: Wed Mar 3 16:53:45 2010 +0300 m68k: Fix `struct sigcontext' for ColdFire LibSegFault uses piggybacks sc_fpstate field of the `struct sigcontext' and this patch avoids LibSegFault overflowing this field. Also this removes an unnecessary divergence from classic m68k. Signed-off-by: Maxim Kuvyrkov Signed-off-by: Geert Uytterhoeven commit 4e310fda91cb095915395f811d10b2c900c9589e Author: Joe Perches Date: Wed Apr 14 09:27:40 2010 -0700 vsprintf: Change struct printf_spec.precision from s8 to s16 Commit ef0658f3de484bf9b173639cd47544584e01efa5 changed precision from int to s8. There is existing kernel code that uses a larger precision. An example from the audit code: vsnprintf(...,..., " msg='%.1024s'", (char *)data); which overflows precision and truncates to nothing. Extending precision size fixes the audit system issue. Other changes: Change the size of the struct printf_spec.type from u16 to u8 so sizeof(struct printf_spec) stays as small as possible. Reorder the struct members so sizeof(struct printf_spec) remains 64 bits without alignment holes. Document the struct members a bit more. Original-patch-by: Eric Paris Signed-off-by: Joe Perches Tested-by: Justin P. Mattock Signed-off-by: Linus Torvalds commit d618540fb3e5b74e16aec8201d2d0de6f02633cb Author: Henrik Rydberg Date: Wed Apr 14 16:14:11 2010 +0200 hwmon: (applesmc) Switch maintainers Nicolas has expressed a wish to be relieved from the maintenance of applesmc, so we simply switch maintainer with this patch. Signed-off-by: Henrik Rydberg Acked-by: Nicolas Boichat Signed-off-by: Jean Delvare commit e1741712e85cec8004c7eeeea81186618f78eff1 Author: Justin P. Mattock Date: Wed Apr 14 16:14:10 2010 +0200 hwmon: (applesmc) Add iMac9,1 and MacBookPro2,2 support Add the iMac9,1 and the MacBookPro2,2 temperature sensors to hwmon driver applesmc to fix kernel bug #14429: https://bugzilla.kernel.org/show_bug.cgi?id=14429 Signed-off-by: Justin P. Mattock Acked-by: Nicolas Boichat Signed-off-by: Jean Delvare commit 2b3d1d87eaabf422a42440351ff3be1792d35852 Author: Jean Delvare Date: Wed Apr 14 16:14:10 2010 +0200 hwmon: (it87) Invalidate cache on temperature sensor change When any temperature sensor type is changed, the corresponding temperature value needs to be updated. The register caching mechanism may delay this update, so we want to invalidate the cache to force an immediate update. Signed-off-by: Jean Delvare commit 8acf07c5a7674e53f2d320d540aec5d714b105cf Author: Jean Delvare Date: Wed Apr 14 16:14:09 2010 +0200 hwmon: (it87) Properly handle wrong sensor type requests Currently, if someone tries to set the thermal sensor type to an unsupported value, subsequent accesses to the chip may temporarily show the sensor in question as disabled. Use a temporary variable and only update the cached value on success, to prevent such confusion. Signed-off-by: Jean Delvare commit a00afb97e23fd904b12a3f4de3237d8ab2f68738 Author: Jean Delvare Date: Wed Apr 14 16:14:09 2010 +0200 hwmon: (it87) Don't arbitrarily enable temperature channels Temperature channels can be used in 2 different modes (thermistor and thermal diode) and we don't know which one, if any, is correct for every given board. So don't arbitrarily choose one. Instead, leave the temperature channels untouched. They can be configured from user-space if needed anyway. Signed-off-by: Jean Delvare commit c7a78d2c2e2537fd24903e966f34aae50319d587 Author: Jean Delvare Date: Wed Apr 14 16:14:08 2010 +0200 hwmon: (sht15) Properly handle the case CONFIG_REGULATOR=n When CONFIG_REGULATOR isn't set, regulator_get_voltage() returns 0. Properly handle this case by not trusting the value. Reported-by: Jerome Oufella Signed-off-by: Jean Delvare Cc: Jonathan Cameron Acked-by: Mark Brown Cc: stable@kernel.org commit 328a2c22abd08911e37fa66f1358f829cecd72e9 Author: Jerome Oufella Date: Wed Apr 14 16:14:07 2010 +0200 hwmon: (sht15) Fix sht15_calc_temp interpolation function I discovered two issues. First the previous sht15_calc_temp() loop did not iterate through the temppoints array since the (data->supply_uV > temppoints[i - 1].vdd) test is always true in this direction. Also the two-points linear interpolation function was returning biased values due to a stray division by 1000 which shouldn't be there. [JD: Also change the default value for d1 from 0 to something saner.] Signed-off-by: Jerome Oufella Acked-by: Jonathan Cameron Signed-off-by: Jean Delvare Cc: stable@kernel.org commit 3d83e577a8206f0f3822a3840e12f76477142ba2 Author: Takashi Iwai Date: Wed Apr 14 14:36:23 2010 +0200 ALSA: hda - Avoid invalid "Independent HP" control for VIA codecs Some VIA codecs have no multiple source selection for headphone pins, thus it's useless (and wrong) to create "Independent HP" control on them. This patch adds the check of connections to skip the control in such a case. Signed-off-by: Takashi Iwai commit b331439dfd41dc813b3557ca5927a3a644f35792 Author: Takashi Iwai Date: Wed Apr 14 14:33:57 2010 +0200 ALSA: hda - Fix control element allocations in VIA codec parser The commit 5b0cb1d850c26893b1468b3a519433a1b7a176be ALSA: hda - add more NID->Control mapping breaks the control element allocation by returning a wrong value. Let's fix it. Signed-off-by: Takashi Iwai commit 091ebf07a2408f9a56634caa0f86d9360e9af23b Author: Rusty Russell Date: Wed Apr 14 21:43:54 2010 -0600 lguest: stop using KVM hypercall mechanism This is a partial revert of 4cd8b5e2a159 "lguest: use KVM hypercalls"; we revert to using (just as questionable but more reliable) int $15 for hypercalls. I didn't revert the register mapping, so we still use the same calling convention as kvm. KVM in more recent incarnations stopped injecting a fault when a guest tried to use the VMCALL instruction from ring 1, so lguest under kvm fails to make hypercalls. It was nice to share code with our KVM cousins, but this was overreach. Signed-off-by: Rusty Russell Cc: Matias Zabaljauregui Cc: Avi Kivity commit 5094aeafbbd500509f648e3cd102b053bc7926b3 Author: Rusty Russell Date: Wed Apr 14 21:43:53 2010 -0600 lguest: workaround cmpxchg8b_emu by ignoring cli in the guest. It's only used by cmpxchg8b_emu (see db677ffa5f5a for the gory details), and fixing that to be paravirt aware would be more work than simply ignoring it (and AFAICT only help lguest). This makes lguest work on machines which have cmpxchg8b, for kernels compiled for older processors. (We can't emulate it properly: the popf which expects to restore interrupts does not trap). Signed-off-by: Rusty Russell Cc: Jeremy Fitzhardinge Cc: virtualization@lists.osdl.org commit 0110d6f22f392f976e84ab49da1b42f85b64a3c5 Author: Michael S. Tsirkin Date: Tue Apr 13 04:59:44 2010 +0000 tun: orphan an skb on tx The following situation was observed in the field: tap1 sends packets, tap2 does not consume them, as a result tap1 can not be closed. This happens because tun/tap devices can hang on to skbs undefinitely. As noted by Herbert, possible solutions include a timeout followed by a copy/change of ownership of the skb, or always copying/changing ownership if we're going into a hostile device. This patch implements the second approach. Note: one issue still remaining is that since skbs keep reference to tun socket and tun socket has a reference to tun device, we won't flush backlog, instead simply waiting for all skbs to get transmitted. At least this is not user-triggerable, and this was not reported in practice, my assumption is other devices besides tap complete an skb within finite time after it has been queued. A possible solution for the second issue would not to have socket reference the device, instead, implement dev->destructor for tun, and wait for all skbs to complete there, but this needs some thought, probably too risky for 2.6.34. Signed-off-by: Michael S. Tsirkin Tested-by: Yan Vugenfirer Acked-by: Herbert Xu Signed-off-by: David S. Miller commit b1cdbb5f8342d99b732c5535ee7d2de8e7b2cc2e Author: Ernst Schwab Date: Thu Mar 4 10:15:39 2010 +0100 ARM: 5974/1: arm/mach-at91 Makefile: remove two blanks. Cosmetic change to mach-at91 Makefile: remove two blanks introduced by earlier patches. Signed-off-by: Ernst Schwab Signed-off-by: Russell King commit 50aec0024eccb1d5f540ab64a1958eebcdb9340c Author: Paul E. McKenney Date: Fri Apr 9 15:39:12 2010 -0700 rcu: Update docs for rcu_access_pointer and rcu_dereference_protected Update examples and lists of APIs to include these new primitives. 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 Cc: eric.dumazet@gmail.com LKML-Reference: <1270852752-25278-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit c08c68dd76bd6b776bc0eb45a5e8f354ed772cdf Author: David Howells Date: Fri Apr 9 15:39:11 2010 -0700 rcu: Better explain the condition parameter of rcu_dereference_check() Better explain the condition parameter of rcu_dereference_check() that describes the conditions under which the dereference is permitted to take place (and incorporate Yong Zhang's suggestion). This condition is only checked under lockdep proving. Signed-off-by: David Howells 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: eric.dumazet@gmail.com LKML-Reference: <1270852752-25278-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit b62730baea32f86fe91a7930e4b7ee8d82778b79 Author: Paul E. McKenney Date: Fri Apr 9 15:39:10 2010 -0700 rcu: Add rcu_access_pointer and rcu_dereference_protected This patch adds variants of rcu_dereference() that handle situations where the RCU-protected data structure cannot change, perhaps due to our holding the update-side lock, or where the RCU-protected pointer is only to be fetched, not dereferenced. These are needed due to some performance concerns with using rcu_dereference() where it is not required, aside from the need for lockdep/sparse checking. The new rcu_access_pointer() primitive is for the case where the pointer is be fetch and not dereferenced. This primitive may be used without protection, RCU or otherwise, due to the fact that it uses ACCESS_ONCE(). The new rcu_dereference_protected() primitive is for the case where updates are prevented, for example, due to holding the update-side lock. This primitive does neither ACCESS_ONCE() nor smp_read_barrier_depends(), so can only be used when updates are somehow prevented. Suggested-by: David Howells 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 Cc: eric.dumazet@gmail.com LKML-Reference: <1270852752-25278-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 3f2d4f561fab4588344cc519fd323382ab950928 Author: Mika Westerberg Date: Tue Apr 13 07:01:46 2010 +0100 ARM: 6052/1: kdump: make kexec work in interrupt context When crash happens in interrupt context there is no userspace context. We always use current->active_mm in those cases. Signed-off-by: Mika Westerberg Signed-off-by: Russell King commit 82c6f5a5b3e91ef4d2fb8725de4b8cf7affd4d61 Author: Imre Deak Date: Sun Apr 11 15:58:27 2010 +0100 ARM: 6051/1: VFP: preserve the HW context when calling signal handlers From: Imre Deak Signal handlers can use floating point, so prevent them to corrupt the main thread's VFP context. So far there were two signal stack frame formats defined based on the VFP implementation, but the user struct used for ptrace covers all posibilities, so use it for the signal stack too. Introduce also a new user struct for VFP exception registers. In this too fields not relevant to the current VFP architecture are ignored. Support to save / restore the exception registers was added by Will Deacon. Signed-off-by: Imre Deak Signed-off-by: Will Deacon Signed-off-by: Russell King commit 5c5cac63851f347d8308d69f1892c4af51d7c1a4 Author: Imre Deak Date: Sun Apr 11 15:57:07 2010 +0100 ARM: 6050/1: VFP: fix the SMP versions of vfp_{sync,flush}_hwstate From: Imre Deak Recently the UP versions of these functions were refactored and as a side effect it became possible to call them for the current thread. This isn't true for the SMP versions however, so fix this up. Signed-off-by: Imre Deak Signed-off-by: Russell King commit 7e5a69e83ba7a0d5917ad830f417cba8b8d6aa72 Author: Nicolas Pitre Date: Mon Mar 29 21:46:02 2010 +0100 ARM: 6007/1: fix highmem with VIPT cache and DMA The VIVT cache of a highmem page is always flushed before the page is unmapped. This cache flush is explicit through flush_cache_kmaps() in flush_all_zero_pkmaps(), or through __cpuc_flush_dcache_area() in kunmap_atomic(). There is also an implicit flush of those highmem pages that were part of a process that just terminated making those pages free as the whole VIVT cache has to be flushed on every task switch. Hence unmapped highmem pages need no cache maintenance in that case. However unmapped pages may still be cached with a VIPT cache because the cache is tagged with physical addresses. There is no need for a whole cache flush during task switching for that reason, and despite the explicit cache flushes in flush_all_zero_pkmaps() and kunmap_atomic(), some highmem pages that were mapped in user space end up still cached even when they become unmapped. So, we do have to perform cache maintenance on those unmapped highmem pages in the context of DMA when using a VIPT cache. Unfortunately, it is not possible to perform that cache maintenance using physical addresses as all the L1 cache maintenance coprocessor functions accept virtual addresses only. Therefore we have no choice but to set up a temporary virtual mapping for that purpose. And of course the explicit cache flushing when unmapping a highmem page on a system with a VIPT cache now can go, which should increase performance. While at it, because the code in __flush_dcache_page() has to be modified anyway, let's also make sure the mapped highmem pages are pinned with kmap_high_get() for the duration of the cache maintenance operation. Because kunmap() does unmap highmem pages lazily, it was reported by Gary King that those pages ended up being unmapped during cache maintenance on SMP causing segmentation faults. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 317aa408d69a5b833a116317c18c7e957989ce44 Author: Anders Larsen Date: Thu Mar 4 11:22:53 2010 +0100 ARM: 5975/1: AT91 slow-clock suspend: don't wait when turning PLLs off From: Julien Langer AT91: when turning off the PLLs during suspend, don't wait for the lock flag to be set. Previously the code would always run into the loop limitation of 1000 iterations because the flag is never set when turning the PLLs off. Comments from Anders Larsen: (in http://marc.info/?l=linux-kernel&m=127058929724193&w=2) Signed-off-by: Julien Langer Signed-off-by: Anders Larsen Acked-by: Andrew Victor Signed-off-by: Russell King commit ec687886de00e1e63f3d821ccade9a61590408ed Author: David S. Miller Date: Wed Apr 14 02:04:29 2010 -0700 sparc64: Run NMIs on the hardirq stack. Otherwise we can overflow the main stack with the function tracer enabled. Signed-off-by: David S. Miller commit 17807f913bdbb2c5b4d0f6b168b4f68d5cece7e3 Author: Dinh Nguyen Date: Tue Apr 13 14:05:08 2010 -0500 mx5: Fix build error for mx51_defconfig Need to include for do_div calls. Signed-off-by: Dinh Nguyen Signed-off-by: Sascha Hauer commit afb567e3fdd2ee43b243cb4f6fe772ab921b2ada Author: Dmitry Torokhov Date: Tue Apr 13 23:08:58 2010 -0700 Revert "Input: wacom - merge out and in prox events" This reverts commit 776943fd6f104a6e8457dc95a17282e69e963666 as it causes issues with ISDv4 E3 touchscreens: https://bugzilla.kernel.org/show_bug.cgi?id=15670 Signed-off-by: Dmitry Torokhov commit 035df35d968323f6f463c8789553e8589efcbcd4 Author: David S. Miller Date: Tue Apr 13 18:59:02 2010 -0700 sparc64: Allocate sufficient stack space in ftrace stubs. 128 bytes is sufficient for the register window save area, but the calling conventions allow the callee to save up to 6 incoming argument registers into the stack frame after the register window save area. This means a minimal stack frame is 176 bytes (128 + (6 * 8)). This fixes random crashes when using the function tracer. Reported-by: Frederic Weisbecker Signed-off-by: David S. Miller commit 5c659322a904a7cc0265e7b183372b9bdebec6db Author: Ayaz Abdulla Date: Tue Apr 13 18:49:51 2010 -0700 forcedeth: fix tx limit2 flag check This is a fix for bug 572201 @ bugs.debian.org This patch fixes the TX_LIMIT feature flag. The previous logic check for TX_LIMIT2 also took into account a device that only had TX_LIMIT set. Reported-by: Stephen Mulcahu Reported-by: Ben Huchings Signed-off-by: Ayaz Abdulla Signed-off-by: David S. Miller commit 2ba3abd8186f24c7fb418927025b4e2120e3a362 Merge: 0fdfe5a d88d405 Author: Linus Torvalds Date: Tue Apr 13 17:49:48 2010 -0700 Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM / Hibernate: user.c, fix SNAPSHOT_SET_SWAP_AREA handling commit 0fdfe5ad2802e747460bf48eb2eb0ca3d3f3af42 Merge: 44d2d37 0df5dd4 Author: Linus Torvalds Date: Tue Apr 13 15:10:16 2010 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFSv4: fix delegated locking NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible NFS: Fix a race with the new commit code NFS: Ensure that writeback_single_inode() calls write_inode() when syncing NFS: Fix the mode calculation in nfs_find_open_context NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR commit 2e2dc1d755cc5609d0c46d47f7d171318b3bffcd Author: Frederic Weisbecker Date: Tue Apr 13 14:28:24 2010 -0700 sparc: Fix forgotten kmemleak headers inclusion Fix forgotten kmemleak headers inclusion for kmemleak_not_leak() declaration. This fixes the following build error: arch/sparc/kernel/irq_64.c: In function ‘sun4v_build_virq’: arch/sparc/kernel/irq_64.c:657: error: implicit declaration of function ‘kmemleak_not_leak’ Signed-off-by: Frederic Weisbecker Signed-off-by: David S. Miller commit a6a5349d17f2a5c37079826f1a1474c3d08c6b53 Author: Sage Weil Date: Tue Apr 13 14:07:07 2010 -0700 ceph: use separate class for ceph sockets' sk_lock Use a separate class for ceph sockets to prevent lockdep confusion. Because ceph sockets only get passed kernel pointers, there is no dependency from sk_lock -> mmap_sem. If we share the same class as other sockets, lockdep detects a circular dependency from mmap_sem (page fault) -> fs mutex -> sk_lock -> mmap_sem because dependencies are noted from both ceph and user contexts. Using a separate class prevents the sk_lock(ceph) -> mmap_sem dependency and makes lockdep happy. Signed-off-by: Sage Weil commit e1e4dd0caa63e166afa46a1ccc947bebb4f66bcf Author: Yehuda Sadeh Date: Tue Apr 13 11:45:56 2010 -0700 ceph: reserve one more caps space when doing readdir We were missing space for the directory cap. The result was a BUG at fs/ceph/caps.c:2178. Signed-off-by: Yehuda Sadeh Signed-off-by: Sage Weil commit fc837c8f0446b73a1661339db406c0238dd1d184 Author: Sage Weil Date: Tue Apr 13 11:41:22 2010 -0700 ceph: queue_cap_snap should always queue dirty context This simplifies the calling convention, and fixes a bug where we queue a capsnap with a context other than i_head_snapc (the one that matches the dirty pages). The result was a BUG at fs/ceph/caps.c:2178 on writeback completion when a capsnap matching the writeback snapc could not be found. Signed-off-by: Sage Weil commit 44d2d371d250b44cbe40f8d47e329c97668d7594 Merge: 465de2b c011f80 Author: Linus Torvalds Date: Tue Apr 13 11:34:05 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Add some more commentary to __raw_local_irq_save() sparc64: Fix memory leak in pci_register_iommu_region(). sparc64: Add kmemleak annotation to sun4v_build_virq() sparc64: Support kmemleak. sparc64: Add function graph tracer support. sparc64: Give a stack frame to the ftrace call sites. sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86. sparc64: Remove profiling from some low-level bits. sparc64: Kill unnecessary static on local var in ftrace_call_replace(). sparc64: Kill CONFIG_STACK_DEBUG code. sparc64: Add HAVE_FUNCTION_TRACE_MCOUNT_TEST and tidy up. sparc64: Adjust __raw_local_irq_save() to cooperate in NMIs. sparc64: Use kstack_valid() in die_if_kernel(). commit 465de2ba71f5048341e0109f3f6c4d7dc65d9754 Merge: 0d0fb0f a6d3702 Author: Linus Torvalds Date: Tue Apr 13 11:32:48 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (25 commits) smc91c92_cs: define multicast_table as unsigned char can: avoids a false warning e1000e: stop cleaning when we reach tx_ring->next_to_use igb: restrict WoL for 82576 ET2 Quad Port Server Adapter virtio_net: missing sg_init_table Revert "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb" iwlwifi: need check for valid qos packet before free tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb udp: fix for unicast RX path optimization myri10ge: fix rx_pause in myri10ge_set_pauseparam net: corrected documentation for hardware time stamping stmmac: use resource_size() x.25 attempts to negotiate invalid throughput x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet. bridge: Fix IGMP3 report parsing cnic: Fix crash during bnx2x MTU change. qlcnic: fix set mac addr r6040: fix r6040_multicast_list vhost-net: fix vq_memory_access_ok error checking ath9k: fix double calls to ath_radio_enable ... commit ead88af5f577fd2b399a0fcdfe52605116fac489 Author: Joern Engel Date: Tue Apr 13 17:57:21 2010 +0200 [LogFS] Move assertion The assertion is valid independently of the condition. Signed-off-by: Joern Engel commit d3a03f8031000f8297823b80e36db536fd020884 Author: Joern Engel Date: Tue Apr 13 17:54:27 2010 +0200 [LogFS] Plug 8 byte information leak Within each journal segment, 8 bytes at offset 24 would remain uninitialized. Signed-off-by: Joern Engel commit 032d8f7268444a0f5d4ee02d9513d682d5b8edfc Author: Joern Engel Date: Tue Apr 13 17:46:37 2010 +0200 [LogFS] Prevent memory corruption on large deletes Removing sufficiently large files would create aliases for a large number of segments. This in turn results in a large number of journal entries and an overflow of s_je_array. Cheap fix is to add a BUG_ON, turning memory corruption into something annoying, but less dangerous. Real fix is to count the number of affected segments and prevent the problem completely. Signed-off-by: Joern Engel commit 2170c5a8ae4b952e517e7b0565528914ddc11320 Author: Rafi Rubin Date: Fri Apr 9 17:58:25 2010 -0400 HID: ntrig: Emit TOUCH with DOUBLETAP for single touch I squelched TipSwitch in a recent patch which resulted in the loss of Touch events for single touch firmwares. This patch just puts Touch back in for single touch, and bundles it with DoubleTap (like the multitouch code). The two events are used to convey the same message to different drivers. Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit 2b2f862ee6ef8ae8f913fee6af2112c5ffeedf94 Merge: 0d0fb0f 4b83873 Author: Ingo Molnar Date: Tue Apr 13 13:24:54 2010 +0200 Merge branch 'iommu/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu into x86/urgent commit a6d37024de02e7cb2b2333e438e71355a9c32a0a Author: Ken Kawasaki Date: Sat Apr 10 12:50:14 2010 +0000 smc91c92_cs: define multicast_table as unsigned char smc91c92_cs: * define multicast_table as unsigned char * remove unnecessary "#ifndef final_version" Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit 4ffa87012efd7b664762b579213d4663560ef4a3 Author: Eric Dumazet Date: Fri Apr 9 23:47:31 2010 +0000 can: avoids a false warning At this point optlen == sizeof(sfilter) but some compilers are dumb. Reported-by: Németh Márton Acked-by: Oliver Hartkopp Signed-off-by: David S. Miller commit dac876193cd79ced36d0462749ea47c05844fb49 Author: Terry Loftin Date: Fri Apr 9 10:29:49 2010 +0000 e1000e: stop cleaning when we reach tx_ring->next_to_use Tx ring buffers after tx_ring->next_to_use are volatile and could change, possibly causing a crash. Stop cleaning when we hit tx_ring->next_to_use. Signed-off-by: Terry Loftin Acked-by: Bruce Allan Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit d5aa22520dbb49e726420ca56b3dcfe56724d33e Author: Stefan Assmann Date: Fri Apr 9 09:51:34 2010 +0000 igb: restrict WoL for 82576 ET2 Quad Port Server Adapter Restrict Wake-on-LAN to first port on 82576 ET2 quad port NICs, as it is only supported there. Signed-off-by: Stefan Assmann Acked-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c011f80ba0912486fe51dd2b3f71d9b33a151188 Author: David S. Miller Date: Tue Apr 13 01:50:43 2010 -0700 sparc64: Add some more commentary to __raw_local_irq_save() Suggested by Peter Zijlstra Signed-off-by: David S. Miller commit b68b58fd6a341c2115ff5fb466fe9fc0b581980e Author: Philby John Date: Fri Mar 26 21:37:51 2010 +0530 ALSA: aaci - Fix alignment faults on ARM Cortex introduced by commit 29a4f2d3 The commit 29a4f2d3 used writel() at offset 0x26 which is half-word aligned causing unaligned exceptions on a Cortex-A8. The original patch solved the "aaci-pl041 fpga:04: ac97 read back fail" issue on a soft reset. Reading from any arbitrary aaci register seems to solve this issue. Signed-off-by: Philby John Acked-by: Russell King Signed-off-by: Takashi Iwai commit 9343af084c7e8911897b0883042ee690cee3aaef Merge: e182c77 0d0fb0f Author: David S. Miller Date: Tue Apr 13 00:28:45 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ Conflicts: lib/Kconfig.debug commit e182c77cc291456eed127b1472952ddb59a81a9d Author: David S. Miller Date: Sat Apr 10 20:26:55 2010 -0700 sparc64: Fix memory leak in pci_register_iommu_region(). Found by kmemleak. If request_resource() fails, we leak the struct resource we allocated to represent the IOMMU mapping area. This actually happens on sun4v machines because the IOMEM area is only reported sans the IOMMU region, unlike all previous systems. I'll need to fix that at some point, but for now fix the leak. Signed-off-by: David S. Miller commit 25ad403f67d7673f38a473ec138d240804785ae3 Author: David S. Miller Date: Sat Apr 10 20:24:22 2010 -0700 sparc64: Add kmemleak annotation to sun4v_build_virq() The only reference we store to this memory is in the form of a physical address, so kmemleak can't see it. Add a kmemleak_not_leak() annotation. It's probably useful to be able to look at a dump of these things either via debugfs or similar, and thus we could at some point store them in some kind of table and therefore get rid of this annotation. Signed-off-by: David S. Miller commit 8b8d8e2840a440d62e8dc0ef36ba433b26f70d32 Author: David S. Miller Date: Fri Apr 9 00:14:35 2010 -0700 sparc64: Support kmemleak. Only missing thing was an _sdata marker in vmlinux.lds.S Signed-off-by: David S. Miller commit 9960e9e8944f9b1ca6af5f7d26400ca45b429600 Author: David S. Miller Date: Wed Apr 7 04:41:33 2010 -0700 sparc64: Add function graph tracer support. Signed-off-by: David S. Miller commit a71d1d6bb1b26e566e5c06c37857f4cdc1664780 Author: David S. Miller Date: Tue Apr 6 19:59:46 2010 -0700 sparc64: Give a stack frame to the ftrace call sites. It's the only way we'll be able to implement the function graph tracer properly. A positive is that we no longer have to worry about the linker over-optimizing the tail call, since we don't use a tail call any more. Signed-off-by: David S. Miller commit daecbf58a509bc27c112647e825df763c3e3b0f4 Author: David S. Miller Date: Tue Apr 6 17:38:52 2010 -0700 sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86. This keeps us from having to use kstat_irqs_cpu() from the NMI handler, the former of which is a profiled function. Instead we use a currently empty slot in the cpu_data Signed-off-by: David S. Miller commit f8e8a8e8cba3359df2a16c17d59eedb08adf3b43 Author: David S. Miller Date: Tue Apr 6 17:34:15 2010 -0700 sparc64: Remove profiling from some low-level bits. These include the timer implementation, perf events support, and the performance counter register (pcr) programming layer. Signed-off-by: David S. Miller commit d96478d5a2dcfa3aba1ca4d71b07fef62b27d9c8 Author: David S. Miller Date: Tue Apr 6 17:32:08 2010 -0700 sparc64: Kill unnecessary static on local var in ftrace_call_replace(). Signed-off-by: David S. Miller commit ddacd0bc70fe724eba2b5967dd5b68e10d41486c Author: David S. Miller Date: Mon Apr 12 22:36:03 2010 -0700 sparc64: Kill CONFIG_STACK_DEBUG code. The generic stack tracer does this job just as well. Signed-off-by: David S. Miller commit 63b754957371c23b7515399a977a2e1d361a036c Author: David S. Miller Date: Mon Apr 12 22:35:24 2010 -0700 sparc64: Add HAVE_FUNCTION_TRACE_MCOUNT_TEST and tidy up. Check function_trace_stop at ftrace_caller Toss mcount_call and dummy call of ftrace_stub, unnecessary. Document problems we'll have if the final kernel image link ever turns on relaxation. Properly size 'ftrace_call' so it looks right when inspecting instructions under gdb et al. Signed-off-by: David S. Miller commit 0c25e9e6cbe7b233bb91d14d0e2c258bf8e6ec83 Author: David S. Miller Date: Mon Apr 12 22:21:52 2010 -0700 sparc64: Adjust __raw_local_irq_save() to cooperate in NMIs. If we are in an NMI then doing a plain raw_local_irq_disable() will write PIL_NORMAL_MAX into %pil, which is lower than PIL_NMI, and thus we'll re-enable NMIs and recurse. Doing a simple: %pil = %pil | PIL_NORMAL_MAX does what we want, if we're already at PIL_NMI (15) we leave it at that setting, else we set it to PIL_NORMAL_MAX (14). This should get the function tracer working on sparc64. Signed-off-by: David S. Miller commit cb256aa60409efd803806cfb0528a4b3f8397dba Author: David S. Miller Date: Mon Apr 12 22:16:22 2010 -0700 sparc64: Use kstack_valid() in die_if_kernel(). This gets rid of a local function (is_kernel_stack()) which tries to do the same thing, yet poorly in that it doesn't handle IRQ stacks properly. Signed-off-by: David S. Miller commit 0e413f22e4c1cbfe12907e462a7d739a2e316f2b Author: Shirley Ma Date: Mon Mar 29 15:19:15 2010 +0000 virtio_net: missing sg_init_table Add missing sg_init_table for sg_set_buf in virtio_net which induced in defer skb patch. Reported-by: Thomas Müller Tested-by: Thomas Müller Signed-off-by: Shirley Ma Signed-off-by: David S. Miller commit 0d0fb0f9c5fddef4a10242fe3337f00f528a3099 Author: Linus Torvalds Date: Mon Apr 12 18:41:35 2010 -0700 Linux 2.6.34-rc4 commit 64a8920fab962fb581bbe67856cb4740fc37d743 Merge: 50b88c4 ea90002 Author: Linus Torvalds Date: Mon Apr 12 18:39:58 2010 -0700 Merge branch 'anonvma' * anonvma: anonvma: when setting up page->mapping, we need to pick the _oldest_ anonvma anon_vma: clone the anon_vma chain in the right order vma_adjust: fix the copying of anon_vma chains Simplify and comment on anon_vma re-use for anon_vma_prepare() commit 50b88c46f01939d19d4cdd30ad563d29265b6c59 Merge: d6cf853 85b3cce Author: Linus Torvalds Date: Mon Apr 12 18:37:34 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (21 commits) ARM: Fix ioremap_cached()/ioremap_wc() for SMP platforms ARM: 6043/1: AT91 slow-clock resume: Don't wait for a disabled PLL to lock ARM: 6031/1: fix Thumb-2 decompressor ARM: 6029/1: ep93xx: gpio.c: local functions should be static ARM: 6028/1: ARM: add MAINTAINERS for U300 ARM: 6024/1: bcmring: fix missing down on semaphore in dma.c MXC: mach_armadillo5x0: Add USB Host support. ARM mach-mx3: duplicated include ARM mach-mx3: duplicated include imx31: add watchdog device on litekit board. imx3: Add watchdog platform device support MXC: mach-mx31_3ds: add support for freescale mc13783 power management device. MXC: mach-mx31_3ds: Add SPI1 device support. MXC: mach-mx31_3ds: Add support for on board NAND Flash. MXC: mach-mx31_3ds: Update variable names over recent mach name modification. imx31: fix parent clock for rtc i.MX51: remove NFC AXI static mapping i.MX51: determine silicon revision dynamically i.MX51: map TZIC dynamically i.MX51: Use correct clock for gpt ... commit d6cf853d4d73c268fc8920ac4e812ee26a12847c Merge: 6a945f3 9f680ce Author: Linus Torvalds Date: Mon Apr 12 18:37:04 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: make sure the chunk allocator doesn't create zero length chunks Btrfs: fix data enospc check overflow commit 6a945f38be5f2c198853069a336c887a51d1a238 Merge: 50fc88c 0826167 Author: Linus Torvalds Date: Mon Apr 12 18:36:49 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: quota: Fix possible dq_flags corruption quota: Hide warnings about writes to the filesystem before quota was turned on ext3: symlink must be handled via filesystem specific operation ext2: symlink must be handled via filesystem specific operation commit 50fc88cb03786a79e9982d9d8dfb3fd225de9099 Merge: 4505a49 c15d0fc Author: Linus Torvalds Date: Mon Apr 12 18:36:34 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: add speciffic ->setattr callback udf: potential integer overflow commit 4505a4938917f4872efcc90bc1e5f4f0ce903b47 Merge: fedfb94 f6be75d Author: Linus Torvalds Date: Mon Apr 12 18:36:11 2010 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (36 commits) MIPS: Calculate proper ebase value for 64-bit kernels MIPS: Alchemy: DB1200: Remove custom wait implementation MIPS: Big Sur: Make defconfig more useful. MIPS: Fix __vmalloc() etc. on MIPS for non-GPL modules MIPS: Sibyte: Fix M3 TLB exception handler workaround. MIPS: BCM63xx: Fix build failure in board_bcm963xx.c MIPS: uasm: Add OR instruction. MIPS: Sibyte: Apply M3 workaround only on affected chip types and versions. MIPS: BCM63xx: Initialize gpio_out_low & out_high to current value at boot. MIPS: BCM63xx: Register SSB SPROM fallback in board's first stage callback MIPS: BCM63xx: Fix typo in cpu-feature-overrides file. MIPS: BCM63xx: Add support for second uart. MIPS: BCM63xx: Fix double gpio registration. MIPS: BCM63xx: Add DWVS0 board MIPS: BCM63xx: Add the RTA1025W-16 BCM6348-based board to suppported boards. MIPS: BCM63xx: Fix BCM6338 and BCM6345 gpio count MIPS: libgcc.h: Checkpatch cleanup MIPS: Loongson-2F: Flush the branch target history in BTB and RAS MIPS: Move signal trampolines off of the stack. MIPS: Preliminary VDSO ... commit fedfb947b2235c1085df97cf52f688b808c3a515 Merge: 44fa2b4 bade732 Author: Linus Torvalds Date: Mon Apr 12 18:34:56 2010 -0700 Merge branch 'for-2.6.34' of git://linux-nfs.org/~bfields/linux * 'for-2.6.34' of git://linux-nfs.org/~bfields/linux: svcrdma: RDMA support not yet compatible with RPC6 commit 44fa2b4bee5b07d506a7b002b4e2eb73654db7e0 Merge: 0eddb51 be3bd22 Author: Linus Torvalds Date: Mon Apr 12 18:34:25 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix typo "numer" -> "number" in alloc.c nilfs2: Remove an uninitialization warning in nilfs_btree_propagate_v() nilfs2: fix a wrong type conversion in nilfs_ioctl() commit ea90002b0fa7bdee86ec22eba1d951f30bf043a6 Author: Linus Torvalds Date: Mon Apr 12 12:44:29 2010 -0700 anonvma: when setting up page->mapping, we need to pick the _oldest_ anonvma Otherwise we might be mapping in a page in a new mapping, but that page (through the swapcache) would later be mapped into an old mapping too. The page->mapping must be the case that works for everybody, not just the mapping that happened to page it in first. Here's the scenario: - page gets allocated/mapped by process A. Let's call the anon_vma we associate the page with 'A' to keep it easy to track. - Process A forks, creating process B. The anon_vma in B is 'B', and has a chain that looks like 'B' -> 'A'. Everything is fine. - Swapping happens. The page (with mapping pointing to 'A') gets swapped out (perhaps not to disk - it's enough to assume that it's just not mapped any more, and lives entirely in the swap-cache) - Process B pages it in, which goes like this: do_swap_page -> page = lookup_swap_cache(entry); ... set_pte_at(mm, address, page_table, pte); page_add_anon_rmap(page, vma, address); And think about what happens here! In particular, what happens is that this will now be the "first" mapping of that page, so page_add_anon_rmap() used to do if (first) __page_set_anon_rmap(page, vma, address); and notice what anon_vma it will use? It will use the anon_vma for process B! What happens then? Trivial: process 'A' also pages it in (nothing happens, it's not the first mapping), and then process 'B' execve's or exits or unmaps, making anon_vma B go away. End result: process A has a page that points to anon_vma B, but anon_vma B does not exist any more. This can go on forever. Forget about RCU grace periods, forget about locking, forget anything like that. The bug is simply that page->mapping points to an anon_vma that was correct at one point, but was _not_ the one that was shared by all users of that possible mapping. Changing it to always use the deepest anon_vma in the anonvma chain gets us to the safest model. This can be improved in certain cases: if we know the page is private to just this particular mapping (for example, it's a new page, or it is the only swapcache entry), we could pick the top (most specific) anon_vma. But that's a future optimization. Make it _work_ reliably first. Reviewed-by: Rik van Riel Acked-by: Johannes Weiner Tested-by: Borislav Petkov [ "What do you know, I think you fixed it!" ] Signed-off-by: Linus Torvalds commit 646d87b481dab4ba8301716600dfd276605b0ab0 Author: Linus Torvalds Date: Sun Apr 11 17:15:03 2010 -0700 anon_vma: clone the anon_vma chain in the right order We want to walk the chain in reverse order when cloning it, so that the order of the result chain will be the same as the order in the source chain. When we add entries to the chain, they go at the head of the chain, so we want to add the source head last. Reviewed-by: Rik van Riel Acked-by: Johannes Weiner Tested-by: Borislav Petkov [ "No, it still oopses" ] Signed-off-by: Linus Torvalds commit 287d97ac032136724143cde8d5964b414d562ee3 Author: Linus Torvalds Date: Sat Apr 10 15:22:30 2010 -0700 vma_adjust: fix the copying of anon_vma chains When we move the boundaries between two vma's due to things like mprotect, we need to make sure that the anon_vma of the pages that got moved from one vma to another gets properly copied around. And that was not always the case, in this rather hard-to-follow code sequence. Clarify the code, and fix it so that it copies the anon_vma from the right source. Reviewed-by: Rik van Riel Acked-by: Johannes Weiner Tested-by: Borislav Petkov [ "Yeah, not so much this one either" ] Signed-off-by: Linus Torvalds commit d0e9fe1758f222f13ec893f856552d81a10d266d Author: Linus Torvalds Date: Sat Apr 10 10:36:19 2010 -0700 Simplify and comment on anon_vma re-use for anon_vma_prepare() This changes the anon_vma reuse case to require that we only reuse simple anon_vma's - ie the case when the vma only has a single anon_vma associated with it. This means that a reuse of an anon_vma from an adjacent vma will always guarantee that both vma's are associated not only with the same anon_vma, they will also have the same anon_vma chain (of just a single entry in this case). And since anon_vma re-use was the only case where the same anon_vma might be associated with different chains of anon_vma's, we now have the case that every vma that shares the same anon_vma will always also have the same chain. That makes it much easier to think about merging vma's that share the same anon_vma's: you can always just drop the other anon_vma chain in anon_vma_merge() since you know that they are always identical. This also splits up the function to validate the anon_vma re-use, and adds a lot of commentary about the possible races. Reviewed-by: Rik van Riel Acked-by: Johannes Weiner Tested-by: Borislav Petkov [ "That didn't fix it" ] Signed-off-by: Linus Torvalds commit f5b066287c74b624583b993395a65d03a6487b3a Author: Sage Weil Date: Mon Apr 12 14:24:28 2010 -0700 ceph: fix dentry reference leak in dcache readdir When filldir returned an error (e.g. buffer full for a large directory), we would leak a dentry reference, causing an oops on umount. Signed-off-by: Sage Weil commit 08261673cb6dc638c39f44d69b76fffb57b92a8b Author: Andrew Perepechko Date: Mon Apr 12 22:16:50 2010 +0400 quota: Fix possible dq_flags corruption dq_flags are modified non-atomically in do_set_dqblk via __set_bit calls and atomically for example in mark_dquot_dirty or clear_dquot_dirty. Hence a change done by an atomic operation can be overwritten by a change done by a non-atomic one. Fix the problem by using atomic bitops even in do_set_dqblk. Signed-off-by: Andrew Perepechko Signed-off-by: Jan Kara commit 4c5e6c0e70fd6ca2fa67184fd36a261b3b7b38d0 Author: Jan Kara Date: Tue Apr 6 18:52:47 2010 +0200 quota: Hide warnings about writes to the filesystem before quota was turned on For a root filesystem write to the filesystem before quota is turned on happens regularly and there's no way around it because of writes to syslog, /etc/mtab, and similar. So the warning is rather pointless for ordinary users. It's still useful during development so we just hide the warning behind __DQUOT_PARANOIA config option. Signed-off-by: Jan Kara commit 774f03fb2cf89951b5f5f363b7739a2835d5924e Author: Dmitry Monakhov Date: Fri Mar 26 19:29:55 2010 +0300 ext3: symlink must be handled via filesystem specific operation generic setattr implementation is no longer responsible for quota transfer so synlinks must be handled via ext3_setattr. Signed-off-by: Dmitry Monakhov Signed-off-by: Jan Kara commit fc7683a3c30c22131b1651271d6bf9ea113b77c5 Author: Dmitry Monakhov Date: Fri Mar 26 19:29:54 2010 +0300 ext2: symlink must be handled via filesystem specific operation generic setattr implementation is no longer responsible for quota transfer so synlinks must be handled via ext2_setattr. Signed-off-by: Dmitry Monakhov Signed-off-by: Jan Kara commit fb48aef7c3e53231cddccc1e43721543bc033ae9 Author: Ingo Molnar Date: Wed Apr 7 16:22:45 2010 +0200 eeepc-wmi: Build fix -tip testing found: eeepc-wmi.c:(.text+0x36673c): undefined reference to `sparse_keymap_report_event' drivers/built-in.o: In function `eeepc_wmi_init': eeepc-wmi.c:(.init.text+0x19cd0): undefined reference to `sparse_keymap_setup' eeepc-wmi.c:(.init.text+0x19cf0): undefined reference to `sparse_keymap_free' eeepc-wmi.c:(.init.text+0x19d0b): undefined reference to `sparse_keymap_free' drivers/built-in.o: In function `eeepc_wmi_exit': eeepc-wmi.c:(.exit.text+0x2e87): undefined reference to `sparse_keymap_free' To fix this select INPUT_SPARSEKMAP, like the ASUS driver does. Signed-off-by: Ingo Molnar Signed-off-by: Matthew Garrett commit 668f4a03211ace7aa57dece90bd835b4f9b9dd30 Author: Dan Carpenter Date: Tue Apr 6 13:44:29 2010 +0300 asus: don't modify bluetooth/wlan on boot We were storing -1 as an unsigned int and as a result the effect of passing -1 was the same as using 1. Signed-off-by: Dan Carpenter Signed-off-by: Matthew Garrett Acked-by: Corentin Chary commit a0624a90a2bea97e0d65187b4b53ad400226c3f1 Author: Yong Wang Date: Mon Apr 5 21:09:40 2010 +0800 dell-wmi: Fix memory leak The output of wmi_get_event_data shall be freed before return. Signed-off-by: Matthew Garrett Signed-off-by: Yong Wang commit 3d7b165539d4174b0b8396bd52ee37ba21bd0dfb Author: Yong Wang Date: Sun Apr 11 09:27:54 2010 +0800 eeepc-wmi: add backlight support Add backlight support for WMI based Eee PC laptops. Signed-off-by: Yong Wang Signed-off-by: Matthew Garrett Reviewed-by: Corentin Chary commit 45f2c6937ed6066c9a177c4d37f6bd76daa607c0 Author: Yong Wang Date: Sun Apr 11 09:27:19 2010 +0800 eeepc-wmi: use a platform device as parent device of all sub-devices Add a platform device and use it as the parent device of all sub-devices. Signed-off-by: Yong Wang Signed-off-by: Matthew Garrett Reviewed-by: Corentin Chary commit 8124888940be5d9d73a6e04970d73eaec7c582b7 Author: Yong Wang Date: Sun Apr 11 09:26:33 2010 +0800 eeepc-wmi: add an eeepc_wmi context structure Add an eeepc_wmi context structure to manage all the sub-devices that will be implemented later on. Put input device into it first. Signed-off-by: Yong Wang Signed-off-by: Matthew Garrett Reviewed-by: Corentin Chary commit f6be75d03c8870be91e6e2a195648ece04b6bb16 Author: David Daney Date: Tue Apr 6 13:29:50 2010 -0700 MIPS: Calculate proper ebase value for 64-bit kernels The ebase is relative to CKSEG0 not CAC_BASE. On a 32-bit kernel they are the same thing, for a 64-bit kernel they are not. It happens to kind of work on a 64-bit kernel as they both reference the same physical memory. However since the CPU uses the CKSEG0 base, determining if a J instruction will reach always gives the wrong result unless we use the same number the CPU uses. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1093/ Signed-off-by: Ralf Baechle commit d8000beef2cd10c16dc5f66af715f692f5992652 Author: Manuel Lauss Date: Sat Apr 3 17:07:03 2010 +0200 MIPS: Alchemy: DB1200: Remove custom wait implementation While playing with the out-of-tree MAE driver module, the system would panic after a while in the db1200 custom wait code after wakeup due to a clobbered k0 register being used as target address of a store op. Remove the custom wait implementation and revert back to the Alchemy- recommended implementation already set as default. Signed-off-by: Manuel Lauss To: Linux-MIPS Patchwork: http://patchwork.linux-mips.org/patch/1092/ Signed-off-by: Ralf Baechle commit 2844e49f5ea1ae75d2026ff128b145e3bd44134c Author: Ralf Baechle Date: Sat Apr 3 10:59:52 2010 +0100 MIPS: Big Sur: Make defconfig more useful. Signed-off-by: Ralf Baechle commit 7b3e543ddb39b69b75c9c24bb54180eca152f541 Author: Anton Altaparmakov Date: Thu Mar 25 20:48:12 2010 +0000 MIPS: Fix __vmalloc() etc. on MIPS for non-GPL modules Commit b3594a089f1c17ff919f8f78505c3f20e1f6f8ce (lmo) rsp. 351336929ccf222ae38ff0cb7a8dd5fd5c6236a0 (kernel.org) break non-GPL modules that use __vmalloc() or any of the vmap(), vm_map_ram(), etc functions on MIPS. All those functions are EXPORT_SYMBOL() so are meant to be allowed to be used by non-GPL kernel modules. These calls all take page protection as an argument which is normally a constant like PAGE_KERNEL. This commit causes all protection constants like PAGE_KERNEL to not be constants and instead to contain the GPL-only symbol _page_cachable_default. This means that all calls to __vmalloc(), vmap(), etc, cause non-GPL modules to fail to link with the complaint that they are trying to use the GPL-only symbol _page_cachable_default... Change EXPORT_SYMBOL_GPL(_page_cachable_default) to EXPORT_SYMBOL() for non-GPL modules that call __vmalloc(), vmap(), vm_map_ram() etc. Signed-off-by: Anton Altaparmakov Cc: Chris Dearman Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: http://patchwork.linux-mips.org/patch/1084/ Signed-off-by: Ralf Baechle commit 3d45285dd1ff4d4a1361b95e2d6508579a4402b5 Author: Ralf Baechle Date: Tue Mar 23 17:56:38 2010 +0100 MIPS: Sibyte: Fix M3 TLB exception handler workaround. The M3 workaround needs to cmpare the region and VPN2 fields only. Signed-off-by: Ralf Baechle commit 5e3644a95db11e2e582ae3765ffad6e0cce5376e Author: Florian Fainelli Date: Tue Mar 23 10:30:08 2010 +0100 MIPS: BCM63xx: Fix build failure in board_bcm963xx.c Since 2083e8327aeeaf818b0e4522a9d2539835c60423, the SPROM is now registered in the board_prom_init callback, but it references variables and functions which are declared below. Move the variables and functions above board_prom_init. Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1077/ Signed-off-by: Ralf Baechle commit 5808184f1b2fe06ef8a54a2b7fb1596d58098acf Author: Ralf Baechle Date: Tue Mar 23 15:54:50 2010 +0100 MIPS: uasm: Add OR instruction. This is needed for the fix of the M3 workaround. Signed-off-by: Ralf Baechle commit 8d9df29db273ab9a330828f4f4f6669d293a730a Author: Ralf Baechle Date: Tue Mar 23 00:02:43 2010 +0100 MIPS: Sibyte: Apply M3 workaround only on affected chip types and versions. Previously it was unconditionally used on all Sibyte family SOCs. The M3 bug has to be handled in the TLB exception handler which is extremly performance sensitive, so this modification is expected to deliver around 2-3% performance improvment. This is important as required changes to the M3 workaround will make it more costly. Signed-off-by: Ralf Baechle commit 9538ca636f2fa28ae1514327328e2869f0215981 Author: Maxime Bizon Date: Sat Jan 30 18:34:58 2010 +0100 MIPS: BCM63xx: Initialize gpio_out_low & out_high to current value at boot. To avoid a glitch during GPIO initialisation read GPIO output register values left by the firmware. Signed-off-by: Maxime Bizon To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/903/ Signed-off-by: Ralf Baechle commit e23a90eb736b18c16fd6d59e8c1fa6a16ac3bc0b Author: Florian Fainelli Date: Tue Mar 2 14:38:47 2010 +0100 MIPS: BCM63xx: Register SSB SPROM fallback in board's first stage callback Signed-off-by: Florian Fainelli To: Maxime Bizon Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1017/ Signed-off-by: Ralf Baechle commit 4fe67e44a0e0cb6281cbaaf603111187d87fce57 Author: Maxime Bizon Date: Sat Jan 30 18:34:56 2010 +0100 MIPS: BCM63xx: Fix typo in cpu-feature-overrides file. Fix typo: CONFIG_BCMCPU_IS_63xx does not exist; CONFIG_BCM63XX_CPU_63xx is the valid config option. Signed-off-by: Maxime Bizon To: linux-mips@linux-mips.org Cc: Maxime Bizon Patchwork: http://patchwork.linux-mips.org/patch/901/ Signed-off-by: Ralf Baechle commit 524ef29cff593ab6635cda2a17b331bede58a396 Author: Maxime Bizon Date: Sat Jan 30 18:34:55 2010 +0100 MIPS: BCM63xx: Add support for second uart. The BCm63xx SOC has two uarts. Some boards use the second one for bluetooth. This patch changes platform device registration code to handle this. Changes to the UART driver were already merged in 6a2c7eabfd09ca7986bf96b8958a87ca041a19d8. Signed-off-by: Maxime Bizon To: linux-mips@linux-mips.org Cc: Maxime Bizon Patchwork: http://patchwork.linux-mips.org/patch/900/ Signed-off-by: Ralf Baechle commit 97befcf4f0f42b1644b4b164ddc363685546edcd Author: Maxime Bizon Date: Sat Jan 30 18:34:54 2010 +0100 MIPS: BCM63xx: Fix double gpio registration. bcm63xx_gpio_init is already called from prom_init to allow board to use them early, so we can remove the unneeded arch_initcall. Signed-off-by: Maxime Bizon To: linux-mips@linux-mips.org Cc: Maxime Bizon Patchwork: http://patchwork.linux-mips.org/patch/899/ Signed-off-by: Ralf Baechle commit f29b7cac19ef5aa093fc9403d10735fa72cabf99 Author: Florian Fainelli Date: Mon Mar 1 23:36:27 2010 +0100 MIPS: BCM63xx: Add DWVS0 board The DWVS0 board is a BCM6358-based board with an on-board OHCI controler. Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1015/ Signed-off-by: Ralf Baechle commit 2e6ad9a9585b5520cddda4743bfbfdf7f11c5a50 Author: Florian Fainelli Date: Mon Mar 1 23:36:22 2010 +0100 MIPS: BCM63xx: Add the RTA1025W-16 BCM6348-based board to suppported boards. Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1014/ Signed-off-by: Ralf Baechle commit d1b28758c6b46f6d04ef6017b51f614aecdb4abe Author: Florian Fainelli Date: Mon Mar 1 23:36:32 2010 +0100 MIPS: BCM63xx: Fix BCM6338 and BCM6345 gpio count The number of GPIOs on BCM6338 is 8, while BCM6345 has only 16 GPIOs available. Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1016/ Signed-off-by: Ralf Baechle commit b44c779ae0dedf3a6503c253954e570361b33f2b Author: Andrea Gelmini Date: Sat Feb 27 17:51:23 2010 +0100 MIPS: libgcc.h: Checkpatch cleanup arch/mips/lib/libgcc.h:21: ERROR: open brace '{' following union go on the same line Signed-off-by: Andrea Gelmini To: linux-kernel@vger.kernel.org Cc: Paul Mundt Cc: linux-mips@linux-mips.org Cc: linux-sh@vger.kernel.org Patchwork: http://patchwork.linux-mips.org/patch/1007/ Signed-off-by: Ralf Baechle commit f1df323924e2fde14cbcd51209a8cbfc33e0c232 Author: Wu Zhangjin Date: Sat Mar 13 12:34:15 2010 +0800 MIPS: Loongson-2F: Flush the branch target history in BTB and RAS As per chapter 15 "Errata: Issue of Out-of-order in loongson"[1] to work around the Loongson 2F erratum we need to do: "When switching from user mode to kernel mode, you should flush the branch target history such as BTB and RAS." [1] Chinese version: http://www.loongson.cn/uploadfile/file/200808211 [2] English version of chapter 15: http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: Shinya Kuribayashi Patchwork: http://patchwork.linux-mips.org/patch/1066/ Signed-off-by: Ralf Baechle commit d814c28ceca8f659c0012eaec8e21eee43710716 Author: David Daney Date: Thu Feb 18 16:13:05 2010 -0800 MIPS: Move signal trampolines off of the stack. This is a follow on to the vdso patch. Since all processes now have signal trampolines permanently mapped, we can use those instead of putting the trampoline on the stack and invalidating the corresponding icache across all CPUs. We also get rid of a bunch of ICACHE_REFILLS_WORKAROUND_WAR code. [Ralf: GDB 7.1 which has the necessary modifications to allow backtracing over signal frames will supposedly be released tomorrow. The old signal frame format obsoleted by this patch exists in two variations, for sane processors and for those requiring ICACHE_REFILLS_WORKAROUND_WAR. So there was never a GDB which did support backtracing over signal frames on all MIPS systems. This convinved me this series should be applied and pushed upstream as soon as possible.] Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/974/ Signed-off-by: Ralf Baechle commit c52d0d30aef84aa8893b34e5254716c8ab5c4472 Author: David Daney Date: Thu Feb 18 16:13:04 2010 -0800 MIPS: Preliminary VDSO This is a preliminary patch to add a vdso to all user processes. Still missing are ELF headers and .eh_frame information. But it is enough to allow us to move signal trampolines off of the stack. Note that emulation of branch delay slots in the FPU emulator still requires the stack. We allocate a single page (the vdso) and write all possible signal trampolines into it. The stack is moved down by one page and the vdso is mapped into this space. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/975/ Signed-off-by: Ralf Baechle commit 58b9e2239fa63c7c470acb4a77e9da17e6a6fa4f Author: David Daney Date: Thu Feb 18 16:13:03 2010 -0800 MIPS: Add SYSCALL to uasm. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/976/ Signed-off-by: Ralf Baechle commit 847253b9483f713b3797877034e0940fd45ce375 Author: Andreas Ferber Date: Tue Mar 16 12:35:51 2010 +0100 MIPS: Fix SSB PCIcore IO resource management The SSB PCIcore code reused the IO resource fixup code from the original 2.4.x Broadcom patch for BCM47xx based devices, which was a quick hack for doing PCI IO resource configuration back then (the boot loader doesn't configure PCI devices on this platform). However, this code is no longer necessary since the kernel now can do PCI resource management fine all by itself, so remove the old code. When removing the code, it becomes obvious that the mem_offset setting in the PCIcore driver was wrong, however this was masked by the fixup code before, except in a few cases involving yenta_socket. For BCM47xx, the correct offset is 0, and since this is the only device using PCIcore in host mode, the offset can simply be removed unconditionally. Signed-off-by: Andreas Ferber Signed-off-by: Michael Buesch Cc: Markus Wigge Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1070/ Signed-off-by: Ralf Baechle commit 86f7d75eb7c43a54a7b37a2287787004f4310de6 Author: Florian Fainelli Date: Wed Mar 10 09:51:09 2010 +0100 MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET On AR7, we already redefine PHYS_OFFSET to match the system specifities, it is however not sufficient when unsing dma_{map,unmap}_single, specifically in the ethernet driver, we must also adjust CAC_ADDR and UNCAC_ADDR for DMA to work correctly. This patch fixes the following issue, seen in cpmac_open: ops[#1]: Cpu 0 $ 0 : 00000000 10008400 a0f5b120 00000000 $ 4 : 94c59000 94270f64 00000020 00000010 $ 8 : 00000010 94103ce0 0000000a 94c03400 $12 : ffffffff 94c03408 94c03410 00000001 $16 : a0f5ba20 00000041 94c592c0 94c59200 $20 : 94c59000 000005ee 00002000 9438c8f0 $24 : 00000010 00000000 $28 : 94fac000 94fadd58 94390000 942724a8 Hi : 00000000 Lo : 00000001 epc : 94272518 cpmac_open+0x208/0x3f8 Not tainted ra : 942724a8 cpmac_open+0x198/0x3f8 Status: 10008403 KERNEL EXL IE Cause : 3080000c BadVA : 00000000 PrId : 00018448 (MIPS 4KEc) Modules linked in: Process ifconfig (pid: 278, threadinfo=94fac000, task=94e79590, tls=00000000) Stack : 7f8da120 2ab05cb0 94c59000 943356f0 00000000 943d0000 94c59000 943356f0 94c59030 943d0000 943c27c0 94fade10 00000000 94fade20 94c59000 9428e5a4 00000000 94c59000 00000041 94289768 94c59000 00000041 00001002 00001043 00000000 9428d810 00000000 94fade10 7f8da4e8 9428e6b8 00000000 7f8da4a8 7f8da4e8 00008914 00000000 942f7f2c 00000000 00000008 00408000 00008913 ... Call Trace: [<94272518>] cpmac_open+0x208/0x3f8 [<9428e5a4>] dev_open+0x164/0x264 [<9428d810>] dev_change_flags+0xd0/0x1bc [<942f7f2c>] devinet_ioctl+0x2d8/0x908 [<942771f8>] sock_ioctl+0x29c/0x2fc [<941a0fb4>] vfs_ioctl+0x2c/0x7c [<941a16ec>] do_vfs_ioctl+0x5dc/0x630 [<941a1790>] sys_ioctl+0x50/0x88 [<94101e10>] stack_done+0x20/0x3c Signed-off-by: peter fuerst Signed-off-by: Florian Fainelli To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1050/ Signed-off-by: Ralf Baechle commit 727c0075c80005e2012be113a91e5976abec4f9d Author: Alexander Clouter Date: Sat Mar 13 00:09:15 2010 +0000 MIPS: AR7: Fix phat finger of cpmac fixed_phy_add Seems I trimmed one too many lines in 29ca2d81bd2a62fa86bc9a72ddadcf03d7daf795 (lmo) rsp 7084338eb8eb0cc021ba86c340157bad397f3f0b (kernel.org) which led to no functioning Ethernet on my WAG54Gv2. This patch restores the AWOL line. Signed-off-by: Alexander Clouter To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1065/ Signed-off-by: Ralf Baechle commit 1e3fb3778be3c0a56626eba4a84f7d2fa991aa93 Author: Alexander Clouter Date: Fri Mar 12 19:39:48 2010 +0000 MIPS: AR7: Fix phat finger of reset bit in vlynq_high_data Seems in my whitespace cleanup 0f2536082d01448daeced8d9e82c3ba1751fefa3 (lmo) rsp. 8c2961da46abd85a71d20f2b169bf80618e (kernel.org) caused AR7 to no longer get as far as init. Fixed my phat fingering. Signed-off-by: Alexander Clouter To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1064/ Signed-off-by: Ralf Baechle commit 582b65e4d3f9664f87661359af99def304bc68bb Author: Wu Zhangjin Date: Wed Mar 10 00:53:21 2010 +0800 MIPS: Loongson: Add module info to the loongson2_clock driver This patch fixes a kernel warning when loading the the loongson2_clock driver: "Feb 25 23:42:27 localhost kernel: [ 4.965000] loongson2_clock: module license 'unspecified' taints kernel." Signed-off-by: Wu Zhangjin Reported-by: Liu Shiwei Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1045/ Signed-off-by: Ralf Baechle commit b846c10da5d6a5c159ab4dea92c1080d5add9fb1 Author: Wu Zhangjin Date: Thu Mar 11 11:30:50 2010 +0800 MIPS: Lemote 2F: Ensure atomic execution of _rdmsr and _wrmsr On Lemote 2F CS5536 MSRs are accessed through a index / data register pair. The access sequence must be protected by a spinlock to be atomic. Without this rebooting in fs2f_reboot() may fail. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: David Daney Patchwork: http://patchwork.linux-mips.org/patch/1058/ Signed-off-by: Ralf Baechle commit 52553664033078102f5f430c861ccd0863b1b708 Author: Robert P. J. Day Date: Sat Feb 27 12:02:51 2010 -0500 MIPS: Initialize an atomic_t properly with ATOMIC_INIT(0). Signed-off-by: Robert P. J. Day To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1008/ Signed-off-by: Ralf Baechle commit d5d3102b9adec0a34eb5899324b62a4a3d34183e Author: Ralf Baechle Date: Thu Mar 11 08:48:14 2010 +0100 MIPS: Fix elfcore.c build warning kernel/elfcore.c includes which includes the . In , struct pt_regs is declared inside the parameter list of the elf_dump_regs function which causes a kernel build warning. Fixed by adding a forward declaration of struct pt_regs. Signed-off-by: Ralf Baechle commit 7ea4a6891b68fe60bf4eee41a7ef38d524b0aebd Author: Yang Shi Date: Wed Mar 3 16:43:20 2010 +0800 MIPS: Octeon: Remove redundant declaration of octeon_reserve32_memory octeon_reserve32_memory is defined In Octeon's setup.c, so remove the redundant extern declaration of this variable. Signed-off-by: Yang Shi To: f.fainelli@gmail.com Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1022/ Acked-by: David Daney Signed-off-by: Ralf Baechle commit 7a7ac952d5217b2f568e5ef91ac39b572e166f24 Author: Wu Zhangjin Date: Wed Mar 10 00:27:28 2010 +0800 MIPS: Trace: Don't trace irqsoff for the idle process Like x86 did in arch/x86/kernel/{process_32.c,process_64.c}, also don't trace irqsoff for idle. If there's no useful work to be done, we don't care about the irqsoff duration. If we trace the idle process, the max duration of irqsoff will be the idle time and make the irqsoff tracer useless. Signed-off-by: Wu Zhangjin Cc: linux-mips@linux-mips.org Cc: Steven Rostedt Cc: Frederic Weisbecker Cc: Ingo Molnar Patchwork: http://patchwork.linux-mips.org/patch/1044/ Signed-off-by: Ralf Baechle commit abe5b417fb4a52e9510fdb5a16e722e91bf89e92 Author: Ralf Baechle Date: Wed Mar 10 16:16:04 2010 +0100 MIPS: delay: Fix use of current_cpu_data in preemptable code. This may lead to warnings like: BUG: using smp_processor_id() in preemptible [00000000] code: reboot/1989 caller is __udelay+0x14/0x70 Call Trace: [] dump_stack+0x8/0x34 [] debug_smp_processor_id+0xf4/0x110 [] __udelay+0x14/0x70 [] md_notify_reboot+0x12c/0x148 [] notifier_call_chain+0x64/0xc8 [] __blocking_notifier_call_chain+0x64/0xc0 [] kernel_restart_prepare+0x1c/0x38 [] kernel_restart+0x14/0x50 [] SyS_reboot+0x10c/0x1f0 [] handle_sysn32+0x44/0x84 Signed-off-by: Ralf Baechle commit b1cea3bab575af386618baba0db3c5fae7ce521f Author: David Daney Date: Wed Mar 3 11:07:43 2010 -0800 MIPS: Octeon: Remove #if 0 code. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1029/ Signed-off-by: Ralf Baechle commit 1ef2887030dbeb42282a99f8a8e3d7ad07ef70ee Author: David Daney Date: Wed Mar 3 11:07:07 2010 -0800 MIPS: Octeon: Remove vestiges of CONFIG_CAVIUM_RESERVE32_USE_WIRED_TLB The config option CAVIUM_RESERVE32_USE_WIRED_TLB is not supported. Remove the dead code controlled by it. Signed-off-by: David Daney To: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/1028/ Signed-off-by: Ralf Baechle commit 1874a0886076fbb26665f93a8999c05e389bae22 Author: Ralf Baechle Date: Tue Mar 9 20:16:15 2010 +0100 MIPS: Cavium: Remove unused watchdog code. Signed-off-by: Ralf Baechle commit c948aca4f49d94b08c425f65acdaca1d679d6fa7 Author: Ralf Baechle Date: Mon Mar 8 19:38:13 2010 +0100 MIPS: Fix build breakage if CONFIG_DEBUG_FS is enabled. Caused by 38b7827fcdd660f591d645bd3ae6644456a4773c - no, cpu_local_* was not unused. Signed-off-by: Ralf Baechle Cc: Christoph Lameter Acked-by: David Daney commit 0df5dd4aae211edeeeb84f7f84f6d093406d7c22 Author: Trond Myklebust Date: Sun Apr 11 16:48:44 2010 -0400 NFSv4: fix delegated locking Arnaud Giersch reports that NFSv4 locking is broken when we hold a delegation since commit 8e469ebd6dc32cbaf620e134d79f740bf0ebab79 (NFSv4: Don't allow posix locking against servers that don't support it). According to Arnaud, the lock succeeds the first time he opens the file (since we cannot do a delegated open) but then fails after we start using delegated opens. The following patch fixes it by ensuring that locking behaviour is governed by a per-filesystem capability flag that is initially set, but gets cleared if the server ever returns an OPEN without the NFS4_OPEN_RESULT_LOCKTYPE_POSIX flag being set. Reported-by: Arnaud Giersch Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit ff818c24c2af370153646d302d831b69b023816f Author: Takashi Iwai Date: Mon Apr 12 08:59:25 2010 +0200 ALSA: hda - Add fix-up for Sony VAIO with ALC269 Sony VAIO models with ALC269 need to initialize the pin 0x19 to VREF ground or Hi-Z to make the headphone working. Other than that, model=auto works fine, so let's use model=auto with a specific fix-up table. Signed-off-by: Takashi Iwai commit 7fa90e873f520dad5ec58f47340996cda083e875 Author: Takashi Iwai Date: Mon Apr 12 08:49:00 2010 +0200 ALSA: hda - Enhance fix-up table for Realtek codecs A few enhancement / fixes for fix-up table of some Realtek codecs: - Apply fix-ups only for the auto model - Apply additional verbs after normal init verbs - Add a debug print to show the fix-up application This is basically a preliminary work for the next fix for Sony VAIO. Signed-off-by: Takashi Iwai commit b73c5f8b2f85a7041e045e0009d046780416948d Author: Marek Olšák Date: Sun Apr 11 03:18:52 2010 +0200 drm/radeon/kms: fix calculation of mipmapped 3D texture sizes The 3rd dimension should be minified too. Signed-off-by: Marek Olšák Signed-off-by: Dave Airlie commit ce227c4183a2c18c9e5467b7e92d47140e763ab9 Author: Dave Airlie Date: Fri Apr 9 06:27:00 2010 +0000 drm/radeon/kms: only change mode when coherent value changes. On X startup we were getting a flicker where there shouldn't have been one. the X DDX calls the kernel to set the properties to the same values (yes it could be smarter), however the kernel was doing a pointless modeset then, making my nice smooth boot ugly. Signed-off-by: Dave Airlie commit 490475a9938f3480e1ab3a67063e547cea41c295 Author: Anil Veerabhadrappa Date: Thu Apr 8 15:59:15 2010 -0700 [SCSI] bnx2i: Bug fixes related to MTU change issue when there are active iscsi sessions bnx2i driver has to wait and cleanup all iscsi endpoints before returning from bnx2i_stop(). This is to make sure all chip resources are freed before chip is reset. As the requirements for 1G and 10G chipsets is different, added per-device 'hba_shutdown_tmo' parameter to adapter structure If the connections are not torn down by the daemon within this timeout period, 'cid's will be leaked in 10G device. 1G devices are more flexible and do not leak any resources because the whole chip ports gets reset when MTU is changed or ethtool selftest is run fixed a minor issue in bnx2i_ep_poll() which unnecessarily forced error return code when driver timed out waiting for TCP connect request to complete Signed-off-by: Anil Veerabhadrappa Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit a71fa1fc43a29133f13ae6ada1a389ca298c0934 Author: FUJITA Tomonori Date: Fri Apr 2 15:50:24 2010 +0900 [SCSI] ibmvscsi: fix DMA API misuse ibmvscsi uses dma_unmap_single() for buffers mapped via dma_map_sg(). It works however it's the API violation. The DMA debug facility complains about it: http://marc.info/?l=linux-scsi&m=127018555013151&w=2 Reported-by: Sachin Sant Tested-by: Sachin Sant Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit a8f23b03535359c5afeb77d937b89b8a4d87b2b2 Author: Dan Carpenter Date: Thu Apr 1 18:55:16 2010 +0300 [SCSI] wd7000: fix reset handler typo spin_unlock_irq() => spin_lock_irq() This was introduced back in 2005 at the very start of the git era by: df0ae2497ddefd72a87f3a3b34ff32455d7d4ae0 [SCSI] allow sleeping in ->eh_host_reset_handler() Signed-off-by: Dan Carpenter Signed-off-by: James Bottomley commit 5bbf297cc652713a0a6511004b8d4c1cc21a3b02 Author: Christof Schmitt Date: Thu Apr 1 13:04:08 2010 +0200 [SCSI] zfcp: Fix tracing of requests with error status When a FSF request is returned with an error it should be reported through blktrace for the ziomon tools, but the latency information should not be read. Fix this by also calling zfcp_fsf_req_trace for the error case, but skip reading the latencies inside the function. Reviewed-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 07bbd0facdcda64f2c77fc6a505afd32e45fa506 Author: Christof Schmitt Date: Thu Apr 1 13:04:07 2010 +0200 [SCSI] zfcp: Update MAINTAINERS entry Martin no longer works on zfcp, remove his entry from the MAINTAINERS file and add Swen as co-maintainer. Also remove the reference to the zfcpdump.txt file, zfcpdump is not part of the zfcp device driver. Signed-off-by: Christof Schmitt Acked-by: Martin Peschke Signed-off-by: James Bottomley commit d7d05548a62c87ee55b0c81933669177f885aa8d Author: Mike Christie Date: Wed Mar 31 14:41:35 2010 -0500 [SCSI] iscsi_tcp: fix relogin/shutdown hang When I made this patch: b64e77f70b8c11766e967e3485331a9e6ef01390 it was to solve a problem where we were already on the waitqueue becuase a connection problem/logout caused us to be on there when we were cleaning up the session. If we happen to get on queue for more normal reasons like their just does not happen to be any send space at the same time we are closing the connection we hit a race and get stuck in the wait. We should not check if the waitqueue is active because we could race with the network code. If the network xmit code is just about to enter the prepare to wait when we check for the waitqueue to be active then we will miss each other and the network code will fall into the wait and we will not run wake_up. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit be3bd2223b89d270853302ab0a5909fa875fd831 Author: Ryusuke Konishi Date: Mon Apr 12 01:51:03 2010 +0900 nilfs2: fix typo "numer" -> "number" in alloc.c Fixes the typo found in a warning message of a persistent object allocator function. Signed-off-by: Ryusuke Konishi commit b1095afe6fd6ea4c0d9e75489b955f898d6617d9 Author: Dominik Brodowski Date: Thu Apr 8 20:10:21 2010 +0200 pcmcia: re-start on MFC override If there are changes to the number of socket devices, we need to start over in all cases: else pcmcia_request_configuration() might get confused. Reported-by: Alexander Kurz Signed-off-by: Dominik Brodowski commit 509b0865fbd8ab6c820397706dde980c1c285538 Author: Dominik Brodowski Date: Thu Apr 8 19:23:07 2010 +0200 pcmcia: fix io_probe due to parent (PCI) resources Similar to commit 7a96e87d, we need to be aware of any parent PCI device when requesting IO regions, even only for testing ("probing"). Reported-by: Komuro Signed-off-by: Dominik Brodowski commit d3e03f4ea81456d52810a03a17dd88f78a080818 Author: Dominik Brodowski Date: Wed Apr 7 14:12:56 2010 +0200 pcmcia: use previously assigned IRQ for all card functions Use a previously assigned IRQ for all card functions, not only if CONFIG_PCMCIA_PROBE is set. Reported-by: Alexander Kurz Signed-off-by: Dominik Brodowski commit 4a1032faac94ebbf647460ae3e06fc21146eb280 Merge: ae4e8d6 0eddb51 Author: David S. Miller Date: Sun Apr 11 02:44:30 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit ae4e8d63b5619d4d95f1d2bfa2b836caa6e62d06 Author: David S. Miller Date: Sun Apr 11 02:40:49 2010 -0700 Revert "tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb" This reverts commit 2626419ad5be1a054d350786b684b41d23de1538. It causes regressions for people with IGB cards. Connection requests don't complete etc. The true cause of the issue is still not known, but we should sort this out in net-next-2.6 not net-2.6 Signed-off-by: David S. Miller commit d88d4050dcaf09e417aaa9a5024dd9449ef71b2e Author: Jiri Slaby Date: Sat Apr 10 22:28:56 2010 +0200 PM / Hibernate: user.c, fix SNAPSHOT_SET_SWAP_AREA handling When CONFIG_DEBUG_BLOCK_EXT_DEVT is set we decode the device improperly by old_decode_dev and it results in an error while hibernating with s2disk. All users already pass the new device number, so switch to new_decode_dev(). Signed-off-by: Jiri Slaby Reported-and-tested-by: Jiri Kosina Signed-off-by: "Rafael J. Wysocki" commit 29aac005ff4dc8a5f50b80f4e5c4f59b21c0fb50 Author: Takashi Iwai Date: Sat Apr 10 21:27:23 2010 +0200 ALSA: usb - Fix Oops after usb-midi disconnection usb-midi causes sometimes Oops at snd_usbmidi_output_drain() after disconnection. This is due to the access to the endpoints which have been already released at disconnection while the files are still alive. This patch fixes the problem by checking disconnection state at snd_usbmidi_output_drain() and by releasing urbs but keeping the endpoint instances until really all freed. Tested-by: Tvrtko Ursulin Cc: Signed-off-by: Takashi Iwai commit ca658b1e29d6be939207532e337fb640eb697f71 Author: Stefan Richter Date: Sat Apr 10 12:23:09 2010 +0200 firewire: cdev: comment fixlet Signed-off-by: Stefan Richter commit aa6fec3cdeb14ecc916eb78c4cd9ed79e4f7fe8d Author: Clemens Ladisch Date: Wed Mar 31 16:26:52 2010 +0200 firewire: cdev: iso packet documentation Add the missing documentation for iso packets. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 9cac00b8f0079d5d3d54ec4dae453d58dec30e7c Author: Stefan Richter Date: Wed Apr 7 08:30:50 2010 +0200 firewire: cdev: fix information leak A userspace client got to see uninitialized stack-allocated memory if it specified an _IOC_READ type of ioctl and an argument size larger than expected by firewire-core's ioctl handlers (but not larger than the core's union ioctl_arg). Fix this by clearing the requested buffer size to zero, but only at _IOR ioctls. This way, there is almost no runtime penalty to legitimate ioctls. The only legitimate _IOR is FW_CDEV_IOC_GET_CYCLE_TIMER with 12 or 16 bytes to memset. [Another way to fix this would be strict checking of argument size (and possibly direction) vs. command number. However, we then need a lookup table, and we need to allow for slight size deviations in case of 32bit userland on 64bit kernel.] Reported-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 385ab5bcd4be586dffdba550b310308d89eade71 Author: Clemens Ladisch Date: Wed Mar 31 16:26:46 2010 +0200 firewire: cdev: require quadlet-aligned headers for transmit packets The definition of struct fw_cdev_iso_packet seems to imply that the header_length must be quadlet-aligned, and in fact, specifying an unaligned header has never really worked when using multiple packet structures, because the position of the next control word is computed by rounding the header_length _down_, so the last one to three bytes of the header would overlap the next control word. To avoid this problem, check that the header length is properly aligned. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit 4ba1d9c0c22947a9207029e7184733252e6135f1 Author: Clemens Ladisch Date: Wed Mar 31 16:26:39 2010 +0200 firewire: cdev: disallow receive packets without header In receive contexts, reject packets with header_length==0. This would be an instruction to queue zero packets which would not make sense. This prevents a division by zero in the OHCI driver. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit bfac4d6725baacbfc085c38e231b8582a1b8f62b Author: Zhao Yakui Date: Wed Apr 7 17:11:22 2010 +0800 drm/i915: Ignore LVDS EDID when it is unavailabe or invalid This trys to shut up complains about invalid LVDS EDID during mode probe, but uses fixed panel mode directly for panels with broken EDID. https://bugs.freedesktop.org/show_bug.cgi?id=23099 https://bugs.freedesktop.org/show_bug.cgi?id=26395 Signed-off-by: Zhao Yakui Tested-by: Sitsofe Wheeler Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 2c61be0a9478258f77b66208a0c4b1f5f8161c3c Author: Trond Myklebust Date: Fri Apr 9 19:54:50 2010 -0400 NFS: Ensure that the WRITE and COMMIT RPC calls are always uninterruptible We always want to ensure that WRITE and COMMIT completes, whether or not the user presses ^C. Do this by making the call asynchronous, and allowing the user to do an interruptible wait for rpc_task completion. Signed-off-by: Trond Myklebust commit a6305ddb080fb483ca41ca56cacb6f96089f0c8e Author: Trond Myklebust Date: Fri Apr 9 19:07:08 2010 -0400 NFS: Fix a race with the new commit code This patch fixes a race which occurs due to the fact that we release the PG_writeback flag while still holding the nfs_page locked. Signed-off-by: Trond Myklebust commit b80c3cb628f0ebc241b02e38dd028969fb8026a2 Author: Trond Myklebust Date: Fri Apr 9 19:07:07 2010 -0400 NFS: Ensure that writeback_single_inode() calls write_inode() when syncing Since writeback_single_inode() checks the inode->i_state flags _before_ it flushes out the data, we need to ensure that the I_DIRTY_DATASYNC flag is already set. Otherwise we risk not seeing a call to write_inode(), which again means that we break fsync() et al... Signed-off-by: Trond Myklebust commit 1544fa0f7a46241582abc48f07b74f3d846379e4 Author: Trond Myklebust Date: Thu Mar 25 13:54:49 2010 -0400 NFS: Fix the mode calculation in nfs_find_open_context Signed-off-by: Trond Myklebust commit 80e60639f1b7c121a7fea53920c5a4b94009361a Author: Trond Myklebust Date: Thu Mar 25 13:51:05 2010 -0400 NFSv4: Fall back to ordinary lookup if nfs4_atomic_open() returns EISDIR Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 65384a1d41c4e91f0b49d90d11b7f424d6e5c58e Author: Alex Deucher Date: Fri Apr 9 15:01:25 2010 -0400 drm/radeon/kms: more atom parser fixes (v2) shr/shl ops need the full dst rather than the pre-masked version. Fixes fdo bug 27478 and kernel bug 15738. v2: remove some unsed vars, add comments Signed-off-by: Alex Deucher Cc: stable Signed-off-by: Dave Airlie commit 2844a76a25a2fc2f5025cf128c95a14d86146d33 Author: Sage Weil Date: Fri Apr 9 15:46:42 2010 -0700 ceph: decode v5 of osdmap (pool names) [protocol change] Teach the client to decode an updated format for the osdmap. The new format includes pool names, which will be useful shortly. Get this change in earlier rather than later. Signed-off-by: Sage Weil commit 0eddb519b9127c73d53db4bf3ec1d45b13f844d1 Merge: f163937 5091b35 Author: Linus Torvalds Date: Fri Apr 9 11:53:06 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: IB/mlx4: Check correct variable for allocation failure RDMA/nes: Correct cap.max_inline_data assignment in nes_query_qp() RDMA/cm: Set num_paths when manually assigning path records IB/cm: Fix device_create() return value check commit f16393776fc133d95fe3b3ba7118df579ed90af5 Merge: 2f40842 8e7fccc Author: Linus Torvalds Date: Fri Apr 9 11:52:48 2010 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] Update default configuration. [S390] nss: add missing .previous statement to asm function [S390] increase default size of vmalloc area [S390] s390: disable change bit override [S390] fix io_return critical section cleanup [S390] sclp_async: potential buffer overflow [S390] arch/s390/kernel: Add missing unlock commit 2f4084209adc77f9a1c9f38db3019a509e167882 Merge: 2f10ffc 3440c49 Author: Linus Torvalds Date: Fri Apr 9 11:50:29 2010 -0700 Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block * 'for-linus' of git://git.kernel.dk/linux-2.6-block: (34 commits) cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatch loop: Update mtime when writing using aops block: expose the statistics in blkio.time and blkio.sectors for the root cgroup backing-dev: Handle class_create() failure Block: Fix block/elevator.c elevator_get() off-by-one error drbd: lc_element_by_index() never returns NULL cciss: unlock on error path cfq-iosched: Do not merge queues of BE and IDLE classes cfq-iosched: Add additional blktrace log messages in CFQ for easier debugging i2o: Remove the dangerous kobj_to_i2o_device macro block: remove 16 bytes of padding from struct request on 64bits cfq-iosched: fix a kbuild regression block: make CONFIG_BLK_CGROUP visible Remove GENHD_FL_DRIVERFS block: Export max number of segments and max segment size in sysfs block: Finalize conversion of block limits functions block: Fix overrun in lcm() and move it to lib vfs: improve writeback_inodes_wb() paride: fix off-by-one test drbd: fix al-to-on-disk-bitmap for 4k logical_block_size ... commit 2f10ffcfb28beb35137d9e86992c771b4a6c5f2a Merge: ce82653 930b9d9 Author: Linus Torvalds Date: Fri Apr 9 11:50:01 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (29 commits) drm/nouveau: bail out of auxch transaction if we repeatedly recieve defers drm/nv50: implement gpio set/get routines drm/nv50: parse/use some more de-magiced parts of gpio table entries drm/nouveau: store raw gpio table entry in bios gpio structs drm/nv40: Init some tiling-related PGRAPH state. drm/nv50: Add NVA3 support in ctxprog/ctxvals generator. drm/nv50: another dodgy DP hack drm/nv50: punt hotplug irq handling out to workqueue drm/nv50: preserve an unknown SOR_MODECTRL value for DP encoders drm/nv50: Allow using the NVA3 new compute class. drm/nv50: cleanup properly if PDISPLAY init fails drm/nouveau: fixup the init failure paths some more drm/nv50: fix instmem init on IGPs if stolen mem crosses 4GiB mark drm/nv40: add LVDS table quirk for Dell Latitude D620 drm/nv40: rework lvds table parsing drm/nouveau: detect vram amount once, and save the value drm/nouveau: remove some unused members from drm_nouveau_private drm/nouveau: Make use of TTM busy_placements. drm/nv50: add more 0x100c80 flushy magic drm/nv50: fix fbcon when framebuffer above 4GiB mark ... commit 8b9fce77737ae9983f61ec56cd53f52fb738b2c7 Author: Johannes Berg Date: Thu Apr 1 11:24:23 2010 -0700 iwlwifi: work around bogus active chains detection The current algorithm will sometimes "detect" that more chains are enabled than are really present in the device because, for unknown reasons, the ucode sends up all-zeroes signal values. The simplest way of solving this is to restrict the active chains mask to the chains we know are really present on the device. This fixes a bug with some devices where, since sometimes more chains are enabled than really present, the system would hang. Signed-off-by: Johannes Berg Signed-off-by: Reinette Chatre commit ce82653d6cfcc95ba88c25908664878459fb1b8d Author: David Howells Date: Tue Apr 6 22:36:20 2010 +0100 radix_tree_tag_get() is not as safe as the docs make out [ver #2] radix_tree_tag_get() is not safe to use concurrently with radix_tree_tag_set() or radix_tree_tag_clear(). The problem is that the double tag_get() in radix_tree_tag_get(): if (!tag_get(node, tag, offset)) saw_unset_tag = 1; if (height == 1) { int ret = tag_get(node, tag, offset); may see the value change due to the action of set/clear. RCU is no protection against this as no pointers are being changed, no nodes are being replaced according to a COW protocol - set/clear alter the node directly. The documentation in linux/radix-tree.h, however, says that radix_tree_tag_get() is an exception to the rule that "any function modifying the tree or tags (...) must exclude other modifications, and exclude any functions reading the tree". The problem is that the next statement in radix_tree_tag_get() checks that the tag doesn't vary over time: BUG_ON(ret && saw_unset_tag); This has been seen happening in FS-Cache: https://www.redhat.com/archives/linux-cachefs/2010-April/msg00013.html To this end, remove the BUG_ON() from radix_tree_tag_get() and note in various comments that the value of the tag may change whilst the RCU read lock is held, and thus that the return value of radix_tree_tag_get() may not be relied upon unless radix_tree_tag_set/clear() and radix_tree_delete() are excluded from running concurrently with it. Reported-by: Romain DEGEZ Signed-off-by: David Howells Acked-by: Nick Piggin Signed-off-by: Linus Torvalds commit d3e06e2b15590b70ea73733fc4612e4741ff46e0 Author: Pekka Enberg Date: Wed Apr 7 19:23:41 2010 +0300 slub: Fix kmem_ptr_validate() for non-kernel pointers As suggested by Linus, fix up kmem_ptr_validate() to handle non-kernel pointers more graciously. The patch changes kmem_ptr_validate() to use the newly introduced kern_ptr_validate() helper to check that a pointer is a valid kernel pointer before we attempt to convert it into a 'struct page'. Cc: Andrew Morton Cc: Ingo Molnar Cc: Matt Mackall Cc: Nick Piggin Signed-off-by: Pekka Enberg Acked-by: Christoph Lameter Acked-by: David Rientjes Signed-off-by: Linus Torvalds commit fc1c183353a113c71675fecd0485e5aa0fe68d72 Author: Pekka Enberg Date: Wed Apr 7 19:23:40 2010 +0300 slab: Generify kernel pointer validation As suggested by Linus, introduce a kern_ptr_validate() helper that does some sanity checks to make sure a pointer is a valid kernel pointer. This is a preparational step for fixing SLUB kmem_ptr_validate(). Cc: Andrew Morton Cc: Christoph Lameter Cc: David Rientjes Cc: Ingo Molnar Cc: Matt Mackall Cc: Nick Piggin Signed-off-by: Pekka Enberg Signed-off-by: Linus Torvalds commit 4dc86ae1f925b2121d4e75058675895f83e54c71 Author: Linus Torvalds Date: Fri Apr 9 10:05:33 2010 -0700 Revert "memory-hotplug: add 0x prefix to HEX block_size_bytes" This reverts commit ba168fc37dea145deeb8fa9e7e71c748d2e00d74. It changes user-visible sysfs interfaces, and breaks some existing user space applications which apparently rely on the fact that the output does not contain the "0x" prefix. Requested-by: Heiko Carstens Acked-by: KOSAKI Motohiro Acked-by: Wu Fengguang Signed-off-by: Linus Torvalds commit e3237e3c60c1f4a790b4e521e406b3ffff74f9bc Merge: 2626419 ece6444 Author: David S. Miller Date: Fri Apr 9 10:03:35 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 5091b353883ba3358998797efb284f82344531f3 Merge: ae2d929 3e340c0 7bd9129 eadde3a Author: Roland Dreier Date: Fri Apr 9 09:14:21 2010 -0700 Merge branches 'cma', 'misc', 'mlx4' and 'nes' into for-linus commit 7f311a46916a3be00a1a8e3f1bdf461d08f1d263 Author: Takashi Iwai Date: Fri Apr 9 17:32:23 2010 +0200 ALSA: hda - Fix initial capture source connections of ALC880/260 The widget connections of ADC of ALC880 and ALC2260 aren't initialized, thus it might point to invalid pin. This can be a problem when mode=auto and there is only one input pin. Then user can't change the connection at all. This patch adds the code to initialize the input pin connection of these codecs. Reference: Novell bnc#594363 https://bugzilla.novell.com/show_bug.cgi?id=594363 Signed-off-by: Takashi Iwai commit 85b3cce880a19e78286570d5fd004cc3cac06f57 Author: Russell King Date: Fri Apr 9 15:00:11 2010 +0100 ARM: Fix ioremap_cached()/ioremap_wc() for SMP platforms Write combining/cached device mappings are not setting the shared bit, which could potentially cause problems on SMP systems since the cache lines won't participate in the cache coherency protocol. Signed-off-by: Russell King Tested-by: Santosh Shilimkar commit 8e7fcccee990acd8135db447ad01cb3b22bce620 Author: Martin Schwidefsky Date: Fri Apr 9 13:43:04 2010 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 187644636ea79aa4bdc04757ebca919c4fd546e0 Author: Heiko Carstens Date: Fri Apr 9 13:43:03 2010 +0200 [S390] nss: add missing .previous statement to asm function The savesys_ipl_nss asm function is put into the .init.text section however it is missing a ".previous" section which would restore the previous section. Luckily all functions in early.c are init functions so it doesn't matter currently. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7d3f661e5757e84f1fb2e10093cfa2f7b057bc2f Author: Martin Schwidefsky Date: Fri Apr 9 13:43:02 2010 +0200 [S390] increase default size of vmalloc area The default size of the vmalloc area is currently 1 GB. The memory resource controller uses about 10 MB of vmalloc space per gigabyte of memory. That turns a system with more than ~100 GB memory unbootable with the default vmalloc size. It costs us nothing to increase the default size to some more adequate value, e.g. 128 GB. Signed-off-by: Martin Schwidefsky commit 6af7eea2aee57b869f34eba0a94ef122fe90fbfd Author: Christian Borntraeger Date: Fri Apr 9 13:43:01 2010 +0200 [S390] s390: disable change bit override commit 6a985c6194017de2c062916ad1cd00dee0302c40 ([S390] s390: use change recording override for kernel mapping) deactivated the change bit recording for the kernel mapping to improve the performance. This works most of the time, but there are cases (e.g. kernel runs in home space, futex atomic compare xcmg) where we modify user memory with the kernel mapping instead of the user mapping. Instead of fixing these cases, this patch just deactivates change bit override to avoid future problems with other kernel code that might use the kernel mapping for user memory. CC: stable@kernel.org Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 176b1803ce4690d0dd94e16f118dbd14af045034 Author: Martin Schwidefsky Date: Fri Apr 9 13:43:00 2010 +0200 [S390] fix io_return critical section cleanup If a machine check interrupts the io interrupt handler on one of the instructions between io_return and io_leave the critical section cleanup code will move the return psw to io_work_loop. By doing that the switch from the asynchronous interrupt stack to the process stack is skipped. If e.g. TIF_NEED_RESCHED is set things break because the scheduler is called with the asynchronous interrupts stack. Moving the psw back to io_return instead fixes the problem. Signed-off-by: Martin Schwidefsky commit 35ac734f72d846f250c0344913a91f954ea764c3 Author: Dan Carpenter Date: Fri Apr 9 13:42:59 2010 +0200 [S390] sclp_async: potential buffer overflow "len" hasn't been properly range checked so we shouldn't use it as an array offset. This can only be written to by root but it would still be annoying to accidentally write more than 3 characters and corrupt your memory. Signed-off-by: Dan Carpenter Signed-off-by: Martin Schwidefsky commit d7015c120e0ac55d86cabbe7a14997b99f39e282 Author: Julia Lawall Date: Fri Apr 9 13:42:58 2010 +0200 [S390] arch/s390/kernel: Add missing unlock In the default case the lock is not unlocked. The return is converted to a goto, to share the unlock at the end of the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irq (E1,...); ... when != E1 * return ...; ...+> } // Signed-off-by: Julia Lawall Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 226b1ec8c18bcb6d1aa448a29b2c8aeae1946228 Author: Kailang Yang Date: Fri Apr 9 11:01:20 2010 +0200 ALSA: hda - Fix setup for ALC269vb amic and dmic models Corrected HP and mic pins for ALC269vb amic and dmic models. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 531d8791accf1464bc6854ff69d08dd866189d17 Author: Kailang Yang Date: Fri Apr 9 10:57:33 2010 +0200 ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21 ALC269vb has an alternative HP pin 0x21 in addition. Fix the parser to recognize it. Signed-off-by: Kailang Yang Signed-off-by: Takashi Iwai commit 9823f1a8463fb631fe965110fe19adeb3df239c4 Author: Anders Larsen Date: Thu Apr 8 11:48:16 2010 +0100 ARM: 6043/1: AT91 slow-clock resume: Don't wait for a disabled PLL to lock at91 slow-clock resume: Don't wait for a disabled PLL to lock. We run into this problem with the PLLB on the at91: ohci-at91 disables the PLLB when going to suspend. The slowclock code however tries to do the same: It saves the PLLB register value and when restoring the value during resume, it waits for the PLLB to lock again. However the PLL will never lock and the loop would run into its timeout because the slowclock code just stored and restored an empty register. This fixes the problem by only restoring PLLA/PLLB when they were enabled at suspend time. Cc: Andrew Victor Signed-off-by: Anders Larsen Signed-off-by: Russell King commit 3440c49f5c5ecb4f29b0544aa87da71888404f8f Author: Divyesh Shah Date: Fri Apr 9 09:29:57 2010 +0200 cfq-iosched: Fix the incorrect timeslice accounting with forced_dispatch When CFQ dispatches requests forcefully due to a barrier or changing iosched, it runs through all cfqq's dispatching requests and then expires each queue. However, it does not activate a cfqq before flushing its IOs resulting in using stale values for computing slice_used. This patch fixes it by calling activate queue before flushing reuqests from each queue. This is useful mostly for barrier requests because when the iosched is changing it really doesnt matter if we have incorrect accounting since we're going to break down all structures anyway. We also now expire the current timeslice before moving on with the dispatch to accurately account slice used for that cfqq. Signed-off-by: Divyesh Shah Signed-off-by: Jens Axboe commit 930b9d94579fa1ea9604cbf7ba56cedf99ba9b5c Merge: 3a89b4a 8e024f1 Author: Dave Airlie Date: Fri Apr 9 14:27:51 2010 +1000 Merge remote branch 'nouveau/for-airlied' of ../drm-nouveau-next into drm-linus * 'nouveau/for-airlied' of ../drm-nouveau-next: (21 commits) drm/nouveau: bail out of auxch transaction if we repeatedly recieve defers drm/nv50: implement gpio set/get routines drm/nv50: parse/use some more de-magiced parts of gpio table entries drm/nouveau: store raw gpio table entry in bios gpio structs drm/nv40: Init some tiling-related PGRAPH state. drm/nv50: Add NVA3 support in ctxprog/ctxvals generator. drm/nv50: another dodgy DP hack drm/nv50: punt hotplug irq handling out to workqueue drm/nv50: preserve an unknown SOR_MODECTRL value for DP encoders drm/nv50: Allow using the NVA3 new compute class. drm/nv50: cleanup properly if PDISPLAY init fails drm/nouveau: fixup the init failure paths some more drm/nv50: fix instmem init on IGPs if stolen mem crosses 4GiB mark drm/nv40: add LVDS table quirk for Dell Latitude D620 drm/nv40: rework lvds table parsing drm/nouveau: detect vram amount once, and save the value drm/nouveau: remove some unused members from drm_nouveau_private drm/nouveau: Make use of TTM busy_placements. drm/nv50: add more 0x100c80 flushy magic drm/nv50: fix fbcon when framebuffer above 4GiB mark ... commit 8e024f13142fbbca5fbe14a6926516a45bd70c3a Author: Ben Skeggs Date: Tue Mar 16 08:45:07 2010 +1000 drm/nouveau: bail out of auxch transaction if we repeatedly recieve defers There's one known case where we never stop recieving DEFER, and loop here forever. Lets not do that.. Signed-off-by: Ben Skeggs commit 4528416291e26456e68f7217576e40e589d276bf Author: Ben Skeggs Date: Wed Apr 7 12:57:35 2010 +1000 drm/nv50: implement gpio set/get routines Signed-off-by: Ben Skeggs commit 02faec09b2814b6ad3fd202e2f28b3c4b712a3f1 Author: Ben Skeggs Date: Wed Apr 7 12:05:32 2010 +1000 drm/nv50: parse/use some more de-magiced parts of gpio table entries Signed-off-by: Ben Skeggs commit 2535d71c80b3d79090c9d44ec6d35342e2d258f0 Author: Ben Skeggs Date: Wed Apr 7 12:00:14 2010 +1000 drm/nouveau: store raw gpio table entry in bios gpio structs And use our own version of the GPIO table for the INIT_GPIO opcode. Signed-off-by: Ben Skeggs commit 2295e17a4a0c339ca8507deb2cab5f339007e5e5 Author: Francisco Jerez Date: Tue Apr 6 21:11:58 2010 +0200 drm/nv40: Init some tiling-related PGRAPH state. Fixes garbled 3D on an nv46 card. Reported-by: Francesco Marella Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit eaeefba154a19aeab9037b1d29478e5303a992fe Author: Marcin Kościelnicki Date: Fri Apr 2 10:28:18 2010 +0000 drm/nv50: Add NVA3 support in ctxprog/ctxvals generator. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit e60a9df3a8e60e5f16707897467b36702e8c4cdc Author: Ben Skeggs Date: Tue Mar 30 16:01:41 2010 +1000 drm/nv50: another dodgy DP hack Allows *some* DP cards to keep working in some corner cases that most people shouldn't hit. I hit it all the time with development, so this can stay for now. Signed-off-by: Ben Skeggs commit a5acac66685397a73bed8638114262520565e41c Author: Ben Skeggs Date: Tue Mar 30 15:14:41 2010 +1000 drm/nv50: punt hotplug irq handling out to workqueue On DP outputs we'll likely end up running vbios init tables here, which may sleep. Signed-off-by: Ben Skeggs commit 6f335a7afa6bc57603f39430dc6f9e57de288a91 Author: Ben Skeggs Date: Mon Mar 29 10:06:09 2010 +1000 drm/nv50: preserve an unknown SOR_MODECTRL value for DP encoders This value interacts with some registers we don't currently know how to program properly ourselves. The default of 5 that we were using matches what the VBIOS on early DP cards do, but later ones use 6, which would cause nouveau to program an incorrect mode on these chips. Signed-off-by: Ben Skeggs commit d327dd4e771b5820743aeba0622116c5c8806388 Author: Marcin Kościelnicki Date: Wed Mar 24 13:43:16 2010 +0000 drm/nv50: Allow using the NVA3 new compute class. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit a1663ed3412f4b94edcf30b271c9db3ace533605 Author: Ben Skeggs Date: Thu Mar 25 16:01:04 2010 +1000 drm/nv50: cleanup properly if PDISPLAY init fails Signed-off-by: Ben Skeggs commit 78bb35129e9400fb50580e971d964563fc8e0218 Author: Ben Skeggs Date: Thu Mar 25 16:00:09 2010 +1000 drm/nouveau: fixup the init failure paths some more Signed-off-by: Ben Skeggs commit 494ab824f179ddeb2022cbb1d25aee41ab46ee9b Author: Ben Skeggs Date: Fri Mar 19 12:49:59 2010 +1000 drm/nv50: fix instmem init on IGPs if stolen mem crosses 4GiB mark Signed-off-by: Ben Skeggs commit 2eb92c80074ecfbc691741720382007417f64523 Author: Ben Skeggs Date: Thu Mar 18 13:38:04 2010 +1000 drm/nv40: add LVDS table quirk for Dell Latitude D620 Should fix: https://bugzilla.redhat.com/show_bug.cgi?id=505132 https://bugzilla.redhat.com/show_bug.cgi?id=543091 https://bugzilla.redhat.com/show_bug.cgi?id=530425 https://bugs.edge.launchpad.net/ubuntu/+source/xserver-xorg-video-nouveau/ +bug/539730 Signed-off-by: Ben Skeggs commit f3bbb9ccbf2a0362363ce6d7e4e57dbf34a5cef1 Author: Ben Skeggs Date: Thu Mar 18 12:05:43 2010 +1000 drm/nv40: rework lvds table parsing All indications seem to be that the version 0x30 table should be handled the same way as 0x40 (as used on G80), at least for the parts that we currently try use. This commit cleans up the parsing to make it clearer about what we're actually trying to achieve, and unifies the 0x30/0x40 parsing. Signed-off-by: Ben Skeggs commit a76fb4e8ffe42144529e21fe1e609b762e8eb5cc Author: Ben Skeggs Date: Thu Mar 18 09:45:20 2010 +1000 drm/nouveau: detect vram amount once, and save the value As opposed to repeatedly reading the amount back from the GPU every time we need to know the VRAM size. We should now fail to load gracefully on detecting no VRAM, rather than something potentially messy happening. Signed-off-by: Ben Skeggs commit 952eb63543552deb1bf1113739d59d29172d7755 Author: Ben Skeggs Date: Thu Mar 18 09:23:19 2010 +1000 drm/nouveau: remove some unused members from drm_nouveau_private Signed-off-by: Ben Skeggs commit 78ad0f7bf2bb667729581f099781fc0b7ae58fcc Author: Francisco Jerez Date: Thu Mar 18 13:07:47 2010 +0100 drm/nouveau: Make use of TTM busy_placements. Previously we were filling it the same as "placements", but in some cases there're valid alternatives that we were ignoring completely. Keeping a back-up memory type helps on several low-mem situations. Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 40b2a687bd92827ca144d3623cf48377d8f7680d Author: Ben Skeggs Date: Mon Mar 15 16:43:47 2010 +1000 drm/nv50: add more 0x100c80 flushy magic Fixes the !vbo_fifo path in the 3D driver on certain chipsets. Still not really any good idea of what exactly the magic achieves, but it makes things work. While we're at it, in the PCIEGART path, flush on unbinding also. Signed-off-by: Ben Skeggs commit 0c324971986f1498ccd289cb2b4927a6fd3efbe5 Author: Ben Skeggs Date: Tue Mar 16 13:20:58 2010 +1000 drm/nv50: fix fbcon when framebuffer above 4GiB mark This can't actually happen right now, but lets fix it anyway. Signed-off-by: Ben Skeggs commit 0dd8c3f093e3d0cab2cc967f9620b41a125f1f56 Author: Marcin Kościelnicki Date: Wed Mar 17 00:58:47 2010 +0000 drm/nv50: Fix NEWCTX_DONE flag number Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit bc0beb44f27dc068c1daefc79826c07e0b22ef6c Author: Jiri Slaby Date: Tue Mar 16 16:23:59 2010 +0100 [SCSI] qla2xxx: fix lock imbalance Stanse found that one error path in qla24xx_bsg_timeout omits to unlock ha->hardware_lock. Fix that. Signed-off-by: Jiri Slaby Acked-by: Giridhar Malavali Signed-off-by: James Bottomley commit 67221a4226a5fc48e413e2050db266bb171753c4 Author: Jiri Slaby Date: Tue Mar 16 16:23:58 2010 +0100 [SCSI] lpfc: fix lock imbalances Stanse found that two error paths in lpfc_bsg_rport_els_cmp and lpfc_issue_ct_rsp_cmp omits to unlock phba->ct_ev_lock. It is because they wrongly unlock phba->hbalock instead. Fix that. Signed-off-by: Jiri Slaby Acked-by: James Smart Signed-off-by: James Bottomley commit 4ec3fdbef17d0266826b56b33735dc9dada58c27 Author: Jiri Slaby Date: Tue Mar 16 16:23:57 2010 +0100 [SCSI] be2iscsi: fix lock imbalance Stanse found that one error path in mgmt_invalidate_icds omits to unlock ctrl->mbox_lock. Fix that. Added in 756d29c8c7ed8887ed7d752371ce2f (Enable async mode for mcc rings) where the spinlock was moved. Signed-off-by: Jiri Slaby Acked-by: Jayamohan Kallickal Reviewed-by: Mike Christie Signed-off-by: James Bottomley commit 229bab6bacc42295f13c0434772381a88ce2308b Author: Dan Carpenter Date: Mon Mar 15 11:26:56 2010 +0300 [SCSI] dpt_i2o: several use after free issues adpt_i2o_delete_hba() calls kfree() so we have to save "pHba->next" before calling it. Also inside adpt_i2o_delete_hba() itself, there was another use after free bug which I fixed by moving the kfree() down a line. Signed-off-by: Dan Carpenter Signed-off-by: James Bottomley commit ece6444c2fe80dab679beb5f0d58b091f1933b00 Author: Wey-Yi Guy Date: Thu Apr 8 13:17:37 2010 -0700 iwlwifi: need check for valid qos packet before free For 4965, need to check it is valid qos frame before free, only valid QoS frame has the tid used to free the packets. Signed-off-by: Wey-Yi Guy Signed-off-by: John W. Linville commit 02246c41171097ceab3246f6dc251ac89de6004b Author: Nikanth Karthikesan Date: Thu Apr 8 21:39:31 2010 +0200 loop: Update mtime when writing using aops Update mtime when writing to backing filesystem using the address space operations write_begin and write_end. Signed-off-by: Nikanth Karthikesan Signed-off-by: Jens Axboe commit 9ddd3a31aedcdb55d5509b595c04b187041c8adb Merge: d620a7c f05337c Author: Linus Torvalds Date: Thu Apr 8 11:58:14 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: not overwriting file_lock structure after GET_LK cifs: Fix a kernel BUG with remote OS/2 server (try #3) [CIFS] initialize nbytes at the beginning of CIFSSMBWrite() [CIFS] Add mmap for direct, nobrl cifs mount types commit 2626419ad5be1a054d350786b684b41d23de1538 Author: David S. Miller Date: Thu Apr 8 11:32:30 2010 -0700 tcp: Set CHECKSUM_UNNECESSARY in tcp_init_nondata_skb Back in commit 04a0551c87363f100b04d28d7a15a632b70e18e7 ("loopback: Drop obsolete ip_summed setting") we stopped setting CHECKSUM_UNNECESSARY in the loopback xmit. This is because such a setting was a lie since it implies that the checksum field of the packet is properly filled in. Instead what happens normally is that CHECKSUM_PARTIAL is set and skb->csum is calculated as needed. But this was only happening for TCP data packets (via the skb->ip_summed assignment done in tcp_sendmsg()). It doesn't happen for non-data packets like ACKs etc. Fix this by setting skb->ip_summed in the common non-data packet constructor. It already is setting skb->csum to zero. But this reminds us that we still have things like ip_output.c's ip_dev_loopback_xmit() which sets skb->ip_summed to the value CHECKSUM_UNNECESSARY, which Herbert's patch teaches us is not valid. So we'll have to address that at some point too. Signed-off-by: David S. Miller commit 1223c67c0938d2df309fde618bd82c87c8c1af04 Author: Jorge Boncompte [DTI2] Date: Thu Apr 8 04:56:48 2010 +0000 udp: fix for unicast RX path optimization Commits 5051ebd275de672b807c28d93002c2fb0514a3c9 and 5051ebd275de672b807c28d93002c2fb0514a3c9 ("ipv[46]: udp: optimize unicast RX path") broke some programs. After upgrading a L2TP server to 2.6.33 it started to fail, tunnels going up an down, after the 10th tunnel came up. My modified rp-l2tp uses a global unconnected socket bound to (INADDR_ANY, 1701) and one connected socket per tunnel after parameter negotiation. After ten sockets were open and due to mixed parameters to udp[46]_lib_lookup2() kernel started to drop packets. Signed-off-by: Jorge Boncompte [DTI2] Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit ab285f2b5290d92b7ec1a6f9aad54308dadf6157 Author: Frederic Weisbecker Date: Thu Apr 8 14:05:50 2010 +0200 perf: Fix unsafe frame rewinding with hot regs fetching When we fetch the hot regs and rewind to the nth caller, it might happen that we dereference a frame pointer outside the kernel stack boundaries, like in this example: perf_trace_sched_switch+0xd5/0x120 schedule+0x6b5/0x860 retint_careful+0xd/0x21 Since we directly dereference a userspace frame pointer here while rewinding behind retint_careful, this may end up in a crash. Fix this by simply using probe_kernel_address() when we rewind the frame pointer. This issue will have a much more proper fix in the next version of the perf_arch_fetch_caller_regs() API that will only need to rewind to the first caller. Reported-by: Eric Dumazet Signed-off-by: Frederic Weisbecker Tested-by: Eric Dumazet Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: David Miller Cc: Archs commit d620a7cf05d4f12f5bbb1060d766e8139ab31458 Merge: 2aedd19 45c4d01 Author: Linus Torvalds Date: Thu Apr 8 10:02:02 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2) commit 45c4d015a92f72ec47acd0c7557abdc0c8a6499d Author: Mark Lord Date: Wed Apr 7 13:52:08 2010 -0400 libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2) Most drives from Seagate, Hitachi, and possibly other brands, do not allow LBA28 access to sector number 0x0fffffff (2^28 - 1). So instead use LBA48 for such accesses. This bug could bite a lot of systems, especially when the user has taken care to align partitions to 4KB boundaries. On misaligned systems, it is less likely to be encountered, since a 4KB read would end at 0x10000000 rather than at 0x0fffffff. Signed-off-by: Mark Lord Signed-off-by: Jeff Garzik commit 4352aa5bbf1d0080c2dcf904ce1e4be0a1cb5937 Author: Alexander Duyck Date: Thu Mar 25 13:03:30 2010 -0700 PCI aerdrv: use correct bit defines and add 2ms delay to aer_root_reset While testing completion timeouts I found that hardware was not recovering. It looks like the hot reset was never being propagated to the endpoint devices on the bus due to the fact that we were clearing the bit too quickly. The documentation I have states that we should be transmitting hot reset TS1s for 2ms. To achieve this I have added a 2ms delay from the time we set the secondary bus reset bit to the time we clear it. In addition I changed the define used for the secondary bus reset bit to match the register define that was being used. Reviewed-by: Hidetoshi Seto Signed-off-by: Alexander Duyck Signed-off-by: Jesse Barnes commit 73a0e614580fb650846be1e9315f6b7b6069b9cc Author: Bjorn Helgaas Date: Tue Apr 6 13:24:08 2010 -0600 x86/PCI: ignore Consumer/Producer bit in ACPI window descriptions ACPI Address Space Descriptors (used in _CRS) have a Consumer/Producer bit that is supposed to distinguish regions that are consumed directly by a device from those that are forwarded ("produced") by a bridge. But BIOSes have apparently not used this consistently, and Windows seems to ignore it, so I think Linux should ignore it as well. I can't point to any of these supposed broken BIOSes, but since we now rely on _CRS by default, I think it's safer to ignore this bit from the start. Here are details of my experiments with how Windows handles it: https://bugzilla.kernel.org/show_bug.cgi?id=15701 Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 2aedd192f799c362ccefc3c316f0c4bd5154126b Merge: cf90bfe 84fba5e Author: Linus Torvalds Date: Thu Apr 8 08:37:05 2010 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Fix sched_getaffinity() commit cf90bfe2ebaf9d32f37acbebb7425c280fd6cd30 Merge: 0a2851b 720fc22 Author: Linus Torvalds Date: Thu Apr 8 07:45:36 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: ide: Fix IDE taskfile with cfq scheduler ide: Must hold queue lock when requeueing ide: Requeue request after DMA timeout commit 0a2851b9a837cb025d48bb8118f35ebd12bce4b5 Merge: f5284e7 c25f7cf Author: Linus Torvalds Date: Thu Apr 8 07:44:53 2010 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: ACPI / PM: Move ACPI video resume to a PM notifier ACPI: Reduce ACPI resource conflict message to KERN_WARNING, printk cleanup ACPI: battery drivers should call power_supply_changed() ACPI: battery: Fix CONFIG_ACPI_SYSFS_POWER=n PNPACPI: truncate _CRS windows with _LEN > _MAX - _MIN + 1 ACPI: Don't send KEY_UNKNOWN for random video notifications ACPI: NUMA: map pxms to low node ids ACPI: use _HID when supplied by root-level devices ACPI / ACPICA: Do not check reference counters in acpi_ev_enable_gpe() ACPI: fixes a false alarm from lockdep ACPI dock: support multiple ACPI dock devices ACPI: EC: Allow multibyte access to EC commit 43a3cec01354573517f1348383e0ab6e6067076b Author: Sascha Hauer Date: Thu Apr 8 11:31:26 2010 +0200 ASoC: imx-ssi: Use a hrtimer in FIQ mode Using a regular timer results in poll times < 1 jiffie with small buffers, so we loaded the timer with the actual jiffie value. We can be more accurate using a hrtimer. Also, we have to call snd_pcm_period_elapsed after playing period_bytes and not runtime->period_size (which is in samples and not in bytes). Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 671999cb5d8817611f865f3877f5a5b81372f61e Author: Sascha Hauer Date: Thu Apr 8 11:31:25 2010 +0200 ASoC: imx-pcm-dma-mx2: restart DMA after an error Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 206b60e189c7cc2b4675687d66f167299a13a4d4 Author: Sascha Hauer Date: Thu Apr 8 11:31:24 2010 +0200 ASoC: imx-ssi: honor IMX_SSI_DMA flag When checking if we are DMA capable we have to check for the IMX_SSI_DMA flag which is already set from platform_data instead of setting it again when we want to do DMA. Signed-off-by: Sascha Hauer Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 78e4fd26ef8b85c8cbb6803e18b6b1f970420e06 Author: Huang Weiyi Date: Thu Apr 8 19:50:08 2010 +0800 ASoC: wm2000: remove unused #include Remove unused #include ('s) in sound/soc/codecs/wm2000.c Signed-off-by: Huang Weiyi Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit c15d0fc0fc399d2639240b35ad7ed93ed5a59412 Author: Dmitry Monakhov Date: Mon Mar 29 11:05:21 2010 +0400 udf: add speciffic ->setattr callback generic setattr not longer responsible for quota transfer. use udf_setattr for all udf's inodes. Signed-off-by: Dmitry Monakhov Signed-off-by: Jan Kara commit 69ecbbedac8e353bbd924fad16fed0c7c54e6382 Author: Dan Carpenter Date: Mon Mar 15 11:21:13 2010 +0300 udf: potential integer overflow bloc->logicalBlockNum is unsigned so it's never less than zero. When I saw that, it made me worry that "bloc->logicalBlockNum + count" could overflow. That's why I changed the check for less than zero to an overflow check. (The test works because "count" is also unsigned.) Signed-off-by: Dan Carpenter Signed-off-by: Jan Kara commit 1ce31b255cf8b06470dfbd469055b6fd8d2274bc Author: Raphaël Doursenaud Date: Thu Apr 8 13:40:52 2010 +0200 HID: add support for cymotion master solar keyboard Support the solar version of the Cherry's cymotion keyboard line using existing cherry driver. Signed-off-by: Raphaël Doursenaud Signed-off-by: Jiri Kosina commit bb3c9d4f851d51bb6302ef0df830dcec88d7c529 Merge: d4d9959 b3aa111 Author: Russell King Date: Thu Apr 8 10:47:05 2010 +0100 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 Conflicts: arch/arm/mach-mx3/mach-pcm037.c commit 2488f56d3699b84ee51d2940d1347345b8f9b0e1 Author: Brice Goglin Date: Wed Apr 7 22:23:45 2010 -0700 myri10ge: fix rx_pause in myri10ge_set_pauseparam Fix rx_pause management in myri10ge_set_pauseparam(). Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 69298698c2453c2f8cd1d7d2a4cae39eeec3b66e Author: Patrick Loschmidt Date: Wed Apr 7 21:52:07 2010 -0700 net: corrected documentation for hardware time stamping The current documentation for hardware time stamping does not correctly specify the available kernel functions since the implementation was changed later on. Signed-off-by: Patrick Loschmidt Signed-off-by: David S. Miller commit b62226826b4ea1926b644b5a337ffa6b637d4870 Author: Dan Carpenter Date: Wed Apr 7 21:50:08 2010 -0700 stmmac: use resource_size() Resource size should be calculated as end - start + 1 because we start counting at zero. I changed the code to resource_size() to do the calculation. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit ddd0451fc8dbf94446c81500ff0dcee06c4057cb Author: John Hughes Date: Sun Apr 4 06:48:10 2010 +0000 x.25 attempts to negotiate invalid throughput The current X.25 code has some bugs in throughput negotiation: 1. It does negotiation in all cases, usually there is no need 2. It incorrectly attempts to negotiate the throughput class in one direction only. There are separate throughput classes for input and output and if either is negotiated both mist be negotiates. This is bug https://bugzilla.kernel.org/show_bug.cgi?id=15681 This bug was first reported by Daniel Ferenci to the linux-x25 mailing list on 6/8/2004, but is still present. The current (2.6.34) x.25 code doesn't seem to know that the X.25 throughput facility includes two values, one for the required throughput outbound, one for inbound. This causes it to attempt to negotiate throughput 0x0A, which is throughput 9600 inbound and the illegal value "0" for inbound throughput. Because of this some X.25 devices (e.g. Cisco 1600) refuse to connect to Linux X.25. The following patch fixes this behaviour. Unless the user specifies a required throughput it does not attempt to negotiate. If the user does not specify a throughput it accepts the suggestion of the remote X.25 system. If the user requests a throughput then it validates both the input and output throughputs and correctly negotiates them with the remote end. Signed-off-by: John Hughes Tested-by: Andrew Hendry Signed-off-by: David S. Miller commit f5eb917b861828da18dc28854308068c66d1449a Author: John Hughes Date: Wed Apr 7 21:29:25 2010 -0700 x25: Patch to fix bug 15678 - x25 accesses fields beyond end of packet. Here is a patch to stop X.25 examining fields beyond the end of the packet. For example, when a simple CALL ACCEPTED was received: 10 10 0f x25_parse_facilities was attempting to decode the FACILITIES field, but this packet contains no facilities field. Signed-off-by: John Hughes Signed-off-by: David S. Miller commit fd218cf9557b9bf7061365a8fe7020a56d3f767c Author: Herbert Xu Date: Wed Apr 7 21:20:47 2010 -0700 bridge: Fix IGMP3 report parsing The IGMP3 report parsing is looking at the wrong address for group records. This patch fixes it. Reported-by: Banyeer Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 94824f3dbe0d3f62470603bbb18efb5510aaf07c Author: Michael Chan Date: Wed Apr 7 20:53:54 2010 -0700 cnic: Fix crash during bnx2x MTU change. cnic_service_bnx2x() irq handler can be called during chip reset from MTU change. Need to check that the cnic's device state is up before handling the irq. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f5284e7635787224dda1a2bf82a4c56b1c75671f Merge: 3eac4ab 320718e Author: Linus Torvalds Date: Wed Apr 7 18:49:20 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: hvc_console: Fix race between hvc_close and hvc_remove virtio: disable multiport console support. virtio: console makes incorrect assumption about virtio API virtio: console: Fix early_put_chars usage MAINTAINERS: Put the virtio-console entry in correct alphabetical order commit 320718ee074acce5ffced6506cb51af1388942aa Author: Anton Blanchard Date: Tue Apr 6 21:42:38 2010 +1000 hvc_console: Fix race between hvc_close and hvc_remove I don't claim to understand the tty layer, but it seems like hvc_open and hvc_close should be balanced in their kref reference counting. Right now we get a kref every call to hvc_open: if (hp->count++ > 0) { tty_kref_get(tty); <----- here spin_unlock_irqrestore(&hp->lock, flags); hvc_kick(); return 0; } /* else count == 0 */ tty->driver_data = hp; hp->tty = tty_kref_get(tty); <------ or here if hp->count was 0 But hvc_close has: tty_kref_get(tty); if (--hp->count == 0) { ... /* Put the ref obtained in hvc_open() */ tty_kref_put(tty); ... } tty_kref_put(tty); Since the outside kref get/put balance we only do a single kref_put when count reaches 0. The patch below changes things to call tty_kref_put once for every hvc_close call, and with that my machine boots fine. Signed-off-by: Anton Blanchard Acked-by: Amit Shah Signed-off-by: Rusty Russell commit b7a413015d2986edf020fba765c906cc9cbcbfc9 Author: Michael S. Tsirkin Date: Wed Mar 31 21:56:42 2010 +0300 virtio: disable multiport console support. Move MULTIPORT feature and related config changes out of exported headers, and disable the feature at runtime. At this point, it seems less risky to keep code around until we can enable it than rip it out completely. Signed-off-by: Michael S. Tsirkin Signed-off-by: Rusty Russell commit 9ff4cfab82d27e9fda72315f911bbaa9516e04bc Author: Rusty Russell Date: Thu Apr 8 09:46:16 2010 -0600 virtio: console makes incorrect assumption about virtio API The get_buf() API sets the second arg to the number of bytes *written* by the other side; in this case it should be zero as these are output buffers. lguest gets this right (obviously kvm's console doesn't), resulting in continual buildup of console writes. Signed-off-by: Rusty Russell Acked-by: Amit Shah commit 162a689a13ed61c0752726edb75427b2cd4186c1 Author: François Diakhaté Date: Tue Mar 23 18:23:15 2010 +0530 virtio: console: Fix early_put_chars usage Currently early_put_chars is not used by virtio_console because it can only be used once a port has been found, at which point it's too late because it is no longer needed. This patch should fix it. Acked-by: Christian Borntraeger Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 9a82446bd269b130a9ac270e720e65c3843d4d0c Author: Amit Shah Date: Tue Mar 23 18:23:09 2010 +0530 MAINTAINERS: Put the virtio-console entry in correct alphabetical order Move around the entry for virtio-console to keep the file sorted. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit 04b1a22350e1e6464c3109886385178d119dbbb4 Merge: a55cb18 179b284 Author: David S. Miller Date: Wed Apr 7 16:52:29 2010 -0700 Merge branch 'vhost' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost commit a55cb185b4a8f84cd05b66bb00b267ea455ecdc8 Author: Amit Kumar Salecha Date: Wed Apr 7 16:51:49 2010 -0700 qlcnic: fix set mac addr If interface is down, mac address request are not sent to fw but it is getting add in driver mac list. Driver mac list should be in sync with fw i.e addresses communicated to fw. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 3bcf8229a8c49769e48d3e0bd1e20d8e003f8106 Author: Florian Fainelli Date: Wed Apr 7 16:50:58 2010 -0700 r6040: fix r6040_multicast_list As reported in , r6040_ multicast_list currently crashes. This is due a wrong maximum of multicast entries. This patch fixes the following issues with multicast: - number of maximum entries if off-by-one (4 instead of 3) - the writing of the hash table index is not necessary and leads to invalid values being written into the MCR1 register, so the MAC is simply put in a non coherent state - when we exceed the maximum number of mutlticast address, writing the broadcast address should be done in registers MID_1{L,M,H} instead of MID_O{L,M,H}, otherwise we would loose the adapter's MAC address Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller commit 005c93b5d876edf670b4c71d8dd79dc4e845a099 Merge: fb9e2d8 1144601 Author: David S. Miller Date: Wed Apr 7 16:41:03 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 3eac4abaa69949af0e2f64e5c55ee8a22bbdd3e7 Author: Kevin Hilman Date: Wed Apr 7 11:52:46 2010 -0700 rwsem generic spinlock: use IRQ save/restore spinlocks rwsems can be used with IRQs disabled, particularily in early boot before IRQs are enabled. Currently the spin_unlock_irq() usage in the slow-patch will unconditionally enable interrupts and cause problems since interrupts are not yet initialized or enabled. This patch uses save/restore versions of IRQ spinlocks in the slowpath to ensure interrupts are not unintentionally disabled. Signed-off-by: Kevin Hilman Signed-off-by: Linus Torvalds commit 04287f975e68038051eb9c79896866d36610b8e0 Author: Al Viro Date: Thu Apr 8 00:06:07 2010 +0100 Have nfs ->d_revalidate() report errors properly If nfs atomic open implementation ends up doing open request from ->d_revalidate() codepath and gets an error from server, return that error to caller explicitly and don't bother with lookup_instantiate_filp() at all. ->d_revalidate() can return an error itself just fine... See http://bugzilla.kernel.org/show_bug.cgi?id=15674 http://marc.info/?l=linux-kernel&m=126988782722711&w=2 for original report. Reported-by: Daniel J Blueman Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7bd912998ec9cdbb0268138b6b51f28adf7865f4 Author: Dan Carpenter Date: Wed Apr 7 09:39:01 2010 +0000 IB/mlx4: Check correct variable for allocation failure The intent here is to check the "mfrpl->mapped_page_list" allocation. We checked "mfrpl->ibfrpl.page_list" earlier. Signed-off-by: Dan Carpenter Signed-off-by: Roland Dreier commit eadde3a1a5291492098e8b0b6435d075fc22486b Author: Chien Tung Date: Thu Mar 25 13:39:50 2010 +0000 RDMA/nes: Correct cap.max_inline_data assignment in nes_query_qp() cap.max_inline_data is incorrectly set in init_attr instead of attr. Set it in attr so subsequent init_attr.cap assignment will get the correct value. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit ae2d9293d7cfba70f44f59cfedb44122828c73b8 Author: Sean Hefty Date: Thu Mar 25 19:12:36 2010 +0000 RDMA/cm: Set num_paths when manually assigning path records When manually assigning the path records to use for a connection, save the number of paths that were set. Otherwise, checks against num_path will show 0, even though path record data is available. This was discovered by manually setting the path records from user space, then querying the kernel to see if the correct path records were assigned, only to discover that the kernel returned 0 path records to the query. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 48de8cb7847d040c8892701c1ff3c55eff1f46b4 Merge: 63634c8 134fbad Author: Linus Torvalds Date: Wed Apr 7 14:01:51 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf, x86: Enable Nehalem-EX support perf kmem: Fix breakage introduced by 5a0e3ad slab.h script commit d4d9959c099751158c5cf14813fe378e206339c6 Author: Rabin Vincent Date: Wed Apr 7 18:10:20 2010 +0100 ARM: 6031/1: fix Thumb-2 decompressor 98e12b5a6e05413 ("ARM: Fix decompressor's kernel size estimation for ROM=y") broke the Thumb-2 decompressor because it added an entry in the LC0 table but didn't adjust the offset the Thumb-2 code uses to load the SP from that table. Fix it. Cc: stable Signed-off-by: Rabin Vincent Signed-off-by: Russell King commit 4742723cbce519773e4560f5cab11163eaa0c889 Author: Hartley Sweeten Date: Tue Apr 6 22:46:16 2010 +0100 ARM: 6029/1: ep93xx: gpio.c: local functions should be static The functions ep93xx_gpio_update_int_params and ep93xx_gpio_int_mask are not exported and should be static. This was overlooked when moving the code from core.c. Also, change a comment to better indicate what the code is for. Signed-off-by: H Hartley Sweeten Acked-by: Ryan Mallon Signed-off-by: Russell King commit 54274d71d9358321f7773b820de37496a05fae7f Author: Linus Walleij Date: Sun Apr 4 10:58:03 2010 +0100 ARM: 6028/1: ARM: add MAINTAINERS for U300 This adds myself as maintainer of the U300 machine and associated system-on-chip drivers. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit 76708ab83962732ba3191ce8a61d8410406c8358 Author: Leo Chen Date: Thu Apr 1 19:13:19 2010 +0100 ARM: 6024/1: bcmring: fix missing down on semaphore in dma.c Added missing down on the memMap->lock semaphore. Also fixed a return statement so that we always exit with an up (i.e. early exit via return is not allowed) Signed-off-by: Leo Hao Chen Signed-off-by: Russell King commit 63634c86365b530af5026d409fd403801abe1e75 Merge: fb1ae63 75392dd Author: Linus Torvalds Date: Wed Apr 7 11:03:06 2010 -0700 Merge branch 'davinci-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci * 'davinci-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: davinci: fix compile warning: : #include davinci: DM365: fix duplicate default IRQ priorities davinci: edma: clear events in edma_start() davinci: da8xx/omap-l1: fix build error when CONFIG_DAVINCI_MUX is undefined davinci: timers: don't enable timer until clocksource is initialized commit fb1ae635772d679eb312fa447290fc02cd0e4cf1 Merge: addb2d6 472a474 Author: Linus Torvalds Date: Wed Apr 7 11:02:23 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip: x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards x86: Increase CONFIG_NODES_SHIFT max to 10 ibft, x86: Change reserve_ibft_region() to find_ibft_region() x86, hpet: Fix bug in RTC emulation x86, hpet: Erratum workaround for read after write of HPET comparator bootmem, x86: Fix 32bit numa system without RAM on node 0 nobootmem, x86: Fix 32bit numa system without RAM on node 0 x86: Handle overlapping mptables x86: Make e820_remove_range to handle all covered case x86-32, resume: do a global tlb flush in S4 resume commit 75392dd3041b8fb7ee4cef6bd9b71154ae34f4e1 Author: Sergei Shtylyov Date: Fri Mar 26 17:56:58 2010 +0300 davinci: fix compile warning: : #include This hushes the following warning: arch/arm/mach-davinci/include/mach/da8xx.h:104: warning: ‘struct platform_device’ declared inside parameter list arch/arm/mach-davinci/include/mach/da8xx.h:104: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Sergei Shtylyov Signed-off-by: Kevin Hilman commit addb2d6c13993060ae75f5005815b19dd2abdd64 Merge: 84db18b af2b021 Author: Linus Torvalds Date: Wed Apr 7 08:48:39 2010 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Remove unused variable from ptrace microblaze: io.h: Add io big-endian function microblaze: Enable memory leak detector microblaze: Fix futex code microblaze: Fix ftrace_update_ftrace_func panic commit 84db18bbeb5c9c1a9c86e38a89d76ee526fd2c6f Merge: 6948ec7 55b371d Author: Linus Torvalds Date: Wed Apr 7 08:42:25 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: mixart: range checking proc file ALSA: hda - Fix a wrong array range check in patch_realtek.c ALSA: ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream ALSA: hda - Enable amplifiers on Acer Inspire 6530G ASoC: Only do WM8994 bias off transition from standby ASoC: Don't use DCS_DATAPATH_BUSY for WM hubs devices ASoC: Don't do runtime wm_hubs DC servo updates if using offset correction ASoC: Support second DC servo readback method for wm_hubs ASoC: Avoid wraparound in wm_hubs DC servo correction ALSA: echoaudio - Eliminate use after free ALSA: i2c: cleanup: change parameter to pointer ALSA: hda - Add MSI blacklist for Aopen MZ915-M ASoC: OMAP: Fix capture pointer handling for OMAP1510 to work correctly with recent ALSA PCM code ALSA: hda - Update document about MSI and interrupts ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981 ALSA: hda - Add missing printk argument in previous patch ASoC: Fix passing platform_data to ac97 bus users and fix a leak ALSA: hda - Fix ADC/MUX assignment of ALC269 codec ALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo() ASoC: wm8994: playback => capture commit 6948ec70355ae6cf6082519e3d76b280373dade1 Merge: cc4fc29 18e5b53 Author: Linus Torvalds Date: Wed Apr 7 08:38:27 2010 -0700 Merge branch 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc * 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc: nodemask: include slab.h from drivers/base/node.c commit cc4fc29e59c386919a7674e203be7822dc968dc0 Author: David Howells Date: Tue Apr 6 14:35:09 2010 -0700 fs-cache: order the debugfs stats correctly Order the debugfs statistics correctly. The values displayed through a seq_printf() statement should be in the same order as the names in the format string. In the 'Lookups' line, objects created ('crt=') and lookups timed out ('tmo=') have their values transposed. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08dc179b9b00cfbed006ae6f5d0e471ef79dc69c Author: David Howells Date: Tue Apr 6 14:35:09 2010 -0700 frv: fix kernel/user segment handling in NOMMU mode In NOMMU mode, the FRV segment handling is broken because KERNEL_DS == USER_DS. This causes tests of the following sort: /* don't pin down non-user-based iovecs */ if (segment_eq(get_fs(), KERNEL_DS)) return NULL; to malfunction. To fix this, make USER_DS the top of RAM instead of the top of the non-IO address space, and make KERNEL_DS one more than the top of the non-IO address space. Also get rid of FRV's __addr_ok() as nothing uses it. Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea56f411ec2d4d8689eb7f3bcd24e860acf87c47 Author: David Howells Date: Tue Apr 6 14:35:08 2010 -0700 frv: hide uncached_access() when pgprot_noncached is not #defined Hide uncached_access() when pgprot_noncached is not #defined. This prevents the following warning: CC drivers/char/mem.o drivers/char/mem.c:229: warning: 'uncached_access' defined but not used Repairs d7d4d849b4e3acc405ec222884936800ffb26d48 ("drivers/char/mem.c: cleanups"). Signed-off-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c783a29efcbc90a90ccfec8956c7ff0854301c34 Author: Vladimir Zapolskiy Date: Tue Apr 6 14:35:07 2010 -0700 rtc-mxc: multiple fixes in rtc-mxc probe method On exit paths in mxc_rtc_probe() method some resources are not freed correctly. This patch fixes: * unrequested memory region containing imx RTC registers * iounmap() isn't called on exit_free_pdata branch * clock get rate is called for freed clock source * clock isn't disabled on exit_put_clk branch To simplify the fix managed device resources are used. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Vladimir Zapolskiy Cc: Alessandro Zummo Cc: Daniel Mack Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8725d5416213a145ccc9c236dbd26830ba409e00 Author: KAMEZAWA Hiroyuki Date: Tue Apr 6 14:35:05 2010 -0700 memcg: fix race in file_mapped accounting Presently, memcg's FILE_MAPPED accounting has following race with move_account (happens at rmdir()). increment page->mapcount (rmap.c) mem_cgroup_update_file_mapped() move_account() lock_page_cgroup() check page_mapped() if page_mapped(page)>1 { FILE_MAPPED -1 from old memcg FILE_MAPPED +1 to old memcg } ..... overwrite pc->mem_cgroup unlock_page_cgroup() lock_page_cgroup() FILE_MAPPED + 1 to pc->mem_cgroup unlock_page_cgroup() Then, old memcg (-1 file mapped) new memcg (+2 file mapped) This happens because move_account see page_mapped() which is not guarded by lock_page_cgroup(). This patch adds FILE_MAPPED flag to page_cgroup and move account information based on it. Now, all checks are synchronous with lock_page_cgroup(). Signed-off-by: KAMEZAWA Hiroyuki Reviewed-by: Balbir Singh Reviewed-by: Daisuke Nishimura Cc: Andrea Righi Cc: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 116354d177ba2da37e91cf884e3d11e67f825efd Author: Naoya Horiguchi Date: Tue Apr 6 14:35:04 2010 -0700 pagemap: fix pfn calculation for hugepage When we look into pagemap using page-types with option -p, the value of pfn for hugepages looks wrong (see below.) This is because pte was evaluated only once for one vma although it should be updated for each hugepage. This patch fixes it. $ page-types -p 3277 -Nl -b huge voffset offset len flags 7f21e8a00 11e400 1 ___U___________H_G________________ 7f21e8a01 11e401 1ff ________________TG________________ ^^^ 7f21e8c00 11e400 1 ___U___________H_G________________ 7f21e8c01 11e401 1ff ________________TG________________ ^^^ One hugepage contains 1 head page and 511 tail pages in x86_64 and each two lines represent each hugepage. Voffset and offset mean virtual address and physical address in the page unit, respectively. The different hugepages should not have the same offset value. With this patch applied: $ page-types -p 3386 -Nl -b huge voffset offset len flags 7fec7a600 112c00 1 ___UD__________H_G________________ 7fec7a601 112c01 1ff ________________TG________________ ^^^ 7fec7a800 113200 1 ___UD__________H_G________________ 7fec7a801 113201 1ff ________________TG________________ ^^^ OK More info: - This patch modifies walk_page_range()'s hugepage walker. But the change only affects pagemap_read(), which is the only caller of hugepage callback. - Without this patch, hugetlb_entry() callback is called per vma, that doesn't match the natural expectation from its name. - With this patch, hugetlb_entry() is called per hugepte entry and the callback can become much simpler. Signed-off-by: Naoya Horiguchi Signed-off-by: KAMEZAWA Hiroyuki Acked-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57119c34e53bbb8d244c3ff1335ef5145768538f Author: Yong Zhang Date: Tue Apr 6 14:35:03 2010 -0700 ratelimit: fix the return value when __ratelimit() fails to acquire the lock The log of commit edaac8e3167501cda336231d00611bf59c164346 ("ratelimit: Fix/allow use in atomic contexts"), indicates that we want to suppress the callback when the trylock fails. Signed-off-by: Yong Zhang Cc: Ingo Molnar Cc: Christian Borntraeger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb1dc0bacb8ddd7ba6a5906c678a5a5a110cf695 Author: Yong Zhang Date: Tue Apr 6 14:35:02 2010 -0700 kernel.h: fix wrong usage of __ratelimit() When __ratelimit() returns 1 this means that we can go ahead. Signed-off-by: Yong Zhang Cc: Ingo Molnar Cc: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a7268abc48c8009b284bd88605d14fcb65772ec Author: Yong Zhang Date: Tue Apr 6 14:35:01 2010 -0700 ratelimit: annotate ___ratelimit() To prevent from wrongly using the return value. [akpm@linux-foundation.org: fix spello] Signed-off-by: Yong Zhang Cc: Ingo Molnar Cc: Dave Young Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee5d2acd5ca1534f40e06d4f0d41a940b17beb54 Author: Eric Dumazet Date: Tue Apr 6 14:35:01 2010 -0700 /dev/mem: allow rewinding commit dcefafb6 ("/dev/mem: dont allow seek to last page") inadvertently disabled rewinding on /dev/mem. This broke x86info for example. Signed-off-by: Eric Dumazet Acked-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1dd3b2843b3b73b7fc2ee47d96310cd1c051371 Author: Andrew Morton Date: Tue Apr 6 14:35:00 2010 -0700 vfs: rename block_fsync() to blkdev_fsync() Requested by hch, for consistency now it is exported. Cc: Alexander Viro Cc: Anton Blanchard Cc: Christoph Hellwig Cc: Jan Kara Cc: Jeff Moyer Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55ab3a1ff843e3f0e24d2da44e71bffa5d853010 Author: Anton Blanchard Date: Tue Apr 6 14:34:58 2010 -0700 raw: fsync method is now required Commit 148f948ba877f4d3cdef036b1ff6d9f68986706a (vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode) broke the raw driver. We now call through generic_file_aio_write -> generic_write_sync -> vfs_fsync_range. vfs_fsync_range has: if (!fop || !fop->fsync) { ret = -EINVAL; goto out; } But drivers/char/raw.c doesn't set an fsync method. We have two options: fix it or remove the raw driver completely. I'm happy to do either, the fact this has been broken for so long suggests it is rarely used. The patch below adds an fsync method to the raw driver. My knowledge of the block layer is pretty sketchy so this could do with a once over. If we instead decide to remove the raw driver, this patch might still be useful as a backport to 2.6.33 and 2.6.32. Signed-off-by: Anton Blanchard Reviewed-by: Jan Kara Cc: Christoph Hellwig Cc: Alexander Viro Cc: Jens Axboe Reviewed-by: Jeff Moyer Tested-by: Jeff Moyer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da258016293f5e82b36db67ac3db3931a4fbbc4d Author: Alexander Shishkin Date: Tue Apr 6 14:34:57 2010 -0700 mb862xxfb: update Valentin's email address Since Valentin's email address @siemens.com is no longer valid, it's time to change it to the one that actually works so that I don't have to manually forward patches against mb862xx to him every time. Signed-off-by: Alexander Shishkin Acked-by: Valentin Sitdikov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a71dc148c2674bbb5988ea924702137993b3305a Author: Randy Dunlap Date: Tue Apr 6 14:34:57 2010 -0700 mb862xxfb: fix acceleration module license mb862xxfb_accel built as a separate module, but it does not have a MODULE_LICENSE, so it taints the kernel. Add a MODULE_LICENSE to it (same as mb862xxfb license). mb862xxfb_accel: module license 'unspecified' taints kernel. Or should mb862xxfb_accel be built into the mb862xxfb binary file instead? Signed-off-by: Randy Dunlap Acked-by: Alexander Shishkin Cc: Valentin Sitdikov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6da1a5abc2bf3a06a5bda08e0f6833409234666 Author: KOSAKI Motohiro Date: Tue Apr 6 14:34:56 2010 -0700 mm: revert "vmscan: get_scan_ratio() cleanup" Shaohua Li reported his tmpfs streaming I/O test can lead to make oom. The test uses a 6G tmpfs in a system with 3G memory. In the tmpfs, there are 6 copies of kernel source and the test does kbuild for each copy. His investigation shows the test has a lot of rotated anon pages and quite few file pages, so get_scan_ratio calculates percent[0] (i.e. scanning percent for anon) to be zero. Actually the percent[0] shoule be a big value, but our calculation round it to zero. Although before commit 84b18490 ("vmscan: get_scan_ratio() cleanup") , we have the same problem too. But the old logic can rescue percent[0]==0 case only when priority==0. It had hided the real issue. I didn't think merely streaming io can makes percent[0]==0 && priority==0 situation. but I was wrong. So, definitely we have to fix such tmpfs streaming io issue. but anyway I revert the regression commit at first. This reverts commit 84b18490d1f1bc7ed5095c929f78bc002eb70f26. Signed-off-by: KOSAKI Motohiro Reported-by: Shaohua Li Cc: Rik van Riel Cc: KAMEZAWA Hiroyuki Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e191f7bb083544dc4fa3879ff81caf97c65d197 Author: Anton Blanchard Date: Tue Apr 6 14:34:55 2010 -0700 devmem: handle class_create() failure I hit this when we had a bug in IDR for a few days. Basically sysfs would fail to create new inodes since it uses an IDR and therefore class_create would fail. While we are unlikely to see this fail we may as well handle it instead of oopsing. Signed-off-by: Anton Blanchard Reviewed-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70655c06bd3f25111312d63985888112aed15ac5 Author: Wu Fengguang Date: Tue Apr 6 14:34:53 2010 -0700 readahead: fix NULL filp dereference btrfs relocate_file_extent_cluster() calls us with NULL filp: [ 4005.426805] BUG: unable to handle kernel NULL pointer dereference at 00000021 [ 4005.426818] IP: [] page_cache_sync_readahead+0x18/0x3e Signed-off-by: Wu Fengguang Cc: Yan Zheng Reported-by: Kirill A. Shutemov Tested-by: Kirill A. Shutemov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12765517d9dbb477a2432375938f1eb5bdbcb532 Author: Wolfram Sang Date: Tue Apr 6 14:34:52 2010 -0700 device_attributes: add sysfs_attr_init() for dynamic attributes Made necessary by 6992f5334995af474c2b58d010d08bc597f0f2fe ("sysfs: Use one lockdep class per sysfs attribute"). Prevents further "key xxx not in .data" bug-reports. Although some attributes could probably be converted to static ones, this is left for people having hardware to test. Found by this semantic patch: @ init @ type T; identifier A; @@ T { ... struct device_attribute A; ... }; @ main extends init @ expression E; statement S; identifier err; T *name; @@ ... when != sysfs_attr_init(&name->A.attr); ( + sysfs_attr_init(&name->A.attr); if (device_create_file(E, &name->A)) S | + sysfs_attr_init(&name->A.attr); err = device_create_file(E, &name->A); ) While reviewing, I put the initialization to apropriate places. Signed-off-by: Wolfram Sang Cc: Eric W. Biederman Cc: Greg KH Cc: Benjamin Herrenschmidt Cc: Grant Likely Cc: Mike Isely Cc: Mauro Carvalho Chehab Cc: Sujith Thomas Cc: Matthew Garrett Cc: Len Brown Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 975f8c5653acba461229e671202113da69b87be1 Author: Sergey Senozhatsky Date: Tue Apr 6 14:34:51 2010 -0700 drivers/thermal/thermal_sys.c: fix 'key f70f4b50 not in .data' in thermal_sys Initialize sysfs attributes before device_create_file call. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=15548 Signed-off-by: Wolfram Sang Signed-off-by: Sergey Senozhatsky Cc: "Eric W. Biederman" Cc: Greg KH Cc: Zhang Rui Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 829f46af39d50a43e260adaa9e7bbdff74a9f696 Author: Dan Carpenter Date: Tue Apr 6 14:34:50 2010 -0700 cciss: unlock on error path We take the spin_lock again in fail_all_cmds() so we need to unlock here. Signed-off-by: Dan Carpenter Acked-by: Steve Cameron Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6eb69acfdfe258b4a3f69fa5ced8928bbebdba9 Author: Dan Carpenter Date: Tue Apr 6 14:34:50 2010 -0700 mxser: spin_lock() => spin_lock_irq() This should be spin_lock_irq() to match the spin_unlock_irq(). Originally it was a lock_kernel() but we switched everything to spin_lock_irq() last November. [akpm@linux-foundation.org: fix the MOXA_ASPP_MON case too (per Jiri)] Signed-off-by: Dan Carpenter Cc: Jiri Slaby Cc: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cdeebaddb7f97298c73df4d43d31e164fc8aa0e4 Author: Madhusudhan Chikkature Date: Tue Apr 6 14:34:49 2010 -0700 omap hsmmc: fix a bug in card remove scenario The reset of data lines when the card is removed from the cage results in a failure.The failure is seen if the card is removed from the cage when TC is pending after a CMD with data received CC.The reset logic leaves the controller in a state where niether a TC is received nor DTO. The rest code can be safely removed here since it is taken care in the IRQ handler. Signed-off-by: Madhusudhan Chikkature Cc: Adrian Hunter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a481800caf78f4750cc673c8baed12b5d703ff6 Author: Julia Lawall Date: Tue Apr 6 14:34:48 2010 -0700 drivers/gpio/timbgpio.c: add missing unlock In an error handling case the lock is not unlocked. The return is converted to a goto, to share the unlock at the end of the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irqsave (E1,...); ... when != E1 * return ...; ...+> } // Signed-off-by: Julia Lawall Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c70c036f04b7b74282477d6a51bbcc8bb8897e03 Author: Julia Lawall Date: Tue Apr 6 14:34:46 2010 -0700 drivers/char/amiserial.c: add missing local_irq_restore rs_init() is failing to restore interrupts on two error paths, and is incorrectly calling tty_unregister_driver() with local interrupts disabled. Fix these things by disabling interrupts later, after the reauest_irq() calls. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * local_irq_save (E1,...); ... when != E1 * return ...; ...+> } // [akpm@linux-foundation.org: reimplement the fix] Signed-off-by: Julia Lawall Cc: Thadeu Lima de Souza Cascardo Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8557dc71949e80c298ec298b902ac6ebbc5d9dd Author: Justin P. Mattock Date: Tue Apr 6 14:34:45 2010 -0700 fbdev: rename imacfb.txt to efifb.txt and change imacfb to efifb. Rename imacfb.txt to efifb.txt since imacfb was moved to efifb,and change imacfb to efifb. Signed-off-by: Justin P. Mattock Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc95c6d9b4433525ed9484089b6e092f3516a92b Author: Jan Beulich Date: Tue Apr 6 14:34:44 2010 -0700 vesafb: use platform_driver_probe() instead of platform_driver_register() Commit c2e13037e6794bd0d9de3f9ecabf5615f15c160b ("platform-drivers: move probe to .devinit.text in drivers/video") introduced a huge amount of section mismatch warnings in vesafb code. Rather than converting all of the annotations, do the obvious and revert the __init -> __devinit change, and use the recommended (in that patch) alternative to calling platform_driver_register(): vesafb depends on information obtained from by kernel at boot time, cannot be a module, and no post-boot devices can ever show up. Signed-off-by: Jan Beulich Cc: Greg KH Acked-by: Uwe Kleine-König Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 530cd330dc3865e3107304a6e84fdc332aa72f7d Author: David Härdeman Date: Tue Apr 6 14:34:43 2010 -0700 include/linux/kfifo.h: fix INIT_KFIFO() DECLARE_KFIFO creates a union with a struct kfifo and a buffer array with size [size + sizeof(struct kfifo)]. INIT_KFIFO then sets the buffer pointer in struct kfifo to point to the beginning of the buffer array which means that the first call to kfifo_in will overwrite members of the struct kfifo. Signed-off-by: David Härdeman Acked-by: Stefani Seibold Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3a2e76c77fa22b114e421ac11dec0c56c3503fb Author: KAMEZAWA Hiroyuki Date: Tue Apr 6 14:34:42 2010 -0700 mm: avoid null-pointer deref in sync_mm_rss() - We weren't zeroing p->rss_stat[] at fork() - Consequently sync_mm_rss() was dereferencing tsk->mm for kernel threads and was oopsing. - Make __sync_task_rss_stat() static, too. Addresses https://bugzilla.kernel.org/show_bug.cgi?id=15648 [akpm@linux-foundation.org: remove the BUG_ON(!mm->rss)] Reported-by: Troels Liebe Bentsen Signed-off-by: KAMEZAWA Hiroyuki "Michael S. Tsirkin" Cc: Andrea Arcangeli Cc: Rik van Riel Cc: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b01d0942c2b7a3026d2b7d38b5773d3d00420e06 Author: Andrew Morton Date: Tue Apr 6 14:34:41 2010 -0700 bitops: remove temporary for_each_bit() Migration has been completed so remove this now. There's one straggler in linux-next's drivers/mtd/sm_ftl.c. A patch has been sent. Cc: Akinobu Mita Cc: Stephen Rothwell Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 179b284e2fc0c638035843968f7d7ab8ab701525 Author: Jeff Dike Date: Wed Apr 7 09:59:10 2010 -0400 vhost-net: fix vq_memory_access_ok error checking vq_memory_access_ok needs to check whether mem == NULL Signed-off-by: Jeff Dike Signed-off-by: Michael S. Tsirkin commit af2b021fd6dc3e145d20f5eb927af9590c80bc44 Author: Michal Simek Date: Wed Apr 7 11:44:00 2010 +0200 microblaze: Remove unused variable from ptrace Patch b3c1e01a09d6af2dd7811a066ffcfc5171be2bed should do it. Signed-off-by: Michal Simek commit 7a325aa26cf8eb367b5d8b675a9425bef18d351a Author: John Linn Date: Wed Apr 7 11:03:15 2010 +0200 microblaze: io.h: Add io big-endian function Add new io big-endian function. They will be used for uartlite and spi driver. Signed-off-by: John Linn Signed-off-by: Michal Simek commit 7ad7b218f4aae4f395b3b4cef261572556bbd20a Author: Maurus Cuelenaere Date: Tue Apr 6 18:12:52 2010 +0200 ALSA: hda: Add support for Medion WIM2160 This adds support for the Medion WIM2160 soundcard. There's no PCI quirk added because it has the same PCI id as the Medion MD2. Signed-off-by: Maurus Cuelenaere Signed-off-by: Takashi Iwai commit 4b83873d3da0704987cb116833818ed96214ee29 Author: Joerg Roedel Date: Wed Apr 7 12:57:35 2010 +0200 x86/gart: Disable GART explicitly before initialization If we boot into a crash-kernel the gart might still be enabled and its caches might be dirty. This can result in undefined behavior later. Fix it by explicitly disabling the gart hardware before initialization and flushing the caches after enablement. Signed-off-by: Joerg Roedel commit 39a37ce1cc5eef420604fa68b776ff5dab400340 Author: Dan Carpenter Date: Tue Apr 6 19:45:12 2010 +0300 dma-debug: Cleanup for copy-loop in filter_write() Earlier in this function we set the last byte of "buf" to NULL so we always hit the break statement and "i" is never equal to NAME_MAX_LEN. This patch doesn't change how the driver works but it silences a Smatch warning and it makes it clearer that we don't write past the end of the array. Signed-off-by: Dan Carpenter Signed-off-by: Joerg Roedel commit 12ff4bf58b64ad3b8fb8e27889c99dcd5aa6fb0b Merge: 2eaa9cf 20a1cfb Author: Joerg Roedel Date: Wed Apr 7 14:36:20 2010 +0200 Merge branch 'amd-iommu/fixes' into iommu/fixes commit 20a1cfba340f23a7ca62391e199c40c86b762ea3 Author: Joerg Roedel Date: Wed Apr 7 14:28:26 2010 +0200 x86/amd-iommu: Remove obsolete parameter documentation Support for the share and fullflush parameters was removed. Remove the documentation about them too. Signed-off-by: Joerg Roedel commit c0858552c088616c18879c347d9e0daa98cf2b15 Author: Jiri Kosina Date: Wed Apr 7 12:10:29 2010 +0200 HID: ntrig: explain firmware quirk Commit 6549981bc54777c ("HID: fix N-trig touch panel with recent firmware") adds a quirk that is needed for devices with more recent firmware so that they become operational. As it's not directly obvious from the code why is it needed, a comment is worthwile. Signed-off-by: Jiri Kosina commit d18c69d3898985c66cd6e878b8f576fd9a21ab39 Author: Chris Wright Date: Fri Apr 2 18:27:55 2010 -0700 x86/amd-iommu: use for_each_pci_dev Replace open coded version with for_each_pci_dev Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 8f9f55e83e939724490d7cde3833c4883c6d1310 Author: Chris Wright Date: Fri Apr 2 18:27:54 2010 -0700 Revert "x86: disable IOMMUs on kernel crash" This effectively reverts commit 61d047be99757fd9b0af900d7abce9a13a337488. Disabling the IOMMU can potetially allow DMA transactions to complete without being translated. Leave it enabled, and allow crash kernel to do the IOMMU reinitialization properly. Cc: stable@kernel.org Cc: Joerg Roedel Cc: Eric Biederman Cc: Neil Horman Cc: Vivek Goyal Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 549c90dc9a6d659e792b2a42a0930c7da015ea4a Author: Chris Wright Date: Fri Apr 2 18:27:53 2010 -0700 x86/amd-iommu: warn when issuing command to uninitialized cmd buffer To catch future potential issues we can add a warning whenever we issue a command before the command buffer is fully initialized. Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 75f66533bc883f761a7adcab3281fe3323efbc90 Author: Chris Wright Date: Fri Apr 2 18:27:52 2010 -0700 x86/amd-iommu: enable iommu before attaching devices Hit another kdump problem as reported by Neil Horman. When initializaing the IOMMU, we attach devices to their domains before the IOMMU is fully (re)initialized. Attaching a device will issue some important invalidations. In the context of the newly kexec'd kdump kernel, the IOMMU may have stale cached data from the original kernel. Because we do the attach too early, the invalidation commands are placed in the new command buffer before the IOMMU is updated w/ that buffer. This leaves the stale entries in the kdump context and can renders device unusable. Simply enable the IOMMU before we do the attach. Cc: stable@kernel.org Cc: Neil Horman Cc: Vivek Goyal Signed-off-by: Chris Wright Signed-off-by: Joerg Roedel commit 55b371d4ac5ed6f3338a398fbf9f2eb9ace78799 Merge: 7445c99 f9700d5 Author: Takashi Iwai Date: Wed Apr 7 09:54:46 2010 +0200 Merge branch 'fix/hda' into for-linus commit 7445c995b06f2a999541ccf127886d24a2a7d012 Merge: 1172234 5f712b2 Author: Takashi Iwai Date: Wed Apr 7 09:54:41 2010 +0200 Merge branch 'fix/asoc' into for-linus commit 1172234cbe94658c16bc83e50ca57b5a47085209 Merge: 85255c0 b0cc58a Author: Takashi Iwai Date: Wed Apr 7 09:54:33 2010 +0200 Merge branch 'fix/misc' into for-linus commit 47c4c864af60d14926f4017d23968a8341b8ab9f Author: Michal Simek Date: Tue Apr 6 10:19:30 2010 +0200 microblaze: Enable memory leak detector Enable DEBUG_KMEMLEAK for microblaze Signed-off-by: Michal Simek commit 4bb30baa6d5e7660c06e3b50d8a8a76d402c7170 Author: Michal Simek Date: Tue Apr 6 18:51:37 2010 +0200 microblaze: Fix futex code Use logical and NOT for ANDN. It was likely type fault. Signed-off-by: Michal Simek commit d2bf98e6fc2612cbd2fc40f75a1e2c5d60262331 Author: Steven J. Magnani Date: Fri Apr 2 13:29:39 2010 -0500 microblaze: Fix ftrace_update_ftrace_func panic The Microblaze dynamic ftrace code assumes a call ordering that is not met in all scenarios. Specifically, executing a command similar to: echo 105 > /sys/kernel/debug/tracing/set_ftrace_pid before any other tracing-related commands results in a kernel panic: BUG: failure at arch/microblaze/kernel/ftrace.c:198/ftrace_update_ftrace_func()! Recoding ftrace_update_ftrace_func() to use &ftrace_caller directly eliminates the need to capture its address elsewhere (and thus rely on a particular call sequence). Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit 3a89b4a9ca7ce11e3b7d5119aea917b9fc29a302 Author: Alex Deucher Date: Tue Apr 6 12:35:26 2010 -0400 drm/radeon/kms/combios: verify dac_adj values are valid Some vbios dac_adj tables are all zeros. Check for that case and use the default table if so. Should fix fdo bug 27478. Signed-off-by: Alex Deucher Cc: stable Signed-off-by: Dave Airlie commit affd858907aae7bf7d7d7fa02ff19f35de2ff1d8 Author: Alex Deucher Date: Tue Apr 6 01:22:41 2010 -0400 drm/radeon/kms: clean up atom dac handling - make sure legacy dac1 has an enc priv - remove unused num var - no need for extra tv_dac var in atom dac functions Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7741618766417e77f49013400d3672d65578928a Author: Alex Deucher Date: Tue Apr 6 00:05:46 2010 -0400 drm/radeon/kms: legacy tv dac cleanup - fix formatting - clean up tv_dac_cntl handling for tv Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 01a356fd2a5f5e72e783312037ace05df4ab4e32 Author: Dan Carpenter Date: Tue Apr 6 10:55:33 2010 +0000 drm/radeon/kms: small memory leak in atom exit code This is an unlikely memory leak, but we may as well fix it. It's easy to fix and every static checker will complain if we don't. Signed-off-by: Dan Carpenter Reviewed-by: Matt Turner Signed-off-by: Dave Airlie commit ba1163de2f74d624e7b0e530c4104c98ede0045a Author: Adam Jackson Date: Tue Apr 6 16:11:00 2010 +0000 drm/edid/quirks: Envision EN2028 Claims 1280x1024 preferred, physically 1600x1200 cf. http://bugzilla.redhat.com/530399 Signed-off-by: Adam Jackson Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 720fc22a7af79d91ec460c80efa92c65c12d105e Author: Mikulas Patocka Date: Tue Apr 6 16:43:33 2010 -0700 ide: Fix IDE taskfile with cfq scheduler When ide taskfile access is being used (for example with hdparm --security commands) and cfq scheduler is selected, the scheduler crashes on BUG in cfq_put_request. The reason is that the cfq scheduler is tracking counts of read and write requests separately; the ide-taskfile subsystem allocates a read request and then flips the flag to make it a write request. The counters in cfq will mismatch. This patch changes ide-taskfile to allocate the READ or WRITE request as required and don't change the flag later. Signed-off-by: Mikulas Patocka Signed-off-by: David S. Miller commit 18e5b539b451158be7aae6c390a20f0d3e5b9213 Author: Tejun Heo Date: Tue Apr 6 19:23:33 2010 +0900 nodemask: include slab.h from drivers/base/node.c NODEMASK_ALLOC/FREE are mapped to kmalloc/free if NODES_SHIFT > 8. Among its several users, drivers/base/node.c wasn't including slab.h leading to build failure if NODES_SHIFT > 8. Include slab.h from drivers/base/node.c. This isn't an ideal solution but including slab.h directly from nodemask.h is not an option because nodemask.h gets included everywhere. For now, make it work by including slab.h from its users. Signed-off-by: Tejun Heo Reported-by: Ingo Molnar commit 6549981bc54777c37eccf987e227aff47022ab7c Author: Stephane Chatty Date: Tue Apr 6 22:22:58 2010 +0200 HID: fix N-trig touch panel with recent firmware Added an init message that avoids device freeze with recent firmware. Signed-off-by: Stephane Chatty Tested-by: Rafi Rubin Signed-off-by: Jiri Kosina commit c25f7cf2032aaac9bd50d6eee982719878538082 Merge: f79e1ce dadf28a ac7729d 3162b6f bc73675 b7b30de bf02bd2 1638bca 0f9b75e 17c452f Author: Len Brown Date: Tue Apr 6 17:06:22 2010 -0400 Merge branches 'battery', 'bugzilla-14667', 'bugzilla-15096', 'bugzilla-15480', 'bugzilla-15521', 'bugzilla-15605', 'gpe-reference-counters', 'misc', 'pxm-fix' and 'video-random-key' into release commit ac7729da880e742613129ee6dea0045328670d2d Author: Rafael J. Wysocki Date: Mon Apr 5 01:43:51 2010 +0200 ACPI / PM: Move ACPI video resume to a PM notifier There is a problem with the ACPI video resume routine that it's executed before the GPU that may be accessed by it. To fix this issue, move the ACPI video resume to a power management notifier, so that's executed after resuming all devices, including the GPU. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=15096, which is a listed regression from 2.6.31. Signed-off-by: Rafael J. Wysocki Tested-by: Rafał Miłecki Acked-by: Matthew Garrett Signed-off-by: Len Brown commit 0fdf86754f70e813845af4abaa805165ce57a0bb Merge: 94c4fce 147a274 Author: Linus Torvalds Date: Tue Apr 6 13:03:52 2010 -0700 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: fix up alignf issues commit 94c4fcec0144e032ef7d4ec761ab81d570b0bc2a Merge: 14e71e4 753649d Author: Linus Torvalds Date: Tue Apr 6 13:03:22 2010 -0700 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Force MSI irq handlers to run with interrupts disabled commit 1144601118507f8b3b676a9a392584d216d3f2cc Author: Felix Fietkau Date: Tue Apr 6 12:05:01 2010 -0700 ath9k: fix double calls to ath_radio_enable With the enable_radio being uninitialized, ath_radio_enable() might be called twice, which can leave some hardware in an undefined state. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 0379185b6c0d1e8252023698cf1091da92a3dc03 Author: Johannes Berg Date: Tue Apr 6 11:18:42 2010 +0200 mac80211: annotate station rcu dereferences The new RCU lockdep support warns about these in some contexts -- make it aware of the locks used to protect all this. Different locks are used in different contexts which unfortunately means we can't get perfect checking. Also remove rcu_dereference() from two places that don't actually dereference the pointers. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 1cb561f83793191cf86a2db3948d28f5f42df9ff Author: Javier Cardona Date: Mon Mar 29 11:00:20 2010 -0700 mac80211: Handle mesh action frames in ieee80211_rx_h_action This fixes the problem introduced in commit 8404080568613d93ad7cf0a16dfb68 which broke mesh peer link establishment. changes: v2 Added missing break (Johannes) v3 Broke original patch into two (Johannes) Signed-off-by: Javier Cardona Cc: stable@kernel.org Reviewed-by: Johannes Berg Signed-off-by: John W. Linville commit f05337c6ac48d19d354e0640a8eb8fc884f82bcc Author: Pavel Shilovsky Date: Mon Apr 5 09:59:14 2010 +0400 not overwriting file_lock structure after GET_LK If we have preventing lock, cifs should overwrite file_lock structure with info about preventing lock. If we haven't preventing lock, cifs should leave it unchanged except for the lock type (change it to F_UNLCK). Signed-off-by: Pavel Shilovsky Reviewed-by: Jeff Layton Signed-off-by: Steve French commit 14e71e4fb94c340273534a6d7f210aa82a3ca717 Merge: ab195c5 8ba42bd Author: Linus Torvalds Date: Tue Apr 6 09:56:40 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] hpwdt - fix lower timeout limit [WATCHDOG] iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs [WATCHDOG] doc: Fix use of WDIOC_SETOPTIONS ioctl. [WATCHDOG] doc: watchdog simple example: don't fail on fsync() [WATCHDOG] set max63xx driver as ARM only [WATCHDOG] powerpc: pika_wdt ident cannot be const commit b0cc58a25d04160d39a80e436847eaa2fbc5aa09 Author: Dan Carpenter Date: Tue Apr 6 19:31:26 2010 +0300 ALSA: mixart: range checking proc file The original code doesn't take into consideration that the value of MIXART_BA0_SIZE - pos can be less than zero which would lead to a large unsigned value for "count". Also I moved the check that read size is a multiple of 4 bytes below the code that adjusts "count". Signed-off-by: Dan Carpenter Cc: Acked-by: Linus Torvalds Signed-off-by: Takashi Iwai commit 134fbadf028a5977a1b06b0253d3ee33e6f0c642 Author: Vince Weaver Date: Tue Apr 6 10:01:19 2010 -0400 perf, x86: Enable Nehalem-EX support According to Intel Software Devel Manual Volume 3B, the Nehalem-EX PMU is just like regular Nehalem (except for the uncore support, which is completely different). Signed-off-by: Vince Weaver Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: "H. Peter Anvin" Cc: Arjan van de Ven Cc: Lin Ming LKML-Reference: Signed-off-by: Ingo Molnar commit 8c40041f75a202ed6a3b38143b823cb80f6d6b7c Author: Arnaldo Carvalho de Melo Date: Tue Apr 6 10:37:33 2010 -0300 perf kmem: Fix breakage introduced by 5a0e3ad slab.h script Commit 5a0e3ad ("include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h") added a '#include ' to tools/perf/builtin-kmem.h because: that tool has lines like this: if (!strcmp(event->name, "kmalloc") || !strcmp(event->name, "kmem_cache_alloc")) { process_alloc_event(data, event, cpu, timestamp, thread, 0); return; } So, using the script regex: >>> import re >>> s = re.compile(r'^(|.*[^a-zA-Z0-9_])_*(slab_is_available|kmem_cache_|k[mzc]alloc|krealloc|kz?free|ksize|__getname|putname)') >>> l = ' !strcmp(event->name, "kmem_cache_alloc")) {' >>> s.search(l) <_sre.SRE_Match object at 0xb77b1ad0> >>> Remove that file that is not available in the tools/perf include path and thus builtin-kmem.c couldn't be compiled. Reported-by: Peter Zijlstra Cc: Christoph Lameter Cc: Frédéric Weisbecker Cc: Lee Schermerhorn Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Tejun Heo Cc: Linus Torvalds LKML-Reference: <1270561053-14308-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit ab195c58b864802c15e494f06ae109413e12d50b Merge: cb4361c 445d211 Author: Linus Torvalds Date: Tue Apr 6 08:36:31 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: unlock HPA if device shrunk libata: disable NCQ on Crucial C300 SSD libata: don't whine on spurious IRQ commit cb4361c1dc29cd870f664c004b1817106fbce0fa Merge: 309361e fb9e2d8 Author: Linus Torvalds Date: Tue Apr 6 08:34:06 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits) smc91c92_cs: fix the problem of "Unable to find hardware address" r8169: clean up my printk uglyness net: Hook up cxgb4 to Kconfig and Makefile cxgb4: Add main driver file and driver Makefile cxgb4: Add remaining driver headers and L2T management cxgb4: Add packet queues and packet DMA code cxgb4: Add HW and FW support code cxgb4: Add register, message, and FW definitions netlabel: Fix several rcu_dereference() calls used without RCU read locks bonding: fix potential deadlock in bond_uninit() net: check the length of the socket address passed to connect(2) stmmac: add documentation for the driver. stmmac: fix kconfig for crc32 build error be2net: fix bug in vlan rx path for big endian architecture be2net: fix flashing on big endian architectures be2net: fix a bug in flashing the redboot section bonding: bond_xmit_roundrobin() fix drivers/net: Add missing unlock net: gianfar - align BD ring size console messages net: gianfar - initialize per-queue statistics ... commit 309361e09ca9e9670dc8664e5d14125bf82078af Author: Dan Carpenter Date: Tue Apr 6 13:45:39 2010 +0300 proc: copy_to_user() returns unsigned copy_to_user() returns the number of bytes left to be copied. This was a typo from: d82ef020cf31 "proc: pagemap: Hold mmap_sem during page walk". Signed-off-by: Dan Carpenter Acked-by: Matt Mackall Signed-off-by: Linus Torvalds commit 445d211b0da4e9a6e6d576edff85085c2aaf53df Author: Tejun Heo Date: Mon Apr 5 10:33:13 2010 +0900 libata: unlock HPA if device shrunk Some BIOSes don't configure HPA during boot but do so while resuming. This causes harddrives to shrink during resume making libata detach and reattach them. This can be worked around by unlocking HPA if old size equals native size. Add ATA_DFLAG_UNLOCK_HPA so that HPA unlocking can be controlled per-device and update ata_dev_revalidate() such that it sets ATA_DFLAG_UNLOCK_HPA and fails with -EIO when the above condition is detected. This patch fixes the following bug. https://bugzilla.kernel.org/show_bug.cgi?id=15396 Signed-off-by: Tejun Heo Reported-by: Oleksandr Yermolenko Signed-off-by: Jeff Garzik commit 68b0ddb289220b6d4d865be128939663be34959d Author: Tejun Heo Date: Mon Apr 5 10:51:26 2010 +0900 libata: disable NCQ on Crucial C300 SSD Crucial said, Thank you for contacting us. We know that with our M225 line of SSDs you sometimes need to disable NCQ (native command queuing) to avoid just the type of errors you're seeing. Our recommendation for the M225 is to add libata.force=noncq to your Linux kernel boot options, under the kernel ATA library option. I have sent your feedback to the engineers working on the C300, and asked them to please pass it on to the firmware team. I have been notified that they are in the process of testing and finalizing a new firmware version, that you can expect to see released around the end of April. We’ll keep you posted as to when it will be available for download. So, turn off NCQ on the drive w/ the current firmware revision. Reported in the following bug. https://bugzilla.kernel.org/show_bug.cgi?id=15573 Signed-off-by: Tejun Heo Reported-by: lethalwp@scarlet.be Reported-by: Luke Macken Signed-off-by: Jeff Garzik commit c710f785329aa751e6cf3b901c1cef167ea0648d Author: Tejun Heo Date: Wed Mar 31 16:41:18 2010 +0900 libata: don't whine on spurious IRQ On configurations where IRQ line is shared with a different controller, spurious IRQs may happen continuously. The message was put there primarily for debugging anyway. Kill it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8ba42bd88c6982fe224b09c33151c797b0fdf1a5 Author: Thomas Mingarelli Date: Wed Mar 17 15:33:31 2010 +0000 [WATCHDOG] hpwdt - fix lower timeout limit [Novell Bug 581103] HP Watchdog driver has arbitrary (wrong) timeout limits. Fix the lower timeout limit to a more appropriate value. Signed-off-by: Thomas Mingarelli Signed-off-by: Wim Van Sebroeck Cc: stable commit 4c7d849204341dea19be941a3c1eb4bdffac9cc4 Author: Seth Heasley Date: Thu Mar 25 16:14:41 2010 -0700 [WATCHDOG] iTCO_wdt: TCO Watchdog patch for additional Intel Cougar Point DeviceIDs This patch adds the Intel Cougar Point PCH LPC Controller DeviceIDs for iTCO Watchdog. Signed-off-by: Seth Heasley Signed-off-by: Wim Van Sebroeck Cc: stable commit dfc333834cb86805485920dc77ee0f2fbb484462 Author: James Hogan Date: Mon Apr 5 11:31:29 2010 +0100 [WATCHDOG] doc: Fix use of WDIOC_SETOPTIONS ioctl. In the watchdog-test program and watchdog-api.txt, pass the values to the WDIOC_SETOPTIONS ioctl as a pointer to an integer containing the values intead of directly in the third ioctl argument. The actual watchdog drivers in drivers/watchdog don't read the options directly from the argument but use get_user and copy_from_user. Signed-off-by: James Hogan Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 9f680ce04ea19dabbbafe01b57b61930a9b70741 Author: Chris Mason Date: Tue Apr 6 09:37:47 2010 -0400 Btrfs: make sure the chunk allocator doesn't create zero length chunks A recent commit allowed for smaller chunks to be created, but didn't make sure they were always bigger than a stripe. After some divides, this led to zero length stripes. Signed-off-by: Chris Mason commit 84fba5ec91f11c0efb27d0ed6098f7447491f0df Author: Anton Blanchard Date: Tue Apr 6 17:02:19 2010 +1000 sched: Fix sched_getaffinity() taskset on 2.6.34-rc3 fails on one of my ppc64 test boxes with the following error: sched_getaffinity(0, 16, 0x10029650030) = -1 EINVAL (Invalid argument) This box has 128 threads and 16 bytes is enough to cover it. Commit cd3d8031eb4311e516329aee03c79a08333141f1 (sched: sched_getaffinity(): Allow less than NR_CPUS length) is comparing this 16 bytes agains nr_cpu_ids. Fix it by comparing nr_cpu_ids to the number of bits in the cpumask we pass in. Signed-off-by: Anton Blanchard Reviewed-by: KOSAKI Motohiro Cc: Sharyathi Nagesh Cc: Ulrich Drepper Cc: Peter Zijlstra Cc: Linus Torvalds Cc: Jack Steiner Cc: Russ Anderson Cc: Mike Travis LKML-Reference: <20100406070218.GM5594@kryten> Signed-off-by: Ingo Molnar commit 9d32c30542f9ecdb4b96a1a960924c9f403e3562 Author: H Hartley Sweeten Date: Mon Apr 5 22:29:09 2010 -0700 Input: matrix_keypad - allow platform to disable key autorepeat In an embedded system the matrix_keypad driver might be used to interface with an external control panel and not an actual keyboard. On the control panel some of the keys could be used to turn on/off various functions. If key autorepeat is enabled this causes the function to quickly toggle between the on and off states and makes operation difficult. Add an option in the platform-specific data to disable the key autorepeat. Signed-off-by: H Hartley Sweeten Signed-off-by: Dmitry Torokhov commit 5e28d8eb68c12eab9c4a47b42ba993a6420d71d3 Author: Chase Douglas Date: Mon Apr 5 22:29:08 2010 -0700 Input: ALPS - add signature for HP Pavilion dm3 laptops Tested by a user running Ubuntu 9.10 in the following bug report. BugLink: http://bugs.launchpad.net/bugs/545307 Signed-off-by: Chase Douglas Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov commit 2c860a1101471a69f7a6778b7b1fb43344c38619 Author: Dominik Brodowski Date: Mon Apr 5 22:29:09 2010 -0700 Input: i8042 - spelling fix Signed-off-by: Dominik Brodowski Signed-off-by: Dmitry Torokhov commit 643acacf02679befd0f98ac3c5fecb805f1c9548 Author: Alex Deucher Date: Mon Apr 5 23:57:52 2010 -0400 drm/radeon/kms: fix washed out image on legacy tv dac bad cast was overwriting the tvdac adj values Fixes fdo bug 27478 Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 5fbfb18d7a5b846946d52c4a10e3aaa213ec31b6 Author: Nick Piggin Date: Thu Apr 1 19:09:40 2010 +1100 Fix up possibly racy module refcounting Module refcounting is implemented with a per-cpu counter for speed. However there is a race when tallying the counter where a reference may be taken by one CPU and released by another. Reference count summation may then see the decrement without having seen the previous increment, leading to lower than expected count. A module which never has its actual reference drop below 1 may return a reference count of 0 due to this race. Module removal generally runs under stop_machine, which prevents this race causing bugs due to removal of in-use modules. However there are other real bugs in module.c code and driver code (module_refcount is exported) where the callers do not run under stop_machine. Fix this by maintaining running per-cpu counters for the number of module refcount increments and the number of refcount decrements. The increments are tallied after the decrements, so any decrement seen will always have its corresponding increment counted. The final refcount is the difference of the total increments and decrements, preventing a low-refcount from being returned. Signed-off-by: Nick Piggin Acked-by: Rusty Russell Signed-off-by: Linus Torvalds commit 95beb690170e6ce918fe53c73a0fcc7cf64d704a Author: Alex Deucher Date: Thu Apr 1 19:08:47 2010 +0000 drm/radeon/kms/atom: fix gpio i2c table overrun (v2) The GPIO_I2C_INFO table does not always have ATOM_MAX_SUPPORTED_DEVICE entries. Limit the number of indices to the size of the table. Should fix Novell bug 589022. v2: fix typo Signed-off-by: Alex Deucher Cc: Stable Signed-off-by: Dave Airlie commit 57b54ea6b7863ccfeb41851b5f58f9fd1b83c79e Author: Michel Dänzer Date: Fri Apr 2 16:59:06 2010 +0000 drm/radeon: R300 AD only has one quad pipe. Gleaned from the Mesa code. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=27355 . Signed-off-by: Michel Dänzer Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 7da23b86e14b77c094b11a9fa5ef5b3758fc9193 Merge: 749d229 421e33d Author: Linus Torvalds Date: Mon Apr 5 15:37:12 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] qla1280: retain firmware for error recovery [SCSI] attirbute_container: Initialize sysfs attributes with sysfs_attr_init [SCSI] advansys: fix regression with request_firmware change [SCSI] qla2xxx: Updated version number to 8.03.02-k2. [SCSI] qla2xxx: Prevent sending mbx commands from sysfs during isp reset. [SCSI] qla2xxx: Disable MSI on qla24xx chips other than QLA2432. [SCSI] qla2xxx: Check to make sure multique and CPU affinity support is not enabled at the same time. [SCSI] qla2xxx: Correct vp_idx checking during PORT_UPDATE processing. [SCSI] qla2xxx: Honour "Extended BB credits" bit for CNAs. [SCSI] scsi_transport_fc: Make sure commands are completed when rport is offline [SCSI] libiscsi: Fix recovery slowdown regression commit c8e42de6efcf4e9bed79a8b030261d799ea1960a Author: Kevin Hilman Date: Thu Feb 25 16:24:41 2010 -0800 davinci: DM365: fix duplicate default IRQ priorities IRQ 29 has two possible interrupts DDRINT and RTC, but having both in the default priority table is confusing (and triggers a warning from sparse.) This patch removes the lower priority DDRINT from the default priority table leaving the RTC setting as the default. Signed-off-by: Kevin Hilman commit bb17ef102b72e38557bfa829511e06c4bd3bb972 Author: Brian Niebuhr Date: Tue Mar 9 16:48:03 2010 -0600 davinci: edma: clear events in edma_start() This patch fixes an issue where a DMA channel can erroneously process an event generated by a previous transfer. A failure case is where DMA is being used for SPI transmit and receive channels on OMAP L138. In this case there is a single bit that controls all event generation from the SPI peripheral. Therefore it is possible that between when edma_stop() has been called for the transmit channel on a previous transfer and edma_start() is called for the transmit channel on a subsequent transfer, that a transmit event has been generated. The fix is to clear events in edma_start(). This prevents false events from being processed when events are enabled for that channel. Signed-off-by: Brian Niebuhr Signed-off-by: Kevin Hilman commit 5eb2e891f038c8e04757f4536b9693faf35978a3 Author: Sekhar Nori Date: Wed Mar 10 15:11:24 2010 +0530 davinci: da8xx/omap-l1: fix build error when CONFIG_DAVINCI_MUX is undefined The da8xx/omap-l1 boards refuse to build when CONFIG_DAVINCI_MUX is undefined because arch/arm/mach-davinci/mux.c:da8xx_pinmux_setup() is not defined. This patch fixes this issue. This is build tested with davinci_all_defconfig and da8xx_omapl_defconfig and boot tested on DA830 EVM. Reported-by: Shanmuga Sundaram Mahendran Signed-off-by: Sekhar Nori Signed-off-by: Kevin Hilman commit d99c3871148cb643cffe138e9427b7a743aca367 Author: Kevin Hilman Date: Thu Mar 11 14:57:35 2010 -0800 davinci: timers: don't enable timer until clocksource is initialized On da830, when the same timer is used for clocksource and clockevent, the timer can be started before the clockevent is registered/initialzed. This creates a window where a timer interrupt might fire before the clockevent handler has been setup and causes a crash. This patch moves the actual enable/start of the timer after the clockevent has ben registered. Signed-off-by: Kevin Hilman commit f9700d5a4575e7fb343df10a1d29d425e4b81082 Author: Takashi Iwai Date: Mon Apr 5 23:25:13 2010 +0200 ALSA: hda - Fix a wrong array range check in patch_realtek.c The commit 6a4f2ccb467e00281470cde2dee08fe5ecde62d1 introduced a wrong comparision for the array range check, which effectively skips the whole initialization of DAC connections. Fixed now. Reference: bko#15689 https://bugzilla.kernel.org/show_bug.cgi?id=15689 Reported-by: Adrian Ulrich Signed-off-by: Takashi Iwai commit 749d229761ff0135cc4e16b8a28b41ae2f6b2c35 Merge: 795d580 3dc9fef Author: Linus Torvalds Date: Mon Apr 5 13:42:54 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: saving negative to unsigned char 9p: return on mutex_lock_interruptible() 9p: Creating files with names too long should fail with ENAMETOOLONG. 9p: Make sure we are able to clunk the cached fid on umount 9p: drop nlink remove fs/9p: Clunk the fid resulting from partial walk of the name 9p: documentation update 9p: Fix setting of protocol flags in v9fs_session_info structure. commit 795d580baec0d5386b83a8b557df47c20810e86b Merge: 449cedf 109f6ae Author: Linus Torvalds Date: Mon Apr 5 13:21:15 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: Btrfs: add check for changed leaves in setup_leaf_for_split Btrfs: create snapshot references in same commit as snapshot Btrfs: fix small race with delalloc flushing waitqueue's Btrfs: use add_to_page_cache_lru, use __page_cache_alloc Btrfs: fix chunk allocate size calculation Btrfs: kill max_extent mount option Btrfs: fail to mount if we have problems reading the block groups Btrfs: check btrfs_get_extent return for IS_ERR() Btrfs: handle kmalloc() failure in inode lookup ioctl Btrfs: dereferencing freed memory Btrfs: Simplify num_stripes's calculation logical for __btrfs_alloc_chunk() Btrfs: Add error handle for btrfs_search_slot() in btrfs_read_chunk_tree() Btrfs: Remove unnecessary finish_wait() in wait_current_trans() Btrfs: add NULL check for do_walk_down() Btrfs: remove duplicate include in ioctl.c Fix trivial conflict in fs/btrfs/compression.c due to slab.h include cleanups. commit 449cedf099b23a250e7d61982e35555ccb871182 Author: Eric Paris Date: Mon Apr 5 16:16:26 2010 -0400 audit: preface audit printk with audit There have been a number of reports of people seeing the message: "name_count maxed, losing inode data: dev=00:05, inode=3185" in dmesg. These usually lead to people reporting problems to the filesystem group who are in turn clueless what they mean. Eventually someone finds me and I explain what is going on and that these come from the audit system. The basics of the problem is that the audit subsystem never expects a single syscall to 'interact' (for some wish washy meaning of interact) with more than 20 inodes. But in fact some operations like loading kernel modules can cause changes to lots of inodes in debugfs. There are a couple real fixes being bandied about including removing the fixed compile time limit of 20 or not auditing changes in debugfs (or both) but neither are small and obvious so I am not sending them for immediate inclusion (I hope Al forwards a real solution next devel window). In the meantime this patch simply adds 'audit' to the beginning of the crap message so if a user sees it, they come blame me first and we can talk about what it means and make sure we understand all of the reasons it can happen and make sure this gets solved correctly in the long run. Signed-off-by: Eric Paris Signed-off-by: Linus Torvalds commit ab6e24103cbd215e922938a4f58c75194761a60e Author: Josef Bacik Date: Fri Mar 19 14:38:13 2010 +0000 Btrfs: fix data enospc check overflow Because we account for reserved space we get from the allocator before we actually account for allocating delalloc space, we can have a small window where the amount of "used" space in a space_info is more than the total amount of space in the space_info. This will cause a overflow in our check, so it will seem like we have _tons_ of free space, and we'll allow reservations to occur that will end up larger than the amount of space we have. I've seen users report ENOSPC panic's in cow_file_range a few times recently, so I tried to reproduce this problem and found I could reproduce it if I ran one of my tests in a loop for like 20 minutes. With this patch my test ran all night without issues. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 3dc9fef67f6292692dba181a6d0fd0211bd0a607 Author: Dan Carpenter Date: Mon Apr 5 14:37:28 2010 -0500 9p: saving negative to unsigned char Saving -EINVAL as unsigned char truncates the high bits and changes it into 234 instead of -22. This breaks the test for "if (ret == -EINVAL)" in parse_opts(). Signed-off-by: Dan Carpenter Signed-off-by: Eric Van Hensbergen commit 85a770a8889035625466a4cfb1393cd7d2ffd165 Author: Dan Carpenter Date: Tue Mar 30 09:41:25 2010 +0000 9p: return on mutex_lock_interruptible() If "err" is -EINTR here the original code calls mutex_unlock() and then returns, but it should just return directly. Signed-off-by: Dan Carpenter Signed-off-by: Eric Van Hensbergen ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev commit 109f6aef5fc436f355ad027f4d97bd696df2049a Author: Chris Mason Date: Fri Apr 2 09:20:18 2010 -0400 Btrfs: add check for changed leaves in setup_leaf_for_split setup_leaf_for_split needs to drop the path and search again, and has checks to see if the item we want to split changed size. But, it misses the case where the leaf changed and now has enough room for the item we want to insert. This adds an extra check to make sure the leaf really needs splitting before we call btrfs_split_leaf(), which keeps us from trying to split a leaf with a single item. btrfs_split_leaf() will blindly split the single item leaf, leaving us with one good leaf and one empty leaf and then a crash. Signed-off-by: Chris Mason commit 6bdb72ded1e281cd8844918c39d00cdd0e59f655 Author: Sage Weil Date: Mon Mar 15 17:27:13 2010 +0000 Btrfs: create snapshot references in same commit as snapshot This creates the reference to a new snapshot in the same commit as the snapshot itself. This avoids the need for a second commit in order for a snapshot to be persistent, and also avoids the problem of "leaking" a new snapshot tree root if the host crashes before the second commit takes place. It is not at all clear to me why it wasn't always done this way. If there is still a reason for the two-stage {create,finish}_pending_snapshots() approach I'm missing something! :) I've been running this for a couple weeks under pretty heavy usage (a few snapshots per minute) without obvious problems. Signed-off-by: Sage Weil Signed-off-by: Chris Mason commit b5cb160084fad438c513d0952849e597ffe9e3d9 Author: Josef Bacik Date: Fri Mar 12 19:28:18 2010 +0000 Btrfs: fix small race with delalloc flushing waitqueue's Everytime we start a new flushing thread, we init the waitqueue if there isn't a flushing thread running. The problem with this is we check space_info->flushing, which we clear right before doing a wake_up on the flushing waitqueue, which causes problems if we init the waitqueue in the middle of clearing the flushing flagh and calling wake_up. This is hard to hit, but the code is wrong anyway, so init the flushing/allocating waitqueue when creating the space info and let it be. I haven't seen the panic since I've been using this patch. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 28ecb60906e86e74e9ad4ac7e0218d8631e73a94 Author: Nick Piggin Date: Wed Mar 17 13:31:04 2010 +0000 Btrfs: use add_to_page_cache_lru, use __page_cache_alloc Pagecache pages should be allocated with __page_cache_alloc, so they obey pagecache memory policies. add_to_page_cache_lru is exported, so it should be used. Benefits over using a private pagevec: neater code, 128 bytes fewer stack used, percpu lru ordering is preserved, and finally don't need to flush pagevec before returning so batching may be shared with other LRU insertions. Signed-off-by: Nick Piggin : Signed-off-by: Chris Mason commit 5f712b2b73a9fc87fcc52124cfe8adefaa0c92f5 Author: Daniel Mack Date: Mon Mar 22 10:11:15 2010 +0100 ALSA: ASoC: move dma_data from snd_soc_dai to snd_soc_pcm_stream This fixes a memory corruption when ASoC devices are used in full-duplex mode. Specifically for pxa-ssp code, where this pointer is dynamically allocated for each direction and destroyed upon each stream start. All other platforms are fixed blindly, I couldn't even compile-test them. Sorry for any breakage I may have caused. [Note that this is a backported version for 2.6.34. Upstream commit is fd23b7dee] Signed-off-by: Daniel Mack Reported-by: Sven Neumann Reported-by: Michael Hirsch Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit b66696e3c0d8fc01efdbc701eba1276618332cb3 Merge: 9e74e7c a32f392 Author: Linus Torvalds Date: Mon Apr 5 09:39:11 2010 -0700 Merge branch 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc * 'slabh' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc: eeepc-wmi: include slab.h staging/otus: include slab.h from usbdrv.h percpu: don't implicitly include slab.h from percpu.h kmemcheck: Fix build errors due to missing slab.h include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h iwlwifi: don't include iwl-dev.h from iwl-devtrace.h x86: don't include slab.h from arch/x86/include/asm/pgtable_32.h Fix up trivial conflicts in include/linux/percpu.h due to is_kernel_percpu_address() having been introduced since the slab.h cleanup with the percpu_up.c splitup. commit d12841827a6de120199609dadb6ff4ec99bd90ea Author: Tony Vroon Date: Mon Apr 5 16:30:43 2010 +0100 ALSA: hda - Enable amplifiers on Acer Inspire 6530G After more tests it appears that EAPD needs to be enabled on both the 0x14 and 0x15 NIDs to enable the main speaker and headphone amplifiers. The maximum volume setting is now equal to what the machine achieves under other operating systems. Disabling Front or LFE playback triggers EAPD and disables the amplifier. As such, these two playback switches have been removed from the mixer. Signed-off-by: Tony Vroon Signed-off-by: Takashi Iwai commit a74b2adae06265b8cfa335d7d40d4a5abd11e977 Author: Ricky Benitez Date: Mon Apr 5 18:22:17 2010 +0200 block: expose the statistics in blkio.time and blkio.sectors for the root cgroup Currently, the io statistics for the root cgroup are maintained, but they are not shown because the device information is not available at the point that the root blkio cgroup is created. This patch updates the device information when the statistics are updated so that the statistics become visible. Signed-off-by: Ricky Benitez Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit 9e74e7c81a24aee66024fc477786bd1de84e293b Merge: 4946d54 d5e50da Author: Linus Torvalds Date: Mon Apr 5 09:16:37 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: module: add stub for is_module_percpu_address percpu, module: implement and use is_kernel/module_percpu_address() module: encapsulate percpu handling better and record percpu_size commit 4946d54cb55e86a156216fcfeed5568514b0830f Author: Rik van Riel Date: Mon Apr 5 12:13:33 2010 -0400 rmap: fix anon_vma_fork() memory leak Fix a memory leak in anon_vma_fork(), where we fail to tear down the anon_vmas attached to the new VMA in case setting up the new anon_vma fails. This bug also has the potential to leave behind anon_vma_chain structs with pointers to invalid memory. Reported-by: Minchan Kim Signed-off-by: Rik van Riel Signed-off-by: Linus Torvalds commit bade732a2848e640482c1e99629a90e085d574dd Author: Tom Tucker Date: Sat Apr 3 08:27:29 2010 -0500 svcrdma: RDMA support not yet compatible with RPC6 RPC6 requires that it be possible to create endpoints that listen exclusively for IPv4 or IPv6 connection requests. This is not currently supported by the RDMA API. This fixes a server RDMA regression introduced by 37498292a "NFSD: Create PF_INET6 listener in write_ports". Signed-off-by: Tom Tucker Tested-by: Steve Wise Reviewed-by: Chuck Lever Signed-off-by: J. Bruce Fields commit 11e9b49b7fa056bfc00a56de8956d1d5fe8b84ea Author: Sripathi Kodi Date: Mon Mar 29 18:13:59 2010 -0500 9p: Creating files with names too long should fail with ENAMETOOLONG. Signed-off-by: Sripathi Kodi Signed-off-by: Eric Van Hensbergen commit 6d96d3ab7aea5f0e75205a0c97f8d1fdf82c5287 Author: Aneesh Kumar K.V Date: Mon Mar 29 18:13:59 2010 -0500 9p: Make sure we are able to clunk the cached fid on umount dcache prune happen on umount. So we cannot mark the client satus disconnect. That will prevent a 9p call to the server Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen commit d994f4058d9f9be7e44529b55fc6be6552901ead Author: Aneesh Kumar K.V Date: Mon Mar 29 18:14:50 2010 -0500 9p: drop nlink remove We need to drop the link count on the inode of a sucessfull remove Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen commit 5b0fa207d1a6f27c9a2f2d707147dce01af21db7 Author: Aneesh Kumar K.V Date: Fri Mar 19 12:47:26 2010 +0000 fs/9p: Clunk the fid resulting from partial walk of the name Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen commit 9208d24253e5e644f8cb1b87b69de44897668303 Author: Sripathi Kodi Date: Thu Mar 18 08:01:33 2010 +0000 9p: documentation update This patch adds documentation for new 9P options introduced in 2.6.34. Signed-off-by: Sripathi Kodi Signed-off-by: Eric Van Hensbergen commit 476ada0436351672fbf482db54cb94b8ba877709 Author: Sripathi Kodi Date: Wed Mar 17 17:02:38 2010 +0000 9p: Fix setting of protocol flags in v9fs_session_info structure. This patch fixes a simple bug I left behind in my earlier protocol negotiation patch. Thanks, Sripathi. Signed-off-by: Sripathi Kodi Signed-off-by: Eric Van Hensbergen commit d522ffbfb9fccf6eca283cd2e8b03cf3d21fb616 Author: Mark Brown Date: Tue Mar 30 14:29:14 2010 +0100 ASoC: Only do WM8994 bias off transition from standby Otherwise we may try to power down multiple times when the using idle bias off and the driver is removed. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 4dcc93d0ede49fae32dd0ee41c685db1be14c529 Author: Mark Brown Date: Mon Mar 29 17:18:41 2010 +0100 ASoC: Don't use DCS_DATAPATH_BUSY for WM hubs devices The DCS_DATAPATH_BUSY bit used to monitor the completion of DC servo operations has been deprecated and with some more recente revisions may perform incorrectly, especially when only analogue bypass paths are in use. Switch to using readback from the DC servo command register instead, which is supported for all devices. Without this unacceptably long timeouts may be observed in some circumstances. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit ae9d8607fe24253efc9f14b696f51cfd683801be Author: Mark Brown Date: Mon Mar 29 16:34:42 2010 +0100 ASoC: Don't do runtime wm_hubs DC servo updates if using offset correction If we need to offset correct the DC servo then don't use runtime recalibration since that is likely to introduce further offsets which will be evident on powerdown. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 8437f7006b9cfa249791e2fd57596683d4561843 Author: Mark Brown Date: Mon Mar 29 17:09:45 2010 +0100 ASoC: Support second DC servo readback method for wm_hubs More recent Wolfson hubs devices add the ability to read back the DC servo calibration information from the register used to write offsets, and later still ones remove the old readback registers. Add support for the new scheme, and use it for WM8994 device revisions that support it. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit 3fa49e3ad9ac20b15edfb0c51bbad36e45a84b17 Author: Mark Brown Date: Mon Mar 29 15:24:40 2010 +0100 ASoC: Avoid wraparound in wm_hubs DC servo correction If the correction wraps around then a substantial offset would be introduced. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit a32f3926632e71c8aa23ce32fe2625f8d5f792c2 Author: Tejun Heo Date: Mon Apr 5 11:37:59 2010 +0900 eeepc-wmi: include slab.h eeepc-wmi uses kfree() but doesn't include slab.h. Include it. Signed-off-by: Tejun Heo Cc: Yong Wang commit 336f5899d287f06d8329e208fc14ce50f7ec9698 Merge: a4ab277 db217de Author: Tejun Heo Date: Mon Apr 5 11:37:28 2010 +0900 Merge branch 'master' into export-slabh commit a4ab2773205e8b94c18625455f85e3b6bb9d7ad6 Author: Tejun Heo Date: Mon Apr 5 11:23:16 2010 +0900 staging/otus: include slab.h from usbdrv.h drivers/staging/otus/usbdrv.h users use slab facilities. Include linux/slab.h from usbdrv.h. Signed-off-by: Tejun Heo commit 1638bca898e55f1c89f18b2e5accfac8591fed61 Author: Chase Douglas Date: Mon Mar 22 15:08:09 2010 -0400 ACPI: Reduce ACPI resource conflict message to KERN_WARNING, printk cleanup By default, ACPI resource conflict messages are logged at level KERN_ERR. This is a rather high level for a message that is more a warning than an indication of a real kernel error. Also, KERN_ERR level messages can appear over some boot splash screens, and this message is not serious enough to warrant such treatment. Thus, the log level has been reduced to KERN_WARNING. [lenb changed to KERN_WARNING rather than all the way to KERN_INFO] Also, cleanup message to use %pR resource printing format. Signed-off-by: Chase Douglas Signed-off-by: Len Brown commit f79e1cec8c8aa64895fd7b595dc7b48157df0754 Author: Alan Jenkins Date: Tue Jun 30 14:36:16 2009 +0000 ACPI: battery drivers should call power_supply_changed() Calling kobject_uevent() directly is a layering violation. In particular, it means we'll miss updating the generic LED trigger. Signed-off-by: Alan Jenkins Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit e363a755e8033e18f733fc0d1687039df8efade0 Author: Alan Jenkins Date: Tue Jun 30 14:35:05 2009 +0000 ACPI: battery: Fix CONFIG_ACPI_SYSFS_POWER=n Disabling CONFIG_ACPI_SYSFS_POWER changes the behaviour of acpi_battery_update(). It will call acpi_battery_get_info() even if the battery is not present. I haven't noticed this causing any problem, but it does look like a bad idea. Signed-off-by: Alan Jenkins Acked-by: Alexey Starikovskiy Signed-off-by: Len Brown commit db217dece3003df0841bacf9556b5c06aa097dae Merge: 8ce42c8 bdd32ce Author: Linus Torvalds Date: Sun Apr 4 12:14:44 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sunxvr500: Ignore secondary output PCI devices. sparc64: Implement perf_arch_fetch_caller_regs sparc64: Update defconfig. sparc64: Fix array size reported by vmemmap_populate() sparc: Fix regset register window handling. drivers/serial/sunsu.c: Correct use after free commit 8ce42c8b7fdf4fc008a6fc7349beb8f4dd5cb774 Merge: 0121b0c 6e03bb5 Author: Linus Torvalds Date: Sun Apr 4 12:13:10 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: perf: Always build the powerpc perf_arch_fetch_caller_regs version perf: Always build the stub perf_arch_fetch_caller_regs version perf, probe-finder: Build fix on Debian perf/scripts: Tuple was set from long in both branches in python_process_event() perf: Fix 'perf sched record' deadlock perf, x86: Fix callgraphs of 32-bit processes on 64-bit kernels perf, x86: Fix AMD hotplug & constraint initialization x86: Move notify_cpu_starting() callback to a later stage x86,kgdb: Always initialize the hw breakpoint attribute perf: Use hot regs with software sched switch/migrate events perf: Correctly align perf event tracing buffer commit 0121b0c771f929bb5298554b70843ab46280c298 Merge: a8941b0 47a7098 Author: Linus Torvalds Date: Sun Apr 4 12:12:31 2010 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: set_cpus_allowed_ptr(): Don't use rq->migration_thread after unlock sched: Fix proc_sched_set_task() commit a8941b0ed0f1e39a4d41560c3a2e7ee37d5b6e10 Merge: d82ef02 292f60c Author: Linus Torvalds Date: Sun Apr 4 12:12:19 2010 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ring-buffer: Add missing unlock tracing: Fix lockdep warning in global_clock() commit d82ef020cf31504c816803b1def94eb5ff173363 Author: KAMEZAWA Hiroyuki Date: Fri Apr 2 09:11:29 2010 +0900 proc: pagemap: Hold mmap_sem during page walk In initial design, walk_page_range() was designed just for walking page table and it didn't require mmap_sem. Now, find_vma() etc.. are used in walk_page_range() and we need mmap_sem around it. This patch adds mmap_sem around walk_page_range(). Because /proc//pagemap's callback routine use put_user(), we have to get rid of it to do sane fix. Changelog: 2010/Apr/2 - fixed start_vaddr and end overflow Changelog: 2010/Apr/1 - fixed start_vaddr calculation - removed unnecessary cast. - removed unnecessary change in smaps. - use GFP_TEMPORARY instead of GFP_KERNEL Signed-off-by: KAMEZAWA Hiroyuki Cc: Matt Mackall Cc: KOSAKI Motohiro Cc: San Mehat Cc: Brian Swetland Cc: Dave Hansen Cc: Andrew Morton [ Fixed kmalloc failure return code as per Matt ] Signed-off-by: Linus Torvalds commit 147a27460366ecd35f1425f593cb42d52166c7ff Author: Dominik Brodowski Date: Sun Apr 4 18:10:35 2010 +0200 pcmcia: fix up alignf issues - pcmcia_align() used a "start" variable twice. That's obviously a bad idea. - pcmcia_common_resource() needs the current "start" parameter being passed, instead of res->start. - pcmcia_common_resource() doesn't use the size and align parameters, so get rid of those. Signed-off-by: Dominik Brodowski commit a0fd4345f928d72a56e27b23e4cd28c94bf36be5 Author: Julia Lawall Date: Fri Apr 2 14:47:59 2010 +0200 ALSA: echoaudio - Eliminate use after free Use the call to snd_card_free in the error handling code at the end of the function, as in the other error cases. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression E,E2; @@ snd_card_free(E) ... ( E = E2 | * E ) // Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit f11947c7c5b8abffd328739996dfdffef2b3e03f Author: Dan Carpenter Date: Fri Apr 2 14:29:23 2010 +0300 ALSA: i2c: cleanup: change parameter to pointer We actually pass an array of 7 chars not 5. This silences a smatch warning. Signed-off-by: Dan Carpenter Signed-off-by: Takashi Iwai commit 3815595e78d2baae6feb866e737f92d8ef48b337 Author: Takashi Iwai Date: Sun Apr 4 12:14:03 2010 +0200 ALSA: hda - Add MSI blacklist for Aopen MZ915-M The device needs MSI disablement. Added to the quirk list. Reported-by: Harald Dunkel Cc: Signed-off-by: Takashi Iwai commit bdd32ce95f79fb5cc964cd789d7ae4500bba7c6f Author: David S. Miller Date: Sun Apr 4 01:12:50 2010 -0700 sunxvr500: Ignore secondary output PCI devices. These just represent the secondary and further heads attached to the card, and they have different sets of PCI bar registers to map. So don't try to drive them in the main driver. Reported-by: Frans van Berckel Tested-by: Frans van Berckel Signed-off-by: David S. Miller commit 954fbc8985328a3b59b5881243d3aa04a8f8da7c Author: David S. Miller Date: Sat Apr 3 23:50:59 2010 -0700 sparc64: Implement perf_arch_fetch_caller_regs We provide regs->tstate, regs->tpc, regs->tnpc and regs->u_regs[UREG_FP]. regs->tstate is necessary for: user_mode() (via perf_exclude_event()) perf_misc_flags() (via perf_prepare_sample()) regs->tpc is necessary for: perf_instruction_pointer() (via perf_prepare_sample()) and regs->u_regs[UREG_FP] is necessary for: perf_callchain() (via perf_prepare_sample()) The regs->tnpc value is provided just to be tidy. Signed-off-by: David S. Miller commit 3162b6f0c5e1fcad372d64194fb3cb968941b428 Author: Bjorn Helgaas Date: Thu Mar 25 10:32:49 2010 -0600 PNPACPI: truncate _CRS windows with _LEN > _MAX - _MIN + 1 The ACPI spec (sec 6.4.3.5 in v4.0) requires that for Address Space Resource Descriptors, _LEN <= _MAX - _MIN + 1 in all cases, but there are BIOSes that violate this. We experimentally determined that Windows truncates the resource so it doesn't extend past _MAX, so let's do the same thing in Linux. http://bugzilla.kernel.org/show_bug.cgi?id=15480 Signed-off-by: Bjorn Helgaas Acked-by: Rafael J. Wysocki Signed-off-by: Len Brown commit 17c452f99cf5e073b219a069a419b7b8ab3cfa97 Author: Matthew Garrett Date: Fri Dec 11 17:40:46 2009 -0500 ACPI: Don't send KEY_UNKNOWN for random video notifications I have a machine here that's sending 0xD1 notifications on the video device once every second or so. I have no idea why (it's a prototype, it may be broken), but sending KEY_UNKNOWN is unhelpful and results in the console becoming unusable. Let's not report keys unless we have something useful to say about them. Signed-off-by: Matthew Garrett Acked-by: Zhang Rui Signed-off-by: Len Brown commit 0f9b75ef3722814134f307f51c19e0791da40e69 Author: David Rientjes Date: Thu Mar 25 16:33:04 2010 -0700 ACPI: NUMA: map pxms to low node ids pxms are mapped to low node ids to maintain generic kernel use of functions such as pxm_to_node() that are used to determine device affinity. Otherwise, there is no pxm-to-node and node-to-pxm matching rule for x86_64 users of NUMA emulation where a single pxm may be bound to multiple NUMA nodes. Signed-off-by: David Rientjes Signed-off-by: Len Brown commit b7b30de53aef6ce773d34837ba7d8422bd3baeec Author: Bjorn Helgaas Date: Wed Mar 24 10:44:33 2010 -0600 ACPI: use _HID when supplied by root-level devices Previously, we assumed the only Device object immediately below the root was the \_SB Scope (which the ACPI CA treats as a Device), so we forced the HID of all such objects to ACPI_BUS_HID ("LNXSYBUS"). However, there are DSDTs that supply root-level Device objects with _HIDs. This patch makes us pay attention to those _HIDs and only add the synthetic ACPI_BUS_HID for root-level objects that do not supply their own _HID. For example, this DSDT: https://bugzilla.kernel.org/show_bug.cgi?id=15605 contains: Scope (_SB) { ... } Device (AMW0) { Name (_HID, EisaId ("PNP0C14")) ... } and we should use "PNP0C14" for the AMW0 device, not "LNXSYBUS". Signed-off-by: Bjorn Helgaas Acked-by: Zhang Rui Tested-by: Yong Wang Signed-off-by: Len Brown commit 3f6c148df42d98f0991baf4353497d380a30bc19 Author: David S. Miller Date: Sat Apr 3 16:18:32 2010 -0700 sparc64: Update defconfig. Signed-off-by: David S. Miller commit cf9cf9aed19f529ff313c3e0901ae3b2972eaf4e Author: Giel van Schijndel Date: Mon Mar 29 21:12:09 2010 +0200 [WATCHDOG] doc: watchdog simple example: don't fail on fsync() Don't terminate the watchdog daemon when fsync() fails because no watchdog driver actually implements the fsync() syscall. Signed-off-by: Giel van Schijndel Signed-off-by: Wim Van Sebroeck commit 87e8b821ed8db3dab03d96cd542e29666bf210aa Merge: 33cd9df 5e11611 Author: David S. Miller Date: Sat Apr 3 15:49:14 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 5e8037166497f8a1aa46325ed7febf0408d45caa Author: Marc Zyngier Date: Mon Mar 29 20:09:14 2010 +0100 [WATCHDOG] set max63xx driver as ARM only Use of ioremap() causes build failure on S390. Restrict the driver to ARM until another architecture comes along and enables the driver for its own use. Signed-off-by: Marc Zyngier Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit 35c79780064976cf9d7537a00e59f97c2061fa7d Author: Sean MacLennan Date: Mon Mar 8 19:46:41 2010 -0500 [WATCHDOG] powerpc: pika_wdt ident cannot be const The watchdog_info struct cannot be a const since we dynamically fill in the firmware version. Signed-off-by: Sean MacLennan Signed-off-by: Wim Van Sebroeck commit fb9e2d887243499b8d28efcf80821c4f6a092395 Author: Ken Kawasaki Date: Sat Apr 3 15:07:10 2010 -0700 smc91c92_cs: fix the problem of "Unable to find hardware address" smc91c92_cs: *cvt_ascii_address returns 0, if success. *call free_netdev, if we can't find hardware address. Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit fd2dd9fbaf9e498ec63eef298921e36556f7214c Author: Curt Wohlgemuth Date: Sat Apr 3 17:44:16 2010 -0400 ext4: Fix buffer head leaks after calls to ext4_get_inode_loc() Calls to ext4_get_inode_loc() returns with a reference to a buffer head in iloc->bh. The callers of this function in ext4_write_inode() when in no journal mode and in ext4_xattr_fiemap() don't release the buffer head after using it. Addresses-Google-Bug: #2548165 Signed-off-by: Curt Wohlgemuth Signed-off-by: "Theodore Ts'o" commit 33cd9dfa3a13e3d8e41aef225a9f98169816723b Author: Ben Hutchings Date: Sat Apr 3 13:58:45 2010 -0700 sparc64: Fix array size reported by vmemmap_populate() vmemmap_populate() attempts to report the used index and total size of vmemmap_table, but it wrongly shifts the total size so that it is always shown as 0. Signed-off-by: Ben Hutchings Signed-off-by: David S. Miller commit 8b472d739b2ddd8ab7fb278874f696cd95b25a5e Author: Curt Wohlgemuth Date: Sat Apr 3 16:45:06 2010 -0400 ext4: Fix possible lost inode write in no journal mode In the no-journal case, ext4_write_inode() will fetch the bh and call sync_dirty_buffer() on it. However, if the bh has already been written and the bh reclaimed for some other purpose, AND if the inode is the only one in the inode table block in use, then ext4_get_inode_loc() will not read the inode table block from disk, but as an optimization, fill the block with zero's assuming that its caller will copy in the on-disk version of the inode. This is not done by ext4_write_inode(), so the contents of the inode can simply get lost. The fix is to use __ext4_get_inode_loc() with in_mem set to 0, instead of ext4_get_inode_loc(). Long term the API needs to be fixed so it's obvious why latter is not safe. Addresses-Google-Bug: #2526446 Signed-off-by: Curt Wohlgemuth Signed-off-by: "Theodore Ts'o" commit 6513a81e9325d712f1bfb9a1d7b750134e49ff18 Author: Suresh Jayaraman Date: Wed Mar 31 12:00:03 2010 +0530 cifs: Fix a kernel BUG with remote OS/2 server (try #3) While chasing a bug report involving a OS/2 server, I noticed the server sets pSMBr->CountHigh to a incorrect value even in case of normal writes. This results in 'nbytes' being computed wrongly and triggers a kernel BUG at mm/filemap.c. void iov_iter_advance(struct iov_iter *i, size_t bytes) { BUG_ON(i->count < bytes); <--- BUG here Why the server is setting 'CountHigh' is not clear but only does so after writing 64k bytes. Though this looks like the server bug, the client side crash may not be acceptable. The workaround is to mask off high 16 bits if the number of bytes written as returned by the server is greater than the bytes requested by the client as suggested by Jeff Layton. CC: Stable Reviewed-by: Jeff Layton Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit a24e2d7d8f512340991ef0a59cb5d08d491b8e98 Author: Steve French Date: Sat Apr 3 17:20:21 2010 +0000 [CIFS] initialize nbytes at the beginning of CIFSSMBWrite() By doing this we always overwrite nbytes value that is being passed on to CIFSSMBWrite() and need not rely on the callers to initialize. CIFSSMBWrite2 is doing this already. CC: Stable Reviewed-by: Shirish Pargaonkar Reviewed-by: Jeff Layton Signed-off-by: Suresh Jayaraman Signed-off-by: Steve French commit 6e03bb5ad363fdbe4e1e227cfb78f7978c662e18 Author: Frederic Weisbecker Date: Sat Apr 3 12:22:05 2010 +0200 perf: Always build the powerpc perf_arch_fetch_caller_regs version Now that software events use perf_arch_fetch_caller_regs() too, we need the powerpc version to be always built. Fixes the following build error: (.text+0x3210): undefined reference to `perf_arch_fetch_caller_regs' (.text+0x3324): undefined reference to `perf_arch_fetch_caller_regs' (.text+0x33bc): undefined reference to `perf_arch_fetch_caller_regs' (.text+0x33ec): undefined reference to `perf_arch_fetch_caller_regs' (.text+0xd4a0): undefined reference to `perf_arch_fetch_caller_regs' arch/powerpc/kernel/built-in.o:(.text+0xd528): more undefined references to `perf_arch_fetch_caller_regs' follow make[1]: *** [.tmp_vmlinux1] Error 1 make: *** [sub-make] Error 2 Reported-by: Michael Ellerman Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras commit 26d80aa782e708c380a47601779d42d30bf016d6 Author: Frederic Weisbecker Date: Sat Apr 3 12:22:05 2010 +0200 perf: Always build the stub perf_arch_fetch_caller_regs version Now that software events use perf_arch_fetch_caller_regs() too, we need the stub version to be always built in for archs that don't implement it. Fixes the following build error in PARISC: kernel/built-in.o: In function `perf_event_task_sched_out': (.text.perf_event_task_sched_out+0x54): undefined reference to `perf_arch_fetch_caller_regs' Reported-by: Ingo Molnar Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras commit 9875557ee8247c3f7390d378c027b45c7535a224 Author: Stefan Bader Date: Mon Mar 29 17:53:12 2010 +0200 drm/i915: Add no_lvds entry for the Clientron U800 BugLink: http://bugs.launchpad.net/ubuntu/bugs/544671 This system claims to have a LVDS but has not. Signed-off-by: Stephane Graber Signed-off-by: Stefan Bader CC: stable@kernel.org Signed-off-by: Eric Anholt commit 5e11611a5d22252f3f9c169a3c9377eac0c32033 Merge: d4509e5 c6c3523 Author: Linus Torvalds Date: Fri Apr 2 19:50:11 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: ARM: 5965/1: Fix soft lockup in at91 udc driver ARM: 6006/1: ARM: Use the correct NOP size in memmove for Thumb-2 kernel builds ARM: 6005/1: arm: kprobes: fix register corruption with jprobes ARM: 6003/1: removing compilation warning from pl061.h ARM: 6001/1: removing compilation warning comming from clkdev.h ARM: 6000/1: removing compilation warning comming from ARM: 5999/1: Including device.h and resource.h header files in linux/amba/bus.h ARM: 5997/1: ARM: Correct the VFPv3 detection ARM: 5996/1: ARM: Change the mandatory barriers implementation (4/4) ARM: 5995/1: ARM: Add L2x0 outer_sync() support (3/4) ARM: 5994/1: ARM: Add outer_cache_fns.sync function pointer (2/4) ARM: 5993/1: ARM: Move the outer_cache definitions into a separate file (1/4) commit d4509e5a6edf8862c18d887a642ce4994bde297d Merge: 0afa80a ed01f64 Author: Linus Torvalds Date: Fri Apr 2 19:49:50 2010 -0700 Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6 * 'merge' of git://git.secretlab.ca/git/linux-2.6: powerpc/5200: in lpbfifo, flag DMA irqs as enabled after requesting them powerpc/fsl: add device tree binding for QE firmware of/flattree: Fix unhandled OF_DT_NOP tag when unflattening the device tree commit 0afa80ab6ff9aac57f118463699cee306ad6ed8a Merge: 5193d7a b7b7fa4 Author: Linus Torvalds Date: Fri Apr 2 19:48:54 2010 -0700 Merge branch 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing * 'reiserfs/kill-bkl' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing: reiserfs: Fix locking BUG during mount failure commit 5193d7a7f500cfbbfc0de221e808208199723521 Author: Clemens Ladisch Date: Fri Apr 2 18:46:06 2010 +0200 PCI quirk: RS780/RS880: disable MSI behind the PCI bridge The missing initialization of the nb_cntl.strap_msi_enable does not seem to be the only problem that prevents MSI, so that quirk is not sufficient to enable MSI on all machines. To be safe, disable MSI unconditionally for the internal graphics and HDMI audio on these chipsets. [rjw: Added the PCI_VENDOR_ID_AI quirk.] Signed-off-by: Clemens Ladisch Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 5e123e5d9bf8c4ae44121ffe5e844adeb30ff21b Merge: 24b99d1 4da75b9 Author: Linus Torvalds Date: Fri Apr 2 19:45:05 2010 -0700 Merge branch 'kgdb-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb * 'kgdb-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: kgdb: Turn off tracing while in the debugger kgdb: use atomic_inc and atomic_dec instead of atomic_set kgdb: eliminate kgdb_wait(), all cpus enter the same way kgdbts,sh: Add in breakpoint pc offset for superh kgdb: have ebin2mem call probe_kernel_write once commit 24b99d1576e6e330c2eba534a793b6e6dcb37f6b Merge: 6da8d86 5a7aadf Author: Linus Torvalds Date: Fri Apr 2 19:44:42 2010 -0700 Merge branch 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: Freezer: Fix buggy resume test for tasks frozen with cgroup freezer Freezer: Only show the state of tasks refusing to freeze commit 6da8d866d0d39e9509ff826660f6a86a6757c966 Author: Oleg Nesterov Date: Fri Apr 2 18:05:12 2010 +0200 tty: release_one_tty() forgets to put pids release_one_tty(tty) can be called when tty still has a reference to pgrp/session. In this case we leak the pid. Signed-off-by: Oleg Nesterov Reported-by: Catalin Marinas Reported-and-tested-by: Tetsuo Handa Acked-by: Linus Torvalds Acked-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit 0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579 Author: Sage Weil Date: Fri Apr 2 16:07:19 2010 -0700 ceph: fix ack counter reset on connection reset If in_seq_acked isn't reset along with in_seq, we don't ack received messages until we reach the old count, consuming gobs memory on the other end of the connection and introducing a large delay when those messages are eventually deleted. Signed-off-by: Sage Weil commit b0f86f5a169c758a82b0e23eef6795356f6d5a25 Author: Borislav Petkov Date: Mon Mar 29 18:47:55 2010 +0200 perf, probe-finder: Build fix on Debian Building chokes with: In file included from /usr/include/gelf.h:53, from /usr/include/elfutils/libdw.h:53, from util/probe-finder.h:61, from util/probe-finder.c:39: /usr/include/libelf.h:98: error: expected specifier-qualifier-list before 'off64_t' [...] Signed-off-by: Borislav Petkov Acked-by: Masami Hiramatsu LKML-Reference: <20100329164755.GA16034@aftab> Signed-off-by: Ingo Molnar commit 4da75b9ceac6939cd76830ec9581bef5bb398ad3 Author: Jason Wessel Date: Fri Apr 2 11:57:18 2010 -0500 kgdb: Turn off tracing while in the debugger The kernel debugger should turn off kernel tracing any time the debugger is active and restore it on resume. Signed-off-by: Jason Wessel Reviewed-by: Steven Rostedt commit ae6bf53e0255c8ab04b6fe31806e318432570e3c Author: Jason Wessel Date: Fri Apr 2 14:58:18 2010 -0500 kgdb: use atomic_inc and atomic_dec instead of atomic_set Memory barriers should be used for the kgdb cpu synchronization. The atomic_set() does not imply a memory barrier. Reported-by: Will Deacon Signed-off-by: Jason Wessel commit 62fae312197a8fbcd3727261d59f5a6bd0dbf158 Author: Jason Wessel Date: Fri Apr 2 11:47:02 2010 -0500 kgdb: eliminate kgdb_wait(), all cpus enter the same way This is a kgdb architectural change to have all the cpus (master or slave) enter the same function. A cpu that hits an exception (wants to be the master cpu) will call kgdb_handle_exception() from the trap handler and then invoke a kgdb_roundup_cpu() to synchronize the other cpus and bring them into the kgdb_handle_exception() as well. A slave cpu will enter kgdb_handle_exception() from the kgdb_nmicallback() and set the exception state to note that the processor is a slave. Previously the salve cpu would have called kgdb_wait(). This change allows the debug core to change cpus without resuming the system in order to inspect arch specific cpu information. Signed-off-by: Jason Wessel commit cad08acebf4b7d993b0cefb9af67208c48fb9a5e Author: Jason Wessel Date: Fri Apr 2 11:31:35 2010 -0500 kgdbts,sh: Add in breakpoint pc offset for superh The kgdb test suite mimics the behavior of gdb. For the sh architecture the pc must be decremented by 2 for software breakpoint. Signed-off-by: Jason Wessel Acked-by: Paul Mundt commit a0279bd58060ccedbd414edf97d50cfa3778c370 Author: Jason Wessel Date: Fri Apr 2 11:33:29 2010 -0500 kgdb: have ebin2mem call probe_kernel_write once Rather than call probe_kernel_write() one byte at a time, process the whole buffer locally and pass the entire result in one go. This way, architectures that need to do special handling based on the length can do so, or we only end up calling memcpy() once. [sonic.zhang@analog.com: Reported original problem and preliminary patch] Signed-off-by: Jason Wessel Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit b1dcc03cb8ee0f5718491e8c518257238dc64e00 Author: Tom Zanussi Date: Thu Apr 1 23:58:25 2010 -0500 perf/scripts: Tuple was set from long in both branches in python_process_event() This is a fix to the signed/unsigned field handling in the Python scripting engine, based on a patch from Roel Kluin. Basically, Python wants to use a PyInt (which is internally a long) if it can i.e. if the value will fit into that type. If not, it stores it into a PyLong, which isn't actually a long, but an arbitrary-precision integer variable. The code below is similar to to what Python does internally, and it seems to work as expected on the x86 and x86_64 sytems I tested it on. Signed-off-by: Tom Zanussi Cc: Arnaldo Carvalho de Melo Cc: Roel Kluin Cc: Frederic Weisbecker Cc: rostedt@goodmis.org LKML-Reference: <1270184305.6422.10.camel@tropicana> Signed-off-by: Ingo Molnar commit de0f60ea94e132c858caa64a44b2012e1e8580b0 Author: Zhu Yi Date: Tue Mar 23 00:45:03 2010 -0700 iwlwifi: avoid Tx queue memory allocation in interface down We used to free all the Tx queues memory when interface is brought down and reallocate them again in interface up. This requires order-4 allocation for txq->cmd[]. In situations like s2ram, this usually leads to allocation failure in the memory subsystem. The patch fixed this problem by allocating the Tx queues memory only at the first time. Later iwl_down/iwl_up only initialize but don't free and reallocate them. The memory is freed at the device removal time. BTW, we have already done this for the Rx queue. This fixed bug https://bugzilla.kernel.org/show_bug.cgi?id=15551 Signed-off-by: Zhu Yi Acked-by: Wey-Yi Guy Signed-off-by: Reinette Chatre commit 472a474c6630efd195d3738339fd1bdc8aa3b1aa Author: Suresh Siddha Date: Wed Mar 31 18:04:47 2010 -0700 x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards Jan Grossmann reported kernel boot panic while booting SMP kernel on his system with a single core cpu. SMP kernels call enable_IR_x2apic() from native_smp_prepare_cpus() and on platforms where the kernel doesn't find SMP configuration we ended up again calling enable_IR_x2apic() from the APIC_init_uniprocessor() call in the smp_sanity_check(). Thus leading to kernel panic. Don't call enable_IR_x2apic() and default_setup_apic_routing() from APIC_init_uniprocessor() in CONFIG_SMP case. NOTE: this kind of non-idempotent and assymetric initialization sequence is rather fragile and unclean, we'll clean that up in v2.6.35. This is the minimal fix for v2.6.34. Reported-by: Jan.Grossmann@kielnet.net Signed-off-by: Suresh Siddha Cc: Cc: Cc: Cc: Cc: Cc: # [v2.6.32.x, v2.6.33.x] LKML-Reference: <1270083887.7835.78.camel@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 04f2dec1c3d375c4072613880f28f43b66524876 Author: Shanyu Zhao Date: Fri Mar 19 13:34:45 2010 -0700 iwlwifi: use consistent table for tx data collect When collecting tx data for non-aggregation packets in rate scaling, if the tx data matches "other table", it still uses current table to update the stats and calculate average throughput in function rs_collect_tx_data(). This can mess up the rate scaling data structure and cause a kernel panic in a BUG_ON statement in rs_rate_scale_perform(). To fix this bug, we pass table pointer instead of window pointer (pointed to by table pointer) to function rs_collect_tx_data() so that the table being used is consistent. Signed-off-by: Shanyu Zhao Signed-off-by: Henry Zhang Signed-off-by: Reinette Chatre commit dd48744964296b5713032ea1d66eb9e3d990e287 Author: Zhu Yi Date: Mon Mar 22 02:28:41 2010 -0700 iwlwifi: fix DMA allocation warnings Below warning is triggered sometimes at module removal time when CONFIG_DMA_API_DEBUG is enabled. This should be caused by we didn't unmap pending commands (enqueued, but no complete notification received) for the Tx command queue. [ 1583.107469] ------------[ cut here ]------------ [ 1583.107539] WARNING: at lib/dma-debug.c:688 dma_debug_device_change+0x13c/0x180() [ 1583.107617] Hardware name: ... [ 1583.107664] pci 0000:04:00.0: DMA-API: device driver has pending DMA allocations while released from device [count=1] [ 1583.107713] Modules linked in: ... [ 1583.111661] Pid: 16970, comm: modprobe Tainted: G W 2.6.34-rc1-wl #33 [ 1583.111727] Call Trace: [ 1583.111779] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.111833] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.111908] [] warn_slowpath_common+0x71/0xd0 [ 1583.111963] [] ? dma_debug_device_change+0x13c/0x180 [ 1583.112016] [] warn_slowpath_fmt+0x2b/0x30 [ 1583.112086] [] dma_debug_device_change+0x13c/0x180 [ 1583.112142] [] notifier_call_chain+0x53/0x90 [ 1583.112198] [] ? down_read+0x6e/0x90 [ 1583.112271] [] __blocking_notifier_call_chain+0x49/0x70 [ 1583.112326] [] blocking_notifier_call_chain+0x1f/0x30 [ 1583.112380] [] __device_release_driver+0x8c/0xa0 [ 1583.112451] [] driver_detach+0x8f/0xa0 [ 1583.112538] [] bus_remove_driver+0x82/0x100 [ 1583.112595] [] driver_unregister+0x49/0x80 [ 1583.112671] [] ? sysfs_remove_file+0x12/0x20 [ 1583.112727] [] pci_unregister_driver+0x32/0x80 [ 1583.112791] [] iwl_exit+0x12/0x19 [iwlagn] [ 1583.112848] [] sys_delete_module+0x15a/0x210 [ 1583.112870] [] ? up_read+0x1b/0x30 [ 1583.112893] [] ? trace_hardirqs_off_thunk+0xc/0x10 [ 1583.112924] [] ? trace_hardirqs_on_thunk+0xc/0x10 [ 1583.112947] [] ? do_page_fault+0x1ff/0x3c0 [ 1583.112978] [] ? restore_all_notrace+0x0/0x18 [ 1583.113002] [] ? trace_hardirqs_on_caller+0x20/0x190 [ 1583.113025] [] sysenter_do_call+0x12/0x38 [ 1583.113054] ---[ end trace fc23e059cc4c2ced ]--- Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre commit 47a70985e5c093ae03d8ccf633c70a93761d86f2 Author: Oleg Nesterov Date: Tue Mar 30 18:58:29 2010 +0200 sched: set_cpus_allowed_ptr(): Don't use rq->migration_thread after unlock Trivial typo fix. rq->migration_thread can be NULL after task_rq_unlock(), this is why we have "mt" which should be used instead. Signed-off-by: Oleg Nesterov Signed-off-by: Peter Zijlstra LKML-Reference: <20100330165829.GA18284@redhat.com> Signed-off-by: Ingo Molnar commit 269484a492d9177072ee11ec8c9bff71d256837a Author: Mike Galbraith Date: Tue Mar 30 11:09:53 2010 +0200 sched: Fix proc_sched_set_task() Latencytop clearing sum_exec_runtime via proc_sched_set_task() breaks task_times(). Other places in kernel use nvcsw and nivcsw, which are being cleared as well, Clear task statistics only. Reported-by: Török Edwin Signed-off-by: Mike Galbraith Cc: Hidetoshi Seto Cc: Arjan van de Ven Signed-off-by: Peter Zijlstra LKML-Reference: <1269940193.19286.14.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 8bb39f9aa068262732fe44b965d7a6eb5a5a7d67 Author: Mike Galbraith Date: Fri Mar 26 11:11:33 2010 +0100 perf: Fix 'perf sched record' deadlock perf sched record can deadlock a box should the holder of handle->data->lock take an interrupt, and then attempt to acquire an rq lock held by a CPU trying to acquire the same lock. Disable interrupts. CPU0 CPU1 sched event with rq->lock held grab handle->data->lock spin on handle->data->lock interrupt try to grab rq->lock Reported-by: Li Zefan Signed-off-by: Mike Galbraith Tested-by: Li Zefan Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker LKML-Reference: <1269598293.6174.8.camel@marge.simson.net> Signed-off-by: Ingo Molnar commit 257ef9d21f1b008a6c7425544b36641c4325a922 Author: Torok Edwin Date: Wed Mar 17 12:07:16 2010 +0200 perf, x86: Fix callgraphs of 32-bit processes on 64-bit kernels When profiling a 32-bit process on a 64-bit kernel, callgraph tracing stopped after the first function, because it has seen a garbage memory address (tried to interpret the frame pointer, and return address as a 64-bit pointer). Fix this by using a struct stack_frame with 32-bit pointers when the TIF_IA32 flag is set. Note that TIF_IA32 flag must be used, and not is_compat_task(), because the latter is only set when the 32-bit process is executing a syscall, which may not always be the case (when tracing page fault events for example). Signed-off-by: Török Edwin Signed-off-by: Peter Zijlstra Acked-by: Frederic Weisbecker Cc: "H. Peter Anvin" Cc: Paul Mackerras Cc: x86@kernel.org Cc: linux-kernel@vger.kernel.org LKML-Reference: <1268820436-13145-1-git-send-email-edwintorok@gmail.com> Signed-off-by: Ingo Molnar commit b38b24ead33417146e051453d04bf60b8d2d7e25 Author: Peter Zijlstra Date: Tue Mar 23 19:31:15 2010 +0100 perf, x86: Fix AMD hotplug & constraint initialization Commit 3f6da39 ("perf: Rework and fix the arch CPU-hotplug hooks") moved the amd northbridge allocation from CPUS_ONLINE to CPUS_PREPARE_UP however amd_nb_id() doesn't work yet on prepare so it would simply bail basically reverting to a state where we do not properly track node wide constraints - causing weird perf results. Fix up the AMD NorthBridge initialization code by allocating from CPU_UP_PREPARE and installing it from CPU_STARTING once we have the proper nb_id. It also properly deals with the allocation failing. Signed-off-by: Peter Zijlstra [ robustify using amd_has_nb() ] Signed-off-by: Stephane Eranian LKML-Reference: <1269353485.5109.48.camel@twins> Signed-off-by: Ingo Molnar commit 85257024096a96fc5c00ce59d685f62bbed3ad95 Author: Peter Zijlstra Date: Tue Mar 23 19:30:52 2010 +0100 x86: Move notify_cpu_starting() callback to a later stage Because we need to have cpu identification things done by the time we run CPU_STARTING notifiers. ( This init ordering will be relied on by the next fix. ) Signed-off-by: Peter Zijlstra LKML-Reference: <1269353485.5109.48.camel@twins> Signed-off-by: Ingo Molnar commit 50d11d190afa4e21284b735bb0a092036f298f0b Merge: 42be79e ab310b5 Author: Ingo Molnar Date: Fri Apr 2 19:29:17 2010 +0200 Merge branch 'perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/urgent commit 51591e31dcb3716f03f962e26ec36a029aa46340 Author: David Rientjes Date: Thu Mar 25 15:39:27 2010 -0700 x86: Increase CONFIG_NODES_SHIFT max to 10 Some larger systems require more than 512 nodes, so increase the maximum CONFIG_NODES_SHIFT to 10 for a new max of 1024 nodes. This was tested with numa=fake=64M on systems with more than 64GB of RAM. A total of 1022 nodes were initialized. Successfully builds with no additional warnings on x86_64 allyesconfig. ( No effect on any existing config. Newly enabled CONFIG_MAXSMP=y will see the new default. ) Signed-off-by: David Rientjes LKML-Reference: Signed-off-by: Ingo Molnar commit b5442a75deee293d10c2ab8f4a77013973c4c9e0 Author: Janusz Krzysztofik Date: Sun Mar 28 22:29:29 2010 +0200 ASoC: OMAP: Fix capture pointer handling for OMAP1510 to work correctly with recent ALSA PCM code With recent (2.6.34) chnages in PCM handling, capture stopped working on my OMAP1510 based Amstrad Delta videophone. Using 2.6.34-rc2, I was able to correct the problem in 3 different ways: 1. reverting commit 7b3a177b0d4f92b3431b8dca777313a07533a710, 2. enabling additional jiffies check with echo 4 >/proc/asound/card0/pcm0c0/xrun_debug 3. applying the patch below. Since I wasn't able to reproduce the problem on my i686 PC, I guess the problem is probably machine specific. The patch reuses the method for software emulation of missing hardware pointer, already implemented for playback on OMAP1510. It's possible that event if a hardware pointer is available for capture on this machine, its behaviour may be not compatible with what upper layer expects. If you think the problem may be more general and should be solved differently, on a higher level, I can try to work more on it if you give me a hint. If the patch gets accepted, I suggest it goes as a fix in the current release cycle. Created and tested against linux-2.6.34-rc2. Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 483f64c430ad981188d865ee635f3f7a469f0b12 Merge: bc53ba2 c565c54 Author: Linus Torvalds Date: Fri Apr 2 08:18:02 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: Add NOGET quirk for Quanta Pixart touchscreen HID: fix oops in gyration_event() commit bc53ba2918bef821dec3528397bc49cd55291e56 Merge: 42be79e be97d75 Author: Linus Torvalds Date: Fri Apr 2 07:33:38 2010 -0700 Merge branch 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix up the SH-3 build for recent TLB changes. sh: export return_address() symbol. sh: Enable the mmu in start_secondary() sh: Fix FDPIC binary loader arch/sh/kernel: Use set_cpus_allowed_ptr sh: Update ecovec_defconfig USB gadget r8a66597-udc.c: duplicated include sh: update the TLB replacement counter for entry wiring. commit 308f44193f796b1c522b3b87760e43d8d8e316d2 Author: Li Hong Date: Fri Apr 2 18:40:39 2010 +0800 nilfs2: Remove an uninitialization warning in nilfs_btree_propagate_v() `make CONFIG_NILFS2_FS=m M=fs/nilfs2/` will give the following warnings: fs/nilfs2/btree.c: In function 'nilfs_btree_propagate': fs/nilfs2/btree.c:1882: warning: 'maxlevel' may be used uninitialized in this function fs/nilfs2/btree.c:1882: note: 'maxlevel' was declared here Set maxlevel = 0 to fix it. Signed-off-by: Li Hong Signed-off-by: Ryusuke Konishi commit 144214537370b4f133a735446ebe86e90cfb2501 Author: Anton Blanchard Date: Fri Apr 2 09:46:55 2010 +0200 backing-dev: Handle class_create() failure I hit this when we had a bug in IDR for a few days. Basically sysfs would fail to create new inodes since it uses an IDR and therefore class_create would fail. While we are unlikely to see this fail we may as well handle it instead of oopsing. Signed-off-by: Anton Blanchard Signed-off-by: Jens Axboe commit be97d758e5728099e95fe229866d5c6c900d3092 Author: Paul Mundt Date: Fri Apr 2 16:13:27 2010 +0900 sh: Fix up the SH-3 build for recent TLB changes. While the MMUCR.URB and ITLB/UTLB differentiation works fine for all SH-4 and later TLBs, these features are absent on SH-3. This splits out local_flush_tlb_all() in to SH-4 and PTEAEX copies while restoring the old SH-3 one, subsequently fixing up the build. This will probably want some further reordering and tidying in the future, but that's out of scope at present. Signed-off-by: Paul Mundt commit 5dd6ef5050c5012267e2b84f3d82ba85cdb5ca32 Author: Paul Mundt Date: Fri Apr 2 16:02:33 2010 +0900 sh: export return_address() symbol. This is needed with some of the tracing code built as modules, so provide the export. Signed-off-by: Paul Mundt commit a506aedc51093544ff0f9610af6066d18cb6abbe Author: wzt.wzt@gmail.com Date: Fri Apr 2 08:41:14 2010 +0200 Block: Fix block/elevator.c elevator_get() off-by-one error elevator_get() not check the name length, if the name length > sizeof(elv), elv will miss the '\0'. And elv buffer will be replace "-iosched" as something like aaaaaaaaa, then call request_module() can load an not trust module. Signed-off-by: Zhitong Wang Signed-off-by: Jens Axboe commit b2b163dd47024e445410b72d0c5df6d819c14dfd Author: Philipp Reisner Date: Fri Apr 2 08:40:33 2010 +0200 drbd: lc_element_by_index() never returns NULL Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg Signed-off-by: Jens Axboe commit 61917bdaaf6bea4b885525cf63f65272914f6be2 Author: Dan Carpenter Date: Fri Apr 2 08:39:40 2010 +0200 cciss: unlock on error path We take the spin_lock again in fail_all_cmds() so we need to unlock here. Signed-off-by: Dan Carpenter Signed-off-by: Jens Axboe commit 93f4d91d879acfcb0ba9c2725e3133fcff2dfd1e Author: Neil Horman Date: Thu Apr 1 07:30:07 2010 +0000 r8169: clean up my printk uglyness Fix formatting on r8169 printk Brandon Philips noted that I had a spacing issue in my printk for the last r8169 patch that made it quite ugly. Fix that up and add the PFX macro to it as well so it looks like the other r8169 printks Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 43e9da8d782b8a40d5127fcc59ac2e543cf16d7d Author: Dimitris Michailidis Date: Thu Apr 1 15:28:27 2010 +0000 net: Hook up cxgb4 to Kconfig and Makefile Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit b8ff05a9c3237f694a1c3bf8ceec3bf6c3c14b15 Author: Dimitris Michailidis Date: Thu Apr 1 15:28:26 2010 +0000 cxgb4: Add main driver file and driver Makefile Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit 625ba2c2eed763fad9c3f51318cbe8e1917b9fc8 Author: Dimitris Michailidis Date: Thu Apr 1 15:28:25 2010 +0000 cxgb4: Add remaining driver headers and L2T management Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit fd3a47900b6f9fa72a4074ecb630f9dae62f1a95 Author: Dimitris Michailidis Date: Thu Apr 1 15:28:24 2010 +0000 cxgb4: Add packet queues and packet DMA code Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit 56d36be4dd5fc7b33bff7986737aff79c790184a Author: Dimitris Michailidis Date: Thu Apr 1 15:28:23 2010 +0000 cxgb4: Add HW and FW support code Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit bbc02c7e9d343c521f17dc06e8d8d7468639d154 Author: Dimitris Michailidis Date: Thu Apr 1 15:28:22 2010 +0000 cxgb4: Add register, message, and FW definitions Signed-off-by: Dimitris Michailidis Signed-off-by: David S. Miller commit b914f3a2a35812545f773645f340d7c075e5b64d Author: Paul Moore Date: Thu Apr 1 10:43:57 2010 +0000 netlabel: Fix several rcu_dereference() calls used without RCU read locks The recent changes to add RCU lock verification to rcu_dereference() calls caught out a problem with netlbl_unlhsh_hash(), see below. =================================================== [ INFO: suspicious rcu_dereference_check() usage. ] --------------------------------------------------- net/netlabel/netlabel_unlabeled.c:246 invoked rcu_dereference_check() without protection! This patch fixes this problem as well as others like it in the NetLabel code. Also included in this patch is the identification of future work to eliminate the RCU read lock in netlbl_domhsh_add(), but in the interest of getting this patch out quickly that work will happen in another patch to be finished later. Thanks to Eric Dumazet and Paul McKenney for their help in understanding the recent RCU changes. Signed-off-by: Paul Moore Reported-by: David Howells CC: Eric Dumazet CC: Paul E. McKenney Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 9e2e61fbf8ad016d24e4af0afff13505f3dd2a2a Author: Amerigo Wang Date: Wed Mar 31 21:30:52 2010 +0000 bonding: fix potential deadlock in bond_uninit() bond_uninit() is invoked with rtnl_lock held, when it does destroy_workqueue() which will potentially flush all works in this workqueue, if we hold rtnl_lock again in the work function, it will deadlock. So move destroy_workqueue() to destructor where rtnl_lock is not held any more, suggested by Eric. Signed-off-by: WANG Cong Cc: Jay Vosburgh Cc: "David S. Miller" Cc: Stephen Hemminger Cc: Jiri Pirko Cc: "Eric W. Biederman" Signed-off-by: David S. Miller commit 6503d96168f891ffa3b70ae6c9698a1a722025a0 Author: Changli Gao Date: Wed Mar 31 22:58:26 2010 +0000 net: check the length of the socket address passed to connect(2) check the length of the socket address passed to connect(2). Check the length of the socket address passed to connect(2). If the length is invalid, -EINVAL will be returned. Signed-off-by: Changli Gao ---- net/bluetooth/l2cap.c | 3 ++- net/bluetooth/rfcomm/sock.c | 3 ++- net/bluetooth/sco.c | 3 ++- net/can/bcm.c | 3 +++ net/ieee802154/af_ieee802154.c | 3 +++ net/ipv4/af_inet.c | 5 +++++ net/netlink/af_netlink.c | 3 +++ 7 files changed, 20 insertions(+), 3 deletions(-) Signed-off-by: David S. Miller commit a1d6f3f65512cc90a636e6ec653b7bc9e2238753 Author: Giuseppe CAVALLARO Date: Wed Mar 31 21:44:04 2010 +0000 stmmac: add documentation for the driver. Add Documentation/networking/stmmac.txt for the stmmac network driver. Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 7ba8a9b4f92e9559933af305c9b11e9beb97f9ea Author: Carmelo AMOROSO Date: Wed Mar 31 21:44:03 2010 +0000 stmmac: fix kconfig for crc32 build error stmmac uses crc32 functions so it needs to select CRC32. Fixes build error: drivers/built-in.o: In function `dwmac1000_set_filter': dwmac1000_core.c:(.text+0x3c380): undefined reference to `crc32_le' dwmac1000_core.c:(.text+0x3c384): undefined reference to `bitrev32' Signed-off-by: Carmelo Amoroso Signed-off-by: Giuseppe Cavallaro Signed-off-by: David S. Miller commit 9cae9e4f8b5887d8ef46fc56c7ca97814ae741ce Author: Ajit Khaparde Date: Wed Mar 31 02:00:32 2010 +0000 be2net: fix bug in vlan rx path for big endian architecture vlan traffic on big endian architecture is broken. Need to swap the vid before giving packet to stack. This patch fixes it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 8b93b710a9cd70d67013b4b0f00df7dfda058064 Author: Ajit Khaparde Date: Wed Mar 31 01:57:10 2010 +0000 be2net: fix flashing on big endian architectures Flashing is broken on big endian architectures like ppc. This patch fixes it. From: Naresh G Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit f510fc64cce4646a1fd3c7e5ba7e36cad7e98f02 Author: Ajit Khaparde Date: Wed Mar 31 01:47:45 2010 +0000 be2net: fix a bug in flashing the redboot section Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 042be38e6106ed70b42d096ab4a1ed4187e510e6 Author: Yinghai Lu Date: Thu Apr 1 14:32:43 2010 -0700 ibft, x86: Change reserve_ibft_region() to find_ibft_region() This allows arch code could decide the way to reserve the ibft. And we should reserve ibft as early as possible, instead of BOOTMEM stage, in case the table is in RAM range and is not reserved by BIOS (this will often be the case.) Move to just after find_smp_config(). Also when CONFIG_NO_BOOTMEM=y, We will not have reserve_bootmem() anymore. -v2: fix typo about ibft pointed by Konrad Rzeszutek Wilk Signed-off-by: Yinghai Lu LKML-Reference: <4BB510FB.80601@kernel.org> Cc: Pekka Enberg Cc: Peter Jones Cc: Konrad Rzeszutek Wilk CC: Jan Beulich Signed-off-by: H. Peter Anvin commit b4a5e8a1deca7e61ebaffb37344766b0f0e9f327 Author: Alok Kataria Date: Thu Mar 11 14:00:16 2010 -0800 x86, hpet: Fix bug in RTC emulation We think there exists a bug in the HPET code that emulates the RTC. In the normal case, when the RTC frequency is set, the rtc driver tells the hpet code about it here: int hpet_set_periodic_freq(unsigned long freq) { uint64_t clc; if (!is_hpet_enabled()) return 0; if (freq <= DEFAULT_RTC_INT_FREQ) hpet_pie_limit = DEFAULT_RTC_INT_FREQ / freq; else { clc = (uint64_t) hpet_clockevent.mult * NSEC_PER_SEC; do_div(clc, freq); clc >>= hpet_clockevent.shift; hpet_pie_delta = (unsigned long) clc; } return 1; } If freq is set to 64Hz (DEFAULT_RTC_INT_FREQ) or lower, then hpet_pie_limit (a static) is set to non-zero. Then, on every one-shot HPET interrupt, hpet_rtc_timer_reinit is called to compute the next timeout. Well, that function has this logic: if (!(hpet_rtc_flags & RTC_PIE) || hpet_pie_limit) delta = hpet_default_delta; else delta = hpet_pie_delta; Since hpet_pie_limit is not 0, hpet_default_delta is used. That corresponds to 64Hz. Now, if you set a different rtc frequency, you'll take the else path through hpet_set_periodic_freq, but unfortunately no one resets hpet_pie_limit back to 0. Boom....now you are stuck with 64Hz RTC interrupts forever. The patch below just resets the hpet_pie_limit value when requested freq is greater than DEFAULT_RTC_INT_FREQ, which we think fixes this problem. Signed-off-by: Alok N Kataria LKML-Reference: <201003112200.o2BM0Hre012875@imap1.linux-foundation.org> Signed-off-by: Daniel Hecht Cc: Venkatesh Pallipadi Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: H. Peter Anvin commit 8da854cb02156c90028233ae1e85ce46a1d3f82c Author: Pallipadi, Venkatesh Date: Thu Feb 25 10:53:48 2010 -0800 x86, hpet: Erratum workaround for read after write of HPET comparator On Wed, Feb 24, 2010 at 03:37:04PM -0800, Justin Piszcz wrote: > Hello, > > Again, on the Intel DP55KG board: > > # uname -a > Linux host 2.6.33 #1 SMP Wed Feb 24 18:31:00 EST 2010 x86_64 GNU/Linux > > [ 1.237600] ------------[ cut here ]------------ > [ 1.237890] WARNING: at arch/x86/kernel/hpet.c:404 hpet_next_event+0x70/0x80() > [ 1.238221] Hardware name: > [ 1.238504] hpet: compare register read back failed. > [ 1.238793] Modules linked in: > [ 1.239315] Pid: 0, comm: swapper Not tainted 2.6.33 #1 > [ 1.239605] Call Trace: > [ 1.239886] [] ? warn_slowpath_common+0x73/0xb0 > [ 1.240409] [] ? tick_dev_program_event+0x38/0xc0 > [ 1.240699] [] ? warn_slowpath_fmt+0x40/0x50 > [ 1.240992] [] ? tick_dev_program_event+0x38/0xc0 > [ 1.241281] [] ? hpet_next_event+0x70/0x80 > [ 1.241573] [] ? tick_dev_program_event+0x38/0xc0 > [ 1.241859] [] ? tick_handle_oneshot_broadcast+0xe2/0x100 > [ 1.246533] [] ? timer_interrupt+0x1a/0x30 > [ 1.246826] [] ? handle_IRQ_event+0x39/0xd0 > [ 1.247118] [] ? handle_edge_irq+0xb8/0x160 > [ 1.247407] [] ? handle_irq+0x15/0x20 > [ 1.247689] [] ? do_IRQ+0x62/0xe0 > [ 1.247976] [] ? ret_from_intr+0x0/0xa > [ 1.248262] [] ? mwait_idle+0x57/0x80 > [ 1.248796] [] ? cpu_idle+0x5c/0xb0 > [ 1.249080] ---[ end trace db7f668fb6fef4e1 ]--- > > Is this something Intel has to fix or is it a bug in the kernel? This is a chipset erratum. Thomas: You mentioned we can retain this check only for known-buggy and hpet debug kind of options. But here is the simple workaround patch for this particular erratum. Some chipsets have a erratum due to which read immediately following a write of HPET comparator returns old comparator value instead of most recently written value. Erratum 15 in "Intel I/O Controller Hub 9 (ICH9) Family Specification Update" (http://www.intel.com/assets/pdf/specupdate/316973.pdf) Workaround for the errata is to read the comparator twice if the first one fails. Signed-off-by: Venkatesh Pallipadi LKML-Reference: <20100225185348.GA9674@linux-os.sc.intel.com> Signed-off-by: H. Peter Anvin Cc: Venkatesh Pallipadi Cc: commit aa235fc712f379d4194cff9217f07026c452c141 Author: Yinghai Lu Date: Wed Mar 31 20:45:27 2010 -0700 bootmem, x86: Fix 32bit numa system without RAM on node 0 When 32bit numa is used, free_all_bootmem() will still only go over with node id 0. If node 0 doesn't have RAM installed, the lowest populated node becomes low RAM. This one fixes BOOTMEM path by iterating over the bdata_list. -v3: add more comments, and fix bootmem path too. -v4: seperate from one big patch Signed-off-by: Yinghai Lu LKML-Reference: <4BB416D7.6090203@kernel.org> Signed-off-by: H. Peter Anvin commit 337998587f802535896e9ed16d19f97915ccd368 Author: Yinghai Lu Date: Wed Mar 31 20:44:09 2010 -0700 nobootmem, x86: Fix 32bit numa system without RAM on node 0 On one system without RAM on node0, got following boot dump with a 32 bit NUMA kernel: early_node_map[4] active PFN ranges 1: 0x00000010 -> 0x00000099 1: 0x00000100 -> 0x0007da00 1: 0x0007e800 -> 0x0007ffa0 1: 0x0007ffae -> 0x0007ffb0 ... Subtract (29 early reservations) #000 [0000001000 - 0000002000] #001 [0000089000 - 000008f000] #002 [0000091000 - 0000093500] ... #027 [007cbfef40 - 007e800000] #028 [007e9ca000 - 007ff95000] (0 free memory ranges) Initializing HighMem for node 0 (00000000:00000000) Initializing HighMem for node 1 (00000000:00000000) Memory: 0k/2096832k available (6662k kernel code, 2096300k reserved, 4829k data, 484k init, 0k highmem) ... Checking if this processor honours the WP bit even in supervisor mode...Ok. swapper: page allocation failure. order:0, mode:0x0 Pid: 0, comm: swapper Not tainted 2.6.34-rc3-tip-03818-g4b1ea6c-dirty #35 Call Trace: [<4087a5dc>] ? printk+0xf/0x11 [<40286728>] __alloc_pages_nodemask+0x417/0x487 [<402a9ce1>] new_slab+0xe2/0x1fe [<402aa5b2>] kmem_cache_open+0x185/0x358 [<402abbc0>] T.954+0x1c/0x60 [<40d52a29>] kmem_cache_init+0x24/0x113 [<40d39738>] start_kernel+0x166/0x2e4 [<40d3940e>] ? unknown_bootoption+0x0/0x18e [<40d390ce>] i386_start_kernel+0xce/0xd5 Mem-Info: Node 1 DMA per-cpu: CPU 0: hi: 0, btch: 1 usd: 0 Node 1 Normal per-cpu: CPU 0: hi: 0, btch: 1 usd: 0 active_anon:0 inactive_anon:0 isolated_anon:0 active_file:0 inactive_file:0 isolated_file:0 unevictable:0 dirty:0 writeback:0 unstable:0 free:0 slab_reclaimable:0 slab_unreclaimable:0 mapped:0 shmem:0 pagetables:0 bounce:0 When 32bit NUMA is used, free_all_bootmem() will still only go over with node id 0. If node 0 doesn't have RAM installed, We need to go with node1 because early_node_map still use 1 for all ranges, and ram from node1 become low ram. Use MAX_NUMNODES like 64-bit NUMA does. Note: BOOTMEM path has the same problem. this bug exist before We have NO_BOOTMEM support. -v3: add more comments, and fix bootmem path too. -v4: seperate bootmem path fix Signed-off-by: Yinghai Lu LKML-Reference: <4BB41689.9090502@kernel.org> Signed-off-by: H. Peter Anvin commit 909fc87b32b3b9e3f0b87dcc5d98319c41900c58 Author: Andi Kleen Date: Mon Mar 29 09:41:11 2010 +0200 x86: Handle overlapping mptables We found a system where the MP table MPC and MPF structures overlap. That doesn't really matter because the mptable is not used anyways with ACPI, but it leads to a panic in the early allocator due to the overlapping reservations in 2.6.33. Earlier kernels handled this without problems. Simply change these reservations to reserve_early_overlap_ok to avoid the panic. Reported-by: Thomas Renninger Tested-by: Thomas Renninger Signed-off-by: Andi Kleen LKML-Reference: <20100329074111.GA22821@basil.fritz.box> Signed-off-by: H. Peter Anvin Cc: commit 819ccbfa448403992ceafc05d6d7097aaa74d4c3 Author: Sage Weil Date: Thu Apr 1 09:33:46 2010 -0700 ceph: fix leaked inode ref due to snap metadata writeback race We create a ceph_cap_snap if there is dirty cap metadata (for writeback to mds) OR dirty pages (for writeback to osd). It is thus possible that the metadata has been written back to the MDS but the OSD data has not when the cap_snap is created. This results in a cap_snap with dirty(caps) == 0. The problem is that cap writeback to the MDS isn't necessary, and a FLUSHSNAP cap op gets no ack from the MDS. This leaves the cap_snap attached to the inode along with its inode reference. Fix the problem by dropping the cap_snap if it becomes 'complete' (all pages written out) and dirty(caps) == 0 in ceph_put_wrbuffer_cap_refs(). Also, BUG() in __ceph_flush_snaps() if we encounter a cap_snap with dirty(caps) == 0. Signed-off-by: Sage Weil commit 6298a33757ba7361bb8f506c106daad77e5ac8cf Author: Sage Weil Date: Wed Mar 31 22:01:38 2010 -0700 ceph: fix snap context reference leaks The get_oldest_context() helper takes a reference to the returned snap context, but most callers weren't dropping that reference. Fix them. Also drop the unused locked __get_oldest_context() variant. Signed-off-by: Sage Weil commit 80e755fedebc8de0599a79efad2c656503df2e62 Author: Sage Weil Date: Wed Mar 31 21:52:10 2010 -0700 ceph: allow writeback of snapped pages older than 'oldest' snapc On snap deletion, we don't regenerate ceph_cap_snaps for inodes with dirty pages because deletion does not affect metadata writeback. However, we did run into problems when we went to write back the pages because the 'oldest' snapc is determined by the oldest cap_snap, and that may be the newer snapc that reflects the deletion. This caused confusion and an infinite loop in ceph_update_writeable_page(). Change the snapc checks to allow writeback of any snapc that is equal to OR older than the 'oldest' snapc. When there are no cap_snaps, we were also using the realm's latest snapc for writeback, which complicates ceph_put_wrbufffer_cap_refs(). Instead, use i_head_snapc, the most snapc used for the most recent ('head') data. This makes the writeback snapc (ceph_osd_request.r_snapc) _always_ match a capsnap or i_head_snapc. Also, in writepags_finish(), drop the snapc referenced by the _page_ and do not assume it matches the request snapc (it may not anymore). Signed-off-by: Sage Weil commit 42be79e37e264557f12860fa4cc84b4de3685954 Merge: 445c682 d668046 Author: Linus Torvalds Date: Thu Apr 1 09:19:42 2010 -0700 Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (76 commits) drm/radeon/kms: enable ACPI powermanagement mode on radeon gpus. drm/radeon/kms: rs400/480 should set common registers. drm/radeon/kms: add sanity check to wptr. drm/radeon/kms/evergreen: get DP working drm/radeon/kms: add hw_i2c module option drm/radeon/kms: use new pre/post_xfer i2c bit algo hooks drm/radeon/kms: disable MSI on IGP chips drm/radeon/kms: display watermark updates (v2) drm/radeon/kms/dp: disable training pattern on the sink at the end of link training drm/radeon/kms: minor fixes for eDP with LCD* device tags (v2) drm/radeon/kms/dp: remove extraneous training complete call drm/radeon/kms/atom: minor fixes to transmitter setup drm/radeon/kms: Only restrict BO to visible VRAM size when pinning to VRAM. drm: fix build error when SYSRQ is disabled drm/radeon/kms: fix macbookpro connector quirk drm/radeon/r6xx/r7xx: further safe reg clean up drm/radeon: bump the UMS driver version for r6xx/r7xx const buffer support drm/radeon/kms: bump the version for r6xx/r7xx const buffer support drm/radeon/r6xx/r7xx: CS parser fixes drm/radeon/kms: fix some typos in r6xx/r7xx hpd setup ... Fix up MSI-related conflicts in drivers/gpu/drm/radeon/radeon_irq_kms.c commit 445c682b93479c06d1b062b63ed79202f3ed5503 Merge: c7681f4 ca3865b Author: Linus Torvalds Date: Thu Apr 1 09:14:20 2010 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (35 commits) microblaze: Support word copying in copy_tofrom_user microblaze: Print early printk information to log buffer microblaze: head.S typo fix microblaze: Use MICROBLAZE_TLB_SIZE in asm code microblaze: Kconfig Fix - pci microblaze: Adding likely macros microblaze: Add .type and .size to ASM functions microblaze: Fix TLB macros microblaze: Use instruction with delay slot microblaze: Remove additional resr and rear loading microblaze: Change register usage for ESR and EAR microblaze: Prepare work for optimization in exception code microblaze: Add DEBUG option microblaze: Support systems without lmb bram microblaze: uaccess: Sync strlen, strnlen, copy_to/from_user microblaze: uaccess: Unify __copy_tofrom_user microblaze: uaccess: Move functions to generic location microblaze: uaccess: Fix put_user for noMMU microblaze: uaccess: Fix get_user macro for noMMU microblaze: uaccess: fix clear_user for noMMU kernel ... commit c7681f4637df65082aeee1ea1ff0479607d71982 Merge: b95c35e ee027e4 Author: Linus Torvalds Date: Thu Apr 1 09:13:57 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: eeepc-wmi: new driver for WMI based hotkeys on Eee PC laptops asus-laptop: fix warning in asus_handle_init commit 91cb17314e74d0e5ab572b4b84b9398c61b71abb Author: Takashi Iwai Date: Thu Apr 1 18:08:29 2010 +0200 ALSA: hda - Update document about MSI and interrupts Signed-off-by: Takashi Iwai commit b95c35e76b29ba812e5dabdd91592e25ec640e93 Author: Oleg Nesterov Date: Thu Apr 1 15:13:57 2010 +0200 oom: fix the unsafe usage of badness() in proc_oom_score() proc_oom_score(task) has a reference to task_struct, but that is all. If this task was already released before we take tasklist_lock - we can't use task->group_leader, it points to nowhere - it is not safe to call badness() even if this task is ->group_leader, has_intersects_mems_allowed() assumes it is safe to iterate over ->thread_group list. - even worse, badness() can hit ->signal == NULL Add the pid_alive() check to ensure __unhash_process() was not called. Also, use "task" instead of task->group_leader. badness() should return the same result for any sub-thread. Currently this is not true, but this should be changed anyway. Signed-off-by: Oleg Nesterov Cc: stable@kernel.org Signed-off-by: Linus Torvalds commit 1af185034662b75279f90e1c7cb958271d4121e2 Author: Herbert Xu Date: Wed Mar 31 20:13:39 2010 +0000 ide: Must hold queue lock when requeueing ide-atapi requeues requests without holding the queue lock. This patch fixes it by using ide_requeue_and_plug. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6072f7491f5ef391a575e18a1165e72a3eef1601 Author: Herbert Xu Date: Wed Mar 31 20:11:59 2010 +0000 ide: Requeue request after DMA timeout I noticed that my KVM virtual machines were experiencing IDE issues resulting in processes stuck on waiting for buffers to complete. The root cause is of course race conditions in the ancient qemu backend that I'm using. However, the fact that the guest isn't recovering is a bug. I've tracked it down to the change made last year to dequeue requests at the start rather than at the end in the IDE layer. commit 8f6205cd572fece673da0255d74843680f67f879 Author: Tejun Heo Date: Fri May 8 11:53:59 2009 +0900 ide: dequeue in-flight request The problem is that the function ide_dma_timeout_retry does not requeue the current request, causing one request to be lost for each DMA timeout. This patch fixes this by requeueing the request. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit ca3865bae5ff86f5670edc9beebbd1f58c29de85 Author: Michal Simek Date: Mon Mar 22 20:31:26 2010 +0100 microblaze: Support word copying in copy_tofrom_user Word copying is used only for aligned addresses. Here is space for improving to use any better copying technique. Look at memcpy implementation. Signed-off-by: Michal Simek commit 6059b3cbeb27a38e3ca9ac9d2827f7b5be32e2ba Author: Michal Simek Date: Wed Mar 24 11:07:10 2010 +0100 microblaze: Print early printk information to log buffer If early printk console is not enabled then all messages are written to log buffer. Signed-off-by: Michal Simek commit 3f2189358666b6fa09d41f527be07b3cc8026050 Author: Michal Simek Date: Wed Mar 24 11:06:23 2010 +0100 microblaze: head.S typo fix I forget to change register name in comments. Signed-off-by: Michal Simek commit 0691c97d74cbdfd49333ef01939ecaef158ebe1b Author: Michal Simek Date: Wed Mar 24 10:09:17 2010 +0100 microblaze: Use MICROBLAZE_TLB_SIZE in asm code TLB size was hardcoded in asm code. This patch brings ability to change TLB size only in one place. (mmu.h). Signed-off-by: Michal Simek commit 9373dd6ab140f1e6f2e62a9f0bf473987a0b62dc Author: Michal Simek Date: Tue Mar 23 15:46:10 2010 +0100 microblaze: Kconfig Fix - pci I forget to remove pci Kconfig option. Signed-off-by: Michal Simek commit 78ebfa884bcef125464399f8d1cb05937bfeb6e1 Author: Michal Simek Date: Tue Mar 23 15:37:02 2010 +0100 microblaze: Adding likely macros On the base on GCOV analytics is helpful to add likely/unlikely macros. Signed-off-by: Michal Simek commit 13851966da54be8e37863aa93ee2c8f3d3a3186a Author: Michal Simek Date: Tue Mar 23 08:09:32 2010 +0100 microblaze: Add .type and .size to ASM functions Cachegrind analysis need this fix to be able to log asm functions. Signed-off-by: Michal Simek commit e84452dd9ff517bd3028f6444d000727cd39e783 Author: Michal Simek Date: Mon Mar 22 14:54:35 2010 +0100 microblaze: Fix TLB macros To be able to do trace TLB operations. Signed-off-by: Michal Simek commit 3765d6958dfff34a15588e23c5d1274e1f6ba200 Author: Michal Simek Date: Mon Mar 22 20:43:27 2010 +0100 microblaze: Use instruction with delay slot Sync labels. Signed-off-by: Michal Simek commit bd1637d63e82aaf732ffbe907ba887fa12e82df4 Author: Michal Simek Date: Fri Mar 19 12:50:35 2010 +0100 microblaze: Remove additional resr and rear loading RESR and REAR uses the same regs in whole file. Signed-off-by: Michal Simek commit b175bcfe31cba846d8bfa35a3a4820667f7af383 Author: Michal Simek Date: Fri Mar 19 12:44:40 2010 +0100 microblaze: Change register usage for ESR and EAR This change synchronize register usage in code. ESR = R4 EAR = R3 Signed-off-by: Michal Simek commit 7a6bbdc9304b45cc759e03623cbe63d81aff7337 Author: Michal Simek Date: Mon Mar 22 20:37:23 2010 +0100 microblaze: Prepare work for optimization in exception code Any sync branch must follow mts instructions not mfs. Signed-off-by: Michal Simek commit 708e7153d6fc4d2e5fe15c6ccc5d2907fe8a9c8d Author: Michal Simek Date: Thu Mar 18 07:23:04 2010 +0100 microblaze: Add DEBUG option Disable debug option in asm code. Signed-off-by: Michal Simek commit ee68f1745e7734a55c8bf680f6f464205f1f15da Author: Michal Simek Date: Mon Mar 15 08:48:27 2010 +0100 microblaze: Support systems without lmb bram When the system has no lmb bram, main memory should be start from zero because of microblaze vectors. DTS fragment could look like: DDR2_SDRAM: memory@0 { device_type = "memory"; reg = < 0x0 0x10000000 >; } ; Then you have to setup CONFIG_KERNEL_BASE_ADDR=0 which caused that kernel physical start address will be zero. On reset vector place will be jump to 0x100 and on 0x100 starts kernel text. You have to solve how to load the kernel before cpu starts. Tested with XMD. Signed-off-by: Michal Simek commit 89ae9753aef160c2f7bcecec21a7c4a6bc4c9b9b Author: Michal Simek Date: Mon Mar 22 18:49:45 2010 +0100 microblaze: uaccess: Sync strlen, strnlen, copy_to/from_user Last sync. Signed-off-by: Michal Simek commit 94804a9b3d0e62096a52fb62afcea32b899380c5 Author: Michal Simek Date: Mon Mar 22 18:39:20 2010 +0100 microblaze: uaccess: Unify __copy_tofrom_user Move to generic location. Signed-off-by: Michal Simek commit cca79120c253451220e589a104bdeb57e4901871 Author: Michal Simek Date: Mon Mar 22 18:23:45 2010 +0100 microblaze: uaccess: Move functions to generic location noMMU and MMU use them. Signed-off-by: Michal Simek commit ef4e277b5d86e56db650137de0b1cd16ded32498 Author: Michal Simek Date: Mon Mar 22 16:22:41 2010 +0100 microblaze: uaccess: Fix put_user for noMMU Here is small regression on dhrystone tests and I think that on all benchmarking tests. It is due to better checking mechanism in put_user macro Signed-off-by: Michal Simek commit 3a6d77245efe062993284fd1c2f7510d9a90efe1 Author: Michal Simek Date: Mon Mar 8 10:52:24 2010 +0100 microblaze: uaccess: Fix get_user macro for noMMU Use unified version. Signed-off-by: Michal Simek commit 527bdb52d50ddbc8dd64369e464d7a08bc7eb83c Author: Michal Simek Date: Mon Mar 22 16:02:59 2010 +0100 microblaze: uaccess: fix clear_user for noMMU kernel Previous patches fixed only MMU version and this is the first patch for noMMU kernel Signed-off-by: Michal Simek commit 40e11e3380d4bd14bb3d85c7e7b863075a6a8d86 Author: Michal Simek Date: Mon Mar 8 09:38:02 2010 +0100 microblaze: uaccess: Fix strncpy_from_user function Generic implementation for noMMU and MMU version Signed-off-by: Michal Simek commit 4270690bd4b1420a8d634ea31953a1c4def2a44a Author: Michal Simek Date: Mon Mar 22 15:56:32 2010 +0100 microblaze: uaccess: fix copy_from_user macro copy_from_user macro also use copy_tofrom_user function Signed-off-by: Michal Simek commit cc5a428b7ae9c2d6233b5bf6b3e6fbb24ddd1ed5 Author: Michal Simek Date: Mon Mar 22 15:52:53 2010 +0100 microblaze: uaccess: copy_to_user unification noMMU and MMU kernel will use copy copy_tofrom_user asm implementation. Signed-off-by: Michal Simek commit 0dcb409de73edeb221aed38d9ff8640cf41ff0de Author: Michal Simek Date: Mon Mar 22 15:46:56 2010 +0100 microblaze: uaccess: sync put/get/clear_user macros Add macro description and resort. Signed-off-by: Michal Simek commit 8b651aa4a7c047b848f3a7bdf0aba9449e6dc3d3 Author: Michal Simek Date: Mon Mar 22 15:25:12 2010 +0100 microblaze: uaccess: fix put_user and get_user macros Use FIXUP macros and resort them. Signed-off-by: Michal Simek commit c77a9c4bb7b6e26400853c92d74ccc697c5e2f7e Author: Michal Simek Date: Fri Mar 5 18:03:53 2010 +0100 microblaze: uaccess: fix __get_user_asm macro It is used __FIXUP_SECTION and __EX_TABLE_SECTION macros. Signed-off-by: Michal Simek commit 40b1156db09ab2df48aa4970ddf4a27a17246f1f Author: Michal Simek Date: Fri Mar 5 16:50:01 2010 +0100 microblaze: uaccess: fix clean user macro This is the first patch which does uaccess unification. I choosed to do several patches to be able to use bisect in future if any fault happens. Signed-off-by: Michal Simek commit 60a729f7bb936a9ab82b430de70a1952f560adf3 Author: Michal Simek Date: Fri Mar 5 15:49:53 2010 +0100 microblaze: move noMMU __range_ok function to uaccess.h The same noMMU and MMU functions should be placed in one file. Signed-off-by: Michal Simek commit 357bc3c9284b2fb201786176e8187d2273323bc1 Author: Michal Simek Date: Fri Mar 5 15:37:57 2010 +0100 microblaze: Move exception_table_entry upward Just sort to be able remove whole block. Signed-off-by: Michal Simek commit 40db0834337ef0cde586feeb5588e45f0349098b Author: Michal Simek Date: Fri Mar 5 15:34:12 2010 +0100 microblaze: Remove segment.h I would like to use asm-generic uaccess.h where are segment macros defined. This is just first step. Signed-off-by: Michal Simek commit 4009819cf90c26e3ec7b0ed949d5ff37c568e197 Author: Michal Simek Date: Wed Mar 3 17:03:21 2010 +0100 microblaze: Remove memset in free_init_pages We don't need to do it. Signed-off-by: Michal Simek commit 6fa114e0f18fb33b66fd5ee9037052830198a8c4 Author: Arun Bhanu Date: Wed Mar 17 16:06:04 2010 +0800 microblaze: Makefile cleanups If CONFIG_INITRAMFS_SOURCE is set, "scripts/gen_initramfs_list.sh" checks if the cpio image exists. Remove the duplicate check from the Makefile. Remove the "clean-kernel" variable which is unused in the Makefile and is not used by the Kbuild. Signed-off-by: Arun Bhanu Signed-off-by: Michal Simek commit 8a8804f1ab2d3226bfa9f9a64c4316f9a01f8ee9 Author: Arun Bhanu Date: Wed Mar 17 16:06:03 2010 +0800 microblaze: Fix Makefile to delete build generated files 'make clean' does not to delete the following build generated file: arch/microblaze/boot/linux.bin.ub 'make mrproper' does not to delete the following build generated files: arch/microblaze/boot/simpleImage.* Fix the Makefile to delete these build generated files. See [1] for a discussion on why simpleImage.* files are deleted with 'make mrproper' and not with 'make clean'. [1] http://lkml.org/lkml/2010/3/12/96 Signed-off-by: Arun Bhanu Signed-off-by: Michal Simek commit 699d17bc14edceb710998349fa74e66be3042372 Author: Arun Bhanu Date: Fri Mar 12 16:31:40 2010 +0800 microblaze: Add a missing single quote to make 'make help' happy 'make ARCH=microblaze help' fails with the following error due to a missing single quote. /bin/sh: -c: line 0: unexpected EOF while looking for matching `'' /bin/sh: -c: line 1: syntax error: unexpected end of file make: *** [help] Error 2 Signed-off-by: Arun Bhanu Signed-off-by: Michal Simek commit 0c4ec16b86e6a823bc6e9fbe08a724d517eb3c24 Author: Steven J. Magnani Date: Wed Feb 24 14:54:15 2010 -0600 microblaze: Fix "kstack=" parsing The "kstack=" command line parameter is not parsed correctly. All proper values are interpreted as zero. Signed-off-by: Steven J. Magnani Signed-off-by: Michal Simek commit ab310b5edb8b601bcb02491ed6f7676da4fd1757 Author: Jason Wessel Date: Tue Mar 30 14:05:07 2010 -0500 x86,kgdb: Always initialize the hw breakpoint attribute It is required to call hw_breakpoint_init() on an attr before using it in any other calls. This fixes the problem where kgdb will sometimes fail to initialize on x86_64. Signed-off-by: Jason Wessel Cc: Ingo Molnar Cc: 2.6.33 LKML-Reference: <1269975907-27602-1-git-send-email-jason.wessel@windriver.com> Signed-off-by: Frederic Weisbecker commit e49a5bd38159dfb1928fd25b173bc9de4bbadb21 Author: Frederic Weisbecker Date: Mon Mar 22 19:40:03 2010 +0100 perf: Use hot regs with software sched switch/migrate events Scheduler's task migration events don't work because they always pass NULL regs perf_sw_event(). The event hence gets filtered in perf_swevent_add(). Scheduler's context switches events use task_pt_regs() to get the context when the event occured which is a wrong thing to do as this won't give us the place in the kernel where we went to sleep but the place where we left userspace. The result is even more wrong if we switch from a kernel thread. Use the hot regs snapshot for both events as they belong to the non-interrupt/exception based events family. Unlike page faults or so that provide the regs matching the exact origin of the event, we need to save the current context. This makes the task migration event working and fix the context switch callchains and origin ip. Example: perf record -a -e cs Before: 10.91% ksoftirqd/0 0 [k] 0000000000000000 | --- (nil) perf_callchain perf_prepare_sample __perf_event_overflow perf_swevent_overflow perf_swevent_add perf_swevent_ctx_event do_perf_sw_event __perf_sw_event perf_event_task_sched_out schedule run_ksoftirqd kthread kernel_thread_helper After: 23.77% hald-addon-stor [kernel.kallsyms] [k] schedule | --- schedule | |--60.00%-- schedule_timeout | wait_for_common | wait_for_completion | blk_execute_rq | scsi_execute | scsi_execute_req | sr_test_unit_ready | | | |--66.67%-- sr_media_change | | media_changed | | cdrom_media_changed | | sr_block_media_changed | | check_disk_change | | cdrom_open v2: Always build perf_arch_fetch_caller_regs() now that software events need that too. They don't need it from modules, unlike trace events, so we keep the EXPORT_SYMBOL in trace_event_perf.c Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Ingo Molnar Cc: David Miller commit eb1e79611cc9bfe21978230e3521e77ea2d7874a Author: Frederic Weisbecker Date: Tue Mar 23 00:08:59 2010 +0100 perf: Correctly align perf event tracing buffer The trace event buffer used by perf to record raw sample events is typed as an array of char and may then not be aligned to 8 by alloc_percpu(). But we need it to be aligned to 8 in sparc64 because we cast this buffer into a random structure type built by the TRACE_EVENT() macro to store the traces. So if a random 64 bits field is accessed inside, it may be not under an expected good alignment. Use an array of long instead to force the appropriate alignment, and perform a compile time check to ensure the size in byte of the buffer is a multiple of sizeof(long) so that its actual size doesn't get shrinked under us. This fixes unaligned accesses reported while using perf lock in sparc 64. Suggested-by: David Miller Suggested-by: Tejun Heo Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Paul Mackerras Cc: Ingo Molnar Cc: David Miller Cc: Steven Rostedt commit d668046c13024d74af7d04a124ba55f406380fe7 Author: Dave Airlie Date: Wed Mar 31 13:41:35 2010 +1000 drm/radeon/kms: enable ACPI powermanagement mode on radeon gpus. Some GPUs have an APM/ACPI PM mode selection switch and some BIOSes set this to APM. We really want this in ACPI mode for Linux. Signed-off-by: Dave Airlie commit 08a370fa758fae7e387274ca3571ce625d7f829b Author: Dave Airlie Date: Wed Mar 31 13:42:50 2010 +1000 drm/radeon/kms: rs400/480 should set common registers. These GPUs should be setting these registers up also. Signed-off-by: Dave Airlie commit 9e5786bd14cb9ffe29ebe66d41cedf03311b0d30 Author: Dave Airlie Date: Wed Mar 31 13:38:56 2010 +1000 drm/radeon/kms: add sanity check to wptr. If we resume in a bad way, we'll get 0xffffffff in wptr, and then oops with no console. This just adds a sanity check so that we can avoid the oops and hopefully get more details out of people's systems. Signed-off-by: Dave Airlie commit fb668c2fed628179c7aa409a0de39a2b96bed18c Author: Alex Deucher Date: Wed Mar 31 14:42:11 2010 -0400 drm/radeon/kms/evergreen: get DP working Need to enable the VID stream after link training Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d5dc056cce9e60528d5eac64efed623d26ffe46f Merge: 00ae702 7371400 Author: David S. Miller Date: Wed Mar 31 19:32:50 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit a42ab8e1a37257da37e0f018e707bf365ac24531 Author: Joel Becker Date: Wed Mar 31 18:25:44 2010 -0700 ocfs2: Compute metaecc for superblocks during online resize. Online resize writes out the new superblock and its backups directly. The metaecc data wasn't being recomputed. Let's do that directly. Signed-off-by: Joel Becker Acked-by: Mark Fasheh [ Cc: stable@kernel.org commit b857bd292223f54aaae3693c82fa7299a99991cd Author: David S. Miller Date: Wed Mar 31 18:05:05 2010 -0700 sparc: Fix regset register window handling. We have to adjust 'reg_window' down by 16 becuase the 'pos' iterator we'll use to index into the stack slots will be between 16 and 32. Signed-off-by: David S. Miller commit 9f3a5f52aa63d3aa4c64a7245153549bb66bad8c Author: Yinghai Lu Date: Mon Mar 29 22:38:29 2010 -0700 x86: Make e820_remove_range to handle all covered case Rusty found on lguest with trim_bios_range, max_pfn is not right anymore, and looks e820_remove_range does not work right. [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] LGUEST: 0000000000000000 - 0000000004000000 (usable) [ 0.000000] Notice: NX (Execute Disable) protection missing in CPU or disabled in BIOS! [ 0.000000] DMI not present or invalid. [ 0.000000] last_pfn = 0x3fa0 max_arch_pfn = 0x100000 [ 0.000000] init_memory_mapping: 0000000000000000-0000000003fa0000 root cause is: the e820_remove_range doesn't handle the all covered case. e820_remove_range(BIOS_START, BIOS_END - BIOS_START, ...) produces a bogus range as a result. Make it match e820_update_range() by handling that case too. Reported-by: Rusty Russell Signed-off-by: Yinghai Lu Tested-by: Rusty Russell LKML-Reference: <4BB18E55.6090903@kernel.org> Signed-off-by: H. Peter Anvin commit 3e340c05c0def3bb68db6751299b7821c2ba0621 Author: Jani Nikula Date: Thu Mar 11 16:17:28 2010 +0000 IB/cm: Fix device_create() return value check Use IS_ERR() instead of comparing to NULL. Signed-off-by: Jani Nikula Signed-off-by: Roland Dreier commit ee027e4aed3077c4bb3b585c67528eec0e7222df Author: Yong Wang Date: Sun Mar 21 10:26:34 2010 +0800 eeepc-wmi: new driver for WMI based hotkeys on Eee PC laptops Add a WMI driver for Eee PC laptops. Currently it only supports hotkeys. Signed-off-by: Yong Wang Signed-off-by: Matthew Garrett Acked-by: Dmitry Torokhov commit 167215118a88dd56a1ab8c8d33e279d6d40f57b6 Author: Corentin Chary Date: Tue Mar 2 22:24:12 2010 +0100 asus-laptop: fix warning in asus_handle_init In function 'asus_laptop_get_info': warning: passing argument 3 of 'asus_handle_init' from incompatible pointer type note: expected 'char **' but argument is of type 'const char **' Introduced by commit c21085108a02e1b838c34f3650c8cc9fbd178615 ("asus-laptop: fix style problems reported by checkpath.pl"). Signed-off-by: Corentin Chary Signed-off-by: Matthew Garrett commit 30d1872d9eb3663b4cf7bdebcbf5cd465674cced Author: Nikolaus Schulz Date: Thu Apr 1 02:21:10 2010 +0900 fat: fix buffer overflow in vfat_create_shortname() When using the string representation of a random counter as part of the base name, ensure that it is no longer than 4 bytes. Since we are repeatedly decrementing the counter in a loop until we have found a unique base name, the counter may wrap around zero; therefore, it is not enough to mask its higher bits before entering the loop, this must be done inside the loop. [hirofumi@mail.parknet.co.jp: use snprintf()] Signed-off-by: Nikolaus Schulz Cc: stable@kernel.org Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds commit fd187aaf980c45f1d16a94a846faa68e24de03c8 Author: Dominik Brodowski Date: Fri Mar 26 10:01:34 2010 +0100 [CPUFREQ] use max load in conservative governor Instead of using the load of the last CPU in a package, use the maximum load of all CPUs in a package. Reported-by: Jean-Christian Goussard Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 499bca9b6d3243f9278a1f5a22d00e67acdd844d Author: Amerigo Wang Date: Thu Mar 4 03:23:46 2010 -0500 [CPUFREQ] fix a lockdep warning There is no need to do sysfs_remove_link() or kobject_put() etc. when policy_rwsem_write is held, move them after releasing the lock. This fixes the lockdep warning: halt/4071 is trying to acquire lock: (s_active){++++.+}, at: [] .sysfs_addrm_finish+0x58/0xc0 but task is already holding lock: (&per_cpu(cpu_policy_rwsem, cpu)){+.+.+.}, at: [] .lock_policy_rwsem_write+0x84/0xf4 Reported-by: Benjamin Herrenschmidt Signed-off-by: WANG Cong Cc: Johannes Berg Cc: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 753649dbc49345a73a2454c770a3f2d54d11aec6 Author: Thomas Gleixner Date: Wed Mar 31 13:30:19 2010 +0200 genirq: Force MSI irq handlers to run with interrupts disabled Network folks reported that directing all MSI-X vectors of their multi queue NICs to a single core can cause interrupt stack overflows when enough interrupts fire at the same time. This is caused by the fact that we run interrupt handlers by default with interrupts enabled unless the driver reuqests the interrupt with the IRQF_DISABLED set. The NIC handlers do not set this flag, so simultaneous interrupts can nest unlimited and cause the stack overflow. The only safe counter measure is to run the interrupt handlers with interrupts disabled. We can't switch to this mode in general right now, but it is safe to do so for MSI interrupts. Force IRQF_DISABLED for MSI interrupt handlers. Signed-off-by: Thomas Gleixner Cc: Andi Kleen Cc: Linus Torvalds Cc: Andrew Morton Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Alan Cox Cc: David Miller Cc: Greg Kroah-Hartman Cc: Arnaldo Carvalho de Melo Cc: stable@kernel.org commit 00ae702847df5566ce9182e9c895185e2ad1c181 Author: Eric Dumazet Date: Tue Mar 30 23:08:37 2010 +0000 bonding: bond_xmit_roundrobin() fix Commit a2fd940f (bonding: fix broken multicast with round-robin mode) added a problem on litle endian machines. drivers/net/bonding/bond_main.c:4159: warning: comparison is always false due to limited range of data type Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit d54a45e2533ef33678dc340298b022a289d2b3e3 Author: Ranjith Lohithakshan Date: Wed Mar 31 04:16:30 2010 -0600 OMAP3: clock: fix enable bit used for dpll4_m4x2 clock The enable bit for dpll4_m4x2 clock should be OMAP3430_PWRDN_DSS1_SHIFT. The code erroneously uses OMAP3430_PWRDN_CAM_SHIFT which is meant for dpll4_m5x2 clock. This came into notice during a recent review of the clock tree. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Paul Walmsley commit 766d305fead341889e7b9611fdc97236075a29fb Author: Rajendra Nayak Date: Wed Mar 31 04:16:30 2010 -0600 OMAP4: prcm: Use logical OR instead of bitwise OR This patch fixes usage of bitwise OR in if conditions, and instead uses logical OR. Signed-off-by: Rajendra Nayak Cc: Abhijit Pagare Cc: Tony Lindgren Signed-off-by: Paul Walmsley commit 56dc79aba14bad1b73508df9e210e93bbd81a577 Author: Thara Gopinath Date: Wed Mar 31 04:16:29 2010 -0600 OMAP: HWMOD: Bug fixes in hwmod structure definitions This patch corrects the width of sysc_flags in hwmod sysconfig structure where the values to be stored to this variable exceed the current field width. Signed-off-by: Thara Gopinath [paul@pwsan.com: edited to apply; rearranged structure members to pack] Signed-off-by: Paul Walmsley commit d5647c18eac9a313a89a3049a9fff51b20021a44 Author: Thara Gopinath Date: Wed Mar 31 04:16:29 2010 -0600 OMAP: HWMOD: Adding clockdomain check This patch adds check for presence of clockdomain structure in the API omap_hwmod_get_pwrdm before trying to access the powerdomain structure. This will prevent unnecessary crashing of the system in case of a clock node with out an associated clockdomain. Signed-off-by: Thara Gopinath Signed-off-by: Paul Walmsley commit b8e80cf386419453678b01bef830f53445ebb15d Author: Daniel T Chen Date: Tue Mar 30 13:29:28 2010 -0400 ALSA: hda: Fix 0 dB offset for Lenovo Thinkpad models using AD1981 BugLink: https://launchpad.net/bugs/551606 The OR's hardware distorts at PCM 100% because it does not correspond to 0 dB. Fix this in patch_ad1981() for all models using the Thinkpad quirk. Reported-by: Jane Silber Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 753234007f4ac2c96921cfb19ec1ba535ac29790 Author: Li Hong Date: Wed Mar 31 15:41:00 2010 +0800 nilfs2: fix a wrong type conversion in nilfs_ioctl() (void * __user *) should be (void __user *) Signed-off-by: Li Hong Signed-off-by: Ryusuke Konishi commit ce6fbdefb68d46db88170494b277551f955b48e2 Author: Julia Lawall Date: Mon Mar 29 05:35:05 2010 +0000 drivers/net: Add missing unlock Unlock the lock before leaving the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irqsave (E1,...); ... when != E1 * return ...; ...+> } // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit ddc01b3b8ab224b346daf61976078b166f36b7e8 Author: Kim Phillips Date: Tue Mar 30 11:54:22 2010 +0000 net: gianfar - align BD ring size console messages fix this: eth2: :RX BD ring size for Q[0]: 256 eth2:TX BD ring size for Q[0]: 256 to look like: eth2: RX BD ring size for Q[0]: 256 eth2: TX BD ring size for Q[0]: 256 Signed-off-by: Kim Phillips Signed-off-by: David S. Miller commit ed130589d9afa3238c94b9537f2024355b9638e1 Author: Kim Phillips Date: Tue Mar 30 11:54:21 2010 +0000 net: gianfar - initialize per-queue statistics Interfaces come up claiming having already received 3.0 GiB. Use kzalloc to properly initialize per-queue data. Signed-off-by: Kim Phillips Signed-off-by: David S. Miller commit 7c0d10d35f7f47d00cc5f2b85ee5e95c2b1fdb7e Author: Andy Fleming Date: Mon Mar 29 15:42:23 2010 +0000 gianfar: Fix a memory leak in gianfar close code gianfar needed to ensure existence of the *skbuff arrays before freeing the skbs in them, rather than ensuring their nonexistence. Signed-off-by: Andy Fleming Signed-off-by: David S. Miller commit e2b0a8e1e697dbcd62574a32f4f96151d21bdd36 Author: Alex Deucher Date: Wed Mar 17 02:07:37 2010 -0400 drm/radeon/kms: add hw_i2c module option Turn off hw i2c by default except for mm i2c which is hw only until we sort out the remaining prescale issues on older chips. hw i2c can be enabled with hw_i2c=1. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ac1aade6876465060ebf9a71675dcb7305f0bafa Author: Alex Deucher Date: Sun Mar 14 12:22:44 2010 -0400 drm/radeon/kms: use new pre/post_xfer i2c bit algo hooks This allows us to remove the internal bit algo bus used by the radeon i2c algo. We now register a radeon algo adapter if the gpio line is hw capable and the hw inplementation is available, otherwise we register a bit algo adapter. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3595be778d8cb887f0e0575ef0a0c1a094d120bb Merge: c414a11 220bf99 Author: Dave Airlie Date: Wed Mar 31 14:55:14 2010 +1000 Merge branch 'v2.6.34-rc2' into drm-linus commit c414a117c6094c3f86b533f97beaf45ef9075f03 Author: Alex Deucher Date: Tue Mar 30 17:22:32 2010 -0400 drm/radeon/kms: disable MSI on IGP chips Doesn't seem to work reliably and the pci quirks don't always work. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f46c01208da1881591e3f55ca77d37f54469f8e4 Author: Alex Deucher Date: Wed Mar 31 00:33:27 2010 -0400 drm/radeon/kms: display watermark updates (v2) - Add module option to force the display priority 0 = auto, 1 = normal, 2 = high - Default to high on r3xx/r4xx/rv515 chips Fixes flickering problems during heavy acceleration due to underflow to the display controllers - Fill in minimal support for RS600 v2 - update display priority when bandwidth is updated so the user can change the parameter at runtime and it will take affect on the next modeset. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3b01a1191fe76bd11e5743eceed7c25d8157239e Author: Alex Deucher Date: Tue Mar 30 02:03:48 2010 -0400 drm/radeon/kms/dp: disable training pattern on the sink at the end of link training Seems to have gotten lost in the evergreen merge. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 9f998ad7e92a1653b6b396b1278e75560a8be519 Author: Alex Deucher Date: Mon Mar 29 21:37:08 2010 -0400 drm/radeon/kms: minor fixes for eDP with LCD* device tags (v2) Some systems have LCD* rather than DFP* device tags in the bios for eDP connectors; notably the new apple iMac. This fixes things up so eDP connectors with either tag will work. v2: fix typo Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 7f768957f407f7b8c8793eedaf7512049d092f29 Author: Alex Deucher Date: Mon Mar 29 14:06:10 2010 -0400 drm/radeon/kms/dp: remove extraneous training complete call Looks like a copy/paste typo from when evergreen support was added. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d9c9fe3622d15e7e84121ffedef60f4080ab4f03 Author: Alex Deucher Date: Mon Mar 29 17:39:44 2010 -0400 drm/radeon/kms/atom: minor fixes to transmitter setup - 8 lane links are not valid for DP - remove unused num var Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3ca82da3ebe019facd611184385897fa614e6b9e Author: Michel Dänzer Date: Fri Mar 26 19:18:55 2010 +0000 drm/radeon/kms: Only restrict BO to visible VRAM size when pinning to VRAM. This prevented radeon.test=1 from testing transfers from/to GTT beyond the visible VRAM size. Signed-off-by: Michel Dänzer Signed-off-by: Dave Airlie commit b8c40d6269d5e515341599b2e395f2dab4490d74 Author: Randy Dunlap Date: Thu Mar 25 18:29:05 2010 +0000 drm: fix build error when SYSRQ is disabled Fix build error when CONFIG_MAGIC_SYSRQ is not enabled: drivers/gpu/drm/drm_fb_helper.c:915: error: 'sysrq_drm_fb_helper_restore_op' undeclared (first use in this function) drivers/gpu/drm/drm_fb_helper.c:929: error: 'sysrq_drm_fb_helper_restore_op' undeclared (first use in this function) Signed-off-by: Randy Dunlap Signed-off-by: Dave Airlie commit e1e8a5dd4faf356b5d31c620c5787eaa83ee831d Author: Alex Deucher Date: Fri Mar 26 17:14:37 2010 -0400 drm/radeon/kms: fix macbookpro connector quirk Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 97586c422b38c4c12e2b5011d59c401d03d09ed6 Author: Alex Deucher Date: Fri Mar 26 19:36:33 2010 -0400 drm/radeon/r6xx/r7xx: further safe reg clean up - remove a few more drm only regs - remove sampler, alu, bool, loop constant regs. They are set via separate packet3's already Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 6bb118012ab0462d5ebc3ab17eb278416532cf15 Author: Alex Deucher Date: Fri Mar 26 15:26:51 2010 -0400 drm/radeon: bump the UMS driver version for r6xx/r7xx const buffer support Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit fdb43528d4697b0e81e27a0d6539e744c2965cf2 Author: Alex Deucher Date: Fri Mar 26 15:24:14 2010 -0400 drm/radeon/kms: bump the version for r6xx/r7xx const buffer support Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5f77df368c84d0a4a5913c8c78f0c6fa0b0db674 Author: Alex Deucher Date: Fri Mar 26 14:52:32 2010 -0400 drm/radeon/r6xx/r7xx: CS parser fixes - Drop some more safe regs taht userspace shouldn't hit - Constant base regs need relocs. This allows us to use constant buffers rather than the constant register file. Also we don't want userspace to be able to set arbitrary mc base values for the const caches. - Track SQ_CONFIG so we know whether userspace is using the cfile or constant buffers. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 5898b1f33c881fe1352464efd15faf7d26513b98 Author: Alex Deucher Date: Wed Mar 24 13:57:29 2010 -0400 drm/radeon/kms: fix some typos in r6xx/r7xx hpd setup Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d8fe2fa90ea9df694dcc022271391e7547772e1b Author: Alex Deucher Date: Wed Mar 24 18:45:32 2010 -0400 drm/radeon/r600: remove some regs are not safe regs for command buffers Only the drm should be touching them. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit da58405860b992d2bb21ebae5d685fe3204dd3f0 Author: Chris Wilson Date: Thu Mar 18 11:56:54 2010 +0000 drm: Return ENODEV if the inode mapping changes Replace a BUG_ON with an error code in the event that the inode mapping changes between calls to drm_open. This may happen for instance if udev is loaded subsequent to the original opening of the device: [ 644.291870] kernel BUG at drivers/gpu/drm/drm_fops.c:146! [ 644.291876] invalid opcode: 0000 [#1] SMP [ 644.291882] last sysfs file: /sys/kernel/uevent_seqnum [ 644.291888] [ 644.291895] Pid: 7276, comm: lt-cairo-test-s Not tainted 2.6.34-rc1 #2 N150/N210/N220 /N150/N210/N220 [ 644.291903] EIP: 0060:[] EFLAGS: 00210283 CPU: 0 [ 644.291912] EIP is at drm_open+0x4b1/0x4e2 [ 644.291918] EAX: f72d8d18 EBX: f790a400 ECX: f73176b8 EDX: 00000000 [ 644.291923] ESI: f790a414 EDI: f790a414 EBP: f647ae20 ESP: f647adfc [ 644.291929] DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068 [ 644.291937] Process lt-cairo-test-s (pid: 7276, ti=f647a000 task=f73f5c80 task.ti=f647a000) [ 644.291941] Stack: [ 644.291945] 00000000 f7bb7400 00000080 f6451100 f73176b8 f6479214 f6451100 f73176b8 [ 644.291957] <0> c1297ce0 f647ae34 c11c6c04 f73176b8 f7949800 00000000 f647ae54 c1080ac5 [ 644.291969] <0> f7949800 f6451100 00000000 f6451100 f73176b8 f6452780 f647ae70 c107d1e6 [ 644.291982] Call Trace: [ 644.291991] [] ? drm_stub_open+0x8a/0xb8 [ 644.292000] [] ? chrdev_open+0xef/0x106 [ 644.292008] [] ? __dentry_open+0xd4/0x1a6 [ 644.292015] [] ? nameidata_to_filp+0x31/0x45 [ 644.292022] [] ? chrdev_open+0x0/0x106 [ 644.292030] [] ? do_last+0x346/0x423 [ 644.292037] [] ? do_filp_open+0x190/0x415 [ 644.292046] [] ? handle_mm_fault+0x214/0x710 [ 644.292053] [] ? do_sys_open+0x4d/0xe9 [ 644.292061] [] ? do_page_fault+0x211/0x23f [ 644.292068] [] ? sys_open+0x23/0x2b [ 644.292075] [] ? sysenter_do_call+0x12/0x26 [ 644.292079] Code: 89 f0 89 55 dc e8 8d 96 0a 00 8b 45 e0 8b 55 dc 83 78 04 01 75 28 8b 83 18 02 00 00 85 c0 74 0f 8b 4d ec 3b 81 ac 00 00 00 74 13 <0f> 0b eb fe 8b 4d ec 8b 81 ac 00 00 00 89 83 18 02 00 00 89 f0 [ 644.292143] EIP: [] drm_open+0x4b1/0x4e2 SS:ESP 0068:f647adfc [ 644.292175] ---[ end trace 2ddd476af89a60fa ]--- Signed-off-by: Chris Wilson Cc: stable@kernel.org Signed-off-by: Dave Airlie commit fcbc451ba1948fba967198bd150ecbd10bbb7075 Author: Pauli Nieminen Date: Fri Mar 19 07:44:33 2010 +0000 drm/radeon/kms: Fix NULL pointer dereference if memory allocation failed. When there is allocation failure in radeon_cs_parser_relocs parser->nrelocs is not cleaned. This causes NULL pointer defeference in radeon_cs_parser_fini when clean up code is trying to loop over the relocation array and free the objects. Fix adds a check for a possible NULL pointer in clean up code. Signed-off-by: Pauli Nieminen Cc: stable@kernel.org Signed-off-by: Dave Airlie commit f9274562026558ab54a29331cf13e9ebec8cc890 Author: Jerome Glisse Date: Wed Mar 17 14:44:29 2010 +0000 drm/radeon/kms: avoid possible oops (call gart_fini before gart_disable) radeon_gart_fini might call GART unbind callback function which might try to access GART table but if gart_disable is call first the GART table will be unmapped so any access to it will oops. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 97f23b3d85a4d734a8584dade3a34579931c8f8d Author: Dave Airlie Date: Fri Mar 19 10:33:44 2010 +1000 drm/radeon/kms: don't print error on -ERESTARTSYS. We can get this if the user moves the mouse when we are waiting to move some stuff around in the validate. Don't fail. Cc: stable@kernel.org Signed-off-by: Dave Airlie commit a084e6ee6e64a76f1a9665d527203cdab7d6048f Author: Alex Deucher Date: Thu Mar 18 01:04:01 2010 -0400 drm/radeon/kms/atom: make sure tables are valid (v2) Check that atom cmd and data tables are valid before using them. (v2) - fix some whitespace errors noticed by Rafał Miłecki - check a few more cases Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit c1bcad9d16831859373d8f579fa1e146409f9960 Author: Alex Deucher Date: Wed Mar 17 19:50:59 2010 -0400 drm/radeon/kms: remove lvds quirks - no longer needed with the latest new pll algo fixes. - also don't use lcd pll limits. They don't seem to work well for all systems. If we have a case where they are useful, we can set the flag for that case. fixes fdo bug 27083 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b2f8ccd84059f7d0c3e4f67d577abca391bc1868 Author: Alex Deucher Date: Sun Mar 21 11:09:24 2010 -0400 drm/radeon/kms: fix display bandwidth setup on rs4xx I missed rs4xx in 7f1e613daf0fdd0884316ab25a749db3c671329e Fixes fdo bug 27219. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f95df9ca6896978108201a77422a1ae2cdc595ec Author: Alex Deucher Date: Sun Mar 21 14:02:25 2010 -0400 drm/radeon/kms: never treat rs4xx as AGP RS4xx+ IGP chips use an internal gart, however, some of them have the agp cap bits set in their pci configs. Make sure to clear the AGP flag as AGP will not work with them. Should fix fdo bug 27225 Signed-off-by: Alex Deucher cc: stable@kernel.org Signed-off-by: Dave Airlie commit f47299c55a837af1727bc601e1fc0fa33adaeda5 Author: Alex Deucher Date: Tue Mar 16 20:54:38 2010 -0400 drm/radeon/kms: display watermark fixes - rs780/880 were using the wrong bandwidth functions - convert r1xx-r4xx to use the same pm sclk/mclk structs as r5xx+ - move bandwidth setup to a common function Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit d5e50daf92df8afcb701fd717b301985691e802f Author: Randy Dunlap Date: Wed Mar 31 11:33:42 2010 +0900 module: add stub for is_module_percpu_address Fix build for CONFIG_MODULES not enabled by providing a stub for is_module_percpu_address(). kernel/lockdep.c:605: error: implicit declaration of function 'is_module_percpu_address' Signed-off-by: Randy Dunlap Signed-off-by: Tejun Heo commit 0cad8a1130f77c7c445e3298c0e3593b3c0ef439 Author: Josef Bacik Date: Wed Mar 17 20:45:56 2010 +0000 Btrfs: fix chunk allocate size calculation If the amount of free space left in a device is less than what we think should be the minimum size, just ignore the minimum size and use the amount we have. I ran into this running tests on a 600mb volume, the chunk allocator wouldn't let me allocate the last 52mb of the disk for data because we want to have at least 64mb chunks for data. This patch fixes that problem. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 287a0ab91d25ca982f895a76402e5893b47ed7a6 Author: Josef Bacik Date: Fri Mar 19 18:07:23 2010 +0000 Btrfs: kill max_extent mount option As Yan pointed out, theres not much reason for all this complicated math to account for file extents being split up into max_extent chunks, since they are likely to all end up in the same leaf anyway. Since there isn't much reason to use max_extent, just remove the option altogether so we have one less thing we need to test. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 1b1d1f6625e517a08640ddb4b8f8a0e025243fe3 Author: Josef Bacik Date: Fri Mar 19 20:49:55 2010 +0000 Btrfs: fail to mount if we have problems reading the block groups We don't actually check the return value of btrfs_read_block_groups, so we can possibly succeed to mount, but then fail to say read the superblock xattr for selinux which will cause the vfs code to deactivate the super. This is a problem because in find_free_extent we just assume that we will find the right space_info for the allocation we want. But if we failed to read the block groups, we won't have setup any space_info's, and we'll hit a NULL pointer deref in find_free_extent. This patch fixes that problem by checking the return value of btrfs_read_block_groups, and failing out properly. I've also added a check in find_free_extent so if for some reason we don't find an appropriate space_info, we just return -ENOSPC. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 6cf8bfbf5e88edfb09a2bf0631a067060f534592 Author: Dan Carpenter Date: Sat Mar 20 11:22:10 2010 +0000 Btrfs: check btrfs_get_extent return for IS_ERR() btrfs_get_extent() never returns NULL, only a valid pointer or ERR_PTR() Signed-off-by: Dan Carpenter Signed-off-by: Chris Mason commit c2b96929e2ca6914cf4a66cd8fe2a34c4a98277f Author: Dan Carpenter Date: Sat Mar 20 11:24:15 2010 +0000 Btrfs: handle kmalloc() failure in inode lookup ioctl Return -ENOMEM if kmalloc() fails. Signed-off-by: Dan Carpenter Signed-off-by: Chris Mason commit 683be16eb6e19a35aca2473668652259ed074094 Author: Dan Carpenter Date: Sat Mar 20 11:24:48 2010 +0000 Btrfs: dereferencing freed memory The original code dereferenced range on the next line. Signed-off-by: Dan Carpenter Signed-off-by: Chris Mason commit f3eae7e8a5ed124bbc781e18ea10c21856017322 Author: Zhao Lei Date: Thu Mar 25 12:32:59 2010 +0000 Btrfs: Simplify num_stripes's calculation logical for __btrfs_alloc_chunk() We can use this simple method to make source more readable. Signed-off-by: Zhao Lei Signed-off-by: Miao Xie Signed-off-by: Chris Mason commit ab59381ea43f81c977cbd09add26950aaf6cb9fe Author: Zhao Lei Date: Thu Mar 25 12:34:49 2010 +0000 Btrfs: Add error handle for btrfs_search_slot() in btrfs_read_chunk_tree() We need to check return value of btrfs_search_slot() in btrfs_read_chunk_tree() and do corresponding error handing. Signed-off-by: Zhao Lei Signed-off-by: Miao Xie Signed-off-by: Chris Mason commit 471fa17dff556ad38caf26de097c0630530d8cbe Author: Zhao Lei Date: Thu Mar 25 12:35:14 2010 +0000 Btrfs: Remove unnecessary finish_wait() in wait_current_trans() We only need to call finish_wait() after wait loop. By the way, this patch makes code of waiting loop similar to example in wait.h(no functional change) Signed-off-by: Zhao Lei Signed-off-by: Miao Xie Signed-off-by: Chris Mason commit 90d2c51dbb4db05c040bc7db264bb7ab35e35455 Author: Miao Xie Date: Thu Mar 25 12:37:12 2010 +0000 Btrfs: add NULL check for do_walk_down() btrfs_find_create_tree_block() may return NULL, so we must check the returned value, or we will access a NULL pointer. Signed-off-by: Miao Xie Signed-off-by: Chris Mason commit 2f3014fc2ab1e25c36531e19164c48182c168995 Author: Andrea Gelmini Date: Thu Mar 25 17:22:45 2010 +0000 Btrfs: remove duplicate include in ioctl.c fs/btrfs/ioctl.c: ctree.h is included more than once. Signed-off-by: Andrea Gelmini Signed-off-by: Chris Mason commit 9e7b414edbf5e037c1462bbd8676465ed2ae0ac3 Author: Alex Deucher Date: Tue Mar 16 17:08:06 2010 -0400 drm/radeon/kms: init rdev->num_crtc at asic init Replace hardcoded numbers with rdev->num_crtc. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 06abdb0ec6b91f634631404012c4d646389e9e0b Author: Alex Deucher Date: Mon Mar 15 01:36:32 2010 -0400 drm/radeon/kms/pm: fix typo in power table parsing Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit f867c60def7a8dcd86657fd38a8920a4354f305e Author: Alex Deucher Date: Fri Mar 5 14:50:37 2010 -0500 drm/radeon/kms: gfx init fixes for r6xx/r7xx This fixes some issues with the last gfx init patch. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 57f50d70e27f99a9a785c760b2123cdf6a68e2de Author: Alex Deucher Date: Sun Mar 14 16:31:36 2010 -0400 drm/radeon/kms/pm: fix segfault in clock code Make sure we have a crtc assigned to the encoder before dereferencing it. Signed-off-by: Alex Deucher commit 29fb52ca78b4e265ec6c626b0c7b2927953949cf Author: Alex Deucher Date: Thu Mar 11 10:01:17 2010 -0500 drm/radeon/kms: expose thermal/fan i2c buses Look up i2c bus in the power table and expose it. You'll need to load a hwmon driver for any chips on the bus, this patch just exposes the bus. Signed-off-by: Alex Deucher commit baff42ab1494528907bf4d5870359e31711746ae Author: Steven J. Magnani Date: Tue Mar 30 13:56:01 2010 -0700 net: Fix oops from tcp_collapse() when using splice() tcp_read_sock() can have a eat skbs without immediately advancing copied_seq. This can cause a panic in tcp_collapse() if it is called as a result of the recv_actor dropping the socket lock. A userspace program that splices data from a socket to either another socket or to a file can trigger this bug. Signed-off-by: Steven J. Magnani Signed-off-by: David S. Miller commit 9358c6d4c0264b1572554c49c4b92673ea9a5c72 Author: Sage Weil Date: Tue Mar 30 13:54:41 2010 -0700 ceph: fix dentry rehashing on virtual .snap dir If a lookup fails on the magic .snap directory, we bind it to a magic snap directory inode in ceph_lookup_finish(). That code assumes the dentry is unhashed, but a recent server-side change started returning NULL leases on lookup failure, causing the .snap dentry to be hashed and NULL by ceph_fill_trace(). This causes dentry hash chain corruption, or a dies when d_rehash() includes BUG_ON(!d_unhashed(entry)); So, avoid processing the NULL dentry lease if it the dentry matches the snapdir name in ceph_fill_trace(). That allows the lookup completion to properly bind it to the snapdir inode. BUG there if dentry is hashed to be sure. Signed-off-by: Sage Weil commit b7b7fa43103a9fb30dbcc60cbd5161fdfc25f904 Author: Jeff Mahoney Date: Mon Mar 29 15:12:39 2010 -0400 reiserfs: Fix locking BUG during mount failure Commit 8ebc423238341b52912c7295b045a32477b33f09 (reiserfs: kill-the-BKL) introduced a bug in the mount failure case. The error label releases the lock before calling journal_release_error, but it requires that the lock be held. do_journal_release unlocks and retakes it. When it releases it without it held, we trigger a BUG(). The error_alloc label skips the unlock since the lock isn't held yet but none of the other conditions that are clean up exist yet either. This patch returns immediately after the kzalloc failure and moves the reiserfs_write_unlock after the journal_release_error call. This was reported in https://bugzilla.novell.com/show_bug.cgi?id=591807 Reported-by: Thomas Siedentopf Signed-off-by: Jeff Mahoney Cc: Thomas Siedentopf Cc: Andrew Morton Cc: 2.6.33.x Signed-off-by: Frederic Weisbecker commit 428257f8870f0e72e85ce782d091fa1f366de7df Author: Wengang Wang Date: Wed Mar 24 22:40:44 2010 +0800 ocfs2: Check the owner of a lockres inside the spinlock The checking of lockres owner in dlm_update_lvb() is not inside spinlock protection. I don't see problem in current call path of dlm_update_lvb(). But just for code robustness. Signed-off-by: Wengang Wang Signed-off-by: Joel Becker commit a03ab788d070c256eff1ac24cf0e3bc2ca148096 Author: Coly Li Date: Fri Mar 26 05:15:12 2010 +0800 ocfs2: one more warning fix in ocfs2_file_aio_write(), v2 This patch fixes another compiling warning in ocfs2_file_aio_write() like this, fs/ocfs2/file.c: In function ‘ocfs2_file_aio_write’: fs/ocfs2/file.c:2026: warning: suggest parentheses around ‘&&’ within ‘||’ As Joel suggested, '!ret' is unary, this version removes the wrap from '!ret'. Signed-off-by: Coly Li Signed-off-by: Joel Becker commit efd647f744f3cf504ed83580274bd4b6918139fe Author: Tao Ma Date: Tue Mar 30 13:21:31 2010 +0800 ocfs2_dlmfs: User DLM_* when decoding file open flags. In commit 0016eedc4185a3cd7e578b027a6e69001b85d6c4, we have changed dlmfs to use stackglue. So when use DLM* when we decode dlm flags from open level. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 7371400431389e1df6a2a05ab9882055b8a6ff2c Author: Daniel Mack Date: Mon Mar 29 17:14:18 2010 +0200 net/wireless/libertas: do not call wiphy_unregister() w/o wiphy_register() The libertas driver calls wiphy_unregister() without a prior wiphy_register() when a devices fails initialization. Fix this by introducing a private flag. [ 9.310000] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [...] [ 9.330000] [] (wiphy_unregister+0xfc/0x19c) from [] (lbs_cfg_free+0x70/0x9c [libertas]) [ 9.330000] [] (lbs_cfg_free+0x70/0x9c [libertas]) from [] (lbs_remove_card+0x180/0x210 [libertas]) [ 9.330000] [] (lbs_remove_card+0x180/0x210 [libertas]) from [] (if_sdio_probe+0xdc4/0xef4 [libertas_sdio]) [ 9.330000] [] (if_sdio_probe+0xdc4/0xef4 [libertas_sdio]) from [] (sdio_bus_probe+0xd4/0xf0) [ 9.330000] [] (sdio_bus_probe+0xd4/0xf0) from [] (driver_probe_device+0xa4/0x174) [ 9.330000] [] (driver_probe_device+0xa4/0x174) from [] (__driver_attach+0x60/0x84) [ 9.330000] [] (__driver_attach+0x60/0x84) from [] (bus_for_each_dev+0x4c/0x8c) [ 9.330000] [] (bus_for_each_dev+0x4c/0x8c) from [] (bus_add_driver+0xa0/0x228) [ 9.330000] [] (bus_add_driver+0xa0/0x228) from [] (driver_register+0xc0/0x150) [ 9.330000] [] (driver_register+0xc0/0x150) from [] (if_sdio_init_module+0x6c/0x108 [libertas_sdio]) [ 9.330000] [] (if_sdio_init_module+0x6c/0x108 [libertas_sdio]) from [] (do_one_initcall+0x5c/0x1bc) [ 9.330000] [] (do_one_initcall+0x5c/0x1bc) from [] (sys_init_module+0xc0/0x1f0) [ 9.330000] [] (sys_init_module+0xc0/0x1f0) from [] (ret_fast_syscall+0x0/0x30) Signed-off-by: Daniel Mack Cc: Dan Williams Cc: John W. Linville Cc: Holger Schurig Cc: Bing Zhao Cc: libertas-dev@lists.infradead.org Cc: linux-wireless@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: John W. Linville commit 8e1a53c615e8efe0fac670f2973da64758748a8a Author: Dan Carpenter Date: Sun Mar 28 14:55:00 2010 +0300 iwlwifi: range checking issue IWL_RATE_COUNT is 13 and IWL_RATE_COUNT_LEGACY is 12. IWL_RATE_COUNT_LEGACY is the right one here because iwl3945_rates doesn't support 60M and also that's how "rates" is defined in iwlcore_init_geos() from drivers/net/wireless/iwlwifi/iwl-core.c. rates = kzalloc((sizeof(struct ieee80211_rate) * IWL_RATE_COUNT_LEGACY), GFP_KERNEL); Signed-off-by: Dan Carpenter Cc: stable@kernel.org Acked-by: Zhu Yi Signed-off-by: John W. Linville commit 2d20c72c021d96f8b9230396c8e3782f204214ec Author: Valentin Longchamp Date: Fri Mar 26 11:44:33 2010 +0100 setup correct int pipe type in ar9170_usb_exec_cmd An int urb is constructed but we fill it in with a bulk pipe type. Commit f661c6f8c67bd55e93348f160d590ff9edf08904 implemented a pipe type check when CONFIG_USB_DEBUG is enabled. The check failed for all the ar9170 usb transfers and the driver could not configure the wifi dongle. This went unnoticed until now because most people don't have CONFIG_USB_DEBUG enabled. Signed-off-by: Valentin Longchamp Cc: Stable Acked-by: Christian Lamparter Signed-off-by: John W. Linville commit 9e76ad2a27f592c1390248867391880c7efe78b3 Author: Gertjan van Wingerde Date: Wed Mar 24 21:42:37 2010 +0100 rt2x00: Disable powersaving by default in rt2500usb. Recent bug reports have shown that rt2500usb also suffers from the powersave problems that the PCI rt2x00 drivers suffer from. So disable powersaving by default for rt2500usb as well. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 71976907842abb71a0e6fda081e1d16e00420849 Author: Gertjan van Wingerde Date: Wed Mar 24 21:42:36 2010 +0100 rt2x00: Fix typo in RF register programming of rt2800. Signed-off-by: Gertjan van Wingerde Acked-by: Ivo van Doorn Signed-off-by: John W. Linville commit 48a6be6a0dd3982bb2d48e82b3e6f5458d9f3c63 Author: Shanyu Zhao Date: Tue Mar 16 10:22:26 2010 -0700 iwlwifi: clear unattended interrupts in tasklet Previously in interrupt handling tasklet, iwlwifi driver only clear/ack those interrupts that are enabled by the driver through inta_mask. If the hardware generates unattended interrupts, driver will not ack them, defeating the interrupt coalescing feature. This results in high number of interrupts per second and high CPU utilization. This patch addresses this issue by acking those unattended interrupts in the tasklet. Local test showed an order of magnitude improvement in terms of the number of interrupts without sacrificing networking throughput. This is a workaround for hardware issue. Signed-off-by: Shanyu Zhao Signed-off-by: Zhu Yi Signed-off-by: Reinette Chatre commit be6b38bcb175613f239e0b302607db346472c6b6 Author: Wey-Yi Guy Date: Thu Mar 18 09:05:00 2010 -0700 iwlwifi: counting number of tfds can be free for 4965 Forget one hunk in 4965 during "iwlwifi: error checking for number of tfds in queue" patch. Reported-by: Shanyu Zhao Signed-off-by: Wey-Yi Guy Signed-off-by: Reinette Chatre CC: stable@kernel.org commit f6c8f1523a2de3b84340e45913cbcee8bee74570 Author: Reinette Chatre Date: Fri Mar 12 11:13:26 2010 -0800 iwlwifi: fix regulatory Commit "cfg80211: convert bools into flags" mistakenly modified iwlwifi's regulatory settings instead of just converting it. Fix this. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2172 Signed-off-by: Reinette Chatre CC: stable@kernel.org commit 7236fe29fd72d17074574ba312e7f1bb9d10abaa Author: Johannes Berg Date: Mon Mar 22 13:42:43 2010 -0700 mac80211: move netdev queue enabling to correct spot "mac80211: fix skb buffering issue" still left a race between enabling the hardware queues and the virtual interface queues. In hindsight it's totally obvious that enabling the netdev queues for a hardware queue when the hardware queue is enabled is wrong, because it could well possible that we can fill the hw queue with packets we already have pending. Thus, we must only enable the netdev queues once all the pending packets have been processed and sent off to the device. In testing, I haven't been able to trigger this race condition, but it's clearly there, possibly only when aggregation is being enabled. Signed-off-by: Johannes Berg Cc: stable@kernel.org Signed-off-by: John W. Linville commit 05a9a1617026977422c7c5ed3aeac6f46fa2132c Author: Hans de Goede Date: Wed Mar 17 14:37:16 2010 +0100 Add USB ID for Thomson SpeedTouch 120g to p54usb id table Thanks to Chris Chabot for giving his old wireless usb dongle to me to test it under Linux. Signed-off-by: Hans de Goede Signed-off-by: John W. Linville commit e5868ba10c3c5d8a56c06bbafe098103356ac03f Author: Benjamin Larsson Date: Fri Mar 19 01:46:10 2010 +0100 Add a pci-id to the mwl8k driver Signed-off-by: Benjamin Larsson Signed-off-by: John W. Linville commit eb3d72c8b7e6bb6a55e15272c52eb4eadf7fb1f1 Author: Ben Konrath Date: Thu Mar 18 19:06:57 2010 -0400 ar9170: add support for NEC WL300NU-G USB dongle This patch adds support for the NEC WL300NU-G USB wifi dongle. Signed-off-by: Ben Konrath Signed-off-by: John W. Linville commit 533866b12cce484994163b1e201778cbac4c04c5 Author: Porsch, Marco Date: Wed Feb 24 09:53:13 2010 +0100 mac80211: fix PREQ processing and one small bug 1st) a PREQ should only be processed, if it has the same SN and better metric (instead of better or equal). 2nd) next_hop[ETH_ALEN] now actually used to buffer mpath->next_hop->sta.addr for use out of lock. Signed-off-by: Marco Porsch Acked-by: Javier Cardona Cc: stable@kernel.org Signed-off-by: John W. Linville commit c7a00dc73b7185ab2ebd1aa7ce710c7b4edc77a4 Author: John W. Linville Date: Wed Mar 17 11:28:18 2010 -0400 mac80211: correct typos in "unavailable upon resume" warning Signed-off-by: John W. Linville commit 368d06f5b0eefcbf37d677d3b65381310a251f03 Author: John W. Linville Date: Tue Mar 16 15:40:59 2010 -0400 wireless: convert reg_regdb_search_lock to mutex Stanse discovered that kmalloc is being called with GFP_KERNEL while holding this spinlock. The spinlock can be a mutex instead, which also enables the removal of the unlock/lock around the lock/unlock of cfg80211_mutex and the call to set_regdom. Reported-by: Jiri Slaby Cc: stable@kernel.org Signed-off-by: John W. Linville commit 8ae06d223f8203c72104e5c0c4ee49a000aedb42 Author: Shaohua Li Date: Fri Mar 5 08:59:32 2010 +0800 x86-32, resume: do a global tlb flush in S4 resume Colin King reported a strange oops in S4 resume code path (see below). The test system has i5/i7 CPU. The kernel doesn't open PAE, so 4M page table is used. The oops always happen a virtual address 0xc03ff000, which is mapped to the last 4k of first 4M memory. Doing a global tlb flush fixes the issue. EIP: 0060:[] EFLAGS: 00010086 CPU: 0 EIP is at copy_loop+0xe/0x15 EAX: 36aeb000 EBX: 00000000 ECX: 00000400 EDX: f55ad46c ESI: 0f800000 EDI: c03ff000 EBP: f67fbec4 ESP: f67fbea8 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068 ... ... CR2: 00000000c03ff000 Tested-by: Colin Ian King Signed-off-by: Shaohua Li LKML-Reference: <20100305005932.GA22675@sli10-desk.sh.intel.com> Acked-by: Rafael J. Wysocki Signed-off-by: H. Peter Anvin Cc: commit e05c378f4973674a16d5b9636f2310cf88aca5f2 Author: Joern Engel Date: Tue Mar 30 18:25:17 2010 +0200 [LogFS] Remove unused method All callers are long gone. Signed-off-by: Joern Engel commit 2eaa9cfdf33b8d7fb7aff27792192e0019ae8fc6 Author: Linus Torvalds Date: Tue Mar 30 09:24:39 2010 -0700 Linux 2.6.34-rc3 commit e971461fc59e3823e1b8a01379ce55c3d2d89c31 Author: David Howells Date: Mon Mar 29 23:42:09 2010 +0100 KEYS: Add MAINTAINERS record Add a MAINTAINERS record for the key management facility. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 246750ffa1b26335df4e485b4e4d28d83756ac43 Merge: 4660d3d 570b8fb Author: Linus Torvalds Date: Tue Mar 30 07:26:30 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: CRED: Fix memory leak in error handling commit 4660d3d240ac6c92cd3ad33657ca302026bdc24b Merge: be3fd3c 6be7fa0 Author: Linus Torvalds Date: Tue Mar 30 07:24:55 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs * git://git.kernel.org/pub/scm/linux/kernel/git/joern/logfs: [LogFS] Erase new journal segments [LogFS] Move reserved segments with journal [LogFS] Clear PagePrivate when moving journal Simplify and fix pad_wbuf Prevent data corruption in logfs_rewrite_block() Use deactivate_locked_super Fix logfs_get_sb_final error path Write out both superblocks on mismatch Prevent schedule while atomic in __logfs_readdir Plug memory leak in writeseg_end_io Limit max_pages for insane devices Open segment file before using it commit be3fd3cc7c2142c46d5dcfec05e6031990d1f2ca Merge: 9623e5a eed6351 Author: Linus Torvalds Date: Tue Mar 30 07:22:38 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Do not free zero sized per cpu areas x86: Make sure free_init_pages() frees pages on page boundary x86: Make smp_locks end with page alignment commit de380b55f92986c1a84198149cb71b7228d15fbd Author: Tejun Heo Date: Wed Mar 24 17:06:43 2010 +0900 percpu: don't implicitly include slab.h from percpu.h percpu.h has always been including slab.h to get k[mz]alloc/free() for UP inline implementation. percpu.h being used by very low level headers including module.h and sched.h, this meant that a lot files unintentionally got slab.h inclusion. Lee Schermerhorn was trying to make topology.h use percpu.h and got bitten by this implicit inclusion. The right thing to do is break this ultimately unnecessary dependency. The previous patch added explicit inclusion of either gfp.h or slab.h to the source files using them. This patch updates percpu.h such that slab.h is no longer included from percpu.h. Signed-off-by: Tejun Heo Reviewed-by: Christoph Lameter Cc: Ingo Molnar Cc: Lee Schermerhorn commit ea5a9f0c3447889abceb7482c391bb977472eab9 Author: Randy Dunlap Date: Tue Mar 30 03:01:14 2010 +0900 kmemcheck: Fix build errors due to missing slab.h mm/kmemcheck.c:69: error: dereferencing pointer to incomplete type mm/kmemcheck.c:69: error: 'SLAB_NOTRACK' undeclared (first use in this function) mm/kmemcheck.c:82: error: dereferencing pointer to incomplete type mm/kmemcheck.c:94: error: dereferencing pointer to incomplete type mm/kmemcheck.c:94: error: dereferencing pointer to incomplete type mm/kmemcheck.c:94: error: 'SLAB_DESTROY_BY_RCU' undeclared (first use in this function) Signed-off-by: Randy Dunlap Signed-off-by: Tejun Heo commit 5a0e3ad6af8660be21ca98a971cd00f331318c05 Author: Tejun Heo Date: Wed Mar 24 17:04:11 2010 +0900 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h percpu.h is included by sched.h and module.h and thus ends up being included when building most .c files. percpu.h includes slab.h which in turn includes gfp.h making everything defined by the two files universally available and complicating inclusion dependencies. percpu.h -> slab.h dependency is about to be removed. Prepare for this change by updating users of gfp and slab facilities include those headers directly instead of assuming availability. As this conversion needs to touch large number of source files, the following script is used as the basis of conversion. http://userweb.kernel.org/~tj/misc/slabh-sweep.py The script does the followings. * Scan files for gfp and slab usages and update includes such that only the necessary includes are there. ie. if only gfp is used, gfp.h, if slab is used, slab.h. * When the script inserts a new include, it looks at the include blocks and try to put the new include such that its order conforms to its surrounding. It's put in the include block which contains core kernel includes, in the same order that the rest are ordered - alphabetical, Christmas tree, rev-Xmas-tree or at the end if there doesn't seem to be any matching order. * If the script can't find a place to put a new include (mostly because the file doesn't have fitting include block), it prints out an error message indicating which .h file needs to be added to the file. The conversion was done in the following steps. 1. The initial automatic conversion of all .c files updated slightly over 4000 files, deleting around 700 includes and adding ~480 gfp.h and ~3000 slab.h inclusions. The script emitted errors for ~400 files. 2. Each error was manually checked. Some didn't need the inclusion, some needed manual addition while adding it to implementation .h or embedding .c file was more appropriate for others. This step added inclusions to around 150 files. 3. The script was run again and the output was compared to the edits from #2 to make sure no file was left behind. 4. Several build tests were done and a couple of problems were fixed. e.g. lib/decompress_*.c used malloc/free() wrappers around slab APIs requiring slab.h to be added manually. 5. The script was run on all .h files but without automatically editing them as sprinkling gfp.h and slab.h inclusions around .h files could easily lead to inclusion dependency hell. Most gfp.h inclusion directives were ignored as stuff from gfp.h was usually wildly available and often used in preprocessor macros. Each slab.h inclusion directive was examined and added manually as necessary. 6. percpu.h was updated not to include slab.h. 7. Build test were done on the following configurations and failures were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my distributed build env didn't work with gcov compiles) and a few more options had to be turned off depending on archs to make things build (like ipr on powerpc/64 which failed due to missing writeq). * x86 and x86_64 UP and SMP allmodconfig and a custom test config. * powerpc and powerpc64 SMP allmodconfig * sparc and sparc64 SMP allmodconfig * ia64 SMP allmodconfig * s390 SMP allmodconfig * alpha SMP allmodconfig * um on x86_64 SMP allmodconfig 8. percpu.h modifications were reverted so that it could be applied as a separate patch and serve as bisection point. Given the fact that I had only a couple of failures from tests on step 6, I'm fairly confident about the coverage of this conversion patch. If there is a breakage, it's likely to be something in one of the arch headers which should be easily discoverable easily on most builds of the specific arch. Signed-off-by: Tejun Heo Guess-its-ok-by: Christoph Lameter Cc: Ingo Molnar Cc: Lee Schermerhorn commit ed391f4ebf8f701d3566423ce8f17e614cde9806 Author: Tejun Heo Date: Tue Mar 23 15:55:39 2010 +0900 iwlwifi: don't include iwl-dev.h from iwl-devtrace.h iwl-devtrace.h is used to declare and define trace points and including iwl-dev.h from the file, which in turn includes other generic headers, can lead to problems like generating duplicate copies of generic trace points depending on the order of includes. Don't include iwl-dev.h from iwl-devtrace.h but include it from its users - iwl-io.h and iwl-devtrace.c. Signed-off-by: Tejun Heo Acked-by: Reinette Chatre Cc: Zhu Yi Cc: Intel Linux Wireless Cc: Ingo Molnar commit 57f4c226d1e095a2db20c691c3cf089188fe1c5d Author: Tejun Heo Date: Tue Mar 23 15:32:53 2010 +0900 x86: don't include slab.h from arch/x86/include/asm/pgtable_32.h Including slab.h from x86 pgtable_32.h creates a troublesome dependency chain w/ ftrace enabled. The following chain leads to inclusion of pgtable_32.h from define_trace.h. trace/define_trace.h trace/ftrace.h linux/ftrace_event.h linux/ring_buffer.h linux/mm.h asm/pgtable.h asm/pgtable_32.h slab.h itself defines trace hooks via linux/sl[aou]b_def.h linux/kmemtrace.h trace/events/kmem.h If slab.h is not included before define_trace.h is included, this leads to duplicate definitions of kmemtrace hooks or other include dependency problems. pgtable_32.h doesn't need slab.h to begin with. Don't include it from there. Signed-off-by: Tejun Heo Acked-by: Pekka Enberg Acked-by: Christoph Lameter Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin commit b3aa111f7ac1ad07009081a824b5ce7a71462c4c Author: Alberto Panizzo Date: Fri Feb 26 18:36:32 2010 +0100 MXC: mach_armadillo5x0: Add USB Host support. This add USB Host capability. The Armadillo 500 board is supplied with two USB Host connectors driven by the USB OTG and USB Host 2 ports, through two NXP isp 1504 transceivers. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 17669fd60e6b245945cdd4bbe87d1186a07a03b6 Author: Andrea Gelmini Date: Thu Mar 25 18:22:34 2010 +0100 ARM mach-mx3: duplicated include arch/arm/mach-mx3/mx31lite-db.c: linux/platform_device.h is included more than once. Signed-off-by: Andrea Gelmini Signed-off-by: Sascha Hauer commit 034cf2362af85259718c4930bc7b548fa4165c1c Author: Andrea Gelmini Date: Thu Mar 25 18:22:33 2010 +0100 ARM mach-mx3: duplicated include arch/arm/mach-mx3/mach-pcm037.c: linux/fsl_devices.h is included more than once. Signed-off-by: Andrea Gelmini Signed-off-by: Sascha Hauer commit 7d7a77e56744bb32b8a97a9903fd12433af1c4b2 Author: Vladimir Zapolskiy Date: Fri Mar 19 18:16:59 2010 +0300 imx31: add watchdog device on litekit board. This patch adds support for SoC build-in watchdog device on litekit board. Signed-off-by: Vladimir Zapolskiy Cc: Uwe Kleine-König Cc: Sascha Hauer Signed-off-by: Sascha Hauer commit a7dc12ba756021a95866730b482c6e34b13f84ee Author: Vladimir Zapolskiy Date: Fri Mar 19 18:16:37 2010 +0300 imx3: Add watchdog platform device support This patch adds support for build-in watchdog device found on Freescale imx31 and imx35 SoCs. Signed-off-by: Vladimir Zapolskiy Cc: Sascha Hauer Cc: Uwe Kleine-König Signed-off-by: Sascha Hauer commit 570b8fb505896e007fd3bb07573ba6640e51851d Author: Mathieu Desnoyers Date: Tue Mar 30 00:04:00 2010 +0100 CRED: Fix memory leak in error handling Fix a memory leak on an OOM condition in prepare_usermodehelper_creds(). Signed-off-by: Mathieu Desnoyers Signed-off-by: David Howells Signed-off-by: James Morris commit 1f85d72d2c9c9a1d6d32cf325936bc224ad5d591 Author: Takashi Iwai Date: Tue Mar 30 07:48:05 2010 +0200 ALSA: hda - Add missing printk argument in previous patch Signed-off-by: Takashi Iwai commit c4a3987fa075b2d15ebc3d59b01fb7ed403cd3e1 Author: Julia Lawall Date: Mon Mar 29 22:33:28 2010 -0700 drivers/serial/sunsu.c: Correct use after free The of_iounmap is at the out_unmap label, but at that point up has already been freed. The free cannot be moved to the out_unmap label, because that label is reachable from cases where up should not be freed. So the call to of_iounmap is just duplicated, and the goto converted to a return. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ expression x,e; identifier f; iterator I; statement S; @@ *kfree(x); ... when != &x when != x = e when != I(x,...) S *x->f // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 9623e5a23724d09283c238960946ec6f65733afe Merge: 9f32160 1474147 Author: Linus Torvalds Date: Mon Mar 29 14:42:39 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: ocfs2: Fix a race in o2dlm lockres mastery Ocfs2: Handle deletion of reflinked oprhan inodes correctly. Ocfs2: Journaling i_flags and i_orphaned_slot when adding inode to orphan dir. ocfs2: Clear undo bits when local alloc is freed ocfs2: Init meta_ac properly in ocfs2_create_empty_xattr_block. ocfs2: Fix the update of name_offset when removing xattrs ocfs2: Always try for maximum bits with new local alloc windows ocfs2: set i_mode on disk during acl operations ocfs2: Update i_blocks in reflink operations. ocfs2: Change bg_chain check for ocfs2_validate_gd_parent. [PATCH] Skip check for mandatory locks when unlocking commit 9f321603724be7386ea39ea41fd885954db60a4a Merge: 9d54e2c 82593f8 Author: Linus Torvalds Date: Mon Mar 29 14:42:25 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (28 commits) ceph: update discussion list address in MAINTAINERS ceph: some documentations fixes ceph: fix use after free on mds __unregister_request ceph: avoid loaded term 'OSD' in documention ceph: fix possible double-free of mds request reference ceph: fix session check on mds reply ceph: handle kmalloc() failure ceph: propagate mds session allocation failures to caller ceph: make write_begin wait propagate ERESTARTSYS ceph: fix snap rebuild condition ceph: avoid reopening osd connections when address hasn't changed ceph: rename r_sent_stamp r_stamp ceph: fix connection fault con_work reentrancy problem ceph: prevent dup stale messages to console for restarting mds ceph: fix pg pool decoding from incremental osdmap update ceph: fix mds sync() race with completing requests ceph: only release unused caps with mds requests ceph: clean up handle_cap_grant, handle_caps wrt session mutex ceph: fix session locking in handle_caps, ceph_check_caps ceph: drop unnecessary WARN_ON in caps migration ... commit 9d54e2c0b0a03b0f05fc4f988323c858ec9d7740 Merge: 7b12887 b00d8a7 Author: Linus Torvalds Date: Mon Mar 29 14:42:08 2010 -0700 Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: hwmon: (asc7621) Add X58 entry in Kconfig hwmon: (w83793) Saving negative errors in unsigned hwmon: (coretemp) Add missing newline to dev_warn() message hwmon: (coretemp) Fix cpu model output commit 7b12887244293eb54acd07c6296b830b3af0f6da Merge: 6631424 bc8a673 Author: Linus Torvalds Date: Mon Mar 29 14:41:48 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: pata_via: fix VT6410/6415/6330 detection issue commit 6631424fd2efd75e7394b318ad2a8597327857a9 Merge: c45140a c0cd884 Author: Linus Torvalds Date: Mon Mar 29 14:41:18 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (33 commits) r8169: offical fix for CVE-2009-4537 (overlength frame DMAs) ipv6: Don't drop cache route entry unless timer actually expired. tulip: Add missing parens. r8169: fix broken register writes pcnet_cs: add new id bonding: fix broken multicast with round-robin mode drivers/net: Fix continuation lines e1000: do not modify tx_queue_len on link speed change net: ipmr/ip6mr: prevent out-of-bounds vif_table access ixgbe: Do not run all Diagnostic offline tests when VFs are active igb: use correct bits to identify if managability is enabled benet: Fix compile warnnings in drivers/net/benet/be_ethtool.c net: Add MSG_WAITFORONE flag to recvmmsg e1000e: do not modify tx_queue_len on link speed change igbvf: do not modify tx_queue_len on link speed change ipv4: Restart rt_intern_hash after emergency rebuild (v2) ipv4: Cleanup struct net dereference in rt_intern_hash net: fix netlink address dumping in IPv4/IPv6 tulip: Fix null dereference in uli526x_rx_packet() gianfar: fix undo of reserve() ... commit c45140a996b511bccdcbbdbea7e36f001826bdf2 Merge: de32982 9e8307e Author: Linus Torvalds Date: Mon Mar 29 14:41:00 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sparc64: Properly truncate pt_regs framepointer in perf callback. arch/sparc/kernel: Use set_cpus_allowed_ptr sparc: Fix use of uid16_t and gid16_t in asm/stat.h commit de329820e920cd9cfbc2127cad26a37026260cce Author: Linus Torvalds Date: Mon Mar 29 14:30:19 2010 -0700 ext3: fix broken handling of EXT3_STATE_NEW In commit 9df93939b735 ("ext3: Use bitops to read/modify EXT3_I(inode)->i_state") ext3 changed its internal 'i_state' variable to use bitops for its state handling. However, unline the same ext4 change, it didn't actually change the name of the field when it changed the semantics of it. As a result, an old use of 'i_state' remained in fs/ext3/ialloc.c that initialized the field to EXT3_STATE_NEW. And that does not work _at_all_ when we're now working with individually named bits rather than values that get masked. So the code tried to mark the state to be new, but in actual fact set the field to EXT3_STATE_JDATA. Which makes no sense at all, and screws up all the code that checks whether the inode was newly allocated. In particular, it made the xattr code unhappy, and caused various random behavior, like apparently https://bugzilla.redhat.com/show_bug.cgi?id=577911 So fix the initialization, and rename the field to match ext4 so that we don't have this happen again. Cc: James Morris Cc: Stephen Smalley Cc: Daniel J Walsh Cc: Eric Paris Cc: Jan Kara Signed-off-by: Linus Torvalds commit c0cd884af045338476b8e69a61fceb3f34ff22f1 Author: Neil Horman Date: Mon Mar 29 13:16:02 2010 -0700 r8169: offical fix for CVE-2009-4537 (overlength frame DMAs) Official patch to fix the r8169 frame length check error. Based on this initial thread: http://marc.info/?l=linux-netdev&m=126202972828626&w=1 This is the official patch to fix the frame length problems in the r8169 driver. As noted in the previous thread, while this patch incurs a performance hit on the driver, its possible to improve performance dynamically by updating the mtu and rx_copybreak values at runtime to return performance to what it was for those NICS which are unaffected by the ideosyncracy (if there are any). Summary: A while back Eric submitted a patch for r8169 in which the proper allocated frame size was written to RXMaxSize to prevent the NIC from dmaing too much data. This was done in commit fdd7b4c3302c93f6833e338903ea77245eb510b4. A long time prior to that however, Francois posted 126fa4b9ca5d9d7cb7d46f779ad3bd3631ca387c, which expiclitly disabled the MaxSize setting due to the fact that the hardware behaved in odd ways when overlong frames were received on NIC's supported by this driver. This was mentioned in a security conference recently: http://events.ccc.de/congress/2009/Fahrplan//events/3596.en.html It seems that if we can't enable frame size filtering, then, as Eric correctly noticed, we can find ourselves DMA-ing too much data to a buffer, causing corruption. As a result is seems that we are forced to allocate a frame which is ready to handle a maximally sized receive. This obviously has performance issues with it, so to mitigate that issue, this patch does two things: 1) Raises the copybreak value to the frame allocation size, which should force appropriately sized packets to get allocated on rx, rather than a full new 16k buffer. 2) This patch only disables frame filtering initially (i.e., during the NIC open), changing the MTU results in ring buffer allocation of a size in relation to the new mtu (along with a warning indicating that this is dangerous). Because of item (2), individuals who can't cope with the performance hit (or can otherwise filter frames to prevent the bug), or who have hardware they are sure is unaffected by this issue, can manually lower the copybreak and reset the mtu such that performance is restored easily. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 9e8307ecaf9f8c8b5b3b22145021204c4e73114a Author: David S. Miller Date: Mon Mar 29 13:08:52 2010 -0700 sparc64: Properly truncate pt_regs framepointer in perf callback. For 32-bit processes, we save the full 64-bits of the regs in pt_regs. But unlike when the userspace actually does load and store instructions, the top 32-bits don't get automatically truncated by the cpu in kernel mode (because the kernel doesn't execute with PSTATE_AM address masking enabled). So we have to do it by hand. Reported-by: Frederic Weisbecker Signed-off-by: David S. Miller commit b00d8a7e299eab9970b0ba75a4e2ea1df39059ad Author: Jaswinder Singh Rajput Date: Mon Mar 29 22:03:06 2010 +0200 hwmon: (asc7621) Add X58 entry in Kconfig Intel X58 have asc7621a chip. So added X58 entry in Kconfig for asc7621. Also arranged existing models in ascending order. Signed-off-by: Jaswinder Singh Rajput Signed-off-by: Jean Delvare commit 3f7cd7ea9383755eef53f92667c520489165667f Author: Dan Carpenter Date: Mon Mar 29 22:03:03 2010 +0200 hwmon: (w83793) Saving negative errors in unsigned "ret" is used to store the return value for watchdog_trigger() and it should be signed for the error handling to work. Signed-off-by: Dan Carpenter Acked-by: Hans de Goede Signed-off-by: Jean Delvare commit 4d7a5644e4adfafe76c2bd8ee168e3f3b5dae3a8 Author: Dean Nelson Date: Mon Mar 29 22:03:00 2010 +0200 hwmon: (coretemp) Add missing newline to dev_warn() message Add missing newline to dev_warn() message string. This is more of an issue with older kernels that don't automatically add a newline if it was missing from the end of the previous line. Signed-off-by: Dean Nelson Cc: stable@kernel.org Signed-off-by: Jean Delvare commit fcc6a7462ec8d8a7d63ec59559e91f8fd6991160 Author: Prarit Bhargava Date: Mon Mar 29 22:02:59 2010 +0200 hwmon: (coretemp) Fix cpu model output Avoid hex and decimal confusion when printing out the cpu model. Signed-off-by: Prarit Bhargava Signed-off-by: Jean Delvare commit fb48e3c6a4d8888aff61fbf567aadac7d206e973 Author: Graham Gower Date: Thu Mar 25 10:52:12 2010 +1030 ASoC: Fix passing platform_data to ac97 bus users and fix a leak [The issue is an attempt to write the pdata without the AC97 device allocated when using ac97.c - also added a comment in soc-core.c for the special case for ac97. -- broonie] Signed-off-by: Graham Gower Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 292f60c0c4ab44aa2d589ba03c12e64a3b3c5e38 Author: Julia Lawall Date: Mon Mar 29 17:37:02 2010 +0200 ring-buffer: Add missing unlock In some error handling cases the lock is not unlocked. The return is converted to a goto, to share the unlock at the end of the function. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r exists@ expression E1; identifier f; @@ f (...) { <+... * spin_lock_irq (E1,...); ... when != E1 * return ...; ...+> } // Signed-off-by: Julia Lawall LKML-Reference: Signed-off-by: Steven Rostedt commit e36673ec5126f15a8cddf6049aede7bdcf484c26 Author: Li Zefan Date: Wed Mar 24 10:57:37 2010 +0800 tracing: Fix lockdep warning in global_clock() # echo 1 > events/enable # echo global > trace_clock ------------[ cut here ]------------ WARNING: at kernel/lockdep.c:3162 check_flags+0xb2/0x190() ... ---[ end trace 3f86734a89416623 ]--- possible reason: unannotated irqs-on. ... There's no reason to use the raw_local_irq_save() in trace_clock_global. The local_irq_save() version is fine, and does not cause the bug in lockdep. Acked-by: Peter Zijlstra Signed-off-by: Li Zefan LKML-Reference: <4BA97FA1.7030606@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit 6be7fa06eb4d721df734bd0946b5e63b27c0589b Author: Joern Engel Date: Mon Mar 29 21:14:52 2010 +0200 [LogFS] Erase new journal segments If the device contains on old logfs image and the journal is moved to segment that have never been used by the current logfs and not all journal segments are erased before the next mount, the old content can confuse mount code. To prevent this, always erase the new journal segments. Signed-off-by: Joern Engel commit 0943846ae05603efd98550f2d475e9c98191bde8 Author: Joern Engel Date: Mon Mar 29 21:13:28 2010 +0200 [LogFS] Move reserved segments with journal Fixes a GC livelock. Signed-off-by: Joern Engel commit eed63519e3e74d515d2007ecd895338d0ba2a85c Author: Ian Campbell Date: Sun Mar 28 19:42:56 2010 -0700 x86: Do not free zero sized per cpu areas This avoids an infinite loop in free_early_partial(). Add a warning to free_early_partial() to catch future problems. -v5: put back start > end back into WARN_ONCE() -v6: use one line for warning, suggested by Linus -v7: more tests -v8: remove the function name as suggested by Johannes WARN_ONCE() will print out that function name. Signed-off-by: Ian Campbell Signed-off-by: Yinghai Lu Tested-by: Konrad Rzeszutek Wilk Tested-by: Joel Becker Tested-by: Stanislaw Gruszka Acked-by: Johannes Weiner Cc: Peter Zijlstra Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Linus Torvalds LKML-Reference: <1269830604-26214-4-git-send-email-yinghai@kernel.org> Signed-off-by: Ingo Molnar commit c967da6a0ba837f762042e931d4afcf72045547c Author: Yinghai Lu Date: Sun Mar 28 19:42:55 2010 -0700 x86: Make sure free_init_pages() frees pages on page boundary When CONFIG_NO_BOOTMEM=y, it could use memory more effiently, or in a more compact fashion. Example: Allocated new RAMDISK: 00ec2000 - 0248ce57 Move RAMDISK from 000000002ea04000 - 000000002ffcee56 to 00ec2000 - 0248ce56 The new RAMDISK's end is not page aligned. Last page could be shared with other users. When free_init_pages are called for initrd or .init, the page could be freed and we could corrupt other data. code segment in free_init_pages(): | for (; addr < end; addr += PAGE_SIZE) { | ClearPageReserved(virt_to_page(addr)); | init_page_count(virt_to_page(addr)); | memset((void *)(addr & ~(PAGE_SIZE-1)), | POISON_FREE_INITMEM, PAGE_SIZE); | free_page(addr); | totalram_pages++; | } last half page could be used as one whole free page. So page align the boundaries. -v2: make the original initramdisk to be aligned, according to Johannes, otherwise we have the chance to lose one page. we still need to keep initrd_end not aligned, otherwise it could confuse decompressor. -v3: change to WARN_ON instead, suggested by Johannes. -v4: use PAGE_ALIGN, suggested by Johannes. We may fix that macro name later to PAGE_ALIGN_UP, and PAGE_ALIGN_DOWN Add comments about assuming ramdisk start is aligned in relocate_initrd(), change to re get ramdisk_image instead of save it to make diff smaller. Add warning for wrong range, suggested by Johannes. -v6: remove one WARN() We need to align beginning in free_init_pages() do not copy more than ramdisk_size, noticed by Johannes Reported-by: Stanislaw Gruszka Tested-by: Stanislaw Gruszka Signed-off-by: Yinghai Lu Acked-by: Johannes Weiner Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Linus Torvalds LKML-Reference: <1269830604-26214-3-git-send-email-yinghai@kernel.org> Signed-off-by: Ingo Molnar commit 82593f87b6c1922a8f8317bb165c6c7794fa4639 Author: Sage Weil Date: Mon Mar 29 09:53:23 2010 -0700 ceph: update discussion list address in MAINTAINERS Signed-off-by: Sage Weil commit 8136b58dd0fce0b4cb649ac690e0493fb6fdacdb Author: Cheng Renquan Date: Mon Mar 29 19:05:57 2010 +0800 ceph: some documentations fixes New documentation should have an entry in the 00-INDEX. Correct git urls. Signed-off-by: Cheng Renquan Signed-off-by: Sage Weil commit 596b711ed6b5235f8545680ef38ace00f9898c32 Author: Yinghai Lu Date: Sun Mar 28 19:42:54 2010 -0700 x86: Make smp_locks end with page alignment Fix: ------------[ cut here ]------------ WARNING: at arch/x86/mm/init.c:342 free_init_pages+0x4c/0xfa() free_init_pages: range [0x40daf000, 0x40db5c24] is not aligned Modules linked in: Pid: 0, comm: swapper Not tainted 2.6.34-rc2-tip-03946-g4f16b23-dirty #50 Call Trace: [<40232e9f>] warn_slowpath_common+0x65/0x7c [<4021c9f0>] ? free_init_pages+0x4c/0xfa [<40881434>] ? _etext+0x0/0x24 [<40232eea>] warn_slowpath_fmt+0x24/0x27 [<4021c9f0>] free_init_pages+0x4c/0xfa [<40881434>] ? _etext+0x0/0x24 [<40d3f4bd>] alternative_instructions+0xf6/0x100 [<40d3fe4f>] check_bugs+0xbd/0xbf [<40d398a7>] start_kernel+0x2d5/0x2e4 [<40d390ce>] i386_start_kernel+0xce/0xd5 ---[ end trace 4eaa2a86a8e2da22 ]--- Comments in vmlinux.lds.S already said: | /* | * smp_locks might be freed after init | * start/end must be page aligned | */ Signed-off-by: Yinghai Lu Acked-by: Johannes Weiner Cc: David Miller Cc: Benjamin Herrenschmidt Cc: Linus Torvalds LKML-Reference: <1269830604-26214-2-git-send-email-yinghai@kernel.org> Signed-off-by: Ingo Molnar commit ad4ba059005f18ec9e274966c16d99fc5ce8b2cd Merge: f7454c5 9ce41ae Author: Linus Torvalds Date: Mon Mar 29 09:37:57 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: Revert "ide: skip probe if there are no devices on the port (v2)" Revert "via82cxxx: workaround h/w bugs" commit f7454c5d5c33b84fdbb957b7ad4a432e333b2550 Author: David Howells Date: Wed Mar 24 16:59:36 2010 +0000 frv/chris: fix lines with a missing semicolons Commit b26b2d494b659f9 ("resource/PCI: align functions now return start of resource") added lines with missing semicolons. Add the missing semicolons to the FRV and CRIS arch code. Signed-off-by: David Howells Cc: linux@dominikbrodowski.net Signed-off-by: Linus Torvalds commit c6c352371c1ce486a62f4eb92e545b05cfcef76b Author: Harro Haan Date: Mon Mar 1 17:38:37 2010 +0100 ARM: 5965/1: Fix soft lockup in at91 udc driver Fix a potential soft lockup in the AT91 UDC driver by ensuring that the UDC clock is enabled inside the interrupt handler. If the UDC clock is not enabled then the UDC registers cannot be written to and the interrupt cannot be cleared or masked. Note that this patch (and other parts of the existing AT91 UDC driver) is potentially racy for preempt-rt kernels, but is okay for mainline. For more info see: http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100203/09cdb3b4/attachment.el http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20100203/8443a1e4/attachment.el Signed-off-by: Ryan Mallon Acked-by: Harro Haan Tested-by: Remy Bohmer Acked-by: Andrew Victor Cc: David Brownell Signed-off-by: Russell King commit fd522a8dec11a08b5fdd23982193808e268be19e Author: Catalin Marinas Date: Mon Mar 29 10:29:46 2010 +0100 ARM: 6006/1: ARM: Use the correct NOP size in memmove for Thumb-2 kernel builds When compiling the kernel to Thumb-2, using a 16-bit NOP in the memmove() implementation causes the preceding ADD PC instruction to branch incorrectly in the middle of a 32-bit LDR or STR instruction. The memmove() code is now similar to the memcpy() template. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 782a0fd16723bfc0e765d789e82853d5dc424e76 Author: Mika Westerberg Date: Mon Mar 29 06:59:16 2010 +0100 ARM: 6005/1: arm: kprobes: fix register corruption with jprobes Current implementation of jprobes allocates empty pt_regs from the stack which is then passed to kprobe_handler() and eventually to singlestep(). Now when instruction being simulated is STMFD (like in normal function prologues without CONFIG_FRAME_POINTER), stores using SP actually write over top of the fabricated pt_regs structure. This can be reproduced for example by using LKDTM module: # modprobe lkdtm # mount -t debugfs none /sys/kernel/debug # echo PANIC > /sys/kernel/debug/provoke-crash/INT_HW_IRQ_EN after this, it fails with corrupted registers (before the requested crash would occur): lkdtm: Crash point INT_HW_IRQ_EN of type PANIC hit, trigger in 9 rounds lkdtm: Crash point INT_HW_IRQ_EN of type PANIC hit, trigger in 8 rounds Internal error: Oops - undefined instruction: 0 [#1] last sysfs file: /sys/devices/platform/serial8250.0/sleep_timeout Modules linked in: lkdtm CPU: 0 Not tainted (2.6.34-rc2 #69) PC is at irq_desc+0x1638/0xeeb0 LR is at 0x25 pc : [] lr : [<00000025>] psr: c80a0013 sp : ce94bd60 ip : c050b3e8 fp : a0000013 r10: c0aa453c r9 : cf5d4000 r8 : ce9a1822 r7 : c050b424 r6 : 00000025 r5 : c039d8f8 r4 : c050b3e8 r3 : 00000001 r2 : cf4d0440 r1 : c039d8f8 r0 : 00000020 Flags: NZcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 10c5387d Table: 8e804019 DAC: 00000015 Process sh (pid: 496, stack limit = 0xce94a2e8) Stack: (0xce94bd60 to 0xce94c000) [...] Code: 000002cd 00000000 00000000 00000001 (dead4ead) ---[ end trace 2b46d5f2b682f370 ]--- Kernel panic - not syncing: Fatal exception in interrupt This patch allocates enough space (2 * sizeof(struct pt_regs)) from the stack to prevent such corruption. Signed-off-by: Mika Westerberg Acked-by: Nicolas Pitre Signed-off-by: Russell King commit 367d6acceaacff1adc44f121543effb9c060e575 Author: viresh kumar Date: Mon Mar 29 05:29:56 2010 +0100 ARM: 6003/1: removing compilation warning from pl061.h pl061.h is using u8 type. including in pl061.h to avoid warning. Signed-off-by: Viresh Kumar Acked-by: Baruch Siach Signed-off-by: Russell King commit 55a07517edbf15b83f323644edf346726eccd7e0 Author: viresh kumar Date: Mon Mar 29 05:58:51 2010 +0100 ARM: 6001/1: removing compilation warning comming from clkdev.h clkdev.h is using struct device *. Due to this compilation warning is comming. Removing this warning. Signed-off-by: Viresh Kumar Signed-off-by: Russell King commit aedceb2a490bae56f9d7e80be480421e1cf22ce0 Author: viresh kumar Date: Mon Mar 29 05:29:57 2010 +0100 ARM: 6000/1: removing compilation warning comming from irq.h is using struct pt_regs *. Due to this compilation warning is comming. Removing this warning by adding declaration of struct pt_regs. Signed-off-by: Viresh Kumar Signed-off-by: Russell King commit c36207a4624f15020f2918324405c1c88a5d4cbc Author: viresh kumar Date: Mon Mar 29 05:28:32 2010 +0100 ARM: 5999/1: Including device.h and resource.h header files in linux/amba/bus.h linux/amba/bus.h have dependencies on linux/device.h and linux/resource.h, but it doesn't include them. We get compilation errors in our files which include bus.h but doesn't include device.h and resource.h. This patch includes device.h and resource.h in linux/amba/bus.h file. Signed-off-by: Viresh Kumar Acked-by: Linux Walleij Signed-off-by: Russell King commit a53f4f9efaeb1d87cfae066346979d4d70e1abe9 Author: David Howells Date: Mon Mar 29 13:08:52 2010 +0100 SLOW_WORK: CONFIG_SLOW_WORK_PROC should be CONFIG_SLOW_WORK_DEBUG CONFIG_SLOW_WORK_PROC was changed to CONFIG_SLOW_WORK_DEBUG, but not in all instances. Change the remaining instances. This makes the debugfs file display the time mark and the owner's description again. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 88be12c440cfa2fa3f5be83507360aac9ea1c54e Author: Dave Airlie Date: Mon Mar 29 12:01:50 2010 +0100 slow-work: use get_ref wrapper instead of directly calling get_ref Otherwise we can get an oops if the user has no get_ref/put_ref requirement. Signed-off-by: Dave Airlie Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 376a21ff42ba71167afe7a47aeb1ca19470cf580 Merge: 05ad62a 85255c0 Author: Linus Torvalds Date: Mon Mar 29 09:12:14 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda: Use LPIB for ga-ma770-ud3 board ALSA: ac97: Add Toshiba P500 to ac97 jack sense blacklist ALSA: pcm_lib - fix xrun functionality ALSA: ac97: Add IBM ThinkPad R40e to Headphone/Line Jack Sense blacklist ALSA: hda - Don't set invalid connection index in Realtek initialiaiton commit 05ad62a5ee2ec2f65142aa2bf5c8a7e2f9cf9590 Author: Nick Bowler Date: Wed Mar 10 00:10:46 2010 -0500 Staging: et131x: Properly disable FC in txmac. FC disable is bit 3 of the txmac ctl register, but commit 6720949d5562 ("Staging: et131x: Kil the txmac type") accidentally changed the code to set bit 2 instead. Signed-off-by: Nick Bowler Signed-off-by: Linus Torvalds commit 6694635d3ae1b038d7a0e38b80637db867c7c8e2 Author: Takashi Iwai Date: Mon Mar 29 17:21:45 2010 +0200 ALSA: hda - Fix ADC/MUX assignment of ALC269 codec ALC269 codec has a few different variants, and each of them may have different ADC and MUX widgets. For example, one model has ADC 0x08 with MUX 0x23 while others has ADC 0x09 or ADC 0x07 with MUX 022 or 0x24. The difference of ADC appears usually as the capability of the digital mic pin (0x12), and the current driver sometimes misses the internal mic pin due to the mismatching ADC. This patch adds a bit more clever way to find the matching ADC instead of the static list. Now the driver checks all active input pins and fills only the ADC/MUX's that contain all of them. Signed-off-by: Takashi Iwai commit c565c54d9bf336ec9cd22288d3aa4fb6e372e727 Author: Anisse Astier Date: Mon Mar 29 16:20:06 2010 +0200 HID: Add NOGET quirk for Quanta Pixart touchscreen Add the NOGET quirk for the Quanta optical touchscreen present on MSI AE2220, Otherwise, the hid-quanta driver timeouts at load time: drivers/hid/usbhid/hid-core.c: usb_submit_urb(ctrl) failed quanta-touch 0003:0408:3001.0003: timeout initializing reports input: PixArt Imaging Inc. Optical Touch Screen as /class/input/input7 quanta-touch 0003:0408:3001.0003: input: USB HID v1.10 Device [PixArt Imaging Inc. Optical Touch Screen] on usb-0000:00:06.0-2/input0 Signed-off-by: Anisse Astier Signed-off-by: Jiri Kosina commit 10fad5e46f6c7bdfb01b1a012380a38e3c6ab346 Author: Tejun Heo Date: Wed Mar 10 18:57:54 2010 +0900 percpu, module: implement and use is_kernel/module_percpu_address() lockdep has custom code to check whether a pointer belongs to static percpu area which is somewhat broken. Implement proper is_kernel/module_percpu_address() and replace the custom code. On UP, percpu variables are regular static variables and can't be distinguished from them. Always return %false on UP. Signed-off-by: Tejun Heo Acked-by: Peter Zijlstra Cc: Rusty Russell Cc: Ingo Molnar commit 259354deaaf03d49a02dbb9975d6ec2a54675672 Author: Tejun Heo Date: Wed Mar 10 18:56:10 2010 +0900 module: encapsulate percpu handling better and record percpu_size Better encapsulate module static percpu area handling so that code outsidef of CONFIG_SMP ifdef doesn't deal with mod->percpu directly and add mod->percpu_size and record percpu_size in it. Both percpu fields are compiled out on UP. While at it, mark mod->percpu w/ __percpu. This is to prepare for is_module_percpu_address(). Signed-off-by: Tejun Heo Acked-by: Rusty Russell commit 5dbd5ec6e1cf2e49128025d80813a275744a7ac5 Author: Takashi Iwai Date: Mon Mar 29 09:16:24 2010 +0200 ALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo() The mask and value parameters passed to snd_hda_codec_amp_stereo() should be 8-bit values for mute and volume. Passing AMP_IN_MUTE() is wrong, which is found in many places in patch_realtek.c as a left-over from the conversion to snd_hda_codec_amp_stereo(). Reported-by: Dan Carpenter Signed-off-by: Takashi Iwai commit 85255c0e078158ede61ff8bd296e306db6f7ed19 Merge: f30c14b 9ec8dda Author: Takashi Iwai Date: Mon Mar 29 08:40:57 2010 +0200 Merge branch 'fix/hda' into for-linus commit f30c14b64e0eb62319e7a3e930fb7ea2bee9d919 Merge: 1218002 5cd165e Author: Takashi Iwai Date: Mon Mar 29 08:40:50 2010 +0200 Merge branch 'fix/misc' into for-linus commit 9ec8ddad59fadd8021adfea4cb716a49b0e232e9 Author: Daniel T Chen Date: Sun Mar 28 02:34:40 2010 -0400 ALSA: hda: Use LPIB for ga-ma770-ud3 board BugLink: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575669 The OR states that position_fix=1 is necessary to work around glitching during volume adjustments using PulseAudio. Reported-by: Carlos Laviola Tested-by: Carlos Laviola Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 5cd165e7057020884e430941c24454d3df9a799d Author: Daniel Chen Date: Sun Mar 28 13:32:34 2010 -0700 ALSA: ac97: Add Toshiba P500 to ac97 jack sense blacklist BugLink: https://launchpad.net/bugs/481058 The OR has verified that both 'Headphone Jack Sense' and 'Line Jack Sense' need to be muted for sound to be audible, so just add the machine's SSID to the ac97 jack sense blacklist. Reported-by: Richard Gagne Tested-by: Richard Gagne Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 94aa8ae13db2ecf2ec1b4e65a65d3fe92b468e0e Author: Sage Weil Date: Sun Mar 28 21:22:50 2010 -0700 ceph: fix use after free on mds __unregister_request There was a use after free in __unregister_request that would trigger whenever the request map held the last reference. This appears to have triggered an oops during 'umount -f' when requests are being torn down. Signed-off-by: Sage Weil commit 4bea3418c737891894b9d3d3e9f8bbd67d66fa38 Author: Matt Fleming Date: Sun Mar 28 20:08:25 2010 +0000 sh: Enable the mmu in start_secondary() For the boot, enable_mmu() is called from setup_arch() but we don't call setup_arch() for any of the other cpus. So turn on the non-boot cpu's mmu inside of start_secondary(). I noticed this bug on an SMP board when trying to map I/O memory (smsc911x registers) into the kernel address space. Since the Address Translation bit in MMUCR wasn't set, accessing the virtual address where the smsc911x registers were supposedly mapped actually performed a physical address access. Signed-off-by: Matt Fleming Cc: stable@kernel.org Signed-off-by: Paul Mundt commit d5ab780305bb6d60a7b5a74f18cf84eb6ad153b1 Author: Andrew Stubbs Date: Mon Mar 29 12:04:19 2010 +0900 sh: Fix FDPIC binary loader Ensure that the aux table is properly initialized, even when optional features are missing. Without this, the FDPIC loader did not work. Signed-off-by: Andrew Stubbs Cc: stable@kernel.org Signed-off-by: Paul Mundt commit 59a2f7d9fd41c68b7013797e82b8f40fc154ccae Author: Julia Lawall Date: Fri Mar 26 22:03:49 2010 +0000 arch/sh/kernel: Use set_cpus_allowed_ptr Use set_cpus_allowed_ptr rather than set_cpus_allowed. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression E1,E2; @@ - set_cpus_allowed(E1, cpumask_of_cpu(E2)) + set_cpus_allowed_ptr(E1, cpumask_of(E2)) @@ expression E; identifier I; @@ - set_cpus_allowed(E, I) + set_cpus_allowed_ptr(E, &I) // Signed-off-by: Julia Lawall Signed-off-by: Paul Mundt commit 5f6c477a35852c6bfa42474537c582f65bdcf9db Author: Yusuke Goda Date: Mon Mar 29 02:36:54 2010 +0000 sh: Update ecovec_defconfig Signed-off-by: Yusuke Goda Signed-off-by: Paul Mundt commit 54c1a859efd9fd6cda05bc700315ba2519c14eba Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Sun Mar 28 07:15:45 2010 +0000 ipv6: Don't drop cache route entry unless timer actually expired. This is ipv6 variant of the commit 5e016cbf6.. ("ipv4: Don't drop redirected route cache entry unless PTMU actually expired") by Guenter Roeck . Remove cache route entry in ipv6_negative_advice() only if the timer is expired. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 9ce41aed0d392246eb788786253f242e829fd5e1 Author: David S. Miller Date: Sun Mar 28 18:58:28 2010 -0700 Revert "ide: skip probe if there are no devices on the port (v2)" This reverts commit a20b2a44eca52818ef52a94959480b7e6ea2f528. As requested by David Fries. This makes CDROMs which are slave drives on a ribbon without a master disappear and causes other similar kinds of badness. Signed-off-by: David S. Miller commit 7855f761998893bb6bf861d55df95036fc9e36ab Author: David S. Miller Date: Sun Mar 28 18:56:34 2010 -0700 tulip: Add missing parens. As reported by Stephen Rothwell. drivers/net/tulip/uli526x.c: In function 'uli526x_rx_packet': drivers/net/tulip/uli526x.c:861: warning: assignment makes pointer from integer without a cast Signed-off-by: David S. Miller commit 723b2ff40876678b49e61df34fb1d8001e34639d Author: Joern Engel Date: Sun Mar 28 18:10:07 2010 +0200 [LogFS] Clear PagePrivate when moving journal do_logfs_journal_wl_pass() must call freeseg(), thereby clear PagePrivate on all pages of the current journal segment. Signed-off-by: Joern Engel commit 81def6b9862764924a99ac1b680e73ac8c80ac64 Author: Joern Engel Date: Sun Mar 28 12:47:09 2010 +0200 Simplify and fix pad_wbuf A comment in the old code read: /* The math in this function can surely use some love */ And indeed it did. In the case that area->a_used_bytes is exactly 4096 bytes below segment size it fell apart. pad_wbuf is now split into two helpers that are significantly less complicated. Signed-off-by: Joern Engel commit 193219172691e29813821dc8433317768c6ed1a3 Author: Joern Engel Date: Sat Mar 27 09:56:58 2010 +0100 Prevent data corruption in logfs_rewrite_block() The comment was correct, so make the code match the comment. As the new comment indicates, we might be able to do a little less work. But for the current -rc series let's keep it simple and just fix the bug. Signed-off-by: Joern Engel commit 325ffc3633f1c30ef89d98d619f7e1497366e77c Author: Catalin Marinas Date: Fri Mar 26 15:44:57 2010 +0100 ARM: 5997/1: ARM: Correct the VFPv3 detection A CPU has VFPv3 hardware if the FPSID[19:16] bits are 2 or more. Currently Linux was only checking for 3 or more. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit bc8a67386fd462914269fa93446e1891955a8bb3 Author: JosephChan@via.com.tw Date: Thu Mar 25 20:51:47 2010 +0800 pata_via: fix VT6410/6415/6330 detection issue When using VT6410/6415/6330 chips on some VIA's platforms, the HDD connection to VT6410/6415/6330 cannot be detected. It is because the driver detects wrong via_isa_bridge ID, and then causes this issue to happen. Signed-off-by: Joseph Chan Signed-off-by: Jeff Garzik commit d2566af8c4860a03ca685ef0910de406679c3e4e Author: Julia Lawall Date: Sat Mar 27 21:11:56 2010 -0700 arch/sparc/kernel: Use set_cpus_allowed_ptr Use set_cpus_allowed_ptr rather than set_cpus_allowed. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression E1,E2; @@ - set_cpus_allowed(E1, cpumask_of_cpu(E2)) + set_cpus_allowed_ptr(E1, cpumask_of(E2)) @@ expression E; identifier I; @@ - set_cpus_allowed(E, I) + set_cpus_allowed_ptr(E, &I) // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 78f1cd02457252e1ffbc6caa44a17424a45286b8 Author: Francois Romieu Date: Sat Mar 27 19:35:46 2010 -0700 r8169: fix broken register writes This is quite similar to b39fe41f481d20c201012e4483e76c203802dda7 though said registers are not even documented as 64-bit registers - as opposed to the initial TxDescStartAddress ones - but as single bytes which must be combined into 32 bits at the MMIO read/write level before being merged into a 64 bit logical entity. Credits go to Ben Hutchings for the MAR registers (aka "multicast is broken for ages on ARM) and to Timo Teräs for the MAC registers. Signed-off-by: Francois Romieu Signed-off-by: David S. Miller commit 1546a713ae1f066f83469cdd99ebdf500d6a65e4 Author: Ken Kawasaki Date: Sat Mar 27 10:55:37 2010 +0000 pcnet_cs: add new id pcnet_cs: *add new id (Allied Telesis LM33-PCM-T Lan&Modem multifunction card) *use PROD_ID for LA-PCM.(because LA-PCM and LM33-PCM-T use the same MANF_ID). Signed-off-by: Ken Kawasaki Signed-off-by: David S. Miller commit a2fd940f4cff74b932728bd6ca12848da21a0234 Author: Andy Gospodarek Date: Thu Mar 25 14:49:05 2010 +0000 bonding: fix broken multicast with round-robin mode Round-robin (mode 0) does nothing to ensure that any multicast traffic originally destined for the host will continue to arrive at the host when the link that sent the IGMP join or membership report goes down. One of the benefits of absolute round-robin transmit. Keeping track of subscribed multicast groups for each slave did not seem like a good use of resources, so I decided to simply send on the curr_active slave of the bond (typically the first enslaved device that is up). This makes failover management simple as IGMP membership reports only need to be sent when the curr_active_slave changes. I tested this patch and it appears to work as expected. Originally reported by Lon Hohberger . Signed-off-by: Andy Gospodarek CC: Lon Hohberger CC: Jay Vosburgh Signed-off-by: Jay Vosburgh Signed-off-by: David S. Miller commit 421e33d0045ac0aa119c033b78742e0fbf4c3b21 Author: Michael Reed Date: Tue Mar 23 15:00:58 2010 -0500 [SCSI] qla1280: retain firmware for error recovery The qla1280 driver acquires its firmware via udev. During boot the firmware is located in the initrd. If, after root is mounted, the adapter needs to reload firmware (host reset), the firmware load may fail if the root device is on the adapter being reset. This patch modifies qla1280 to retain the firmware loaded via the initial request_firmware() for use during error recovery. [jejb: fix up checkpatch issues] Signed-off-by: Michael Reed Acked-by: Jes Sorensen Signed-off-by: James Bottomley commit ebd09ec93c90c8ec571d7e166832fb1fc705bf5e Author: James Bottomley Date: Sat Mar 20 12:44:12 2010 -0500 [SCSI] attirbute_container: Initialize sysfs attributes with sysfs_attr_init All of the SCSI transport classes are suddenly spitting lockdep warnings. According to Eric Biderman this is because lockdep needs static initialisers and the attribute container way of doing things end up with dynamic sysfs attributes. Fix this by calling sysfs_attr_init which sets the lockdep key correctly. Tested-by: Christof Schmitt Signed-off-by: James Bottomley commit cf7474451c3a3cf07811abbf2a39536d33046c36 Author: Herton Ronaldo Krzesinski Date: Fri Mar 19 19:37:26 2010 -0300 [SCSI] advansys: fix regression with request_firmware change On newer kernels users of advansys module are reporting system hang when trying to load it without firmware files present. After looking closely at description on https://qa.mandriva.com/show_bug.cgi?id=53220, I think this is related to commit "[SCSI] advansys: use request_firmware". The problem is that after switch to request_firmware, asc_dvc->err_code isn't being set when firmware files aren't found or loading fails. err_code is used by the driver to judge if there was a fatal error or not, as can be seen for example on advansys_board_found, which will only return -ENODEV when err_code is set. Because err_code isn't being set when request_firmware fails, this is a change of behaviour of the code before request_firmware addition, making it continue to load and it fails later as the firmware wasn't really loaded. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: James Bottomley commit 89162e9c21de3cb3b7e9e29d50cb7c3e88a09e2b Author: Giridhar Malavali Date: Fri Mar 19 16:59:21 2010 -0700 [SCSI] qla2xxx: Updated version number to 8.03.02-k2. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit d6136f3f749cf68c3295c883cea612afd9919100 Author: Santosh Vernekar Date: Fri Mar 19 16:59:20 2010 -0700 [SCSI] qla2xxx: Prevent sending mbx commands from sysfs during isp reset. The fix prevents application path from sending get-firmware-state mbx command during as isp reset. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 6377a7ae1ab82859edccdbc8eaea63782efb134d Author: Ben Hutchings Date: Fri Mar 19 16:59:19 2010 -0700 [SCSI] qla2xxx: Disable MSI on qla24xx chips other than QLA2432. On specific platforms, MSI is unreliable on some of the QLA24xx chips, resulting in fatal I/O errors under load, as reported in and by some RHEL customers. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit d84a47c2e8d8880d068f23f3033f6f6987717b17 Author: Michael Hernandez Date: Fri Mar 19 16:59:18 2010 -0700 [SCSI] qla2xxx: Check to make sure multique and CPU affinity support is not enabled at the same time. The logic is changed to detect this condition based on following 1) both module parameters are off (ql2xmaxqueues and ql2xmultique_tag). 2) both module parameters are on (ql2xmaxqueues and ql2xmultique_tag). 3) The HBA does not support multi queue. Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit 12cec63e40f9b9c2a4766a0f43404a9642062f35 Author: Andrew Vasquez Date: Fri Mar 19 16:59:17 2010 -0700 [SCSI] qla2xxx: Correct vp_idx checking during PORT_UPDATE processing. Checks should only be done for NPIV-capable ISPs. Original code could result in PORT_UPDATEs being missed on non-NPIV-capable ISPs. Signed-off-by: Andrew Vasquez Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit cad454b12a23c24fd7f409402cf51434655e76c1 Author: Santosh Vernekar Date: Fri Mar 19 16:59:16 2010 -0700 [SCSI] qla2xxx: Honour "Extended BB credits" bit for CNAs. We now enable/disable "Additional Receive Credits" in f/w based on nvram parameter "Extended_BB_Credits" bit (i.e. Enhanced-Features: at offset 0x196). This is applicable only for GEN2 CNAs. Signed-off-by: Santosh Vernekar Signed-off-by: Giridhar Malavali Signed-off-by: James Bottomley commit d88a714bfefa7aed7b9cb6c3721707fcd056b472 Author: Sarang Radke Date: Wed Mar 10 04:03:04 2010 -0600 [SCSI] scsi_transport_fc: Make sure commands are completed when rport is offline blk_end_request doesn't complete a bidi request successfully The unfinished request eventually triggers a panic in timeout handling routine fc_bsg_job_timeout as req->special is NULL Use blk_end_request_all to end the request unconditionally Signed-off-by: Lalit Chandivade Acked-by: James Smart Signed-off-by: James Bottomley commit 4ae0a6c15efcc37e94e3f30e3533bdec03c53126 Author: Mike Christie Date: Tue Mar 9 14:14:51 2010 -0600 [SCSI] libiscsi: Fix recovery slowdown regression We could be failing/stopping a connection due to libiscsi starting recovery/cleanup, but the xmit path or scsi eh thread path could be dropping the connection at the same time. As a result the session->state gets set to failed instead of in recovery. We end up not blocking the session and so the replacement timeout never gets started and we only end up failing the IO when scsi_softirq_done sees that the cmd has been running for (cmd->allowed + 1) * rq->timeout secs. We used to fail the IO right away so users are seeing a long delay when using dm-multipath. This problem was added in 2.6.28. Signed-off-by: Mike Christie Cc: stable@kernel.org Signed-off-by: James Bottomley commit 7469a9acf919d36836f6c635099d8edc9be4528a Author: Rob Landley Date: Sat Mar 27 08:36:18 2010 -0700 sparc: Fix use of uid16_t and gid16_t in asm/stat.h Signed-off-by: Rob Landley Signed-off-by: David S. Miller commit 44ebb95290afcc687511ad3f7fd6434e867c270a Author: Joe Perches Date: Fri Mar 26 16:27:55 2010 +0000 drivers/net: Fix continuation lines Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit 39ca5f033bb2ea18877632809185268eebbb37a9 Author: Emil Tantilov Date: Fri Mar 26 11:25:58 2010 +0000 e1000: do not modify tx_queue_len on link speed change Previously the driver tweaked txqueuelen to avoid false Tx hang reports seen at half duplex. This had the effect of overriding user set values on link change/reset. Testing shows that adjusting only the timeout factor is sufficient to prevent Tx hang reports at half duplex. This patch removes all instances of tx_queue_len in the driver. Based on e1000e patch by Franco Fichtner CC: Franco Fichtner Signed-off-by: Emil Tantilov Acked-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 7438189baa0a2fe30084bdc97e3d540ebc5444f3 Author: Nicolas Dichtel Date: Thu Mar 25 23:45:35 2010 +0000 net: ipmr/ip6mr: prevent out-of-bounds vif_table access When cache is unresolved, c->mf[6]c_parent is set to 65535 and minvif, maxvif are not initialized, hence we must avoid to parse IIF and OIF. A second problem can happen when the user dumps a cache entry where a VIF, that was referenced at creation time, has been removed. Signed-off-by: Nicolas Dichtel Signed-off-by: David S. Miller commit e7d481a6f3c13041446b7bb8f98ab861460076a3 Author: Greg Rose Date: Thu Mar 25 17:06:48 2010 +0000 ixgbe: Do not run all Diagnostic offline tests when VFs are active When running the offline diagnostic tests check to see if any VFs are online. If so then only run the link test. This is necessary because the VFs running in guest VMs aren't aware of when the PF is taken offline for a diagnostic test. Also put a message to the system log telling the system administrator to take the VFs offline manually if (s)he wants to run a full diagnostic. Return 1 on each of the tests not run to alert the user of the condition. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e017b60316468f21a63bdd4affefaf81a7f988fd Author: Alexander Duyck Date: Thu Mar 25 17:15:06 2010 +0000 igb: use correct bits to identify if managability is enabled igb was previously checking the wrong bits in the MANC register to determine if managability was enabled. As a result it was incorrectly powering down and resetting the phy when it didn't need to. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit c0e4d4bad4e8cf0aa787a3045392f949d76b5886 Author: wzt wzt Date: Thu Mar 25 20:12:59 2010 +0000 benet: Fix compile warnnings in drivers/net/benet/be_ethtool.c Fix the following warnings: be_ethtool.c:493: warning: integer constant is too large for 'long' type be_ethtool.c:493: warning: integer constant is too large for 'long' type Signed-off-by: Zhitong Wang Acked-by: Ajit Khaparde Signed-off-by: David S. Miller commit 71c5c1595c04852d6fbf3c4882b47b30b61a4d32 Author: Brandon L Black Date: Fri Mar 26 16:18:03 2010 +0000 net: Add MSG_WAITFORONE flag to recvmmsg Add new flag MSG_WAITFORONE for the recvmmsg() syscall. When this flag is specified for a blocking socket, recvmmsg() will only block until at least 1 packet is available. The default behavior is to block until all vlen packets are available. This flag has no effect on non-blocking sockets or when used in combination with MSG_DONTWAIT. Signed-off-by: Brandon L Black Acked-by: Ulrich Drepper Acked-by: Eric Dumazet Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit e4afb29fa3ea759d408fa537ab6a81800708396e Author: David S. Miller Date: Sat Mar 27 07:55:58 2010 -0700 Revert "via82cxxx: workaround h/w bugs" This reverts commit f931a5d5785d7b7c44871bd7ad2762e29dfddf29. It causes regressions for some users. Signed-off-by: David S. Miller commit 6f2e9e6a950a165a7d2c399ab7557e6745ef2bfd Author: Joern Engel Date: Fri Mar 26 14:50:08 2010 +0100 Use deactivate_locked_super Found by Al Viro. Signed-off-by: Joern Engel commit 7db8064c17b92e95aec2e333096c035db9ddd4fe Author: Joern Engel Date: Fri Mar 26 14:45:55 2010 +0100 Fix logfs_get_sb_final error path rootdir was already allocated, so we must iput it again. Found by Al Viro. Signed-off-by: Joern Engel commit faaa27ab919799929732c356a92a160f8657ecc6 Author: Joern Engel Date: Fri Mar 26 10:18:36 2010 +0100 Write out both superblocks on mismatch If the first superblock is wrong and the second gets written, there will still be a mismatch on next mount. Write both to make sure they match. Signed-off-by: Joern Engel commit e326068806ee044cc617b1dc24be1293fca3fbf6 Author: Joern Engel Date: Wed Mar 17 16:00:07 2010 +0100 Prevent schedule while atomic in __logfs_readdir Apparently filldir can sleep, which forbids kmap_atomic. Signed-off-by: Joern Engel commit e07bf553f37cd4fa470b499ff34d800956df2d48 Author: Joern Engel Date: Wed Mar 17 15:29:38 2010 +0100 Plug memory leak in writeseg_end_io Signed-off-by: Joern Engel commit 59fe27c0a8173a74b105debc803b97582028c90b Author: Joern Engel Date: Wed Mar 17 13:47:45 2010 +0100 Limit max_pages for insane devices Intel SSDs have a limit of 0xffff as queue_max_hw_sectors(q). Such a limit may make sense from a hardware pov, but it causes bio_alloc() to return NULL. Signed-off-by: Joern Engel commit 49137f2efb5cf68724bccaba531ab3d59acd71f9 Author: Joern Engel Date: Tue Mar 16 21:46:15 2010 +0100 Open segment file before using it logfs_recover_sb() needs it open. Signed-off-by: Joern Engel commit ed01f64b831481762437c8eedddcca8481dc7f67 Author: Roman Fietze Date: Fri Mar 26 22:09:57 2010 -0600 powerpc/5200: in lpbfifo, flag DMA irqs as enabled after requesting them This patch avoids unbalanced enable/disable messages for the DMA interrupts when running the 5200 platform SCLPC/BestComm driver in DMA mode. Signed-off-by: Roman Fietze Signed-off-by: Grant Likely commit 95d2c8ef08a902953d1ea2cad14928909e91e5d1 Author: Timur Tabi Date: Fri Mar 26 22:09:57 2010 -0600 powerpc/fsl: add device tree binding for QE firmware Define a binding for embedding a QE firmware blob into the device tree. Also define a new property for the QE node that links to a firmware node. Signed-off-by: Timur Tabi Signed-off-by: Grant Likely commit 7f809e1f8e2f46c486bfe529579a16a28daacd62 Author: Jason Gunthorpe Date: Fri Mar 26 22:09:56 2010 -0600 of/flattree: Fix unhandled OF_DT_NOP tag when unflattening the device tree NOPs within the property section are skipped, but NOPs between OF_DT_END_NODE and OF_DT_BEGIN_NODE were not. My firmware NOPs out entire nodes depending on various environment parameters. of_scan_flat_dt already handles NOP more generally. Signed-off-by: Jason Gunthorpe Signed-off-by: Grant Likely commit f49c57e141c7f53353e4265a31dc2324e6215037 Author: Emil Tantilov Date: Wed Mar 24 12:55:02 2010 +0000 e1000e: do not modify tx_queue_len on link speed change Previously the driver tweaked txqueuelen to avoid false Tx hang reports seen at half duplex. This had the effect of overriding user set values on link change/reset. Testing shows that adjusting only the timeout factor is sufficient to prevent Tx hang reports at half duplex. This patch removes all instances of tx_queue_len in the driver. Originally reported and patched by Franco Fichtner CC: Franco Fichtner Signed-off-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a08af745e4c711d22aeadc2adade36958fe03ce8 Author: Emil Tantilov Date: Thu Mar 25 12:11:48 2010 +0000 igbvf: do not modify tx_queue_len on link speed change Previously the driver tweaked txqueuelen to avoid false Tx hang reports seen at half duplex. This had the effect of overriding user set values on link change/reset. Testing shows that adjusting only the timeout factor is sufficient to prevent Tx hang reports at half duplex. Based on e1000e patch by Franco Fichtner CC: Franco Fichtner Signed-off-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6a2bad70d546cf30a46bc6d9ec0cb9a0891a38eb Author: Pavel Emelyanov Date: Wed Mar 24 21:51:22 2010 +0000 ipv4: Restart rt_intern_hash after emergency rebuild (v2) The the rebuild changes the genid which in turn is used at the hash calculation. Thus if we don't restart and go on with inserting the rt will happen in wrong chain. (Fixed Neil's comment about the index passed into the rt_intern_hash) Signed-off-by: Pavel Emelyanov Reviewed-by: Neil Horman Signed-off-by: David S. Miller commit b35ecb5d404c00f2420221ccbb1bbba1139353a4 Author: Pavel Emelyanov Date: Wed Mar 24 07:43:17 2010 +0000 ipv4: Cleanup struct net dereference in rt_intern_hash There's no need in getting it 3 times and gcc isn't smart enough to understand this himself. This is just a cleanup before the fix (next patch). Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4b97efdf392563bf03b4917a0b5add2df65de39a Author: Patrick McHardy Date: Fri Mar 26 20:27:49 2010 -0700 net: fix netlink address dumping in IPv4/IPv6 When a dump is interrupted at the last device in a hash chain and then continued, "idx" won't get incremented past s_idx, so s_ip_idx is not reset when moving on to the next device. This means of all following devices only the last n - s_ip_idx addresses are dumped. Tested-by: Pawel Staszewski Signed-off-by: Patrick McHardy commit ac90a149361a331f697d5aa500bedcff22054669 Author: Kyle McMartin Date: Fri Mar 27 17:23:32 2009 +0000 tulip: Fix null dereference in uli526x_rx_packet() Acked-by: Grant Grundler Signed-off-by: David S. Miller commit a6d36d5689b1806a3365c909192e9f03a43a632b Author: Ben Menchaca Date: Wed Mar 24 05:05:02 2010 +0000 gianfar: fix undo of reserve() Fix undo of reserve() before RX recycle gfar_new_skb reserve()s space in the SKB to align it. If an error occurs, and the skb needs to be returned to the RX recycle queue, the current code attempts to reset head, but did not reset tail. This patch remembers the alignment amount, and reverses the reserve() when needed. Signed-off-by: Ben Menchaca Signed-off-by: David S. Miller commit 810627a013163cd294762d57c0ea2ec055ffe4f6 Author: Pavel Shilovsky Date: Sat Mar 27 02:00:49 2010 +0000 [CIFS] Add mmap for direct, nobrl cifs mount types without mmap functions in file_ops OpenOffice can't save changes in existing document. The same situation you can see with gedit. Also, a.out format of files can't be executed without mmap. Signed-off-by: Pavel Shilovsky Reviewed-by: Jeff Layton Signed-off-by: Steve French commit b72c40949b0f04728f2993a1434598d3bad094ea Merge: e4d5042 d558b48 Author: Linus Torvalds Date: Fri Mar 26 16:34:29 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: x86/PCI: truncate _CRS windows with _LEN > _MAX - _MIN + 1 x86/PCI: for host bridge address space collisions, show conflicting resource frv/PCI: remove redundant warnings x86/PCI: remove redundant warnings PCI: don't say we claimed a resource if we failed PCI quirk: Disable MSI on VIA K8T890 systems PCI quirk: RS780/RS880: work around missing MSI initialization PCI quirk: only apply CX700 PCI bus parking quirk if external VT6212L is present PCI: complain about devices that seem to be broken PCI: print resources consistently with %pR PCI: make disabled window printk style match the enabled ones PCI: break out primary/secondary/subordinate for readability PCI: for address space collisions, show conflicting resource resources: add interfaces that return conflict information PCI: cleanup error return for pcix get and set mmrbc functions PCI: fix access of PCI_X_CMD by pcix get and set mmrbc functions PCI: kill off pci_register_set_vga_state() symbol export. PCI: fix return value from pcix_get_max_mmrbc() commit 5a7aadfe2fcb0f69e2acc1fbefe22a096e792fc9 Author: Matt Helsley Date: Fri Mar 26 23:51:44 2010 +0100 Freezer: Fix buggy resume test for tasks frozen with cgroup freezer When the cgroup freezer is used to freeze tasks we do not want to thaw those tasks during resume. Currently we test the cgroup freezer state of the resuming tasks to see if the cgroup is FROZEN. If so then we don't thaw the task. However, the FREEZING state also indicates that the task should remain frozen. This also avoids a problem pointed out by Oren Ladaan: the freezer state transition from FREEZING to FROZEN is updated lazily when userspace reads or writes the freezer.state file in the cgroup filesystem. This means that resume will thaw tasks in cgroups which should be in the FROZEN state if there is no read/write of the freezer.state file to trigger this transition before suspend. NOTE: Another "simple" solution would be to always update the cgroup freezer state during resume. However it's a bad choice for several reasons: Updating the cgroup freezer state is somewhat expensive because it requires walking all the tasks in the cgroup and checking if they are each frozen. Worse, this could easily make resume run in N^2 time where N is the number of tasks in the cgroup. Finally, updating the freezer state from this code path requires trickier locking because of the way locks must be ordered. Instead of updating the freezer state we rely on the fact that lazy updates only manage the transition from FREEZING to FROZEN. We know that a cgroup with the FREEZING state may actually be FROZEN so test for that state too. This makes sense in the resume path even for partially-frozen cgroups -- those that really are FREEZING but not FROZEN. Reported-by: Oren Ladaan Signed-off-by: Matt Helsley Cc: stable@kernel.org Signed-off-by: Rafael J. Wysocki commit 4f598458ea4450f53e8ed929ee4e66b3404a7286 Author: Xiaotian Feng Date: Wed Mar 10 22:59:13 2010 +0100 Freezer: Only show the state of tasks refusing to freeze show_state will dump all tasks state, so if freezer failed to freeze any task, kernel will dump all tasks state and flood the dmesg log. This patch makes freezer only show state of tasks refusing to freeze. Signed-off-by: Xiaotian Feng Acked-by: Pavel Machek Acked-by: David Rientjes Signed-off-by: Rafael J. Wysocki commit e4d50423d773fb8d5b714430ba5358e8a1b87c14 Merge: 6f063ae d067633 Author: Linus Torvalds Date: Fri Mar 26 15:14:29 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: fix imperfect completion wait in nilfs_wait_on_logs nilfs2: fix hang-up of cleaner after log writer returned with error nilfs2: fix duplicate call to nilfs_segctor_cancel_freev commit 6f063aea557f66eea8c35034a25df85cae5ced33 Merge: f3845f3 d7646f7 Author: Linus Torvalds Date: Fri Mar 26 15:11:20 2010 -0700 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: pcmcia: use dev_pm_ops for class pcmcia_socket_class power: support _noirq actions on device types and classes pcmcia: allow for four multifunction subdevices (again) pcmcia: do not use ioports < 0x100 on x86 pd6729: Coding Style fixes commit f3845f3f6081b97ebc4dc905e097c07e868017b5 Merge: 054319b 035a02c Author: Linus Torvalds Date: Fri Mar 26 15:10:56 2010 -0700 Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86, amd: Restrict usage of c1e_idle() x86: Fix placement of FIX_OHCI1394_BASE x86: Handle legacy PIC interrupts on all the cpu's commit 054319b5e255c0671012a5a89b344a7d55cda80c Merge: 833961d 830ec04 Author: Linus Torvalds Date: Fri Mar 26 15:10:38 2010 -0700 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: time: Fix accumulation bug triggered by long delay. posix-cpu-timers: Reset expire cache when no timer is running timer stats: Fix del_timer_sync() and try_to_del_timer_sync() clockevents: Sanitize min_delta_ns adjustment and prevent overflows commit 833961d81f0ece46b7884f988cc65509e2c49646 Merge: 3cacf42 2271048 Author: Linus Torvalds Date: Fri Mar 26 15:10:13 2010 -0700 Merge branch 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: ring-buffer: Do 8 byte alignment for 64 bit that can not handle 4 byte align commit 3cacf42462c8c97e045a07a5fc92aa357489c8b5 Merge: 6fa4136 8bc037f Author: Linus Torvalds Date: Fri Mar 26 15:09:59 2010 -0700 Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: Use proper type in sched_getaffinity() kernel/sched.c: Suppress unused var warning sched: sched_getaffinity(): Allow less than NR_CPUS length commit 6fa41366c1c5e8b9640baba22d2b90ec9035a889 Merge: 309d1dc 9eff26e Author: Linus Torvalds Date: Fri Mar 26 15:09:33 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: powerpc/perf_events: Fix call-graph recording, add perf_arch_fetch_caller_regs perf top: Add missing initialization to zero perf probe: Use original address instead of CU-based address perf probe: Fix offset to allow signed value perf top: Improve the autosizing of column lenghts perf probe: Fix need_dwarf flag if lazy matching is used perf probe: Fix probe_point buffer overrun commit 309d1dcb5b73ab1f8212aff3037a7bcb46afe819 Merge: 8128f55 860652b Author: Linus Torvalds Date: Fri Mar 26 15:09:06 2010 -0700 Merge branch 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: genirq: Move two IRQ functions from .init.text to .text genirq: Protect access to irq_desc->action in can_request_irq() genirq: Prevent oneshot irq thread race commit 8128f55a0bc60cf3779135a1f837c4323e77c582 Merge: 50da567 c26f91a Author: Linus Torvalds Date: Fri Mar 26 15:08:31 2010 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Remove excessive early_res debug output softlockup: Stop spurious softlockup messages due to overflow rcu: Fix local_irq_disable() CONFIG_PROVE_RCU=y false positives rcu: Fix tracepoints & lockdep false positive rcu: Make rcu_read_lock_bh_held() allow for disabled BH commit 50da56706b989b99edb20f9c03172df193240c78 Merge: e0df9c0 fe43d6d Author: Linus Torvalds Date: Fri Mar 26 15:07:46 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: core: align driver match with modalias firewire: core: fix Model_ID in modalias firewire: ohci: add cycle timer quirk for the TI TSB12LV22 firewire: core: fw_iso_resource_manage: fix error handling commit e0df9c0b42cc8cb48b801f7a0f54382f6a89ca16 Merge: e1ee65d 3e297b6 Author: Linus Torvalds Date: Fri Mar 26 15:06:02 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: Restore LOOKUP_DIRECTORY hint handling in final lookup on open() commit af06393bbde6e8d474622a0517cffc662676e3fe Author: Chris Leech Date: Wed Mar 24 12:45:21 2010 +0000 ixgbe: filter FIP frames into the FCoE offload queues During FCF solicitation, the switch is supposed to pad the solicited advertisement out to the endpoints specified maximum FCoE frame size. That means that we need to receive FIP frames that are larger than the standard MTU. To make sure the receive queue is configured correctly, we should be filtering FIP traffic into the FCoE queues. Signed-off-by: Chris Leech Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit ca77cd59d28456b4061afa5254972ec47fa8baf5 Author: Robert Love Date: Wed Mar 24 12:45:00 2010 +0000 ixgbe: Priority tag FIP frames Currently FIP (FCoE Initialization Protocol) frames are going untagged. This causes various problems with FCFs (switches) that have negotiated a priority over dcbx. This patch tags FIP frames with the same priority as the FCoE frames. Signed-off-by: Robert Love Signed-off-by: Chris Leech Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit a7551b75fe47fb6fb70f679935845e741c5e0855 Author: Robert Love Date: Wed Mar 24 10:02:04 2010 +0000 ixgbe: Don't allow user buffer count to exceed 256 If the user buffer count was 256 the shift would place a 1 in the offset region leading to errors. It also overwrites the uers buffer list. This patch makes sure that at most 256 user buffers are allowed for DDP and the buffer count is masked properly such that it doesn't overwrite the offset when shifting the bits. Signed-off-by: Robert Love Signed-off-by: Yi Zou Signed-off-by: Frank Zhang Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit e0fce6950b822aba7840d82c2d2018f1e1b8276b Author: John Fastabend Date: Wed Mar 24 10:01:45 2010 +0000 ixgbe: cleanup maximum number of tx queues In the last patch I missed an unecessary min_t comparison. This patch removes it, the path allocates at most 72 tx queues for 82599 and 24 for 82598 there is no need for this check. Additionally this sets MAX_[TX|RX]_QUEUES to 72. Which is used as the size for the tx/rx_ring arrays. There is no reason to have more tx_rings/rx_rings then num_tx_queues. Signed-off-by: John Fastabend Signed-off-by: Jeff Kirsher Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 581d1aa777580c1c22169538ffb46676b13c408e Author: Greg Rose Date: Wed Mar 24 09:36:27 2010 +0000 ixgbe: Change where clear_to_send_flag is reset to zero. The clear_to_send flag is being cleared before the call to ping all the VFs. It should be called after pinging all the VFs. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 5809a1ae77721931ca7bd7aeacb37fdabe6f07c0 Author: Greg Rose Date: Wed Mar 24 09:36:08 2010 +0000 ixgbe: In SR-IOV mode insert delay before bring the adapter up VFs running in guest VMs do not respond in as timely a manner to PF indication it is going down as they do when running in the host domain. If the adapter is in SR-IOV mode insert a two second delay to guarantee that all VFs have had time to respond to the PF reset. In any case resetting the PF while VFs are active should be discouraged but if it must be done then there will be a two second delay to help synchronize resets among the PF and all the VFs. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 65deeed7b34bc5b8d3cbff495e8fa2ae7b563480 Author: Greg Rose Date: Wed Mar 24 09:35:42 2010 +0000 ixgbevf: Fix signed/unsigned int error In the Tx mapping function if a DMA error occurred then the unwind of previously mapped sections would improperly check an unsigned int if it was less than zero. Changed the index variable to signed to avoid the error. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 48c11a59c4c1d9926be34920d45da037516eb7b8 Author: Amit Kumar Salecha Date: Fri Mar 26 00:30:10 2010 +0000 netxen: update version to 4.0.73 Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit afbe5cd6c40e0f20fa8832d17fa44ae605591ce1 Author: Amit Kumar Salecha Date: Fri Mar 26 00:30:09 2010 +0000 netxen: added sanity check for pci map Signed-off-by: Amit Kumar Salecha Return value of ioremap is not checked, NULL check added. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 77c553900c58c3e4f475e233ad4ff6aeb282deb4 Author: Amit Kumar Salecha Date: Fri Mar 26 00:30:08 2010 +0000 netxen: fix warning in ioaddr for NX3031 chip Signed-off-by: Amit Kumar Salecha crb_intr_mask/crb_sts_consumer is predefined for NX2031 not for NX3031. For NX3031, these values get defined in rx context creation. Signed-off-by: David S. Miller commit bb2792e0383793d5135ba777e93f0a918371394b Author: Amit Kumar Salecha Date: Fri Mar 26 00:30:07 2010 +0000 netxen: fix bios version calculation Bios sub version from unified fw image is calculated incorrect. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 4300e8c7f64d95a80ffa7d98d98738f41546bc30 Author: David S. Miller Date: Fri Mar 26 10:23:30 2010 -0700 Revert "r8169: enable 64-bit DMA by default for PCI Express devices (v2)" This reverts commit 353176888386d9025062a12dcec08d49af10cf2c. People are reporting problems due to this change and there is no anticipation that the cause will be tracked down any time soon. We can try next time to selectively re-enable this based upon chip type, or have a black list of some sort. Signed-off-by: David S. Miller commit 3e297b613491f0d4928aa652a2cd266aa06dc409 Author: Al Viro Date: Fri Mar 26 12:40:13 2010 -0400 Restore LOOKUP_DIRECTORY hint handling in final lookup on open() Lose want_dir argument, while we are at it - since now nd->flags & LOOKUP_DIRECTORY is equivalent to it. Signed-off-by: Al Viro commit 0f17014b340b98465fcf0de4c0d6c84a002ec53b Author: Jarkko Nikula Date: Fri Mar 26 16:07:25 2010 +0200 ALSA: pcm_lib - fix xrun functionality The commit 4d96eb255c53ab5e39b37fd4d484ea3dc39ab456 broke the interrupt time xrun functionality (stream stop etc.) if the CONFIG_SND_PCM_XRUN_DEBUG is not set. This is because the xrun() is null defined without it. Fix this by letting the function xrun() to be always defined as it was before. Signed-off-by: Jarkko Nikula Cc: Jaroslav Kysela Signed-off-by: Takashi Iwai commit e1f7f02b45cf33a774d56e505ce1718af9392f5e Author: Daniel T Chen Date: Thu Mar 25 22:38:15 2010 -0700 ALSA: ac97: Add IBM ThinkPad R40e to Headphone/Line Jack Sense blacklist BugLink: https://launchpad.net/bugs/303789 This model needs both 'Headphone Jack Sense' and 'Line Jack Sense' muted for audible audio, so just add its SSID to the blacklist and don't enumerate the controls. Signed-off-by: Daniel T Chen Cc: Signed-off-by: Takashi Iwai commit 3da0ae6298fa10d4f5e2855ae400b2470bc6693d Author: David S. Miller Date: Thu Mar 25 20:32:39 2010 -0700 isdn: Add netdev to lists in MAINTAINERS entry. Signed-off-by: David S. Miller commit 72f878cc6f324ecc2ca00ff2f9c0dc2c168cd4cc Author: Andrea Gelmini Date: Thu Mar 25 18:22:40 2010 +0100 USB gadget r8a66597-udc.c: duplicated include drivers/usb/gadget/r8a66597-udc.c: linux/err.h is included more than once. Signed-off-by: Andrea Gelmini Signed-off-by: Paul Mundt commit 4539282dbc20fe612113c8f267d51a90d46a7f50 Author: Matt Fleming Date: Fri Mar 26 11:37:16 2010 +0900 sh: update the TLB replacement counter for entry wiring. Presently the TLB wiring code depends on MMUCR.URB for working out where to place the wired entry, but fails to take the replacment counter in to consideration. This fixes up the wiring logic and ensures that wired entries remain so. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit e7c5650f6067f65f8e961394f376d4862808d0d2 Author: Catalin Marinas Date: Wed Mar 24 16:49:54 2010 +0100 ARM: 5996/1: ARM: Change the mandatory barriers implementation (4/4) The mandatory barriers (mb, rmb, wmb) are used even on uniprocessor systems for things like ordering Normal Non-cacheable memory accesses with DMA transfer (via Device memory writes). The current implementation uses dmb() for mb() and friends but this is not sufficient. The DMB only ensures the relative ordering of the observability of accesses by other processors or devices acting as masters. In case of DMA transfers started by writes to device memory, the relative ordering is not ensured because accesses to slave ports of a device are not considered observable by the DMB definition. A DSB is required for the data to reach the main memory (even if mapped as Normal Non-cacheable) before the device receives the notification to begin the transfer. Furthermore, some L2 cache controllers (like L2x0 or PL310) buffer stores to Normal Non-cacheable memory and this would need to be drained with the outer_sync() function call. The patch also allows platforms to define their own mandatory barriers implementation by selecting CONFIG_ARCH_HAS_BARRIERS and providing a mach/barriers.h file. Note that the SMP barriers are unchanged (being DMBs as before) since they are only guaranteed to work with Normal Cacheable memory. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 23107c542068b2b94390aa333f6b330af64961e4 Author: Catalin Marinas Date: Wed Mar 24 16:48:53 2010 +0100 ARM: 5995/1: ARM: Add L2x0 outer_sync() support (3/4) The L2x0 cache controllers need to explicitly drain their write buffer even for Normal Noncacheable memory accesses. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 319f551a0a167b49b5bbb4a9ff4802046a572bc5 Author: Catalin Marinas Date: Wed Mar 24 16:47:53 2010 +0100 ARM: 5994/1: ARM: Add outer_cache_fns.sync function pointer (2/4) This patch introduces the outer_cache_fns.sync function pointer together with the OUTER_CACHE_SYNC config option that can be used to drain the write buffer of the outer cache. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 33f663ff9186da1bcc88dc7830b3a632bd472da5 Author: Catalin Marinas Date: Wed Mar 24 16:46:52 2010 +0100 ARM: 5993/1: ARM: Move the outer_cache definitions into a separate file (1/4) To avoid #include collisions with subsequent patches in the series, this patch moves the outer_cache definitions to a separate asm/outercache.h file. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit e1ee65d85904c5dd4b9cea1b15d5e85e20eae8a1 Author: David Howells Date: Thu Mar 25 16:48:44 2010 +0000 NOMMU: Fix __get_user_pages() to pin last page on offset buffers Fix __get_user_pages() to make it pin the last page on a buffer that doesn't begin at the start of a page, but is a multiple of PAGE_SIZE in size. The problem is that __get_user_pages() advances the pointer too much when it iterates to the next page if the page it's currently looking at isn't used from the first byte. This can cause the end of a short VMA to be reached prematurely, resulting in the last page being lost. Signed-off-by: Steven J. Magnani Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 7561e8ca0dfaf6fca3feef982830de3b65300e5b Author: David Howells Date: Thu Mar 25 16:48:38 2010 +0000 NOMMU: Revert 'nommu: get_user_pages(): pin last page on non-page-aligned start' Revert the following patch: commit c08c6e1f54c85fc299cf9f88cf330d6dd28a9a1d Author: Steven J. Magnani Date: Fri Mar 5 13:42:24 2010 -0800 nommu: get_user_pages(): pin last page on non-page-aligned start As it assumes that the mappings begin at the start of pages - something that isn't necessarily true on NOMMU systems. On NOMMU systems, it is possible for a mapping to only occupy part of the page, and not necessarily touch either end of it; in fact it's also possible for multiple non-overlapping mappings to coexist on one page (consider direct mappings of ROMFS files, for example). Signed-off-by: David Howells Acked-by: Steven J. Magnani Signed-off-by: Linus Torvalds commit 39f1cd635cbe8a42c3c74fa6bf9f61c1156bd27b Merge: 126a031 c4caae2 Author: Linus Torvalds Date: Thu Mar 25 14:10:53 2010 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs ext4: Don't use delayed allocation by default when used instead of ext3 ext4: Fix spelling of CONTIG_FS_EXT3 to CONFIG_FS_EXT3 ext4: Fix estimate of # of blocks needed to write indirect-mapped files commit 126a031e437a4ab56a162e9cff7fc04b9f7efeec Merge: 01e7770 7c9f757 Author: Linus Torvalds Date: Thu Mar 25 14:06:29 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (25 commits) TIPC: Removed inactive maintainer isdn: Cleanup Sections in PCMCIA driver elsa isdn: Cleanup Sections in PCMCIA driver avma1 isdn: Cleanup Sections in PCMCIA driver teles isdn: Cleanup Sections in PCMCIA driver sedlbauer via-velocity: Fix FLOW_CNTL_TX_RX handling in set_mii_flow_control() netfilter: xt_hashlimit: IPV6 bugfix netfilter: ip6table_raw: fix table priority netfilter: xt_hashlimit: dl_seq_stop() fix af_key: return error if pfkey_xfrm_policy2msg_prep() fails skbuff: remove unused dma_head & dma_maps fields vlan: updates vlan real_num_tx_queues vlan: adds vlan_dev_select_queue igb: only use vlan_gro_receive if vlans are registered igb: do not modify tx_queue_len on link speed change igb: count Rx FIFO errors correctly bnx2: Use proper handler during netpoll. bnx2: Fix netpoll crash. ksz884x: fix return value of netdev_set_eeprom cgroups: net_cls as module ... commit 7c9f757319ccf7a47ce167b86eda671c87b5b917 Author: Jon Maloy Date: Thu Mar 25 12:40:09 2010 -0700 TIPC: Removed inactive maintainer Signed-off-by: Jon Maloy Signed-off-by: David S. Miller commit c751ce4f52b11ea93764a7cd44e6ae9c098d361b Author: Eric Anholt Date: Thu Mar 25 11:48:48 2010 -0700 drm/i915: Rename many remaining uses of "output" to encoder or connector. Signed-off-by: Eric Anholt commit 21d40d37eca86872f2bf0af995809ebdef25c9d9 Author: Eric Anholt Date: Thu Mar 25 11:11:14 2010 -0700 drm/i915: Rename intel_output to intel_encoder. The intel_output naming is inherited from the UMS code, which had a structure of screen -> CRTC -> output. The DRM code has an additional notion of encoder/connector, so the structure is screen -> CRTC -> encoder -> connector. This is a useful structure for SDVO encoders which can support multiple connectors (each of which requires different programming in the one encoder and could be connected to different CRTCs), or for DVI-I, where multiple encoders feed into the connector for whether it's used for digital or analog. Most of our code is encoder-related, so transition it to talking about encoders before we start trying to distinguish connectors. This patch is produced by sed s/intel_output/intel_encoder/ over the driver. Signed-off-by: Eric Anholt commit f61bb62e3ed7634fe5b7dfd8c9a52e6b799f4023 Author: Henne Date: Thu Mar 25 12:05:32 2010 +0000 isdn: Cleanup Sections in PCMCIA driver elsa Compiling this driver gave a section mismatch, so I reviewed the init/exit paths of the driver and made the correct changes. WARNING: drivers/isdn/hisax/built-in.o(.text+0x55e37): Section mismatch in reference from the function elsa_cs_config() to the function .devinit.text:hisax_init_pcmcia() The function elsa_cs_config() references the function __devinit hisax_init_pcmcia(). This is often because elsa_cs_config lacks a __devinit annotation or the annotation of hisax_init_pcmcia is wrong. Signed-off-by: Henrik Kretzschmar Acked-by: Karsten Keil Signed-off-by: David S. Miller commit a465870a808bccba63bf6da30a0b56a2a7abfa5c Author: Henne Date: Thu Mar 25 12:05:31 2010 +0000 isdn: Cleanup Sections in PCMCIA driver avma1 Compiling this driver gave a section mismatch, so I reviewed the init/exit paths of the driver and made the correct changes. WARNING: drivers/isdn/hisax/built-in.o(.text+0x56512): Section mismatch in reference from the function avma1cs_config() to the function .devinit.text:hisax_init_pcmcia() The function avma1cs_config() references the function __devinit hisax_init_pcmcia(). This is often because avma1cs_config lacks a __devinit annotation or the annotation of hisax_init_pcmcia is wrong. Signed-off-by: Henrik Kretzschmar Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 158e33d1c6d0c6bacf577bcb47591aa4293dfcb1 Author: Henne Date: Thu Mar 25 12:05:30 2010 +0000 isdn: Cleanup Sections in PCMCIA driver teles Compiling this driver gave a section mismatch, so I reviewed the init/exit paths of the driver and made the correct changes. WARNING: drivers/isdn/hisax/built-in.o(.text+0x56bfb): Section mismatch in reference from the function teles_cs_config() to the function .devinit.text:hisax_init_pcmcia() The function teles_cs_config() references the function __devinit hisax_init_pcmcia(). This is often because teles_cs_config lacks a __devinit annotation or the annotation of hisax_init_pcmcia is wrong. Signed-off-by: Henrik Kretzschmar Acked-by: Karsten Keil Signed-off-by: David S. Miller commit 93b39a0dba6a15c35a582b9e8b171b8a6ec971aa Author: Henne Date: Thu Mar 25 12:05:29 2010 +0000 isdn: Cleanup Sections in PCMCIA driver sedlbauer Compiling this driver gave a section mismatch, so I reviewed the init/exit paths of the driver and made the correct changes. WARNING: drivers/isdn/hisax/built-in.o(.text+0x558d6): Section mismatch in reference from the function sedlbauer_config() to the function .devinit.text:hisax_init_pcmcia() The function sedlbauer_config() references the function __devinit hisax_init_pcmcia(). This is often because sedlbauer_config lacks a __devinit annotation or the annotation of hisax_init_pcmcia is wrong. Signed-off-by: Henrik Kretzschmar Acked-by: Karsten Keil Signed-off-by: David S. Miller commit bcbe53682f65330bdd9ad7eed9575d2ff536353a Author: David S. Miller Date: Mon Mar 22 19:59:47 2010 -0700 via-velocity: Fix FLOW_CNTL_TX_RX handling in set_mii_flow_control() Clear, don't set, ANAR_ASMDIR in this case. Noticed by Roel Kluin. Signed-off-by: David S. Miller commit 80bb3a00fa314e3c5dbbd23a38bfaf94f2402b99 Merge: 9a127aa 8f59922 Author: David S. Miller Date: Thu Mar 25 11:48:58 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6 commit 5e64499f3d39c633de49320e399479642c2b1743 Author: Daniel Vetter Date: Fri Mar 19 21:46:23 2010 +0100 agp/intel: intel_845_driver is an agp driver! ... not a GTT driver. So the additional chipset flush introduced in commit 2162e6a2b0cd5acbb9bd8a3c94e1c1269b078295 Author: Dave Airlie Date: Wed Nov 21 16:36:31 2007 +1000 agp/intel: Add chipset flushing support for i8xx chipsets. to fix a GTT problem makes absolutely no sense. If this would really be needed for AGP chipsets, too, we should add it to all i8xx agp drivers, not just one. Signed-off-by: Daniel Vetter Signed-off-by: Eric Anholt commit 23010e43b353c2cdc9725cbedc7e364708039bf7 Author: Daniel Vetter Date: Mon Mar 8 13:35:02 2010 +0100 drm/i915: introduce to_intel_bo helper This is a purely cosmetic change to make changes in this area easier. And hey, it's not only clearer and typechecked, but actually shorter, too! [anholt: To clarify, this is a change to let us later make drm_i915_gem_object subclass drm_gem_object, instead of having drm_gem_object have a pointer to i915's private data] Signed-off-by: Daniel Vetter Acked-by: Dave Airlie Signed-off-by: Eric Anholt commit 8d06a1e1e9c69244f08beb7d17146483f9dcd120 Author: Robert Hooker Date: Fri Mar 19 15:13:27 2010 -0400 drm/i915: Disable FBC on 915GM and 945GM. It is causing hangs after a suspend/resume cycle with the default powersave=1 module option on these chipsets since 2.6.32-rc. BugLink: http://bugs.launchpad.net/bugs/492392 Signed-off-by: Robert Hooker Acked-by: Jesse Barnes Signed-off-by: Eric Anholt commit d558b483d5a73f5718705b270cb2090f66ea48c8 Author: Bjorn Helgaas Date: Thu Mar 25 09:28:30 2010 -0600 x86/PCI: truncate _CRS windows with _LEN > _MAX - _MIN + 1 Yanko's GA-MA78GM-S2H (BIOS F11) reports the following resource in a PCI host bridge _CRS: [07] 32-Bit DWORD Address Space Resource Min Relocatability : MinFixed Max Relocatability : MaxFixed Address Minimum : CFF00000 (_MIN) Address Maximum : FEBFFFFF (_MAX) Address Length : 3EE10000 (_LEN) This is invalid per spec (ACPI 4.0, 6.4.3.5) because it's a fixed size, fixed location descriptor, but _LEN != _MAX - _MIN + 1. Based on https://bugzilla.kernel.org/show_bug.cgi?id=15480#c15, I think Windows handles this by truncating the window so it fits between _MIN and _MAX. I also verified this by modifying the SeaBIOS DSDT and booting Windows 2008 R2 with qemu. This patch makes Linux truncate the window, too, which fixes: http://bugzilla.kernel.org/show_bug.cgi?id=15480 Signed-off-by: Bjorn Helgaas Tested-by: Yanko Kaneti Signed-off-by: Jesse Barnes commit eb9fc8ef7cb1362374e55d9503e3e7458f319991 Author: Bjorn Helgaas Date: Thu Mar 25 09:28:24 2010 -0600 x86/PCI: for host bridge address space collisions, show conflicting resource With insert_resource_conflict(), we can learn what the actual conflict is, so print that info for debugging purposes. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 8f5992291457c8e6de2f5fe39849de6756be1a96 Author: Eric Dumazet Date: Thu Mar 25 17:25:11 2010 +0100 netfilter: xt_hashlimit: IPV6 bugfix A missing break statement in hashlimit_ipv6_mask(), and masks between /64 and /95 are not working at all... Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 99f4692e13ba22b228bdd155473f24ae9bdec1dc Author: Bjorn Helgaas Date: Mon Mar 22 16:34:15 2010 -0600 frv/PCI: remove redundant warnings pci_claim_resource() already prints more detailed error messages, so these are really redundant. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit c9c9b564717e5b6b2ae8b770da1c73a348c84cce Author: Bjorn Helgaas Date: Mon Mar 22 16:34:10 2010 -0600 x86/PCI: remove redundant warnings pci_claim_resource() already prints more detailed error messages, so these are really redundant. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit f967a44343e407811898ddac97abc69b293e9810 Author: Bjorn Helgaas Date: Mon Mar 22 16:34:05 2010 -0600 PCI: don't say we claimed a resource if we failed pci_claim_resource() can fail, so pay attention and only claim success when it actually succeeded. If pci_claim_resource() fails, it prints a useful diagnostic. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 134b345081534235dbf228b1005c14590e0570ba Author: Matthew Wilcox Date: Wed Mar 24 07:11:01 2010 -0600 PCI quirk: Disable MSI on VIA K8T890 systems Bugzilla 15287 indicates that there's a problem with Message Signalled Interrupts on VIA K8T890 systems. Add a quirk to disable MSI on these systems. Signed-off-by: Matthew Wilcox Tested-by: Jan Kreuzer Tested-by: lh Signed-off-by: Jesse Barnes commit 39c01b219fd30c74869b6fc8749f7900f04e9ef6 Author: Divyesh Shah Date: Thu Mar 25 15:45:57 2010 +0100 cfq-iosched: Do not merge queues of BE and IDLE classes Even if they are found to be co-operating. The prio_trees do not have any IDLE cfqqs on them. cfq_close_cooperator() is called from cfq_select_queue() and cfq_completed_request(). The latter ensures that the close cooperator code does not get invoked if the current cfqq is of class IDLE but the former doesn't seem to have any such checks. So an IDLE cfqq may get merged with a BE cfqq from the same group which should be avoided. Signed-off-by: Divyesh Shah Acked-by: Vivek Goyal Signed-off-by: Jens Axboe commit b1ffe737f5b743115ee46ffb59e338e580c54902 Author: Divyesh Shah Date: Thu Mar 25 15:45:03 2010 +0100 cfq-iosched: Add additional blktrace log messages in CFQ for easier debugging These have helped us debug some issues we've noticed in earlier IO controller versions and should be useful now as well. The extra logging covers: - idling behavior. Since there are so many conditions based on which we decide to idle or not, this patch adds a log message for some conditions that we've found useful. - workload slices and current prio and workload type Changelog from v1: o moved log message from cfq_set_active_queue() to __cfq_set_active_queue() o changed queue_count to st->count Signed-off-by: Divyesh Shah Signed-off-by: Jens Axboe commit 6a4f2ccb467e00281470cde2dee08fe5ecde62d1 Author: Takashi Iwai Date: Thu Mar 25 15:00:15 2010 +0100 ALSA: hda - Don't set invalid connection index in Realtek initialiaiton Skip initialization of connections of DAC widgets that aren't used, which resulted in invalid verb parameters. Signed-off-by: Takashi Iwai commit 9c13886665c43600bd0af4b38e33c654e648e078 Author: Jozsef Kadlecsik Date: Thu Mar 25 11:17:26 2010 +0100 netfilter: ip6table_raw: fix table priority The order of the IPv6 raw table is currently reversed, that makes impossible to use the NOTRACK target in IPv6: for example if someone enters ip6tables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK and if we receive fragmented packets then the first fragment will be untracked and thus skip nf_ct_frag6_gather (and conntrack), while all subsequent fragments enter nf_ct_frag6_gather and reassembly will never successfully be finished. Singed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy commit 55e0d7cf279177dfe320f54816320558bc370f24 Author: Eric Dumazet Date: Thu Mar 25 11:00:22 2010 +0100 netfilter: xt_hashlimit: dl_seq_stop() fix If dl_seq_start() memory allocation fails, we crash later in dl_seq_stop(), trying to kfree(ERR_PTR(-ENOMEM)) Signed-off-by: Eric Dumazet Signed-off-by: Patrick McHardy commit 0491fcbb76339cecbe4b6b1e862fb0c166bacf2d Merge: ae7a3f1 fc30020 Author: Sascha Hauer Date: Thu Mar 25 08:44:12 2010 +0100 Merge branch 'mx51' into mxc-rc commit ae7a3f13ab59784d9d5041d8ecb08477a049e2c6 Author: Alberto Panizzo Date: Tue Mar 23 19:51:45 2010 +0100 MXC: mach-mx31_3ds: add support for freescale mc13783 power management device. Power Gates must to be always enabled. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit a1ac442443342f778d5230b16efadc4c32d96298 Author: Alberto Panizzo Date: Tue Mar 23 19:50:28 2010 +0100 MXC: mach-mx31_3ds: Add SPI1 device support. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit a1b67b957ea3b9138ed8239796cb48d8b1bf66b0 Author: Alberto Panizzo Date: Tue Mar 23 19:49:35 2010 +0100 MXC: mach-mx31_3ds: Add support for on board NAND Flash. Since the using of Bad Block Table is not constantly a good behave I had made it configurable. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 11a332adfeacee2634f73ad21b55aad5cc7fd54a Author: Alberto Panizzo Date: Tue Mar 23 19:46:57 2010 +0100 MXC: mach-mx31_3ds: Update variable names over recent mach name modification. Signed-off-by: Alberto Panizzo Signed-off-by: Sascha Hauer commit 6dc2d6bf5148a9ed027af21285b0e17b83b3a8f4 Author: Vladimir Zapolskiy Date: Wed Mar 24 14:32:16 2010 +0300 imx31: fix parent clock for rtc According to imx31 reference manual the signal from external low frequency clock is sent to RTC clock. The patch makes redundant the previously defined mxc_rtc clock. Signed-off-by: Vladimir Zapolskiy Cc: Sascha Hauer Cc: Daniel Mack Signed-off-by: Sascha Hauer commit 01e77706cdde7c0b47e5ca1f4284a795504c7c40 Merge: 1ff3105 8871d54 Author: Linus Torvalds Date: Wed Mar 24 16:52:15 2010 -0700 Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: OMAP: DSS2: panel-generic: re-implement mode changing OMAP: DSS2: initialize dss clk sources properly OMAP: DSS2: VRAM: Fix early_param for vram commit 1ff31056fb044a47cdda462bdef0dcacefbf6856 Merge: 6c75969 bb45692 Author: Linus Torvalds Date: Wed Mar 24 16:51:14 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] Orion5x: replace KEY_WLAN with KEY_WPS_BUTTON [ARM] Kirkwood: WPS button keycode mapping pxa168fb: fix incorrect resource calculation [ARM] pxa/raumfeld: fix button name [ARM] pxa/raumfeld: remove duplicated #include [ARM] locomo: fix unpaired spin_lock_irqsave [ARM] locomo: fix SPI register offset [ARM] pxa/sharpsl: add dependency of max1111 driver to sharpsl_pm [ARM] pxa: remove unnecessary 'select FB_W100' from some platforms [ARM] pxa: remove spi cs gpio direction to avoid clash with driver [ARM] mmp: fix for variables in uncompress.h being discarded [ARM] pxa: fix for variables in uncompress.h being discarded ARM: Update mach-types ARM: Fix IXP23xx build error in mach/memory.h commit 6c75969e22ffe27df64ff7477bd35fe72bface3e Merge: c02c873 556ae3b Author: Linus Torvalds Date: Wed Mar 24 16:50:46 2010 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: don't try to decode GETATTR if DELEGRETURN returned error sunrpc: handle allocation errors from __rpc_lookup_create() SUNRPC: Fix the return value of rpc_run_bc_task() SUNRPC: Fix a use after free bug with the NFSv4.1 backchannel SUNRPC: Fix a potential memory leak in auth_gss NFS: Prevent another deadlock in nfs_release_page() commit c02c873c25209f971c2e10884f50d4ab61db1e23 Merge: 541e40e 332ac7f Author: Linus Torvalds Date: Wed Mar 24 16:50:27 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata-sff: fix spurious IRQ handling pata_via: Add VIA VX900 support commit 541e40ee087976ec793c53446099d3f0097e1697 Merge: 1147d0f 4e1a259 Author: Linus Torvalds Date: Wed Mar 24 16:49:38 2010 -0700 Merge branch 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * 'sh/for-2.6.34' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Silence unintialized variable warnings in dwarf unwinder. sh: Tidy up a couple of section mismatches. sh: Fix build after dynamic PMB rework sh: Replace unsafe manipulation of MMUCR sh: Flush ITLB too in PTEAEX's flush_tlb_page() sh64: Remove long unused mid_sched macro SH: remove superfluous warning from the serial driver SH: fix SCIFA SCASCR register bit definitions serial: sh-sci: fix SH-Mobile SH breakage sh: Add watch-dog register address for SH7722/SH7723/SH7724 sh: ms7724: Add tiny-document for sound sh: mach-ecovec24: Add i2c_put_adapter on sh_eth_init commit 1147d0f915e3b4c5c4fa279dae2c40016b8f441d Author: Dan Carpenter Date: Tue Mar 23 14:48:37 2010 +0000 fscache: add missing unlock Sparse complained about this missing spin_unlock() Signed-off-by: Dan Carpenter Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 34c1c460f82c809f20a2d378373d6aeb58c7808a Merge: 61964eb 8b4709e Author: Linus Torvalds Date: Wed Mar 24 16:48:11 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6: regulator: fix dangling pointers lp3971: Fix BUCK_VOL_CHANGE_SHIFT logic lp3971: Fix setting val for LDO2 and LDO4 regulator: Get rid of lockdep warning regulator: handle kcalloc() failure Regulators: max8925-regulator - clean up driver data after removal commit 61964eba5c419ff710ac996c5ed3a84d5af7490f Author: David Howells Date: Wed Mar 24 17:09:19 2010 +0000 do_sync_read/write() should set kiocb.ki_nbytes to be consistent do_sync_read/write() should set kiocb.ki_nbytes to be consistent with do_sync_readv_writev(). Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 47568d4c56677ede6e7ff7c8e4e0fd860a9c4372 Author: David Howells Date: Wed Mar 24 17:02:28 2010 +0000 FDPIC: For-loop in elf_core_vma_data_size() is incorrect Fix an incorrect for-loop in elf_core_vma_data_size(). The advance-pointer statement lacks an assignment: CC fs/binfmt_elf_fdpic.o fs/binfmt_elf_fdpic.c: In function 'elf_core_vma_data_size': fs/binfmt_elf_fdpic.c:1593: warning: statement with no effect Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 6467a71c56934251f3c917bd4386387c2a97b41e Merge: 18020a0 6e6c822 Author: Linus Torvalds Date: Wed Mar 24 16:42:43 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: Stop trying to use ACPI lid status to determine LVDS connection. drm/intel: fix up set_tiling for untiled->tiled transition drm/i915: Set up the documented clock gating on Sandybridge and Ironlake. agp/intel: Don't do the chipset flush on Sandybridge. agp/intel: Respect the GTT size on Sandybridge for scratch page setup. drm/i915: fix small leak on overlay error path drm/i915: Avoid NULL deref in get_pages() unwind after error. drm/i915: Fix check with IS_GEN6 drivers/gpu/drm/i915/intel_bios.c: fix continuation line formats drm/i915: Enable VS timer dispatch. drm/i915: Rename FBC_C3_IDLE to FBC_CTL_C3_IDLE to match other registers drm/i915: remove an unnecessary wait_request() drm/i915: Don't bother with the BKL for GEM ioctls. commit 18020a0d8cccad0d3642219d6aef789420c04c1f Merge: c27b9a2 0f5ed04 Author: Linus Torvalds Date: Wed Mar 24 16:41:48 2010 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-scmi: Provide module aliases for automatic loading i2c-scmi: Support IBM SMBus CMI devices acpi: Support IBM SMBus CMI devices commit c27b9a2e6c29eac2fe770bd1071007c9f8c43de5 Merge: 20dba45 06c0dd7 Author: Linus Torvalds Date: Wed Mar 24 16:36:53 2010 -0700 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] fix boot failures with compressed kernels [S390] fix broken proc interface for sclp_async [S390] sclp: avoid 64 bit division [S390] dasd: check tsb validity [S390] dasd: fix alignment of transport mode recovery TCW [S390] system.h: Fix compile error for 1 and 2 byte cmpxchg [S390] smp: fix lowcore allocation [S390] zcore: CPU registers are not saved under LPAR commit 20dba4596fd768b2d9154e3258871ebdd2c9fa29 Merge: 90fddab 1218002 Author: Linus Torvalds Date: Wed Mar 24 16:34:33 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: cmipci: work around invalid PCM pointer ASoC: Remove BROKEN from i.MX audio after dependencies merged ALSA: hda - Fix access-after-free in patch_realtek.c ALSA: hda - Sort codec entry list of Nvidia HDMI ALSA: hda - Add support of Nvidia GT220 HDMI ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki) ALSA: hda - Add PCI quirk for HP dv6-1110ax. sound/oss/vidc.c: change the field used with DMA_ACTIVE ASoC: pxa-pcm-lib: initialize DMA channel to -1 ASoC: Bail out of wm_hubs DC servo if calibration fails ASoC: tlv320dac33: Internal clocking changes ASoC: tlv320dac33: Fix DSP modes ASoC: SIU driver shall select FW_LOADER commit 90fddabf5818367c6bd1fe1b256a10e01827862f Author: David Howells Date: Wed Mar 24 09:43:00 2010 +0000 Document Linux's circular buffering capabilities Document the circular buffering capabilities available in Linux. Signed-off-by: David Howells Signed-off-by: Paul E. McKenney Reviewed-by: Randy Dunlap Reviewed-by: Stefan Richter Signed-off-by: Linus Torvalds commit 8e0cc811e0f8029a7225372fb0951fab102c012f Author: OGAWA Hirofumi Date: Tue Mar 23 13:35:50 2010 -0700 fs/partition/msdos: fix unusable extended partition for > 512B sector Smaller size than a minimum blocksize can't be used, after all it's handled like 0 size. For extended partition itself, this makes sure to use bigger size than one logical sector size at least. Signed-off-by: OGAWA Hirofumi Cc: Daniel Taylor Cc: "H. Peter Anvin" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fbf586cf7f245392142e5407c2a56f1cff979b6 Author: Daniel Taylor Date: Tue Mar 23 13:35:50 2010 -0700 fs/partitions/msdos: add support for large disks In order to use disks larger than 2TiB on Windows XP, it is necessary to use 4096-byte logical sectors in an MBR. Although the kernel storage and functions called from msdos.c used "sector_t" internally, msdos.c still used u32 variables, which results in the ability to handle XP-compatible large disks. This patch changes the internal variables to "sector_t". Daniel said: "In the near future, WD will be releasing products that need this patch". [hirofumi@mail.parknet.co.jp: tweaks and fix] Signed-off-by: Daniel Taylor Signed-off-by: OGAWA Hirofumi Cc: "H. Peter Anvin" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5c26f97ec4a17c650055c83cfc1f2ee6d8818eb Author: Michael Grzeschik Date: Tue Mar 23 13:35:49 2010 -0700 lxfb: set the H- and V-SYNC polarity of the flatpanel output Fixup for the flatpanel output. The geode_modedb attribute flags are used to set the SYNC polarity of the flatpanel. Without this patch our flatpanel registers stayed unconfigured, so we just saw garbage output. Signed-off-by: Michael Grzeschik Cc: Andres Salomon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fd2c20d964a8fb9861045f1022475c9d200d684 Author: Dan Carpenter Date: Tue Mar 23 13:35:42 2010 -0700 kcore: fix test for end of list "m" is never NULL here. We need a different test for the end of list condition. Signed-off-by: Dan Carpenter Acked-by: KAMEZAWA Hiroyuki Acked-by: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6b6ef8bb05af632889c5536513b9f4004961f73 Author: Lee Schermerhorn Date: Tue Mar 23 13:35:41 2010 -0700 mempolicy: fix get_mempolicy() for relative and static nodes Discovered while testing other mempolicy changes: get_mempolicy() does not handle static/relative mode flags correctly. Return the value that the user specified so that it can be restored via set_mempolicy() if desired. Signed-off-by: Lee Schermerhorn Cc: Hugh Dickins Cc: Ravikiran Thirumalai Cc: KOSAKI Motohiro Cc: Christoph Lameter Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7198f3c9b13c7aa1e5d9f7ff74c0ea303174feff Author: Adrian Hunter Date: Tue Mar 23 13:35:40 2010 -0700 mmc: fix incorrect interpretation of card type bits In the extended CSD register the CARD_TYPE is an 8-bit value of which the upper 6 bits were reserved in JEDEC specifications prior to version 4.4. In version 4.4 two of the reserved bits were designated for identifying support for the newly added High-Speed Dual Data Rate. Unfortunately the mmc_read_ext_csd() function required that the reserved bits be zero instead of ignoring them as it should. This patch makes mmc_read_ext_csd() ignore the CARD_TYPE bits that are reserved or not yet supported. It also stops the function jumping to the end as though an error occurred, when it is only warns that the CARD_TYPE bits (that it does interpret) are invalid. Signed-off-by: Adrian Hunter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f8b5ee33293d43ca360771b535dfae8c57259dc Author: Jeff Mahoney Date: Tue Mar 23 13:35:39 2010 -0700 reiserfs: properly honor read-only devices The reiserfs journal behaves inconsistently when determining whether to allow a mount of a read-only device. This is due to the use of the continue_replay variable to short circuit the journal scanning. If it's set, it's assumed that there are transactions to replay, but there may not be. If it's unset, it's assumed that there aren't any, and that may not be the case either. I've observed two failure cases: 1) Where a clean file system on a read-only device refuses to mount 2) Where a clean file system on a read-only device passes the optimization and then tries writing the journal header to update the latest mount id. The former is easily observable by using a freshly created file system on a read-only loopback device. This patch moves the check into journal_read_transaction, where it can bail out before it's about to replay a transaction. That way it can go through and skip transactions where appropriate, yet still refuse to mount a file system with outstanding transactions. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cb4aff0a77cc0e6bae9475d62205319e3ebbf3f Author: Jeff Mahoney Date: Tue Mar 23 13:35:38 2010 -0700 reiserfs: fix oops while creating privroot with selinux enabled Commit 57fe60df ("reiserfs: add atomic addition of selinux attributes during inode creation") contains a bug that will cause it to oops when mounting a file system that didn't previously contain extended attributes on a system using security.* xattrs. The issue is that while creating the privroot during mount reiserfs_security_init calls reiserfs_xattr_jcreate_nblocks which dereferences the xattr root. The xattr root doesn't exist, so we get an oops. Addresses http://bugzilla.kernel.org/show_bug.cgi?id=15309 Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 298359c5bf06c04258d7cf552426e198c47e83c1 Author: Michael S. Tsirkin Date: Tue Mar 23 13:35:37 2010 -0700 exit: fix oops in sync_mm_rss In 2.6.34-rc1, removing vhost_net module causes an oops in sync_mm_rss (called from do_exit) when workqueue is destroyed. This does not happen on net-next, or with vhost on top of to 2.6.33. The issue seems to be introduced by 34e55232e59f7b19050267a05ff1226e5cd122a5 ("mm: avoid false sharing of mm_counter) which added sync_mm_rss() that is passed task->mm, and dereferences it without checking. If task is a kernel thread, mm might be NULL. I think this might also happen e.g. with aio. This patch fixes the oops by calling sync_mm_rss when task->mm is set to NULL. I also added BUG_ON to detect any other cases where counters get incremented while mm is NULL. The oops I observed looks like this: BUG: unable to handle kernel NULL pointer dereference at 00000000000002a8 IP: [] sync_mm_rss+0x33/0x6f PGD 0 Oops: 0002 [#1] SMP last sysfs file: /sys/devices/system/cpu/cpu7/cache/index2/shared_cpu_map CPU 2 Modules linked in: vhost_net(-) tun bridge stp sunrpc ipv6 cpufreq_ondemand acpi_cpufreq freq_table kvm_intel kvm i5000_edac edac_core rtc_cmos bnx2 button i2c_i801 i2c_core rtc_core e1000e sg joydev ide_cd_mod serio_raw pcspkr rtc_lib cdrom virtio_net virtio_blk virtio_pci virtio_ring virtio af_packet e1000 shpchp aacraid uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode] Pid: 2046, comm: vhost Not tainted 2.6.34-rc1-vhost #25 System Planar/IBM System x3550 -[7978B3G]- RIP: 0010:[] [] sync_mm_rss+0x33/0x6f RSP: 0018:ffff8802379b7e60 EFLAGS: 00010202 RAX: 0000000000000008 RBX: ffff88023f2390c0 RCX: 0000000000000000 RDX: ffff88023f2396b0 RSI: 0000000000000000 RDI: ffff88023f2390c0 RBP: ffff8802379b7e60 R08: 0000000000000000 R09: 0000000000000000 R10: ffff88023aecfbc0 R11: 0000000000013240 R12: 0000000000000000 R13: ffffffff81051a6c R14: ffffe8ffffc0f540 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff880001e80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 00000000000002a8 CR3: 000000023af23000 CR4: 00000000000406e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process vhost (pid: 2046, threadinfo ffff8802379b6000, task ffff88023f2390c0) Stack: ffff8802379b7ee0 ffffffff81040687 ffffe8ffffc0f558 ffffffffa00a3e2d <0> 0000000000000000 ffff88023f2390c0 ffffffff81055817 ffff8802379b7e98 <0> ffff8802379b7e98 0000000100000286 ffff8802379b7ee0 ffff88023ad47d78 Call Trace: [] do_exit+0x147/0x6c4 [] ? handle_rx_net+0x0/0x17 [vhost_net] [] ? autoremove_wake_function+0x0/0x39 [] ? worker_thread+0x0/0x229 [] kthreadd+0x0/0xf2 [] kernel_thread_helper+0x4/0x10 [] ? kthread+0x0/0x87 [] ? kernel_thread_helper+0x0/0x10 Code: 00 8b 87 6c 02 00 00 85 c0 74 14 48 98 f0 48 01 86 a0 02 00 00 c7 87 6c 02 00 00 00 00 00 00 8b 87 70 02 00 00 85 c0 74 14 48 98 48 01 86 a8 02 00 00 c7 87 70 02 00 00 00 00 00 00 8b 87 74 RIP [] sync_mm_rss+0x33/0x6f RSP CR2: 00000000000002a8 ---[ end trace 41603ba922beddd2 ]--- Fixing recursive fault but reboot is needed! (note: handle_rx_net is a work item using workqueue in question). sync_mm_rss+0x33/0x6f gave me a hint. I also tried reverting 34e55232e59f7b19050267a05ff1226e5cd122a5 and the oops goes away. The module in question calls use_mm and later unuse_mm from a kernel thread. It is when this kernel thread is destroyed that the crash happens. Signed-off-by: Michael S. Tsirkin Andrea Arcangeli Reviewed-by: Rik van Riel Reviewed-by: KAMEZAWA Hiroyuki Reviewed-by: Minchan Kim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53feb29767c29c877f9d47dcfe14211b5b0f7ebd Author: Miao Xie Date: Tue Mar 23 13:35:35 2010 -0700 cpuset: alloc nodemask_t on the heap rather than the stack Signed-off-by: Miao Xie Acked-by: David Rientjes Cc: Nick Piggin Cc: Paul Menage Cc: Li Zefan Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ab116c9349ef52d6fbd2e2917a53f13194b048e Author: Miao Xie Date: Tue Mar 23 13:35:34 2010 -0700 cpuset: fix the problem that cpuset_mem_spread_node() returns an offline node cpuset_mem_spread_node() returns an offline node, and causes an oops. This patch fixes it by initializing task->mems_allowed to node_states[N_HIGH_MEMORY], and updating task->mems_allowed when doing memory hotplug. Signed-off-by: Miao Xie Acked-by: David Rientjes Reported-by: Nick Piggin Tested-by: Nick Piggin Cc: Paul Menage Cc: Li Zefan Cc: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5574169613b40b85d6f4c67208fa4846b897a0a1 Author: KOSAKI Motohiro Date: Tue Mar 23 13:35:33 2010 -0700 doc: add the documentation for mpol=local commit 3f226aa1c (mempolicy: support mpol=local tmpfs mount option) added new mpol=local mount option. but it didn't add a documentation. This patch does it. Signed-off-by: KOSAKI Motohiro Cc: Ravikiran Thirumalai Cc: Christoph Lameter Cc: Mel Gorman Acked-by: Lee Schermerhorn Cc: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 926f2ae04f183098cf9a30521776fb2759c8afeb Author: KOSAKI Motohiro Date: Tue Mar 23 13:35:32 2010 -0700 tmpfs: cleanup mpol_parse_str() mpol_parse_str() made lots 'err' variable related bug. Because it is ugly and reviewing unfriendly. This patch simplifies it. Signed-off-by: KOSAKI Motohiro Cc: Ravikiran Thirumalai Cc: Christoph Lameter Cc: Mel Gorman Acked-by: Lee Schermerhorn Cc: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12821f5fb942e795f8009ece14bde868893bd811 Author: KOSAKI Motohiro Date: Tue Mar 23 13:35:31 2010 -0700 tmpfs: handle MPOL_LOCAL mount option properly commit 71fe804b6d5 (mempolicy: use struct mempolicy pointer in shmem_sb_info) added mpol=local mount option. but its feature is broken since it was born. because such code always return 1 (i.e. mount failure). This patch fixes it. Signed-off-by: KOSAKI Motohiro Cc: Ravikiran Thirumalai Cc: Christoph Lameter Cc: Mel Gorman Acked-by: Lee Schermerhorn Cc: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d69b2e63e9172afb4d07c305601b79a55509ac4c Author: KOSAKI Motohiro Date: Tue Mar 23 13:35:30 2010 -0700 tmpfs: mpol=bind:0 don't cause mount error. Currently, following mount operation cause mount error. % mount -t tmpfs -ompol=bind:0 none /tmp Because commit 71fe804b6d5 (mempolicy: use struct mempolicy pointer in shmem_sb_info) corrupted MPOL_BIND parse code. This patch restore the needed one. Signed-off-by: KOSAKI Motohiro Cc: Ravikiran Thirumalai Cc: Christoph Lameter Cc: Mel Gorman Acked-by: Lee Schermerhorn Cc: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 413b43deab8377819aba1dbad2abf0c15d59b491 Author: Ravikiran G Thirumalai Date: Tue Mar 23 13:35:28 2010 -0700 tmpfs: fix oops on mounts with mpol=default Fix an 'oops' when a tmpfs mount point is mounted with the mpol=default mempolicy. Upon remounting a tmpfs mount point with 'mpol=default' option, the mount code crashed with a null pointer dereference. The initial problem report was on 2.6.27, but the problem exists in mainline 2.6.34-rc as well. On examining the code, we see that mpol_new returns NULL if default mempolicy was requested. This 'NULL' mempolicy is accessed to store the node mask resulting in oops. The following patch fixes it. Signed-off-by: Ravikiran Thirumalai Signed-off-by: KOSAKI Motohiro Cc: Christoph Lameter Cc: Mel Gorman Acked-by: Lee Schermerhorn Cc: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c363afe94b885d39ae2e93e41680282a470ad84 Author: Jani Nikula Date: Tue Mar 23 13:35:27 2010 -0700 c2port: fix device_create() return value check Use IS_ERR() instead of comparing to NULL. [akpm@linux-foundation.org: preserve the error code] Signed-off-by: Jani Nikula Cc: Vegard Nossum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb53237513bd1e090cce120efe12ede72c932b5f Author: Robin Holt Date: Tue Mar 23 13:35:26 2010 -0700 mm/ksm.c is doing an unneeded _notify in write_protect_page. ksm.c's write_protect_page implements a lockless means of verifying a page does not have any users of the page which are not accounted for via other kernel tracking means. It does this by removing the writable pte with TLB flushes, checking the page_count against the total known users, and then using set_pte_at_notify to make it a read-only entry. An unneeded mmu_notifier callout is made in the case where the known users does not match the page_count. In that event, we are inserting the identical pte and there is no need for the set_pte_at_notify, but rather the simpler set_pte_at suffices. Signed-off-by: Robin Holt Acked-by: Izik Eidus Acked-by: Andrea Arcangeli Acked-by: Hugh Dickins Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20072205fcdf7d85cd3101f1f11dfab333c5fd0c Author: Randy Dunlap Date: Tue Mar 23 13:35:24 2010 -0700 scripts/kernel-doc: fix fatal error on function prototype Fix a fatal error in scripts/kernel-doc when a function signature uses __init_or_module (just ignore that string): Error(drivers/base/platform.c:568): cannot understand prototype: 'struct platform_device * __init_or_module platform_create_bundle(struct platform_driver *driver, int (*probe)(struct platform_device *), struct resource *res, unsigned int n_res, const void *data, size_t size) ' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e07c2c7301bd2c82e55cf5cbb36f7b5bddeb8e9 Author: FUJITA Tomonori Date: Tue Mar 23 13:35:23 2010 -0700 Documentation: rename PCI/PCI-DMA-mapping.txt to DMA-API-HOWTO.txt This patch renames PCI/PCI-DMA-mapping.txt to DMA-API-HOWTO.txt. The commit 51e7364ef281e540371f084008732b13292622f0 "Documentation: rename PCI-DMA-mapping.txt to DMA-API-HOWTO.txt" was supposed to do this but it didn't. Signed-off-by: FUJITA Tomonori Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c87684d32e8f95715d53039dcd2d998dc63d1eb Author: David Härdeman Date: Tue Mar 23 13:35:22 2010 -0700 kfifo: fix KFIFO_INIT in include/linux/kfifo.h include/linux/kfifo.h first defines and then undefines __kfifo_initializer which is used by INIT_KFIFO (which is also a macro, so building a module which uses INIT_KFIFO will fail). Signed-off-by: David Härdeman Acked-by: Stefani Seibold Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fa30460ea502133a18a07b14452cd660906f16f Author: David Howells Date: Tue Mar 23 13:35:21 2010 -0700 nommu: fix an incorrect comment in the do_mmap_shared_file() Fix an incorrect comment in the do_mmap_shared_file(). If a mapping is requested MAP_SHARED, then a private copy cannot be made and still provide correct semantics. Signed-off-by: David Howells Reported-by: Dave Hudson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28b8e8d4e2e3e27aa911b5aee59d5194a878f53e Author: Joe Perches Date: Tue Mar 23 13:35:20 2010 -0700 MAINTAINERS: use tab not spaces for delimiter Keeps MAINTAINERS a bit more consistent. done via sed -r -i -e 's/^([A-Z]):[ \t]+/\1:\t/g' MAINTAINERS Signed-off-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06ca02b06fc26b3f940d223f319397a72a591ddf Author: Richard Röjfors Date: Tue Mar 23 13:35:20 2010 -0700 drivers/gpio/max730x.c: add license macro According to the header in max730x it is licensed GPLv2. Add a MODULE_LICENSE to avoid getting the kernel tainted. [w.sang@pengutronix.de: add MODULE_AUTHOR and MODULE_DESCRIPTION also] Signed-off-by: Richard Röjfors Signed-off-by: Wolfram Sang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ca9ea9a17a14c68611d3774d1e8a7ab6c7f4763 Author: Greg Thelen Date: Tue Mar 23 13:35:19 2010 -0700 memcg: fix typo in memcg documentation Update memory.txt to be more consistent: s/swapiness/swappiness/ Signed-off-by: Greg Thelen Acked-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a4df13d2420ae1998e5c7d26275f8714e84da30 Author: Wolfram Sang Date: Tue Mar 23 13:35:18 2010 -0700 get_maintainer: repair STDIN usage Commit 22dd5b0cba50a197aaa3bd2790a29ee2e8e4e372 (fix perlcritic warnings) broke the ability to handle STDIN because the three argument version of open() cannot handle standard IO-streams (which is mentioned in PerlBestPractices, too). Signed-off-by: Wolfram Sang Cc: Stephen Hemminger Acked-by: Joe Perches Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d53661d26aa779dcd74f8a1c5a94e181cc101d8 Author: Mike Frysinger Date: Tue Mar 23 13:35:17 2010 -0700 blackfin: enable DEBUG_SECTION_MISMATCH We see only one section mismatch now after thousands of randconfigs, and a bug has been filed about that one. Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 091e635e6735fa4496c4a18e7e967b58e961303c Author: Russell King Date: Tue Mar 23 13:35:16 2010 -0700 Documentation/volatile-considered-harmful.txt: correct cpu_relax() documentation cpu_relax() is documented in volatile-considered-harmful.txt to be a memory barrier. However, everyone with the exception of Blackfin and possibly ia64 defines cpu_relax() to be a compiler barrier. Make the documentation reflect the general concensus. Linus sayeth: : I don't think it was ever the intention that it would be seen as anything : but a compiler barrier, although it is obviously implied that it might : well perform some per-architecture actions that have "memory barrier-like" : semantics. : : After all, the whole and only point of the "cpu_relax()" thing is to tell : the CPU that we're busy-looping on some event. : : And that "event" might be (and often is) about reading the same memory : location over and over until it changes to what we want it to be. So it's : quite possible that on various architectures the "cpu_relax()" could be : about making sure that such a tight loop on loads doesn't starve cache : transactions, for example - and as such look a bit like a memory barrier : from a CPU standpoint. : : But it's not meant to have any kind of architectural memory ordering : semantics as far as the kernel is concerned - those must come from other : sources. Signed-off-by: Russell King Cc: Acked-by: Linus Torvalds Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7731d9a5d415414aa6903709453786d4a5ff57e4 Author: Borislav Petkov Date: Tue Mar 23 13:35:15 2010 -0700 fs/binfmt_aout.c: fix pointer warnings fs/binfmt_aout.c: In function `aout_core_dump': fs/binfmt_aout.c:125: warning: passing argument 2 of `dump_write' makes pointer from integer without a cast include/linux/coredump.h:12: note: expected `const void *' but argument is of type `long unsigned int' fs/binfmt_aout.c:132: warning: passing argument 2 of `dump_write' makes pointer from integer without a cast include/linux/coredump.h:12: note: expected `const void *' but argument is of type `long unsigned int' due to dump_write() expecting a user void *. Fold casts into the START_DATA/START_STACK macros and shut up the warnings. Signed-off-by: Borislav Petkov Cc: Daisuke HATAYAMA Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef5da59f12602815baa8fad98241b77dedea3b31 Author: Randy Dunlap Date: Tue Mar 23 13:35:14 2010 -0700 scripts/kernel-doc: handle struct member __aligned scripts/kernel-doc erroneously says: Warning(include/linux/skbuff.h:410): Excess struct/union/enum/typedef member 'cb' description in 'sk_buff' on this line in struct sk_buff: char cb[48] __aligned(8); due to treating the last field as the struct member name, so teach kernel-doc to ignore __aligned(x) in structs. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05731b979476969d4d1cbbcb535fc0f5ea90dba7 Author: Uwe Kleine-König Date: Tue Mar 23 13:35:13 2010 -0700 rtc/mc13783: fix use after free bug This was introduced by v2.6.34-rc1~38: 4c014e8 (rtc/mc13783: protect rtc {,un}registration by mc13783 lock) Signed-off-by: Uwe Kleine-König Reported-by: Dan Carpenter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7bbcdf3747e3919c31cfa87853c69d178bce548 Author: Dan Carpenter Date: Tue Mar 23 13:35:12 2010 -0700 memcontrol: fix potential null deref There was a potential null deref introduced in c62b1a3b31b5 ("memcg: use generic percpu instead of private implementation"). Signed-off-by: Dan Carpenter Acked-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d34706f42f9b8c15185423d9af98d37ba21d011 Author: Li Zefan Date: Tue Mar 23 13:35:12 2010 -0700 cgroups: remove duplicate include commit e6a1105b ("cgroups: subsystem module loading interface") and commit c50cc752 ("sched, cgroups: Fix module export") result in duplicate including of module.h Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cfb80a73b5a52fb19d8b0611203e4dd58e8e9a2 Author: Daisuke Nishimura Date: Tue Mar 23 13:35:11 2010 -0700 memcg: disable move charge in no mmu case In commit 02491447 ("memcg: move charges of anonymous swap"), I tried to disable move charge feature in no mmu case by enclosing all the related functions with "#ifdef CONFIG_MMU", but the commit places these ifdefs in wrong place. (it seems that it's mangled while handling some fixes...) This patch fixes it up. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe43d6d9cf59d8f8cbfdcde2018de13ffd1285c7 Author: Stefan Richter Date: Fri Mar 19 00:39:07 2010 +0100 firewire: core: align driver match with modalias The driver match strategy was: - Match vendor/model/specifier/version of the unit directory. - If that was a miss, match vendor from the root directory and model/specifier/version of the unit directory. This was inconsistent with how the modalias string was constructed until recently (take vendor/model from root directory and specifier/ version from unit directory). It was also inconsistent with how it is done since the parent commit: - Use vendor/model/specifier/version of the unit directory if possible, - fall back to one or more of vendor/model/specifier/version from the root directory depending on which ones are not present at the unit directory. Fix this inconsistency by sharing the ROM scanner function between modalias printer function and driver match function. Signed-off-by: Stefan Richter commit 5ae73518cb39dd81e641dfa7ce20751c853579e0 Author: Stefan Richter Date: Fri Mar 19 00:38:29 2010 +0100 firewire: core: fix Model_ID in modalias The modalias string of devices that represent units on a FireWire node did not show Module_ID entries within unit directories. This was because firewire-core searched only the root directory of the configuration ROM for a Model_ID entry. We now search first the root directory, then the unit directory. IOW honor a unit directory's Model_ID if present, otherwise fall back to the root directory's model ID (if present). Furthermore, apply the same change to Vendor_ID. This had the same issue but it was less apparent because most devices provide Vendor_ID only in the root directory. And finally, also use this strategy for the remaining two IDs in the modalias, Specifier_ID and Version. It does not actually make sense to look for them elsewhere than in the unit directory because they are mandatory there. However, a uniform search order simplifies the implementation and has no adverse affect in practice. Side notes: - The older counterpart of this, nodemgr.c of ieee1394, looked for Vendor_ID first in the root directory, then in the unit directory, and for Model_ID only in the unit directory. - There is a single mainline driver which requires Vendor_ID and Model_ID --- the firedtv driver. This one worked because FireDTVs provide Vendor_ID in the root directory and Model_ID identically in root directory and unit directory. - Apart from firedtv, there are currently no drivers known to me (including userspace drivers) that look at the Vendor_ID or Model_ID of the modalias. Reported-by: Maciej Żenczykowski Signed-off-by: Stefan Richter commit 9a127aad4d60968fba96622008ea0d243688f2b0 Author: Dan Carpenter Date: Wed Mar 24 01:47:00 2010 +0000 af_key: return error if pfkey_xfrm_policy2msg_prep() fails The original code saved the error value but just returned 0 in the end. Signed-off-by: Dan Carpenter Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit a5ee4eb75413c145334c30e43f1af9875dad6fd7 Author: Clemens Ladisch Date: Mon Mar 22 09:52:16 2010 +0100 PCI quirk: RS780/RS880: work around missing MSI initialization AMD says in section 2.5.4 (GFX MSI Enable) of #43291 (AMD 780G Family Register Programming Requirements): The SBIOS must enable internal graphics MSI capability in GCCFG by setting the following: NBCFG.NB_CNTL.STRAP_MSI_ENABLE='1' Quite a few BIOS writers misinterpret this sentence and think that enabling MSI is an optional feature. However, clearing that bit just prevents delivery of MSI messages but does not remove the MSI PCI capabilities registers, and so leaves these devices unusable for any driver that attempts to use MSI. Setting that bit is not possible after the BIOS has locked down the configuration registers, so we have to manually disable MSI for the affected devices. This fixes the codec communication errors in the HDA driver when accessing the HDMI audio device, and allows us to get rid of the overcautious quirk in radeon_irq_kms.c. Signed-off-by: Clemens Ladisch Tested-by: Alex Deucher Cc: Signed-off-by: Jesse Barnes commit ca8463926306580c25e62eb901a206530d480cae Author: Tim Yamin Date: Fri Mar 19 14:22:58 2010 -0700 PCI quirk: only apply CX700 PCI bus parking quirk if external VT6212L is present Apply the CX700 quirk only when an external VT6212L is present (which is the case for the errant hardware the quirk was written for), don't touch the settings otherwise -- Hauppage PVR-500 tuners need PCI Bus Parking in order to work and when that's turned on everything seems to behave fine. I guess the underlying problem is a combination of an external VT6212L and the CX700 rather than the CX700's PCI being broken completely for all cases... Reported-by: Jeroen Roos Signed-off-by: Tim Yamin Signed-off-by: Jesse Barnes commit c519a5a7dab2d8e9a114f003e2d369bcf8e913f3 Author: Bjorn Helgaas Date: Fri Mar 19 14:56:27 2010 -0600 PCI: complain about devices that seem to be broken If we can tell that a device isn't working correctly, we should tell the user to make debugging easier. Otherwise, it can take a lot of work to determine whether the problem is in the driver, PCMCIA, PCI, hardware, etc., as in http://bugzilla.kernel.org/show_bug.cgi?id=12006 Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit e1944c6b0fba80a7837c1cbc47dfbf46e1274a4b Author: Bjorn Helgaas Date: Tue Mar 16 15:53:08 2010 -0600 PCI: print resources consistently with %pR No functional change; just print resources in the conventional style. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 7b8ff6da028232aadae6bcc7c7406c8966d0b3c4 Author: Bjorn Helgaas Date: Tue Mar 16 15:53:03 2010 -0600 PCI: make disabled window printk style match the enabled ones No functional change; this just tweaks the changes from 349e1823a405 so the new printks for disabled PCI-to-PCI bridge windows match the ones for the enabled windows. Signed-off-by: Bjorn Helgaas CC: Yinghai Lu Signed-off-by: Jesse Barnes commit 99ddd552fef7e6e3b7dc76ba8fee9ea5869d1e14 Author: Bjorn Helgaas Date: Tue Mar 16 15:52:58 2010 -0600 PCI: break out primary/secondary/subordinate for readability No functional change; just add names for the primary/secondary/subordinate bus numbers read from config space rather than repeatedly masking/shifting. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 966f3a7570447c5025d67a618d408e68a3ae3167 Author: Bjorn Helgaas Date: Thu Mar 11 17:01:19 2010 -0700 PCI: for address space collisions, show conflicting resource With request_resource_conflict(), we can learn what the actual conflict is, so print that info for debugging purposes. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit c26f91a3df1999ec1b3298372d73f90cbab81106 Author: Jiri Kosina Date: Mon Mar 22 09:32:26 2010 +0100 x86: Remove excessive early_res debug output Commit 08677214e318297 ("x86: Make 64 bit use early_res instead of bootmem before slab") introduced early_res replacement for bootmem, but left code in __free_pages_memory() which dumps all the ranges that are beeing freed, without any additional information, causing some noise in dmesg during bootup. Just remove printing of the ranges, that doesn't provide anything useful anyway. While at it, remove other commented-out KERN_DEBUG messages in the NO_BOOTMEM code as well. Signed-off-by: Jiri Kosina Found-OK-by: Andrew Morton Cc: Johannes Weiner Cc: Yinghai Lu LKML-Reference: Signed-off-by: Ingo Molnar commit 03e6d819c2cb2cc8ce5642669a0a7c72336ee7a2 Author: Alexander Duyck Date: Tue Mar 23 20:40:50 2010 +0000 skbuff: remove unused dma_head & dma_maps fields The dma map fields in the skb_shared_info structure no longer has any users and can be dropped since it is making the skb_shared_info unecessarily larger. Running slabtop show that we were using 4K slabs for the skb->head on x86_64 w/ an allocation size of 1522. It turns out that the dma_head and dma_maps array made skb_shared large enough that we had crossed over the 2k boundary with standard frames and as such we were using 4k blocks of memory for all skbs. Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit f6b9f4b263f3178fc0f23f0e67d04386528cc727 Author: Vasu Dev Date: Tue Mar 23 14:42:05 2010 +0000 vlan: updates vlan real_num_tx_queues Updates real_num_tx_queues in case underlying real device has changed real_num_tx_queues. -v2 As per Eric Dumazet comment:- -- adds BUG_ON to catch case of real_num_tx_queues exceeding num_tx_queues. -- created this self contained patch to just update real_num_tx_queues. Signed-off-by: Vasu Dev Signed-off-by: Jeff Kirsher Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 669d3e0babb40018dd6e78f4093c13a2eac73866 Author: Vasu Dev Date: Tue Mar 23 14:41:45 2010 +0000 vlan: adds vlan_dev_select_queue This is required to correctly select vlan tx queue for a driver supporting multi tx queue with ndo_select_queue implemented since currently selected vlan tx queue is unaligned to selected queue by real net_devce ndo_select_queue. Unaligned vlan tx queue selection causes thrash with higher vlan tx lock contention for least fcoe traffic and wrong socket tx queue_mapping for ixgbe having ndo_select_queue implemented. -v2 As per Eric Dumazet comments, mirrored vlan net_device_ops to have them with and without vlan_dev_select_queue and then select according to real dev ndo_select_queue present or not for a vlan net_device. This is to completely skip vlan_dev_select_queue calling for real net_device not supporting ndo_select_queue. Signed-off-by: Vasu Dev Signed-off-by: Jeff Kirsher Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit a8462bde78fdb77c8ede61e1af99617905a78ccf Author: Dan Carpenter Date: Wed Mar 24 14:58:34 2010 +0300 ASoC: wm8994: playback => capture Sparse caught that initialize "playback" two times instead of initializing "capture". Signed-off-by: Dan Carpenter Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 0f5ed04cb365ce0117b0588c4d9ed89f2623650b Author: Darrick J. Wong Date: Wed Mar 24 14:38:39 2010 +0100 i2c-scmi: Provide module aliases for automatic loading Provide module aliases for automatic loading. Signed-off-by: Darrick J. Wong Signed-off-by: Jean Delvare commit e82e15ddd322e4c5847536f044a40812b7ec12bd Author: Crane Cai Date: Wed Mar 24 14:38:38 2010 +0100 i2c-scmi: Support IBM SMBus CMI devices *) add a new HID for IBM SMBus CMI devices *) add methods for IBM SMBus CMI devices *) hook different HID with different control methods set *) minor tweaks as suggested by Jean Delvare Slightly modified by Darrick to use #define'd IBM SMBUS HID from Darrick's ACPI scan quirk patch. Signed-off-by: Crane Cai Signed-off-by: Darrick J. Wong Signed-off-by: Jean Delvare commit 222e82ac9ffbd3b80ab1b0b1d2c8c60ddb47d69d Author: Darrick J. Wong Date: Wed Mar 24 14:38:37 2010 +0100 acpi: Support IBM SMBus CMI devices On some old IBM workstations and desktop computers, the BIOS presents in the DSDT an SMBus object that is missing the HID identifier that the i2c-scmi driver looks for. Modify the ACPI device scan code to insert the missing HID if it finds an IBM system with such an object. Affected machines: IntelliStation Z20/Z30. Note that the i2c-i801 driver no longer works on these machines because of ACPI resource conflicts. Signed-off-by: Darrick J. Wong Signed-off-by: Jean Delvare commit 860652bfb890bd861c999ec39fcffabe5b712f85 Author: Henrik Kretzschmar Date: Wed Mar 24 12:59:20 2010 +0100 genirq: Move two IRQ functions from .init.text to .text Both functions should not be marked as __init, since they be called from modules after the init section is freed. Signed-off-by: Henrik Kretzschmar Cc: Yinghai Lu Cc: Peter Zijlstra Cc: Jiri Kosina LKML-Reference: <1269431961-5731-1-git-send-email-henne@nachtwindheim.de> Signed-off-by: Thomas Gleixner commit cc8c3b78433222e5dbc1fdfcfdde29e1743f181a Author: Thomas Gleixner Date: Tue Mar 23 22:40:53 2010 +0100 genirq: Protect access to irq_desc->action in can_request_irq() can_request_irq() accesses and dereferences irq_desc->action w/o holding irq_desc->lock. So action can be freed on another CPU before it's dereferenced. Unlikely, but ... Protect it with desc->lock. Signed-off-by: Thomas Gleixner commit 06c0dd72aea3985d0ea036f771ebb1d1083bf69f Author: Martin Schwidefsky Date: Wed Mar 24 11:49:57 2010 +0100 [S390] fix boot failures with compressed kernels Fix two bugs with the kernel image compression: 1) reset the bss section of the compressed vmlinux 2) clear the high half of the registers for 64 bit early enough for the decompression step Signed-off-by: Martin Schwidefsky commit 7b26d82f5ea7de5667f87bb5ac6570111d7bff9f Author: Hans-Joachim Picht Date: Wed Mar 24 11:49:56 2010 +0100 [S390] fix broken proc interface for sclp_async This patch now allows the use of the proc interface to either activate or deactivate call home on panic. e.g. echo 1 > /proc/sys/kernel/callhome strict_strtoul() requires _either_'\n\0' _or_ '\0' termination. This was missing and therefore the interface did not recognise valid input. Signed-off-by: Hans-Joachim Picht Signed-off-by: Martin Schwidefsky commit 9c95258c0d5911ae263bf50d854e402ce973ab32 Author: Heiko Carstens Date: Wed Mar 24 11:49:55 2010 +0100 [S390] sclp: avoid 64 bit division Avoid 64 bit division to fix this compile error on 32 bit: drivers/s390/char/sclp_cmd.c:711: undefined reference to `__udivdi3' Also move the whole arch_get_memory_phys_device function to the memory hotplug related functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b8fde7224d771ce55bfd67cb57d7c4c8f430972f Author: Stefan Haberland Date: Wed Mar 24 11:49:54 2010 +0100 [S390] dasd: check tsb validity Check tsb validity before the tcw_get_tsb function is called. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 4a31ba57cae853ce1ac00a22c0f5d80bd36685ed Author: Stefan Weinhuber Date: Wed Mar 24 11:49:53 2010 +0100 [S390] dasd: fix alignment of transport mode recovery TCW All TCWs need to be aligned on a 64 byte boundary or the I/O will be rejected. For recovery requests we create fresh TCWs, so we need to do the proper alignment here as well. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 1bff779285f89cd0b62955c20cca70ada4074236 Author: Christian Borntraeger Date: Wed Mar 24 11:49:52 2010 +0100 [S390] system.h: Fix compile error for 1 and 2 byte cmpxchg commit 024914477e15ef8b17f271ec47f1bb8a589f0806 "memcg: move charges of anonymous swap" revealed that the 1 byte and 2 byte cmpxchg is currently broken: arch/s390/include/asm/system.h: Assembler messages: arch/s390/include/asm/system.h:241: Error: junk at end of line: `(%r5)' make[1]: *** [mm/page_cgroup.o] Error 1 make[1]: *** Waiting for unfinished jobs.... It turned out that commit 987bcdacb18a3adc2a48d85c9b005069c2f4dd7b ([S390] use inline assembly contraints available with gcc 3.3.3) broke the inline assembly. The or operands are now in constraint 3 and 4 instead of 2 and 3. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit a08786568a7e334d8a07a7bb8f4fafa3f7afb89c Author: Heiko Carstens Date: Wed Mar 24 11:49:51 2010 +0100 [S390] smp: fix lowcore allocation The intermediate lowcore for CONFIG_SMP is allocated using a call to __alloc_bootmem() with a goal of 0. That however doesn't guarantee that the allocated piece of memory is below 2GB. Instead we should call __alloc_bootmem_low(). Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 92fe31329cb3a2b02f1c7616965872d6a34bcf08 Author: Michael Holzheu Date: Wed Mar 24 11:49:50 2010 +0100 [S390] zcore: CPU registers are not saved under LPAR To save the registers for all CPUs a sigp "store status" is done that stores the registers to address absolute zero. To access storage at absolute zero, normally the address of the prefix register of the accessing CPU has to be used. This does not work when large pages are active (currently only under LPAR). In order to fix that problem, instead of memcpy memcpy_real is used, which switches to real mode where prefixing works. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit d7646f7632549124fe70fec8af834c7c1246f365 Author: Dominik Brodowski Date: Mon Mar 15 21:46:34 2010 +0100 pcmcia: use dev_pm_ops for class pcmcia_socket_class Instead of requiring PCMCIA socket drivers to call various functions during their (bus) resume and suspend functions, register an own dev_pm_ops for this class. This fixes several suspend/resume bugs seen on db1xxx-ss, and probably on some other socket drivers, too. With regard to the asymmetry with only _noirq suspend, but split up resume, please see bug 14334 and commit 9905d1b411946fb3 . Signed-off-by: Dominik Brodowski commit e7176a37d436a214f6a7727ea7986c654cbee8f0 Author: Dominik Brodowski Date: Mon Mar 15 21:43:11 2010 +0100 power: support _noirq actions on device types and classes The new-style dev_pm_ops provide callbacks for both IRQs enabled and disabled. However, the _noirq variants were only called for buses registered with a device, not for classes and types. In order to properly use dev_pm_ops in class pcmcia_socket_class, support _noirq actions also on classes and types. Signed-off-by: Dominik Brodowski Acked-by: Rafael J. Wysocki commit 7d7ba8d31eb293016bc91a5c8fc36b21fd917265 Author: Dominik Brodowski Date: Wed Mar 24 10:49:14 2010 +0100 pcmcia: allow for four multifunction subdevices (again) Commit aa584ca4 broke what 6cf5be51 had already fixed: there may be four multifunction devices, but just two pseudo-multifunction devices per PCMCIA card. Signed-off-by: Dominik Brodowski commit 8a6d9b149f105f8bdfa8e42dd9753e45a1887a16 Author: Ferenc Wagner Date: Wed Mar 24 08:20:03 2010 +0100 i2o: Remove the dangerous kobj_to_i2o_device macro This macro worked only when applied to variables named 'kobj'. While this could have been fixed by simply renaming the macro argument, a more type-safe replacement by an inline function would be preferred. However, nobody uses this macro, so it's simpler to just remove it. Signed-off-by: Ferenc Wagner Signed-off-by: Jens Axboe commit 12180024cc22c0a67642ffa10e7069796e32969d Merge: b72f134 bae84e7 Author: Takashi Iwai Date: Wed Mar 24 08:03:38 2010 +0100 Merge branch 'fix/hda' into for-linus commit b72f1343d63f5bad966caf6013a943f4e1db9c72 Merge: 1c58306 3cc4e53 Author: Takashi Iwai Date: Wed Mar 24 08:03:34 2010 +0100 Merge branch 'fix/asoc' into for-linus commit 1c583063a5c769fe2ec604752e383972c69e6d9b Author: Clemens Ladisch Date: Wed Mar 24 07:10:54 2010 +0100 ALSA: cmipci: work around invalid PCM pointer When the CMI8738 FRAME2 register is read, the chip sometimes (probably when wrapping around) returns an invalid value that would be outside the programmed DMA buffer. This leads to an inconsistent PCM pointer that is likely to result in an underrun. To work around this, read the register multiple times until we get a valid value; the error state seems to be very short-lived. Signed-off-by: Clemens Ladisch Reported-and-tested-by: Matija Nalis Cc: Signed-off-by: Takashi Iwai commit 31b24b955c3ebbb6f3008a6374e61cf7c05a193c Author: Alexander Duyck Date: Tue Mar 23 18:35:18 2010 +0000 igb: only use vlan_gro_receive if vlans are registered This change makes it so that vlan_gro_receive is only used if vlans have been registered to the adapter structure. Previously we were just sending all vlan tagged frames in via this function but this results in a null pointer dereference when vlans are not registered. [ This fixes bugzilla entry 15582 -Eric Dumazet] Signed-off-by: Alexander Duyck Signed-off-by: Jeff Kirsher Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit d07f3e375f608e52a1f8958fbde105bb27b7629a Author: Emil Tantilov Date: Tue Mar 23 18:34:57 2010 +0000 igb: do not modify tx_queue_len on link speed change Previously the driver tweaked txqueuelen to avoid false Tx hang reports seen at half duplex. This had the effect of overriding user set values on link change/reset. Testing shows that adjusting only the timeout factor is sufficient to prevent Tx hang reports at half duplex. Based on e1000e patch by Franco Fichtner Signed-off-by: Emil Tantilov Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fa3d9a6d55014b5bce5575aeab1cf711cff748ab Author: Mitch Williams Date: Tue Mar 23 18:34:38 2010 +0000 igb: count Rx FIFO errors correctly Don't aggregate rx_no_buffer_count into rx_fifo_errors. RNBC counts packets that get queued temporarily in the adapter's FIFO. These packets are not dropped and are not errors. The correct counter is rx_missed_errors (MPC). Signed-off-by: Mitch Williams Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1bf1e347ef254ed8a13e7971a30e1bf3983da3d1 Author: Michael Chan Date: Tue Mar 23 13:13:12 2010 +0000 bnx2: Use proper handler during netpoll. Netpoll needs to call the proper handler depending on the IRQ mode and the vector. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 4327ba435a56ada13eedf3eb332e583c7a0586a9 Author: Benjamin Li Date: Tue Mar 23 13:13:11 2010 +0000 bnx2: Fix netpoll crash. The bnx2 driver calls netif_napi_add() for all the NAPI structs during ->probe() time but not all of them will be used if we're not in MSI-X mode. This creates a problem for netpoll since it will poll all the NAPI structs in the dev_list whether or not they are scheduled, resulting in a crash when we access structure fields not initialized for that vector. We fix it by moving the netif_napi_add() call to ->open() after the number of IRQ vectors has been determined. Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c4caae25187ff3f5e837c6f04eb1acc2723c72d3 Author: Eric Sandeen Date: Tue Mar 23 21:32:00 2010 -0400 ext4: Fixed inode allocator to correctly track a flex_bg's used_dirs When used_dirs was introduced for the flex_groups struct, it looks like the accounting was not put into place properly, in some places manipulating free_inodes rather than used_dirs. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" commit ba69f9ab7df844125898104e854e063b47c26637 Author: Jan Kara Date: Wed Mar 24 20:18:37 2010 -0400 ext4: Don't use delayed allocation by default when used instead of ext3 When ext4 driver is used to mount a filesystem instead of the ext3 file system driver (through CONFIG_EXT4_USE_FOR_EXT23), do not enable delayed allocation by default since some ext3 users and application writers have developed unfortunate expectations about the safety of writing files on systems subject to sudden and violent death without using fsync(). Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 37f328eb60a94779dd020084209fc4db2d6444a0 Author: Theodore Ts'o Date: Wed Mar 24 20:06:41 2010 -0400 ext4: Fix spelling of CONTIG_FS_EXT3 to CONFIG_FS_EXT3 Oops. (Blush.) Thanks to Sedat Dilek for pointing this out. Signed-off-by: "Theodore Ts'o" commit 14741472a05245ed5778aa0aec055e1f920b6ef8 Author: Srinivas Eeda Date: Mon Mar 22 16:50:47 2010 -0700 ocfs2: Fix a race in o2dlm lockres mastery In o2dlm, the master of a lock resource keeps a map of all interested nodes. This prevents the master from purging the resource before an interested node can create a lock. A race between the mastery thread and the mastery handler allowed an interested node to discover who the master is without informing the master directly. This is easily fixed by holding the dlm spinlock a little longer in the mastery handler. Signed-off-by: Srinivas Eeda Signed-off-by: Joel Becker commit b54c2ca475fa7d7450a45b6d778dae9dbe0bcbfe Author: Tristan Ye Date: Fri Mar 19 09:21:10 2010 +0800 Ocfs2: Handle deletion of reflinked oprhan inodes correctly. The rule is that all inodes in the orphan dir have ORPHANED_FL, otherwise we treated it as an ERROR. This rule works well except for some rare cases of reflink operation: http://oss.oracle.com/bugzilla/show_bug.cgi?id=1215 The problem is caused by how reflink and our orphan_scan thread interact. * The orphan scan pulls the orphans into a queue first, then runs the queue at a later time. We only hold the orphan_dir's lock during scanning. * Reflink create a oprhaned target in orphan_dir as its first step. It removes the target and clears the flag as the final step. These two steps take the orphan_dir's lock, but it is not held for the duration. Based on the above semantics, a reflink inode can be moved out of the orphan dir and have its ORPHANED_FL cleared before the queue of orphans is run. This leads to a ERROR in ocfs2_query_wipde_inode(). This patch teaches ocfs2_query_wipe_inode() to detect previously orphaned reflink targets. If a reflink fails or a crash occurs during the relfink operation, the inode will retain ORPHANED_FL and will be properly wiped. Signed-off-by: Tristan Ye Signed-off-by: Joel Becker commit 3939fda4b389993caf8741df5739b3e49f33a263 Author: Tristan Ye Date: Fri Mar 19 09:21:09 2010 +0800 Ocfs2: Journaling i_flags and i_orphaned_slot when adding inode to orphan dir. Currently, some callers were missing to journal the dirty inode after adding it to orphan dir. Now we're going to journal such modifications within the ocfs2_orphan_add() itself, It's safe to do so, though some existing caller may duplicate this, and it makes the logic look more straightforward anyway. Signed-off-by: Tristan Ye Signed-off-by: Joel Becker commit b4414eea0e7b9c134262c801a87e338bf675962c Author: Mark Fasheh Date: Thu Mar 11 18:31:09 2010 -0800 ocfs2: Clear undo bits when local alloc is freed When the local alloc file changes windows, unused bits are freed back to the global bitmap. By defnition, those bits can not be in use by any file. Also, the local alloc will never have been able to allocate those bits if they were part of a previous truncate. Therefore it makes sense that we should clear unused local alloc bits in the undo buffer so that they can be used immediatly. [ Modified to call it ocfs2_release_clusters() -- Joel ] Signed-off-by: Mark Fasheh Signed-off-by: Joel Becker commit 66f1207bce10fd80ee8ce99b67d617644612f05e Author: Bjorn Helgaas Date: Thu Mar 11 17:01:09 2010 -0700 resources: add interfaces that return conflict information request_resource() and insert_resource() only return success or failure, which no information about what existing resource conflicted with the proposed new reservation. This patch adds request_resource_conflict() and insert_resource_conflict(), which return the conflicting resource. Callers may use this for better error messages or to adjust the new resource and retry the request. Signed-off-by: Bjorn Helgaas Signed-off-by: Jesse Barnes commit 4881a4f89a95cc5fef6d32953954bcc3443eefd5 Author: Jens Rottmann Date: Tue Mar 23 04:23:50 2010 +0000 ksz884x: fix return value of netdev_set_eeprom ksz884x: fix return value of netdev_set_eeprom netdev_set_eeprom() confused ethtool by just returning 1 on error instead of a proper -EINVAL. Signed-off-by: Jens Rottmann Signed-off-by: David S. Miller commit 8e039d84b323c4503c4d56863faa47c783660826 Author: Ben Blum Date: Tue Mar 23 05:24:03 2010 +0000 cgroups: net_cls as module Allows the net_cls cgroup subsystem to be compiled as a module This patch modifies net/sched/cls_cgroup.c to allow the net_cls subsystem to be optionally compiled as a module instead of builtin. The cgroup_subsys struct is moved around a bit to allow the subsys_id to be either declared as a compile-time constant by the cgroup_subsys.h include in cgroup.h, or, if it's a module, initialized within the struct by cgroup_load_subsys. Signed-off-by: Ben Blum Acked-by: Li Zefan Cc: Paul Menage Cc: "David S. Miller" Cc: KAMEZAWA Hiroyuki Cc: Lai Jiangshan Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6e6c822868f113dabe3c33bdd91e883cc28fa11b Author: Eric Anholt Date: Wed Mar 17 13:48:06 2010 -0700 drm/i915: Stop trying to use ACPI lid status to determine LVDS connection. I've been getting more and more quirk reports about this. It seems clear at this point that other OSes are not using this for determining whether the integrated panel should be turned on, and it is not reliable for doing so. Better to light up an unintended panel than to not light up the only usable output on the system. Signed-off-by: Eric Anholt Acked-by: Jesse Barnes commit 9713ab28ec92d0c44b2ac5765dfc26c619d9cadd Author: Dominik Brodowski Date: Tue Mar 23 16:05:00 2010 +0100 pcmcia: do not use ioports < 0x100 on x86 On x86 systems using ACPI _CRS information -- now the default for post-2008 systems -- the PCI root bus no longer pretends to be offering the root ioport_resource. To avoid accidentally hitting some platform / system device, use only I/O ports >= 0x100 for PCMCIA devices on x86. Reported-by: Komuro CC: Bjorn Helgaas Signed-off-by: Dominik Brodowski commit bb456928913fda2b360376afb13d9a0bc72c761c Author: Christian Lamparter Date: Mon Mar 8 15:26:35 2010 -0800 [ARM] Orion5x: replace KEY_WLAN with KEY_WPS_BUTTON "Input: add KEY_WPS_BUTTON definition" introduced a generic keycode for WPS input events. Signed-off-by: Christian Lamparter Signed-off-by: Nicolas Pitre commit 9705c3961e73054b656720884f0da0a5a438fbae Author: Christian Lamparter Date: Mon Mar 8 15:25:29 2010 -0800 [ARM] Kirkwood: WPS button keycode mapping Commit "Input: add KEY_WPS_BUTTON definition" added a generic keycode for WPS button. Let's use it, instead of "F1" mapping. Signed-off-by: Christian Lamparter Signed-off-by: Nicolas Pitre commit f4e60e6b303bc46cdc477d3174dbf9cb5dd013aa Author: Tyler Hicks Date: Thu Feb 11 00:02:32 2010 -0600 eCryptfs: Strip metadata in xattr flag in encrypted view The ecryptfs_encrypted_view mount option provides a unified way of viewing encrypted eCryptfs files. If the metadata is stored in a xattr, the metadata is moved to the file header when the file is read inside the eCryptfs mount. Because of this, we should strip the ECRYPTFS_METADATA_IN_XATTR flag from the header's flag section. This allows eCryptfs to treat the file as an eCryptfs file with a header at the front. Reviewed-by: Eric Sandeen Signed-off-by: Tyler Hicks commit 1984c23f9e0cdb432d90a85ecf88b424d36878fc Author: Tyler Hicks Date: Wed Feb 10 23:17:44 2010 -0600 eCryptfs: Clear buffer before reading in metadata xattr We initially read in the first PAGE_CACHE_SIZE of a file to if the eCryptfs header marker can be found. If it isn't found and ecryptfs_xattr_metadata was given as a mount option, then the user.ecryptfs xattr is read into the same buffer. Since the data from the first page of the file wasn't cleared, it is possible that we think we've found a second tag 3 or tag 1 packet and then error out after the packet contents aren't as expected. This patch clears the buffer before filling it with metadata from the user.ecryptfs xattr. Reviewed-by: Eric Sandeen Signed-off-by: Tyler Hicks commit fa3ef1cb4e6e9958a9bfaa977c107c515907f102 Author: Tyler Hicks Date: Thu Feb 11 05:09:14 2010 -0600 eCryptfs: Rename ecryptfs_crypt_stat.num_header_bytes_at_front This patch renames the num_header_bytes_at_front variable to metadata_size since it now contains the max size of the metadata. Reviewed-by: Eric Sandeen Signed-off-by: Tyler Hicks commit 157f1071354db1aed885816094888e0e257c9d0a Author: Tyler Hicks Date: Thu Feb 11 07:10:38 2010 -0600 eCryptfs: Fix metadata in xattr feature regression Fixes regression in 8faece5f906725c10e7a1f6caf84452abadbdc7b When using the ecryptfs_xattr_metadata mount option, eCryptfs stores the metadata (normally stored at the front of the file) in the user.ecryptfs xattr. This causes ecryptfs_crypt_stat.num_header_bytes_at_front to be 0, since there is no header data at the front of the file. This results in too much memory being requested and ENOMEM being returned from ecryptfs_write_metadata(). This patch fixes the problem by using the num_header_bytes_at_front variable for specifying the max size of the metadata, despite whether it is stored in the header or xattr. Reviewed-by: Eric Sandeen Signed-off-by: Tyler Hicks commit d067633b4483f3c7d971d8f889f35340a8635bb5 Author: Ryusuke Konishi Date: Mon Mar 22 19:33:43 2010 +0900 nilfs2: fix imperfect completion wait in nilfs_wait_on_logs nilfs_wait_on_logs has a potential to slip out before completion of all bio requests when it met an error. This synchronization fault may cause unexpected results, for instance, violative access to freed segment buffers from an end-bio callback routine. This fixes the issue by ensuring that nilfs_wait_on_logs waits all given logs. Signed-off-by: Ryusuke Konishi commit 830ec0458c390f29c6c99e1ff7feab9e36368d12 Author: John Stultz Date: Thu Mar 18 14:47:30 2010 -0700 time: Fix accumulation bug triggered by long delay. The logarithmic accumulation done in the timekeeping has some overflow protection that limits the max shift value. That means it will take more then shift loops to accumulate all of the cycles. This causes the shift decrement to underflow, which causes the loop to never exit. The simplest fix would be simply to do a: if (shift) shift--; However that is not optimal, as we know the cycle offset is larger then the interval << shift, the above would make shift drop to zero, then we would be spinning for quite awhile accumulating at interval chunks at a time. Instead, this patch only decreases shift if the offset is smaller then cycle_interval << shift. This makes sure we accumulate using the largest chunks possible without overflowing tick_length, and limits the number of iterations through the loop. This issue was found and reported by Sonic Zhang, who also tested the fix. Many thanks your explanation and testing! Reported-by: Sonic Zhang Signed-off-by: John Stultz Tested-by: Sonic Zhang LKML-Reference: <1268948850-5225-1-git-send-email-johnstul@us.ibm.com> Signed-off-by: Thomas Gleixner commit 5cbb2b941d2cc77e6b915e8e55d375be632c9f6a Author: Komuro Date: Sat Mar 20 06:39:19 2010 +0900 pd6729: Coding Style fixes Signed-off-by: Komuro Signed-off-by: Dominik Brodowski commit d8e4ebf8b603bdcd091540e6b5bddf0dec10d516 Author: Jiri Kosina Date: Tue Mar 23 16:32:37 2010 +0100 HID: fix oops in gyration_event() Fix oops caused by dereferencing field->hidinput in cases where the device hasn't been claimed by hid-input. Reported-by: Andreas Demmer Signed-off-by: Jiri Kosina commit 110d735a0ae69bdd11af9acb6ea3b979137eb118 Author: Ryusuke Konishi Date: Mon Mar 22 21:36:06 2010 +0900 nilfs2: fix hang-up of cleaner after log writer returned with error According to the report from Andreas Beckmann (Message-ID: <4BA54677.3090902@abeckmann.de>), nilfs in 2.6.33 kernel got stuck after a disk full error. This turned out to be a regression by log writer updates merged at kernel 2.6.33. nilfs_segctor_abort_construction, which is a cleanup function for erroneous cases, was skipping writeback completion for some logs. This fixes the bug and would resolve the hang issue. Reported-by: Andreas Beckmann Signed-off-by: Ryusuke Konishi Tested-by: Ryusuke Konishi Cc: stable [2.6.33.x] commit 23ab15ad7a9d042afa7303b735b6e24faa607241 Author: Sage Weil Date: Mon Mar 22 09:37:14 2010 -0700 ceph: avoid loaded term 'OSD' in documention 'OSD' means different things to different people; avoid it here to avoid confusion. Signed-off-by: Sage Weil commit 393f66209669ad23f4f6d4191234c1df4367df3c Author: Sage Weil Date: Wed Mar 10 12:03:32 2010 -0800 ceph: fix possible double-free of mds request reference Clear pointer to mds request after dropping the reference to ensure we don't drop it again, as there is at least one error path through this function that does not reset fi->last_readdir to a new value. Signed-off-by: Sage Weil commit d96d60498ff748c5a88c72ec5d1cc4ba9a583e7e Author: Sage Weil Date: Sat Mar 20 20:50:58 2010 -0700 ceph: fix session check on mds reply Fix a broken check that a reply came back from the same MDS we sent the request to. I don't think a case that actually triggers this would ever come up in practice, but it's clearly wrong and easy to fix. Reported-by: Dan Carpenter Signed-off-by: Sage Weil commit 4736b009b880b7c19bea36327a71032a6dbee402 Author: Dan Carpenter Date: Sat Mar 20 15:30:16 2010 +0300 ceph: handle kmalloc() failure Return ERR_PTR(-ENOMEM) if kmalloc() fails. We handle allocation failures the same way later in the function. Signed-off-by: Dan Carpenter Signed-off-by: Sage Weil commit 9c423956b8a495f0c048143abc5da955a70eac97 Author: Sage Weil Date: Sat Mar 20 20:43:28 2010 -0700 ceph: propagate mds session allocation failures to caller Return error to original caller if register_session() fails. Signed-off-by: Sage Weil commit 8f883c24de33ba929c95e018ac0ba66e4f46734b Author: Sage Weil Date: Fri Mar 19 13:27:53 2010 -0700 ceph: make write_begin wait propagate ERESTARTSYS Currently, if the wait_event_interruptible is interrupted, we return EAGAIN unconditionally and loop, such that we aren't, in fact, interruptible. So, propagate ERESTARTSYS if we get it. Signed-off-by: Sage Weil commit ec4318bcb4c59d8b8bf7037c9f444a9887ccb265 Author: Sage Weil Date: Fri Mar 19 13:24:39 2010 -0700 ceph: fix snap rebuild condition We were rebuilding the snap context when it was not necessary (i.e. when the realm seq hadn't changed _and_ the parent seq was still older), which caused page snapc pointers to not match the realm's snapc pointer (even though the snap context itself was identical). This confused begin_write and put it into an endless loop. The correct logic is: rebuild snapc if _my_ realm seq changed, or if my parent realm's seq is newer than mine (and thus mine needs to be rebuilt too). Signed-off-by: Sage Weil commit 87b315a5b5cec5d7086494b203577602f5befc8c Author: Sage Weil Date: Mon Mar 22 14:51:18 2010 -0700 ceph: avoid reopening osd connections when address hasn't changed We get a fault callback on _every_ tcp connection fault. Normally, we want to reopen the connection when that happens. If the address we have is bad, however, and connection attempts always result in a connection refused or similar error, explicitly closing and reopening the msgr connection just prevents the messenger's backoff logic from kicking in. The result can be a console full of [ 3974.417106] ceph: osd11 10.3.14.138:6800 connection failed [ 3974.423295] ceph: osd11 10.3.14.138:6800 connection failed [ 3974.429709] ceph: osd11 10.3.14.138:6800 connection failed Instead, if we get a fault, and have outstanding requests, but the osd address hasn't changed and the connection never successfully connected in the first place, do nothing to the osd connection. The messenger layer will back off and retry periodically, because we never connected and thus the lossy bit is not set. Instead, touch each request's r_stamp so that handle_timeout can tell the request is still alive and kicking. Signed-off-by: Sage Weil commit 3dd72fc0e6dc49c79fa9e7cd7c654deac7ccaa29 Author: Sage Weil Date: Mon Mar 22 14:42:30 2010 -0700 ceph: rename r_sent_stamp r_stamp Make variable name slightly more generic, since it will (soon) reflect either the time the request was sent OR the time it was last determined to be still retrying. Signed-off-by: Sage Weil commit 3c3f2e32effd4c6acc3a9434bd7eecb0af653d89 Author: Sage Weil Date: Thu Mar 18 15:20:53 2010 -0700 ceph: fix connection fault con_work reentrancy problem The messenger fault was clearing the BUSY bit, for reasons unclear. This made it possible for the con->ops->fault function to reopen the connection, and requeue work in the workqueue--even though the current thread was already in con_work. This avoids a problem where the client busy loops with connection failures on an unreachable OSD, but doesn't address the root cause of that problem. Signed-off-by: Sage Weil commit e4cb4cb8a03adde1aa4b874623c50b9a5b56e635 Author: Sage Weil Date: Thu Mar 18 13:43:09 2010 -0700 ceph: prevent dup stale messages to console for restarting mds Prevent duplicate 'mds0 caps stale' message from spamming the console every few seconds while the MDS restarts. Set s_renew_requested earlier, so that we only print the message once, even if we don't send an actual request. Signed-off-by: Sage Weil commit efd7576b2392cc5a0934352936d793e8884c46bf Author: Sage Weil Date: Wed Mar 17 10:05:28 2010 -0700 ceph: fix pg pool decoding from incremental osdmap update The incremental map decoding of pg pool updates wasn't skipping the snaps and removed_snaps vectors. This caused osd requests to stall when pool snapshots were created or fs snapshots were deleted. Use a common helper for full and incremental map decoders that decodes pools properly. Signed-off-by: Sage Weil commit 80fc7314a7e26e8d2e4ba5b3d8cc2d4aeb750015 Author: Sage Weil Date: Tue Mar 16 15:28:54 2010 -0700 ceph: fix mds sync() race with completing requests The wait_unsafe_requests() helper dropped the mdsc mutex to wait for each request to complete, and then examined r_node to get the next request after retaking the lock. But the request completion removes the request from the tree, so r_node was always undefined at this point. Since it's a small race, it usually led to a valid request, but not always. The result was an occasional crash in rb_next() while dereferencing node->rb_left. Fix this by clearing the rb_node when removing the request from the request tree, and not walking off into the weeds when we are done waiting for a request. Since the request we waited on will _always_ be out of the request tree, take a ref on the next request, in the hopes that it won't be. But if it is, it's ok: we can start over from the beginning (and traverse over older read requests again). Signed-off-by: Sage Weil commit 916623da10e270c7e9e802a7ddfe1ec8f890982d Author: Sage Weil Date: Tue Mar 16 15:01:07 2010 -0700 ceph: only release unused caps with mds requests We were releasing used caps (e.g. FILE_CACHE) from encode_inode_release with MDS requests (e.g. setattr). We don't carry refs on most caps, so this code worked most of the time, but for setattr (utimes) we try to drop Fscr. This causes cap state to get slightly out of sync with reality, and may result in subsequent mds revoke messages getting ignored. Fix by only releasing unused caps. Signed-off-by: Sage Weil commit 15637c8b1251c38694c32214eba69b72a30e9d9b Author: Sage Weil Date: Tue Mar 16 13:42:00 2010 -0700 ceph: clean up handle_cap_grant, handle_caps wrt session mutex Drop session mutex unconditionally in handle_cap_grant, and do the check_caps from the handle_cap_grant helper. This avoids using a magic return value. Also avoid using a flag variable in the IMPORT case and call check_caps at the appropriate point. Signed-off-by: Sage Weil commit cdc2ce056a3620139056b60ad7f6d355ad13f445 Author: Sage Weil Date: Tue Mar 16 13:39:28 2010 -0700 ceph: fix session locking in handle_caps, ceph_check_caps Passing a session pointer to ceph_check_caps() used to mean it would leave the session mutex locked. That wasn't always possible if it wasn't passed CHECK_CAPS_AUTHONLY. If could unlock the passed session and lock a differet session mutex, which was clearly wrong, and also emitted a warning when it a racing CPU retook it and we did an unlock from the wrong context. This was only a problem when there was more than one MDS. First, make ceph_check_caps unconditionally drop the session mutex, so that it is free to lock other sessions as needed. Then adjust the one caller that passes in a session (handle_cap_grant) accordingly. Signed-off-by: Sage Weil commit 4ea0043a29c82ca52ca54728d837314563bec574 Author: Sage Weil Date: Tue Mar 16 10:36:40 2010 -0700 ceph: drop unnecessary WARN_ON in caps migration If we don't have the exported cap it's because we already released it. No need to WARN. Signed-off-by: Sage Weil commit 12eadc190038e68b5884a4aa313b6ab89ba60f5e Author: Sage Weil Date: Mon Mar 15 22:20:39 2010 -0700 ceph: fix null pointer deref of r_osd in debug output This causes an oops when debug output is enabled and we kick an osd request with no current r_osd (sometime after an osd failure). Check the pointer before dereferencing. Signed-off-by: Sage Weil commit 0a990e7093566ceb07e38951e1a01686923d4f09 Author: Sage Weil Date: Mon Mar 15 16:12:25 2010 -0700 ceph: clean up service ticket decoding Previously we would decode state directly into our current ticket_handler. This is problematic if for some reason we fail to decode, because we end up with half new state and half old state. We are probably already in bad shape if we get an update we can't decode, but we may as well be tidy anyway. Decode into new_* temporaries and update the ticket_handler only on success. Signed-off-by: Sage Weil commit 332ac7ff77cdc6a183d78ab129545d7b14a1d57c Author: Tejun Heo Date: Tue Mar 23 12:24:08 2010 +0900 libata-sff: fix spurious IRQ handling Commit 27943620cbd960f710a385ff4a538e14ed3f1922 introduced spurious IRQ handling but it has a race condition where valid completion can be lost while trying to clear spurious IRQ leading to occassional command timeouts. This patch improves SFF interrupt handler such that 1. Once BMDMA HSM is stopped, the condition is never considered spurious. As there's no way to resume stopped BMDMA HSM, if device status doesn't agree with BMDMA status, the only way out is aborting the command (otherwise, it will just end up timing out). 2. ap->ops->sff_check_status() can be safely called to clear spurious device IRQ as it atomically returns completion status but BMDMA IRQ status can't be cleared in safe way if command is in flight. After a spurious IRQ, call ap->ops->sff_irq_clear() only if the respective device is idle and retry completion if sff_check_status() indicates command completion. Please note that ata_piix uses bmdma_status for sff_irq_check() and #2 won't weaken spurious IRQ handling even with in-flight command because if bmdma_status indicates IRQ pending but device status is not on spurious check, the next IRQ handler invocation will abort the command due to #1. This fixes bko#15537. https://bugzilla.kernel.org/show_bug.cgi?id=15537 Signed-off-by: Tejun Heo Cc: Andrew Benton Cc: Petr Uzel Cc: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit 4f4669ee732a6b37279e912af1833fbff15407a2 Merge: 48edcfc e3396b2 Author: Russell King Date: Tue Mar 23 08:18:25 2010 +0000 Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 commit 4e1a2594094020bdb41c18681c1765671138d06a Author: Paul Mundt Date: Tue Mar 23 17:07:41 2010 +0900 sh: Silence unintialized variable warnings in dwarf unwinder. The parent rb_node needs to be initialized to shut up the compiler, even though we're unlikely to ever hit this issue at run time. Signed-off-by: Paul Mundt commit 90851c40769791a6ddeef691c482ecf69bae4a5c Author: Paul Mundt Date: Tue Mar 23 17:06:47 2010 +0900 sh: Tidy up a couple of section mismatches. select_idle_routine() and register_sh_pmu() both needed their annotations fixed up to silence section mismatch warnings. Signed-off-by: Paul Mundt commit 3fe0f36c7edcd20af0a3cafc68bdd62534c0a7f0 Author: Matt Fleming Date: Mon Mar 22 22:09:58 2010 +0000 sh: Fix build after dynamic PMB rework set_pmb_entry() is now only used by a function that is wrapped in #ifdef CONFIG_PM, so wrap set_pmb_entry() in CONFIG_PM too. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit b5b6c7eea1124de5b110a48ac62650a690ed2419 Author: Matt Fleming Date: Sun Mar 21 19:51:52 2010 +0000 sh: Replace unsafe manipulation of MMUCR Setting the TI in MMUCR causes all the TLB bits in MMUCR to be cleared. Unfortunately, the TLB wired bits are also cleared when setting the TI bit, causing any wired TLB entries to become unwired. Use local_flush_tlb_all() which implements TLB flushing in a safer manner by using the memory-mapped TLB registers. As each CPU has its own PMB the modifications in pmb_init() only affect the local CPU, so only flush the local CPU's TLB. Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit a9eb4f6d1a168c830a206306dfbb1f95a7fed6b3 Author: Matt Fleming Date: Sun Mar 21 19:51:43 2010 +0000 sh: Flush ITLB too in PTEAEX's flush_tlb_page() flush_tlb_page() can be used to flush TLB entries that map executable pages. Therefore, we need to ensure that the ITLB is also flushed in local_flush_tlb_page(). Signed-off-by: Matt Fleming Signed-off-by: Paul Mundt commit 685abecfc2a6036b713229617570980c566c7500 Author: Andreas Bombe Date: Sat Mar 20 00:38:01 2010 +0000 sh64: Remove long unused mid_sched macro interruptible_sleep_on() is referenced for use in the mid_sched macro which is not used anywhere. Remove reference and macro as well as the comment which appears to belong with them. Signed-off-by: Andreas Bombe Signed-off-by: Paul Mundt commit 0a60a210ede8942c5149526bf6847176cee5c184 Author: Guennadi Liakhovetski Date: Fri Mar 19 13:53:36 2010 +0000 SH: remove superfluous warning from the serial driver This warning has been introduced during the SCI DMA support developmenr and is not needed any more. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit d7bbf7f50e03c427debb6d7d960c48b9b934e7e2 Author: Guennadi Liakhovetski Date: Fri Mar 19 13:52:35 2010 +0000 SH: fix SCIFA SCASCR register bit definitions Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt commit 8d099d4446fcb23ca6cc054bde3c35b417e29b3b Author: Magnus Damm Date: Tue Mar 16 11:21:07 2010 +0000 serial: sh-sci: fix SH-Mobile SH breakage The follwing commit breaks SH-Mobile on non-ARM platforms: "8a77b8d serial: sh-sci: Support ARM-based SH-Mobile CPUs." The commit assumed that CONFIG_ARCH_SHMOBILE only was set on ARM platforms, but it turns out that this kconfig is also set by all SH-based SoCs. Sh7724 and other older SH-Mobile SoCs are all broken without this fix. This patch converts the "defined(CONFIG_ARCH_SHMOBILE)" into one "defined()" per SoC model - similar to existing SH code. Reported-by: Guennadi Liakhovetski Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit bf02bd2590eb78d79ba1033d6df80c778b2f5ddf Author: Rafael J. Wysocki Date: Tue Mar 16 23:21:55 2010 +0100 ACPI / ACPICA: Do not check reference counters in acpi_ev_enable_gpe() acpi_ev_enable_gpe() should enable the GPE at the hardware level regardless of the value of the GPE's runtime reference counter. There are only two callers of acpi_ev_enable_gpe(), acpi_enable_gpe() and acpi_set_gpe(). The first one checks the GPE's runtime reference counter itself and only calls acpi_ev_enable_gpe() if it's equal to one, and the other one is supposed to enable the GPE unconditionally (if called with ACPI_GPE_ENABLE). This change fixes the problem in acpi_enable_wakeup_device() where the GPE will not be enabled for wakeup if it's runtime reference counter is zero, which is a regression from 2.6.33. Signed-off-by: Rafael J. Wysocki Reported-by: Robert Moore Signed-off-by: Len Brown commit 67eaa3e4fb29a758f92c9296ca006264a034e9c2 Author: Kuninori Morimoto Date: Tue Mar 16 02:02:08 2010 +0000 sh: Add watch-dog register address for SH7722/SH7723/SH7724 Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit bec9fb072f58a77a449c4bb3b1b036fcecc68663 Author: Kuninori Morimoto Date: Tue Mar 16 02:01:53 2010 +0000 sh: ms7724: Add tiny-document for sound Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit b230eb32c8d568284c1f33f5d06005eb97d4f897 Author: Kuninori Morimoto Date: Tue Mar 16 02:01:33 2010 +0000 sh: mach-ecovec24: Add i2c_put_adapter on sh_eth_init i2c_put_adapter is needed after i2c_get_adapter Signed-off-by: Kuninori Morimoto Signed-off-by: Paul Mundt commit bc73675b99fd9850dd914be01d71af99c5d2a1ae Author: Zhang Rui Date: Mon Mar 22 15:48:54 2010 +0800 ACPI: fixes a false alarm from lockdep fixes a false alarm from lockdep, as acpi hotplug workqueue waits other workqueues. http://bugzilla.kernel.org/show_bug.cgi?id=14553 https://bugzilla.kernel.org/show_bug.cgi?id=15521 Original-patch-from: Andrew Morton Signed-off-by: Shaohua Li Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 1ee4d61fd9822fb89e63b88a66848477087cd82e Author: Zhang Rui Date: Mon Mar 22 15:46:49 2010 +0800 ACPI dock: support multiple ACPI dock devices There may be multiple ACPI dock devices exist in ACPI namespace and we should probe all of them. http://bugzilla.kernel.org/show_bug.cgi?id=15521 CC: Li Shaohua Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 688328c7ec3cd0dc3b16342aeb045d28012cc955 Author: Eric W. Biederman Date: Wed Mar 17 22:24:39 2010 +0000 netxen: The driver doesn't work on NX_P3_B1 so cause probe to fail. I haven't been able to get link up on a NX_P3_B1 since 2.6.31. The driver complains about a firmware hang instead. When I asked I was told rev 0x41 was a preproduction rev. So disable support in the driver so no one is surprised the code doesn't work. Signed-off-by: Eric W. Biederman Signed-off-by: David S. Miller commit 5fc05f8764f301138003ff562a31ad3721f1675f Author: Amerigo Wang Date: Sun Mar 21 22:59:58 2010 +0000 netpoll: warn when there are spaces in parameters v2: update according to Frans' comments. Currently, if we leave spaces before dst port, netconsole will silently accept it as 0. Warn about this. Also, when spaces appear in other places, make them visible in error messages. Signed-off-by: WANG Cong Cc: David Miller Acked-by: Neil Horman Signed-off-by: David S. Miller commit 21afc27c9f9ae1f6370c47b323be7f3b75106569 Author: Mike Frysinger Date: Sun Mar 21 21:06:01 2010 +0000 can: bfin_can: switch to common Blackfin can header The MMR bits are being moved to this header, so include it. Signed-off-by: Mike Frysinger Acked-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 91c030b4d6445ebe9fbddb86d584441f300df15c Merge: 7c3456f ae6be51 Author: David S. Miller Date: Mon Mar 22 20:05:26 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 4f1deba435ef75380c1d06fda860c7a15ea16fdf Author: JosephChan@via.com.tw Date: Fri Mar 19 14:08:11 2010 +0800 pata_via: Add VIA VX900 support Signed-off-by: Joseph Chan Signed-off-by: Jeff Garzik commit b3c7740a120c8a7775cb63b4d094466da5c01692 Merge: 220bf99 e6e8ea6 Author: Tony Lindgren Date: Mon Mar 22 14:06:38 2010 -0700 Merge branch 'omap-fixes-for-tony' of git://dev.omapzoom.org/pub/scm/saaguirre/linux-omap-camera into omap-fixes-for-linus commit ae6be51ed01d6c4aaf249a207b4434bc7785853b Author: Linus Torvalds Date: Mon Mar 22 13:12:33 2010 -0700 Fix up prototype for sys_ipc breakage Commit 45575f5a426c ("ppc64 sys_ipc breakage in 2.6.34-rc2") fixed the definition of the sys_ipc() helper, but didn't fix the prototype in Reported-and-tested-by: Andreas Schwab Signed-off-by: Linus Torvalds commit 8b4709ecea4aab1957ae7b726d6824485404a3a5 Author: Wolfram Sang Date: Sat Mar 20 15:12:58 2010 +0100 regulator: fix dangling pointers Fix I2C-drivers which missed setting clientdata to NULL before freeing the structure it points to. Also fix drivers which do this _after_ the structure was freed already. Signed-off-by: Wolfram Sang Cc: Liam Girdwood Cc: Mark Brown Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 451a73cd46573444f68f412c87439c0a291718ec Author: Axel Lin Date: Thu Mar 11 09:50:07 2010 +0800 lp3971: Fix BUCK_VOL_CHANGE_SHIFT logic Given x=0,1,2, current implementation of BUCK_VOL_CHANGE_SHIFT(x) returns 0,4,8. The correct return value should be 0,4,6. This patch fix the logic. Signed-off-by: Axel Lin Acked-by: Marek Szyprowski Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit cdb868f58103825856e27aa4e1f26943fc119e41 Author: Axel Lin Date: Tue Mar 9 16:53:59 2010 +0800 lp3971: Fix setting val for LDO2 and LDO4 In lp3971_ldo_set_voltage function, it requires val to left shift 4 bits for LDO2 and LDO4. This patch fix this issue. Signed-off-by: Axel Lin Acked-by: Marek Szyprowski Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 4f26a2abe1eed18dc6adddf2d0ae5553e51578c2 Author: Ameya Palande Date: Fri Mar 12 20:09:01 2010 +0200 regulator: Get rid of lockdep warning WARNING: at kernel/lockdep.c:2706 sysfs_add_file_mode+0x4c/0xa8() Difference between v1 and v2: Moved sysfs_attr_init() call as first one to access the structure. Signed-off-by: Ameya Palande CC: Liam Girdwood CC: Mark Brown CC: David Brownell Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit 67e46f347eb25222e2b415540b6ba3fd2574afe2 Author: Dan Carpenter Date: Sun Mar 7 15:36:45 2010 +0300 regulator: handle kcalloc() failure Return -ENOMEM if kcalloc() fails Signed-off-by: Dan Carpenter Acked-by: Mark Brown Acked-by: Wolfram Sang Signed-off-by: Liam Girdwood commit 3fff6c04d81a2852821135736fad2d8386464753 Author: Dmitry Torokhov Date: Tue Feb 23 23:38:55 2010 -0800 Regulators: max8925-regulator - clean up driver data after removal It is a good tone to reset driver data after unbinding the device. Also change find_regulator_info() fro inline to __devinit - let compiler figure out if it wants it to be inlined or not. Signed-off-by: Dmitry Torokhov Acked-by: Mark Brown Signed-off-by: Liam Girdwood commit ef1691504c83ba3eb636c0cfd3ed33f7a6d0b4ee Author: Patrick McHardy Date: Mon Mar 22 18:25:20 2010 +0100 netfilter: xt_recent: fix regression in rules using a zero hit_count Commit 8ccb92ad (netfilter: xt_recent: fix false match) fixed supposedly false matches in rules using a zero hit_count. As it turns out there is nothing false about these matches and people are actually using entries with a hit_count of zero to make rules dependant on addresses inserted manually through /proc. Since this slipped past the eyes of three reviewers, instead of reverting the commit in question, this patch explicitly checks for a hit_count of zero to make the intentions more clear. Reported-by: Thomas Jarosch Tested-by: Thomas Jarosch Cc: stable@kernel.org Signed-off-by: Patrick McHardy commit 7c3456fdb503071787f7f972de1069b9cacd16f0 Author: Tetsuo Handa Date: Mon Mar 22 10:22:55 2010 -0700 rxrpc: Check allocation failure. alloc_skb() can return NULL. Signed-off-by: Tetsuo Handa Signed-off-by: David Howells Signed-off-by: David S. Miller commit 7b1f513aacee53ed2d20cdf82191c7f486136469 Merge: 258152a 2de16a4 Author: Linus Torvalds Date: Mon Mar 22 10:03:51 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: virtio: console: Check if port is valid in resize_console virtio: console: Generate a kobject CHANGE event on adding 'name' attribute commit 258152acc09c5c2df97002cd58cb37cb241aacde Merge: e919241 243aad8 Author: Linus Torvalds Date: Mon Mar 22 10:01:58 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (38 commits) ip_gre: include route header_len in max_headroom calculation if_tunnel.h: add missing ams/byteorder.h include ipv4: Don't drop redirected route cache entry unless PTMU actually expired net: suppress lockdep-RCU false positive in FIB trie. Bluetooth: Fix kernel crash on L2CAP stress tests Bluetooth: Convert debug files to actually use debugfs instead of sysfs Bluetooth: Fix potential bad memory access with sysfs files netfilter: ctnetlink: fix reliable event delivery if message building fails netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err() NET_DMA: free skbs periodically netlink: fix unaligned access in nla_get_be64() tcp: Fix tcp_mark_head_lost() with packets == 0 net: ipmr/ip6mr: fix potential out-of-bounds vif_table access KS8695: update ksp->next_rx_desc_read at the end of rx loop igb: Add support for 82576 ET2 Quad Port Server Adapter ixgbevf: Message formatting cleanups ixgbevf: Shorten up delay timer for watchdog task ixgbevf: Fix VF Stats accounting after reset ixgbe: Set IXGBE_RSC_CB(skb)->DMA field to zero after unmapping the address ixgbe: fix for real_num_tx_queues update issue ... commit e91924158d89086357e46887c23d714cfb4e05ea Merge: c3824d2 5b89d2f Author: Linus Torvalds Date: Mon Mar 22 09:58:04 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: edac, mce: Filter out invalid values commit c3824d21eb653fe7017476724257ccaa8bf3d9e1 Author: Tetsuo Handa Date: Mon Mar 22 13:50:19 2010 +0000 rxrpc: Check allocation failure. alloc_skb() can return NULL. Signed-off-by: Tetsuo Handa Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 99b437a9257cb6b267bf32adfb7675948dc6d485 Author: Dan Carpenter Date: Mon Mar 22 13:07:14 2010 +0000 AFS: Potential null dereference It seems clear from the surrounding code that xpermits is allowed to be NULL here. Signed-off-by: Dan Carpenter Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 45575f5a426c01ec68cd33d998267ba2f6278fac Author: Anton Blanchard Date: Mon Mar 22 17:47:59 2010 +1100 ppc64 sys_ipc breakage in 2.6.34-rc2 I chased down a fail on ppc64 on 2.6.34-rc2 where an application that uses shared memory was getting a SEGV. Commit baed7fc9b580bd3fb8252ff1d9b36eaf1f86b670 ("Add generic sys_ipc wrapper") changed the second argument from an unsigned long to an int. When we call shmget the system call wrappers for sys_ipc will sign extend second (ie the size) which truncates it. It took a while to track down because the call succeeds and strace shows the untruncated size :) The patch below changes second from an int to an unsigned long which fixes shmget on ppc64 (and I assume s390, sparc64 and mips64). Signed-off-by: Anton Blanchard -- I assume the function prototypes for the other IPC methods would cause us to sign or zero extend second where appropriate (avoiding any security issues). Come to think of it, the syscall wrappers for each method should do that for us as well. Signed-off-by: Linus Torvalds commit a90110c61073eab95d1986322693c2b9a8a6a5f6 Author: Rafael J. Wysocki Date: Sun Mar 21 21:51:51 2010 +0100 x86 / perf: Fix suspend to RAM on HP nx6325 Commit 3f6da3905398826d85731247e7fbcf53400c18bd (perf: Rework and fix the arch CPU-hotplug hooks) broke suspend to RAM on my HP nx6325 (and most likely on other AMD-based boxes too) by allowing amd_pmu_cpu_offline() to be executed for CPUs that are going offline as part of the suspend process. The problem is that cpuhw->amd_nb may be NULL already, so the function should make sure it's not NULL before accessing the object pointed to by it. Signed-off-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit 5b89d2f9ace1970324facc68ca9b8fae19ce8096 Author: Borislav Petkov Date: Tue Mar 9 20:38:48 2010 +0100 edac, mce: Filter out invalid values Print the CPU associated with the error only when the field is valid. Cc: # .32.x .33.x Signed-off-by: Borislav Petkov commit e3396b263c6a8f086a99f1d524272ff409d66de0 Author: Dan Carpenter Date: Mon Mar 22 15:10:35 2010 +0300 pxa168fb: fix incorrect resource calculation The size calculation is not correct. It should be end - start + 1. Use resource_size() to caculate it. Signed-off-by: Dan Carpenter Signed-off-by: Eric Miao commit 2de16a493cc6153f7fa0b9da12a3862d063e3425 Author: Amit Shah Date: Fri Mar 19 17:36:44 2010 +0530 virtio: console: Check if port is valid in resize_console The console port could have been hot-unplugged. Check if it is valid before working on it. Signed-off-by: Amit Shah Signed-off-by: Michael S. Tsirkin commit ec64213c4d482ee4d15b34511441eaecdd002adf Author: Amit Shah Date: Fri Mar 19 17:36:43 2010 +0530 virtio: console: Generate a kobject CHANGE event on adding 'name' attribute When the host lets us know what 'name' a port is assigned, we create the sysfs 'name' attribute. Generate a 'change' event after this so that udev wakes up and acts on the rules for virtio-ports (currently there's only one rule that creates a symlink from the 'name' to the actual char device). Signed-off-by: Amit Shah Signed-off-by: Michael S. Tsirkin commit 3cc4e53f86dab635166929bfa47cc68d59b28c26 Author: Mark Brown Date: Fri Feb 12 14:39:36 2010 +0000 ASoC: Remove BROKEN from i.MX audio after dependencies merged Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit f9b44121b34174ae4f243a568393fc3225842e75 Merge: 8727b90 220bf99 Author: Mark Brown Date: Mon Mar 22 11:17:26 2010 +0000 Merge commit 'v2.6.34-rc2' into for-2.6.34 commit 556ae3bb32cabe483375b857dda1322384c57b65 Author: Jeff Layton Date: Sun Mar 21 12:10:36 2010 -0400 NFS: don't try to decode GETATTR if DELEGRETURN returned error The reply parsing code attempts to decode the GETATTR response even if the DELEGRETURN portion of the compound returned an error. The GETATTR response won't actually exist if that's the case and we're asking the parser to read past the end of the response. This bug is fairly benign. The parser catches this without reading past the end of the response and decode_getfattr returns -EIO. Earlier kernels however had decode_op_hdr using the READ_BUF macro, and this bug would make this printk pop any time the client got an error from a delegreturn: kernel: decode_op_hdr: reply buffer overflowed in line XXXX More recent kernels seem to have replaced this printk with a dprintk. Signed-off-by: Jeff Layton Signed-off-by: Trond Myklebust commit f1f0abe192a72e75d7c59972e30784d043fd8d73 Author: Dan Carpenter Date: Sun Mar 21 12:10:34 2010 -0400 sunrpc: handle allocation errors from __rpc_lookup_create() __rpc_lookup_create() can return ERR_PTR(-ENOMEM). Signed-off-by: Dan Carpenter Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit ff0901f8036a1586037c30a365c9666e946af0f1 Author: Trond Myklebust Date: Fri Mar 19 16:17:45 2010 -0400 SUNRPC: Fix the return value of rpc_run_bc_task() Currently rpc_run_bc_task() will return NULL if the task allocation failed. However the only caller is bc_send, which assumes that the return value will be an ERR_PTR. Signed-off-by: Trond Myklebust commit c9acb42ef1904d15d0fb315061cefbe638f67f3a Author: Trond Myklebust Date: Fri Mar 19 15:36:22 2010 -0400 SUNRPC: Fix a use after free bug with the NFSv4.1 backchannel The ->release_request() callback was designed to allow the transport layer to do housekeeping after the RPC call is done. It cannot be used to free the request itself, and doing so leads to a use-after-free bug in xprt_release(). Signed-off-by: Trond Myklebust commit bae84e70d66fe46c12231082cf1c4848ea22f3ef Author: Takashi Iwai Date: Mon Mar 22 08:30:20 2010 +0100 ALSA: hda - Fix access-after-free in patch_realtek.c alc_free_kctls() has to be called after all jobs done in alc_build_controls(). Signed-off-by: Takashi Iwai commit ea823c08912cfb6d4af2fa8b6dd5d8deb2fb486a Author: Takashi Iwai Date: Mon Mar 22 08:07:55 2010 +0100 ALSA: hda - Sort codec entry list of Nvidia HDMI Signed-off-by: Takashi Iwai commit e933e9e5238b79870b04718024416a6dcf602a27 Author: Derek Kelly Date: Mon Mar 22 08:04:19 2010 +0100 ALSA: hda - Add support of Nvidia GT220 HDMI This patch adds the device id for Nvidia GT220 cards to the nvhdmi driver. I have tested it and confirmed it to be working. Original patch download link: https://gist.github.com/324070/ Signed-off-by: Derek Kelly Signed-off-by: Takashi Iwai commit 025f206c9e0f96cc41567b01c07fb852d8900da1 Author: Daniel T Chen Date: Sun Mar 21 18:34:43 2010 -0400 ALSA: hda: Fix 0 dB offset for HP laptops using CX20551 (Waikiki) BugLink: https://launchpad.net/bugs/420578 The OR has verified that his hardware distorts because of the 0 dB offset not corresponding to the highest PCM level. Fix this by capping said PCM level to 0 dB similarly to what we do for CX20549 (Venice). Reported-by: Mike Pontillo Tested-by: Mike Pontillo Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 2e2e3b96d98d5c17e9c09bc6088df3e182a71814 Author: Dmitry Torokhov Date: Sun Mar 21 22:56:15 2010 -0700 Input: sparse-keymap - implement safer freeing of the keymap Allow calling sparse_keymap_free() before unregistering input device whithout risk of racing with EVIOCGETKEYCODE and EVIOCSETKEYCODE. This makes life of drivers writers easier. Acked-by: Yong Wang Signed-off-by: Dmitry Torokhov commit 2d8428acaee5468d194d8a84de22a0797791cb33 Author: Ryusuke Konishi Date: Mon Mar 22 14:01:24 2010 +0900 nilfs2: fix duplicate call to nilfs_segctor_cancel_freev Andreas Beckmann gave me a report that nilfs logged the following warnings when it got a disk full: nilfs_sufile_do_cancel_free: segment 0 must be clean nilfs_sufile_do_cancel_free: segment 1 must be clean These arise from a duplicate call to nilfs_segctor_cancel_freev in an error path of log writer. This will fix the issue. Reported-by: Andreas Beckmann Signed-off-by: Ryusuke Konishi commit 13bad37b04c779d98983307a27f97e9caa36f9b1 Author: Henrik Rydberg Date: Sun Mar 21 22:31:26 2010 -0700 Input: update the status of the Multitouch X driver project The Multitouch X driver project has moved to alpha status. This patch updates the documentation accordingly. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 97065e033ec5fd824d0133ecd0c614fe1e5c20bd Author: Henrik Rydberg Date: Sun Mar 21 22:31:26 2010 -0700 Input: clarify the no-finger event in multitouch protocol The current documentation does not explicitly specify how to report zero fingers, leaving a potential problem in the driver implementations and giving no parsing directive to userland. This patch defines two equally valid ways. Signed-off-by: Henrik Rydberg Signed-off-by: Dmitry Torokhov commit 243aad830e8a4cdda261626fbaeddde16b08d04a Author: Timo Teräs Date: Sat Mar 20 02:27:58 2010 +0000 ip_gre: include route header_len in max_headroom calculation Taking route's header_len into account, and updating gre device needed_headroom will give better hints on upper bound of required headroom. This is useful if the gre traffic is xfrm'ed. Signed-off-by: Timo Teras Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 9bf35c8dddd56f7f247a27346f74f5adc18071f4 Author: Paulius Zaleckas Date: Sun Mar 21 21:19:02 2010 -0700 if_tunnel.h: add missing ams/byteorder.h include When compiling userspace application which includes if_tunnel.h and uses GRE_* defines you will get undefined reference to __cpu_to_be16. Fix this by adding missing #include Cc: stable@kernel.org Signed-off-by: Paulius Zaleckas Signed-off-by: David S. Miller commit fe3ebaad3229c5e842e8b24cf2a24d7049a6481c Author: Daniel Mack Date: Thu Mar 18 19:37:29 2010 +0100 [ARM] pxa/raumfeld: fix button name This fixes a warning when booting 2.6.34-rc2: [ 26.619814] ------------[ cut here ]------------ [ 26.624604] WARNING: at fs/proc/generic.c:316 __xlate_proc_name+0xac/0xc0() [ 26.631555] name 'on/off button' [ 26.634753] Modules linked in: Signed-off-by: Daniel Mack Cc: Sven Neumann Signed-off-by: Eric Miao commit af089f517a1fea0af2053f105c9360df614be07c Author: Huang Weiyi Date: Mon Mar 22 11:51:05 2010 +0800 [ARM] pxa/raumfeld: remove duplicated #include Remove duplicated #include('s) in arch/arm/mach-pxa/raumfeld.c Signed-off-by: Huang Weiyi Signed-off-by: Eric Miao commit c8c3dcb9df8025ed48f8b14bf4b8a77801d88758 Author: H Hartley Sweeten Date: Mon Mar 22 11:09:20 2010 +0800 [ARM] locomo: fix unpaired spin_lock_irqsave The function locomo_m62332_senddata sends a three byte i2c message to a M62332 DAC. This entire function is guarded with a spin_lock_irqsave at the start of the function and a spin_unlock_irqrestore at the end. As each byte is transferred, the i2c ACK from the DAC is checked. Currently, if the ACK is missing the function simply returns without the unlock. It also leaves the i2c bus in an invalid state since the last byte transferred did not have a "stop" condition and leave the bus idle. Fix this by adding an exit path using goto. Signed-off-by: H Hartley Sweeten Signed-off-by: Eric Miao commit 1b0d76cb9d5a65567230097a2512046f09f30523 Author: H Hartley Sweeten Date: Mon Mar 22 10:33:58 2010 +0800 [ARM] locomo: fix SPI register offset The locomo spi registers are all defined in locomo.h as offsets from the first spi register LOCOMO_SPI (0x60), which is itself an offset from the locomo base address. To correctly access these registers LOCOMO_SPI must always be included in the address calculation. There are two places in locomo.c where this is not done. The first one, in locomo_suspend, actually results in a write to LOCOMO_ST instead of LOCOMO_SPICT. The second is in __locomo_probe and results in a write to LOCOMO_MCSX2 instead of LOCOMO_SPIIE. Fix these by including LOCOMO_SPI in the calculation. Signed-off-by: H Hartley Sweeten Signed-off-by: Eric Miao commit 6533be390b1210285854fb2fc7ea80c0ada60b13 Author: Eric Miao Date: Tue Mar 9 10:34:27 2010 +0800 [ARM] pxa/sharpsl: add dependency of max1111 driver to sharpsl_pm sharpsl_pm.c actually depends on max1111 driver being built-in when not using legacy ssp code. Reported-by: Jonathan Cameron Signed-off-by: Eric Miao commit 1fe2b6b527779ca966bc285dc27f84835bc1591a Author: Eric Miao Date: Tue Mar 9 11:04:44 2010 +0800 [ARM] pxa: remove unnecessary 'select FB_W100' from some platforms Reported-by: Jonathan Cameron Signed-off-by: Eric Miao commit ef80936f99ce558a470c5379040abd0ece52c2ff Author: Jonathan Cameron Date: Sun Mar 7 21:59:16 2010 +0000 [ARM] pxa: remove spi cs gpio direction to avoid clash with driver Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 7471f46d74e0e2a668f4bc085ef486b1079b3466 Author: Eric Miao Date: Mon Mar 22 09:39:58 2010 +0800 [ARM] mmp: fix for variables in uncompress.h being discarded Due to commit: 5de813b ARM: Eliminate decompressor -Dstatic= PIC hack The data section will be discarded for the decompressor, thus move the static variables into BSS section by initializing them at run time. Reported-by: Jonathan Cameron Signed-off-by: Eric Miao commit 2a8ac187e03027a958b289dd8701ca9c013ab096 Author: Jonathan Cameron Date: Mon Mar 8 17:44:19 2010 +0000 [ARM] pxa: fix for variables in uncompress.h being discarded Due to commit: 5de813b ARM: Eliminate decompressor -Dstatic= PIC hack The data section will be discarded for the decompressor, thus move the static variables into BSS section by initializing them at run time. Signed-off-by: Jonathan Cameron Signed-off-by: Eric Miao commit 5e016cbf6cffd4a53b7922e0c91b775399d7fe47 Author: Guenter Roeck Date: Sun Mar 21 20:55:13 2010 -0700 ipv4: Don't drop redirected route cache entry unless PTMU actually expired TCP sessions over IPv4 can get stuck if routers between endpoints do not fragment packets but implement PMTU instead, and we are using those routers because of an ICMP redirect. Setup is as follows MTU1 MTU2 MTU1 A--------B------C------D with MTU1 > MTU2. A and D are endpoints, B and C are routers. B and C implement PMTU and drop packets larger than MTU2 (for example because DF is set on all packets). TCP sessions are initiated between A and D. There is packet loss between A and D, causing frequent TCP retransmits. After the number of retransmits on a TCP session reaches tcp_retries1, tcp calls dst_negative_advice() prior to each retransmit. This results in route cache entries for the peer to be deleted in ipv4_negative_advice() if the Path MTU is set. If the outstanding data on an affected TCP session is larger than MTU2, packets sent from the endpoints will be dropped by B or C, and ICMP NEEDFRAG will be returned. A and D receive NEEDFRAG messages and update PMTU. Before the next retransmit, tcp will again call dst_negative_advice(), causing the route cache entry (with correct PMTU) to be deleted. The retransmitted packet will be larger than MTU2, causing it to be dropped again. This sequence repeats until the TCP session aborts or is terminated. Problem is fixed by removing redirected route cache entries in ipv4_negative_advice() only if the PMTU is expired. Signed-off-by: Guenter Roeck Signed-off-by: David S. Miller commit e3a61d47cc37c51834abe537e0ed685829d56ee2 Merge: 634a4b2 c2c77ec Author: David S. Miller Date: Sun Mar 21 18:03:11 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-2.6 commit 634a4b2038a6eba4c211fb906fa2f6ec9a4bbfc7 Author: Paul E. McKenney Date: Sun Mar 21 18:01:05 2010 -0700 net: suppress lockdep-RCU false positive in FIB trie. Allow fib_find_node() to be called either under rcu_read_lock() protection or with RTNL held. Signed-off-by: Paul E. McKenney Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 8c2eb4805d422bdbf60ba00ff233c794d23c3c00 Author: Colin Ian King Date: Fri Mar 19 10:28:02 2010 +0000 softlockup: Stop spurious softlockup messages due to overflow Ensure additions on touch_ts do not overflow. This can occur when the top 32 bits of the TSC reach 0xffffffff causing additions to touch_ts to overflow and this in turn generates spurious softlockup warnings. Signed-off-by: Colin Ian King Cc: Peter Zijlstra Cc: Eric Dumazet Cc: LKML-Reference: <1268994482.1798.6.camel@lenovo> Signed-off-by: Ingo Molnar commit cdead7cf12896c0e50a8be2e52de52c364603095 Author: Trond Myklebust Date: Fri Mar 19 15:36:22 2010 -0400 SUNRPC: Fix a potential memory leak in auth_gss The function alloc_enc_pages() currently fails to release the pointer rqstp->rq_enc_pages in the error path. Signed-off-by: Trond Myklebust Acked-by: J. Bruce Fields Cc: stable@kernel.org commit e3d2530a6cea80987f77b75d8784a00f3aaf22ff Author: Kunal Gangakhedkar Date: Sat Mar 20 23:08:01 2010 +0530 ALSA: hda - Add PCI quirk for HP dv6-1110ax. Adding this PCI quirk fixes the board config detection. This also fixes jack sensing by using "hp_detect=1" via properly detected board config. Signed-off-by: Kunal Gangakhedkar Signed-off-by: Takashi Iwai commit fc8aa7b16a5fcfe9c6d0be9bb587f1fcedd9145f Author: Julia Lawall Date: Thu Mar 18 07:53:11 2010 +0100 sound/oss/vidc.c: change the field used with DMA_ACTIVE The constant DMA_ACTIVE is defined with the dma_buffparams structure rather than with the audio_operations structure. Takashi Iwai suggested that the dmap_out field of the audio_operations structure should be used instead. This is not tested. Signed-off-by: Julia Lawall Signed-off-by: Takashi Iwai commit c2c77ec83bdad17fb688557b5b3fdc36661dd1c6 Author: Andrei Emeltchenko Date: Fri Mar 19 10:26:28 2010 +0200 Bluetooth: Fix kernel crash on L2CAP stress tests Added very simple check that req buffer has enough space to fit configuration parameters. Shall be enough to reject packets with configuration size more than req buffer. Crash trace below [ 6069.659393] Unable to handle kernel paging request at virtual address 02000205 [ 6069.673034] Internal error: Oops: 805 [#1] PREEMPT ... [ 6069.727172] PC is at l2cap_add_conf_opt+0x70/0xf0 [l2cap] [ 6069.732604] LR is at l2cap_recv_frame+0x1350/0x2e78 [l2cap] ... [ 6070.030303] Backtrace: [ 6070.032806] [] (l2cap_add_conf_opt+0x0/0xf0 [l2cap]) from [] (l2cap_recv_frame+0x1350/0x2e78 [l2cap]) [ 6070.043823] r8:dc5d3100 r7:df2a91d6 r6:00000001 r5:df2a8000 r4:00000200 [ 6070.050659] [] (l2cap_recv_frame+0x0/0x2e78 [l2cap]) from [] (l2cap_recv_acldata+0x2bc/0x350 [l2cap]) [ 6070.061798] [] (l2cap_recv_acldata+0x0/0x350 [l2cap]) from [] (hci_rx_task+0x244/0x478 [bluetooth]) [ 6070.072631] r6:dc647700 r5:00000001 r4:df2ab740 [ 6070.077362] [] (hci_rx_task+0x0/0x478 [bluetooth]) from [] (tasklet_action+0x78/0xd8) [ 6070.087005] [] (tasklet_action+0x0/0xd8) from [] Signed-off-by: Andrei Emeltchenko Acked-by: Gustavo F. Padovan Signed-off-by: Marcel Holtmann commit aef7d97cc604309b66f6f45cce02cd734934cd4e Author: Marcel Holtmann Date: Sun Mar 21 05:27:45 2010 +0100 Bluetooth: Convert debug files to actually use debugfs instead of sysfs Some of the debug files ended up wrongly in sysfs, because at that point of time, debugfs didn't exist. Convert these files to use debugfs and also seq_file. This patch converts all of these files at once and then removes the exported symbol for the Bluetooth sysfs class. Signed-off-by: Marcel Holtmann commit 101545f6fef4a0a3ea8daf0b5b880df2c6a92a69 Author: Marcel Holtmann Date: Mon Mar 15 14:12:58 2010 -0700 Bluetooth: Fix potential bad memory access with sysfs files When creating a high number of Bluetooth sockets (L2CAP, SCO and RFCOMM) it is possible to scribble repeatedly on arbitrary pages of memory. Ensure that the content of these sysfs files is always less than one page. Even if this means truncating. The files in question are scheduled to be moved over to debugfs in the future anyway. Based on initial patches from Neil Brown and Linus Torvalds Reported-by: Neil Brown Signed-off-by: Marcel Holtmann commit 5b3dbb44ab40660a080d03585bd35f45b2890c49 Author: Sage Weil Date: Mon Mar 15 15:57:04 2010 -0700 ceph: release old ticket_blob buffer Release the old ticket_blob buffer when we get an updated service ticket from the monitor. Previously these were getting leaked. Signed-off-by: Sage Weil commit 807c86e2ceba8febe79b289d50cd0d5e0b0af917 Author: Sage Weil Date: Mon Mar 15 15:52:17 2010 -0700 ceph: fix authenticator buffer size calculation The buffer size was incorrectly calculated for the ceph_x_encrypt() encapsulated ticket blob. Use a helper (with correct arithmetic) and BUG out if we were wrong. Signed-off-by: Sage Weil commit 63733a0fc55cca74b1911769633dc5dfd1a45907 Author: Sage Weil Date: Mon Mar 15 15:47:22 2010 -0700 ceph: fix authenticator timeout We were failing to reconnect to services due to an old authenticator, even though we had the new ticket, because we weren't properly retrying the connect handshake, because we were calling an old/incorrect helper that left in_base_pos incorrect. The result was a failure to reconnect to the OSD or MDS (with an authentication error) if the MDS restarted after the service had been up a few hours (long enough for the original authenticator to be invalid). This was only a problem if the AUTH_X authentication was enabled. Now that the 'negotiate' and 'connect' stages are fully separated, we should use the prepare_read_connect() helper instead, and remove the obsolete one. Signed-off-by: Sage Weil commit 8b218b8a4a65bf4e304ae8690cadb9100ef029c0 Author: Sage Weil Date: Tue Mar 9 12:59:08 2010 -0800 ceph: fix inode removal from snap realm when racing with migration When an inode was dropped while being migrated between two MDSs, i_cap_exporting_issued was non-zero such that issue caps were non-zero and __ceph_is_any_caps(ci) was true. This prevented the inode from being removed from the snap realm, even as it was dropped from the cache. Fix this by dropping any residual i_snap_realm ref in destroy_inode. Signed-off-by: Sage Weil commit 052bb34af3bf8ae2001b9f03d884ba0def3e427c Author: Sage Weil Date: Tue Mar 9 12:52:26 2010 -0800 ceph: add missing locking to protect i_snap_realm_item during split All ci->i_snap_realm_item/realm->inodes_with_caps manipulation should be protected by realm->inodes_with_caps_lock. This bug would have only bit us in a rare race with a realm split (during some snap creations). Signed-off-by: Sage Weil commit 978097c907b58a2d085bbf7632bee1a5a7e6f6ba Author: Sage Weil Date: Mon Mar 8 15:27:53 2010 -0800 ceph: implemented caps should always be superset of issued caps Added assertion, and cleared one case where the implemented caps were not following the issued caps. Signed-off-by: Yehuda Sadeh Signed-off-by: Sage Weil commit af98441397227a5a4f212cd48710eea72a14dbdb Merge: 37b7ef7 535297a Author: David S. Miller Date: Sat Mar 20 14:41:01 2010 -0700 Merge branch 'vhost' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost commit 37b7ef7203240b3aba577bb1ff6765fe15225976 Author: Pablo Neira Ayuso Date: Tue Mar 16 13:30:21 2010 +0000 netfilter: ctnetlink: fix reliable event delivery if message building fails This patch fixes a bug that allows to lose events when reliable event delivery mode is used, ie. if NETLINK_BROADCAST_SEND_ERROR and NETLINK_RECV_NO_ENOBUFS socket options are set. Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit 1a50307ba1826e4da0024e64b245ce4eadf7688a Author: Pablo Neira Ayuso Date: Thu Mar 18 14:24:42 2010 +0000 netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err() Currently, ENOBUFS errors are reported to the socket via netlink_set_err() even if NETLINK_RECV_NO_ENOBUFS is set. However, that should not happen. This fixes this problem and it changes the prototype of netlink_set_err() to return the number of sockets that have set the NETLINK_RECV_NO_ENOBUFS socket option. This return value is used in the next patch in these bugfix series. Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit 73852e8151b7d7a529fbe019ab6d2d0c02d8f3f2 Author: Steven J. Magnani Date: Tue Mar 16 05:22:44 2010 +0000 NET_DMA: free skbs periodically Under NET_DMA, data transfer can grind to a halt when userland issues a large read on a socket with a high RCVLOWAT (i.e., 512 KB for both). This appears to be because the NET_DMA design queues up lots of memcpy operations, but doesn't issue or wait for them (and thus free the associated skbs) until it is time for tcp_recvmesg() to return. The socket hangs when its TCP window goes to zero before enough data is available to satisfy the read. Periodically issue asynchronous memcpy operations, and free skbs for ones that have completed, to prevent sockets from going into zero-window mode. Signed-off-by: Steven J. Magnani Signed-off-by: David S. Miller commit 48edcfcfbfcb3ffa76539f237b5527b62d72133a Author: Russell King Date: Sat Mar 20 15:37:39 2010 +0000 ARM: Update mach-types Signed-off-by: Russell King commit 0372c38047394e23278fe6dbc0827db12ce60bd3 Author: Russell King Date: Sat Mar 20 15:33:09 2010 +0000 ARM: Fix IXP23xx build error in mach/memory.h One to many close parens. In file included from arch/arm/include/asm/page.h:202, from include/linux/mm_types.h:15, from include/linux/sched.h:63, from arch/arm/kernel/asm-offsets.c:13: arch/arm/include/asm/memory.h: In function 'virt_to_bus': arch/arm/include/asm/memory.h:214: error: expected ';' before ')' token arch/arm/include/asm/memory.h:214: error: expected statement before ')' token arch/arm/include/asm/memory.h: In function 'bus_to_virt': arch/arm/include/asm/memory.h:219: error: expected ';' before ')' token arch/arm/include/asm/memory.h:219: error: expected statement before ')' token Signed-off-by: Russell King commit d90e6f6aad0ffdc674bc3a05c85c40dcc18e604c Author: Henrik Rydberg Date: Sat Mar 20 00:06:40 2010 -0700 Input: bcm5974 - retract efi-broken suspend_resume With the recent system-wide improvements on suspend/resume and EFI booting the suspend_resume method of the bcm5974 has broken. When waking up from the S3 state on the MacBookAir, the trackpad is found in a yet unknown state, unable to switch to the proper multitouch mode. The result is a frozen touchpad, and a flood of errors of the kind bcm5974: bad trackpad package, length: 8. This patch retracts the reset_resume method altogether, falling back on the generic unbind/rebind functionality of the usb layer until further investigations can be made as how to reset the device when booting from efi. Signed-off-by: Henrik Rydberg Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 88fcf710c13bd41f2b98c5411e4f21ab98da4fb4 Author: Yong Wang Date: Fri Mar 19 23:02:16 2010 -0700 Input: sparse-keymap - free the right keymap on error 'map' is allocated in sparse_keymap_setup() and it it the one that should be freed on error instead of 'keymap'. Signed-off-by: Yong Wang Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov commit f5d410f2ea7ba340f11815a56e05b9fa9421c421 Author: Pablo Neira Ayuso Date: Tue Mar 16 13:30:44 2010 +0000 netlink: fix unaligned access in nla_get_be64() This patch fixes a unaligned access in nla_get_be64() that was introduced by myself in a17c859849402315613a0015ac8fbf101acf0cc1. Signed-off-by: Pablo Neira Ayuso Signed-off-by: David S. Miller commit 6830c25b7d08fbbd922959425193791bc42079f2 Author: Lennart Schulte Date: Wed Mar 17 02:16:29 2010 +0000 tcp: Fix tcp_mark_head_lost() with packets == 0 A packet is marked as lost in case packets == 0, although nothing should be done. This results in a too early retransmitted packet during recovery in some cases. This small patch fixes this issue by returning immediately. Signed-off-by: Lennart Schulte Signed-off-by: Arnd Hannemann Signed-off-by: David S. Miller commit a50436f2cd6e85794f7e1aad795ca8302177b896 Author: Patrick McHardy Date: Wed Mar 17 06:04:14 2010 +0000 net: ipmr/ip6mr: fix potential out-of-bounds vif_table access mfc_parent of cache entries is used to index into the vif_table and is initialised from mfcctl->mfcc_parent. This can take values of to 2^16-1, while the vif_table has only MAXVIFS (32) entries. The same problem affects ip6mr. Refuse invalid values to fix a potential out-of-bounds access. Unlike the other validity checks, this is checked in ipmr_mfc_add() instead of the setsockopt handler since its unused in the delete path and might be uninitialized. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ea93fd9456ad32cd85b2d7914b58c6313cc40c9e Author: Yegor Yefremov Date: Fri Mar 19 22:43:29 2010 -0700 KS8695: update ksp->next_rx_desc_read at the end of rx loop There is no need to adjust the next rx descriptor after each packet, so do it only once at the end of the routine. Signed-off-by: Eric Dumazet Signed-off-by: Yegor Yefremov commit b894fa2627e28c078740dc7041cd08c7e2c353ab Author: Carolyn Wyborny Date: Fri Mar 19 06:07:48 2010 +0000 igb: Add support for 82576 ET2 Quad Port Server Adapter Signed-off-by: Carolyn Wyborny Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 29b8dd024bd48c3d1d1e5140f5bbb683786f998e Author: Greg Rose Date: Fri Mar 19 03:00:31 2010 +0000 ixgbevf: Message formatting cleanups Clean up some text output formatting. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4c3a822395c01d50ca2ba3aa4529e19d237a2f8c Author: Greg Rose Date: Fri Mar 19 03:00:12 2010 +0000 ixgbevf: Shorten up delay timer for watchdog task The recovery from PF reset works better when you shorten up the delay until the watchdog task executes. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 33bd9f601ea21c4389870e425ae4eaf210d49b95 Author: Greg Rose Date: Fri Mar 19 02:59:52 2010 +0000 ixgbevf: Fix VF Stats accounting after reset The counters in the 82599 Virtual Function are not clear on read. They accumulate to the maximum value and then roll over. They are also not cleared when the VF executes a soft reset, so it is possible they are non-zero when the driver loads and starts. This has all been accounted for in the code that keeps the stats up to date but there is one case that is not. When the PF driver is reset the counters in the VF are all reset to zero. This adds an additional accounting overhead into the VF driver when the PF is reset under its feet. This patch adds additional counters that are used by the VF driver to accumulate and save stats after a PF reset has been detected. Prior to this patch displaying the stats in the VF after the PF has reset would show bogus data. Signed-off-by: Greg Rose Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit fd3686a842717b890fbe3024b83a616c54d5dba0 Author: Mallikarjuna R Chilakala Date: Fri Mar 19 04:41:33 2010 +0000 ixgbe: Set IXGBE_RSC_CB(skb)->DMA field to zero after unmapping the address As per Simon Horman's feedback set IXGBE_RSC_CB(skb)->dma to zero after unmapping HWRSC DMA address to avoid double freeing. Signed-off-by: Mallikarjuna R Chilakala Acked-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 936332b8e00103fc20eb7e915c9a3bcb2835a11a Author: Vasu Dev Date: Fri Mar 19 04:33:10 2010 +0000 ixgbe: fix for real_num_tx_queues update issue Currently netdev_features_change is called before fcoe tx queues setup is done, so this patch moves calling of netdev_features_change after tx queues setup is done in ixgbe_init_interrupt_scheme, so that real_num_tx_queues is updated correctly on each fcoe enable or disable. This allows additional fcoe queues updated correctly in vlan driver for their correct queue selection. Signed-off-by: Vasu Dev Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 97e3ecd112ba45eb217cddab59f48659bc15d9d0 Author: stephen hemminger Date: Thu Mar 18 11:27:32 2010 +0000 TCP: check min TTL on received ICMP packets This adds RFC5082 checks for TTL on received ICMP packets. It adds some security against spoofed ICMP packets disrupting GTSM protected sessions. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 10414444cb8a8ee8893e00390b7cf40502e28352 Author: Herbert Xu Date: Thu Mar 18 23:00:22 2010 +0000 ipv6: Remove redundant dst NULL check in ip6_dst_check As the only path leading to ip6_dst_check makes an indirect call through dst->ops, dst cannot be NULL in ip6_dst_check. This patch removes this check in case it misleads people who come across this code. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d11a4dc18bf41719c9f0d7ed494d295dd2973b92 Author: Timo Teräs Date: Thu Mar 18 23:20:20 2010 +0000 ipv4: check rt_genid in dst_check Xfrm_dst keeps a reference to ipv4 rtable entries on each cached bundle. The only way to renew xfrm_dst when the underlying route has changed, is to implement dst_check for this. This is what ipv6 side does too. The problems started after 87c1e12b5eeb7b30b4b41291bef8e0b41fc3dde9 ("ipsec: Fix bogus bundle flowi") which fixed a bug causing xfrm_dst to not get reused, until that all lookups always generated new xfrm_dst with new route reference and path mtu worked. But after the fix, the old routes started to get reused even after they were expired causing pmtu to break (well it would occationally work if the rtable gc had run recently and marked the route obsolete causing dst_check to get called). Signed-off-by: Timo Teras Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 220bf991b0366cc50a94feede3d7341fa5710ee4 Author: Linus Torvalds Date: Fri Mar 19 18:17:57 2010 -0700 Linux 2.6.34-rc2 commit e4d806377b069881f930089bf880918d3ad555ab Merge: b50df7d 3f7581d Author: Linus Torvalds Date: Fri Mar 19 18:16:20 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: serial: sh-sci: remove duplicated #include sh: Export uncached helper symbols. sh: Fix up NUMA build for 29-bit. serial: sh-sci: Fix build failure for non-sh architectures. sh: Fix up uncached offset for legacy 29-bit mode. sh: Support CPU affinity masks for INTC controllers. commit b50df7d1fb37eb6aea87590b391d7111fde87121 Merge: 352d465 bcf59e2 Author: Linus Torvalds Date: Fri Mar 19 18:14:22 2010 -0700 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb * 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb: uwb: remove duplicate cpu_to_le16() uwb: declare MODULE_FIRMWARE() in i1480 DFU driver uwb: make USB device id table constant uwb: wlp: refactor wlp_get_() macros commit b23179681c90a55e2a2083e1dde9f727ecffb2b7 Author: Tao Ma Date: Fri Mar 19 15:04:24 2010 +0800 ocfs2: Init meta_ac properly in ocfs2_create_empty_xattr_block. You can't store a pointer that you haven't filled in yet and expect it to work. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit dfe4d3d6a6f707fff1dbfd4b8fce65e64a91b809 Author: Tao Ma Date: Fri Mar 19 15:04:23 2010 +0800 ocfs2: Fix the update of name_offset when removing xattrs When replacing a xattr's value, in some case we wipe its name/value first and then re-add it. The wipe is done by ocfs2_xa_block_wipe_namevalue() when the xattr is in the inode or block. We currently adjust name_offset for all the entries which have (offset < name_offset). This does not adjust the entrie we're replacing. Since we are replacing the entry, we don't adjust the total entry count. When we calculate a new namevalue location, we trust the entries now-wrong offset in ocfs2_xa_get_free_start(). The solution is to also adjust the name_offset for the replaced entry, allowing ocfs2_xa_get_free_start() to calculate the new namevalue location correctly. The following script can trigger a kernel panic easily. echo 'y'|mkfs.ocfs2 --fs-features=local,xattr -b 4K $DEVICE mount -t ocfs2 $DEVICE $MNT_DIR FILE=$MNT_DIR/$RANDOM for((i=0;i<76;i++)) do string_76="a$string_76" done string_78="aa$string_76" string_82="aaaa$string_78" touch $FILE setfattr -n 'user.test1234567890' -v $string_76 $FILE setfattr -n 'user.test1234567890' -v $string_78 $FILE setfattr -n 'user.test1234567890' -v $string_82 $FILE Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 035a02c1e1de31888e8b6adac0ff667971ac04db Author: Andreas Herrmann Date: Fri Mar 19 12:09:22 2010 +0100 x86, amd: Restrict usage of c1e_idle() Currently c1e_idle returns true for all CPUs greater than or equal to family 0xf model 0x40. This covers too many CPUs. Meanwhile a respective erratum for the underlying problem was filed (#400). This patch adds the logic to check whether erratum #400 applies to a given CPU. Especially for CPUs where SMI/HW triggered C1e is not supported, c1e_idle() doesn't need to be used. We can check this by looking at the respective OSVW bit for erratum #400. Cc: # .32.x .33.x Signed-off-by: Andreas Herrmann LKML-Reference: <20100319110922.GA19614@alberich.amd.com> Signed-off-by: H. Peter Anvin commit 352d4657b23fbd329efccc396000a549e0150907 Merge: 95c46af 5286944 Author: Linus Torvalds Date: Fri Mar 19 13:49:29 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6: alpha: fix compile errors in dma-mapping-common.h alpha: remove trailing spaces in messages alpha: use __ratelimit commit 95c46afe6034d15bdf0f95d69f25489cecad9a47 Merge: cf3966b 191aee5 Author: Linus Torvalds Date: Fri Mar 19 13:42:43 2010 -0700 Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: powerpc: Remove IOMMU_VMERGE config option powerpc: Fix swiotlb to respect the boot option powerpc: Do not call prink when CONFIG_PRINTK is not defined powerpc: Use correct ccr bit for syscall error status powerpc/fsl-booke: Get coherent bit from PTE powerpc/85xx: Make sure lwarx hint isn't set on ppc32 commit cf3966bf6ecfe25a75d625771e327b84878bc09d Merge: 8dba8f9 17cf444 Author: Linus Torvalds Date: Fri Mar 19 13:42:00 2010 -0700 Merge branch 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'zerolen' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: Delete zero-length file drivers/mtd/maps/omap_nor.c commit 8dba8f949492cf2ffb32c1c2fbfe12c3f53b1866 Merge: 2eb645e 336cee4 Author: Linus Torvalds Date: Fri Mar 19 13:40:03 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: tty_port,usb-console: Fix usb serial console open/close regression tty: cpm_uart: use resource_size() tty_buffer: Fix distinct type warning hvc_console: Fix race between hvc_close and hvc_remove uartlite: Fix build on sparc. tty: Take a 256 byte padding into account when buffering below sub-page units Revert "tty: Add a new VT mode which is like VT_PROCESS but doesn't require a VT_RELDISP ioctl call" commit 2eb645e7b5662da47646f76b41b4141f2c9bf13a Merge: 8fdb7e9 12ee3c0 Author: Linus Torvalds Date: Fri Mar 19 13:39:42 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: driver core: numa: fix BUILD_BUG_ON for node_read_distance driver-core: document ERR_PTR() return values kobject: documentation: Update to refer to kset-example.c. sysdev: the cpu probe/release attributes should be sysdev_class_attributes kobject: documentation: Fix erroneous example in kobject doc. driver-core: fix missing kernel-doc in firmware_class Driver core: Early platform kernel-doc update sysfs: fix sysfs lockdep warning in mlx4 code sysfs: fix sysfs lockdep warning in infiniband code sysfs: fix sysfs lockdep warning in ipmi code sysfs: Initialised pci bus legacy_mem field before use sysfs: use sysfs_bin_attr_init in firmware class driver commit 8fdb7e9f612b7c6ba6c3ba460c14263b5ce90f79 Merge: fc7f99c 4cb80cd Author: Linus Torvalds Date: Fri Mar 19 13:39:21 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (45 commits) USB: gadget/multi: cdc_do_config: remove redundant check usb: r8a66597-hcd: fix removed from an attached hub USB: xhci: Make endpoint interval debugging clearer. USB: Fix usb_fill_int_urb for SuperSpeed devices USB: cp210x: Remove double usb_control_msg from cp210x_set_config USB: Remove last bit of CONFIG_USB_BERRY_CHARGE USB: gadget: add gadget controller number for s3c-hsotg driver USB: ftdi_sio: Fix locking for change_speed() function USB: g_mass_storage: fixed module name in Kconfig USB: gadget: f_mass_storage::fsg_bind(): fix error handling USB: g_mass_storage: fix section mismatch warnings USB: gadget: fix Blackfin builds after gadget cleansing USB: goku_udc: remove potential null dereference USB: option.c: Add Pirelli VID/PID and indicate Pirelli's modem interface is 0xff USB: serial: Fix module name typo for qcaux Kconfig entry. usb: cdc-wdm: Fix deadlock between write and resume usb: cdc-wdm: Fix order in disconnect and fix locking usb: cdc-wdm:Fix loss of data due to autosuspend usb: cdc-wdm: Fix submission of URB after suspension usb: cdc-wdm: Fix race between disconnect and debug messages ... commit 7c9e2b1c4784c6e574f69dbd904b2822f2e04d6e Author: Dean Nelson Date: Tue Mar 9 22:26:55 2010 -0500 PCI: cleanup error return for pcix get and set mmrbc functions pcix_get_mmrbc() returns the maximum memory read byte count (mmrbc), if successful, or an appropriate error value, if not. Distinguishing errors from correct values and understanding the meaning of an error can be somewhat confusing in that: correct values: 512, 1024, 2048, 4096 errors: -EINVAL -22 PCIBIOS_FUNC_NOT_SUPPORTED 0x81 PCIBIOS_BAD_VENDOR_ID 0x83 PCIBIOS_DEVICE_NOT_FOUND 0x86 PCIBIOS_BAD_REGISTER_NUMBER 0x87 PCIBIOS_SET_FAILED 0x88 PCIBIOS_BUFFER_TOO_SMALL 0x89 The PCIBIOS_ errors are returned from the PCI functions generated by the PCI_OP_READ() and PCI_OP_WRITE() macros. In a similar manner, pcix_set_mmrbc() also returns the PCIBIOS_ error values returned from pci_read_config_[word|dword]() and pci_write_config_word(). Following pcix_get_max_mmrbc()'s example, the following patch simply returns -EINVAL for all PCIBIOS_ errors encountered by pcix_get_mmrbc(), and -EINVAL or -EIO for those encountered by pcix_set_mmrbc(). This simplification was chosen in light of the fact that none of the current callers of these functions are interested in the specific type of error encountered. In the future, should this change, one could simply create a function that maps each PCIBIOS_ error to a corresponding unique errno value, which could be called by pcix_get_max_mmrbc(), pcix_get_mmrbc(), and pcix_set_mmrbc(). Additionally, this patch eliminates some unnecessary variables. Cc: stable@kernel.org Signed-off-by: Dean Nelson Signed-off-by: Jesse Barnes commit bdc2bda7c4dd253026cc1fce45fc939304749029 Author: Dean Nelson Date: Tue Mar 9 22:26:48 2010 -0500 PCI: fix access of PCI_X_CMD by pcix get and set mmrbc functions An e1000 driver on a system with a PCI-X bus was always being returned a value of 135 from both pcix_get_mmrbc() and pcix_set_mmrbc(). This value reflects an error return of PCIBIOS_BAD_REGISTER_NUMBER from pci_bus_read_config_dword(,, cap + PCI_X_CMD,). This is because for a dword, the following portion of the PCI_OP_READ() macro: if (PCI_##size##_BAD) return PCIBIOS_BAD_REGISTER_NUMBER; expands to: if (pos & 3) return PCIBIOS_BAD_REGISTER_NUMBER; And is always true for 'cap + PCI_X_CMD', which is 0xe4 + 2 = 0xe6. ('cap' is the result of calling pci_find_capability(, PCI_CAP_ID_PCIX).) The same problem exists for pci_bus_write_config_dword(,, cap + PCI_X_CMD,). In both cases, instead of calling _dword(), _word() should be called. Cc: stable@kernel.org Signed-off-by: Dean Nelson Signed-off-by: Jesse Barnes commit ded1d8f29b4d315a2093cafc3ee17ac870a87972 Author: Paul Mundt Date: Thu Mar 11 14:08:33 2010 -0800 PCI: kill off pci_register_set_vga_state() symbol export. When pci_register_set_vga_state() was made __init, the EXPORT_SYMBOL() was retained, which now leaves us with a section mismatch. Signed-off-by: Paul Mundt Cc: Mike Travis Signed-off-by: Andrew Morton Signed-off-by: Jesse Barnes commit 25daeb550b69e89aff59bc6a84218a12b5203531 Author: Dean Nelson Date: Tue Mar 9 22:26:40 2010 -0500 PCI: fix return value from pcix_get_max_mmrbc() For the PCI_X_STATUS register, pcix_get_max_mmrbc() is returning an incorrect value, which is based on: (stat & PCI_X_STATUS_MAX_READ) >> 12 Valid return values are 512, 1024, 2048, 4096, which correspond to a 'stat' (masked and right shifted by 21) of 0, 1, 2, 3, respectively. A right shift by 11 would generate the correct return value when 'stat' (masked and right shifted by 21) has a value of 1 or 2. But for a value of 0 or 3 it's not possible to generate the correct return value by only right shifting. Fix is based on pcix_get_mmrbc()'s similar dealings with the PCI_X_CMD register. Cc: stable@kernel.org Signed-off-by: Dean Nelson Signed-off-by: Jesse Barnes commit 17cf4442497cb2551eae1dedee638515db47c23e Author: Jeff Garzik Date: Fri Mar 19 14:25:45 2010 -0400 Delete zero-length file drivers/mtd/maps/omap_nor.c The content was deleted in cc87edb173effdf74e680ee6d622a935ff0c1d6f, but the file remained as a zero-length file. Signed-off-by: Jeff Garzik commit d812e575822a2b7ab1a7cadae2571505ec6ec2bd Author: Trond Myklebust Date: Fri Mar 19 13:55:17 2010 -0400 NFS: Prevent another deadlock in nfs_release_page() We should not attempt to free the page if __GFP_FS is not set. Otherwise we can deadlock as per http://bugzilla.kernel.org/show_bug.cgi?id=15578 Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit fc7f99cf36ebae853639dabb43bc2f0098c59aef Merge: 0a492fd f1a3d57 Author: Linus Torvalds Date: Fri Mar 19 09:43:06 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (205 commits) ceph: update for write_inode API change ceph: reset osd after relevant messages timed out ceph: fix flush_dirty_caps race with caps migration ceph: include migrating caps in issued set ceph: fix osdmap decoding when pools include (removed) snaps ceph: return EBADF if waiting for caps on closed file ceph: set osd request message front length correctly ceph: reset front len on return to msgpool; BUG on mismatched front iov ceph: fix snaptrace decoding on cap migration between mds ceph: use single osd op reply msg ceph: reset bits on connection close ceph: remove bogus mds forward warning ceph: remove fragile __map_osds optimization ceph: fix connection fault STANDBY check ceph: invalidate_authorizer without con->mutex held ceph: don't clobber write return value when using O_SYNC ceph: fix client_request_forward decoding ceph: drop messages on unregistered mds sessions; cleanup ceph: fix comments, locking in destroy_inode ceph: move dereference after NULL test ... Fix trivial conflicts in Documentation/ioctl/ioctl-number.txt commit 0a492fdef8aa241f6139e6455e852cc710ae8ed1 Merge: 3971047 8212cf7 Author: Linus Torvalds Date: Fri Mar 19 09:36:18 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: cifs: trivial white space [CIFS] checkpatch cleanup cifs: add cifs_revalidate_file cifs: add a CIFSSMBUnixQFileInfo function cifs: add a CIFSSMBQFileInfo function cifs: overhaul cifs_revalidate and rename to cifs_revalidate_dentry commit 8727b909bb2348d29e62c599cd7a5d610da3760f Author: Daniel Mack Date: Sun Feb 28 10:42:38 2010 +0800 ASoC: pxa-pcm-lib: initialize DMA channel to -1 This fixes a warning ("pxa_free_dma: trying to free channel 0 which is already freed") when a device was opened but the hw_params() call failed. Signed-off-by: Daniel Mack Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 4cb80cda51ff950614701fb30c9d4e583fe5a31f Author: Peter Korsgaard Date: Fri Mar 12 12:33:15 2010 +0100 USB: gadget/multi: cdc_do_config: remove redundant check cdc_do_config() had a double ret check after fsg_add(). Signed-off-by: Peter Korsgaard Signed-off-by: Greg Kroah-Hartman commit d835933436ac0d1e8f5b35fe809fd4e767e55d6e Author: Yoshihiro Shimoda Date: Tue Mar 16 12:29:35 2010 +0900 usb: r8a66597-hcd: fix removed from an attached hub fix the problem that when a USB hub is attached to the r8a66597-hcd and a device is removed from that hub, it's likely that a kernel panic follows. Reported-by: Markus Pietrek Signed-off-by: Yoshihiro Shimoda Cc: stable Signed-off-by: Greg Kroah-Hartman commit 9ce669a8924c61b7321d6e2f27ed67bcd46c1fbb Author: Sarah Sharp Date: Tue Mar 16 12:59:24 2010 -0700 USB: xhci: Make endpoint interval debugging clearer. The xHCI hardware can only handle polling intervals that are a power of two. When we add a new endpoint during a bandwidth allocation, and the polling interval is rounded down to a power of two, print the original polling interval in the endpoint descriptor. Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit f09a15e6e69884cedec4d1c022089a973aa01f1e Author: Matthew Wilcox Date: Tue Mar 16 12:55:44 2010 -0700 USB: Fix usb_fill_int_urb for SuperSpeed devices USB 3 and Wireless USB specify a logarithmic encoding of the endpoint interval that matches the USB 2 specification. usb_fill_int_urb() didn't know that and was filling in the interval as if it was USB 1.1. Fix usb_fill_int_urb() for SuperSpeed devices, but leave the wireless case alone, because David Vrabel wants to keep the old encoding. Update the struct urb kernel doc to note that SuperSpeed URBs must have urb->interval specified in microframes. Add a missing break statement in the usb_submit_urb() interrupt URB checking, since wireless USB and SuperSpeed USB encode urb->interval differently. This allows xHCI roothubs to actually register with khubd. Signed-off-by: Matthew Wilcox Signed-off-by: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit e549a17f698e266373f6757bd068d1e98397b4c0 Author: Michael Brunner Date: Wed Mar 10 23:26:37 2010 +0100 USB: cp210x: Remove double usb_control_msg from cp210x_set_config This patch removes a double usb_control_msg that sets the cp210x configuration registers a second time when calling cp210x_set_config. For data sizes >2 the second write gets corrupted. The patch has been created against 2.6.34-rc1, but all cp210x driver revisions are affected. Signed-off-by: Michael Brunner Signed-off-by: Greg Kroah-Hartman commit 7f56cfd253d929c06ce4ed5bfb99a8c6805075c9 Author: Christoph Egger Date: Wed Mar 10 12:33:11 2010 +0100 USB: Remove last bit of CONFIG_USB_BERRY_CHARGE One last bit was missed while removing the USB_BERRY_CHARGE config option in a8d4211f33a9573f7b1bdcfd9c9c48631d1515ee which gets dropped by this patch. Signed-off-by: Christoph Egger Signed-off-by: Greg Kroah-Hartman commit 83ba11d93434e6f0cc2e060336b0b19a3f687fa3 Author: Maurus Cuelenaere Date: Mon Mar 8 18:20:59 2010 +0100 USB: gadget: add gadget controller number for s3c-hsotg driver This prevents some drivers from complaining that no bcdDevice id was set. Signed-off-by: Maurus Cuelenaere Signed-off-by: Greg Kroah-Hartman commit 9c67d28e4e7683b4f667fa4c7b6f9aee92b44b5c Author: Alessio Igor Bogani Date: Sat Mar 13 18:35:14 2010 +0100 USB: ftdi_sio: Fix locking for change_speed() function The change_speed() function should be serialized against multiple calls. Use the cfg_lock mutex to do this. Signed-off-by: Alessio Igor Bogani Signed-off-by: Greg Kroah-Hartman commit 11b10d999469dc0514447a15e88c7ef14ec0761d Author: Michal Nazarewicz Date: Mon Mar 15 11:10:23 2010 +0100 USB: g_mass_storage: fixed module name in Kconfig The Kconfig help message for Mass Storage Gadget claimed the module will be named "g_file_storage" whereas it should be "g_mass_storage". Signed-off-by: Michal Nazarewicz Cc: Kyungmin Park Signed-off-by: Greg Kroah-Hartman commit f479d70b4f7674083c2e3c3e603b15811713fb18 Author: Peter Korsgaard Date: Fri Mar 12 15:55:28 2010 +0100 USB: gadget: f_mass_storage::fsg_bind(): fix error handling Contrary to the comment in fsg_add, fsg_bind calls fsg_unbind on errors, which decreases refcount and frees the fsg_dev structure, causing trouble when fsg_add does the same. Fix it by simply leaving up cleanup to fsg_add(). Signed-off-by: Peter Korsgaard Acked-by: Michal Nazarewicz Signed-off-by: Greg Kroah-Hartman commit f88f6691b73a35b0c6dcabb9e587aa4c63d09010 Author: Mike Frysinger Date: Sun Mar 7 10:36:27 2010 -0500 USB: g_mass_storage: fix section mismatch warnings The recent commit (0e530b45783f75) that moved usb_ep_autoconfig from the __devinit section to the __init section missed the mass storage device. Its fsg_bind() function uses the usb_ep_autoconfig() function from non __init context leading to: WARNING: drivers/usb/gadget/g_mass_storage.o(.text): Section mismatch in reference from the function _fsg_bind() to the function .init.text:_usb_ep_autoconfig() So move fsg_bind() into __init as well. Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit f2984a333fb5e325d478950c9d8af3693869e69c Author: Mike Frysinger Date: Tue Mar 9 00:35:22 2010 -0500 USB: gadget: fix Blackfin builds after gadget cleansing The recent change to clean out dead gadget drivers (90f7976880bbbf99) missed the call to gadget_is_musbhsfc() behind CONFIG_BLACKFIN. This causes Blackfin gadget builds to fail since the function no longer exists anywhere. Signed-off-by: Mike Frysinger Signed-off-by: Greg Kroah-Hartman commit 872f8b42544c58dfa241956d220ada115a8e93c7 Author: Dan Carpenter Date: Sat Mar 6 14:08:56 2010 +0300 USB: goku_udc: remove potential null dereference "dev" is always null here. In the end it's only used to get the pci_name() of "pdev" which is redundant information and so I removed it. Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman commit 33c387529b7931248c6637bf9720ac7504a0b28b Author: spark Date: Fri Mar 5 14:18:05 2010 +0800 USB: option.c: Add Pirelli VID/PID and indicate Pirelli's modem interface is 0xff Signed-off-by: spark Signed-off-by: Greg Kroah-Hartman commit 510607db7e2ad5078c554911418a71b469886076 Author: Stefan Schmidt Date: Wed Mar 3 19:37:12 2010 +0100 USB: serial: Fix module name typo for qcaux Kconfig entry. The module is called qcaux and not moto_modem. Also use help instead of ---help-- to be in sync with the other Kconfig entries. Signed-off-by: Stefan Schmidt Signed-off-by: Greg Kroah-Hartman commit 338124c1f18c2c737656ac58735f040d90b23d8c Author: Oliver Neukum Date: Sat Feb 27 20:57:12 2010 +0100 usb: cdc-wdm: Fix deadlock between write and resume The new runtime PM scheme allows resume() to have no locks. This fixes the deadlock. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit d93d16e9aa58887feadd999ea26b7b8139e98b56 Author: Oliver Neukum Date: Sat Feb 27 20:56:47 2010 +0100 usb: cdc-wdm: Fix order in disconnect and fix locking - as the callback can schedule work, URBs must be killed first - if the driver causes an autoresume, the caller must handle locking Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 62e6685470fb04fb7688ecef96c39160498721d5 Author: Oliver Neukum Date: Sat Feb 27 20:56:22 2010 +0100 usb: cdc-wdm:Fix loss of data due to autosuspend The guarding flag must be set and tested under spinlock and cleared before the URBs are resubmitted in resume. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit beb1d35f1690fe27694472a010a8e4a9ae11cc50 Author: Oliver Neukum Date: Sat Feb 27 20:55:52 2010 +0100 usb: cdc-wdm: Fix submission of URB after suspension There's a window under which cdc-wdm may submit an URB to a device about to be suspended. This introduces a flag to prevent it. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit d855fe2e9c19edaa47baba0e7f95e17f7a24dba8 Author: Oliver Neukum Date: Sat Feb 27 20:55:26 2010 +0100 usb: cdc-wdm: Fix race between disconnect and debug messages dev_dbg() and dev_err() cannot be used to report failures that may have been caused by a device's removal Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 922a5eadd5a3aa0b806be0c18694b618d41d0784 Author: Oliver Neukum Date: Sat Feb 27 20:54:59 2010 +0100 usb: cdc-wdm: Fix race between autosuspend and reading from the device While an available response is read the device must not be autosuspended. This requires a flag dedicated to that purpose. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 860e41a71c1731e79e1920dc42676bafc925af5e Author: Oliver Neukum Date: Sat Feb 27 20:54:24 2010 +0100 usb: cdc-wdm: Fix race between write and disconnect Unify mutexes to fix a race between write and disconnect and shift the test for disconnection to always report it. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit aa4714560b4ea359bb7830188ebd06bce71bcdea Author: Felipe Balbi Date: Fri Mar 12 10:27:24 2010 +0200 usb: musb: core: declare mbase only where it's used ... and avoid a compilation if we disable host side of musb. Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 7f4bca4049941ba8dac35775fe462d4ef9f0dce4 Author: Mike Frysinger Date: Fri Mar 12 10:27:23 2010 +0200 USB: musb: fix warnings in Blackfin regs The recent commit "usb: musb: Add context save and restore support" added some stubs for the Blackfin code so things would compile, but it also added a bunch of warnings due to missing return statements. Signed-off-by: Mike Frysinger Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit adb3ee421d6d39fbfadadf7093a587461ac4597e Author: Mike Frysinger Date: Fri Mar 12 10:27:21 2010 +0200 usb: musb: abstract out ULPI_BUSCONTROL register reads/writes The USB PHY on current Blackfin processors is a UTMI+ level 2 PHY. However, it has no ULPI support - so there are no registers at all. That means accesses to ULPI_BUSCONTROL have to be abstracted away like other MUSB registers. This fixes building for Blackfin parts again. Signed-off-by: Mike Frysinger Acked-by: Anand Gadiyar Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 9957dd97ec5e98dd334f87ade1d9a0b24d1f86eb Author: Tony Lindgren Date: Fri Mar 12 10:35:20 2010 +0200 usb: musb: Fix compile error for omaps for musb_hdrc CONFIG_ARCH_OMAP34XX is now CONFIG_ARCH_OMAP3. But since drivers/usb/musb/omap2430.c use CONFIG_PM for these registers and functions, do the same for the header. Otherwise we get the following for most omap3 defconfigs: drivers/usb/musb/omap2430.c:261: error: expected identifier or '(' before 'do' drivers/usb/musb/omap2430.c:261: error: expected identifier or '(' before 'while' drivers/usb/musb/omap2430.c:268: error: expected identifier or '(' before 'do' drivers/usb/musb/omap2430.c:268: error: expected identifier or '(' before 'while' Signed-off-by: Tony Lindgren Signed-off-by: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit fa7bf3424ead0a496f5176abb3253b8176bb2935 Author: Grant Likely Date: Thu Mar 11 15:06:54 2010 -0700 usb/gadget: fix compile error on r8a66597-udc.c C file uses IS_ERR and PTR_ERR, but doesn't include Signed-off-by: Grant Likely Signed-off-by: Greg Kroah-Hartman commit 1e63ef0e0c2cfb5deb9331420c9857fbe04bea73 Author: Oliver Neukum Date: Fri Mar 12 11:27:21 2010 +0100 USB: Fix documentation for avoid_reset_quirk The name used in the documentation doesn't match reality. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 3b04872aa75006e2a4adaaec21e9c9ede8b8ad9d Author: Nathaniel McCallum Date: Thu Mar 11 13:09:26 2010 -0500 USB: option: add support for a new CMOTECH device to usb/serial/option Signed-off-by: Nathaniel McCallum Cc: stable Signed-off-by: Greg Kroah-Hartman commit bb73ed2a268a29ab1b7d8cc50b5f248578e7e188 Author: Nathaniel McCallum Date: Thu Mar 11 13:01:17 2010 -0500 USB: option: move hardcoded PID to a macro in usb/serial/option Signed-off-by: Nathaniel McCallum Cc: stable Signed-off-by: Greg Kroah-Hartman commit eaff4cdc978f414cf7b5441a333de3070d80e9c7 Author: Nathaniel McCallum Date: Thu Mar 11 13:09:24 2010 -0500 USB: option: fix incorrect manufacturer name in usb/serial/option: MAXON->CMOTECH Signed-off-by: Nathaniel McCallum Cc: stable Signed-off-by: Greg Kroah-Hartman commit dee5658b482e9e2ac7d6205dc876fc11d4008138 Author: Daniel Sangorrin Date: Thu Mar 11 14:10:58 2010 -0800 USB: serial: ftdi: add CONTEC vendor and product id This is a patch to ftdi_sio_ids.h and ftdi_sio.c that adds identifiers for CONTEC USB serial converter. I tested it with the device COM-1(USB)H [akpm@linux-foundation.org: keep the VIDs sorted a bit] Signed-off-by: Daniel Sangorrin Cc: Andreas Mohr Cc: Radek Liboska Cc: stable Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 1d68064a7d80da4a7334cab0356162e36229c1a1 Author: Andiry Xu Date: Fri Mar 12 17:10:04 2010 +0800 USB: xHCI: re-initialize cmd_completion When a signal interrupts a Configure Endpoint command, the cmd_completion used in xhci_configure_endpoint() is not re-initialized and the wait_for_completion_interruptible_timeout() will return failure. Initialize cmd_completion in xhci_configure_endpoint(). Signed-off-by: Andiry Xu Signed-off-by: Sarah Sharp Cc: stable Signed-off-by: Greg Kroah-Hartman commit bc75fa3825cdbbdeee3a65d91cc5583bdfe41edf Author: Alex Chiang Date: Tue Mar 16 14:48:45 2010 -0600 USB: xhci: rename driver to xhci_hcd Naming consistency with other USB HCDs. Signed-off-by: Alex Chiang Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit ae926976ac362efc9db2365a07891cc52414f2ec Author: Sonic Zhang Date: Mon Mar 8 11:26:01 2010 -0500 USB: musb: fix build error introduced by isoc change The recent commit "usb: musb: Fix for isochronous IN transfer" (f82a689fa) seems to have been against an older kernel version. It uses the old style naming of variables. Unfortunately, this breaks building for most MUSB users out there since "bDesiredMode" has been renamed to "desired_mode". Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger Acked-by: Felipe Balbi Acked-by: Anand Gadiyar Signed-off-by: Greg Kroah-Hartman commit 0725e95ea56698774e893edb7e7276b1d6890954 Author: Bernhard Rosenkraenzer Date: Wed Mar 10 12:36:43 2010 +0100 USB: qcserial: add new device ids This patch adds various USB device IDs for Gobi 2000 devices, as found in the drivers available at https://www.codeaurora.org/wiki/GOBI_Releases Signed-off-by: Bernhard Rosenkraenzer Cc: stable Signed-off-by: Greg Kroah-Hartman commit f0730924e9e32bb8935c60040a26d94179355088 Author: Oliver Neukum Date: Wed Mar 3 00:37:56 2010 +0100 USB: cdc-acm: Fix stupid NULL pointer in resume() Stupid logic bug passing a just nulled pointer Signed-off-by: Oliver Neukum Cc: stable Signed-off-by: Greg Kroah-Hartman commit 1082f57abfa26590b60c43f503afb24102a37016 Author: Clemens Ladisch Date: Mon Mar 1 17:18:56 2010 +0100 USB: EHCI: adjust ehci_iso_stream for changes in ehci_qh The EHCI driver stores in usb_host_endpoint.hcpriv a pointer to either an ehci_qh or an ehci_iso_stream structure, and uses the contents of the hw_info1 field to distinguish the two cases. After ehci_qh was split into hw and sw parts, ehci_iso_stream must also be adjusted so that it again looks like an ehci_qh structure. This fixes a NULL pointer access in ehci_endpoint_disable() when it tries to access qh->hw->hw_info1. Signed-off-by: Clemens Ladisch Reported-by: Colin Fletcher Cc: stable Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 92bc3648e6027384479852b770a542722fadee7c Author: Clemens Ladisch Date: Mon Mar 1 09:12:50 2010 +0100 USB: EHCI: fix ITD list order When isochronous URBs are shorter than one frame and when more than one ITD in a frame has been completed before the interrupt can be handled, scan_periodic() completes the URBs in the order in which they are found in the descriptor list. Therefore, the descriptor list must contain the ITDs in the correct order, i.e., a new ITD must be linked in after any previous ITDs of the same endpoint. This should fix garbled capture data in the USB audio drivers. Signed-off-by: Clemens Ladisch Reported-by: Colin Fletcher Cc: stable Signed-off-by: Greg Kroah-Hartman commit bf162019b7f5bda9eb3241ae22de831df2126132 Author: Huang Ying Date: Sun Feb 28 13:51:29 2010 +0800 USB: Option: Add support for a variant of DLink DWM 652 U5 I found a DLink DWM 652 U5 USB 3G modem has product ID 0xce1e instead of orignal 0xce16. The new ID is added. And I found there are two entries for 0xce16, one has raw number, the other has symbol DLINK_PRODUCT_DWM_652_U5. This is fixed too. Signed-off-by: Huang Ying Signed-off-by: Greg Kroah-Hartman commit cd0e8aa1f4d36ece677b8ecf270ba921843dc6ca Author: Ondrej Zary Date: Sat Feb 27 22:56:28 2010 +0100 USB: unusual_devs.h: Fix capacity for SL11R-IDE 2.6c SL11R-IDE 2.6c (at least) reports wrong capacity (one sector more). Reading that last sector causes the device not to work anymore (and looks like HAL or something does that automatically after plugging in): sd 5:0:0:0: [sdc] Device not ready sd 5:0:0:0: [sdc] Result: hostbyte=0x00 driverbyte=0x08 sd 5:0:0:0: [sdc] Sense Key : 0x2 [current] sd 5:0:0:0: [sdc] ASC=0x0 ASCQ=0x0 sd 5:0:0:0: [sdc] CDB: cdb[0]=0x28: 28 00 04 a8 b5 70 00 00 01 00 Add unusual_devs entry to fix the capacity. Signed-off-by: Ondrej Zary Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit eb8878a881c306ff3eab6e741ab8fc94096f4e1a Author: Johan Hovold Date: Sat Feb 27 16:24:49 2010 +0100 USB: serial: use port endpoint size to determine if ep is available It is possible to have a multi-port device with a port lacking an in or out bulk endpoint. Only checking for num_bulk_in or num_bulk_out is thus not sufficient to determine whether a specific port has an in or out bulk endpoint. This fixes potential null pointer dereferences in the generic open and write routines, as well as access to uninitialised fifo in write_room and chars_in_buffer. Also let write fail with ENODEV (instead of 0) on missing out endpoint (also on zero-length writes). Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman commit 6313620228624ff4dcb78b1dbd459d0c208df126 Author: Johan Hovold Date: Sat Feb 27 14:06:07 2010 +0100 USB: serial: fix softint not being called on errors Make sure usb_serial_port_softint is called on errors also when using multi urb writes. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman commit 0ae1474367a15e1b65a9deed3a73a14475a419fc Author: Johan Hovold Date: Sat Feb 27 14:05:46 2010 +0100 USB: serial: fix error message on close in generic driver Resubmitting read urb fails with -EPERM if completion handler runs while urb is being killed on close. This should not be reported as an error. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman commit 7152b592593b9d48b33f8997b1dfd6df9143f7ec Author: Alan Stern Date: Sat Mar 6 15:04:03 2010 -0500 USB: fix usbfs regression This patch (as1352) fixes a bug in the way isochronous input data is returned to userspace for usbfs transfers. The entire buffer must be copied, not just the first actual_length bytes, because the individual packets will be discontiguous if any of them are short. Reported-by: Markus Rechberger Signed-off-by: Alan Stern CC: stable Signed-off-by: Greg Kroah-Hartman commit 336cee42dd52824e360ab419eab4e8888eb054ec Author: Jason Wessel Date: Mon Mar 8 21:50:11 2010 -0600 tty_port,usb-console: Fix usb serial console open/close regression Commit e1108a63e10d344284011cccc06328b2cd3e5da3 ("usb_serial: Use the shutdown() operation") breaks the ability to use a usb console starting in 2.6.33. This was observed when using console=ttyUSB0,115200 as a boot argument with an FTDI device. The error is: ftdi_sio ttyUSB0: ftdi_submit_read_urb - failed submitting read urb, error -22 The handling of the ASYNCB_INITIALIZED changed in 2.6.32 such that in tty_port_shutdown() it always clears the flag if it is set. The fix is to add a variable to the tty_port struct to indicate when the tty port is a console. CC: Alan Cox CC: Alan Stern CC: Oliver Neukum CC: Andrew Morton Signed-off-by: Jason Wessel Signed-off-by: Greg Kroah-Hartman commit 231443665882a02214c3748b9f86615a3ce9e5c2 Author: Tobias Klauser Date: Thu Mar 11 14:08:18 2010 -0800 tty: cpm_uart: 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. Signed-off-by: Tobias Klauser Cc: Alan Cox Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit d4bee0a677cfa5a32f964ffa420e27406c65e605 Author: Fang Wenqi Date: Tue Mar 9 18:54:28 2010 +0800 tty_buffer: Fix distinct type warning CC drivers/char/tty_buffer.o drivers/char/tty_buffer.c: In function ‘tty_insert_flip_string_fixed_flag’: drivers/char/tty_buffer.c:251: warning: comparison of distinct pointer types lacks a cast drivers/char/tty_buffer.c: In function ‘tty_insert_flip_string_flags’: drivers/char/tty_buffer.c:288: warning: comparison of distinct pointer types lacks a cast Fix it by replacing min() with min_t() in tty_insert_flip_string_flags and tty_insert_flip_string_fixed_flag(). Signed-off-by: Fang Wenqi Signed-off-by: Greg Kroah-Hartman commit e74d098c66543d0731de62eb747ccd5b636a6f4c Author: Amit Shah Date: Fri Mar 12 11:53:15 2010 +0530 hvc_console: Fix race between hvc_close and hvc_remove Alan pointed out a race in the code where hvc_remove is invoked. The recent virtio_console work is the first user of hvc_remove(). Alan describes it thus: The hvc_console assumes that a close and remove call can't occur at the same time. In addition tty_hangup(tty) is problematic as tty_hangup is asynchronous itself.... So this can happen hvc_close hvc_remove hung up ? - no lock tty = hp->tty unlock lock hp->tty = NULL unlock notify del kref_put the hvc struct close completes tty is destroyed tty_hangup dead tty tty->ops will be NULL NULL->... This patch adds some tty krefs and also converts to using tty_vhangup(). Reported-by: Alan Cox Signed-off-by: Amit Shah CC: Alan Cox CC: linuxppc-dev@ozlabs.org CC: Rusty Russell Signed-off-by: Greg Kroah-Hartman commit f157b58511e56d418eb582de96fedc4ea03d8061 Author: David Miller Date: Wed Mar 3 02:50:26 2010 -0800 uartlite: Fix build on sparc. We can get this driver enabled via MFD_TIMBERDALE which only requires GPIO to be on. But the of_address_to_resource() function is only present on powerpc and microblaze, so we have to conditionalize the CONFIG_OF probing bits on that. Signed-off-by: David S. Miller Acked-by: Grant Likely Signed-off-by: Greg Kroah-Hartman commit 352fa6ad16b89f8ffd1a93b4419b1a8f2259feab Author: Mel Gorman Date: Tue Mar 2 22:24:19 2010 +0000 tty: Take a 256 byte padding into account when buffering below sub-page units The TTY layer takes some care to ensure that only sub-page allocations are made with interrupts disabled. It does this by setting a goal of "TTY_BUFFER_PAGE" to allocate. Unfortunately, while TTY_BUFFER_PAGE takes the size of tty_buffer into account, it fails to account that tty_buffer_find() rounds the buffer size out to the next 256 byte boundary before adding on the size of the tty_buffer. This patch adjusts the TTY_BUFFER_PAGE calculation to take into account the size of the tty_buffer and the padding. Once applied, tty_buffer_alloc() should not require high-order allocations. Signed-off-by: Mel Gorman Cc: stable Signed-off-by: Greg Kroah-Hartman commit 87a6aca504d65f242589583e04df5e74b5eae1fe Author: Greg Kroah-Hartman Date: Mon Mar 15 17:14:15 2010 -0700 Revert "tty: Add a new VT mode which is like VT_PROCESS but doesn't require a VT_RELDISP ioctl call" This reverts commit eec9fe7d1ab4a0dfac4cb43047a7657fffd0002f. Ari writes as the reason this should be reverted: The problems with this patch include: 1. There's at least one subtlety I overlooked - switching between X servers (i.e. from one X VT to another) still requires the cooperation of both X servers. I was assuming that KMS eliminated this. 2. It hasn't been tested at all (no X server patch exists which uses the new mode). As he was the original author of the patch, I'll revert it. Cc: Ari Entlich Cc: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 12ee3c0a0ac42bed0939420468fd35f5cdceae4f Author: David Rientjes Date: Wed Mar 10 14:50:21 2010 -0800 driver core: numa: fix BUILD_BUG_ON for node_read_distance node_read_distance() has a BUILD_BUG_ON() to prevent buffer overruns when the number of nodes printed will exceed the buffer length. Each node only needs four chars: three for distance (maximum distance is 255) and one for a seperating space or a trailing newline. Signed-off-by: David Rientjes Cc: Ingo Molnar Signed-off-by: Greg Kroah-Hartman commit f0eae0ed3b7d4182a6b4dd03540a738518ea3163 Author: Jani Nikula Date: Thu Mar 11 18:11:45 2010 +0200 driver-core: document ERR_PTR() return values A number of functions in the driver core return ERR_PTR() values on error. Document this in the kernel-doc of the functions. Signed-off-by: Jani Nikula Signed-off-by: Greg Kroah-Hartman commit 178a5b35b2777346206d4b577b36d10061732f8c Author: Robert P. J. Day Date: Fri Mar 12 07:30:35 2010 -0500 kobject: documentation: Update to refer to kset-example.c. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit 67fc233f4fb67907861b4077cea5294035f80dc7 Author: Stephen Rothwell Date: Tue Mar 16 10:33:32 2010 +1100 sysdev: the cpu probe/release attributes should be sysdev_class_attributes This fixes these warnings: drivers/base/cpu.c:264: warning: initialization from incompatible pointer type drivers/base/cpu.c:265: warning: initialization from incompatible pointer type Cc: Andi Kleen Signed-off-by: Stephen Rothwell Signed-off-by: Greg Kroah-Hartman commit 462bd295a3d74c7d1641501bda549bccf404be5b Author: Robert P. J. Day Date: Thu Mar 11 07:59:09 2010 -0500 kobject: documentation: Fix erroneous example in kobject doc. Replace uio_mem example for kobjects with uio_map, since the uio_mem struct no longer contains a kobject. Signed-off-by: Robert P. J. Day Signed-off-by: Greg Kroah-Hartman commit e59817bf089a3893e05a059026c668fb65f8c748 Author: Randy Dunlap Date: Wed Mar 10 11:47:58 2010 -0800 driver-core: fix missing kernel-doc in firmware_class Fix kernel-doc warning in firmware_class.c: Warning(drivers/base/firmware_class.c:94): No description found for parameter 'attr' Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 4d26e139f0b7d4c0700d6993506f1f60e2f2caa5 Author: Magnus Damm Date: Wed Mar 10 20:50:38 2010 +0900 Driver core: Early platform kernel-doc update This patch updates the kernel-doc notation for early platform functions. Signed-off-by: Magnus Damm Acked-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 3691c964fa1a8f0eb5e5f00c644ef1bdd7e35a95 Author: Greg Kroah-Hartman Date: Mon Mar 15 14:01:55 2010 -0700 sysfs: fix sysfs lockdep warning in mlx4 code This fixes a sysfs lockdep warning in the mlx4 code. Cc: Yinghai Lu Cc: Eric Biederman Signed-off-by: Greg Kroah-Hartman commit 21e3bde964e873bb5d3b1dfef68294b1437fe678 Author: Greg Kroah-Hartman Date: Mon Mar 15 14:01:25 2010 -0700 sysfs: fix sysfs lockdep warning in infiniband code This fixes a sysfs lockdep warning in the infiniband code. Cc: Yinghai Lu Cc: Eric Biederman Signed-off-by: Greg Kroah-Hartman commit c7df670bf702d1c25ae22b4cd49deb05c1e55ecc Author: Greg Kroah-Hartman Date: Mon Mar 15 13:59:51 2010 -0700 sysfs: fix sysfs lockdep warning in ipmi code This fixes a sysfs lockdep warning in the ipmi code. Thanks to Eric Biederman and Yinghai Lu for the original versions of the patch, unfortunatly they did not submit them in a form they could be applied in. Cc: Yinghai Lu Cc: Eric Biederman Signed-off-by: Greg Kroah-Hartman commit 6757eca348fbbdd4ab1020e565f325cd6a6b2698 Author: Mel Gorman Date: Wed Mar 10 22:48:34 2010 +0000 sysfs: Initialised pci bus legacy_mem field before use PPC64 is failing to boot the latest mmotm due to an uninitialised pointer in pci_create_legacy_files(). The surprise is that machines boot at all and it would appear to affect current mainline as well. This patch fixes the problem. Signed-off-by: Mel Gorman Signed-off-by: Greg Kroah-Hartman commit e1955ca0ee55286cbc65a8ed7471d540ae83dac8 Author: Jiri Kosina Date: Tue Mar 9 19:30:28 2010 +0100 sysfs: use sysfs_bin_attr_init in firmware class driver Annotate dynamic sysfs attribute in fw_setup_device(). This gets rid of the following lockdep warning: bnx2 0000:08:00.0: firmware: requesting bnx2/bnx2-mips-06-5.0.0.j6.fw BUG: key ffff880008293470 not in .data! ------------[ cut here ]------------ WARNING: at kernel/lockdep.c:2706 lockdep_init_map+0x562/0x620() Modules linked in: bnx2(+) sg tpm_bios floppy rtc_lib usb_storage i2c_piix4 joydev button container shpchp i2c_core sr_mod cdrom pci_hotplug usbhid hid ohci_hcd ehci_hcd sd_mod usbcore edd ext3 mbcache jbd fan ata_generic sata_svw pata_serverworks libata scsi_mod thermal processor Pid: 1915, comm: work_for_cpu Not tainted 2.6.34-rc1-default #81 Call Trace: [] ? lockdep_init_map+0x562/0x620 [] warn_slowpath_common+0x78/0xd0 [] warn_slowpath_null+0xf/0x20 [] lockdep_init_map+0x562/0x620 [] ? sysfs_new_dirent+0x76/0x120 [] ? put_device+0x12/0x20 [] sysfs_add_file_mode+0x6c/0xd0 [] sysfs_add_file+0xc/0x10 [] sysfs_create_bin_file+0x21/0x30 [] _request_firmware+0x2f1/0x650 [] request_firmware+0xe/0x10 [] bnx2_init_one+0x8f5/0x177e [bnx2] [] ? _raw_spin_unlock_irq+0x2b/0x40 [] ? finish_task_switch+0x69/0x100 [] ? finish_task_switch+0x0/0x100 [] ? do_work_for_cpu+0x0/0x30 [] local_pci_probe+0x12/0x20 [] do_work_for_cpu+0x13/0x30 [] ? do_work_for_cpu+0x0/0x30 [] kthread+0x96/0xa0 [] kernel_thread_helper+0x4/0x10 [] ? restore_args+0x0/0x30 [] ? kthread+0x0/0xa0 [] ? kernel_thread_helper+0x0/0x10 ---[ end trace a2ecee9c9602d195 ]--- Cc: Eric W. Biederman Cc: Greg Kroah-Hartman Signed-off-by: Jiri Kosina Signed-off-by: Greg Kroah-Hartman commit 6937c947d31186750f72c9f8c942bbcc6fe63585 Author: Mark Brown Date: Thu Mar 18 12:25:35 2010 +0000 ASoC: Bail out of wm_hubs DC servo if calibration fails We're keeping track of the number of times we've iterated but never actually using this to bail out if the chip looks stuck. Signed-off-by: Mark Brown Acked-by: Liam Girdwood commit fdb6b1e195757a66670801702e4b5fcc66ed3d72 Author: Peter Ujfalusi Date: Fri Mar 19 11:10:20 2010 +0200 ASoC: tlv320dac33: Internal clocking changes During validation of the internal clocking setup it has been found that the following settings were not configured in an optimal way: ASRC_CTRL_A: SRCLKDIV was incorrect, instad of divide ratio 3, ratio of 2 has to be used (as the comment stated) DAC_CTRL_A: Fs = Fsref is the desired configuration instead of Fs = Fsref / 1.5 Signed-off-by: Peter Ujfalusi Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 44f497b4e0bba6ce1b73a107cc13636393344252 Author: Peter Ujfalusi Date: Fri Mar 19 11:10:19 2010 +0200 ASoC: tlv320dac33: Fix DSP modes To make DSP_A mode working correctly the data delay should be configured to 0. DSP_B mode thus can not be used with DAC33, so remove it. Signed-off-by: Peter Ujfalusi Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit fc300206ad07e771ed003d35b1dc179eaf0c508f Author: Sascha Hauer Date: Fri Mar 19 11:12:02 2010 +0100 i.MX51: remove NFC AXI static mapping This area contains the Nand Flash controller registers. There is no need to map them statically as the Nand driver uses ioremap(). Signed-off-by: Sascha Hauer commit 5443856cadac7faaaeefeed9d769f497a8c6fa4b Author: Sascha Hauer Date: Fri Mar 19 10:50:55 2010 +0100 i.MX51: determine silicon revision dynamically Freescale redboot passes the silicon revision via ATAG_REVISION. Remove this bootloader dependency by doing the same as redboot does in the Kernel. Signed-off-by: Sascha Hauer commit 3d1bc8626c7b17facfcb7fb5dee4686f47a1e75d Author: Sascha Hauer Date: Thu Mar 18 16:56:30 2010 +0100 i.MX51: map TZIC dynamically This looks cleaner and allows us to call mx51_revision later when we can use ioremap to determine the silicon revision dynamically. Signed-off-by: Sascha Hauer commit 1b6a2b2d0ff2ced5fe608e0b2e13ccd2b7a283e5 Author: Sascha Hauer Date: Thu Mar 18 16:56:11 2010 +0100 i.MX51: Use correct clock for gpt The gpt uses the ipg clock, not ipg_perclk Signed-off-by: Sascha Hauer commit 48fae657f04924c06fe8c9afdb149efdd99d68dd Author: Sascha Hauer Date: Thu Mar 18 16:55:45 2010 +0100 i.MX51 Babbage: Add uncompress output Signed-off-by: Sascha Hauer commit 181fdde3b4268cb7b4af76ba6337e7ec8accbb36 Author: Richard Kennedy Date: Fri Mar 19 08:58:16 2010 +0100 block: remove 16 bytes of padding from struct request on 64bits Remove alignment padding to shrink struct request from 336 to 320 bytes so needing one fewer cacheline and therefore removing 48 bytes from struct request_queue. Signed-off-by: Richard Kennedy Signed-off-by: Jens Axboe commit b4b7a4ef097f288f724420b473dbf92a89c0ab7e Merge: e9ce335 a3d3203 Author: Jens Axboe Date: Fri Mar 19 08:05:10 2010 +0100 Merge branch 'master' into for-linus Conflicts: block/Kconfig Signed-off-by: Jens Axboe commit e9ce335df51ff782035a15c261a3c0c9892a1767 Author: Shaohua Li Date: Fri Mar 19 08:03:04 2010 +0100 cfq-iosched: fix a kbuild regression Alex Shi reported a kbuild regression which is about 10% performance lost. He bisected to this commit: 3dde36ddea3e07dd025c4c1ba47edec91606fec0. The reason is cfqq_close() can't find close cooperator. Restoring cfq_rq_close()'s threshold to original value makes the regression go away. Since for_preempt parameter isn't used anymore, this patch deletes it. Reported-by: Alex Shi Signed-off-by: Shaohua Li Acked-by: Corrado Zoccolo Signed-off-by: Jens Axboe commit 191aee58b6568cf8143901bfa3f57a9b8faa6f1c Author: FUJITA Tomonori Date: Tue Mar 2 14:25:38 2010 +0000 powerpc: Remove IOMMU_VMERGE config option The description says: Cause IO segments sent to a device for DMA to be merged virtually by the IOMMU when they happen to have been allocated contiguously. This doesn't add pressure to the IOMMU allocator. However, some drivers don't support getting large merged segments coming back from *_map_sg(). Most drivers don't have this problem; it is safe to say Y here. It's out of date. Long ago, drivers didn't have a way to tell IOMMUs about their segment length limit (that is, the maximum segment length that they can handle). So IOMMUs merged as many segments as possible and gave too large segments to drivers. dma_get_max_seg_size() was introduced to solve the above problem. Device drives can use the API to tell IOMMU about the maximum segment length that they can handle. In addition, the default limit (64K) should be safe for everyone. So this config option seems to be unnecessary. Note that this config option just enables users to disable the virtual merging by default. Users can still disable the virtual merging by the boot parameter. Signed-off-by: FUJITA Tomonori Signed-off-by: Benjamin Herrenschmidt commit a93272969c6b1d59883fcbb04845420bd72c9a20 Author: FUJITA Tomonori Date: Tue Mar 16 13:16:25 2010 +0000 powerpc: Fix swiotlb to respect the boot option powerpc initializes swiotlb before parsing the kernel boot options so swiotlb options (e.g. specifying the swiotlb buffer size) are ignored. Any time before freeing bootmem works for swiotlb so this patch moves powerpc's swiotlb initialization after parsing the kernel boot options, mem_init (as x86 does). Signed-off-by: FUJITA Tomonori Tested-by: Becky Bruce Tested-by: Albert Herranz Signed-off-by: Benjamin Herrenschmidt commit 09156a7a409cf93d1ca2706bf05d714879a5b7ea Author: Márton Németh Date: Sat Mar 6 22:43:55 2010 +0000 powerpc: Do not call prink when CONFIG_PRINTK is not defined When printk() is disabled (CONFIG_PRINTK) at menu item General setup -> Configure standard kernel features (for small systems) -> Enable support for printk then there should be no printk() calls at all. Signed-off-by: Márton Németh Signed-off-by: Benjamin Herrenschmidt commit 409d241b7bb2cf0278186040ace1c4704fb2a82f Author: Nathan Lynch Date: Fri Mar 12 13:16:02 2010 +0000 powerpc: Use correct ccr bit for syscall error status The powerpc implementations of syscall_get_error and syscall_set_return_value should use CCR0:S0 (0x10000000) for testing and setting syscall error status. Fortunately these APIs don't seem to be used at the moment. Signed-off-by: Nathan Lynch Signed-off-by: Benjamin Herrenschmidt commit d6a8536a93a3d14b6e5e3e3a59b9fb2bca6e8df2 Merge: bca14dd 9d296cf Author: Benjamin Herrenschmidt Date: Fri Mar 19 16:23:55 2010 +1100 Merge commit 'kumar/merge' into merge commit 11bc3088373e913f165a8652601c6f8b8dc4aea2 Author: Steve Glendinning Date: Thu Mar 18 22:18:41 2010 -0700 smsc95xx: Fix tx checksum offload for small packets TX checksum offload does not work properly when transmitting UDP packets with 0, 1 or 2 bytes of data. This patch works around the problem by calculating checksums for these packets in the driver. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 0ecad5a262923967147e2d1725e277a2a5fbcdd4 Author: Mallikarjuna R Chilakala Date: Thu Mar 18 15:16:56 2010 +0000 ixgbe: Fix 82599 KX4 Wake on LAN issue after an improper system shutdown Advanced Power Management is disabled for 82599 KX4 connections by clearing GRC.APME bit, causing it to not wake the system from an improper system shutdown. By default GRC.APME is enabled and software is not supposed to clear these settings during adapter probe. Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 1097cd17700c4e9903b7bbfcec1432f61784cb53 Author: Mallikarjuna R Chilakala Date: Thu Mar 18 14:34:52 2010 +0000 ixgbe: Fix 82599 multispeed fiber link issues due to Tx laser flapping Fix 82599 link issues during driver load and unload test using multi-speed 10G & 1G fiber modules. When connected back to back sometime 82599 multispeed fiber modules would link at 1G speed instead of 10G highest speed, due to a race condition in autotry process involving Tx laser flapping. Move autotry autoneg-37 tx laser flapping process from multispeed module init setup to driver unload. This will alert the link partner to restart its autotry process when it tries to establish the link with the link partner Signed-off-by: Mallikarjuna R Chilakala Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 4227f62db38ed221a49908c224b9fa2b91dc797b Merge: 0641e4f c8406ea Author: David S. Miller Date: Thu Mar 18 21:18:19 2010 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0641e4fbf2f824faee00ea74c459a088d94905fd Author: Eric Dumazet Date: Thu Mar 18 21:16:45 2010 -0700 net: Potential null skb->dev dereference When doing "ifenslave -d bond0 eth0", there is chance to get NULL dereference in netif_receive_skb(), because dev->master suddenly becomes NULL after we tested it. We should use ACCESS_ONCE() to avoid this (or rcu_dereference()) Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 54d259d474e1fee6f6bb8f0f1360d85195199ac5 Author: Guo-Fu Tseng Date: Wed Mar 17 00:09:31 2010 +0000 jme: Advance driver version number Advance driver version number after some bug fix. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit bf5e5360fd1df1ae429ebbd81838d7d0879797d1 Author: Guo-Fu Tseng Date: Wed Mar 17 00:09:30 2010 +0000 jme: Protect vlgrp structure by pause RX actions. Temporary stop the RX IRQ, and disable (sync) tasklet or napi. And restore it after finished the vlgrp pointer assignment. Signed-off-by: Guo-Fu Tseng Cc: stable@kernel.org Signed-off-by: David S. Miller commit 17da69b8bfbe441a33a873ad5dd7d3d85800bf2b Author: Guo-Fu Tseng Date: Wed Mar 17 00:09:29 2010 +0000 jme: Fix VLAN memory leak Fix memory leak while receiving 8021q tagged packet which is not registered by user. Signed-off-by: Guo-Fu Tseng Cc: stable@kernel.org Signed-off-by: David S. Miller commit 658cc524305c9759019c4430ded231f631472482 Author: Abraham Arce Date: Tue Mar 16 12:24:54 2010 +0000 KS8851: Avoid NULL pointer in set rx mode Kernel NULL pointer dereference when setting mode for IFF_MULTICAST. Tested on SDP OMAP4430 board. ks8851 spi1.0: message enable is 0 ks8851 spi1.0: revision 0, MAC f2:f4:2f:56:37:de, IRQ 194 Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP last sysfs file: Modules linked in: CPU: 0 Not tainted (2.6.34-rc1-01039-g38d7ed1-dirty #3) PC is at ks8851_set_rx_mode+0x88/0x124 LR is at bitrev32+0x24/0x2c Backtrace: [] ? (ks8851_set_rx_mode+0x0/0x124) [] (__dev_set_rx_mode+0x0/0x90) [] (dev_mc_add+0x0/0x78) [] (igmp_group_added+0x0/0x64) [] (ip_mc_inc_group+0x0/0x150) [] (ip_mc_up+0x0/0x64) [] (inetdev_event+0x0/0x3d4) [] (notifier_call_chain+0x0/0x78) [] (__raw_notifier_call_chain+0x0/0x24) [] (raw_notifier_call_chain+0x0/0x28) [] (call_netdevice_notifiers+0x0/0x24) [] (__dev_notify_flags+0x0/0x68) [] (dev_change_flags+0x0/0x4c) [] (ip_auto_config+0x0/0xf1c) [] (do_one_initcall+0x0/0x1bc) [] (kernel_init+0x0/0x234) Code: e15130bc e1833012 e14130bc e5943000 (e5934000) ---[ end trace ed0fb00a94142792 ]--- Kernel panic - not syncing: Fatal exception in interrupt Signed-off-by: Abraham Arce Signed-off-by: David S. Miller commit b634f87522dff87712df8bda2a6c9061954d552a Author: Alexandra Kossovsky Date: Thu Mar 18 20:29:24 2010 -0700 tcp: Fix OOB POLLIN avoidance. From: Alexandra.Kossovsky@oktetlabs.ru Fixes kernel bugzilla #15541 Signed-off-by: David S. Miller commit 2271048d1b3b0aabf83d25b29c20646dcabedc05 Author: Steven Rostedt Date: Thu Mar 18 17:54:19 2010 -0400 ring-buffer: Do 8 byte alignment for 64 bit that can not handle 4 byte align The ring buffer uses 4 byte alignment while recording events into the buffer, even on 64bit machines. This saves space when there are lots of events being recorded at 4 byte boundaries. The ring buffer has a zero copy method to write into the buffer, with the reserving of space and then committing it. This may cause problems when writing an 8 byte word into a 4 byte alignment (not 8). For x86 and PPC this is not an issue, but on some architectures this would cause an out-of-alignment exception. This patch uses CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS to determine if it is OK to use 4 byte alignments on 64 bit machines. If it is not, it forces the ring buffer event header to be 8 bytes and not 4, and will align the length of the data to be 8 byte aligned. This keeps the data payload at 8 byte alignments and will allow these machines to run without issue. The trick to this is that the header can be either 4 bytes or 8 bytes depending on the length of the data payload. The 4 byte header has a length field that supports up to 112 bytes. If the length of the data is more than 112, the length field is set to zero, and the actual length is stored in the next 4 bytes after the header. When CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set, the code forces zero in the 4 byte header forcing the length to be stored in the 4 byte array, even with a small data load. It also forces the length of the data load to be 8 byte aligned. The combination of these two guarantee that the data is always at 8 byte alignment. Tested-by: Frederic Weisbecker (on sparc64) Reported-by: Frederic Weisbecker Acked-by: David S. Miller Signed-off-by: Steven Rostedt commit 5286944d75cbe21dd21b0d57335cc6206622b62a Author: FUJITA Tomonori Date: Thu Mar 18 22:35:28 2010 -0400 alpha: fix compile errors in dma-mapping-common.h The commit c186caca3dbe7f44da624cb4f9d78e1b1dfb13b8 leads to the following errors with CONFIG_ALPHA_{TSUNAMI, TITAN, RAWHIDE, MARVEL}: /home/fujita/git/linux-2.6/include/asm-generic/dma-mapping-common.h: In function `dma_map_sg_attrs': /home/fujita/git/linux-2.6/include/asm-generic/dma-mapping-common.h:49: error: implicit declaration of function `for_each_sg' /home/fujita/git/linux-2.6/include/asm-generic/dma-mapping-common.h:50: error: syntax error before "kmemcheck_mark_initialized" Signed-off-by: FUJITA Tomonori Reported-by: Michael Cree Signed-off-by: Matt Turner commit 7f2d889c9cdcd33e8942a23765623adbd468cf04 Author: Frans Pop Date: Mon Mar 1 13:29:14 2010 -0500 alpha: remove trailing spaces in messages Signed-off-by: Frans Pop Cc: linux-alpha@vger.kernel.org Signed-off-by: Matt Turner commit 2a238a96358dde09aa52de9b9f97a383165ca651 Author: Akinobu Mita Date: Mon Mar 1 13:25:49 2010 -0500 alpha: use __ratelimit Replace open-coded rate limiting logic with __ratelimit(). Signed-off-by: Akinobu Mita Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: linux-alpha@vger.kernel.org Signed-off-by: Matt Turner commit 39710479303fd3affb3e204e9a7a75cc676977b5 Merge: 9d20593 eb63e5d Author: Linus Torvalds Date: Thu Mar 18 17:02:35 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (96 commits) Blackfin: stop cleaning include/asm/asm-offsets.h Blackfin: scale calibration when cpu freq changes Blackfin: eat spurious space in asm/dpmc.h Blackfin: fix anomaly 283 handling with exact hardware error Blackfin: bf537-stamp: add example ADXL346 orientation resources Blackfin: bf537-stamp: add example AD2S1210 IIO resources Blackfin: don't support keypad wakeup from hibernate Blackfin: bf537-stamp: add example AD7416 IIO resources Blackfin: bf537-stamp: add example ADP8860 backlight/led resources Blackfin: bf537-stamp: add example AD7414 temp sensor resources Blackfin: rename AD1836 to AD183X in board files Blackfin: bf537-stamp: add example AD2S120x resources Blackfin: add support for the on-chip MAC status interrupts Blackfin: asm/page.h: pull in asm-generic headers Blackfin: mark gpio lib functions static Blackfin: bf537-stamp: add example ADAU1361 resources Blackfin: GPIO: implement to_irq handler Blackfin: bf537-stamp: add example ADP122/ADP150 power regulator resources Blackfin: bf537-stamp: add example AD2S90 resources Blackfin: bf537-stamp: add example AD5398 power regulator resources ... commit 9d20593a722c2dab7a5ab74f5d8c9b604aca52f9 Merge: 9b59a0a 9205124 Author: Linus Torvalds Date: Thu Mar 18 17:01:19 2010 -0700 Merge branch 'merge' of git://git.secretlab.ca/git/linux-2.6 * 'merge' of git://git.secretlab.ca/git/linux-2.6: powerpc/5200: Build fix for mpc52xx watchdog timer code of: Fix comparison of "compatible" properties powerpc/52xx: update defconfigs spi/omap2_mcspi: Use transaction speed if provided spi/omap2_mcspi: fix NULL pointer dereference uartlite: Fix build on sparc. commit 9b59a0a4eefa132a3899b6e8d362f92559c67844 Merge: c3a0bd7 29b2ee5 Author: Linus Torvalds Date: Thu Mar 18 16:59:30 2010 -0700 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: ARM/OMAP: Remove the +x bit from a couple of source files omap: McBSP: Drop unnecessary status/error bit clearing on reg_cacheretrieved register values OMAP4: fix temporary hacks that break multi-omap PM OMAP2: cpu_is_omap2*: fix compile-time removal of unused code omap3: pandora: add missing i2c3 board_info omap: mach-omap2/io.c: fix function declarations omap: Fix gpio_resume_after_retention omap3: Fix support for the LEDs connected to GPIO outputs on IGEP v2board omap: Checkpatch cleanup for blizzard.h omap: pass the reboot command to the boot loader omap2/3/4: mailbox: remove compiler warning OMAP2: serial.c: Fix number of uarts in early_init omap: Enable PM_RUNTIME in defconfigs to avoid USB compile errors omap2: Update n8x0 defconfig to test multi-omap and DMA api changes omap2: add USB initialization for tusb6010 omap4: Fix build break by moving omap_smc1 into a separate .S omap2/3/4: ehci: avoid compiler error with touchbook omap3: Fix compile for Touch Book early_param commit c3a0bd7515c682f4529a35318b6712c9ae456edc Merge: a41842f 0d5e6f7 Author: Linus Torvalds Date: Thu Mar 18 16:59:10 2010 -0700 Merge master.kernel.org:/home/rmk/linux-2.6-arm * master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits) ARM: Fix RiscPC decompressor build errors ARM: Fix sorting of platform group config options and includes ARM: 5991/1: Fix regression in restore_user_regs macro ARM: 5989/1: ARM: KGDB: add support for SMP platforms ARM: 5990/1: ARM: use __armv5tej_mmu_cache_flush for V5TEJ instead of __armv4_mmu_cache_flush ARM: Add final piece to fix XIP decompressor in read-only memory video: enable sh_mobile_lcdc on SH-Mobile ARM ARM: mach-shmobile: ap4evb SDHI0 platform data V2 ARM: mach-shmobile: sh7372 SDHI vector merge ARM: mach-shmobile: sh7377 SDHI vector merge ARM: mach-shmobile: sh7367 SDHI vector merge ARM: mach-shmobile: G4EVM KEYSC platform data mtd: enable sh_flctl on SH-Mobile ARM ARM: mach-shmobile: G3EVM FLCTL platform data ARM: mach-shmobile: G3EVM KEYSC platform data Video: ARM CLCD: Better fix for swapped IENB and CNTL registers ARM: Add L2 cache handling to smp boot support ARM: 5960/1: ARM: perf-events: fix v7 event selection mask ARM: 5959/1: ARM: perf-events: request PMU interrupts with IRQF_NOBALANCING ARM: 5988/1: pgprot_dmacoherent() for non-mmu builds ... commit a41842f70d6d6b0cfde3d21e163add81c4318ebd Merge: 7228744 0e17226 Author: Linus Torvalds Date: Thu Mar 18 16:58:42 2010 -0700 Merge branch 'for-linus/samsung-fixes' of git://git.fluff.org/bjdooks/linux * 'for-linus/samsung-fixes' of git://git.fluff.org/bjdooks/linux: ARM: SAMSUNG: Fixup commit 4e6d488af37980d224cbf298224db6173673f362 ARM: SAMSUNG: Fix build error from stale define in ARM: SAMSUNG: Add suspend/resume support for S3C PWM driver ARM: S3C2440: Fix s3c2440 cpufreq compilation post move. commit 722874465e3cd3268387b96e02220f84b35a8d98 Merge: 31cc1dd 841d6e8 Author: Linus Torvalds Date: Thu Mar 18 16:57:24 2010 -0700 Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (27 commits) microblaze: entry.S use delay slot for return handlers microblaze: Save current task directly microblaze: Simplify entry.S - save/restore r3/r4 - ret_from_trap microblaze: PCI early support for noMMU system microblaze: Fix dma alloc and free coherent dma functions microblaze: Add consistent code microblaze: pgtable.h: move consistent functions microblaze: Remove ancient Kconfig option for consistent mapping microblaze: Remove VMALLOC_VMADDR microblaze: Add define for ASM_LOOP microblaze: Preliminary support for dma drivers microblaze: remove trailing space in messages microblaze: Use generic show_mem() microblaze: Change temp register for cmdline microblaze: Preliminary support for dma drivers microblaze: Move cache function to cache.c microblaze: Add support from PREEMPT microblaze: Add support for Xilinx PCI host bridge microblaze: Enable PCI, missing files microblaze: Add core PCI files ... commit 31cc1dd344d941358345bd02f24c629dada9b08c Merge: 961cde9 627a2d3 Author: Linus Torvalds Date: Thu Mar 18 16:55:24 2010 -0700 Merge branch 'for-linus' of git://neil.brown.name/md * 'for-linus' of git://neil.brown.name/md: md: deal with merge_bvec_fn in component devices better. commit 961cde93dee2658000ead32abffb8ddf0727abe0 Merge: f82c37e 0d9dc7c Author: Linus Torvalds Date: Thu Mar 18 16:54:31 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (69 commits) [SCSI] scsi_transport_fc: Fix synchronization issue while deleting vport [SCSI] bfa: Update the driver version to 2.1.2.1. [SCSI] bfa: Remove unused header files and did some cleanup. [SCSI] bfa: Handle SCSI IO underrun case. [SCSI] bfa: FCS and include file changes. [SCSI] bfa: Modified the portstats get/clear logic [SCSI] bfa: Replace bfa_get_attr() with specific APIs [SCSI] bfa: New portlog entries for events (FIP/FLOGI/FDISC/LOGO). [SCSI] bfa: Rename pport to fcport in BFA FCS. [SCSI] bfa: IOC fixes, check for IOC down condition. [SCSI] bfa: In MSIX mode, ignore spurious RME interrupts when FCoE ports are in FW mismatch state. [SCSI] bfa: Fix Command Queue (CPE) full condition check and ack CPE interrupt. [SCSI] bfa: IOC recovery fix in fcmode. [SCSI] bfa: AEN and byte alignment fixes. [SCSI] bfa: Introduce a link notification state machine. [SCSI] bfa: Added firmware save clear feature for BFA driver. [SCSI] bfa: FCS authentication related changes. [SCSI] bfa: PCI VPD, FIP and include file changes. [SCSI] bfa: Fix to copy fpma MAC when requested by user space application. [SCSI] bfa: RPORT state machine: direct attach mode fix. ... commit f82c37e7bb4c4d9b6a476c642d5c2d2efbd6f240 Merge: c6b9e73 dcd5c16 Author: Linus Torvalds Date: Thu Mar 18 16:52:46 2010 -0700 Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (35 commits) perf: Fix unexported generic perf_arch_fetch_caller_regs perf record: Don't try to find buildids in a zero sized file perf: export perf_trace_regs and perf_arch_fetch_caller_regs perf, x86: Fix hw_perf_enable() event assignment perf, ppc: Fix compile error due to new cpu notifiers perf: Make the install relative to DESTDIR if specified kprobes: Calculate the index correctly when freeing the out-of-line execution slot perf tools: Fix sparse CPU numbering related bugs perf_event: Fix oops triggered by cpu offline/online perf: Drop the obsolete profile naming for trace events perf: Take a hot regs snapshot for trace events perf: Introduce new perf_fetch_caller_regs() for hot regs snapshot perf/x86-64: Use frame pointer to walk on irq and process stacks lockdep: Move lock events under lockdep recursion protection perf report: Print the map table just after samples for which no map was found perf report: Add multiple event support perf session: Change perf_session post processing functions to take histogram tree perf session: Add storage for seperating event types in report perf session: Change add_hist_entry to take the tree root instead of session perf record: Add ID and to recorded event data when recording multiple events ... commit c6b9e73f2fee8bb86058f296de808b326473456b Merge: 441f405 e639ba4 Author: Linus Torvalds Date: Thu Mar 18 16:52:31 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: avoid '\0' in hid debugfs events file HID: Add RGT Clutch Wheel clutch device id HID: ntrig: fix touch events HID: add quirk for UC-Logik WP4030 tablet HID: magicmouse: fix oops after device removal commit 441f4058a04b2943685ff94e0f5f1992b0b3649e Merge: 7c34691 8ad6fca Author: Linus Torvalds Date: Thu Mar 18 16:50:55 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (30 commits) Btrfs: fix the inode ref searches done by btrfs_search_path_in_tree Btrfs: allow treeid==0 in the inode lookup ioctl Btrfs: return keys for large items to the search ioctl Btrfs: fix key checks and advance in the search ioctl Btrfs: buffer results in the space_info ioctl Btrfs: use __u64 types in ioctl.h Btrfs: fix search_ioctl key advance Btrfs: fix gfp flags masking in the compression code Btrfs: don't look at bio flags after submit_bio btrfs: using btrfs_stack_device_id() get devid btrfs: use memparse Btrfs: add a "df" ioctl for btrfs Btrfs: cache the extent state everywhere we possibly can V2 Btrfs: cache ordered extent when completing io Btrfs: cache extent state in find_delalloc_range Btrfs: change the ordered tree to use a spinlock instead of a mutex Btrfs: finish read pages in the order they are submitted btrfs: fix btrfs_mkdir goto for no free objectids Btrfs: flush data on snapshot creation Btrfs: make df be a little bit more understandable ... commit 7c34691abe23741bfc7d2514efd5a39f0e0ecb06 Merge: 5f87e54 cfbc068 Author: Linus Torvalds Date: Thu Mar 18 16:50:09 2010 -0700 Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: NFS: ensure bdi_unregister is called on mount failure. NFS: Avoid a deadlock in nfs_release_page NFSv4: Don't ignore the NFS_INO_REVAL_FORCED flag in nfs_revalidate_inode() nfs4: Make the v4 callback service hidden nfs: fix unlikely memory leak rpc client can not deal with ENOSOCK, so translate it into ENOCONN commit 5f87e54d7d6f58e8f15819cf8901860d9512e8b4 Merge: 01da470 5db5b02 Author: Linus Torvalds Date: Thu Mar 18 16:49:24 2010 -0700 Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ahci: pp->active_link is not reliable when FBS is enabled ahci: use BIOS date in broken_suspend list ahci: add missing nv IDs commit 01da47059ab54544a508b217598fb0e73b73e7a8 Merge: 61d7180 e04dd2d Author: Linus Torvalds Date: Thu Mar 18 16:48:19 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: sound: sequencer: clean up remove bogus check ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212 ALSA: hda - Disable MSI for Nvidia controller ALSA: hda - Add PCI quirks for MSI NetOn AP1900 and Wind Top AE2220 ALSA: hda - Fix secondary ADC of ALC260 basic model ALSA: hda - Add an error message for invalid mapping NID ALSA: hda - New Intel HDA controller commit fe305198d4bf481d6dd017df35c566c9d477fada Author: Daniel Vetter Date: Thu Mar 18 09:22:12 2010 +0100 drm/intel: fix up set_tiling for untiled->tiled transition Bug introduced in commit 10ae9bd25acf394c8fa2f9d795dfa9cec4d19ed6 Author: Daniel Vetter Date: Mon Feb 1 13:59:17 2010 +0100 drm/i915: blow away userspace mappings before fence change The problem is that when there's no fence reg assigned and the object is mapped at a fenceable offset in the gtt, the userspace mappings won't be torn down. Which happens on untiled->tiled transition quite often on 4th gen and later because there fencing does not have any special alignment constraints (as opposed to 2nd and 3rd gen on which I've tested the original commit). Bugzilla: http://bugs.freedesktop.org/show_bug.cgi?id=26993 Signed-off-by: Daniel Vetter Tested-by: Eric Anholt (fixes OpenArena) Signed-off-by: Eric Anholt commit 8956c8bba5b11b3d3aec000e6c6184943011a8d4 Author: Eric Anholt Date: Thu Mar 18 13:21:14 2010 -0700 drm/i915: Set up the documented clock gating on Sandybridge and Ironlake. Signed-off-by: Eric Anholt commit 61d718076e95eb461fd4c3692b702a82e2be0df4 Merge: 5dbc2f5 ec57af9 Author: Linus Torvalds Date: Thu Mar 18 16:48:00 2010 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight: backlight: panasonic-laptop - Fix incomplete registration failure handling backlight: msi-laptop, msi-wmi: fix incomplete registration failure handling backlight: blackfin - Fix missing registration failure handling backlight: classmate-laptop - Fix missing registration failure handling backlight: mbp_nvidia_bl - add five more MacBook variants backlight: Allow properties to be passed at registration backlight: Add backlight_device parameter to check_fb video: backlight/progear, fix pci device refcounting backlight: l4f00242t03: Fix module licence absence. backlight: Revert some const qualifiers backlight: Add Epson L4F00242T03 LCD driver commit 66f6ff09ff67c45919b336395c4d7d0ed3a97edc Author: Eric Anholt Date: Thu Mar 18 12:19:37 2010 -0700 agp/intel: Don't do the chipset flush on Sandybridge. This CPU should be coherent with graphics in this direction, though flushing graphics caches are still required. Fixes a system reset on module load on Sandybridge with 4G+ memory. Signed-off-by: Eric Anholt commit 285aca8e2a7f8af2a18cf89d1dfa95df2f9c9132 Author: Eric Anholt Date: Thu Mar 18 11:24:06 2010 -0700 agp/intel: Respect the GTT size on Sandybridge for scratch page setup. This is similar to 14bc490bbdf1b194ad1f5f3d2a0a27edfdf78986 which respected it for how much of the GTT we would actually use. Now we won't clear beyond allocated memory when filling the GTT with scratch page addresses. Signed-off-by: Eric Anholt commit 5dbc2f543d2eb5499f3839d1abb72105cf0c03af Merge: 01d61d0 14b5d6d Author: Linus Torvalds Date: Thu Mar 18 16:47:04 2010 -0700 Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: Fix race between LED device uevent and actual attributes creation leds-gpio: fix default state handling on OF platforms leds: Add Dell Business Class Netbook LED driver leds: Kconfig cleanup leds: led-class.c - Quiet boot messages leds: make PCI device id constant leds: ALIX2: Add dependency to !GPIO_CS5335 commit 01d61d0d64065b591a3c1502d42b350b10764c54 Merge: 2e0c17d e8c3753 Author: Linus Torvalds Date: Thu Mar 18 16:46:05 2010 -0700 Merge branch 'for-linus' of git://oss.sgi.com/xfs/xfs * 'for-linus' of git://oss.sgi.com/xfs/xfs: xfs: don't warn about page discards on shutdown xfs: use scalable vmap API xfs: remove old vmap cache commit 2e0c17d100c35e843dac1e99daf19b5e2b3fe168 Merge: 7de4a9a 22001a1 Author: Linus Torvalds Date: Thu Mar 18 16:45:01 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (39 commits) gigaset: fix build failure bridge: Make first arg to deliver_clone const. bridge br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only without IGMP snooping. route: Fix caught BUG_ON during rt_secret_rebuild_oneshot() bridge br_multicast: Fix skb leakage in error path. bridge br_multicast: Fix handling of Max Response Code in IGMPv3 message. NET: netpoll, fix potential NULL ptr dereference tipc: fix lockdep warning on address assignment l2tp: Fix UDP socket reference count bugs in the pppol2tp driver smsc95xx: wait for PHY to complete reset during init l2tp: Fix oops in pppol2tp_xmit smsc75xx: SMSC LAN75xx USB gigabit ethernet adapter driver ne: Do not use slashes in irq name string NET: ksz884x, fix lock imbalance gigaset: correct range checking off by one error bridge: Fix br_forward crash in promiscuous mode bridge: Move NULL mdb check into br_mdb_ip_get ISDN: Add PCI ID for HFC-2S/4S Beronet Card PCIe net-2.6 [Bug-Fix][dccp]: fix oops caused after failed initialisation myri: remove dead code ... commit 7de4a9a73563e5f6f3c153015fadee433a443241 Merge: 1097d7c f04e879 Author: Linus Torvalds Date: Thu Mar 18 16:44:47 2010 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sunxvr1000: Add missing FB=y depenency. MAINTAINERS: Add entry for sparc serial drivers. drivers/serial/sunsab.c: adjust the constant used to initialize the interrupt_mask0 fields commit 0cff810f54b3b52075c27f7a7021d5b195264b6c Author: Lai Jiangshan Date: Thu Mar 18 12:25:33 2010 -0700 rcu: Fix local_irq_disable() CONFIG_PROVE_RCU=y false positives It is documented that local_irq_disable() also delimits RCU_SCHED read-site critical sections. See the document of synchronize_sched() or Documentation/RCU/whatisRCU.txt. So we have to test irqs_disabled() in rcu_read_lock_sched_held(). Otherwise rcu-lockdep brings incorrect complaint. Signed-off-by: Lai Jiangshan Signed-off-by: Paul E. McKenney 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 Cc: eric.dumazet@gmail.com LKML-Reference: <1268940334-10892-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit b22b63ebafb97b66d1054e69941ee049d790c6cf Author: Mark Fasheh Date: Thu Mar 11 18:43:46 2010 -0800 ocfs2: Always try for maximum bits with new local alloc windows What we were doing before was to ask for the current window size as the maximum allocation. This had the effect of limiting the amount of allocation we could get for the local alloc during times when the window size was shrunk due to fragmentation. In some cases, that could actually *increase* fragmentation by artificially limiting the number of bits we can accept. So while we still want to ask for a minimum number of bits equal to window size, there is no reason why we should limit the number of bits the local alloc should accept. Hence always allow the maximum number of local alloc bits. Signed-off-by: Mark Fasheh Signed-off-by: Joel Becker commit 1097d7cef683c30f9768007daae2e961a0686a10 Merge: 57b552b 4e06e24 Author: Linus Torvalds Date: Thu Mar 18 11:04:59 2010 -0700 Merge branch 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 * 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6: PCMCIA: resource, fix lock imbalance pcmcia: add important if statement pcmcia: re-route Cardbus IRQ to ISA on ti1130 bridges if necessary pcmcia: allow for cb_irq to differ from pci_dev's irq in yenta_socket pcmcia: honor saved flags in yenta_socket's I365_CSCINT register pcmcia: revert "irq probe can be done without risking an IRQ storm" pcmcia: pd6729, i82092: use parent (PCI) resources pcmcia/vrc4171: use local spinlock for device local lock. commit 8ad6fcab564c5bc956bdc3dfa440ab152b6e780f Author: Chris Mason Date: Thu Mar 18 12:23:10 2010 -0400 Btrfs: fix the inode ref searches done by btrfs_search_path_in_tree This is used by the inode lookup ioctl to follow all the backrefs up to the subvol root. But the search being done would sometimes land one past the last item in the leaf instead of finding the backref. This changes the search to look for the highest possible backref and hop back one item. It also fixes a leaked path on failure to find the root. Signed-off-by: Chris Mason commit 1b53ac4d1b75b23bdc2b54ace787b8f718a987ef Author: Chris Mason Date: Thu Mar 18 12:17:05 2010 -0400 Btrfs: allow treeid==0 in the inode lookup ioctl When a root id of 0 is sent to the inode lookup ioctl, it will use the root of the file we're ioctling and pass the root id back to userland along with the results. This allows userland to do searches based on that root later on. Signed-off-by: Chris Mason commit 90fdde147fd32d18a20be5b498d5f26e56cca8a3 Author: Chris Mason Date: Thu Mar 18 12:14:54 2010 -0400 Btrfs: return keys for large items to the search ioctl The search ioctl was skipping large items entirely (ones that are too big for the results buffer). This changes things to at least copy the item header so that we can send information about the item back to userland. Signed-off-by: Chris Mason commit abc6e1341bda974e2d0eddb75f57a20ac18e9b33 Author: Chris Mason Date: Thu Mar 18 12:10:08 2010 -0400 Btrfs: fix key checks and advance in the search ioctl The search ioctl was working well for finding tree roots, but using it for generic searches requires a few changes to how the keys are advanced. This treats the search control min fields for objectid, type and offset more like a key, where we drop the offset to zero once we bump the type, etc. The downside of this is that we are changing the min_type and min_offset fields during the search, and so the ioctl caller needs extra checks to make sure the keys in the result are the ones it wanted. This also changes key_in_sk to use btrfs_comp_cpu_keys, just to make things more readable. Signed-off-by: Chris Mason commit 9205124c66a69664c6825501cb062ebd2acd3b3a Author: Grant Likely Date: Thu Mar 18 14:01:18 2010 -0600 powerpc/5200: Build fix for mpc52xx watchdog timer code mpc52xx_gpt_wdt_setup is defined as 0, which causes the following build failure with gcc 4.5, since it's built with -Werror. arch/powerpc/platforms/52xx/mpc52xx_gpt.c:761:3: error: statement with no effect Changing it to a static inline fixes the problem. Reported-by: Jeff Mahoney Signed-off-by: Grant Likely commit 1976152fd8e706135deed6cf333e347c08416056 Author: Grant Likely Date: Thu Mar 18 07:30:31 2010 -0600 of: Fix comparison of "compatible" properties Commit 7c7b60cb87547b1664a4385c187f029bf514a737 "of: put default string compare and #a/s-cell values into common header" Breaks various things on powerpc due to using strncasecmp instead of strcasecmp for comparing against "compatible" strings. This causes things like the 4xx PCI code to fail miserably due to the partial matches in code like this: for_each_compatible_node(np, NULL, "ibm,plb-pcix") ppc4xx_probe_pcix_bridge(np); for_each_compatible_node(np, NULL, "ibm,plb-pci") ppc4xx_probe_pci_bridge(np); It's not quite right to do partial name match. Entries in a compatible list are meant to be matched whole. If a device is compatible with both "foo" and "foo1", then the device should have both strings in its "compatible" property. This patch reverts powerpc and microblaze us to use strcasecmp. Signed-off-by: Benjamin Herrenschmidt (for patch description) Signed-off-by: Grant Likely Acked-by: David S. Miller Acked-by: Michal Simek commit da3b062e306452ffb74cf5e9e5128f9f1e0502ab Author: Guennadi Liakhovetski Date: Thu Mar 18 09:39:59 2010 +0100 ASoC: SIU driver shall select FW_LOADER The SIU ASoC driver must load firmware to program the DSP, therefore it has to select FW_LOADER in its Kconfig entry. Signed-off-by: Guennadi Liakhovetski Acked-by: Liam Girdwood Signed-off-by: Mark Brown commit 9eff26ea48bfbe2885b158742a7512a097ec911b Author: Paul Mackerras Date: Thu Mar 18 16:05:13 2010 +1100 powerpc/perf_events: Fix call-graph recording, add perf_arch_fetch_caller_regs This implements a powerpc version of perf_arch_fetch_caller_regs to get correct call-graphs. It's implemented in assembly because that way we can be sure there isn't a stack frame for perf_arch_fetch_caller_regs. If it was in C, gcc might or might not create a stack frame for it, which would affect the number of levels we have to skip. With this, we see results from perf record -e lock:lock_acquire like this: # Samples: 24878 # # Overhead Command Shared Object Symbol # ........ .............. ................. ...... # 14.99% perf [kernel.kallsyms] [k] ._raw_spin_lock | --- ._raw_spin_lock | |--25.00%-- .alloc_fd | (nil) | | | |--50.00%-- .anon_inode_getfd | | .sys_perf_event_open | | syscall_exit | | syscall | | create_counter | | __cmd_record | | run_builtin | | main | | 0xfd2e704 | | 0xfd2e8c0 | | (nil) ... etc. Signed-off-by: Paul Mackerras Acked-by: Benjamin Herrenschmidt Cc: anton@samba.org Cc: linuxppc-dev@ozlabs.org Cc: Peter Zijlstra Cc: Frederic Weisbecker LKML-Reference: <20100318050513.GA6575@drongo> Signed-off-by: Ingo Molnar commit 57b552ba0b2faf7cce66d476ef8ce7f6210c62fd Author: Heiko Carstens Date: Mon Mar 15 00:35:05 2010 -0400 memory hotplug/s390: set phys_device Implement arch specific arch_get_memory_phys_device function and initialize phys_device for each memory section. That way we finally can tell which piece of memory belongs to which physical device. This makes s390's /sys/devices/system/memory/memoryX/phys_device display the correct thing? Signed-off-by: Heiko Carstens Cc: Dave Hansen Cc: Gerald Schaefer Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc32df00894f0e1dbf583cc3dab210d2969b078a Author: Heiko Carstens Date: Mon Mar 15 00:35:03 2010 -0400 memory hotplug: allow setting of phys_device /sys/devices/system/memory/memoryX/phys_device is supposed to contain the number of the physical device that the corresponding piece of memory belongs to. In case a physical device should be replaced or taken offline for whatever reason it is necessary to set all corresponding memory pieces offline. The current implementation always sets phys_device to '0' and there is no way or hook to change that. Seems like there was a plan to implement that but it wasn't finished for whatever reason. So add a weak function which architectures can override to actually set the phys_device from within add_memory_block(). Signed-off-by: Heiko Carstens Cc: Dave Hansen Cc: Gerald Schaefer Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5d6151115aee73825c1752aff7cd09adfece839 Author: Akinobu Mita Date: Mon Mar 15 00:35:01 2010 -0400 hpet: use for_each_set_bit() Replace open-coded loop with for_each_set_bit(). Signed-off-by: Akinobu Mita Cc: Clemens Ladisch Cc: Bob Picco Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4af96449e20f9245cf3d904098db508cdebcda8 Author: Akinobu Mita Date: Mon Mar 15 00:35:00 2010 -0400 ntfs: use bitmap_weight Use bitmap_weight() instead of doing hweight32() for each u32 element in the page. Signed-off-by: Akinobu Mita Cc: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcc54e2a6d8e93ff83ec398511930b0a73e19151 Author: Venkatesh Pallipadi Date: Mon Mar 15 00:34:59 2010 -0400 jffs2: fix up rb_root initializations to use RB_ROOT jffs2 uses rb_node = NULL; to zero rb_root. The problem with this is that 17d9ddc72fb8bba0d4f678 ("rbtree: Add support for augmented rbtrees") in the linux-next tree adds a new field to that struct which needs to be NULL as well. This patch uses RB_ROOT as the intializer so all of the relevant fields will be NULL'd. Signed-off-by: Venkatesh Pallipadi Cc: Eric Paris Acked-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9e58a4ec3b1086d1ed8c915311aef1ae55454fd Author: KAMEZAWA Hiroyuki Date: Mon Mar 15 00:34:57 2010 -0400 memcg: avoid use cmpxchg in swap cgroup maintainance swap_cgroup uses 2bytes data and uses cmpxchg in a new operation. 2byte cmpxchg/xchg is not available on some archs. This patch replaces cmpxchg/xchg with operations under lock. Signed-off-by: KAMEZAWA Hiroyuki Reported-by: Sachin Sant wrote: Acked-by: Balbir Singh Acked-by: Daisuke Nishimura Cc: Li Zefan Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8301b91ba0b2d15c86fdf5357efe7c04eb767a6e Author: Clemens Ladisch Date: Wed Mar 17 11:07:55 2010 +0100 firewire: ohci: add cycle timer quirk for the TI TSB12LV22 Among the many entries in the TSB12LV22 errata list (TI literature number SLLS312) is the following: PCI Slave reads of the Cycle Timer register may occasionally get an incorrect value. Software may be able to validate value by reading the register multiple times rapidly and evaluating for a reasonable difference. Signed-off-by: Clemens Ladisch (untested) Signed-off-by: Stefan Richter (added #define) commit 22001a13d09d82772e831dcdac0553994a4bac5d Author: Tilman Schmidt Date: Wed Mar 17 14:22:07 2010 -0700 gigaset: fix build failure Update the dummy LL interface to the LL interface change introduced by commit daab433c03c15fd642c71c94eb51bdd3f32602c8. This fixes the build failure occurring after that commit when enabling ISDN_DRV_GIGASET but neither ISDN_I4L nor ISDN_CAPI. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit 535297a6ae4c3b7a0562e71fac15c213eeec68e7 Author: Michael S. Tsirkin Date: Wed Mar 17 16:06:11 2010 +0200 vhost: fix error handling in vring ioctls Stanse found a locking problem in vhost_set_vring: several returns from VHOST_SET_VRING_KICK, VHOST_SET_VRING_CALL, VHOST_SET_VRING_ERR with the vq->mutex held. Fix these up. Reported-by: Jiri Slaby Acked-by: Laurent Chavey Signed-off-by: Michael S. Tsirkin commit 915a428e43acfd05e4ffeaf40549b0cf163eebe2 Author: Dan Carpenter Date: Sat Mar 6 14:05:39 2010 +0300 drm/i915: fix small leak on overlay error path We should free "params" before returning. Signed-off-by: Dan Carpenter Reviewed-by: Daniel Vetter Cc: stable@kernel.org (for .33) Signed-off-by: Eric Anholt commit 1f2b10131f83f7caa67bf1273cec126b4283015d Author: Chris Wilson Date: Fri Mar 12 19:52:55 2010 +0000 drm/i915: Avoid NULL deref in get_pages() unwind after error. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=15527 NULL pointer dereference in i915_gem_object_save_bit_17_swizzle BUG: unable to handle kernel NULL pointer dereference at (null) IP: [] i915_gem_object_save_bit_17_swizzle+0x5b/0xc0 [i915] Call Trace: [] ? i915_gem_object_put_pages+0x125/0x150 [i915] [] ? i915_gem_object_get_pages+0xf1/0x110 [i915] [] ? i915_gem_object_bind_to_gtt+0xb8/0x2a0 [i915] [] ? drm_mm_get_block_generic+0x4d/0x180 [] ? i915_gem_mmap_gtt_ioctl+0x16d/0x240 [i915] [] ? i915_gem_madvise_ioctl+0x86/0x120 [i915] Signed-off-by: Chris Wilson Reported-by: maciej.rutecki@gmail.com Cc: stable@kernel.org Reviewed-by: Eric Anholt Signed-off-by: Eric Anholt commit 59f2d0fc4bdfbbfabfa3715ba17d0609e5964c7e Author: Zhenyu Wang Date: Tue Mar 9 23:37:07 2010 +0800 drm/i915: Fix check with IS_GEN6 IS_GEN6 missed to include SandyBridge mobile chip, which failed in i915_probe_agp() for memory config detection. Fix it with a device info flag. Signed-off-by: Zhenyu Wang Signed-off-by: Eric Anholt commit 76e47c30bdc591815eeb5598f1e2a243a30bd585 Author: Joe Perches Date: Thu Mar 11 14:01:38 2010 -0800 drivers/gpu/drm/i915/intel_bios.c: fix continuation line formats String constants that are continued on subsequent lines with \ will cause spurious whitespace in the resulting output. Signed-off-by: Joe Perches Cc: Dave Airlie Cc: Eric Anholt Cc: Jesse Barnes Signed-off-by: Andrew Morton [anholt: whacked it to wrap to 80 columns instead] Signed-off-by: Eric Anholt commit 71cf39b117d5aa817a4693f4478397e6b04bee25 Author: Eric Anholt Date: Mon Mar 8 23:41:55 2010 -0800 drm/i915: Enable VS timer dispatch. This could resolve HW deadlocks where a unit downstream of the VS is waiting for more input, the VS has one vertex queued up but not dispatched because it hopes to get one more vertex for 2x4 dispatch, and software isn't handing more vertices down because it's waiting for rendering to complete. The B-Spec says you should always have this bit set. Signed-off-by: Eric Anholt commit 4967790112b284f276c5065dc724f7340a2fd7a5 Author: Priit Laes Date: Tue Mar 2 11:37:00 2010 +0200 drm/i915: Rename FBC_C3_IDLE to FBC_CTL_C3_IDLE to match other registers Signed-off-by: Priit Laes Signed-off-by: Eric Anholt commit 5d9391628e8eb3b0830697697a95bfd0c3c35b9e Author: Owain G. Ainsworth Date: Wed Mar 3 05:34:29 2010 +0000 drm/i915: remove an unnecessary wait_request() The continue just after this call with loop around and wait for the request just added just fine. This leads to slightly more compact code. Signed-Off-by: Owain G. Ainsworth Signed-off-by: Eric Anholt commit f05dd2f09cac422c423dae8f9b8e2be13df05a8f Author: Eric Anholt Date: Fri Feb 26 13:32:11 2010 -0800 drm/i915: Don't bother with the BKL for GEM ioctls. We probably don't need it for most of the other driver ioctls as well, but we explicitly did locking when doing the GEM pieces. On CPU-bound graphics tasks, the BKL was showing up as 1-2% of CPU time. Signed-off-by: Eric Anholt commit 5db5b0215af94a36d4bf10900ff9707b6d5c1610 Author: Shane Huang Date: Tue Mar 16 18:08:55 2010 +0800 ahci: pp->active_link is not reliable when FBS is enabled pp->active_link is not reliable when FBS is enabled. Both PORT_SCR_ACT and PORT_CMD_ISSUE should be checked because mixed NCQ and non-NCQ commands may be in flight. Signed-off-by: Shane Huang Signed-off-by: Jeff Garzik commit fcefd25ac89239cb57fa198f125a79ff85468c75 Author: Mark Fasheh Date: Mon Mar 15 15:39:00 2010 -0700 ocfs2: set i_mode on disk during acl operations ocfs2_set_acl() and ocfs2_init_acl() were setting i_mode on the in-memory inode, but never setting it on the disk copy. Thus, acls were some times not getting propagated between nodes. This patch fixes the issue by adding a helper function ocfs2_acl_set_mode() which does this the right way. ocfs2_set_acl() and ocfs2_init_acl() are then updated to call ocfs2_acl_set_mode(). Signed-off-by: Mark Fasheh Signed-off-by: Joel Becker commit 6527f8f848ec84b9daf1cb07601266126b8507ab Author: Tao Ma Date: Wed Mar 10 09:56:52 2010 +0800 ocfs2: Update i_blocks in reflink operations. In reflink, we need to upate i_blocks for the target inode. Reported-by: Jie Liu Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit 78c37eb0d5e6a9727b12ea0f1821795ffaa66cfe Author: Tao Ma Date: Wed Mar 3 11:26:27 2010 +0800 ocfs2: Change bg_chain check for ocfs2_validate_gd_parent. In ocfs2_validate_gd_parent, we check bg_chain against the cl_next_free_rec of the dinode. Actually in resize, we have the chance of bg_chain == cl_next_free_rec. So add some additional condition check for it. I also rename paramter "clean_error" to "resize", since the old one is not clearly enough to indicate that we should only meet with this case in resize. btw, the correpsonding bug is http://oss.oracle.com/bugzilla/show_bug.cgi?id=1230. Signed-off-by: Tao Ma Signed-off-by: Joel Becker commit ee860b6a650360c91f5d5f9a94262aad9be90015 Author: Sachin Prabhu Date: Wed Mar 10 10:28:40 2010 -0500 [PATCH] Skip check for mandatory locks when unlocking ocfs2_lock() will skip locks on file which has mode set to 02666. This is a problem in cases where the mode of the file is changed after a process has obtained a lock on the file. ocfs2_lock() should skip the check for mandatory locks when unlocking a file. Signed-off-by: Sachin Prabhu Signed-off-by: Joel Becker commit 9deb343189b3cf45e84dd08480f330575ffe2004 Author: Tejun Heo Date: Tue Mar 16 09:50:26 2010 +0900 ahci: use BIOS date in broken_suspend list HP is recycling both DMI_PRODUCT_NAME and DMI_BIOS_VERSION making ahci_broken_suspend() trigger for later products which are not affected by the original problems. Match BIOS date instead of version and add references to bko's so that full information can be found easier later. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=15462 Signed-off-by: Tejun Heo Reported-by: tigerfishdaisy@gmail.com Signed-off-by: Jeff Garzik commit 603037c3d1a42d5013f035355a2c60b0006a9fdf Author: Tejun Heo Date: Thu Mar 11 11:37:16 2010 +0900 ahci: add missing nv IDs bko#15481 shows that we're missing some NVIDIA ahci PCI IDs. Peer Chen confirms that IDs 0x580-0x58f are reserved for cases where Linux ID option is selected in the BIOS and are only used for mcp65-73. Add 0x0581-0x058f. http://bugzilla.kernel.org/show_bug.cgi?id=15481 Signed-off-by: Tejun Heo Cc: Peer Chen Signed-off-by: Jeff Garzik commit dadf28a10c3eb29421837a2e413ab869ebd9e168 Author: Alexey Starikovskiy Date: Wed Mar 17 13:14:13 2010 -0400 ACPI: EC: Allow multibyte access to EC http://bugzilla.kernel.org/show_bug.cgi?id=14667 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 0e255572121180c900e24e33b87047abd8153cce Author: Michael S. Tsirkin Date: Mon Mar 8 23:24:22 2010 +0200 vhost: fix interrupt mitigation with raw sockets A thinko in code means we never trigger interrupt mitigation. Fix this. Reported-by: Juan Quintela Reported-by: Unai Uribarri Signed-off-by: Michael S. Tsirkin commit dcd5c1662db59a6b82942f47fb6ac9dd63f6d3dd Author: Frederic Weisbecker Date: Tue Mar 16 01:05:02 2010 +0100 perf: Fix unexported generic perf_arch_fetch_caller_regs perf_arch_fetch_caller_regs() is exported for the overriden x86 version, but not for the generic weak version. As a general rule, weak functions should not have their symbol exported in the same file they are defined. So let's export it on trace_event_perf.c as it is used by trace events only. This fixes: ERROR: ".perf_arch_fetch_caller_regs" [fs/xfs/xfs.ko] undefined! ERROR: ".perf_arch_fetch_caller_regs" [arch/powerpc/platforms/cell/spufs/spufs.ko] undefined! -v2: And also only build it if trace events are enabled. -v3: Fix changelog mistake Reported-by: Stephen Rothwell Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Xiao Guangrong Cc: Paul Mackerras LKML-Reference: <1268697902-9518-1-git-send-regression-fweisbec@gmail.com> Signed-off-by: Ingo Molnar commit 8bc037fb89bb3104b9ae290d18c877624cd7d9cc Author: KOSAKI Motohiro Date: Wed Mar 17 09:36:58 2010 +0900 sched: Use proper type in sched_getaffinity() Using the proper type fixes the following compiler warning: kernel/sched.c:4850: warning: comparison of distinct pointer types lacks a cast Signed-off-by: KOSAKI Motohiro Cc: torvalds@linux-foundation.org Cc: travis@sgi.com Cc: peterz@infradead.org Cc: drepper@redhat.com Cc: rja@sgi.com Cc: sharyath@in.ibm.com Cc: steiner@sgi.com LKML-Reference: <20100317090046.4C79.A69D9226@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit e04dd2d21bb70dd707d569d4ac843149b9acfb27 Merge: 2a5e00e 572c0e3 Author: Takashi Iwai Date: Wed Mar 17 09:01:38 2010 +0100 Merge branch 'fix/hda' into for-linus commit 2a5e00ed14e27908dae698900473a65cc53ccd82 Merge: 0e49887 fb40b49 Author: Takashi Iwai Date: Wed Mar 17 09:01:33 2010 +0100 Merge branch 'fix/misc' into for-linus commit 9d296cfa69b3d4abc9d556986d544f0727988eed Author: Kumar Gala Date: Tue Mar 16 23:39:56 2010 -0500 powerpc/fsl-booke: Get coherent bit from PTE We shouldn't be always setting 'M' in the TLB entry since its reasonable for somethings to be mapped non-coherent. The PTE should have 'M' set properly. Signed-off-by: Kumar Gala commit d6ccb1f55ddf5146219707c0e71b85e3a52179b4 Author: Kumar Gala Date: Wed Mar 10 23:33:25 2010 -0600 powerpc/85xx: Make sure lwarx hint isn't set on ppc32 e500v1/v2 based chips will treat any reserved field being set in an opcode as illegal. Thus always setting the hint in the opcode is a bad idea. Anton should be kept away from the powerpc opcode map. Signed-off-by: Kumar Gala commit 00909e955125e90a6ebb34671c56c4c851e62951 Author: Arnaldo Carvalho de Melo Date: Tue Mar 16 18:28:46 2010 -0300 perf top: Add missing initialization to zero The dso_short_width has to start as zero, as we're calculating the maximum short DSO name length, somehow I missed this one. Reported-by: Frédéric Weisbecker Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1268774926-27488-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit f04e879bf296d136bcafd8c5a26e95599b141671 Author: David S. Miller Date: Tue Mar 16 14:40:42 2010 -0700 sunxvr1000: Add missing FB=y depenency. Signed-off-by: David S. Miller commit 87faf3ccf1c939938600ab57c6c9ed5bd2e5f4cc Author: David S. Miller Date: Tue Mar 16 14:37:47 2010 -0700 bridge: Make first arg to deliver_clone const. Otherwise we get a warning from the call in br_forward(). Signed-off-by: David S. Miller commit 32dec5dd0233ebffa9cae25ce7ba6daeb7df4467 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Mon Mar 15 21:51:18 2010 +0000 bridge br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only without IGMP snooping. Without CONFIG_BRIDGE_IGMP_SNOOPING, BR_INPUT_SKB_CB(skb)->mrouters_only is not appropriately initialized, so we can see garbage. A clear option to fix this is to set it even without that config, but we cannot optimize out the branch. Let's introduce a macro that returns value of mrouters_only and let it return 0 without CONFIG_BRIDGE_IGMP_SNOOPING. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 858a18a6a2f74e8f0e5b2e9671d4b74694aba708 Author: Vitaliy Gusev Date: Tue Mar 16 01:07:51 2010 +0000 route: Fix caught BUG_ON during rt_secret_rebuild_oneshot() route: Fix caught BUG_ON during rt_secret_rebuild_oneshot() Call rt_secret_rebuild can cause BUG_ON(timer_pending(&net->ipv4.rt_secret_timer)) in add_timer as there is not any synchronization for call rt_secret_rebuild_oneshot() for the same net namespace. Also this issue affects to rt_secret_reschedule(). Thus use mod_timer enstead. Signed-off-by: Vitaliy Gusev Acked-by: Neil Horman Signed-off-by: David S. Miller commit 8440853bb70010f2f8edc26cb0f7af60da8b2c5a Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Mon Mar 15 19:26:56 2010 +0000 bridge br_multicast: Fix skb leakage in error path. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 0ba8c9ec25465cd0680b80c0f5836f558e3b972d Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Mon Mar 15 19:27:00 2010 +0000 bridge br_multicast: Fix handling of Max Response Code in IGMPv3 message. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 21edbb223ed2af88b090e7945af7d91d672e3aa6 Author: Jiri Slaby Date: Tue Mar 16 05:29:54 2010 +0000 NET: netpoll, fix potential NULL ptr dereference Stanse found that one error path in netpoll_setup dereferences npinfo even though it is NULL. Avoid that by adding new label and go to that instead. Signed-off-by: Jiri Slaby Cc: Daniel Borkmann Cc: David S. Miller Acked-by: chavey@google.com Acked-by: Matt Mackall Signed-off-by: David S. Miller commit a2f46ee1ba5ee249ce2ca1ee7a7a0ac46529fb4f Author: Neil Horman Date: Tue Mar 16 08:14:33 2010 +0000 tipc: fix lockdep warning on address assignment So in the forward porting of various tipc packages, I was constantly getting this lockdep warning everytime I used tipc-config to set a network address for the protocol: [ INFO: possible circular locking dependency detected ] 2.6.33 #1 tipc-config/1326 is trying to acquire lock: (ref_table_lock){+.-...}, at: [] tipc_ref_discard+0x53/0xd4 [tipc] but task is already holding lock: (&(&entry->lock)->rlock#2){+.-...}, at: [] tipc_ref_lock+0x43/0x63 [tipc] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&(&entry->lock)->rlock#2){+.-...}: [] __lock_acquire+0xb67/0xd0f [] lock_acquire+0xdc/0x102 [] _raw_spin_lock_bh+0x3b/0x6e [] tipc_ref_acquire+0xe8/0x11b [tipc] [] tipc_createport_raw+0x78/0x1b9 [tipc] [] tipc_createport+0x8b/0x125 [tipc] [] tipc_subscr_start+0xce/0x126 [tipc] [] process_signal_queue+0x47/0x7d [tipc] [] tasklet_action+0x8c/0xf4 [] __do_softirq+0xf8/0x1cd [] call_softirq+0x1c/0x30 [] _local_bh_enable_ip+0xb8/0xd7 [] local_bh_enable_ip+0xe/0x10 [] _raw_spin_unlock_bh+0x34/0x39 [] spin_unlock_bh.clone.0+0x15/0x17 [tipc] [] tipc_k_signal+0x8d/0xb1 [tipc] [] tipc_core_start+0x8a/0xad [tipc] [] 0xffffffffa01b1087 [] do_one_initcall+0x72/0x18a [] sys_init_module+0xd8/0x23a [] system_call_fastpath+0x16/0x1b -> #0 (ref_table_lock){+.-...}: [] __lock_acquire+0xa11/0xd0f [] lock_acquire+0xdc/0x102 [] _raw_write_lock_bh+0x3b/0x6e [] tipc_ref_discard+0x53/0xd4 [tipc] [] tipc_deleteport+0x40/0x119 [tipc] [] release+0xeb/0x137 [tipc] [] sock_release+0x1f/0x6f [] sock_close+0x27/0x2b [] __fput+0x12a/0x1df [] fput+0x1a/0x1c [] filp_close+0x68/0x72 [] sys_close+0xad/0xe7 [] system_call_fastpath+0x16/0x1b Finally decided I should fix this. Its a straightforward inversion, tipc_ref_acquire takes two locks in this order: ref_table_lock entry->lock while tipc_deleteport takes them in this order: entry->lock (via tipc_port_lock()) ref_table_lock (via tipc_ref_discard()) when the same entry is referenced, we get the above warning. The fix is equally straightforward. Theres no real relation between the entry->lock and the ref_table_lock (they just are needed at the same time), so move the entry->lock aquisition in tipc_ref_acquire down, after we unlock ref_table_lock (this is safe since the ref_table_lock guards changes to the reference table, and we've already claimed a slot there. I've tested the below fix and confirmed that it clears up the lockdep issue Signed-off-by: Neil Horman CC: Allan Stephens Signed-off-by: David S. Miller commit c3259c8a7060d480e8eb2166da0a99d6879146b4 Author: James Chapman Date: Tue Mar 16 06:29:20 2010 +0000 l2tp: Fix UDP socket reference count bugs in the pppol2tp driver This patch fixes UDP socket refcnt bugs in the pppol2tp driver. A bug can cause a kernel stack trace when a tunnel socket is closed. A way to reproduce the issue is to prepare the UDP socket for L2TP (by opening a tunnel pppol2tp socket) and then close it before any L2TP sessions are added to it. The sequence is Create UDP socket Create tunnel pppol2tp socket to prepare UDP socket for L2TP pppol2tp_connect: session_id=0, peer_session_id=0 L2TP SCCRP control frame received (tunnel_id==0) pppol2tp_recv_core: sock_hold() pppol2tp_recv_core: sock_put L2TP ZLB control frame received (tunnel_id=nnn) pppol2tp_recv_core: sock_hold() pppol2tp_recv_core: sock_put Close tunnel management socket pppol2tp_release: session_id=0, peer_session_id=0 Close UDP socket udp_lib_close: BUG The addition of sock_hold() in pppol2tp_connect() solves the problem. For data frames, two sock_put() calls were added to plug a refcnt leak per received data frame. The ref that is grabbed at the top of pppol2tp_recv_core() must always be released, but this wasn't done for accepted data frames or data frames discarded because of bad UDP checksums. This leak meant that any UDP socket that had passed L2TP data traffic (i.e. L2TP data frames, not just L2TP control frames) using pppol2tp would not be released by the kernel. WARNING: at include/net/sock.h:435 udp_lib_unhash+0x117/0x120() Pid: 1086, comm: openl2tpd Not tainted 2.6.33-rc1 #8 Call Trace: [] ? udp_lib_unhash+0x117/0x120 [] ? warn_slowpath_common+0x71/0xd0 [] ? udp_lib_unhash+0x117/0x120 [] ? warn_slowpath_null+0x13/0x20 [] ? udp_lib_unhash+0x117/0x120 [] ? sk_common_release+0x17/0x90 [] ? inet_release+0x33/0x60 [] ? sock_release+0x10/0x60 [] ? sock_close+0xf/0x30 [] ? __fput+0x52/0x150 [] ? filp_close+0x3e/0x70 [] ? put_files_struct+0x62/0xb0 [] ? do_exit+0x5e7/0x650 [] ? mntput_no_expire+0x13/0x70 [] ? filp_close+0x3e/0x70 [] ? do_group_exit+0x2a/0x70 [] ? sys_exit_group+0x11/0x20 [] ? sysenter_do_call+0x12/0x26 Signed-off-by: James Chapman Signed-off-by: David S. Miller commit db443c441e204cecc1bcec490d40997db988ce3a Author: Steve Glendinning Date: Tue Mar 16 09:03:06 2010 +0000 smsc95xx: wait for PHY to complete reset during init This patch ensures the PHY correctly completes its reset before setting register values. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 3feec9095d12e311b7d4eb7fe7e5dfa75d4a72a5 Author: James Chapman Date: Tue Mar 16 06:46:31 2010 +0000 l2tp: Fix oops in pppol2tp_xmit When transmitting L2TP frames, we derive the outgoing interface's UDP checksum hardware assist capabilities from the tunnel dst dev. This can sometimes be NULL, especially when routing protocols are used and routing changes occur. This patch just checks for NULL dst or dev pointers when checking for netdev hardware assist features. BUG: unable to handle kernel NULL pointer dereference at 0000000c IP: [] pppol2tp_xmit+0x341/0x4da [pppol2tp] *pde = 00000000 Oops: 0000 [#1] SMP last sysfs file: /sys/class/net/lo/operstate Modules linked in: pppol2tp pppox ppp_generic slhc ipv6 dummy loop snd_hda_codec_atihdmi snd_hda_intel snd_hda_codec snd_pcm snd_timer snd soundcore snd_page_alloc evdev psmouse serio_raw processor button i2c_piix4 i2c_core ati_agp agpgart pcspkr ext3 jbd mbcache sd_mod ide_pci_generic atiixp ide_core ahci ata_generic floppy ehci_hcd ohci_hcd libata e1000e scsi_mod usbcore nls_base thermal fan thermal_sys [last unloaded: scsi_wait_scan] Pid: 0, comm: swapper Not tainted (2.6.32.8 #1) EIP: 0060:[] EFLAGS: 00010297 CPU: 3 EIP is at pppol2tp_xmit+0x341/0x4da [pppol2tp] EAX: 00000000 EBX: f64d1680 ECX: 000005b9 EDX: 00000000 ESI: f6b91850 EDI: f64d16ac EBP: f6a0c4c0 ESP: f70a9cac DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 Process swapper (pid: 0, ti=f70a8000 task=f70a31c0 task.ti=f70a8000) Stack: 000005a9 000005b9 f734c400 f66652c0 f7352e00 f67dc800 00000000 f6b91800 <0> 000005a3 f70ef6c4 f67dcda9 000005a3 f89b192e 00000246 000005a3 f64d1680 <0> f63633e0 f6363320 f64d1680 f65a7320 f65a7364 f65856c0 f64d1680 f679f02f Call Trace: [] ? ppp_push+0x459/0x50e [ppp_generic] [] ? ppp_xmit_process+0x3b6/0x430 [ppp_generic] [] ? ppp_start_xmit+0x10d/0x120 [ppp_generic] [] ? dev_hard_start_xmit+0x21f/0x2b2 [] ? sch_direct_xmit+0x48/0x10e [] ? dev_queue_xmit+0x263/0x3a6 [] ? ip_finish_output+0x1f7/0x221 [] ? ip_forward_finish+0x2e/0x30 [] ? ip_rcv_finish+0x295/0x2a9 [] ? netif_receive_skb+0x3e9/0x404 [] ? e1000_clean_rx_irq+0x253/0x2fc [e1000e] [] ? e1000_clean+0x63/0x1fc [e1000e] [] ? sched_clock_local+0x15/0x11b [] ? net_rx_action+0x96/0x195 [] ? __do_softirq+0xaa/0x151 [] ? do_softirq+0x31/0x3c [] ? irq_exit+0x26/0x58 [] ? do_IRQ+0x78/0x89 [] ? common_interrupt+0x29/0x30 [] ? native_safe_halt+0x2/0x3 [] ? default_idle+0x55/0x75 [] ? c1e_idle+0xd2/0xd5 [] ? cpu_idle+0x46/0x62 Code: 8d 45 08 f0 ff 45 08 89 6b 08 c7 43 68 7e fb 9c f8 8a 45 24 83 e0 0c 3c 04 75 09 80 63 64 f3 e9 b4 00 00 00 8b 43 18 8b 4c 24 04 <8b> 40 0c 8d 79 11 f6 40 44 0e 8a 43 64 75 51 6a 00 8b 4c 24 08 EIP: [] pppol2tp_xmit+0x341/0x4da [pppol2tp] SS:ESP 0068:f70a9cac CR2: 000000000000000c Signed-off-by: James Chapman Signed-off-by: David S. Miller commit d0cad871703b898a442e4049c532ec39168e5b57 Author: Steve Glendinning Date: Tue Mar 16 08:46:46 2010 +0000 smsc75xx: SMSC LAN75xx USB gigabit ethernet adapter driver This patch adds a driver for SMSC's LAN7500 family of USB 2.0 to gigabit ethernet adapters. It's loosely based on the smsc95xx driver but the device registers for LAN7500 are completely different. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit c5e49fb5189dbce00bc37f27c83ab0f9e4748bc6 Author: Atsushi Nemoto Date: Tue Mar 16 05:27:40 2010 +0000 ne: Do not use slashes in irq name string This patch fixes following warning introduced by commit 12bac0d9f4dbf3445a0319beee848d15fa32775e ("proc: warn on non-existing proc entries"): WARNING: at /work/mips-linux/make/linux/fs/proc/generic.c:316 __xlate_proc_name+0xe0/0xe8() name 'RBHMA4X00/RTL8019' Signed-off-by: Atsushi Nemoto Signed-off-by: David S. Miller commit edee39321be9f88c47627379e8abadfce0508768 Author: Jiri Slaby Date: Tue Mar 16 04:53:50 2010 +0000 NET: ksz884x, fix lock imbalance Stanse found that one error path (when alloc_skb fails) in netdev_tx omits to unlock hw_priv->hwlock. Fix that. Signed-off-by: Jiri Slaby Cc: Tristram Ha Cc: David S. Miller Signed-off-by: David S. Miller commit 6ad34145cf809384359fe513481d6e16638a57a3 Author: Tilman Schmidt Date: Tue Mar 16 07:04:01 2010 +0000 gigaset: correct range checking off by one error Correct a potential array overrun due to an off by one error in the range check on the CAPI CONNECT_REQ CIPValue parameter. Found and reported by Dan Carpenter using smatch. Impact: bugfix Signed-off-by: Tilman Schmidt Signed-off-by: David S. Miller commit e8c3753ce4cd6a805ebcfdb3aa6d30e6f4b8b3e0 Author: Dave Chinner Date: Mon Mar 15 02:36:35 2010 +0000 xfs: don't warn about page discards on shutdown If we are doing a forced shutdown, we can get lots of noise about delalloc pages being discarded. This is happens by design during a forced shutdown, so don't spam the logs with these messages. Signed-off-by: Dave Chinner Reviewed-by: Christoph Hellwig Signed-off-by: Alex Elder commit 8a262e573d30187b32b5534ec489446931239cc5 Author: Alex Elder Date: Tue Mar 16 18:55:56 2010 +0000 xfs: use scalable vmap API Re-apply a commit that had been reverted due to regressions that have since been fixed. From 95f8e302c04c0b0c6de35ab399a5551605eeb006 Mon Sep 17 00:00:00 2001 From: Nick Piggin Date: Tue, 6 Jan 2009 14:43:09 +1100 Implement XFS's large buffer support with the new vmap APIs. See the vmap rewrite (db64fe02) for some numbers. The biggest improvement that comes from using the new APIs is avoiding the global KVA allocation lock on every call. Signed-off-by: Nick Piggin Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Only modifications here were a minor reformat, plus making the patch apply given the new use of xfs_buf_is_vmapped(). Modified-by: Alex Elder Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit cd9640a70d542ca026a812ac34733799da0a39c9 Author: Alex Elder Date: Tue Mar 16 18:55:54 2010 +0000 xfs: remove old vmap cache Re-apply a commit that had been reverted due to regressions that have since been fixed. Original commit: d2859751cd0bf586941ffa7308635a293f943c17 Author: Nick Piggin Date: Tue, 6 Jan 2009 14:40:44 +1100 XFS's vmap batching simply defers a number (up to 64) of vunmaps, and keeps track of them in a list. To purge the batch, it just goes through the list and calls vunamp on each one. This is pretty poor: a global TLB flush is generally still performed on each vunmap, with the most expensive parts of the operation being the broadcast IPIs and locking involved in the SMP callouts, and the locking involved in the vmap management -- none of these are avoided by just batching up the calls. I'm actually surprised it ever made much difference. (Now that the lazy vmap allocator is upstream, this description is not quite right, but the vunmap batching still doesn't seem to do much). Rip all this logic out of XFS completely. I will improve vmap performance and scalability directly in subsequent patch. Signed-off-by: Nick Piggin Reviewed-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy The only change I made was to use the "new" xfs_buf_is_vmapped() function in a place it had been open-coded in the original. Modified-by: Alex Elder Signed-off-by: Christoph Hellwig Signed-off-by: Alex Elder commit 14b5d6dd40b3091cb5f566568baa4a74dc619286 Author: Florian Fainelli Date: Wed Mar 10 18:32:18 2010 +0100 leds: Fix race between LED device uevent and actual attributes creation If we were to dynamically register/unregister leds and have udev or other daemons handle the leds class uevents, we would be notified of the adding of a new LED and if the daemon immediately tries to open one of the attributes of the led device, it would fail with a "no such file or directory" error since this the attributes are not yet created. Fix this by switching attributes to be class-wide, such that the driver core will register these attributes with device_add_attrs and then emit the kobject_uevent ADD signal. Signed-off-by: Fainelli Signed-off-by: Richard Purdie commit ec57af9c2ece22ae6234189972105d777ff5f939 Author: Bruno Prémont Date: Fri Feb 26 13:20:10 2010 +0100 backlight: panasonic-laptop - Fix incomplete registration failure handling Properly return backlight registration error to parent. Mark struct backlight_ops as const. Signed-off-by: Bruno Prémont Acked-by: Harald Welte (registration failure) Signed-off-by: Richard Purdie commit 28d85873cd6d8d3176e30e02b941b1329df1024c Author: Bruno Prémont Date: Fri Feb 26 13:17:16 2010 +0100 backlight: msi-laptop, msi-wmi: fix incomplete registration failure handling Properly return backlight registration error to parent. Mark struct backlight_ops as const. Signed-off-by: Bruno Prémont Reviewed-by: Anisse Astier Signed-off-by: Richard Purdie commit fa11de0a33e214a00e205494c27fb5a7bb71a5fa Author: Bruno Prémont Date: Fri Feb 26 13:04:54 2010 +0100 backlight: blackfin - Fix missing registration failure handling Check newly registered backlight_device for error and properly return error to parent Mark struct backlight_ops as const. Signed-off-by: Bruno Prémont Acked-by: Mike Frysinger (constify struct backlight_ops) Signed-off-by: Richard Purdie commit f0af78991363d704694a3618b638662c97d8a110 Author: Bruno Prémont Date: Fri Feb 26 12:59:39 2010 +0100 backlight: classmate-laptop - Fix missing registration failure handling Check newly registered backlight_device for error and properly return error to parent. Mark struct backlight_ops as const. Signed-off-by: Bruno Prémont Signed-off-by: Richard Purdie commit 36bc5ee6a8d13333980fa54e97d3469d3d4cda98 Author: Evan McClain Date: Tue Mar 9 19:20:58 2010 -0500 backlight: mbp_nvidia_bl - add five more MacBook variants This adds the MacBook 1,1 2,1 3,1 4,1 and 4,2 to the DMI tables. Signed-off-by: Evan McClain Signed-off-by: Richard Purdie commit 0493a4ff10959ff4c8e0d65efee25b7ffd4fa5db Author: Anton Vorontsov Date: Thu Mar 11 13:58:47 2010 -0800 leds-gpio: fix default state handling on OF platforms The driver wrongly sets default state for LEDs that don't specify default-state property. Currently the driver handles default state this way: memset(&led, 0, sizeof(led)); for_each_child_of_node(np, child) { state = of_get_property(child, "default-state", NULL); if (state) { if (!strcmp(state, "keep")) led.default_state = LEDS_GPIO_DEFSTATE_KEEP; ... } ret = create_gpio_led(&led, ...); } Which means that all LEDs that do not specify default-state will inherit the last value of the default-state property, which is wrong. This patch fixes the issue by moving LED's template initialization into the loop body. Signed-off-by: Anton Vorontsov Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit 72dcd8d08aca4ac6154dc37243880ee306c7ea73 Author: Bob Rodgers Date: Wed Feb 17 15:23:31 2010 -0600 leds: Add Dell Business Class Netbook LED driver This patch adds an LED driver to support the Dell Activity LED on the Dell Latitude 2100 netbook and future products to come. The Activity LED is visible externally in the lid so classroom instructors can observe it from a distance. The driver uses the sysfs led_class and provides a standard LED interface. Signed-off by: Bob Rodgers Signed-off-by: Louis Davis Signed-off-by: Jim Dailey , Developers Acked-by: Matthew Garrett Acked-by: Dmitry Torokhov Signed-off-by: Richard Purdie commit d09e16664be88dc8463fe7508a2123460bf6d676 Author: H Hartley Sweeten Date: Wed Jan 20 16:08:30 2010 -0700 leds: Kconfig cleanup Remove the need for "depends on LEDS_CLASS" by wrapping the affected config options in an if/endif block. Similar for "depends on LEDS_TRIGGERS". LEDS_COBALT_RAQ still has a "depends on LEDS_CLASS=y" since it cannot be selected to build as a module. Signed-off-by: H Hartley Sweeten Signed-off-by: Richard Purdie commit bb9b6ef70f08f256ab4b8ec127c17ee629b85350 Author: H Hartley Sweeten Date: Wed Jan 6 15:34:55 2010 -0700 leds: led-class.c - Quiet boot messages As each led device gets registered a kernel message gets printed. In an embedded system with a number of leds this can produce a lot of output that just looks like noise. Change the message type to KERN_DEBUG since it might be useful in the dmesg output "after" booting. Signed-off-by: H Hartley Sweeten Signed-off-by: Richard Purdie commit 5e89a3484dea8a3d962f83fe497d064fbcde4e55 Author: Márton Németh Date: Sun Jan 10 01:11:03 2010 +0100 leds: make PCI device id constant The id_table field of the struct pci_driver is constant in so it is worth to make pci_device_id also constant. The semantic match that finds this kind of pattern is as follows: (http://coccinelle.lip6.fr/) // @r@ disable decl_init,const_decl_init; identifier I1, I2, x; @@ struct I1 { ... const struct I2 *x; ... }; @s@ identifier r.I1, y; identifier r.x, E; @@ struct I1 y = { .x = E, }; @c@ identifier r.I2; identifier s.E; @@ const struct I2 E[] = ... ; @depends on !c@ identifier r.I2; identifier s.E; @@ + const struct I2 E[] = ...; // Signed-off-by: Márton Németh Signed-off-by: Richard Purdie commit 936034026280facd7050c96c3b28339f28b09cdd Author: Daniel Mack Date: Sun Jan 10 13:27:54 2010 +0100 leds: ALIX2: Add dependency to !GPIO_CS5335 The ALIX2 LED driver and the CS5535 GPIO drivers share the same I/O range which causes a conflict if they're both enabled. Fix this for now by adding Kconfig dependencies. While at it, also drop the EXPERIMENTAL flag, as the code has been around for awhile already. Note that this is a hack. At some point, a real platform support for this board should be added which handles the LEDs via the leds-gpio driver. Signed-off-by: Daniel Mack Signed-off-by: Richard Purdie commit a19a6ee6cad2b20292a774c2f56ba8039b0fac9c Author: Matthew Garrett Date: Wed Feb 17 16:39:44 2010 -0500 backlight: Allow properties to be passed at registration Values such as max_brightness should be set before backlights are registered, but the current API doesn't allow that. Add a parameter to backlight_device_register and update drivers to ensure that they set this correctly. Signed-off-by: Matthew Garrett Signed-off-by: Richard Purdie commit 57e148b6a975980944f4466ccb669b1d02dfc6a1 Author: Bruno Prémont Date: Sun Feb 21 00:20:01 2010 +0100 backlight: Add backlight_device parameter to check_fb check_fb from backlight_ops lacks a reference to the backlight_device that's being referred to. Add this parameter so a backlight_device can be mapped to a single framebuffer, especially if the same driver handles multiple devices on a single system. Signed-off-by: Bruno Prémont Signed-off-by: Richard Purdie commit a4ebb780e194e8751dc22deeabcddd3fdc8f18f0 Author: Jiri Slaby Date: Tue Feb 2 14:44:50 2010 -0800 video: backlight/progear, fix pci device refcounting Stanse found an ommitted pci_dev_puts on error path in progearbl_probe. pmu_dev and sb_dev are gotten, but never put when backlight_device_register fails. So unify fail paths and put the devs when the failure occurs. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Richard Purdie commit c3cf2e44d3bbc694eccef33b0f2fe8e2d89baae7 Author: Alberto Panizzo Date: Tue Jan 19 09:30:50 2010 +0100 backlight: l4f00242t03: Fix module licence absence. Signed-off-by: Alberto Panizzo Signed-off-by: Richard Purdie commit b4144e4f6e3b448d322095ca08af393682a69e33 Author: Richard Purdie Date: Mon Jan 18 14:16:07 2010 +0000 backlight: Revert some const qualifiers 9905a43b2d563e6f89e4c63c4278ada03f2ebb14 went a little to far with const qualifiers as there are legitiment cases where the function pointers can change (machine specific setup code for example). Signed-off-by: Richard Purdie commit e7fb9c4ad351a8da7c09e182bd2e7ccd043daf08 Author: Alberto Panizzo Date: Fri Dec 18 16:42:11 2009 +0100 backlight: Add Epson L4F00242T03 LCD driver The Epson LCD L4F00242T03 is mounted on the Freescale i.MX31 PDK board. Based upon Marek Vasut work in l4f00242t03.c, this driver provides basic init and power on/off functionality for this device through the sysfs lcd interface. Unfortunately Datasheet for this device are not available and all the control sequences sent to the display were copied from the freescale driver that in the i.MX31 Linux BSP. As in the i.MX31PDK board the core and io suppliers are voltage regulators, that functionality is embedded here, but not strict. Signed-off-by: Alberto Panizzo Signed-off-by: Richard Purdie commit 7fde62bffb576d384ea49a3aed3403d5609ee5bc Author: Chris Mason Date: Tue Mar 16 15:40:10 2010 -0400 Btrfs: buffer results in the space_info ioctl The space_info ioctl was using copy_to_user inside rcu_read_lock. This commit changes things to copy into a buffer first and then dump the result down to userland. Signed-off-by: Chris Mason commit c8406ea8fa1adde8dc5400127281d497bbcdb84a Author: Adel Gadllah Date: Sun Mar 14 19:16:25 2010 +0100 iwlwifi: Silence tfds_in_queue message Commit a239a8b47cc0e5e6d7416a89f340beac06d5edaa introduced a noisy message, that fills up the log very fast. The error seems not to be fatal (the connection is stable and performance is ok), so make it IWL_DEBUG_TX rather than IWL_ERR. Signed-off-by: Adel Gadllah Cc: stable@kernel.org Acked-by: Reinette Chatre Signed-off-by: John W. Linville commit 4fdec031b9169b3c17938b9c4168f099f457169c Author: Felix Fietkau Date: Fri Mar 12 04:02:43 2010 +0100 ath9k: fix BUG_ON triggered by PAE frames When I initially stumbled upon sequence number problems with PAE frames in ath9k, I submitted a patch to remove all special cases for PAE frames and let them go through the normal transmit path. Out of concern about crypto incompatibility issues, this change was merged instead: commit 6c8afef551fef87a3bf24f8a74c69a7f2f72fc82 Author: Sujith Date: Tue Feb 9 10:07:00 2010 +0530 ath9k: Fix sequence numbers for PAE frames After a lot of testing, I'm able to reliably trigger a driver crash on rekeying with current versions with this change in place. It seems that the driver does not support sending out regular MPDUs with the same TID while an A-MPDU session is active. This leads to duplicate entries in the TID Tx buffer, which hits the following BUG_ON in ath_tx_addto_baw(): index = ATH_BA_INDEX(tid->seq_start, bf->bf_seqno); cindex = (tid->baw_head + index) & (ATH_TID_MAX_BUFS - 1); BUG_ON(tid->tx_buf[cindex] != NULL); I believe until we actually have a reproducible case of an incompatibility with another AP using no PAE special cases, we should simply get rid of this mess. This patch completely fixes my crash issues in STA mode and makes it stay connected without throughput drops or connectivity issues even when the AP is configured to a very short group rekey interval. Signed-off-by: Felix Fietkau Cc: stable@kernel.org Signed-off-by: John W. Linville commit 3f60ebc9d6291863652d564bacc430629271e6a9 Author: Grazvydas Ignotas Date: Thu Mar 11 17:45:26 2010 +0200 wl1251: fix potential crash In case debugfs does not init for some reason (or is disabled on older kernels) driver does not allocate stats.fw_stats structure, but tries to clear it later and trips on a NULL pointer: Unable to handle kernel NULL pointer dereference at virtual address 00000000 PC is at __memzero+0x24/0x80 Backtrace: [] (wl1251_debugfs_reset+0x0/0x30 [wl1251]) [] (wl1251_op_stop+0x0/0x12c [wl1251]) [] (ieee80211_stop_device+0x0/0x74 [mac80211]) [] (ieee80211_stop+0x0/0x4ac [mac80211]) [] (dev_close+0x0/0xb4) [] (dev_change_flags+0x0/0x184) [] (devinet_ioctl+0x0/0x704) [] (inet_ioctl+0x0/0x100) Add a NULL pointer check to fix this. Signed-off-by: Grazvydas Ignotas Acked-by: Kalle Valo Cc: stable@kernel.org Signed-off-by: John W. Linville commit ce769a2904bf5a9110ef534a7702397e38e2b3e9 Author: Sage Weil Date: Tue Mar 16 00:02:26 2010 +0000 Btrfs: use __u64 types in ioctl.h Signed-off-by: Sage Weil Signed-off-by: Chris Mason commit 854d2c3531e6d32e76b94ca5e096ea54c7497e40 Author: Sage Weil Date: Tue Mar 16 00:02:25 2010 +0000 Btrfs: fix search_ioctl key advance key->type is u8, not u64. fs/btrfs/ioctl.c: In function 'copy_to_sk': fs/btrfs/ioctl.c:1024: warning: comparison is always true due to limited range of data type Signed-off-by: Sage Weil Signed-off-by: Chris Mason commit 4e06e240dcbb803433ee31bfe89a3e785a77cd3b Author: Jiri Slaby Date: Tue Mar 16 15:57:44 2010 +0100 PCMCIA: resource, fix lock imbalance Stanse found that one error path (when alloc_skb fails) in netdev_tx omits to unlock hw_priv->hwlock. Fix that by moving away from unlock in each fail path. Unlock at one place instead. Introduced in 94a819f80297e1f635a7cde4ed5317612e512ba7 (pcmcia: assert locking to struct pcmcia_device) Signed-off-by: Jiri Slaby Signed-off-by: Dominik Brodowski commit e639ba481b76e445df354acd6e29d859a9b1657f Author: Bruno Prémont Date: Mon Mar 15 19:00:27 2010 +0100 HID: avoid '\0' in hid debugfs events file When dumping /sys/kernel/debug/hid/$device/events '\0' characters show up (invisible if cat to console but shown by less or while looking at a dump file). These are due to hid_debug_event() adding strlen()+1 bytes to the ring buffer (e.g. including the trailing '\0'). Any roll-over causes a '\0' as well as hid_debug_event() handles the ring buffers with HID_DEBUG_BUFSIZE-1 size while hid_debug_events_read() handles it with full HID_DEBUG_BUFSIZE size. Signed-off-by: Bruno Prémont Signed-off-by: Jiri Kosina commit ff30a0543e9a6cd732582063e7cae951cdb7acf2 Author: Jan Beulich Date: Mon Mar 15 10:11:15 2010 +0000 x86: Fix placement of FIX_OHCI1394_BASE Ever for 32-bit with sufficiently high NR_CPUS, and starting with commit 789d03f584484af85dbdc64935270c8e45f36ef7 also for 64-bit, the statically allocated early fixmap page tables were not covering FIX_OHCI1394_BASE, leading to a boot time crash when "ohci1394_dma=early" was used. Despite this entry not being a permanently used one, it needs to be moved into the permanent range since it has to be close to FIX_DBGP_BASE and FIX_EARLYCON_MEM_BASE. Reported-bisected-and-tested-by: Justin P. Mattock Fixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id=14487 Signed-off-by: Jan Beulich Cc: # [as far back as long as it still applies] LKML-Reference: <4B9E15D30200007800034D23@vpn.id2.novell.com> Signed-off-by: Ingo Molnar commit c890692bf37671b5b78a1870d55d6d87e1c8a509 Author: Andrew Morton Date: Thu Mar 11 14:08:43 2010 -0800 kernel/sched.c: Suppress unused var warning On UP: kernel/sched.c: In function 'wake_up_new_task': kernel/sched.c:2631: warning: unused variable 'cpu' Signed-off-by: Andrew Morton Cc: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7f5b774275df8c76a959eae7488128b637fcbfc8 Author: Lai Jiangshan Date: Tue Mar 16 17:00:29 2010 +0800 rcu: Fix tracepoints & lockdep false positive tracepoint.h uses rcu_dereference(), which triggers this warning: [ 0.701161] =================================================== [ 0.702211] [ INFO: suspicious rcu_dereference_check() usage. ] [ 0.702716] --------------------------------------------------- [ 0.703203] include/trace/events/workqueue.h:68 invoked rcu_dereference_check() without protection! [ 0.703971] [ 0.703990] other info that might help us debug this: [ 0.703993] [ 0.705590] [ 0.705604] rcu_scheduler_active = 1, debug_locks = 0 [ 0.706712] 1 lock held by swapper/1: [ 0.707229] #0: (cpu_add_remove_lock){+.+.+.}, at: [] cpu_maps_update_begin+0x14/0x20 [ 0.710097] [ 0.710106] stack backtrace: [ 0.712602] Pid: 1, comm: swapper Not tainted 2.6.34-rc1-tip-01613-g72662bb #168 [ 0.713231] Call Trace: [ 0.713997] [] lockdep_rcu_dereference+0x9d/0xb0 [ 0.714746] [] create_workqueue_thread+0x107/0x110 [ 0.715353] [] ? worker_thread+0x0/0x340 [ 0.715845] [] __create_workqueue_key+0x138/0x240 [ 0.716427] [] ? cpu_maps_update_done+0x12/0x20 [ 0.717012] [] init_workqueues+0x6f/0x80 [ 0.717530] [] kernel_init+0x102/0x1f0 [ 0.717570] [] ? kernel_init+0x0/0x1f0 [ 0.718944] [] kernel_thread_helper+0x6/0x10 Signed-off-by: Lai Jiangshan Cc: Paul E. McKenney Cc: Mathieu Desnoyers Cc: Steven Rostedt Cc: Frederic Weisbecker LKML-Reference: <4B9F48AD.4000404@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit d0cb4260f899d07462d49fc67e29f2438dbaca2f Author: Masami Hiramatsu Date: Mon Mar 15 13:02:35 2010 -0400 perf probe: Use original address instead of CU-based address Use original address for looking up the location of variables for dwarf_getlocation_addr() instead of CU-based address. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE LKML-Reference: <20100315170235.31852.91195.stgit@localhost6.localdomain6> Signed-off-by: Ingo Molnar commit 67c7ff7c56f38a8ab338fbbfe366621ce6303ba1 Author: Masami Hiramatsu Date: Mon Mar 15 13:02:28 2010 -0400 perf probe: Fix offset to allow signed value Fix dereference offset to intmax_t from uintmax_t, because it can have negative values (for example local variable's offset from frame pointer). Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE LKML-Reference: <20100315170228.31852.71946.stgit@localhost6.localdomain6> Signed-off-by: Ingo Molnar commit e3818b8dce2a934cd1521dbc4827e5238d8f45d8 Author: Paul E. McKenney Date: Mon Mar 15 17:03:43 2010 -0700 rcu: Make rcu_read_lock_bh_held() allow for disabled BH Disabling BH can stand in for rcu_read_lock_bh(), and this patch updates rcu_read_lock_bh_held() to allow for this. In order to avoid include-file hell, this function is moved out of line to kernel/rcupdate.c. This fixes a false positive RCU warning. Reported-by: Arnd Bergmann Reported-by: Eric Dumazet Signed-off-by: Paul E. McKenney Acked-by: Lai Jiangshan 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: <20100316000343.GA25857@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit b63be8d7beda7fe5879559be6f70f8e1c93109e4 Author: Arnaldo Carvalho de Melo Date: Mon Mar 15 15:03:50 2010 -0300 perf top: Improve the autosizing of column lenghts When profiling C++ workloads the symbol name length can be really big, so cap it before it garbles the result. This builds upon the autosizing already present where we choose to use the short, basename of DSOs instead of its long, full pathname. Reported-by: Pavel Krauz Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1268676230-9261-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 6404fccafa3bfdc0602130a87f4d93baf928bea4 Author: David S. Miller Date: Tue Mar 16 01:00:17 2010 -0700 MAINTAINERS: Add entry for sparc serial drivers. Signed-off-by: David S. Miller commit 910ac735bad53ce54741a72a5b19ab69794ae069 Author: Li Zefan Date: Tue Mar 16 08:57:15 2010 +0100 block: make CONFIG_BLK_CGROUP visible Make the config visible, so we can choose from CONFIG_BLK_CGROUP=y and CONFIG_BLK_CGROUP=m when CONFIG_IOSCHED_CFQ=m. Signed-off-by: Li Zefan Signed-off-by: Jens Axboe commit 97fedbbe1046b3118f49df249840ca21041eefe4 Author: NeilBrown Date: Tue Mar 16 08:55:32 2010 +0100 Remove GENHD_FL_DRIVERFS This flag is not used, so best discarded. Signed-off-by: NeilBrown -- Hi Jens, I came across this recently - these are the only two occurances of "GENHD_FL_DRIVERFS" in the kernel, so it cannot be needed. NeilBrown Signed-off-by: Jens Axboe commit 935050daad4c0ce687f7111995ed7791796deff9 Author: Julia Lawall Date: Tue Mar 16 00:33:37 2010 -0700 drivers/serial/sunsab.c: adjust the constant used to initialize the interrupt_mask0 fields From: Julia Lawall SAB82532_ISR0_TCD is declared in drivers/serial/subsab.h as relating to a status register, while SAB82532_IMR0_TCD is declared in the same file as relating to a mask register. The latter seems more appropriate for the interrupt_mask0 field, and follows the strategy for initializing this field elsewhere in the same file. Both SAB82532_ISR0_TCD and SAB82532_IMR0_TCD have the same value. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 7f7708f0055e49e331f267700aa8b2ee879f004c Author: Michael Braun Date: Tue Mar 16 00:26:22 2010 -0700 bridge: Fix br_forward crash in promiscuous mode From: Michael Braun bridge: Fix br_forward crash in promiscuous mode It's a linux-next kernel from 2010-03-12 on an x86 system and it OOPs in the bridge module in br_pass_frame_up (called by br_handle_frame_finish) because brdev cannot be dereferenced (its set to a non-null value). Adding some BUG_ON statements revealed that BR_INPUT_SKB_CB(skb)->brdev == br-dev (as set in br_handle_frame_finish first) only holds until br_forward is called. The next call to br_pass_frame_up then fails. Digging deeper it seems that br_forward either frees the skb or passes it to NF_HOOK which will in turn take care of freeing the skb. The same is holds for br_pass_frame_ip. So it seems as if two independent skb allocations are required. As far as I can see, commit b33084be192ee1e347d98bb5c9e38a53d98d35e2 ("bridge: Avoid unnecessary clone on forward path") removed skb duplication and so likely causes this crash. This crash does not happen on 2.6.33. I've therefore modified br_forward the same way br_flood has been modified so that the skb is not freed if skb0 is going to be used and I can confirm that the attached patch resolves the issue for me. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit fb40b496ad8bbe60a60c25eb2fce20f3cc114679 Author: Dan Carpenter Date: Tue Mar 16 09:46:23 2010 +0300 sound: sequencer: clean up remove bogus check A few lines earlier bend is limited to 2399. So semitones is always less than 24 here. Signed-off-by: Dan Carpenter Signed-off-by: Takashi Iwai commit a9104f989916aac5d92bfa2c51915d5985fb2e6c Merge: ad6cfc2 89c0ac7 Author: Takashi Iwai Date: Tue Mar 16 07:50:49 2010 +0100 Merge branch 'topic/misc' into fix/misc commit 572c0e3c73341755f3e7dfaaef6b26df12bd709c Author: Daniel T Chen Date: Sun Mar 14 23:44:03 2010 -0400 ALSA: hda: Use LPIB and 6stack-dig for eMachines T5212 BugLink: https://bugs.launchpad.net/bugs/538895 The OR has verified that both position_fix=1 and model=6stack-dig are necessary to have capture function properly. (The existing 3stack-6ch model quirk seems to be incorrect.) Reported-by: Reuben Bailey Tested-by: Reuben Bailey Cc: Signed-off-by: Daniel T Chen Signed-off-by: Takashi Iwai commit 627a2d3c29427637f4c5d31ccc7fcbd8d312cd71 Author: NeilBrown Date: Mon Mar 8 16:44:38 2010 +1100 md: deal with merge_bvec_fn in component devices better. If a component device has a merge_bvec_fn then as we never call it we must ensure we never need to. Currently this is done by setting max_sector to 1 PAGE, however this does not stop a bio being created with several sub-page iovecs that would violate the merge_bvec_fn. So instead set max_segments to 1 and set the segment boundary to the same as a page boundary to ensure there is only ever one single-page segment of IO requested at a time. This can particularly be an issue when 'xen' is used as it is known to submit multiple small buffers in a single bio. Signed-off-by: NeilBrown Cc: stable@kernel.org commit 36e9e1eab777e077f7484d309ff676d0568e27d1 Author: Suresh Siddha Date: Mon Mar 15 14:33:06 2010 -0800 x86: Handle legacy PIC interrupts on all the cpu's Ingo Molnar reported that with the recent changes of not statically blocking IRQ0_VECTOR..IRQ15_VECTOR's on all the cpu's, broke an AMD platform (with Nvidia chipset) boot when "noapic" boot option is used. On this platform, legacy PIC interrupts are getting delivered to all the cpu's instead of just the boot cpu. Thus not initializing the vector to irq mapping for the legacy irq's resulted in not handling certain interrupts causing boot hang. Fix this by initializing the vector to irq mapping on all the logical cpu's, if the legacy IRQ is handled by the legacy PIC. Reported-by: Ingo Molnar Signed-off-by: Suresh Siddha [ -v2: io-apic-enabled improvement ] Acked-by: Yinghai Lu Cc: Eric W. Biederman LKML-Reference: <1268692386.3296.43.camel@sbs-t61.sc.intel.com> Signed-off-by: Ingo Molnar commit 0821ec55bb1382dd3b9476dc15d5dbbb19f0c3fd Author: Herbert Xu Date: Mon Mar 15 20:38:25 2010 -0700 bridge: Move NULL mdb check into br_mdb_ip_get Since all callers of br_mdb_ip_get need to check whether the hash table is NULL, this patch moves the check into the function. This fixes the two callers (query/leave handler) that didn't check it. Reported-by: Michael Braun Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d00561a2f64b381aefb41f4a140ff5dc373b52e7 Author: Lars Ellenberg Date: Mon Mar 15 19:09:28 2010 -0700 ISDN: Add PCI ID for HFC-2S/4S Beronet Card PCIe A few subdevice IDs seem to have been dropped when hfc_multi was included upstream, just compare the list at http://www.openvox.cn/viewvc/misdn/trunk/hfc_multi.c?revision=75&view=annotate#l175 with the IDs in drivers/isdn/hardware/mISDN/hfcmulti.c Added PCIe 2 Port card and LED settings (same as PCI) Do not use /KKe Signed-off-by: Lars Ellenberg Signed-off-by: Karsten Keil Signed-off-by: David S. Miller commit 4961e02f1999e1c3468c09b2669c94d7c3ae82a8 Merge: d14a0eb a3d3203 Author: David S. Miller Date: Mon Mar 15 16:23:54 2010 -0700 Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ commit 0e17226f7cd289504724466f4298abc9bdfca3fe Author: Ben Dooks Date: Mon Mar 15 23:08:03 2010 +0000 ARM: SAMSUNG: Fixup commit 4e6d488af37980d224cbf298224db6173673f362 Commit 4e6d488af37980d224cbf298224db6173673f362 either missed out the following machine files or somehow managed to clash between merges. Fixup the three files missing the second parameter to addruart macro to allow them to build. Fixes the following warnings in arch/arm/kernel/debug.c: arch/arm/kernel/debug.S: Assembler messages: arch/arm/kernel/debug.S:167: Error: too many positional arguments arch/arm/kernel/debug.S:183: Error: too many positional arguments Signed-off-by: Ben Dooks commit d14a0ebda7d3daede1a99c01527affb9ceaa4c22 Author: Gerrit Renker Date: Sun Mar 14 20:13:19 2010 +0000 net-2.6 [Bug-Fix][dccp]: fix oops caused after failed initialisation dccp: fix panic caused by failed initialisation This fixes a kernel panic reported thanks to Andre Noll: if DCCP is compiled into the kernel and any out of the initialisation steps in net/dccp/proto.c:dccp_init() fail, a subsequent attempt to create a SOCK_DCCP socket will panic, since inet{,6}_create() are not prevented from creating DCCP sockets. This patch fixes the problem by propagating a failure in dccp_init() to dccp_v{4,6}_init_net(), and from there to dccp_v{4,6}_init(), so that the DCCP protocol is not made available if its initialisation fails. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit b8d689743106bab5c49dda87080e76aa78db8a56 Author: Dan Carpenter Date: Sun Mar 14 22:24:08 2010 +0000 myri: remove dead code We can never reach the return statement. Signed-off-by: Dan Carpenter Signed-off-by: David S. Miller commit 873a69a358a6b393fd8d9d92e193ec8895cac4d7 Author: Tilman Schmidt Date: Sun Mar 14 12:58:05 2010 +0000 gigaset: prune use of tty_buffer_request_room Calling tty_buffer_request_room() before tty_insert_flip_string() is unnecessary, costs CPU and for big buffers can mess up the multi-page allocation avoidance. Signed-off-by: Tilman Schmidt Acked-by: Karsten Keil CC: Alan Cox , stable@kernel.org Signed-off-by: David S. Miller commit 3a0a3a6b92edf181f849ebd8417122392ba73a96 Author: Tilman Schmidt Date: Sun Mar 14 12:58:05 2010 +0000 gigaset: correct clearing of at_state strings on RING In RING handling, clear the table of received parameter strings in a loop like everywhere else, instead of by enumeration which had already gotten out of sync. Impact: minor bugfix Signed-off-by: Tilman Schmidt Acked-by: Karsten Keil CC: stable@kernel.org Signed-off-by: David S. Miller commit bc35b4e347c047fb1c665bb761ddb22482539f7f Author: Tilman Schmidt Date: Sun Mar 14 12:58:05 2010 +0000 gigaset: avoid registering CAPI driver more than once Registering/unregistering the Gigaset CAPI driver when a device is connected/disconnected causes an Oops when disconnecting two Gigaset devices in a row, because the same capi_driver structure gets unregistered twice. Fix by making driver registration/unregistration a separate operation (empty in the ISDN4Linux case) called when the main module is loaded/unloaded. Impact: bugfix Signed-off-by: Tilman Schmidt Acked-by: Karsten Keil CC: stable@kernel.org Signed-off-by: David S. Miller commit 4d823be98c5b24d94c7f41a384a4bb60d7848ad5 Author: Christoph Egger Date: Thu Mar 11 12:07:54 2010 +0000 obsolete config in kernel source: HSO_AUTOPM CONFIG_HSO_AUTOPM is set by KConfig / set in the Kernel source, makefiles and won't be ever set this way, therefor simply removing the protected code. Signed-off-by: Christoph Egger Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 6329da5f258ae752d1f33b549bae4f8a20b6871a Author: Christoph Egger Date: Thu Mar 11 12:07:52 2010 +0000 obsolete config in kernel source: USE_INTERNAL_TIMER CONFIG_USE_INTERNAL_TIMER seems to be the remainings of some experiment. It is explicitely #undef-ed as not working, only referenced from one source file and rather aged. Hereby cleaning it from the kernel tree. Signed-off-by: Christoph Egger Acked-by: Roel Kluin Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit d287d66ee460b8d90b9ac840dd37f524a289bf97 Author: Akinobu Mita Date: Thu Mar 11 12:07:50 2010 +0000 atm: use for_each_set_bit() Replace open-coded loop with for_each_set_bit(). Signed-off-by: Akinobu Mita Cc: Chas Williams Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit a1ca14ac54675d3bf48d442b5a7b9eba133f1888 Author: Akinobu Mita Date: Thu Mar 11 12:07:49 2010 +0000 phonet: use for_each_set_bit() Replace open-coded loop with for_each_set_bit(). Signed-off-by: Akinobu Mita Cc: "David S. Miller" Signed-off-by: Andrew Morton Acked-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit f28f9e43b3d81d1e69da0ebf77c8a6780cb5e0c8 Author: Randy Dunlap Date: Fri Mar 12 19:23:27 2010 +0000 timestamping: fix example build Fix Makefiles so that Documentation/networking/timestamping/timestamping.c will build when using the CONFIG_BUILD_DOCSRC kconfig option. (timestamping.c does not build currently with its simple Makefile.) Also fix printf format warnings. Signed-off-by: Randy Dunlap Cc: Patrick Ohly Signed-off-by: David S. Miller commit 65e543f12cb7f98cb041a759a21685569eec8695 Author: Ben Dooks Date: Mon Mar 15 22:57:18 2010 +0000 ARM: SAMSUNG: Fix build error from stale define in The decleration of error() as static in the platform specific uncompress code in arch/arm/plat-samsung/include/plat/uncomopress.h causes the build of the uncompressor to break. Remove it, as it is no longer needed. arch/arm/boot/compressed/decompress.o: In function `gunzip': /var/tmp/kernel-orig/arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:67: undefined reference to `error' /var/tmp/kernel-orig/arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:73: undefined reference to `error' /var/tmp/kernel-orig/arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:80: undefined reference to `error' /var/tmp/kernel-orig/arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:95: undefined reference to `error' /var/tmp/kernel-orig/arch/arm/boot/compressed/../../../../lib/decompress_inflate.c:152: undefined reference to `error' Signed-off-by: Ben Dooks commit 876e956f207373f974f2808c36aabcd4e32c9ee4 Author: Julia Lawall Date: Tue Mar 9 11:14:11 2010 +0000 drivers/net: drop redundant memset The region set by the call to memset is immediately overwritten by the subsequent call to memcpy. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression e1,e2,e3,e4; @@ - memset(e1,e2,e3); memcpy(e1,e4,e3); // Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit 255f5c327ec3a1d77fe54ef5773ef5eaf7c35a3e Author: Ian Munsie Date: Thu Mar 11 12:07:25 2010 +0000 i4l: change magic numbers in Eicon DIVA ISDN driver to symbolic names Replace references to the '20' magic number found throughout the Eicon ISDN driver for the length of the station_id field in the T30_INFO struct with the T30_MAX_STATION_ID_LENGTH symbolic constant. Signed-off-by: Ian Munsie Cc: Armin Schindler Cc: Karsten Keil Cc: Stoyan Gaydarov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 8b4017d8c191822f1c93744e7876c9020e6209aa Author: Ian Munsie Date: Thu Mar 11 12:07:24 2010 +0000 i4l: silence compiler warnings for array access in Eicon DIVA ISDN driver When compiling this driver, the compiler throws the following warnings: drivers/isdn/hardware/eicon/message.c:8426: warning: array subscript is above array bounds drivers/isdn/hardware/eicon/message.c:8427: warning: array subscript is above array bounds drivers/isdn/hardware/eicon/message.c:8434: warning: array subscript is above array bounds drivers/isdn/hardware/eicon/message.c:8435: warning: array subscript is above array bounds drivers/isdn/hardware/eicon/message.c:8436: warning: array subscript is above array bounds drivers/isdn/hardware/eicon/message.c:8447: warning: array subscript is above array bounds This arises from the particular semantics the driver is using to write to the nlc array (static byte[256]). The array has a length in byte 0 followed by a T30_INFO struct starting at byte 1. The T30_INFO struct has a number of variable length strings after the station_id entry, which cannot be explicitly defined in the struct and the driver accesses them with an array index to station_id beyond the length of station_id. This patch merely changes the semantics that the driver uses to access the entries after the station_id entry to use the original 256 byte nlc array taking the offset and length of the station_id entry to calculate where to write in the array, thereby silencing the warning. Signed-off-by: Ian Munsie Cc: Armin Schindler Cc: Karsten Keil Cc: Stoyan Gaydarov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit dec9951b8ad86c591af7b452966bf48b307a4010 Author: Roel Kluin Date: Thu Mar 11 12:07:22 2010 +0000 isdn: misplaced parenthesis in pof_handle_data() The parenthesis was misplaced. Signed-off-by: Roel Kluin Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 9baddeb8c6c7faa7da8706ad629f09ca221850c1 Author: Stanislaw Gruszka Date: Tue Mar 9 06:55:02 2010 +0000 bnx2x: change smp_mb() comment to conform the true Access to fp->tx_bp_prod is protected by __netif_tx_lock, smp_mb() is not needed for that. Signed-off-by: Stanislaw Gruszka Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 0efc22f3afa5d8f070a33fea06162d7d9d518e38 Author: Stanislaw Gruszka Date: Tue Mar 9 06:55:01 2010 +0000 bnx2x: remove not necessary compiler barrier Access to fp->tx_bd_prod is protected by __netif_tx_lock, so we do not need any barrier for that. Update of fp->tx_bd_cons in bnx2x_tx_int() is not protected by lock, but barrier() nor smb_mb() in bnx2x_tx_avail() not guarantee we will see values that is written on other cpu. Ordering issues between netif_tx_stop_queue(), netif_tx_queue_stopped(), fp->tx_bd_cons = bd_cons and bnx2x_tx_avail() are already handled by smp_mb() in bnx2x_tx_int() and bnx2x_start_xmit(). Signed-off-by: Stanislaw Gruszka Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller commit 2d99cf16f42b1979a2c498bb6d09498dbd689978 Author: Stanislaw Gruszka Date: Tue Mar 9 06:55:00 2010 +0000 bnx2x: use smp_mb() to keep ordering of read write operations Since we want to keep ordering of write to fp->bd_tx_cons and netif_tx_queue_stopped(txq), what is read of txq->state, we have to use general memory barrier. Signed-off-by: Stanislaw Gruszka Signed-off-by: David S. Miller commit d4a2ac3e802d9f598453a7854d0fdf67371ac2dd Author: Ajit Khaparde Date: Thu Mar 11 01:35:59 2010 +0000 be2net: fix mccq create for big endian architectures The request to create an mccq was being dispatched without doing a byte swap of num_pages. This byte swap is necessary for Big Endian systems like PPC. Not having this fix leads mccq create to fail on BE ASICs running newer version of firmware, thereby causing driver initialization failure. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit d4fdcd923daf9d03d2e1b956d66f05c3f2ca4c43 Author: chaithrika@ti.com Date: Wed Mar 10 22:37:56 2010 +0000 TI DaVinci EMAC: Convert to dev_pm_ops Migrate from the legacy PM hooks to use dev_pm_ops structure. Signed-off-by: Chaithrika U S Acked-by: Kevin Hilman Signed-off-by: David S. Miller commit be5bce2bf5cfe021bc6bdff4d49fa18776bc293d Author: Sekhar Nori Date: Tue Mar 9 01:20:37 2010 +0000 net: davinci emac: use dma_{map, unmap}_single API for cache coherency The davinci emac driver uses some ARM specific DMA APIs for cache coherency which have been removed from kernel with the 2.6.34 merge. Modify the driver to use the dma_{map, unmap}_single() APIs defined in dma-mapping.h Without this fix, the driver fails to compile on Linus's tree. Tested on DM365 and OMAP-L138 EVMs. Signed-off-by: Sekhar Nori Acked-by: Kevin Hilman Signed-off-by: David S. Miller commit e79032aa75af76a14e2cdd973b199855e7761881 Author: Vasily Khoruzhick Date: Mon Mar 15 16:27:08 2010 +0200 ARM: SAMSUNG: Add suspend/resume support for S3C PWM driver Reset period_ns and duty_ns values in suspend handler to avoid skip of configuration if same values passed to pwm_config; Restore invertion bit in resume handler. Without this patch PWM works incorrectly after resume from suspend. Signed-off-by: Vasily Khoruzhick Signed-off-by: Ben Dooks commit 664e87e47e086962a832f9a613a8fd4042a02ac1 Author: Vasily Khoruzhick Date: Sun Mar 14 16:32:28 2010 +0200 ARM: S3C2440: Fix s3c2440 cpufreq compilation post move. Fix compilation issue by moving s3c2440-cpufreq.c into mach-s3c2440 directory Signed-off-by: Vasily Khoruzhick Signed-off-by: Ben Dooks commit 211a0d941b1924e667483f822a55e2cc694cd212 Author: David S. Miller Date: Mon Mar 15 15:23:30 2010 -0700 e100: Fix ring parameter change handling regression. When the PCI pool changes were added to fix resume failures: commit 98468efddb101f8a29af974101c17ba513b07be1 e100: Use pci pool to work around GFP_ATOMIC order 5 memory allocation failu and commit 70abc8cb90e679d8519721e2761d8366a18212a6 e100: Fix broken cbs accounting due to missing memset. This introduced a problem that can happen if the TX ring size is increased. We need to size the PCI pool using cbs->max instead of the default cbs->count value. Signed-off-by: David S. Miller commit 0d5e6f7ae8609b944c08e8a2f63f7d169c548134 Author: Russell King Date: Mon Mar 15 22:04:24 2010 +0000 ARM: Fix RiscPC decompressor build errors arch/arm/boot/compressed/decompress.o: In function `do_decompress': decompress.c:(.text+0x26e8): undefined reference to `error' decompress.c:(.text+0x2760): undefined reference to `error' decompress.c:(.text+0x27d8): undefined reference to `error' decompress.c:(.text+0x2824): undefined reference to `error' decompress.c:(.text+0x28f0): undefined reference to `error' Signed-off-by: Russell King commit e6e8ea63f5d745e5a3030eec1964d0429b93107d Author: Sergio Aguirre Date: Mon Mar 1 14:26:45 2010 -0600 omap3: zoom2/3: Register only 1 8250 port There's no more serial ports available, so, doesn't make sense to create 4 device nodes. Signed-off-by: Sergio Aguirre commit fcbcea93abbe361e14dd458d0a5a3e9dadaa5ba9 Author: Sergio Aguirre Date: Mon Mar 1 12:17:15 2010 -0600 omap3: zoom 2/3: Change debugboard serial port id This is now changed to PLAT8250_DEV_PLATFORM (= 0), because it's the only port that's going to be initialized in Zoom 2/3 boards. So, it doesn't make sense to keep the hardcoded 3 value anymore. Signed-off-by: Sergio Aguirre commit 9e265aa7ac493aa0a3de80aa3092d8677b3e8546 Author: Sergio Aguirre Date: Mon Mar 1 11:52:36 2010 -0600 omap3: 3630sdp: Explicitly enable all UARTs All UARTs seem physically reachable, so, enable them all. Signed-off-by: Sergio Aguirre commit 2d7f66104cc9ef508c382c8d6cb1ce6123383350 Author: Sergio Aguirre Date: Mon Mar 1 11:48:26 2010 -0600 omap3: zoom2/3 / 3630sdp: Don't init always all uarts This is useless, since in Zoom2/3 boards, the ports aren't even physically accessible. They must be explicitly initted in the board-zoom2.c, board-zoom3.c and board-3630sdp.c files instead. Signed-off-by: Sergio Aguirre commit 4b1bbd3fd9384ad6ca62903172ccb6a8729dd897 Author: Sergio Aguirre Date: Fri Feb 26 19:58:47 2010 -0600 omap2/3/4: serial: Remove condition for getting uart4_phys This check is invalid, since we haven't filled the omap_revision var at this point. Signed-off-by: Sergio Aguirre commit 10c805eb4f89d44fe4e457d727b59af15c4a4a36 Author: Sergio Aguirre Date: Tue Mar 9 13:22:14 2010 -0600 OMAP3: serial: Use dev_* macros instead of printk As we have a struct device populated at the time we are printing the errors, using dev_* macros makes more sense, as could give a better idea where the error/warning came from. Signed-off-by: Sergio Aguirre commit e88d556dc5f0ef437e3538277a1dd33e5038be77 Author: Sergio Aguirre Date: Sat Feb 27 14:13:43 2010 -0600 OMAP3: serial: Check for zero-based physical addr This is for protecting a wrong mapping attempt of a zero-based physical address. The result is that, no serial port will be attempted to be mapped. Also add an additional protection for NULL clocks before attempting to enable them (if above condition applies) Signed-off-by: Sergio Aguirre commit cfbc0683af235106e7dabe92003870b82ad6f0ba Author: NeilBrown Date: Thu Mar 11 11:20:17 2010 +1100 NFS: ensure bdi_unregister is called on mount failure. bdi_unregister is called by nfs_put_super which is only called by generic_shutdown_super if ->s_root is not NULL. So if we error out in a circumstance where we called nfs_bdi_register (i.e. server != NULL) but have not set s_root, then we need to call bdi_unregister explicitly in nfs_get_sb and various other *_get_sb() functions. Signed-off-by: NeilBrown Signed-off-by: Trond Myklebust commit ccf50e2341c4174d5579315e184ea312081acec6 Author: Russell King Date: Mon Mar 15 19:03:06 2010 +0000 ARM: Fix sorting of platform group config options and includes ... and document the sorting criteria to help future additions. Signed-off-by: Russell King commit 8e4971f2fb2380ce66196136e113d04196b80fcd Author: Anders Grafström Date: Mon Mar 15 16:04:14 2010 +0100 ARM: 5991/1: Fix regression in restore_user_regs macro ARMv5T and earlier require that a ldm {}^ instruction is not followed by an instruction that accesses banked registers. This patch restores the nop that was lost in commit b86040a59feb255a8193173caa4d5199464433d5. Signed-off-by: Anders Grafström Signed-off-by: Russell King commit 8212cf7583a5ba5d213d9c9180be808222a2813f Author: Dan Carpenter Date: Mon Mar 15 11:22:26 2010 +0300 cifs: trivial white space I fixed the indent level. Signed-off-by: Dan Carpenter Signed-off-by: Steve French commit ef5780c018ed169a77b623f87c4ba52faa8ad0fe Author: Nick Piggin Date: Mon Mar 15 11:05:29 2010 -0400 Btrfs: fix gfp flags masking in the compression code GFP_FS must be masked out, NOFS can't be or'd in. Signed-off-by: Chris Mason commit 5ff7ba3a797a8ffd5299b8477df2dca3c3ebd34e Author: Chris Mason Date: Mon Mar 15 10:21:30 2010 -0400 Btrfs: don't look at bio flags after submit_bio After callling submit_bio, the bio can be freed at any time. The btrfs submission thread helper was checking the bio flags too late, which might not give the correct answer. When CONFIG_DEBUG_PAGE_ALLOC is turned on, it can lead to oopsen. Signed-off-by: Chris Mason commit a343832f1a55c74791a8a37053fc02ad80640710 Author: Xiao Guangrong Date: Wed Jan 6 11:48:18 2010 +0000 btrfs: using btrfs_stack_device_id() get devid We can use btrfs_stack_device_id() to get dev_item->devid Signed-off-by: Xiao Guangrong Signed-off-by: Chris Mason commit 91748467a5c5884e44ad5cf58630c0c28474f1f6 Author: Akinobu Mita Date: Sun Feb 28 10:59:11 2010 +0000 btrfs: use memparse Use memparse() instead of its own private implementation. Signed-off-by: Akinobu Mita Cc: Chris Mason Cc: linux-btrfs@vger.kernel.org Signed-off-by: Chris Mason commit 1406e4327be3a533a2b18582f715ce2cfbcf6804 Author: Josef Bacik Date: Wed Jan 13 18:19:06 2010 +0000 Btrfs: add a "df" ioctl for btrfs df is a very loaded question in btrfs. This gives us a way to get the per-space usage information so we can tell exactly what is in use where. This will help us figure out ENOSPC problems, and help users better understand where their disk space is going. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 2ac55d41b5d6bf49e76bc85db5431240617e2f8f Author: Josef Bacik Date: Wed Feb 3 19:33:23 2010 +0000 Btrfs: cache the extent state everywhere we possibly can V2 This patch just goes through and fixes everybody that does lock_extent() blah unlock_extent() to use lock_extent_bits() blah unlock_extent_cached() and pass around a extent_state so we only have to do the searches once per function. This gives me about a 3 mb/s boots on my random write test. I have not converted some things, like the relocation and ioctl's, since they aren't heavily used and the relocation stuff is in the middle of being re-written. I also changed the clear_extent_bit() to only unset the cached state if we are clearing EXTENT_LOCKED and related stuff, so we can do things like this lock_extent_bits() clear delalloc bits unlock_extent_cached() without losing our cached state. I tested this thoroughly and turned on LEAK_DEBUG to make sure we weren't leaking extent states, everything worked out fine. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 5a1a3df1f6c86926cfe8657e6f9b4b4c2f467d60 Author: Josef Bacik Date: Tue Feb 2 20:51:14 2010 +0000 Btrfs: cache ordered extent when completing io When finishing io we run btrfs_dec_test_ordered_pending, and then immediately run btrfs_lookup_ordered_extent, but btrfs_dec_test_ordered_pending does that already, so we're searching twice when we don't have to. This patch lets us pass a btrfs_ordered_extent in to btrfs_dec_test_ordered_pending so if we do complete io on that ordered extent we can just use the one we found then instead of having to do another btrfs_lookup_ordered_extent. This made my fio job with the other patch go from 24 mb/s to 29 mb/s. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit c2a128d28a2e78e159e17e8c9274d0a9d9492555 Author: Josef Bacik Date: Tue Feb 2 21:19:11 2010 +0000 Btrfs: cache extent state in find_delalloc_range This patch makes us cache the extent state we find in find_delalloc_range since we'll have to lock the extent later on in the function. This will keep us from re-searching for the rang when we try to lock the extent. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 49958fd7dbb83cd4d65179d025940e01fe1fbacd Author: Josef Bacik Date: Tue Feb 2 21:48:28 2010 +0000 Btrfs: change the ordered tree to use a spinlock instead of a mutex The ordered tree used to need a mutex, but currently all we use it for is to protect the rb_tree, and a spin_lock is just fine for that. Using a spin_lock instead makes dbench run a little faster, 58 mb/s instead of 51 mb/s, and have less latency, 3445.138 ms instead of 3820.633 ms. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 4125bf761cd0786e1163e024c7c809ce2cc625bc Author: Chris Mason Date: Wed Feb 3 18:18:45 2010 +0000 Btrfs: finish read pages in the order they are submitted The endio is done at reverse order of bio vectors. That means for a sequential read, the page first submitted will finish last in a bio. Considering we will do checksum (making cache hot) for every page, this does introduce delay (and chance to squeeze cache used soon) for pages submitted at the begining. I don't observe obvious performance difference with below patch at my simple test, but seems more natural to finish read in the order they are submitted. Signed-off-by: Shaohua Li Signed-off-by: Chris Mason commit 0be2e98173f8badd5ccc7c2e994891746ba1caf4 Author: Miao Xie Date: Thu Feb 11 08:06:58 2010 +0000 btrfs: fix btrfs_mkdir goto for no free objectids btrfs_mkdir() must jump to the place of ending transaction after btrfs_find_free_objectid() failed. Or this transaction can't end. Signed-off-by: Miao Xie Signed-off-by: Chris Mason commit 0bdb1db297ab36865a63ee722d35ff0a1f0ae522 Author: Sage Weil Date: Fri Feb 19 14:13:50 2010 -0800 Btrfs: flush data on snapshot creation Flush any delalloc extents when we create a snapshot, so that recently written file data is always included in the snapshot. A later commit will add the ability to snapshot without the flush, but most people expect flushing. Signed-off-by: Sage Weil Signed-off-by: Chris Mason commit bd4d10888990f7e3f8029205d27eb155202d6969 Author: Josef Bacik Date: Fri Mar 5 21:59:21 2010 +0000 Btrfs: make df be a little bit more understandable The way we report df usage is way confusing for everybody, including some other utilities (bacula for one). So this patch makes df a little bit more understandable. First we make used actually count the total amount of used space in all space info's. This will give us a real view of how much disk space is in use. Second, for blocks available, only count data space. This makes things like bacula work because it says 0 when you can no longer write anymore data to the disk. I think this is a nice compromise, since you will end up with something like the following [root@alpha ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 148G 30G 111G 21% / /dev/sda1 194M 116M 68M 64% /boot tmpfs 985M 12K 985M 1% /dev/shm /dev/mapper/VolGroup-LogVol02 145G 140G 0 100% /mnt/btrfs-test Compare this with btrfsctl -i output [root@alpha btrfs-progs-unstable]# ./btrfsctl -i /mnt/btrfs-test/ Metadata, DUP: total=4.62GB, used=2.46GB System, DUP: total=8.00MB, used=24.00KB Data: total=134.80GB, used=134.80GB Metadata: total=8.00MB, used=0.00 System: total=4.00MB, used=0.00 operation complete This way we show that there is no more data space to be used, but we have another 5GB of space left for metadata. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 3a0524dc054791688177544fe510d2868ee20d9f Author: TARUISI Hiroaki Date: Tue Feb 9 06:36:45 2010 +0000 btrfs: Update existing btrfs_device for renaming device When we scan devices in a multi-device filesystem, we memorize the original name. If the device gets a new name, later scans don't update the in-kernel structures related to it, and we're not able to mount the filesystem. This patch updates device name during scaning. Signed-off-by: TARUISI Hiroaki Signed-off-by: Chris Mason commit 1e701a3292e25a6c4939cad9f24951dc6b6ad853 Author: Chris Mason Date: Thu Mar 11 09:42:04 2010 -0500 Btrfs: add new defrag-range ioctl. The btrfs defrag ioctl was limited to doing the entire file. This commit adds a new interface that can defrag a specific range inside the file. It can also force compression on the file, allowing you to selectively compress individual files after they were created, even when mount -o compress isn't turned on. Signed-off-by: Chris Mason commit 940100a4a7b78b27e60a3e72340fb9b5397dcdb2 Author: Chris Mason Date: Wed Mar 10 10:52:59 2010 -0500 Btrfs: be more selective in the defrag ioctl The btrfs defrag ioctl had some bugs around delalloc accounting, and it wasn't properly skipping pages that were not in the mapping. It wasn't properly clearing the page checked flag, which could make the writeback code ignore the page forever while pinning it as dirty. This commit fixes those problems and makes defrag a little smarter. It skips holes and it doesn't waste time defragging large extents. If a tiny extent comes before a very large extent, it will defrag both of them to make sure the tiny extent ends up next to something big. Signed-off-by: Chris Mason commit 51684082b11c304829ea22193d4d96a5b1663b97 Author: Chris Mason Date: Wed Mar 10 15:33:32 2010 -0500 Btrfs: run the backing dev more often in the submit_bio helper The submit_bio helper thread can decide to loop back around to service more bios. This commit forces it to unplug first, which helps reduce the latency seen by submitters. Signed-off-by: Chris Mason commit 4849f01d153be0f52b8191ee1be0ce492aa96811 Author: Josef Bacik Date: Mon Dec 14 19:18:38 2009 +0000 Btrfs: make subvolid=0 mount the original default root Since theres not a good way to make sure the user sees the original default root tree id, and not to mention it's 5 so is way different than any other volume, just make subvol=0 mount the original default root. This makes it a bit easier for users to handle in the long run. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 6ef5ed0d386be5c43ec66d6f2999919c0893558b Author: Josef Bacik Date: Fri Dec 11 21:11:29 2009 +0000 Btrfs: add ioctl and incompat flag to set the default mount subvol This patch needs to go along with my previous patch. This lets us set the default dir item's location to whatever root we want to use as our default mounting subvol. With this we don't have to use mount -o subvol= anymore to mount a different subvol, we can just set the new one and it will just magically work. I've done some moderate testing with this, mostly just switching the default mount around, mounting subvols and the default mount at the same time and such, everything seems to work. Thanks, Older kernels would generally be able to still mount the filesystem with the default subvolume set, but it would result in a different volume being mounted, which could be an even more unpleasant suprise for users. So if you set your default subvolume, you can't go back to older kernels. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 73f73415caddbc01d9f10c03e0a677d5b3d11569 Author: Josef Bacik Date: Fri Dec 4 17:38:27 2009 +0000 Btrfs: change how we mount subvolumes This work is in preperation for being able to set a different root as the default mounting root. There is currently a problem with how we mount subvolumes. We cannot currently mount a subvolume of a subvolume, you can only mount subvolumes/snapshots of the default subvolume. So say you take a snapshot of the default subvolume and call it snap1, and then take a snapshot of snap1 and call it snap2, so now you have / /snap1 /snap1/snap2 as your available volumes. Currently you can only mount / and /snap1, you cannot mount /snap1/snap2. To fix this problem instead of passing subvolid= you must pass in subvolid=, where is the tree id that gets spit out via the subvolume listing you get from the subvolume listing patches (btrfs filesystem list). This allows us to mount /, /snap1 and /snap1/snap2 as the root volume. In addition to the above, we also now read the default dir item in the tree root to get the root key that it points to. For now this just points at what has always been the default subvolme, but later on I plan to change it to point at whatever root you want to be the new default root, so you can just set the default mount and not have to mount with -o subvolid=. I tested this out with the above scenario and it worked perfectly. Thanks, mount -o subvol operates inside the selected subvolid. For example: mount -o subvol=snap1,subvolid=256 /dev/xxx /mnt /mnt will have the snap1 directory for the subvolume with id 256. mount -o subvol=snap /dev/xxx /mnt /mnt will be the snap directory of whatever the default subvolume is. Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit 12534832cb7b0abc7369298246e8b7af03b863ca Author: Josef Bacik Date: Thu Dec 17 21:32:27 2009 +0000 Btrfs: make set/get functions for the super compat_ro flags use compat_ro Our set/get functions for compat_ro_flags actually look at compat_flags. This will mess any attempt to use compat flags up. The fix is obvious. Thanks, Signed-off-by: Josef Bacik Signed-off-by: Chris Mason commit ac8e9819d71f907a0532b01b22c26b56bbbcbd21 Author: Chris Mason Date: Sun Feb 28 15:39:26 2010 -0500 Btrfs: add search and inode lookup ioctls The search ioctl is a generic tool for doing btree searches from userland applications. The first user of the search ioctl is a subvolume listing feature, but we'll also use it to find new files in a subvolume. The search ioctl allows you to specify min and max keys to search for, along with min and max transid. It returns the items along with a header that includes the item key. Signed-off-by: Chris Mason commit 98d377a0894e6bcca44eafd4d2eee74e8af4db83 Author: TARUISI Hiroaki Date: Wed Nov 18 05:42:14 2009 +0000 Btrfs: add a function to lookup a directory path by following backrefs This will be used by the inode lookup ioctl. Signed-off-by: TARUISI Hiroaki Signed-off-by: Chris Mason commit 80c43ed724797627d8f86855248c497a6161a214 Author: Takashi Iwai Date: Mon Mar 15 15:51:53 2010 +0100 ALSA: hda - Disable MSI for Nvidia controller Judging from the member of enable_msi white-list, Nvidia controller seems to cause troubles with MSI enabled, e.g. boot hang up or other serious issue may come up. It's safer to disable MSI as default for Nvidia controllers again for now. Signed-off-by: Takashi Iwai Cc: commit 5d8614cc5d6c5c02b7995ed97303481d4e3a8cc7 Author: Will Deacon Date: Fri Mar 12 11:03:58 2010 +0100 ARM: 5989/1: ARM: KGDB: add support for SMP platforms To support SMP platforms, KGDB requires the architecture backend to implement the kgdb_roundup_cpus function. This patch, taken against 2.6.33, implements the function for ARM based on the MIPS port. Cc: Jason Wessel Cc: Jean-Michel Hautbois Cc: KGDB Mailing List Signed-off-by: Will Deacon Signed-off-by: Russell King commit 75216859d96f66856a0ee78c2de5b02115ff65f3 Author: Sascha Hauer Date: Mon Mar 15 15:14:50 2010 +0100 ARM: 5990/1: ARM: use __armv5tej_mmu_cache_flush for V5TEJ instead of __armv4_mmu_cache_flush This got broken with commit 0e056f20 Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit b89ebadc3421f8ff85030768ec14144794984877 Author: Russell King Date: Mon Mar 15 14:29:22 2010 +0000 ARM: Add final piece to fix XIP decompressor in read-only memory This defines STATIC_RW_DATA, which prevents the read/write malloc management data being declared with a static attribute. Signed-off-by: Russell King commit 2d3b5fa3a39d16c880bda3cf2bd9dd6ed5a01f74 Merge: 3f17522 7278a22 Author: Russell King Date: Mon Mar 15 14:27:06 2010 +0000 Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/genesis-2.6 commit e794c01b7de40d180417eacbd910e8f31f2fafeb Author: Dan Carpenter Date: Mon Mar 15 11:25:10 2010 +0300 pcmcia: add important if statement There was a problem introduced in Jul 2008 by: 0e6f9d270840 pcmcia: use pcmcia_loop_config in scsi pcmcia drivers Signed-off-by: Dan Carpenter Signed-off-by: Dominik Brodowski commit 0d3a940de51c47a3d6322537c8dce925db755477 Author: Jens Künzer Date: Sat Mar 6 08:27:22 2010 +0100 pcmcia: re-route Cardbus IRQ to ISA on ti1130 bridges if necessary As the PCI irq pin of the ti1130 pcmcia bridge is not connected (at least on some old IBM Thinkpad 760ED notebooks), the Cardbus IRQ has to be routed to an ISA irq. Part 3 of a series to allow the ISA irq to be used for Cardbus devices if the socket's PCI irq is unusable. [linux@dominikbrodowski.net: split up the original patch, commit message, cleanup] Signed-off-by: Jens Kuenzer Signed-off-by: Dominik Brodowski commit ba8819e991ac507fcbfa080eacdff3e7eea4dc03 Author: Jens Künzer Date: Sat Mar 6 08:02:24 2010 +0100 pcmcia: allow for cb_irq to differ from pci_dev's irq in yenta_socket cb_irq is presumed to be the same as the pci_dev's irq. This won't be true any more as soon as we allow the ISA irq to be used for Cardbus devices. Therefore, use the pci_dev's irq explicitely whenever we care about it. Part 2 of a series to allow the ISA irq to be used for Cardbus devices if the socket's PCI irq is unusable. [linux@dominikbrodowski.net: split up the original patch, commit message] Signed-off-by: Jens Kuenzer Signed-off-by: Dominik Brodowski commit 28ca8dd71fc170090edca62cb8129625d01b7760 Author: Jens Künzer Date: Sat Mar 6 07:46:16 2010 +0100 pcmcia: honor saved flags in yenta_socket's I365_CSCINT register Instead of overwriting the I365_CSCINT register, save the old value and merely change the bits we care about. Part 1 of a series to allow the ISA irq to be used for Cardbus devices if the socket's PCI irq is unusable. [linux@dominikbrodowski.net: split up the original patch, commit message] Signed-off-by: Jens Kuenzer Signed-off-by: Dominik Brodowski commit b416cd8efb6ce2661f8f98f603972f0b8f796ee4 Author: Dominik Brodowski Date: Tue Mar 9 17:17:36 2010 +0100 pcmcia: revert "irq probe can be done without risking an IRQ storm" This reverts commit 635416ef393e8cec5a89fc6c1de710ee9596a51e. The argument passed to request_irq() only affects action->flags (IRQF_*), but IRQ_NOAUTOEN relates to desc->status. Reported-by: Jan Beulich CC: Alan Cox Signed-off-by: Dominik Brodowski commit 7a96e87d6e58a07235a2bc3eff9b093af4937a72 Author: Dominik Brodowski Date: Sat Mar 13 17:42:39 2010 +0100 pcmcia: pd6729, i82092: use parent (PCI) resources A newly added parent resource entry for the root PCI bus, such as 40000000-ffffffff : PCI Bus #00 means that the pd6729 and i82092 drivers cannot allocate iomem as freely as before, unless they do so as PCI devices. Therefore, set socket->cb_dev so that rsrc_nonstatic.c does the right thing. Reported-by: Komuro Signed-off-by: Dominik Brodowski commit 7a410e8d4d97457c8c381e2de9cdc7bd3306badc Author: Yoichi Yuasa Date: Wed Mar 10 15:57:56 2010 +0900 pcmcia/vrc4171: use local spinlock for device local lock. struct pcmcia_socket lock had been used before. Signed-off-by: Yoichi Yuasa Signed-off-by: Dominik Brodowski commit cf36df6bfb49fd265a39f676bfc9718029fef160 Author: Clemens Ladisch Date: Mon Mar 15 13:20:32 2010 +0100 firewire: core: fw_iso_resource_manage: fix error handling If the bandwidth allocation fails, the error must be returned in *channel regardless of whether the channel allocation succeeded. Checking for c >= 0 is not correct if no channel allocation was requested, in which case this part of the code is reached with c == -EINVAL. Signed-off-by: Clemens Ladisch Signed-off-by: Stefan Richter commit c77a5710b7e23847bfdb81fcaa10b585f65c960a Author: Martin K. Petersen Date: Wed Mar 10 00:48:33 2010 -0500 block: Export max number of segments and max segment size in sysfs These two values are useful when debugging issues surrounding maximum I/O size. Put them in sysfs with the rest of the queue limits. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit ee714f2dd33e726346e34f5cda12543162f4753e Author: Martin K. Petersen Date: Wed Mar 10 00:48:32 2010 -0500 block: Finalize conversion of block limits functions Remove compatibility wrappers and update remaining drivers. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 2cda2728aa1c8c006418a24f867b25e5eb7a32e2 Author: Martin K. Petersen Date: Mon Mar 15 12:46:51 2010 +0100 block: Fix overrun in lcm() and move it to lib lcm() was defined to take integer-sized arguments. The supplied arguments are multiplied, however, causing us to overflow given sufficiently large input. That in turn led to incorrect optimal I/O size reporting in some cases (RAID over RAID). Switch lcm() over to unsigned long similar to gcd() and move the function from blk-settings.c to lib. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 8871d54b5e1558bd59baad02eb7a80f86d49f4a1 Author: Tomi Valkeinen Date: Thu Mar 4 17:52:43 2010 +0200 OMAP: DSS2: panel-generic: re-implement mode changing Mode changing code was left out with the DSS driver remodeling. Add the code back. Signed-off-by: Tomi Valkeinen commit ce619e1fb86d68f125e0e6d10a5484f67a6d97b3 Author: Tomi Valkeinen Date: Fri Mar 12 12:46:05 2010 +0200 OMAP: DSS2: initialize dss clk sources properly Clk sources were not initialized, leading to kernel crash, or possibly to strange behaviour if DSI was compiled in. Signed-off-by: Tomi Valkeinen commit b43f6e5e258d67acae5961896d10bbe38c271070 Author: Anisse Astier Date: Wed Mar 10 19:17:46 2010 +0100 ALSA: hda - Add PCI quirks for MSI NetOn AP1900 and Wind Top AE2220 This should make the speakers and jack detection work on MSI all-in-one computers NetOn AP1900 and Wind Top AE2220. Signed-off-by: Anisse Astier Cc: Signed-off-by: Takashi Iwai commit 9c4cc0bdede1c39bde60a0d5d9251aac71fbe719 Author: Takashi Iwai Date: Mon Mar 15 09:07:52 2010 +0100 ALSA: hda - Fix secondary ADC of ALC260 basic model Fix adc_nids[] for ALC260 basic model to match with num_adc_nids. Otherwise you get an invalid NID in the secondary "Input Source" mixer element. Signed-off-by: Takashi Iwai Cc: commit 28d1a85e136985982448b2f9b1342bae85ad1c98 Author: Takashi Iwai Date: Mon Mar 15 09:05:46 2010 +0100 ALSA: hda - Add an error message for invalid mapping NID Add an error message to snd_hda_add_nid() for invalid mapping NID to make easier to hunt the buggy code. Also added a missing space to the error message in snd_hda_build_controls() Signed-off-by: Takashi Iwai commit c602c8ad45d6ee6ad91fc544513cc96f70790983 Author: Vitaliy Kulikov Date: Mon Mar 15 09:01:26 2010 +0100 ALSA: hda - New Intel HDA controller Added a PCI controller id on new Dell laptops. Signed-off-by: Vitaliy Kulikov Signed-off-by: Takashi Iwai commit cd3d8031eb4311e516329aee03c79a08333141f1 Author: KOSAKI Motohiro Date: Fri Mar 12 16:15:36 2010 +0900 sched: sched_getaffinity(): Allow less than NR_CPUS length [ Note, this commit changes the syscall ABI for > 1024 CPUs systems. ] Recently, some distro decided to use NR_CPUS=4096 for mysterious reasons. Unfortunately, glibc sched interface has the following definition: # define __CPU_SETSIZE 1024 # define __NCPUBITS (8 * sizeof (__cpu_mask)) typedef unsigned long int __cpu_mask; typedef struct { __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS]; } cpu_set_t; It mean, if NR_CPUS is bigger than 1024, cpu_set_t makes an ABI issue ... More recently, Sharyathi Nagesh reported following test program makes misterious syscall failure: ----------------------------------------------------------------------- #define _GNU_SOURCE #include #include #include int main() { cpu_set_t set; if (sched_getaffinity(0, sizeof(cpu_set_t), &set) < 0) printf("\n Call is failing with:%d", errno); } ----------------------------------------------------------------------- Because the kernel assumes len argument of sched_getaffinity() is bigger than NR_CPUS. But now it is not correct. Now we are faced with the following annoying dilemma, due to the limitations of the glibc interface built in years ago: (1) if we change glibc's __CPU_SETSIZE definition, we lost binary compatibility of _all_ application. (2) if we don't change it, we also lost binary compatibility of Sharyathi's use case. Then, I would propse to change the rule of the len argument of sched_getaffinity(). Old: len should be bigger than NR_CPUS New: len should be bigger than maximum possible cpu id This creates the following behavior: (A) In the real 4096 cpus machine, the above test program still return -EINVAL. (B) NR_CPUS=4096 but the machine have less than 1024 cpus (almost all machines in the world), the above can run successfully. Fortunatelly, BIG SGI machine is mainly used for HPC use case. It means they can rebuild their programs. IOW we hope they are not annoyed by this issue ... Reported-by: Sharyathi Nagesh Signed-off-by: KOSAKI Motohiro Acked-by: Ulrich Drepper Acked-by: Peter Zijlstra Cc: Linus Torvalds Cc: Andrew Morton Cc: Jack Steiner Cc: Russ Anderson Cc: Mike Travis LKML-Reference: <20100312161316.9520.A69D9226@jp.fujitsu.com> Signed-off-by: Ingo Molnar commit a3d3203e4bb40f253b1541e310dc0f9305be7c84 Merge: f937331 ec28dcc Author: Linus Torvalds Date: Sun Mar 14 20:29:21 2010 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (34 commits) ACPI: processor: push file static MADT pointer into internal map_madt_entry() ACPI: processor: refactor internal map_lsapic_id() ACPI: processor: refactor internal map_x2apic_id() ACPI: processor: refactor internal map_lapic_id() ACPI: processor: driver doesn't need to evaluate _PDC ACPI: processor: remove early _PDC optin quirks ACPI: processor: add internal processor_physically_present() ACPI: processor: move acpi_get_cpuid into processor_core.c ACPI: processor: export acpi_get_cpuid() ACPI: processor: mv processor_pdc.c processor_core.c ACPI: processor: mv processor_core.c processor_driver.c ACPI: plan to delete "acpi=ht" boot option ACPI: remove "acpi=ht" DMI blacklist PNPACPI: add bus number support PNPACPI: add window support resource: add window support resource: add bus number support resource: expand IORESOURCE_TYPE_BITS to make room for bus resource type acpiphp: Execute ACPI _REG method for hotadded devices ACPI video: Be more liberal in validating _BQC behaviour ... commit f937331b3f92cb2f67bc81baa1b8cc5198c439e5 Author: Wolfram Sang Date: Mon Mar 15 01:29:41 2010 +0100 init dynamic bin_attribute structures Commit 6992f5334995af474c2b58d010d08bc597f0f2fe ("sysfs: Use one lockdep class per sysfs attribute.") introduced this requirement. First, at25 was fixed manually. Then, other occurences were found with coccinelle and the following semantic patch. Results were reviewed and fixed up: @ init @ identifier struct_name, bin; @@ struct struct_name { ... struct bin_attribute bin; ... }; @ main extends init @ expression E; statement S; identifier name, err; @@ ( struct struct_name *name; | - struct struct_name *name = NULL; + struct struct_name *name; ) ... ( sysfs_bin_attr_init(&name->bin); | + sysfs_bin_attr_init(&name->bin); if (sysfs_create_bin_file(E, &name->bin)) S | + sysfs_bin_attr_init(&name->bin); err = sysfs_create_bin_file(E, &name->bin); ) Signed-off-by: Wolfram Sang Cc: Eric W. Biederman Signed-off-by: Linus Torvalds commit 3f7581d66ece6b7ff643c8c817bfbd72cdbe9077 Author: Huang Weiyi Date: Fri Mar 12 13:05:06 2010 +0000 serial: sh-sci: remove duplicated #include Remove duplicated #include('s) in drivers/serial/sh-sci.c Signed-off-by: Huang Weiyi Signed-off-by: Paul Mundt commit 7278a22143b003e9af7b9ca1b5f1c40ae4b55d98 Author: Magnus Damm Date: Wed Mar 10 11:33:10 2010 +0000 video: enable sh_mobile_lcdc on SH-Mobile ARM This patch enables the sh_mobile_lcdc driver on SH-Mobile ARM. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 3a14d0397732b6aaa541348b5a8e8f639ecd02b7 Author: Magnus Damm Date: Wed Mar 10 09:26:44 2010 +0000 ARM: mach-shmobile: ap4evb SDHI0 platform data V2 Add SDHI0 platform data for the AP4EVB board V2. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c57a31abf0b469b9cab6810f4e1895bb7ef1c482 Author: Magnus Damm Date: Wed Mar 10 05:17:24 2010 +0000 ARM: mach-shmobile: sh7372 SDHI vector merge Merge the SDHI vectors for sh7372 using the recently merged INTC force_enable/disable feature. With this in place SDHI hotplug is supported using the drivers sh_mobile_sdhi and tmio_mmc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit c148abfc2d807b2734e7ecd0e00c71ef7d4b7f42 Author: Magnus Damm Date: Wed Mar 10 05:15:16 2010 +0000 ARM: mach-shmobile: sh7377 SDHI vector merge Merge the SDHI vectors for sh7377 using the recently merged INTC force_enable/disable feature. With this in place SDHI hotplug is supported using the drivers sh_mobile_sdhi and tmio_mmc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 9615b37c5c8fed963811c100053d495c412880fb Author: Magnus Damm Date: Wed Mar 10 05:13:12 2010 +0000 ARM: mach-shmobile: sh7367 SDHI vector merge Merge the SDHI vectors for sh7367 using the recently merged INTC force_enable/disable feature. With this in place SDHI hotplug is supported using the drivers sh_mobile_sdhi and tmio_mmc. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 6676a1701b0b135dacbb7cfeef48004315300df0 Author: NISHIMOTO Hiroki Date: Tue Feb 23 10:55:10 2010 +0000 ARM: mach-shmobile: G4EVM KEYSC platform data This patch adds KEYSC platform data for the G4EVM board. Signed-off-by: NISHIMOTO Hiroki Signed-off-by: Paul Mundt commit 3e862c05ca1bf5bd4cb703bc257d180a4583bc41 Author: Magnus Damm Date: Fri Feb 19 10:01:22 2010 +0000 mtd: enable sh_flctl on SH-Mobile ARM Update the Kconfig entry for the sh_flctl driver to enable build on SH-Mobile ARM platforms. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 143f3b833f98271341379d813cb72deb1657a380 Author: Magnus Damm Date: Fri Feb 19 09:54:06 2010 +0000 ARM: mach-shmobile: G3EVM FLCTL platform data This patch adds FLCTL platform data for the G3EVM board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit 03fb256df9c960b10c0e01b7e92d2f31433675fe Author: Magnus Damm Date: Tue Feb 16 10:48:15 2010 +0000 ARM: mach-shmobile: G3EVM KEYSC platform data This patch adds KEYSC platform data for the G3EVM board. Signed-off-by: Magnus Damm Signed-off-by: Paul Mundt commit ec28dcc6b4c00b78ad269ad5b85ebd5c2d504825 Merge: c67fcd6 d060705 f6bb13a 0c99c52 4c81ba4 7e0e9c0 149fe9c cffdde9 fa80945 8b7ef6d 70287db 38bcb37 Author: Len Brown Date: Sun Mar 14 21:30:17 2010 -0400 Merge branches 'battery-2.6.34', 'bugzilla-10805', 'bugzilla-14668', 'bugzilla-531916-power-state', 'ht-warn-2.6.34', 'pnp', 'processor-rename', 'sony-2.6.34', 'suse-bugzilla-531547', 'tz-check', 'video' and 'misc-2.6.34' into release commit 2b497502b7cef167288a08737403a5a6cec697f0 Author: Daniel Vetter Date: Thu Mar 11 21:19:18 2010 +0000 drm/radeon: collect r100 asic related declarations in radeon_asic.h This just an example to show what radeon_asic.h might be good for. Before Jerome kills it ;) Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit e6990375ef4ec449994991034238f1ffab8a3a1a Author: Daniel Vetter Date: Thu Mar 11 21:19:17 2010 +0000 drm/radeon: include radeon_asic.h in the asic specific files In essence this creates a home for all asic specific declarations in radeon_asic.h Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 9479c54f0dfa63dad1ecfca897f51693c7c2fa65 Author: Daniel Vetter Date: Thu Mar 11 21:19:16 2010 +0000 drm/radeon: unconfuse return value of radeon_asic->clear_surface_reg No one cares about it, so set it to void. Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 48e7a5f19fe0c10ebb35be7acf383366d139ee0a Author: Daniel Vetter Date: Thu Mar 11 21:19:15 2010 +0000 drm/radeon: move asic structs to radeon_asic.c With these static structs gone, radeon_asic.h is a real header file and can be used as such. Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 0a10c85129c2d53cfd6db81677628e2fe58b5928 Author: Daniel Vetter Date: Thu Mar 11 21:19:14 2010 +0000 drm/radeon: create radeon_asic.c And move asic init plus a few related functions from radeon_device.c to it. This file will hold all the asic structures in the future, but atm they're still stuck in radeon_asic.h. Signed-off-by: Daniel Vetter Signed-off-by: Dave Airlie commit 149fe9c293f76803206648270ca24fc2604d5f01 Author: Alex Chiang Date: Mon Feb 22 12:12:00 2010 -0700 ACPI: processor: push file static MADT pointer into internal map_madt_entry() There's no real need for a pointer to the MADT to be global. The only function who uses it is map_madt_entry. This allows us to remove some more ugly #ifdefs. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit eae701ceadf5aa3fc3b334029ef71f6885ef1cde Author: Alex Chiang Date: Mon Feb 22 12:11:55 2010 -0700 ACPI: processor: refactor internal map_lsapic_id() Un-nest the if statements for readability. Remove comments that re-state the obvious. Change the control flow so that we no longer need a temp variable. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit d67420956b7b1dcffb894b2f1f81b9408fca1b4c Author: Alex Chiang Date: Mon Feb 22 12:11:50 2010 -0700 ACPI: processor: refactor internal map_x2apic_id() Untangle the nested if conditions to make this function look more similar to the other map_*apic_id() functions. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 11130736c99c37e253f45b2d3fd30b07313f83c6 Author: Alex Chiang Date: Mon Feb 22 12:11:44 2010 -0700 ACPI: processor: refactor internal map_lapic_id() Untangle the if() statement a little for readability. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit d8191fa4a33fdc817277da4f2b7f771ff605a41c Author: Alex Chiang Date: Mon Feb 22 12:11:39 2010 -0700 ACPI: processor: driver doesn't need to evaluate _PDC Now that the early _PDC evaluation path knows how to correctly evaluate _PDC on only physically present processors, there's no need for the processor driver to evaluate it later when it loads. To cover the hotplug case, push _PDC evaluation down into the hotplug paths. Cc: x86@kernel.org Cc: Tony Luck Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 3b1da4c5d1032ebc29fec8bd8f592ba6589be8ed Author: Alex Chiang Date: Mon Feb 22 12:11:34 2010 -0700 ACPI: processor: remove early _PDC optin quirks Now that we check for physically present processors before blindly evaluating _PDC, we no longer need to maintain a DMI opt-in table nor a kernel param. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 5d554a7bb0643a6151a84319bfeba8270bf5269e Author: Alex Chiang Date: Mon Feb 22 12:11:29 2010 -0700 ACPI: processor: add internal processor_physically_present() Detect if a processor is physically present before evaluating _PDC. We want this because some BIOS will provide a _PDC even for processors that are not present. These bogus _PDC methods then attempt to load non-existent tables, which causes problems. Avoid those bogus landmines. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 78ed8bd2944b6400f742306e5fe9d1b9b6bf18ba Author: Alex Chiang Date: Mon Feb 22 12:11:24 2010 -0700 ACPI: processor: move acpi_get_cpuid into processor_core.c Enumerating processors (via MADT/_MAT) belongs in the processor core, which is always built-in, rather than living in the processor driver which may not be built. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 2e9d5e4efa0beeca03ad550bda28027826e83e42 Author: Alex Chiang Date: Mon Feb 22 12:11:19 2010 -0700 ACPI: processor: export acpi_get_cpuid() Rename static get_cpu_id() to acpi_get_cpuid() and export it. This change also gives us an opportunity to remove the #ifndef CONFIG_SMP from processor_driver.c and into a header file where it properly belongs. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 4d5d4cd88c542ff56cf7feacd29cc907f2abbfbb Author: Alex Chiang Date: Mon Feb 22 12:11:14 2010 -0700 ACPI: processor: mv processor_pdc.c processor_core.c We've renamed the old processor_core.c to processor_driver.c, to convey the idea that it can be built modular and has driver-like bits. Now let's re-create a processor_core.c for the bits needed statically by the rest of the kernel. The contents of processor_pdc.c are a good starting spot, so let's just rename that file and complete our three card monte. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 0131aa3dd7dcf41c66784b96ff351f63ee3ef348 Author: Alex Chiang Date: Mon Feb 22 12:11:08 2010 -0700 ACPI: processor: mv processor_core.c processor_driver.c The ACPI processor driver can be built as a module. But it has pieces of code that should always be built statically into the kernel. The plan is for processor_core.c to contain the static bits while processor_driver.c contains the module-like bits. Since the bulk of the code in the current processor_core.c is module-like, first step is to rename the file to processor_driver.c Next step will re-create processor_core.c and cherry-pick out the static bits. Acked-by: Venkatesh Pallipadi Signed-off-by: Alex Chiang Signed-off-by: Len Brown commit 1fc59eda33e55f8787901e3501d695bf5ecec48b Merge: d5e5ded d0d6cb8 Author: Dave Airlie Date: Mon Mar 15 11:08:56 2010 +1000 Merge branch 'radeon-for-airlied' of ../linux-2.6 into drm-linus * 'radeon-for-airlied' of ../linux-2.6: drm/radeon/kms: prepare for more reclocking operations drm/radeon/kms: switch to condition waiting for reclocking drm/radeon/r600: add missing license and comments to r600_blit_shaders.c drm/radeon/kms: improve coding style a little drm/radeon/kms: remove dead audio/HDMI code drm/radeon/kms: enable audio engine on DCE32 drm/radeon/kms: add HDMI code for pre-DCE3 R6xx GPUs drm/radeon/kms: clean assigning HDMI blocks to encoders drm/radeon/kms: clean HDMI definitions drm/radeon/kms/rs4xx: make sure crtcs are enabled when setting timing drm/radeon/kms/r1xx: enable hw i2c drm/radeon/kms: fix i2c prescale calc on older radeons drm/radeon/kms: fix for hw i2c drm/radeon/kms: fix pal tv-out support on legacy IGP chips drm/radeon/kms: further spread spectrum fixes drm/radeon/kms: use lcd pll limits when available drm/radeon/kms/atom: spread spectrum fix drm/radeon/kms: catch atombios infinite loop and break out of it drm/radeon: add new RS880 pci id commit d5e5deddf67389eabc3d9b13004c108120d397e1 Merge: 44fef22 f405350 Author: Dave Airlie Date: Mon Mar 15 11:07:33 2010 +1000 Merge remote branch 'nouveau/for-airlied' into drm-linus * nouveau/for-airlied: drm/nouveau: add module option to disable TV detection drm/nouveau: Never evict VRAM buffers to system. drm/nv50: fix connector table parsing for some cards drm/nv50: add a memory barrier to pushbuf submission drm/nouveau: print a message very early during suspend drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay. drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMI drm/nouveau: add option to allow override of dcb connector table types drm/nv50: Improve PGRAPH interrupt handling. drm/nv50: Make ctxprog wait until interrupt handler is done. drm/nouveau: Fix fbcon corruption with font width not divisible by 8 drm/nv50: Remove redundant/incorrect ctxvals initialisation. commit 4c81ba4900ab4eb24c7d2ba1aca594c644b6ce4c Author: Len Brown Date: Sun Mar 14 16:28:46 2010 -0400 ACPI: plan to delete "acpi=ht" boot option Signed-off-by: Len Brown commit 44fef22416886a04d432043f741a6faf2c6ffefd Author: Ben Skeggs Date: Thu Feb 18 09:12:09 2010 +1000 drm/edid: allow certain bogus edids to hit a fixup path rather than fail Signed-off-by: Ben Skeggs Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 8144c880397d502d12af4ef721f3eac50163fa39 Author: Len Brown Date: Thu Feb 18 23:42:47 2010 -0500 ACPI: remove "acpi=ht" DMI blacklist SuSE added these entries when deploying ACPI in Linux-2.4. I pulled them into Linux-2.6 on 2003-08-09. Over the last 6+ years, several entries have proven to be unnecessary and deleted, while no new entries have been added. Matthew suggests that they now have negative value, and I agree. Based-on-patch-by: Matthew Garrett Signed-off-by: Len Brown commit 725398322d05486109375fbb85c3404108881e17 Author: Zhao Yakui Date: Thu Mar 4 08:25:55 2010 +0000 drm: remove the EDID blob stored in the EDID property when it is disconnected Now the EDID property will be updated when the corresponding EDID can be obtained from the external display device. But after the external device is plugged-out, the EDID property is not updated. In such case we still get the corresponding EDID property although it is already detected as disconnected. https://bugs.freedesktop.org/show_bug.cgi?id=26743 Signed-off-by: Zhao Yakui Signed-off-by: Zhenyu Wang Cc: stable@kernel.org Signed-off-by: Dave Airlie commit ae6445ac7475ff0526b019560793e50bad9cf78d Author: Randy Dunlap Date: Thu Mar 11 22:01:39 2010 +0000 drm/vmwgfx: depends on FB vmwfgx uses framebuffer interfaces, so it should depend on FB. Otherwise it has these build errors (e.g., when CONFIG_FB=m): drivers/built-in.o: In function `vmw_fb_close': (.text+0x97713): undefined reference to `unregister_framebuffer' drivers/built-in.o: In function `vmw_fb_close': (.text+0x97754): undefined reference to `framebuffer_release' drivers/built-in.o: In function `vmw_fb_init': (.text+0x97e1c): undefined reference to `framebuffer_alloc' drivers/built-in.o: In function `vmw_fb_init': (.text+0x9838d): undefined reference to `register_framebuffer' drivers/built-in.o: In function `vmw_fb_init': (.text+0x9842a): undefined reference to `framebuffer_release' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Acked-by: Jakob Bornecrantz Signed-off-by: Dave Airlie commit b642ed06f2fccf62534f5269358776e0cba28f3c Author: Robert P. J. Day Date: Sat Mar 13 10:36:32 2010 +0000 drm: "kobject_init/kobject_add" -> "kobject_init_and_add". Replace sequential calls to kobject_init() and kobject_add() with the combo wrapper kobject_init_and_add(), which provides the same semantics. Signed-off-by: Robert P. J. Day Signed-off-by: Dave Airlie commit 72e942dd846f98e2d35aad5436d77a878ef05c5e Author: Dave Airlie Date: Tue Mar 9 06:33:26 2010 +0000 drm/ttm: use drm calloc large and free large Now that the drm core can do this, lets just use it, split the code out so TTM doesn't have to drag all of drmP.h in. Signed-off-by: Dave Airlie commit d0d6cb81e7eb34d83461070ca3e919fba1db437c Author: Rafał Miłecki Date: Tue Mar 2 22:06:52 2010 +0100 drm/radeon/kms: prepare for more reclocking operations Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 839461d3b0e3082eb382f17a3e3899372f28649a Author: Rafał Miłecki Date: Tue Mar 2 22:06:51 2010 +0100 drm/radeon/kms: switch to condition waiting for reclocking We tried to implement interruptible waiting with timeout (it was broken anyway) which was not a good idea as explained by Andrew. It's possible to avoid using additional variable but actually it inroduces using more complex in-kernel tools. So simply add one variable for condition. Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 7e0e9c042790d4ea44c6a00ddaad8b8bbcc3f17f Author: Bjorn Helgaas Date: Fri Mar 5 10:47:57 2010 -0700 PNPACPI: add bus number support Add support for bus number resources. This is for bridges with a range of bus numbers behind them. Previously, PNP ignored bus number resources. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit fa35b49260b615d634bfa1f767aa315fa323c2e9 Author: Bjorn Helgaas Date: Fri Mar 5 10:47:52 2010 -0700 PNPACPI: add window support Add support for resource windows. This is for bridge resources, i.e., regions where a bridge forwards transactions from the primary to the secondary side. This does not add support for *setting* windows via the /proc interface. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 9d7cca04211d4eb104eaaa424b98f650bc29c730 Author: Bjorn Helgaas Date: Fri Mar 5 10:47:47 2010 -0700 resource: add window support Add support for resource windows. This is for bridge resources, i.e., regions where a bridge forwards transactions from the primary to the secondary side. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 0f4050c7d3ba0275e5f39513c0670a717d43048c Author: Bjorn Helgaas Date: Fri Mar 5 10:47:42 2010 -0700 resource: add bus number support Add support for bus number resources. This is for bridges with a range of bus numbers behind them. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit cd7e9fcd1f7c9c397f747cf506c66f7dca11d1c6 Author: Bjorn Helgaas Date: Fri Mar 5 10:47:26 2010 -0700 resource: expand IORESOURCE_TYPE_BITS to make room for bus resource type No functional change; this just makes room for another resource type. Signed-off-by: Bjorn Helgaas Signed-off-by: Len Brown commit 65388342d66a63a29c76058e94a00d7bc0c6423b Author: Alex Deucher Date: Fri Mar 5 19:22:24 2010 -0500 drm/radeon/r600: add missing license and comments to r600_blit_shaders.c R6xx+ cards need to use the 3D engine to blit data which requires quite a bit of hw state setup. Rather than pull the whole 3D driver (which normally generates the 3D state) into the DRM, we opt to use statically generated state tables. The regsiter state and shaders were hand generated to support blitting functionality. See the 3D driver or documentation for descriptions of the registers and shader instructions. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 3fe373d98cdb35c494517b0954b76f8094f4c59d Author: Rafał Miłecki Date: Sat Mar 6 13:03:38 2010 +0000 drm/radeon/kms: improve coding style a little We still have many magic numbers in HDMI/audio to define Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 0a7d934e6022a12e3f428b2adcb4b531e86170dd Author: Rafał Miłecki Date: Sat Mar 6 13:03:37 2010 +0000 drm/radeon/kms: remove dead audio/HDMI code Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 8a8c6e7cfb63cc5e04d5c247ab8d6253200fd425 Author: Rafał Miłecki Date: Sat Mar 6 13:03:36 2010 +0000 drm/radeon/kms: enable audio engine on DCE32 Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 5715f67cecee3617c7a6ff84ee44da46d525559e Author: Rafał Miłecki Date: Sat Mar 6 13:03:35 2010 +0000 drm/radeon/kms: add HDMI code for pre-DCE3 R6xx GPUs Older GPUs are little different, HDMI blocks are not hard-wired, but routable. We should just find some free HDMI block and route it to choosen encoder. In case of RS6x0 there is only one HDMI block, we don't enable HDMI on RS6x00 yet however. Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 2cd6218cb8043ef4360b561e726cd081f8a380cc Author: Rafał Miłecki Date: Mon Mar 8 22:14:01 2010 +0000 drm/radeon/kms: clean assigning HDMI blocks to encoders We almost always used first HDMI block for first encoder and second for sencod. Exception was KLDSCP_LVTMA. Analyzing code picking DIG encoder shows the same behaviour. It shows HDMI block are related to DIGs, which relation we now use. Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit 808032ee296ee7b37a6df090be40a330e09ae30e Author: Rafał Miłecki Date: Sat Mar 6 13:03:33 2010 +0000 drm/radeon/kms: clean HDMI definitions We already know same offsets are used for different encoders/transmitters, so just numeric them instead naming incorrectly. Additionaly we found additional registers needed for RV770+ Signed-off-by: Rafał Miłecki Signed-off-by: Dave Airlie commit d805f50aa1d9eef63fec356b2be557e2da3cd643 Author: Alex Deucher Date: Thu Mar 11 10:38:07 2010 -0500 drm/radeon/kms/rs4xx: make sure crtcs are enabled when setting timing based on ddx patch from Matthias Hopf. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b28ea41164dc36110dafcdc63783e9b7fb865784 Author: Alex Deucher Date: Fri Mar 12 13:30:49 2010 -0500 drm/radeon/kms/r1xx: enable hw i2c fixing the i2c prescale in the last patch gets it working on r1xx. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 96a4c8d50de20da865296a380b996f73204d6b34 Author: Alex Deucher Date: Fri Mar 12 12:55:34 2010 -0500 drm/radeon/kms: fix i2c prescale calc on older radeons Should fix fdo bug 26430 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit ae08819c2a4729444676f1bb55e5e28263f6f5a1 Author: Alex Deucher Date: Thu Mar 11 13:28:14 2010 -0500 drm/radeon/kms: fix for hw i2c use the i2c pads to drive SDA Possible fix for fdo bug 26430 Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 15f7207761cfcf8f53fb6e5cacffe060478782c3 Author: Alex Deucher Date: Wed Mar 10 18:33:03 2010 -0500 drm/radeon/kms: fix pal tv-out support on legacy IGP chips Based on ddx patch by Andrzej Hajda. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit 267364ac17f6474c69b03034340f769b22f46105 Author: Alex Deucher Date: Mon Mar 8 17:10:41 2010 -0500 drm/radeon/kms: further spread spectrum fixes Adjust modeset ordering to fix spread spectrum. The spread spectrum command table relies on the crtc routing to already be set in order to work properly on some asics. Should fix fdo bug 25741. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit 86cb2bbfda2cf402aee46779ee90bbb7d915482b Author: Alex Deucher Date: Mon Mar 8 12:55:16 2010 -0500 drm/radeon/kms: use lcd pll limits when available The bios has alternate pll output limits for LCD panels. If available, use these for pll divider calculations. Signed-off-by: Alex Deucher Signed-off-by: Dave Airlie commit b792210e7d1f9fb102061e2016da96cf2ad5cdbd Author: Alex Deucher Date: Sat Mar 6 10:57:30 2010 -0500 drm/radeon/kms/atom: spread spectrum fix The atom spread spectrum table does not always disable ss. Explicitly disable it and then use the atom table to enable later if needed (currently only used for LVDS). Fixes display issues on some systems. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit f4053509669f904aec70c51e2ff75563ba7ae823 Author: Ben Skeggs Date: Mon Mar 15 09:43:51 2010 +1000 drm/nouveau: add module option to disable TV detection Intended to be used as a workaround in cases where we falsely detect that a TV is connected when it's not. Signed-off-by: Ben Skeggs commit 965cf68e8797932e9cd49238a6dd39423ac9b256 Author: Francisco Jerez Date: Sat Mar 6 13:42:45 2010 +0100 drm/nouveau: Never evict VRAM buffers to system. VRAM->system is a synchronous operation: it involves scheduling a VRAM->TT DMA transfer and stalling the CPU until it's finished so that we can unbind the new memory from the translation tables. VRAM->TT can always be performed asynchronously, even if TT is already full and we have to move something out of it. Additionally, allowing VRAM->system behaves badly under heavy memory pressure because once we run out of TT, stuff starts to be moved back and forth between VRAM and system, and the TT contents are hardly renewed. Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit c21b0fe6de3912f53087b4f3991942529f03eef6 Author: Jerome Glisse Date: Tue Mar 2 20:37:52 2010 +0100 drm/radeon/kms: catch atombios infinite loop and break out of it In somecase the atombios code might lead to infinite loop because the GPU is in broken state, this patch track the jump history and will abort atombios execution if we are stuck executing the same jump for more than 1sec. Note that otherwise in some case we might enter an infinite loop in the kernel context which is bad. Signed-off-by: Jerome Glisse Signed-off-by: Dave Airlie commit 338e2b1d571e4873908b199c90d6a31f65137fe3 Author: Alex Deucher Date: Wed Mar 3 13:39:13 2010 -0500 drm/radeon: add new RS880 pci id This should go to 2.6.33 stable as well. Signed-off-by: Alex Deucher Cc: stable@kernel.org Signed-off-by: Dave Airlie commit d330a5befb88875a9b3d2db62f9b74dadf660b13 Author: Jan Kara Date: Sun Mar 14 18:17:54 2010 -0400 ext4: Fix estimate of # of blocks needed to write indirect-mapped files http://bugzilla.kernel.org/show_bug.cgi?id=15420 Signed-off-by: Jan Kara Signed-off-by: "Theodore Ts'o" commit 181427a7e01beab76c789414334375839f026128 Author: Dan Carpenter Date: Sat Mar 13 14:14:22 2010 +0300 tomoyo: fix potential use after free The original code returns a freed pointer. This function is expected to return NULL on errors. Signed-off-by: Dan Carpenter Acked-by: Tetsuo Handa Signed-off-by: James Morris commit d06070509147c948a06056da619c9dc2ed349805 Author: Shaohua Li Date: Thu Feb 25 10:59:34 2010 +0800 acpiphp: Execute ACPI _REG method for hotadded devices Per ACPI spec, _ERG method should be executed before device driver gets control for hotpluged device. Firmware might do some configuration there. See http://bugzilla.kernel.org/show_bug.cgi?id=10805. In this machine, _REG method of docked device will configure cardbus bridge. Signed-off-by: Shaohua Li Tested-by: Paul Martin Signed-off-by: Len Brown commit 70287db87cfc968fe78bf82a489833cc77b84352 Author: Matthew Garrett Date: Tue Feb 16 16:53:50 2010 -0500 ACPI video: Be more liberal in validating _BQC behaviour Right now, if _BQC returns a value we don't understand we immediately invalidate it. Change this behaviour so we only invalidate it if it continues to give an invalid answer after we've already set a brightness. Signed-off-by: Matthew Garrett Acked-by: Zhang Rui Signed-off-by: Len Brown commit 3f17522ce461a31e7ced6311b28fcf5b8a763316 Author: Russell King Date: Fri Feb 12 14:32:01 2010 +0000 Video: ARM CLCD: Better fix for swapped IENB and CNTL registers On PL111, as found on Realview and other platforms, these registers are always arranged as CNTL then IENB. On PL110, these registers are IENB then CNTL, except on Versatile platforms. Re-arrange the handling of these register swaps so that PL111 always gets it right without resorting to ifdefs, leaving the only case needing special handling being PL110 on Versatile. Fill out amba/clcd.h with the PL110/PL111 register definition differences in case someone tries to use the PL110 specific definitions on PL111. Signed-off-by: Russell King commit 1027247f6eb727db6c600b9eb02796f0766ae704 Author: Russell King Date: Fri Feb 12 14:36:24 2010 +0000 ARM: Add L2 cache handling to smp boot support The page table and secondary data which we're asking the secondary CPU to make use of has to hit RAM to ensure that the secondary CPU can see it since it may not be taking part in coherency or cache searches at this point. Acked-by: Santosh Shilimkar Signed-off-by: Russell King commit bca14dd14f3b0c5e3e2d1d314679f85b67871365 Merge: 02ca6c4 2aa2b50 Author: Linus Torvalds Date: Sun Mar 14 11:15:45 2010 -0700 Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86/mce: Fix build bug with CONFIG_PROVE_LOCKING=y && CONFIG_X86_MCE_INTEL=y commit 02ca6c407e0d43e6de5d646d26d87fc2eaa7a98b Author: Randy Dunlap Date: Thu Feb 4 12:11:09 2010 -0800 Add include to i2c-xii.c to fix build error drivers/i2c/busses/i2c-xiic.c:493: error: implicit declaration of function 'mdelay' Signed-off-by: Randy Dunlap Cc: "Richard Röjfors" Cc: "Ben Dooks (embedded platforms)" Cc: linux-i2c@vger.kernel.org Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit 3f995f317f7070e81e8e38bb11357d6671ab6969 Author: Richard Röjfors Date: Tue Mar 9 09:17:36 2010 +0100 Add the platform data include for the Xilinx XPS IIC Bus Interface This file was missed in the original patch that went into Linus' tree. Cc: "Ben Dooks (embedded platforms)" Cc: linux-i2c@vger.kernel.org Signed-off-by: Richard Röjfors Signed-off-by: Stephen Rothwell Signed-off-by: Linus Torvalds commit a818d8e43147f40864363456b37a00b819439307 Merge: f901e75 31968ec Author: Linus Torvalds Date: Sun Mar 14 11:13:54 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table Input: ALPS - fix stuck buttons on some touchpads Input: wm831x-on - convert to use genirq Input: ads7846 - add wakeup support Input: appletouch - fix integer overflow issue Input: ad7877 - increase pen up imeout Input: ads7846 - add support for AD7843 parts Input: bf54x-keys - fix system hang when pressing a key Input: alps - add support for the touchpad on Toshiba Tecra A11-11L Input: remove BKL, fix input_open_file() locking Input: serio_raw - remove BKL Input: mousedev - remove BKL Input: add driver for TWL4030 vibrator device Input: enable remote wakeup for PNP i8042 keyboard ports Input: scancode in get/set_keycodes should be unsigned Input: i8042 - use platfrom_create_bundle() helper Input: wacom - merge out and in prox events Input: gamecon - fix off by one range check Input: wacom - replace WACOM_PKGLEN_PENABLED commit f901e753923192a7793e5d7591e2c03dcb252d68 Merge: bced863 c91cea1 Author: Linus Torvalds Date: Sun Mar 14 11:13:24 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: nilfs2: remove whitespaces before quoted newlines nilfs2: remove spaces before tabs nilfs2: fix various typos in comments nilfs2: fix typo "cout" -> "count" in error message nilfs2: fix function name typos in docbook comments nilfs2: fix discrepancy in use of static specifier commit bced86359918326a65258b1be245834e5c493c88 Merge: ceb804c 0a9c147 Author: Linus Torvalds Date: Sun Mar 14 11:13:04 2010 -0700 Merge branch 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-algo-bit: Add pre- and post-xfer hooks at24: Init dynamic bin_attribute structures i2c: Drop configure option I2C_DEBUG_CHIP tsl2550: Move from i2c/chips to misc i2c-i801: Don't use the block buffer for I2C block writes i2c-powermac: Be less verbose in the absence of real errors. i2c-smbus: Use device_lock/device_unlock commit ceb804cd0f63b0e0a87b81913b66add6de03043d Merge: 3474cbd f78233d Author: Linus Torvalds Date: Sun Mar 14 11:11:08 2010 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: Skip check for mandatory locks when unlocking 9p: Fixes a simple bug enabling writes beyond 2GB. 9p: Change the name of new protocol from 9p2010.L to 9p2000.L fs/9p: re-init the wstat in readdir loop net/9p: Add sysfs mount_tag file for virtio 9P device net/9p: Use the tag name in the config space for identifying mount point commit 2aa2b50dd62b5d0675bd7453fbeb5732dc2d7866 Author: Ingo Molnar Date: Sun Mar 14 08:57:03 2010 +0100 x86/mce: Fix build bug with CONFIG_PROVE_LOCKING=y && CONFIG_X86_MCE_INTEL=y Commit f56e8a076 "x86/mce: Fix RCU lockdep splats" introduced the following build bug: arch/x86/kernel/cpu/mcheck/mce.c: In function 'mce_log': arch/x86/kernel/cpu/mcheck/mce.c:166: error: 'mce_read_mutex' undeclared (first use in this function) arch/x86/kernel/cpu/mcheck/mce.c:166: error: (Each undeclared identifier is reported only once arch/x86/kernel/cpu/mcheck/mce.c:166: error: for each function it appears in.) Move the in-the-middle-of-file lock variable up to the variable definition section, the top of the .c file. Cc: Paul E. McKenney Cc: "H. Peter Anvin" Cc: x86@kernel.org 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: <1267830207-9474-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 31968ecf584330b51a25b7bf881c2b632a02a3fb Author: Christoph Fritz Date: Sat Mar 13 22:26:23 2010 -0800 Input: i8042 - add ALDI/MEDION netbook E1222 to qurik reset table ALDI/MEDION netbook E1222 needs to be in the reset quirk list for its touchpad's proper function. Reported-by: Michael Fischer Signed-off-by: Christoph Fritz Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov commit c91ed059a080c6f9a7ba525e5027c65d19115d15 Author: Martin Buck Date: Sat Mar 13 22:23:58 2010 -0800 Input: ALPS - fix stuck buttons on some touchpads Enable button release event redirection to the device that got the button press not only for touchpads with interleaved protocols, but unconditionally for all Alps touchpads. This is required at least for the touchpads in Dell Inspiron 8200 and Latitude d630. Signed-off-by: Martin Buck Signed-off-by: Dmitry Torokhov commit 3474cbd11df8cdd6413781ea95bd51dd469098ff Merge: d89b218 2d378b9 Author: Linus Torvalds Date: Sat Mar 13 21:29:38 2010 -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: sparc64: Add very basic XVR-1000 framebuffer driver. qlogicpti: Remove slash in QlogicPTI irq name commit c91cea11dfec65968ff9d1b4239c1eab63bf72fd Author: Ryusuke Konishi Date: Sun Mar 14 04:01:27 2010 +0900 nilfs2: remove whitespaces before quoted newlines This kills the following checkpatch warnings: WARNING: unnecessary whitespace before a quoted newline #869: FILE: super.c:869: + "remount to a different snapshot. \n", WARNING: unnecessary whitespace before a quoted newline #389: FILE: the_nilfs.c:389: + printk(KERN_ERR "NILFS: too short segment. \n"); Signed-off-by: Ryusuke Konishi commit 55480a06e9ee8d05d0e580bf46611df489653c76 Author: Ryusuke Konishi Date: Sun Mar 14 03:55:56 2010 +0900 nilfs2: remove spaces before tabs This kills the following checkpatch warnings: WARNING: please, no space before tabs #74: FILE: segment.h:74: +^Iunsigned ^I^Iflags;$ WARNING: please, no space before tabs #35: FILE: segbuf.c:35: +^Iint ^I^I^Istart, end; /* The region to be submitted */$ Signed-off-by: Ryusuke Konishi commit 7a65004bbaa6a21a0438aac9c64814e46084dc3f Author: Ryusuke Konishi Date: Sun Mar 14 03:32:40 2010 +0900 nilfs2: fix various typos in comments This fixes various typos I found in comments of nilfs2. Signed-off-by: Ryusuke Konishi commit 1621562b6ac55aa69239895d90276577547a5f62 Author: Ryusuke Konishi Date: Sun Mar 14 03:17:45 2010 +0900 nilfs2: fix typo "cout" -> "count" in error message Signed-off-by: Ryusuke Konishi commit 9ccf56c13831c5fe0edecd8c1184c9a6fe805d23 Author: Ryusuke Konishi Date: Sun Mar 14 03:01:03 2010 +0900 nilfs2: fix function name typos in docbook comments Fixes the following typos in docbook comments: nilfs_detroy_transaction_cache -> nilfs_destroy_transaction_cache nilfs_secgtor_start_timer -> nilfs_segctor_start_timer Signed-off-by: Ryusuke Konishi commit 6c477d44a7dad43a2783b4dea7f4ca3882d77126 Author: Ryusuke Konishi Date: Sun Mar 14 02:01:51 2010 +0900 nilfs2: fix discrepancy in use of static specifier Two segbuf functions, nilfs_segbuf_write and nilfs_segbuf_wait, are declared with the static storage class specifier, but their implementations are not. This fixes the discrepancy. Signed-off-by: Ryusuke Konishi commit 2d378b9179881b46a0faf11430efb421fe03ddd8 Author: David S. Miller Date: Sat Mar 13 16:25:03 2010 -0800 sparc64: Add very basic XVR-1000 framebuffer driver. Signed-off-by: David S. Miller Acked-by: Frans van Berckel commit d89b218b801fd93ea95880f1c7fde348cbcc51c5 Merge: 80a1860 bec68ff Author: Linus Torvalds Date: Sat Mar 13 14:50:18 2010 -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: (108 commits) bridge: ensure to unlock in error path in br_multicast_query(). drivers/net/tulip/eeprom.c: fix bogus "(null)" in tulip init messages sky2: Avoid rtnl_unlock without rtnl_lock ipv6: Send netlink notification when DAD fails drivers/net/tg3.c: change the field used with the TG3_FLAG_10_100_ONLY constant ipconfig: Handle devices which take some time to come up. mac80211: Fix memory leak in ieee80211_if_write() mac80211: Fix (dynamic) power save entry ipw2200: use kmalloc for large local variables ath5k: read eeprom IQ calibration values correctly for G mode ath5k: fix I/Q calibration (for real) ath5k: fix TSF reset ath5k: use fixed antenna for tx descriptors libipw: split ieee->networks into small pieces mac80211: Fix sta_mtx unlocking on insert STA failure path rt2x00: remove KSEG1ADDR define from rt2x00soc.h net: add ColdFire support to the smc91x driver asix: fix setting mac address for AX88772 ipv6 ip6_tunnel: eliminate unused recursion field from ip6_tnl{}. net: Fix dev_mc_add() ... commit 80a186074e72e2cd61f6716d90cf32ce54981a56 Merge: 15c989d 3d07467 Author: Linus Torvalds Date: Sat Mar 13 14:46:18 2010 -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 pick_next_highest_task_rt() for cgroups sched: Cleanup: remove unused variable in try_to_wake_up() x86: Fix sched_clock_cpu for systems with unsynchronized TSC commit 15c989d4d14b82f43cae7efc6a7794cdd556f274 Merge: 4e3eadd 0e152cd Author: Linus Torvalds Date: Sat Mar 13 14:45:49 2010 -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, k8 nb: Fix boot crash: enable k8_northbridges unconditionally on AMD systems x86, UV: Fix target_cpus() in x2apic_uv_x.c x86: Reduce per cpu warning boot up messages x86: Reduce per cpu MCA boot up messages x86_64, cpa: Don't work hard in preserving kernel 2M mappings when using 4K already commit 4e3eaddd142e2142c048c5052a0a9d2604fccfc6 Merge: 8655e7e b97c4bc Author: Linus Torvalds Date: Sat Mar 13 14:43:01 2010 -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: locking: Make sparse work with inline spinlocks and rwlocks x86/mce: Fix RCU lockdep splats rcu: Increase RCU CPU stall timeouts if PROVE_RCU ftrace: Replace read_barrier_depends() with rcu_dereference_raw() rcu: Suppress RCU lockdep warnings during early boot rcu, ftrace: Fix RCU lockdep splat in ftrace_perf_buf_prepare() rcu: Suppress __mpol_dup() false positive from RCU lockdep rcu: Make rcu_read_lock_sched_held() handle !PREEMPT rcu: Add control variables to lockdep_rcu_dereference() diagnostics rcu, cgroup: Relax the check in task_subsys_state() as early boot is now handled by lockdep-RCU rcu: Use wrapper function instead of exporting tasklist_lock sched, rcu: Fix rcu_dereference() for RCU-lockdep rcu: Make task_subsys_state() RCU-lockdep checks handle boot-time use rcu: Fix holdoff for accelerated GPs for last non-dynticked CPU x86/gart: Unexport gart_iommu_aperture Fix trivial conflicts in kernel/trace/ftrace.c commit 8655e7e3ddec60603c4f6c14cdf642e2ba198df8 Merge: 461d208 b634587 Author: Linus Torvalds Date: Sat Mar 13 14:40:50 2010 -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: tracing: Do not record user stack trace from NMI context tracing: Disable buffer switching when starting or stopping trace tracing: Use same local variable when resetting the ring buffer function-graph: Init curr_ret_stack with ret_stack ring-buffer: Move disabled check into preempt disable section function-graph: Add tracing_thresh support to function_graph tracer tracing: Update the comm field in the right variable in update_max_tr function-graph: Use comment notation for func names of dangling '}' function-graph: Fix unused reference to ftrace_set_func() tracing: Fix warning in s_next of trace file ops tracing: Include irqflags headers from trace clock commit 461d208cfbd1f0af26027b2c35ded515e54b1ee6 Merge: 9fdfbc2 0e49887 Author: Linus Torvalds Date: Sat Mar 13 14:39:54 2010 -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 - Sound MSI fallout on a Asus mobo NVIDIA MCP55 sound: fix opti92x-ad1848 build ALSA: hda - Fix input source elements of secondary ADCs on Realtek ALSA: hda - Fix wrong model range check for ALC268 commit 9fdfbc2bff587f454dd95e2caa6d147c9abe39e4 Merge: 8cea4eb dc1d628 Author: Linus Torvalds Date: Sat Mar 13 14:39:42 2010 -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: Provide generic perf_sample_data initialization MAINTAINERS: Add Arnaldo as tools/perf/ co-maintainer perf trace: Don't use pager if scripting perf trace/scripting: Remove extraneous header read perf, ARM: Modify kuser rmb() call to compile for Thumb-2 x86/stacktrace: Don't dereference bad frame pointers perf archive: Don't try to collect files without a build-id perf_events, x86: Fixup fixed counter constraints perf, x86: Restrict the ANY flag perf, x86: rename macro in ARCH_PERFMON_EVENTSEL_ENABLE perf, x86: add some IBS macros to perf_event.h perf, x86: make IBS macros available in perf_event.h hw-breakpoints: Remove stub unthrottle callback x86/hw-breakpoints: Remove the name field perf: Remove pointless breakpoint union perf lock: Drop the buffers multiplexing dependency perf lock: Fix and add misc documentally things percpu: Add __percpu sparse annotations to hw_breakpoint commit 8cea4eb642890a1de58980e7e1617d1765ef8f7c Merge: 122ce87 720e774 Author: Linus Torvalds Date: Sat Mar 13 14:38:53 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes: GFS2: Skip check for mandatory locks when unlocking GFS2: Allow the number of committed revokes to temporarily be negative GFS2: do not select QUOTA commit 122ce878dc189860a380539bde19498bf93443a7 Merge: daf9fe2 0636b33 Author: Linus Torvalds Date: Sat Mar 13 14:38:31 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA/nes: Fix CX4 link problem in back-to-back configuration RDMA/nes: Clear stall bit before destroying NIC QP RDMA/nes: Set assume_aligned_header bit RDMA/cxgb3: Wait at least one schedule cycle during device removal IB/mad: Ignore iWARP devices on device removal IPoIB: Include return code in trace message for ib_post_send() failures IPoIB: Fix TX queue lockup with mixed UD/CM traffic commit 3ee8f0a2b1c81f0472b25d40aa5c1c7c6a0edc2a Author: Markus Rathgeb Date: Sat Mar 13 17:29:43 2010 +0100 HID: Add RGT Clutch Wheel clutch device id This patch enables force feedback for the "RGT Force Feedback CLUTCH Racing Wheel". It only modifies hid-core.c (hid_blacklist) and hid-tmff.c to add the new USB IDs. Signed-off-by: Markus Rathgeb Signed-off-by: Jiri Kosina commit bec68ff1637ca00bb1585a03a7be8a13380084de Author: YOSHIFUJI Hideaki Date: Sat Mar 13 12:27:21 2010 -0800 bridge: ensure to unlock in error path in br_multicast_query(). Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c251c7f738cd94eb3a1febda318078c661eccb4d Author: Joe Perches Date: Sat Mar 13 12:26:15 2010 -0800 drivers/net/tulip/eeprom.c: fix bogus "(null)" in tulip init messages On Wed, 2010-03-10 at 08:41 -0800, David Miller wrote: > From: Mikael Pettersson > Date: Wed, 10 Mar 2010 16:33:28 +0100 > > Booting 2.6.34-rc1 on a machine with a tulip nic I see > > a number of kernel messages that include "(null)" where > > previous kernels included the string "tulip0": > CC:'ing the guilty party :-) It's one of the following > commits: Thanks Mikael. Anonymity has some good attributes. Blame avoidance is one of them. I've broad shoulders. It's me, then Dwight Howard... There might be another few of these where ->name or ->dev was used before struct device or net_device was registered. I'll go back and check. tulip_core has: if (tp->flags & HAS_MEDIA_TABLE) { sprintf(dev->name, DRV_NAME "%d", board_idx); /* hack */ tulip_parse_eeprom(dev); strcpy(dev->name, "eth%d"); /* un-hack */ } So I don't feel _too_ bad. tulip_parse_eeprom is done before register_netdev so the logging there can not use netdev_ or dev_(&dev->dev Signed-off-by: Joe Perches Tested-by: Mikael Pettersson Signed-off-by: David S. Miller commit 2a40018984c5c9647df1c18489449a3a227d9136 Author: Mike McCormack Date: Sat Mar 13 12:24:18 2010 -0800 sky2: Avoid rtnl_unlock without rtnl_lock Make sure we always call rtnl_lock before going down the error path in sky2_resume, which unlocks the rtnl lock. Signed-off-by: Mike McCormack Signed-off-by: David S. Miller commit e2577a065832f2c6d108de2e027891bdb2d78924 Author: Herbert Xu Date: Sat Mar 13 12:23:29 2010 -0800 ipv6: Send netlink notification when DAD fails If we are managing IPv6 addresses using DHCP, it would be nice for user-space to be notified if an address configured through DHCP fails DAD. Otherwise user-space would have to poll to see whether DAD succeeds. This patch uses the existing notification mechanism and simply hooks it into the DAD failure code path. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 3f07d1295191cfa41125e4e61ee2064790070071 Author: Julia Lawall Date: Sat Mar 13 12:22:16 2010 -0800 drivers/net/tg3.c: change the field used with the TG3_FLAG_10_100_ONLY constant The constant TG3_FLAG_10_100_ONLY should be used with the tg3_flags field, not the tg3_flags2 field, as done elsewhere in the same file. Signed-off-by: Julia Lawall Signed-off-by: David S. Miller commit a003460b21323ddb29479505d9555f0985b8b2f1 Merge: 964ad81 dee6026 Author: David S. Miller Date: Sat Mar 13 12:17:09 2010 -0800 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 commit 0a9c14751377a1407f5e35791e13651d2fc7801c Author: Jean Delvare Date: Sat Mar 13 20:56:56 2010 +0100 i2c-algo-bit: Add pre- and post-xfer hooks Drivers might have to do random things before and/or after I2C transfers. Add hooks to the i2c-algo-bit implementation to let them do so. Signed-off-by: Jean Delvare Cc: Alex Deucher commit d07b56b3098b9f32ae6dedeacbc594bd01dcfcd1 Author: Wolfram Sang Date: Sat Mar 13 20:56:55 2010 +0100 at24: Init dynamic bin_attribute structures Commit 6992f5334995af474c2b58d010d08bc597f0f2fe introduced this requirement. Reported-by: Albrecht Dress Signed-off-by: Wolfram Sang Signed-off-by: Eric W. Biederman Signed-off-by: Jean Delvare commit e77482d735efa2606c1f2afeebd53e1119d0e5c6 Author: Jean Delvare Date: Sat Mar 13 20:56:55 2010 +0100 i2c: Drop configure option I2C_DEBUG_CHIP Now that directory drivers/i2c/chips is gone, configuration option I2C_DEBUG_CHIP no longer has any effect, so we can drop it. Signed-off-by: Jean Delvare Acked-by: Wolfram Sang commit 6a9bcced518b98a7e52b9e8e96af228b171e0498 Author: Jean Delvare Date: Sat Mar 13 20:56:54 2010 +0100 tsl2550: Move from i2c/chips to misc Move the last remaining driver from i2c/chips to misc. Good ridance! Signed-off-by: Jean Delvare Acked-by: Wolfram Sang Acked-by: Jonathan Cameron commit c074c39d62306efa5ba7c69c1a1531bc7333d252 Author: Jean Delvare Date: Sat Mar 13 20:56:53 2010 +0100 i2c-i801: Don't use the block buffer for I2C block writes Experience has shown that the block buffer can only be used for SMBus (not I2C) block transactions, even though the datasheet doesn't mention this limitation. Reported-by: Felix Rubinstein Signed-off-by: Jean Delvare Cc: Oleg Ryjkov Cc: stable@kernel.org commit 8e4b980c28c91cfe9d0ce0431bc0af56e146b49e Author: Jean Delvare Date: Sat Mar 13 20:56:52 2010 +0100 i2c-powermac: Be less verbose in the absence of real errors. Be less verbose in the absence of real errors. We don't have to report failed probes to the users, it's only confusing them. Signed-off-by: Jean Delvare Tested-by: Andrey Gusev Cc: Benjamin Herrenschmidt Cc: stable@kernel.org commit f635a1e74bd6001f06fe1df53d32daf2b28bf04b Author: Stephen Rothwell Date: Mon Mar 1 16:04:45 2010 +1100 i2c-smbus: Use device_lock/device_unlock Use the new device locking/unlocking API. Signed-off-by: Stephen Rothwell Signed-off-by: Jean Delvare commit f78233dd44a110c574fe760ad6f9c1e8741a0d00 Author: Sachin Prabhu Date: Sat Mar 13 09:03:55 2010 -0600 9p: Skip check for mandatory locks when unlocking While investigating a bug, I came across a possible bug in v9fs. The problem is similar to the one reported for NFS by ASANO Masahiro in http://lkml.org/lkml/2005/12/21/334. v9fs_file_lock() will skip locks on file which has mode set to 02666. This is a problem in cases where the mode of the file is changed after a process has obtained a lock on the file. Such a lock will be skipped during unlock and the machine will end up with a BUG in locks_remove_flock(). v9fs_file_lock() should skip the check for mandatory locks when unlocking a file. Signed-off-by: Sachin Prabhu Signed-off-by: Eric Van Hensbergen commit fc0f296126433e61600539325975b6c30681c07e Author: jvrao Date: Mon Mar 8 22:07:02 2010 +0000 9p: Fixes a simple bug enabling writes beyond 2GB. Fixes a simple bug so that large files beyond 2GB can be created. Signed-off-by: Venkateswararao Jujjuri Signed-off-by: Badari Pulavarty Signed-off-by: Eric Van Hensbergen commit 45bc21edb52fa71dbb1324c6f573aa880e95519d Author: Sripathi Kodi Date: Mon Mar 8 17:33:04 2010 +0000 9p: Change the name of new protocol from 9p2010.L to 9p2000.L This patch changes the name of the new 9P protocol from 9p2010.L to 9p2000.u. This is because we learnt that the name 9p2010 is already being used by others. Signed-off-by: Sripathi Kodi Signed-off-by: Eric Van Hensbergen commit fae4528b2341f2ab0c86c191e24d9cdd93624c60 Author: Aneesh Kumar K.V Date: Sat Mar 6 04:44:16 2010 +0000 fs/9p: re-init the wstat in readdir loop This ensure that on failure when we free the stat buf we don't end up freeing an already freed pointer in the earlier loop Signed-off-by: Aneesh Kumar K.V Signed-off-by: Sripathi Kodi Signed-off-by: Eric Van Hensbergen commit 86c8437383acd85c05ec7c9a004f59fe7ac9821a Author: Aneesh Kumar K.V Date: Sat Mar 6 04:44:15 2010 +0000 net/9p: Add sysfs mount_tag file for virtio 9P device This adds a new file for virtio 9P device. The file contain details of the mount device name that should be used to mount the 9P file system. Ex: /sys/devices/virtio-pci/virtio1/mount_tag file now contian the tag name to be used to mount the 9P file system. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen commit 97ee9b0257402f4731b55dfea42f24d26d793ddf Author: Aneesh Kumar K.V Date: Sat Mar 6 04:44:14 2010 +0000 net/9p: Use the tag name in the config space for identifying mount point This patch use the tag name in the config space to identify the mount device. The the virtio device name depend on the enumeration order of the device and may not remain the same across multiple boots So we use the tag name which is set via qemu option to uniquely identify the mount device Signed-off-by: Aneesh Kumar K.V Signed-off-by: Eric Van Hensbergen commit d10fca9f39238b07cc670b441d2b423de30359d2 Author: Will Deacon Date: Fri Feb 26 10:46:15 2010 +0100 ARM: 5960/1: ARM: perf-events: fix v7 event selection mask The event selection mask for ARMv7 cores [ARMV7_EVTSEL_MASK] is incorrectly set to 0x7f. This means that the top bit of an event ID is ignored, so counting branch misses (id=0x10) and ISBs (id=0x90) give the same results. This patch sets the event selection mask to the correct value of 0xff. Signed-off-by: Jean Pihet Signed-off-by: Will Deacon Signed-off-by: Russell King commit ddee87f208b6229d2910dd5930c87089dc56c87e Author: Will Deacon Date: Thu Feb 25 15:04:14 2010 +0100 ARM: 5959/1: ARM: perf-events: request PMU interrupts with IRQF_NOBALANCING If IRQ balancing is used on a multicore ARM system, PMU interrupt lines may be relocated onto CPUs other than the one causing the counter overflow. This can result in misattribution of events to the wrong core and, in the case that the CPU handling the interrupt has not experience counter overflow, the interrupt can be disabled because the handler returns IRQ_NONE. This patch adds the IRQF_NOBALANCING flag to the request_irq call in perf_events.c. Acked-by: Jamie Iles Signed-off-by: Will Deacon Signed-off-by: Russell King commit a91ed072d6135926c296a42b0b46de35e6347845 Author: Greg Ungerer Date: Fri Mar 12 06:19:25 2010 +0100 ARM: 5988/1: pgprot_dmacoherent() for non-mmu builds Commit 26a26d329688ab018e068b412b03d43d7c299f0a ("dma-mapping: switch ARMv7 DMA mappings to retain 'memory' attribute") added a new macro, pgprot_dmacoherent(), to correctly map DMA memory. The non-mmu pgtable support code also needs to implement this macro, otherwise when compiling you get: CC arch/arm/mm/dma-mapping.o arch/arm/mm/dma-mapping.c: In function 'dma_alloc_coherent': arch/arm/mm/dma-mapping.c:320: error: implicit declaration of function 'pgprot_dmacoherent' arch/arm/mm/dma-mapping.c:320: error: 'pgprot_kernel' undeclared (first use in this function) arch/arm/mm/dma-mapping.c:320: error: (Each undeclared identifier is reported only once arch/arm/mm/dma-mapping.c:320: error: for each function it appears in.) Signed-off-by: Greg Ungerer Signed-off-by: Russell King commit bb35579b45bcb0b74167a2165d3ea973f640bf00 Author: Mikael Pettersson Date: Thu Mar 11 12:28:31 2010 +0100 ARM: 5987/1: fix warning in kernel/elfcore.c from ARM's elf.h 2.6.34-rc1 added kernel/elfcore.c which includes . On ARM, this results in: In file included from include/linux/elf.h:7, from kernel/elfcore.c:1: /tmp/linux-2.6.34-rc1/arch/arm/include/asm/elf.h:101: warning: 'struct task_struct' declared inside parameter list /tmp/linux-2.6.34-rc1/arch/arm/include/asm/elf.h:101: warning: its scope is only this definition or declaration, which is probably not what you want Including seems a bit heavyweight, so this patch just adds a tentative declaration of struct task_struct in . Signed-off-by: Mikael Pettersson Signed-off-by: Russell King commit 438ff39d7813515d3aac20f53b5b95aaa58b38f9 Author: Rob Alley Date: Thu Mar 11 02:15:04 2010 +0100 ARM: 5986/1: at91sam9g20-ek: Correct braces in I2C registration code The change introduced in patch 5596/1 used incorrect bracing which resulted in the AT24 EEPROM no longer being registered. This patch corrects the bracing and allows both the WM8731 audio device and AT24 EEPROM device to be registered. Signed-off-by: Rob Alley Signed-off-by: Russell King commit a2302b45d8ab41a55e84c39a6c6f813586ad8493 Author: Mark Brown Date: Wed Mar 10 19:10:28 2010 +0100 ARM: 5985/2: ARM: Fix Samsung build after "ARM: Eliminate decompressor -Dstatic= PIC hack" Commit 5de813b6 (ARM: Eliminate decompressor -Dstatic= PIC hack) among other things changed the declared type of the error() function to an extern, conflicting with the forward declartion in the Samsung plat/uncompress.h which appears to have been relying on the static being defined away, causing build failures since error() ends up with a GOT relocation but the linker script discards all GOT relocated data and functions: arch/arm/boot/compressed/decompress.o: In function `gunzip': /home/broonie/git/linux-2.6/arch/arm/boot/compressed/../../../../lib/decompress_ +inflate.c:68: undefined reference to `error' and so on. Fix this by moving the declaration into uncompress/misc.c where it is shared with the rest of the code, correcting the definition as we go. Signed-off-by: Mark Brown Signed-off-by: Russell King commit 0e152cd7c16832bd5cadee0c2e41d9959bc9b6f9 Author: Borislav Petkov Date: Fri Mar 12 15:43:03 2010 +0100 x86, k8 nb: Fix boot crash: enable k8_northbridges unconditionally on AMD systems de957628ce7c84764ff41331111036b3ae5bad0f changed setting of the x86_init.iommu.iommu_init function ptr only when GART IOMMU is found. One side effect of it is that num_k8_northbridges is not initialized anymore if not explicitly called. This resulted in uninitialized pointers in , for example, which uses the num_k8_northbridges thing through node_to_k8_nb_misc(). Fix that through an initcall that runs right after the PCI subsystem and does all the scanning. Then, remove initialization in gart_iommu_init() which is a rootfs_initcall and we're running before that. What is more, since num_k8_northbridges is being used in other places beside GART IOMMU, include it whenever we add AMD CPU support. The previous dependency chain in kconfig contained K8_NB depends on AGP_AMD64|GART_IOMMU which was clearly incorrect. The more natural way in terms of hardware dependency should be AGP_AMD64|GART_IOMMU depends on K8_NB depends on CPU_SUP_AMD && PCI. Make it so Number One! Signed-off-by: Borislav Petkov Cc: FUJITA Tomonori Cc: Joerg Roedel LKML-Reference: <20100312144303.GA29262@aftab> Signed-off-by: Ingo Molnar Tested-by: Joerg Roedel commit fc6ceea045031658d0b59af562369eae980b4370 Author: Masami Hiramatsu Date: Fri Mar 12 18:22:24 2010 -0500 perf probe: Fix need_dwarf flag if lazy matching is used Set need_dwarf if lazy matching pattern is specified, because lazy matching requires real source path for which we must use debuginfo. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE LKML-Reference: <20100312232224.2017.54550.stgit@localhost6.localdomain6> Signed-off-by: Ingo Molnar commit 594087a04eea544356f9c52e83c1a9bc380ce80f Author: Masami Hiramatsu Date: Fri Mar 12 18:22:17 2010 -0500 perf probe: Fix probe_point buffer overrun Fix probe_point array-size overrun problem. In some cases (e.g. inline function), one user-specified probe-point can be translated to many probe address, and it overruns pre-defined array-size. This also removes redundant MAX_PROBES macro definition. Signed-off-by: Masami Hiramatsu Cc: systemtap Cc: DLE Cc: LKML-Reference: <20100312232217.2017.45017.stgit@localhost6.localdomain6> [ Note that only root can create new probes. Eventually we should remove the MAX_PROBES limit, but that is a larger patch not eligible to perf/urgent treatment. ] Signed-off-by: Ingo Molnar commit b6345879ccbd9b92864fbd7eb8ac48acdb4d6b15 Author: Steven Rostedt Date: Fri Mar 12 20:03:30 2010 -0500 tracing: Do not record user stack trace from NMI context A bug was found with Li Zefan's ftrace_stress_test that caused applications to segfault during the test. Placing a tracing_off() in the segfault code, and examining several traces, I found that the following was always the case. The lock tracer was enabled (lockdep being required) and userstack was enabled. Testing this out, I just enabled the two, but that was not good enough. I needed to run something else that could trigger it. Running a load like hackbench did not work, but executing a new program would. The following would trigger the segfault within seconds: # echo 1 > /debug/tracing/options/userstacktrace # echo 1 > /debug/tracing/events/lock/enable # while :; do ls > /dev/null ; done Enabling the function graph tracer and looking at what was happening I finally noticed that all cashes happened just after an NMI. 1) | copy_user_handle_tail() { 1) | bad_area_nosemaphore() { 1) | __bad_area_nosemaphore() { 1) | no_context() { 1) | fixup_exception() { 1) 0.319 us | search_exception_tables(); 1) 0.873 us | } [...] 1) 0.314 us | __rcu_read_unlock(); 1) 0.325 us | native_apic_mem_write(); 1) 0.943 us | } 1) 0.304 us | rcu_nmi_exit(); [...] 1) 0.479 us | find_vma(); 1) | bad_area() { 1) | __bad_area() { After capturing several traces of failures, all of them happened after an NMI. Curious about this, I added a trace_printk() to the NMI handler to read the regs->ip to see where the NMI happened. In which I found out it was here: ffffffff8135b660 : ffffffff8135b660: 48 83 ec 78 sub $0x78,%rsp ffffffff8135b664: e8 97 01 00 00 callq ffffffff8135b800 What was happening is that the NMI would happen at the place that a page fault occurred. It would call rcu_read_lock() which was traced by the lock events, and the user_stack_trace would run. This would trigger a page fault inside the NMI. I do not see where the CR2 register is saved or restored in NMI handling. This means that it would corrupt the page fault handling that the NMI interrupted. The reason the while loop of ls helped trigger the bug, was that each execution of ls would cause lots of pages to be faulted in, and increase the chances of the race happening. The simple solution is to not allow user stack traces in NMI context. After this patch, I ran the above "ls" test for a couple of hours without any issues. Without this patch, the bug would trigger in less than a minute. Cc: stable@kernel.org Reported-by: Li Zefan Signed-off-by: Steven Rostedt commit a2f8071428ed9a0f06865f417c962421c9a6b488 Author: Steven Rostedt Date: Fri Mar 12 19:56:00 2010 -0500 tracing: Disable buffer switching when starting or stopping trace When the trace iterator is read, tracing_start() and tracing_stop() is called to stop tracing while the iterator is processing the trace output. These functions disable both the standard buffer and the max latency buffer. But if the wakeup tracer is running, it can switch these buffers between the two disables: buffer = global_trace.buffer; if (buffer) ring_buffer_record_disable(buffer); <<<--------- swap happens here buffer = max_tr.buffer; if (buffer) ring_buffer_record_disable(buffer); What happens is that we disabled the same buffer twice. On tracing_start() we can enable the same buffer twice. All ring_buffer_record_disable() must be matched with a ring_buffer_record_enable() or the buffer can be disable permanently, or enable prematurely, and cause a bug where a reset happens while a trace is commiting. This patch protects these two by taking the ftrace_max_lock to prevent a switch from occurring. Found with Li Zefan's ftrace_stress_test. Cc: stable@kernel.org Reported-by: Lai Jiangshan Signed-off-by: Steven Rostedt commit 283740c619d211e34572cc93c8cdba92ccbdb9cc Author: Steven Rostedt Date: Fri Mar 12 19:48:41 2010 -0500 tracing: Use same local variable when resetting the ring buffer In the ftrace code that resets the ring buffer it references the buffer with a local variable, but then uses the tr->buffer as the parameter to reset. If the wakeup tracer is running, which can switch the tr->buffer with the max saved buffer, this can break the requirement of disabling the buffer before the reset. buffer = tr->buffer; ring_buffer_record_disable(buffer); synchronize_sched(); __tracing_reset(tr->buffer, cpu); If the tr->buffer is swapped, then the reset is not happening to the buffer that was disabled. This will cause the ring buffer to fail. Found with Li Zefan's ftrace_stress_test. Cc: stable@kernel.org Reported-by: Lai Jiangshan Signed-off-by: Steven Rostedt commit ea14eb714041d40fcc5180b5a586034503650149 Author: Steven Rostedt Date: Fri Mar 12 19:41:23 2010 -0500 function-graph: Init curr_ret_stack with ret_stack If the graph tracer is active, and a task is forked but the allocating of the processes graph stack fails, it can cause crash later on. This is due to the temporary stack being NULL, but the curr_ret_stack variable is copied from the parent. If it is not -1, then in ftrace_graph_probe_sched_switch() the following: for (index = next->curr_ret_stack; index >= 0; index--) next->ret_stack[index].calltime += timestamp; Will cause a kernel OOPS. Found with Li Zefan's ftrace_stress_test. Cc: stable@kernel.org Signed-off-by: Steven Rostedt commit 52fbe9cde7fdb5c6fac196d7ebd2d92d05ef3cd4 Author: Lai Jiangshan Date: Mon Mar 8 14:50:43 2010 +0800 ring-buffer: Move disabled check into preempt disable section The ring buffer resizing and resetting relies on a schedule RCU action. The buffers are disabled, a synchronize_sched() is called and then the resize or reset takes place. But this only works if the disabling of the buffers are within the preempt disabled section, otherwise a window exists that the buffers can be written to while a reset or resize takes place. Cc: stable@kernel.org Reported-by: Li Zefan Signed-off-by: Lai Jiangshan LKML-Reference: <4B949E43.2010906@cn.fujitsu.com> Signed-off-by: Steven Rostedt commit daf9fe2ee9a203c4fc555cfe5c5f3d9f660e743c Merge: 9d85929 8d002bd Author: Linus Torvalds Date: Fri Mar 12 16:41:09 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: mfd: Several MFD drivers should depend on GENERIC_HARDIRQS mfd: Fix sm501 requested region size commit 9d85929fefd040ca84a5e04ee704d043efcc3c2e Merge: 6db823c eeb5b4a Author: Linus Torvalds Date: Fri Mar 12 16:35:21 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6: fat: Fix stat->f_namelen fat: Fix vfat_lookup() commit 6db823cf4b44f235b5e1da8ec1fe3c3cd63647fe Author: Linus Torvalds Date: Fri Mar 12 16:30:23 2010 -0800 Fix up .gitignore for top-level file patterns Some of the gitignore file patters were explicitly meant to be only for the top level, but weren't marked that way, so they would trigger recursively in subdirectories too. Normally that was harmless, but at least "linux" happened to trigger elsewhere too. Fix it up. And other patterns in that section weren't necessarily top-level at all. Reported-by: Jiri Slaby Signed-off-by: Linus Torvalds commit 64d5aea30062ce9f3ce7c62be8ae65e776cbfee2 Merge: 3836a03 ad6759f Author: Linus Torvalds Date: Fri Mar 12 16:27:08 2010 -0800 Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: timekeeping: Prevent oops when GENERIC_TIME=n commit 3836a03d978e68b0ae00d3589089343c998cd4ff Author: Eric Paris Date: Tue Mar 9 22:23:01 2010 -0500 anon_inodes: mark the anon inode private Inotify was switched to use anon_inode instead of its own private filesystem which only had one inode in commit c44dcc56d2b5c7 "switch inotify_user to anon_inode" The problem with this is that now the inotify inode is not a distinct inode which can be managed by LSMs. userspace tools which use inotify were allowed to use the inotify inode but may not have had permission to do read/write type operations on the anon_inode. After looking at the anon_inode and its users it looks like the best solution is to just mark the anon_inode as S_PRIVATE so the security system will ignore it. Signed-off-by: Eric Paris Acked-by: James Morris Signed-off-by: Linus Torvalds commit 83c0fb6500b13c9b7564fe453b76356dc58415d4 Merge: 11bfe2e 3a065fc Author: Linus Torvalds Date: Fri Mar 12 16:22:50 2010 -0800 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6: udf: use ext2_find_next_bit udf: Do not read inode before writing it udf: Fix unalloc space handling in udf_update_inode commit 11bfe2ea732c6499c46c4f3a63d567c05b9dbafd Merge: b6fedfd 5b8a2fb Author: Linus Torvalds Date: Fri Mar 12 16:21:24 2010 -0800 Merge branch 'msm-mmc_sdcc' of git://codeaurora.org/quic/kernel/dwalker/linux-msm * 'msm-mmc_sdcc' of git://codeaurora.org/quic/kernel/dwalker/linux-msm: msm_sdcc.c: missing brackets in msmsdcc_resume() commit b97c4bc16734a2e597dac7f91ee9eb78f4aeef9a Author: Luca Barbieri Date: Thu Mar 11 14:08:45 2010 -0800 locking: Make sparse work with inline spinlocks and rwlocks Currently sparse does not work with inline spinlock and rwlock functions. The problem is that they do not use the __acquires/__releases out-of-line functions, but use inline functions with no sparse annotations. This patch adds the appropriate annotations to make it work properly. Signed-off-by: Luca Barbieri Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit b6fedfd2a18a489d31246312f7279f82e3cc6b37 Merge: c32da02 30124d1 Author: Linus Torvalds Date: Fri Mar 12 16:06:51 2010 -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/booke: Fix breakpoint/watchpoint one-shot behavior powerpc: Reduce printk from pseries_mach_cpu_die() powerpc: Move checks in pseries_mach_cpu_die() powerpc: Reset kernel stack on cpu online from cede state powerpc: Fix G5 thermal shutdown powerpc/pseries: Pass CPPR value to H_XIRR hcall powerpc/booke: Fix a couple typos in the advanced ptrace code powerpc: Fix SMP build with disabled CPU hotplugging. powerpc: Dynamically allocate pacas powerpc/perf: e500 support powerpc/perf: Build callchain code regardless of hardware event support. powerpc/cpm2: Checkpatch cleanup powerpc/86xx: Renaming following split of GE Fanuc joint venture powerpc/86xx: Convert gef_pic_lock to raw_spinlock powerpc/qe: Convert qe_ic_lock to raw_spinlock powerpc/82xx: Convert pci_pic_lock to raw_spinlock powerpc/85xx: Convert socrates_fpga_pic_lock to raw_spinlock commit c32da02342b7521df25fefc2ef20aee0e61cf887 Merge: dca1d9f 318ae2e Author: Linus Torvalds Date: Fri Mar 12 16:04:50 2010 -0800 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (56 commits) doc: fix typo in comment explaining rb_tree usage Remove fs/ntfs/ChangeLog doc: fix console doc typo doc: cpuset: Update the cpuset flag file Fix of spelling in arch/sparc/kernel/leon_kernel.c no longer needed Remove drivers/parport/ChangeLog Remove drivers/char/ChangeLog doc: typo - Table 1-2 should refer to "status", not "statm" tree-wide: fix typos "ass?o[sc]iac?te" -> "associate" in comments No need to patch AMD-provided drivers/gpu/drm/radeon/atombios.h devres/irq: Fix devm_irq_match comment Remove reference to kthread_create_on_cpu tree-wide: Assorted spelling fixes tree-wide: fix 'lenght' typo in comments and code drm/kms: fix spelling in error message doc: capitalization and other minor fixes in pnp doc devres: typo fix s/dev/devm/ Remove redundant trailing semicolons from macros fix typo "definetly" -> "definitely" in comment tree-wide: s/widht/width/g typo in comments ... Fix trivial conflict in Documentation/laptops/00-INDEX commit dca1d9f6d7ae428c193f32bd3e9a4ca13176648b Merge: 9ff9933 91e0138 Author: Linus Torvalds Date: Fri Mar 12 16:00:54 2010 -0800 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (370 commits) ARM: S3C2443: Add set_rate and round_rate calls for armdiv clock ARM: S3C2443: Remove #if 0 for clk_mpll ARM: S3C2443: Update notes on MPLLREF clock ARM: S3C2443: Further clksrc-clk conversions ARM: S3C2443: Change to using plat-samsung clksrc-clk implementation USB: Fix s3c-hsotg build following Samsung platform header moves ARM: S3C64XX: Reintroduce unconditional build of audio device ARM: 5961/1: ux500: fix CLKRST addresses ARM: 5977/1: arm: Enable backtrace printing on oops when PC is corrupted ASoC: Fix S3C64xx IIS driver for Samsung header reorg ARM: S3C2440: Fix plat-s3c24xx move of s3c2440/s3c2442 support [ARM] pxa: fix typo in mxm8x10.h [ARM] pxa/raumfeld: set GPIO drive bits for LED pins [ARM] pxa/zeus: Add support for mcp2515 CAN bus [ARM] pxa/zeus: Add support for onboard max6369 watchdog [ARM] pxa/zeus: Add Eurotech as the manufacturer [ARM] pxa/zeus: Correct the USB host initialisation flags [ARM] pxa/zeus: Allow usage of 8250-compatible UART in uncompress [ARM] pxa: refactor uncompress.h for non-PXA uarts [ARM] mmp2: fix incorrect calling of chip->mask_ack() for 2nd level cascaded IRQs ... commit 9ff99339447de403a46be5e3f23d0c794d540b06 Author: Dave Young Date: Wed Mar 10 15:24:10 2010 -0800 sysctl extern cleanup: poll Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move epoll_table extern declaration to linux/poll.h Signed-off-by: Dave Young Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2edf5e49800846a2b2b6461d99cdae18067c440f Author: Dave Young Date: Wed Mar 10 15:24:10 2010 -0800 sysctl extern cleanup: lockdep Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move lockdep extern declarations to linux/lockdep.h Signed-off-by: Dave Young Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f0e056fdebc15d3f4724ebc7bbf323158add1d7 Author: Dave Young Date: Wed Mar 10 15:24:09 2010 -0800 sysctl extern cleanup: rtmutex Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move max_lock_depth extern declaration to linux/rtmutex.h Signed-off-by: Dave Young Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c55b7c3e82d0ad58f35a0785faaaf2f70b9b6cd3 Author: Dave Young Date: Wed Mar 10 15:24:08 2010 -0800 sysctl extern cleanup: acct Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move acct_parm extern declaration to linux/acct.h Signed-off-by: Dave Young Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15485a4682d1d3bfee2aa78b4b1a5d36f5746b64 Author: Dave Young Date: Wed Mar 10 15:24:07 2010 -0800 sysctl extern cleanup: sg Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move sg_big_buff extern declaration to scsi/sg.h Signed-off-by: Dave Young Acked-by: Doug Gilbert Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ed109103d73b0bafc92e860cead56725231384d Author: Dave Young Date: Wed Mar 10 15:24:06 2010 -0800 sysctl extern cleanup: module Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move modprobe_path extern declaration to linux/kmod.h Move modules_disabled extern declaration to linux/module.h Signed-off-by: Dave Young Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5ab67726f33b50f40db0ccf271ceb3c658554d5 Author: Dave Young Date: Wed Mar 10 15:24:05 2010 -0800 sysctl extern cleanup: rcu Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move rcutorture_runnable extern declaration to linux/rcupdate.h Signed-off-by: Dave Young Acked-by: Josh Triplett Reviewed-by: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d33ed52d57e794eba55cea3f5eab3c8f80b6cb5a Author: Dave Young Date: Wed Mar 10 15:23:59 2010 -0800 sysctl extern cleanup: signal Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move print_fatal_signals extern declaration to linux/signal.h Signed-off-by: Dave Young Cc: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb5572fed55f4c2b7dbc42582bc82dcb47632380 Author: Dave Young Date: Wed Mar 10 15:23:59 2010 -0800 sysctl extern cleanup: C_A_D Extern declarations in sysctl.c should be moved to their own header file, and then include them in relavant .c files. Move C_A_D extern variable declaration to linux/reboot.h Signed-off-by: Dave Young Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d759c3745e62c36fd7efee7a2ce2a327f22e9056 Author: Vladimir Zapolskiy Date: Wed Mar 10 15:23:57 2010 -0800 mxcmmc: fixed max_seg_size value on initialization This unpleasant typo appeared while porting the driver from Freescale original sources, where anyone can easily find the correct version. Current incorrect version potentially can influence segment and merge handling in block subsystem via MMC request queue settings. Signed-off-by: Vladimir Zapolskiy Cc: Sascha Hauer Cc: Pierre Ossman Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51ea3f6a4571e9283e2ff79b74bcedfc2986dbe2 Author: Joakim Tjernlund Date: Wed Mar 10 15:23:57 2010 -0800 inflate_fast: sout is already a short so ptr arith was off by one. inflate_fast() can do either POST INC or PRE INC on its pointers walking the memory to decompress. Default is PRE INC. The sout pointer offset was miscalculated in one case as the calculation assumed sout was a char * This breaks inflate_fast() iff configured to do POST INC. Signed-off-by: Joakim Tjernlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e69eae65523b457a3ac4262a66cfff57f2c924a9 Author: Joakim Tjernlund Date: Wed Mar 10 15:23:55 2010 -0800 zlib: make new optimized inflate endian independent Commit 6846ee5ca68d81e6baccf0d56221d7a00c1be18b ("zlib: Fix build of powerpc boot wrapper") made the new optimized inflate only available on arch's that define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS. This patch will again enable the optimization for all arch's by defining our own endian independent version of unaligned access. As an added bonus, arch's that define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS do a plain load instead. Signed-off-by: Joakim Tjernlund Cc: Anton Blanchard Cc: Benjamin Herrenschmidt Cc: David Woodhouse Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ceaa2f39bfa73c4398cd01e78f1c3ebde3d3383 Author: Russell King Date: Wed Mar 10 15:23:53 2010 -0800 decompress: fix new decompressor for PIC The ARM kernel decompressor wants to be able to relocate r/w data independently from the rest of the image, and we do this by ensuring that r/w data has global visibility. Define STATIC_RW_DATA to be empty to achieve this. Signed-off-by: Russell King Cc: Alain Knaff Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c1840f15feecb6961f480cad1a7a8e53a3f2ba6 Author: Akinobu Mita Date: Wed Mar 10 15:23:52 2010 -0800 sgi-gru: use for_each_set_bit() Replace open-coded loop with for_each_set_bit(). Signed-off-by: Akinobu Mita Cc: Jack Steiner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fbcae222b8aa3a47034a484e02e7fc14050c783 Author: Julia Lawall Date: Wed Mar 10 15:23:52 2010 -0800 drivers/char/mmtimer.c: eliminate useless code The variable x is initialized twice to the same (side effect-free) expression. Drop one initialization. A simplified version of the semantic match that finds this problem is: (http://coccinelle.lip6.fr/) // @forall@ idexpression *x; identifier f!=ERR_PTR; @@ x = f(...) ... when != x ( x = f(...,<+...x...+>,...) | * x = f(...) ) // Stefan observed: The next x = rb_entry(mn->next, struct mmtimer, list); is preceded by a test whether mn->next is NULL. Unless that test is redundant too, your patch fixes a potential NULL pointer dereference, introduced by commit cbacdd95 "SGI Altix mmtimer: allow larger number of timers per node" in 2.6.26. Signed-off-by: Julia Lawall Cc: Stefan Richter Cc: Dimitri Sivanich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 582ef52a5d5650931f6d76c81d824bd98419ac8a Author: Alberto Panizzo Date: Wed Mar 10 15:23:50 2010 -0800 w1: mxc_w1: move probe() and remove() to the dev* text area This fixes the section mismatch warning for mxc_w1_probe() Cc: Evgeniy Polyakov Cc: Sascha Hauer Acked-by: Uwe Kleine-König Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6786073927c3ff3eb7fc3d2192e761e86fa0d352 Author: Roel Kluin Date: Wed Mar 10 15:23:49 2010 -0800 w1: fix test in ds2482_wait_1wire_idle() With `while (++retries < DS2482_WAIT_IDLE_TIMEOUT)' retries reaches DS2482_WAIT_IDLE_TIMEOUT after the loop Signed-off-by: Roel Kluin Cc: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ed63d5eb4c0de0321f5c0a7328e132a78f9fafe Author: Rodolfo Giometti Date: Wed Mar 10 15:23:48 2010 -0800 serial amba-pl010: enable PPS support Function pl010_enable_ms() is automagically called when PPS ldisc is selected. Signed-off-by: Rodolfo Giometti Cc: David Woodhouse Cc: Greg KH Cc: Alan Cox Cc: Alexander Gordeev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc77f161aa5e81ddaf38390094c4f2ca3814e6b1 Author: Rodolfo Giometti Date: Wed Mar 10 15:23:48 2010 -0800 serial 8250: enable PPS support Automagically function serial8250_enable_ms() is called when PPS ldisc is selected. Signed-off-by: Rodolfo Giometti Cc: David Woodhouse Cc: Greg KH Cc: Alan Cox Cc: Alexander Gordeev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0880df0ccde8d551fc4d88c455acb2ee0801e26 Author: Rodolfo Giometti Date: Wed Mar 10 15:23:47 2010 -0800 pps: serial clients support Adds support, by using the PPS line discipline, for the PPS sources connected with the CD (Carrier Detect) pin of a serial port. [akpm@linux-foundation.org: fix cast size warnings] Signed-off-by: Rodolfo Giometti Cc: David Woodhouse Cc: Greg KH Cc: Alan Cox Cc: Alexander Gordeev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 572b9adbd40b5565dc413db04af9cc234f72bf19 Author: Rodolfo Giometti Date: Wed Mar 10 15:23:46 2010 -0800 ldisc n_tty: add new method n_tty_inherit_ops() This new method can be used to init a new struct tty_ldisc_ops as the default tty_ldisc_N_TTY struct. Signed-off-by: Rodolfo Giometti Cc: David Woodhouse Cc: Greg KH Cc: Alan Cox Cc: Alexander Gordeev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3e63afe8a74c0134d05a551cc74facc3b3ec0d7 Author: Rodolfo Giometti Date: Wed Mar 10 15:23:45 2010 -0800 ldisc: new dcd_change() method for line disciplines Signed-off-by: Rodolfo Giometti Cc: David Woodhouse Cc: Greg KH Cc: Alan Cox Cc: Alexander Gordeev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 697fb85fcf21b5229a3072440222d14b05ef2abe Author: Rodolfo Giometti Date: Wed Mar 10 15:23:45 2010 -0800 pps: LinuxPPS clients support Each PPS source can be registered/deregistered into the system by using special modules called "clients". They simply define the PPS sources' attributes and implement the time signal registration mechanism. This patch adds a special directory for such clients and adds a dummy client that can be useful to test system integrity on real systems. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Rodolfo Giometti Cc: David Woodhouse Cc: Greg KH Cc: Alan Cox Cc: Alexander Gordeev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51e7364ef281e540371f084008732b13292622f0 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:44 2010 -0800 Documentation: rename PCI-DMA-mapping.txt to DMA-API-HOWTO.txt Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: "David S. Miller" Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5a69f4c1319c03b946e1e99a590b6002aa3e5ef Author: FUJITA Tomonori Date: Wed Mar 10 15:23:43 2010 -0800 Documentation: remove the PCI DMA API description in DMA-API.txt - remove the PCI DMA API description in DMA-API.txt - remove the descriptions of dma_unmap macros since PCI-DMA-mapping.txt has the same description. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: "David S. Miller" Reviewed-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 216bf58f4092df33262bea498f0460657f4842a4 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:42 2010 -0800 Documentation: convert PCI-DMA-mapping.txt to use the generic DMA API - replace the PCI DMA API (i.e. pci_dma_*) with the generic DMA API. - make the document more generic (use the PCI specific explanation as an example). [akpm@linux-foundation.org: fix things Randy noticed] Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: "David S. Miller" Reviewed-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f3cd1e0bb452c31a306a3e764514ea2eaf7d2e0 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:41 2010 -0800 dma-mapping: pci: move pci_set_dma_mask and pci_set_consistent_dma_mask to pci-dma-compat.h We can use pci-dma-compat.h to implement pci_set_dma_mask and pci_set_consistent_dma_mask as we do with the other PCI DMA API. We can remove HAVE_ARCH_PCI_SET_DMA_MASK too. Signed-off-by: FUJITA Tomonori Cc: Jesse Barnes Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fee48cd330c68332f9712bc968d934a1a84a32a Author: FUJITA Tomonori Date: Wed Mar 10 15:23:40 2010 -0800 dma-mapping: arm: use generic pci_set_dma_mask and pci_set_consistent_dma_mask This converts arm to the generic pci_set_dma_mask and pci_set_consistent_dma_mask (removes HAVE_ARCH_PCI_SET_DMA_MASK for dmabounce). Signed-off-by: FUJITA Tomonori Looked-over-by: Russell King Cc: Jesse Barnes Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e6c70e6910d21443ab0f894bab52b9ea653ef27 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:40 2010 -0800 dma-mapping: powerpc: use generic pci_set_dma_mask and pci_set_consistent_dma_mask This converts powerpc to use the generic pci_set_dma_mask and pci_set_consistent_dma_mask (drivers/pci/pci.c). The generic pci_set_dma_mask does what powerpc's pci_set_dma_mask does. Unlike powerpc's pci_set_consistent_dma_mask, the gneric pci_set_consistent_dma_mask sets only coherent_dma_mask. It doesn't work for powerpc? pci_set_consistent_dma_mask API should set only coherent_dma_mask? Signed-off-by: FUJITA Tomonori Acked-by: Benjamin Herrenschmidt Cc: Jesse Barnes Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a1961f49ee8d7339ea2454443dfc0460e0b2748 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:39 2010 -0800 dma-mapping: dma-mapping.h: add dma_set_coherent_mask dma_set_coherent_mask corresponds to pci_set_consistent_dma_mask. This is necessary to move to the generic device model DMA API from the PCI bus specific API in the long term. dma_set_coherent_mask works in the exact same way that pci_set_consistent_dma_mask does. So this patch also changes pci_set_consistent_dma_mask to call dma_set_coherent_mask. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: David S. Miller Cc: Jesse Barnes Cc: Benjamin Herrenschmidt Cc: Russell King Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3c4bccabaf3e5c13f4b307c7737cbe8d0cecd02 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:38 2010 -0800 dma-mapping: pci: convert pci_set_dma_mask to call dma_set_mask This changes pci_set_dma_mask to call the generic DMA API, dma_set_mask. pci_set_dma_mask (in drivers/pci/pci.c) does the same things that dma_set_mask does on all the architectures that use pci_set_dma_mask; calls dma_supprted and sets dev->dma_mask. So we safely change pci_set_dma_mask to simply call dma_set_mask. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: David S. Miller Cc: Jesse Barnes Acked-by: Benjamin Herrenschmidt Cc: Russell King Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c186caca3dbe7f44da624cb4f9d78e1b1dfb13b8 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:37 2010 -0800 dma-mapping: alpha: use include/linux/pci-dma-compat.h This converts Alpha to use include/linux/pci-dma-compat.h. Alpha is the only architecutre that implements the PCI DMA API in the own way. That makes it difficult to implement the generic DMA API via the PCI bus specific DMA API. The generic DMA API calls the PCI DMA API implementation in arch/alpha/kernel/pci_iommu.c on non Jensen systems. It calls the DMA API in arch/alpha/kernel/pci-noop.c on Jensen systems. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Cc: Jesse Barnes Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 349004294c365cb99a0ee84149286d6f29b1e6b9 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:35 2010 -0800 dma-mapping: sparc: unify 32bit and 64bit dma_set_mask This patchset transforms the PCI DMA API into the generic device model. It's one of the reasons why we introduced the generic DMA API long ago; driver writers are always able to use the generic DMA API with any bus instead of using bus specific DMA APIs such as pci_map_single, sbus_map_single, etc (only two bus specific APIs exist now; pci and ssb). Some of the PCI DMA API are already implented on the top of the generic DMA API (include/asm-generic/pci-dma-compat.h). But there are some exceptions. This patchset finishes the transformation. This patch: sparc has two dma_set_mask implementations for 32bit and 64bit. They are same except for the error returned value. We can safely unify them since the error returned value doesn't matter as long as it is negative (as DMA-API.txt describes). This patch also changes dma_set_mask not to call pci_set_dma_mask. Instead, dma_set_mask does the same thing that pci_set_dma_mask does. This change enables ut to change pci_set_dma_mask to call dma_set_mask; we can implement pci_set_dma_mask as pci-dma-compat.h does. Signed-off-by: FUJITA Tomonori Acked-by: David Miller Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Cc: James Bottomley Cc: Jesse Barnes Cc: Benjamin Herrenschmidt Cc: Russell King Cc: Greg KH Cc: Kay Sievers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06db881b4f1b5fb8fff563423f76b7361de8281a Author: FUJITA Tomonori Date: Wed Mar 10 15:23:33 2010 -0800 dma-mapping: mn10300: remove the obsolete and unnecessary DMA API comments pci_dma_sync_single was obsoleted long ago. All the comments are generic, not architecture specific, simply describes some of the DMA-API (and the same comments are in other files). Documentation/DMA-API.txt have more detailed descriptions. This removes the above obsolete and unnecessary DMA API comments. Let's describe the DMA API in only Documentation/DMA-API.txt. Signed-off-by: FUJITA Tomonori Cc: David Howells Cc: Koichi Yasutake Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b4f767af73d50ab9ce3a92f254eb290f5e5507c Author: FUJITA Tomonori Date: Wed Mar 10 15:23:32 2010 -0800 dma-mapping: blackfin: remove the obsolete and unnecessary DMA API comments pci_dma_sync_single was obsoleted long ago. All the comments are generic, not architecture specific, simply describes some of the DMA-API (and the same comments are in other files). Documentation/DMA-API.txt have more detailed descriptions. This removes the above obsolete and unnecessary DMA API comments. Let's describe the DMA API in only Documentation/DMA-API.txt. Signed-off-by: FUJITA Tomonori Cc: Mike Frysinger Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 027491f4b2ff15fe5cc36c900cb2d1fdb35cefdd Author: FUJITA Tomonori Date: Wed Mar 10 15:23:32 2010 -0800 dma-mapping: frv: remove the obsolete and unnecessary DMA API comments pci_dma_sync_single was obsoleted long ago. All the comments are generic, not architecture specific, simply describes some of the DMA-API (and frv has the same comments in three files). Documentation/DMA-API.txt have more detailed descriptions. This removes the above obsolete and unnecessary DMA API comments. Let's describe the DMA API in only Documentation/DMA-API.txt. Signed-off-by: FUJITA Tomonori Cc: David Howells Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0acedc124aca35f5cce9d4ee288dc372bf517e09 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:31 2010 -0800 dma-mapping.h: add the dma_unmap state API Adds the following macros: DECLARE_DMA_UNMAP_ADDR(ADDR_NAME) DECLARE_DMA_UNMAP_LEN(LEN_NAME) dma_unmap_addr(PTR, ADDR_NAME) dma_unmap_addr_set(PTR, ADDR_NAME, VAL) dma_unmap_len(PTR, LEN_NAME) dma_unmap_len_set(PTR, LEN_NAME, VAL) The API corresponds to the pci_unmap state API. We'll move to this new generic API from the PCI specific API in the long term. As include/asm-generic/pci-dma-compat.h does, the pci_unmap API simply calls the new generic API for some time. Signed-off-by: FUJITA Tomonori Cc: James Bottomley Cc: David S. Miller Cc: Jesse Barnes Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f41b177157718abe9a93868bb76e47d4a6f3681d Author: FUJITA Tomonori Date: Wed Mar 10 15:23:30 2010 -0800 pci-dma: add linux/pci-dma.h to linux/pci.h All the architectures properly set NEED_DMA_MAP_STATE now so we can safely add linux/pci-dma.h to linux/pci.h and remove the linux/pci-dma.h inclusion in arch's asm/pci.h Signed-off-by: FUJITA Tomonori Acked-by: Arnd Bergmann Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7e67ac1f329fa28b6a411335787c786de618cba Author: FUJITA Tomonori Date: Wed Mar 10 15:23:29 2010 -0800 pci-dma: cris: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Acked-by: Mikael Starvik Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 479ea1e90c2b052de793a80ecc5eceab480f44ff Author: FUJITA Tomonori Date: Wed Mar 10 15:23:28 2010 -0800 pci-dma: xtensa: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Cc: Chris Zankel Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d15b51be6f3a04762522c8ee9ac6a3a02752c0ed Author: FUJITA Tomonori Date: Wed Mar 10 15:23:28 2010 -0800 pci-dma: sparc: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Acked-by: David S. Miller Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cabbb6277286adf973fbb30aca9b194922a316e Author: FUJITA Tomonori Date: Wed Mar 10 15:23:27 2010 -0800 pci-dma: sh: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Acked-by: Paul Mundt Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af407c6db16aa9ca63559076dbe620220a822580 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:27 2010 -0800 pci-dma: powerpc: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Cc: Benjamin Herrenschmidt Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74a0bd66a3f78cb993144aaf336ce115017a0b5c Author: FUJITA Tomonori Date: Wed Mar 10 15:23:26 2010 -0800 pci-dma: parisc: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Acked-by: Kyle McMartin Cc: Helge Deller Cc: James Bottomley Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1e02b329d64353e67af070516a9bd14caff8bb0 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:25 2010 -0800 pci-dma: mips: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Cc: Ralf Baechle Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66ed5ef8b44374def8461a0a05d4afc34d4ad684 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:25 2010 -0800 pci-dma: ia64: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Cc: Tony Luck Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 272ecbe5919d057388bbbea751fad5471aaf3f02 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:24 2010 -0800 pci-dma: frv: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Acked-by: David Howells Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccd7ab7f7efb4cb94b4a000ba220a0aeefe9bc11 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:23 2010 -0800 pci-dma: arm: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Acked-by: Russell King Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08d925badd63a4e335905066152d96b83266987c Author: FUJITA Tomonori Date: Wed Mar 10 15:23:23 2010 -0800 pci-dma: alpha: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Acked-by: Matt Turner Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bc4e4590de89c2dfcfb1000344cd072574c9ad4 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:22 2010 -0800 pci-dma: x86: use include/linux/pci-dma.h Signed-off-by: FUJITA Tomonori Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5637f2df8d56b64697c1ee5c96cf0d6b650b30cb Author: FUJITA Tomonori Date: Wed Mar 10 15:23:21 2010 -0800 pci-dma: add include/linux/pci-dma.h This patch adds include/linux/pci-dma.h that defines the pci_unmap state API: DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) DECLARE_PCI_UNMAP_LEN(LEN_NAME) pci_unmap_addr(PTR, ADDR_NAME) pci_unmap_addr_set(PTR, ADDR_NAME, VAL) pci_unmap_len(PTR, LEN_NAME) pci_unmap_len_set(PTR, LEN_NAME, VAL) This enables us to remove lots of the duplication in architecture implementations since there are only two ways to define the API. If architectures define CONFIG_NEED_DMA_MAP_STATE, they get the real definition of pci_unmap state API. If not, they get the noop definition. In the long term, it's better to replace the API with the generic device model API such as DECLARE_DMA_UNMAP_ADDR. We can map the API to the generic one (like dma-mapping-compat.h does). This patch also makes the migration process easier. We can remove this file after the migration. It might be simpler to add the API to include/linux/pci.h but looks it's already too large. We'll remove pci-dma.h after finishing moving to the generic device model. So I put the API to a separate file. Signed-off-by: FUJITA Tomonori Cc: Ingo Molnar Cc: Thomas Gleixner Cc: "H. Peter Anvin" Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Matt Turner Acked-by: Russell King Acked-by: David Howells Cc: Tony Luck Cc: Ralf Baechle Cc: Kyle McMartin Cc: Helge Deller Cc: James Bottomley Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: David S. Miller Cc: Chris Zankel Acked-by: Arnd Bergmann Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 771cb3ecfb4d2858a7583be83caf27726f6c3002 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:19 2010 -0800 um: remove dma_sync_single_range dma_sync_single_for_cpu/for_device supports a partial sync so there is no point to have dma_sync_single_range (also dma_sync_single was obsoleted long ago, replaced with dma_sync_single_for_cpu/for_device). There is no user of dma_sync_single_range() in mainline and only Alpha architecture supports dma_sync_single_range(). So it's unlikely that someone out of the tree uses it. Signed-off-by: FUJITA Tomonori Cc: Jeff Dike Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d2efd0800ee7a7c71ae8748d759bb5eb4b71839 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:19 2010 -0800 alpha: remove dma_sync_single_range dma_sync_single_for_cpu/for_device supports a partial sync so there is no point to have dma_sync_single_range (also dma_sync_single was obsoleted long ago, replaced with dma_sync_single_for_cpu/for_device). There is no user of dma_sync_single_range() in mainline and only Alpha architecture supports dma_sync_single_range(). So it's unlikely that someone out of the tree uses it. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Acked-by: Matt Turner Acked-by: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8127bfc5645db0e050468e0ff971b4081f73ddcf Author: FUJITA Tomonori Date: Wed Mar 10 15:23:18 2010 -0800 DMA-API.txt: remove dma_sync_single_range description dma_sync_single_for_cpu/for_device supports a partial sync so there is no point to have dma_sync_single_range (also dma_sync_single was obsoleted long ago, replaced with dma_sync_single_for_cpu/for_device). There is no user of dma_sync_single_range() in mainline and only Alpha architecture supports dma_sync_single_range(). So it's unlikely that someone out of the tree uses it. Signed-off-by: FUJITA Tomonori Acked-by: David Miller Acked-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9705ef7ec8c67a62474291bb4b235927bdf702db Author: FUJITA Tomonori Date: Wed Mar 10 15:23:17 2010 -0800 DMA-API.txt: add dma_sync_single/sg API description This adds the description of the following eight function: dma_sync_single_for_cpu pci_dma_sync_single_for_cpu dma_sync_single_for_device pci_dma_sync_single_for_device dma_sync_sg_for_cpu pci_dma_sync_sg_for_cpu dma_sync_sg_for_device pci_dma_sync_sg_for_device It was unclear that the API permits a partial sync (some network drivers already do though). I made it clear that the sync_single API can do a partial sync but the sync_sg API can't. We could do a partial sync with the sync_sg API too, however, it's difficult for driver writers to correctly use the sync_sg API for a partial sync since the scatterlists passed in to the mapping API can't be modified. It's unlikely that driver writers want to do a partial sync with the sync_sg API (because the sync_sg API are usually used for block drivers). So I think that it's better to forbid a partial sync with the sync_sg API. Signed-off-by: FUJITA Tomonori Acked-by: David Miller Acked-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 039956e9199b71ea673954e025f52f319110ca58 Author: FUJITA Tomonori Date: Wed Mar 10 15:23:15 2010 -0800 Documentation/DMA-API.txt: remove deprecated function descriptions dma_sync_single(), pci_dma_sync_single(), dma_sync_sg(), and pci_dma_sync_sg() are deprecated. We should not advertise them. Signed-off-by: FUJITA Tomonori Acked-by: David S. Miller Acked-by: Joerg Roedel Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8004fd2ad6042ae24d3913cf5089909781db3a25 Author: Peter Tyser Date: Wed Mar 10 15:23:15 2010 -0800 edac: e752x: add dram scrubbing support Add support to scrub DRAM using the e752x integrated memory scrubbing engine. The e7320/7520/e7525 chipsets support scrubbing at one rate while the i3100 chipset supports a normal and fast rate. A similar patch was originally sent back in 2008: http://sourceforge.net/mailarchive/forum.php?thread_name=1204835866.25206.70.camel@localhost.localdomain&forum_name=bluesmoke-devel This version has the following updates: - Use 16-bit PCI config cycles to access MCHSCRB register e7320/7520/e7525 docs say register is 16bits wide, i3100 says 8. I tested 16bits on the i3100 to be safe. - Recalcuate and round actual scrub rates The changes have been tested on an i3100-based board. Signed-off-by: Peter Tyser Signed-off-by: Doug Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8de5c1a165be5624a1003ce17877299e04b2afd6 Author: Konstantin Olifer Date: Wed Mar 10 15:23:14 2010 -0800 edac: e752x fsb ecc FSB parity is only supported on the Xeon processor. Previously it was incorrectly enabled for the Celeron as well. Signed-off-by: Konstantin Olifer Signed-off-by: Doug Thompson Cc: Peter Tyser Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 66ed3f7516da31205aed9b47a13348c0d982c4f5 Author: H Hartley Sweeten Date: Wed Mar 10 15:23:13 2010 -0800 edac: mpc85xx use resource_size instead of raw math Use resource_size() instead of arithmetic. Signed-off-by: H Hartley Sweeten Signed-off-by: Doug Thompson Acked-by: Dave Jiang Cc: Peter Tyser Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcca7c3d003ce61ed71b412f645cfbe7bd8e882e Author: Peter Tyser Date: Wed Mar 10 15:23:12 2010 -0800 edac: mpc85xx improve SDRAM error reporting Add the ability to detect the specific data line or ECC line which failed when printing out SDRAM single-bit errors. An example of a single-bit SDRAM ECC error is below: EDAC MPC85xx MC1: Err Detect Register: 0x80000004 EDAC MPC85xx MC1: Faulty data bit: 59 EDAC MPC85xx MC1: Expected Data / ECC: 0x7f80d000_409effa0 / 0x6d EDAC MPC85xx MC1: Captured Data / ECC: 0x7780d000_409effa0 / 0x6d EDAC MPC85xx MC1: Err addr: 0x00031ca0 EDAC MPC85xx MC1: PFN: 0x00000031 Knowning which specific data or ECC line caused an error can be useful in tracking down hardware issues such as improperly terminated signals, loose pins, etc. Note that this feature is only currently enabled for 64-bit wide data buses, 32-bit wide bus support should be added. I don't have any 32-bit wide systems to test on. If someone has one and is willing to give this patch a shot with the check for a 64-bit data bus removed it would be much appreciated and I can re-submit with both 32 and 64 bit buses supported. Signed-off-by: Peter Tyser Signed-off-by: Doug Thompson Cc: Kumar Gala Cc: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 21768639be419d00275ac4e58b863361d0c24ee4 Author: Peter Tyser Date: Wed Mar 10 15:23:11 2010 -0800 edac: mpc85xx mask ecc syndrome correctly With a 64-bit wide data bus only the lowest 8-bits of the ECC syndrome are relevant. With a 32-bit wide data bus only the lowest 16-bits are relevant on most architectures. Without this change, the ECC syndrome displayed can be mildly confusing, eg: EDAC MPC85xx MC1: syndrome: 0x25252525 When in reality the ECC syndrome is 0x25. A variety of Freescale manuals say a variety of different things about how to decode the CAPTURE_ECC (syndrome) register. I don't have a system with a 32-bit bus to test on, but I believe the change is correct. It'd be good to get an ACK from someone at Freescale about this change though. Signed-off-by: Peter Tyser Signed-off-by: Doug Thompson Cc: Kumar Gala Cc: Dave Jiang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8467005da3ef6104b89a4cc5e9c9d9445b75565f Author: Alexey Dobriyan Date: Wed Mar 10 15:23:10 2010 -0800 nsproxy: remove INIT_NSPROXY() Remove INIT_NSPROXY(), use C99 initializer. Remove INIT_IPC_NS(), INIT_NET_NS() while I'm at it. Note: headers trim will be done later, now it's quite pointless because results will be invalidated by merge window. Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13aa9a6b0f2371d2ce0de57c2ede62ab7a787157 Author: Oleg Nesterov Date: Wed Mar 10 15:23:09 2010 -0800 pid_ns: zap_pid_ns_processes: use SEND_SIG_NOINFO instead of force_sig() zap_pid_ns_processes() uses force_sig(SIGKILL) to ensure SIGKILL will be delivered to sub-namespace inits as well. This is correct, but we are going to change force_sig_info() semantics. See http://bugzilla.kernel.org/show_bug.cgi?id=15395#c31 We can use send_sig_info(SEND_SIG_NOINFO) instead, since 614c517d7c00af1b26ded20646b329397d6f51a1 ("signals: SEND_SIG_NOINFO should be considered as SI_FROMUSER()") SEND_SIG_NOINFO means "from user" and therefore send_signal() will get the correct from_ancestor_ns = T flag. Signed-off-by: Oleg Nesterov Acked-by: Serge Hallyn Acked-by: Linus Torvalds Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6edb6764409392836b44a61b06d94954efd6200f Author: Corey Minyard Date: Wed Mar 10 15:23:07 2010 -0800 ipmi: remove ipmi_smi.h self-include There is no need for linux/ipmi_smi.h to include itself. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f95d51308a72288d877c3c8dc4597c9a93f7344 Author: Bela Lubkin Date: Wed Mar 10 15:23:07 2010 -0800 ipmi: fix slave_addrs setting to actually work Actually use the slave_addrs module parameter if it is specified, and make things consistent about passing zero in for the slave address for the default. Signed-off-by: Bela Lubkin Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae74e823cb7d4cd476f623fce9a38f625f6c09a8 Author: Martin Wilck Date: Wed Mar 10 15:23:06 2010 -0800 ipmi: add parameter to limit CPU usage in kipmid In some cases kipmid can use a lot of CPU. This adds a way to tune the CPU used by kipmid to help in those cases. By setting kipmid_max_busy_us to a value between 100 and 500, it is possible to bring down kipmid CPU load to practically 0 without loosing too much ipmi throughput performance. Not setting the value, or setting the value to zero, operation is unaffected. Signed-off-by: Martin Wilck Signed-off-by: Corey Minyard Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1eb1332b8f07e937add24c6fd2ac40b8737a2f4 Author: Jiri Slaby Date: Wed Mar 10 15:23:05 2010 -0800 ipc: use rlimit helpers Make sure compiler won't do weird things with limits. E.g. fetching them twice may return 2 different values after writable limits are implemented. I.e. either use rlimit helpers added in 3e10e716abf3c71bdb5d86b8f507f9e72236c9cd ("resource: add helpers for fetching rlimits") or ACCESS_ONCE if not applicable. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6db2ade10852b7c665b361239c3411abaa880b5 Author: Veaceslav Falico Date: Wed Mar 10 15:23:04 2010 -0800 copy_signal() cleanup: clean tty_audit_fork() Remove unneeded initialization in tty_audit_fork(). It is called only via copy_signal() and is useless after the kmem_cache_zalloc() was used. Signed-off-by: Veaceslav Falico Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93c59907c6f247d09239135caecf294a106a2ae0 Author: Veaceslav Falico Date: Wed Mar 10 15:23:03 2010 -0800 copy_signal() cleanup: clean thread_group_cputime_init() Remove unneeded initializations in thread_group_cputime_init() and in posix_cpu_timers_init_group(). They are useless after kmem_cache_zalloc() was used in copy_signal(). Signed-off-by: Veaceslav Falico Acked-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4dd66e69d472f0ba5355a2529364d0db9a18a02b Author: Veaceslav Falico Date: Wed Mar 10 15:23:02 2010 -0800 copy_signal() cleanup: kill taskstats_tgid_init() and acct_init_pacct() Kill unused functions taskstats_tgid_init() and acct_init_pacct() because we don't use them anywhere after using kmem_cache_zalloc() in copy_signal(). Signed-off-by: Veaceslav Falico Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a56704ef6b0c5796c9ff38cc78aa232dfb9644d7 Author: Veaceslav Falico Date: Wed Mar 10 15:23:01 2010 -0800 copy_signal() cleanup: use zalloc and remove initializations Use kmem_cache_zalloc() on signal creation and remove unneeded initialization lines in copy_signal(). Signed-off-by: Veaceslav Falico Acked-by: Oleg Nesterov Cc: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e34112e3966fc466ced2698e6c196bb50b1ee20e Author: Christoph Hellwig Date: Wed Mar 10 15:23:01 2010 -0800 m32r: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't, which is consistent with all architectures using the modern ptrace code. The old code only disables the breakpoints on PTRACE_KILL, while after this patch this also happens for PTRACE_CONT and PTRACE_SYSCALL which matches the behaviour of the other architetures. I think this is a bugfixes, but please double verify this is correct. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 290ba3aef58ff21c977585ff6b687e457f80bf54 Author: Christoph Hellwig Date: Wed Mar 10 15:23:00 2010 -0800 cris arch-v32: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. The way breakpoints are disabled is entirely inconsistent currently, I tried to make some sense of it, but I suspect all of the content of ptrace_disable should be moved into user_disable_single_step, this defintively needs some revisting as the current patch changes behaviour in not quite designed ways. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8313809ef3bfa8fa366d416add2150787235f192 Author: Christoph Hellwig Date: Wed Mar 10 15:22:58 2010 -0800 cris arch-v10: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT and PTRACE_KILL. This also makes PTRACE_SINGLESTEP return -EIO while it previously succeeded despite not actually causing any kind of single stepping. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Cc: Mikael Starvik Cc: Jesper Nilsson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d75ca10225be4c7509026f9b61c740b22e734e4 Author: Christoph Hellwig Date: Wed Mar 10 15:22:57 2010 -0800 xtensa: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Cc: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bd095083558928cc3b36b826422d69bcd743dca Author: Christoph Hellwig Date: Wed Mar 10 15:22:56 2010 -0800 um: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. XXX: I'm not sure arch_has_single_step() is placed in the exactly correct location, please verify in which of the ptrace headers it should really be. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55436c91652b45be576b91ec96a8d65f6b7447fa Author: Christoph Hellwig Date: Wed Mar 10 15:22:55 2010 -0800 mips: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT and PTRACE_KILL. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa1ac57a317f927b8fb901e6270fc41fdaae8e1c Author: Christoph Hellwig Date: Wed Mar 10 15:22:54 2010 -0800 microblaze: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT and PTRACE_KILL. This also makes PTRACE_SINGLESTEP return -EIO while it previously succeeded despite not actually causing any kind of single stepping. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Acked-by: Michal Simek Cc: John Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a0fde8b3b16fcfb2bb4a136c53918f1ca9b35cc Author: Christoph Hellwig Date: Wed Mar 10 15:22:53 2010 -0800 m68knommu: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. m68knommu already defines the nessecary user_enable_single_step and user_disable_single_step functions for this. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Acked-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 857fb252a1858ccded2e31ee98c6c0ab79c07999 Author: Christoph Hellwig Date: Wed Mar 10 15:22:52 2010 -0800 h8300: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d8393171b1f6c30a889fd7cb16fc193f689923c Author: Christoph Hellwig Date: Wed Mar 10 15:22:51 2010 -0800 avr32: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Currently avr32 doesn't implement any code to disable single stepping when one of the non-syscall requests is called which seems wrong, but I've left it as-is for now. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Acked-by: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 440e6ca79aebdc274ce4c625a6f42c8bf3c7bc91 Author: Christoph Hellwig Date: Wed Mar 10 15:22:50 2010 -0800 arm: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't and the single stepping disable only happens if the tracee process isn't a zombie yet, which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd341abba65e3d93fc24c132e4c0278d18b6d2fc Author: Christoph Hellwig Date: Wed Mar 10 15:22:47 2010 -0800 alpha: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't, which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Acked-by: Matt Turner Cc: Ivan Kokshaysky Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dacbe41f776db0a5a9aee1e41594f405c95778a5 Author: Christoph Hellwig Date: Wed Mar 10 15:22:46 2010 -0800 ptrace: move user_enable_single_step & co prototypes to linux/ptrace.h While in theory user_enable_single_step/user_disable_single_step/ user_enable_blockstep could also be provided as an inline or macro there's no good reason to do so, and having the prototype in one places keeps code size and confusion down. Roland said: The original thought there was that user_enable_single_step() et al might well be only an instruction or three on a sane machine (as if we have any of those!), and since there is only one call site inlining would be beneficial. But I agree that there is no strong reason to care about inlining it. As to the arch changes, there is only one thought I'd add to the record. It was always my thinking that for an arch where PTRACE_SINGLESTEP does text-modifying breakpoint insertion, user_enable_single_step() should not be provided. That is, arch_has_single_step()=>true means that there is an arch facility with "pure" semantics that does not have any unexpected side effects. Inserting a breakpoint might do very unexpected strange things in multi-threaded situations. Aside from that, it is a peculiar side effect that user_{enable,disable}_single_step() should cause COW de-sharing of text pages and so forth. For PTRACE_SINGLESTEP, all these peculiarities are the status quo ante for that arch, so having arch_ptrace() itself do those is one thing. But for building other things in the future, it is nicer to have a uniform "pure" semantics that arch-independent code can expect. OTOH, all such arch issues are really up to the arch maintainer. As of today, there is nothing but ptrace using user_enable_single_step() et al so it's a distinction without a practical difference. If/when there are other facilities that use user_enable_single_step() and might care, the affected arch's can revisit the question when someone cares about the quality of the arch support for said new facility. Signed-off-by: Christoph Hellwig Cc: Oleg Nesterov Cc: Roland McGrath Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3c1e01a09d6af2dd7811a066ffcfc5171be2bed Author: Christoph Hellwig Date: Wed Mar 10 15:22:44 2010 -0800 ptrace: use ptrace_request() in the remaining architectures Use ptrace_request() in the three remaining architectures that didn't use it (m68knommu, h8300, microblaze). This means: - ptrace_request now handles PTRACE_{PEEK,POKE}{TEXT,DATA} and PTRACE_DETATCH calls that were previously called directly, or in case of h8300 even open coded. - adds new support for PTRACE_SETOPTIONS/PTRACE_GETEVENTMSG/ PTRACE_GETSIGINFO/PTRACE_SETSIGINFO Signed-off-by: Christoph Hellwig Cc: Geert Uytterhoeven Cc: Yoshinori Sato Cc: Oleg Nesterov Cc: Michal Simek Acked-by: Greg Ungerer Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7baab93f9297da3e42a8cecfbf91d5f22f415500 Author: Miao Xie Date: Wed Mar 10 15:22:42 2010 -0800 nodemask: fix the declaration of NODEMASK_ALLOC() we can't declarate two variable at the same scope by NODEMASK_ALLOC(). This patch fixes it. Signed-off-by: Miao Xie Cc: David Rientjes Cc: Lee Schermerhorn Cc: Nick Piggin Cc: Paul Menage Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a38374b8bd482b1e7c25f830772e9b73337ec2ed Author: KAMEZAWA Hiroyuki Date: Wed Mar 10 15:22:40 2010 -0800 memcg: update maintainer list Nishimura-san have been working for memcg very good. His review and tests give us much improvements and account migraiton which he is now challenging is really important. He is a stakeholder. Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Acked-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 867578cbccb0893cc14fc29c670f7185809c90d6 Author: KAMEZAWA Hiroyuki Date: Wed Mar 10 15:22:39 2010 -0800 memcg: fix oom kill behavior In current page-fault code, handle_mm_fault() -> ... -> mem_cgroup_charge() -> map page or handle error. -> check return code. If page fault's return code is VM_FAULT_OOM, page_fault_out_of_memory() is called. But if it's caused by memcg, OOM should have been already invoked. Then, I added a patch: a636b327f731143ccc544b966cfd8de6cb6d72c6. That patch records last_oom_jiffies for memcg's sub-hierarchy and prevents page_fault_out_of_memory from being invoked in near future. But Nishimura-san reported that check by jiffies is not enough when the system is terribly heavy. This patch changes memcg's oom logic as. * If memcg causes OOM-kill, continue to retry. * remove jiffies check which is used now. * add memcg-oom-lock which works like perzone oom lock. * If current is killed(as a process), bypass charge. Something more sophisticated can be added but this pactch does fundamental things. TODO: - add oom notifier - add permemcg disable-oom-kill flag and freezer at oom. - more chances for wake up oom waiter (when changing memory limit etc..) Reviewed-by: Daisuke Nishimura Tested-by: Daisuke Nishimura Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: David Rientjes Signed-off-by: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0263c12c12ccc90edc9d856fa839f8936183e6d1 Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:37 2010 -0800 memcg: fix typos in memcg_test.txt Signed-off-by: Kirill A. Shutemov Reviewed-by: Balbir Singh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e111452d457ceedec8a57fc3d45b1312e736fba Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:36 2010 -0800 memcg: update memcg_test.txt to describe memory thresholds Decription of sanity check for memory thresholds. Signed-off-by: Kirill A. Shutemov Acked-by: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Dan Malek Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d8fd973a41942bc760dd21581e24117bc1dd063 Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:35 2010 -0800 cgroups: add simple listener of cgroup events to documentation An example of cgroup notification API usage. Signed-off-by: Kirill A. Shutemov Reviewed-by: KAMEZAWA Hiroyuki Cc: Paul Menage Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Dan Malek Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0a4db548edcce067c1201ef25cf2bc29f32dca4 Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:34 2010 -0800 cgroups: remove events before destroying subsystem state objects Events should be removed after rmdir of cgroup directory, but before destroying subsystem state objects. Let's take reference to cgroup directory dentry to do that. Signed-off-by: Kirill A. Shutemov Acked-by: KAMEZAWA Hiroyuki Cc: Paul Menage Acked-by: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Dan Malek Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ab78683c17d739c2a2077141dcf81a02b7fb57e Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:34 2010 -0800 cgroups: fix race between userspace and kernelspace Notify userspace about cgroup removing only after rmdir of cgroup directory to avoid race between userspace and kernelspace. eventfd are used to notify about two types of event: - control file-specific, like crossing memory threshold; - cgroup removing. To understand what really happen, userspace can check if the cgroup still exists. To avoid race beetween userspace and kernelspace we have to notify userspace about cgroup removing only after rmdir of cgroup directory. Signed-off-by: Kirill A. Shutemov Reviewed-by: KAMEZAWA Hiroyuki Cc: Paul Menage Acked-by: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Dan Malek Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit daaf1e68874c078a15ae6ae827751839c4d81739 Author: KAMEZAWA Hiroyuki Date: Wed Mar 10 15:22:32 2010 -0800 memcg: handle panic_on_oom=always case Presently, if panic_on_oom=2, the whole system panics even if the oom happend in some special situation (as cpuset, mempolicy....). Then, panic_on_oom=2 means painc_on_oom_always. Now, memcg doesn't check panic_on_oom flag. This patch adds a check. BTW, how it's useful ? kdump+panic_on_oom=2 is the last tool to investigate what happens in oom-ed system. When a task is killed, the sysytem recovers and there will be few hint to know what happnes. In mission critical system, oom should never happen. Then, panic_on_oom=2+kdump is useful to avoid next OOM by knowing precise information via snapshot. TODO: - For memcg, it's for isolate system's memory usage, oom-notiifer and freeze_at_oom (or rest_at_oom) should be implemented. Then, management daemon can do similar jobs (as kdump) or taking snapshot per cgroup. Signed-off-by: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: David Rientjes Cc: Nick Piggin Reviewed-by: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1080d7a30304d03b1d9fd530aacd8aece2d702a2 Author: Daisuke Nishimura Date: Wed Mar 10 15:22:31 2010 -0800 memcg: update memcg_test.txt Update memcg_test.txt to describe how to test the move-charge feature. Signed-off-by: Daisuke Nishimura Acked-by: KAMEZAWA Hiroyuki Acked-by: Balbir Singh Cc: "Kirill A. Shutemov" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2265e6fa3f220ea5fd37522d13390e9675adcf7 Author: KAMEZAWA Hiroyuki Date: Wed Mar 10 15:22:31 2010 -0800 memcg : share event counter rather than duplicate Memcg has 2 eventcountes which counts "the same" event. Just usages are different from each other. This patch tries to reduce event counter. Now logic uses "only increment, no reset" counter and masks for each checks. Softlimit chesk was done per 1000 evetns. So, the similar check can be done by !(new_counter & 0x3ff). Threshold check was done per 100 events. So, the similar check can be done by (!new_counter & 0x7f) ALL event checks are done right after EVENT percpu counter is updated. Signed-off-by: KAMEZAWA Hiroyuki Cc: Kirill A. Shutemov Cc: Balbir Singh Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 430e48631e72aeab74d844c57b441f98a2e36eee Author: KAMEZAWA Hiroyuki Date: Wed Mar 10 15:22:30 2010 -0800 memcg: update threshold and softlimit at commit Presently, move_task does "batched" precharge. Because res_counter or css's refcnt are not-scalable jobs for memcg, try_charge_().. tend to be done in batched manner if allowed. Now, softlimit and threshold check their event counter in try_charge, but the charge is not a per-page event. And event counter is not updated at charge(). Moreover, precharge doesn't pass "page" to try_charge() and softlimit tree will be never updated until uncharge() causes an event." So the best place to check the event counter is commit_charge(). This is per-page event by its nature. This patch move checks to there. Signed-off-by: KAMEZAWA Hiroyuki Cc: Kirill A. Shutemov Cc: Balbir Singh Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c62b1a3b31b5e27a6c5c2e91cc5ce05fdb6344d0 Author: KAMEZAWA Hiroyuki Date: Wed Mar 10 15:22:29 2010 -0800 memcg: use generic percpu instead of private implementation When per-cpu counter for memcg was implemneted, dynamic percpu allocator was not very good. But now, we have good one and useful macros. This patch replaces memcg's private percpu counter implementation with generic dynamic percpu allocator. The benefits are - We can remove private implementation. - The counters will be NUMA-aware. (Current one is not...) - This patch makes sizeof struct mem_cgroup smaller. Then, struct mem_cgroup may be fit in page size on small config. - About basic performance aspects, see below. [Before] # size mm/memcontrol.o text data bss dec hex filename 24373 2528 4132 31033 7939 mm/memcontrol.o [page-fault-throuput test on 8cpu/SMP in root cgroup] # /root/bin/perf stat -a -e page-faults,cache-misses --repeat 5 ./multi-fault-fork 8 Performance counter stats for './multi-fault-fork 8' (5 runs): 45878618 page-faults ( +- 0.110% ) 602635826 cache-misses ( +- 0.105% ) 61.005373262 seconds time elapsed ( +- 0.004% ) Then cache-miss/page fault = 13.14 [After] #size mm/memcontrol.o text data bss dec hex filename 23913 2528 4132 30573 776d mm/memcontrol.o # /root/bin/perf stat -a -e page-faults,cache-misses --repeat 5 ./multi-fault-fork 8 Performance counter stats for './multi-fault-fork 8' (5 runs): 48179400 page-faults ( +- 0.271% ) 588628407 cache-misses ( +- 0.136% ) 61.004615021 seconds time elapsed ( +- 0.004% ) Then cache-miss/page fault = 12.22 Text size is reduced. This performance improvement is not big and will be invisible in real world applications. But this result shows this patch has some good effect even on (small) SMP. Here is a test program I used. 1. fork() processes on each cpus. 2. do page fault repeatedly on each process. 3. after 60secs, kill all childredn and exit. (3 is necessary for getting stable data, this is improvement from previous one.) #define _GNU_SOURCE #include #include #include #include #include #include #include #include /* * For avoiding contention in page table lock, FAULT area is * sparse. If FAULT_LENGTH is too large for your cpus, decrease it. */ #define FAULT_LENGTH (2 * 1024 * 1024) #define PAGE_SIZE 4096 #define MAXNUM (128) void alarm_handler(int sig) { } void *worker(int cpu, int ppid) { void *start, *end; char *c; cpu_set_t set; int i; CPU_ZERO(&set); CPU_SET(cpu, &set); sched_setaffinity(0, sizeof(set), &set); start = mmap(NULL, FAULT_LENGTH, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, 0, 0); if (start == MAP_FAILED) { perror("mmap"); exit(1); } end = start + FAULT_LENGTH; pause(); //fprintf(stderr, "run%d", cpu); while (1) { for (c = (char*)start; (void *)c < end; c += PAGE_SIZE) *c = 0; madvise(start, FAULT_LENGTH, MADV_DONTNEED); } return NULL; } int main(int argc, char *argv[]) { int num, i, ret, pid, status; int pids[MAXNUM]; if (argc < 2) return 0; setpgid(0, 0); signal(SIGALRM, alarm_handler); num = atoi(argv[1]); pid = getpid(); for (i = 0; i < num; ++i) { ret = fork(); if (!ret) { worker(i, pid); exit(0); } pids[i] = ret; } sleep(1); kill(-pid, SIGALRM); sleep(60); for (i = 0; i < num; i++) kill(pids[i], SIGKILL); for (i = 0; i < num; i++) waitpid(pids[i], &status, 0); return 0; } Signed-off-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Cc: Balbir Singh Cc: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a6135b64fda39d931a79090f4da37f1c6da4a8c Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:25 2010 -0800 memcg: typo in comment to mem_cgroup_print_oom_info() s/mem_cgroup_print_mem_info/mem_cgroup_print_oom_info/ Signed-off-by: Kirill A. Shutemov Cc: Balbir Singh Cc: Pavel Emelyanov Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e72b6347c9459e6cff5634ddc815485bae6985f Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:24 2010 -0800 memcg: implement memory thresholds It allows to register multiple memory and memsw thresholds and gets notifications when it crosses. To register a threshold application need: - create an eventfd; - open memory.usage_in_bytes or memory.memsw.usage_in_bytes; - write string like " " to cgroup.event_control. Application will be notified through eventfd when memory usage crosses threshold in any direction. It's applicable for root and non-root cgroup. It uses stats to track memory usage, simmilar to soft limits. It checks if we need to send event to userspace on every 100 page in/out. I guess it's good compromise between performance and accuracy of thresholds. [akpm@linux-foundation.org: coding-style fixes] [nishimura@mxp.nes.nec.co.jp: fix documentation merge issue] Signed-off-by: Kirill A. Shutemov Cc: Li Zefan Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Dan Malek Cc: Vladislav Buzov Cc: Daisuke Nishimura Cc: Alexander Shishkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 378ce724bc2a0ef1243e11c09d58a70bb6be007a Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:23 2010 -0800 memcg: rework usage of stats by soft limit Instead of incrementing counter on each page in/out and comparing it with constant, we set counter to constant, decrement counter on each page in/out and compare it with zero. We want to make comparing as fast as possible. On many RISC systems (probably not only RISC) comparing with zero is more effective than comparing with a constant, since not every constant can be immediate operand for compare instruction. Also, I've renamed MEM_CGROUP_STAT_EVENTS to MEM_CGROUP_STAT_SOFTLIMIT, since really it's not a generic counter. Signed-off-by: Kirill A. Shutemov Cc: Li Zefan Cc: KAMEZAWA Hiroyuki Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Dan Malek Cc: Vladislav Buzov Cc: Daisuke Nishimura Cc: Alexander Shishkin Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 104f39284e830f425085886ef72c49aee6631575 Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:21 2010 -0800 memcg: extract mem_group_usage() from mem_cgroup_read() Helper to get memory or mem+swap usage of the cgroup. Signed-off-by: Kirill A. Shutemov Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Pavel Emelyanov Cc: Dan Malek Cc: Vladislav Buzov Cc: Daisuke Nishimura Cc: Alexander Shishkin Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dea116876eefc9c7ca9c5d74fe665481e499fa3 Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:20 2010 -0800 cgroup: implement eventfd-based generic API for notifications This patchset introduces eventfd-based API for notifications in cgroups and implements memory notifications on top of it. It uses statistics in memory controler to track memory usage. Output of time(1) on building kernel on tmpfs: Root cgroup before changes: make -j2 506.37 user 60.93s system 193% cpu 4:52.77 total Non-root cgroup before changes: make -j2 507.14 user 62.66s system 193% cpu 4:54.74 total Root cgroup after changes (0 thresholds): make -j2 507.13 user 62.20s system 193% cpu 4:53.55 total Non-root cgroup after changes (0 thresholds): make -j2 507.70 user 64.20s system 193% cpu 4:55.70 total Root cgroup after changes (1 thresholds, never crossed): make -j2 506.97 user 62.20s system 193% cpu 4:53.90 total Non-root cgroup after changes (1 thresholds, never crossed): make -j2 507.55 user 64.08s system 193% cpu 4:55.63 total This patch: Introduce the write-only file "cgroup.event_control" in every cgroup. To register new notification handler you need: - create an eventfd; - open a control file to be monitored. Callbacks register_event() and unregister_event() must be defined for the control file; - write " " to cgroup.event_control. Interpretation of args is defined by control file implementation; eventfd will be woken up by control file implementation or when the cgroup is removed. To unregister notification handler just close eventfd. If you need notification functionality for a control file you have to implement callbacks register_event() and unregister_event() in the struct cftype. [kamezawa.hiroyu@jp.fujitsu.com: Kconfig fix] Signed-off-by: Kirill A. Shutemov Reviewed-by: KAMEZAWA Hiroyuki Paul Menage Cc: Li Zefan Cc: Balbir Singh Cc: Pavel Emelyanov Cc: Dan Malek Cc: Vladislav Buzov Cc: Daisuke Nishimura Cc: Alexander Shishkin Cc: Davide Libenzi Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 483c30b514bd3037fa3f19fa42327c94c10f51c8 Author: Daisuke Nishimura Date: Wed Mar 10 15:22:18 2010 -0800 memcg: improve performance in moving swap charge Try to reduce overheads in moving swap charge by: - Adds a new function(__mem_cgroup_put), which takes "count" as a arg and decrement mem->refcnt by "count". - Removed res_counter_uncharge, css_put, and mem_cgroup_put from the path of moving swap account, and consolidate all of them into mem_cgroup_clear_mc. We cannot do that about mc.to->refcnt. These changes reduces the overhead from 1.35sec to 0.9sec to move charges of 1G anonymous memory(including 500MB swap) in my test environment. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 024914477e15ef8b17f271ec47f1bb8a589f0806 Author: Daisuke Nishimura Date: Wed Mar 10 15:22:17 2010 -0800 memcg: move charges of anonymous swap This patch is another core part of this move-charge-at-task-migration feature. It enables moving charges of anonymous swaps. To move the charge of swap, we need to exchange swap_cgroup's record. In current implementation, swap_cgroup's record is protected by: - page lock: if the entry is on swap cache. - swap_lock: if the entry is not on swap cache. This works well in usual swap-in/out activity. But this behavior make the feature of moving swap charge check many conditions to exchange swap_cgroup's record safely. So I changed modification of swap_cgroup's recored(swap_cgroup_record()) to use xchg, and define a new function to cmpxchg swap_cgroup's record. This patch also enables moving charge of non pte_present but not uncharged swap caches, which can be exist on swap-out path, by getting the target pages via find_get_page() as do_mincore() does. [kosaki.motohiro@jp.fujitsu.com: fix ia64 build] [akpm@linux-foundation.org: fix typos] Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Daisuke Nishimura Signed-off-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8033b97c9b5ef063e3f4bf2efe1cd0a22093aaff Author: Daisuke Nishimura Date: Wed Mar 10 15:22:16 2010 -0800 memcg: avoid oom during moving charge This move-charge-at-task-migration feature has extra charges on "to"(pre-charges) and "from"(left-over charges) during moving charge. This means unnecessary oom can happen. This patch tries to avoid such oom. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 854ffa8d104e44111fec96764c0e0cb29223d54c Author: Daisuke Nishimura Date: Wed Mar 10 15:22:15 2010 -0800 memcg: improve performance in moving charge Try to reduce overheads in moving charge by: - Instead of calling res_counter_uncharge() against the old cgroup in __mem_cgroup_move_account() everytime, call res_counter_uncharge() at the end of task migration once. - removed css_get(&to->css) from __mem_cgroup_move_account() because callers should have already called css_get(). And removed css_put(&to->css) too, which was called by callers of move_account on success of move_account. - Instead of calling __mem_cgroup_try_charge(), i.e. res_counter_charge(), repeatedly, call res_counter_charge(PAGE_SIZE * count) in can_attach() if possible. - Instead of calling css_get()/css_put() repeatedly, make use of coalesce __css_get()/__css_put() if possible. These changes reduces the overhead from 1.7sec to 0.6sec to move charges of 1G anonymous memory in my test environment. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ffef5feff4e4240e767d2f1144b1634a41762e3 Author: Daisuke Nishimura Date: Wed Mar 10 15:22:14 2010 -0800 memcg: move charges of anonymous page This patch is the core part of this move-charge-at-task-migration feature. It implements functions to move charges of anonymous pages mapped only by the target task. Implementation: - define struct move_charge_struct and a valuable of it(mc) to remember the count of pre-charges and other information. - At can_attach(), get anon_rss of the target mm, call __mem_cgroup_try_charge() repeatedly and count up mc.precharge. - At attach(), parse the page table, find a target page to be move, and call mem_cgroup_move_account() about the page. - Cancel all precharges if mc.precharge > 0 on failure or at the end of task move. [akpm@linux-foundation.org: a little simplification] Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dc74be032bfcaa2f9d9e4296ff5bbddfa9e2f19 Author: Daisuke Nishimura Date: Wed Mar 10 15:22:13 2010 -0800 memcg: add interface to move charge at task migration In current memcg, charges associated with a task aren't moved to the new cgroup at task migration. Some users feel this behavior to be strange. These patches are for this feature, that is, for charging to the new cgroup and, of course, uncharging from the old cgroup at task migration. This patch adds "memory.move_charge_at_immigrate" file, which is a flag file to determine whether charges should be moved to the new cgroup at task migration or not and what type of charges should be moved. This patch also adds read and write handlers of the file. This patch also adds no-op handlers for this feature. These handlers will be implemented in later patches. And you cannot write any values other than 0 to move_charge_at_immigrate yet. Signed-off-by: Daisuke Nishimura Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Paul Menage Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b70cc5fdb445a6929a01e9c406593265b136c99d Author: Li Zefan Date: Wed Mar 10 15:22:12 2010 -0800 cgroups: clean up cgroup_pidlist_find() a bit Don't call get_pid_ns() before we locate/alloc the ns. Signed-off-by: Li Zefan Cc: Serge Hallyn Acked-by: Paul Menage Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67523c48aa74d5637848edeccf285af1c60bf14a Author: Ben Blum Date: Wed Mar 10 15:22:11 2010 -0800 cgroups: blkio subsystem as module Modify the Block I/O cgroup subsystem to be able to be built as a module. As the CFQ disk scheduler optionally depends on blk-cgroup, config options in block/Kconfig, block/Kconfig.iosched, and block/blk-cgroup.h are enhanced to support the new module dependency. Signed-off-by: Ben Blum Cc: Li Zefan Cc: Paul Menage Cc: "David S. Miller" Cc: KAMEZAWA Hiroyuki Cc: Lai Jiangshan Cc: Vivek Goyal Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ca712ea84728531d36841ca8f98f9e8680bcf4e Author: Kirill A. Shutemov Date: Wed Mar 10 15:22:10 2010 -0800 cgroups: fix CONTENTS in cgroups documentation Add a forgotten item into CONTENTS. Signed-off-by: Kirill A. Shutemov Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf5d5941fda647fe3d2f2d00cf9e0245236a5f08 Author: Ben Blum Date: Wed Mar 10 15:22:09 2010 -0800 cgroups: subsystem module unloading Provides support for unloading modular subsystems. This patch adds a new function cgroup_unload_subsys which is to be used for removing a loaded subsystem during module deletion. Reference counting of the subsystems' modules is moved from once (at load time) to once per attached hierarchy (in parse_cgroupfs_options and rebind_subsystems) (i.e., 0 or 1). Signed-off-by: Ben Blum Acked-by: Li Zefan Cc: Paul Menage Cc: "David S. Miller" Cc: KAMEZAWA Hiroyuki Cc: Lai Jiangshan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6a1105ba08b265023dd71a4174fb4a29ebc7083 Author: Ben Blum Date: Wed Mar 10 15:22:09 2010 -0800 cgroups: subsystem module loading interface Add interface between cgroups subsystem management and module loading This patch implements rudimentary module-loading support for cgroups - namely, a cgroup_load_subsys (similar to cgroup_init_subsys) for use as a module initcall, and a struct module pointer in struct cgroup_subsys. Several functions that might be wanted by modules have had EXPORT_SYMBOL added to them, but it's unclear exactly which functions want it and which won't. Signed-off-by: Ben Blum Acked-by: Li Zefan Cc: Paul Menage Cc: "David S. Miller" Cc: KAMEZAWA Hiroyuki Cc: Lai Jiangshan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aae8aab40367036931608fdaf9e2dc568b516f19 Author: Ben Blum Date: Wed Mar 10 15:22:07 2010 -0800 cgroups: revamp subsys array This patch series provides the ability for cgroup subsystems to be compiled as modules both within and outside the kernel tree. This is mainly useful for classifiers and subsystems that hook into components that are already modules. cls_cgroup and blkio-cgroup serve as the example use cases for this feature. It provides an interface cgroup_load_subsys() and cgroup_unload_subsys() which modular subsystems can use to register and depart during runtime. The net_cls classifier subsystem serves as the example for a subsystem which can be converted into a module using these changes. Patch #1 sets up the subsys[] array so its contents can be dynamic as modules appear and (eventually) disappear. Iterations over the array are modified to handle when subsystems are absent, and the dynamic section of the array is protected by cgroup_mutex. Patch #2 implements an interface for modules to load subsystems, called cgroup_load_subsys, similar to cgroup_init_subsys, and adds a module pointer in struct cgroup_subsys. Patch #3 adds a mechanism for unloading modular subsystems, which includes a more advanced rework of the rudimentary reference counting introduced in patch 2. Patch #4 modifies the net_cls subsystem, which already had some module declarations, to be configurable as a module, which also serves as a simple proof-of-concept. Part of implementing patches 2 and 4 involved updating css pointers in each css_set when the module appears or leaves. In doing this, it was discovered that css_sets always remain linked to the dummy cgroup, regardless of whether or not any subsystems are actually bound to it (i.e., not mounted on an actual hierarchy). The subsystem loading and unloading code therefore should keep in mind the special cases where the added subsystem is the only one in the dummy cgroup (and therefore all css_sets need to be linked back into it) and where the removed subsys was the only one in the dummy cgroup (and therefore all css_sets should be unlinked from it) - however, as all css_sets always stay attached to the dummy cgroup anyway, these cases are ignored. Any fix that addresses this issue should also make sure these cases are addressed in the subsystem loading and unloading code. This patch: Make subsys[] able to be dynamically populated to support modular subsystems This patch reworks the way the subsys[] array is used so that subsystems can register themselves after boot time, and enables the internals of cgroups to be able to handle when subsystems are not present or may appear/disappear. Signed-off-by: Ben Blum Acked-by: Li Zefan Cc: Paul Menage Cc: "David S. Miller" Cc: KAMEZAWA Hiroyuki Cc: Lai Jiangshan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7b9fff711d5e8db8c844161c684017e556c38a0 Author: Daisuke Nishimura Date: Wed Mar 10 15:22:05 2010 -0800 cgroup: introduce coalesce css_get() and css_put() Current css_get() and css_put() increment/decrement css->refcnt one by one. This patch add a new function __css_get(), which takes "count" as a arg and increment the css->refcnt by "count". And this patch also add a new arg("count") to __css_put() and change the function to decrement the css->refcnt by "count". These coalesce version of __css_get()/__css_put() will be used to improve performance of memcg's moving charge feature later, where instead of calling css_get()/css_put() repeatedly, these new functions will be used. No change is needed for current users of css_get()/css_put(). Signed-off-by: Daisuke Nishimura Acked-by: Paul Menage Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Li Zefan Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2468c7234b366eeb799ee0648cb58f9cba394a54 Author: Daisuke Nishimura Date: Wed Mar 10 15:22:03 2010 -0800 cgroup: introduce cancel_attach() Add cancel_attach() operation to struct cgroup_subsys. cancel_attach() can be used when can_attach() operation prepares something for the subsys, but we should rollback what can_attach() operation has prepared if attach task fails after we've succeeded in can_attach(). Signed-off-by: Daisuke Nishimura Acked-by: Li Zefan Reviewed-by: Paul Menage Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Daisuke Nishimura Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ce9f07bf1bed9a1f9886373ad0b149294f84c25 Author: Dave Young Date: Wed Mar 10 15:22:02 2010 -0800 Documentation/email-clients.txt: update gmail information Gmail web gui does not work for sending patches now even with firefox "view source with" extension. It will use windows style line breaks to wrap lines automatically when sening email. Rewrite the gmail web gui part of email client documentation. Signed-off-by: Dave Young Cc: Randy Dunlap Cc: Martin Bligh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c98ecaf350737cd424eb94140e9e9f1a3408956 Author: Randy Dunlap Date: Wed Mar 10 15:22:02 2010 -0800 scripts/kernel-doc: fix empty function description section scripts/kernel-doc mishandles a function that has a multi-line function short description and no function parameters. The observed problem was from drivers/scsi/scsi_netlink.c: /** * scsi_netlink_init - Called by SCSI subsystem to intialize * the SCSI transport netlink interface * **/ kernel-doc treated the " * " line as a Description: section with only a newline character in the Description contents. This caused output_highlight() to complain: "output_highlight got called with no args?", plus produce a perl call stack backtrace. The fix is just to ignore Description sections if they only contain "\n". Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6b6e2b112cafcd63bdbebbffe97279f41e5ca62 Author: Bartlomiej Zolnierkiewicz Date: Wed Mar 10 15:22:00 2010 -0800 Documentation: remove obsolete voyager.txt file x86/Voyager support has been removed a year ago. Signed-off-by: Bartlomiej Zolnierkiewicz Inspired-by: Jonathan Corbet Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5247c854ed1cef30e0c7f4c6dfbf3c9d83bcf8e Author: Randy Dunlap Date: Wed Mar 10 15:21:59 2010 -0800 Documentation/SubmitChecklist: add rule #1 Add header file requirements. Compliments of Stephen Rothwell. Stephen calls this Rule #1, so I put it there, but I didn't want to demote any of the others in the list, so I made one of them number 2b. Signed-off-by: Randy Dunlap Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70bace8c1edefa700c7f7af522c5374ef63860ae Author: Randy Dunlap Date: Wed Mar 10 15:21:58 2010 -0800 Documentation/vm/: split txt and source files Documentation/vm/: Expose example and tool source files in the Documentation/ directory in their own files instead of being buried (almost hidden) in readme/txt files. This should help to prevent bitrot. This will make them more visible/usable to users who may need to use them, to developers who may need to test with them, and to anyone who would fix/update them if they were more visible. Also, if any of these possibly should not be in the kernel tree at all, it will be clearer that they are here and we can discuss if they should be removed. Also build the recently-added map_hugetlb.c. Make several functions static to prevent linker warnings. Signed-off-by: Randy Dunlap Acked-by: Eric B Munson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e0051ae48a253685e4309256f9c1ec2bdb74b5d Author: Randy Dunlap Date: Wed Mar 10 15:21:57 2010 -0800 Documentation/fs/: split txt and source files Make dnotify_test.c source file and add it to Makefile so that bitrot can be prevented. Signed-off-by: Randy Dunlap Cc: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d49129accc21ddb2e779d375dacafb612b1bd28d Author: Randy Dunlap Date: Wed Mar 10 15:21:56 2010 -0800 Documentation/laptop/: split txt and source files Documentation/laptops/laptop-mode.txt: Expose example and tool source files in the Documentation/ directory in their own files instead of being buried (almost hidden) in readme/txt files. This should help to prevent bitrot. This will make them more visible/usable to users who may need to use them, to developers who may need to test with them, and to anyone who would fix/update them if they were more visible. Also, if any of these possibly should not be in the kernel tree at all, it will be clearer that they are here and we can discuss if they should be removed. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e61863099f58e458f08c101da87da752a1e009f5 Author: Randy Dunlap Date: Wed Mar 10 15:21:56 2010 -0800 Documentation/timers/: split txt and source files Documentation/timers/hpet.txt: Expose example and tool source files in the Documentation/timers/ directory in their own files instead of being buried (almost hidden) in readme/txt files. This should help to prevent bitrot. This will make them more visible/usable to users who may need to use them, to developers who may need to test with them, and to anyone who would fix/update them if they were more visible. Also, if any of these possibly should not be in the kernel tree at all, it will be clearer that they are here and we can discuss if they should be removed. Signed-off-by: Randy Dunlap Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad25ad979a309963e580015d57e4ec7da72bb7d4 Author: Evgeniy Dushistov Date: Wed Mar 10 15:21:55 2010 -0800 ufs: make solaris fsck happy Alex Viskovatoff let me know that after copying data to solaris's ufs from linux, solaris's fsck sees some errors in cylinder summary information. This is because of solaris expects find some data on another places, then curernt implementation save it. This patch fixes this issue. It is tested by me, and also Alex reported that it works for him. Signed-off-by: Evgeniy Dushistov Reported-by: Alex Viskovatoff Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3a0fd4d877fe7692901b5867ba7cbd3f6d19d22 Author: Alex Viskovatoff Date: Wed Mar 10 15:21:53 2010 -0800 fs/ufs: recognize Solaris-specific file system state Recent releases of Solaris set the fs_clean state of an unmounted UFS file system as FSLOG ("logging fs"). However, the Linux kernel currently does not recognize the value which represents this state. Thus, attempting to mount such a file system rw produces the message kernel: ufs_read_super: can't grok fs_clean 0xfffffffd and the file system is mounted read-only. This patch makes the kernel recognize that value. Signed-off-by: Alex Viskovatoff Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7d4d849b4e3acc405ec222884936800ffb26d48 Author: Andrew Morton Date: Wed Mar 10 15:21:52 2010 -0800 drivers/char/mem.c: cleanups - fix switch statement layout - fix whitespace stuff - fix comment layout - remove unneeded inlining - use __weak - remove trailing whitespace - move uncached_access() inside `#ifndef __HAVE_PHYS_MEM_ACCESS_PROT' - it is otherwise unused. Cc: KAMEZAWA Hiroyuki Cc: OGAWA Hirofumi Cc: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcefafb6ac90ece8d68a6c203105f3d313e52da4 Author: Wu Fengguang Date: Wed Mar 10 15:21:51 2010 -0800 /dev/mem: dont allow seek to last page So as to return a uniform error -EOVERFLOW instead of a random one: # kmem-seek 0xfffffffffffffff0 seek /dev/kmem: Device or resource busy # kmem-seek 0xfffffffffffffff1 seek /dev/kmem: Block device required Suggested by OGAWA Hirofumi. Cc: OGAWA Hirofumi Reviewed-by: KAMEZAWA Hiroyuki Signed-off-by: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2cb9a75d13676d75bcc6fbc6f885403795581913 Author: Huang Weiyi Date: Wed Mar 10 15:21:51 2010 -0800 fbdev: bfin-lq035q1-fb: remove duplicated #include Remove duplicated #include('s) in drivers/video/bfin-lq035q1-fb.c Signed-off-by: Huang Weiyi Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8b1925430339be1464a9a028754d94984dacfdb Author: Ben Hutchings Date: Wed Mar 10 15:21:49 2010 -0800 video: fix first line of kernel-doc for a few functions The function name must be followed by a space, hypen, space, and a short description. Signed-off-by: Ben Hutchings Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2164235da9153f1fbd5191bf71c86fae322c7dd7 Author: Christoph Egger Date: Wed Mar 10 15:21:49 2010 -0800 obsolete config in kernel source: LWMON5 There was some conditionalizing for the LWMON5 boards in kernel source. However infrastructure for enabling this isn't here so probably the special case code can go as well. Signed-off-by: Christoph Egger Acked-by: Alexander Shishkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c0e0c88422033c9b6162bf7875aecdd095130b7 Author: Joe Perches Date: Wed Mar 10 15:21:48 2010 -0800 drivers/video/via: fix continuation line formats String constants that are continued on subsequent lines with \ will cause spurious whitespace in the resulting output. Signed-off-by: Joe Perches Acked-by: Florian Tobias Schandinat Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8661970875d7d27e4de233d357327fffdb4a5e3d Author: Wang Qiang Date: Wed Mar 10 15:21:47 2010 -0800 NUC900 LCD Controller Driver An LCD controller driver for nuc900s. The Linux LOGO is just fine and the FB-Test application was ok, too. Signed-off-by: Wang Qiang Cc: Wang Zongshun Cc: Russell King Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91d4e0a4c889e3e8078c26542b8f5a322b87adf4 Author: Christoph Egger Date: Wed Mar 10 15:21:46 2010 -0800 fbdev: remove obsolete CONFIG_FB_SOFT_CURSOR The config Option FB_SOFT_BUFFER was removed in c465e05a03209651078b95686158648fd7ed84c5 ("fbcon/fbdev: Move softcursor out of fbdev to fbcon"). While moving to fbcon this single driver has it left as a select in KConfig / #ifdef in source. This last occurence is removed here so the option is really gone Signed-off-by: Christoph Egger Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a23c4af83df9c8fdf55690a09a3f0a92bd127b Author: Maik Broemme Date: Wed Mar 10 15:21:44 2010 -0800 intelfb: new maintainer It seems that Sylvain no longer maintain the intelfb driver. Two weeks ago I had a short mail conversation with Jean regarding who can replace him. Well I will do it, because I know the driver and use it very often. Attached is a patch which update the maintainer file to make bug reporting easier. Signed-off-by: Maik Broemme Sylvain Meyer Cc: Krzysztof Helt Cc: Dave Airlie Cc: Eric Anholt Cc: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b32bfc3843f7fd090d30853d98866d923cfb8fff Author: Jaya Kumar Date: Wed Mar 10 15:21:43 2010 -0800 broadsheetfb: support storing waveform This patch adds waveform storing capability to broadsheetfb. It uses the firmware class to retrieve the waveform, and the request to initiate the waveform storing is done via a driver sysfs entry, loadstore_waveform. Broadsheet is a framebuffer device. It is slightly different from a typical framebuffer controller that drives a normal TFT-LCD display. Most E-Ink display panels require a waveform in order to function. That is, in order to drive the state of a pixel to black, gray, or white, a specific waveform is utilized. Basically, that waveform represents the specific E-field wiggling needed to get the pixel to its optimal state given current temperature, and its previous state. TN/IPS-LCDs use a similar concept but the driving waveform is sufficiently simple that it is internalized in the TFT source/gate driver. These E-Ink waveforms are specific to a production batch. That is, a batch of display films are produced, then they get characterized and a waveform is generated for that batch. Broadsheet, typically, is attached to its private SPI flash which is then flashed with this waveform. Users won't be able to see the waveform and typically won't ever need to know about it. If however, the display panel attached to broadsheet is changed out, then they will need to update their waveform. That would typically be done at a factory or repair facility rather than by a user. [akpm@linux-foundation.org: fix printk warning] Signed-off-by: Jaya Kumar Cc: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2afb18981739a1426af2a6c952e03c5966b3dfc6 Author: Jaya Kumar Date: Wed Mar 10 15:21:41 2010 -0800 broadsheetfb: add MMIO hooks Allow boards with GP-MMIO controllers to provide hooks to broadsheetfb in order to offload cmd/data writes and data reads instead of relying only on host based GPIO wiggling. Signed-off-by: Jaya Kumar Cc: Geert Uytterhoeven Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e17cea3cece6d3ec47a5b358821505943abe6541 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:41 2010 -0800 viafb: support color depth 15 and 30 Add support for the color depth 15 on IGA1 and 30 on IGA1 and IGA2. To allow the usage of those the driver now refuses color depth that are totally off and otherwise the selection in viafb_check_var is used. Therefore the first call to this for the first framebuffer was delayed a bit. It only enables the new formats if they are requested exactly (viafb_bpp=15|30). As this is a new feature, no regressions are expected. The color depth 15 was successfully tested. Didn't get anything usable for 30 but that might be the programs fault. I would like to get some feedback whether it works as expected or not if somebody knows a program/configuration where it should. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 415559fbf2353f4271a4cd6e11259b8bbc97cc33 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:40 2010 -0800 viafb: rework color setting This is a rewritten version of viafb_setcolreg. The hardware register writes were split up and moved to hw.c where they belong as this is really low level stuff. It was made dual fb aware. Furthermore viafb_setcmap was removed as the problem with 8bpp originated from a bug in writing multiple color registers at once. The removal of viafb_setcmap might introduce a small performance regression but its certainly better to receive the correct result a bit slower than a garbled picture fast. It should give us a working 8bpp mode and is more extensible than the old hardcoded code. No other regressions are expected but as the hardware might be a bit picky it might cause some regressions in 8bpp mode on some hardware although I doubt that. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbb7884be758ca9ac5ec84cbe7eb21f21bce9d8f Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:39 2010 -0800 viafb: some virtual_xres handling fixes Do not require the virtual_xres to be aligned as line length is for such purposes. Calculate always the smallest line length required. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd140691bda491b417a6d1e81b03416b54cb8d8d Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:38 2010 -0800 viafb: rework color checking Make color checking a bit more tolerant in what values it allows and more fine grained to later support 15 and 30 bits formats. It splits the filling of the color information in var to a seperate function and sets some color related values in var that where previously untouched. This could be a bug fix but at least I don't know any applications that was fooled by not correctly setting the fields in var. At least no regressions are expected. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dba77f8409eb861b28d295211776d953a8255ec7 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:37 2010 -0800 viafb: make some variables a bit less global Move some variables closer to their usage. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4bbac05f8c0ab40dcc52ed6dff44e1b0d80fa6e3 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:36 2010 -0800 viafb: remove dead code due to IGA1_IGA2 Some code depended on IGA1_IGA2 which was never set (at least with the symbolic name). Remove this dead code although it might one day be useful to get a hint on how some things might work. However as this is dead it is likely full of bugs and would prevent a clean structure (as it has some very strange things). Dead code -> no regressions, at least if VIA doesn't do anything very ugly. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit daacccd1657bdecae8f7c98a8e2b84367a8d4e87 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:35 2010 -0800 viafb: split color mode setting up This patch splits color mode setting up in seperate functions. Some hardware initialization that was previously mixed with it is moved to viafb_setmode. As are the calls to the newly created function. This is yet another little step towards controlling each IGA on its own. As this patch really aims too mimic the old behaviour no regressions are expected. However I noticed that 8bpp (or 6bpp?) seems actually a bit broken before and after the patch. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe9aab8ec2d65378b0663c3287a67da4a892b54e Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:34 2010 -0800 viafb: introduce strict parameter checking Refuse to work if wrong parameters are given. This should improve the user experience as it will be clear that something is wrong and not silently ignored. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c9443ed284fc6ec8a4f702c66e9ad6bdf912c05 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:34 2010 -0800 viafb: make viafb_set_par more dual framebuffer compatible This patch is an attempt to make viafb_set_par work correctly with more than one framebuffer. As modesetting is not (yet/easily) possible for each individual IGA it uses the (normally to be avoided) global variables viafbinfo{,1} to ensure that each function is called with the correct values. This patch (finally) allows usable dual framebuffer setups and should not affect non dual fb ones. It works in some (most?) configurations as sometimes the driver still gets device connections wrong. It can be worth to try the devices in reverse order (in viafb_active_dev). The user experience is still not very nice as: - on the second fb you'll normally have a garbled picture as long as no application draws to it goal: auto on/off devices depending on reference counting - as the whole machinery is always done you can see mode changes also in an unaffected framebuffer goal: split modesetting up for each individual IGA Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee79d54db45bb5e6da3eb76bae162c920aeb9763 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:32 2010 -0800 viafb: video address setting revisited Set always the correct video address. Especially do panning right on multiple IGAs. This should have no effect on single monitor mode (no SAMM, no dual fb). For SAMM without dual fb this might break something as I really cannot image what we are supposed to do for different resolutions with a single framebuffer as we can't get data out of nowhere (no, they are not set up in something one would call "expanded"). Previously I got for that funny colored pictures as the second IGA pointed to video memory that was never written to. After the patch it'll work as cloning if the first and second mode are identical (this was working already without SAMM). Finally for dual fb this should push us a step in the right direction. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7cf607923dee1898b9fc1e62568b79e7f785b995 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:31 2010 -0800 viafb: reorder initialization for dual framebuffer mode This patch reorders the initialization for dual framebuffer mode to not ignore the settings for the first mode. Previously they were overwritten with the settings for the second one before they were applied. This should have no effect on non dual framebuffer mode and do what the user intended (initalization to desired modes) in dual framebuffer mode. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8566b29e86ef3906dd6c0ea4a02c2a925748da5 Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:30 2010 -0800 viafb: yet another dead code removal Remove some functions that were never executed and a related undocumented module parameter. Signed-off-by: Florian Tobias Schandinat Cc: Scott Fang Cc: Joseph Chan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5f06f5cddd6681b978ffdb53755e28eefccb1bb Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:30 2010 -0800 viafb: some dvi cleanup Remove some unused variables, move some dvi code around and store the detected maximum resolution for later use. The vertical resolution is handled as the old code did it but I hope it can be read from the hardware some day. No runtime change expected. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b24b00c364bb3bfa717ba2ead258a527b20cc5f Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:29 2010 -0800 viafb: remove the remaining VIA_RES_* uses Remove the rest of the VIA_RES_* use cases. Obviously this was no longer useful. Keep the related infrastructure/functions for later use. No runtime impact expected. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd73d6868b9ecb4841def0c6ff0a25da27db33ba Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:28 2010 -0800 viafb: split global index up This is the first step to remove an artificial global index that was used in two ways: 1. As a pseudo index in the mode table. Pseudo as you had to search through the table to find the referenced entry. This was replaced by using a pointer to the entry. 2. As a shortcut to compare a combination of horizontal and vertical resolution at the same time. This was replaced by a "(hres<<16) | vres" which is good enough for now and the near future. If vres or hres become greater than 2^16 this might indeed cause problems but this solution allows to split this indexing mess up without the requirement to do even more code changes. This is a big change that will allow more clean ups. It should be a bit faster but that is probably not relevant for normal operation. No regressions expected but as this is a relatively big step heavy testing is appreciated. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2365dfe99495159b3395dd0eddece2f0d58f527a Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:27 2010 -0800 viafb: remove dead code Remove a completly unused function. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc8b82f8c80e8b9e212e0102ee7af9972829e45c Author: Florian Tobias Schandinat Date: Wed Mar 10 15:21:26 2010 -0800 viafb: deprecate private ioctls Print a warning when viafb ioctls are called. Those should not be used as their exact meaning is sometimes unknown and they in parts duplicate functionality present in the framebuffer interface. There is no known user of these ioctls. Signed-off-by: Florian Tobias Schandinat Cc: Joseph Chan Cc: Scott Fang Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1c341a060da1bd66a1982198b1a99765b07b8a2 Author: Jaya Kumar Date: Wed Mar 10 15:21:24 2010 -0800 broadsheetfb: add multiple panel type support Update broadsheetfb to add support for multiple panel types. The 3.7" and 6" are known to work but the 9.7" is untested due to lack of hardware. Signed-off-by: Jaya Kumar Cc: Geert Uytterhoeven Cc: Krzysztof Helt Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d40f29bff30a1a50d7ad69bd150c9cda1ce1ba9d Author: Michael Hennerich Date: Wed Mar 10 15:21:24 2010 -0800 fbdev: bf54x-lq043fb/bfin-t350mcqb-fb: drop custom mmap() handler The common Blackfin code implements the get_fb_unmapped_area() function, so we no longer need to have our own mmap() handler. The common fb code will take care of everything for us now. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d3580d40cc38bbaf63d0b2756931e0ae241a9ea Author: Roel Kluin Date: Wed Mar 10 15:21:23 2010 -0800 asiliantfb: fix test of unsigned in asiliant_calc_dclk2() Ftarget, Fret, n and m are unsigned so the tests did not work. Signed-off-by: Roel Kluin Cc: Andres Salomon Cc: Krzysztof Helt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e3e37a5a7c91045497553bcbd6a5faea98b21b3 Author: André Goddard Rosa Date: Wed Mar 10 15:21:22 2010 -0800 coredump: plug a memory leak situation on dump_seek() After having started writing the coredump, if filesystem reports an error anytime while writing part of the core file, we would leak a memory page when bailing out. Signed-off-by: André Goddard Rosa Acked-by: KOSAKI Motohiro Cc: Alexander Viro Cc: Roland McGrath Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cacdb4add1b1e50fe75edc50ebbb7bddd9cf5e7 Author: Christoph Hellwig Date: Wed Mar 10 15:21:21 2010 -0800 Add generic sys_olduname() Add generic implementations of the old and really old uname system calls. Note that sh only implements sys_olduname but not sys_oldolduname, but I'm not going to bother with another ifdef for that special case. m32r implemented an old uname but never wired it up, so kill it, too. Signed-off-by: Christoph Hellwig Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Jeff Dike Cc: Hirokazu Takata Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Cc: Al Viro Cc: Arnd Bergmann Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: "Luck, Tony" Cc: James Morris Cc: Andreas Schwab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e28cbf22933d0c0ccaf3c4c27a1a263b41f73859 Author: Christoph Hellwig Date: Wed Mar 10 15:21:19 2010 -0800 improve sys_newuname() for compat architectures On an architecture that supports 32-bit compat we need to override the reported machine in uname with the 32-bit value. Instead of doing this separately in every architecture introduce a COMPAT_UTS_MACHINE define in and apply it directly in sys_newuname(). Signed-off-by: Christoph Hellwig Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Jeff Dike Cc: Hirokazu Takata Cc: Thomas Gleixner Cc: Ingo Molnar Cc: H. Peter Anvin Cc: Al Viro Cc: Arnd Bergmann Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: "Luck, Tony" Cc: James Morris Cc: Andreas Schwab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baed7fc9b580bd3fb8252ff1d9b36eaf1f86b670 Author: Christoph Hellwig Date: Wed Mar 10 15:21:18 2010 -0800 Add generic sys_ipc wrapper Add a generic implementation of the ipc demultiplexer syscall. Except for s390 and sparc64 all implementations of the sys_ipc are nearly identical. There are slight differences in the types of the parameters, where mips and powerpc as the only 64-bit architectures with sys_ipc use unsigned long for the "third" argument as it gets casted to a pointer later, while it traditionally is an "int" like most other paramters. frv goes even further and uses unsigned long for all parameters execept for "ptr" which is a pointer type everywhere. The change from int to unsigned long for "third" and back to "int" for the others on frv should be fine due to the in-register calling conventions for syscalls (we already had a similar issue with the generic sys_ptrace), but I'd prefer to have the arch maintainers looks over this in details. Except for that h8300, m68k and m68knommu lack an impplementation of the semtimedop sub call which this patch adds, and various architectures have gets used - at least on i386 it seems superflous as the compat code on x86-64 and ia64 doesn't even bother to implement it. [akpm@linux-foundation.org: add sys_ipc to sys_ni.c] Signed-off-by: Christoph Hellwig Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Jeff Dike Cc: Hirokazu Takata Cc: Thomas Gleixner Cc: Ingo Molnar Reviewed-by: H. Peter Anvin Cc: Al Viro Cc: Arnd Bergmann Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: "Luck, Tony" Cc: James Morris Cc: Andreas Schwab Acked-by: Jesper Nilsson Acked-by: Russell King Acked-by: David Howells Acked-by: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4679373cf4ee0e7792dc56205365732b725c2c1 Author: Christoph Hellwig Date: Wed Mar 10 15:21:15 2010 -0800 Add generic sys_old_mmap() Add a generic implementation of the old mmap() syscall, which expects its argument in a memory block and switch all architectures over to use it. Signed-off-by: Christoph Hellwig Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Jeff Dike Cc: Hirokazu Takata Cc: Thomas Gleixner Cc: Ingo Molnar Reviewed-by: H. Peter Anvin Cc: Al Viro Cc: Arnd Bergmann Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: "Luck, Tony" Cc: James Morris Cc: Andreas Schwab Acked-by: Jesper Nilsson Acked-by: Russell King Acked-by: Greg Ungerer Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d0e52830e9ae09b872567f4aca3dfb5b5918079 Author: Christoph Hellwig Date: Wed Mar 10 15:21:13 2010 -0800 Add generic sys_old_select() Add a generic implementation of the old select() syscall, which expects its argument in a memory block and switch all architectures over to use it. Signed-off-by: Christoph Hellwig Cc: Ralf Baechle Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Jeff Dike Cc: Hirokazu Takata Cc: Thomas Gleixner Cc: Ingo Molnar Reviewed-by: H. Peter Anvin Cc: Al Viro Cc: Arnd Bergmann Cc: Heiko Carstens Cc: Martin Schwidefsky Cc: "Luck, Tony" Cc: James Morris Acked-by: Andreas Schwab Acked-by: Russell King Acked-by: Greg Ungerer Acked-by: David Howells Cc: Andreas Schwab Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 724ee626f38feaea215a11790e1a0cb5d83b0628 Author: Joe Perches Date: Wed Mar 10 15:21:11 2010 -0800 drivers/block/floppy.c: remove unnecessary casting in fd_ioctl Convert outparam to const void *. Cast outparam to const char * for strlen(). Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0aad92cfea6fec14bd57dd9c283cc6eb023c97bd Author: Joe Perches Date: Wed Mar 10 15:21:10 2010 -0800 drivers/block/floppy.c: remove misleading, used once FD_IOCTL_ALLOWED macro Just code the test directly Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 712e1de43ed572886d6913a86eee5e73b7de4318 Author: Joe Perches Date: Wed Mar 10 15:21:10 2010 -0800 drivers/block/floppy.c: remove obfuscating CODE2SIZE macro Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ded2863d09208b27baa4a6ad95bb7e5539e48c05 Author: Joe Perches Date: Wed Mar 10 15:21:09 2010 -0800 drivers/block/floppy.c: add __func__ to debugt Make debugt messages a little neater. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f2527174ab1ee7f4550c91be47b3f843ff1316d Author: Joe Perches Date: Wed Mar 10 15:21:08 2010 -0800 drivers/block/floppy.c: convert raw_cmd_copyin from while(1) to label: goto Reduces indent. Makes a bit more readable and intelligible. Return value now at bottom of function. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce2f11fe784f7999b82c7a71cdbcb86ad2653def Author: Joe Perches Date: Wed Mar 10 15:21:08 2010 -0800 drivers/block/floppy.c: remove some unnecessary casting Remove char/void __user * use. Remove kmalloc cast. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ebddd85a6a6ad793eca82d65fba4573d0e28042 Author: Joe Perches Date: Wed Mar 10 15:21:07 2010 -0800 drivers/block/floppy.c: use %pf in logging messages Print the function name not the pointer address where useful and possible Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 275176bc2a7bbd5c4446ba12b8f4353a69012053 Author: Joe Perches Date: Wed Mar 10 15:21:06 2010 -0800 drivers/block/floppy.c: use __func__ where appropriate Add and use __func__ to is_alive. Use __func__ in some DPRINTs. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 891eda80a5227a12956d7997baf9f4b54a9aa4f9 Author: Joe Perches Date: Wed Mar 10 15:21:05 2010 -0800 drivers/block/floppy.c: DPRINT neatening Move DPRINT macro definition above 1st use Consolidate a format string (>80 columns) Add a newline to an unterminated message Comment neatened Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a23d133359eec2297ff4c72c260ccacb156d883 Author: Joe Perches Date: Wed Mar 10 15:21:04 2010 -0800 drivers/block/floppy.c: remove #define FLOPPY_SANITY_CHECK The code could not be compiled without the #define, so just remove it and the #ifdef/#endif lines. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73507e6cd8dc6cd98a39164a9b775c7092faddb4 Author: Joe Perches Date: Wed Mar 10 15:21:03 2010 -0800 drivers/block/floppy.c: remove unnecessary argument from [__]reschedule_timeout Prior to patch "drivers/block/floppy.c: Use pr_" only reschedule_timeout(,"request done"...) printed a numeric value after a reschedule_timeout event message. Restore that behavior and remove the now unnecessary argument. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0da3132f90c01f532dd85c537b5c78a196a11e24 Author: Joe Perches Date: Wed Mar 10 15:21:03 2010 -0800 drivers/block/floppy.c: unclutter redo_fd_request logic Change for(;;) with continue; to label: goto label Reduces indentation and adds a bit of clarity. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 416d8d2888db392c562fb8afaf9136730ef0da9e Author: Joe Perches Date: Wed Mar 10 15:21:02 2010 -0800 drivers/block/floppy.c: remove REPEAT macro Macros with hidden flow changes aren't nice. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15b2630c587dcea931f563deb50d617af96b4edb Author: Joe Perches Date: Wed Mar 10 15:21:01 2010 -0800 drivers/block/floppy.c: remove unnecessary return and braces Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57584c5a3824a15f65d2b065d9f453fc1ae1dab7 Author: Joe Perches Date: Wed Mar 10 15:21:00 2010 -0800 drivers/block/floppy.c: add function is_ready_state Used a couple of times, might simplify the code a bit. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29f1c7848feb3954939b52fd5b7dca30dbce9426 Author: Joe Perches Date: Wed Mar 10 15:21:00 2010 -0800 drivers/block/floppy.c: convert int initialising to bool initialized Don't initialize initialized either. Default is false. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d18ef09dfe4d1272446ad55ce5d7b06ff4b9ca8 Author: Joe Perches Date: Wed Mar 10 15:20:59 2010 -0800 drivers/block/floppy.c: remove #define DEVICE_NAME "floppy" Use it directly in the one place it's used. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c529730a98874fa951995d8a312c7fd606832eda Author: Joe Perches Date: Wed Mar 10 15:20:58 2010 -0800 drivers/block/floppy.c: move leading && and || to preceding line Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74f63f469ed1cee8305840b7bbcee2f99797cd12 Author: Joe Perches Date: Wed Mar 10 15:20:58 2010 -0800 drivers/block/floppy.c: convert int 1/0 to bool true/false Various functions use int where bool is appropriate lock_fdc, wait_til_done, poll_drive, user_reset_fdc Convert to bool. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55eee80c6233c67217a6238dd94f1fc765c723d1 Author: Joe Perches Date: Wed Mar 10 15:20:57 2010 -0800 drivers/block/floppy.c: remove macros CALL, WAIT and IWAIT Obfuscating macros with embedded returns are not nice Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86b12b48a29f4795e2e550f510d39931576bdf75 Author: Joe Perches Date: Wed Mar 10 15:20:56 2010 -0800 drivers/block/floppy.c: remove [_]COPYIN [_]COPYOUT and ECALL macros Remove these obfuscating macros with hidden returns Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4575b55281825d157573bbc5aa28b9144193ddd2 Author: Joe Perches Date: Wed Mar 10 15:20:55 2010 -0800 drivers/block/floppy.c: remove most uses of CALL and ECALL macros Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e029853612ba5999caed4dbc833dab729aac75ba Author: Joe Perches Date: Wed Mar 10 15:20:55 2010 -0800 drivers/block/floppy.c: remove [U]CLEARF, [U]SETF, and [U]TESTF macros Use clear_bit, set_bit, and test_bit functions directly Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87f530d8f1733651f3e34b81c801d6e1bb635936 Author: Joe Perches Date: Wed Mar 10 15:20:54 2010 -0800 drivers/block/floppy.c: add debug_dcl(...) macro Converted #ifdef DCL_DEBUG if (test) DPRINTK(...); #endif to debug_dcl(test, ...); Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52a0d61f64123ab758d8b8cc8f8ca521733d2f32 Author: Joe Perches Date: Wed Mar 10 15:20:53 2010 -0800 drivers/block/floppy.c: remove macro LOCK_FDC Macros with hidden returns aren't nice. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0a52d67de6da21db0e549e38749b7a00029fea3 Author: Joe Perches Date: Wed Mar 10 15:20:52 2010 -0800 drivers/block/floppy.c: remove a few spaces from function casts Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da27365342868df88fdd5c217bf68ec10b14b5f0 Author: Joe Perches Date: Wed Mar 10 15:20:52 2010 -0800 drivers/block/floppy.c: remove IN/OUT macros, indent switch/case Remove ugly IN/OUT macros, use direct case and code Add missing semicolon after ECALL Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96534f1dd5bf9d324c2d31355cb69565381d1460 Author: Joe Perches Date: Wed Mar 10 15:20:51 2010 -0800 drivers/block/floppy.c: indent a comment Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b87c9e0a880f2992dc210eb4ea8b2da6c63883ca Author: Joe Perches Date: Wed Mar 10 15:20:50 2010 -0800 drivers/block/floppy.c: remove CLEARSTRUCT macro, use memset Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb57f0c662faa9879e8f265c9bc1f15bb238d2c7 Author: Joe Perches Date: Wed Mar 10 15:20:50 2010 -0800 drivers/block/floppy.c: comment neatening and remove naked ; Spacing, column alignment and a for loop with a naked semicolon converted to an assign and while Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2300f90e31178f44b0e903c12ea311df1297d7fa Author: Joe Perches Date: Wed Mar 10 15:20:49 2010 -0800 drivers/block/floppy.c: remove LAST_OUT macro Macros with hidden returns are not nice. Convert the 2 uses to use direct code. Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d7b2b2ecd88d06ae212d069a4e187ab690b1636f Author: Joe Perches Date: Wed Mar 10 15:20:48 2010 -0800 drivers/block/floppy.c: hoist assigns from if()s, neatening Move assigns above if()s Remove unnecessary parentheses from returns Use a temporary for a duplicated test Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045f98363080ddbbcef6b8b8306ec58a818406a0 Author: Joe Perches Date: Wed Mar 10 15:20:47 2010 -0800 drivers/block/floppy.c: remove used once CHECK_READY macro Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a81ee5447157a4b9930bab8ec70cf77a55db64e8 Author: Joe Perches Date: Wed Mar 10 15:20:46 2010 -0800 drivers/block/floppy.c: remove unnecessary braces Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b46df356de8c63882cfb1ee7501bd9c772a6981b Author: Joe Perches Date: Wed Mar 10 15:20:46 2010 -0800 drivers/block/floppy.c: use pr_ Convert bare printk to pr_info and pr_cont Convert printk(KERN_ERR to pr_err Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48c8cee61f22fe5a2ea00488222b3415378469ad Author: Joe Perches Date: Wed Mar 10 15:20:45 2010 -0800 drivers/block/floppy.c: #define space and column neatening Signed-off-by: Joe Perches Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d49375434ec011dabcc8bfa5091f5327284e42ce Author: Joe Perches Date: Wed Mar 10 15:20:44 2010 -0800 drivers/block/floppy.c: convert some #include Cc: Stephen Hemminger Cc: Jens Axboe Cc: Marcin Slusarz Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 718a38211bf4375c0a1efad3afbc5dbaef5d33f9 Author: Wu Fengguang Date: Wed Mar 10 15:20:43 2010 -0800 mm: introduce dump_page() and print symbolic flag names - introduce dump_page() to print the page info for debugging some error condition. - convert three mm users: bad_page(), print_bad_pte() and memory offline failure. - print an extra field: the symbolic names of page->flags Example dump_page() output: [ 157.521694] page:ffffea0000a7cba8 count:2 mapcount:1 mapping:ffff88001c901791 index:0x147 [ 157.525570] page flags: 0x100000000100068(uptodate|lru|active|swapbacked) Signed-off-by: Wu Fengguang Cc: Ingo Molnar Cc: Alex Chiang Cc: Rik van Riel Cc: Andi Kleen Cc: Mel Gorman Cc: Christoph Lameter Cc: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b3a6549b2602ca30f58715a0071e29f9898cae9 Author: Julia Lawall Date: Wed Mar 10 15:20:42 2010 -0800 drivers/scsi/ses.c: eliminate double free The few lines below the kfree of hdr_buf may go to the label err_free which will also free hdr_buf. The most straightforward solution seems to be to just move the kfree of hdr_buf after these gotos. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @r@ identifier E; expression E1; iterator I; statement S; @@ *kfree(E); ... when != E = E1 when != I(E,...) S when != &E *kfree(E); // Signed-off-by: Julia Lawall Cc: James Bottomley Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d30a1f6315b8940537e8e98882c6038fbac9ba5 Author: Thomas Gleixner Date: Wed Mar 10 15:20:40 2010 -0800 mm: do not iterate over NR_CPUS in __zone_pcp_update() __zone_pcp_update() iterates over NR_CPUS instead of limiting the access to the possible cpus. This might result in access to uninitialized areas as the per cpu allocator only populates the per cpu memory for possible cpus. This problem was created as a result of the dynamic allocation of pagesets from percpu memory that went in during the merge window - commit 99dcc3e5a94ed491fbef402831d8c0bbb267f995 ("this_cpu: Page allocator conversion"). Signed-off-by: Thomas Gleixner Acked-by: Pekka Enberg Acked-by: Tejun Heo Acked-by: Christoph Lameter Acked-by: Mel Gorman Reviewed-by: KOSAKI Motohiro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53bddb4e9f3f53df02a783751984ddeade71b085 Author: KAMEZAWA Hiroyuki Date: Wed Mar 10 15:20:38 2010 -0800 nommu: fix build breakage Commit 34e55232e59f7b19050267a05ff1226e5cd122a5 ("mm: avoid false sharing of mm_counter") added sync_mm_rss() for syncing loosely accounted rss counters. It's for CONFIG_MMU but sync_mm_rss is called even in NOMMU enviroment (kerne/exit.c, fs/exec.c). Above commit doesn't handle it well. This patch changes SPLIT_RSS_COUNTING depends on SPLIT_PTLOCKS && CONFIG_MMU And for avoid unnecessary function calls, sync_mm_rss changed to be inlined noop function in header file. Reported-by: David Howells Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Mike Frysinger Signed-off-by: Michal Simek Signed-off-by: David Howells Cc: Greg Ungerer Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 936ed49a540e2dce645da27e7e4032b24310a8e4 Author: Mike Frysinger Date: Wed Mar 10 15:20:38 2010 -0800 MAINTAINERS: add bfin_sdh driver Signed-off-by: Mike Frysinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 516a82422209e078345d0ca54b16793d7bfd4782 Author: Albert Herranz Date: Wed Mar 10 15:20:37 2010 -0800 sdio: recognize io card without powercycle SDIO Simplified Specification V2.00 states that it is strongly recommended that the host executes either a power reset or issues a CMD52 (I/O Reset) to re-initialize an I/O only card or the I/O portion of a combo card. Additionally, the CMD52 must be issued first because it cannot be issued after a CMD0. With this patch the Nintendo Wii SDIO-based WLAN card is detected after a system reset, without requiring a complete system powercycle. Signed-off-by: Albert Herranz Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0ab4a4d5094e5d17b103dc5073529a04f00a469 Author: Uwe Kleine-König Date: Wed Mar 10 15:20:35 2010 -0800 rtc/hctosys: only claim the RTC provided the system time if it did Without this patch /sys/class/rtc/$CONFIG_RTC_HCTOSYS_DEVICE/hctosys contains a 1 (meaning "This rtc was used to initialize the system clock") even if reading the time at bootup failed. Moreover change error handling in rtc_hctosys() to use goto and so reduce the indention level. Signed-off-by: Uwe Kleine-König Cc: Paul Gortmaker Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 019b4d123aa7b9fc135b532e021cfde85db7665d Author: Richard Kennedy Date: Wed Mar 10 15:20:33 2010 -0800 fs: buffer_head: remove kmem_cache constructor to reduce memory usage under slub When using slub, having a kmem_cache constructor forces slub to add a free pointer to the size of the cached object, which can have a significant impact to the number of small objects that can fit into a slab. As buffer_head is relatively small and we can have large numbers of them, removing the constructor is a definite win. On x86_64 removing the constructor gives me 39 objects/slab, 3 more than without the patch. And on x86_32 73 objects/slab, which is 9 more. As alloc_buffer_head() already initializes each new object there is very little difference in actual code run. Signed-off-by: Richard Kennedy Cc: Alexander Viro Cc: Jens Axboe Acked-by: Nick Piggin Cc: "Theodore Ts'o" Reviewed-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03affdef4fc85e416e3862abb0aa549c6034cdd0 Author: Joe Perches Date: Wed Mar 10 15:20:32 2010 -0800 fs/ocfs2/cluster/tcp.c: remove use of NIPQUAD, use %pI4 Signed-off-by: Joe Perches Cc: Mark Fasheh Acked-by: Joel Becker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0636b33c5f2fac4e274464ae6867805f080fc433 Merge: 69960a2 a48f509 070e140 a72042c Author: Roland Dreier Date: Fri Mar 12 10:54:20 2010 -0800 Merge branches 'cxgb3', 'ipoib', 'misc' and 'nes' into for-next commit a72042c08a8ba3b685dc9cba62c57c48188ef2c8 Author: Chien Tung Date: Wed Mar 3 19:13:26 2010 +0000 RDMA/nes: Fix CX4 link problem in back-to-back configuration Commit 09124e19 ("RDMA/nes: Add support for KR device id 0x0110") took out too much code and broke CX4 link detection in back-to-back configuration. Put back the code that does the link check. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 15365c108ea27598e265f8c13e7051d99ca5b0b9 Author: Stanislaw Gruszka Date: Thu Mar 11 14:04:31 2010 -0800 posix-cpu-timers: Reset expire cache when no timer is running When a process deletes cpu timer or a timer expires we do not clear the expiration cache sig->cputimer_expires. As a result the fastpath_timer_check() which prevents us to loop over all threads in case no timer is active is not working and we run the slow path needlessly on every tick. Zero sig->cputimer_expires in stop_process_timers(). Signed-off-by: Stanislaw Gruszka Cc: Ingo Molnar Cc: Oleg Nesterov Cc: Peter Zijlstra Cc: Hidetoshi Seto Cc: Spencer Candland Signed-off-by: Andrew Morton Signed-off-by: Thomas Gleixner commit 829b6c1ef488856c6a46a2f705f5068062d5f34c Author: Andrew Morton Date: Thu Mar 11 14:04:30 2010 -0800 timer stats: Fix del_timer_sync() and try_to_del_timer_sync() These functions forgot to run timer_stats_timer_clear_start_info(). It's unobvious what effect this has and whether it matters much - we won't be printing it out anyway if the timer's detached. Untested, just an Ingo trollpatch. [ Nevertheless correct - tglx ] Signed-off-by: Andrew Morton Cc: Ingo Molnar Cc: johnstul@us.ibm.com Signed-off-by: Thomas Gleixner commit 80a05b9ffa7dc13f6693902dd8999a2b61a3a0d7 Author: Thomas Gleixner Date: Fri Mar 12 17:34:14 2010 +0100 clockevents: Sanitize min_delta_ns adjustment and prevent overflows The current logic which handles clock events programming failures can increase min_delta_ns unlimited and even can cause overflows. Sanitize it by: - prevent zero increase when min_delta_ns == 1 - limiting min_delta_ns to a jiffie - bail out if the jiffie limit is hit - add retries stats for /proc/timer_list so we can gather data Reported-by: Uwe Kleine-Koenig Signed-off-by: Thomas Gleixner commit 29b2ee5af5f3a02846bd38a1e2121d62ee5f6aca Author: Andrew Clayton Date: Sat Mar 6 00:14:46 2010 +0000 ARM/OMAP: Remove the +x bit from a couple of source files Remove the +x bit from a couple of source files Signed-off-by: Andrew Clayton Signed-off-by: Tony Lindgren commit 0841cb826859a4f14c472cc75a782811310f010e Author: Janusz Krzysztofik Date: Tue Feb 23 15:50:38 2010 +0000 omap: McBSP: Drop unnecessary status/error bit clearing on reg_cacheretrieved register values The MsBSP register cache will never have any error/status flags set, since these flags are never written to the reg_cache. So it is kind of not necessary to clear these flags, which are actually always 0. In other words, clearing the status/error flags are not necessary, since the reg_cache will never got these bits set. We can just write back the register content from the cache as it is when clearing an error condition. Tested on Amstrad Delta. Reported-by: Peter Ujfalusi Signed-off-by: Janusz Krzysztofik Acked-by: Jarkko Nikula Signed-off-by: Tony Lindgren commit 8447b360a3897bdfb0677107564d1dd9ab6e63be Author: Jack Steiner Date: Thu Mar 11 12:43:29 2010 -0600 x86, UV: Fix target_cpus() in x2apic_uv_x.c target_cpu() should initially target all cpus, not just cpu 0. Otherwise systems with lots of disks can exhaust the interrupt vectors on cpu 0 if a large number of disks are discovered before the irq balancer is running. Note: UV code only... Signed-off-by: Jack Steiner LKML-Reference: <20100311184328.GA21433@sgi.com> Signed-off-by: Ingo Molnar commit f11c9c5c259cb2c3d698548dc3936f773ab1f5b9 Author: Edward Shishkin Date: Thu Mar 11 14:09:47 2010 -0800 vfs: improve writeback_inodes_wb() Do not pin/unpin superblock for every inode in writeback_inodes_wb(), pin it for the whole group of inodes which belong to the same superblock and call writeback_sb_inodes() handler for them. Signed-off-by: Edward Shishkin Cc: Jens Axboe Cc: Wu Fengguang Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit c12ec0a2d94001003dfb929ce14c287fca0522b0 Author: Roel Kluin Date: Thu Mar 11 14:09:47 2010 -0800 paride: fix off-by-one test With `while (j++ < PX_SPIN)' j reaches PX_SPIN + 1 after the loop. This is probably unlikely to produce a problem. Signed-off-by: Roel Kluin Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 8d002bdc9f1f9a1220c0d87a7321f0233ace97cd Author: Geert Uytterhoeven Date: Tue Dec 15 21:49:57 2009 +0100 mfd: Several MFD drivers should depend on GENERIC_HARDIRQS commit 5fb4d38b19d95a5f980f0a10adba798f5b92128c ("mfd: Move WM831x to generic IRQ") didn't take into account that genirq support depends on GENERIC_HARDIRQS. Additionally, 2.6.34-rc1 added: - commit 2afa62ea76027b00e472ddb672191e6e15425b43 ("mfd: Use genirq in 88pm860x"). - commit 760e4518788df6762700e6bb9dd8692379f11168 ("mfd: Convert WM8350 to genirq"). - commit 1f1cf8f98cf6588365efeaab8e7e7758aaa77f6e ("mfd: Update irq handler in max8925") Make all of them depend on GENERIC_HARDIRQS to avoid compile errors on architectures that don't support genirq yet. Signed-off-by: Geert Uytterhoeven Acked-by: Mark Brown Signed-off-by: Samuel Ortiz commit a5300dcbbd5d455a1a5978095b8f78af66c540a6 Author: Samuel Ortiz Date: Mon Mar 8 20:07:48 2010 +0100 mfd: Fix sm501 requested region size We should only request for the MFD used region, not the whole thing. Signed-off-by: Samuel Ortiz Tested-by: Paul Mundt Reviewed-by: H Hartley Sweeten commit 964ad81cbd933e5fa310faeec1e923c14651284b Author: David S. Miller Date: Fri Mar 12 00:00:17 2010 -0800 ipconfig: Handle devices which take some time to come up. Some network devices, particularly USB ones, take several seconds to fully init and appear in the device list. If the user turned ipconfig on, they are using it for NFS root or some other early booting purpose. So it makes no sense to just flat out fail immediately if the device isn't found. It also doesn't make sense to just jack up the initial wait to something crazy like 10 seconds. Instead, poll immediately, and then periodically once a second, waiting for a usable device to appear. Fail after 12 seconds. Signed-off-by: David S. Miller Tested-by: Christian Pellegrin commit aa4b1f6e83aaf20997edc4c10e03baf834343e5a Author: Kevin Hilman Date: Wed Mar 10 17:16:31 2010 +0000 OMAP4: fix temporary hacks that break multi-omap PM When building for multi-omap, and OMAP4 is enabled, CONFIG_ARCH_OMAP4 will be true and prevent included code from building/running for OMAP2/3 as well. This problem exists in io.c where some hwmod/PM/SDRC init code is prevented from running even on OMAP2/3 when OMAP4 is included in a multi-OMAP build. A quick glance suggests that this #ifndef is no longer needed in most of the cases. In the remaining cases, the function is wrapped with "if (cpu_is_omap24xx() || cpu_is_omap34xx())" which will be optimized out for OMAP4-only builds. Note that this is only a short-term fix. Longer-term, OMAP4 needs to create init functions for SDRC and hwmod late-init. Tested-by: Santosh Shilimkar Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 54c44fb7df4774280a2deb4ba191cbab84602413 Author: Kevin Hilman Date: Wed Mar 10 17:16:30 2010 +0000 OMAP2: cpu_is_omap2*: fix compile-time removal of unused code Currently if omap2420 is defined but not omap2430, cpu_is_omap2430() is still defined as a macro, instead of #define'd to zero. This results in conditional cpu_is_omap2430() code still being compiled, and leads to possible compile/link errors. In particular for hwmod init. To fix, add extra #ifdefs to CPU check macros to ensure that the is_omap* macros are zero for each OMAP2 if they are not configured into the kernel. Tested-by: Santosh Shilimkar Signed-off-by: Kevin Hilman Signed-off-by: Tony Lindgren commit 03d5671dde04a186471969d73cfc89ee02664c2c Author: Grazvydas Ignotas Date: Wed Mar 10 11:13:53 2010 +0000 omap3: pandora: add missing i2c3 board_info This will allow BQ27500 fuel gauge to function. Signed-off-by: Grazvydas Ignotas Signed-off-by: Tony Lindgren commit 8185e468446e1e2b383bd61210702fffaed3ddc0 Author: Aaro Koskinen Date: Wed Mar 3 16:24:53 2010 +0000 omap: mach-omap2/io.c: fix function declarations Get rid of the following warnings: warning: non-ANSI function declaration of function [...] Signed-off-by: Aaro Koskinen Signed-off-by: Tony Lindgren commit 9f29006ae8c85746e5a52d557f689359149a0793 Author: Chien Tung Date: Wed Mar 3 19:13:28 2010 +0000 RDMA/nes: Clear stall bit before destroying NIC QP Clear the stall bit to drop any incoming packets while destroying NIC QP. This will prevent a chip resource leak. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 883c699241f48667ff59277d8c20790868fd4829 Author: Faisal Latif Date: Tue Mar 2 17:22:51 2010 -0600 RDMA/nes: Set assume_aligned_header bit Set assume_aligned_header bit in QP context as requested by hardware group. Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit f00d649703fbedbdeb33d63c4c4731656e11297c Author: Sergio Aguirre Date: Wed Mar 3 16:21:08 2010 +0000 omap: Fix gpio_resume_after_retention For omap4 case, this was wrongly writing GPIO_LEVELDETECTx registers with OMAP24XX_ offset and OMAP4_ offset. Bug introduced in commit: commit 3f1686a9bfe74979c6ad538c78039730f665f77e Author: Tony Lindgren Date: Mon Feb 15 09:27:25 2010 -0800 omap: Fix gpio.c for multi-omap for omap4 Signed-off-by: Sergio Aguirre Signed-off-by: Tony Lindgren commit 228893f9d2b70a7416267050ce03bfd9eb624713 Author: Enric Balletbo i Serra Date: Mon Mar 1 11:18:08 2010 +0000 omap3: Fix support for the LEDs connected to GPIO outputs on IGEP v2board Select CONFIG_LEDS_GPIO to enable IGEP v2 LED support and control of supported LEDs from userspace. Otherwise GPIO LEDs are exported as GPIO 26, 27 and 28 using the gpiolib framework. Signed-off-by: Enric Balletbo i Serra Signed-off-by: Tony Lindgren commit 00df9384ccfa02c062449e381c051bcfe97cdf6f Author: Andrea Gelmini Date: Sat Feb 27 16:51:38 2010 +0000 omap: Checkpatch cleanup for blizzard.h arch/arm/plat-omap/include/plat/blizzard.h:9: ERROR: spaces prohibited around that ':' (ctx:WxW) Signed-off-by: Andrea Gelmini Signed-off-by: Tony Lindgren commit 29b9a218d0be8e207ddeacdc68eb1e4b7f54b85a Author: Aaro Koskinen Date: Fri Feb 26 10:25:28 2010 +0000 omap: pass the reboot command to the boot loader This patch follows the commit be093beb608edf821b45fe00a8a080fb5c6ed4af by Russell King: OMAP wishes to pass state to the boot loader upon reboot in order to instruct it whether to wait for USB-based reflashing or not. There is already a facility to do this via the reboot() syscall, except we ignore the string passed to machine_restart(). The patch adds the missing parameter to omap1_arch_reset() and omap_prcm_arch_reset(), and modifies the latter to pass the reboot command parameter to the boot loader instead of reboot mode (which is for kernel internal use only and cannot be modified by the userspace). Signed-off-by: Aaro Koskinen Signed-off-by: Tony Lindgren commit 26e4248359c6bf2da4a07767f6e12f1df426ab0a Author: Suman Anna Date: Mon Jan 25 18:27:21 2010 -0600 omap2/3/4: mailbox: remove compiler warning Remove a compiler warning in device-specific mailbox module. Signed-off-by: Suman Anna Signed-off-by: Tony Lindgren commit 21b90340207d324f92111e25ead1752533eeb9ca Author: Thomas Weber Date: Thu Feb 25 09:40:19 2010 +0000 OMAP2: serial.c: Fix number of uarts in early_init The omap_serial_early_init prints the following errors: Could not get uart4_ick Could not get uart4_fck because all the uarts available in omap_uart[] will be initialized. Only omap4430 and omap3630 have 4 uarts at the moment. This patch reduces the number of uarts when cpu is not omap4430 or omap3630. Signed-off-by: Thomas Weber Signed-off-by: Tony Lindgren commit 69960a275efc9d82797bbbe2460a2d6c9cace314 Author: Steve Wise Date: Wed Mar 3 15:06:34 2010 +0000 RDMA/cxgb3: Wait at least one schedule cycle during device removal During a hot-plug LLD removal event or an EEH error event, iw_cxgb3 must ensure that any/all threads that might be in a cxgb3 exported function must return from the function before iw_cxgb3 returns from its event processing. Do this by calling synchronize_net(). Signed-off-by: Steve Wise Signed-off-by: Roland Dreier commit 070e140c4c536df33a9870318791b2ca8f7dbfcf Author: Steve Wise Date: Thu Mar 4 18:18:18 2010 +0000 IB/mad: Ignore iWARP devices on device removal When an iWARP device is unloaded, the ib_mad module logs errors. It should be ignoring iWARP devices on device removal just like it does on device add. Signed-off-by: Steve Wise Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit a48f509b26cec53338f4b0abd52ecea35e3974b8 Author: Or Gerlitz Date: Thu Mar 4 13:17:37 2010 +0000 IPoIB: Include return code in trace message for ib_post_send() failures Print the return code of ib_post_send() if it fails to make these debugging messages more useful. Signed-off-by: Or Gerlitz Signed-off-by: Roland Dreier commit f0dc117abdfa9a0e96c3d013d836460ef3cd08c7 Author: Eli Cohen Date: Wed Mar 3 12:27:52 2010 +0000 IPoIB: Fix TX queue lockup with mixed UD/CM traffic The IPoIB UD QP reports send completions to priv->send_cq, which is usually left unarmed; it only gets armed when the number of outstanding send requests reaches the size of the TX queue. This arming is done only in the send path for the UD QP. However, when sending CM packets, the net queue may be stopped for the same reasons but no measures are taken to recover the UD path from a lockup. Consider this scenario: a host sends high rate of both CM and UD packets, with a TX queue length of N. If at some time the number of outstanding UD packets is more than N/2 and the overall outstanding packets is N-1, and CM sends a packet (making the number of outstanding sends equal N), the TX queue will be stopped. When all the CM packets complete, the number of outstanding packets will still be higher than N/2 so the TX queue will not be restarted. Fix this by calling ib_req_notify_cq() when the queue is stopped in the CM path. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit 9e542f37ce20428170010baa36a0ecbfcc0b29bb Author: Tony Lindgren Date: Thu Mar 11 11:06:56 2010 -0800 omap: Enable PM_RUNTIME in defconfigs to avoid USB compile errors While waiting for the related USB patch, fix compile by enabling it in the defconfigs. As discussed at: http://thread.gmane.org/gmane.linux.usb.general/27432/focus=4460 Otherwise we'll get errors like: drivers/usb/core/hcd.c:1892: error: 'pm_wq' undeclared (first use in this function) drivers/usb/core/hcd.c:1892: error: (Each undeclared identifier is reported only once drivers/usb/core/hcd.c:1892: error: for each function it appears in.) Signed-off-by: Tony Lindgren commit 9f591fd76afdc0e5192e9ed00a36f8efc0b4dfe6 Author: Arnaldo Carvalho de Melo Date: Thu Mar 11 15:53:11 2010 -0300 perf record: Don't try to find buildids in a zero sized file Fixing this symptom: [acme@mica linux-2.6-tip]$ perf record -a -f Fatal: Permission error - are you root? Bus error [acme@mica linux-2.6-tip]$ I.e. if for some reason no data is collected, in this case a non root user trying to do systemwide profiling, no data will be collected, and then we end up trying to mmap a zero sized file and access the file header, b00m. Reported-by: Ingo Molnar Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras Cc: LKML-Reference: <1268333592-30872-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 79cf5bff25bc30c31fd7e4782c36947ec4bace7f Author: Tony Lindgren Date: Wed Mar 10 18:55:31 2010 -0800 omap2: Update n8x0 defconfig to test multi-omap and DMA api changes Recent DMA API changes broke compile for tusb6010. While testing the fixes for tusb6010, I had to update the n8x0 defconfig quite a bit. Might as well merge it while at it to make it more usable as we're using this to test the multi-omap booting between V6 and V7 ARMs. Also, anybody using n8x0 with a current kernel will most likely want to mount root on the MMC instead of the onenand to keep the Maemo install intact. Enable I2C, REGULATOR, MMC, MFD, PM, and USB. Also change the root to /dev/mmcblk0p2 instead of the onenand. Signed-off-by: Tony Lindgren commit 97b9ad1633ed3724e0563d250850763d20275da7 Author: Francisco Alecrim Date: Wed Mar 10 18:52:24 2010 -0800 omap2: add USB initialization for tusb6010 Based on Kalle's and Tony's patches. Some variables re-organized and unused code removed. Signed-off-by: Kalle Valo Signed-off-by: Francisco Alecrim [tony@atomide.com: this is needed to fix the related tusb6010 DMA API changes] Signed-off-by: Tony Lindgren commit d660f9a26ef81c3bbced92514ffbe82e1b882ee1 Author: Santosh Shilimkar Date: Thu Mar 11 07:33:46 2010 +0000 omap4: Fix build break by moving omap_smc1 into a separate .S This patch moves omap_smc1 function to a seperate omap44xx-smc.S file and sets compile flags as -Wa,-march=armv7-a. This fix was suggested by Tony Lindgren Signed-off-by: Santosh Shilimkar [tony@atomide.com: otherwise multi-omap build with V6 and V7 breaks] Signed-off-by: Tony Lindgren commit 6f69a1815a93722b360a1439934856e766509002 Author: Felipe Balbi Date: Thu Mar 4 09:45:53 2010 +0200 omap2/3/4: ehci: avoid compiler error with touchbook the early_param() call in board-omap3touchbook.c expands to: static const char __setup_str_early_touchbook_revision[] __section(.init.rodata) _aligned(1) = tbr; [...] and we have a non-const variable being added to the same section: static struct ehci_hcd_omap_platform_data ehci_pdata __section(.init.rodata); because of that, gcc generates a section type conflict which can (and actually should) be avoided by marking const every variable marked with __initconst. This patch fixes that for the ehci_hdc_omap_platform_data. Signed-off-by: Felipe Balbi Signed-off-by: Tony Lindgren commit 720e7749279bde0d08684b1bb4e7a2eedeec6394 Author: Sachin Prabhu Date: Thu Mar 11 12:24:45 2010 -0500 GFS2: Skip check for mandatory locks when unlocking gfs2_lock() will skip locks on file which have mode set to 02666. This is a problem in cases where the mode of the file is changed after a process has obtained a lock on the file. Such a lock will be skipped and will result in a BUG in locks_remove_flock(). gfs2_lock() should skip the check for mandatory locks when unlocking a file. Signed-off-by: Sachin Prabhu Signed-off-by: Steven Whitehouse commit 39ad2bbb5900d1bc9ae8f06cebb4cb2529d9e42e Author: Lars Ellenberg Date: Thu Mar 4 15:52:30 2010 +0100 drbd: fix al-to-on-disk-bitmap for 4k logical_block_size Up to now, applying the in-core activity-log to the on-disk bitmap did not care for logical_block_size. On logical_block_size != 512 byte, this very likely results in misalligned block access and spurious "io errors". We now simply always submit aligned whole 4k blocks, fixing this for logical block sizes of 512, 1024, 2048 and 4096. For even larger logical block sizes, this won't work. But I'm not aware of devices with such properties being available. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 1f55243024087b56aef0b1e6d9c0ea89c76f0a6b Author: Philipp Reisner Date: Thu Mar 4 15:51:01 2010 +0100 drbd: Renamed overwrite_peer to primary_force Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit d10a33c68b8526d95ef6ee72b371c392d48df4d3 Author: Philipp Reisner Date: Thu Mar 4 15:11:39 2010 +0100 drbd: Forcing primary should also work for Consistent disks [Bugz 266] Up to now this only worked for Outdated and Inconsistent disks, that it did not worked for Consistent disks was an inconsistent omission. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit d0c3f60f3611ceac9b1e4fdffd1497337568e7cb Author: Philipp Reisner Date: Tue Mar 2 15:06:45 2010 +0100 drbd: Make sure we do not send state updates during an empty resync [Bugz 271] This is a race condition that existed for ages. The previous commit reduces the window, this one closes it. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 309d1608cce32903d67d47e7545e232c400b6aa0 Author: Philipp Reisner Date: Tue Mar 2 15:03:44 2010 +0100 drbd: Reduce the time an empty resync takes usually This mitigates changes introduced with commit: http://git.drbd.org/?p=drbd-8.3.git;a=commit;h=4b6803a3276652da3737 Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit c42b6cf4b38c9726d4b46c48d04197c9ca74d773 Author: Lars Ellenberg Date: Wed Mar 3 02:44:11 2010 +0100 drbd: add missing drbd command names to avoid in error messages cmdname() should map command number to its human readable representation. The string table was incomplete, though. Maybe rather do a switch() block, and let the compiler help us to keep it complete? Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 4589d7f829951c1713ef5a4ad1a9bb563da329b5 Author: Lars Ellenberg Date: Wed Mar 3 02:25:33 2010 +0100 drbd_disconnect: grab meta.socket mutex as well Fixes a race and potential kernel panic if e.g. the worker was just about to send a few P_RS_IS_IN_SYNC via the meta socket for checksum based resync, while the receiver destroys the sockets in drbd_disconnect. To make sure no-one is using the meta socket, it is not enough to stop the asender... Grab the meta socket mutex before destroying it. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 676396d545350a70d922605ec23c2ed26124334a Author: Lars Ellenberg Date: Wed Mar 3 02:08:22 2010 +0100 fix unit of rs_same_csums accounting Depending on resync request size, we need to account for more than one bit. Impact: cosmetic If SyncTarget reported correctly 100% equal checksums, the SyncSource usually reported 12% equal checksums instead, because it only counted requests, we typically do 32k resync requests, and the bitmap granularity is still 4k. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 580b9767dbdf2c049c4d05330c70ea786ef01016 Author: Lars Ellenberg Date: Fri Feb 26 23:15:23 2010 +0100 drbd: fix broken state change after split-brain attach while connected Situation: we have diverging data sets, i.e. we had a split brain somewhen, but currently are connected, one node diskless. Then we try to attach that disk, figure it is consistent, but has a diverging data set, we refuse to attach. This led to strange state changes: 22:18:35 bb drbd1: peer( Unknown -> Primary ) conn( WFReportParams -> Connected) pdsk( DUnknown -> UpToDate ) 22:19:30 bb drbd1: disk( Diskless -> Attaching ) 22:19:30 bb drbd1: disk( Attaching -> Negotiating ) 22:19:30 bb drbd1: drbd_sync_handshake: 22:19:30 bb drbd1: self 97BF25798B9D5222:F33D1F62ADE698DD:4269796F9D027C83:AC45D8B5C3C1BF93 bits:19449 flags:0 22:19:30 bb drbd1: peer 280DFB6E125465D3:F33D1F62ADE698DC:4269796F9D027C82:AC45D8B5C3C1BF93 bits:2575806 flags:0 22:19:30 bb drbd1: uuid_compare()=100 by rule 90 22:19:30 bb drbd1: Split-Brain detected, dropping connection! 22:19:30 bb drbd1: disk( Negotiating -> Diskless ) while the other side says: 22:19:30 aa drbd1: Split-Brain detected, dropping connection! 22:19:30 aa drbd1: Disk attach process on the peer node was aborted. 22:19:30 aa drbd1: conn( Connected -> TOO_LARGE ) pdsk( Diskless -> Consistent ) This should be fixed now. Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 4aa83b7bf122106669346eef40632289f540653f Author: Lars Ellenberg Date: Fri Feb 26 16:53:24 2010 +0100 drbd: fix NULL pointer dereference on 4k hard sect size we still don't support 4k 'physical' sectors 'natively', but use a read-modify-write workaround. And we even tried to use the extra page before we allocated it :( Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit cf14c2e987ba0a09a7b09be2ecd55af0bc9c17b4 Author: Philipp Reisner Date: Tue Feb 2 21:03:50 2010 +0100 drbd: --dry-run option for drbdsetup net ( drbdadm -- --dry-run connect ) Signed-off-by: Philipp Reisner Signed-off-by: Lars Ellenberg commit 3d07467b7aa91623b31d7b5888a123a2c8c8e9cc Author: Peter Zijlstra Date: Wed Mar 10 17:07:24 2010 +0100 sched: Fix pick_next_highest_task_rt() for cgroups Since pick_next_highest_task_rt() already iterates all the cgroups and is really only interested in tasks, skip over the !task entries. Reported-by: Dhaval Giani Signed-off-by: Peter Zijlstra Tested-by: Dhaval Giani LKML-Reference: Signed-off-by: Ingo Molnar commit 639fe4b12f92b54c9c3b38c82cdafaa38cfd3e63 Author: Xiao Guangrong Date: Thu Mar 11 15:30:35 2010 +0800 perf: export perf_trace_regs and perf_arch_fetch_caller_regs Export perf_trace_regs and perf_arch_fetch_caller_regs since module will use these. Signed-off-by: Xiao Guangrong [ use EXPORT_PER_CPU_SYMBOL_GPL() ] Signed-off-by: Peter Zijlstra LKML-Reference: <4B989C1B.2090407@cn.fujitsu.com> Signed-off-by: Ingo Molnar commit 45e16a6834b6af098702e5ea6c9a40de42ff77d8 Author: Peter Zijlstra Date: Thu Mar 11 13:40:30 2010 +0100 perf, x86: Fix hw_perf_enable() event assignment What happens is that we schedule badly like: <...>-1987 [019] 280.252808: x86_pmu_start: event-46/1300c0: idx: 0 <...>-1987 [019] 280.252811: x86_pmu_start: event-47/1300c0: idx: 1 <...>-1987 [019] 280.252812: x86_pmu_start: event-48/1300c0: idx: 2 <...>-1987 [019] 280.252813: x86_pmu_start: event-49/1300c0: idx: 3 <...>-1987 [019] 280.252814: x86_pmu_start: event-50/1300c0: idx: 32 <...>-1987 [019] 280.252825: x86_pmu_stop: event-46/1300c0: idx: 0 <...>-1987 [019] 280.252826: x86_pmu_stop: event-47/1300c0: idx: 1 <...>-1987 [019] 280.252827: x86_pmu_stop: event-48/1300c0: idx: 2 <...>-1987 [019] 280.252828: x86_pmu_stop: event-49/1300c0: idx: 3 <...>-1987 [019] 280.252829: x86_pmu_stop: event-50/1300c0: idx: 32 <...>-1987 [019] 280.252834: x86_pmu_start: event-47/1300c0: idx: 1 <...>-1987 [019] 280.252834: x86_pmu_start: event-48/1300c0: idx: 2 <...>-1987 [019] 280.252835: x86_pmu_start: event-49/1300c0: idx: 3 <...>-1987 [019] 280.252836: x86_pmu_start: event-50/1300c0: idx: 32 <...>-1987 [019] 280.252837: x86_pmu_start: event-51/1300c0: idx: 32 *FAIL* This happens because we only iterate the n_running events in the first pass, and reset their index to -1 if they don't match to force a re-assignment. Now, in our RR example, n_running == 0 because we fully unscheduled, so event-50 will retain its idx==32, even though in scheduling it will have gotten idx=0, and we don't trigger the re-assign path. The easiest way to fix this is the below patch, which simply validates the full assignment in the second pass. Reported-by: Stephane Eranian Signed-off-by: Peter Zijlstra LKML-Reference: <1268311069.5037.31.camel@laptop> Signed-off-by: Ingo Molnar commit 85cfabbcd10f8d112feee6e2ec64ee78033b6d3c Author: Peter Zijlstra Date: Thu Mar 11 13:06:56 2010 +0100 perf, ppc: Fix compile error due to new cpu notifiers Fix: arch/powerpc/kernel/perf_event.c:1334: error: 'power_pmu_notifier' undeclared (first use in this function) arch/powerpc/kernel/perf_event.c:1334: error: (Each undeclared identifier is reported only once arch/powerpc/kernel/perf_event.c:1334: error: for each function it appears in.) arch/powerpc/kernel/perf_event.c:1334: error: implicit declaration of function 'power_pmu_notifier' arch/powerpc/kernel/perf_event.c:1334: error: implicit declaration of function 'register_cpu_notifier' Due to commit 3f6da390 (perf: Rework and fix the arch CPU-hotplug hooks). Signed-off-by: Peter Zijlstra LKML-Reference: Signed-off-by: Ingo Molnar commit bb6fbc4548b9ae7ebbd06ef72f00229df259d217 Author: Trond Myklebust Date: Thu Mar 11 09:19:35 2010 -0500 NFS: Avoid a deadlock in nfs_release_page J.R. Okajima reports the following deadlock: INFO: task kswapd0:305 blocked for more than 120 seconds. "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. kswapd0 D 0000000000000001 0 305 2 0x00000000 ffff88001f21d4f0 0000000000000046 ffff88001fdea680 ffff88001f21c000 ffff88001f21dfd8 ffff88001f21c000 ffff88001f21dfd8 ffff88001f21dfd8 ffff88001fdea040 0000000000014c00 0000000000000001 ffff88001fdea040 Call Trace: [] io_schedule+0x4d/0x70 [] sync_page+0x65/0xa0 [] __wait_on_bit_lock+0x52/0xb0 [] ? sync_page+0x0/0xa0 [] __lock_page+0x64/0x70 [] ? wake_bit_function+0x0/0x40 [] truncate_inode_pages_range+0x344/0x4a0 [] truncate_inode_pages+0x10/0x20 [] generic_delete_inode+0x15e/0x190 [] generic_drop_inode+0x5d/0x80 [] iput+0x78/0x80 [] nfs_dentry_iput+0x38/0x50 [] dentry_iput+0x84/0x110 [] d_kill+0x2e/0x60 [] dput+0x7a/0x170 [] path_put+0x15/0x40 [] __put_nfs_open_context+0xa4/0xb0 [] ? nfs_free_request+0x0/0x50 [] put_nfs_open_context+0xb/0x10 [] nfs_free_request+0x29/0x50 [] kref_put+0x8e/0xe0 [] nfs_release_request+0x14/0x20 [] nfs_find_and_lock_request+0x89/0xa0 [] nfs_wb_page+0x80/0x110 [] nfs_release_page+0x70/0x90 [] try_to_release_page+0x5e/0x80 [] shrink_page_list+0x638/0x860 [] shrink_zone+0x63e/0xc40 We can fix this by making the call to put_nfs_open_context() happen when we actually remove the write request from the inode (which is done by the nfsiod thread in this case). Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit d6dd692168c049196f54edc2e8227c60702bb1d2 Author: Mike Travis Date: Fri Mar 5 13:10:38 2010 -0600 x86: Reduce per cpu warning boot up messages Reduce warning message output to one line only instead of per cpu. Signed-of-by: Mike Travis Cc: Rusty Russell Cc: Frederic Weisbecker Cc: Brian Gerst Cc: x86@kernel.org Signed-off-by: Ingo Molnar commit 10fb7f1f2d311b4d2e5d881fe2d83f1c281100f9 Author: Mike Travis Date: Fri Mar 5 13:10:36 2010 -0600 x86: Reduce per cpu MCA boot up messages Don't write per cpu MCA boot up messages. Signed-of-by: Mike Travis Cc: Hidetoshi Seto Cc: x86@kernel.org Signed-off-by: Ingo Molnar commit 841d6e8c4e969b2cdd80f7216af34d932c41b1a6 Author: Michal Simek Date: Fri Jan 22 14:28:36 2010 +0100 microblaze: entry.S use delay slot for return handlers Signed-off-by: Michal Simek commit 8633bebc63ba5752254925f8b49a19102df1a0ff Author: Michal Simek Date: Mon Feb 22 13:24:43 2010 +0100 microblaze: Save current task directly Signed-off-by: Michal Simek commit b1d70c62fff3e8b6224699801c610c244882685a Author: Michal Simek Date: Fri Jan 22 10:24:06 2010 +0100 microblaze: Simplify entry.S - save/restore r3/r4 - ret_from_trap There is possible to save r3/r4 at the beggining of user part before calling handlers and at the end restore it. Signed-off-by: Michal Simek commit 79bf3a137617e6deeac411c39f1660b7e91d6348 Author: Michal Simek Date: Wed Jan 20 15:17:08 2010 +0100 microblaze: PCI early support for noMMU system Signed-off-by: Michal Simek commit 1be53e084a5bd8f59850348e1066d25aa0200031 Author: Michal Simek Date: Thu Mar 11 14:15:48 2010 +0100 microblaze: Fix dma alloc and free coherent dma functions We have to use consistent code to be able to do coherent dma function. In consistent code is used cache inhibit page mapping. Xilinx reported that there is bug in Microblaze for WB and d-cache_always use option. Microblaze 7.30.a should be first version where is this bug removed. Signed-off-by: Michal Simek commit 3a0d7a4dd5b3a6545e5764735b48ab84e64af723 Author: Michal Simek Date: Mon Feb 22 12:16:08 2010 +0100 microblaze: Add consistent code Remove ancient Kconfig option for consistent code. MMU uses cache inhibit pages. noMMU uses UNCACHE SHADOW feature where is used double ram size. For example: Physical ram is 256MB and cache are setup to cover the same size. But if you setup in HW that size is 512MB and cache covers 256MB than you can use adresses from 256-512MB without caches and correspond with 0-256MB with cache. That's why I am using dcache base/high addresses to find out uncache area. Signed-off-by: Michal Simek commit ae8ee1505162f47f8b8cf7a44c26ea6b172e1445 Author: Michal Simek Date: Mon Feb 22 12:09:02 2010 +0100 microblaze: pgtable.h: move consistent functions Consistent functions will be used for noMMU and MMU kernels. Signed-off-by: Michal Simek commit b8a84059b5c3a3b9ba3973dcdab1e1d9cc4975e0 Author: Michal Simek Date: Mon Feb 22 11:33:07 2010 +0100 microblaze: Remove ancient Kconfig option for consistent mapping We don't use CONSISTENT option from Kconfig that's why I am removing them. Signed-off-by: Michal Simek commit cca5613f0278fb0ae0aba285a496add55d0cabab Author: Michal Simek Date: Mon Feb 22 11:27:27 2010 +0100 microblaze: Remove VMALLOC_VMADDR Signed-off-by: Michal Simek commit 22607a28213068af113b46862eafa785f00a482e Author: Michal Simek Date: Mon Feb 15 16:41:40 2010 +0100 microblaze: Add define for ASM_LOOP It is default option but both options must be measured. Signed-off-by: Michal Simek commit dcbae4be907488df5e1cc8a89b7df1a0565c257c Author: Michal Simek Date: Tue Feb 9 09:25:08 2010 +0100 microblaze: Preliminary support for dma drivers I found several problems for ll_temac driver and on system with WB. This early fix should fix it. I will clean this patch before I will add it to mainline Signed-off-by: Michal Simek commit 4c912c1a33abb67aefecb5ed8bd73d91887c4977 Author: Frans Pop Date: Sat Feb 6 18:47:12 2010 +0100 microblaze: remove trailing space in messages Signed-off-by: Frans Pop Cc: microblaze-uclinux@itee.uq.edu.au Cc: Michal Simek Signed-off-by: Michal Simek commit e786c6ad2ba7f1f9b9cc9d75d5e7ba7d9cdc550a Author: Michal Simek Date: Mon Feb 8 14:48:16 2010 +0100 microblaze: Use generic show_mem() Remove arch-specific show_mem() in favor of the generic version. It is based on powerpc patch. bda2fa535564ace56a395d5b65c6dc81305401fa Signed-off-by: Michal Simek commit 137d0795a72786fa33e6900cb2ac2eae81f4b6ee Author: Michal Simek Date: Thu Feb 4 11:42:24 2010 +0100 microblaze: Change temp register for cmdline For copy was used r7 register when CONFIG_CMDLINE_BOOL option is enabled. But r7 stores pointer to fdt that's why machine_early_init not detect compiled-in DTB. I also moved kernel PID setup to have TLB init in one block Signed-off-by: Michal Simek commit d79f3b06a9e40b382bd5d5ae8dea9b3210eda9ce Author: Michal Simek Date: Mon Feb 8 12:13:10 2010 +0100 microblaze: Preliminary support for dma drivers I found several problems for ll_temac driver and on system with WB. This early fix should fix it. I will clean this patch before I will add it to mainline Signed-off-by: Michal Simek commit 7ae5f21361fea11f58c398701da635f778635d13 Author: John Kacur Date: Thu Mar 11 13:57:00 2010 +0100 perf: Make the install relative to DESTDIR if specified Without this change, the install path is relative to prefix/DESTDIR where prefix is automatically set to $HOME. This can produce unexpected results. For example: make -C tools/perf DESTDIR=/home/jkacur/tmp install-man creates the directory: /home/jkacur/home/jkacur/tmp/share/... instead of the expected: /home/jkacur/tmp/share/... Signed-off-by: John Kacur Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo Cc: Frederic Weisbecker Cc: Tom Zanussi Cc: Kyle McMartin Cc: LKML-Reference: <1268312220-12880-1-git-send-email-jkacur@redhat.com> Signed-off-by: Ingo Molnar commit 407c1da07d5afa001ed0fdb8f379c00bbd09990a Author: Michal Simek Date: Tue Jan 12 14:51:04 2010 +0100 microblaze: Move cache function to cache.c It is better to have init cache handling on one place. Signed-off-by: Michal Simek commit 777537905744c28b02c283692e7f75f5445c1afa Author: Michal Simek Date: Tue Jan 12 09:55:10 2010 +0100 microblaze: Add support from PREEMPT This patch add core PREEMPT support for Microblaze. I tried to trace it via tracers and I was able to see any output. I also added low level debug functions to see if that code is called. Signed-off-by: Michal Simek commit 83ff56f46a8532488ee364bb93a9cb2a59490d33 Author: Masami Hiramatsu Date: Tue Mar 9 10:22:19 2010 -0500 kprobes: Calculate the index correctly when freeing the out-of-line execution slot From : Ananth N Mavinakayanahalli When freeing the instruction slot, the arithmetic to calculate the index of the slot in the page needs to account for the total size of the instruction on the various architectures. Calculate the index correctly when freeing the out-of-line execution slot. Reported-by: Sachin Sant Reported-by: Heiko Carstens Signed-off-by: Ananth N Mavinakayanahalli Signed-off-by: Masami Hiramatsu LKML-Reference: <4B9667AB.9050507@redhat.com> Signed-off-by: Ingo Molnar commit 733cc2183116b216abb52e709709bb0e626c9a75 Author: Michal Simek Date: Mon Jan 18 15:27:11 2010 +0100 microblaze: Add support for Xilinx PCI host bridge This patch is based on powerpc patch 64f16502475ddf663169369fffff6da9b10ea9fb We did some cleanups and removed powerpc parts. There is one new debug early listing function too. Exclude function is only in Debug options. We tested in on custom board. Signed-off-by: Michal Simek commit a6475c132278c1be158a13872c233aeab8a00176 Author: Michal Simek Date: Mon Jan 18 15:27:10 2010 +0100 microblaze: Enable PCI, missing files There are two parts of changes. The first is just enable PCI in Makefiles and in Kconfig. The second is the rest of missing files. I didn't want to add it with previous patch because that patch is too big. Current Microblaze toolchain has problem with weak symbols that's why is necessary to apply this changes to be possible to compile pci support. Xilinx knows about this problem. Signed-off-by: Michal Simek commit d3afa58c20b65155af9f0d5eaa59fe2d367ac432 Author: Michal Simek Date: Mon Jan 18 14:42:34 2010 +0100 microblaze: Add core PCI files Add pci-common.h and pci32.c. Files are based on PPC version. There are removed ppc specific parts and the code was completely clean. Signed-off-by: Michal Simek commit 2ed975b43c1bf09652795a355c4e820e21c4ec44 Author: Michal Simek Date: Mon Jan 18 14:25:08 2010 +0100 microblaze: Add pci-bridge.h Add pci-bridge.h for Microblaze. It is based on powerpc header file. My changes: I removed PPC_ prefix from constants Removed ppc64 specifis parts Signed-off-by: Michal Simek commit 830980a0a83e0b5af97c31f24dc7f1b57aa9ccea Author: Michal Simek Date: Mon Jan 18 14:23:16 2010 +0100 microblaze: Add pci.h Add pci.h for microblaze. It is based on powerpc pci.h Signed-off-by: Michal Simek commit 2ddafeab6f159640299d17fb9b73b57f65011d85 Author: Michal Simek Date: Thu Jan 14 15:40:11 2010 +0100 microblaze: io.h include asm-generic/iomap.h I need to use generic/iomap.h for PCI that's why is necessary to include it and fix ioport_{map,unmap} functions. Signed-off-by: Michal Simek commit ab3b3aa5dd01b3aaa6b15caee113b21b1b6520c4 Author: Dan Carpenter Date: Sat Mar 6 14:17:52 2010 +0300 sched: Cleanup: remove unused variable in try_to_wake_up() We haven't used the "orig_rq" variable since 055a00865d "Fix/add missing update_rq_clock() calls" Signed-off-by: Dan Carpenter Cc: Peter Zijlstra Cc: Andreas Herrmann Cc: Gautham R Shenoy Cc: efault@gmx.de LKML-Reference: <20100306111752.GL4958@bicker> Signed-off-by: Ingo Molnar commit c6ba01a4c7806d134c8d483525997559071d0990 Author: Michal Simek Date: Thu Jan 14 15:16:31 2010 +0100 microblaze: Add irq_create_{of_,}mapping functions Support function for PCI. We don't use any advance mapping mechanism that's why implementation is simple. Signed-off-by: Michal Simek commit a84642a339235020e6dccc022de27055f1fa9340 Author: Michal Simek Date: Thu Jan 14 17:03:49 2010 +0100 microblaze: Add {z,}alloc_maybe_bootmem functions I will need {z,}alloc_maybe_bootmem functions for pci patches Signed-off-by: Michal Simek commit 2549edd353196d7de9c18e08146d7a8836f97235 Author: Michal Simek Date: Wed Jan 20 14:36:24 2010 +0100 microblaze: Implement __dma_sync_page There is necessary to do some cache handling for dma operations. Signed-off-by: Michal Simek commit ccfe27d7000668b02d10fc3e06aa49e3e3603162 Author: Michal Simek Date: Thu Jan 14 11:21:02 2010 +0100 microblaze: Support DMA Add DMA support for Microblaze. There are some part of this new feature: 1. Basic DMA support 2. Enable DMA debug option 3. Setup notifier Ad 1. dma-mapping come from powerpc and x86 version and it is based on generic dma-mapping-common.h Ad 2. DMA support debug features which is used in generic file. For more information please look at Documentation/DMA-API.txt Ad 3. notifier is very important to setup dma_ops. Without this part for example ll_temac driver failed because there are no setup dma operations. Signed-off-by: Michal Simek commit 915a0b575fdb2376135ed9334b3ccb1eb51db622 Merge: e02c4fd 0e95017 Author: Ingo Molnar Date: Thu Mar 11 13:39:33 2010 +0100 Merge branch 'tip/tracing/core' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent commit f56e8a0765cc4374e02f4e3a79e2427b5096b075 Author: Paul E. McKenney Date: Fri Mar 5 15:03:27 2010 -0800 x86/mce: Fix RCU lockdep splats Create an rcu_dereference_check_mce() that checks for RCU-sched read side and mce_read_mutex being held on update side. Replace uses of rcu_dereference() in arch/x86/kernel/cpu/mcheck/mce.c with this new macro. Signed-off-by: Paul E. McKenney Cc: "H. Peter Anvin" Cc: x86@kernel.org 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: <1267830207-9474-3-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 007b09243b099811124f69d492adeebe9e439f96 Author: Paul E. McKenney Date: Fri Mar 5 15:03:26 2010 -0800 rcu: Increase RCU CPU stall timeouts if PROVE_RCU CONFIG_PROVE_RCU imposes additional overhead on the kernel, so increase the RCU CPU stall timeouts in an attempt to allow for this effect. 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: <1267830207-9474-2-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit 3f379b03fbfddd20536389a85c6456f8233d1f8d Author: Paul E. McKenney Date: Fri Mar 5 15:03:25 2010 -0800 ftrace: Replace read_barrier_depends() with rcu_dereference_raw() Replace the calls to read_barrier_depends() in ftrace_list_func() with rcu_dereference_raw() to improve readability. The reason that we use rcu_dereference_raw() here is that removed entries are never freed, instead they are simply leaked. This is one of a very few cases where use of rcu_dereference_raw() is the long-term right answer. And I don't yet know of any others. ;-) Signed-off-by: Paul E. McKenney Acked-by: Steven Rostedt Cc: Frederic Weisbecker 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: Valdis.Kletnieks@vt.edu Cc: dhowells@redhat.com LKML-Reference: <1267830207-9474-1-git-send-email-paulmck@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar commit a12b51c478899fe0b7e874a559b05ba35f1128ee Author: Paul Mackerras Date: Wed Mar 10 20:36:09 2010 +1100 perf tools: Fix sparse CPU numbering related bugs At present, the perf subcommands that do system-wide monitoring (perf stat, perf record and perf top) don't work properly unless the online cpus are numbered 0, 1, ..., N-1. These tools ask for the number of online cpus with sysconf(_SC_NPROCESSORS_ONLN) and then try to create events for cpus 0, 1, ..., N-1. This creates problems for systems where the online cpus are numbered sparsely. For example, a POWER6 system in single-threaded mode (i.e. only running 1 hardware thread per core) will have only even-numbered cpus online. This fixes the problem by reading the /sys/devices/system/cpu/online file to find out which cpus are online. The code that does that is in tools/perf/util/cpumap.[ch], and consists of a read_cpu_map() function that sets up a cpumap[] array and returns the number of online cpus. If /sys/devices/system/cpu/online can't be read or can't be parsed successfully, it falls back to using sysconf to ask how many cpus are online and sets up an identity map in cpumap[]. The perf record, perf stat and perf top code then calls read_cpu_map() in the system-wide monitoring case (instead of sysconf) and uses cpumap[] to get the cpu numbers to pass to perf_event_open. Signed-off-by: Paul Mackerras Cc: Anton Blanchard Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo LKML-Reference: <20100310093609.GA3959@brick.ozlabs.ibm.com> Signed-off-by: Ingo Molnar commit 8a03ae2a5baed3df09e5643615bdd853fc142a09 Author: Thomas Gleixner Date: Fri Jan 29 20:39:07 2010 +0000 block: drbd: Convert semaphore to mutex The bm_change semaphore is semantically a mutex. Convert it to a real mutex. Signed-off-by: Thomas Gleixner Signed-off-by: Philipp Reisner commit 220b140b52ab6cc133f674a7ffec8fa792054f25 Author: Paul Mackerras Date: Wed Mar 10 20:45:52 2010 +1100 perf_event: Fix oops triggered by cpu offline/online Anton Blanchard found that he could reliably make the kernel hit a BUG_ON in the slab allocator by taking a cpu offline and then online while a system-wide perf record session was running. The reason is that when the cpu comes up, we completely reinitialize the ctx field of the struct perf_cpu_context for the cpu. If there is a system-wide perf record session running, then there will be a struct perf_event that has a reference to the context, so its refcount will be 2. (The perf_event has been removed from the context's group_entry and event_entry lists by perf_event_exit_cpu(), but that doesn't remove the perf_event's reference to the context and doesn't decrement the context's refcount.) When the cpu comes up, perf_event_init_cpu() gets called, and it calls __perf_event_init_context() on the cpu's context. That resets the refcount to 1. Then when the perf record session finishes and the perf_event is closed, the refcount gets decremented to 0 and the context gets kfreed after an RCU grace period. Since the context wasn't kmalloced -- it's part of a per-cpu variable -- bad things happen. In fact we don't need to completely reinitialize the context when the cpu comes up. It's sufficient to initialize the context once at boot, but we need to do it for all possible cpus. This moves the context initialization to happen at boot time. With this, we don't trash the refcount and the context never gets kfreed, and we don't hit the BUG_ON. Reported-by: Anton Blanchard Signed-off-by: Paul Mackerras Tested-by: Anton Blanchard Acked-by: Peter Zijlstra Cc: Signed-off-by: Ingo Molnar commit 2e95e3f668c85276ce699993596d3b52b0fcf4c5 Author: Benjamin Marzinski Date: Wed Mar 10 18:10:19 2010 -0600 GFS2: Allow the number of committed revokes to temporarily be negative GFS2 tracks the number of revokes and unrevokes that are part of committed transactions via sd_log_commited_revoke. It is possible for one process to add revokes during its transaction, while another process unrevokes them during its transaction. If the second process finishes its transaction first, sd_log_commited_revoke will be decremented by the number of unrevokes that the second process did, without first being incremented by the number of revokes the first process did. This is fine, since all started transactions must be completed before the journal can be flushed. However, sd_log_commited_revoke is an unsigned integer, and log_refund() causes an assertion failure if it would go negative at the end of a transaction. This patch makes sd_log_commited_revoke a signed integer and allows it to go negative. __gfs2_log_flush() still checks that it mataches the actual number of revokes. Signed-off-by: Benjamin Marzinski Signed-off-by: Steven Whitehouse commit afadb8e08c48d08b75f3caf8404742b13e6b3624 Author: Mark Brown Date: Wed Mar 10 23:41:33 2010 -0800 Input: wm831x-on - convert to use genirq Now that the WM831x core has been converted to use genirq for the interrupt controller there is no need for the client drivers to use a WM831x-specific API rather than just calling genirq directly. Also fixes a leak of the IRQ during init failure - the error path free_irq() was using NULL rather than the driver data as the data pointer so free_irq() wouldn't have matched. Signed-off-by: Mark Brown Signed-off-by: Dmitry Torokhov commit fdba2bb1f2eed85085a0fe154e1acb82de3239f7 Author: Ranjith Lohithakshan Date: Wed Mar 10 23:41:22 2010 -0800 Input: ads7846 - add wakeup support Add wakeup support to the ads7846 driver. Platforms can enable wakeup capability by setting the wakeup flag in ads7846_platform_data. With this patch the ads7846 driver can be used to wake the system from suspend. Signed-off-by: Ranjith Lohithakshan Signed-off-by: Dmitry Torokhov commit 04b4b88cca0ebe3813b4b6f014fb6a0db380b137 Author: Vadim Zaliva Date: Wed Mar 10 23:41:00 2010 -0800 Input: appletouch - fix integer overflow issue When reading data from Geyser 2 touchpads used on post Oct 2005 Apple PowerBooks the driver was casting X and Y coordinates values to 'signed char'. Testing on one of such PowerBooks I have noticed that touchpad always generates positive values, but some of them are greater that 127, and thus, when cast to 'signed char' being interpreted as a negative. Such bigger values have been observed infrequently, closer to the edges of a touchpad, so the problem was not very visible. Nevertheless, the patch would potentially improve touchpad driver accuracy. Signed-off-by: Vadim Zaliva Signed-off-by: Dmitry Torokhov commit acc6a0935e5958ad1a1b99a1c6f44a52264bedf0 Author: Grant Likely Date: Wed Mar 10 14:39:50 2010 -0700 powerpc/52xx: update defconfigs Signed-off-by: Grant Likely commit dee60269f0fe90927ce5095eef3a8723bbb9c53e Merge: 51f5f8c 1382c71 Author: John W. Linville Date: Wed Mar 10 16:34:38 2010 -0500 Merge branch 'wireless-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 commit 51f5f8ca446d4c59041b9b6995821e13208897ea Author: Eric Dumazet Date: Wed Mar 10 17:13:36 2010 +0100 mac80211: Fix memory leak in ieee80211_if_write() Fix memory leak and use kmalloc() instead of kzalloc() as we are going to overwrite the allocated buffer. Signed-off-by: Eric Dumazet Signed-off-by: John W. Linville commit 2a13052fe495948e572839e514e0e0cd236c50b0 Author: Juuso Oikarinen Date: Tue Mar 9 14:25:02 2010 +0200 mac80211: Fix (dynamic) power save entry Currently hardware with !IEEE80211_HW_PS_NULLFUNC_STACK and IEEE80211_HW_REPORTS_TX_ACK_STATUS will never enter PSM due to the conditions in the power save entry functions. Fix those conditions. Signed-off-by: Juuso Oikarinen Cc: stable@kernel.org Signed-off-by: John W. Linville commit 41093167ec6c1854903a4bc38a37b5740c028984 Author: Zhu Yi Date: Tue Mar 9 16:05:31 2010 +0800 ipw2200: use kmalloc for large local variables Fixed below compiler warning: drivers/net/wireless/ipw2x00/ipw2200.c: In function ‘ipw_load_firmware’: drivers/net/wireless/ipw2x00/ipw2200.c:3260: warning: the frame size of 1168 bytes is larger than 1024 bytes Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 9bd4517ddc51c803784778ab52e6f0bc03b77a52 Author: Scott Ellis Date: Wed Mar 10 14:23:13 2010 -0700 spi/omap2_mcspi: Use transaction speed if provided omap2_mcspi_transfer() gets called in omap2_mcspi_work() when the transaction speed_hz or bits_per_word fields are non-zero. omap2_mcspi_transfer() does not look at the speed_hz field so the override speed value is ignored. The code should probably change to one of these options. 1. Skip the call to omap2_mcsp_transfer() if the only reason was a non-zero speed_hz and it's not going to be used. 2. Use the new speed_hz value provided The patch below uses the speed_hz value. Signed-off-by: Scott Ellis Signed-off-by: Grant Likely commit 5e7749436d576a525d7b2a4bcffb17b3364b9e00 Author: Scott Ellis Date: Wed Mar 10 14:22:45 2010 -0700 spi/omap2_mcspi: fix NULL pointer dereference Check spi->controller_state before dereferencing. Shows up NULL here when using spi_alloc_device()/spi_add_device() and spi_add_device() fails before spi_setup(). Calling spi_dev_put() on the leftover spi_device results in the error. Signed-off-by: Scott Ellis Signed-off-by: Grant Likely commit 5f13bfac0718ce6f83ecba3755f224c3790e8d66 Author: Bruno Randolf Date: Tue Mar 9 16:56:10 2010 +0900 ath5k: read eeprom IQ calibration values correctly for G mode we read the IQ correction values (i_cal and q_cal) for G mode from a wrong location (the same shifts as for A mode is applied which is incorrect). use correct locations, matching the docs and HAL sources. also we should write IQ correction only when we have that information in the EEPROM, starting from version 4. also write it in the same way as we do in the periodic recalibration (enable last), just to be sure. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 86415d43efd4f7093979cfa8a80232114266f1a4 Author: Bruno Randolf Date: Tue Mar 9 16:56:05 2010 +0900 ath5k: fix I/Q calibration (for real) I/Q calibration was completely broken, resulting in a high number of CRC errors on received packets. before i could see around 10% to 20% CRC errors, with this patch they are between 0% and 3%. 1.) the removal of the mask in commit "ath5k: Fix I/Q calibration (f1cf2dbd0f798b71b1590e7aca6647f2caef1649)" resulted in no mask beeing used when writing the I/Q values into the register. additional errors in the calculation of the values (see 2.) resulted too high numbers, exceeding the masks, so wrong values like 0xfffffffe were written. to be safe we should always use the bitmask when writing parts of a register. 2.) using a (s32) cast for q_coff is a wrong conversion to signed, since we convert to a signed value later by substracting 128. this resulted in too low numbers for Q many times, which were limited to -16 by the boundary check later on. 3.) checked everything against the HAL sources and took over comments and minor optimizations from there. 4.) we can't use ENABLE_BITS when we want to write a number (the number can contain zeros). also always write the correction values first and set ENABLE bit last, like the HAL does. Signed-off-by: Bruno Randolf Cc: stable@kernel.org Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit a3b980fd1391e75068ae25f3817728b27bfdb04c Author: Bruno Randolf Date: Tue Mar 9 16:55:33 2010 +0900 ath5k: fix TSF reset to reset the TSF, AR5K_BEACON_RESET_TSF has to be 1, not 0. also we have a function for that so use it. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8bd8beab49fec3f7d014c328641bd94de3df744b Author: Bruno Randolf Date: Tue Mar 9 16:55:23 2010 +0900 ath5k: use fixed antenna for tx descriptors when using a fixed antenna we should use the antenna number in all tx descriptors, otherwise the hardware will sometimes send the frame out on the other antenna. it seems like the hardware does not always respect the default antenna and diversity settings (esp. AR5K_STA_ID1_DEFAULT_ANTENNA). also i would like to note that antenna diversity does not always work correctly on 5414 (at least) when only one antenna is connected: for example all frames might be received on antenna A but still the HW tries to send on antenna B some times, causing packet loss. this is both verified with the antenna statistics output of the previous patch and a spectrum analyzer. Signed-off-by: Bruno Randolf Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit 8e59340e4fb65cfd748eaa1e23db057c52520f35 Author: Zhu Yi Date: Mon Mar 8 13:18:03 2010 +0800 libipw: split ieee->networks into small pieces The ieee->networks consists of 128 struct libipw_network entries. If we allocate this chunk of memory altogether, it ends up with an order 4 page allocation. High order page allocation is likely to fail on system high load. This patch splits the big chunk memory allocation into small pieces, each is 344 bytes, allocates them with 128 times. The patch fixed bug http://bugzilla.kernel.org/show_bug.cgi?id=14989 Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 38a679a52be13d5a0c766597ab823e06688d6e8e Author: Jouni Malinen Date: Sat Mar 6 18:35:08 2010 +0200 mac80211: Fix sta_mtx unlocking on insert STA failure path Commit 34e895075e21be3e21e71d6317440d1ee7969ad0 introduced sta_mtx locking into sta_info_insert() (now sta_info_insert_rcu), but forgot to unlock this mutex on one of the error paths. Fix this by adding the missing mutex_unlock() call for the case where STA insert fails due to an entry existing already. This may happen at least in AP mode when a STA roams between two BSSes (vifs). Signed-off-by: Jouni Malinen Signed-off-by: John W. Linville commit e5a9a35cb9c0d92d7c986cb3696fb794be100087 Author: Helmut Schaa Date: Fri Mar 5 17:44:22 2010 +0100 rt2x00: remove KSEG1ADDR define from rt2x00soc.h Remove the KSEG1ADDR define from rt2x00soc.h as it redefines and covers the correct one from the arch/mips/include/asm/addrspace.h. Otherwise the driver oopses on the target platform (Ralink rt3050 board). Signed-off-by: Helmut Schaa Acked-by: Ivo van Doorn Acked-by: Gertjan van Wingerde Signed-off-by: John W. Linville commit 07081fd8587478849b69d7b41596e81ff5a7f532 Author: David Miller Date: Wed Mar 10 14:05:35 2010 -0700 uartlite: Fix build on sparc. We can get this driver enabled via MFD_TIMBERDALE which only requires GPIO to be on. But the of_address_to_resource() function is only present on powerpc and microblaze, so we have to conditionalize the CONFIG_OF probing bits on that. Signed-off-by: David S. Miller Signed-off-by: Grant Likely commit b4d2314bb88b07e5a04e6c75b442a1dfcd60e340 Author: Trond Myklebust Date: Wed Mar 10 15:21:44 2010 -0500 NFSv4: Don't ignore the NFS_INO_REVAL_FORCED flag in nfs_revalidate_inode() If the NFS_INO_REVAL_FORCED flag is set, that means that we don't yet have an up to date attribute cache. Even if we hold a delegation, we must put a GETATTR on the wire. Signed-off-by: Trond Myklebust Cc: stable@kernel.org commit 0b1adaa031a55e44f5dd942f234bf09d28e8a0d6 Author: Thomas Gleixner Date: Tue Mar 9 19:45:54 2010 +0100 genirq: Prevent oneshot irq thread race Lars-Peter pointed out that the oneshot threaded interrupt handler code has the following race: CPU0 CPU1 hande_level_irq(irq X) mask_ack_irq(irq X) handle_IRQ_event(irq X) wake_up(thread_handler) thread handler(irq X) runs finalize_oneshot(irq X) does not unmask due to !(desc->status & IRQ_MASKED) return from irq does not unmask due to (desc->status & IRQ_ONESHOT) This leaves the interrupt line masked forever. The reason for this is the inconsistent handling of the IRQ_MASKED flag. Instead of setting it in the mask function the oneshot support sets the flag after waking up the irq thread. The solution for this is to set/clear the IRQ_MASKED status whenever we mask/unmask an interrupt line. That's the easy part, but that cleanup opens another race: CPU0 CPU1 hande_level_irq(irq) mask_ack_irq(irq) handle_IRQ_event(irq) wake_up(thread_handler) thread handler(irq) runs finalize_oneshot_irq(irq) unmask(irq) irq triggers again handle_level_irq(irq) mask_ack_irq(irq) return from irq due to IRQ_INPROGRESS return from irq does not unmask due to (desc->status & IRQ_ONESHOT) This requires that we synchronize finalize_oneshot_irq() with the primary handler. If IRQ_INPROGESS is set we wait until the primary handler on the other CPU has returned before unmasking the interrupt line again. We probably have never seen that problem because it does not happen on UP and on SMP the irqbalancer protects us by pinning the primary handler and the thread to the same CPU. Reported-by: Lars-Peter Clausen Signed-off-by: Thomas Gleixner Cc: stable@kernel.org commit 717ea4b3474852057b1ce2c639ce219f4f8d3a8d Author: Greg Ungerer Date: Wed Mar 10 07:37:06 2010 -0800 net: add ColdFire support to the smc91x driver Some embedded ColdFire based boards use the SMC 91x family of ethernet devices. (For example the Freescale M5249C3 and MoretonBay NETtel). Add IO access support to the SMC91x driver, and allow this driver to be configured for ColdFire platforms. Signed-off-by: Greg Ungerer Signed-off-by: David S. Miller commit 7f29a3baa825725d29db399663790d15c78cddcf Author: Jussi Kivilinna Date: Tue Mar 9 12:24:38 2010 +0000 asix: fix setting mac address for AX88772 Setting new MAC address only worked when device was set to promiscuous mode. Fix MAC address by writing new address to device using undocumented command AX_CMD_READ_NODE_ID+1. Patch is tested with AX88772 device. Signed-off-by: Jussi Kivilinna Acked-by: David Hollis Signed-off-by: David S. Miller commit 2b4c32972b9bcfee29d5e2c1b6f261dda5ef2a21 Author: YOSHIFUJI Hideaki / 吉藤英明 Date: Tue Mar 9 16:47:52 2010 +0000 ipv6 ip6_tunnel: eliminate unused recursion field from ip6_tnl{}. Commit a43912ab19... ("tunnel: eliminate recursion field") eliminated use of recursion field from tunnel structures, but its definition still exists in ip6_tnl{}. Let's remove that unused field. Signed-off-by: YOSHIFUJI Hideaki Acked-by: Eric Dumazet Signed-off-by: David S. Miller commit 3041f5170751e3522aa1bd6e8ca5d98e846720b0 Author: Eric Dumazet Date: Tue Mar 9 19:09:08 2010 +0000 net: Fix dev_mc_add() Commit 6e17d45a (net: add addr len check to dev_mc_add) added a bug in dev_mc_add(), since it can now exit with a lock imbalance. Signed-off-by: Eric Dumazet CC: Jiri Pirko Signed-off-by: David S. Miller commit 0a141509ede48ac33ef756ac1640f4d3f46fa2db Author: Eric Dumazet Date: Tue Mar 9 19:40:54 2010 +0000 net: Annotates neigh_invalidate() Annotates neigh_invalidate() with __releases() and __acquires() for sparse sake. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit bb134d5d9580fc7b945e3bca3c4b263947022966 Author: Eric Dumazet Date: Tue Mar 9 05:55:56 2010 +0000 tcp: Fix tcp_v4_rcv() Commit d218d111 (tcp: Generalized TTL Security Mechanism) added a bug for TIMEWAIT sockets. We should not test min_ttl for TW sockets. Reported-by: Tetsuo Handa Signed-off-by: Eric Dumazet Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit fe234f0e5cbb880792d2d1ac0743cf8c07e9dde3 Author: Louis Rilling Date: Tue Mar 9 06:14:41 2010 +0000 tg3: Fix tg3_poll_controller() passing wrong pointer to tg3_interrupt() Commit 09943a1819a240ff4a72f924d0038818fcdd0a90 Author: Matt Carlson Date: Fri Aug 28 14:01:57 2009 +0000 tg3: Convert ISR parameter to tnapi forgot to update tg3_poll_controller(), leading to intermittent crashes with netpoll. Fix this. Signed-off-by: Louis Rilling Cc: stable@kernel.org Signed-off-by: David S. Miller commit 78cb27939ff4fd66d7f76cfe7c59c0fdf1b29ed8 Author: Frank Blaschka Date: Mon Mar 8 20:36:57 2010 +0000 qeth: change checksumming default for HiperSockets Deactivate inbound checksumming on HiperSocket is a valid but dangerous optimization in case the frame is routed from an OSA network to an HiperSockets network. To go for sure we change the default to software checksumming. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 869da90b9ae39f0d5b9b5aa3a84502684a6aa1f4 Author: Ursula Braun Date: Mon Mar 8 20:36:56 2010 +0000 qeth: no recovery after layer mismatch (z/VM NICs) Depending on their definition in z/VM, virtual devices for z/VM VSWITCH or GuestLAN must be configured either in layer2 or in layer3 mode. If qeth detects a layer mismatch, device activation fails. Trying to recover from this error cannot help; thus scheduling a recovery should be avoided. In addition, since recovery is forbidden during online setting of a qeth device, existence of its network device is guaranteed for all dev_close() calls in qeth. The corresponding checks can be removed. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit a959189a978e0104e8aa7f1522f5eff42d891456 Author: Ursula Braun Date: Mon Mar 8 20:36:55 2010 +0000 qeth: set promisc off after trace disabling failure If HiperSockets Network Traffic Analyzer is switched off, but trace disabling fails somehow, the qeth driver does not switch off its promisc mode status. A following sniffer reactivation fails, since qeth does not see a need to reenable tracing. At the same time the code analyzing results of trace commands is restructured. Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 21fde749cbf71d03e8cf87a7a9a45349597e138a Author: Frank Blaschka Date: Mon Mar 8 20:36:54 2010 +0000 qeth: l3 send dhcp in non pass thru mode dhcp frames are valid IPv4 packets so there is no need to send them in pass thru mode. This allows dhcp packets to pass HiperSockets. Also the dhcp release frame is send out correctly with this patch. Signed-off-by: Frank Blaschka Signed-off-by: Martin Schwidefsky Signed-off-by: David S. Miller commit fe7a26257a4191de6047f7e1d38832472eb22f85 Author: Ursula Braun Date: Mon Mar 8 20:36:53 2010 +0000 qeth: enable kmsg hash processing in qeth_core_sys.c provide qeth kmsg definitions to enable hash string generation for kernel message created with dev_err(). Signed-off-by: Ursula Braun Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit 2886539d5e649c22a6d2107eb431d3bee81e0e6d Author: Rafi Rubin Date: Wed Mar 10 16:10:28 2010 +0100 HID: ntrig: fix touch events This reinstates the lost unpressing of BTN_TOUCH. To prevent undesireably touch toggles this also deals with tip switch events. Added a trap to prevent going out of bounds for hidinputs with empty reports. Clear bits of unused buttons which result in misidentification. Signed-off-by: Rafi Rubin Signed-off-by: Jiri Kosina commit 97d5a22005f38057b4bc0d95f81cd26510268794 Author: Frederic Weisbecker Date: Fri Mar 5 05:35:37 2010 +0100 perf: Drop the obsolete profile naming for trace events Drop the obsolete "profile" naming used by perf for trace events. Perf can now do more than simple events counting, so generalize the API naming. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Cc: Masami Hiramatsu Cc: Jason Baron commit c530665c31c0140b74ca7689e7f836177796e5bd Author: Frederic Weisbecker Date: Wed Mar 3 07:16:16 2010 +0100 perf: Take a hot regs snapshot for trace events We are taking a wrong regs snapshot when a trace event triggers. Either we use get_irq_regs(), which gives us the interrupted registers if we are in an interrupt, or we use task_pt_regs() which gives us the state before we entered the kernel, assuming we are lucky enough to be no kernel thread, in which case task_pt_regs() returns the initial set of regs when the kernel thread was started. What we want is different. We need a hot snapshot of the regs, so that we can get the instruction pointer to record in the sample, the frame pointer for the callchain, and some other things. Let's use the new perf_fetch_caller_regs() for that. Comparison with perf record -e lock: -R -a -f -g Before: perf [kernel] [k] __do_softirq | --- __do_softirq | |--55.16%-- __open | --44.84%-- __write_nocancel After: perf [kernel] [k] perf_tp_event | --- perf_tp_event | |--41.07%-- lock_acquire | | | |--39.36%-- _raw_spin_lock | | | | | |--7.81%-- hrtimer_interrupt | | | smp_apic_timer_interrupt | | | apic_timer_interrupt The old case was producing unreliable callchains. Now having right frame and instruction pointers, we have the trace we want. Also syscalls and kprobe events already have the right regs, let's use them instead of wasting a retrieval. v2: Follow the rename perf_save_regs() -> perf_fetch_caller_regs() Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Cc: Masami Hiramatsu Cc: Jason Baron Cc: Archs commit 5331d7b84613b8325362dde53dc2bff2fb87d351 Author: Frederic Weisbecker Date: Thu Mar 4 21:15:56 2010 +0100 perf: Introduce new perf_fetch_caller_regs() for hot regs snapshot Events that trigger overflows by interrupting a context can use get_irq_regs() or task_pt_regs() to retrieve the state when the event triggered. But this is not the case for some other class of events like trace events as tracepoints are executed in the same context than the code that triggered the event. It means we need a different api to capture the regs there, namely we need a hot snapshot to get the most important informations for perf: the instruction pointer to get the event origin, the frame pointer for the callchain, the code segment for user_mode() tests (we always use __KERNEL_CS as trace events always occur from the kernel) and the eflags for further purposes. v2: rename perf_save_regs to perf_fetch_caller_regs as per Masami's suggestion. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Thomas Gleixner Cc: H. Peter Anvin Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo Cc: Masami Hiramatsu Cc: Jason Baron Cc: Archs commit 61e67fb9d3ed13e6a7f58652ae4979b9c872fa57 Author: Frederic Weisbecker Date: Wed Mar 3 07:38:37 2010 +0100 perf/x86-64: Use frame pointer to walk on irq and process stacks We were using the frame pointer based stack walker on every contexts in x86-32, but not in x86-64 where we only use the seven-league boots on the exception stacks. Use it also on irq and process stacks. This utterly accelerate the captures. Signed-off-by: Frederic Weisbecker Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Paul Mackerras Cc: Arnaldo Carvalho de Melo commit db2c4c7791cd04512093d05afc693c3511a65fd7 Author: Frederic Weisbecker Date: Tue Feb 2 23:34:40 2010 +0100 lockdep: Move lock events under lockdep recursion protection There are rcu locked read side areas in the path where we submit a trace event. And these rcu_read_(un)lock() trigger lock events, which create recursive events. One pair in do_perf_sw_event: __lock_acquire | |--96.11%-- lock_acquire | | | |--27.21%-- do_perf_sw_event | | perf_tp_event | | | | | |--49.62%-- ftrace_profile_lock_release | | | lock_release | | | | | | | |--33.85%-- _raw_spin_unlock Another pair in perf_output_begin/end: __lock_acquire |--23.40%-- perf_output_begin | | __perf_event_overflow | | perf_swevent_overflow | | perf_swevent_add | | perf_swevent_ctx_event | | do_perf_sw_event | | perf_tp_event | | | | | |--55.37%-- ftrace_profile_lock_acquire | | | lock_acquire | | | | | | | |--37.31%-- _raw_spin_lock The problem is not that much the trace recursion itself, as we have a recursion protection already (though it's always wasteful to recurse). But the trace events are outside the lockdep recursion protection, then each lockdep event triggers a lock trace, which will trigger two other lockdep events. Here the recursive lock trace event won't be taken because of the trace recursion, so the recursion stops there but lockdep will still analyse these new events: To sum up, for each lockdep events we have: lock_*() | trace lock_acquire | ----- rcu_read_lock() | | | lock_acquire() | | | trace_lock_acquire() (stopped) | | | lockdep analyze | ----- rcu_read_unlock() | lock_release | trace_lock_release() (stopped) | lockdep analyze And you can repeat the above two times as we have two rcu read side sections when we submit an event. This is fixed in this patch by moving the lock trace event under the lockdep recursion protection. Signed-off-by: Frederic Weisbecker Cc: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: Steven Rostedt Cc: Paul Mackerras Cc: Hitoshi Mitake Cc: Li Zefan Cc: Lai Jiangshan Cc: Masami Hiramatsu Cc: Jens Axboe commit 65f2ed2b2fa6034ef9890b60c8fd39fbe76b9d37 Author: Arnaldo Carvalho de Melo Date: Tue Mar 9 15:58:17 2010 -0300 perf report: Print the map table just after samples for which no map was found If -vv is used just the map table will be printed, -vvv will print the symbol table too, with it we can see that we have a bug where some samples are not being resolved to a map when we get them in the perf.data stream, but after we have it all processed, we can find the right map, some reordering probably is happening. Upcoming patches will provide ways to ask for most PERF_SAMPLE_ conditional samples to be taken for !PERF_RECORD_SAMPLE events too, then we'll be able to ask for PERF_SAMPLE_TIME and PERF_SAMPLE_CPU to help diagnose this. Signed-off-by: Arnaldo Carvalho de Melo Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1268161097-17761-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit cbbc79a53278b83bf7f834127751459f9299e402 Author: Eric B Munson Date: Fri Mar 5 12:51:09 2010 -0300 perf report: Add multiple event support Perf report does not handle multiple events being reported, even though perf record stores them properly on disk. This patch addresses that issue by adding the logic to perf report to use the event stream id that is saved by record and the new data structures to seperate the event streams and report them individually. Signed-off-by: Eric B Munson Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267804269-22660-6-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit eefc465cdd49cb89a742083fac2807c718ddad31 Author: Eric B Munson Date: Fri Mar 5 12:51:08 2010 -0300 perf session: Change perf_session post processing functions to take histogram tree Now that report can store historgrams for multiple events we need to be able to do the post processing work for each histogram. This patch changes the post processing functions so that they can be called individually for each event's histogram. Signed-off-by: Eric B Munson [ Guarantee bisectabilty by fixing up builtin-report.c ] Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267804269-22660-5-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit cb8f09393646c5058056db771583c86e0ed1d92f Author: Eric B Munson Date: Fri Mar 5 12:51:07 2010 -0300 perf session: Add storage for seperating event types in report This patch adds the structures necessary to count each event type independently in perf report. Signed-off-by: Eric B Munson Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267804269-22660-4-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit d403d0acc9c5afa679a3f61e71489530d7fa0606 Author: Eric B Munson Date: Fri Mar 5 12:51:06 2010 -0300 perf session: Change add_hist_entry to take the tree root instead of session In order to minimize the impact of storing multiple events in a report this function will now take the root of the histogram tree so that the logic for selecting the proper tree can be inserted before the call. Signed-off-by: Eric B Munson Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267804269-22660-3-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 8907fd607b66e36636469a2de9833db643869db8 Author: Eric B Munson Date: Fri Mar 5 12:51:05 2010 -0300 perf record: Add ID and to recorded event data when recording multiple events Currently perf record does not write the ID or the to disk for events. This doesn't allow report to tell if an event stream contains one or more types of events. This patch adds this entry to the list of data that record will write to disk if more than one event was requested. Signed-off-by: Eric B Munson Signed-off-by: Arnaldo Carvalho de Melo Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267804269-22660-2-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit accd3cc45a0e1d11090ea66888405987de77bdca Author: Arnaldo Carvalho de Melo Date: Fri Mar 5 12:51:04 2010 -0300 perf probe: Add missing variable initialization cc1: warnings being treated as errors util/probe-finder.c: In function 'find_line_range': util/probe-finder.c:172: warning: 'src' may be used uninitialized in this function make: *** [util/probe-finder.o] Error 1 Signed-off-by: Arnaldo Carvalho de Melo Acked-by: Masami Hiramatsu Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267804269-22660-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit 1224550969e0bf18785786a1a9f801cd86d68586 Author: Arnaldo Carvalho de Melo Date: Fri Mar 5 11:54:02 2010 -0300 perf tools: Don't trow away old map slices not overlapped by new maps Signed-off-by: Arnaldo Carvalho de Melo Cc: David S. Miller Cc: Frédéric Weisbecker Cc: Mike Galbraith Cc: Peter Zijlstra Cc: Paul Mackerras LKML-Reference: <1267800842-22324-1-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar commit d4944a06666054707d23e11888e480af239e5abf Author: Peter Zijlstra Date: Mon Mar 8 13:51:20 2010 +0100 perf: Provide better condition for event rotation Try to avoid useless rotation and PMU disables. [ Could be improved by keeping a nr_runnable count to better account for the < PERF_STAT_INACTIVE counters ] Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com LKML-Reference: Signed-off-by: Ingo Molnar commit f3d46b2e6fa57547f9884330798792afc83f4b04 Author: Peter Zijlstra Date: Sat Mar 6 13:24:58 2010 +0100 perf, x86: Fix double enable calls hw_perf_enable() would enable already enabled events. This causes problems with code that assumes that ->enable/->disable calls are balanced (like the LBR code does). What happens is that events that were already running and left in place would get enabled again. Avoid this by only enabling new events that match their previous assignment. Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com LKML-Reference: Signed-off-by: Ingo Molnar commit 19925ce778f9fc371b9607625de3bff04c60121e Author: Peter Zijlstra Date: Sat Mar 6 13:20:40 2010 +0100 perf, x86: Fix double disable calls hw_perf_enable() would disable events that were not yet enabled. This causes problems with code that assumes that ->enable/->disable calls are balanced (like the LBR code does). What happens is that we disable newly added counters that match their previous assignment, even though they are not yet programmed on the hardware. Avoid this by only doing the first pass over the existing events. Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com LKML-Reference: Signed-off-by: Ingo Molnar commit 356e1f2e0ace2d4b100c8eda9d49b709e8323da5 Author: Peter Zijlstra Date: Sat Mar 6 13:49:56 2010 +0100 perf, x86: Properly account n_added Make sure n_added is properly accounted so that we can rely on the value to reflect the number of added counters. This is needed if its going to be used for more than a boolean check. Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com LKML-Reference: Signed-off-by: Ingo Molnar commit 71e2d2828046133ed985696a02e2e1499ca0bfb8 Author: Peter Zijlstra Date: Mon Mar 8 17:51:33 2010 +0100 perf, x86: Avoid double disable on throttle vs ioctl(PERF_IOC_DISABLE) Calling ioctl(PERF_EVENT_IOC_DISABLE) on a thottled counter would result in a double disable, cure this by using x86_pmu_{start,stop} for throttle/unthrottle and teach x86_pmu_stop() to check ->active_mask. Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com LKML-Reference: Signed-off-by: Ingo Molnar commit c08053e627d23490a03431285b78b7a5b617fbad Author: Peter Zijlstra Date: Sat Mar 6 13:19:24 2010 +0100 perf, x86: Fix x86_pmu_start pmu::start should undo pmu::stop, make it so. Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com LKML-Reference: Signed-off-by: Ingo Molnar commit 34538ee77b39a12702e0f4c3ed9e8fa2dd5eb92c Author: Peter Zijlstra Date: Tue Mar 2 21:16:55 2010 +0100 perf, x86: Use unlocked bitops There is no concurrency on these variables, so don't use LOCK'ed ops. As to the intel_pmu_handle_irq() status bit clean, nobody uses that so remove it all together. Signed-off-by: Peter Zijlstra Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com Cc: Arnaldo Carvalho de Melo LKML-Reference: <20100304140100.240023029@chello.nl> Signed-off-by: Ingo Molnar commit aff3d91a913c9ae0c2f56b65b27cbd00c7d27ee3 Author: Peter Zijlstra Date: Tue Mar 2 20:32:08 2010 +0100 perf, x86: Change x86_pmu.{enable,disable} calling convention Pass the full perf_event into the x86_pmu functions so that those may make use of more than the hw_perf_event, and while doing this, remove the superfluous second argument. Signed-off-by: Peter Zijlstra Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com Cc: Arnaldo Carvalho de Melo LKML-Reference: <20100304140100.165166129@chello.nl> Signed-off-by: Ingo Molnar commit cc2ad4ba8792b9d4ff893ae3b845d2c5a6206fc9 Author: Peter Zijlstra Date: Tue Mar 2 20:18:39 2010 +0100 perf, x86: Remove superfluous arguments to x86_perf_event_update() The second and third argument to x86_perf_event_update() are superfluous since they are simple expressions of the first argument. Hence remove them. Signed-off-by: Peter Zijlstra Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com Cc: Arnaldo Carvalho de Melo LKML-Reference: <20100304140100.089468871@chello.nl> Signed-off-by: Ingo Molnar commit 07088edb88164c2a2406cd2d9a7be19d8515214b Author: Peter Zijlstra Date: Tue Mar 2 20:16:01 2010 +0100 perf, x86: Remove superfluous arguments to x86_perf_event_set_period() The second and third argument to x86_perf_event_set_period() are superfluous since they are simple expressions of the first argument. Hence remove them. Signed-off-by: Peter Zijlstra Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com Cc: Arnaldo Carvalho de Melo LKML-Reference: <20100304140100.006500906@chello.nl> Signed-off-by: Ingo Molnar commit 3fb2b8ddcc6a7aa62af6bd2cb939edfd4c460506 Author: Peter Zijlstra Date: Mon Mar 8 13:51:01 2010 +0100 perf, x86, Do not user perf_disable from NMI context Explicitly use intel_pmu_{disable,enable}_all() in intel_pmu_handle_irq() to avoid the NMI race conditions in perf_{disable,enable} Signed-off-by: Peter Zijlstra Cc: Arnaldo Carvalho de Melo Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com LKML-Reference: Signed-off-by: Ingo Molnar commit 32975a4f114be52286f9a5bf6c230dbb8c0e1903 Author: Peter Zijlstra Date: Sat Mar 6 19:49:19 2010 +0100 perf: Optimize perf_disable Currently we always call hw_perf_disable(), even if its already disabled, this seems superflous, esp. since it cannot be made NMI safe (see further patches). Signed-off-by: Peter Zijlstra Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com Cc: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 3f6da3905398826d85731247e7fbcf53400c18bd Author: Peter Zijlstra Date: Fri Mar 5 13:01:18 2010 +0100 perf: Rework and fix the arch CPU-hotplug hooks Remove the hw_perf_event_*() hotplug hooks in favour of per PMU hotplug notifiers. This has the advantage of reducing the static weak interface as well as exposing all hotplug actions to the PMU. Use this to fix x86 hotplug usage where we did things in ONLINE which should have been done in UP_PREPARE or STARTING. Signed-off-by: Peter Zijlstra Cc: Paul Mundt Cc: paulus@samba.org Cc: eranian@google.com Cc: robert.richter@amd.com Cc: fweisbec@gmail.com Cc: Arnaldo Carvalho de Melo LKML-Reference: <20100305154128.736225361@chello.nl> Signed-off-by: Ingo Molnar commit dc1d628a67a8f042e711ea5accc0beedc3ef0092 Author: Peter Zijlstra Date: Wed Mar 3 15:55:04 2010 +0100 perf: Provide generic perf_sample_data initialization This makes it easier to extend perf_sample_data and fixes a bug on arm and sparc, which failed to set ->raw to NULL, which can cause crashes when combined with PERF_SAMPLE_RAW. It also optimizes PowerPC and tracepoint, because the struct initialization is forced to zero out the whole structure. Signed-off-by: Peter Zijlstra Acked-by: Jean Pihet Reviewed-by: Frederic Weisbecker Acked-by: David S. Miller Cc: Jamie Iles Cc: Paul Mackerras Cc: Stephane Eranian Cc: stable@kernel.org LKML-Reference: <20100304140100.315416040@chello.nl> Signed-off-by: Ingo Molnar commit 5c1f96f4cffbdde9e194f3ae5373953f3fa12836 Author: Thomas Weber Date: Wed Mar 3 09:16:54 2010 +0100 OMAP: DSS2: VRAM: Fix early_param for vram In commit 2b0d8c251b8876d530a6bf671eb5425838fa698a the __early_param is replaced with the generic early_param. This patch fixes the parameter passing for the vram. Signed-off-by: Thomas Weber [tomi.valkeinen@nokia.com: changed the commit prefix] Signed-off-by: Tomi Valkeinen commit 0e49887703015dd73667664c5abc9a6366641da9 Merge: 7d39cf6 89c0ac7 Author: Takashi Iwai Date: Wed Mar 10 09:01:30 2010 +0100 Merge branch 'topic/misc' into for-linus commit 7d39cf62242d52729ddff9a9ae195669f462d5c4 Merge: a3087ae ecd2162 Author: Takashi Iwai Date: Wed Mar 10 09:01:25 2010 +0100 Merge branch 'topic/hda' into for-linus commit 5b34d1ee1e51d61e779a25d28808e8ad824cea3d Author: Paul Mundt Date: Wed Mar 10 16:46:58 2010 +0900 sh: Export uncached helper symbols. oprofile and others need to get at these, so provide symbol exports. Signed-off-by: Paul Mundt commit 089b43f9737f2e51c6ce354749f5a9f3f093601c Author: Paul Mundt Date: Wed Mar 10 16:29:48 2010 +0900 sh: Fix up NUMA build for 29-bit. pmb_bolt_mapping() is undefined on 29-bit builds, so provide a stub. This fixes up the NUMA build on platforms lacking PMB support. Signed-off-by: Paul Mundt commit 4eb6f91b95e7618eae0103b6cba7c7f01f9d40f3 Author: Michael Hennerich Date: Tue Mar 9 20:38:47 2010 -0800 Input: ad7877 - increase pen up imeout The time interval between consecutive interrupts depends on a number of tunables: first_conversion_delay, acquisition_time, averaging and foremost the pen_down_acc_interval. Since the mod_timer() action for the PEN UP event happens in the spi_async() callback function, latencies incurred by the spi bus drivers also need to be taken into account. So all in all, give the PEN UP event a bit more wiggle room and increase timeout to 100ms. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit 06a09124b5ec65f81df66c56695d9a9ae04a0114 Author: Michael Hennerich Date: Tue Mar 9 20:38:45 2010 -0800 Input: ads7846 - add support for AD7843 parts The AD7873 is almost identical to the ADS7846; the only difference is related to the Power Management bits PD0 and PD1. This results in a slightly different PENIRQ enable behavior. For the AD7873, VREF should be turned off during differential measurements. So, add the AD7873/43 to the list of driver supported devices, and prevent VREF usage during differential/ratiometric conversion modes. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit d544d623c5ef3ca14407e8bc042fdf938a966b04 Author: Ben Skeggs Date: Wed Mar 10 15:52:43 2010 +1000 drm/nv50: fix connector table parsing for some cards The connector table index in the DCB entry for each output type is an index into the connector table, and does *not* necessarily match up with what was previously called "index" in the connector table entries themselves. Not real sure what that index is exactly, renamed to "index2" as we still use it to prevent creating multiple TV connectors. Signed-off-by: Ben Skeggs commit 9e49f6c1339a7972e23a335c4c71a289b4c6f65b Author: Mike Frysinger Date: Tue Mar 9 20:38:45 2010 -0800 Input: bf54x-keys - fix system hang when pressing a key We need to use the nosync version of disable_irq so that we don't hang in the IRQ handler as we don't ACK the interrupt until later. This used to work regardless, but at some point, the IRQ behavior changed. Not sure when exactly. Signed-off-by: Mike Frysinger Signed-off-by: Dmitry Torokhov commit ce48fa93a6f5cadd4141a921dfb4129c8850374e Author: Maarten Maathuis Date: Thu Feb 25 20:00:38 2010 +0100 drm/nv50: add a memory barrier to pushbuf submission - This is useful for vram pushbuffers that are write combined. - pre-nv50 has one too (in WRITE_PUT). Signed-off-by: Maarten Maathuis Signed-off-by: Ben Skeggs commit 81441570c9cbf453891d90f5725adbbfe5a9cc69 Author: Maarten Maathuis Date: Sun Feb 21 13:28:35 2010 +0100 drm/nouveau: print a message very early during suspend - In case of suspend lockups it's nice to know it happened in nouveau. Signed-off-by: Maarten Maathuis Signed-off-by: Ben Skeggs commit e5ec882cfc18007c6076236ac33a713bcc1d35aa Author: Francisco Jerez Date: Fri Mar 5 15:15:39 2010 +0100 drm/nv04-nv40: Fix up the programmed horizontal sync pulse delay. The calculated values were a little bit off (~16 clocks), the only effect it could have had is a slightly offset image with respect to the blob on analog outputs (bug 26790). Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 53c44c3a065ac48c4ccb38f811cf7c5d305c9d4e Author: Ben Skeggs Date: Thu Mar 4 12:12:22 2010 +1000 drm/nouveau: Gigabyte NX85T connector table lies, it has DVI-I not HDMI Signed-off-by: Ben Skeggs commit da647d5bf3c0a4b7ad150803910cb1d737ac522e Author: Ben Skeggs Date: Thu Mar 4 12:00:39 2010 +1000 drm/nouveau: add option to allow override of dcb connector table types Signed-off-by: Ben Skeggs commit 304424e17dd904cef048ef8966d9f54618a915cc Author: Marcin Kościelnicki Date: Mon Mar 1 00:18:39 2010 +0000 drm/nv50: Improve PGRAPH interrupt handling. This makes nouveau recognise and report more kinds of PGRAPH errors, as well as prevent GPU lockups resulting from some of them. Lots of guesswork was involved and some part of this is probably incorrect. Some potential-lockuop situations are handled by just resetting a whole PGRAPH subunit, which doesn't sound like a "proper" solution, but seems to work just fine... for now. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit 3bf777bf0ab112527cea103c3681934a9f41c03d Author: Marcin Kościelnicki Date: Sun Feb 28 23:45:38 2010 +0000 drm/nv50: Make ctxprog wait until interrupt handler is done. This will fix races between generated ctxprogs and interrupt handler. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit c82b88d578847909797945824851a6a9a84f9c20 Author: Marcin Kościelnicki Date: Sat Feb 27 18:13:35 2010 +0000 drm/nouveau: Fix fbcon corruption with font width not divisible by 8 NV50 is nice and has a switch that autoaligns stuff for us. Pre-NV50, we need to align input bitmap width manually. Signed-off-by: Marcin Kościelnicki Signed-off-by: Francisco Jerez Signed-off-by: Ben Skeggs commit 37000d275721e25af6b49fbb2dbcd04022091276 Author: Marcin Kościelnicki Date: Thu Feb 25 18:53:37 2010 +0000 drm/nv50: Remove redundant/incorrect ctxvals initialisation. 11c/004 offset corresponds to PGRAPH reg 0x400828, and is initialised earlier anyway by both our ctxprog generator and blob ctxvals. It's actually incorrect with the generator, since we use different layout on pre-NVA0. Signed-off-by: Marcin Kościelnicki Signed-off-by: Ben Skeggs commit eb8bff85c5bd5caef7c374ff32b86545029efb56 Author: Thomas Bächler Date: Tue Mar 9 20:38:48 2010 -0800 Input: alps - add support for the touchpad on Toshiba Tecra A11-11L Signed-off-by: Thomas Bächler Cc: stable@kernel.org Signed-off-by: Dmitry Torokhov commit 2f2177c8dadbcb08c14f796ac983c5475eca1bd3 Author: Arnd Bergmann Date: Tue Mar 9 20:38:48 2010 -0800 Input: remove BKL, fix input_open_file() locking Holding the BKL in input_open_file seems pointless because it does not protect against updates of input_table, and all open functions from the underlying drivers have proper mutex locking. This makes input_open_file take the input_mutex when accessing the table and no lock when calling into the lower function. Signed-off-by: Arnd Bergmann Acked-by: Thadeu Lima de Souza Cascardo Signed-off-by: Dmitry Torokhov commit 77554b4d1fac6a66d4e624a6e36c020a4f5b6b64 Author: Thadeu Lima de Souza Cascardo Date: Tue Mar 9 20:38:47 2010 -0800 Input: serio_raw - remove BKL serio_raw open function already uses a mutex. Also change formatting a bit. Signed-off-by: Thadeu Lima de Souza Cascardo Acked-by: Arnd Bergmann Signed-off-by: Dmitry Torokhov commit c90c6a885ac9827921e8f94f3ce4360ae11148f1 Author: Thadeu Lima de Souza Cascardo Date: Tue Mar 9 20:38:47 2010 -0800 Input: mousedev - remove BKL There's no need for BKL in mousedev, relevan protection is provided by a private mutex. Signed-off-by: Thadeu Lima de Souza Cascardo Acked-by: Arnd Bergmann Signed-off-by: Dmitry Torokhov commit 04e82ffb0f02e645f3dde5128ef39d425a8b3c6d Author: Peter Huewe Date: Wed Mar 10 11:55:05 2010 +0900 serial: sh-sci: Fix build failure for non-sh architectures. This patch fixes a build failure for various arm based defconfigs [1][2][3] and maybe other architectures/configs. The build failure was introduced by the sh specific patch [4] "serial: sh-sci: Add DMA support" by Guennadi Liakhovetski Patch against linux-next of 20100309 References: [1] http://kisskb.ellerman.id.au/kisskb/buildresult/2248992/ [2] http://kisskb.ellerman.id.au/kisskb/buildresult/2248996/ [3] http://kisskb.ellerman.id.au/kisskb/buildresult/2248998/ [4] http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=commit;h=73a19e4c0301908ce6346715fd08a74308451f5a Signed-off-by: Peter Huewe Signed-off-by: Paul Mundt commit d2197e1e6038bb01568367a220e4a4e040f8337d Author: Tony Lindgren Date: Tue Mar 9 14:59:48 2010 -0800 omap3: Fix compile for Touch Book early_param Commit 2b0d8c251b8876d530a6bf671eb5425838fa698a changed ARM to use the common early_param code. Fix compile for Touch Book accordingly. Signed-off-by: Tony Lindgren commit 1382c71c764540880d35485b033a44ce104d8e2e Author: Reinette Chatre Date: Thu Feb 25 10:02:19 2010 -0800 Revert "iwlwifi: Send broadcast probe request only when asked to" This reverts commit 21b2d8bd2f0d4e0f21ade147fd193c8b9c1fd2b9. As explained by Johannes: When we build a probe request frame in the buffer with the SSID, we could arrive over the limit of 200 bytes. When we build it in the buffer without the SSID (wildcard) we don't arrive over 200 bytes, but the ucode still allows direct probe in addition because it has an internal buffer that is larger when it inserts the SSID... Signed-off-by: Reinette Chatre commit 1d79e53c56afe0826a311c3bc1653ad938166c22 Author: Reinette Chatre Date: Fri Feb 26 11:01:36 2010 -0800 iwl3945: fix memory corruption Recent patch "iwlwifi: move 3945 clip groups to 3945 data" exposed a memory corruption problem. When initializing the clip groups the code was mistakenly using the iwlagn rate count, not the 3945 rate count. This resulted in more memory being written than was allocated. "iwlwifi: move 3945 clip groups to 3945 data" moved the location where the clip groups are stored and the impact is now severe in that the number of configured TX queues is modified. Previously the "temperature" field was overwritten, which did not seem to affect the operation. Fix this one instance where wrong rate count was used. I also noticed one more location where the iwlagn rate count was used to index an iwl3945 array, fix this. I also modified one location that modified the iwlagn rate count to obtain the iwl3945 rate count ... just use the iwl3945 rate count directly. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2165 and http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2168 Signed-off-by: Reinette Chatre commit ff215713eb33c56301cf6bfec0143ddc7f22c138 Author: Steve French Date: Tue Mar 9 20:30:42 2010 +0000 [CIFS] checkpatch cleanup Signed-off-by: Steve French commit abab095d1fd25986b910d3c46289d8fa3582cdc5 Author: Jeff Layton Date: Fri Feb 12 07:44:18 2010 -0500 cifs: add cifs_revalidate_file ...to allow updating inode attributes on an existing inode by filehandle. Change mmap and llseek codepaths to use that instead of cifs_revalidate_dentry since they have a filehandle readily available. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit ecd216260f87dd8c14b2580a16f055554644bbea Author: Ralf Gerbig Date: Tue Mar 9 18:25:47 2010 +0100 ALSA: hda - Sound MSI fallout on a Asus mobo NVIDIA MCP55 without the following patch audio ssttuutteerrs on ASUS M2N32-SLI PREMIUM ACPI BIOS Revision 1304 the sound device is: 00:0e.1 Audio device: nVidia Corporation MCP55 High Definition Audio (rev a2) worked with 2.6.32 Signed-off-by: Ralf Gerbig Cc: Signed-off-by: Takashi Iwai commit 3a065fcf9efed42ba736da7be528f2d3dec4965a Author: Akinobu Mita Date: Tue Feb 23 23:11:13 2010 +0900 udf: use ext2_find_next_bit Use ext2_find_next_bit (generic_find_next_le_bit) to find the set bit in little endian bitmap region. Signed-off-by: Akinobu Mita Signed-off-by: Jan Kara commit 5833ded9b6d783b8446349bada08f0f5e4227895 Author: Jan Kara Date: Fri Jan 8 16:52:59 2010 +0100 udf: Do not read inode before writing it We needlessly read inode in udf_update_inode just before zeroing out the contents of the buffer. Fix it. Signed-off-by: Jan Kara commit aae917cd188f397e9223001d9f6c0adfb339fd64 Author: Jan Kara Date: Fri Jan 8 16:46:29 2010 +0100 udf: Fix unalloc space handling in udf_update_inode Writing of inode holding unallocated space info was broken because we first cleared the buffer and after that checked whether it contains a tag meaning the block holds unallocated space information. Fix the problem by checking appropriate in memory flag instead. Also cleanup the function a bit along the way - most importantly lock buffer when modifying its contents, check for buffer_write_io_error instead of !buffer_uptodate, etc.. Signed-off-by: Jan Kara commit 548b84166917d6f5e2296123b85ad24aecd3801d Merge: cfb581b 57d5488 Author: Ingo Molnar Date: Tue Mar 9 17:11:53 2010 +0100 Merge commit 'v2.6.34-rc1' into perf/urgent Conflicts: tools/perf/util/probe-event.c Merge reason: Pick up -rc1 and resolve the conflict as well. Signed-off-by: Ingo Molnar commit eb63e5d15758d2b1e607ddd5fb861b5596629380 Author: Mike Frysinger Date: Tue Mar 9 08:41:12 2010 -0500 Blackfin: stop cleaning include/asm/asm-offsets.h The file is no longer generated, so we don't want to clean it. Reported-by: Vivi Li Signed-off-by: Mike Frysinger commit eff7f270e9a05688066f40589d7b44e1dcf335dc Author: Andrej Gelenberg Date: Tue Mar 9 13:49:54 2010 +0100 HID: add quirk for UC-Logik WP4030 tablet Add HID_QUIRK_MULTI_INPUT for UC-Logik tablet. $ lsusb ... Bus 004 Device 002: ID 5543:0003 UC-Logic Technology Corp. Genius MousePen 4x3 Tablet/Aquila L1 Tablet Signed-off-by: Andrej Gelenberg Signed-off-by: Jiri Kosina commit 28918c211d86b6eeb70182c523800c7bc442960c Author: Michael Poole Date: Tue Mar 9 06:47:35 2010 -0500 HID: magicmouse: fix oops after device removal Ask the HID core not to register an input device for the mouse. Fix an oops after removing the device, due to leaving the new input device registered. Signed-off-by: Michael Poole Signed-off-by: Jiri Kosina commit e9edb1d8a345119c9baafa1b240eb1ec06a44662 Author: Christoph Hellwig Date: Wed Mar 3 08:53:51 2010 -0500 GFS2: do not select QUOTA gfs2 only needs the quotactl code, not the generic quota implementation. Signed-off-by: Christoph Hellwig Signed-off-by: Steven Whitehouse commit 3dd1b39497b6820219581af16e6a8831a582bb3a Author: Jari Vanhala Date: Tue Mar 9 00:29:46 2010 -0800 Input: add driver for TWL4030 vibrator device TWL4030 Vibrator implemented via Force Feedback interface. This uses MFD TWL4030 codec and own dynamic workqueue. Signed-off-by: Jari Vanhala Signed-off-by: Dmitry Torokhov commit 3e6e15a862a0bc20128497bbdc54254cdec21835 Author: Alan Stern Date: Mon Mar 8 23:42:46 2010 -0800 Input: enable remote wakeup for PNP i8042 keyboard ports This patch (as1355) enables remote wakeup by default on PNP i8042 keyboard ports. Signed-off-by: Alan Stern Signed-off-by: Dmitry Torokhov commit 881245dcff29df992d8431392a41fb81549129f9 Author: William Cohen Date: Tue Mar 9 09:26:04 2010 +0100 Add DocBook documentation for the block tracepoints. This patch adds a simple description of the various block tracepoints available in the kernel. Signed-off-by: William Cohen Acked-by: Randy Dunlap Signed-off-by: Jens Axboe commit 58b939959d228681208ba997595411fddc860849 Author: Dmitry Torokhov Date: Mon Mar 8 22:37:10 2010 -0800 Input: scancode in get/set_keycodes should be unsigned The HID layer has some scan codes of the form 0xffbc0000 for logitech devices which do not work if scancode is typed as signed int, so we need to switch to unsigned it instead. While at it keycode being signed does not make much sense either. Acked-by: Márton Németh Acked-by: Matthew Garrett Acked-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit ec62e1c8dd2f9b2a833b48d4a2f58f0c5e07384c Author: Dmitry Torokhov Date: Mon Mar 8 22:37:09 2010 -0800 Input: i8042 - use platfrom_create_bundle() helper Signed-off-by: Dmitry Torokhov commit ce67eef6a112bb283c6db39f9195800f31f5599a Merge: 776943f 57d5488 Author: Dmitry Torokhov Date: Mon Mar 8 23:17:32 2010 -0800 Merge commit 'v2.6.34-rc1' into for-linus commit cfb581bcd4f8c158c6f2b48bf5e232bb9e6855c0 Author: Ingo Molnar Date: Mon Mar 8 15:20:50 2010 +0100 MAINTAINERS: Add Arnaldo as tools/perf/ co-maintainer Acked-by: Peter Zijlstra Acked-by: Paul Mackerras Acked-by: Arnaldo Carvalho de Melo LKML-Reference: Signed-off-by: Ingo Molnar commit 7998a8787a8b35fede689c2bb716f65b231e7492 Author: Graf Yang Date: Mon Mar 8 03:01:35 2010 +0000 Blackfin: scale calibration when cpu freq changes Need to make sure we update the loops_per_jiffy values when we start changing the core clock. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit f2b0cd61cf635cbdc110472f6edc97328322cb8b Author: Mike Frysinger Date: Thu Mar 4 07:35:30 2010 -0500 Blackfin: eat spurious space in asm/dpmc.h Signed-off-by: Mike Frysinger commit 2943bff69e3728cfd69841537120125f9373bb28 Author: Robin Getz Date: Thu Feb 25 18:16:52 2010 +0000 Blackfin: fix anomaly 283 handling with exact hardware error The exact hardware error handling code was added before the workaround for anomaly 283 which caused the anomaly to be triggered in some cases (an infinite core stall). So re-order the code to avoid this. Reported-by: Andrew Rook Signed-off-by: Robin Getz Signed-off-by: Mike Frysinger commit 6ba255f4a8a0785ea8a2b052837a7b91eeac1bb4 Author: Michael Hennerich Date: Tue Dec 8 11:34:07 2009 +0000 Blackfin: bf537-stamp: add example ADXL346 orientation resources Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 848c51ccee5c4d51b1dc1a029508cfbb73f8c260 Author: Graf Yang Date: Fri Feb 26 11:49:52 2010 +0000 Blackfin: bf537-stamp: add example AD2S1210 IIO resources Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit ae4a8c1903e5d0ec19dcb257ec922b888941abba Author: Michael Hennerich Date: Thu Feb 25 13:32:24 2010 +0000 Blackfin: don't support keypad wakeup from hibernate The on-chip keypad peripheral requires different registers to be setup depending on the standby type (standby vs hibernation). However, since the power management framework doesn't differentiate between these types, the driver doesn't know which registers to program and subsequently it avoids doing so. Always enabling the keyboard wakeup source causes misbehavior when the pins are not assigned to the keypad. If they happen to drive a certain level, they'll trigger a wake up event which is not wanted. So until the aforementioned issue can be sorted out, drop support for the wakeup source completely. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit ef8873e06efdc023ee2e7f708787c79b78df3fcd Author: Sonic Zhang Date: Thu Feb 25 10:27:48 2010 +0000 Blackfin: bf537-stamp: add example AD7416 IIO resources Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 72fa2e9204d5efe4732346f99465a01c380f5cd3 Author: Michael Hennerich Date: Wed Feb 24 21:05:35 2010 +0000 Blackfin: bf537-stamp: add example ADP8860 backlight/led resources Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 5f0225948ecc4bb21cc35839d3d447e22d40a71f Author: Sonic Zhang Date: Wed Feb 24 07:32:50 2010 +0000 Blackfin: bf537-stamp: add example AD7414 temp sensor resources Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit d40bd71f88e7be193ce4feb4b92572c70024b9c2 Author: Barry Song Date: Mon Feb 22 10:31:06 2010 +0000 Blackfin: rename AD1836 to AD183X in board files The ASoC codec driver was generalized and renamed, so update the board resources accordingly. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit df6a949b4666780969fd90a2f3ac3db3b62552d6 Author: Graf Yang Date: Sun Feb 21 10:23:07 2010 +0000 Blackfin: bf537-stamp: add example AD2S120x resources Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit aec59c911307639c77076bdc9d9b546a4a767a73 Author: Michael Hennerich Date: Fri Feb 19 15:09:10 2010 +0000 Blackfin: add support for the on-chip MAC status interrupts This patch provides infrastructure for MAC Wake-On-Lan and PHYINT use in phylib. New Interrupts added: IRQ_MAC_PHYINT /* PHY_INT Interrupt */ IRQ_MAC_MMCINT /* MMC Counter Interrupt */ IRQ_MAC_RXFSINT /* RX Frame-Status Interrupt */ IRQ_MAC_TXFSINT /* TX Frame-Status Interrupt */ IRQ_MAC_WAKEDET /* Wake-Up Interrupt */ IRQ_MAC_RXDMAERR /* RX DMA Direction Error Interrupt */ IRQ_MAC_TXDMAERR /* TX DMA Direction Error Interrupt */ IRQ_MAC_STMDONE /* Station Mgt. Transfer Done Interrupt */ On BF537/6 the implementation is not straight forward since there are now two chained chained_handlers. A cleaner approach would have been to add latter IRQs to the demux of IRQ_GENERIC_ERROR. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit b2740801457b2fbbe14812c0fda24bd689025886 Author: Mike Frysinger Date: Tue Feb 16 04:03:10 2010 -0500 Blackfin: asm/page.h: pull in asm-generic headers Signed-off-by: Mike Frysinger commit f9c29e872b1c468d09c04ed452dc58961914c9d7 Author: Joachim Eastwood Date: Thu Feb 11 12:41:11 2010 +0100 Blackfin: mark gpio lib functions static Signed-off-by: Joachim Eastwood Signed-off-by: Mike Frysinger commit c48d767569ec6449277bf4248295b4c165b57159 Author: Cliff Cai Date: Thu Feb 11 09:27:18 2010 +0000 Blackfin: bf537-stamp: add example ADAU1361 resources Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger commit 7f4f69f991146fa976cbc914a50285b2afc0ad93 Author: Joachim Eastwood Date: Wed Feb 10 12:31:41 2010 +0100 Blackfin: GPIO: implement to_irq handler This makes it possible to support IRQs coming from off-chip GPIO controllers. Signed-off-by: Joachim Eastwood Signed-off-by: Mike Frysinger commit f8e6dbffa7a6cb3da3bcaf1fde3039896e1ac764 Author: Sonic Zhang Date: Wed Feb 10 09:09:05 2010 +0000 Blackfin: bf537-stamp: add example ADP122/ADP150 power regulator resources Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit f5f9531c7e588ee62e3aeddb14613ea80e7c2ca2 Author: Graf Yang Date: Wed Feb 10 07:15:59 2010 +0000 Blackfin: bf537-stamp: add example AD2S90 resources Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit f32792d045e1bbd86c0af0a28a46ae87af1ae100 Author: Sonic Zhang Date: Tue Feb 9 02:47:09 2010 +0000 Blackfin: bf537-stamp: add example AD5398 power regulator resources Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 2bc4affe9c374983220c1a5d5566ce67c95384fc Author: Frans Pop Date: Sat Feb 6 18:47:18 2010 +0100 Blackfin: remove trailing space in messages Signed-off-by: Frans Pop Signed-off-by: Mike Frysinger commit fe5b25c09873faee44077ee6ff8f23eee61b0fa0 Author: Michael Hennerich Date: Thu Feb 4 14:41:39 2010 +0000 Blackfin: bf537-stamp: add example ADS7846 touchscreen resources Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit ddaebcabbc18811ac4ac6e84fb9c327e8393a1dc Author: Mike Frysinger Date: Fri Jan 29 01:33:54 2010 +0000 Blackfin: add support for restart_syscall() Signed-off-by: Mike Frysinger commit 9e228ee9eae97b533d3b3133f76478c70dbd4294 Author: Mike Frysinger Date: Fri Feb 12 07:24:34 2010 +0000 Blackfin: check for bad syscalls after tracing it We want to report all system calls (even invalid ones) to the tracing layers, so check the NR only after we've notified. Signed-off-by: Mike Frysinger commit 600482c13d3d3612d71f39d8aaec47f63aafa801 Author: Mike Frysinger Date: Wed Feb 17 10:44:22 2010 +0000 Blackfin: fix single stepping over system calls On Blackfin systems, the hardware single step exception triggers before the system call exception, so we need to save this info to process it later on. Otherwise, single stepping in userspace misses a few insns right after the system call. This is based a bit on the SuperH code added in commit 4b505db9c4c72dbd. Reported-by: Roland McGrath Signed-off-by: Mike Frysinger commit e8f263dfd32a784a816fe68956e564f8ede4a9fc Author: Mike Frysinger Date: Tue Jan 26 07:33:53 2010 +0000 Blackfin: initial tracehook support Signed-off-by: Mike Frysinger commit e50e2f25c5b90abd00a1e5871c45094cf5207afc Author: Mike Frysinger Date: Sun Feb 14 22:58:02 2010 +0000 Blackfin: initial regset support We don't support core dumps (yet?), but this should make things easier. Signed-off-by: Mike Frysinger commit f2ce48024a9a6d3e92a023ded0f7b1e99da1cd16 Author: Mike Frysinger Date: Sun Feb 14 22:56:24 2010 +0000 Blackfin: simplify PTRACE_{PEEK,POKE}USR in preperation for regset support Signed-off-by: Mike Frysinger commit 5f09c77d2ad69397498b6555f0d3cd697304253c Author: Mike Frysinger Date: Sun Feb 14 22:49:59 2010 +0000 Blackfin: simplify SYSCFG code a bit and ignore attempts to change it We don't want to let user space modify the SYSCFG register arbitrarily as the settings are system wide (SNEN/CNEN) and can cause misbehavior. The only other bit here (SSSTEP) has proper controls via PTRACE_SINGLESTEP. Signed-off-by: Mike Frysinger commit f5b99627a3065858ad5c678703ed7af5363dca39 Author: Christoph Hellwig Date: Wed Feb 3 09:15:57 2010 +0000 Blackfin: use generic ptrace_resume code Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't which is consistent with all architectures using the modern ptrace code. Signed-off-by: Christoph Hellwig Signed-off-by: Mike Frysinger commit ad6720c0b52ae1cde0bc567e57a71acde1a292aa Author: Barry Song Date: Wed Feb 3 09:15:31 2010 +0000 Blackfin: bf537-stamp: add example AD715{0,2}/AD774{5,6,7} IIO resources Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 718340f62900ed44046d2b0f74d0dec7cf844194 Author: Graf Yang Date: Mon Feb 1 06:07:50 2010 +0000 Blackfin: rewrite resync_core_{i,d}cache() SMP logic to avoid per_cpu data This functions are implicitly called by core functions like cpu_relax(), and since those functions may be called early on before common code has initialized the per-cpu data area, we need to tweak the stats gathering. Now the statistics are maintained in common bss which makes these funcs safe to use as soon as the C runtime env is setup. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 6c2b7072a7035837998da38809f98e4182e4c41c Author: Graf Yang Date: Wed Jan 27 11:16:32 2010 +0000 Blackfin: add support for cpufreq on SMP systems Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 3b82790c12f8122d3df07cc387d2d74355e54c75 Author: Barry Song Date: Wed Jan 27 09:01:36 2010 +0000 Blackfin: rename AD1938 to AD193X in board files The ASoC codec driver was generalized and renamed, so update the board resources accordingly. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 7136d9c5e874813ccbd1d438924c413b7305944c Author: Yi Li Date: Tue Jan 26 04:02:44 2010 +0000 Blackfin: add CALLER_ADDR ftrace macros Since GCC doesn't support __builtin_frame_address(n) where n!=0, add our own function to walk the stack frame pointers. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 652afdc3403cbccb93c7e6db582a1204a9e5e90a Author: Mike Frysinger Date: Mon Jan 25 22:12:32 2010 +0000 Blackfin: move KGDB selection to the way other arches do it Signed-off-by: Mike Frysinger commit 64b33a00dc39dceac04dbd7622ab14017e074712 Author: Graf Yang Date: Mon Jan 25 03:47:43 2010 +0000 Blackfin: split watchdog definitions into a dedicated header file This allows things to be shared between the different watchdog sources. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 4ab069e5356bae71dda2ce6bb2b2a62a34f2bf25 Author: Barry Song Date: Fri Jan 22 10:07:30 2010 +0000 Blackfin: add dma_disable_irq_nosync() API for irq handlers Some IRQ handlers need to disable a DMA channel without waiting. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 3750411fb7ca96dd11ce8a63f213b60bfe4b5c29 Author: Mike Frysinger Date: Fri Jan 22 09:11:20 2010 -0500 Blackfin: fix whitespace damage in thread_info.h Signed-off-by: Mike Frysinger commit b73faf74493fd1bc75a8938aa5d296facf50a650 Author: Mike Frysinger Date: Fri Jan 22 07:59:32 2010 -0500 Blackfin: support new ftrace frame pointer semantics Signed-off-by: Mike Frysinger commit aebfef03249819886a7f9c981940cbd48d82ea47 Author: Mike Frysinger Date: Fri Jan 22 07:35:20 2010 -0500 Blackfin: implement ftrace mcount test Signed-off-by: Mike Frysinger commit 6388d14eb2dd3af655cee28ca2a1c56881e63e56 Author: Barry Song Date: Thu Jan 21 07:20:44 2010 +0000 Blackfin: implement ndelay() Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 60ffdb36547da2397d6cfefe9c752ebad16524f6 Author: Graf Yang Date: Wed Jan 20 10:56:24 2010 +0000 Blackfin: implement nmi_watchdog for SMP on BF561 Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 726e96561e4704278bc5197238f6459e1a63aa77 Author: Barry Song Date: Wed Jan 20 07:25:31 2010 +0000 Blackfin: respect the L1 kconfig optimization in the MPU code Restore support for CONFIG_EXCPT_IRQ_SYSC_L1 in the MPU CPLB manager. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 336746ed8ee8ef503ba79bc4b6f0b5a40e8ab3ce Author: Barry Song Date: Tue Oct 13 09:19:18 2009 +0000 Blackfin: bf537-stamp/bf527-ezkit: move ASoC SPORT resources to boards file Rather than declaring pin resources in the drivers, do it in the board. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 439b486746df9f57524e002dfd6117bbc040e925 Author: Barry Song Date: Fri Nov 13 02:41:07 2009 +0000 Blackfin: bf548-ezkit: add ASoC CPU DAI resources Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit f3dec78333d6369161eb833dbd8c8f006f359fdf Author: Michael Hennerich Date: Tue Jan 19 14:45:38 2010 +0000 Blackfin: increase NR_IRQS beyond NR on-chip IRQs This makes room for off-chip IRQ controllers. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 5e8d3210b5bffbe64afca9152241284a46611c7e Author: Barry Song Date: Tue Jan 19 11:01:08 2010 +0000 Blackfin: fill out the signal si_addr when sending a SIGBUS/SIGSEGV Some userspace applications use this member in diagnosing crashes. It also makes some LTP tests pass (i.e. the Blackfin arch behaves more like everyone else). Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 0531c467da6438f278e9420a30f73eea2fdb73bd Author: Mike Frysinger Date: Tue Jan 19 07:04:29 2010 +0000 Blackfin: bf537-stamp: move ADF7021 MAC storage into platform resources Just generate a random MAC on the demo board since the ADF702x lacks dedicated storage for such things. Signed-off-by: Mike Frysinger commit 441504df6b81302c06010083c8d63b1465ead405 Author: Yi Li Date: Tue Jan 19 04:35:28 2010 +0000 Blackfin: add support for irqflags tracing Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 5aff1642aee0fe3cb9be7339fcc09dd2bd1976f0 Author: Harald Krapfenbauer Date: Fri Jan 15 09:25:11 2010 +0000 Blackfin: tcm-bf518: new board port Signed-off-by: Harald Krapfenbauer Signed-off-by: Mike Frysinger commit 38e7673f24e6c19aba9ecff86760cb7981b91464 Author: Barry Song Date: Fri Jan 15 03:24:39 2010 +0000 Blackfin: bf537-stamp: declare parallel flash as ROM with XIP kernel When the kernel is executing out of parallel flash (XIP), we can't have the flash go into an erase/programming cycle, otherwise the instruction fetching steps fail and everything crashes. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 29bb3bc0c71d867d50b18a0277bf28cd8dd3fca7 Author: Cliff Cai Date: Thu Jan 14 08:28:38 2010 +0000 Blackfin: bf527-ezkit/bf537-stamp: add example SSM2602 I2C resources Signed-off-by: Cliff Cai Signed-off-by: Mike Frysinger commit c6669c223a409199a45bb8f31a2e160ee26d19cc Author: Graf Yang Date: Wed Jan 13 06:09:34 2010 +0000 Blackfin: fix up mm locking in address dumping The locking code in the address dumper needs to grab the mm's mmap_sem so that other CPUs do not get an inconsistent view. On UP systems this really wasn't a problem, but it is easy to trigger a race on SMP systems when another CPU removes a mapping. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 7e1082b7dbb60081b157d82106da33686cb9ea91 Author: Barry Song Date: Tue Jan 12 03:59:18 2010 +0000 Blackfin: bf533-{ezkit,stamp}: add sound platform devices Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 8d0177dbcbad26ffd451b607c8fa74295d81e7b9 Author: Mike Frysinger Date: Sat Jan 9 00:48:01 2010 +0000 Blackfin: kgdb: mark all local funcs/structs static Signed-off-by: Mike Frysinger commit 48a74f9d1b381471397097851531c4e392f97451 Author: Roel Kluin Date: Fri Jan 8 20:06:22 2010 +0100 Blackfin: fix decoding of opcodes 41-47 in decode_instruction() This condition allowed only decoding of opcode 0x0040 Signed-off-by: Roel Kluin Signed-off-by: Mike Frysinger commit d86bfb1600db38e8387beee0aaab4263cfd728a2 Author: Barry Song Date: Thu Jan 7 04:11:17 2010 +0000 Blackfin: initial XIP support Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit aad16f32284030907b4f105e92e5fb534fd272bc Author: Barry Song Date: Tue Jan 5 07:25:24 2010 +0000 Blackfin: fix initial stack pointer setup During very early init, the stack pointer is given a slightly incorrect value (&init_thread_union). The value is later adjusted to the right one during early init (&init_thread_union + THREAD_SIZE), but it is used a few times in between. While the few functions used don't actually put things onto the stack (due to optimization), it's best if we simply use the right value from the start. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 8916a1499d958fcb9086a2c49a5fa3000689bb81 Author: Barry Song Date: Tue Jan 5 07:16:32 2010 +0000 Blackfin: fix the section name of init_thread_union Use the common attribute rather than setting the section name directly. The common linker script defines expect the newer naming. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 6feda3a6530204ad73a2dc1713c051462a1d9c49 Author: Barry Song Date: Tue Jan 5 07:05:50 2010 +0000 Blackfin: replace harcoded define with proper THREAD_SIZE macro Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 0afc272cc6044b7a4f1318eadbfb10c4be654441 Author: Jie Zhang Date: Tue Jan 5 04:22:33 2010 +0000 Blackfin: fix relocation errors with large initramfs images Since we are now discarding .exit.text at runtime instead of link time, we need to place all .text sections ahead of the .data sections. Otherwise, a really large attached initramfs may cause link errors as it pushes the PC relative relocations behind the limits of the Blackfin ISA (~16meg). The instructions in the .exit.text are unable to call back into the .text sections leading to a link failure. Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger commit cb191718fcca887fb4d5e3de833546ab12b433f9 Author: Yi Li Date: Wed Dec 30 07:12:50 2009 +0000 Blackfin: try to simplify interrupt ifdef ugliness Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 54536c5c6a807d0db7252c3b33638b88f34650ff Author: Yi Li Date: Wed Dec 30 04:04:07 2009 +0000 Blackfin: simplify SMP handling in SRAM code There is no need to use {get,put}_cpu() when we already have a spinlock to protect against multiple processors running simultaneously. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 0b39db28b953945232719e7ff6fb802aa8a2be5f Author: Graf Yang Date: Mon Dec 28 11:13:51 2009 +0000 Blackfin: SMP: add PM/CPU hotplug support Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 0d152c27e336b5fd777da7dd3e814617e7305afd Author: Yi Li Date: Mon Dec 28 10:21:49 2009 +0000 Blackfin: SMP: make core timers per-cpu clock events for HRT SMP systems require per-cpu local clock event devices in order to enable HRT support. One a BF561, we can use local core timer for this purpose. Originally, there was one global core-timer clock event device set up for core A. To accomplish this feat, we need to split the gptimer0/core timer logic so that each is a standalone clock event. There is no requirement that we only have one clock event source anyways. Once we have this, we just define per-cpu clock event devices for each local core timer. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 682f5dc4ed7cdef1f55e40ee505c4346dfa6fa91 Author: Graf Yang Date: Mon Dec 28 09:27:27 2009 +0000 Blackfin: drop cpu_callin_map on SMP systems Common API already provides functions for managing online CPUs. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 0325f25a919ed09d11b16ec8eccf95618dc36601 Author: Sonic Zhang Date: Mon Dec 28 07:29:57 2009 +0000 Blackfin: SMP: add support for IRQ affinity Now that the Blackfin IRQ controller supports this, drivers get the normal functionality of controlling which CPU to bind IRQs to. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 69e1d8a61d5aa9e03676dc21fdfb750c5a97bb34 Author: Mike Frysinger Date: Fri Dec 25 21:06:06 2009 +0000 Blackfin: unify MMR helpers Signed-off-by: Mike Frysinger commit f05ede3a9416b6eff6c997c12fd749044fb4fdac Author: Mike Frysinger Date: Fri Dec 25 15:34:08 2009 +0000 Blackfin: isram: add unlikely to sanity checks Don't want the compiler assuming the rare sanity checks are the norm and optimize for those paths. Signed-off-by: Mike Frysinger commit 0ea19c64e30f3688d1a890217c382db2b0ca411c Author: Sonic Zhang Date: Wed Dec 23 07:01:43 2009 +0000 Blackfin: update defconfigs Signed-off-by: Sonic Zhang Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 0f7b468b6eace87ecdc59b3ec8476d50b0561ac2 Author: Michael Hennerich Date: Tue Dec 22 11:32:06 2009 +0000 Blackfin: add optimized version of Hamming Weight functions Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 252077cf7d44f1f261a5fdaedab88057f8379859 Author: Valentin Yakovenkov Date: Tue Dec 22 09:02:10 2009 +0000 Blackfin: bf561-acvilon: save the smsc911x mac address Signed-off-by: Valentin Yakovenkov Signed-off-by: Mike Frysinger commit 7a9cc48907e05e61033b953a3860e55703625950 Author: Sonic Zhang Date: Tue Dec 22 04:47:04 2009 +0000 Blackfin: bf537-stamp: unify duplicated ADP5588 headers Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 01218654cd97a1e970034b1e080ec5459172c3f6 Author: Mike Frysinger Date: Mon Dec 21 15:07:43 2009 +0000 Blackfin: bf537-stamp: change CONFIG_USB_SL811_BFIN_IRQ to IRQ_PF4 The Kconfig option was never mainlined, so replace the define with the actual pin that it is hooked up to by default. Signed-off-by: Mike Frysinger commit 3b781de6dd96d64c133a7ed774f385d35129575b Author: Mike Frysinger Date: Mon Dec 21 15:04:03 2009 +0000 Blackfin: drop unused SL811 platform resources from bf527/pnav boards These platforms don't hook up to this USB controller, so no point in declaring resources for it. Signed-off-by: Mike Frysinger commit 1dafdc513a20410e328b22b6d25d4ac78557516a Author: Michael Hennerich Date: Fri Dec 18 12:30:04 2009 +0000 Blackfin: BF51x: fix L1 Instruction SRAM size The BF51x's Instruction SRAM is 32kB, not 48kB. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 244d34230b7447fba95221dbf39b39e94257939c Author: Michael Hennerich Date: Fri Dec 18 09:29:39 2009 +0000 Blackfin: update AD7879 resources to match the new gpiolib driver support Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit edd07992504e631b50d18d130c62addbcb16269e Author: Michael Hennerich Date: Wed Dec 16 08:45:17 2009 +0000 Blackfin: gpio: use shorter name The gpio label size is 16 char, but the current code uses a longer name resulting in chopped display. So use a shorter name. Reported-by: Peter Meerwald Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 15435a2a55a678b21b9bb75a7513b3c9ff69a68e Author: Michael Hennerich Date: Wed Dec 16 08:39:58 2009 +0000 Blackfin: pull in asm/bfin_can.h for interrupt masks Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit a3a6a590190ca77aedf9de871d941c1139a5a24c Author: Sonic Zhang Date: Wed Dec 16 07:52:52 2009 +0000 Blackfin: dma-mapping: fix thinko in constant optimization Make sure the non-constant version of the dma_sync functions actually complete instead of recursively calling itself forever. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 0c270807db7c6478d60ab2bc23511fd5868a7a80 Author: Mike Frysinger Date: Tue Dec 15 20:57:43 2009 +0000 Blackfin: drop duplicate HOTPLUG Kconfig option The option already exists for everyone in init/Kconfig. Signed-off-by: Mike Frysinger commit 0e64268ced7975ddcfed3e47a26b8df534f8e3ed Author: Mike Frysinger Date: Tue Dec 15 13:33:19 2009 +0000 Blackfin: merge common CAN defines into one headers Rather than copy and paste the MMR defines and register layout, consolidate everything in one place. Signed-off-by: Mike Frysinger commit 360adee8a5c249f221de43d7d46073391359a4ba Author: Mike Frysinger Date: Tue Dec 15 05:08:36 2009 +0000 Blackfin: wire up the various memory related syscalls These all just go to the stub syscall at the moment, so this is largely future proofing. Signed-off-by: Mike Frysinger commit ead9b1156d4b128db9f13ee8be32cbcd3f255db9 Author: Graf Yang Date: Mon Dec 14 08:01:08 2009 +0000 Blackfin: SMP: enable HAVE_LEGACY_PER_CPU_AREA The current Blackfin SMP code relies on the legacy cpu area code, so select it until we port things to the newer code. Signed-off-by: Graf Yang Signed-off-by: Mike Frysinger commit 5792ab2a0a22fdaef33056ca2b31847a28b1af60 Author: Sonic Zhang Date: Wed Dec 9 07:01:50 2009 +0000 Blackfin: MPU: handle caches for reserved memory We weren't handling the user-specified cache behavior for the reserved memory regions (via mem=/max_mem=). The no-MPU code already takes care of this, so add support to the MPU code as well. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit d94a1aa44ed6bfe8d8ab36c02de652d4fcf0d2c3 Author: Michael Hennerich Date: Tue Dec 8 11:45:55 2009 +0000 Blackfin: extend bfin-lq035q1-fb resources to include PPI mode This lets us support the new BF527-EZKIT V2.1 via platform resources tweaks only. Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit 6924dfb0588dab02a331a3a526f8a8fae7d1b3cc Author: Michael Hennerich Date: Mon Dec 7 13:41:28 2009 +0000 Blackfin: bf527-ezkit: add support for V2.1 boards Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger commit e18e7dd33454f277b9438af66d25984362278021 Author: Barry Song Date: Mon Dec 7 10:05:58 2009 +0000 Blackfin: fix MPU page permission masks overflow when dealing with async memory Attempting to use the MPU while doing XIP out of parallel flash hooked up to the async memory bus would often result in random crashes as the MPU slowly corrupted memory. The fallout here is that the async banks gain MPU protection from user space too. So any accesses have to go through the mmap() interface rather than just using hardcoded pointers. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit c9784ebb23be1e2ef23f537d6df04e0ea0206802 Author: Yi Li Date: Fri Dec 4 06:56:21 2009 +0000 Blackfin: flush caches on SMP when one core calls another via IPI Sometimes a SMP system will randomly panic at boot. This is due to caches being out of sync when one core tries to signal the other. So when one core calls another via IPI, flush the data caches. Signed-off-by: Yi Li Signed-off-by: Mike Frysinger commit 3630ac34b0ab346ff0910401dbed7af624be7027 Author: Mike Frysinger Date: Tue Nov 17 04:26:22 2009 +0000 Blackfin: bfin_sport: unify & standardize SPORT masks Rather than have every SPORT driver copy & paste things, declare the C structure and MMR bitmasks in one place for everyone to use. Signed-off-by: Mike Frysinger commit c13ce9fd26c3a0e32b3bf0b00929181e66114ed2 Author: Sonic Zhang Date: Wed Sep 23 09:37:46 2009 +0000 Blackfin: add UART/SPORT early platform resources This lets people easily select the UART/SPORT consoles for early printk while leveraging the pins declared in the boards file. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit b635f1912da764c960c044ffd58ba27157aa2c85 Author: Sonic Zhang Date: Wed Sep 23 08:06:25 2009 +0000 Blackfin: allow boards to register early devices Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit df5de261306d9bfc1ed9121595593b10a7626b95 Author: Sonic Zhang Date: Wed Sep 23 05:01:56 2009 +0000 Blackfin: move SPORT UART resources to boards files Rather than keeping the pins in the actual driver and worrying about a mess of Kconfig options, declare all the desired pin resources in the boards file. This lets people easily select the specific pins/ports for the normal emulated UART as well as GPIOs for CTS/RTS. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 08a54bffaf7d5dc9391518323234ce9f9ea4be8e Author: Barry Song Date: Fri Sep 18 09:14:38 2009 +0000 Blackfin: bf537-stamp: ad1938: switch to GPIO CS Signed-off-by: Barry Song Signed-off-by: Mike Frysinger commit 6bd1fbea2e8bff9346a5afb44ca948b4e4ed74a5 Author: Sonic Zhang Date: Wed Sep 9 10:46:19 2009 +0000 Blackfin: move on-chip UART resources to boards files Rather than keeping the pins in the actual driver and worrying about a mess of Kconfig options, declare all the desired pin resources in the boards file. This lets people easily select the specific pins/ports for the normal UART as well as GPIOs for CTS/RTS. Signed-off-by: Sonic Zhang Signed-off-by: Mike Frysinger commit 30124d11097e371e42052144d8a3f4a78d26e09f Author: Dave Kleikamp Date: Mon Mar 1 04:57:34 2010 +0000 powerpc/booke: Fix breakpoint/watchpoint one-shot behavior Another fix for the extended ptrace patches in the -next tree. The handling of breakpoints and watchpoints is inconsistent. When a breakpoint or watchpoint is hit, the interrupt handler is clearing the proper bits in the dbcr* registers, but leaving the dac* and iac* registers alone. The ptrace code to delete the break/watchpoints checks the dac* and iac* registers for zero to determine if they are enabled. Instead, they should check the dbcr* bits. Signed-off-by: Dave Kleikamp Signed-off-by: Benjamin Herrenschmidt commit a8e6da093ea8642b1320fb5d64134366f2a8d0ac Author: Vaidyanathan Srinivasan Date: Mon Mar 1 02:58:23 2010 +0000 powerpc: Reduce printk from pseries_mach_cpu_die() Remove debug printks in pseries_mach_cpu_die(). These are noisy at runtime. Traceevents can be added to instrument this section of code. The following KERN_INFO printks are removed: cpu 62 (hwid 62) returned from cede. Decrementer value = b2802fff Timebase value = 2fa8f95035f4a cpu 62 (hwid 62) got prodded to go online cpu 58 (hwid 58) ceding for offline with hint 2 Signed-off-by: Vaidyanathan Srinivasan Cc: Gautham R Shenoy Signed-off-by: Benjamin Herrenschmidt commit 0212f2602a38e740d5a96aba4cebfc2ebc993ecf Author: Vaidyanathan Srinivasan Date: Mon Mar 1 02:58:16 2010 +0000 powerpc: Move checks in pseries_mach_cpu_die() Rearrange condition checks for better code readability and prevention of possible race conditions when preferred_offline_state can potentially change during the execution of pseries_mach_cpu_die(). The patch will make pseries_mach_cpu_die() put cpu in one of the consistent states and not hit the run over BUG() Signed-off-by: Vaidyanathan Srinivasan Cc: Gautham R Shenoy Signed-off-by: Benjamin Herrenschmidt commit 8dbce53cc249a76e9450708d291fce5a7e29c6a1 Author: Vaidyanathan Srinivasan Date: Mon Mar 1 02:58:09 2010 +0000 powerpc: Reset kernel stack on cpu online from cede state Cpu hotplug (offline) without dlpar operation will place cpu in cede state and the extended_cede_processor() function will return when resumed. Kernel stack pointer needs to be reset before start_secondary() is called to continue the online operation. Added new function start_secondary_resume() to do the above steps. Signed-off-by: Vaidyanathan Srinivasan Cc: Gautham R Shenoy Signed-off-by: Benjamin Herrenschmidt commit de0b632ba05bc88949e67d33d1c313fcf922ae2e Author: Josh Boyer Date: Fri Feb 5 03:52:16 2010 +0000 powerpc: Fix G5 thermal shutdown This changes the thresholds for the liquid cooled G5 thermal shutdown mechanism to prevent an errant shutdown with some models. Signed-off-by: David Woodhouse Signed-off-by: Benjamin Herrenschmidt commit f09b7b2a1115d3afe02c66156746287f6c63bba0 Author: Mark Nelson Date: Sun Jan 31 20:12:58 2010 +0000 powerpc/pseries: Pass CPPR value to H_XIRR hcall Now that we properly keep track of the CPPR value (since 49bd3647134ea47420067aea8d1401e722bf2aac, "powerpc/pseries: Track previous CPPR values to correctly EOI interrupts") we can pass it to the H_XIRR hcall. This is needed because the Partition Adjunct Option of new versions of pHyp extend the H_XIRR hcall to include the CPPR as an input parameter. Earlier versions not supporting this option just disregard the extra input parameter, so this doesn't cause any problems for existing systems. The Partition Adjunct Option is required for future systems that will support SR-IOV capable devices. Signed-off-by: Mark Nelson Signed-off-by: Benjamin Herrenschmidt commit 856f70a368022645a08fbecc5d30ec218f13232d Author: Dave Kleikamp Date: Tue Feb 23 09:43:17 2010 +0000 powerpc/booke: Fix a couple typos in the advanced ptrace code powerpc/booke: Fix a couple typos in the advanced ptrace code Found and fixed a couple typos in the advanced ptrace patches. (These patches are currently in benh's next tree.) Signed-off-by: Dave Kleikamp Cc: Benjamin Herrenschmidt Cc: linuxppc-dev list Signed-off-by: Benjamin Herrenschmidt commit 5b72d74ce2fccca2a301de60f31b16ddf5c93984 Author: Adam Lackorzynski Date: Sat Feb 27 07:07:59 2010 +0000 powerpc: Fix SMP build with disabled CPU hotplugging. Compiling 2.6.33 with SMP enabled and HOTPLUG_CPU disabled gives me the following link errors: LD init/built-in.o LD .tmp_vmlinux1 arch/powerpc/platforms/built-in.o: In function `.smp_xics_setup_cpu': smp.c:(.devinit.text+0x88): undefined reference to `.set_cpu_current_state' smp.c:(.devinit.text+0x94): undefined reference to `.set_default_offline_state' arch/powerpc/platforms/built-in.o: In function `.smp_pSeries_kick_cpu': smp.c:(.devinit.text+0x13c): undefined reference to `.set_preferred_offline_state' smp.c:(.devinit.text+0x148): undefined reference to `.get_cpu_current_state' smp.c:(.devinit.text+0x1a8): undefined reference to `.get_cpu_current_state' make: *** [.tmp_vmlinux1] Error 1 The following change fixes that for me and seems to work as expected. Signed-off-by: Adam Lackorzynski Signed-off-by: Benjamin Herrenschmidt commit 1426d5a3bd07589534286375998c0c8c6fdc5260 Author: Michael Ellerman Date: Thu Jan 28 13:23:22 2010 +0000 powerpc: Dynamically allocate pacas On 64-bit kernels we currently have a 512 byte struct paca_struct for each cpu (usually just called "the paca"). Currently they are statically allocated, which means a kernel built for a large number of cpus will waste a lot of space if it's booted on a machine with few cpus. We can avoid that by only allocating the number of pacas we need at boot. However this is complicated by the fact that we need to access the paca before we know how many cpus there are in the system. The solution is to dynamically allocate enough space for NR_CPUS pacas, but then later in boot when we know how many cpus we have, we free any unused pacas. Signed-off-by: Michael Ellerman Signed-off-by: Benjamin Herrenschmidt commit 59603b9ae426e968d452f9325cdcff308573dee7 Merge: 57d5488 a111065 Author: Benjamin Herrenschmidt Date: Tue Mar 9 11:51:57 2010 +1100 Merge commit 'kumar/next' into merge commit 522dba7134d6b2e5821d3457f7941ec34f668e6d Merge: 51d0f6d bb910a7 Author: Linus Torvalds Date: Mon Mar 8 16:10:29 2010 -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: PCI/PM Runtime: Make runtime PM of PCI devices inactive by default commit 51d0f6d1f50349579f007adf5c0b51aaedd93b94 Merge: 57d5488 da495ec Author: Linus Torvalds Date: Mon Mar 8 14:07:53 2010 -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: kfree correct pointer during mount option parsing Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL commit da495ecc0fb096b383754952a1c152147bc95b52 Author: Josef Bacik Date: Thu Feb 25 20:38:35 2010 +0000 Btrfs: kfree correct pointer during mount option parsing We kstrdup the options string, but then strsep screws with the pointer, so when we kfree() it, we're not giving it the right pointer. Tested-by: Andy Lutomirski Signed-off-by: Chris Mason commit 6bef4d317193d3badbbfa3f3c593758ace84a629 Author: Eric Paris Date: Tue Feb 23 19:43:04 2010 +0000 Btrfs: use RB_ROOT to intialize rb_trees instead of setting rb_node to NULL btrfs inialize rb trees in quite a number of places by settin rb_node = NULL; The problem with this is that 17d9ddc72fb8bba0d4f678 in the linux-next tree adds a new field to that struct which needs to be NULL for the new rbtree library code to work properly. This patch uses RB_ROOT as the intializer so all of the relevant fields will be NULL'd. Without the patch I get a panic. Signed-off-by: Eric Paris Acked-by: Venkatesh Pallipadi Signed-off-by: Chris Mason commit 42d38041a94cef1e38f7b8ab9827881022a183a9 Author: Wolfgang Grandegger Date: Mon Mar 8 12:51:41 2010 -0800 MAINTAINERS: add netdev to CAN network layer and drivers entries Signed-off-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit de5865714621e23d65c52955ca2125dbb074c242 Author: Neil Horman Date: Mon Mar 8 12:43:56 2010 -0800 tipc: filter out messages not intended for this host Port commit 20deb48d16fdd07ce2fdc8d03ea317362217e085 from git://tipc.cslab.ericsson.net/pub/git/people/allan/tipc.git Part of the large effort I'm trying to help with getting all the downstreamed code from windriver forward ported to the upstream tree Origional commit message Restore check to filter out inadverdently received messages This patch reimplements a check that allows TIPC to discard messages that are not intended for it. This check was present in TIPC 1.5/1.6, but was removed by accident during the development of TIPC 1.7; it has now been updated to account for new features present in TIPC 1.7 and reinserted into TIPC. The main benefit of this check is to filter out messages arriving from orphaned link endpoints, which can arise when a node exits the network and then re-enters it with a different TIPC network address (i.e. value). Signed-off-by: Neil Horman Origionally-authored-by: Allan Stephens Signed-off-by: David S. Miller commit 91e013827c0bcbb187ecf02213c5446b6f62d445 Merge: 988addf 8d2b09f Author: Russell King Date: Mon Mar 8 20:24:11 2010 +0000 Merge branch 'master' into for-linus commit 988addf82e4c03739375279de73929580a2d4a6a Merge: 004c1c7 25cf84c Author: Russell King Date: Mon Mar 8 20:21:04 2010 +0000 Merge branch 'origin' into devel-stable Conflicts: arch/arm/mach-mx2/devices.c arch/arm/mach-mx2/devices.h sound/soc/pxa/pxa-ssp.c commit d88dca79d3852a3623f606f781e013d61486828a Author: Neil Horman Date: Mon Mar 8 12:20:58 2010 -0800 tipc: fix endianness on tipc subscriber messages Remove htohl implementation from tipc I was working on forward porting the downstream commits for TIPC and ran accross this one: http://tipc.cslab.ericsson.net/cgi-bin/gitweb.cgi?p=people/allan/tipc.git;a=commitdiff;h=894279b9437b63cbb02405ad5b8e033b51e4e31e I was going to just take it, when I looked closer and noted what it was doing. This is basically a routine to byte swap fields of data in sent/received packets for tipc, dependent upon the receivers guessed endianness of the peer when a connection is established. Asside from just seeming silly to me, it appears to violate the latest RFC draft for tipc: http://tipc.sourceforge.net/doc/draft-spec-tipc-02.txt Which, according to section 4.2 and 4.3.3, requires that all fields of all commands be sent in network byte order. So instead of just taking this patch, instead I'm removing the htohl function and replacing the calls with calls to ntohl in the rx path and htonl in the send path. As part of this fix, I'm also changing the subscr_cancel function, which searches the list of subscribers, using a memcmp of the entire subscriber list, for the entry to tear down. unfortunately it memcmps the entire tipc_subscr structure which has several bits that are private to the local side, so nothing will ever match. section 5.2 of the draft spec indicates the tuple should uniquely identify a subscriber, so convert subscr_cancel to just match on those fields (properly endian swapped). I've tested this using the tipc test suite, and its passed without issue. Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit f5c445ed4148434f142be0263a8ad7cb58503e8a Author: Eric Dumazet Date: Mon Mar 8 12:17:04 2010 -0800 ethtool: Use noinline_for_stack Use self documenting noinline_for_stack instead of duplicated comments. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 81160e66cca3d3a16b7d88e0e2dccfc5c76f36f9 Author: Joe Perches Date: Mon Mar 8 12:15:59 2010 -0800 net/sunrpc: Convert (void)snprintf to snprintf (Applies on top of "Remove uses of NIPQUAD, use %pI4") Casts to void of snprintf are most uncommon in kernel source. 9 use casts, 1301 do not. Remove the remaining uses in net/sunrpc/ Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit fc0b579168cbe737c83c6b9bbfe265d3ae6baca6 Author: Joe Perches Date: Mon Mar 8 12:15:28 2010 -0800 net/sunrpc: Remove uses of NIPQUAD, use %pI4 Originally submitted Jan 1, 2010 http://patchwork.kernel.org/patch/71221/ Convert NIPQUAD to the %pI4 format extension where possible Convert %02x%02x%02x%02x/NIPQUAD to %08x/ntohl Signed-off-by: Joe Perches Signed-off-by: David S. Miller commit e9dcd1613f0ac0b3573b7d813a2c5672cd8302eb Author: Barry Song Date: Mon Mar 8 12:13:57 2010 -0800 can: fix bfin_can build error after alloc_candev() change Looks like commit a6e4bc530403 didn't include updates to drivers so the Blackfin CAN driver fails to build now. Signed-off-by: Barry Song Signed-off-by: Mike Frysinger Acked-by: Wolfgang Grandegger Signed-off-by: David S. Miller commit 49697ee79242d5f8ac88f1ebc62e583d16bcc687 Author: Steve Dickson Date: Tue Oct 13 16:07:33 2009 -0400 nfs4: Make the v4 callback service hidden To avoid hangs in the svc_unregister(), on version 4 mounts (and unmounts), when rpcbind is not running, make the nfs4 callback program an 'hidden' service by setting the 'vs_hidden' flag in the nfs4_callback_version structure. Signed-off-by: Steve Dickson Signed-off-by: Trond Myklebust commit 28b2774a0d5852236dab77a4147b8b88548110f1 Author: Eric Dumazet Date: Mon Mar 8 11:32:01 2010 -0800 tcp: Fix tcp_make_synack() Commit 4957faad (TCPCT part 1g: Responder Cookie => Initiator), part of TCP_COOKIE_TRANSACTION implementation, forgot to correctly size synack skb in case user data must be included. Many thanks to Mika Pentillä for spotting this error. Reported-by: Penttillä Mika Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit f6bb13aa1ea3bb26a4c783822347873f085b9000 Author: Rafael J. Wysocki Date: Thu Mar 4 01:52:58 2010 +0100 ACPI / EC / PM: Close race between EC and resume from hibernation There is a race between resume from hibernation and the EC driver that may result in restoring the hibernation image in the middle of an EC transaction in progress, which in turn may lead to unpredictable behavior of the platform. To remove that race condition, add a helpers for suspending and resuming EC transactions in a safe way to be executed by the ACPI platform hibernate pre-restore and restore cleanup callbacks. http://bugzilla.kernel.org/show_bug.cgi?id=14668 Signed-off-by: Rafael J. Wysocki Reported-and-tested-by: Maxim Levitsky Signed-off-by: Len Brown commit 7dd08a570dcf45d52155996fee688405635ee481 Author: Dan Carpenter Date: Sat Mar 6 15:02:22 2010 +0300 nfs: fix unlikely memory leak I'll admit that it's unlikely for the first allocation to fail and the second one to succeed. I won't be offended if you ignore this patch. Signed-off-by: Dan Carpenter Signed-off-by: Trond Myklebust commit 5fe46e9d733f19a880ef7e516002bd4c2b833e14 Author: Bian Naimeng Date: Mon Mar 8 14:49:01 2010 +0800 rpc client can not deal with ENOSOCK, so translate it into ENOCONN If NFSv4 client send a request before connect, or the old connection was broken because a ETIMEOUT error catched by call_status, ->send_request will return ENOSOCK, but rpc layer can not deal with it, so make sure ->send_request can translate ENOSOCK into ENOCONN. Signed-off-by: Bian Naimeng Signed-off-by: Trond Myklebust commit 77d3926306bf4eecac50150ba5625797219f14ba Author: Meelis Roos Date: Mon Mar 8 10:53:08 2010 -0800 qlogicpti: Remove slash in QlogicPTI irq name qlogicpti driver registers its irq with a name containing slash. This results in [ 71.049735] WARNING: at fs/proc/generic.c:316 __xlate_proc_name+0xa8/0xb8() [ 71.132815] name 'Qlogic/PTI' because proc_mkdir with the name of the irq fails. Fix it by just removing the slash from irq name. Discovered and tested on real hardware (Sun Ultra 1). Signed-off-by: Meelis Roos Signed-off-by: David S. Miller commit 57d54889cd00db2752994b389ba714138652e60c Author: Linus Torvalds Date: Mon Mar 8 10:45:44 2010 -0800 Linux 2.6.34-rc1 commit 9837638727488922727b0cfd438039fa73364183 Author: Eric Dumazet Date: Mon Mar 8 03:20:00 2010 +0000 net: fix route cache rebuilds We added an automatic route cache rebuilding in commit 1080d709fb9d8cd43 but had to correct few bugs. One of the assumption of original patch, was that entries where kept sorted in a given way. This assumption is known to be wrong (commit 1ddbcb005c395518 gave an explanation of this and corrected a leak) and expensive to respect. Paweł Staszewski reported to me one of his machine got its routing cache disabled after few messages like : [ 2677.850065] Route hash chain too long! [ 2677.850080] Adjust your secret_interval! [82839.662993] Route hash chain too long! [82839.662996] Adjust your secret_interval! [155843.731650] Route hash chain too long! [155843.731664] Adjust your secret_interval! [155843.811881] Route hash chain too long! [155843.811891] Adjust your secret_interval! [155843.858209] vlan0811: 5 rebuilds is over limit, route caching disabled [155843.858212] Route hash chain too long! [155843.858213] Adjust your secret_interval! This is because rt_intern_hash() might be fooled when computing a chain length, because multiple entries with same keys can differ because of TOS (or mark/oif) bits. In the rare case the fast algorithm see a too long chain, and before taking expensive path, we call a helper function in order to not count duplicates of same routes, that only differ with tos/mark/oif bits. This helper works with data already in cpu cache and is not be very expensive, despite its O(N^2) implementation. Paweł Staszewski sucessfully tested this patch on his loaded router. Reported-and-tested-by: Paweł Staszewski Signed-off-by: Eric Dumazet Acked-by: Neil Horman Signed-off-by: David S. Miller commit 1515faf2f995add976d4428bbc1583a4a0c81e5f Author: Amit Kumar Salecha Date: Mon Mar 8 00:14:50 2010 +0000 qlcnic: remove extra space from board names Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit addd5abf49be31787aeb6203d266e0bd31a3fadd Author: Amit Kumar Salecha Date: Mon Mar 8 00:14:49 2010 +0000 qlcnic: fix bios version check Bios sub version from unified fw image is calculated incorrect. Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit b7eff1007fea3d153a9a5c0f872304ec19412bbb Author: Sucheta Chakraborty Date: Mon Mar 8 00:14:48 2010 +0000 qlcnic: validate unified fw image Validate all sections of unified fw image, before accessing them, to avoid seg fault. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 9ab17b3968f9521bb4fffd8767953d2b0148aad0 Author: Sucheta Chakraborty Date: Mon Mar 8 00:14:47 2010 +0000 qlcnic: fix multicast handling For promiscuous mode, driver send request to device for deleting multicast addresses and again it send request for adding them back while exiting from this mode, this is bad for performance. Just setting device in promiscuous mode is enough, no need to del/add multicast addresses. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 8bfe8b91b8b877066c8ac788f59a40324eaac6d8 Author: Sucheta Chakraborty Date: Mon Mar 8 00:14:46 2010 +0000 qlcnic: additional driver statistics. Statistics added for lro/lso bytes, count for tx stop queue and wake queue and skb alloc failure count. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 8bae5698616ac336938684ce7a7370299bd55d01 Author: Sucheta Chakraborty Date: Mon Mar 8 00:14:45 2010 +0000 qlcnic: fix tx csum status Kernel default tx csum function (ethtool_op_get_tx_csum) doesn't show correct csum status. It takes various FLAGS (NETIF_F_ALL_CSUM) in account to show tx csum status, which driver doesn't set while disabling tx csum. Signed-off-by: Sucheta Chakraborty Signed-off-by: Amit Kumar Salecha Signed-off-by: David S. Miller commit 7e8a9298adf7531c58d73ba9c499353e3807cf19 Author: Ajit Khaparde Date: Sun Mar 7 14:23:44 2010 +0000 be2net: remove unused code in be_load_fw This patch cleans up some unused code from be_load_fw(). Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 500ca9ba241304937c54c379e515b24400379353 Author: Ajit Khaparde Date: Sun Mar 7 14:21:27 2010 +0000 be2net: remove usage of be_pci_func When PCI functions are virtuialized in applications by assigning PCI functions to VM (PCI passthrough), the be2net driver in the VM sees a different function number. So, use of PCI function number in any calculation will break existing code. This patch takes care of it. Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller commit 6cce09f87a04797fae5b947ef2626c14a78f0b49 Author: Eric Dumazet Date: Sun Mar 7 23:21:57 2010 +0000 tcp: Add SNMP counters for backlog and min_ttl drops Commit 6b03a53a (tcp: use limited socket backlog) added the possibility of dropping frames when backlog queue is full. Commit d218d111 (tcp: Generalized TTL Security Mechanism) added the possibility of dropping frames when TTL is under a given limit. This patch adds new SNMP MIB entries, named TCPBacklogDrop and TCPMinTTLDrop, published in /proc/net/netstat in TcpExt: line netstat -s | egrep "TCPBacklogDrop|TCPMinTTLDrop" TCPBacklogDrop: 0 TCPMinTTLDrop: 0 Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 4045635318538d3ddd2007720412fdc4b08f6a62 Author: Zhu Yi Date: Sun Mar 7 16:21:39 2010 +0000 net: add __must_check to sk_add_backlog Add the "__must_check" tag to sk_add_backlog() so that any failure to check and drop packets will be warned about. Signed-off-by: Zhu Yi Signed-off-by: David S. Miller commit e10154189f001b6428a83f58b03a27954f0f8022 Merge: d4bab1b 410c176 Author: Linus Torvalds Date: Mon Mar 8 10:17:20 2010 -0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (62 commits) msi-laptop: depends on RFKILL msi-laptop: Detect 3G device exists by standard ec command msi-laptop: Add resume method for set the SCM load again msi-laptop: Support some MSI 3G netbook that is need load SCM msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook Driver core: create lock/unlock functions for struct device sysfs: fix for thinko with sysfs_bin_attr_init() sysfs: Kill unused sysfs_sb variable. sysfs: Pass super_block to sysfs_get_inode driver core: Use sysfs_rename_link in device_rename sysfs: Implement sysfs_rename_link sysfs: Pack sysfs_dirent more tightly. sysfs: Serialize updates to the vfs inode sysfs: windfarm: init sysfs attributes sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes sysfs: Document sysfs_attr_init and sysfs_bin_attr_init sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes sysfs: Use one lockdep class per sysfs attribute. sysfs: Only take active references on attributes. ... commit 89c0ac7cab2440a771ba1e2ab953186bc9c29786 Author: Randy Dunlap Date: Mon Mar 8 09:32:42 2010 -0800 sound: fix opti92x-ad1848 build Fix 'else' placement in ifdef block so that build succeeds: sound/isa/opti9xx/opti92x-ad1848.c:221: error: 'else' without a previous 'if' Signed-off-by: Randy Dunlap Signed-off-by: Takashi Iwai commit 0d9dc7c8b9b7fa0f53647423b41056ee1beed735 Author: Gal Rosen Date: Thu Jan 21 10:15:32 2010 +0200 [SCSI] scsi_transport_fc: Fix synchronization issue while deleting vport The issue occur while deleting 60 virtual ports through the sys interface /sys/class/fc_vports/vport-X/vport_delete. It happen while in a mistake each request sent twice for the same vport. This interface is asynchronous, entering the delete request into a work queue, allowing more than one request to enter to the delete work queue. The result is a NULL pointer. The first request already delete the vport, while the second request got a pointer to the vport before the device destroyed. Re-create vport later cause system freeze. Solution: Check vport flags before entering the request to the work queue. [jejb: fixed int<->long problem on spinlock flags variable] Signed-off-by: Gal Rosen Acked-by: James Smart Cc: Stable Tree Signed-off-by: James Bottomley commit 004c1c7096659d352b83047a7593e91d8a30e3c5 Merge: 882d01f 3b05007 Author: Russell King Date: Mon Mar 8 16:08:46 2010 +0000 Merge branch 'for-rmk/samsung6' of git://git.fluff.org/bjdooks/linux into devel-stable commit 318ae2edc3b29216abd8a2510f3f80b764f06858 Merge: 25cf84c 3e58974 Author: Jiri Kosina Date: Mon Mar 8 16:55:37 2010 +0100 Merge branch 'for-next' into for-linus Conflicts: Documentation/filesystems/proc.txt arch/arm/mach-u300/include/mach/debug-macro.S drivers/net/qlge/qlge_ethtool.c drivers/net/qlge/qlge_main.c drivers/net/typhoon.c commit d4bab1b091be4a91a7363118c9ede3cc9a7fefd4 Merge: 56b7892 2786095 Author: Linus Torvalds Date: Mon Mar 8 07:35:30 2010 -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] i6300esb.c: change platform_driver to pci_driver [WATCHDOG] i6300esb: fix unlock register with [WATCHDOG] drivers/watchdog/wdt.c:wdt_ioctl(): make `ident' non-static [WATCHDOG] change reboot_notifier to platform-shutdown method. [WATCHDOG] watchdog_info constify [WATCHDOG] gef_wdt: Author corrections following split of GE Fanuc joint venture [WATCHDOG] iTCO_wdt: clean up probe(), modify err msg [WATCHDOG] ep93xx: watchdog timer driver for TS-72xx SBCs cleanup [WATCHDOG] support for max63xx watchdog timer chips [WATCHDOG] ep93xx: added platform side support for TS-72xx WDT driver [WATCHDOG] ep93xx: implemented watchdog timer driver for TS-72xx SBCs commit 56b78921c32ae825c596c158e74ab48c0e8e280d Merge: 3c443cb a3087ae Author: Linus Torvalds Date: Mon Mar 8 07:34:26 2010 -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: (26 commits) ALSA: hdmi - show debug message on changing audio infoframe ALSA: hdmi - merge common code for intelhdmi and nvhdmi ALSA: hda - Add ASRock mobo to MSI blacklist ALSA: hda: uninitialized variable fix ALSA: hda: Use LPIB for a Biostar Microtech board ALSA: usb/audio.h: Fix field order ALSA: fix jazz16 compile (udelay) ALSA: hda: Use LPIB for Dell Latitude 131L ALSA: hda - Build hda_eld into snd-hda-codec module ALSA: hda - Support NVIDIA MCP89 and GT21x hdmi audio ALSA: hda - Support max codecs to 8 for nvidia hda controller ALSA: riptide: clean up while loop ALSA: usbaudio - remove debug "SAMPLE BYTES" printk line ALSA: timer - pass real event in snd_timer_notify1() to instance callback ALSA: oxygen: change || to && ALSA: opti92x: use PnP data to select Master Control port ASoC: fix ak4104 register array access ASoC: soc_pcm_open: Add missing bailout tag ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live Cam ALSA: ua101: removing debugging code ... commit 3c443cbc1dbb9a3b4dd9a134b97349195bcb4990 Merge: d401403 1ffaa64 Author: Linus Torvalds Date: Mon Mar 8 07:33:46 2010 -0800 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: [S390] smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents [S390] smsgiucv: declare char pointers as "const" [S390] dasd: automatic recognition of read-only devices [S390] remove unused qdio flags in zfcp and qeth [S390] Cleanup xtime usage [S390] qdio: add missing bracket [S390] cio: fix init_count in case of recognition after steal lock [S390] dasd: security and PSF update patch for EMC CKD ioctl [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA [S390] uaccess: make sure copy_from_user_overflow is builtin commit d4014030d2b2508aaf54093a5885f1c8a2275dd7 Author: Christian Kujau Date: Mon Mar 8 15:03:09 2010 +0000 FS-Cache: Remove the EXPERIMENTAL flag Remove the EXPERIMENTAL flag from FS-Cache so that Ubuntu can make use of the facility. Signed-off-by: Christian Kujau Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 2786095a58fd55931fa0298ff6e3914331edaaf2 Author: Wim Van Sebroeck Date: Mon Mar 8 13:48:01 2010 +0000 [WATCHDOG] i6300esb.c: change platform_driver to pci_driver Since the intel 6300esb platform uses a dedicated PCI ID for it's watchdog timer (00:1d.4), it's better and easier to have this as a pci_driver. Signed-off-by: Wim Van Sebroeck commit 8b408fe4f853dcfa18d133aa4cf1d7546b4c3870 Author: Joerg Roedel Date: Mon Mar 8 14:20:07 2010 +0100 x86/amd-iommu: Use helper function to destroy domain In the amd_iommu_domain_destroy the protection_domain_free function is partly reimplemented. The 'partly' is the bug here because the domain is not deleted from the domain list. This results in use-after-free errors and data-corruption. Fix it by just using protection_domain_free instead. Cc: stable@kernel.org Signed-off-by: Joerg Roedel commit 40d1f0048289b1baed859baee06878417fae540e Author: Paul Mundt Date: Mon Mar 8 21:03:21 2010 +0900 sh: Fix up uncached offset for legacy 29-bit mode. The uncached_start was being set up properly for 32-bit but managed to break 29-bit in the process, fix it up. Signed-off-by: Paul Mundt commit 1ffaa640c6ba135aafc91841204e41846eae6841 Author: Hendrik Brueckner Date: Mon Mar 8 12:26:26 2010 +0100 [S390] smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents The smsgiucv_app driver registers a callback with the smsgiucv driver to receive z/VM CP special messages (SMSG) starting with "APP". When the callback is called for special messages, the driver creates an uevent for the received message. The uevent consists of additional environment data containing the message prefix ("APP"), message sender, and message content. udev rules can be used to trigger application specific actions through matching the content or sender of the special message. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 09003ed90a2880de7e36b170a9298dd10d53e322 Author: Hendrik Brueckner Date: Mon Mar 8 12:26:25 2010 +0100 [S390] smsgiucv: declare char pointers as "const" Declare the smsgiucv prefix char pointer as "const" and use use const char pointers in callback functions. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 33b62a30f78536b976183cc764c08038ac011e0a Author: Stefan Weinhuber Date: Mon Mar 8 12:26:24 2010 +0100 [S390] dasd: automatic recognition of read-only devices In z/VM it is possible to attach a device as read-only. To prevent unintentional write requests and subsequent I/O errors, we can detect this configuration using the z/VM DIAG 210 interface and set the respective linux block device to read-only as well. Signed-off-by: Stefan Weinhuber Signed-off-by: Martin Schwidefsky commit 584dfddfce1bd81d877f14de2b56d4bc747af821 Author: Ursula Braun Date: Mon Mar 8 12:25:20 2010 +0100 [S390] remove unused qdio flags in zfcp and qeth zfcp and qeth are setting flags for the qdio-layer, but these flags are not used in qdio. Patch removes the flag definitions from qdio and their settings in zfcp and qeth. Cc: Jan Glauber Cc: Christof Schmitt Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit b1e2ba8da973535e62839915403b6f5450081d8c Author: John Stultz Date: Mon Mar 8 12:25:19 2010 +0100 [S390] Cleanup xtime usage This replaces direct xtime usage in the s390 arch with timekeeping accessors, so we can further clean up the timekeeping core. Cc: Thomas Gleixner Signed-off-by: John Stultz Signed-off-by: Martin Schwidefsky commit bd6e8a162ecdec4f1d8895b0f330f75425993567 Author: Ursula Braun Date: Mon Mar 8 12:25:18 2010 +0100 [S390] qdio: add missing bracket Add a missing bracket to only log the outbound handler event in the appropriate case. Signed-off-by: Ursula Braun Signed-off-by: Jan Glauber Signed-off-by: Martin Schwidefsky commit a290156f479af436f94ac23f5729a1e33c94293b Author: Sebastian Ott Date: Mon Mar 8 12:25:17 2010 +0100 [S390] cio: fix init_count in case of recognition after steal lock After we try to steal a lock on a ccw device in boxed state, we have to restart device recognition and potentially reprobing. In this case ccw_device_init_count was erroneously decreased twice. This patch fixes the issue. Signed-off-by: Sebastian Ott Signed-off-by: Martin Schwidefsky commit 52898025cf7d458d029c18773d0ef49b4789d829 Author: Nigel Hislop Date: Mon Mar 8 12:25:16 2010 +0100 [S390] dasd: security and PSF update patch for EMC CKD ioctl Remove the PSF order/suborder check from the Symmetrix CKD dasd ioctl. In exchange restrict the ioctl to CAP_SYS_ADMIN and CAP_SYS_RAWIO. Signed-off-by: Nigel Hislop Signed-off-by: Martin Schwidefsky commit 91a970d9889c7d6f451ee91ed361d0f0119d3778 Author: Hendrik Brueckner Date: Mon Mar 8 12:25:15 2010 +0100 [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA The device driver must allocate memory for IUCV buffers with GFP_DMA, because IUCV cannot address memory above 2GB (31bit addresses only). Because the IUCV ignores the higher bits of the address, sending and receiving IUCV data with this driver might cause memory corruptions. Signed-off-by: Hendrik Brueckner Signed-off-by: Martin Schwidefsky commit 596a95cdf0ba35ea353fb5b65750f596d712041e Author: Heiko Carstens Date: Mon Mar 8 12:25:14 2010 +0100 [S390] uaccess: make sure copy_from_user_overflow is builtin If there is no in kernel image caller modules will suffer: ERROR: "copy_from_user_overflow" [net/core/pktgen.ko] undefined! ERROR: "copy_from_user_overflow" [net/can/can-raw.ko] undefined! ERROR: "copy_from_user_overflow" [fs/cifs/cifs.ko] undefined! Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5311114d4867113c00f78829d4ce14be458ec925 Author: Takashi Iwai Date: Mon Mar 8 12:13:07 2010 +0100 ALSA: hda - Fix input source elements of secondary ADCs on Realtek Since alc_auto_create_input_ctls() doesn't set the elements for the secondary ADCs, "Input Source" elemtns for these also get empty, resulting in buggy outputs of alsactl like: control.14 { comment.access 'read write' comment.type ENUMERATED comment.count 1 iface MIXER name 'Input Source' index 1 value 0 } This patch fixes alc_mux_enum_*() (and others) to fall back to the first entry if the secondary input mux is empty. Signed-off-by: Takashi Iwai Cc: commit 50ae0aa8f55813b2cc5e5b7f589f328b8fcd45ec Author: Takashi Iwai Date: Mon Mar 8 12:09:59 2010 +0100 ALSA: hda - Fix wrong model range check for ALC268 Fix a wrong value passed to snd_hda_check_board_codec_sid_config() as the upper-limit in parse_alc268(), so that any wrong value can't be passed. So far, no bogus value was set in the quirk entries, so this won't give any behavioral changes. Signed-off-by: Takashi Iwai commit 39f3be72c1a1b20d7e6e35717afa2ddb89259650 Author: Wim Van Sebroeck Date: Mon Mar 8 11:02:38 2010 +0000 [WATCHDOG] i6300esb: fix unlock register with Before you can read or write from the i6300esb memeory mapped registers, you need to unlock these. This is done by writing the magic numbers 0x80 and 0x86 to the reload register. The size of the reload register is 32bit though. Also binary 11 is hex 0x03 and not 0x11. Signed-off-by: Wim Van Sebroeck commit a3087ae970e5c8984fab2306b1f4dbe5ef132ff7 Merge: f0f20a1 2b9ddcb Author: Takashi Iwai Date: Mon Mar 8 09:35:50 2010 +0100 Merge branch 'topic/misc' into for-linus commit f0f20a16983f7d3713ab695e19bd15eca4e7533f Merge: f1cf9a6 e555317 Author: Takashi Iwai Date: Mon Mar 8 09:35:48 2010 +0100 Merge branch 'topic/asoc' into for-linus commit f1cf9a666de65254b0c56b4dec8ca2ecdab5b620 Merge: 6679ee1 2abbf43 Author: Takashi Iwai Date: Mon Mar 8 09:35:43 2010 +0100 Merge branch 'topic/hda' into for-linus commit c2282adbdea3548ae0271c1b1b2deec5f56ad224 Author: FUJITA Tomonori Date: Mon Mar 8 09:11:07 2010 +0100 Documentation: fix block/biodoc.txt dma mapping description - It looks incorrect to use blk_rq_map_sg with pci_map_page here about DMA mappings. dma_map_sg? - better to use dma_map_page instead of pci_map_page. http://marc.info/?l=linux-kernel&m=126596737604808&w=2 Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 8bf8c376ab2eefaf0386f4e003e720e1434fa43d Author: Dmitry Monakhov Date: Wed Mar 3 06:28:06 2010 +0300 blkdev: fix merge_bvec_fn return value checks v2 merge_bvec_fn() returns bvec->bv_len on success. So we have to check against this value. But in case of fs_optimization merge we compare with wrong value. This patch must be included in b428cd6da7e6559aca69aa2e3a526037d3f20403 But accidentally i've forgot to add this in the initial patch. To make things straight let's replace all such checks. In fact this makes code easy to understand. Signed-off-by: Dmitry Monakhov Signed-off-by: Jens Axboe commit 2abbf4391fb56dfa97221ed6796782537d15196f Author: Wu Fengguang Date: Mon Mar 8 10:45:38 2010 +0800 ALSA: hdmi - show debug message on changing audio infoframe Also change printk level for the two others. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit 079d88ccc374d2c1a850b8a83595ba4c907fb3df Author: Wu Fengguang Date: Mon Mar 8 10:44:23 2010 +0800 ALSA: hdmi - merge common code for intelhdmi and nvhdmi Create patch_hdmi.c to hold common code from intelhdmi and nvhdmi. For now the patch_hdmi.c file is simply included by patch_intelhdmi.c and patch_nvhdmi.c, and does not represent a real codec. There are no behavior changes to intelhdmi. However nvhdmi made several changes when copying code out of intelhdmi, which are all reverted in this patch. Wei Ni confirmed that the reverted code actually works fine. Tested-by: Wei Ni Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai commit a8941dad1f12b4e8a87a517ed27f29d0209c817c Author: Paul Mundt Date: Mon Mar 8 13:33:17 2010 +0900 sh: Support CPU affinity masks for INTC controllers. This hooks up the ->set_affinity() for the INTC controllers, which can be done as just a simple copy of the cpumask. The enable/disable paths already handle SMP register strides, so we just test the affinity mask in these paths to determine which strides to skip over. The early enable/disable path happens prior to the IRQs being registered, so we have no affinity mask established at that point, in which case we just default to CPU_MASK_ALL. This is left as it is to permit the force enable/disable code to retain existing semantics. Signed-off-by: Paul Mundt commit 410c17651998944630a95fbb286a50362de2dbb0 Author: Randy Dunlap Date: Wed Feb 3 14:24:28 2010 -0800 msi-laptop: depends on RFKILL msi-laptop uses rfkill*() interfaces so it should depend on RFKILL. msi-laptop.c:(.text+0x1fcd1b): undefined reference to `rfkill_alloc' msi-laptop.c:(.text+0x1fcd76): undefined reference to `rfkill_register' msi-laptop.c:(.text+0x1fcdc8): undefined reference to `rfkill_destroy' msi-laptop.c:(.text+0x1fcdd9): undefined reference to `rfkill_unregister' This repairs "msi-laptop: Detect 3G device exists by standard ec command", which is in some gregkh tree. Signed-off-by: Randy Dunlap Cc: Lennart Poettering Cc: Lee, Chun-Yi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit e22388e71b8787b26dc33d023e5c1eec58865541 Author: Lee, Chun-Yi Date: Wed Jan 27 12:23:00 2010 +0800 msi-laptop: Detect 3G device exists by standard ec command Detect 3G device exists by standard ec command. Driver will not create the threeg sysfs file and threeg rfkill interface if there have no internal 3G device in MSI notebook/netbook. Signed-off-by: Lee, Chun-Yi Cc: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit ec766278ba927f3d3c75211ea7697aae37f327f0 Author: Lee, Chun-Yi Date: Wed Jan 27 00:13:45 2010 +0800 msi-laptop: Add resume method for set the SCM load again Implement the resume method for set the load SCM flag after system reusme. Without this patch, the wifi function key on SCM model will back to BIOS control mode then confuse with the userland software control. e.g. MSI N034 Signed-off-by: Lee, Chun-Yi Cc: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit 472ea12d1a265c868e1605abb59bf21f595eedfc Author: Lee, Chun-Yi Date: Fri Jan 22 00:15:59 2010 +0800 msi-laptop: Support some MSI 3G netbook that is need load SCM Some MSI 3G netbook only have one fn key to control Wlan/Bluetooth/3G, those netbook will load the SCM (windows app) to disable the original Wlan/Bluetooth control by BIOS when user press fn key, then control Wlan/Bluetooth/3G by SCM (software control by OS). Without SCM, user cann't on/off 3G module on those 3G netbook. On Linux, msi-laptop driver will do the same thing to disable the original BIOS control, then might need use HAL or other userland application to do the software control that simulate with SCM. e.g. MSI N034 netbook Signed-off-by: Lee, Chun-Yi Cc: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit fc0dc4c926e6b7afe680aecf809f48eef3faa182 Author: Lee, Chun-Yi Date: Sat Jan 9 23:17:07 2010 +0800 msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command Add threeg sysfs file for support query 3G state by standard 66/62 ec command, the MSI standard ec interface supported this feature. Signed-off-by: Lee, Chun-Yi Cc: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit 46d0e9e091ba5dd29cac7543e97084540da9c4b7 Author: Lee, Chun-Yi Date: Sat Jan 9 21:16:52 2010 +0800 msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook Suppport standard ec 66/62 command on MSI notebook and nebook. MSI netbook and notebook already support 66/62 command, so, add new get_state function, and put the old model to non-standard model, but driver still support those old model. Signed-off-by: Lee, Chun-Yi Cc: Lennart Poettering Signed-off-by: Greg Kroah-Hartman commit 8e9394ce2412254ec69fd2a4f3e44a66eade2297 Author: Greg Kroah-Hartman Date: Wed Feb 17 10:57:05 2010 -0800 Driver core: create lock/unlock functions for struct device In the future, we are going to be changing the lock type for struct device (once we get the lockdep infrastructure properly worked out) To make that changeover easier, and to possibly burry the lock in a different part of struct device, let's create some functions to lock and unlock a device so that no out-of-core code needs to be changed in the future. This patch creates the device_lock/unlock/trylock() functions, and converts all in-tree users to them. Cc: Thomas Gleixner Cc: Jean Delvare Cc: Dave Young Cc: Ming Lei Cc: Jiri Kosina Cc: Phil Carmody Cc: Arjan van de Ven Cc: Cornelia Huck Cc: Rafael J. Wysocki Cc: Pavel Machek Cc: Len Brown Cc: Magnus Damm Cc: Alan Stern Cc: Randy Dunlap Cc: Stefan Richter Cc: David Brownell Cc: Vegard Nossum Cc: Jesse Barnes Cc: Alex Chiang Cc: Kenji Kaneshige Cc: Andrew Morton Cc: Andrew Patterson Cc: Yu Zhao Cc: Dominik Brodowski Cc: Samuel Ortiz Cc: Wolfram Sang Cc: CHENG Renquan Cc: Oliver Neukum Cc: Frans Pop Cc: David Vrabel Cc: Kay Sievers Cc: Sarah Sharp Signed-off-by: Greg Kroah-Hartman commit 62e877b893e6350c900d381f353aa62ed48dcc97 Author: Stephen Rothwell Date: Mon Mar 1 20:38:36 2010 +1100 sysfs: fix for thinko with sysfs_bin_attr_init() After merging the final tree, today's linux-next build (powerpc allyesconfig) failed like this: drivers/pci/pci-sysfs.c: In function 'pci_create_legacy_files': drivers/pci/pci-sysfs.c:645: error: lvalue required as unary '&' operand drivers/pci/pci-sysfs.c:658: error: lvalue required as unary '&' operand Caused by commit "sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes" interacting with commit "sysfs: Use one lockdep class per sysfs attribute") both from the driver-core tree. Signed-off-by: Stephen Rothwell Cc: "Eric W. Biederman" Signed-off-by: Greg Kroah-Hartman commit 0f4288ec6fcc1a47d1fa0241ec1c6dacd5a09e96 Author: Eric W. Biederman Date: Fri Feb 12 19:22:28 2010 -0800 sysfs: Kill unused sysfs_sb variable. Now that there are no more users we can remove the sysfs_sb variable. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit fac2622bbad4d7e3a32c53e631e018b80ec631dc Author: Eric W. Biederman Date: Fri Feb 12 19:22:27 2010 -0800 sysfs: Pass super_block to sysfs_get_inode Currently sysfs_get_inode magically returns an inode on sysfs_sb. Make the super_block parameter explicit and the code becomes clearer. Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 2354dcc7218853a6537ec722be40fde9a11c413b Author: Eric W. Biederman Date: Fri Feb 12 19:22:26 2010 -0800 driver core: Use sysfs_rename_link in device_rename Don't open code the renaming of symlinks in sysfs instead use the new helper function sysfs_rename_link Acked-by: Tejun Heo Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 7cb32942d91a501b2df944928ccc9e6590ab237b Author: Eric W. Biederman Date: Fri Feb 12 19:22:25 2010 -0800 sysfs: Implement sysfs_rename_link Because of rename ordering problems we occassionally give false warnings about invalid sysfs operations. So using sysfs_rename create a sysfs_rename_link function that doesn't need strange workarounds. Cc: Benjamin Thery Cc: Daniel Lezcano Acked-by: Serge Hallyn Acked-by: Tejun Heo Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 19c38b632d4554329986021fd66bdea468cf452c Author: Eric W. Biederman Date: Fri Feb 12 19:22:24 2010 -0800 sysfs: Pack sysfs_dirent more tightly. Placing the 16bit s_mode between a pointer and a long doesn't pack well especailly on 64bit where we wast 48 bits. So move s_mode and declare it as a unsigned short. This is the sysfs backing store after all we don't need fields extra large just in case someday we want userspace to be able to use a larger value. Acked-by: Tejun Heo Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit f8d4f618fed5a4978afada52166bc2efaf7656d1 Author: Eric W. Biederman Date: Fri Feb 12 19:22:23 2010 -0800 sysfs: Serialize updates to the vfs inode The vfs depends upon filesystem methods to update the vfs inode. Sysfs adds to the normal number of places where the vfs inode is updated by also updatng the vfs inode in sysfs_refresh_inode. Typically the inode mutex is used to serialize updates to the vfs inode, but grabbing the inode mutex in sysfs_permission and sysfs_getattr causes deadlocks, because sometimes the vfs calls those operations with the inode mutex held. Therefore sysfs can not use the inode mutex to serial updates to the vfs inode. The sysfs_mutex is acquired in all of the routines where sysfs updates the vfs inode, and with a small change we can consistently protext sysfs vfs inode updates with the sysfs_mutex. To protect the sysfs vfs inode updates with the sysfs_mutex simply requires extending the scope of sysfs_mutex in sysfs_setattr over inode_setattr, and over inode_change_ok (so we have an unchanging inode when we perform the check). Acked-by: Serge Hallyn Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit b35c74dab64f4c212f36d868419108556c9cf3e2 Author: Johannes Berg Date: Sat Feb 20 16:43:02 2010 +0100 sysfs: windfarm: init sysfs attributes This is required for lockdep. Signed-off-by: Johannes Berg Signed-off-by: Greg Kroah-Hartman commit 361795b1eb7c08e9e65a2ebb4a4e536294d378a2 Author: Eric W. Biederman Date: Fri Feb 12 13:41:56 2010 -0800 sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes A little more whack-a-mole annotating the dynamic sysfs attributes. I had everything built into my earlier test kernel, and so I missed these. Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit 35960258ed388cdcebdb71df35fd5126978ca325 Author: Eric W. Biederman Date: Fri Feb 12 04:35:32 2010 -0800 sysfs: Document sysfs_attr_init and sysfs_bin_attr_init I have added a new requirement to the external sysfs interface that dynamically allocated sysfs attributes must call sysfs_attr_init if lockdep is enabled. For the time being callying sysfs_attr_init is only mandatory if lockdep is enabled, so we can live with a few unconverted instances until we find them all. As this is part of the public interface of sysfs it is a good idea to document these pseudo functions so someone inspeciting the code can find out what has happened. Signed-off-by: Eric W. Biederman Signed-off-by: Greg Kroah-Hartman commit a07e4156a2ee6359d31a44946d7ee7f85dbf6bca Author: Eric W. Biederman Date: Thu Feb 11 15:23:05 2010 -0800 sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes These are the non-static sysfs attributes that exist on my test machine. Fix them to use sysfs_attr_init or sysfs_bin_attr_init as appropriate. It simply requires making a sysfs attribute present to see this. So this is a little bit tedious but otherwise not too bad. Signed-off-by: Eric W. Biederman Acked-by: WANG Cong Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 6992f5334995af474c2b58d010d08bc597f0f2fe Author: Eric W. Biederman Date: Thu Feb 11 15:21:53 2010 -0800 sysfs: Use one lockdep class per sysfs attribute. Acknowledge that the logical sysfs rwsem has one instance per sysfs attribute with different locking depencencies for different attributes. There is a sysfs idiom where writing to one sysfs file causes the addition or removal of other sysfs files. Lumping all of the sysfs attributes together in one lock class causes lockdep to generate lots of false positives. This introduces the requirement that non-static sysfs attributes need to be initialized with sysfs_attr_init or sysfs_bin_attr_init. Strictly speaking this requirement only exists when lockdep is enabled, and when lockdep is enabled we get a bit fat warning if this requirement is not met. Signed-off-by: Eric W. Biederman Acked-by: WANG Cong Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit a2db6842873c8e5a70652f278d469128cb52db70 Author: Eric W. Biederman Date: Thu Feb 11 15:20:00 2010 -0800 sysfs: Only take active references on attributes. If we exclude directories and symlinks from the set of sysfs dirents where we need active references we are left with sysfs attributes (binary or not). - Tweak sysfs_deactivate to only do something on attributes - Move lockdep initialization into sysfs_file_add_mode to limit it to just attributes. Signed-off-by: Eric W. Biederman Acked-by: WANG Cong Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit e72ceb8ccac5f770b3e696e09bb673dca7024b20 Author: Eric W. Biederman Date: Thu Feb 11 15:18:38 2010 -0800 sysfs: Remove sysfs_get/put_active_two It turns out that holding an active reference on a directory is pointless. The purpose of the active references are to allows us to block when removing sysfs entries that have custom methods so we don't remove modules while running modular code and to keep those custom methods from accessing data structures after the files have been removed. Further sysfs_remove_dir remove all elements in the directory before removing the directory itself, so there is no chance we will remove a directory with active children. Signed-off-by: Eric W. Biederman Cc: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 3c31f07ad0dab02fe17195d32a965d57fd947707 Author: Ben Hutchings Date: Sun Feb 14 14:18:53 2010 +0000 Driver core: Fix first line of kernel-doc for a few functions The function name must be followed by a space, hypen, space, and a short description. Signed-off-by: Ben Hutchings Signed-off-by: Greg Kroah-Hartman commit d6e976c0d258c9547a308bd8a9a82ec93e2bc6e2 Author: Hans J. Koch Date: Wed Feb 10 20:12:42 2010 +0100 UIO: Remove SMX Cryptengine driver Ben Nizette, the author of this driver, told me in a private mail that this project has been cancelled. He suggested to remove the driver for now, and will come back with a new version should the hardware really exist. This patch completely removes the driver. Signed-off-by: Hans J. Koch Acked-by: Ben Nizette Signed-off-by: Greg Kroah-Hartman commit 0a965eb9f69caf0fb331d45556da8bab1c8dcb11 Author: John Ogness Date: Thu Feb 11 15:38:53 2010 +0100 UIO: minor Kconfig fixes Two trivial fixes for the Userspace IO Kconfig file: 1) uio_sercos3 is a PCI driver, so let it depend on PCI. 2) "default n" under UIO_PCI_GENERIC is luxury since it is already the default. Acked-by: John Ogness Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 8f314cfc1259d3f5039b142ce6fdc90367c22d82 Author: Hans J. Koch Date: Tue Feb 9 20:13:49 2010 +0100 UIO: Add a driver for Hilscher netX-based fieldbus cards This patch adds a Userspace IO driver for netX-based fieldbus cards by Hilscher (see http://www.hilscher.com). ATM, cifX and comX cards are supported. The userspace part for this driver is provided by Hilscher and should come with the card. The driver is in use for several months now and has been tested by people at Hilscher and Linutronix. Signed-off-by: Hans J. Koch Signed-off-by: Greg Kroah-Hartman commit 57f1e87523bdb6c39659ead7c0f72eea9e520fbe Author: Uwe Kleine-König Date: Thu Feb 4 20:56:56 2010 +0100 auxdisplay: move cfag12864bfb's probe function to .devinit.text A pointer to cfag12864bfb_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Acked-by: Miguel Ojeda Cc: Andrew Morton Cc: Avuton Olrich Cc: Antonino Daplas Signed-off-by: Greg Kroah-Hartman commit ea180ca4d6fbeeb8f8bea4a175d2b84b9129b693 Author: Uwe Kleine-König Date: Thu Feb 4 20:56:55 2010 +0100 media: move omap24xxcam's probe function to .devinit.text A pointer to omap24xxcam_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Acked-by: Sakari Ailus Acked-by: Trilok Soni Cc: Hans Verkuil Cc: Mauro Carvalho Chehab Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a96b9121862bbd18e00c865d9516e0a98bb135ef Author: Uwe Kleine-König Date: Thu Feb 4 20:56:54 2010 +0100 w1: move omap_hdq's probe function to .devinit.text A pointer to omap_hdq_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Stanley.Miao Acked-by: Evgeniy Polyakov Cc: Andrew Morton Cc: Madhusudhan Chikkature Cc: Felipe Balbi Signed-off-by: Greg Kroah-Hartman commit 1139aea97a6325270bda6c86ea1c9711a0c21e33 Author: Uwe Kleine-König Date: Thu Feb 4 20:56:53 2010 +0100 i2c: move i2c_omap's probe function to .devinit.text A pointer to omap_i2c_probe is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Kalle Jokiniemi Cc: Tony Lindgren Cc: Paul Walmsley Cc: Richard Woodruff Cc: chandra shekhar Cc: Jason P Marini Cc: Syed Mohammed Khasim Cc: Jarkko Nikula Cc: Juha Yrjola Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit ea79632d90754409b11388410bbe23b62394401d Author: Uwe Kleine-König Date: Thu Feb 4 20:56:52 2010 +0100 x86: move hp-wmi's probe function to .devinit.text A pointer to hp_wmi_bios_setup is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Frans Pop Cc: Larry Finger Cc: Len Brown Cc: Helge Deller Cc: Andrew Morton Acked-by: Matthew Garrett Signed-off-by: Greg Kroah-Hartman commit c2e13037e6794bd0d9de3f9ecabf5615f15c160b Author: Uwe Kleine-König Date: Thu Feb 4 20:56:51 2010 +0100 platform-drivers: move probe to .devinit.text in drivers/video A pointer to a probe callback is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Adrian Bunk Cc: Alberto Mardegan Cc: Andrew Morton Cc: Andriy Skulysh Cc: Antonino Daplas Cc: Anton Vorontsov Cc: Ben Dooks Cc: Chandramouli Narayanan Cc: Christoph Hellwig Cc: Frans Pop Cc: Geert Uytterhoeven Cc: Greg Kroah-Hartman Cc: Helge Deller Cc: Huang Ying Cc: Ian Molton Cc: Joshua Kinard Cc: Kaj-Michael Lang Cc: Krzysztof Helt Cc: linux-fbdev-devel@lists.sourceforge.net Cc: Maciej W. Rozycki Cc: Magnus Damm Cc: Martin Michlmayr Cc: Matthias Kaehlcke Cc: Paul Mundt Cc: Pavel Machek Cc: Philipp Zabel Cc: Richard Purdie Cc: Roel Kluin Cc: Roland Stigge Cc: Russell King Cc: Thomas Bogendoerfer Cc: Vincent Sanders Cc: Yoichi Yuasa Acked-by: Ralf Baechle Acked-by: Arnaud Patard Acked-by: James Simmons Acked-by: Peter Jones Acked-by: Jaya Kumar Signed-off-by: Greg Kroah-Hartman commit 1b07193b34c1bc1c184e2d53a62633a73ea9b0a0 Author: Uwe Kleine-König Date: Thu Feb 4 20:56:50 2010 +0100 platform-drivers: move probe to .devinit.text in drivers/scsi A pointer to a probe callback is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Andrew Morton Cc: David Brownell Cc: Dmitri Vorobiev Cc: Henrik Kretzschmar Cc: James Bottomley Cc: Kay Sievers Cc: peter fuerst Cc: Thomas Bogendoerfer Acked-by: Ralf Baechle Signed-off-by: Greg Kroah-Hartman commit 91a99dfc6b57f2e956d10d41123234fad3399212 Author: Uwe Kleine-König Date: Thu Feb 4 20:56:49 2010 +0100 platform-drivers: move probe to .devinit.text in arch/arm A pointer to a probe callback is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: Uwe Kleine-König Cc: Andrew Morton Cc: Ben Dooks Cc: Dmitry Baryshkov Cc: Eric Miao Cc: Liam Girdwood Cc: Paul Sokolovsky Cc: Richard Purdie Cc: Russell King Acked-by: Arnaud Patard Acked-by: Dmitry Eremin-Solenikov Acked-by: Kristoffer Ericson Signed-off-by: Greg Kroah-Hartman commit 831fad2f75f0d7bfc339de81173e7068a3c72276 Author: Uwe Kleine-König Date: Tue Jan 26 09:35:00 2010 +0100 Driver core: make struct platform_driver.id_table const This fixes a warning on several pxa based machines: arch/arm/mach-pxa/ssp.c:475: warning: initialization discards qualifiers from pointer target type Signed-off-by: Uwe Kleine-König Acked-by: Vikram Dhillon Acked-by: Eric Miao Signed-off-by: Greg Kroah-Hartman commit 52cf25d0ab7f78eeecc59ac652ed5090f69b619e Author: Emese Revfy Date: Tue Jan 19 02:58:23 2010 +0100 Driver core: Constify struct sysfs_ops in struct kobj_type Constify struct sysfs_ops. This is part of the ops structure constification effort started by Arjan van de Ven et al. Benefits of this constification: * prevents modification of data that is shared (referenced) by many other structure instances at runtime * detects/prevents accidental (but not intentional) modification attempts on archs that enforce read-only kernel data at runtime * potentially better optimized code as the compiler can assume that the const data cannot be changed * the compiler/linker move const data into .rodata and therefore exclude them from false sharing Signed-off-by: Emese Revfy Acked-by: David Teigland Acked-by: Matt Domsch Acked-by: Maciej Sosnowski Acked-by: Hans J. Koch Acked-by: Pekka Enberg Acked-by: Jens Axboe Acked-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 6c1733aca0b48db4d0e660d54976a1cca25b5eaf Author: Greg Kroah-Hartman Date: Thu Jan 21 15:07:59 2010 -0800 sysdev: fix up the probe/release attributes These should be sysdev attributes, not class attributes. This patch should resolve the problem. Thanks to Stephen Rothwell for pointing out the problem. Reported-by: Stephen Rothwell Cc: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit c607cf0c20903f22919c187d1db4f3256c58f0c5 Author: Stefan Richter Date: Fri Jan 15 13:23:51 2010 +0100 HOWTO: Updates on subsystem trees, patchwork, -next (vs. -mm) One of the roles which -mm fulfilled some time ago (to offer an integration testing ground) has been taken over by -next. This is still news to Documentation/HOWTO, so mention it there. Also add a word on how patchwork is used to track patches as they make their way into subsystem trees. Remove some arbitrary links to subsystem repositories; they can all be found in the MAINTAINERS database. Acked-by: Randy Dunlap Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit 9cd43611ccfb46632bfa7d19f688924ea93f1613 Author: Emese Revfy Date: Thu Dec 31 14:52:51 2009 +0100 kobject: Constify struct kset_uevent_ops Constify struct kset_uevent_ops. This is part of the ops structure constification effort started by Arjan van de Ven et al. Benefits of this constification: * prevents modification of data that is shared (referenced) by many other structure instances at runtime * detects/prevents accidental (but not intentional) modification attempts on archs that enforce read-only kernel data at runtime * potentially better optimized code as the compiler can assume that the const data cannot be changed * the compiler/linker move const data into .rodata and therefore exclude them from false sharing Signed-off-by: Emese Revfy Signed-off-by: Greg Kroah-Hartman commit 985fc176a6c03836454629be2f2a611ccc7c7002 Author: Luis R. Rodriguez Date: Wed Jan 13 21:18:15 2010 -0500 driver-core: firmware_class: remove base.h header inclusion base.h is used by base drivers for sharing internal structures. Turns out firmware_class does not depend on it at all so remove it. Cc: Johannes Berg Signed-off-by: Luis R. Rodriguez Acked-by: Marcel Holtmann Signed-off-by: Greg Kroah-Hartman commit 1e5289c97bba2d8ee7239a416bc3f28743362cd9 Author: Eric W. Biederman Date: Fri Jan 1 14:43:53 2010 -0800 sysfs: Cache the last sysfs_dirent to improve readdir scalability v2 When sysfs_readdir stops short we now cache the next sysfs_dirent to return to user space in filp->private_data. There is no impact on the rest of sysfs by doing this and in the common case it allows us to pick up exactly where we left off with no seeking. Additionally I drop and regrab the sysfs_mutex around filldir to avoid a page fault abritrarily increasing the hold time on the sysfs_mutex. v2: Returned to using INT_MAX as the EOF condition. seekdir is ambiguous unless all directory entries have a unique f_pos value. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=14949 Signed-off-by: Eric W. Biederman Cc: Linus Torvalds Cc: stable Signed-off-by: Greg Kroah-Hartman commit 3f5468c9ae293cbca43e4ffe6ca3b3235189042a Author: Kay Sievers Date: Thu Jan 14 22:54:37 2010 +0100 Driver-Core: require valid action string in uevent trigger No longer fall back to "add" and warn, but always require a valid action-string written to the "uevent" file. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 7934779a69f1184f29d786b89e77dd14519bd226 Author: Kay Sievers Date: Thu Jan 14 22:49:39 2010 +0100 Driver-Core: disable /sbin/hotplug by default No recent mainstream system uses the /sbin/hotplug fork-bomb any more. Disable it by default to reflect how it is used these days. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4237e5fd3e07da268029cd4862cf551d9a74e33f Author: Kay Sievers Date: Thu Jan 14 22:47:57 2010 +0100 Driver-Core: devtmpfs - remove EXPERIMENTAL and flush out the description All major distros enable devtmpfs on recent systems, so remove the EXPERIMENTAL flag, and make the description a bit more instructive. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 5e31d76f2817bd50258a092a7c5b15b3006fd61c Author: Kay Sievers Date: Wed Jan 13 14:16:36 2010 +0100 Driver-Core: devtmpfs - reset inode permissions before unlinking Before unlinking the inode, reset the current permissions of possible references like hardlinks, so granted permissions can not be retained across the device lifetime by creating hardlinks, in the unusual case that there is a user-writable directory on the same filesystem. Signed-off-by: Kay Sievers Cc: stable Signed-off-by: Greg Kroah-Hartman commit 0933e2d98d1b170ef62d48e18157f5dc43b58217 Author: Andi Kleen Date: Tue Jan 5 12:48:09 2010 +0100 driver core: Convert some drivers to CLASS_ATTR_STRING Convert some drivers who export a single string as class attribute to the new class_attr_string functions. This removes redundant code all over. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 869dfc875e32fd832385fd52ce54525a10401ed6 Author: Andi Kleen Date: Tue Jan 5 12:48:08 2010 +0100 driver core: Add class_attr_string for simple read-only string Several drivers just export a static string as class attributes. Use the new extensible attribute support to define a simple CLASS_ATTR_STRING() macro for this. This will allow to remove code from drivers in followon patches. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 28812fe11a21826ba4c97c6c7971a619987cd912 Author: Andi Kleen Date: Tue Jan 5 12:48:07 2010 +0100 driver-core: Add attribute argument to class_attribute show/store Passing the attribute to the low level IO functions allows all kinds of cleanups, by sharing low level IO code without requiring an own function for every piece of data. Also drivers can extend the attributes with own data fields and use that in the low level function. This makes the class attributes the same as sysdev_class attributes and plain attributes. This will allow further cleanups in drivers. Full tree sweep converting all users. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 5fbcae57db69128c14080a7a5a42d0626bfe155c Author: Heiko Carstens Date: Fri Feb 12 11:19:24 2010 +0100 sysdev: fix missing s390 conversion In linux-next "sysdev: Pass attribute in sysdev_class attributes show/store" forgot to convert one place in s390 code. Here is the missing part. Cc: Andi Kleen Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Greg Kroah-Hartman commit 8564a6c140317de04a71eb203bdbb58845d69f9c Author: Andi Kleen Date: Tue Jan 5 12:48:06 2010 +0100 sysdev: Fix type of sysdev class attribute in memory driver This attribute is really a sysdev_class attribute, not a plain class attribute. They are identical in layout currently, but this might not always be the case. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 1e395ab3d9b6aa09c5f0aa46a1b0a6fc5bd33133 Author: Andi Kleen Date: Tue Jan 5 12:48:05 2010 +0100 sysdev: Add sysdev_create/remove_files Allow to create/remove arrays of sysdev attributes Just wrappers around sysfs_create/move_files Will be used later to clean up some drivers. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 3701cde6e35245e26f63252f46c62e8a790fa996 Author: Andi Kleen Date: Tue Jan 5 12:48:04 2010 +0100 sysdev: Use sysdev_class attribute arrays in node driver Convert the node driver to sysdev_class attribute arrays. This greatly cleans up the code and remove a lot of code. Saves ~150 bytes of code on x86-64. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit e1a7e29a266ba3313a873d302b352521403bd155 Author: Andi Kleen Date: Tue Jan 5 12:48:03 2010 +0100 sysdev: Convert node driver Use sysdev_class attribute arrays in node driver Convert the node driver to sysdev_class attribute arrays. This greatly cleans up the code and remove a lot of code. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 38457ab3a0d36320370c715145ba6da514127194 Author: Andi Kleen Date: Tue Jan 5 12:48:02 2010 +0100 sysfs: Add attribute array to sysdev classes Add a attribute array that is automatically registered and unregistered to struct sysdev_class. This is similar to what struct class has. A lot of drivers add list of attributes, so it's better to do this easily in the common sysdev layer. This adds a new field to struct sysdev_class. I audited the whole tree and there are no dynamically allocated sysdev classes, so this is fully compatible. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 1c205ae18db53ff72985dd79f3baaf2dbaba6db7 Author: Andi Kleen Date: Tue Jan 5 12:48:01 2010 +0100 sysfs: Add sysfs_add/remove_files utility functions Adding/Removing a whole array of attributes is very common. Add a standard utility function to do this with a simple function call, instead of requiring drivers to open code this. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 265d2e2e31c5f6dc1b20ae1653a17fdba706f79e Author: Andi Kleen Date: Tue Jan 5 12:48:00 2010 +0100 sysdev: Convert cpu driver sysdev class attributes Using the new attribute argument convert the cpu driver class attributes to carry the node state. Then use a shared function to do what a lot of individual functions did before. This eliminates an ugly macro. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit b15f562fc2f5429f27e5dfb0b0ee5ec44f661986 Author: Andi Kleen Date: Tue Jan 5 12:47:59 2010 +0100 sysdev: Convert node driver class attributes to be data driven Using the new attribute argument convert the node driver class attributes to carry the node state. Then use a shared function to do what a lot of individual functions did before. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit c9be0a36f9bf392a7984473124a67a12964df11f Author: Andi Kleen Date: Tue Jan 5 12:47:58 2010 +0100 sysdev: Pass attribute in sysdev_class attributes show/store Passing the attribute to the low level IO functions allows all kinds of cleanups, by sharing low level IO code without requiring an own function for every piece of data. Also drivers can extend the attributes with own data fields and use that in the low level function. Similar to sysdev_attributes and normal attributes. This is a tree-wide sweep, converting everything in one go. No functional changes in this patch other than passing the new argument everywhere. Tested on x86, the non x86 parts are uncompiled. Signed-off-by: Andi Kleen Signed-off-by: Greg Kroah-Hartman commit 3d03ba4d1dd2246adff5a9ff1194a539b3bc05a7 Author: Eric Miao Date: Fri Jan 1 15:43:28 2010 +0800 driver core: make platform_device_id table const The platform ID table is normally const, force that by adding the attribute. Signed-off-by: Eric Miao Signed-off-by: Greg Kroah-Hartman commit ecdf6ceb8cf4756bd4214bf9755755752b6015f5 Author: Dmitry Torokhov Date: Tue Dec 29 20:11:20 2009 -0800 Driver core: add platform_create_bundle() helper Many legacy-style module create singleton platform devices themselves, along with corresponding platform driver. Instead of replicating error handling code in all such drivers, provide a helper that allocates and registers a single platform device and a driver and binds them together. Signed-off-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 20ef9f46a9abe3c25d9f2834f6cc86bfab46d609 Author: Radu Voicilas Date: Sat Dec 12 01:06:10 2009 -0800 kset-example: Spelling fixes. No change in functionality. Signed-off-by: Radu Voicilas Signed-off-by: Greg Kroah-Hartman commit a115bc070b1fc57ab23f3972401425927b5b465c Author: Radu Voicilas Date: Sat Dec 12 01:06:09 2009 -0800 kobject-example: Spelling fixes. No change in functionality. Signed-off-by: Radu Voicilas Signed-off-by: Greg Kroah-Hartman commit 77d3d7c1d561f49f755d7390f0764dff90765974 Author: Tejun Heo Date: Fri Feb 5 17:57:02 2010 +0900 driver-core: fix race condition in get_device_parent() sysfs is creating several devices in cuse class concurrently and with CONFIG_SYSFS_DEPRECATED turned off, it triggers the following oops. BUG: unable to handle kernel NULL pointer dereference at 0000000000000038 IP: [] sysfs_addrm_start+0x4a/0xf0 PGD 75bb067 PUD 75be067 PMD 0 Oops: 0000 [#1] PREEMPT SMP last sysfs file: /sys/devices/system/cpu/cpu7/topology/core_siblings CPU 1 Modules linked in: cuse fuse Pid: 4737, comm: osspd Not tainted 2.6.31-work #77 RIP: 0010:[] [] sysfs_addrm_start+0x4a/0xf0 RSP: 0018:ffff88000042f8f8 EFLAGS: 00010296 RAX: ffff88000042ffd8 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffff880007eef660 RDI: 0000000000000001 RBP: ffff88000042f918 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000001 R11: ffffffff81158b0a R12: ffff88000042f928 R13: 00000000fffffff4 R14: 0000000000000000 R15: ffff88000042f9a0 FS: 00007fe93905a950(0000) GS:ffff8