commit 264e3e889d86e552b4191d69bb60f4f3b383135a Merge: d7a0e1f... 8d8002f... Author: Linus Torvalds Date: Tue Mar 18 21:34:48 2008 -0700 Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: async_tx: avoid the async xor_zero_sum path when src_cnt > device->max_xor fsldma: Fix the DMA halt when using DMA_INTERRUPT async_tx transfer. commit d7a0e1f56472db0825e13f9dd39f0ad79b8c8b3e Author: Alexey Starikovskiy Date: Wed Mar 19 02:45:12 2008 +0300 Revert "ACPI: EC: Handle IRQ storm on Acer laptops" This reverts commit 2c81ce4c9c37b910210f2640c28e98a0c398dc26. It caused several new troubles (eg suspend slowdown bisected down to this patch by Pavel Machek), so just revert it for now. Signed-off-by: Alexey Starikovskiy Cc: Pavel Machek Signed-off-by: Linus Torvalds commit 2caf470363941b70212a9a843cae02e8e2f751d9 Merge: 6c3c315... 33b0c42... Author: Linus Torvalds Date: Tue Mar 18 21:27:13 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched-devel: sched: tune multi-core idle balancing sched: retune wake granularity sched: wakeup-buddy tasks are cache-hot sched: improve affine wakeups sched, net: socket wakeups are sync sched: clean up wakeup balancing, code flow sched: clean up wakeup balancing, rename variables sched: clean up wakeup balancing, move wake_affine() commit 6c3c3158a81d6a92d335dd27ad9eb43f6b4c664b Author: Linus Torvalds Date: Tue Mar 18 21:26:24 2008 -0700 IDE: Make taskfile interface more robust wrt unexpected end-of-command Now that we handle all the special commands using REQ_TYPE_ATA_TASKFILE rather than using the old REQ_TYPE_ATA_CMD model, we need to also emulate the lack of full taskfile data that comes with the old command model (ie when commands are generated with the HDIO_DRIVE_CMD ioctl rather than using the HDIO_DRIVE_TASK[FILE] ioctls). In particular, this means that we should handle command completion the more relaxed way that the old drive_cmd_intr() code did. It allows commands to finish early even if they don't use up all the data that we thought we had for them. This fixes a regression seen by Anders Eriksson where some SMART commands sent by smartd would cause a boot-time system hang on his machine because the IDE command handling code didn't realize that the command had completed. Tested-by: Anders Eriksson Cc: Jens Axboe Cc: Ingo Molnar Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds commit d5eee405723eedbd621275e045ac9b36f668c39f Merge: f920bb6... caeab08... Author: Linus Torvalds Date: Tue Mar 18 21:13:19 2008 -0700 Merge branch 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm * 'slab-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm: slub page alloc fallback: Enable interrupts for GFP_WAIT. commit 33b0c4217dcd67b788318c3192a2912b530e4eef Author: Ingo Molnar Date: Sun Mar 16 11:14:30 2008 +0100 sched: tune multi-core idle balancing WAKE_IDLE is too agressive on multi-core CPUs with the new wake-affine code, keep it on for SMT/HT balancing alone (where there's no cache affinity at all between logical CPUs). Signed-off-by: Ingo Molnar commit 74e3cd7f480ae1888b7cd196bf8125a1d3bfee05 Author: Ingo Molnar Date: Tue Mar 18 18:47:57 2008 +0100 sched: retune wake granularity reduce wake-up granularity for better interactivity. Signed-off-by: Ingo Molnar commit f540a6080a092e2ab69fd146c308022db7347b0a Author: Ingo Molnar Date: Sat Mar 15 17:10:34 2008 +0100 sched: wakeup-buddy tasks are cache-hot Wakeup-buddy tasks are cache-hot - this makes it a bit harder for the load-balancer to tear them apart. (but it's still possible, if the load is sufficiently assymetric) Signed-off-by: Ingo Molnar commit 4ae7d5cefd4aa3560e359a3b0f03e12adc8b5c86 Author: Ingo Molnar Date: Wed Mar 19 01:42:00 2008 +0100 sched: improve affine wakeups improve affine wakeups. Maintain the 'overlap' metric based on CFS's sum_exec_runtime - which means the amount of time a task executes after it wakes up some other task. Use the 'overlap' for the wakeup decisions: if the 'overlap' is short, it means there's strong workload coupling between this task and the woken up task. If the 'overlap' is large then the workload is decoupled and the scheduler will move them to separate CPUs more easily. ( Also slightly move the preempt_check within try_to_wake_up() - this has no effect on functionality but allows 'early wakeups' (for still-on-rq tasks) to be correctly accounted as well.) Signed-off-by: Ingo Molnar commit 6f3d09291b4982991680b61763b2541e53e2a95f Author: Ingo Molnar Date: Wed Mar 19 01:44:24 2008 +0100 sched, net: socket wakeups are sync 'sync' wakeups are a hint towards the scheduler that (certain) networking related wakeups likely create coupling between tasks. Signed-off-by: Ingo Molnar commit f48273860edfca2306236d0f0de609aab3f773d4 Author: Ingo Molnar Date: Sun Mar 16 21:21:47 2008 +0100 sched: clean up wakeup balancing, code flow Clean up the code flow. No code changed: kernel/sched.o: text data bss dec hex filename 42521 2858 232 45611 b22b sched.o.before 42521 2858 232 45611 b22b sched.o.after md5: 09b31c44e9aff8666f72773dc433e2df sched.o.before.asm 09b31c44e9aff8666f72773dc433e2df sched.o.after.asm Signed-off-by: Ingo Molnar commit ac192d3921a14e2c9080799e16959b4bd56f49d6 Author: Ingo Molnar Date: Sun Mar 16 20:56:26 2008 +0100 sched: clean up wakeup balancing, rename variables rename 'cpu' to 'prev_cpu'. No code changed: kernel/sched.o: text data bss dec hex filename 42521 2858 232 45611 b22b sched.o.before 42521 2858 232 45611 b22b sched.o.after md5: 09b31c44e9aff8666f72773dc433e2df sched.o.before.asm 09b31c44e9aff8666f72773dc433e2df sched.o.after.asm Signed-off-by: Ingo Molnar commit 098fb9db2c74cfd6ffdbf61eb026a0c21abc5f75 Author: Ingo Molnar Date: Sun Mar 16 20:36:10 2008 +0100 sched: clean up wakeup balancing, move wake_affine() split out the affine-wakeup bits. No code changed: kernel/sched.o: text data bss dec hex filename 42521 2858 232 45611 b22b sched.o.before 42521 2858 232 45611 b22b sched.o.after md5: 9d76738f1272aa82f0b7affd2f51df6b sched.o.before.asm 09b31c44e9aff8666f72773dc433e2df sched.o.after.asm (the md5's changed because stack slots changed and some registers get scheduled by gcc in a different order - but otherwise the before and after assembly is instruction for instruction equivalent.) Signed-off-by: Ingo Molnar commit 8d8002f642886ae256a3c5d70fe8aff4faf3631a Author: Dan Williams Date: Tue Mar 18 21:23:59 2008 -0700 async_tx: avoid the async xor_zero_sum path when src_cnt > device->max_xor If the channel cannot perform the operation in one call to ->device_prep_dma_zero_sum, then fallback to the xor+page_is_zero path. This only affects users with arrays larger than 16 devices on iop13xx or 32 devices on iop3xx. Cc: Cc: Neil Brown Signed-off-by: Dan Williams commit f79abb627f033c85a6088231f20c85bc4a9bd757 Author: Zhang Wei Date: Tue Mar 18 18:45:00 2008 -0700 fsldma: Fix the DMA halt when using DMA_INTERRUPT async_tx transfer. The DMA_INTERRUPT async_tx is a NULL transfer, thus the BCR(count register) is 0. When the transfer started with a byte count of zero, the DMA controller will triger a PE(programming error) event and halt, not a normal interrupt. I add special codes for PE event and DMA_INTERRUPT async_tx testing. Signed-off-by: Zhang Wei Signed-off-by: Andrew Morton Signed-off-by: Dan Williams commit f920bb6f5fe21047e669381fe4dd346f6a9d3562 Merge: d324669... 1e0bd75... Author: Linus Torvalds Date: Tue Mar 18 08:43:59 2008 -0700 Merge branch 'audit.b49' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current * 'audit.b49' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current: [PATCH] export sessionid alongside the loginuid in procfs commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc Author: Eric Paris Date: Thu Mar 13 08:15:31 2008 -0400 [PATCH] export sessionid alongside the loginuid in procfs Signed-off-by: Eric Paris Signed-off-by: Al Viro commit d32466912ea1f5a0ced568c4884f6c7d335ea969 Merge: 74fe030... 0714664... Author: Linus Torvalds Date: Tue Mar 18 07:49:59 2008 -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: update key codes for Apple aluminium HID: fix comment in hid_input_report() HID: BADPAD entry for NATSU Playstation USB adapter HID: Use DIV_ROUND_UP HID: remove HID_QUIRK_APPLE_ISO_KEYBOARD for 4th generation macbook commit 74fe030532d779a3774fcc9e1ddce65f3773e156 Merge: fb00f76... 13d9392... Author: Linus Torvalds Date: Tue Mar 18 07:48:23 2008 -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: Set flag DOCK_UNDOCKING when triggered via sysfs Revert "ACPI: video: Ignore devices that aren't present in hardware" asus_acpi: remove misleading mask Revert "ACPI: video: Ignore ACPI video devices that aren't present in hardware" thermal: delete "default y" thermal: re-document thermal units Revert "thermal: fix generic thermal I/F for hwmon" ACPI: fix ATA_ACPI build ACPI: battery: Don't return -EFAIL on broken packages. ACPI: lockdep warning on boot, 2.6.25-rc5 commit fb00f7629bb94ef9189fc3790b95306a144f58c5 Merge: 992ab12... 3c00bb9... Author: Linus Torvalds Date: Tue Mar 18 07:46:19 2008 -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: ALPS - fix forward/back buttons reversed on Acer 5520-5290 Input: ALPS - put secondary device in proper place in sysfs Input: wacom - add support for Bamboo1, BambooFun, and Cintiq 12WX Input: document i8042.noloop Input: add keyboard notifier documentation Input: ads7846 - fix uninitialized var warning Input: i8042 - add SNI RM support Input: i8042 - add Lenovo 3000 N100 to nomux blacklist Input: i8042 - fix warning on non-x86 builds Input: cobalt_btns - assorted fixes commit 992ab12ac390a8b98b45d03f617481e6265811c0 Merge: 92f53c6... 2e1479d... Author: Linus Torvalds Date: Tue Mar 18 07:44:21 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6: make selinux_parse_opts_str() static commit 92f53c6f1e47d92b40b1e9e1662b0056c783b962 Merge: ff69c00... 40044ce... Author: Linus Torvalds Date: Tue Mar 18 07:43:14 2008 -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: Revert "unexport bio_{,un}map_user" relay: fix subbuf_splice_actor() adding too many pages The ps2esdi driver was marked as BROKEN more than two years ago due to being commit ff69c00f0a58383f1f60dd2756e54a857f08d249 Merge: 9e58582... b05c238... Author: Linus Torvalds Date: Tue Mar 18 07:32:23 2008 -0700 Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/ati_pcigart: fix the PCIGART to use drm_pci to allocate GART table. drm/radeon: fixup RV550 chip family drm/via: attempt again to stabilise the AGP DMA command submission. drm: Fix race that can lockup the kernel commit 07146648bc6ea8b1530644c8a41bef55f1b2d952 Author: Michael Hanselmann Date: Mon Mar 17 22:23:52 2008 +0100 HID: update key codes for Apple aluminium F5 and F6 have no second function printed on them. Thus their definitions have been removed from the table. KEY_CYCLEWINDOWS doesn't name the function of Mac OS X' Expose properly and because we couldn't find a better key code, we decided to use KEY_FN_F4 instead. We also changed KEY_BACK and KEY_FORWARD, which apply to browser functions, to KEY_PREVIOUSSONG and KEY_NEXTSONG, since the keys are intended to control a music player. Signed-off-by: Michael Hanselmann Signed-off-by: Jiri Kosina commit dfd347f09c66beed2ae621aad5fd75535b1838d4 Author: Jiri Kosina Date: Tue Mar 4 13:53:33 2008 +0100 HID: fix comment in hid_input_report() The hid_input_report() in debug mode of course outputs the report itself, not the device report descriptor. Fix this error in comment. Signed-off-by: Jiri Kosina commit c9bde7ad39e61424619b6bd7dd6984606b3b6489 Author: Andrew Burton Date: Mon Mar 3 10:49:59 2008 +0100 HID: BADPAD entry for NATSU Playstation USB adapter Add quirk entry for BADPAD for the NATSU Playstation USB adapter. The adapter is supported under Linux, but with bad direction detection. Signed-off-by: Andrew Burton Signed-off-by: Jiri Kosina commit 92c4a1b9f257a242866be13c7c61e7a40616ec52 Author: Julia Lawall Date: Fri Feb 15 13:53:11 2008 +0100 HID: Use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. Signed-off-by: Julia Lawall Signed-off-by: Jiri Kosina commit 790c9d8d87f15827a455b191924aee9b397ce2b1 Author: Tobias Mueller Date: Fri Mar 14 23:44:48 2008 +0100 HID: remove HID_QUIRK_APPLE_ISO_KEYBOARD for 4th generation macbook 4th generation MacBook (product id 0x022a) from Apple doesn't need HID_QUIRK_APPLE_ISO_KEYBOARD fix anymore. Signed-off-by: Tobias Mueller Signed-off-by: Jiri Kosina commit 13d93924f13e1989cf27375cd46451475bc70d1d Merge: d9ea136... 9171f83... Author: Len Brown Date: Tue Mar 18 05:17:15 2008 -0400 Merge branches 'release' and 'dock' into release commit 9171f83488940e4ff85f1b7137773eb1f306cdef Author: Holger Macht Date: Wed Mar 12 01:07:27 2008 +0100 ACPI: Set flag DOCK_UNDOCKING when triggered via sysfs begin_undock() is only called when triggered via a acpi notify handler (pressing the undock button on the dock station), but complete_undock() is always called after the eject. So if a undock is triggered through a sysfs write, the flag DOCK_UNDOCKING has to be set for the dock station, too. Otherwise this will freeze the system hard. Signed-off-by: Holger Macht Acked-by: Kristen Carlson Accardi Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit d9ea1364d37b53710519909ab125a53b0a8ca64f Merge: abc5a87... b8a1bdb... 77321e6... 0ac4a3c... 71e93d1... ece54e2... Author: Len Brown Date: Tue Mar 18 04:52:57 2008 -0400 Merge branches 'release', 'asus', 'bugzilla-8573', 'bugzilla-9995', 'bugzilla-10272', 'lockdep' and 'thermal' into release commit 77321e624b64f1e5985a20f3cd16b94c96d0dbb4 Author: Len Brown Date: Tue Mar 18 04:04:35 2008 -0400 Revert "ACPI: video: Ignore devices that aren't present in hardware" This reverts commit 0119509c4fbc9adcef1472817fda295334612976. http://bugzilla.kernel.org/show_bug.cgi?id=9995 Signed-off-by: Len Brown commit abc5a87f4e627e058813a95b112e9f5f21668f9d Author: Julia Lawall Date: Tue Mar 4 15:00:13 2008 -0800 asus_acpi: remove misleading mask led_out is boolean, so there is no functional change here, but apparently an extra mask with 1 caused some style checkers to flag this as logic bug. Signed-off-by: Julia Lawall Acked-by: Luca Tettamanti Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit f0d6752c9fa51d24c86b57c76ec5b2926a716b23 Author: Len Brown Date: Tue Mar 18 01:43:53 2008 -0400 Revert "ACPI: video: Ignore ACPI video devices that aren't present in hardware" This reverts commit 3fa2cdcc45a0176de15cac9dbf4ed2834ebf8932. http://bugzilla.kernel.org/show_bug.cgi?id=9995 Signed-off-by: Len Brown commit ece54e2ff45062852e4647e85b2bb5f6aee8211c Author: Len Brown Date: Tue Mar 18 01:22:10 2008 -0400 thermal: delete "default y" The generic thermal I/F gets selected by ACPI_THERMAL -- its only current customer. it doesn't need to clutter other configs by default. Signed-off-by: Len Brown commit 6d7f014e55c5227220da1f021c518487fcfd585a Author: Zhang, Rui Date: Tue Mar 18 10:40:29 2008 +0800 thermal: re-document thermal units From: Zhang Rui (reverting the previous sysfs patch also reverted a fix to the thermal units documentation, which is restored by this commit) The generic thermal driver shows temperature in millidegree Celsius. Signed-off-by: Zhang Rui Signed-off-by: Len Brown commit 91f57fa1215952af579f304821a15cc6c656042c Author: Len Brown Date: Tue Mar 18 01:14:37 2008 -0400 Revert "thermal: fix generic thermal I/F for hwmon" This reverts commit 3152fb9f11cdd2fd8688c2c5cb805e5c09b53dd9. This broke libsensors. Acked-by: Zhang Rui Acked-by: Jean Delvare Signed-off-by: Len Brown commit 3c00bb96497a9c1251359a1faf68dddbb8d50a23 Author: Laszlo Kajan Date: Tue Mar 18 00:39:55 2008 -0400 Input: ALPS - fix forward/back buttons reversed on Acer 5520-5290 ALPS_FW_BK_1 protocol flavor seems to have forward and backward keys reversed. Signed-off-by: Laszlo Kajan Signed-off-by: Dmitry Torokhov commit 1db3a3453f6915d6af322e3a1b25f7ab2c9d9a2b Author: Dmitry Torokhov Date: Tue Mar 18 00:29:18 2008 -0400 Input: ALPS - put secondary device in proper place in sysfs Secondary input device did not have parent set up causing it to appear in the root of sysfs device hierarchy. Signed-off-by: Dmitry Torokhov commit 0ac4a3c2fbbcadc3e96e4dc47d4ae802d66e6f67 Author: Len Brown Date: Tue Mar 18 00:26:07 2008 -0400 ACPI: fix ATA_ACPI build drivers/ata/libata-acpi.c fails to build drivers/built-in.o: In function `ata_acpi_associate': (.text+0x7106a): undefined reference to `register_hotplug_dock_device' When CONFIG_ATA_ACPI=y and CONFIG_ACPI_DOCK=m But if dock is selected from ata_acpi, dock will =y when ata_acpi=y, avoiding this problem. http://bugzilla.kernel.org/show_bug.cgi?id=10272 Signed-off-by: Len Brown commit b8a1bdb14940946fcf0438a6337b2a6c54294fb8 Author: Alexey Starikovskiy Date: Mon Mar 17 22:37:42 2008 -0400 ACPI: battery: Don't return -EFAIL on broken packages. Acer BIOS has a bug which is exposed when a dead battery is present. The package template that is used to describe battery status is over-written with sane values when the battery is live. But when the batter is dead, a bogus reference in the template is used. In this case, Linux returns a fault, when instead it should simply return that it doesn't know the missing value. http://bugzilla.kernel.org/show_bug.cgi?id=8573 http://bugzilla.kernel.org/show_bug.cgi?id=10202 Signed-off-by: Alexey Starikovskiy Signed-off-by: Len Brown commit 9e5858244926f4fddf8ba38a6b4fa3fe68e93836 Author: Mark Lord Date: Mon Mar 17 16:04:23 2008 -0400 pciehp: don't enable slot unless forced This fixes a 2.6.25 regression reported by Alex Chiang. Invoke pciehp_enable_slot() at startup only when pciehp_force=1. Some HP equipment apparently cannot cope with it otherwise. This restores the (previously working) 2.6.24 behaviour here, while allowing machines that need a kick to use pciehp_force=1. This was the original design back in October 2007, but Kristen suggested we try without it first: Kristen Carlson Accardi wrote: >I think it would be ok to try allowing the slot to be enabled when not >using pciehp_force mode. We can wrap it later if it proves to break things This ended up breaking one of Alex's setups, so it's time to put the wrapper back in now. Signed-off-by: Mark Lord Acked-by: Alex Chiang Acked-by: Kristen Carlson Accardi Signed-off-by: Linus Torvalds commit 2e1479d95d02b43660fe03ab2c595ec9751a6f97 Author: Adrian Bunk Date: Mon Mar 17 22:29:23 2008 +0200 make selinux_parse_opts_str() static This patch makes the needlessly global selinux_parse_opts_str() static. Signed-off-by: Adrian Bunk Acked-by: Eric Paris Signed-off-by: James Morris commit 40044ce0bf2b7e548584d91f108444e83ed5eab3 Author: Jens Axboe Date: Mon Mar 17 21:14:40 2008 +0100 Revert "unexport bio_{,un}map_user" Outside users like asmlib uses the mapping functions. API wise, the export is definitely sane. It's a better idea to keep this export than to require external users to open-code this piece of code instead. Signed-off-by: Jens Axboe commit caeab084deb61cd2d51cb8facc0e894a5b406aa4 Author: Christoph Lameter Date: Wed Mar 12 23:57:49 2008 -0700 slub page alloc fallback: Enable interrupts for GFP_WAIT. The fallback path needs to enable interrupts like done for the other page allocator calls. This was not necessary with the alternate fast path since we handled irq enable/disable in the slow path. The regular fastpath handles irq enable/disable around calls to the slow path so we need to restore the proper status before calling the page allocator from the slowpath. Signed-off-by: Christoph Lameter commit bde4f8fa8db2abd5ac9c542d76012d0fedab050f Merge: 8484138... c40e7cb... Author: Linus Torvalds Date: Mon Mar 17 09:52:24 2008 -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: Add Marvell 6121 SATA support pata_ali: use atapi_cmd_type() to determine cmd type instead of transfer size ahci: implement skip_host_reset parameter ahci: request all PCI BARs devres: implement pcim_iomap_regions_request_all() libata-acpi: improve dock event handling commit 84841384ec6ec57544b76e564514d3f9eb6c1901 Merge: 3d10a15... 4265f16... Author: Linus Torvalds Date: Mon Mar 17 09:52:19 2008 -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: virtio: fix race in enable_cb virtio: Enable netpoll interface for netconsole logging virtio: handle > 2 billion page balloon targets virtio: Fix sysfs bits to have proper block symlink virtio: Use spin_lock_irqsave/restore for virtio-pci commit 3d10a15d6919488204bdb264050d156ced20d9aa Author: Al Viro Date: Sun Mar 16 22:48:08 2008 +0000 hfs_bnode_find() can fail, resulting in hfs_bnode_split() breakage oops and fs corruption; the latter can happen even on valid fs in case of oom. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c40e7cb89f9d36924131ef708ff1f16a76611add Author: Jose Alberto Reguero Date: Thu Mar 13 23:22:24 2008 +0100 ahci: Add Marvell 6121 SATA support Signed-off-by: Jose Alberto Reguero Signed-off-by: Jeff Garzik commit 4a38e733a75d52e84772fc00d88e32032a235e75 Author: Tejun Heo Date: Tue Mar 11 11:35:00 2008 +0900 pata_ali: use atapi_cmd_type() to determine cmd type instead of transfer size pata_ali was using qc->nbytes to determine whether a command is data transfer type or not. As now qc->nbytes can be extended by padding and draining buffers, these tests are not useful anymore. Use atapi_cmd_type() instead. Signed-off-by: Tejun Heo Cc: Alan Cox Cc: Rafael J. Wysocki Signed-off-by: Jeff Garzik commit a22e64443f0aa4aa4e3c56a49e5c060e90752c07 Author: Tejun Heo Date: Mon Mar 10 10:25:25 2008 +0900 ahci: implement skip_host_reset parameter Under certain circumstances (SSP turned off by the BIOS) and for debugging purposes, skipping global controller reset is helpful. Add a kernel parameter for it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit dea55137634226fd74d5187a15dee1244ec252cb Author: Tejun Heo Date: Tue Mar 11 19:52:31 2008 +0900 ahci: request all PCI BARs ahci is often implemented with accompanying SFF compatible interface and legacy IDE driver may attach to the legacy IO ports when the controller is already claimed by ahci and vice-versa. This patch makes ahci use pcim_iomap_regions_request_all() so that all IO regions are claimed on attach. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 916fbfb7ae5f8c8f86399794d89e6d273df8826b Author: Tejun Heo Date: Wed Mar 12 15:26:34 2008 +0900 devres: implement pcim_iomap_regions_request_all() Some drivers need to reserve all PCI BARs to prevent other drivers misusing unoccupied BARs. pcim_iomap_regions_request_all() requests all BARs and iomap specified BARs. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Cc: Alan Cox Cc: Jeff Garzik Signed-off-by: Jeff Garzik commit 233f112042d0b50170212dbff99c3b34b8773cd3 Author: Tejun Heo Date: Wed Mar 12 14:24:43 2008 +0900 libata-acpi: improve dock event handling Improve ACPI hotplug handling such that dock event is handled properly. * Register handlers for dock events. * Directly detach device on EJECT_REQUEST instead of signaling hotplug event. This prevents libata from accessing severed controller and/or device. * While at it, use named constants for ACPI events and move uevent signaling inside host lock. Original patch and testing by Holger Macht. Signed-off-by: Tejun Heo Cc: Holger Macht Signed-off-by: Jeff Garzik commit 4265f161b6bb7b31163671329b1142b9023bf4e3 Author: Christian Borntraeger Date: Fri Mar 14 14:17:05 2008 +0100 virtio: fix race in enable_cb There is a race in virtio_net, dealing with disabling/enabling the callback. I saw the following oops: kernel BUG at /space/kvm/drivers/virtio/virtio_ring.c:218! illegal operation: 0001 [#1] SMP Modules linked in: sunrpc dm_mod CPU: 2 Not tainted 2.6.25-rc1zlive-host-10623-gd358142-dirty #99 Process swapper (pid: 0, task: 000000000f85a610, ksp: 000000000f873c60) Krnl PSW : 0404300180000000 00000000002b81a6 (vring_disable_cb+0x16/0x20) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:0 CC:3 PM:0 EA:3 Krnl GPRS: 0000000000000001 0000000000000001 0000000010005800 0000000000000001 000000000f3a0900 000000000f85a610 0000000000000000 0000000000000000 0000000000000000 000000000f870000 0000000000000000 0000000000001237 000000000f3a0920 000000000010ff74 00000000002846f6 000000000fa0bcd8 Krnl Code: 00000000002b819a: a7110001 tmll %r1,1 00000000002b819e: a7840004 brc 8,2b81a6 00000000002b81a2: a7f40001 brc 15,2b81a4 >00000000002b81a6: a51b0001 oill %r1,1 00000000002b81aa: 40102000 sth %r1,0(%r2) 00000000002b81ae: 07fe bcr 15,%r14 00000000002b81b0: eb7ff0380024 stmg %r7,%r15,56(%r15) 00000000002b81b6: a7f13e00 tmll %r15,15872 Call Trace: ([<000000000fa0bcd0>] 0xfa0bcd0) [<00000000002b8350>] vring_interrupt+0x5c/0x6c [<000000000010ab08>] do_extint+0xb8/0xf0 [<0000000000110716>] ext_no_vtime+0x16/0x1a [<0000000000107e72>] cpu_idle+0x1c2/0x1e0 The problem can be triggered with a high amount of host->guest traffic. I think its the following race: poll says netif_rx_complete poll calls enable_cb enable_cb opens the interrupt mask a new packet comes, an interrupt is triggered----\ enable_cb sees that there is more work | enable_cb disables the interrupt | . V . interrupt is delivered . skb_recv_done does atomic napi test, ok some waiting disable_cb is called->check fails->bang! . poll would do napi check poll would do disable_cb The fix is to let enable_cb not disable the interrupt again, but expect the caller to do the cleanup if it returns false. In that case, the interrupt is only disabled, if the napi test_set_bit was successful. Signed-off-by: Christian Borntraeger Signed-off-by: Rusty Russell (cleaned up doco) commit da74e89d40995600b3b07ac500084920247687ce Author: Amit Shah Date: Fri Feb 29 16:24:50 2008 +0530 virtio: Enable netpoll interface for netconsole logging Add a new poll_controller handler that the netpoll interface needs. This enables netconsole logging from a kvm guest over the virtio net interface. Signed-off-by: Amit Shah Signed-off-by: Rusty Russell commit bdc1681cdf1ab6a65fa935a2b3f8fc63b20c54ea Author: Rusty Russell Date: Mon Mar 17 22:58:15 2008 -0500 virtio: handle > 2 billion page balloon targets If the host asks for a huge target towards_target() can overflow, and we up oops as we try to release more pages than we have. The simple fix is to use a 64-bit value. Signed-off-by: Rusty Russell commit c483934670d31e064e18967bb679c1079b54ea72 Author: Jeremy Katz Date: Sun Mar 2 17:00:15 2008 -0500 virtio: Fix sysfs bits to have proper block symlink Fix up so that the virtio_blk devices in sysfs link correctly to their block device. This then allows them to be detected by hal, etc Signed-off-by: Jeremy Katz Signed-off-by: Rusty Russell commit 27ebe308af7c14aed0711e25817c6a1235bd16ff Author: Anthony Liguori Date: Sun Mar 2 16:37:48 2008 -0600 virtio: Use spin_lock_irqsave/restore for virtio-pci virtio-pci acquires its spin lock in an interrupt context so it's necessary to use spin_lock_irqsave/restore variants. This patch fixes guest SMP when using virtio devices in KVM. Signed-off-by: Anthony Liguori Signed-off-by: Rusty Russell commit 16d54669427069ef2823752c365d695b0cc4748f Author: Jens Axboe Date: Mon Mar 17 09:04:59 2008 +0100 relay: fix subbuf_splice_actor() adding too many pages If subbuf_pages was larger than the max number of pages the pipe buffer will hold, subbuf_splice_actor() would happily go beyond the array size. Signed-off-by: Jens Axboe commit 2af3e6017e53065ddf40bb19190a29199b7ffee3 Author: Adrian Bunk Date: Thu Mar 6 16:02:42 2008 +0100 The ps2esdi driver was marked as BROKEN more than two years ago due to being no longer working for some time. A driver that had been marked as BROKEN for such a long time seems to be unlikely to be revived in the forseeable future. But if anyone wants to ever revive this driver, the code is still present in the older kernel releases. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit b05c23851ab820b1957cd2f322eaa1ac44c196bd Author: Dave Airlie Date: Mon Mar 17 10:24:24 2008 +1000 drm/ati_pcigart: fix the PCIGART to use drm_pci to allocate GART table. This fixes a problem on 64-bit with 4GB with ATI RS690 chipsets. It makes sure the pcigart table is allocated in coherent memory for DMA operations. Signed-off-by: Dave Airlie commit 16d3be46d9ffbc2c562b25d66d59666db2cf2cd5 Author: Alex Deucher Date: Mon Mar 17 10:22:12 2008 +1000 drm/radeon: fixup RV550 chip family This fixes up the RV550 chips which are based on RV515, not RV530. It also adds another RS690 PCI ID. Signed-off-by: Dave Airlie commit f0fb6d7798e7e2d1f37a2c15892910661bdaba55 Author: Thomas Hellstrom Date: Mon Mar 17 10:07:20 2008 +1000 drm/via: attempt again to stabilise the AGP DMA command submission. It's worth remembering that all new bright ideas on how to make this command reader work properly and according to docs will probably fail :( Bring in some old code. Also allow a larger SG-DMA download stride, and remove unnecessary waits for command regulators pauses. Signed-off-by: Dave Airlie commit 9df5808cca52f33e1deb52b5010c68c6ed1656fe Author: Mike Isely Date: Thu Mar 13 15:30:35 2008 -0500 drm: Fix race that can lockup the kernel The i915_vblank_swap() function schedules an automatic buffer swap upon receipt of the vertical sync interrupt. Such an operation is lengthy so it can't be allowed to happen in normal interrupt context, thus the DRM implements this by scheduling the work in a kernel softirq-scheduled tasklet. In order for the buffer swap to work safely, the DRM's central lock must be taken, via a call to drm_lock_take() located in drivers/char/drm/drm_irq.c within the function drm_locked_tasklet_func(). The lock-taking logic uses a non-interrupt-blocking spinlock to implement the manipulations needed to take the lock. This semantic would be safe if all attempts to use the spinlock only happen from process context. However this buffer swap happens from softirq context which is really a form of interrupt context. Thus we have an unsafe situation, in that drm_locked_tasklet_func() can block on a spinlock already taken by a thread in process context which will never get scheduled again because of the blocked softirq tasklet. This wedges the kernel hard. To trigger this bug, run a dual-head cloned mode configuration which uses the i915 drm, then execute an opengl application which synchronizes buffer swaps against the vertical sync interrupt. In my testing, a lockup always results after running anywhere from 5 minutes to an hour and a half. I believe dual-head is needed to really trigger the problem because then the vertical sync interrupt handling is no longer predictable (due to being interrupt-sourced from two different heads running at different speeds). This raises the probability of the tasklet trying to run while the userspace DRI is doing things to the GPU (and manipulating the DRM lock). The fix is to change the relevant spinlock semantics to be the interrupt-blocking form. After this change I am no longer able to trigger the lockup; the longest test run so far was 20 hours (test stopped after that point). Note: I have examined the places where this spinlock is being employed; all are reasonably short bounded sequences and should be suitable for interrupts being blocked without impacting overall kernel interrupt response latency. Signed-off-by: Mike Isely Signed-off-by: Dave Airlie commit 0e1763f530af71bd82e58e407991a9ded6aae73e Author: Ping Cheng Date: Thu Mar 13 16:46:46 2008 -0400 Input: wacom - add support for Bamboo1, BambooFun, and Cintiq 12WX Add support for new wacom tablets - Bamboo1, BambooFun, and Cintiq 12WX Signed-off-by: Ping Cheng Signed-off-by: Dmitry Torokhov commit 75d08c78931aa3992791cc4a5615ed1dd61eea92 Author: Jiri Kosina Date: Thu Mar 13 16:13:59 2008 -0400 Input: document i8042.noloop Document 'noloop' kernel parameter of i8042 controller driver. Pointed out in #10236. Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit e32f7ee876ebbdec73e4c19dce559a20c2ab840e Author: Samuel Thibault Date: Mon Mar 10 03:08:45 2008 -0700 Input: add keyboard notifier documentation Document the keyboard notifier. Signed-off-by: Samuel Thibault Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina SIgned-off-by: Dmitry Torokhov commit 05be5fc4c75fd91c9601b5e697f94112f0f6482b Author: Andrew Morton Date: Mon Mar 10 03:08:40 2008 -0700 Input: ads7846 - fix uninitialized var warning drivers/input/touchscreen/ads7846.c: In function 'ads7846_read12_ser': drivers/input/touchscreen/ads7846.c:216: warning: 'sample' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit f1782447125c167ca02babb9a2af3853895e411c Author: Thomas Bogendoerfer Date: Wed Mar 12 14:58:16 2008 -0400 Input: i8042 - add SNI RM support SNI RM200 don't have the i8042 controller connected to the EISA bus, but have a second address range for onboard devices. This patch handles the two possible address ranges for the i8042 on SNI RMs. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Dmitry Torokhov commit 2a2dcd65e232eafd9fb6da1250f83adb57787b42 Author: Jiri Kosina Date: Mon Mar 10 03:08:54 2008 -0700 Input: i8042 - add Lenovo 3000 N100 to nomux blacklist Lenovo 3000 N100 needs entry in nomux blacklist. Reported-by: Christopher Desjardins Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit d38501a379b7827a9bf916ba79d53f66c4ca7caa Author: Roland Dreier Date: Mon Mar 10 03:08:43 2008 -0700 Input: i8042 - fix warning on non-x86 builds Commit c18bab80 ("Input: i8042 - non-x86 build fix") introduced the following warning on non-x86 builds: drivers/input/serio/i8042.c: In function 'i8042_probe': drivers/input/serio/i8042.c:1154: warning: unused variable 'param' Fix this by moving the parameter variable declaration into the #ifdef too. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Jiri Kosina Signed-off-by: Dmitry Torokhov commit 3c514387bd24c41a0cbb434f59e4727e5829cc8e Author: Yoichi Yuasa Date: Fri Mar 14 11:52:37 2008 -0400 Input: cobalt_btns - assorted fixes - fix compile errors (keymap is in bdev, not pdev) - cdev is no more (must use dev.parent) - update copiright notice Signed-off-by: Yoichi Yuasa Signed-off-by: Dmitry Torokhov commit 71e93d15612c61c2e26a169567becf088e71b8ff Author: Venki Pallipadi Date: Thu Mar 13 17:18:19 2008 -0700 ACPI: lockdep warning on boot, 2.6.25-rc5 This avoids the harmless WARNING by lockdep in acpi_processor_idle(). The reason for WARNING is because at the depth of idle handling code, some of the idle handlers disable interrupts, some times, while returning from the idle handler. After return, acpi_processor_idle and few other routines in the file did an unconditional local_irq_enable(). With LOCKDEP, enabling irq when it is already enabled generates the below WARNING. > > [ 0.593038] ------------[ cut here ]------------ > > [ 0.593267] WARNING: at kernel/lockdep.c:2035 trace_hardirqs_on+0xa0/0x115() > > [ 0.593596] Modules linked in: > > [ 0.593756] Pid: 0, comm: swapper Not tainted 2.6.25-rc5 #8 > > [ 0.594017] > > [ 0.594017] Call Trace: > > [ 0.594216] [] warn_on_slowpath+0x58/0x6b > > [ 0.594495] [] ? _spin_unlock_irqrestore+0x38/0x47 > > [ 0.594809] [] ? acpi_os_release_lock+0x9/0xb > > [ 0.595103] [] ? acpi_set_register+0x161/0x173 > > [ 0.595401] [] ? acpi_processor_idle+0x1de/0x546 > > [ 0.595706] [] ? default_idle+0x0/0x73 > > [ 0.595970] [] trace_hardirqs_on+0xa0/0x115 > > [ 0.596049] [] ? acpi_processor_idle+0x0/0x546 > > [ 0.596346] [] acpi_processor_idle+0x1de/0x546 > > [ 0.596642] [] ? default_idle+0x0/0x73 > > [ 0.596912] [] ? acpi_processor_idle+0x0/0x546 > > [ 0.597209] [] ? default_idle+0x0/0x73 > > [ 0.597472] [] cpu_idle+0xa7/0xd1 > > [ 0.597717] [] rest_init+0x55/0x57 > > [ 0.597957] [] start_kernel+0x29d/0x2a8 > > [ 0.598215] [] _sinittext+0x1da/0x1e1 > > [ 0.598464] > > [ 0.598546] ---[ end trace 778e504de7e3b1e3 ]--- Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown