commit 03bbe082cffc4533f6557bf23f0c672307067246 Merge: 3047290... fb49161... Author: Linus Torvalds Date: Thu Jan 17 15:50:19 2008 -0800 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: ALPS - fix sync loss on Acer Aspire 5720ZG Input: psmouse - fix input_dev leak in lifebook driver Input: psmouse - fix potential memory leak in psmouse_connect() Input: usbtouchscreen - fix buffer overflow, make more egalax work Input: mousedev - handle mice that use absolute coordinates commit 30472908d50cf726a68c2b444127a1dafae8a91c Merge: abde3df... e415e6e... Author: Linus Torvalds Date: Thu Jan 17 15:49:59 2008 -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: [NIU]: Fix 1G PHY link state handling. [NET]: Fix TX timeout regression in Intel drivers. commit abde3dff2496d9d44a218cf8e2a17c2383f20b22 Merge: a3c53e2... 6320bce... Author: Linus Torvalds Date: Thu Jan 17 15:49:49 2008 -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]: Fix hypervisor TLB operation error reporting. commit a3c53e2310192e63e49610ffcb6a36b2a706fa3e Author: Daniel Walker Date: Thu Jan 17 12:52:05 2008 -0800 fix wrong sized spinlock flags argument Correct wrong sized spinlock flags, form int to unsigned long. Signed-off-by: Daniel Walker Signed-off-by: Linus Torvalds commit 784680336b616dcc4c17cbd25add3b49c555cdeb Author: Nigel Cunningham Date: Thu Jan 17 15:21:21 2008 -0800 Fix unbalanced helper_lock in kernel/kmod.c call_usermodehelper_exec() has an exit path that can leave the helper_lock() call at the top of the routine unbalanced. The attached patch fixes this issue. Signed-off-by: Nigel Cunningham Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34aebfd3bdc93c0c5614f1f61e43b6ddc4be52ae Author: Li Zefan Date: Thu Jan 17 15:21:20 2008 -0800 Revert "local_t Documentation update" This reverts commit e1265205c0ee3919c3f2c750662630154c8faab2. It's a duplicate commit of commit 74beb9db77930be476b267ec8518a642f39a04bf, resulting in a duplicate section. Signed-off-by: Li Zefan Acked-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 545c4423335469de06af7f7c95e97c1122c1c818 Author: Alex Date: Thu Jan 17 15:21:18 2008 -0800 fix radeonfb regression with Xpress 200m 5955 Fix http://bugzilla.kernel.org/show_bug.cgi?id=9762 Framebuffer is ok only with default parameters only (it is 1280x800-8@60). If parameters are video=radeonfb:1280x800-32@60 then xres, yres and xres_virtual are ok but yres_virtual is 1024. It can be corrected by fbset utility so I think it can be corrected in the driver code also. Steps to reproduce: video=radeonfb:1280x800-32@60 or video=radeonfb:1280x800-16@60 Add 1280x800 mode into modedb Cc: "Rafael J. Wysocki" Cc: "Antonino A. Daplas" Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9723198c219f3546982cb469e5aed26e68399055 Author: Carsten Otte Date: Thu Jan 17 15:21:17 2008 -0800 #ifdef very expensive debug check in page fault path This patch puts #ifdef CONFIG_DEBUG_VM around a check in vm_normal_page that verifies that a pfn is valid. This patch increases performance of the page fault microbenchmark in lmbench by 13% and overall dbench performance by 7% on s390x. pfn_valid() is an expensive operation on s390 that needs a high double digit amount of CPU cycles. Nick Piggin suggested that pfn_valid() involves an array lookup on systems with sparsemem, and therefore is an expensive operation there too. The check looks like a clear debug thing to me, it should never trigger on regular kernels. And if a pte is created for an invalid pfn, we'll find out once the memory gets accessed later on anyway. Please consider inclusion of this patch into mm. Signed-off-by: Carsten Otte Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b2d2cec1081a979e0efd6a1e9559e5a01a3c10e Author: Ivan Kokshaysky Date: Thu Jan 17 15:21:13 2008 -0800 alpha: fix conversion from denormal float to double The trap handler does properly update the fraction, but not the exponent... Thanks to Paolo Bonzini for the bug report and the testcase. Signed-off-by: Ivan Kokshaysky Cc: Paolo Bonzini Cc: Richard Henderson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f63dcda197bd71c6565c2121bf70e3d371539f90 Author: Jonas Bonn Date: Thu Jan 17 15:21:13 2008 -0800 jbd: do not try lock_acquire after handle made invalid This likely fixes the oops in __lock_acquire reported as: http://www.kerneloops.org/raw.php?rawid=2753&msgid= http://www.kerneloops.org/raw.php?rawid=2749&msgid= In these reported oopses, start_this_handle is returning -EROFS. Signed-off-by: Jonas Bonn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d6f4e60e736a00b50ec668ba1a9fe27afb083a3 Author: Sam Ravnborg Date: Thu Jan 17 15:21:12 2008 -0800 mm: fix section mismatch warning in page_alloc.c With CONFIG_HOTPLUG=n and CONFIG_HOTPLUG_CPU=y we saw following warning: WARNING: mm/built-in.o(.text+0x6864): Section mismatch: reference to .init.text: (between 'process_zones' and 'pageset_cpuup_callback') The culprit was zone_batchsize() which were annotated __devinit but used from process_zones() which is annotated __cpuinit. zone_batchsize() are used from another function annotated __meminit so the only valid option is to drop the annotation of zone_batchsize() so we know it is always valid to use it. Signed-off-by: Sam Ravnborg Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b0e86f0a3b9329bbebadb01ca935208459df18c3 Author: Jesper Nilsson Date: Thu Jan 17 15:21:11 2008 -0800 CRIS v10: vmlinux.lds.S: ix kernel oops on boot and use common defines - Move alignment to page size of init data outside ifdef for BLK_DEV_INITRD. The reservation up to page size of memory after init data was previously not done if BLK_DEV_INITRD was undefined. This caused a kernel oops when init memory pages were freed after startup, data placed in the same page as the last init memory would also be freed and reused, with disastrous results. - Use macros for initcalls and .text sections. - Replace hardcoded page size constant with PAGE_SIZE define. - Change include/asm-cris/page.h to use the _AC macro to instead of testing __ASSEMBLY__. Signed-off-by: Jesper Nilsson Cc: Sam Ravnborg Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efe7cf2dcf4b72c7a9f991466d1f22850232244f Author: Len Brown Date: Thu Jan 17 15:21:10 2008 -0800 pnpacpi: print resource shortage message only once (more) Wups, previous patch was ineffective in 2 cases. http://bugzilla.kernel.org/show_bug.cgi?id=9535 Signed-off-by: Len Brown Reported-by: "Hartkopp, Oliver (K-EFE/E)" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46a39c1cd5d2f804b27e9a4be3fb1b510dda9570 Author: Eric Sandeen Date: Thu Jan 17 15:21:09 2008 -0800 hfs: fix coverity-found null deref Fix potential null deref introduced by commit cf0594625083111ae522496dc1c256f7476939c2 http://bugzilla.kernel.org/show_bug.cgi?id=9748 Signed-off-by: Eric Sandeen Cc: Roman Zippel Reported-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6915719b36a97d28fab576c6fa2a20364b435fe6 Author: Johannes Weiner Date: Thu Jan 17 15:21:08 2008 -0800 cpufreq: Initialise default governor before use When the cpufreq driver starts up at boot time, it calls into the default governor which might not be initialised yet. This hurts when the governor's worker function relies on memory that is not yet set up by its init function. This migrates all governors from module_init() to fs_initcall() when being the default, as was already done in cpufreq_performance when it was the only possible choice. The performance governor is always initialized early because it might be used as fallback even when not being the default. Fixes at least one actual oops where ondemand is the default governor and cpufreq_governor_dbs() uses the uninitialised kondemand_wq work-queue during boot-time. Signed-off-by: Johannes Weiner Cc: Dave Jones Cc: "Rafael J. Wysocki" Cc: Venkatesh Pallipadi Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb49161027e1938c34fc97d1136735e1d4209df6 Author: Dmitry Torokhov Date: Thu Jan 17 12:01:58 2008 -0500 Input: ALPS - fix sync loss on Acer Aspire 5720ZG The recently added support for Dell Volstro 1400 was causing protocol synchronization errors on Acer Aspire 5720ZG, fix it. Signed-off-by: Dmitry Torokhov commit 653e91d01fa4d39d2ed06a8c2096fef08b00ee7e Author: Andres Salomon Date: Thu Jan 17 12:01:51 2008 -0500 Input: psmouse - fix input_dev leak in lifebook driver The lifebook driver may register a second input device, but it never unregisters it. This fixes that. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 746b31a9d4e08240d267069bcf5084eb7e427ad7 Author: Andres Salomon Date: Thu Jan 17 12:01:30 2008 -0500 Input: psmouse - fix potential memory leak in psmouse_connect() If we successfully call input_register_device() in psmouse_connect() but sysfs_create_group() fails, we'll enter the error path without ever having called input_unregister_device() potentially leaking memory. Signed-off-by: Andres Salomon Signed-off-by: Dmitry Torokhov commit 62aa366d9b0158a81eace3b83e6b027789f7575b Author: Daniel Ritz Date: Thu Jan 17 12:01:18 2008 -0500 Input: usbtouchscreen - fix buffer overflow, make more egalax work Fix a buffer overflow in mutli-packet handling code. The overflow can only happen with eGalax devices and is even there very unlikely (only non-report packet are affected any only when truncated after the first byte). Also changes the mutli-packet handling code not to drop unknown packets, but rather just drop one byte. This allows synchronizing on report packets in the data stream. It's required for some egalax devices to work at all. Also remove the pointless 'flags' member of the device struct and set the version number to 0.6, plus some minor cleanups. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Daniel Ritz Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 6724f93463c332018e05f538a2ab3ce41eac0e8a Author: Micah Parrish Date: Thu Jan 17 12:01:04 2008 -0500 Input: mousedev - handle mice that use absolute coordinates Devices like the HP Integrated Remote Console Virtual Mouse, which are standard equipment on all Proliant and Integrity servers, produce absolute coordinates instead of relative coordinates. This is done to synchronize the position of the mouse cursor on the client desktop with the mouse cursor position on the server. Mousedev is not designed to pass those absolute events directly to X, but it can translate them into relative movements. It currently does this for tablet like devices and touchpads. This patch merely tells it to also include a device with ABS_X, ABS_Y, and mouse buttons in its list of devices to process input for. This patch enables the mouse pointer to move when using the remote console. Signed-off-by: Micah Parrish Signed-off-by: Dmitry Torokhov commit 6320bcebc0ee0bafc61f293bec2d0809171f6b1d Author: David S. Miller Date: Thu Jan 17 01:32:09 2008 -0800 [SPARC64]: Fix hypervisor TLB operation error reporting. 1) Trap level wasn't being passed down properly, we need to move it from %l4 into the correct outgoing arg register. 2) Although the TPC often provides the most direct clue, we have the caller PC so we should provide that as well. Signed-off-by: David S. Miller commit e415e6ea0cd36ece29c7b12232286b5ca097ac96 Author: David S. Miller Date: Tue Jan 15 22:50:08 2008 -0800 [NIU]: Fix 1G PHY link state handling. The code in link_status_1g() computes the active speed and duplex but does not update the link config state with those values. As a result the link speed is not reported correctly and the XIF is not reprogrammed properly on link up events. Signed-off-by: David S. Miller commit d2c7ddd6261eb885091cf6ddbcfae01f4216fb8e Author: David S. Miller Date: Tue Jan 15 22:43:24 2008 -0800 [NET]: Fix TX timeout regression in Intel drivers. This fixes a regression added by changeset 53e52c729cc169db82a6105fac7a166e10c2ec36 ("[NET]: Make ->poll() breakout consistent in Intel ethernet drivers.") As pointed out by Jesse Brandeburg, for three of the drivers edited above there is breakout logic in the *_clean_tx_irq() code to prevent running TX reclaim forever. If this occurs, we have to elide NAPI poll completion or else those TX events will never be serviced. Signed-off-by: David S. Miller Acked-by: Jesse Brandeburg commit d8c89eb3a12f0da96d049bd515c7fa3702e511c5 Merge: 456ef15... fb1dac9... Author: Linus Torvalds Date: Wed Jan 16 09:55:49 2008 -0800 Merge branch 'v2.6.24-rc7-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep * 'v2.6.24-rc7-lockdep' of git://git.kernel.org/pub/scm/linux/kernel/git/peterz/linux-2.6-lockdep: lockdep: more hardirq annotations for notify_die() lockdep: fix workqueue creation API lockdep interaction lockdep: fix internal double unlock during self-test commit 456ef1553cb2b06729d64c1d1f0f2bda34e9b201 Author: Tejun Heo Date: Wed Jan 16 12:10:53 2008 +0900 sysfs: fix bugs in sysfs_rename/move_dir() sysfs_rename/move_dir() have the following bugs. - On dentry lookup failure, kfree() is called on ERR_PTR() value. - sysfs_move_dir() has an extra dput() on success path. Fix them. Signed-off-by: Tejun Heo Signed-off-by: Linus Torvalds commit e49452c67703d3647467d65275fb893589384fed Author: Tejun Heo Date: Wed Jan 16 12:06:14 2008 +0900 sysfs: make sysfs_lookup() return ERR_PTR(-ENOENT) on failed lookup sysfs tries to keep dcache a strict subset of sysfs_dirent tree by shooting down dentries when a node is removed, that is, no negative dentry for sysfs. However, the lookup function returned NULL and thus created negative dentries when the target node didn't exist. Make sysfs_lookup() return ERR_PTR(-ENOENT) on lookup failure. This fixes the NULL dereference bug in sysfs_get_dentry() discovered by bluetooth rfcomm device moving around. Signed-off-by: Tejun Heo Signed-off-by: Linus Torvalds commit fb1dac909d94ff807cd833d340c6827c3a957159 Author: Peter Zijlstra Date: Wed Jan 16 09:51:59 2008 +0100 lockdep: more hardirq annotations for notify_die() On Sat, 2007-12-29 at 18:06 +0100, Marcin Slusarz wrote: > Hi > Today I've got this (while i was upgrading my gentoo box): > > WARNING: at kernel/lockdep.c:2658 check_flags() > Pid: 21680, comm: conftest Not tainted 2.6.24-rc6 #63 > > Call Trace: > [] check_flags+0x1c7/0x1d0 > [] lock_acquire+0x57/0xc0 > [] __atomic_notifier_call_chain+0x60/0xd0 > [] atomic_notifier_call_chain+0x11/0x20 > [] notify_die+0x2e/0x30 > [] do_divide_error+0x5a/0xa0 > [] trace_hardirqs_on_thunk+0x35/0x3a > [] trace_hardirqs_on+0xd9/0x180 > [] trace_hardirqs_on_thunk+0x35/0x3a > [] error_exit+0x0/0xa9 > > possible reason: unannotated irqs-off. > irq event stamp: 4693 > hardirqs last enabled at (4693): [] trace_hardirqs_on_thunk+0x35/0x3a > hardirqs last disabled at (4692): [] trace_hardirqs_off_thunk+0x35/0x37 > softirqs last enabled at (3546): [] __do_softirq+0xb3/0xd0 > softirqs last disabled at (3521): [] call_softirq+0x1c/0x30 more early fixups for notify_die().. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit eb13ba873881abd5e15af784756a61af635e665e Author: Johannes Berg Date: Wed Jan 16 09:51:58 2008 +0100 lockdep: fix workqueue creation API lockdep interaction Dave Young reported warnings from lockdep that the workqueue API can sometimes try to register lockdep classes with the same key but different names. This is not permitted in lockdep. Unfortunately, I was unaware of that restriction when I wrote the code to debug workqueue problems with lockdep and used the workqueue name as the lockdep class name. This can obviously lead to the problem if the workqueue name is dynamic. This patch solves the problem by always using a constant name for the workqueue's lockdep class, namely either the constant name that was passed in or a string consisting of the variable name. Signed-off-by: Johannes Berg Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit 5a26db5bd25cf4bf32ae9fa9f6136b6b6d5b45c5 Author: Nick Piggin Date: Wed Jan 16 09:51:58 2008 +0100 lockdep: fix internal double unlock during self-test Lockdep, during self-test (when it was simulating double unlocks) was sometimes unconditionally unlocking a spinlock when it had not been locked. This won't work for ticket locks. Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra