commit 62d0cfcb27cf755cebdc93ca95dabc83608007cd Author: Linus Torvalds Date: Sun Feb 4 10:44:54 2007 -0800 Linux 2.6.20 commit 40c373cc3af9720d1cec0e32c3da26b1d220a95b Author: Frédéric Riss Date: Tue Jan 30 21:41:17 2007 +0100 [PATCH] EFI x86: pass firmware call parameters on the stack When calling into the EFI firmware, the parameters need to be passed on the stack. The recent change to use -mregparm=3 breaks x86 EFI support. This patch is needed to allow the new Intel-based Macs to suspend to ram (efi.get_time is called during the suspend phase). Signed-off-by: Frederic Riss Signed-off-by: Linus Torvalds commit 886ae1fa1380309d91cdb7e67bd4bf71e053c1d5 Author: Al Viro Date: Sun Feb 4 03:02:17 2007 +0000 [PATCH] fix rtl8150 That code doesn't do what its author apparently thought it would do... Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 259886a7c4e4eb0089181e800d1f477cb3786875 Author: Jeff Garzik Date: Sat Feb 3 01:14:03 2007 -0800 [PATCH] x86-64: define dma noncoherent API functions x86-64 is missing these: Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72253943f7281fc5c6249d9cafd63e7de3266fe9 Author: John Keller Date: Sat Feb 3 01:14:02 2007 -0800 [PATCH] Altix: more ACPI PRT support The SN Altix platform does not conform to the IOSAPIC IRQ routing model. Add code in acpi_unregister_gsi() to check if (acpi_irq_model == ACPI_IRQ_MODEL_PLATFORM) and return. Due to an oversight, this code was not added previously when similar code was added to acpi_register_gsi(). http://marc.theaimsgroup.com/?l=linux-acpi&m=116680983430121&w=2 Signed-off-by: John Keller Acked-by: Len Brown Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2e895dbd80c420bfc0937c3729b4afe073b3848 Author: Andrew Morton Date: Sat Feb 3 01:14:01 2007 -0800 [PATCH] revert blockdev direct io back to 2.6.19 version Andrew Vasquez is reporting as-iosched oopses and a 65% throughput slowdown due to the recent special-casing of direct-io against blockdevs. We don't know why either of these things are occurring. The patch minimally reverts us back to the 2.6.19 code for a 2.6.20 release. Cc: Andrew Vasquez Cc: Ken Chen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8560a10e16faccafdc2e26c4873bf4edfbbf651e Author: Mike Frysinger Date: Sat Feb 3 01:13:55 2007 -0800 [PATCH] alpha: fix epoll syscall enumerations We went and named them __NR_sys_foo instead of __NR_foo. It may be too late to change this, but we can at least add the proper names now. Signed-off-by: Mike Frysinger Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24d8f6aded45aca87dec6d9c037b75b189e3d731 Author: Peter Korsgaard Date: Sat Feb 3 01:13:50 2007 -0800 [PATCH] net/smc911x: match up spin lock/unlock smc911x_phy_configure's error handling unconditionally unlocks the spinlock even if it wasn't locked. Patch fixes it. Signed-off-by: Peter Korsgaard Cc: Jeff Garzik Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29a002776ba5ef170446910b1f93c480cdd43706 Author: Magnus Damm Date: Sat Feb 3 01:13:48 2007 -0800 [PATCH] kexec: Avoid migration of already disabled irqs (ia64) This patch fixes up ia64 kexec support for HP rx2620 hardware. It does this by skipping migration of already disabled irqs. This is most likely a problem on other ia64 platforms as well, but I've only been able to reproduce it on one machine so far. The full story is that handle_bad_irq() gets invoked before starting the new kernel without this patch. This seems to happen when fixup_irqs() calls generic_handle_irq() on already migrated (and disabled) irqs. So by avoiding migration of disabled irqs we stay away of handle_bad_irq(). The code has been tested on three different ia64 machines, all with good results. It is possible to trigger the same bug by offlining a processor using echo 0 > /sys/devices/system/cpu/cpuX/online. More detailed information is available in the following mail thread: http://lists.osdl.org/pipermail/fastboot/2007-January/thread.html#5774 Signed-off-by: Magnus Damm Acked-by: Simon Horman Acked-by: Zou, Nanhai Acked-by: Jay Lan Acked-by: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dee11c2364f51cac53df17d742a0c69097e29a4e Author: Ken Chen Date: Sat Feb 3 01:13:45 2007 -0800 [PATCH] aio: fix buggy put_ioctx call in aio_complete - v2 An AIO bug was reported that sleeping function is being called in softirq context: BUG: warning at kernel/mutex.c:132/__mutex_lock_common() Call Trace: [] __mutex_lock_slowpath+0x640/0x6c0 [] mutex_lock+0x20/0x40 [] flush_workqueue+0xb0/0x1a0 [] __put_ioctx+0xc0/0x240 [] aio_complete+0x2f0/0x420 [] finished_one_bio+0x200/0x2a0 [] dio_bio_complete+0x1c0/0x200 [] dio_bio_end_aio+0x60/0x80 [] bio_endio+0x110/0x1c0 [] __end_that_request_first+0x180/0xba0 [] end_that_request_chunk+0x30/0x60 [] scsi_end_request+0x50/0x300 [scsi_mod] [] scsi_io_completion+0x200/0x8a0 [scsi_mod] [] sd_rw_intr+0x330/0x860 [sd_mod] [] scsi_finish_command+0x100/0x1c0 [scsi_mod] [] scsi_softirq_done+0x230/0x300 [scsi_mod] [] blk_done_softirq+0x160/0x1c0 [] __do_softirq+0x200/0x240 [] do_softirq+0x70/0xc0 See report: http://marc.theaimsgroup.com/?l=linux-kernel&m=116599593200888&w=2 flush_workqueue() is not allowed to be called in the softirq context. However, aio_complete() called from I/O interrupt can potentially call put_ioctx with last ref count on ioctx and triggers bug. It is simply incorrect to perform ioctx freeing from aio_complete. The bug is trigger-able from a race between io_destroy() and aio_complete(). A possible scenario: cpu0 cpu1 io_destroy aio_complete wait_for_all_aios { __aio_put_req ... ctx->reqs_active--; if (!ctx->reqs_active) return; } ... put_ioctx(ioctx) put_ioctx(ctx); __put_ioctx bam! Bug trigger! The real problem is that the condition check of ctx->reqs_active in wait_for_all_aios() is incorrect that access to reqs_active is not being properly protected by spin lock. This patch adds that protective spin lock, and at the same time removes all duplicate ref counting for each kiocb as reqs_active is already used as a ref count for each active ioctx. This also ensures that buggy call to flush_workqueue() in softirq context is eliminated. Signed-off-by: "Ken Chen" Cc: Zach Brown Cc: Suparna Bhattacharya Cc: Benjamin LaHaise Cc: Badari Pulavarty Cc: Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e8219806c33b64a00b0013f96f735451f30c64c Author: Adrian Bunk Date: Fri Feb 2 19:33:52 2007 -0800 [NETFILTER]: nf_conntrack_h323: fix compile error with CONFIG_IPV6=m, CONFIG_NF_CONNTRACK_H323=y Fix this by letting NF_CONNTRACK_H323 depend on (IPV6 || IPV6=n). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 40e0cb004a6d4a7ad577724e451e8dbd6cba5a89 Author: Patrick McHardy Date: Fri Feb 2 19:33:11 2007 -0800 [NETFILTER]: ctnetlink: fix compile failure with NF_CONNTRACK_MARK=n CC net/netfilter/nf_conntrack_netlink.o net/netfilter/nf_conntrack_netlink.c: In function 'ctnetlink_conntrack_event': net/netfilter/nf_conntrack_netlink.c:392: error: 'struct nf_conn' has no member named 'mark' make[3]: *** [net/netfilter/nf_conntrack_netlink.o] Error 1 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 017f2e37ae19ccd28e5edd965741fc374194c5dd Author: Nagendra Singh Tomar Date: Fri Feb 2 17:34:56 2007 +0530 [SCSI] sd: udev accessing an uninitialized scsi_disk field results in a crash sd_probe() calls class_device_add() even before initializing the sdkp->device variable. class_device_add() eventually results in the user mode udev program to be called. udev program can read the the allow_restart attribute of the newly created scsi device. This is resulting in a crash as the show function for allow_restart (i.e sd_show_allow_restart) returns the attribute value by reading the sdkp->device->allow_restart variable. As the sdkp->device is not initialized before calling the user mode hotplug helper, this results in a crash. The patch below solves it by calling class_device_add() only after the necessary fields in the scsi_disk structure are initialized properly. Signed-off-by: Nagendra Singh Tomar Signed-off-by: James Bottomley commit 49c8042996c84f0df6c49ea2e28a7ef38cd7d773 Author: Brian King Date: Tue Jan 30 11:32:26 2007 -0600 libata: Initialize nbytes for internal sg commands Some LLDDs, like ipr, use nbytes and pad_len to determine the total data transfer length of a command. Make sure nbytes gets initialized for internally generated commands. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 0777721c9b270f087bf967369c9acbee3f1a12ae Author: Alan Date: Wed Jan 31 17:47:24 2007 +0000 libata: Fix ata_busy_wait() kernel docs > Looks like you should use ata_busy_wait() here, rather than reproducing > the same code again. It waits in 10uS chunks while 1uS chunks were used in the workaround. Could indeed do that once I know the fix is right. While I'm at it the ata_busy_wait kerneldoc is borked so here's a fix Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 05c39e502e964ae66336ca8e6960b200cff26f94 Author: Alan Date: Wed Jan 31 17:14:38 2007 +0000 pata_via: Correct missing comments The 8237S was added to the chipsets but not to the comments. Fix this Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 54494f3a8339baad5e8f9d9b87d3ea6a3aa4f540 Author: Alan Date: Wed Jan 31 17:10:46 2007 +0000 pata_atiixp: propogate cable detection hack from drivers/ide to the new driver Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 77280989673ee1ef736a92617f52e2be45651833 Author: Tejun Heo Date: Fri Feb 2 14:51:09 2007 +0900 ahci/pata_jmicron: fix JMicron quirk For all JMicrons except for 361 and 368, AHCI mode enable bits in the Control(1) should be set. This used to be done in both ahci and pata_jmicron but while moving programming to PCI quirk, it was removed from ahci part while still left in pata_jmicron. The implemented JMicron PCI quirk was incorrect in that it didn't program AHCI mode enable bits. If pata_jmicron is loaded first and programs those bits, the ahci ports work; otherwise, ahci device detection fails miserably. This patch makes JMicron PCI quirk clear SATA IDE mode bits and set AHCI mode bits and remove the respective part from pata_jmicron. Tested on JMB361, 363 and 368. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 719d96991ac8d96ea318c6d56500e7ed690a4ac0 Author: Evgeniy Dushistov Date: Fri Feb 2 11:36:34 2007 +0300 [PATCH] MAINTAINERS: ufs entry Mark ufs file system as maintainable, and add me as maintainer, to help people find appropriate person to assign bugs. Signed-off-by: Evgeniy Dushistov Signed-off-by: Linus Torvalds commit 435f8a605d3b56bb96212f4d70b62ecbd0629340 Author: Linus Torvalds Date: Fri Feb 2 08:07:42 2007 -0800 Revert "[PATCH] fix typo in geode_configre()@cyrix.c" This reverts commit e4f0ae0ea63caceff37a13f281a72652b7ea71ba. It's not wrong, but it's not right either, and everybody seems to agree that the right fix is probably to do the ccr3 write after the ccr4 one (and that we also should clean it up a bit). And after that we need to really validate that all the bits that we write to ccr4 actually do work. The old 2.6.19 code was insane, and basically didn't change ccr4 at all (even though it certainly looks like it was the *intent* to do so). So let's revert the change that may fix things, just because it's not what was actually ever tested when the code was written, even if it _was_ the intent. There's a discussion on http://lkml.org/lkml/2007/1/9/63 that was started by the patch that now gets reverted, and that discussion may well contain the proper long-term fix. Suggested-by: Adrian Bunk Acked-by: Andrew Morton Signed-off-by: Linus Torvalds commit a55eb05a57a981f16325d035ee3a3ad10485ea0d Author: Jens Osterkamp Date: Thu Feb 1 12:07:47 2007 +0100 spidernet : fix memory leak in spider_net_stop We forget to call spider_net_free_rx_chain_contents which does the actual dev_kfree_skb. New skbs are allocated from skbuff_head_cache on each "ifconfig up" letting the cache grow infinitely. This patch fixes it. Signed-off-by: Jens Osterkamp Signed-off-by: Jeff Garzik commit a53a33da864a81a238ee84055c8ced775ee25350 Author: Auke Kok Date: Wed Jan 31 11:02:46 2007 -0800 e100: fix napi ifdefs removing needed code e100: fix napi ifdefs removing needed code From: Auke Kok The e100 driver is NAPI mode only. We need to netif_poll_disable during suspend and shutdown. The non-NAPI driver code was removed and is only avaiable in the out-of-tree e100 kernel driver. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit b659f44e4e144bae02c5beaba78a37db60783ba2 Author: Michael Chan Date: Fri Feb 2 00:46:35 2007 -0800 [BNX2]: PHY workaround for 5709 A0. 5709 A0 copper devices will not link up with some link partners without this workaround. Update driver to 1.5.5. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 239a87c87660d3b97a467a661eec927f0dfa9891 Author: Patrick McHardy Date: Fri Feb 2 00:40:36 2007 -0800 [NET_SCHED]: act_ipt: fix regression in ipt action The x_tables patch broke target module autoloading in the ipt action by replacing the ipt_find_target call (which does autoloading) by xt_find_target (which doesn't do autoloading). Additionally xt_find_target may return ERR_PTR values in case of an error, which are not handled. Use xt_request_find_target, which does both autoloading and ERR_PTR handling properly. Also don't forget to drop the target module reference again when xt_check_target fails. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 51bcf092917bfaa88d762879d0bbfe7619e8c16c Author: Bob Breuer Date: Thu Feb 1 20:24:35 2007 -0800 [SPARC32]: Fix over-optimization by GCC near ip_fast_csum. In some cases such as: iph->check = 0; iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); GCC may optimize out the previous store. Observed as a failure of NFS over udp (bad checksums on ip fragments) when compiled with GCC 3.4.2. Signed-off-by: Bob Breuer Signed-off-by: David S. Miller commit e34efe3b100d0fbdf053128956c3dd0bc68754d6 Author: Haavard Skinnemoen Date: Thu Feb 1 16:49:31 2007 +0100 [PATCH] Remove avr32@atmel.com from MAINTAINERS avr32@atmel.com is a technical support address and is not really appropriate for sending patches. Lots of annoying automatics getting in the way. I'm still the maintainer of all the entries touched by this patch, so nothing changes with regard to the "Supported" status of the AVR32 architecture or the macb driver. Signed-off-by: Haavard Skinnemoen Signed-off-by: Linus Torvalds commit fb594d31aa2d133ea89d4ead964c51262b331407 Author: Bartlomiej Zolnierkiewicz Date: Thu Feb 1 14:12:27 2007 +0100 [PATCH] via82cxxx: fix typo ("cx7000" should be corrected to "cx700") Noticed by JosephChan@via.com.tw. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds commit d346cce308f7fc99c7ffdb62060ed404fa340a1c Author: Randy Dunlap Date: Wed Jan 31 23:48:17 2007 -0800 [PATCH] sysrq: showBlockedTasks is sysrq-W Change SysRq showBlockedTasks from sysrq-X to sysrq-W and show that in the Help message. It was previously done via X, but X is already used for Xmon on ppc & powerpc platforms and this collision needs to be avoided. All callers of register_sysrq_key() are now marked in the sysrq op/key table. I didn't mark 'h' as Help because Help is just printed for any unknown key, such as '?'. Added some omitted sysrq key entries in the sysrq.txt file. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d8952440f4090522b740257f1c6b2cf96413969 Author: Guillaume Chazarain Date: Wed Jan 31 23:48:14 2007 -0800 [PATCH] procfs: Fix listing of /proc/NOT_A_TGID/task Listing /proc/PID/task were PID is not a TGID should not result in duplicated entries. [g ~]$ pidof thunderbird-bin 2751 [g ~]$ ls /proc/2751/task 2751 2770 2771 2824 2826 2834 2835 2851 2853 [g ~]$ ls /proc/2770/task 2751 2770 2771 2824 2826 2834 2835 2851 2853 2770 2771 2824 2826 2834 2835 2851 2853 [g ~]$ Signed-off-by: Guillaume Chazarain Acked-by: "Eric W. Biederman" Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 432bd6cbf9f016f5480153b1cdfbd046f8d4fb1e Author: Avi Kivity Date: Wed Jan 31 23:48:13 2007 -0800 [PATCH] KVM: fix lockup on 32-bit intel hosts with nx disabled in the bios Intel hosts, without long mode, and with nx support disabled in the bios have an efer that is readable but not writable. This causes a lockup on switch to guest mode (even though it should exit with reason 34 according to the documentation). Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a4c24ec52128c1f57b7d2d24cf4dd13fc23f474 Author: Andrew Morton Date: Wed Jan 31 23:48:13 2007 -0800 [PATCH] pci: remove warning messages Remove these recently-added warnings. They don't tell us anythng very interesting and Kumar says "On an embedded PPC reference system I see this message 6 times when I've got no cards in the PCI slots." Acked-by: Kumar Gala Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb7468ef4cce8f240604b80b82ac157fa9930e94 Author: Jean Delvare Date: Wed Jan 31 23:48:12 2007 -0800 [PATCH] via quirk update Add special handling for the VT82C686. Signed-off-by: Jean Delvare Cc: Alan Cox Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04add672cf98a788e9e0d753b2ccfa4a3a0caf56 Author: Al Viro Date: Thu Feb 1 13:53:04 2007 +0000 [PATCH] uml-i386: fix build breakage with CONFIG_HIGHMEM missing helper used by arch/i386/mm/highmem.c, which is pulled into build on that configuration. Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Linus Torvalds commit 9d6ed92196f7acdd1052b0828bb1e2f1a7241815 Author: Al Viro Date: Thu Feb 1 13:52:59 2007 +0000 [PATCH] radio modems sitting on serial port are not for s390 Won't build (request_irq()/free_irq()), even if you manage to find an s390 box with 8250-compatible UART they are expecting. Signed-off-by: Al Viro Acked-by: Martin Schwidefsky Signed-off-by: Linus Torvalds commit b4cff8464b12b71fd6573c9b9dd762d2d390ef6c Author: Al Viro Date: Thu Feb 1 13:52:33 2007 +0000 [PATCH] sanitize sections for sparc32 smp a) sun4d_boot_one_cpu() should be __cpuinit (called only from __cpuinit __cpu_up(), for one thing, leads to calls of __cpuinit functions for another). b) got externs in arch/sparc/kernel/smp.c to match reality. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 472ba91dd9ce76b586d4d513f7e3448330eec7eb Author: Al Viro Date: Thu Feb 1 13:52:54 2007 +0000 [PATCH] efi_set_rtc_mmss() is not __init fix the extern in efi.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 2a3d4f1f1f839e354ebd7d40b2d5d8ac8481a930 Author: Al Viro Date: Thu Feb 1 13:52:23 2007 +0000 [PATCH] __crc_... is intended to be absolute i386 boot/compressed/relocs checks for absolute symbols and warns about unexpected ones. If you build with modversions, you get ~2500 warnings about __crc_. These suckers are really absolute symbols - we do _not_ want to modify them on relocation. They are generated by genksyms - EXPORT_... generates a weak alias, then genksyms produces an ld script with __crc_ = and it's fed to ld to produce the final object file. Their only use is to match kernel and module at modprobe time; they _must_ be absolute. boot/compressed/relocs has a whitelist of known absolute symbols, but it doesn't know about __crc_... stuff. As the result, we get shitloads of false positives on any ld(1) version. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 9abcf40b1d1443e6f0ef86e6a822193142a34abc Author: Al Viro Date: Thu Feb 1 13:52:48 2007 +0000 [PATCH] fork_idle() should be __cpuinit, not __devinit Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit fc2dd2e51a1940acac665696e6a70a1a73dc90a4 Author: Al Viro Date: Thu Feb 1 13:52:43 2007 +0000 [PATCH] endianness bug: ntohl() misspelled as >> 24 in fh_verify(). Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit eb7972271720bfc64dc8bacc5b15f874c0bcc859 Author: Al Viro Date: Thu Feb 1 13:52:38 2007 +0000 [PATCH] ide section fixes a) cleanup_module() should be __exit b) externs should match reality Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit aaba6d4bf6f2a52a0c30ad1da4374ba24bd7163b Author: Al Viro Date: Thu Feb 1 13:52:28 2007 +0000 [PATCH] mca_nmi_hook() can be called at any point ... and having it __init is a bad idea. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e7bc537db9e13adee1f294aa370f16d80f40b73d Author: Al Viro Date: Thu Feb 1 13:08:45 2007 +0000 [PATCH] fix frv headers_check a) registers.h is really needed there b) include of asm-generic/termios should be under __KERNEL__ c) includes of asm-generic/{memory_model,page} should be under __KERNEL (nothing in there that would work in userland) d) a lot of stuff in ptrace.h should be under __KERNEL__. Signed-off-by: Al Viro Acked-by: David Howells Signed-off-by: Linus Torvalds commit 6fd6b17c6d9713f56b5f20903ec3e00fa6cc435e Author: Linus Torvalds Date: Wed Jan 31 16:43:36 2007 -0800 Revert "[PATCH] mm: micro optimise zone_watermark_ok" This reverts commit e80ee884ae0e3794ef2b65a18a767d502ad712ee. Pawel Sikora had a boot-time oops due to it - because the sign change invalidates the following comparisons, since 'free_pages' can be negative. The micro-optimization just isn't worth it. Bisected-by: Pawel Sikora Acked-by: Andrew Morton Cc: Nick Piggin Signed-off-by: Linus Torvalds commit a608ab9cb6a5050394498b2520c6e7c162f4e2cf Author: Al Viro Date: Tue Jan 2 10:39:10 2007 +0000 netxen patches Have fun. >From 24f4a1a77431575a9cdfaae25adda85842099f70 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Mon, 1 Jan 2007 15:22:56 -0500 Subject: [PATCH] netxen trivial annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 2e5530236645a042e1481aa19879b819c3e8f5c9 Author: Patrick McHardy Date: Tue Jan 30 21:36:09 2007 -0800 [NETFILTER]: xt_hashlimit: fix ip6tables dependency IP6_NF_IPTABLES=m, CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y results in a linker error since ipv6_find_hdr is defined in ip6_tables.c. Fix similar to Adrian Bunk's H.323 conntrack patch: selecting ip6_tables to be build as module requires hashlimit to be built as module as well. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f56df2f4db6e4af87fb8e941cff69f4501a111df Author: Linus Torvalds Date: Tue Jan 30 19:42:57 2007 -0800 Linux 2.6.20-rc7 Ok, so I said there wouldn't be another -rc. I lied. Signed-off-by: Linus Torvalds commit 41c57a87183a7c458d86f78966d69d4bf18ea0b7 Author: David Barksdale Date: Tue Jan 30 14:36:25 2007 -0800 [PATCH] IPMI: fix timeout list handling Fix a dangling pointer bug in ipmi_timeout_handler. A list of timedout messages is not re-initialized before reuse, causing the head of the list to point to freed memory. Signed-off-by: David Barksdale Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fa8609da993b04dc2dd762173a6d0ab1a192e256 Author: Andrew Morton Date: Tue Jan 30 14:36:24 2007 -0800 [PATCH] ntfs: kmap_atomic() atomicity fix The KM_BIO_SRC_IRQ kmap slot requires local irq protection. Acked-by: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3896625d0badd53dbc34d584861a36ba7eb4613f Author: Jeff Dike Date: Tue Jan 30 14:36:17 2007 -0800 [PATCH] uml: fix signal frame alignment Use the same signal frame alignment calculations as the underlying architecture. x86_64 appeared to do this, but the "- 8" was really subtracting 8 * sizeof(struct rt_sigframe) rather than 8 bytes. UML/i386 might have been OK, but I changed the calculation to match i386 just to be sure. Signed-off-by: Jeff Dike Cc: Cc: Adrian Bunk Cc: Paolo 'Blaisorblade' Giarrusso Acked-by: Antoine Martin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99abaf51e25f7d4ac2081e5cdc1f01baa0543514 Author: ethanhsiao@jmicron.com Date: Tue Jan 30 14:36:13 2007 -0800 [PATCH] jmicron: 40/80pin primary detection jmicron module detects all JMB36x as JMB361 and PATA0 has wrong pin status of XICBLID. Cc: Jeff Garzik Cc: Alan Cox Cc: Bartlomiej Zolnierkiewicz Cc: Sergei Shtylyov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c06bb5d49d8b240876c7c5019197e6a7bd33bcf7 Author: Jean Delvare Date: Tue Jan 30 14:36:09 2007 -0800 [PATCH] Fix VIA quirks Fix VIA quirks that were recently broken by Alan Cox in the upstream kernel (commit 1597cacbe39802d86656d1f2e6329895bd2ef531). My understanding is that pci_find_present() doesn't work yet at the time the quirks are run. So I used a two-step quirk as is done for some other quirks already. First we detect the VIA south bridges and set the right low and high device limits, then we are ready to actually run the quirks on the affected devices. Signed-off-by: Jean Delvare Acked-by: Alan Cox Acked-by: Nick Piggin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab40c5c6b6861ee71fd97f2611027b01e9ec4da0 Author: Masami Hiramatsu Date: Tue Jan 30 14:36:06 2007 -0800 [PATCH] kprobes: replace magic numbers with enum Replace the magic numbers with an enum, and gets rid of a warning on the specific architectures (ex. powerpc) on which the compiler considers 'char' as 'unsigned char'. Signed-off-by: Masami Hiramatsu Cc: Prasanna S Panchamukhi Cc: Ananth N Mavinakayanahalli Cc: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46bae1a9a767f3ae8e636d96f9b95703df34b398 Author: Neil Brown Date: Tue Jan 30 14:36:01 2007 -0800 [PATCH] Remove warning: VFS is out of sync with lock manager But keep it as a dprintk The message can be generated in a quite normal situation: If a 'lock' request is interrupted, then the lock client needs to record that the server has the lock, incase it does. When we come the unlock, the server might say it doesn't, even though we think it does (or might) and this generates the message. Signed-off-by: Neil Brown Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec268be36e79d99443efc4be3a617d6efc6f719b Author: Mike Frysinger Date: Tue Jan 30 14:35:55 2007 -0800 [PATCH] translate dashes in filenames for headers install The current filename->define translation does not scrub dashes so when creating stub defines for like asm-x86_64/ptrace-abi.h, we get: #define __ASM_STUB_PTRACE-ABI_H gcc just hates that sort of thing :) trivial attached patch adds - to the tr list to scrub it to _ Signed-off-by: Mike Frysinger Cc: David Woodhouse Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d59a01bc461bbab4017ff449b8401151ef44cf6 Author: Adam Litke Date: Tue Jan 30 14:35:39 2007 -0800 [PATCH] Don't allow the stack to grow into hugetlb reserved regions When expanding the stack, we don't currently check if the VMA will cross into an area of the address space that is reserved for hugetlb pages. Subsequent faults on the expanded portion of such a VMA will confuse the low-level MMU code, resulting in an OOPS. Check for this. Signed-off-by: Adam Litke Cc: David Gibson Cc: William Lee Irwin III Cc: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e533ca16f31f9e5abfaf5d8c7dbe7095f01474b6 Author: Vlad Yasevich Date: Tue Jan 30 14:36:14 2007 -0800 [SCTP]: Force update of the rto when processing HB-ACK When processing a HEARTBEAT-ACK it's possible that the transport rto timers will not be updated because a prior T3-RTX processing would have cleared the rto_pending flag on the transport. However, if we received a valid HEARTBEAT-ACK, we want to force update the rto variables, so re-set the rto_pending flag before calling sctp_transport_update_rto(). Signed-off-by: Vlad Yasevich Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 29556526b970c2e7d4ca808b6082c33981adfdff Author: Li Yewang Date: Tue Jan 30 14:33:20 2007 -0800 [IPV6]: fix BUG of ndisc_send_redirect() When I tested IPv6 redirect function about kernel 2.6.19.1, and found that the kernel can send redirect packets whose target address is global address, and the target is not the actual endpoint of communication. But the criteria conform to RFC2461, the target address defines as following: Target Address An IP address that is a better first hop to use for he ICMP Destination Address. When the target is the actual endpoint of communication, i.e., the destination is a neighbor, the Target Address field MUST contain the same value as the ICMP Destination Address field. Otherwise the target is a better first-hop router and the Target Address MUST be the router's link-local address so that hosts can uniquely identify routers. According to this definition, when a router redirect to a host, the target address either the better first-hop router's link-local address or the same as the ICMP destination address field. But the function of ndisc_send_redirect() in net/ipv6/ndisc.c, does not check the target address correctly. There is another definition about receive Redirect message in RFC2461: 8.1. Validation of Redirect Messages A host MUST silently discard any received Redirect message that does not satisfy all of the following validity checks: ...... - The ICMP Target Address is either a link-local address (when redirected to a router) or the same as the ICMP Destination Address (when redirected to the on-link destination). ...... And the receive redirect function of ndisc_redirect_rcv() implemented this definition, checks the target address correctly. if (ipv6_addr_equal(dest, target)) { on_link = 1; } else if (!(ipv6_addr_type(target) & IPV6_ADDR_LINKLOCAL)) { ND_PRINTK2(KERN_WARNING "ICMPv6 Redirect: target address is not link-local.\n"); return; } So, I think the send redirect function must check the target address also. Signed-off-by: Li Yewang Acked-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit fa03ef38e1516c1f35f6a189100186dded0f8f8c Author: Neil Horman Date: Tue Jan 30 14:30:10 2007 -0800 [IPV6]: Fix up some CONFIG typos Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit adcb4711101dfef89d473f64a913089d303962ae Author: Patrick McHardy Date: Tue Jan 30 14:25:24 2007 -0800 [NETFILTER]: SIP conntrack: fix out of bounds memory access When checking for an @-sign in skp_epaddr_len, make sure not to run over the packet boundaries. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7da5bfbb12e327b3a347ee3e076957cd6564eb56 Author: Lars Immisch Date: Tue Jan 30 14:24:57 2007 -0800 [NETFILTER]: SIP conntrack: fix skipping over user info in SIP headers When trying to skip over the username in the Contact header, stop at the end of the line if no @ is found to avoid mangling following headers. We don't need to worry about continuation lines because we search inside a SIP URI. Fixes Netfilter Bugzilla #532. Signed-off-by: Lars Immisch Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fb74a8416022c033e1a950689c264c453f8f98d8 Author: Patrick McHardy Date: Tue Jan 30 14:24:29 2007 -0800 [NETFILTER]: xt_connbytes: fix division by zero When the packet counter of a connection is zero a division by zero occurs in div64_64(). Fix that by using zero as average value, which is correct as long as the packet counter didn't overflow, at which point we have lost anyway. Additionally we're probably going to go back to 64 bit counters in 2.6.21. Based on patch from Jonas Berlin , with suggestions from KOVACS Krisztian . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 24a1dec55073000264f2da6278baef759929a14f Author: Randy Dunlap Date: Sun Jan 28 15:54:42 2007 -0800 [MAINTAINERS]: netfilter@ is subscribers-only netfilter mailing list is subscribers-only. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit bcdddfb66cc998252d34758ce4109cedc0d24a5c Author: Linus Torvalds Date: Tue Jan 30 14:11:12 2007 -0800 Revert "net: ifb error path loop fix" This reverts commit 0c0b3ae68ec93b1db5c637d294647d1cca0df763. Quoth David: "Jeff, please revert It's wrong. We had a lengthy analysis of this piece of code several months ago, and it is correct. Consider, if we run the loop and we get an error the following happens: 1) attempt of ifb_init_one(i) fails, therefore we should not try to "ifb_free_one()" on "i" since it failed 2) the loop iteration first increments "i", then it check for error Therefore we must decrement "i" twice before the first free during the cleanup. One to "undo" the for() loop increment, and one to "skip" the ifb_init_one() case which failed." Reported-by: David Miller Acked-by: Jeff Garzik Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 0f2452855d86901ba3766826ccb5606ea4e15ab9 Author: Serge E. Hallyn Date: Tue Jan 30 15:28:23 2007 -0600 [PATCH] namespaces: fix task exit disaster This is based on a patch by Eric W. Biederman, who pointed out that pid namespaces are still fake, and we only have one ever active. So for the time being, we can modify any code which could access tsk->nsproxy->pid_ns during task exit to just use &init_pid_ns instead, and move the exit_task_namespaces call in do_exit() back above exit_notify(), so that an exiting nfs server has a valid tsk->sighand to work with. Long term, pulling pid_ns out of nsproxy might be the cleanest solution. Signed-off-by: Eric W. Biederman [ Eric's patch fixed to take care of free_pid() too ] Signed-off-by: Serge E. Hallyn Signed-off-by: Linus Torvalds commit 444f378b237a0f728f5c4aba752c08d13c209344 Author: Linus Torvalds Date: Tue Jan 30 13:35:18 2007 -0800 Revert "[PATCH] namespaces: fix exit race by splitting exit" This reverts commit 7a238fcba0629b6f2edbcd37458bae56fcf36be5 in preparation for a better and simpler fix proposed by Eric Biederman (and fixed up by Serge Hallyn) Acked-by: Serge E. Hallyn Signed-off-by: Linus Torvalds commit b20c8453a7d6e8d63c0f05ba3e38d9428c8091b1 Author: Al Viro Date: Tue Jan 30 13:23:40 2007 +0000 [PATCH] fix indentation-related breakage in Kconfig.i386 Kconfig recognizes the end of help text by receding indentation depth. Recent patch had broken HOST_VMSPLIT_... choice in arch/um/Kconfig.i386 - all alternatives are interpreted as part of help text now. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 774ba59c950926abd27421fa146f1916de89e6f6 Author: Al Viro Date: Tue Jan 30 13:23:50 2007 +0000 [PATCH] b44: src_desc->addr is little-endian Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 6a13f66043cd755fc7e19f8e0fbb5bfcdf470e74 Author: Al Viro Date: Tue Jan 30 13:24:00 2007 +0000 [PATCH] dma-mapping.h stubs fix do { } while(0) is not a good imitation of function returning void; use ((void)0) instead. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit d0a23398eeaa374eb0c0435c5a259ffde77c8af0 Author: Al Viro Date: Tue Jan 30 13:23:55 2007 +0000 [PATCH] missing dma_sync_single_range_for{cpu,device} on alpha no-op as all dma_sync_... there. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 161c888b0b4d28775dfe35274ee90c16a91b4365 Author: Al Viro Date: Tue Jan 30 13:23:45 2007 +0000 [PATCH] pata_platform: fallout from set_mode() change Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 9a696b4f3c5664c2c4815cc8e37256e51a3425e1 Author: Al Viro Date: Tue Jan 30 13:23:35 2007 +0000 [PATCH] sym53c500_cs: remove bogus call fo free_dma() What DMA for 16bit pcmcia card, anyway? We never do request_dma() there and ->dma_channel never changes since initialization to -1. IOW, that call is dead code. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit a12743026ceb34388b9b983801ba99240cb0a199 Author: Al Viro Date: Tue Jan 30 13:23:30 2007 +0000 [PATCH] mtd/nand/cafe.c missing include of dma-mapping.h Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 89eb1693f975eddafd475782ee857d98f411d10d Author: Al Viro Date: Tue Jan 30 13:23:25 2007 +0000 [PATCH] missing exports of pm_power_off() on alpha and sparc32 Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 701dfbc1cbdd42b814dd76a885c4b73f97011d08 Author: Hugh Dickins Date: Mon Jan 29 21:24:08 2007 +0000 [PATCH] mm: mremap correct rmap accounting Nick Piggin points out that page accounting on MIPS multiple ZERO_PAGEs is not maintained by its move_pte, and could lead to freeing a ZERO_PAGE. Instead of complicating that move_pte, just forget the minor optimization when mremapping, and change the one thing which needed it for correctness - filemap_xip use ZERO_PAGE(0) throughout instead of according to address. [ "There is no block device driver one could use for XIP on mips platforms" - Carsten Otte ] Signed-off-by: Hugh Dickins Cc: Nick Piggin Cc: Andrew Morton Cc: Ralf Baechle Cc: Carsten Otte Signed-off-by: Linus Torvalds commit 8339f0008c47cdd921c73f6d53d5588b5484f93c Author: Eric W. Biederman Date: Mon Jan 29 13:19:05 2007 -0700 [PATCH] i386: In assign_irq_vector look at all vectors before giving up When the world was a simple and static place setting up irqs was easy. It sufficed to allocate a linux irq number and a find a free cpu vector we could receive that linux irq on. In those days it was a safe assumption that any allocated vector was actually in use so after one global pass through all of the vectors we would have none left. These days things are much more dynamic with interrupt controllers (in the form of MSI or MSI-X) appearing on plug in cards and linux irqs appearing and disappearing. As these irqs come and go vectors are allocated and freed, invalidating the ancient assumption that all allocated vectors stayed in use forever. So this patch modifies the vector allocator to walk through every possible vector before giving up, and to check to see if a vector is in use before assigning it. With these changes we stop leaking freed vectors and it becomes possible to allocate and free irq vectors all day long. This changed was modeled after the vector allocator on x86_64 where this limitation has already been removed. In essence we don't update the static variables that hold the position of the last vector we allocated until have successfully allocated another vector. This allows us to detect if we have completed one complete scan through all of the possible vectors. Acked-by: Auke Kok Signed-off-by: Eric W. Biederman Signed-off-by: Linus Torvalds commit 59df3230fc57fa8900bebf3d2d68221d549f3c7c Author: Geert Uytterhoeven Date: Mon Jan 29 13:47:01 2007 +0100 [PATCH] `make help' in build tree doesn't show headers_* targets `make help' in the build tree doesn't show the help texts about the `headers_install' and `headers_check' targets because it looks for include/asm-$(ARCH)/Kbuild in the wrong place. Add the missing `$(srctree)' prefixes to fix this. Also move the printing of the default install path for the headers inside the `if/fi', where it belongs. Signed-off-by: Geert Uytterhoeven Acked-by: Oleg Verych Signed-off-by: Linus Torvalds commit 3d8b3036f5260b366ec0982aa2f862d841d058c2 Author: Jan Engelhardt Date: Mon Jan 29 13:19:56 2007 -0800 [PATCH] cdev.h: forward declarations Apparently this broke due to missing `struct inode' declaration. Signed-off-by: Jan Engelhardt Cc: Noah Watkins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efee2b812645d10824bf6cb247789910bcb66881 Author: Evgeniy Dushistov Date: Mon Jan 29 13:19:56 2007 -0800 [PATCH] ufs: reallocation fix In blocks reallocation function sometimes does not update some of buffer_head::b_blocknr, which may and cause data damage. Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8682164a66325cab07620082eb7f413b547f4b4a Author: Evgeniy Dushistov Date: Mon Jan 29 13:19:55 2007 -0800 [PATCH] ufs: truncate negative to unsigned fix During ufs_trunc_direct which is subroutine of ufs::truncate, we try the first of all free parts of block and then whole blocks. But we calculate size of block's part to free in the wrong way. This may cause bad update of used blocks and fragments statistic, and you can got report that you have free 32T on 1Gb partition. Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a685e26fff387db350966f88eaad515bf41c4705 Author: Evgeniy Dushistov Date: Mon Jan 29 13:19:54 2007 -0800 [PATCH] ufs: alloc metadata null page fix These series of patches result of UFS1 write support stress testing, like running fsx-linux, untar and build linux kernel etc We pass from ufs::get_block_t to levels below: pointer to the current page, to make possible things like reallocation of blocks on the fly, and we also uses this pointer for indication, what actually we allocate data block or meta data block, but currently we make decision about what we allocate on the wrong level, this may and cause oops if we allocate blocks in some special order. Signed-off-by: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff79544754631cf3d237ff47b7d0e7ab2d211fcf Author: Miklos Szeredi Date: Mon Jan 29 13:19:54 2007 -0800 [PATCH] fuse: fix bug in control filesystem mount The BUG in fuse_ctl_add_dentry() could be triggered if the control filesystem was unmounted and mounted again while one or more fuse filesystems were present. The fix is to reset the dentry counter in fuse_ctl_kill_sb(). Bug reported by Florent Mertens. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 436d1654b341e55a73cada13cce3142b619f23bb Author: Mike Frysinger Date: Mon Jan 29 13:19:53 2007 -0800 [PATCH] use __u8 rather than u8 in userspace SIZE defines in hdreg.h Use __u8 rather than u8 in SIZE defines exported to userspace. Signed-off-by: Mike Frysinger Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34e9a63b4f3e169b583f6ba2e26356ecbf932fba Author: NeilBrown Date: Mon Jan 29 13:19:52 2007 -0800 [PATCH] knfsd: ratelimit some nfsd messages that are triggered by external events Also remove {NFSD,RPC}_PARANOIA as having the defines doesn't really add anything. The printks covered by RPC_PARANOIA were triggered by badly formatted packets and so should be ratelimited. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d019bcf0eb9a55c51f1c57659f923d356b4675e1 Author: Adrian Bunk Date: Mon Jan 29 13:19:51 2007 -0800 [PATCH] fs/lockd/clntlock.c: add missing newlines to dprintk's This patch adds missing newlines to dprintk's. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0f7b67ae470f3afed3f03d017fd1c29fd1b58b8 Author: Andrew Morton Date: Mon Jan 29 13:19:50 2007 -0800 [PATCH] m68k: uaccess.h needs sched.h In file included from include/linux/crypto.h:26, from crypto/cipher.c:17: include/linux/uaccess.h: In function 'pagefault_disable': include/linux/uaccess.h:18: error: dereferencing pointer to incomplete type include/linux/uaccess.h: In function 'pagefault_enable': include/linux/uaccess.h:33: error: dereferencing pointer to incomplete type video_buf need PCI. Acked-by: Geert Uytterhoeven Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49b14f24cc5aa962446515c9df501192eda99bd4 Author: Robert P. J. Day Date: Mon Jan 29 13:19:50 2007 -0800 [PATCH] Fix "CONFIG_X86_64_" typo in drivers/kvm/svm.c Fix what looks like an obvious typo in the file drivers/kvm/svm.c. Signed-off-by: Robert P. J. Day Acked-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04611f98ce34f8911740ccd7e2bf0c22f818f622 Author: Mike Frysinger Date: Mon Jan 29 13:19:49 2007 -0800 [PATCH] use __u8/__u32 in userspace ioctl defines for I2O Make sure exported I2O ioctls utilize userspace safe types. Signed-off-by: Mike Frysinger Cc: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88f6cd0c3bb5db2619103f834d4167b7d0d9899c Author: Johannes Stezenbach Date: Mon Jan 29 13:19:44 2007 -0800 [PATCH] uml: fix mknod Fix UML hostfs mknod(): userspace has differernt dev_t size and encoding than kernel, so extract major/minor and reencode using glibc makedev() macro. Signed-off-by: Johannes Stezenbach Acked-by: Paolo 'Blaisorblade' Giarrusso Cc: Jeff Dike Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a238fcba0629b6f2edbcd37458bae56fcf36be5 Author: Serge E. Hallyn Date: Mon Jan 29 13:19:40 2007 -0800 [PATCH] namespaces: fix exit race by splitting exit Fix exit race by splitting the nsproxy putting into two pieces. First piece reduces the nsproxy refcount. If we dropped the last reference, then it puts the mnt_ns, and returns the nsproxy as a hint to the caller. Else it returns NULL. The second piece of exiting task namespaces sets tsk->nsproxy to NULL, and drops the references to other namespaces and frees the nsproxy only if an nsproxy was passed in. A little awkward and should probably be reworked, but hopefully it fixes the NFS oops. Signed-off-by: Serge E. Hallyn Cc: Herbert Poetzl Cc: Oleg Nesterov Cc: "Eric W. Biederman" Cc: Cedric Le Goater Cc: Daniel Hokka Zakrisson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90afd0e574a1a739aeb62e30d556ebf0289389e5 Author: Dmitriy Monakhov Date: Sat Jan 27 00:00:03 2007 -0800 Broadcom 4400 resume small fix Some issues in b44_resume(). - Return value of pci_enable_device() was ignored. - If request_irq() has failed we have to just disable device and exit. Signed-off-by: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 00576e93805bd4f2dd2649e354726dee872d1e8a Author: Al Viro Date: Tue Jan 30 13:23:50 2007 +0000 b44: src_desc->addr is little-endian Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 518d83382568964ca9657511140398ebac925ecd Author: Auke Kok Date: Mon Jan 29 14:31:16 2007 -0800 e100: fix irq leak on suspend/resume e100: fix irq leak on suspend/resume From: Frederik Deweerdt The e100_resume() function should be calling netif_device_detach and free_irq. This fixes multiple irq's being allocated after resume. Signed-off-by: Frederik Deweerdt Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit f8a8ccd56d82bd4f4b5c7c2e7eb758c7764d98e1 Author: Andy Gospodarek Date: Mon Jan 29 12:08:38 2007 -0800 bonding: ARP monitoring broken on x86_64 While working with the latest bonding code I noticed a nasty problem that will prevent arp monitoring from always functioning correctly on x86_64 systems. Comparing ints to longs and expecting reliable results on x86_64 is a bad idea. With this patch, arp monitoring works correctly again. Signed-off-by: Andy Gospodarek Cc: "David S. Miller" Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d4150a2731615de5cd4527a23435aaa7396c63c6 Author: Thomas Klein Date: Mon Jan 29 18:44:41 2007 +0100 ehea: Fixed missing tasklet_kill() call NEQ-Tasklet wasn't killed when module is removed. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 9c750b7d14301b710c13247f7cc28abd614d9f5c Author: Thomas Klein Date: Mon Jan 29 18:44:01 2007 +0100 ehea: Fixed wrong jumbo frames status query This patch fixes the wrong query and logging of the per interface jumbo frames enabled/disabled status. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 9e8e83d1ba0b248de34062a61f4f5d378a5dbd53 Author: Andrew Morton Date: Sat Jan 27 00:00:04 2007 -0800 82596 warning fixes drivers/net/82596.c: In function 'i596_start_xmit': drivers/net/82596.c:1069: warning: cast from pointer to integer of different size drivers/net/82596.c: In function 'i82596_probe': drivers/net/82596.c:1249: warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int' Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b1f54ba34f9e036ab515bbac0c01d17300e1c79a Author: Vitaly Bordug Date: Sat Jan 27 00:00:04 2007 -0800 FS_ENET: OF-related fixup for FEC and SCC MAC's Updated direct resource pass with ioremap call, make it grant proper IRQ mapping, stuff incompatible with the new approach were respectively put under #ifndef CONFIG_PPC_MERGE. It is required so that both ppc and powerpc could utilize fs_enet effectively. Signed-off-by: Vitaly Bordug Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0c0b3ae68ec93b1db5c637d294647d1cca0df763 Author: Mariusz Kozlowski Date: Sat Jan 27 00:00:01 2007 -0800 net: ifb error path loop fix On error we should start freeing resources at [i-1] not [i-2]. Signed-off-by: Mariusz Kozlowski Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 5fc7d61aee1a7f7d3448f8fbccaa93371ebeecb0 Author: Michael Chan Date: Fri Jan 26 23:59:57 2007 -0800 b44: Fix frequent link changes This fixes the issue of frequent link changes under heavy traffic reported below: http://bugzilla.kernel.org/show_bug.cgi?id=7696 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=216338 The b44 chip occasionally needs to be reset when ISTAT_ERRORS are encountered. The reset sequence includes a PHY reset that will take many seconds to complete and cause the link to go down and up. By skipping the PHY reset, it will greatly reduce the interruption when ISTAT_ERRORS are encountered. Change the full_reset parameter to reset_kind parameter in b44_init_hw(). This will allow PHY reset to be skipped when ISTAT_ERRORS are encountered. Signed-off-by: Michael Chan Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 78981a7c6c34bddbb90da72cf6ce10953e84aad8 Author: Robert Hancock Date: Tue Jan 30 00:59:18 2007 -0800 libata: fix translation for START STOP UNIT libata's SCSI translation for the SCSI START STOP UNIT command with the START bit clear (i.e. stopping the drive) appears to be incorrect. It sends an ATA STANDBY command with the time period set to 0, which the code comment says means "now", but the ATA standard says this means disable the standby timer, which effectively does nothing. Change this to issue a STANDBY IMMEDIATE command which will actually spin the drive down. The SAT (SCSI/ATA Translation) standard revision 9 concurs with this choice. Signed-off-by: Robert Hancock Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit af068bd1debcc76c1bc265aa01401901bf0067ed Author: David Milburn Date: Tue Jan 30 00:59:15 2007 -0800 libata-scsi: ata_task_ioctl should return ATA registers from sense data User applications using the HDIO_DRIVE_TASK ioctl through libata expect specific ATA registers to be returned to userspace. Verified that ata_task_ioctl correctly returns register values to the smartctl application. Signed-off-by: David Milburn Acked-by: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2ca6611b1fc1f913f5370b3c50a0a35d817491b3 Author: Andrew Morton Date: Tue Jan 30 00:59:14 2007 -0800 pata_platform: set_mode fix drivers/ata/pata_platform.c:85: warning: initialization from incompatible pointer type Cc: Jeff Garzik Cc: Tejun Heo Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7a0f1c8a4b1052da7efc7715e2e557255b632712 Author: Lennert Buytenhek Date: Mon Jan 29 13:28:47 2007 +0100 ata_if_xfermask() word 51 fix If word 53 bit 1 isn't set, the maximum PIO mode is indicated by the upper 8 bits of word 51, not the lower 8 bits. Fixes PIO mode detection on old Compact Flash cards. Signed-off-by: Lennert Buytenhek Signed-off-by: Jeff Garzik commit 5dcade90db19205b9ebb8241a22664560973f81a Author: Sergei Shtylyov Date: Sun Jan 28 21:33:44 2007 +0300 pata_sil680: PIO1 taskfile transfers overclocking fix (repost) Fix PIO mode 1 overclocked taskfile transfers -- probably a typo carried over from drivers/ide/pci/siimage.c where I've found it by documentation check... Signed-off-by: Sergei Shtylyov Signed-off-by: Jeff Garzik commit 76398f9667e8369023ed5f4847fb59e9da8b6968 Author: Jiri Kosina Date: Mon Jan 29 12:44:41 2007 +0100 HID: fix pb_fnmode and move it to generic HID The apple powerbook people are used to switch the pb_fnmode setting at runtime through writing to sysfs, altering the module parameter value. This was broken for them in 2.6.20-rc1 when generic HID layer was introduced, as the pb_fnmode flag was made per-hiddevice, instead of global variable. This patch moves the pb_fnmode module parameter from usbhid module to hid module, but apart from that retains backward compatibility with respect to changing the mode through sysfs. Signed-off-by: Jiri Kosina commit 9616d54fffa4c9ae78136cc6d01209de2d92b75d Author: Robert P. J. Day Date: Thu Jan 25 18:41:35 2007 -0500 [MIPS] Fix typo of "CONFIG_MT_SMP". Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit 1ca5cb5ddd500fdf2096ebe9d4131ee9f1eabf43 Author: Ralf Baechle Date: Thu Jan 25 23:55:17 2007 +0000 [MIPS] Ocelot G: Fix a few misspellings of CONFIG_GALILEO_GT64240_ETH Reported by Robert P. J. Day . Signed-off-by: Ralf Baechle commit bf2326e7525404576ab2bdf890e903ca4a249093 Author: Jan Altenberg Date: Thu Jan 25 16:25:56 2007 +0100 [PATCH] Malta: Fix build if CONFIG_MTD is diabled. Signed-off-by: Jan Altenberg Signed-off-by: Ralf Baechle commit c0d4d573feed199b16094c072e7cb07afb01c598 Author: Mike Christie Date: Mon Jan 29 21:18:38 2007 -0500 [PATCH] Fix SG_IO timeout jiffy conversion Commit 85e04e371b5a321b5df2bc3f8e0099a64fb087d7 cleaned up the timeout conversion, but did it exactly the wrong way. We get msecs from user space, and should convert them into jiffies. Not the other way around. Here is a fix with the overflow check sg.c has added in. This fixes DVD burnign with Nero. Signed-off-by: Mike Christie [ "you'll be wanting a comma there" - Andrew ] Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 87df7241bd547da5d4d4a4e5397866dfe422e439 Author: Nick Piggin Date: Tue Jan 30 14:36:27 2007 +1100 [PATCH] Fix try_to_free_buffer() locking Fix commit ecdfc9787fe527491baefc22dce8b2dbd5b2908d Not to put too fine a point on it, but in a nutshell... __set_page_dirty_buffers() | try_to_free_buffers() ---------------------------+--------------------------- | spin_lock(private_lock); | drop_bufers() | spin_unlock(private_lock); spin_lock(private_lock) | !page_has_buffers() | spin_unlock(private_lock) | SetPageDirty() | | cancel_dirty_page() oops! Signed-off-by: Nick Piggin Acked-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cbf2aa35e1c189db234190fefc6c83b139ef963 Author: Stephen Hemminger Date: Mon Jan 29 16:38:07 2007 -0800 [PATCH] sky2: revert IRQ dance on suspend/resume Let's just backout the IRQ hack, and for those crap machines (like some Sony VAIO's) can just disable MSI with the module parameter. This reverts 44ade178249fe53d055fd92113eaa271e06acddd. Signed-off-by: Stephen Hemminger Cc: Jeff Garzik Cc: Thomas Gleixner Cc: Frédéric Riss Signed-off-by: Linus Torvalds commit dc6e29da9162fa8fa2a9e798569c0f6e87975614 Author: Linus Torvalds Date: Mon Jan 29 16:37:38 2007 -0800 Fix balance_dirty_page() calculations with CONFIG_HIGHMEM This makes balance_dirty_page() always base its calculations on the amount of non-highmem memory in the machine, rather than try to base it on total memory and then falling back on non-highmem memory if the mapping it was writing wasn't highmem capable. This not only fixes a situation where two different writers can have wildly different notions about what is a "balanced" dirty state, but it also means that people with highmem machines don't run into an OOM situation when regular memory fills up with dirty pages. We used to try to handle the latter case by scaling down the dirty_ratio if the machine had a lot of highmem pages in page_writeback_init(), but it wasn't aggressive enough for some situations, and since basing the dirty ratio on highmem memory was broken in the first place, let's just stop doing so. (A variation of this theme fixed Justin Piszcz's OOM problem when copying an 18GB file on a RAID setup). Acked-by: Nick Piggin Cc: Justin Piszcz Cc: Andrew Morton Cc: Neil Brown Cc: Ingo Molnar Cc: Randy Dunlap Cc: Christoph Lameter Cc: Jens Axboe Cc: Peter Zijlstra Cc: Adrian Bunk Signed-off-by: Linus Torvalds commit 7d2aae1e88660cf09be913e9754e45189dc33412 Author: Takashi Iwai Date: Fri Jan 26 12:40:31 2007 +0100 [PATCH] ALSA: Fix sysfs breakage The recent change for a new sysfs tree with card* object breaks the /sys/class/sound tree if CONFIG_SYSFS_DEPRECATED is enabled. The device in each entry doesn't point the correct device object: /sys/class/sound ... |-- pcmC0D0c | |-- dev | |-- device -> ../../../class/sound/card0 | |-- pcm_class | |-- power | | `-- wakeup | |-- subsystem -> ../../../class/sound | `-- uevent Also, this change breaks some drivers (like sound/arm/*) referring card->dev directly to obtain the device object for memory handling. This patch reverts the semantics of card->dev to the former version, which points to a real device object. The card* object is stored in a new card->card_dev field, instead. The device parent is chosen either card->dev or card->card_dev according to CONFIG_SYSFS_DEPRECATED to keep the tree compatibility. Also, card* isn't created if CONFIG_SYSFS_DEPRECATED is enabled. The reason of card* object is a root of all beloing devices, and it makes little sense if each sound device points to the real device object directly. Signed-off-by: Takashi Iwai Acked-by: Monty Montgomery Signed-off-by: Greg Kroah-Hartman commit b9d1902cd281d9b829fb3d6ee9148d28c8c63382 Author: Ben Dooks Date: Mon Jan 29 00:11:29 2007 +0100 [ARM] 4117/1: S3C2412: Fix writel() usage in selection code The S3C2412 DMA selection code has the arguments to writel() the wrong way around. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3453c8478a228d9b374956ea99256163f1a0c88c Author: Dave Jones Date: Mon Jan 29 00:07:04 2007 -0500 [CPUFREQ] Remove unneeded errata workaround from p4-clockmod. This workaround unnecessarily cripples functionality to work around an errata that doesn't seem possible to hit due to us using the automatic clock throttling in the p4 mcheck code. See http://lkml.org/lkml/2006/10/28/148 for complete reasoning and lack of disconsent. Signed-off-by: Dave Jones commit 0142f9dce8425da031d72dc3b70ee7161fcaaea2 Author: Ahmed S. Darwish Date: Fri Jan 5 05:44:54 2007 +0200 [CPUFREQ] check sysfs_create_link return value Trivial patch to check sysfs_create_link return values. Fail gracefully if needed. Signed-off-by: Ahmed Darwish Signed-off-by: Dave Jones commit 43ed41f648554c9fecaf7597d25e05da63ec7290 Author: Dave Jones Date: Sun Jan 28 17:58:33 2007 -0500 [AGPGART] Add new IDs to VIA AGP. Culled from the VIA codedrop. Also fixes up one ID used in amd64-agp to use the VIA part number instead of the board name in its ID. Signed-off-by: Dave Jones commit 7707ea3b784195315366e6e4b5c73ca6933ff9b0 Author: Dave Jones Date: Sun Jan 28 17:50:17 2007 -0500 [AGPGART] Remove pointless assignment. No point in clearing local pointers then returning. Also fix up some CodingStyle nits. Signed-off-by: Dave Jones commit 87a17f31a3bc9bf0c7e7493add19ef200e741248 Author: Dave Jones Date: Sun Jan 28 17:41:37 2007 -0500 [AGPGART] Remove pointless typedef in ati-agp This seems to exist just to save people typing 'struct' a few times, and doesn't provide any additional value. Signed-off-by: Dave Jones commit c30efbaeaa9297fb1a35ef952350e0c2bb7a3d47 Author: Dave Jones Date: Sun Jan 28 17:39:19 2007 -0500 [AGPGART] Prevent (unlikely) memory leak in amd_create_gatt_pages() If we fail an alloc, unwind the previous allocs that succeeded. Spotted-by: Alan Grimes Signed-off-by: Dave Jones commit 545da94f924d52f80e2bbea99a8652f454889a2b Author: Benjamin Herrenschmidt Date: Sun Jan 28 07:45:53 2007 +1100 [POWERPC] Fix sys_pciconfig_iobase bus matching A stupid bug has been plaguing the sys_pciconfig_iobase on ppc64. It wasn't noticed until recently as it seems to not affect G5s but it's been causing problems running X servers on some other machines recently. The bus number matching was bogus. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 05916eec9f4d4370ef9a6cbb699f637302f6e157 Author: Geoff Levand Date: Thu Jan 25 18:07:14 2007 -0800 [POWERPC] PS3: add not complete comment to kconfig Add a comment to the PS3 config option to inform users that the current implementation is not yet complete. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 91614c054c9ffc26b47a5cb3135113aa0f6e6ff0 Author: Kai Makisara Date: Fri Jan 26 00:38:39 2007 +0200 [SCSI] st: A MTIOCTOP/MTWEOF within the early warning will cause the file number to be incorrect On Wed, 24 Jan 2007, Andrew Morton wrote: > On Mon, 22 Jan 2007 13:07:20 -0800 > bugme-daemon@bugzilla.kernel.org wrote: > > > http://bugzilla.kernel.org/show_bug.cgi?id=7864 > > > > Summary: A MTIOCTOP/MTWEOF within the early warning will cause > > the file number to be incorrect > > Kernel Version: 2.6.19.2 > > Status: NEW > > Severity: low > > Owner: io_scsi@kernel-bugs.osdl.org > > Submitter: ce_reisinger@yahoo.com > > > > > > Write records to a SCSI tape until a write fails with a ENOSPC (you have reached > > early warning. > > Now perform a: > > struct mtget before, after; > > ioctl(fd, MTIOCGET, &before); > > struct mtop mtop = { MTWEOF, 1 }; > > ioctl(fd, MTIOCTOP, &mtop); > > ioctl(fd, MTIOCGET, &after); > > > > Check the value of mt_fileno in the before and after structures. Notice the > > after is 2 greater then the before. > > > > The problem appears to be in the block of code starting at line 2817 in st.c. > > This block is entered because the drive did return a CHECK CONDITION with NO > > SENSE and the SENSE_EOM bit set. At lines 2824/5 the fileno is incremented. But > > it has already been increased by the number of filemarks requested by the > > MTIOCTOP. I believe that the residue count in the sense data should be > > subtracted from fileno, not a increment as is done. > > > > Thanks. Could you please send us a tested patch to fix these things, as > per http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt ? > The analysis is basically correct and explains the bug. According to the SCSI standards, the sense code is NO SENSE or RECOVERED ERROR in case writing filemark(s) succeeds. If it fails (partly or completely) the sense code is VOLUME OVERFLOW. The patch below is tested to fix the case when one filemark is successfully written after the EOM early warning. It should also fix the case at real EOM but this has not been tested. Carl, thanks for reporting the bug and providing the analysis for the fix. Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit 477ffb9d8732f30e7ab2d20f6ed0c22bad37a4a5 Author: David C Somayajulu Date: Mon Jan 22 12:26:11 2007 -0800 [SCSI] qla4xxx: bug fixes The included patch fixes the following issues: 1. qla3xxx/qla4xxx co-existence issue which can result in a lockup when qla3xxx driver is unloaded, or when ifdown; ifup is performed on one of the interfaces correponding to qla3xxx. This is because qla4xxx HBA supports one ethernet and iscsi interfaces per port. Both iscsi and ethernet interfaces share the same state machine. The problem has to do with synchronizing access to the state machine in the event of a reset 2. mutex_lock() is sometimes not followed by mutex_unlock() prior to invoking a msleep() in qla4xxx_mailbox_command() Signed-off-by: James Bottomley commit 938e2ac0b7ac72d264783b0b548eb6078c295294 Author: Matthew Wilcox Date: Mon Jan 15 18:07:09 2007 -0700 [SCSI] Fix scsi_add_device() for async scanning I had thought that all drivers which didn't call scsi_scan_host() called scsi_scan_target(). Some, such as sbp2, mptsas and libata-scsi, call scsi_add_device() or __scsi_add_device(). We just need to wait for the currently executing async scans to complete first. This is the same code that's in scsi_scan_target(), except that we have to return an error instead of void when we're declining to scan at all. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit e0b874df14052489e6408125903dba96b4dd7baa Author: Josepch Chan Date: Sat Jan 27 13:47:08 2007 +0100 via82cxxx/pata_via: correct PCI_DEVICE_ID_VIA_SATA_EIDE ID and add support for CX700 and 8237S This patch: * Corrects the wrong device ID of PCI_DEVICE_ID_VIA_SATA_EIDE from 0x0581 to 0x5324. * Adds VIA CX700 and VT8237S support in drivers/ide/pci/via82cxxx.c * Adds VIA VT8237S support in drivers/ata/pata_via.c Signed-off-by: Josepch Chan Signed-off-by: Bartlomiej Zolnierkiewicz commit 6855036aa035913bc2bfb31c41576a49f42ecd5f Author: Tejun Heo Date: Sat Jan 27 13:47:02 2007 +0100 ide: unregister idepnp driver on unload idepnp driver is registered as a pnp driver on ide init but doesn't get unregistered on ide unload causing driver list corruption and eventually oops. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 82ab1eeceba6705cd5a8815c48eb03af1dada744 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 27 13:46:56 2007 +0100 ide: add missing __init tags to IDE PCI host drivers also change __devinit tag for sgiioc4.c:ioc4_ide_init() to __init Signed-off-by: Bartlomiej Zolnierkiewicz commit 677c0a78f6bf7aa87c90c4e015e014a17132c634 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 27 13:46:54 2007 +0100 ia64: add pci_get_legacy_ide_irq() Add pci_get_legacy_ide_irq() identical to the one used by i386/x86_64. Fixes amd74xx driver build on ia64 (bugzilla bug #6644). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3e9e4c8606127592cda22159cc2440ea48963ae4 Author: Alan Cox Date: Sat Jan 27 13:46:45 2007 +0100 ide/generic: Jmicron has its own drivers now Drop ide-generic support for Jmicron identifiers as we now trust Jmicron.c for this with drivers/ide. The code check remains for the all-generic-ide case. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit e5c073ff24604d4dbb2fbcedb17da6df768468d3 Author: Conke Hu Date: Sat Jan 27 13:46:40 2007 +0100 atiixp.c: add cable detection support for ATI IDE IDE HDD does not work if it uses a 40-pin PATA cable on ATI chipset. This patch fixes the bug. Signed-off-by: Conke Hu Cc: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit b25168dfdc162b4198fa6395cd191a20dddc6d34 Author: Conke Hu Date: Sat Jan 27 13:46:30 2007 +0100 atiixp.c: sb600 ide only has one channel AMD/ATI SB600 IDE/PATA controller only has one channel. Signed-off-by: Conke Hu Cc: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 737153298023342073ccaa006144dd254b298e2b Author: Conke Hu Date: Sat Jan 27 13:46:28 2007 +0100 atiixp.c: remove unused code A previous patch to atiixp.c was removed but some code has not been cleaned. Now we remove these code sine they are no use any longer. Signed-off-by: Conke Hu Cc: Alan Cox Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit a51545ab2523b9cfd426737495f877821006371a Author: Andrew Morton Date: Sat Jan 27 13:46:21 2007 +0100 jmicron: fix warning Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 1e7106fc7ea6af9c365afe2bfcde57cb1fdd1093 Author: Bartlomiej Zolnierkiewicz Date: Sat Jan 27 13:46:14 2007 +0100 ide: update MAINTAINERS entry Signed-off-by: Bartlomiej Zolnierkiewicz commit 03ee5b1cdd09ed1ee2e75d0bc647fc5db66b9d07 Author: Tejun Heo Date: Fri Jan 26 20:10:25 2007 +0900 libata: fix ata_eh_suspend() return value ata_eh_suspend() was returning 0 regardless of failure. This bug has potential to lose data on suspend. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit a718728f9e40ec79c0879ec6509a54fee214f5b2 Author: Tejun Heo Date: Sat Jan 27 11:04:26 2007 +0900 ahci: port_no should be used when clearing IRQ in ahci_thaw() ap->id is logcial port ID which is unique among all ATA ports and doesn't have anything to do with hardware port index. ap->port_no is the hardware port index and thus should be used when clearing IRQ mask in ahci_thaw(). This problem has been spotted by Jeff Garzik . Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 095b8501e4168ae5a879fcb9420ac48cbd43f95a Author: Robert Olsson Date: Fri Jan 26 19:06:01 2007 -0800 [IPV4]: Fix single-entry /proc/net/fib_trie output. When main table is just a single leaf this gets printed as belonging to the local table in /proc/net/fib_trie. A fix is below. Signed-off-by: Robert Olsson Acked-by: Eric W. Biederman Signed-off-by: David S. Miller commit 342a0cff0ad5fba6b591cfa37db3c65c4d9913f8 Author: Venkat Yekkirala Date: Fri Jan 26 19:03:48 2007 -0800 [SELINUX]: Fix 2.6.20-rc6 build when no xfrm This patch is an incremental fix to the flow_cache_genid patch for selinux that breaks the build of 2.6.20-rc6 when xfrm is not configured. Signed-off-by: Venkat Yekkirala Signed-off-by: David S. Miller commit 86d43258bcad2068744c85181b97bb35ab27a74d Author: David S. Miller Date: Fri Jan 26 18:48:16 2007 -0800 [SPARC64]: Set g4/g5 properly in sun4v dtlb-prot handling. Mirror the logic in the sun4u handler, we have to update both registers even when we branch out to window fault fixup handling. The way it works is that if we are in etrap processing a fault already, g4/g5 holds the original fault information. If we take a window spill fault while doing etrap, then we put the window spill fault info into g4/g5 and this is what the top-level fault handler ends up processing first. Then we retry the originally faulting instruction, and process the original fault at that time. This is all necessary because of how constrained the trap registers are in these code paths. These cases trigger very rarely, so even if there is some performance implication it's doesn't happen very often. In fact the rarity is why it took so long to trigger and find this particular bug. Signed-off-by: David S. Miller commit c229ec5dae58b218cab0bc1b36a7647b0ec4900f Author: H. Peter Anvin Date: Fri Jan 26 09:15:47 2007 -0800 [PATCH] Boot loader ID for Gujin Add an official boot loader ID for Gujin. Signed-off-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit a8a75a20e9a854685ac3e7af2e0e32f9b0be436b Author: Mark Fasheh Date: Fri Jan 26 10:46:59 2007 -0800 [PATCH] ocfs2: fix thinko in ocfs2_backup_super_blkno() Fix a bug which was introduced when I synced up ocfs2_fs.h with ocfs2-tools. We can't do u64/u32 in kernel. Signed-off-by: Mark Fasheh Signed-off-by: Linus Torvalds commit 8cdf92a98fa0f91068615443f2a8597b7f2c34ca Author: David Woodhouse Date: Mon Jan 1 19:31:15 2007 +0000 Fix Maple PATA IRQ assignment. On the Maple board, the AMD8111 IDE is in legacy mode... except that it appears on IRQ 20 instead of IRQ 15. For drivers/ide this was handled by the architecture's "pci_get_legacy_ide_irq()" function, but in libata we just hard-code the numbers 14 and 15. This patch provides asm-powerpc/libata-portmap.h which maps the IRQ as appropriate, having added a pci_dev argument to the ATA_{PRIM,SECOND}ARY_IRQ macros. There's probably a better way to do this -- especially if we observe that the _only_ case in which this seemingly-generic "pci_get_legacy_ide_irq()" function returns anything other than 14 and 15 for primary and secondary respectively is the case of the AMD8111 on the Maple board -- couldn't we handle that with a special case in the pata_amd driver, or perhaps with a PCI quirk for Maple to switch it into native mode during early boot and assign resources properly? Signed-off-by: David Woodhouse Signed-off-by: Jeff Garzik commit dfd7a3db3898e299bdc25f0c77081a8632b3a73c Author: Tejun Heo Date: Fri Jan 26 15:37:20 2007 +0900 ahci: use 0x80 as wait stat value instead of 0xff Before hardreset, ahci initialized stat part of received FIS area to 0xff to wait for the first D2H Reg FIS which would change the value to device ready state. This used to work but now libata considers status value of 0xff as device not present making this wait prone to failure. This patch makes ahci use 0x80 for the wait stat value instead of 0xff to fix the above problem. Signed-off-by: Tejun Heo drivers/ata/ahci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit d02598721706ab62a574823479b1f6c26c8980d2 Author: Tejun Heo Date: Fri Jan 26 14:57:31 2007 +0900 sata_via: style clean up, no indirect method call in LLD Call ata_bmdma_irq_clear() directly instead of through ap->ops->irq_clear() according to libata style guideline. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6096b63e2584796341baf7e7735f98d387f489f2 Author: Tejun Heo Date: Fri Jan 26 14:47:38 2007 +0900 ahci: fix endianness in spurious interrupt message Fix endianness in spurious interrupt message. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 496a0fc8c5572a626de41d56d7c7ed005a2c1b48 Author: Matt Domsch Date: Fri Jan 26 00:57:18 2007 -0800 [PATCH] Fix race in efi variable delete code Fix race when deleting an EFI variable and issuing another EFI command on the same variable. The removal of the variable from the efivars_list should be done in efivar_delete and not delayed until the kobject release. Furthermore, remove the item from the list at module unload time, and use list_for_each_entry_safe() rather than list_for_each_safe() for readability. Tested on ia64. Signed-off-by: Prarit Bhargava Signed-off-by: Matt Domsch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01f2073411e01777e3c6f45a4bf05ea76493f326 Author: Francois Romieu Date: Fri Jan 26 00:57:17 2007 -0800 [PATCH] netdev: add a MAINTAINERS entry for via-velocity and update my address Signed-off-by: Francois Romieu Cc: "David S. Miller" Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fb844961818ce94e782acf6a96b92dc2303553b Author: Alexey Dobriyan Date: Fri Jan 26 00:57:16 2007 -0800 [PATCH] core-dumping unreadable binaries via PT_INTERP Proposed patch to fix #5 in http://www.isec.pl/vulnerabilities/isec-0017-binfmt_elf.txt aka http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-1073 To reproduce, do * grab poc at the end of advisory. * add line "eph.p_memsz = 4096;" after "eph.p_filesz = 4096;" where first "4096" is something equal to or greater than 4096. * ./poc /usr/bin/sudo && ls -l Here I get with 2.6.20-rc5: -rw------- 1 ad ad 102400 2007-01-15 19:17 core ---s--x--x 2 root root 101820 2007-01-15 19:15 /usr/bin/sudo Check for MAY_READ like binfmt_misc.c does. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c20086de9319ac406f1e96ad459763c9f9965b18 Author: NeilBrown Date: Fri Jan 26 00:57:14 2007 -0800 [PATCH] md: remove unnecessary printk when raid5 gets an unaligned read. raid5_mergeable_bvec tries to ensure that raid5 never sees a read request that does not fit within just one chunk. However as we must always accept a single-page read, that is not always possible. So when "in_chunk_boundary" fails, it might be unusual, but it is not a problem and printing a message every time is a bad idea. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe33f6f1525113ab0bae416966209438e7a31987 Author: Jeff Dike Date: Fri Jan 26 00:57:12 2007 -0800 [PATCH] Fix UML on non-standard VM split hosts This fixes UML on hosts with non-standard VM splits. We had changed the config variable that controls UML behavior on such hosts, but not propogated the change everywhere. In particular, the values of STUB_CODE and STUB_DATA relied on the old variable. I also reformatted the HOST_VMSPLIT_3G help to make it more standard. Spotted by uml@flonatel.org. Signed-off-by: Jeff Dike Cc: Blaisorblade Cc: Pravin Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 569d3287c1f2c5d5e9264e89bd2c0f632e7b7dbb Author: Trond Myklebust Date: Fri Jan 26 00:57:11 2007 -0800 [PATCH] MM: Remove [PATCH] invalidate_inode_pages2_range() debug NFS can handle the case where invalidate_inode_pages2_range() fails, so the premise behind commit 8258d4a574d3a8c01f0ef68aa26b969398a0e140 is now gone. Remove the WARN_ON_ONCE() which is causing users grief as we can see from http://bugzilla.kernel.org/show_bug.cgi?id=7826 Signed-off-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2a2275d630b982e5f90206f9bc497f6695a3ec5d Author: NeilBrown Date: Fri Jan 26 00:57:11 2007 -0800 [PATCH] md: fix potential memalloc deadlock in md If a GFP_KERNEL allocation is attempted in md while the mddev_lock is held, it is possible for a deadlock to eventuate. This happens if the array was marked 'clean', and the memalloc triggers a write-out to the md device. For the writeout to succeed, the array must be marked 'dirty', and that requires getting the mddev_lock. So, before attempting a GFP_KERNEL allocation while holding the lock, make sure the array is marked 'dirty' (unless it is currently read-only). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0ad13ef643a5829d63c456ab6143bbda60b44a9 Author: NeilBrown Date: Fri Jan 26 00:57:10 2007 -0800 [PATCH] knfsd: Fix type mismatch with filldir_t used by nfsd nfsd defines a type 'encode_dent_fn' which is much like 'filldir_t' except that the first pointer is 'struct readdir_cd *' rather than 'void *'. It then casts encode_dent_fn points to 'filldir_t' as needed. This hides any other type mismatches between the two such as the fact that the 'ino' arg recently changed from ino_t to u64. So: get rid of 'encode_dent_fn', get rid of the cast of the function type, change the first arg of various functions from 'struct readdir_cd *' to 'void *', and live with the fact that we have a little less type checking on the calling of these functions now. Less internal (to nfsd) checking offset by more external checking, which is more important. Thanks to Gabriel Paubert for discovering this and providing an initial patch. Signed-off-by: Gabriel Paubert Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45f8bde0d0d6deb168b45998c72b4fbeb2f57efb Author: Robert P. J. Day Date: Fri Jan 26 00:57:09 2007 -0800 [PATCH] fix various kernel-doc in header files Fix a number of kernel-doc entries for header files in include/linux by making sure they begin with the appropriate '/**' notation and use @var notation. Signed-off-by: Robert P. J. Day Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8d814b5dd7a1bc5c19ae32d35b8bd4d8a510eae Author: Mike Frysinger Date: Fri Jan 26 00:57:08 2007 -0800 [PATCH] remove __devinit markings from rtc_sysfs_add_device() rtc_sysfs_add_device is needed even after dev initialization, so drop __devinit. Signed-off-by: Mike Frysinger Acked-by: Alessandro Zummo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfa152fa5e4d328fe3ebf15908ee8ec20a0ce6dc Author: Jun'ichi Nomura Date: Fri Jan 26 00:57:07 2007 -0800 [PATCH] dm-multipath: fix stall on noflush suspend/resume Allow noflush suspend/resume of device-mapper device only for the case where the device size is unchanged. Otherwise, dm-multipath devices can stall when resumed if noflush was used when suspending them, all paths have failed and queue_if_no_path is set. Explanation: 1. Something is doing fsync() on the block dev, holding inode->i_sem 2. The fsync write is blocked by all-paths-down and queue_if_no_path 3. Someone requests to suspend the dm device with noflush. Pending writes are left in queue. 4. In the middle of dm_resume(), __bind() tries to get inode->i_sem to do __set_size() and waits forever. 'noflush suspend' is a new device-mapper feature introduced in early 2.6.20. So I hope the fix being included before 2.6.20 is released. Example of reproducer: 1. Create a multipath device by dmsetup 2. Fail all paths during mkfs 3. Do dmsetup suspend --noflush and load new map with healthy paths 4. Do dmsetup resume Signed-off-by: Jun'ichi Nomura Acked-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e540eb45a5254873245fd377f2fe3afc47bd33c1 Author: Eric Van Hensbergen Date: Fri Jan 26 00:57:06 2007 -0800 [PATCH] 9p: null terminate error strings for debug print We weren't properly NULL terminating protocol error strings for our debug printk resulting in garbage being included in the output when debug was enabled. Signed-off-by: Eric Van Hensbergen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da977b2c7eb4d6312f063a7b486f2aad99809710 Author: Eric Van Hensbergen Date: Fri Jan 26 00:57:06 2007 -0800 [PATCH] 9p: fix segfault caused by race condition in meta-data operations Running dbench multithreaded exposed a race condition where fid structures were removed while in use. This patch adds semaphores to meta-data operations to protect the fid structure. Some cleanup of error-case handling in the inode operations is also included. Signed-off-by: Eric Van Hensbergen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff76e1dfc8728278ee231feeb93146f9c57c3ec3 Author: Eric Van Hensbergen Date: Fri Jan 26 00:57:05 2007 -0800 [PATCH] 9p: update documentation regarding server applications Update the documentation to cover using Inferno as a server for 9p and to include information about spfs (a stable single-threaded stand-alone 9p server). Signed-off-by: Eric Van Hensbergen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 621997cd392a541bbe964e7521e2e4b2a7a03c4e Author: Eric Van Hensbergen Date: Fri Jan 26 00:57:04 2007 -0800 [PATCH] 9p: fix rename return code 9p doesn't handle renames between directories -- however, we were returning EPERM instead of EXDEV when we detected this case. Signed-off-by: Eric Van Hensbergren Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f94b347059809aecd97af53a084fe5f3db045d92 Author: Eric Van Hensbergen Date: Fri Jan 26 00:57:04 2007 -0800 [PATCH] 9p: fix bogus return code checks during initialization There is a simple logic error in init_v9fs - the return code checks are reversed. This patch fixes the return code and adds some messages to prevent module initialization from failing silently. Signed-off-by: Eric Van Hensbergen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f49d5e62d9352d33b30c9befbaf0fd9c88265ec1 Author: NeilBrown Date: Fri Jan 26 00:57:03 2007 -0800 [PATCH] md: avoid reading past the end of a bitmap file In most cases we check the size of the bitmap file before reading data from it. However when reading the superblock, we always read the first PAGE_SIZE bytes, which might not always be appropriate. So limit that read to the size of the file if appropriate. Also, we get the count of available bytes wrong in one place, so that too can read past the end of the file. Cc: "yang yin" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1031be7a5fafd3a858dfaabb74d98f9ca20744a8 Author: NeilBrown Date: Fri Jan 26 00:57:02 2007 -0800 [PATCH] md: make sure the events count in an md array never returns to zero Now that we sometimes step the array events count backwards (when transitioning dirty->clean where nothing else interesting has happened - so that we don't need to write to spares all the time), it is possible for the event count to return to zero, which is potentially confusing and triggers and MD_BUG. We could possibly remove the MD_BUG, but is just as easy, and probably safer, to make sure we never return to zero. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eda22d19b76b15ef3420b251bd47a0ba0127589 Author: NeilBrown Date: Fri Jan 26 00:57:01 2007 -0800 [PATCH] md: make 'repair' actually work for raid1 When 'repair' finds a block that is different one the various parts of the mirror. it is meant to write a chosen good version to the others. However it currently writes out the original data to each. The memcpy to make all the data the same is missing. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 524418bb8ecd3dfd2975bc0aa3c2cc7e8e081f24 Author: NeilBrown Date: Fri Jan 26 00:57:01 2007 -0800 [PATCH] md: update email address and status for MD in MAINTAINERS Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c397852c3ddad582ead8c57fbc48bdeccd995a30 Author: Peter Staubach Date: Fri Jan 26 00:57:00 2007 -0800 [PATCH] knfsd: Don't mess with the 'mode' when storing a exclusive-create cookie NFS V3 (and V4) support exclusive create by passing a 'cookie' which can get stored with the file. If the file exists but has exactly the right cookie stored, then we assume this is a retransmit and the exclusive create was successful. The cookie is 64bits and is traditionally stored in the mtime and atime fields. This causes a problem with Solaris7 as negative mtime or atime confuse it. So we moved two bits into the mode word instead. But inherited ACLs sometimes overwrite the mode word on create, so this is a problem. So we give up and just store 62 of the 64 bits and assume that is close enough. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2df0c8644db3d01e3c6fc5f7670fdd7b4c2b234 Author: NeilBrown Date: Fri Jan 26 00:56:59 2007 -0800 [PATCH] knfsd: replace some warning ins nfsfh.h with BUG_ON or WARN_ON A couple of the warnings will be followed by an Oops if they ever fire, so may as well be BUG_ON. Another isn't obviously fatal but has never been known to fire, so make it a WARN_ON. Cc: Adrian Bunk Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 250f3915183d377d36e012bac9caa7345ce465b8 Author: NeilBrown Date: Fri Jan 26 00:56:59 2007 -0800 [PATCH] knfsd: fix an NFSD bug with full sized, non-page-aligned reads NFSd assumes that largest number of pages that will be needed for a request+response is 2+N where N pages is the size of the largest permitted read/write request. The '2' are 1 for the non-data part of the request, and 1 for the non-data part of the reply. However, when a read request is not page-aligned, and we choose to use ->sendfile to send it directly from the page cache, we may need N+1 pages to hold the whole reply. This can overflow and array and cause an Oops. This patch increases size of the array for holding pages by one and makes sure that entry is NULL when it is not in use. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a8eff6d977c28162c61c9532ca58634e7090b69 Author: NeilBrown Date: Fri Jan 26 00:56:58 2007 -0800 [PATCH] knfsd: fix setting of ACL server versions Due to silly typos, if the nfs versions are explicitly set, no NFSACL versions get enabled. Also improve an error message that would have made this bug a little easier to find. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98fac23f332da2dea96f6bec4890eb35fdd50606 Author: NeilBrown Date: Fri Jan 26 00:56:57 2007 -0800 [PATCH] knfsd: update email address and status for NFSD in MAINTAINERS Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e702ff0ba6f7b52021f26e0e14237eb6ca8a1b6f Author: Tilman Schmidt Date: Fri Jan 26 00:56:56 2007 -0800 [PATCH] Gigaset ISDN driver error handling fixes Fix several flaws in the error handling of the Siemens Gigaset ISDN driver, including one that would cause an Oops when connecting more than one device of the same type. Signed-off-by: Tilman Schmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4233dec749a3519069d9390561b5636a75c7579 Author: Ingo Molnar Date: Fri Jan 26 00:56:55 2007 -0800 [PATCH] ACPI: fix cpufreq regression Recently cpufreq support on my laptop (Lenovo T60) broke completely: when it's plugged into AC it would never go higher than 1 GHz - neither 1.3 GHz nor 1.83 GHz is possible - no matter which governor (userspace, speed or ondemand) is used. After some cpufreq debugging i tracked the regression back to the following (totally correct) bug-fix commit: commit 0916bd3ebb7cefdd0f432e8491abe24f4b5a101e Author: Dave Jones Date: Wed Nov 22 20:42:01 2006 -0500 [PATCH] Correct bound checking from the value returned from _PPC method. This bugfix, which makes other laptops work, made a previously hidden (BIOS) bug visible on my laptop. The bug is the following: if the _PPC (Performance Present Capabilities) optional ACPI object is queried /after/ bootup then the BIOS reports an incorrect value of '2'. My laptop (Lenovo T60) has the following performance states supported: 0: 1833000 1: 1333000 2: 1000000 Per ACPI specification, a _PPC value of '0' means that all 3 performance states are usable. A _PPC value of '1' means states 1 .. 2 are usable, a value of '2' means only state '2' (slowest) is usable. now, the _PPC object is optional, and it also comes with notification. Furthermore, when a CPU object is initialized, the _PPC object is initialized as well. So the following evaluation of the _PPC object is superfluous: [] acpi_processor_get_platform_limit+0xa1/0xaf [] acpi_processor_register_performance+0x3b9/0x3ef [] acpi_cpufreq_cpu_init+0xb7/0x596 [] cpufreq_add_dev+0x160/0x4a8 [] sysdev_driver_register+0x5a/0xa0 [] cpufreq_register_driver+0xb4/0x176 [] acpi_cpufreq_init+0xe5/0xeb [] init+0x14f/0x3dd And this is the point where my laptop's BIOS returns the incorrect value of '2'. Note that it has not sent any notification event, so the value is probably not really intentional (possibly spurious), and Windows likely doesnt query it after bootup either. Maybe the value is kept at '2' normally, and is only set to the real value when a true asynchronous event (such as AC plug event, battery switch, etc.) occurs. So i /think/ this is a grey area of the ACPI spec: per the letter of the spec the _PPC value only changes when notified, so there's no reason to query it after the system has booted up. So in my opinion the best (and most compatible) strategy would be to do the change below, and to not evaluate the _PPC object in the acpi_processor_get_performance_info() call, but only evaluate it if _PPC is present during CPU object init, or if it's notified during an asynchronous event. This change is more permissive than the previous logic, so it definitely shouldnt break any existing system. This also happens to fix my laptop, which is merrily chugging along at 1.83 GHz now. Yay! Signed-off-by: Ingo Molnar Cc: Dave Jones Acked-by: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e9a51dca19dc1d8807c63cb3bd4413d3f95aaf5 Author: Atsushi Nemoto Date: Fri Jan 26 00:56:54 2007 -0800 [PATCH] SPI: alternative fix for spi_busnum_to_master If a SPI master device exists, udev (udevtrigger) causes kernel crash, due to wrong kobj pointer in kobject_uevent_env(). This problem was not in 2.6.19. The backtrace (on MIPS) was: [<8024db6c>] kobject_uevent_env+0x54c/0x5e8 [<802a8264>] store_uevent+0x1c/0x3c (in drivers/class.c) [<801cb14c>] subsys_attr_store+0x2c/0x50 [<801cb80c>] flush_write_buffer+0x38/0x5c [<801cb900>] sysfs_write_file+0xd0/0x190 [<80181444>] vfs_write+0xc4/0x1a0 [<80181cdc>] sys_write+0x54/0xa0 [<8010dae4>] stack_done+0x20/0x3c flush_write_buffer() passes kobject of spi_master_class.subsys to subsys_addr_store(), then subsys_addr_store() passes a pointer to a struct subsystem to store_uevent() which expects a pointer to a struct class_device. The problem seems subsys_attr_store() called instead of class_device_attr_store(). This mismatch was caused by commit 3bd0f6943520e459659d10f3282285e43d3990f1, which overrides kset of master class. This made spi_master_class.subsys.kset.ktype NULL so subsys_sysfs_ops is used instead of class_dev_sysfs_ops. The commit was to fix spi_busnum_to_master(). Here is a patch fixes this function in other way, just searching children list of class_device. Signed-off-by: Atsushi Nemoto Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 863c47028eb469c9e6c4e4287b01bea2bbf78766 Author: Alexey Dobriyan Date: Fri Jan 26 00:56:53 2007 -0800 [PATCH] Fix NULL ->nsproxy dereference in /proc/*/mounts /proc/*/mounstats was fixed, all right, but... To reproduce: while true; do find /proc -type f 2>/dev/null | xargs cat 1>/dev/null 2>/dev/null; done BUG: unable to handle kernel NULL pointer dereference at virtual address 0000000c printing eip: c01754df *pde = 00000000 Oops: 0000 [#28] Modules linked in: af_packet ohci_hcd e1000 ehci_hcd uhci_hcd usbcore xfs CPU: 0 EIP: 0060:[] Not tainted VLI EFLAGS: 00010286 (2.6.20-rc5 #1) EIP is at mounts_open+0x1c/0xac eax: 00000000 ebx: d5898ac0 ecx: d1d27b18 edx: d1d27a50 esi: e6083e10 edi: d3c87f38 ebp: d5898ac0 esp: d3c87ef0 ds: 007b es: 007b ss: 0068 Process cat (pid: 18071, ti=d3c86000 task=f7d5f070 task.ti=d3c86000) Stack: d5898ac0 e6083e10 d3c87f38 c01754c3 c0147c91 c18c52c0 d343f314 d5898ac0 00008000 d3c87f38 ffffff9c c0147e09 d5898ac0 00000000 00000000 c0147e4b 00000000 d3c87f38 d343f314 c18c52c0 c015e53e 00001000 08051000 00000101 Call Trace: [] mounts_open+0x0/0xac [] __dentry_open+0xa1/0x18c [] nameidata_to_filp+0x31/0x3a [] do_filp_open+0x39/0x40 [] seq_read+0x128/0x2aa [] do_sys_open+0x3a/0x6d [] sys_open+0x1c/0x20 [] sysenter_past_esp+0x5f/0x85 [] unix_stream_recvmsg+0x3bf/0x4bf ======================= Code: 5d c3 89 d8 e8 06 e0 f9 ff eb bd 0f 0b eb fe 55 57 56 53 89 d5 8b 40 f0 31 d2 e8 02 c1 fa ff 89 c2 85 c0 74 5c 8b 80 48 04 00 00 <8b> 58 0c 85 db 74 02 ff 03 ff 4a 08 0f 94 c0 84 c0 75 74 85 db EIP: [] mounts_open+0x1c/0xac SS:ESP 0068:d3c87ef0 A race with do_exit()'s call to exit_namespaces(). Signed-off-by: Alexey Dobriyan Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c633090e3105e779c97d4978e5e3d7d66b291cfb Author: Roland McGrath Date: Fri Jan 26 00:56:52 2007 -0800 [PATCH] x86_64 ia32 vDSO: define arch_vma_name This patch makes x86_64 define arch_vma_name for CONFIG_IA32_EMULATION. This makes the ia32 vDSO mapping appear in /proc/PID/maps with "[vdso]" for ia32 processes, as it does on native i386. Signed-off-by: Roland McGrath Cc: Ingo Molnar Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a0cfadb42e0a6dd221aa49232a65d2771063285 Author: Roland McGrath Date: Fri Jan 26 00:56:51 2007 -0800 [PATCH] powerpc vDSO: use VM_ALWAYSDUMP This patch fixes core dumps to include the vDSO vma, which is left out now. Signed-off-by: Roland McGrath Cc: Ingo Molnar Cc: Paul Mackerras Acked-by: Benjamin Herrenschmidt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e03f0ca11645ce69a4defcd4f60a5cb2d5e30507 Author: Roland McGrath Date: Fri Jan 26 00:56:50 2007 -0800 [PATCH] x86_64 ia32 vDSO: use VM_ALWAYSDUMP This patch fixes ia32 core dumps on x86_64 to include just one phdr for the vDSO vma. Currently it writes a confused format with two phdrs for the address, one without contents and one with. This patch removes the special-case core writing macros for the ia32 vDSO. Instead, it uses VM_ALWAYSDUMP in the vma. This changes core dumps so they no longer include the non-PT_LOAD phdrs from the vDSO, consistent with fixed native i386 core dumps. Signed-off-by: Roland McGrath Cc: Ingo Molnar Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f47aef55d9a18945fcdd7fd6bf01121ce973b91b Author: Roland McGrath Date: Fri Jan 26 00:56:49 2007 -0800 [PATCH] i386 vDSO: use VM_ALWAYSDUMP This patch fixes core dumps to include the vDSO vma, which is left out now. It removes the special-case core writing macros, which were not doing the right thing for the vDSO vma anyway. Instead, it uses VM_ALWAYSDUMP in the vma; there is no need for the fixmap page to be installed. It handles the CONFIG_COMPAT_VDSO case by making elf_core_dump use the fake vma from get_gate_vma after real vmas in the same way the /proc/PID/maps code does. This changes core dumps so they no longer include the non-PT_LOAD phdrs from the vDSO. I made the change to add them in the first place, but in turned out that nothing ever wanted them there since the advent of NT_AUXV. It's cleaner to leave them out, and just let the phdrs inside the vDSO image speak for themselves. Signed-off-by: Roland McGrath Cc: Ingo Molnar Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5b97dde514f9bd43f9e525451d0a863c4fc8a9a Author: Roland McGrath Date: Fri Jan 26 00:56:48 2007 -0800 [PATCH] Add VM_ALWAYSDUMP This patch adds the VM_ALWAYSDUMP flag for vm_flags in vm_area_struct. This provides a clean explicit way to have a vma always included in core dumps, as is needed for vDSO's. Signed-off-by: Roland McGrath Cc: Ingo Molnar Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6558c4a2378af06f2beca6c8a3304e21d1cf135 Author: Roland McGrath Date: Fri Jan 26 00:56:47 2007 -0800 [PATCH] Fix gate_vma.vm_flags This patch fixes the initialization of gate_vma.vm_flags and gate_vma.vm_page_prot to reflect reality. This makes the "[vdso]" line in /proc/PID/maps correctly show r-xp instead of ---p, when gate_vma is used (CONFIG_COMPAT_VDSO on i386). Signed-off-by: Roland McGrath Cc: Ingo Molnar Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1f3bb9ae4497a2ed3eac773fd7798ac33a0371f Author: Roland McGrath Date: Fri Jan 26 00:56:46 2007 -0800 [PATCH] Fix CONFIG_COMPAT_VDSO I wouldn't mind if CONFIG_COMPAT_VDSO went away entirely. But if it's there, it should work properly. Currently it's quite haphazard: both real vma and fixmap are mapped, both are put in the two different AT_* slots, sysenter returns to the vma address rather than the fixmap address, and core dumps yet are another story. This patch makes CONFIG_COMPAT_VDSO disable the real vma and use the fixmap area consistently. This makes it actually compatible with what the old vdso implementation did. Signed-off-by: Roland McGrath Cc: Ingo Molnar Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f6ee1adc75bf31d1b76814338f76a88e653cb60 Author: Justin Clacherty Date: Fri Jan 26 00:56:44 2007 -0800 [PATCH] spi: fix error setting the spi mode in pxa2xx_spi.c Currently the spi mode can be set to the wrong mode if you are switching from any mode other than mode 0. This is because the mode is set using a bitwise or on uncleared bits. The following patch clears the mode bits before setting the new mode. I've also modified it to use the appropriate defines from pxa-regs.h for readability. Signed-off-by: Justin Clacherty Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8736b9270c2f8993ca44c30f64d4c6d25e379687 Author: Ben Dooks Date: Fri Jan 26 00:56:43 2007 -0800 [PATCH] S3C24XX: fix passing spi chipselect to select routine It turns out that the spi chipselect was not being passed to the set_cs routine if one was specified in the platform data. As part of the fix, change to using a set_cs field in the controller state, and put a default gpio routine in if the data passed does not specify it. Also remove the //#define DEBUG Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46fe4ddd9dbb15305ab9b458e6cfa4dd47ac3e47 Author: Joerg Roedel Date: Fri Jan 26 00:56:42 2007 -0800 [PATCH] KVM: SVM: Propagate cpu shutdown events to userspace This patch implements forwarding of SHUTDOWN intercepts from the guest on to userspace on AMD SVM. A SHUTDOWN event occurs when the guest produces a triple fault (e.g. on reboot). This also fixes the bug that a guest reboot actually causes a host reboot under some circumstances. Signed-off-by: Joerg Roedel Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73b1087e6176a34c01eea3db269848f72fad72c1 Author: Avi Kivity Date: Fri Jan 26 00:56:41 2007 -0800 [PATCH] KVM: MMU: Report nx faults to the guest With the recent guest page fault change, we perform access checks on our own instead of relying on the cpu. This means we have to perform the nx checks as well. Software like the google toolbar on windows appears to rely on this somehow. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7993ba43db1c07245ada067791f91dbf018095ac Author: Avi Kivity Date: Fri Jan 26 00:56:41 2007 -0800 [PATCH] KVM: MMU: Perform access checks in walk_addr() Check pte permission bits in walk_addr(), instead of scattering the checks all over the code. This has the following benefits: 1. We no longer set the accessed bit for accessed which fail permission checks. 2. Setting the accessed bit is simplified. 3. Under some circumstances, we used to pretend a page fault was fixed when it would actually fail the access checks. This caused an unnecessary vmexit. 4. The error code for guest page faults is now correct. The fix helps netbsd further along booting, and allows kvm to pass the new mmu testsuite. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f00e68f210c0407dd666743ce61ae543cfd509d Author: Avi Kivity Date: Fri Jan 26 00:56:40 2007 -0800 [PATCH] KVM: Emulate IA32_MISC_ENABLE msr This allows netbsd 3.1 i386 to get further along installing. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bce66ca4a2f695509e1b021311eb4de1e4fdf3e4 Author: Leonard Norrgard Date: Fri Jan 26 00:56:38 2007 -0800 [PATCH] KVM: SVM: Fix SVM idt confusion There's an obvious typo in svm_{get,set}_idt, causing it to access the ldt instead. Because these functions are only called for save/load on AMD, the bug does not impact normal operation. With the fix, save/load works as expected on AMD hosts. Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b89eed93e0fa40a63e3d7b1796ec1337ea7a3aa Author: Linus Torvalds Date: Fri Jan 26 12:53:20 2007 -0800 Write back inode data pages even when the inode itself is locked In __writeback_single_inode(), when we find a locked inode and we're not doing a data-integrity sync, we used to just skip writing entirely, since we didn't want to wait for the inode to unlock. However, there's really no reason to skip writing the data pages, which are likely to be the the bulk of the dirty state anyway (and the main reason why writeback was started for the non-data-integrity case, of course!) Acked-by: Nick Piggin Cc: Andrew Morton , Cc: Peter Zijlstra Cc: Hugh Dickins Cc: David Howells Signed-off-by: Linus Torvalds commit ecdfc9787fe527491baefc22dce8b2dbd5b2908d Author: Linus Torvalds Date: Fri Jan 26 12:47:06 2007 -0800 Resurrect 'try_to_free_buffers()' VM hackery It's not pretty, but it appears that ext3 with data=journal will clean pages without ever actually telling the VM that they are clean. This, in turn, will result in the VM (and balance_dirty_pages() in particular) to never realize that the pages got cleaned, and wait forever for an event that already happened. Technically, this seems to be a problem with ext3 itself, but it used to be hidden by 'try_to_free_buffers()' noticing this situation on its own, and just working around the filesystem problem. This commit re-instates that hack, in order to avoid a regression for the 2.6.20 release. This fixes bugzilla 7844: http://bugzilla.kernel.org/show_bug.cgi?id=7844 Peter Zijlstra points out that we should probably retain the debugging code that this removes from cancel_dirty_page(), and I agree, but for the imminent release we might as well just silence the warning too (since it's not a new bug: anything that triggers that warning has been around forever). Acked-by: Randy Dunlap Acked-by: Jens Axboe Acked-by: Peter Zijlstra Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 4fe4f4ace5a667122f8dd04302e19e46d99e3594 Author: Haavard Skinnemoen Date: Fri Jan 26 13:19:48 2007 +0100 [AVR32] Update ATSTK1000 defconfig: Enable macb by default Enable the Atmel MACB ethernet driver by default on ATSTK1000. Signed-off-by: Haavard Skinnemoen commit 0cd78989a2d98a62017a5842f81b61e1b425cd0d Author: Haavard Skinnemoen Date: Fri Jan 26 13:12:25 2007 +0100 [AVR32] Export clear_page symbol Add missing EXPORT_SYMBOL(clear_page), allowing ext3 to be compiled as a module. Signed-off-by: Haavard Skinnemoen commit 7399072a7348d025e7bcb5eb5d5e9be941d490b7 Author: Patrick McHardy Date: Fri Jan 26 01:07:59 2007 -0800 [NETFILTER]: nf_conntrack_pptp: fix NAT setup of expected GRE connections When an expected connection arrives, the NAT helper should be called to set up NAT similar to the master connection. The PPTP conntrack helper incorrectly checks whether the _expected_ connection has NAT setup before calling the NAT helper (which is never the case), instead of checkeing whether the _master_ connection is NATed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a46bf7d5a81b350cd204b82bd25ee6ffbc2967d4 Author: Patrick McHardy Date: Fri Jan 26 01:07:30 2007 -0800 [NETFILTER]: nf_nat_pptp: fix expectation removal When removing the expectation for the opposite direction, the PPTP NAT helper initializes the tuple for lookup with the addresses of the opposite direction, which makes the lookup fail. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c72c6b2a291bb6c61b1546d116784a79e15a6c29 Author: Patrick McHardy Date: Fri Jan 26 01:06:47 2007 -0800 [NETFILTER]: nf_nat: fix ICMP translation with statically linked conntrack When nf_nat/nf_conntrack_ipv4 are linked statically, nf_nat is initialized before nf_conntrack_ipv4, which makes the nf_ct_l3proto_find_get(AF_INET) call during nf_nat initialization return the generic l3proto instead of the AF_INET specific one. This breaks ICMP error translation since the generic protocol always initializes the IPs in the tuple to 0. Change the linking order and put nf_conntrack_ipv4 first. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e89862f4c5b3c4ac9afcd8cb1365d2f1e16ddc3b Author: David S. Miller Date: Fri Jan 26 01:04:55 2007 -0800 [TCP]: Restore SKB socket owner setting in tcp_transmit_skb(). Revert 931731123a103cfb3f70ac4b7abfc71d94ba1f03 We can't elide the skb_set_owner_w() here because things like certain netfilter targets (such as owner MATCH) need a socket to be set on the SKB for correct operation. Thanks to Jan Engelhardt and other netfilter list members for pointing this out. Signed-off-by: David S. Miller commit d5e76b0a280f71b20bdd20d1c1b4d6812ceb8c3a Author: David S. Miller Date: Thu Jan 25 19:30:36 2007 -0800 [AF_PACKET]: Check device down state before hard header callbacks. If the device is down, invoking the device hard header callbacks is not legal, so check it early. Based upon a shaper OOPS report from Frederik Deweerdt. Signed-off-by: David S. Miller commit 5ad0d383ddbf0d2fce43b8aac267a6c299fd2dff Author: Roland McGrath Date: Thu Jan 25 17:19:51 2007 -0800 [PATCH] x86_64: fix put_user for 64-bit constant On x86-64, a put_user call using a 64-bit pointer and a constant value that is > 0xffffffff will produce code that doesn't assemble. This patch fixes the asm construct to use the Z constraint for 32-bit constants. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 95743deb34de29defbb98ad477700aaf344f93f3 Author: Eric W. Biederman Date: Thu Jan 25 15:51:51 2007 -0800 [DECNET]: Handle a failure in neigh_parms_alloc (take 2) While enhancing the neighbour code to handle multiple network namespaces I noticed that decnet is assuming neigh_parms_alloc will allways succeed, which is clearly wrong. So handle the failure. Signed-off-by: Eric W. Biederman Acked-by: Steven Whitehouse Signed-off-by: David S. Miller commit 24cb230b587cf3aad8794b150682d8d8303a2120 Author: Michael Chan Date: Thu Jan 25 15:49:56 2007 -0800 [BNX2]: Fix 2nd port's MAC address. On the 5709, we need to add the proper offset to calculate the shared memory base address of the 2nd port correctly. Otherwise, the 2nd port's MAC address and other information will be the same as the 1st port. Update version to 1.5.4. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 61dd08c6c8d2b4ede530e43c01fa72f789ef65b1 Author: Alan Date: Thu Jan 25 15:09:05 2007 +0000 libata-sff: Don't call bmdma_stop on non DMA capable controllers Fixes bogus accesses to ports 0-15 with a non DMA capable controller. This I think should go in for 2.6.20 Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b2a8bbe67d73631c71492fd60b757fc50a87f182 Author: Tejun Heo Date: Thu Jan 25 19:40:05 2007 +0900 libata: implement ATA_FLAG_IGN_SIMPLEX and use it in sata_uli Some uli controllers have stuck SIMPLEX bit which can't be cleared with ata_pci_clear_simplex(), but the controller is capable of doing DMAs on both channels simultaneously. Implement ATA_FLAG_IGN_SIMPLEX which makes libata ignore the simplex bit and use it in sata_uli. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 0291f95fdb5fcd91cc077aafabea2c5b109fa8a8 Author: Tejun Heo Date: Thu Jan 25 19:16:28 2007 +0900 ahci: improve and limit spurious interrupt messages, take#3 We're still seeing a lot of issues with NCQ implementation in drive firmwares. Sprious FISes during NCQ command phase occur on many drives and some of them seem potentially dangerous (at least to me). Until we find the solution, spurious messages can give us more info. Improve and limit them such that more info can be reported while not disturbing users too much. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 17234246eb82898cf98e3c29e81d941c738e0587 Author: Tejun Heo Date: Thu Jan 25 20:46:59 2007 +0900 sata_via: don't diddle with ATA_NIEN in ->freeze vt6420 completely loses its ability to raise IRQ for ATAPI devices if ATA_NIEN is diddled with in ->freeze. Further investigation is necessary to determine whether this problem is shared on other controllers but it doesn't seem to be at this point. Make vt6420's ->freeze only clear IRQ to fix this problem. This makes vt6420 relatively more prone to IRQ storms but the controller is way too braindamaged to worry about that anyway. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit db3ccdac261e015023cfd922840170f14c9cdc09 Author: Baruch Even Date: Thu Jan 25 13:35:06 2007 -0800 [TCP]: Fix sorting of SACK blocks. The sorting of SACK blocks actually munges them rather than sort, causing the TCP stack to ignore some SACK information and breaking the assumption of ordered SACK blocks after sorting. The sort takes the data from a second buffer which isn't moved causing subsequent data moves to occur from the wrong location. The fix is to use a temporary buffer as a normal sort does. Signed-off-By: Baruch Even Signed-off-by: David S. Miller commit 8eda232e226b97c8f2fcbc5f672135247c1ee348 Author: Simon Bennett Date: Wed Jan 24 10:27:20 2007 +0100 HID: fix hid-input mapping for Firefly Mini Remote Control Patch adds entries to the HID consumer page for the Firefly Mini IR remote control Signed-off-by: Simon Bennett Signed-off-by: Jiri Kosina commit ad2905f06512c70c44a7efd178536ad197c48528 Author: Jiri Kosina Date: Tue Jan 23 14:02:53 2007 +0100 USB HID: fix hid_blacklist clash for 0x08ca/0x0010 commit d8c8a393166d6283003fb111d0b4a40931c0eda4 introduced a clash in hid_blacklist for 0x08ca/0x0010 (GTCO vs. AIPTEK). As the vendor of GTCO device doesn't seem to be interested in supporting their legacy HW with this conflicting ids, it is OK to remove it. Signed-off-by: Jiri Kosina commit 767fe7877c2928b5633992ee60a49ad4516dc2af Author: Jiri Kosina Date: Wed Jan 24 23:05:07 2007 +0100 HID: fix memleaking of collection hid_free_device() doesn't free device->collection (but it does free device->rdesc and device itself). This imposes memory leak. Fix it. Signed-off-by: Jiri Kosina commit c6428464894889e110418928e6b37dc2eb4cee56 Author: Catalin Marinas Date: Wed Jan 24 18:47:08 2007 +0100 [ARM] 4111/1: Allow VFP to work with thread migration on SMP The current lazy saving of the VFP registers is no longer possible with thread migration on SMP. This patch implements a per-CPU vfp-state pointer and the saving of the VFP registers at every context switch. The registers restoring is still performed in a lazy way. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 412489af76b5c0e4029d4406d93554c22a88fc73 Author: Catalin Marinas Date: Thu Jan 25 14:16:47 2007 +0100 [ARM] 4112/1: Only ioremap to supersections if DOMAIN_IO is zero Supersections do not have a field for the domain and it is always 0. This patch prevents the creation of supersections during ioremap when DOMAIN_IO is not zero (i.e. !defined(CONFIG_IO_36)). Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 99abfeafb5f2eea1bb481330ff37343e1133c924 Author: Linus Torvalds Date: Wed Jan 24 18:19:28 2007 -0800 Linux 2.6.20-rc6 commit b229a7b0aed808f2ef6a5e9dbf78b0f17cefb4d0 Author: Alan Date: Wed Jan 24 11:47:07 2007 +0000 libata: set_mode, Fix the FIXME When set_mode() changed ->set_mode didn't adapt. This makes the needed changes and removes the relevant FIXME case. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a52865c239b1bc4f62e387509b1ad3415e476ee5 Author: Alan Date: Wed Jan 24 11:51:38 2007 +0000 libata hpt3xn: Hopefully sort out the DPLL logic versus the vendor code Rather than ending up with two layers of negation jut rename the variable and lose one. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 6a40da02be1e1d74eee653c6d181934d35cbca7d Author: Alan Date: Wed Jan 24 11:49:03 2007 +0000 libata cmd64x: whack into a shape that looks like the documentation Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit dbcb5855d108b7fa20ab42567a5412ce9dcd776a Author: David S. Miller Date: Wed Jan 24 15:21:02 2007 -0800 [AF_PACKET]: Fix BPF handling. This fixes a bug introduced by: commit fda9ef5d679b07c9d9097aaf6ef7f069d794a8f9 Author: Dmitry Mishin Date: Thu Aug 31 15:28:39 2006 -0700 [NET]: Fix sk->sk_filter field access sk_run_filter() returns either 0 or an unsigned 32-bit length which says how much of the packet to retain. If that 32-bit unsigned integer is larger than the packet, this is fine we just leave the packet unchanged. The above commit caused all filter return values which were negative when interpreted as a signed integer to indicate a packet drop, which is wrong. Based upon a report and initial patch by Raivis Bucis. Signed-off-by: David S. Miller commit 6640e69731b42fd5e3d2b26201c8b34fc897a0ee Author: Eric W. Biederman Date: Wed Jan 24 14:42:04 2007 -0800 [IPV4]: Fix the fib trie iterator to work with a single entry routing tables In a kernel with trie routing enabled I had a simple routing setup with only a single route to the outside world and no default route. "ip route table list main" showed my the route just fine but /proc/net/route was an empty file. What was going on? Thinking it was a bug in something I did and I looked deeper. Eventually I setup a second route and everything looked correct, huh? Finally I realized that the it was just the iterator pair in fib_trie_get_first, fib_trie_get_next just could not handle a routing table with a single entry. So to save myself and others further confusion, here is a simple fix for the fib proc iterator so it works even when there is only a single route in a routing table. Signed-off-by: Eric W. Biederman Signed-off-by: Robert Olsson Signed-off-by: David S. Miller commit 717d44e849219781ced028a40fcc59d3e1f49e4c Author: Trond Myklebust Date: Wed Jan 24 11:54:55 2007 -0800 [PATCH] NFS: Fix races in nfs_revalidate_mapping() Prevent the call to invalidate_inode_pages2() from racing with file writes by taking the inode->i_mutex across the page cache flush and invalidate. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit bde8f00ce64d9824a4f227c8594e335a1a10d044 Author: Trond Myklebust Date: Wed Jan 24 11:54:53 2007 -0800 [PATCH] NFS: Fix Oops in rpc_call_sync() Fix the Oops in http://bugzilla.linux-nfs.org/show_bug.cgi?id=138 We shouldn't be calling rpc_release_task() for tasks that are not active. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 66218da212bf141532d678a699f5789c78145ab1 Author: Atsushi Nemoto Date: Wed Jan 24 15:43:34 2007 +0900 [MIPS] Fix wrong checksum calculation on 64-bit MIPS The commit 8e3d8433d8c22ca6c42cba4a67d300c39aae7822 ([NET]: MIPS checksum annotations and cleanups) broke 64-bit MIPS. The problem is the commit replaces some unsigned long with __be32. On 64bit MIPS, a __be32 (i.e. unsigned int) value is represented as a sign-extented 32-bit value in a 64-bit argument register. So the address 192.168.0.1 (0xc0a80001) is passed as 0xffffffffc0a80001 to csum_tcpudp_nofold() but the asm code in the function expects 0x00000000c0a80001, therefore it returns a wrong checksum. Explicit cast to unsigned long is needed to drop high 32bit. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9cfdf6f15a2a462b6b328b4c60b252cfc04ec03e Author: Ralf Baechle Date: Wed Jan 24 19:13:08 2007 +0000 [MIPS] VPE loader: Initialize lists before they're actually being used ... kspd which due to makefile order happens to be initialized before the vpe loader causes references to vpecontrol lists before they're actually been initialized. Signed-off-by: Ralf Baechle commit 80aac59ed5b3e5ae2132bc620ff5607929c6a304 Author: Thiemo Seufer Date: Wed Jan 24 01:29:15 2007 +0000 [MIPS] Fix reported amount of freed memory - it's in kB not bytes While at it, change message on DEC for consistency. Signed-off-by: Thiemo Seufer Signed-off-by: Ralf Baechle commit 3f3183709feb35c30ca5f649224d01921870f81c Author: Yoichi Yuasa Date: Wed Jan 24 22:22:06 2007 +0900 [MIPS] vr41xx: need one more nop with mtc0_tlbw_hazard() NEC VR4111 and VR4121 need one more nop with mtc0_tlbw_hazard(). Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ec43c01420fc1da8bf0b19f0ceb24d7d3c7f47f3 Author: Ralf Baechle Date: Wed Jan 24 19:23:21 2007 +0000 [MIPS] SMTC: Fix module build by exporting symbol Signed-off-by: Ralf Baechle commit a0b6218037b5cf50737a7dc0fc5464ea3f8781cd Author: Ralf Baechle Date: Fri Jan 19 14:35:14 2007 +0000 [MIPS] SMTC: Fix TLB sizing bug for TLB of 64 >= entries Signed-off-by: Ralf Baechle commit 89c07fd14fe857c223b042a857a08c3ea46b92eb Author: Ralf Baechle Date: Wed Jan 24 12:31:47 2007 +0000 [MIPS] Fix APM build Definitions for TIF_FREEZE and _TIF_FREEZE were missing. Signed-off-by: Ralf Baechle commit 48c35b2d245fffedadce62769aafea8ecf493d19 Author: Alexey Dobriyan Date: Tue Jan 23 21:30:14 2007 +0300 [MIPS] There is no __GNUC_MAJOR__ Gcc major version number is in __GNUC__. As side effect fix checking with sparse if sparse was built with gcc 4.1 and mips cross-compiler is 3.4. Sparse will inherit version 4.1, __GNUC__ won't be filtered from "-dM -E -xc" output, sparse will pick only new major, effectively becoming gcc version 3.1 which is unsupported. Signed-off-by: Alexey Dobriyan Signed-off-by: Ralf Baechle commit 7baced8a5923ce13d3d42d50a042a869092ab4e5 Author: Matt Reimer Date: Wed Jan 24 01:30:37 2007 +0100 [ARM] 4106/1: S3C2410: typo fixes in register definitions The Trcd* bits of the S3C24xx BANKCON6 and BANKCON7 registers are misspelled in include/asm-arm/arch-s3c2410/regs-mem.h as Trdc*. Signed-off-by: Matt Reimer Acked-by: Ben Dooks Signed-off-by: Russell King commit d4e1c889c1ec547371227558e1da5f2f50c7dd5e Author: Linus Walleij Date: Sun Jan 21 20:08:33 2007 +0100 [ARM] 4102/1: Allow for PHYS_OFFSET on any valid 2MiB address This patchs allows the offset to the first page of physical memory to be on any 2MB boundary whereas the previous code could only handle psysical offset to any 16MB boundary (0xNN000000) or any 1MB boundary below 0x01000000 (e.g. 0x00N00000). The problem is a consequence of the orr one-byte syntax, so we fix this and we can place the first bank of memory at 0x28e00000. I have also included an explicit check that disallow compilation when PHYS_OFFSET is not on a 2MiB boundary. head.S would be the proper place to have this at since this is the first file that attempts to use PHYS_OFFSET during compile. Signed-off-by: Linus Walleij Signed-off-by: Russell King commit d28122a5877cc40350fa801353fd5a9350563ec3 Author: Russell King Date: Mon Jan 22 18:59:42 2007 +0000 [ARM] Fix AMBA serial drivers for non-first serial ports Using console=ttyAM1 or console=ttyAMA1 resulted in an oops during boot due to trying to drive the console before that port had been registered. Fix this by checking whether the port is present before allowing console setup to proceed. Signed-off-by: Russell King commit 7f215abc69302dc027f024fe656e4841063e8fe8 Author: Dan Williams Date: Thu Jan 18 20:36:00 2007 +0100 [ARM] 4100/1: iop3xx: fix cpu mask for iop333 cosmetic fix so iop333 is not reported as ixp46x iop333 cpuid = 0x69054210 Signed-off-by: Dan Williams Signed-off-by: Russell King commit 87b865776d2510fc98cdf789c59b8980432ef93a Author: Russell King Date: Tue Jan 16 16:53:41 2007 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit 204ecae4e10c235e6987cb7b2809a665511ab174 Author: Russell King Date: Tue Jan 16 14:01:47 2007 +0000 [ARM] Fix show_mem() for discontigmem show_mem() was assuming incorrectly that the mem_map for any node started at PFN 0. This is obviously wrong; fix it to take account of node_start_pfn. Signed-off-by: Russell King commit 30f0e0f4153918a22d802b415980974514139389 Author: Ben Dooks Date: Tue Jan 16 12:56:58 2007 +0100 [ARM] 4096/1: S3C24XX: change return code form s3c2410_gpio_getcfg() The s3c2410_gpio_getcfg() currently returns a value which is dependant on the GPIO no passed in. Now we have more generic constants it is sensible to use those as return codes so that any function dealing with >1 GPIO does not need to do it's own number processing. Since this function is only currently used in pm.c, it is easy to fixup (and correct pm.c to use the generic constants) Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 6c3c5bb3c68b932ece9f92b9d201196d537cb99c Author: Ben Dooks Date: Tue Jan 16 12:33:35 2007 +0100 [ARM] 4095/1: S3C24XX: Fix GPIO set for Bank A GPIO bank A can only be output or a special function, and the regs-gpio.h header has mistakenly got this as input or output. The mistake is carried on into the gpio.c s3c2410_gpio_cfgpin() call which will set the wrong value if S3C2410_GPIO_OUTPUT is passed. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5225cd8079484ed27cd52040e8584616d1ef1e2c Author: Pavel Pisa Date: Fri Jan 12 09:57:22 2007 +0100 [ARM] 4092/1: i.MX/MX1 CPU Frequency scaling latency definition The transition latency has to be defined and reasonably small to allow on-demand and conservative governors. The value has been defined according to manual. The imx_set_target() protected against seen out of range requests now. Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 3ea163e44c041b9e1d7314998dfbfd4fbc6eea20 Author: Andrew Victor Date: Tue Jan 9 13:47:29 2007 +0100 [ARM] 4089/1: AT91: GPIO wake IRQ cleanup Cleanup of at91 platform level gpio wake and suspend/resume logic. The GPIO core now delegates wakeups to the parent AIC by refcounting, and delegates clock management to the clock API. This makes these system modules more independent of each other, which is cleaner and will also help with the AT91SAM9263 (where some GPIO controllers share the same irq and clock). Original patch by David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 9b938166907558e664d8fa413e6233a36669e0c0 Author: Andrew Victor Date: Tue Jan 9 13:20:54 2007 +0100 [ARM] 4088/1: AT91: Unbalanced IRQ in serial driver suspend/resume This patch fixes the unbalanced calls to enable_irq_wake() and disable_irq_wake() in the AT91 (and AVR32) serial driver. It should resolve these kernel messages: Unbalanced IRQ x wake disable BUG: warning at kernel/irq/manage.c:167/set_irq_wake() Original patch from Marc Pignat. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit e9d10a16ea76f42ea9ce58508e4af7c52acf1e40 Author: Andrew Victor Date: Tue Jan 9 12:47:51 2007 +0100 [ARM] 4087/1: AT91: CPU reset for SAM9x processors This patch implements CPU and peripheral reset on AT91SAM9260 and AT91SAM9261. Original patch from Wojtek Kaniewski. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a14d527306dc7dbc38e4607c3cc3a50a600fc98b Author: Andrew Victor Date: Tue Jan 9 09:03:42 2007 +0100 [ARM] 4086/1: AT91: Whitespace cleanup A couple of whitespace cleanups, mainly in the AT91 header files. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 410f4eae4b33631ace70d84470218f3db302afac Author: Andrew Victor Date: Tue Jan 9 08:51:43 2007 +0100 [ARM] 4085/1: AT91: Header fixes. Fix two typo's where AT01_* was used instead of AT91_*. [Patch from Wojtek Kaniewski] Fix definition of AT91_SMC_EXNWMODE for the SAM9 processors. [Patch from Wu Xuan] Signed-off-by: Andrew Victor Signed-off-by: Russell King commit fb1d50418ef09a6a43b3928ff78d433914ea954d Author: Andrew Victor Date: Tue Jan 9 08:44:41 2007 +0100 [ARM] 4084/1: Remove CONFIG_DEBUG_WAITQ Remove the legacy CONFIG_DEBUG_WAITQ from the SAM9260-EK and SAM9261-EK default configuration files. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit ded84bcb246780137ecaa3f6d137ac1b0f06fd08 Author: Geert Uytterhoeven Date: Thu Dec 21 13:57:16 2006 +0100 [POWERPC] ps3_free_io_irq: Fix inverted error check ps3_free_io_irq: Fix inverted error check after calling lv1_destruct_io_irq_outlet(). Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 63ea9c1710f05a7309c272750bbf40134c628f36 Author: Geert Uytterhoeven Date: Wed Dec 20 16:11:57 2006 +0100 [POWERPC] PS3: Fix uniprocessor kernel build Allow to build a uniprocessor kernel for PS3. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit d0f29485686d9d1c4f31240953a742d5dd4fdb72 Author: Brian King Date: Wed Jan 17 12:32:28 2007 -0600 libata: Initialize qc->pad_len Initialize qc->pad_len for each new command. This ensures that pad_len is not set to a stale value for zero data length commands. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 7a801184fa480e11e6431f184a5bdf31f63326fb Author: Brian King Date: Wed Jan 17 12:32:12 2007 -0600 libata: Fixup n_elem initialization Fixup the inialization of qc->n_elem. It currently gets initialized to 1 for commands that do not transfer any data. Fix this by initializing n_elem to 0 and only setting to 1 in ata_scsi_qc_new when there is data to transfer. This fixes some problems seen with SATA devices attached to ipr adapters. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 07c53dac4904206a50dd7c87adabbb1acff903fb Author: Tejun Heo Date: Sun Jan 21 02:10:11 2007 +0900 ahci: don't enter slumber on power down Some ATA/ATAPI devices act weirdly after the link is put into slumber mode. Some hang completely requiring physical power removal while others fail to wake up till the link is hardreset a couple of times. The addition of slumber on power down was never driven by real need. It just followed what ahci spec said literally. The spec itself seems faulty in that it doesn't consider devices (not controllers) which don't support link powersaving mode. Theory never matches reality when it comes to dark allys of cheap ATA/ATAPI world. It's just unrealistic to expect vendors to test rarely used link powersaving feature rigorously. This patch makes ahci more friendly to the coldness of reality. This shouldn't have any negative effect - when suspend operation succeeds, we power off the whole machine; otherwise, we wake up everything. I can't see any reason to be so elaborate with powering down the link in the first place. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f740d1689d91415cfc749d17138a11ed03b7d38b Author: Robert Hancock Date: Tue Jan 23 20:09:02 2007 -0600 sata_nv: don't rely on NV_INT_DEV indication with ADMA Several people reported issues with certain drive commands timing out on sata_nv controllers running in ADMA mode. The commands in question were non-DMA-mapped commands, usually FLUSH CACHE or FLUSH CACHE EXT. From experimentation it appears that the NV_INT_DEV indication isn't always set when a legitimate command completion interrupt is received on a legacy-mode command, at least not on these controllers in ADMA mode. When a command is pending on the port, force the flag on always in the irq_stat value before calling nv_host_intr so that the drive busy state is always checked by ata_host_intr. This also fixes some questionable code in nv_host_intr which called ata_check_status when a command was pending and ata_host_intr returned "unhandled". If the device interrupted at just the wrong time this could cause interrupts to be lost. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 82490c0937cb455e7e4150455ff52e89a9fc5ab8 Author: Tejun Heo Date: Tue Jan 23 15:13:39 2007 +0900 ahci: make ULi M5288 ignore interface fatal error bit As with JMicron controllers, ULi M5288 sets interface fatal error bit on device error including ATAPI CC. This makes libata hardreset the port on ATAPI CC thus making it impossible to use. Ignore interface fatal error bit on ULi M5288. This fixes bugzilla bug #7837. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 1e5c11fc89ef6663aaa14db1e9e27477f07c24e0 Author: Brian Haley Date: Tue Jan 23 22:32:23 2007 -0800 [SCTP]: Fix compiler warning. > --- a/net/sctp/sm_statefuns.c > +++ b/net/sctp/sm_statefuns.c > @@ -462,24 +461,6 @@ sctp_disposition_t sctp_sf_do_5_1C_ack(const struct sctp_endpoint *ep, > - if (!init_tag) { > - struct sctp_chunk *reply = sctp_make_abort(asoc, chunk, 0); > - if (!reply) > - goto nomem; This introduced a compiler warning, easily fixed. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 6fd8bb881509c6bdc3469b3ed16ec25a3b7cad0e Author: Masahide NAKAMURA Date: Tue Jan 23 22:17:23 2007 -0800 [IP] TUNNEL: Fix to be built with user application. include/linux/if_tunnel.h is broken for user application because it was changed to use __be32 which is required to include linux/types.h in advance but didn't. (This issue is found when building MIPL2 daemon. We are not sure this is the last header to be fixed about __be32.) Signed-off-by: Masahide NAKAMURA Signed-off-by: TAKAMIYA Noriaki Signed-off-by: David S. Miller commit 6a2b9ce0a383059492c93682bc094cce0f705fff Author: Noriaki TAKAMIYA Date: Tue Jan 23 22:09:41 2007 -0800 [IPV6]: Fixed the size of the netlink message notified by inet6_rt_notify(). I think the return value of rt6_nlmsg_size() should includes the amount of RTA_METRICS. Signed-off-by: Noriaki TAKAMIYA Acked-by: Thomas Graf Signed-off-by: David S. Miller commit 52d570aabe921663a987b2e4bae2bdc411cee480 Author: Jarek Poplawski Date: Tue Jan 23 22:07:12 2007 -0800 [TCP]: rare bad TCP checksum with 2.6.19 The patch "Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE" changed to unconditional copying of ip_summed field from collapsed skb. This patch reverts this change. The majority of substantial work including heavy testing and diagnosing by: Michael Tokarev Possible reasons pointed by: Herbert Xu and Patrick McHardy. Signed-off-by: Jarek Poplawski Acked-by: Herbert Xu Signed-off-by: David S. Miller commit bf1c1ee88008fd639ebb5c74f0555fd414369bdc Author: Adrian Bunk Date: Tue Jan 23 22:04:35 2007 -0800 [NET]: Process include/linux/if_{addr,link}.h with unifdef After commit d3dcc077bf88806201093f86325ec656e4dbfbce, include/linux/if_{addr,link}.h should be processed with unifdef. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 2748e5dec7ca8a3804852c7c4171f9156384d15c Author: Patrick McHardy Date: Tue Jan 23 22:00:13 2007 -0800 [NETFILTER]: Fix iptables ABI breakage on (at least) CRIS With the introduction of x_tables we accidentally broke compatibility by defining IPT_TABLE_MAXNAMELEN to XT_FUNCTION_MAXNAMELEN instead of XT_TABLE_MAXNAMELEN, which is two bytes larger. On most architectures it doesn't really matter since we don't have any tables with names that long in the kernel and the structure layout didn't change because of alignment requirements of following members. On CRIS however (and other architectures that don't align data) this changed the structure layout and thus broke compatibility with old iptables binaries. Changing it back will break compatibility with binaries compiled against recent kernels again, but since the breakage has only been there for three releases this seems like the better choice. Spotted by Jonas Berlin . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 778a43fd626b710faca32038afc7460f314ba82a Author: Adrian Bunk Date: Tue Jan 23 21:16:40 2007 -0800 [IRDA] vlsi_ir.{h,c}: remove kernel 2.4 code This patch removes kernel 2.4 compatibility code. Signed-off-by: Adrian Bunk Acked-by: Samuel Ortiz Signed-off-by: David S. Miller commit fb7e2399ec17f1004c0e0ccfd17439f8759ede01 Author: Masayuki Nakagawa Date: Tue Jan 23 20:15:06 2007 -0800 [TCP]: skb is unexpectedly freed. I encountered a kernel panic with my test program, which is a very simple IPv6 client-server program. The server side sets IPV6_RECVPKTINFO on a listening socket, and the client side just sends a message to the server. Then the kernel panic occurs on the server. (If you need the test program, please let me know. I can provide it.) This problem happens because a skb is forcibly freed in tcp_rcv_state_process(). When a socket in listening state(TCP_LISTEN) receives a syn packet, then tcp_v6_conn_request() will be called from tcp_rcv_state_process(). If the tcp_v6_conn_request() successfully returns, the skb would be discarded by __kfree_skb(). However, in case of a listening socket which was already set IPV6_RECVPKTINFO, an address of the skb will be stored in treq->pktopts and a ref count of the skb will be incremented in tcp_v6_conn_request(). But, even if the skb is still in use, the skb will be freed. Then someone still using the freed skb will cause the kernel panic. I suggest to use kfree_skb() instead of __kfree_skb(). Signed-off-by: Masayuki Nakagawa Signed-off-by: David S. Miller commit a6c7ab55dda3e16ab5a3cf6f39585aee5876ac3a Author: Herbert Xu Date: Tue Jan 16 16:52:02 2007 -0800 [IPSEC]: Policy list disorder The recent hashing introduced an off-by-one bug in policy list insertion. Instead of adding after the last entry with a lesser or equal priority, we're adding after the successor of that entry. This patch fixes this and also adds a warning if we detect a duplicate entry in the policy list. This should never happen due to this if clause. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8f1adb5f27d352c776ac34648cc277d1f8199dba Author: Samuel Ortiz Date: Mon Jan 15 19:40:34 2007 -0800 [IrDA]: Removed incorrect IRDA_ASSERT() With USB2.0 bulk out MTU can be 512 bytes, so checking it only for 64 bytes is incorrect. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 3958fb34ef18529c1e4a3eca44b7aaf94d4f4697 Author: Samuel Ortiz Date: Mon Jan 15 19:37:25 2007 -0800 [IrDA]: irda-usb TX path optimization (was Re: IrDA spams logfiles - since 2.6.19) Since we stop using dev_alloc_skb on the IrDA TX frame, we constantly run into the case of the skb headroom being 0, and thus we call skb_cow for every IrDA TX frame. This patch uses a local buffer and memcpy the skb to it, saving us a kmalloc for each of those IrDA TX frames. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 9d0f7d29f38d4f7bf66d38d448a7d23e0bed9074 Author: Andrew Hendry Date: Mon Jan 15 19:29:31 2007 -0800 [X.25]: Add missing sock_put in x25_receive_data __x25_find_socket does a sock_hold. This adds a missing sock_put in x25_receive_data. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit 732ba35e759112be5cecd79d4351084edf88dba7 Author: Vlad Yasevich Date: Mon Jan 15 19:20:21 2007 -0800 [SCTP]: Fix SACK sequence during shutdown Currently, when association enters SHUTDOWN state,the implementation will SACK any DATA first and then transmit the SHUTDOWN chunk. This is against the order required by 2960bis spec. SHUTDOWN must always be first, followed by SACK. This change forces this order and also enables bundling. Signed-off-by: Vlad Yasevich Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 610ab73ac4cc8912fc253bbdc6d1f74bad3c8e3a Author: Vlad Yasevich Date: Mon Jan 15 19:18:30 2007 -0800 [SCTP]: Correctly handle unexpected INIT-ACK chunk. Consider the chunk as Out-of-the-Blue if we don't have an endpoint. Otherwise discard it as before. Signed-off-by: Vlad Yasevich Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit d023f629451ace6f37eb5d2cf29ddd24497c91dc Author: Vlad Yasevich Date: Mon Jan 15 19:15:45 2007 -0800 [SCTP]: Verify some mandatory parameters. Verify init_tag and a_rwnd mandatory parameters in INIT and INIT-ACK chunks. Signed-off-by: Vlad Yasevich Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit ebdfcad4dc2a6851f75fac0a3315046cbd9c4410 Author: Vlad Yasevich Date: Mon Jan 15 19:12:31 2007 -0800 [SCTP]: Set correct error cause value for missing parameters sctp_process_missing_param() needs to use the SCTP_ERROR_MISS_PARAM error cause value. Signed-off-by: Vlad Yasevich Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 16d807988ffaf9b7cbb1966955aa8f738c32e740 Author: Mikael Pettersson Date: Mon Jan 15 17:17:31 2007 -0800 [NETFILTER]: fix xt_state compile failure In file included from net/netfilter/xt_state.c:13: include/net/netfilter/nf_conntrack_compat.h: In function 'nf_ct_l3proto_try_module_get': include/net/netfilter/nf_conntrack_compat.h:70: error: 'PF_INET' undeclared (first use in this function) include/net/netfilter/nf_conntrack_compat.h:70: error: (Each undeclared identifier is reported only once include/net/netfilter/nf_conntrack_compat.h:70: error: for each function it appears in.) include/net/netfilter/nf_conntrack_compat.h:71: warning: control reaches end of non-void function make[2]: *** [net/netfilter/xt_state.o] Error 1 make[1]: *** [net/netfilter] Error 2 make: *** [net] Error 2 A simple fix is to have nf_conntrack_compat.h #include . Signed-off-by: Mikael Pettersson Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c54ea3b95ac504ed81e0ec3acfaa26d0f55bdfa4 Author: Patrick McHardy Date: Mon Jan 15 17:16:03 2007 -0800 [NETFILTER]: ctnetlink: fix leak in ctnetlink_create_conntrack error path Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 334c85569b8adeaa820c0f2fab3c8f0a9dc8b92e Author: Venkat Yekkirala Date: Mon Jan 15 16:38:45 2007 -0800 [SELINUX]: increment flow cache genid Currently, old flow cache entries remain valid even after a reload of SELinux policy. This patch increments the flow cache generation id on policy (re)loads so that flow cache entries are revalidated as needed. Thanks to Herbet Xu for pointing this out. See: http://marc.theaimsgroup.com/?l=linux-netdev&m=116841378704536&w=2 There's also a general issue as well as a solution proposed by David Miller for when flow_cache_genid wraps. I might be submitting a separate patch for that later. I request that this be applied to 2.6.20 since it's a security relevant fix. Signed-off-by: Venkat Yekkirala Signed-off-by: David S. Miller commit d88ae4cc97b24783ee4480697fbdcc02ab4133a6 Author: YOSHIFUJI Hideaki Date: Sun Jan 14 21:48:40 2007 -0800 [IPV6] MCAST: Fix joining all-node multicast group on device initialization. Join all-node multicast group after assignment of dev->ip6_ptr because it must be assigned when ipv6_dev_mc_inc() is called. This fixes Bug#7817, reported by . Closes: 7817 Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e0e8f1c8220c43bdf25cfb5622f6ab6947027fb1 Author: Herbert Xu Date: Wed Jan 10 22:06:32 2007 -0800 [IPSEC] flow: Fix potential memory leak When old flow cache entries that are not at the head of their chain trigger a transient security error they get unlinked along with all the entries preceding them in the chain. The preceding entries are not freed correctly. This patch fixes this by simply leaving the entry around. It's based on a suggestion by Venkat Yekkirala. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 419dd8378dfa32985672ab7927b4bc827f33b332 Author: Oleg Nesterov Date: Tue Jan 23 20:04:13 2007 -0300 V4L/DVB (5123): Buf_qbuf: fix: videobuf_queue->stream corruption and lockup We are doing ->buf_prepare(buf) before adding buf to q->stream list. This means that videobuf_qbuf() should not try to re-add a STATE_PREPARED buffer. Signed-off-by: Oleg Nesterov Signed-off-by: Mauro Carvalho Chehab commit 99ddcc7edbb6b1d35a542f6bf0383f1f5a1aa0b0 Author: Linus Torvalds Date: Tue Jan 23 14:22:35 2007 -0800 Change Linus' email address too This changes a few mentions of my email address to point to the new one, leaving things like old copyright messages alone. Signed-off-by: Linus Torvalds commit 65ebe63420eae40fba73d3b4f79f99adc8e148b3 Author: Stephen Hemminger Date: Tue Jan 23 11:38:57 2007 -0800 [PATCH] email change for shemminger@osdl.org Change my email address to reflect OSDL merger. Signed-off-by: Stephen Hemminger [ The irony. Somebody still has his sign-off message hardcoded in a script or his brainstem ;^] Signed-off-by: Linus Torvalds commit 8528b0f1de1101c6002036fd53638fb21111d0ea Author: Linus Torvalds Date: Tue Jan 23 14:16:31 2007 -0800 Clear spurious irq stat information when adding irq handler Any newly added irq handler may obviously make any old spurious irq status invalid, since the new handler may well be the thing that is supposed to handle any interrupts that came in. So just clear the statistics when adding handlers. Pointed-out-by: Alan Cox Acked-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit d344bff9c36db17dc4765215495aaa7212c1eb6c Author: Dale Farnsworth Date: Tue Jan 23 09:52:25 2007 -0700 mv643xx_eth: Fix race condition in mv643xx_eth_free_tx_descs mv643xx_eth: Fix race condition in mv643xx_eth_free_tx_descs This bug was found and isolated by Thibaut VARENE and Jarek Poplawski . This patch is a modification of their fixes. We acquire and release the lock for each descriptor that is freed to minimize the time the lock is held. Signed-off-by: Jeff Garzik commit 3196265e97c661d9e9be04d5d64ca8ff3186536d Author: Al Viro Date: Tue Jan 23 12:25:08 2007 +0000 s2io bogus memset memset() after kmalloc() on size * 8 would better be on size * 8, not just size; fixed by switching to kcalloc() - it's more idiomatic anyway. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit f66d45e99eb7ca91822c3e3f6d7a98843c9626cb Author: Guy Streeter Date: Tue Jan 23 12:20:04 2007 -0600 [PATCH] correct sys_shmget allocation check As written, sys_shmget will return ENOSPC when one page is still available for allocation. This patch corrects the test. Signed-off-by: Guy Streeter Signed-off-by: Linus Torvalds -- commit 73f66ace34e3d935d1ad01208234f8871ac1f500 Author: Al Viro Date: Tue Jan 23 12:27:04 2007 +0000 [PATCH] fix prototype of csum_ipv6_magic() (ia64) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4384247b6910df91049f8d0bbd5c1075898ac290 Author: Al Viro Date: Tue Jan 23 12:25:08 2007 +0000 [PATCH] s2io bogus memset memset() after kmalloc() on size * 8 would better be on size * 8, not just size; fixed by switching to kcalloc() - it's more idiomatic anyway. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0a3c4bdc1b197a7d37fc75643a68daf45fe0a7cc Author: Al Viro Date: Tue Jan 23 12:25:08 2007 +0000 [PATCH] horizon.c: missing __devinit Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit c3ea6729feb304e0c3be74e8eca001215e78d1bc Author: Al Viro Date: Tue Jan 23 12:25:08 2007 +0000 [PATCH] funsoft: ktermios fix Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 1b5180b65122666a36a1a232b7b9b38b21a9dcdd Author: Ingo Molnar Date: Tue Jan 23 10:45:50 2007 +0100 [PATCH] notifiers: fix blocking_notifier_call_chain() scalability while lock-profiling the -rt kernel i noticed weird contention during mmap-intense workloads, and the tracer showed the following gem, in one of our MM hotpaths: threaded-2771 1.... 65us : sys_munmap (sysenter_do_call) threaded-2771 1.... 66us : profile_munmap (sys_munmap) threaded-2771 1.... 66us : blocking_notifier_call_chain (profile_munmap) threaded-2771 1.... 66us : rt_down_read (blocking_notifier_call_chain) ouch! a global rw-semaphore taken in one of the most performance- sensitive codepaths of the kernel. And i dont even have oprofile enabled! All distro kernels have CONFIG_PROFILING enabled, so this scalability problem affects the majority of Linux users. The fix is to enhance blocking_notifier_call_chain() to only take the lock if there appears to be work on the call-chain. With this patch applied i get nicely saturated system, and much higher munmap performance, on SMP systems. And as a bonus this also fixes a similar scalability bottleneck in the thread-exit codepath: profile_task_exit() ... Signed-off-by: Ingo Molnar Acked-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Linus Torvalds commit 95543179f158b4891c5dc49004853ce081e8d794 Author: Linas Vepstas Date: Tue Jan 23 19:40:54 2007 +0100 [PATCH] elevator: move clearing of unplug flag earlier A flag was recently added to the elevator code to avoid performing an unplug when reuests are being re-queued. The goal of this flag was to avoid a deep recursion that can occur when re-queueing requests after a SCSI device/host reset. See http://lkml.org/lkml/2006/5/17/254 However, that fix added the flag near the bottom of a case statement, where an earlier break (in an if statement) could transport one out of the case, without setting the flag. This patch sets the flag earlier in the case statement. I re-discovered the deep recursion recently during testing; I was told that it was a known problem, and the fix to it was in the kernel I was testing. Indeed it was ... but it didn't fix the bug. With the patch below, I no longer see the bug. Signed-off by: Linas Vepstas Signed-off-by: Jens Axboe Cc: Chris Wright Signed-off-by: Linus Torvalds commit 364ca8a897eadb2f0e76b7f0ffe94168f6d83d66 Author: Yoichi Yuasa Date: Mon Jan 22 23:01:06 2007 +0900 [MIPS] Vr41xx: Fix after GENERIC_HARDIRQS_NO__DO_IRQ change Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit ac8be955049dab828a68b9c68a75144832f8289f Author: Ralf Baechle Date: Sat Jan 20 00:18:01 2007 +0000 [MIPS] SMTC: Instant IPI replay. SMTC pseudo-interrupts between TCs are deferred and queued if the target TC is interrupt-inhibited (IXMT). In the first SMTC prototypes, these queued IPIs were serviced on return to user mode, or on entry into the kernel idle loop. The INSTANT_REPLAY option dispatches them as part of local_irq_restore() processing, which adds runtime overhead (hence the option to turn it off), but ensures that IPIs are handled promptly even under heavy I/O interrupt load. Signed-off-by: Ralf Baechle commit 3a7122923e87fc5cdf8affa1845924a0def4657d Author: Jeff Chua Date: Mon Jan 22 20:40:50 2007 -0800 [PATCH] acpi: remove "video device notify" message Seems to be some left-over debug code. Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee8bb9eae66d3d5558b685f71b52bd8bc4ba5a62 Author: Horms Date: Mon Jan 22 20:40:49 2007 -0800 [PATCH] Kdump documentation update: ia64 portion this patch fills in the portions for ia64 kexec. Signed-off-by: Simon Horman Cc: "Zou, Nanhai" Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea112bd5493d44967b3dc44fd078be517272b044 Author: Horms Date: Mon Jan 22 20:40:48 2007 -0800 [PATCH] Kdump documentation update: kexec-tools update Mohan Kumar suggested making kexec-tools-testing.tar.gz a link to the latest version. I have done this and this patch updates the documentation accordingly. Signed-off-by: Simon Horman Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de14569f94513279e3d44d9571a421e9da1759ae Author: Vladimir Saveliev Date: Mon Jan 22 20:40:46 2007 -0800 [PATCH] resierfs: avoid tail packing if an inode was ever mmapped This patch fixes a confusion reiserfs has for a long time. On release file operation reiserfs used to try to pack file data stored in last incomplete page of some files into metadata blocks. After packing the page got cleared with clear_page_dirty. It did not take into account that the page may be mmaped into other process's address space. Recent replacement for clear_page_dirty cancel_dirty_page found the confusion with sanity check that page has to be not mapped. The patch fixes the confusion by making reiserfs avoid tail packing if an inode was ever mmapped. reiserfs_mmap and reiserfs_file_release are serialized with mutex in reiserfs specific inode. reiserfs_mmap locks the mutex and sets a bit in reiserfs specific inode flags. reiserfs_file_release checks the bit having the mutex locked. If bit is set - tail packing is avoided. This eliminates a possibility that mmapped page gets cancel_page_dirty-ed. Signed-off-by: Vladimir Saveliev Cc: Jeff Mahoney Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30150f8d7b76f25b1127a5079528b7a17307f995 Author: Christoph Lameter Date: Mon Jan 22 20:40:45 2007 -0800 [PATCH] mbind: restrict nodes to the currently allowed cpuset Currently one can specify an arbitrary node mask to mbind that includes nodes not allowed. If that is done with an interleave policy then we will go around all the nodes. Those outside of the currently allowed cpuset will be redirected to the border nodes. Interleave will then create imbalances at the borders of the cpuset. This patch restricts the nodes to the currently allowed cpuset. The RFC for this patch was discussed at http://marc.theaimsgroup.com/?t=116793842100004&r=1&w=2 Signed-off-by: Christoph Lameter Cc: Paul Jackson Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79603a35009ff39562cd5634fa1cf513eb080f27 Author: Mark Gross Date: Mon Jan 22 20:40:44 2007 -0800 [PATCH] tlclk: bug fix + misc fixes The following patch fixes a few problems with the tlclk driver. * bug in the select_amcb1_transmit_clock * racy read sys call * racy open sys call * use of add_timer where mod_timer would be better * change to the timer data parameter use Signed-off-by: Mark Gross Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cda9205da24aeaa8fb086b0fb85cdf39571ecc3f Author: Chen, Kenneth W Date: Mon Jan 22 20:40:43 2007 -0800 [PATCH] fix blk_direct_IO bio preparation For large size DIO that needs multiple bio, one full page worth of data was lost at the boundary of bio's maximum sector or segment limits. After a bio is full and got submitted. The outer while (nbytes) { ... } loop will allocate a new bio and just march on to index into next page. It just forgets about the page that bio_add_page() rejected when previous bio is full. Fix it by put the rejected page back to pvec so we pick it up again for the next bio. Signed-off-by: Ken Chen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15c945c3d0913d73a7d57d7a0a3c4e2902598cc6 Author: Jamie Lenehan Date: Mon Jan 22 20:40:41 2007 -0800 [PATCH] rtc-sh: act on rtc_wkalrm.enabled when setting an alarm This fixes the SH rtc driver correctly act on the "enabled" flag when setting an alarm. Signed-off-by: Jamie Lenehan Cc: David Brownell Cc: Alessandro Zummo Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc3dffe12148b9612870eb21b24f2aecefa9ea24 Author: Avi Kivity Date: Mon Jan 22 20:40:40 2007 -0800 [PATCH] KVM: fix bogus pagefault on writable pages If a page is marked as dirty in the guest pte, set_pte_common() can set the writable bit on newly-instantiated shadow pte. This optimization avoids a write fault after the initial read fault. However, if a write fault instantiates the pte, fix_write_pf() incorrectly reports the fault as a guest page fault, and the guest oopses on what appears to be a correctly-mapped page. Fix is to detect the condition and only report a guest page fault on a user access to a kernel page. With the fix, a kvm guest can survive a whole night of running the kernel hacker's screensaver (make -j9 in a loop). Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 038e51de2e7ae2c8e9d8a0b15231f8509875dc33 Author: Avi Kivity Date: Mon Jan 22 20:40:40 2007 -0800 [PATCH] KVM: x86 emulator: fix bit string instructions The various bit string instructions (bts, btc, etc.) fail to adjust the address correctly if the bit address is beyond BITS_PER_LONG. This bug creeped in as the emulator originally relied on cr2 to contain the memory address; however we now decode it from the mod r/m bits, and must adjust the offset to account for large bit indices. The patch is rather large because it switches src and dst decoding around, so that the bit index is available when decoding the memory address. This fixes workloads like the FC5 installer. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cccf748b810832cfab4dbb3ed4c7cf1a1ee35ad2 Author: Avi Kivity Date: Mon Jan 22 20:40:39 2007 -0800 [PATCH] KVM: fix race between mmio reads and injected interrupts The kvm mmio read path looks like: 1. guest read faults 2. kvm emulates read, calls emulator_read_emulated() 3. fails as a read requires userspace help 4. exit to userspace 5. userspace emulates read, kvm sets vcpu->mmio_read_completed 6. re-enter guest, fault again 7. kvm emulates read, calls emulator_read_emulated() 8. succeeds as vcpu->mmio_read_emulated is set 9. instruction completes and guest is resumed A problem surfaces if the userspace exit (step 5) also requests an interrupt injection. In that case, the guest does not re-execute the original instruction, but the interrupt handler. The next time an mmio read is exectued (likely for a different address), step 3 will find vcpu->mmio_read_completed set and return the value read for the original instruction. The problem manifested itself in a few annoying ways: - little squares appear randomly on console when switching virtual terminals - ne2000 fails under nfs read load - rtl8139 complains about "pci errors" even though the device model is incapable of issuing them. Fix by skipping interrupt injection if an mmio read is pending. A better fix is to avoid re-entry into the guest, and re-emulating immediately instead. However that's a bit more complex. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 084384754ebe6636f9e5554ad30b3143b4a26c84 Author: Avi Kivity Date: Mon Jan 22 20:40:38 2007 -0800 [PATCH] KVM: make sure there is a vcpu context loaded when destroying the mmu This makes the vmwrite errors on vm shutdown go away. Signed-off-by: Avi Kivity Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dbe5a111382fd1320ff4b1d889e5b8c41290619 Author: Ingo Molnar Date: Mon Jan 22 20:40:36 2007 -0800 [PATCH] paravirt: mark the paravirt_ops export internal The paravirt subsystem is still in flux so all exports from it are definitely internal use only. The APIs around this /will/ change. Signed-off-by: Ingo Molnar Cc: Andi Kleen Cc: Zachary Amsden Cc: Jeremy Fitzhardinge Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a517b9f9fe8e57437b0b9b50e279220aaf651268 Author: Andrew Morton Date: Mon Jan 22 20:40:36 2007 -0800 [PATCH] SubmitChecklist update Sing the praises of `gcc -W'. Would have prevented that blockdev direct-IO bug. Cc: "Chen, Kenneth W" Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 790816dd54e22827f63c8cbb30bd623d3d45e594 Author: Andrew Morton Date: Mon Jan 22 20:40:35 2007 -0800 [PATCH] blockdev direct_io: fix signedness bug size_t is unsigned. IO errors aren't getting through. Cc: "Chen, Kenneth W" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58d9ce7d751fa11c6c8ea5dcd4d63b320aae1363 Author: Venkatesh Pallipadi Date: Mon Jan 22 20:40:34 2007 -0800 [PATCH] Revert nmi_known_cpu() check during boot option parsing Commit f2802e7f571c05f9a901b1f5bd144aa730ccc88e and its x86 version (b7471c6da94d30d3deadc55986cc38d1ff57f9ca) adds nmi_known_cpu() check while parsing boot options in x86_64 and i386. With that, "nmi_watchdog=2" stops working for me on Intel Core 2 CPU based system. The problem is, setup_nmi_watchdog is called while parsing the boot option and identify_cpu is not done yet. So, the return value of nmi_known_cpu() is not valid at this point. So revert that check. This should not have any adverse effect as the nmi_known_cpu() check is done again later in enable_lapic_nmi_watchdog(). Signed-off-by: Venkatesh Pallipadi Cc: Don Zickus Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbe1a59b3a3d4af3869647d294618a23f6c9c6a4 Author: Andrew Morton Date: Mon Jan 22 20:40:33 2007 -0800 [PATCH] fix "kvm: add vm exit profiling" export profile_hits() on !SMP too. Cc: Ingo Molnar Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc6191b10018311a301fb6ef22994177c769b868 Author: Karsten Wiese Date: Wed Jan 10 19:02:26 2007 +0100 [ALSA] Repair snd-usb-usx2y over OHCI The previous patch 'Repair snd-usb-usx2y for usb 2.6.18' assumed urb->start_frame roll over beyond MAX_INT for both UHCI & OHCI. This isn't true until now (kernel 2.6.20). Fix this by only looking at the common between OHCI & UHCI Frame number range. This is for mainline and stable kernels >= 2.6.18. Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 184231bdb41fc4c385ae8e115f5afaff02fe1690 Author: Amit S. Kale Date: Mon Jan 22 06:52:53 2007 -0800 NetXen: Use pci_register_driver() instead of pci_module_init() in init_module This will use pci_register_driver() instead of pci_module_init(). Signed-off-by: Amit S. Kale Signed-off-by: Richard Knutsson Signed-off-by: Jeff Garzik commit 90f8b1d295e0c4a2148776e6cf801391cf07ae92 Author: Amit S. Kale Date: Mon Jan 22 06:38:05 2007 -0800 NetXen: Firmware check modifications This patch is to make the driver work with multiple minor firmware versions Signed-off-by: Amit S. Kale Signed-off-by: Jeff Garzik commit 41b69c705152e93b3c6c872678dffd8a19b14d61 Author: Thomas Klein Date: Mon Jan 22 12:55:20 2007 +0100 ehea: Fixed possible nullpointer access Fixed possible nullpointer access in event queue processing Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit bb3a6449c18f6203e59195a98d633f5b5b57c133 Author: Thomas Klein Date: Mon Jan 22 12:54:50 2007 +0100 ehea: Added logging off associated errors Added logging of error events associated with a specific queue pair Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 7674a588e93c6fa1fde8e452a4c025c49037cb96 Author: Thomas Klein Date: Mon Jan 22 12:54:20 2007 +0100 ehea: Improved logging of permission issues Disabled dump of hcall regs on some permission issues and fixed appropriate misleading logmessages Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 4e996b32e0585756c335b35980dc68852c33f297 Author: Thomas Klein Date: Mon Jan 22 12:53:50 2007 +0100 ehea: New method to determine number of available ports Count OFDT nodes to determine the number of available ports instead of using the possibly outdated value from the hypervisor Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit e919b5938b11e1d48a6dcdcb2860e890a954f10d Author: Thomas Klein Date: Mon Jan 22 12:53:20 2007 +0100 ehea: Modified initial autoneg state determination Logical partitions are not allowed to (try to) set the autonegotiation status. This patch removes the respective function call from the port setup function. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 602e0d100daa9ba9bc7c17e0014a6f76b638dc80 Author: Thomas Klein Date: Mon Jan 22 12:52:50 2007 +0100 ehea: Fixing firmware queue config issue Fix to use exactly one queue for incoming packets in all firmware configurations Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 061bf3cdba753ae7b52fba8cc324d81adac77696 Author: Thomas Klein Date: Mon Jan 22 12:52:20 2007 +0100 ehea: Fixed wrong dereferencation Not only check the pointer against 0 but also the dereferenced value Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 9f6d55d0846dd8628fd3eac15be377c4d3493c3e Author: Kumar Gala Date: Sat Jan 20 16:38:26 2007 -0600 PHY: Export phy ethtool helpers We need to export phy_ethtool_gset and phy_ethtool_sset to allow drivers that use these functions to be built as modules. Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik commit b3a242b75361936ab9a42c42c44ea35e79a9d4cd Author: Adrian Bunk Date: Thu Jan 11 14:49:44 2007 +0100 more ftape removal This patch removes some more ftape code. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 54b290a2ecfbfb8613fbf854f9c45667821d9b8d Author: Jeff Garzik Date: Tue Jan 23 00:29:01 2007 -0500 Note that JFFS (v1) is to be deleted, in feature-removal-schedule.txt It is already noted in Kconfig, but the listing in this file was accidentally forgotten. Signed-off-by: Jeff Garzik commit d08d283974f96cb30d78ba24282a0a7d6709af32 Author: Komuro Date: Sat Dec 2 11:53:27 2006 +0900 modify 3c589_cs to be SMP safe 1. EL3WINDOW is always 1 when lock is not held. 2. The second argument of el3_interrupt is 'void *dev_id', not 'struct el3_private *lp'. Signed-off-by: komurojun-mbn@nifty.com Signed-off-by: Jeff Garzik commit 9ee79a3d372fcb6729893437f4923c5efd1f85db Author: James Bottomley Date: Mon Jan 22 09:18:31 2007 -0600 [PATCH] x86: fix PDA variables to work during boot The current PDA code, which went in in post 2.6.19 has a flaw in that it doesn't correctly cycle the GDT and %GS segment through the boot PDA, the CPU PDA and finally the per-cpu PDA. The bug generally doesn't show up if the boot CPU id is zero, but everything falls apart for a non zero boot CPU id. The basically kills voyager which is perfectly capable of doing non zero CPU id boots, so voyager currently won't boot without this. The fix is to be careful and actually do the GDT setups correctly. Signed-off-by: James Bottomley Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Andrew Morton Signed-off-by: Linus Torvalds commit e00154891137e3b0659556b877d45a16cabd700c Author: Herbert Xu Date: Tue Jan 23 14:10:00 2007 +1100 [PATCH] vmx: Fix register constraint in launch code Both "=r" and "=g" breaks my build on i386: $ make CC [M] drivers/kvm/vmx.o {standard input}: Assembler messages: {standard input}:3318: Error: bad register name `%sil' make[1]: *** [drivers/kvm/vmx.o] Error 1 make: *** [_module_drivers/kvm] Error 2 The reason is that setbe requires an 8-bit register but "=r" does not constrain the target register to be one that has an 8-bit version on i386. According to http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10153 the correct constraint is "=q". Signed-off-by: Herbert Xu Signed-off-by: Linus Torvalds commit cea9ea67e9927da18af89b49bd949a8d65ba1b15 Author: Hoang-Nam Nguyen Date: Fri Jan 19 22:50:10 2007 +0100 IB/ehca: Fix mismatched spin_unlock in irq handler The lock is taken with _irqsave and hence must be released with _irqrestore on all paths. Signed-off-by Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit ce29d72cc737df3573854a4719f00385adf1c9a6 Author: Hoang-Nam Nguyen Date: Fri Jan 19 22:50:10 2007 +0100 IB/ehca: Fix improper use of yield() with spinlock held Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit a20f3a6d7e67a8aee571fb04634a631ba59f6e92 Author: Ishai Rabinovitz Date: Tue Jan 16 17:20:25 2007 +0200 IB/srp: Check match_strdup() return Checks if the kmalloc in match_strdup() was successful, and bail out on looking at the token if it failed. Signed-off-by: Ishai Rabinovitz Signed-off-by: Roland Dreier commit 847641d7db15ac3f18b3d4aa05479812abdf397a Author: Marcel Holtmann Date: Mon Jan 22 22:00:45 2007 +0100 [Bluetooth] Restrict well known PSM to privileged users The PSM values below 0x1001 of L2CAP are reserved for well known services. Restrict the possibility to bind them to privileged users. Signed-off-by: Marcel Holtmann commit 7386397636d49cd5f03da29432467d3e98cbad35 Author: Marcel Holtmann Date: Mon Jan 22 22:00:40 2007 +0100 [Bluetooth] Missing endian swapping for L2CAP socket list The PSM value in the L2CAP socket list must be converted to host order before printing it. Signed-off-by: Marcel Holtmann commit ae9608af9e300395ec032479621f32688c121141 Author: Randy Dunlap Date: Tue Jan 9 21:41:01 2007 -0800 PCI: fix pci-driver kernel-doc Function short description should be on only one line. Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 74da15eb1188ba9f22f7eba2c0dc56bbffcc597b Author: Grant Grundler Date: Mon Dec 25 01:06:35 2006 -0700 PCI: rework Documentation/pci.txt Rewrite Documentation/pci.txt: o restructure document to match how API is used when writing init code. o update to reflect changes in struct pci_driver function pointers. o removed language on "new style vs old style" device discovery. "Old style" is now deprecated. Don't use it. Left description in to document existing driver behaviors. o add section "Legacy I/O Port free driver" by Kenji Kaneshige http://lkml.org/lkml/2006/11/22/25 (renamed to "pci_enable_device_bars() and Legacy I/O Port space") o add "MMIO space and write posting" section to help avoid common pitfall when converting drivers from IO Port space to MMIO space. Orignally posted http://lkml.org/lkml/2006/2/27/24 o many typo/grammer/spelling corrections from Randy Dunlap o two more spelling corrections from Stephan Richter o fix CodingStyle as per Randy Dunlap Signed-off-by: Grant Grundler Signed-off-by: Greg Kroah-Hartman commit 2e45785c529e0c60b1801b4fabacb05e0b8cdf87 Author: Jean Delvare Date: Fri Jan 5 09:17:56 2007 +0100 PCI: Unhide the SMBus on the Asus P4P800-X Unhide the SMBus on the Asus P4P800-X (and probably some other models of the family.) This gives access to the memory module SPD EEPROMs. Thanks to Winbond for supporting the lm-sensors project with the donation of this motherboard. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 39559b4ff89e390c42633d23d257e793a1177e03 Author: Manuel Osdoba Date: Thu Jan 18 21:28:45 2007 +0100 USB: unusual_devs.h entry for nokia 6233 In appendix a patch for the nokia 6233 mobile phone is included. The patch is against 2.6.20-rc5. It is my first patch. Hopefully it has the right format. The code makes my nokia 6233 on my computer work. From: Manuel Osdoba Signed-off-by: Greg Kroah-Hartman commit caaf26325d70f5b559a647d4c11d84ef5a3341a4 Author: Petr Stetiar Date: Wed Jan 17 06:30:39 2007 -0800 USB: Fix for typo in ohci-ep93xx.c Attached patch fixes typo in USB driver reported by Chase Douglas on linux-cirrus mailing list. http://www.freelists.org/archives/linux-cirrus/12-2006/msg00003.html Signed-off-by: Petr Stetiar Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit b1bf4f412b4818869106ffcb5304d69551697b9c Author: Greg Kroah-Hartman Date: Tue Jan 16 15:41:03 2007 -0800 USB: disable USB_MULTITHREAD_PROBE Disable the USB_MULTITHREAD_PROBE option because it causes crashes on people's machines and they never remember to actually read the config help files. No one likes this, everyone hates it, I'm going to go eat worms... The full logic will be ripped out later. Signed-off-by: Greg Kroah-Hartman commit 53e8f84dc68f29c724bbb7e0675040386f6143ae Author: garrett_damore@tadpole.com Date: Fri Jan 12 17:10:28 2007 -0800 USB: add vendor/device id for Option GT Max 3.6 cards This fixes http://bugzilla.kernel.org/show_bug.cgi?id=7814 Signed-off-by: Greg Kroah-Hartman commit 379885a9b204dec9d0009b6b450e104389b4a590 Author: Pete Zaitcev Date: Sat Jan 13 15:17:46 2007 -0800 USB: unusual_devs.h for 0x046b:ff40 American Megatrends did something wrong in their floppy emulator. It breaks with both kinds of MODE SENSE which our stack sends. Alan and I tried a few tweaks, and got LUNs sensed right, but US_FL_NO_WP_DETECT is still needed. I set the firmware bracket to 1.00 exactly, in case AMI or Sun fix it with a firmware update. Hey, you never know. Signed-off-by: Pete Zaitcev Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit 8d2bad8788a6f968247df409f50c757b1a5489f4 Author: Oliver Neukum Date: Thu Jan 11 10:14:33 2007 +0100 USB: make usbhid ignore Imation Disc Stakka on request of the sourceforge project for this device, a kind of robotized CD storage, it should be ignored by the generic driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit deb31f1764e0a11bcfe8d44e0658f83d83860e84 Author: Daniel Gollub Date: Tue Jan 16 11:03:01 2007 +0100 USB: rndis_host: fix crash while probing a Nokia S60 mobile Bug fix for driver rndis_host which fixes rndis_host probing certain Nokia S60 (Series 60) mobiles. While the rndis_host get probed by usbnet and tries to bind the Nokia mobile the bind is going to fail. The rndis_host module tries to release the device, in a wrong way, which cause the oops. Fixes Bugzilla #7201 Signed-off-by: Daniel Gollub Signed-off-by: Greg Kroah-Hartman commit d0ffff8fddd5853e4b2b101790ac0c3690655af5 Author: Andres Salomon Date: Thu Jan 11 18:39:16 2007 -0500 USB: asix: Detect internal PHY and enable/use accordingly Different AX88772 dongles use different PHYs; the chip is capable of using both a primary and secondary PHY, and supports an internal and external PHY. It appears that some DUB-E100 devices use the internal PHY, so trying to use an external one will not work (note that this is different across revisions, as well; the "A" and "B" revs of the DUB-E100 use different PHYs!). The data sheet for the AX88772 chip specifies that the internal PHY id will be 0x10, so if that's read from the EEPROM, we should use that rather than attempting to use an external PHY. Thanks to Mitch Bradley for pointing this out! Signed-off-by: Andres Salomon Cc: David Hollis Cc: Chris Ball Signed-off-by: Greg Kroah-Hartman commit c9d8c2b324d24ffb4fdcd93b3f752530a5a0a591 Author: Daniel Ritz Date: Mon Dec 11 18:17:45 2006 +0100 usbtouchscreen: make ITM screens report BTN_TOUCH as zero when not touched ITM screens send invalid x/y data when not touched. this was fixes a while ago but the problem is if the screen is not touched anymore the driver never does not report BTN_TOUCH as zero. fix it by sending the report with the last valid coordinates when pressure is released. Signed-off-by: Daniel Ritz Cc: J.P. Delport Signed-off-by: Greg Kroah-Hartman commit 6d3154cc1143f62c3b80d9929caeaec6db8cb451 Author: Linus Torvalds Date: Mon Jan 22 08:53:24 2007 -0800 Revert "[PATCH] Fix up mmap_kmem" This reverts commit 99a10a60ba9bedcf5d70ef81414d3e03816afa3f. As per Hugh Dickins: "Nadia Derbey has reported that mmap of /dev/kmem no longer works with the kernel virtual address as offset, and Franck has confirmed that his patch came from a misunderstanding of what an offset means to /dev/kmem - whereas his patch description seems to say that he was correcting the offset on a few plaforms, there was no such problem to correct, and his patch was in fact changing its API on all platforms." Suggested-by: Hugh Dickins Cc: Franck Bui-Huu Cc: Nadia Derbey Cc: Andi Kleen Cc: Arjan van de Ven Cc: Andrew Morton Signed-off-by: Linus Torvalds commit e89debcd18a3ef74b27894e479d6b9e658fc6de6 Author: Paul Mackerras Date: Mon Jan 22 22:39:24 2007 +1100 [POWERPC] Update defconfigs Mostly took the defaults, except tried to get the netfilter options more or less as they were before. Signed-off-by: Paul Mackerras commit 434f98c48fc1d2a1f562a28a1562a7b53e940957 Author: Robert Jennings Date: Wed Jan 17 10:50:20 2007 -0600 [POWERPC] atomic_dec_if_positive sign extension fix On 64-bit machines, if an atomic counter is explicitly set to a negative value, the atomic_dec_if_positive function will decrement and store the next smallest value in the atomic counter, contrary to its intended operation. The comparison to determine if the decrement will make the result negative was done by the "addic." instruction, which operates on a 64-bit value, namely the zero-extended word loaded from the atomic variable. This patch uses an explicit word compare (cmpwi) and changes the addic. to an addi (also changing "=&r" to "=&b" so that r0 isn't used, and addi doesn't become li). This also fixes a bug for both 32-bit and 64-bit in that previously 0x80000000 was considered positive, since the result after decrementing is positive. Now it is considered negative. Also, I clarify the return value in the comments just to make it clear that the value returned is always the decremented value, even if that value is not stored back to the atomic counter. Signed-off-by: Robert Jennings Signed-off-by: Paul Mackerras commit 06cd9396778d5b70ba27fa8158db78d6bc0f007b Author: Li Yang Date: Wed Jan 17 14:42:22 2007 +0800 [POWERPC] Fix OF node refcnt underflow in 836x and 832x platform code Incorrect use of of_find_node_by_name() causes of_node_put() on a node which has already been put. It causes the refcount of the node to underflow, which triggers the WARN_ON in kref_get for 836x and 832x. This fixes it. Signed-off-by: Li Yang Signed-off-by: Paul Mackerras commit 121361f72ca93cb6710e368bb89f9d976b1da443 Author: Grant Likely Date: Fri Jan 19 00:00:14 2007 -0700 [POWERPC] Make it blatantly clear; mpc5200 device tree is not yet stable Documentation-only change. The 5200 device tree layout has not yet stablized, so nobody should depend on the layout of the tree. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 77319254f109963213f33cbb15e0103f2e81a64a Author: Linas Vepstas Date: Wed Jan 10 19:16:29 2007 -0600 [POWERPC] Fix broken DMA on non-LPAR pSeries It appears that the iommu table address is never stored, and thus never found, on non-lpar systems. Thus, for example, during boot: <7>[ 93.067916] PCI: Scanning bus 0001:41 <7>[ 93.068542] PCI: Found 0001:41:01.0 [8086/100f] 000200 00 <7>[ 93.068550] PCI: Calling quirk c0000000007822e0 for 0001:41:01.0 <7>[ 93.069815] PCI: Fixups for bus 0001:41 <4>[ 93.070167] iommu: Device 0001:41:01.0 has no iommu table <7>[ 93.070251] PCI: Bus scan for 0001:41 returning with max=41 No iommu table? How can that be? Well, circa line 471 of arch/powerpc/platforms/pseries/iommu.c we see the code: while (dn && PCI_DN(dn) && PCI_DN(dn)->iommu_table == NULL) dn = dn->parent; and a few lines later is the surprising print statement about the missing table. Seems that this loop ran unto the end, never once finding a non-null PCI_DN(dn)->iommu_table. The problem can be found a few lines earlier: it sems that the value of PCI_DN(dn)->iommu_table is never ever set. Thus, the patch sets it. The patch was tested on a Power4 system running in full system partition mode, which is where I saw the problem. It works; I've not done any wider testing. Had a brief discussion on this on irc. Signed-off-by: Linas Vepstas Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6984ee797a8798128e94ab2447c8ed91f0156eb5 Author: Benjamin Herrenschmidt Date: Thu Jan 11 16:08:41 2007 +1100 [POWERPC] Fix cell's mmio nvram to properly parse device tree The mmio nvram driver (used by cell only atm) isn't properly parsing the device-tree, meaning that nvram isn't found correctly on the new Cell blades. It works ok for old blades where the nvram is at the root of the device tree but fails on Malta and CAB when it's hanging off axon. This fixes it by using the proper OF parsing functions. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4ef6e68117e93111590d9d4ada1a282304241169 Author: Benjamin Herrenschmidt Date: Thu Jan 11 16:38:22 2007 +1100 [POWERPC] Remove bogus sanity check in pci -> OF node code The new implementation of pci_device_to_OF_node() on ppc32 has a bogus sanity check in it that can cause oopses at boot when no device node is present, and might hit correct cases with older/weird apple device-trees where they have the type "vci" for the chaos bridge. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 8e6f195af0e1f226e9b2e0256af8df46adb9d595 Author: Steve French Date: Mon Jan 22 01:19:30 2007 +0000 [CIFS] Fix oops when Windows server sent bad domain name null terminator Fixes RedHat bug 211672 Windows sends one byte (instead of two) of null to terminate final Unicode string (domain name) in session setup response in some cases - this caused cifs to misalign some informational strings (making it hard to convert from UCS16 to UTF8). Thanks to Shaggy for his help and Akemi Yagi for debugging/testing Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit 50af94b14c98f5769860a282a397c6f3b135c8a8 Author: Mark Fasheh Date: Sun Jan 21 14:44:59 2007 -0800 ocfs2: Add backup superblock info to ocfs2_fs.h This synchronizes us with recent ocfs2-tools changes. Signed-off-by: Mark Fasheh commit 6a1bd4a5788435b6ef1664383604b43607eb825a Author: Mark Fasheh Date: Wed Jan 3 17:06:59 2007 -0800 ocfs2: cleanup ocfs2_iget() errors Get rid of some error prints in the ocfs2_iget() path from ocfs2_get_dentry(). NFSD can easily cause us to read stale inodes. Signed-off-by: Mark Fasheh commit 592282cf2eaa33409c6511ddd3f3ecaa57daeaaa Author: Mark Fasheh Date: Tue Jan 2 17:59:40 2007 -0800 ocfs2: Directory c/mtime update fixes ocfs2 wasn't updating c/mtime on directories during dirent creation/deletion. Fix ocfs2_unlink(), ocfs2_rename() and __ocfs2_add_entry() by adding the proper code to update the struct inode and push the change out to disk. This helps rename/unlink on nfs exported file systems in particular as those clients compare directory time values to avoid a full re-reading a directory which hasn't changed. ocfs2_rename() loses some superfluous error handling as a result of this patch. Signed-off-by: Mark Fasheh commit 72bce5078d124a8b13fb167aea028b6e8d91873e Author: Mark Fasheh Date: Wed Jan 3 17:25:40 2007 -0800 ocfs2: Don't print errors when following symlinks We shouldn't print errors returned from vfs_follow_link(). This was causing spurious errors to show up in the logs. Signed-off-by: Mark Fasheh commit bd2abf177b3384375c43906be551d976e4c18166 Author: Steve French Date: Sun Jan 21 23:19:01 2007 +0000 [CIFS] cifs sprintf fix Cc: Signed-off-by: Andrew Morton Signed-off-by: Steve French commit 76849e3e97a95f1ef4627b10305d38a686fab112 Author: Steve French Date: Sun Jan 21 22:56:22 2007 +0000 [CIFS] Remove 2 unneeded kzalloc casts Signed-off-by: Ahmed Darwish Signed-off-by: Steve French commit d8c8a393166d6283003fb111d0b4a40931c0eda4 Author: Jeremy Roberson Date: Fri Jan 19 15:44:18 2007 -0700 hid-core.c: Adds GTCO CalComp Interwrite IPanel PIDs to blacklist Adds GTCO CalComp Interwrite IPanels to the hid-core.c blacklist. Signed-off-by: Jeremy A. Roberson Signed-off-by: Jiri Kosina commit be8209753b014f2d7a92b2ec3ff82db478fc86d1 Author: Anssi Hannula Date: Fri Jan 19 19:28:17 2007 +0200 HID: put usb_interface instead of usb_device into hid->dev to fix udevinfo breakage The commit 4916b3a57fc94664677d439b911b8aaf86c7ec23 introduced a hid regression between 2.6.19 and 2.6.20-rc1. The device put in input_dev->cdev is now of type usb_device instead of usb_interface. Before: > # readlink -f /sys/class/input/input6/event4/device > /sys/devices/pci0000:00/0000:00:10.0/usb2/2-1/2-1:1.1 After: > # readlink -f /sys/class/input/input3/event3/device > /sys/devices/pci0000:00/0000:00:10.0/usb1/1-1 This causes breakage: > # udevinfo -q all -n /dev/input/event3 > P: /class/input/input3/event3 > N: input/event3 > S: input/by-path/pci-1-1--event- > E: ID_SERIAL=noserial > E: ID_PATH=pci-1-1- No ID_MODEL, ID_VENDOR, ID_REVISION, ID_TYPE etc etc. Fix this by assigning the intf->dev into hid->dev, and fixing all the users. Signed-off-by: Anssi Hannula Signed-off-by: Jiri Kosina commit f7ebf99eb489a02dba2e5a071fde9f5354275a50 Author: Simon Budig Date: Mon Jan 15 18:34:32 2007 +0100 HID: add missing RX, RZ and RY enum values to hid-debug output This trivial change adds some missing enum values to the hid-debug output. Signed-off-by: Simon Budig Signed-off-by: Jiri Kosina commit 1f3ab013336e76687441462961000157c8980bb8 Author: Jiri Kosina Date: Tue Jan 16 00:30:42 2007 +0100 HID: hid/hid-input.c doesn't need to include linux/usb/input.h There is no reason for generic hid-input.c to include usb-specific input.h. As a sideeffect, this also fixes warning of redefinition of dbg() macro, when hid-input.c is compiled with DEBUG (as there is a clash between dbg() from hid.h and usb/input.h). Signed-off-by: Jiri Kosina commit e54dea69bac12dae2ff27c1c7a472d4eee70638d Author: Jiri Kosina Date: Mon Jan 15 23:53:05 2007 +0100 HID: compilation fix when DEBUG_DATA is defined hid/hid-core.c references 'len' variable when DEBUG_DATA is defined, but the actual name of the variable is 'size'. Fix it. Signed-off-by: Jiri Kosina commit d4ae650a904612ffb7edd3f28b69b022988d2466 Author: Simon Budig Date: Mon Jan 15 17:28:47 2007 +0100 HID: proper LED-mapping for SpaceNavigator This change introduces a mapping for LED indicators between the HID specification and the Linux input subsystem. The previous code properly mapped the LEDs relevant for Keyboards, but garbeled the remaining ones. With this change all LED enums from the input system get mapped to more or less equivalent LED numbers from the HID specification. This patch also ensures that the unused bits in a HID report to the device are zeroed out. This makes the 3Dconnexion SpaceNavigator fully usable with the linux input system. Signed-off-by: Simon Budig Signed-off-by: Jiri Kosina commit 641266fdaa3c137c632f8ad2e4124248bafe7a98 Author: Jiri Kosina Date: Mon Jan 15 09:56:21 2007 +0100 HID: update MAINTAINERS entry for USB-HID Change USB-HID maintainer from Vojtech Pavlik to Jiri Kosina. Acked-by: Vojtech Pavlik Signed-off-by: Jiri Kosina commit 694400641b0da92d88db60821235aa69eb8fa556 Author: Adrian Friedli Date: Sun Jan 14 22:12:43 2007 +0100 HID: GEYSER4_ISO needs quirk I've got a newer MacBook with core2duo. Two keys on the keyboard are swapped, "unswaping" works with the same trick as GEYSER3_ISO. Signed-off-by: Adrian Friedli Signed-off-by: Jiri Kosina commit e7c4e1a58f320bafb194a411a41de29abc19315f Author: Russell King Date: Fri Jan 12 21:53:51 2007 +0000 HID: fix some ARM builds due to HID brokenness - make USB_HID depend on INPUT We have USB_HID _newly_ selected in configurations which didn't have it before, which overrides CONFIG_HID and builds HID without input support. Nevertheless, here's a patch to solve more of the same that my original patch attempted to solve. The original patch is still required. Seems to solve the final instance of this problem here. Signed-off-by: Russell King Signed-off-by: Jiri Kosina commit e93f09dc2d49d8e98818a93ad17f3ede91533738 Author: Olof Johansson Date: Thu Jan 18 18:39:59 2007 -0600 sata_mv HighPoint 2310 support (88SX7042) With the following patch, my HighPoint 2310 with a Marvell 88SX7042 on it seems to work OK. The controller only has 4 ports, with MV_FLAG_DUAL_HC it seems to init 8 ports and fails miserably at probe time. There are no other devices mapped to that chip, maybe it was just incorrectly specified in the first place? Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 79a55b72a1996f77e9d23c7a5282e5839d45beb3 Author: Tejun Heo Date: Thu Jan 18 17:22:18 2007 +0900 libata: fix handling of port actions in per-dev action mask libata EH ignores port-wide actions in per-dev action mask. However, device resume requests EH_SOFTRESET using per-dev action mask. Under certain circumstances, this results in not resetting frozen port after resuming which causes failure of all commands. This patch allows port-wide actions to be requested in per-dev action mask. Before EH recovery starts, port-wide actions will be collected. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 501e0c500217e38276d61445ee0839b3f2c66d05 Author: Tejun Heo Date: Wed Jan 17 11:34:02 2007 +0900 libata: initialize qc->dma_dir to DMA_NONE libata didn't used to init qc->dma_dir to any specific value on qc initialization and command translation path didn't set qc->dma_dir if the command doesn't need data transfer. This made non-data commands to have random qc->dma_dir. This usually doesn't cause problem because LLDs usually check qc->protocol first and look at qc->dma_dir iff the command needs data transfer but this doesn't hold for all LLDs. It might be worthwhile to rename qc->dma_dir to qc->data_dir as we use the field to tag data direction for both PIO and DMA protocols. This problem has been spotted by James Bottomley. Signed-off-by: Tejun Heo Cc: James Bottomley Signed-off-by: Jeff Garzik commit 96bc103f4c4e470d82ba5e372191d02ad715da45 Author: Luca Pedrielli Date: Tue Jan 16 12:55:04 2007 +0900 sata_via: add PCI ID 0x5337 Add PCI ID 0x5337 to supported PCI ID. This is VT8237 in IDE mode. Signed-off-by: Luca Pedrielli Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 7db51fbecbd7082ddf9d038c7e748d5a402c9da7 Author: Robert P. J. Day Date: Mon Jan 8 02:22:03 2007 -0500 libata doc: "error : unterminated entity reference exceptions" Fix libata.tmpl to not generate "error : unterminated entity reference exceptions" errors anymore when running "make htmldocs". Signed-off-by: Robert P. J. Day Signed-off-by: Jeff Garzik commit 7939aae0c08412138a827e0af6f16fc19c346353 Author: Francois Romieu Date: Thu Jan 18 23:22:23 2007 +0100 sis190: failure to set the MAC address from EEPROM Fix from http://bugzilla.kernel.org/show_bug.cgi?id=7747 Signed-off-by: Andrew Morton Cc: Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 2806ccd7ad9073f4f1a065b5672d7592e7838e97 Author: Ralf Baechle Date: Tue Dec 19 02:12:42 2006 +0100 [MIPS] Delete duplicate call to load_irq_save. This call may have resulted to local_tlb_flush_range returning with interrupts disabled resulting in excessive interrupt latency. Signed-off-by: Ralf Baechle commit c80697b3a0d05dd87eeeb55c4dd1c3dae047293e Author: Ralf Baechle Date: Wed Jan 17 18:58:44 2007 +0000 [MIPS] SMTC: Fix cp0 hazard. Signed-off-by: Ralf Baechle commit c70a8c345fd770ecb2ff334bdf88b63edaffb77d Author: Gong Jun Date: Thu Jan 18 22:14:24 2007 +0100 hwmon/w83793: Hide invalid VID readings Ignore the VID readings when the motherboard has not designed the function. Signed-off-by: Gong Jun Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit c92943152884e3777439ad40a40126f2e51b8ea8 Author: Rudolf Marek Date: Thu Jan 18 22:14:24 2007 +0100 hwmon/w83793: Fix the fan input detection Catch the cases when alternative pins are used to route the fan9-12 input. Signed-off-by: Rudolf Marek Signed-off-by: Gong Jun Signed-off-by: Jean Delvare commit 46bed4dfe5f95f1fc8f68ead592a7e295bbbe01e Author: Gong Jun Date: Thu Jan 18 22:14:24 2007 +0100 hwmon/w83793: Ignore disabled temperature channels Ignore the temperature readings when its channel is disabled, ignore AMDSI readings. Signed-off-by: Gong Jun Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 9fab2d8b75a4084e91f1dcb4e55368406fe53010 Author: Jean Delvare Date: Thu Jan 18 22:14:23 2007 +0100 hwmon: Fix the VRD 11 decoding I wonder how we came up with such a broken test in the first place. Signed-off-by: Jean Delvare commit ddca933bd554b4f81f27776f3cb9daa67cf241b1 Author: Gong Jun Date: Thu Jan 18 22:14:23 2007 +0100 hwmon/w83793: Remove the description of AMDSI and update the voltage formula Fix the driver to match the information in datasheet 1.0. AMD SI interface is marked as reserved, computing formula for 5VDD and 5VSB is updated. Signed-off-by: Gong Jun Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 6bf446522b246194551cf167f0168792080d6118 Author: Timur Tabi Date: Thu Jan 18 11:09:35 2007 -0600 Fix phy_read/write redefinition errors in ucc_geth_phy.c The local versions of phy_read() and phy_write() in ucc_geth_phy.c conflict with the prototypes in include/linux/phy.h, so this patch renames them, moves them to the top of the file (while eliminating the redundant prototype), and makes them static. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik commit df19b6b020791b4c42e7cf2e4f582454cbc49251 Author: Timur Tabi Date: Tue Jan 9 12:31:38 2007 -0600 Update ucc_geth.c for new workqueue structure The workqueue interface changed with David Howell's patch on 11/22/2006 (SHA 65f27f38446e1976cc98fd3004b110fedcddd189). Several drivers were updated with that patch to handle the new interface, but ucc_geth.c was not one of them. This patch updates ucc_geth.c to support the new model. A compiler warning in set_mac_addr() was also fixed. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala Signed-off-by: Jeff Garzik commit b2db8dd4fdce7f31aa72a854e2433108d474ebb2 Author: Brice Goglin Date: Tue Jan 9 21:05:35 2007 +0100 myri10ge: update driver version to 1.2.0 Driver is now at version 1.2.0. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 21d05db175202adb166b047f35cbb96dbf9b86a5 Author: Brice Goglin Date: Tue Jan 9 21:05:04 2007 +0100 myri10ge: check that we can get an irq Now that IRQ allocation is done in myri10ge_open(), we want to still check when loading the driver that IRQ allocation could succeed later. Additionaly, we fix the initialization and printing of netdev->irq. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 6ebc087a10c3953d59a61f362bd532f2d9468d1b Author: Brice Goglin Date: Tue Jan 9 21:04:25 2007 +0100 myri10ge: make wc_fifo usage load-time tunable Under some circumstances, using WC without the WC fifo is faster. So we make it possible to tune wc_fifo with a module parameter. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 553af56775b3f23bf64f87090ab81a62bef2837b Author: Chris Lalancette Date: Tue Jan 16 16:41:44 2007 -0500 8139cp: Don't blindly enable interrupts Similar to this commit: http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=d15e9c4d9a75702b30e00cdf95c71c88e3f3f51e It's not safe in cp_start_xmit to blindly call spin_lock_irq and then spin_unlock_irq, since it may very well be the case that cp_start_xmit was called with interrupts already disabled (I came across this bug in the context of netdump in RedHat kernels, but the same issue holds, for example, in netconsole). Therefore, replace all instances of spin_lock_irq and spin_unlock_irq with spin_lock_irqsave and spin_unlock_irqrestore, respectively, in cp_start_xmit(). I tested this against a fully-virtualized Xen guest using netdump, which happens to use the 8139cp driver to talk to the emulated hardware. I don't have a real piece of 8139cp hardware to test on, so someone else will have to do that. Signed-off-by: Chris Lalancette Signed-off-by: Jeff Garzik commit bd62b23cbcc691cc8faa6f4028783f60957b6508 Author: Anton Altaparmakov Date: Thu Jan 18 10:28:18 2007 +0000 NTFS: Forgot to bump version number in makefile to 2.1.28... Signed-off-by: Anton Altaparmakov commit 8331191e56802f0155772a3d56bc2a750acc38e1 Author: Anton Altaparmakov Date: Thu Jan 18 09:42:48 2007 +0000 NTFS: 2.1.28 - Fix deadlock reported by Sergey Vlasov due to ntfs_put_inode(). - Fix deadlock in fs/ntfs/inode.c::ntfs_put_inode(). Thanks to Sergey Vlasov for the report and detailed analysis of the deadlock. The fix involved getting rid of ntfs_put_inode() altogether and hence NTFS no longer has a ->put_inode super operation. Signed-off-by: Anton Altaparmakov commit 10764889c6355cbb335cf0578ce12427475d1a65 Author: Larry Finger Date: Fri Jan 12 12:08:50 2007 -0600 [PATCH] bcm43xx: Fix failure to deliver PCI-E interrupts The PCI-E modifications to bcm43xx do not set up the interrupt vector correctly. Tested with BCM4311 (PCI-E) on x86_64 and BCM4306 (PCI) on i386. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 4b95320fc4d21b0ff2f8604305dd6c851aff6096 Author: Wang Zhenyu Date: Wed Jan 17 11:07:54 2007 +0800 [AGPGART] intel_agp: restore graphics device's pci space early in resume Currently in resuming path graphics device's pci space restore is behind host bridge, so resume function wrongly accesses graphics device's space. This makes resuming failure which crashed X. here's a patch to restore device's pci space early, which makes resuming ok with X. Signed-off-by: Wang Zhenyu Signed-off-by: Dave Jones commit 412297d31d439ba56cd4faeb3a49a6f569f40702 Author: Mauro Carvalho Chehab Date: Sun Jan 7 08:51:05 2007 -0300 V4L/DVB (5023): Fix compilation on ppc32 architecture There's a problem, pointed by Meelis Roos , that, on ppc32 arch, with some gcc versions (noticed with prerelease 4.1.2 20061115), compilation fails, due the lack of __ucmpdi2 to do the required 64-bit comparision. This patch takes some sugestions made by Andrew Morton , Stelian Pop and Segher Boessenkool Signed-off-by: Mauro Carvalho Chehab commit 1323fbda1343f50f198bc8bd6d1d59c8b7fc45bf Author: Michael Krufky Date: Fri Jan 12 17:38:05 2007 -0300 V4L/DVB (5071): Tveeprom: autodetect LG TAPC G701D as tuner type 37 autodetect LG TAPC G701D as tuner type 37. Thanks to Adonis Papas, for pointing out the missing autodetection for this tuner. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 10329b962be782fa4fbebea9358063a4507d0c4d Author: Gerd Hoffmann Date: Fri Jan 12 21:26:32 2007 -0300 V4L/DVB (5069): Fix bttv and friends on 64bit machines with lots of memory We have a DMA32 zone now, lets use it to make sure the card can reach the memory we have allocated for the video frame buffers. Signed-off-by: Gerds Hoffmann Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit e382f62be8a92ebbdf697ebfab260b7d943a359f Author: hermann pitton Date: Sun Jan 7 21:19:48 2007 -0300 V4L/DVB (5033): MSI TV@nywhere Plus fixes - MSI TV@nywhere Plus. Fix radio, S-Video and external analog audio in as far we can know currently. Signed-off-by: Hermann Pitton Signed-off-by: Mauro Carvalho Chehab commit 55d5440d4587454628a850ce26703639885af678 Author: Martin Samuelsson Date: Sun Jan 7 20:50:27 2007 -0300 V4L/DVB (5029): Ks0127 status flags Or status flags together in DECODER_GET_STATUS instead of and-zapping them. Signed-off-by: Martin Samuelsson Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit c6d704c8c4453f05717ba88792f70f8babf95268 Author: Grant Likely Date: Sun Jan 7 10:33:30 2007 -0300 V4L/DVB (5024): Fix quickcam communicator driver for big endian architectures Host endianess does not affect the order that pixel rgb data comes in from the quickcam (the values are bytes, not words or longs). The driver is erroniously swapping the order of rgb values for big endian machines. This patch is needed get the Quickcam communicator working on big endian machines (tested on powerpc) Signed-off-by: Grant Likely Signed-off-by: Mauro Carvalho Chehab commit a96afb3e9428f2e7463344f12dbc85faf08e2e09 Author: Robert Hancock Date: Sun Jan 7 08:12:19 2007 -0300 V4L/DVB (5021): Cx88xx: Fix lockup on suspend Suspending with the cx88xx module loaded causes the system to lock up because the cx88_audio_thread kthread was missing a try_to_freeze() call, which caused it to go into a tight loop and result in softlockup when suspending. Fix that. Signed-off-by: Robert Hancock Signed-off-by: Mauro Carvalho Chehab commit 35d6270b806562b37279d3970fa477aaeb372829 Author: Mauro Carvalho Chehab Date: Sun Jan 14 10:14:17 2007 -0200 V4L/DVB (5020): Fix: disable interrupts while at KM_BOUNCE_READ vivi.c uses the KM_BOUNCE_READ with local interrupts enabled. This means that if a disk interrupt occurs while vivi.c is using this fixmap slot, the vivi.c driver will, upon return from that interrupt, find that the fixmap slot now points at a different physical page. The net result will probably be rare corruption of disk file contents, because viv.c will now be altering the page which the disk code was recently using. Thanks to Andrew Morton for pointing this. Signed-off-by: Mauro Carvalho Chehab commit c430ca1e16b2b4b30f567806c73e270caea8db1d Author: Thierry MERLE Date: Fri Dec 29 20:32:08 2006 -0300 V4L/DVB (5019): Fix the frame->grabstate update in read() entry point. The Coverity checker spotted that in usbvision_v4l2_read(), the variable "frmx" is never assigned any value different from -1, but it's used an an array index in "usbvision->frame[frmx]". Thanks to Adrian Bunk for warning about that. Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 6f949909e8f9e5d7e5584dc48d9a5e060c52aed1 Author: Philip Langdale Date: Thu Jan 4 07:04:47 2007 -0800 mmc: Correct definition of R6 During development of SDHC support, it was discovered that the definition for R6 was incorrect. This patch fixes that and patches the drivers that do switch on the response type. Signed-off-by: Philip Langdale Cc: Alex Dubov Cc: Pavel Pisa Signed-off-by: Pierre Ossman commit 1b3b2631842ab60c1b7923bef102c610439ba3dd Author: Carlos Eduardo Aguiar Date: Mon Jan 15 06:38:15 2007 +0100 omap: Update MMC response types This patch is a fix in order to update MMC response types. This modification is needed to allow SD card support on OMAP platforms. Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Yuha Yrjola Signed-off-by: Pierre Ossman commit e499e01d234a31d59679b7b1e1cf628d917ba49a Author: David Woodhouse Date: Sat Jan 13 08:19:03 2007 +0800 [JFFS2] debug.h: include for current->pid Signed-off-by: David Woodhouse commit a8b3485287731978899ced11f24628c927890e78 Author: Linus Torvalds Date: Fri Jan 12 10:54:26 2007 -0800 Linux v2.6.20-rc5 commit c43a5082a61f351248c5f015ee5d4641309bd96e Author: Jens Axboe Date: Fri Jan 12 12:20:26 2007 +0100 [PATCH] blktrace: only add a bounce trace when we really bounce Currently we issue a bounce trace when __blk_queue_bounce() is called, but that merely means that the device has a lower dma mask than the higher pages in the system. The bio itself may still be lower pages. So move the bounce trace into __blk_queue_bounce(), when we know there will actually be page bouncing. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit e176d397ad73ca76936e5638c2c81740dedb9d5d Author: Daniel Ritz Date: Fri Dec 8 18:07:01 2006 +0100 [PATCH] PCMCIA: fix drivers broken by recent cleanup Setting .ConfigBase and .Present is now done at the pcmcia core. The driver cleanup missed a few places where the driver did set .Present to PRESENT_OPTION and later to the values from the CIS. Setting to PRESENT_OPTION now overrides the values from the CIS. So just remove those lines. Signed-off-by: Daniel Ritz Signed-off-by: Dominik Brodowski Signed-off-by: Linus Torvalds commit aae7d14f619c665b83e07013e3dda8694ea3e40b Author: Andrew Morton Date: Wed Jan 10 23:15:45 2007 -0800 [PATCH] FD_ZERO build fix unionfs managed to hit this on s390. Some architectures use __ptr_t in their FD_ZERO implementation. We don't have a __ptr_t. Switch them over to plain old void*. Cc: Richard Henderson Cc: Ivan Kokshaysky Cc: Al Viro Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "Luck, Tony" Cc: Martin Schwidefsky Cc: Heiko Carstens Cc: Josef 'Jeff' Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4f0ae0ea63caceff37a13f281a72652b7ea71ba Author: takada Date: Wed Jan 10 23:15:44 2007 -0800 [PATCH] fix typo in geode_configre()@cyrix.c We write back the wrong register when configuring the Geode processor. Instead of storing to CCR4, it stores to CCR3. Cc: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 56fb5fe9f16f630e3ee663c47c5aff26ac424d05 Author: Michael Buesch Date: Wed Jan 10 23:15:43 2007 -0800 [PATCH] Fix HWRNG built-in initcalls priority This changes all HWRNG driver initcalls to module_init(). We must probe the RNGs after the major kernel subsystems are already up and running (like PCI). This fixes Bug 7730. http://bugzilla.kernel.org/show_bug.cgi?id=7730 Signed-off-by: Michael Buesch Cc: Jan Beulich Cc: Jeff Garzik Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9863be598ed068613996af8da71d9fd976a0ab2d Author: Jan Beulich Date: Wed Jan 10 23:15:41 2007 -0800 [PATCH] intel-rng workarounds Add a load option to intel-rng to allow skipping the FWH detection, necessary in case the BIOS has locked read-only the firmware hub space. Also prevent any attempt to write to firmware space if it cannot be write enabled (apparently caused hangs on some systems not having an FWH and thus also not having a respective RNG). Signed-off-by: Jan Beulich Signed-off-by: Michael Buesch Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f73ca1b76c6880b934d3ef566c1592efc80bb759 Author: David Chinner Date: Wed Jan 10 23:15:41 2007 -0800 [PATCH] Revert bd_mount_mutex back to a semaphore Revert bd_mount_mutex back to a semaphore so that xfs_freeze -f /mnt/newtest; xfs_freeze -u /mnt/newtest works safely and doesn't produce lockdep warnings. (XFS unlocks the semaphore from a different task, by design. The mutex code warns about this) Signed-off-by: Dave Chinner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88bf7b391dca840f03fe25e4ff8fe6b4319fa07b Author: David Miller Date: Wed Jan 10 23:15:40 2007 -0800 [PATCH] really fix funsoft driver Fix void cast and re-enable on sparc. Signed-off-by: David S. Miller Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3db7691e9f3dff3289f64e3d98583e28afe03db Author: Trond Myklebust Date: Wed Jan 10 23:15:39 2007 -0800 [PATCH] NFS: Fix race in nfs_release_page() NFS: Fix race in nfs_release_page() invalidate_inode_pages2() may find the dirty bit has been set on a page owing to the fact that the page may still be mapped after it was locked. Only after the call to unmap_mapping_range() are we sure that the page can no longer be dirtied. In order to fix this, NFS has hooked the releasepage() method and tries to write the page out between the call to unmap_mapping_range() and the call to remove_mapping(). This, however leads to deadlocks in the page reclaim code, where the page may be locked without holding a reference to the inode or dentry. Fix is to add a new address_space_operation, launder_page(), which will attempt to write out a dirty page without releasing the page lock. Signed-off-by: Trond Myklebust Also, the bare SetPageDirty() can skew all sort of accounting leading to other nasties. [akpm@osdl.org: cleanup] Signed-off-by: Peter Zijlstra Cc: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07031e14c1127fc7e1a5b98dfcc59f434e025104 Author: Ingo Molnar Date: Wed Jan 10 23:15:38 2007 -0800 [PATCH] KVM: add VM-exit profiling This adds the profile=kvm boot option, which enables KVM to profile VM exits. Use: "readprofile -m ./System.map | sort -n" to see the resulting output: [...] 18246 serial_out 148.3415 18945 native_flush_tlb 378.9000 23618 serial_in 212.7748 29279 __spin_unlock_irq 622.9574 43447 native_apic_write 2068.9048 52702 enable_8259A_irq 742.2817 54250 vgacon_scroll 89.3740 67394 ide_inb 6126.7273 79514 copy_page_range 98.1654 84868 do_wp_page 86.6000 140266 pit_read 783.6089 151436 ide_outb 25239.3333 152668 native_io_delay 21809.7143 174783 mask_and_ack_8259A 783.7803 362404 native_set_pte_at 36240.4000 1688747 total 0.5009 Signed-off-by: Ingo Molnar Acked-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3881a6816b45668df60a426e5c3431ece1539a7 Author: Lars Ellenberg Date: Wed Jan 10 23:15:37 2007 -0800 [PATCH] md: pass down BIO_RW_SYNC in raid{1,10} md raidX make_request functions strip off the BIO_RW_SYNC flag, thus introducing additional latency. Fixing this in raid1 and raid10 seems to be straightforward enough. For our particular usage case in DRBD, passing this flag improved some initialization time from ~5 minutes to ~5 seconds. Acked-by: NeilBrown Signed-off-by: Lars Ellenberg Acked-by: Jens Axboe Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 664c0d3d575946bce24ecf5b7f93ee9541e4caf3 Author: Vivek Goyal Date: Wed Jan 10 23:15:36 2007 -0800 [PATCH] i386: sched_clock using init data tsc_disable fix o sched_clock() a non-init function is using init data tsc_disable. This is flagged by MODPOST on i386 if CONFIG_RELOCATABLE=y WARNING: vmlinux - Section mismatch: reference to .init.data:tsc_disable from .text between 'sched_clock' (at offset 0xc0109d58) and 'tsc_update_callback' Signed-off-by: Vivek Goyal Cc: Andi Kleen Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9c61a446a1cab4280404798e335655266c1a4929 Author: Vivek Goyal Date: Wed Jan 10 23:15:35 2007 -0800 [PATCH] Kdump documentation update o Kdump documentation update. - Update details for using relocatable kernel. - Start using kexec-tools-testing release as it is latest and old kexec-tools can't load relocatable bzImage file. - Also add kdump on ia64 specific details. Signed-off-by: Vivek Goyal Cc: Horms Cc: Mohan Kumar M Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b282b6f8a8d1cf3e132ce3769d7d1cac81d9dd2d Author: Gautham R Shenoy Date: Wed Jan 10 23:15:34 2007 -0800 [PATCH] Change cpu_up and co from __devinit to __cpuinit Compiling the kernel with CONFIG_HOTPLUG = y and CONFIG_HOTPLUG_CPU = n with CONFIG_RELOCATABLE = y generates the following modpost warnings WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141b7d) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141b9c) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.text:__cpu_up from .text between '_cpu_up' (at offset 0xc0141bd8) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141c05) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141c26) and 'cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between '_cpu_up' (at offset 0xc0141c37) and 'cpu_up' This is because cpu_up, _cpu_up and __cpu_up (in some architectures) are defined as __devinit AND __cpu_up calls some __cpuinit functions. Since __cpuinit would map to __init with this kind of a configuration, we get a .text refering .init.data warning. This patch solves the problem by converting all of __cpu_up, _cpu_up and cpu_up from __devinit to __cpuinit. The approach is justified since the callers of cpu_up are either dependent on CONFIG_HOTPLUG_CPU or are of __init type. Thus when CONFIG_HOTPLUG_CPU=y, all these cpu up functions would land up in .text section, and when CONFIG_HOTPLUG_CPU=n, all these functions would land up in .init section. Tested on a i386 SMP machine running linux-2.6.20-rc3-mm1. Signed-off-by: Gautham R Shenoy Cc: Vivek Goyal Cc: Mikael Starvik Cc: Ralf Baechle Cc: Kyle McMartin Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d103e90f63c4b78f2101f8c0bd303fa049ce9a7 Author: David Brownell Date: Wed Jan 10 23:15:32 2007 -0800 [PATCH] rtc-sh: correctly report rtc_wkalrm.enabled This fixes the SH rtc driver to (a) correctly report 'enabled' status with other alarm status; (b) not duplicate that status in its procfs dump Signed-off-by: David Brownell Acked-by: Paul Mundt Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fa1da8ea9318af6a0252f56cd2e689616346218 Author: Roman Zippel Date: Wed Jan 10 23:15:31 2007 -0800 [PATCH] qconf: (re)fix SIGSEGV on empty menu items Back out the recent fix for this bug, fix it by correctly initialising ConfigInfoView.sym. Signed-off-by: Roman Zippel Cc: "Cyrill V. Gorcunov" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2f3aa02576632cdb60bd3de1f4bf55e9ac65604 Author: Dave Hansen Date: Wed Jan 10 23:15:30 2007 -0800 [PATCH] Fix sparsemem on Cell Fix an oops experienced on the Cell architecture when init-time functions, early_*(), are called at runtime. It alters the call paths to make sure that the callers explicitly say whether the call is being made on behalf of a hotplug even, or happening at boot-time. It has been compile tested on ppc64, ia64, s390, i386 and x86_64. Acked-by: Arnd Bergmann Signed-off-by: Dave Hansen Cc: Yasunori Goto Acked-by: Andy Whitcroft Cc: Christoph Lameter Cc: Martin Schwidefsky Acked-by: Heiko Carstens Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47a4d5be7c50b2e9b905abbe2b97dc87051c5a44 Author: Brice Goglin Date: Wed Jan 10 23:15:29 2007 -0800 [PATCH] increment pos before looking for the next cap in __pci_find_next_ht_cap While testing 2.6.20-rc3 on a machine with some CK804 chipsets, we noticed that quirk_nvidia_ck804_msi_ht_cap() was not detecting HT MSI capabilities anymore. It is actually caused by the MSI mapping on the root chipset being the 2nd HT capability in the chain. pci_find_ht_capability() does not seem to find anything but the first HT cap correctly, because it forgets to increment the position before looking for the next cap. The following patch seems to fix it. At least, this proves that having a ttl is good idea since the machine would have been stucked in an infinite loop if we didn't have a ttl :) We have to pass pos + PCI_CAP_LIST_NEXT to __pci_find_next_cap_ttl to get the next HT cap instead of the same one again. Signed-off-by: Brice Goglin Signed-off-by: Andrew J. Gallatin Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5e5673f828623e58a401862b33173591faaeaff Author: Nathan Lynch Date: Wed Jan 10 23:15:28 2007 -0800 [PATCH] sched: tasks cannot run on cpus onlined after boot Commit 5c1e176781f43bc902a51e5832f789756bff911b ("sched: force /sbin/init off isolated cpus") sets init's cpus_allowed to a subset of cpu_online_map at boot time, which means that tasks won't be scheduled on cpus that are added to the system later. Make init's cpus_allowed a subset of cpu_possible_map instead. This should still preserve the behavior that Nick's change intended. Thanks to Giuliano Pochini for reporting this and testing the fix: http://ozlabs.org/pipermail/linuxppc-dev/2006-December/029397.html Signed-off-by: Nathan Lynch Acked-by: Ingo Molnar Cc: Nick Piggin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c71551ad309c46d9d2433a9b688491edbd10c806 Author: Linus Torvalds Date: Thu Jan 11 18:18:04 2007 -0800 Don't put "linux_banner" in the .init section It might save a few bytes after bootup, but it causes the string to be linked in at the end of the final vmlinux image, which defeats the whole point of doing all this, namely allowing some broken user-space binaries to search for the kernel version string in the kernel binary. So just remove the __init specifier. Cc: Olaf Hering Cc: Jean Delvare Cc: Roman Zippel Cc: Andrey Borzenkov Cc: Andrew Morton Acked-by: Andy Whitcroft Signed-off-by: Linus Torvalds commit d2fadbbbf0e42b842731da71864f222e7f119461 Author: Henrique de Moraes Holschuh Date: Thu Jan 11 02:58:15 2007 -0500 Revert "ACPI: ibm-acpi: make non-generic bay support optional" This reverts commit 2df910b4c3edcce9a0c12394db6f5f4a6e69c712. ACPI_BAY has not been merged into mainline yet, so the changes to ibm-acpi related Kconfig entries that depend on ACPI_BAY were permanently disabling ibm-acpi bay support. This is a serious regression for ThinkPad users. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 8b59a454c421542a51c391f542c80d165f7547a0 Author: Len Brown Date: Mon Jan 8 19:03:28 2007 -0500 ACPI: update MAINTAINERS s/Maintained/Supported/ and document some sub-maintainers for ACPI drivers. Signed-off-by: Len Brown commit 1bb67c2582f4271488721001a707124fd0af347e Author: Len Brown Date: Thu Jan 11 01:49:44 2007 -0500 ACPI: schedule obsolete features for deletion Signed-off-by: Len Brown commit d6637b28ffb38f207015c990e481fde5bba233d7 Author: Venkatesh Pallipadi Date: Wed Jan 10 23:16:36 2007 -0500 ACPI: delete two spurious ACPI messages ACPI: Getting cpuindex for acpiid 0x4 acpi_processor-0742 [00] processor_preregister_: Error while parsing _PSD domain information. Assuming no coordination http://bugzilla.kernel.org/show_bug.cgi?id=7286 Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit 5d65131fa8d333d4575e7dfe5a05d3a9fa4a687e Author: Venkatesh Pallipadi Date: Wed Jan 10 23:08:38 2007 -0500 ACPI: rename cstate_entry_s to cstate_entry style change only. Signed-off-by: Len Brown commit 7401969907594ac9632368ec53528fbd9b18f339 Author: Andi Kleen Date: Thu Jan 11 01:52:45 2007 +0100 [PATCH] x86-64: Fix warnings in ia32_aout.c Fix linux/arch/x86_64/ia32/ia32_aout.c: In function ‘create_aout_tables’: linux/arch/x86_64/ia32/ia32_aout.c:244: warning: cast from pointer to integer of different size linux/arch/x86_64/ia32/ia32_aout.c:253: warning: cast from pointer to integer of different size with gcc 4.3 Signed-off-by: Andi Kleen commit 88d20328cd66ee05f9b7f4d414640700db69d82b Author: Vivek Goyal Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] i386: Convert some functions to __init to avoid MODPOST warnings o Some functions which should have been in init sections as they are called only once. Put them in init sections. Otherwise MODPOST generates warning as these functions are placed in .text and they end up accessing something in init sections. WARNING: vmlinux - Section mismatch: reference to .init.text:migration_init from .text between 'do_pre_smp_initcalls' (at offset 0xc01000d1) and 'run_init_process' Signed-off-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 0e0be25d31f75f64b6fbe00f0b4e5d6b1ad1438e Author: Vivek Goyal Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] i386: Fix memory hotplug related MODPOST generated warning o Fix modpost generated warning. WARNING: vmlinux - Section mismatch: reference to .init.text: from .text between 'add_one_highpage_hotplug' (at offset 0xc0113d3f) and 'online_page' Signed-off-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit b92cc55923898ab5e8a78939be9734ab9e1c8f49 Author: Muli Ben-Yehuda Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] x86-64: tighten up printks Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit ed5316d4457b35c7b4942af028d6b878174264f7 Author: Jack Steiner Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] x86-64: - Ignore long SMI interrupts in clock calibration Ensure that no SMI interrupts occur between the read of the HPET & TSC in the clock calibration loop. I noticed that a 2.66GHz system incorrectly detected the processor clock speed about 1/7 of the time: time.c: Detected 2660.005 MHz processor. (most of the time) time.c: Detected 2988.203 MHz processor. (sometime) The problem is caused by an SMI interrupt occuring in hpet_calibrate_tsc() between the read of the HPET & TSC. Prior to switching the BIOS into ACPI mode, it appears that every 27msec an SMI interrupt occurs. The SMI interrupt takes 4.8 msec to process. Note: On my test system, TICK_MIN had to be >380. I picked 5000 to minimize risk of having a value that is too small for other platforms. Signed-off-by: Jack Steiner Signed-off-by: Andi Kleen arch/x86_64/kernel/time.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) commit 9d24a81e84cee7cbf4656d178842838ac5ab23a4 Author: Vivek Goyal Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] x86-64: pci quirks MODPOST warning fix o MODPOST generates warnings for i386 if kernel is compiled with CONFIG_RELOCATABLE=y WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'asus_hides_smbus_lpc_ich6' (at offset 0xc0217d58) and 'quirk_cardbus_legacy' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'asus_hides_smbus_lpc' (at offset 0xc0217fd9) and 'pci_match_id' o Two quirk functions which are non __init, are accessing data which is of type __init. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit ee6a8545a4cbc620625c7956c95aac513842156b Author: Vivek Goyal Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] x86-64: Modpost whitelist reference to more symbols (pattern 3) o MODPOST generates warning on i386 if kernel is compiled with CONFIG_RELOCATABLE=y. WARNING: vmlinux - Section mismatch: reference to .init.text:__init_begin from .text between 'free_initmem' (at offset 0xc0114fd3) and 'do_test_wp_bit' WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'core_kernel_text' (at offset 0xc012aeae) and 'kernel_text_address' WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'core_kernel_text' (at offset 0xc012aeb7) and 'kernel_text_address' WARNING: vmlinux - Section mismatch: reference to .init.text:_sinittext from .text between 'get_symbol_pos' (at offset 0xc0135776) and 'reset_iter' WARNING: vmlinux - Section mismatch: reference to .init.text:_einittext from .text between 'get_symbol_pos' (at offset 0xc013577d) and 'reset_iter' o These symbols (__init_begin, _sinittext, _einittext) belong to init section and generally represent a section boundary. These are special symbols in the sense that their size is zero and no memory is allocated for them in init section. Their addr and value are same. So even if we free the init section, it is ok to reference them. o Whitelist access to such select symbols in MODPOST. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton commit 118c0ace1b61433311ae4e067fdd32841baa7f91 Author: Vivek Goyal Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] x86-64: modpost add more symbols to whitelist pattern2 o MODPOST generates warning for i386 if compiled with CONFIG_RELOCATABLE=y and serial console support is enabled. o Serial console setup function, serial8250_console_setup(), is a non __init function and it calls functions which are of type __init(). (uart_parse_options() and uart_set_options()). Assuming, setup will be called during init time, changing serial8250_console_setup() to __init. o Adding one more pattern to modpost whitelist. Console drivers might have *_console structures containing references to setup functions which can be of __init type. Don't generate warnings for those. WARNING: vmlinux - Section mismatch: reference to .init.text: from .data between 'serial8250_console' (at offset 0xc05a33d8) and 'serial8250_reg' Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton commit e96763d6e52c22a8821466e4d01c0c995b8087be Author: Vivek Goyal Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] i386: make apic probe function non-init o struct genapic contains pointer to probe() function which is of type __init. Hence MODPOST generates warning if kernel is compiled with CONFIG_RELOCATABLE=y for i386. WARNING: vmlinux - Section mismatch: reference to .init.text: from .data between 'apic_summit' (at offset 0xc058b504) and 'apic_bigsmp' WARNING: vmlinux - Section mismatch: reference to .init.text: from .data between 'apic_bigsmp' (at offset 0xc058b5a4) and 'cpu.4471' WARNING: vmlinux - Section mismatch: reference to .init.text: from .data between 'apic_es7000' (at offset 0xc058b644) and 'apic_default' WARNING: vmlinux - Section mismatch: reference to .init.text: from .data between 'apic_default' (at offset 0xc058b6e4) and 'interrupt' o One of the possible options is to put special case check in MODPOST to not emit warnings for this case but I think it is not a very good option in terms of maintenance. o Another option is to make probe() function non __init. Anyway this function is really small so not freeing this memory after init is not a big deal. Secondly, from a programming perspective, probably genapic should not provide pointers to functions which have been freed as genapic is non __init and is used even after initialization is complete. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton commit 4a5d107a9a79ef3404209a43866554cba451dda4 Author: Vivek Goyal Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] i386: cpu hotplug/smpboot misc MODPOST warning fixes o Misc smpboot/cpu hotplug path cleanups. I did those to supress the warnings generated by MODPOST. These warnings are visible only if CONFIG_RELOCATABLE=y. o CONFIG_RELOCATABLE compiles the kernel with --emit-relocs option. This option retains relocation information in vmlinux file and MODPOST is quick to spit out "Section mismatch" warnings. o This patch fixes some of those warnings. Many of the functions in smpboot case are __devinit type and they in turn accesses text/data which if of type __cpuinit. Now if CONFIG_HOTPLUG=y and CONFIG_HOTPLUG_CPU=n then we end up in cases where a function in .text segment is calling another function in .init.text segment and MODPOST emits warning. WARNING: vmlinux - Section mismatch: reference to .init.text:identify_cpu from .text between 'smp_store_cpu_info' (at offset 0xc011020d) and 'do_boot_cpu' WARNING: vmlinux - Section mismatch: reference to .init.text:init_gdt from .text between 'do_boot_cpu' (at offset 0xc01102ca) and '__cpu_up' WARNING: vmlinux - Section mismatch: reference to .init.text:print_cpu_info from .text between 'do_boot_cpu' (at offset 0xc01105d0) and '__cpu_up' o It also fixes the issues where CONFIG_HOTPLUG_CPU=y and start_secondary() is calling smp_callin() which in-turn calls synchronize_tsc_ap() which is of type __init. This should have meant broken CPU hotplug. WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc011603f) and 'initialize_secondary' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'MP_processor_info' (at offset 0xc0116a4f) and 'mp_register_lapic' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'MP_processor_info' (at offset 0xc0116a4f) and 'mp_register_lapic' Signed-off-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 24420760c3701ff422b344e047a20ca09b76fc64 Author: Andi Kleen Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] x86-64: Use different constraint for gcc < 4.1 in bitops.h +m is really correct for a RMW instruction, but some older gccs error out. I finally gave in and ifdefed it. This fixes compilation errors with some compiler version. Signed-off-by: Andi Kleen commit 343cde51b3b856470eea24a89f00166b8e2d7272 Author: Vivek Goyal Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] x86-64: Make noirqdebug_setup function non init to fix modpost warning o noirqdebug_setup() is __init but it is being called by quirk_intel_irqbalance() which if of type __devinit. If CONFIG_HOTPLUG=y, quirk_intel_irqbalance() is put into text section and it is wrong to call a function in __init section. o MODPOST flags this on i386 if CONFIG_RELOCATABLE=y WARNING: vmlinux - Section mismatch: reference to .init.text:noirqdebug_setup from .text between 'quirk_intel_irqbalance' (at offset 0xc010969e) and 'i8237A_suspend' o Make noirqdebug_setup() non-init. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 7c8809aef0c71cc92ffc7d922e8824c04a36f44b Author: Andi Kleen Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit 03c3cc612802be8c303944c816fd159ffff991b9 Author: Andi Kleen Date: Thu Jan 11 01:52:44 2007 +0100 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit 8a93c4968fc177844680987b31d00d1fc3bc02aa Author: Alexander Bigga Date: Thu Dec 21 11:25:19 2006 +0100 [MIPS] Alchemy: Fix PCI-memory access The problem was introduced in 2.6.18.3 with the casting of some 36bit-defines (PCI memory) in au1000.h to resource_size_t which may be u32 or u64 depending on the experimental CONFIG_RESOURCES_64BIT. With unset CONFIG_RESOURCES_64BIT, the pci-memory cannot be accessed because the ioremap in arch/mips/au1000/common/pci.c already used the truncated addresses. With set CONFIG_RESOURCES_64BIT, things get even worse, because PCI-scan aborts, due to resource conflict: request_resource() in arch/mips/pci/pci.c fails because the maximum iomem-address is 0xffffffff (32bit) but the pci-memory-start-address is 0x440000000 (36bit). To get pci working again, I propose the following patch: 1. remove the resource_size_t-casting from au1000.h again 2. make the casting in arch/mips/au1000/common/pci.c (it's allowed and necessary here. The 36bit-handling will be done in __fixup_bigphys_addr). With this patch pci works again like in 2.6.18.2, the gcc-compile warnings in pci.c are gone and it doesn't depend on CONFIG_EXPERIMENTAL. Signed-off-by: Alexander Bigga Signed-off-by: Ralf Baechle --- commit e16d8df0be26c8e82c4a1188af8143f2d466b12a Author: Atsushi Nemoto Date: Wed Jan 10 18:53:33 2007 +0900 [MIPS] Fix N32 SysV IPC routines Add wrappers for N32 msg{snd,rcv}. compat_sys_msg{snd,rcv} can not not be used as system call entries as is. This fix is based on Kaz Kylheku's patch. Also change a type of last argument of sysn32_semctl to match its true size. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 6b4cd2755039a0be642699e3fc2e3386daa88151 Author: Atsushi Nemoto Date: Tue Jan 9 10:23:00 2007 +0900 [MIPS] PNX8550: Fix system timer initialization Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1a74bc68e4c0534d150e6454b45a70dab831fa32 Author: Stefan Richter Date: Wed Jan 10 20:17:15 2007 +0100 ieee1394: sbp2: fix probing of some DVD-ROM/RWs Since commit 98e238cd42be6c0852da519303cf0182690f8d9f in Linux 2.6.19, "ieee1394: sbp2: don't prefer MODE SENSE 10", some FireWire DVD-ROMs and DVD-RWs were mistaken as CD-ROM because sr_mod now sent MODE SENSE 6. The MMC command set includes only MODE SENSE 10. http://bugzilla.kernel.org/show_bug.cgi?id=7800 This fix lets sbp2 switch scsi_device.use_10_for_rw on for MMC LUs. This should rather be done in the command set driver sr_mod, not in the sbp2 transport driver, and an according patch will follow for a next Linux release. Signed-off-by: Stefan Richter commit 3eb3c740f51c2126b53c2dde974c1c57e634aa7b Author: Roman Zippel Date: Wed Jan 10 14:45:28 2007 +0100 [PATCH] fix linux banner format string Revert previous attempts at messing with the linux banner string and simply use a separate format string for proc. Signed-off-by: Roman Zippel Acked-by: Olaf Hering Acked-by: Jean Delvare Cc: Andrey Borzenkov Cc: Andrew Morton Cc: Andy Whitcroft Cc: Herbert Poetzl Signed-off-by: Linus Torvalds commit b3277dfaf0257221f83dd861b82c54de4507473e Author: Mikael Pettersson Date: Wed Jan 10 09:33:53 2007 +0100 [PATCH] MAINTAINERS: maintainer for sata_promise This patch adds myself as maintainer of the sata_promise libata driver. Signed-off-by: Mikael Pettersson Signed-off-by: Linus Torvalds commit 0fc2ccea4c8fa779053cb6f8984f6da399a81182 Author: Adrian Hunter Date: Tue Jan 9 17:55:21 2007 +0200 [MTD] OneNAND: Handle DDP chip boundary during read-while-load The read-while-load method of reading from OneNAND needs to allow for the change of bufferRAM address at the boundary between the two chips in a double density (DDP) device. Signed-off-by: Adrian Hunter Signed-off-by: Kyungmin Park commit b3c9f8bfe7ab366a5d2495ebe5d2dc6fd7368122 Author: Kyungmin Park Date: Fri Jan 5 19:16:04 2007 +0900 [MTD] OneNAND: return ecc error code only when 2-bit ecc occurs we don't need to return ecc error when 1-bit ecc. We only return error code when 2-bit ecc error Signed-off-by: Kyungmin Park commit a8de85d557004d6d4e4cf79ecd6b97339b986fe9 Author: Adrian Hunter Date: Thu Jan 4 09:51:26 2007 +0200 [MTD] OneNAND: Implement read-while-load Read-while-load enables higher performance read operations. Signed-off-by: Adrian Hunter Signed-off-by: Kyungmin Park commit 2fd32d4af83f4535d12d3f6dd23189352a9596fa Author: Kyungmin Park Date: Fri Dec 29 11:51:40 2006 +0900 [MTD] OneNAND: fix onenand_wait bug in read ecc error Even though there is ECC error. OneNAND driver updates the buffram as valid Signed-off-by: Kyungmin Park commit 61a7e1983e773b93aac172dadc97f1eb484536b4 Author: Artem Bityutskiy Date: Tue Dec 26 16:41:24 2006 +0900 [MTD] OneNAND: release CPU in cycles This patch teaches OneNAND to release processor in read/write/erase cycles and let other processes proceed. Also, remove buggi touch watchdog call which only hides the problem instead of solving it. Signed-off-by: Artem Bityutskiy Signed-off-by: Kyungmin Park commit 60d84f9739a47d0ed8e19805d9056e39fba31c79 Author: Kyungmin Park Date: Fri Dec 22 16:21:54 2006 +0900 [MTD] OneNAND: add subpage write support OneNAND supports up to 4 writes at one NAND page. Add support of this feature. Signed-off-by: Kyungmin Park commit f62724873652ddb19edf7f92843e9456fe3be3ea Author: Kyungmin Park Date: Fri Dec 22 16:02:50 2006 +0900 [MTD] OneNAND: fix onenand_wait bug Fix onenand_wait error reporting Signed-off-by: Kyungmin Park commit abb536e7ac8719243cfc4b40b39bf3eefd028f82 Author: Kyungmin Park Date: Fri Dec 22 16:39:30 2006 +0900 [JFFS2] use the ref_offset macro Don't use ref->flash_offset directly in debugging code, use the ref_offset macro instead. Signed-off-by: Kyungmin Park Signed-off-by: Artem Bityutskiy commit a2166b933ef9099b4fa6860b165e6dac553a97aa Author: Artem Bityutskiy Date: Thu Dec 28 12:01:41 2006 +0200 [JFFS2] Reschedule in loops Make JFFS2 nicer and teach it to call cond_resched() in loops which may be quite large. Signed-off-by: Artem Bityutskiy commit 483479ecc565b7f5845997138eddf5ecbc2684b1 Author: Jarek Poplawski Date: Tue Jan 9 14:38:31 2007 -0800 [IPV4] devinet: inetdev_init out label moved after RCU assignment inetdev_init out label moved after RCU assignment (final suggestion by Herbert Xu) Signed-off-by: Jarek Poplawski Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 469de9b90f739f130ab3d483e819888e977596b8 Author: Paul Moore Date: Tue Jan 9 14:37:06 2007 -0800 [INET]: style updates for the inet_sock->is_icsk assignment fix A quick patch to change the inet_sock->is_icsk assignment to better fit with existing kernel coding style. Signed-off-by: Paul Moore Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 4a1c0107bca2eccf4491b86fec41ce63268d803d Author: Vlad Yasevich Date: Tue Jan 9 14:35:51 2007 -0800 [SCTP]: Fix err_hdr assignment in sctp_init_cause. The subh->err_hdr should point to the error header, not the data. Signed-off-by: Vlad Yasevich Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit f79e7802153829e015dc2a60eb8b7444eb191b67 Author: Patrick McHardy Date: Tue Jan 9 14:34:14 2007 -0800 [NETFILTER]: tcp conntrack: fix IP_CT_TCP_FLAG_CLOSE_INIT value IP_CT_TCP_FLAG_CLOSE_INIT is a flag and should have a value of 0x4 instead of 0x3, which is IP_CT_TCP_FLAG_WINDOW_SCALE | IP_CT_TCP_FLAG_SACK_PERM. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ffed53d25bf36efb0571f7d9109f2e95df7f8b33 Author: Patrick McHardy Date: Tue Jan 9 14:33:49 2007 -0800 [NETFILTER]: nf_nat: fix hanging connections when loading the NAT module When loading the NAT module, existing connection tracking entries don't have room for NAT information allocated and packets are dropped, causing hanging connections. They really should be entered into the NAT table as NULL mappings, but the current allocation scheme doesn't allow this. For now simply accept those packets to avoid the hanging connections. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8c82d8df7060221f131c9ca5352fb613c14f857a Author: Bart De Schuymer Date: Tue Jan 9 14:33:11 2007 -0800 [NETFILTER]: arp_tables: fix userspace compilation The included patch translates arpt_counters to xt_counters, making userspace arptables compile against recent kernels. Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9f02cca25acf33e5853c6b3cbb0c7146312783f Author: Patrick McHardy Date: Tue Jan 9 14:32:41 2007 -0800 [NETFILTER]: nf_conntrack_ipv6: fix crash when handling fragments When IPv6 connection tracking splits up a defragmented packet into its original fragments, the packets are taken from a list and are passed to the network stack with skb->next still set. This causes dev_hard_start_xmit to treat them as GSO fragments, resulting in a use after free when connection tracking handles the next fragment. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f5e10529a9a835a267f6aa7806e291d6df845e14 Author: Dotan Barak Date: Wed Dec 27 15:46:06 2006 +0200 IB/mthca: Don't execute QUERY_QP firmware command for QP in RESET state If a QP being queried is in the RESET state, don't execute the QUERY_QP firmware command (because it will fail). Signed-off-by: Dotan Barak Signed-off-by: Roland Dreier commit f2d9136133de257abbd97fec6f624d3a73d1e1fd Author: Hoang-Nam Nguyen Date: Tue Jan 9 18:04:14 2007 +0100 IB/ehca: Use proper GFP_ flags for get_zeroed_page() Here is a patch for ehca to use proper flag, ie. GFP_ATOMIC resp. GFP_KERNEL, when calling get_zeroed_page() to prevent "Bug: scheduling while atomic...". This error does not cause a kernel panic but makes ipoib un-usable afterwards. It is reproducible on 2.6.20-rc4 if one does ifconfig down during a flood ping test. I have not observed this error in earlier releases incl. 2.6.20-rc1. This error occurs when a qp event/irq is received and ehca event handler allocates a control block/page to obtain HCA error data block. Use of GFP_ATOMIC when in interrupt context prevents this issue. Signed-off-by Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 2f5c33b3180169f3eafb698b66686962d637fb0e Author: Mark M. Hoffman Date: Mon Jan 8 22:11:29 2007 -0500 [PATCH] i2c/pci: fix sis96x smbus quirk once and for all The sis96x SMBus PCI device depends on two different quirks to run in a specific order. Apart from being fragile, this was found to actually break on (at least) recent FC4, FC5, and FC6 kernels. This patch fixes the quirks so that they work without relying on the compiler and/or linker to put them in any specific order. http://lists.lm-sensors.org/pipermail/lm-sensors/2006-April/015962.html https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=189719 I tested this patch. Signed-off-by: Mark M. Hoffman Cc: Andrew Morton Cc: Adrian Bunk Cc: Greg K-H Cc: Jean Delvare Signed-off-by: Linus Torvalds commit 531498013163c72cee8540e98e12c0c430c7fe87 Author: Jiri Kosina Date: Tue Jan 9 13:24:25 2007 +0100 HID: Fix DRIVER_DESC macro DRIVER_DESC macro is wrong in drivers/hid/hid-core.c. Its value is legacy from original usb+hid code and clashes with current usbhid implementation. Fix it. Signed-off-by: Jiri Kosina commit a037b0a43f6abafc4f725f7c7f46d577d1c44c96 Author: Jaroslav Kysela Date: Tue Jan 9 10:57:25 2007 +0100 [ALSA] version 1.0.14rc1 Signed-off-by: Jaroslav Kysela commit bf3dbdcd0bfca74c16ad0b2b5a978907c864ed4c Author: Christian Borntraeger Date: Tue Jan 9 10:19:03 2007 +0100 [S390] locking problem with __cpcmd. Changeset 740b5706b9c4b3767f597b3ea76654c6f2a800b2 moved the protecting spinlock from __cpcmd to cpcmd. Therefore vmcp can no longer use __cpcmd, instead we have to use cpcmd. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit d8ad075ef60ca33f1bd8e227eed2202108fd6cd8 Author: Heiko Carstens Date: Tue Jan 9 10:18:50 2007 +0100 [S390] don't call handle_mm_fault() if in an atomic context. There are several places in the futex code where a spin_lock is held and still uaccesses happen. Deadlocks are avoided by increasing the preempt count. The pagefault handler will then not take any locks but will immediately search the fixup tables. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit de338a3795bbcb3c3d77591f65118cbec776cc39 Author: Heiko Carstens Date: Tue Jan 9 10:18:47 2007 +0100 [S390] Fix vmalloc area size calculation. setup_memory_end() uses VMALLOC_END instead of VMALLOC_END_INIT to calculate the maximum supported size of physical memory. Since VMALLOC_END is zero, this will cause a crash on 31 bit systems. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6721f77810dfcb7cbf8e97be6fa43fe2740dd0aa Author: Heiko Carstens Date: Tue Jan 9 10:18:44 2007 +0100 [S390] Fix cpu hotplug (missing 'online' attribute). 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc inverts the logic if an 'online' attribute in /sys/devices/system/cpu/cpuX should appear. So we end up with no hotpluggable cpus at all... Set the hotpluggable value to one to make sure the online attribute appears again. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 6faf4444f2445b068a4f75a86ae81b104c0eed2c Author: Heiko Carstens Date: Tue Jan 9 10:18:41 2007 +0100 [S390] cio: use barrier() in stsch_reset. Use barrier() in stsch_reset() instead of duplicating the stsch() inline assembly and adding "memory" to the clobberlist. Pointed out by Chuck Ebbert. Real fix would be to add a fixup section to the stsch() and extend the basic program check handler so it searches the exception tables in case of a program check. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit dd401e2b9250e3bb07ef388ddccbbf80aa106fc7 Author: Hongjie Yang Date: Tue Jan 9 10:18:36 2007 +0100 [S390] memory detection misses 128k. Fix a memory leak problem in the memory detection routines. A memory leak of 128k occurs when we have a contiguous memory with mixed access-mode (read or write) ranges. Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky commit cb48cfe8079ddda78425a16d6c1be57d822b365b Author: Craig Schlenter Date: Tue Jan 9 00:11:15 2007 -0800 [TCP]: Fix iov_len calculation in tcp_v4_send_ack(). This fixes the ftp stalls present in the current kernels. All credit goes to Komuro for tracking this down. The patch is untested but it looks *cough* obviously correct. Signed-off-by: Craig Schlenter Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 88044c8c9635b2ec67a27c6f334965e5b97eb2c7 Author: Patrick McHardy Date: Tue Jan 9 00:03:26 2007 -0800 [NETFILTER]: nf_conntrack_netbios_ns: fix uninitialized member in expectation ->helper is uninitialized in the expectation registered by the netbios_ns helper and it later copied to the expected connection, which causes invalid memory dereferences when trying to call the helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c1d2a1965a00693bddaddf75d57488a0d8e891af Author: Michael Chan Date: Mon Jan 8 19:57:20 2007 -0800 [TG3]: Add PHY workaround for 5755M. Some PHY trim values need to be fine-tuned on 5755M to be IEEE-compliant. Update version to 3.72. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d6aa4acebafe3acb0aade7704ec5b2f03742ea14 Author: Michael Chan Date: Mon Jan 8 19:56:31 2007 -0800 [BNX2]: Update version and reldate. Update version to 1.5.3. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit e6be763f63420c334710a5a0818e6bfcf5d593f8 Author: Michael Chan Date: Mon Jan 8 19:56:13 2007 -0800 [BNX2]: Fix bug in bnx2_nvram_write(). The bug was a bogus pointer being passed to kfree(). The pointer was incremented in the write loop and then passed to kfree(). The fix is to use align_buf to save the original address. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 253c8b75546c5f21d5321d691df92c1e84d9b0fb Author: Michael Chan Date: Mon Jan 8 19:56:01 2007 -0800 [BNX2]: Fix 5709 Serdes detection. 5709 has a new register to detect copper/fiber PHYs. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 261dd5ca05c6f36c9216f2d60b018f59f92620c4 Author: Michael Chan Date: Mon Jan 8 19:55:46 2007 -0800 [BNX2]: Don't apply CRC PHY workaround to 5709. The workaround is only needed on 5706/5708 and cannot be applied on 5709. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 2a2f11c227bdf292b3a2900ad04139d301b56ac4 Author: Paul Moore Date: Fri Jan 5 15:08:22 2007 -0500 NetLabel: correct CIPSO tag handling when adding new DOI definitions The current netlbl_cipsov4_add_common() function has two problems which are fixed with this patch. The first is an off-by-one bug where it is possibile to overflow the doi_def->tags[] array. The second is a bug where the same doi_def->tags[] array was not always fully initialized, which caused sporadic failures. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 797951200679f1d5ea12a2e58cc7bdbc2848764c Author: Paul Moore Date: Fri Jan 5 15:08:21 2007 -0500 NetLabel: correct locking in selinux_netlbl_socket_setsid() The spinlock protecting the update of the "sksec->nlbl_state" variable is not currently softirq safe which can lead to problems. This patch fixes this by changing the spin_{un}lock() functions into spin_{un}lock_bh() functions. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 86112ffdccab3ee75bc9d9dfae6745df73189e37 Author: Marcel Holtmann Date: Mon Jan 8 02:16:53 2007 +0100 [Bluetooth] Correct SCO buffer for Broadcom based Dell laptops The SCO buffer size values on Dell laptops with a Bluetooth chip from Broadcom are wrong. The USB Bluetooth driver has to set a quirk to correct the SCO buffer size values. Signed-off-by: Marcel Holtmann commit da942704c10129ecd0337a48ed4a0b0db59936b9 Author: Marcel Holtmann Date: Mon Jan 8 02:16:50 2007 +0100 [Bluetooth] Correct SCO buffer for Broadcom based HP laptops The SCO buffer size values on HP laptops with a Bluetooth chip from Broadcom are wrong. The USB Bluetooth driver has to set a quirk to correct the SCO buffer size values. Signed-off-by: Marcel Holtmann commit 5939be43a5718dadda2810b011c786c3e2c581ce Author: Marcel Holtmann Date: Mon Jan 8 02:16:46 2007 +0100 [Bluetooth] Correct SCO buffer size for another ThinkPad laptop The ThinkPad R60E uses a Broadcom based Bluetooth chip and even this version needs the quirk to correct the SCO buffer size values. Signed-off-by: Marcel Holtmann commit c893779e9fbe78575cbd04596f1fcafdb48e8f3f Author: Marcel Holtmann Date: Mon Jan 8 02:16:38 2007 +0100 [Bluetooth] Handle device registration failures In the case the device registration for a new Bluetooth low-level connection fails there is no need to unregister it when the temporary data structure has been removed. Signed-off-by: Marcel Holtmann commit 4d6a2188bd456969f52c03edf1988de90f08d9f5 Author: Marcel Holtmann Date: Mon Jan 8 02:16:31 2007 +0100 [Bluetooth] Fix uninitialized return value for RFCOMM sendmsg() When calling send() with a zero length parameter on a RFCOMM socket it returns a positive value. In this rare case the variable err is used uninitialized and unfortunately its value is returned. Signed-off-by: Marcel Holtmann commit b6e557fbf1dbba8cfa667a25503e5dbd0e9330b7 Author: Marcel Holtmann Date: Mon Jan 8 02:16:27 2007 +0100 [Bluetooth] More checks if DLC is still attached to the TTY If the DLC device is no longer attached to the TTY device, then return errors or default values for various callbacks of the TTY layer. Signed-off-by: Marcel Holtmann commit f4777569204cb59f2f04fbe9ef4e9a6918209104 Author: Marcel Holtmann Date: Mon Jan 8 02:16:23 2007 +0100 [Bluetooth] Add packet size checks for CAPI messages With malformed packets it might be possible to overwrite internal CMTP and CAPI data structures. This patch adds additional length checks to prevent these kinds of remote attacks. Signed-off-by: Marcel Holtmann commit d2e7543c41755f4ec75385536b109d5f084fe734 Author: Andrew Hendry Date: Thu Jan 4 17:00:56 2007 -0800 [X25]: Trivial, SOCK_DEBUG's in x25_facilities missing newlines Trivial. Newlines missing on the SOCK_DEBUG's for X.25 facility negotiation. Signed-off-by: Andrew Hendry Signed-off-by: David S. Miller commit cbbd7d4f36a61631f8c0d73be43df985d1e7d6a6 Author: Paul Moore Date: Thu Jan 4 16:56:46 2007 -0800 [INET]: Fix incorrect "inet_sock->is_icsk" assignment. The inet_create() and inet6_create() functions incorrectly set the inet_sock->is_icsk field. Both functions assume that the is_icsk field is large enough to hold at least a INET_PROTOSW_ICSK value when it is actually only a single bit. This patch corrects the assignment by doing a boolean comparison whose result will safely fit into a single bit field. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 2a2a5dddece676acbe3775e5ca9961f325717022 Author: Takashi Iwai Date: Mon Jan 8 17:42:22 2007 +0100 [ALSA] usbaudio - Fix kobject_add() error at reconnection Fixed the error from kobject_add() at reconnection the usb audio device. This happens when an app keeps opening a device while the device is replugged, due to the confliction of the internal bookkept index and the really empty slot. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7fbe3ca571e4b0795b729658e3d76824be54cb18 Author: Mariusz Kozlowski Date: Mon Jan 8 11:25:30 2007 +0100 [ALSA] usb: usbmixer error path fix Without the patch below namelist[0] will not be freed in case of kmalloc error. Signed-off-by: Mariusz Kozlowski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8c670714223d58086695d007b76b3e3ead54e4f5 Author: Timofei V. Bondarenko Date: Wed Dec 20 19:20:07 2006 +0100 [ALSA] _snd_cmipci_uswitch_put doesn't set zero flags Playing with spdif output on cmipci i've noticed the SPDO5V option does not change appropriate bits the register. The _snd_cmipci_uswitch_put checks the change in flags in wrong way. If 'active' state of an option corresponds to a _zero_ bits in a hw register then function fails. The SPDO5V is the sample. In the most cases 'active' state of option is set through an non-zerio bits in a register. This case works fine. The fix attached. Unfortunately i was unable to change spdif output voltage anyway. Although the register changes right at least. From: Timofei V. Bondarenko Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6afeb11de5b28e47adea1459c35e598bb98424d6 Author: Takashi Iwai Date: Mon Dec 18 16:16:04 2006 +0100 [ALSA] hda-codec - Fix NULL dereference in generic hda code Fix NULL dereference in hda_generic.c. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f9cc8a8b1887e6e2bb430405d0a4f9b5fb39fa5d Author: Jason Gaston Date: Wed Nov 22 11:53:52 2006 +0100 [ALSA] hda_intel: ALSA HD Audio patch for Intel ICH9 This patch adds the Intel ICH9 HD Audio controller DID's for ALSA. Signed-off-by: Jason Gaston Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 987411b7d899fd9b838d4ce32b45be0741c4ee22 Author: Clemens Ladisch Date: Mon Nov 20 14:14:39 2006 +0100 [ALSA] usb-audio: work around wrong frequency in CM6501 descriptors The C-Media CM6501 chip's descriptors say that altsetting 5 supports 48 kHz, but it actually plays at 96 kHz. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 5929546a96d55962bdcabae0c4e25dfcd9f1fda9 Author: Giuliano Pochini Date: Mon Nov 6 11:42:00 2006 +0100 [ALSA] Fix potential NULL pointer dereference in echoaudio midi Fix races between the timer handler and the close function. Signed-off-by: Giuliano Pochini Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5b005a0126bc2a2be3ae2c333d56e91bd5e2d8a6 Author: Peer Chen Date: Tue Oct 31 15:33:42 2006 +0100 [ALSA] Audio: Add nvidia HD Audio controllers of MCP67 support to hda_intel.c Add the support for HD audio controllers of MCP51,MCP55,MCP61,MCP65 & MCP67. Signed-off-by: Peer Chen Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 77aab8bf22042d1658d4adbca8b71779e7f2d0ff Author: Komuro Date: Sun Dec 17 19:23:17 2006 +0900 pcnet_cs : add new id pcnet_cs: add new id. corega K.K. (CG-LAPCCTXD) Logitec LPM-LN10TE Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit ab3b1c7e82fe6094a07baa5d2cb0138c4cb40fcb Author: Stephen Hemminger Date: Mon Jan 8 11:24:26 2007 -0800 chelsio: error path fix Fix handling of allocation failure. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 45d2530167027e96686a1b6a7892c55af1f516f5 Author: Frank Pavlic Date: Mon Jan 8 17:30:33 2007 +0100 s390: iucv Kconfig help description changes [PATCH 4/5] s390: iucv Kconfig help description changes From: Ursula Braun remove text from help description which does not apply anymore for 2.6 kernel series. Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit ee2db684b4b92d138ee3b7326e69f4297cf4beca Author: Frank Blaschka Date: Mon Jan 8 17:30:11 2007 +0100 s390: qeth driver fixes: atomic context fixups - qeth device functions were not callable in atomic context due to usage of wait_event_xxx operations in qeth. "schedule while atomic" message appeared and kernel dumped when removing slave from bond device. Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit 2d36c16eb032239cb038ad875ecf83c545002461 Author: Frank Blaschka Date: Mon Jan 8 17:29:58 2007 +0100 s390: qeth driver fixes: packet socket - packet socket support is not complete. Recvfrom a packet socket does not fill the sockaddr_ll structure. device function hard_header_parse is not implemented. For layer 2 mode and layer 3 mode with fake_ll turned on, we have the information to fill sockaddr_ll. Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit 95c78c8bfe8d0b49a43f392b9a74e2f9e89765ab Author: Frank Blaschka Date: Mon Jan 8 17:29:34 2007 +0100 s390: qeth driver fixes: VLAN hdr, perf stats From: Ursula Braun - VLAN header reordering did not work on packets received through qeth interface in layer 2 mode. This caused dhcpcd not to work with VLAN devices. - set qeth performance statistics initally inactive Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit f35723ec48ca60f2f3493ea40d63a9bc5b585c28 Author: Ayaz Abdulla Date: Thu Feb 20 03:03:54 2003 -0500 forcedeth: sideband management fix This patch contains a fix that implements proper communication with the sideband management unit. Also, it makes sure that the speed is correctly set for gigabit phys in the case where sideband mgmt unit initialized the phy. Refer to bug #7684 for more details. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit dc40127ca5c6e1da48d2b5f9d0c65b5795faac12 Author: Anton Blanchard Date: Tue Jan 9 02:43:02 2007 +1100 [POWERPC] Fix bugs in the hypervisor call stats code There were a few issues with the HCALL_STATS code: - PURR cpu feature checks were backwards - We iterated one entry off the end of the hcall_stats array - Remove dead update_hcall_stats() function prototype I noticed one thing while debugging, and that is we call H_ENTER (to set up the MMU hashtable in early init) before we have done the cpu fixups. This means we will execute the PURR SPR reads even on a CPU that isnt capable of it. I wonder if we can move the CPU feature fixups earlier. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit ab87e8dc88a7cae341c403547cea6b022f5ac023 Author: Anton Blanchard Date: Tue Jan 9 02:37:16 2007 +1100 [POWERPC] Fix corruption in hcall9 It looks to me like we are corrupting r12 in the hcall9 function. Although we have r0 free we cant use offsets against it, so save away r12 in there instead. r12 holds the ninth return value from the hypervisor call, so without this fix, the caller will see the wrong value for the ninth element in the array that gets the return values. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit e75b171768b8b98ec5fd57acb3e87a30c97c9472 Author: Stephen Rothwell Date: Thu Jan 4 17:06:21 2007 +1100 [POWERPC] iSeries: fix setup initcall Clearing the progress indicator should only be done if we are running on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit e9966ff85013be0ef56d3c76f3b4d5c02488d964 Author: Stephen Rothwell Date: Thu Jan 4 17:05:13 2007 +1100 [POWERPC] iSeries: fix viopath initialisation /proc/iSeries/config should only be created if we are running on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 13d2c9bbb09e37e8a231a36b279a97861d6d5407 Author: Stephen Rothwell Date: Thu Jan 4 17:04:21 2007 +1100 [POWERPC] iSeries: fix lpevents initialisation /proc/iSeries/lpevents should only be created if we are running on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 8404e654300cb807428b839d5ae56fd45b5acb92 Author: Stephen Rothwell Date: Thu Jan 4 17:03:16 2007 +1100 [POWERPC] iSeries: fix proc/iSeries initialisation These proc files should only be created if we are running on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit d9523aa157e9fbb93467dcd0d1bed9604153bf7f Author: Stephen Rothwell Date: Thu Jan 4 17:01:51 2007 +1100 [POWERPC] iSeries: fix mf proc initialisation This proc file should only be created if we are running on legacy iSeries. Since we can now run the same kernel on legacy iSeries and other machines, we currently get the /proc/iSeries directory and the files in it on non-iSeries machines, and accessing them causes an oops in some cases. This and the following patches make sure that these files are not created on non-iSeries machines, thus avoiding the oops. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 7232846b8d682a56407839e3774d03be0c7806c8 Author: Olaf Hering Date: Wed Jan 3 18:33:56 2007 +0100 [POWERPC] disable PReP and EFIKA during make oldconfig New boards should not be enabled per default. Disable EFIKA and PReP per default. Anyone who really needes the new code can enable it during make oldconfig. Signed-off-by: Olaf Hering Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit c98750c2eb07b0bf49db0630cb5017ede005ce14 Author: Grant Likely Date: Tue Jan 2 15:45:37 2007 -0700 [POWERPC] Fix mpc52xx serial driver to work for arch/ppc again The mpc52xx_uart_of_enumerate() function was added when adding 52xx support to arch/powerpc, but it must not be called for arch/ppc. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 9b3a6f4ab98809c93ac57fa5e11dff0575046efc Author: Grant Likely Date: Tue Jan 2 15:45:29 2007 -0700 [POWERPC] Don't include powerpc/sysdev/rom.o for arch/ppc builds sysdev/rom.c is for arch/powerpc only. Don't compile it when building an arch/ppc kernel. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit a5b6ad6691763ee5eba46665d014d5abfe433df2 Author: Grant Likely Date: Tue Jan 2 15:44:44 2007 -0700 [POWERPC] Fix mpc52xx fdt to use correct device_type for sound devices This corrects the documented interface for mpc52xx device trees. Sound devices should be using 'sound' for the device_type field, not the type of sound interface. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 5c334eed6ecd66cebfbc80267149e755510d8bc8 Author: Sylvain Munaut Date: Tue Jan 2 23:29:53 2007 +0100 [POWERPC] 52xx: Don't use device_initcall to probe of_platform_bus Using device_initcall makes it happen for every platform that compiles this file in. This is really bad, for obvious reasons. Instead, we use the .init field of the machine description. If the platform needs the hook to do something specific it can provides its own function and call mpc52xx_declare_of_platform_devices from there. If not, the mpc52xx_declare_of_platform_devices function can directly be used as the init hook. Signed-off-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 56c336cb05d58991f3e9d5f0ec098ba0f219a15e Author: Stephen Rothwell Date: Tue Jan 2 16:13:50 2007 +1100 [POWERPC] Add legacy iSeries to ppc64_defconfig Since we can now boot legacy iSeries and other machines with the same config, enable legacy iSeries in ppc64_defconfig. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 338e997d94840baca115fb35dcf82867b1f3dc32 Author: Stephen Rothwell Date: Tue Jan 2 16:11:09 2007 +1100 [POWERPC] Update ppc64_defconfig Enabled new netfilter stuff corresponding to what was enabled before under different names, and turned on the gxt4500 video driver; otherwise just took the defaults. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 007d88d042d7b71aa2c9fc615aef97888e20ddf3 Author: David Woodhouse Date: Mon Jan 1 18:45:34 2007 +0000 [POWERPC] Fix manual assembly WARN_ON() in enter_rtas(). When we switched over to the generic BUG mechanism we forgot to change the assembly code which open-codes a WARN_ON() in enter_rtas(), so the bug table got corrupted. This patch provides an EMIT_BUG_ENTRY macro for use in assembly code, and uses it in entry_64.S. Tested with CONFIG_DEBUG_BUGVERBOSE on ppc64 but not without -- I tried to turn it off but it wouldn't go away; I suspect Aunt Tillie probably needed it. This version gets __FILE__ and __LINE__ right in the assembly version -- rather than saying include/asm-powerpc/bug.h line 21 every time which is a little suboptimal. Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras commit 673aeb76d07f49f2b07792f813bc2a9fee212ab7 Author: Michal Ostrowski Date: Wed Dec 20 07:29:40 2006 -0600 [POWERPC] Avoid calling get_irq_server() with a real, not virtual irq. We can use default_server when masking an interrupt vector. get_irq_server() assumes a virtual irq, so badness may happen if we give it a real one. Signed-off-by: Michal Ostrowski Signed-off-by: Paul Mackerras commit 5e264a5215e4b703b1bbeb2910ea4441886be8d7 Author: Nathan Lynch Date: Tue Jan 2 16:37:06 2007 -0600 [POWERPC] Fix unbalanced uses of of_node_put The (maple|pasemi)_init_IRQ functions call of_node_put(root) once more than they should, causing the refcount of the root node to underflow, which triggers the WARN_ON in kref_get. Signed-off-by: Nathan Lynch Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 6aa3e1e9447134ccda8b04b91c4ba8182274a78e Author: David Gibson Date: Fri Dec 22 09:23:03 2006 +1100 [POWERPC] Fix bogus BUG_ON() in in hugetlb_get_unmapped_area() The powerpc specific version of hugetlb_get_unmapped_area() makes some unwarranted assumptions about what checks have been made to its parameters by its callers. This will lead to a BUG_ON() if a 32-bit process attempts to make a hugepage mapping which extends above TASK_SIZE (4GB). I'm not sure if these assumptions came about because they were valid with earlier versions of the get_unmapped_area() path, or if it was always broken. Nonetheless this patch fixes the logic, and removes the crash. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit fea5f1e19611d94fbf3905875a427c4cb959cd06 Author: Linus Torvalds Date: Mon Jan 8 15:04:46 2007 -0800 Revert "[PATCH] x86-64: Try multiple timer variants in check_timer" This reverts commit b026872601976f666bae77b609dc490d1834bf77, which has been linked to several problem reports with IO-APIC and the timer. Machines either don't boot because the timer doesn't happen, or we get double timer interrupts because we end up double-routing the timer irq through multiple interfaces. See for example http://lkml.org/lkml/2006/12/16/101 http://lkml.org/lkml/2007/1/3/9 http://bugzilla.kernel.org/show_bug.cgi?id=7789 about some of the discussion. Patches to fix this cleanup exist (and have been confirmed to work fine at least for some of the affected cases) and we'll revisit it for 2.6.21, but this late in the -rc series we're better off just reverting the incomplete commit that caused the problems. Suggested-by: Adrian Bunk Cc: Eric W. Biederman Cc: Yinghai Lu Cc: Andrew Morton Cc: Andi Kleen Signed-off-by: Linus Torvalds commit 0efc61eaee5471acd7399c8536feff280b4966dd Author: Venkat Yekkirala Date: Tue Dec 12 13:02:41 2006 -0600 selinux: Delete mls_copy_context This deletes mls_copy_context() in favor of mls_context_cpy() and replaces mls_scopy_context() with mls_context_cpy_low(). Signed-off-by: Venkat Yekkirala Acked-by: Stephen Smalley Signed-off-by: James Morris commit 2dbda7dceca81adfe57c8884be5c66e70822d89a Author: Vitaly Wool Date: Thu Dec 28 17:14:05 2006 +0300 [MIPS] PNX8550: Fix system timer support the patch inlined below restores proper time accounting for PNX8550-based boards. It also gets rid of #ifdef in the generic code which becomes unnecessary then. It's functionally identical to the previous patch with the same name but it has minor comments from Atsushi and Sergei taken into account. Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit 33b06b513e804ae64ebd5105fb703ec90bd7e173 Author: Atsushi Nemoto Date: Mon Dec 18 00:38:21 2006 +0900 [MIPS] TX49: Fix use of CDEX build_store_reg() The commit a923660d786a53e78834b19062f7af2535f7f8ad accidently prevents TX49 from using CDEX. Use build_dst_pref() only if prefetch for store was really available. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d98f92371461c5c8cc24e12a212c59b3f437b581 Author: Davy Chan Date: Fri Jan 5 13:56:46 2007 +0800 [MIPS] pnx8550: Fix write_config_byte() PCI config space accessor There's a serious typo in the function: arch/mips/pci/ops-pnx8550.c:write_config_byte() The parameter passed to the function config_access() is PCI_CMD_CONFIG_READ instead of PCI_CMD_CONFIG_WRITE. This renders any attempts to write a single byte to the PCI configuration registers useless. This problem does not exist for write_config_word() nor write_config_dword(). This problem has been there since kernel v2.6.17 and is still there as of kernel v2.6.19.1. Signed-off-by: Ralf Baechle commit f75f369fd783d194cb45632617561ca4d7045849 Author: Atsushi Nemoto Date: Mon Jan 8 01:27:40 2007 +0900 [MIPS] Fix build errors on SEAD Quick and dirty fix for build errors on SEAD. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f9bba75e378776ee4e97adc0555db16695d341e1 Author: Atsushi Nemoto Date: Mon Jan 8 00:50:34 2007 +0900 [MIPS] SMTC build fix Pass "irq" to __DO_IRQ_SMTC_HOOK() macro. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f860c90bd6ce22c6a0a352cc16acc74fba3d628e Author: Atsushi Nemoto Date: Wed Dec 13 01:22:06 2006 +0900 [MIPS] csum_partial and copy in parallel Implement optimized asm version of csum_partial_copy_nocheck, csum_partial_copy_from_user and csum_and_copy_to_user which can do calculate and copy in parallel, based on memcpy.S. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 61e84f99877fa8caaf1be86d51d825406e8d8bc1 Author: Ralf Baechle Date: Tue Dec 12 11:52:34 2006 +0000 [MIPS] Malta: Add missing MTD file. Signed-off-by: Ralf Baechle commit e97126cd9056b3b42cdc862ace2ed66f8026f55b Author: Russell King Date: Mon Jan 8 19:49:12 2007 +0000 [ARM] Provide basic printk_clock() implementation Current sched_clock() implementations on ARM cause unbootable kernels with PRINTK_TIME support enabled. To avoid this, provide a basic printk_clock() implementation which avoids sched_clock() being called before the page tables have been set up. Signed-off-by: Russell King commit 6020dff09252e3670a89edb36baaa4afb9b10d15 Author: Russell King Date: Sat Dec 30 23:17:40 2006 +0000 [ARM] Resolve fuse and direct-IO failures due to missing cache flushes fuse does not work on ARM due to cache incoherency issues - fuse wants to use get_user_pages() to copy data from the current process into kernel space. However, since this accesses userspace via the kernel mapping, the kernel mapping can be out of date wrt data written to userspace. This can lead to unpredictable behaviour (in the case of fuse) or data corruption for direct-IO. This resolves debian bug #402876 Signed-off-by: Russell King commit a6f36be32622730710b2fadacb6e2649defa4371 Author: Russell King Date: Sat Dec 30 22:24:19 2006 +0000 [ARM] pass vma for flush_anon_page() Since get_user_pages() may be used with processes other than the current process and calls flush_anon_page(), flush_anon_page() has to cope in some way with non-current processes. It may not be appropriate, or even desirable to flush a region of virtual memory cache in the current process when that is different to the process that we want the flush to occur for. Therefore, pass the vma into flush_anon_page() so that the architecture can work out whether the 'vmaddr' is for the current process or not. Signed-off-by: Russell King commit e47c222b22cd53c317a5573e1dc5f9e0cbd46380 Author: Russell King Date: Mon Jan 8 16:42:51 2007 +0000 [ARM] Fix potential MMCI bug The MMCI driver might end up aborting the initial command and leaving the data part of the command sequence still in place. Avoid this problem by ensuring that any data sequence is properly cleared out when a command completes. Signed-off-by: Russell King commit 4d503ecc86a14b86ab7bcdfa8b755994143eba19 Author: Jiri Kosina Date: Mon Jan 8 13:42:43 2007 +0100 HID: mousepoll parameter makes no sense for generic HID mousepoll parameter makes no sense for generic HID code. It belongs to (and is implemented by) usbhid. This is also where all users are expecting it. Signed-off-by: Jiri Kosina commit d6509c36ba333282362e5f9769869f8a8d790aaf Author: Ahmed S. Darwish Date: Sat Jan 6 15:18:52 2007 +0200 HID: tiny patch to remove a kmalloc cast Remove unnecessary cast. Signed-off-by: Ahmed Darwish Signed-off-by: Jiri Kosina commit 35068976916fdef82d6e69ef1f8c9a1c47732759 Author: Adrian Drzewiecki Date: Sat Jan 6 12:37:26 2007 +0100 HID: fix mappings for DiNovo Edge Keyboard - Logitech USB BT receiver This patch fixes mappings for the Logitech USB BT receiver that ships along with Logitech's DiNovo Edge keyboard. Without these changes, the "touchwheel" does not work as intended (a mouse) Signed-off-by: Adrian Drzewiecki Acked-by: Vojtech Pavlik Signed-off-by: Jiri Kosina commit eac681b3aec226c83f52d307254d88393aab5eb9 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Mon Jan 8 20:38:34 2007 +1100 i915: Fix a DRM_ERROR that should be DRM_DEBUG. It would clutter up the kernel output in a situation which is legitimate before X.org 7.2 and handled correctly by the 3D driver. Signed-off-by: Dave Airlie commit 98714cb161b4b1a5d0c5bd0337a8578196b73677 Author: Jack Morgenstein Date: Mon Dec 25 09:24:52 2006 +0200 IB/mthca: Fix PRM compliance problem in atomic-send completions According to the Tavor and Arbel programmer's reference manuals, the number of bytes transferred is not provided in the byte_cnt field of the CQ entry for atomic operation completions. For atomic operations, the number of bytes transferred is always 8 (when the status is "success"), and this constant value should always be used by the driver in the ib_wc entry returned, rather than using the CQE. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 0cefcf0bbc2d252eb48bff3289fb59c3817dd405 Author: Sean Hefty Date: Fri Jan 5 12:35:15 2007 -0800 RDMA/ucma: Don't report events with invalid user context There's a problem with how rdma cm events are reported to userspace that can lead to application crashes. When a new connection request arrives, a context for the connection is allocated in the kernel. The connection event is then reported to userspace. The userspace library retrieves the event and allocates its own context for the connection. The userspace context is associated with the kernel's context when accepting. This allows the kernel to give userspace context with other events. A problem occurs if a second event for the same connection occurs before the user has had a chance to call accept. The userspace context has not yet been set, which causes the librdmacm to crash. (This has been seen when the app takes too long to call accept, resulting in the remote side timing out and rejecting the connection) Fix this by ignoring events for new connections until userspace has set their context. This can only happen if an error occurs on a new connection before the user accepts it. This is okay, since the accept will just fail later. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 30a5ec982e4cfa955f93c454debaefc4d61d2da6 Author: Sean Hefty Date: Thu Dec 14 11:22:19 2006 -0800 RDMA/ucma: Fix struct ucma_event leak when backlog is full We discard new connection requests while the listen backlog is full, but leak a struct ucma_event in the process. Free the structure in this case. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 881a045fc5b454b57c69e010acecd5830d87e242 Author: Steve Wise Date: Fri Dec 15 16:50:17 2006 -0600 RDMA/iwcm: iWARP connection timeouts shouldn't be reported as rejects The iWARP CM should report timeouts as event RDMA_CM_EVENT_UNREACHABLE, not event RDMA_CM_EVENT_REJECTED. Signed-off-by: Steve Wise Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit e6331173c8703602d264b3388b515d00f72fc4ae Author: Jeff Garzik Date: Sun Jan 7 22:57:38 2007 -0500 Revert "[PATCH] e1000: disable TSO on the 82544 with slab debugging" This reverts commit 72f3ab7462f4e153d1e8ac78e379716ad71d6923, which was superceded by commit 683a2aa339f607c8a422835161ceab68b2a5a18a ("e1000: Do not truncate TSO TCP header with 82544 workaround"), which fixed the real problem. Signed-off-by: Jeff Garzik commit 3a6b95c81c522d9dbd36b33d33b08e66c87a6088 Author: Heiko Carstens Date: Thu Dec 28 13:05:36 2006 +0100 qeth: fix uaccess handling and get rid of unused variable [patch] qeth: fix uaccess handling and get rid of unused variable drivers/s390/net/qeth_main.c: In function `qeth_process_inbound_buffer': drivers/s390/net/qeth_main.c:2563: warning: unused variable `vlan_addr' include/asm/uaccess.h: In function `qeth_do_ioctl': drivers/s390/net/qeth_main.c:4847: warning: ignoring return value of `copy_to_user' drivers/s390/net/qeth_main.c:4849: warning: ignoring return value of `copy_to_user' drivers/s390/net/qeth_main.c:4996: warning: ignoring return value of `copy_to_user' Cc: Frank Pavlic Signed-off-by: Heiko Carstens Signed-off-by: Jeff Garzik commit 80b02e595c308a5deb2ad49bd6aa3ab1da9cdbdb Author: Ron Mercer Date: Wed Jan 3 16:26:07 2007 -0800 qla3xxx: Add delay to NVRAM register access. When accessing the 93LC86 serial prom the clock high and low times must be at least 250ns each. We have seen on some systems where the access times were much lower casing bit errors. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit ca16497a75d0e658858b6a8601f8c60250e73833 Author: Ron Mercer Date: Wed Jan 3 16:26:06 2007 -0800 qla3xxx: Remove NETIF_F_LLTX from driver features. Driver TX locking was removed some time ago, but the flag was overlooked. Signed-off-by: Ron Mercer Signed-off-by: Jeff Garzik commit f0938401f2252bf39615c0815734650eab9053c8 Author: Erez Zilber Date: Sun Jan 7 12:28:02 2007 +0200 IB/iser: Return error code when PDUs may not be sent iSER limits the number of outstanding PDUs to send. When this threshold is reached, it should return an error code (-ENOBUFS) instead of setting the suspend_tx bit (which should be used only by libiscsi). Signed-off-by: Erez Zilber Signed-off-by: Roland Dreier commit bf81b46482c0fa8ea638e409d39768ea92a6b0f0 Author: Linus Torvalds Date: Sat Jan 6 21:45:51 2007 -0800 Linux 2.6.20-rc4 commit db6ccbb61c1291c8aaefadcc8304444f27eeb88d Author: Russell King Date: Sat Jan 6 22:53:48 2007 +0000 [ARM] Fix kernel-mode undefined instruction aborts If the kernel attempts to execute a CP1 or CP2 instruction and it aborts, and a FP emulator is not loaded, we try to return as if to a user context, instead of the proper kernel context. Since the fault came from kernel mode, we must use the kernel return paths. Signed-off-by: Russell King commit 90cb28e8f76e57751ffe14abd09c2d53a6aea7c8 Author: Linus Torvalds Date: Sat Jan 6 13:28:21 2007 -0800 Revert "[PATCH] binfmt_elf: randomize PIE binaries (2nd try)" This reverts commit 59287c0913cc9a6c75712a775f6c1c1ef418ef3b. Hugh Dickins reports that it causes random failures on x86 with SuSE 10.2, and points out "Isn't that randomization, anywhere from 0x10000 to ELF_ET_DYN_BASE, sure to place the ET_DYN from time to time just where the comment says it's trying to avoid? I assume that somehow results in the error reported." (where the comment in question is the existing comment in the source code about mmap/brk clashes). Suggested-by: Hugh Dickins Acked-by: Marcus Meissner Cc: Andrew Morton Cc: Andi Kleen Cc: Ingo Molnar Cc: Dave Jones Cc: Arjan van de Ven Signed-off-by: Linus Torvalds commit a3ffab87588234e41248d8cebd8cec88db605d3c Author: Aaron Salter Date: Sat Jan 6 09:51:41 2007 -0800 ixgb: Write RA register high word first, increment version We need to disable the AV bit before flushing the low register. Signed-off-by: Signed-off-by: Auke Kok commit dfd341e4e467d146901a3accb761f04fda535433 Author: Jesse Brandeburg Date: Sat Jan 6 09:51:38 2007 -0800 ixgb: Maybe stop TX if not enough free descriptors A similar patch to commit 65c7973fa5b46b024f38be208aa477e8daf9a603 but now for ixgb. Cc: Herbert Xu Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok commit 5d9278537502d2e404e85485d1b905814fe728c0 Author: Jesse Brandeburg Date: Sat Jan 6 09:51:23 2007 -0800 ixgb: Fix early TSO completion This fix was already merged in commit 96f9c2e277768099479fbed7c3b69c294b1fadef but reverted in commit 989316ddfeafd0e8fb51a4d811383769ad62637a. After stresstesting we found that the fix does not add new regressions and works around a TX hang spotted by several users. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok commit 3ef49a3b45c33b055002402f01e5da98cb773086 Author: Jes Sorensen Date: Fri Jan 5 12:05:37 2007 -0500 [SCSI] qla1280: set residual correctly Jeremy caught a bug in the qla1280 driver where it didn't set the residual value correctly. Signed-off-by: Jeremy Higdon Signed-off-by: Jes Sorensen Signed-off-by: James Bottomley commit d0a6b08ae08c2ab292f756bdae0e8b1242696d7f Author: Eric Moore Date: Thu Jan 4 20:49:03 2007 -0700 [SCSI] fusion: bump version bump version Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 9f4203b357d46a66c042df3dedf277ccaa5e2b1d Author: Eric Moore Date: Thu Jan 4 20:47:47 2007 -0700 [SCSI] fusion: MODULE_VERSION support * Add modinfo driver version support. * Change copyright year to 2007. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit f99be43b3024f2dd054f2addd54a318eabee2018 Author: Eric Moore Date: Thu Jan 4 20:46:54 2007 -0700 [SCSI] fusion: power pc and miscellaneous bug fixs * Endian fix's for warnings found in ppc environment. * Fix compile time warning when calling scsi_device_reprobe, where in newer kernels this API expects its return value to be examined. * Fix compile errors when debug messages are enabled. Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 86dd424266530cda55258b2b33d04c23a88b9a9c Author: Eric Moore Date: Thu Jan 4 20:44:01 2007 -0700 [SCSI] fusion: fibre channel: return DID_ERROR for MPI_IOCSTATUS_SCSI_IOC_TERMINATED A repost of a patch forwarded by Mikael Reed from 2006-12-20. The fibre channel IOC may kill a request for a variety of reasons, some of which may be recovered by a retry, some of which are unlikely to be recovered. Return DID_ERROR instead of DID_RESET to permit retry of the command, just not an infinite number of them. Signed-off-by: Michael Reed Signed-off-by: Eric Moore Signed-off-by: James Bottomley commit 3d6d174a0888fe082e87ce1d4a0f1a85044a4515 Author: Sumant Patro Date: Fri Dec 29 08:13:54 2006 -0800 [SCSI] megaraid_sas: Update module author Update domain name change from lsil.com to lsi.com. Change module author to megaraidlinux@lsi.com Signed-off-by: Sumant Patro Signed-off-by: James Bottomley commit 4fe48187da5a0229be3951761b66cd426430a52b Author: adam radford Date: Thu Jan 4 18:16:56 2007 -0800 [SCSI] 3ware 8000 serialize reset code The attached patch updates the 3ware 8000 driver: - Free irq handler in __tw_shutdown(). - Turn on RCD bit for caching mode page. - Serialize reset code. Signed-off-by: Adam Radford Signed-off-by: James Bottomley commit 6397256b0af52082db3b7f804aa3b612a17dcbc9 Author: Tejun Heo Date: Tue Jan 2 17:41:04 2007 +0900 [SCSI] sr: fix error code check in sr_block_ioctl() sr_block_ioctl() should proceed to SCSI ioctls if cdrom_ioctl() returns -ENOSYS. However it tested for ENOSYS instead of -ENOSYS rendering all SCSI ioctls other than GET_IDLUN and GET_BUS_NUMBER inaccessible. Fix it. Signed-off-by: Tejun Heo Signed-off-by: James Bottomley commit a96e0c7798057dd8055d0263c076fed975c10237 Author: Mariusz Kozlowski Date: Tue Jan 2 01:07:32 2007 +0100 [SCSI] scsi: lpfc error path fix Add kmalloc failure check and fix the loop on error path. Without the patch pool element at index [0] will not be freed. Signed-off-by: Mariusz Kozlowski Acked-by: James Smart Signed-off-by: James Bottomley commit 8e9d58e723e29e8b04c09bd9badd81c1d8232f5f Author: Salyzyn, Mark Date: Mon Dec 18 15:01:41 2006 -0500 [SCSI] aacraid: Product List Update Update drivers/scsi/aacraid/linit.c and Documentation/scsi/aacraid.txt file with the current list of adapters supported by the aacraid driver. Deprecated a few adapters that never shipped, corrected a few and added new adapters that matched the family code support. No functional changes to the driver. No side effects. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit 9b80cb4be1f4181875e0cf274dc59f42964fdf1b Author: Mike Christie Date: Sun Dec 17 12:10:28 2006 -0600 [SCSI] libiscsi: fix senselen calculation Yanling Qi, noted that when the sense data length of a check-condition is greater than 0x7f (127), senselen = (data[0] << 8) | data[1] will become negative. It causes different kinds of panics from GPF, spin_lock deadlock to spin_lock recursion. We were also swapping this value on big endien machines. This patch fixes both issues by using be16_to_cpu(). Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 94cb3f822bb806a750e1e1c8457bee6e96671569 Author: FUJITA Tomonori Date: Sun Dec 17 12:10:27 2006 -0600 [SCSI] iscsi: simplify IPv6 and IPv4 address printing Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 09492605aa3e17ce19572b9e925ecf66e4da55dd Author: Meelis Roos Date: Sun Dec 17 12:10:26 2006 -0600 [SCSI] iscsi: newline in printk This patch cures two run together printk messages in iSCSI driver. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 59c17ec1690fd76ce6ae586daac29b04601be3e0 Author: Akinobu Mita Date: Sun Dec 17 12:10:25 2006 -0600 [SCSI] iscsi: fix crypto_alloc_hash() error check The return value of crypto_alloc_hash() should be checked by IS_ERR(). Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit c959e1c2a475e0ad0d24eff200de9b6dcb3710c6 Author: Arne Redlich Date: Sun Dec 17 12:10:24 2006 -0600 [SCSI] iscsi: fix 2.6.19 data digest calculation bug The transition from crypto_digest_*() to the crypto_hash_*() family introduced a bug into the data digest calculation: crypto_hash_update() is called with the number of S/G elements instead of the S/G lists data size. Signed-off-by: Arne Redlich Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit ddaf6fc85459d161c39a70a2cf9e04343dafe47f Author: James Bottomley Date: Wed Dec 13 10:10:40 2006 -0600 [SCSI] scsi_scan: fix report lun problems with CDROM or RBC devices Apparently no ATAPI CD/DVD actually supports REPORT LUNS (in spite of claiming scsi-3 compliance, where it's mandatory) and worse, some crash or flake out on being sent the command. This may actually be due to a conflict between SPC and MMC with MMC not listing REPORT LUNS as mandatory. The same standards conflict exists for RBC as well. Fix all of this by reversing the blacklists for CDROM and RBC devices (i.e. now they have to have the BLIST_REPORTLUNS2 flag set even if the inquiry data returns scsi-3 compliance). Signed-off-by: James Bottomley commit 4ac941d2d04ef26a91adf677f3a371818596305d Author: Dan Williams Date: Thu Jan 4 02:14:49 2007 +0100 [ARM] 4082/1: iop3xx: fix iop33x gpio register offset iop33x gpio offset is correct in include/asm-arm/arch-iop33x/iop33x.h, but include/asm-arm/hardware/iop3xx.h adds 4. Signed-off-by: Dan Williams Signed-off-by: Russell King commit 9ca3f07b869c1fbbdfdac3150019a3e4d2948d8e Author: Ben Dooks Date: Sun Dec 24 01:36:35 2006 +0100 [ARM] 4070/1: arch/arm/kernel: fix warnings from missing includes Include to fix the warning: arch/arm/kernel/traps.c:647:6: warning: symbol '__readwrite_bug' was not declared. Should it be static? Include to fix the warning: arch/arm/kernel/time.c:42:1: warning: symbol 'rtc_lock' was not declared. Should it be static? Signed-off-by: Ben Dooks Signed-off-by: Russell King commit e2bdb176ffae3fd2c162db897a05fbad044ff9e9 Author: Dan Williams Date: Tue Jan 2 18:32:37 2007 +0100 [ARM] 4079/1: iop: Update MAINTAINERS Signed-off-by: Dan Williams Signed-off-by: Russell King commit af3e095a1fb42bac32355d5d59ce93f8b4e59a3e Author: Erik Jacobson Date: Fri Jan 5 16:37:05 2007 -0800 [PATCH] connector: some fixes for ia64 unaligned access errors On ia64, the various functions that make up cn_proc.c cause kernel unaligned access errors. If you are using these, for example, to get notification about all tasks forking and exiting, you get multiple unaligned access errors per process. Use put_unaligned() in the appropriate palces to fix this. Signed-off-by: Erik Jacobson Cc: Evgeniy Polyakov Cc: "Luck, Tony" Cc: Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76395d37611e8758dd8bd6c6f5bfcb31e1dc48f9 Author: Andrew Morton Date: Fri Jan 5 16:37:05 2007 -0800 [PATCH] shrink_all_memory(): fix lru_pages handling At the end of shrink_all_memory() we forget to recalculate lru_pages: it can be zero. Fix that up, and add a helper function for this operation too. Also, recalculate lru_pages each time around the inner loop to get the balancing correct. Cc: "Rafael J. Wysocki" Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d63b70902befe189ba2672925f28ec3f4db41352 Author: Evgeniy Dushistov Date: Fri Jan 5 16:37:04 2007 -0800 [PATCH] fix garbage instead of zeroes in UFS Looks like this is the problem, which point Al Viro some time ago: ufs's get_block callback allocates 16k of disk at a time, and links that entire 16k into the file's metadata. But because get_block is called for only a single buffer_head (a 2k buffer_head in this case?) we are only able to tell the VFS that this 2k is buffer_new(). So when ufs_getfrag_block() is later called to map some more data in the file, and when that data resides within the remaining 14k of this fragment, ufs_getfrag_block() will incorrectly return a !buffer_new() buffer_head. I don't see _right_ way to do nullification of whole block, if use inode page cache, some pages may be outside of inode limits (inode size), and will be lost; if use blockdev page cache it is possible to zero real data, if later inode page cache will be used. The simpliest way, as can I see usage of block device page cache, but not only mark dirty, but also sync it during "nullification". I use my simple tests collection, which I used for check that create,open,write,read,close works on ufs, and I see that this patch makes ufs code 18% slower then before. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ba3485947ee7bc89a17f86250fe9b692a615dff Author: Hugh Dickins Date: Fri Jan 5 16:37:03 2007 -0800 [PATCH] fix OOM killing of swapoff These days, if you swapoff when there isn't enough memory, OOM killer gives "BUG: scheduling while atomic" and the machine hangs: badness() needs to do its PF_SWAPOFF return after the task_unlock (tasklist_lock is also held here, so p isn't going to be freed: PF_SWAPOFF might get turned off at any moment, but that doesn't really matter). Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c8af57eb76fbd70c7f5b421b065fd55d096e2bff Author: Matthijs van Otterdijk Date: Fri Jan 5 16:37:03 2007 -0800 [PATCH] fix the toshiba_acpi write_lcd return value write_lcd() in toshiba_acpi returns 0 on success since the big ACPI patch merged in 2.6.20-rc2. It should return count. Signed-off-by: Matthijs van Otterdijk Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73b8ed29ab3f6ad7204b4e61cfa87dc0c28d3019 Author: Cyrill V. Gorcunov Date: Fri Jan 5 16:37:02 2007 -0800 [PATCH] qconf: fix SIGSEGV on empty menu items qconf may cause SIGSEGV by trying to show debug information on empty menu items Signed-off-by: Cyrill V. Gorcunov Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2e12bb272f2544d1504f982270e90ae3dcc4ff2 Author: Christoph Lameter Date: Fri Jan 5 16:37:02 2007 -0800 [PATCH] Check for populated zone in __drain_pages Both process_zones() and drain_node_pages() check for populated zones before touching pagesets. However, __drain_pages does not do so, This may result in a NULL pointer dereference for pagesets in unpopulated zones if a NUMA setup is combined with cpu hotplug. Initially the unpopulated zone has the pcp pointers pointing to the boot pagesets. Since the zone is not populated the boot pageset pointers will not be changed during page allocator and slab bootstrap. If a cpu is later brought down (first call to __drain_pages()) then the pcp pointers for cpus in unpopulated zones are set to NULL since __drain_pages does not first check for an unpopulated zone. If the cpu is then brought up again then we call process_zones() which will ignore the unpopulated zone. So the pageset pointers will still be NULL. If the cpu is then again brought down then __drain_pages will attempt to drain pages by following the NULL pageset pointer for unpopulated zones. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6929da4427b4335365dd51ab0b7dd2a0393656f0 Author: Alan Date: Fri Jan 5 16:37:01 2007 -0800 [PATCH] hpt37x: Two important bug fixes The HPT37x driver very carefully handles DMA completions and the needed fixups are done on pci registers 0x50 and 0x52. This is unfortunate because the actual registers are 0x50 and 0x54. Fixing this offset cures the second channel problems reported. Secondly there are some problems with the HPT370 and certain ATA drives. The filter code however only filters ATAPI devices due to a reversed type check. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 516e72cb47ae4457f368aff449ffc284c5f357c1 Author: Alexey Dobriyan Date: Fri Jan 5 16:37:00 2007 -0800 [PATCH] pata_optidma: typo in Kconfig Signed-off-by: Alexey Dobriyan Acked-by: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 022a93080c269e913793bea3a9a7fed06ca7d29b Author: Dor Laor Date: Fri Jan 5 16:37:00 2007 -0800 [PATCH] KVM: Simplify test for interrupt window No need to test for rflags.if as both VT and SVM specs assure us that on exit caused from interrupt window opening, 'if' is set. Signed-off-by: Dor Laor Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68a99f6d37aa65e848e09ec6ea52848e93bd5de2 Author: Ingo Molnar Date: Fri Jan 5 16:36:59 2007 -0800 [PATCH] KVM: Simplify mmu_alloc_roots() Small optimization/cleanup: page == page_header(page->page_hpa) Signed-off-by: Ingo Molnar Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d21225ee2b6fa9f7669526927f2e0bedebd90940 Author: Ingo Molnar Date: Fri Jan 5 16:36:59 2007 -0800 [PATCH] KVM: Make loading cr3 more robust Prevent the guest's loading of a corrupt cr3 (pointing at no guest phsyical page) from crashing the host. Signed-off-by: Ingo Molnar Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 760db773fbd0ad2ece89393218c4a4213b5bae6a Author: Avi Kivity Date: Fri Jan 5 16:36:59 2007 -0800 [PATCH] KVM: MMU: Add missing dirty bit If we emulate a write, we fail to set the dirty bit on the guest pte, leading the guest to believe the page is clean, and thus lose data. Bad. Fix by setting the guest pte dirty bit under such conditions. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4db9c47c052b89d89f43d12879690c1b3283b887 Author: Avi Kivity Date: Fri Jan 5 16:36:58 2007 -0800 [PATCH] KVM: Don't set guest cr3 from vmx_vcpu_setup() It overwrites the right cr3 set from mmu setup. Happens only with the test harness. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc1d8955cbfb9f32f432cc5033f6ef291e6f7f1e Author: Avi Kivity Date: Fri Jan 5 16:36:58 2007 -0800 [PATCH] KVM: Add missing 'break' Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f7417d67ea6c1538469e3ea005484e807642c0a Author: Ingo Molnar Date: Fri Jan 5 16:36:57 2007 -0800 [PATCH] KVM: Avoid oom on cr3 switch Signed-off-by: Ingo Molnar Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86a2b42e81b8236d9454f5c2d7113a82ed25c735 Author: Avi Kivity Date: Fri Jan 5 16:36:57 2007 -0800 [PATCH] KVM: Initialize vcpu->kvm a little earlier Fixes oops on early close of /dev/kvm. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e52de1b8cf85aa2ccaaa253b4397c6d6cc0d4897 Author: Avi Kivity Date: Fri Jan 5 16:36:56 2007 -0800 [PATCH] KVM: Improve reporting of vmwrite errors This will allow us to see the root cause when a vmwrite error happens. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37a7d8b046da6254718be1409140cd7bf3126f8f Author: Avi Kivity Date: Fri Jan 5 16:36:56 2007 -0800 [PATCH] KVM: MMU: add audit code to check mappings, etc are correct Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ede74e0af549d75d4ea870bed8b178983816745 Author: Avi Kivity Date: Fri Jan 5 16:36:55 2007 -0800 [PATCH] KVM: MMU: Destroy mmu while we still have a vcpu left mmu_destroy flushes the guest tlb (indirectly), which needs a valid vcpu. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40907d5768ab8cadd4cad97bef350820ded20338 Author: Avi Kivity Date: Fri Jan 5 16:36:55 2007 -0800 [PATCH] KVM: MMU: Flush guest tlb when reducing permissions on a pte If we reduce permissions on a pte, we must flush the cached copy of the pte from the guest's tlb. This is implemented at the moment by flushing the entire guest tlb, and can be improved by flushing just the relevant virtual address, if it is known. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2dec939db126989808853d218e426daaeebc9e2 Author: Avi Kivity Date: Fri Jan 5 16:36:54 2007 -0800 [PATCH] KVM: MMU: Detect oom conditions and propagate error to userspace Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 714b93da1a6d97307dfafb9915517879d8a66c0d Author: Avi Kivity Date: Fri Jan 5 16:36:53 2007 -0800 [PATCH] KVM: MMU: Replace atomic allocations by preallocated objects The mmu sometimes needs memory for reverse mapping and parent pte chains. however, we can't allocate from within the mmu because of the atomic context. So, move the allocations to a central place that can be executed before the main mmu machinery, where we can bail out on failure before any damage is done. (error handling is deffered for now, but the basic structure is there) Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f51234c2cd3ab8bed836e09686e27877e1b55f2a Author: Avi Kivity Date: Fri Jan 5 16:36:52 2007 -0800 [PATCH] KVM: MMU: Free pages on kvm destruction Because mmu pages have attached rmap and parent pte chain structures, we need to zap them before freeing so the attached structures are freed. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 143646567f6dcd584e1ab359b5ec83e0545e70cf Author: Avi Kivity Date: Fri Jan 5 16:36:52 2007 -0800 [PATCH] KVM: MMU: Treat user-mode faults as a hint that a page is no longer a page table Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32b35627355c3bf17e1903efd117efed7653a54e Author: Avi Kivity Date: Fri Jan 5 16:36:51 2007 -0800 [PATCH] KVM: MMU: Fix cmpxchg8b emulation cmpxchg8b uses edx:eax as the compare operand, not edi:eax. cmpxchg8b is used by 32-bit pae guests to set page table entries atomically, and this is emulated touching shadowed guest page tables. Also, implement it for 32-bit hosts. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bb65a22a4502067f8cd3cb4c923ffa70be62091 Author: Avi Kivity Date: Fri Jan 5 16:36:51 2007 -0800 [PATCH] KVM: MMU: Never free a shadow page actively serving as a root We always need cr3 to point to something valid, so if we detect that we're freeing a root page, simply push it back to the top of the active list. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 86a5ba025d0a0b251817d0efbeaf7037d4175d21 Author: Avi Kivity Date: Fri Jan 5 16:36:50 2007 -0800 [PATCH] KVM: MMU: Page table write flood protection In fork() (or when we protect a page that is no longer a page table), we can experience floods of writes to a page, which have to be emulated. This is expensive. So, if we detect such a flood, zap the page so subsequent writes can proceed natively. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 139bdb2d9e410d448281057a37b53770324ccac8 Author: Avi Kivity Date: Fri Jan 5 16:36:50 2007 -0800 [PATCH] KVM: MMU: If an empty shadow page is not empty, report more info Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f1e0b6abcc100a79528387207adc3dd92aa5374 Author: Avi Kivity Date: Fri Jan 5 16:36:49 2007 -0800 [PATCH] KVM: MMU: Ensure freed shadow pages are clean Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 260746c03dcb2e5089f95b60cb786aaf405ced63 Author: Avi Kivity Date: Fri Jan 5 16:36:49 2007 -0800 [PATCH] KVM: MMU: Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e7bc4b9610ed9fde0fa14f0b7a7f939805e5ae9 Author: Avi Kivity Date: Fri Jan 5 16:36:48 2007 -0800 [PATCH] KVM: MMU: Handle misaligned accesses to write protected guest page tables A misaligned access affects two shadow ptes instead of just one. Since a misaligned access is unlikely to occur on a real page table, just zap the page out of existence, avoiding further trouble. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73f7198e738004671b885c443eb6f88df021c07f Author: Avi Kivity Date: Fri Jan 5 16:36:48 2007 -0800 [PATCH] KVM: MMU: Remove release_pt_page_64() Unused. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f015a5b28c75bb6cc5158640db58689b1ee1b51 Author: Avi Kivity Date: Fri Jan 5 16:36:47 2007 -0800 [PATCH] KVM: MMU: Remove invlpg interception Since we write protect shadowed guest page tables, there is no need to trap page invalidations (the guest will always change the mapping before issuing the invlpg instruction). Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebeace8609205bf5e1b96fe325b7dea148042232 Author: Avi Kivity Date: Fri Jan 5 16:36:47 2007 -0800 [PATCH] KVM: MMU: oom handling When beginning to process a page fault, make sure we have enough shadow pages available to service the fault. If not, free some pages. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc4529efc7b730b596d9c7d5a917c00a357e92aa Author: Avi Kivity Date: Fri Jan 5 16:36:47 2007 -0800 [PATCH] KVM: MMU: kvm_mmu_put_page() only removes one link to the page ... and so must not free it unconditionally. Move the freeing to kvm_mmu_zap_page(). Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 697fe2e24ac49f03a82f6cfe5d77f7a2122ff382 Author: Avi Kivity Date: Fri Jan 5 16:36:46 2007 -0800 [PATCH] KVM: MMU: Implement child shadow unlinking When removing a page table, we must maintain the parent_pte field all child shadow page tables. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a436036baf331703b4d2c8e8a45f02c597bf6913 Author: Avi Kivity Date: Fri Jan 5 16:36:45 2007 -0800 [PATCH] KVM: MMU: If emulating an instruction fails, try unprotecting the page A page table may have been recycled into a regular page, and so any instruction can be executed on it. Unprotect the page and let the cpu do its thing. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b7a032567ee1128daeebebfc14d3acedfe28c8c Author: Avi Kivity Date: Fri Jan 5 16:36:45 2007 -0800 [PATCH] KVM: MMU: Zap shadow page table entries on writes to guest page tables Iterate over all shadow pages which correspond to a the given guest page table and remove the mappings. A subsequent page fault will reestablish the new mapping. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da4a00f002239f72b0d7d0eeaa3b60100e2b1438 Author: Avi Kivity Date: Fri Jan 5 16:36:44 2007 -0800 [PATCH] KVM: MMU: Support emulated writes into RAM As the mmu write protects guest page table, we emulate those writes. Since they are not mmio, there is no need to go to userspace to perform them. So, perform the writes in the kernel if possible, and notify the mmu about them so it can take the approriate action. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 815af8d42ee3f844c0ceaf2104bd9c6a0bb1e26c Author: Avi Kivity Date: Fri Jan 5 16:36:44 2007 -0800 [PATCH] KVM: MMU: Let the walker extract the target page gfn from the pte This fixes a problem where set_pte_common() looked for shadowed pages based on the page directory gfn (a huge page) instead of the actual gfn being mapped. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 374cbac0333ddf5cf1c6637efaf7f3adcc67fd75 Author: Avi Kivity Date: Fri Jan 5 16:36:43 2007 -0800 [PATCH] KVM: MMU: Write protect guest pages when a shadow is created for them When we cache a guest page table into a shadow page table, we need to prevent further access to that page by the guest, as that would render the cache incoherent. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cea0f0e7ea54753c3265dc77f605a6dad1912cfc Author: Avi Kivity Date: Fri Jan 5 16:36:43 2007 -0800 [PATCH] KVM: MMU: Shadow page table caching Define a hashtable for caching shadow page tables. Look up the cache on context switch (cr3 change) or during page faults. The key to the cache is a combination of - the guest page table frame number - the number of paging levels in the guest * we can cache real mode, 32-bit mode, pae, and long mode page tables simultaneously. this is useful for smp bootup. - the guest page table table * some kernels use a page as both a page table and a page directory. this allows multiple shadow pages to exist for that page, one per level - the "quadrant" * 32-bit mode page tables span 4MB, whereas a shadow page table spans 2MB. similarly, a 32-bit page directory spans 4GB, while a shadow page directory spans 1GB. the quadrant allows caching up to 4 shadow page tables for one guest page in one level. - a "metaphysical" bit * for real mode, and for pse pages, there is no guest page table, so set the bit to avoid write protecting the page. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25c0de2cc6c26cb99553c2444936a7951c120c09 Author: Avi Kivity Date: Fri Jan 5 16:36:42 2007 -0800 [PATCH] KVM: MMU: Make kvm_mmu_alloc_page() return a kvm_mmu_page pointer This allows further manipulation on the shadow page table. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aef3d3fe1314f2a130f5ccc7114df20865ba784f Author: Avi Kivity Date: Fri Jan 5 16:36:41 2007 -0800 [PATCH] KVM: MMU: Make the shadow page tables also special-case pae Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b0973bd8f788178f21d9eebdd879203464f8528 Author: Avi Kivity Date: Fri Jan 5 16:36:41 2007 -0800 [PATCH] KVM: MMU: Use the guest pdptrs instead of mapping cr3 in pae mode This lets us not write protect a partial page, and is anyway what a real processor does. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17ac10ad2bb7d8c4f401668484b2e661a15726c6 Author: Avi Kivity Date: Fri Jan 5 16:36:40 2007 -0800 [PATCH] KVM: MU: Special treatment for shadow pae root pages Since we're not going to cache the pae-mode shadow root pages, allocate a single pae shadow that will hold the four lower-level pages, which will act as roots. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac79c978f173586ab3624427c89cd22b393cabd4 Author: Avi Kivity Date: Fri Jan 5 16:36:40 2007 -0800 [PATCH] KVM: MMU: Fold fetch_guest() into init_walker() It is never necessary to fetch a guest entry from an intermediate page table level (except for large pages), so avoid some confusion by always descending into the lowest possible level. Rename init_walker() to walk_addr() as it is no longer restricted to initialization. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1342d3536d6a12541ceb276da15f043db90716eb Author: Avi Kivity Date: Fri Jan 5 16:36:39 2007 -0800 [PATCH] KVM: MMU: Load the pae pdptrs on cr3 change like the processor does In pae mode, a load of cr3 loads the four third-level page table entries in addition to cr3 itself. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6bcbd6aba00fced696fc99f1a4fcd7ac7d42d6ef Author: Avi Kivity Date: Fri Jan 5 16:36:39 2007 -0800 [PATCH] KVM: MMU: Teach the page table walker to track guest page table gfns Saving the table gfns removes the need to walk the guest and host page tables in lockstep. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd4a4e5374110444dc38831af517e51ff5a053c3 Author: Avi Kivity Date: Fri Jan 5 16:36:38 2007 -0800 [PATCH] KVM: MMU: Implement simple reverse mapping Keep in each host page frame's page->private a pointer to the shadow pte which maps it. If there are multiple shadow ptes mapping the page, set bit 0 of page->private, and use the rest as a pointer to a linked list of all such mappings. Reverse mappings are needed because we when we cache shadow page tables, we must protect the guest page tables from being modified by the guest, as that would invalidate the cached ptes. Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 399badf315bd4dd571b4b3b7cf666d9a2af40229 Author: Avi Kivity Date: Fri Jan 5 16:36:38 2007 -0800 [PATCH] KVM: Prevent stale bits in cr0 and cr4 Hardware virtualization implementations allow the guests to freely change some of the bits in cr0 and cr4, but trap when changing the other bits. This is useful to avoid excessive exits due to changing, for example, the ts flag. It also means the kvm's copy of cr0 and cr4 may be stale with respect to these bits. most of the time this doesn't matter as these bits are not very interesting. Other times, however (for example when returning cr0 to userspace), they are, so get the fresh contents of these bits from the guest by means of a new arch operation. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb26b572dc39467ba0969d1a76c2f723d2d6a2a6 Author: David Brownell Date: Fri Jan 5 16:36:37 2007 -0800 [PATCH] Update the rtc-rs5c372 driver Bugfixes: - Handle RTCs which are configured to use 12-hour mode. - Never report bogus/un-initialized times. - Displaying "raw trim" requires not masking it first! - Fix the sysfs and procfs display of crystal and trim data. Features: - Handle other RTCs in this family, notably rv5c386/rv5c387. - Declare the other registers. - Provide alarm get/set functionality. - Handle AIE and UIE; but no IRQ handling yet. Cleanup: - Shrink object by not including needless sysfs or procfs support - We don't need no steenkin' forward declarations. (Except one.) Until the I2C framework merges "new style" driver support, matching the driver model better, using rv5c chips or alarm IRQs requires a separate board-specific patch. (And an IRQ handler, handing off labor through a work_struct...) This uses the "method 3" register reads, but notes that it's done to work around an evident i2c adapter driver bug. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6a60451813bad6a9f57cb159004c3b3e12a1cd3 Author: Hugh Dickins Date: Fri Jan 5 16:36:36 2007 -0800 [PATCH] fix BUG_ON(!PageSlab) from fallback_alloc pdflush hit the BUG_ON(!PageSlab(page)) in kmem_freepages called from fallback_alloc: cache_grow already freed those pages when alloc_slabmgmt failed. But it wouldn't have freed them if __GFP_NO_GROW, so make sure fallback_alloc doesn't waste its time on that case. Signed-off-by: Hugh Dickins Acked-by: Christoph Lameter Acked-by: Pekka J Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be6aab0e9fa6d3c6d75aa1e38ac972d8b4ee82b8 Author: Eric Sandeen Date: Fri Jan 5 16:36:36 2007 -0800 [PATCH] fix memory corruption from misinterpreted bad_inode_ops return values CVE-2006-5753 is for a case where an inode can be marked bad, switching the ops to bad_inode_ops, which are all connected as: static int return_EIO(void) { return -EIO; } #define EIO_ERROR ((void *) (return_EIO)) static struct inode_operations bad_inode_ops = { .create = bad_inode_create ...etc... The problem here is that the void cast causes return types to not be promoted, and for ops such as listxattr which expect more than 32 bits of return value, the 32-bit -EIO is interpreted as a large positive 64-bit number, i.e. 0x00000000fffffffa instead of 0xfffffffa. This goes particularly badly when the return value is taken as a number of bytes to copy into, say, a user's buffer for example... I originally had coded up the fix by creating a return_EIO_ macro for each return type, like this: static int return_EIO_int(void) { return -EIO; } #define EIO_ERROR_INT ((void *) (return_EIO_int)) static struct inode_operations bad_inode_ops = { .create = EIO_ERROR_INT, ...etc... but Al felt that it was probably better to create an EIO-returner for each actual op signature. Since so few ops share a signature, I just went ahead & created an EIO function for each individual file & inode op that returns a value. Signed-off-by: Eric Sandeen Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2723f9603a8f8bb2cd8c7b581f7c94b8d75e3837 Author: Andrew Morton Date: Fri Jan 5 16:36:35 2007 -0800 [PATCH] ip2 warning fix Make this: drivers/char/ip2/ip2main.c: In function 'ip2_loadmain': drivers/char/ip2/ip2main.c:654: warning: control may reach end of non-void function 'iiSetAddress' being inlined drivers/char/ip2/ip2main.c:808: warning: control may reach end of non-void function 'iiInitialize' being inlined go away. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3771a450cf47fa64f36c53ba61e36aa2ec84a86b Author: Vivek Goyal Date: Fri Jan 5 16:36:34 2007 -0800 [PATCH] i386: modpost smpboot code warning fix o Currently synchronize_tsc_ap() is of type __init. It is called by smp_callin() which is of type __cpuinit. So synchronize_tsc_ap() should be of type __cpuinit. o Modpost generates warnings for i386 if CONFIG_RELOCATABLE=y and CONFIG_HOTPLUG_CPU=y WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc01164dc) and 'initialize_secondary' WARNING: vmlinux - Section mismatch: reference to .init.data: from .text between 'start_secondary' (at offset 0xc01164e8) and 'initialize_secondary' o tsc is of type __initdata. It should be of type __cpuinitdata. Signed-off-by: Vivek Goyal Cc: Andi Kleen Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9dbeeec91e8f4a200ac56af5004473fa6099520f Author: Vivek Goyal Date: Fri Jan 5 16:36:34 2007 -0800 [PATCH] i386: fix another modpost warning o MODPOST generates warning for i386 if kernel is compiled with CONFIG_RELOCATABLE=y WARNING: vmlinux - Section mismatch: reference to .init.data: from .data between 'this_cpu' (at offset 0xc05194d0) and 'cpuinfo_op' o this_cpu pointer should be of type __cpuinitdata. Signed-off-by: Vivek Goyal Cc: Andi Kleen Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1119a33a962077570ab0c2ef4712c0e48acfc577 Author: Vivek Goyal Date: Fri Jan 5 16:36:33 2007 -0800 [PATCH] i386: fix modpost warning in SMP trampoline code o MODPOST generates warning for i386 if kernel is compiled with CONFIG_RELOCATABLE=y WARNING: vmlinux - Section mismatch: reference to .init.text:startup_32_smp from .data between 'trampoline_data' (at offset 0xc0519cf8) and 'boot_gdt' o trampoline code/data can go into init section is CPU hotplug is not enabled. Signed-off-by: Vivek Goyal Cc: Andi Kleen Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ab37b8f21b4dfe256d736c13738d20c88a1f3ad Author: Paul Mundt Date: Fri Jan 5 16:36:30 2007 -0800 [PATCH] Sanely size hash tables when using large base pages At the moment the inode/dentry cache hash tables (common by way of alloc_large_system_hash()) are incorrectly sized by their respective detection logic when we attempt to use large base pages on systems with little memory. This results in odd behaviour when using a 64kB PAGE_SIZE, such as: Dentry cache hash table entries: 8192 (order: -1, 32768 bytes) Inode-cache hash table entries: 4096 (order: -2, 16384 bytes) The mount cache hash table is seemingly the only one that gets this right by directly taking PAGE_SIZE in to account. The following patch attempts to catch the bogus values and round it up to at least 0-order. Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd0ec16fa6cf2498b831663a543e1b67fce6e155 Author: Vivek Goyal Date: Fri Jan 5 16:36:30 2007 -0800 [PATCH] i386: Restore CONFIG_PHYSICAL_START option o Relocatable bzImage support had got rid of CONFIG_PHYSICAL_START option thinking that now this option is not required as people can build a second kernel as relocatable and load it anywhere. So need of compiling the kernel for a custom address was gone. But Magnus uses vmlinux images for second kernel in Xen environment and he wants to continue to use it. o Restoring the CONFIG_PHYSICAL_START option for the time being. I think down the line we can get rid of it. Signed-off-by: Vivek Goyal Cc: "Eric W. Biederman" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a75acf850ca80136a4f845cf9a7cd26e7465c1f4 Author: Ingo Molnar Date: Fri Jan 5 16:36:29 2007 -0800 [PATCH] profiling: fix sched profiling typo Fix sched profiling typo, introduced by the sleep profiling patch. This bug caused profile=sched to not work. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bf236874292fd073c6bdd27f89c3d9e81a79cbc Author: Rafael J. Wysocki Date: Fri Jan 5 16:36:28 2007 -0800 [PATCH] swsusp: Do not fail if resume device is not set In the kernels later than 2.6.19 there is a regression that makes swsusp fail if the resume device is not explicitly specified. It can be fixed by adding an additional parameter to mm/swapfile.c:swap_type_of() allowing us to pass the (struct block_device *) corresponding to the first available swap back to the caller. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3223ea8cca5936b8e78450dd5b8ba88372e9c0a8 Author: James Bursa Date: Fri Jan 5 16:36:28 2007 -0800 [PATCH] adfs: fix filename handling Fix filenames on adfs discs being terminated at the first character greater than 128 (adfs filenames are Latin 1). I saw this problem when using a loopback adfs image on a 2.6.17-rc5 x86_64 machine, and the patch fixed it there. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627 Author: Alan Date: Fri Jan 5 16:36:27 2007 -0800 [PATCH] atiixp: Old drivers/ide layer driver for the ATIIXP hang fix When the old IDE layer calls into methods in the driver during error handling it is essentially random whether ide_lock is already held. This causes a deadlock in the atiixp driver which also uses ide_lock internally for locking. Switch to a private lock instead. [akpm@osl.org: cleanup] Signed-off-by: Alan Cox Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 406c9b605cbc45151c03ac9a3f95e9acf050808c Author: Christoph Hellwig Date: Fri Jan 5 16:36:26 2007 -0800 [PATCH] Fix BUG at drivers/scsi/scsi_lib.c:1118 caused by "pktsetup dvd /dev/sr0" Fix http://bugzilla.kernel.org/show_bug.cgi?id=7667 This is because the packet driver tries to send down read/write BLOCK_PC commands that don't use a bio and do not use sg lists. The right fix is to replace all the packet_command stuff in the packet driver by scsi_execute() which needs to be lifted from scsi code to the block code for that. Fix the bug for now. It's not the full way to a generic execute block pc infrastcuture but fixes the bug for the time being. Signed-off-by: Christoph Hellwig Acked-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d73e3cd73c058ce792ad276f979680aa331f4f8e Author: David Brownell Date: Fri Jan 5 16:36:25 2007 -0800 [PATCH] rtc-at91rm9200 build fix The at91rm9200 RTC driver needs some assistance to build, because of recent header file rearrangement. Signed-off-by: David Brownell Cc: Alessandro Zummo Cc: Andrew Victor Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1150d8cf9e9d2b356fab52d79f2366985e5511b Author: Dor Laor Date: Fri Jan 5 16:36:24 2007 -0800 [PATCH] KVM: Improve interrupt response The current interrupt injection mechanism might delay an interrupt under the following circumstances: - if injection fails because the guest is not interruptible (rflags.IF clear, or after a 'mov ss' or 'sti' instruction). Userspace can check rflags, but the other cases or not testable under the current API. - if injection fails because of a fault during delivery. This probably never happens under normal guests. - if injection fails due to a physical interrupt causing a vmexit so that it can be handled by the host. In all cases the guest proceeds without processing the interrupt, reducing the interactive feel and interrupt throughput of the guest. This patch fixes the situation by allowing userspace to request an exit when the 'interrupt window' opens, so that it can re-inject the interrupt at the right time. Guest interactivity is very visibly improved. Signed-off-by: Dor Laor Signed-off-by: Avi Kivity Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e097f35ce58eb8d687f3a300247cf1a978fcea39 Author: Yoshimi Ichiyanagi Date: Fri Jan 5 16:36:24 2007 -0800 [PATCH] KVM: Recover after an arch module load failure If we load the wrong arch module, it leaves behind kvm_arch_ops set, which prevents loading of the correct arch module later. Fix be not setting kvm_arch_ops until we're sure it's good. Signed-off-by: Yoshimi Ichiyanagi Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3b2c33860d4acdfe3ac29b40b03e655eb8d1e2c Author: Ingo Molnar Date: Fri Jan 5 16:36:23 2007 -0800 [PATCH] KVM: Use raw_smp_processor_id() instead of smp_processor_id() where applicable Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 965b58a550b6f84815cb555e6abb953e863f1610 Author: Ingo Molnar Date: Fri Jan 5 16:36:23 2007 -0800 [PATCH] KVM: Fix GFP_KERNEL alloc in atomic section bug KVM does kmalloc() in an atomic section while having preemption disabled via vcpu_load(). Fix this by moving the ->*_msr setup from the vcpu_setup method to the vcpu_create method. (This is also a small speedup for setting up a vcpu, which can in theory be more frequent than the vcpu_create method). Signed-off-by: Ingo Molnar Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd36beec0b83d28dceb85696a23542bf1b97cc8c Author: Bartlomiej Zolnierkiewicz Date: Fri Jan 5 16:36:21 2007 -0800 [PATCH] via82cxxx: fix cable detection This patch fixes 2.6.15 regression, is straightforward and tested. Cable detection got broken probably while converting the driver to support multiple controllers. Cable detection is done by examining how BIOS configured the attached devices. The current code is broken in that it examines the status *after* modifying Clk66 configuration ending up detecting 40c cables as 80c. This patch fixes it. Signed-off-by: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ae4adf50380d0fc5176a76d98d324f8fa491a8f Author: Ard van Breemen Date: Fri Jan 5 16:36:21 2007 -0800 [PATCH] PCI: prevent down_read when pci_devices is empty The pci_find_subsys gets called very early by obsolete ide setup parameters. This is a bogus call since pci is not initialized yet, so the list is empty. But in the mean time, interrupts get enabled by down_read. This can result in a kernel panic when the irq controller gets initialized. This patch checks if the device list is empty before taking the semaphore, and hence will not enable irq's. Furthermore it will inform that it is called while pci_devices is empty as a reminder that the ide code needs to be fixed. The pci_get_subsys can get called in the same manner, and as such is patched in the same manner. [akpm@osdl.org: cleanups] Signed-off-by: Ard van Breemen Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a416aba637dcb4127595c02a59041cd278422f7e Author: Ard van Breemen Date: Fri Jan 5 16:36:20 2007 -0800 [PATCH] kernelparams: detect if and which parameter parsing enabled irq's The parsing of some kernel parameters seem to enable irq's at a stage that irq's are not supposed to be enabled (Particularly the ide kernel parameters). Having irq's enabled before the irq controller is initialized might lead to a kernel panic. This patch only detects this behaviour and warns about wich parameter caused it. [akpm@osdl.org: cleanups] Signed-off-by: Ard van Breemen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4a68306b9c0939b3facdad2cc5e34d660ff463a Author: Ard van Breemen Date: Fri Jan 5 16:36:19 2007 -0800 [PATCH] start_kernel: test if irq's got enabled early, barf, and disable them again The calls made by parse_parms to other initialization code might enable interrupts again way too early. Having interrupts on this early can make systems PANIC when they initialize the IRQ controllers (which happens later in the code). This patch detects that irq's are enabled again, barfs about it and disables them again as a safety net. [akpm@osdl.org: cleanups] Signed-off-by: Ard van Breemen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34f1ca540679f61a02b7406f036d9edde9717ee2 Author: Richard Purdie Date: Fri Jan 5 16:36:18 2007 -0800 [PATCH] Fix leds-s3c24xx hardware.h reference Russell King recently reminded us that one shouldn't use asm/arch/hardware.h but one should use asm/hardware.h (http://lkml.org/lkml/2006/12/23/26). Unfortunately, the leds-s3c24xx driver is using the wrong header. This patch is fixing that. Signed-off-by: Arnaud Patard Signed-off-by: Richard Purdie Acked-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6002f544c9f724a9e35cbd5799742fd98e3d6046 Author: Dave Jones Date: Fri Jan 5 16:36:18 2007 -0800 [PATCH] Fix implicit declarations in via-pmu drivers/macintosh/via-pmu.c: In function 'pmac_suspend_devices': drivers/macintosh/via-pmu.c:2014: error: implicit declaration of function 'pm_prepare_console' drivers/macintosh/via-pmu.c: In function 'pmac_wakeup_devices': drivers/macintosh/via-pmu.c:2139: error: implicit declaration of function 'pm_restore_console' Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd2c565999e015004622425020a61593deb87a04 Author: Adam Megacz Date: Fri Jan 5 16:36:17 2007 -0800 [PATCH] Add AFS_SUPER_MAGIC to magic.h Jeffrey Altman, one of the gatekeepers of OpenAFS (the open source project which inherited the Transarc/IBM AFS codebase) has requested that the magic number 0x5346414F (little endian 'OAFS') be allocated for the f_type field of the fsinfo structure on Linux: https://lists.openafs.org/pipermail/openafs-info/2006-December/024829.html Add it to include/linux/magic.h, mostly as a way of publishing this number and ensuring that no other filesystem accidentally uses it. Cc: Jeffrey Altman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 723fe2ca82d1ffc80c9d53035babf011f84c65d4 Author: Len Brown Date: Sat Jan 6 00:02:07 2007 -0500 ACPI: ec: enable printk on cmdline use if somebody uses "ec_intr=", lets be sure to capture that in the dmesg even in the non-debug case. Signed-off-by: Len Brown commit 7f422e2e84307bdd9b51c19a602e1601d160aebc Author: Kay Sievers Date: Wed Dec 20 10:39:33 2006 +0100 [PATCH] Driver core: Fix prefix driver links in /sys/module by bus-name Modules may have drivers with the same name on different buses. This patch fixes this problem. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit fd8d4b11354a8a33ef61b06fa64880c2c6d25ae4 Author: Andrew Morton Date: Thu Dec 14 16:40:00 2006 -0800 [PATCH] PCI: disable PCI_MULTITHREAD_PROBE Unfortunatly, no one reads Kconfig help entries :( Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 14e51f28ade783cd948cd10202a696ff7e5d33d6 Author: David Hollis Date: Thu Dec 28 14:09:11 2006 -0500 USB: asix: Fix AX88772 device PHY selection A small typo in ax88772_bind() prevents the device from selecting the proper PHY, leaving the device useless. The attached patch fixes this. If this patch can be added to the 2.6.19.x series as well, that would be helpful for end-users. Signed-off-by: David Hollis Signed-off-by: Greg Kroah-Hartman commit 4f45d0387b407348de48c212ac5b3496ce6d2fda Author: Martin Williges Date: Thu Dec 28 20:52:10 2006 +0100 USB: usblp.c - add Kyocera Mita FS 820 to list of "quirky" printers This patch gets the Kyocera FS-820 working with cups 1.2 via usb again. It adds the printer to the list of "quirky" printers. The printer seems not answer to ID requests some seconds after plugging in. Patch is based on linux-2.6.19.1. Background: As far as I could see (strace, usbmon), the Kyocera FS-820 answers to ID requests only a few seconds after plugging it in. This applies to detecting it with cups and is also true for the printing itself, which is initiated with an ID request. Since I have little usb knowledge, maybe someone can interpret the data, especially the fist bulk transfer - why request 8192 bytes? This is the second version of the patch. usbmon output of printing an email without patch: tail -F /tmp/printlog.txt c636e140 3374734463 S Bi:002:02 -115 8192 < c9d43b40 3374734494 S Ci:002:00 s a1 00 0000 0000 03ff 1023 < c9d43b40 3379732301 C Ci:002:00 -104 0 c636e140 3379733294 C Bi:002:02 -2 0 [...repeating...] with patch: tail -F /tmp/printlog.txt d9cb82c0 3729790131 S Ci:002:00 s a1 00 0000 0000 03ff 1023 < d9cb82c0 3729791725 C Ci:002:00 0 91 = 005b4944 3a46532d 3832303b 4d46473a 4b796f63 6572613b 434d443a 50434c58 df956320 3732493190 S Bo:002:01 -115 1347 = 1b252d31 32333435 5840504a 4c0a4050 4a4c2053 4554204d 414e5541 4c464545 [...more data...] Signed-off-by: Martin Williges Signed-off-by: Greg Kroah-Hartman commit c067dfc650a2d7d26d4b9bdecc339596f8746cff Author: Andrew Morton Date: Wed Jan 3 16:45:21 2007 -0800 sisusb_con warning fixes x86_64: drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_putc': drivers/usb/misc/sisusbvga/sisusb_con.c:405: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_putcs': drivers/usb/misc/sisusbvga/sisusb_con.c:440: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_clear': drivers/usb/misc/sisusbvga/sisusb_con.c:494: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_bmove': drivers/usb/misc/sisusbvga/sisusb_con.c:566: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_switch': drivers/usb/misc/sisusbvga/sisusb_con.c:614: warning: cast from pointer to integer of different size drivers/usb/misc/sisusbvga/sisusb_con.c: In function 'sisusbcon_scroll_area': drivers/usb/misc/sisusbvga/sisusb_con.c:941: warning: cast from pointer to integer of different size Cc: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c07be136a883a148a16ce4cd91163035631b37ea Author: Sarah Bailey Date: Wed Jan 3 21:37:22 2007 -0800 USB: Fixed bug in endpoint release function. Error handling in usb_create_ep_files() is not correct unless the minor number is freed in ep_device_release(). Signed-off-by: Sarah Bailey Signed-off-by: Greg Kroah-Hartman commit 684a0e70008934dbdf87ed35e29ccbb58e91f8dc Author: Oliver Neukum Date: Wed Jan 3 15:14:43 2007 +0100 USB: small update to Documentation/usb/acm.txt this docu update mentions that cell phones also use cdc-acm. Signed-off-by: Oliver Neukum commit ad1428c96ebdee592aa475afe129530225bef186 Author: Pete Zaitcev Date: Sun Dec 31 13:43:26 2006 -0800 USB storage: fix ipod ejecting issue This patch from Pete fixes the 'ejecting problem' on yet another ipod. Please applyt. Signed-off-by: Pete Zaitcev Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit f1cd4ad202ce34d29c847fd82df948ff67c17826 Author: Phil Dibowitz Date: Sun Dec 31 00:19:50 2006 -0800 USB Storage: unusual_devs: add supertop drives This combines patches from Alan Stern and Robert Schedel for two "Super Top" drives that need the IGNORE_RESIDUE flag but have different vendor IDs. Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit e6a6e472f55e0c8398650446b64c40e4a373b0c5 Author: David Brownell Date: Sun Dec 10 11:47:04 2006 -0800 USB: omap_udc build fixes (sync with linux-omap) Resync the omap_udc driver with the latest from the Linux-OMAP tree. Changes include DMA API updates (it builds again!), clock/pm updates, minor bugfixes, whitespace. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6a3c3d495201490ba51a8a26daf400d89c410e6e Author: Andrew Morton Date: Thu Dec 14 22:28:29 2006 -0800 USB: funsoft is borken on sparc drivers/usb/serial/funsoft.c: In function `funsoft_ioctl': drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_iflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_iflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_iflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_oflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_oflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_oflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_lflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_lflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_lflag' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_line' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_line' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_line' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' drivers/usb/serial/funsoft.c:35: warning: dereferencing `void *' pointer drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: error: request for member `c_cc' in something not a structure or union drivers/usb/serial/funsoft.c:35: warning: type defaults to `int' in declaration of `type name' Cc: David Clare Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 8c1527132c25512563b197b35453c7da22b4d699 Author: Miguel Angel Alvarez Date: Thu Dec 14 19:49:35 2006 +0100 USB: fix interaction between different interfaces in an "Option" usb device Just the serial port in the first interface should control DTR and RTS lines. This way, the closing of the rest of the ports does not produce a= hangup in the communication. Signed-off-by: Miguel Angel Alvarez Signed-off-by: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit 25c77b329467d563ec1fa5c3efab0b13996ce810 Author: Alan Stern Date: Fri Dec 15 16:08:13 2006 -0500 UHCI: support device_may_wakeup This patch (as831) adds device_may_wakeup() support to uhci-hcd; it has been lacking for a long time. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c80a70d53fa0ca47ad122cd75fe32b6f41c04eb1 Author: Alan Stern Date: Fri Dec 15 16:06:25 2006 -0500 UHCI: make test for ASUS motherboard more specific Instead of matching all motherboards whose name contains "A7V8X" for a remote-wakeup hardware bug, this patch (as829) matches only those boards whose name is exactly equal to "A7V8X". Later motherboards don't seem to have the bug. (In fact, it's possible that only one motherboard in the world has the bug. With only one user reporting problems, it's hard to tell.) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 81ffbc04a8ea06c4bea534154f49ed598013ee6b Author: Philippe De Muyter Date: Fri Jan 5 17:54:05 2007 +0100 i2c/m41t00: Do not forget to write year m41t00.c forgets to set the year field in set_rtc_time; fix that. Signed-off-by: Philippe De Muyter Signed-off-by: Andrew Morton Acked-by: Mark A. Greer Signed-off-by: Jean Delvare commit 3269bb63eb076318ce4fb554851d047e1c9aa1a5 Author: Maxime Bizon Date: Fri Jan 5 17:54:05 2007 +0100 i2c-mv64xxx: Fix random oops at boot I have a Marvell board which has the same i2c hw block than mv64xxx, so I'm trying to use i2c-mv64xxx driver. But I get the following random oops at boot: Unable to handle kernel NULL pointer dereference at virtual address 00000002 Backtrace: [] (mv64xxx_i2c_intr+0x0/0x2b8) from [] (__do_irq+0x4c/0x8c) [] (__do_irq+0x0/0x8c) from [] (do_level_IRQ+0x68/0xc0) r8 = C0501E08 r7 = 00000005 r6 = C0501E08 r5 = 00000005 r4 = C048BB78 [] (do_level_IRQ+0x0/0xc0) from [] (asm_do_IRQ+0x50/0x134) r6 = C0449C78 r5 = F1020000 r4 = FFFFFFFF [] (asm_do_IRQ+0x0/0x134) from [] (__irq_svc+0x24/0x100) r8 = C1CAC400 r7 = 00000005 r6 = 00000002 r5 = F1020000 r4 = FFFFFFFF [] (setup_irq+0x0/0x124) from [] (request_irq+0xb0/0xd0) r7 = C041B2AC r6 = C0397E4C r5 = 00000000 r4 = 00000005 [] (request_irq+0x0/0xd0) from [] (mv64xxx_i2c_probe+0x148/0x244) [] (mv64xxx_i2c_probe+0x0/0x244) from [] (platform_drv_probe+0x20/0x24) The oops is caused by a spurious interrupt that occurs when request_irq is called. mv64xxx_i2c_fsm() tries to read drv_data->msg, which is NULL. I noticed that hardware init is done after requesting irq. Thus any pending irq from previous hardware usage may cause this. The following patch fixes it: Signed-off-by: Maxime Bizon Acked-by: Mark A. Greer Signed-off-by: Jean Delvare commit 46707e96b7254663139225ab6c9ab9922cd8c435 Author: Michael S. Tsirkin Date: Wed Jan 3 14:46:30 2007 +0200 IB/mthca: Fix off-by-one in FMR handling on memfree mthca_table_find() will return the wrong address when the table entry being searched for is exactly at the beginning of a sglist entry (other than the first), because it uses >= when it should use >. Example: assume we have 2 entries in scatterlist, 4K each, offset is 4K. The current code will return first entry + 4K when we really want the second entry. In particular this means mapping an FMR on a memfree HCA may end up writing the page table into the wrong place, leading to memory corruption and also causing the HCA to use an incorrect address translation table. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 30c4cf577fb5b68c16e5750d6bdbd7072e42b279 Author: David L Stevens Date: Thu Jan 4 12:31:14 2007 -0800 [IPV4/IPV6]: Fix inet{,6} device initialization order. It is important that we only assign dev->ip{,6}_ptr only after all portions of the inet{,6} are setup. Otherwise we can receive packets before the multicast spinlocks et al. are initialized. Signed-off-by: David L Stevens Signed-off-by: David S. Miller commit 0d630cc0a6cb8ad544b5913a26ff1349ed7c8587 Author: Gerrit Renker Date: Thu Jan 4 12:25:16 2007 -0800 [TCP]: Use old definition of before This reverts the new (unambiguous) definition of the TCP `before' relation. As pointed out in an example by Herbert Xu, there is existing code which implicitly requires the old definition in order to work correctly. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 44f9a2fdc48ccb8bb510b6e1210bf15b3e10afdb Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Thu Jan 4 12:17:44 2007 -0800 [NETFILTER]: ebtables: don't compute gap before checking struct type We cannot compute the gap until we know we have a 'struct ebt_entry' and not 'struct ebt_entries'. Failure to check can cause crash. Tested-by: Santiago Garcia Mantinan Acked-by: Al Viro Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andrew Morton Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bbdc176a2f39913063aaaf95bc27e4b18fd14953 Author: Martin Josefsson Date: Thu Jan 4 12:16:54 2007 -0800 [NETFILTER]: nf_nat: fix MASQUERADE crash on device down Check the return value of nfct_nat() in device_cmp(), we might very well have non NAT conntrack entries as well (Netfilter bugzilla #528). Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c9386cfddc11e331fa7c860cccaedc2ae8f459f8 Author: Patrick McHardy Date: Thu Jan 4 12:16:06 2007 -0800 [NETFILTER]: New connection tracking is not EXPERIMENTAL anymore Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit c68b8b687f9e3afff14b88327e17901fff0478ca Author: Patrick McHardy Date: Thu Jan 4 12:15:34 2007 -0800 [NETFILTER]: Fix routing of REJECT target generated packets in output chain Packets generated by the REJECT target in the output chain have a local destination address and a foreign source address. Make sure not to use the foreign source address for the output route lookup. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e5b5ef7d2b3fa364cb03407c432ae9979657aa6c Author: Dmitry Mishin Date: Thu Jan 4 12:14:41 2007 -0800 [NETFILTER]: compat offsets size change Used by compat code offsets of entries should be 'unsigned int' as entries array size has this dimension. Signed-off-by: Dmitry Mishin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3948ec9406f9a60a43d63f23f6f5284db6529b9c Author: John Keller Date: Fri Dec 22 11:50:04 2006 -0600 ACPI: Altix: ACPI _PRT support Provide ACPI _PRT support for SN Altix systems. The SN Altix platform does not conform to the IOSAPIC IRQ routing model, so a new acpi_irq_model (ACPI_IRQ_MODEL_PLATFORM) has been defined. The SN platform specific code sets acpi_irq_model to this new value, and keys off of it in acpi_register_gsi() to avoid the iosapic code path. Signed-off-by: John Keller Signed-off-by: Len Brown commit b119dc3f992183a04e508fc0a09f550eb19bf30e Author: David Brownell Date: Thu Jan 4 13:07:04 2007 +0100 i2c: Migration aids for i2c_adapter.dev removal Flag i2c_adapter.dev for removal after userspace tools get upgraded, and include a near-term code migration aid to facilitate this: - The class device gets the name attribute it should have had. This was previously (wrongly) associated with the i2c_adapter.dev node. Sysfs based tools and libraries can start converting right away. - Issue a warning for legacy adapter drivers that don't provide any physical device node; so systems with those drivers will know to fix this problem earlier. This is one of a series of patches to help the I2C stack become a better citizen of the Linux Driver Model world. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 999445d4372812f361807b76411c158099e8e93e Author: Vitaly Wool Date: Thu Jan 4 13:07:03 2007 +0100 i2c-pnx: Add entry to MAINTAINERS Add me to MAINTAINERS for i2c-pnx. Signed-off-by: Vitaly Wool Signed-off-by: Jean Delvare commit 6c566fb7b3cda741dd6ed60c7d6aae0e17c9c8fe Author: Vitaly Wool Date: Thu Jan 4 13:07:03 2007 +0100 i2c-pnx: Fix interrupt handler, get rid of EARLY config option This fixes two issues raised by David Brownell on the i2c list: << Someone needs to update i2c-pnx.c to handle the IRQ handler doesn't expect pt_regs (gone now for a while), and so it doesn't try to reference "mudule_init()" if I2C isn't initialized "early". For that matter, to get rid of that _option_ to initialize then, and always init that driver with subsystem_init() ... it's common with embedded systems to need I2C access to tweak a GPIO expander or do some other work when bringing up drivers, that's not specific to USB stacks. >> Signed-off-by: Vitaly Wool Signed-off-by: Jean Delvare commit 69e4d94818cabf44d845b9f4b46d88de6e518dcf Author: Jiri Kosina Date: Wed Jan 3 23:03:14 2007 +0100 HID: fix help texts in Kconfig The help text for CONFIG_HID might imply for someone that it's necessary to enable it for any keyboard or mouse attached to the system. This is obviously not correct, so fix it to avoid confusing the users. Signed-off-by: Jiri Kosina commit c96c9d7b618806a0b9256503cec2755291d60cf6 Author: Russell King Date: Fri Dec 22 17:09:16 2006 +0000 Fix some ARM builds due to HID brokenness HID it defaults to 'y'. When you have input deselected, this causes the kernel to fail to link. Fix it by making it depend on INPUT. Signed-off-by: Russell King Signed-off-by: Jiri Kosina commit a26b498c96f87130559005151539f5fd9e43fff6 Author: David Brownell Date: Tue Dec 26 14:45:26 2006 -0800 MMC: at91 mmc linkage updates Linker level tweaks for the AT91 MMC driver: - fix a wrongly-exported symbol - move probe() to init section - move remove() to exit section When this driver is statically linked, this patch shrinks the driver's runtime I-space footprint by over 20% (950 bytes). Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 3947a3907f9cb88ebd492b6348a251036c4e81c7 Author: Kyungmin Park Date: Thu Jan 4 07:03:16 2007 +0100 ARM: OMAP: fix MMC workqueue changes fix OMAP MMC workqueue in recent workqueue change Signed-off-by: Kyungmin Park Signed-off-by: Tony Lindgren Signed-off-by: Pierre Ossman commit 63ea998a26d4e03d390fbe31818cc552994d16fd Author: Benjamin Herrenschmidt Date: Wed Jan 3 18:54:43 2007 -0800 [SUNGEM]: PHY updates & pause fixes (#2) This patch adds support for a few more PHYs used by Apple and fixes advertising and detecting of Pause (we were missing setting the bit in MII_ADVERTISE and weren't testing in LPA for all PHYs). Note that I currently only advertise pause, not asymetric pause. I don't know for sure the details there, I suppose I should read a bit more 802.3 references, and I don't now what sungem is capable of, but I noticed the PCS code (originated from you) does the same. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: David S. Miller commit f9af1d9deaaffe6803dec693748498886915d766 Author: David S. Miller Date: Wed Jan 3 18:51:54 2007 -0800 [SOUND] Sparc CS4231: Use 64 for period_bytes_min This matches what the ISA cs4231 driver uses. Tested by Georg Chini. Signed-off-by: David S. Miller commit 7f18ba6248625a587559ed1206d12ccaa3ad045e Author: Adrian Bunk Date: Wed Jan 3 18:48:13 2007 -0800 [X25]: proper prototype for x25_init_timers() This patch adds a proper prototype for x25_init_timers() in include/net/x25.h Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 5e7c001c6279f38b15fef5369496fe1043765727 Author: Mariusz Kozlowski Date: Tue Jan 2 15:24:30 2007 -0800 [AF_NETLINK]: module_put cleanup This patch removes redundant argument check for module_put(). Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 22e700502380b80cc81a44e219282762429ebe71 Author: Christoph Hellwig Date: Tue Jan 2 15:22:30 2007 -0800 [XFRM_USER]: avoid pointless void ** casts All ->doit handlers want a struct rtattr **, so pass down the right type. Signed-off-by: Christoph Hellwig Signed-off-by: David S. Miller commit 9c2440bbe82892c8e3cd541632ac71bd765757a3 Author: Alexey Dobriyan Date: Tue Jan 2 00:42:00 2007 -0800 [NETFILTER] xt_hashlimit.c: fix typo Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 60903f2c6616939afd0335b49697beeb7219657e Author: Adrian Bunk Date: Tue Jan 2 00:35:48 2007 -0800 [NET] drivers/net/loopback.c: convert to module_init() This patch converts drivers/net/loopback.c to using module_init(). Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit ee74baa7d83e9e0c2fdaff8122ee9cefd06cddc5 Author: David S. Miller Date: Mon Jan 1 20:51:53 2007 -0800 [PKTGEN]: Convert to kthread API. Based upon a suggestion from Christoph Hellwig. This fixes various races in module load/unload handling too. Signed-off-by: David S. Miller commit 3136dcb3cd6e5b4ed4bd34d422f8cdeec4da6836 Author: dean gaudet Date: Mon Jan 1 19:39:09 2007 -0800 [NET]: ifb double-counts packets Signed-off-by: dean gaudet Signed-off-by: David S. Miller commit d35a1b9e10481c9f1d3b87e778a0f1f6a0a2dd48 Author: Georg Chini Date: Tue Jan 2 21:28:17 2007 -0800 [SOUND] Sparc CS4231: Fix IRQ return value and initialization. SBUS: Change IRQ-handler return value from 0 to IRQ_HANDLED and fix some initialisation problems. Change period_bytes_min from 4096 to 256 to allow driver to work with low latency (VOIP) applications. Hope this does not break EBUS. Signed-off-by: Georg Chini Signed-off-by: David S. Miller commit 9c5b0ce43d0e4e4799c6cdc77c5ed7a95b763035 Author: Jens Axboe Date: Wed Jan 3 18:15:20 2007 +0100 [PATCH] ide-cd maintainer Alan agreed to take over casual maintenance of the ide-cd atapi cdrom driver, so I'm happy to sign it over to him. Alan, I hope the address is the one you want to use. I also changed the list to linux-ide as that seems more appropriate. Signed-off-by: Jens Axboe Acked-by: Alan Cox Signed-off-by: Linus Torvalds commit 2e11c207b029cfaf57159cabac4b002204445258 Author: Jens Axboe Date: Wed Jan 3 08:10:35 2007 +0100 [PATCH] cdrom: set default timeout to 7 seconds It's a known fact that Windows times out commands after 7 seconds, so drives generally try and respond if they can before that happens. We default to 5 seconds, which sometimes is a bit too short. Jeremy Higdon reported here: http://lkml.org/lkml/2007/1/1/145 that his drive takes longer than 5 seconds for a "read track information" command, later confirming that it is about 6.7 seconds. So just do the sane thing and change the default command timeout to 7 seconds to avoid other surprises. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 03c1c39680f949e0a944d540949b2d3d6887cdc0 Author: Andrew Vasquez Date: Wed Dec 13 19:20:33 2006 -0800 [SCSI] qla2xxx: Update version number to 8.01.07-k4. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 96ca5cad09edd86da9c8fd613c9406cdf978cd6d Author: Andrew Vasquez Date: Wed Dec 13 19:20:32 2006 -0800 [SCSI] qla2xxx: Use generic isp_ops.fw_dump() function. Rather than a direct call, as was done in the case of a RISC-paused state within the ISP24xx interrupt handler. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 07f31805e1fa98f802f60433cdd1c0461120ef0e Author: Andrew Vasquez Date: Wed Dec 13 19:20:31 2006 -0800 [SCSI] qla2xxx: Perform a fw-dump when an ISP23xx RISC-paused state is detected. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 0c8c39af1699227e5a5d13e54a71f93347fe4f61 Author: Andrew Vasquez Date: Wed Dec 13 19:20:30 2006 -0800 [SCSI] qla2xxx: Correct reset handling logic. - honor ISP24XX NVRAM settings for lip-reset, full-login-lip, and device-reset. - correct LIP_FULL_LOGIN mailbox command issuance. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8bc69e7dc307d6195d92fa87da1fcbae6e5dda69 Author: Andrew Vasquez Date: Wed Dec 13 19:20:29 2006 -0800 [SCSI] qla2xxx: Correct IOCB queueing mechanism for ISP54XX HBAs. Original code would incorrectly use non-24xx code-paths. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4346b14942dbb65e5d4fa7ec0e6567c39861ae6c Author: Andrew Vasquez Date: Wed Dec 13 19:20:28 2006 -0800 [SCSI] qla2xxx: Detect GPSC capabilities within a fabric. Disable subsequent GPSC queries if Fabric Management services do not support the operation. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 71ea9949a307e92fd5f8b4107814014464f38f91 Author: Andrew Vasquez Date: Wed Dec 13 19:20:27 2006 -0800 [SCSI] qla2xxx: Use proper prep_ms_iocb() function during GFPN_ID. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit cdfc82ade68ca11aafc900c56ef2be2b4aea8f58 Author: Andrew Vasquez Date: Wed Dec 13 19:20:26 2006 -0800 [SCSI] qla2xxx: Correct endianess issue while interrogating MS status. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 87b2380fcc6ff97c6ff5afd66ff50e94e6188d6b Author: Andrew Vasquez Date: Wed Dec 13 19:20:25 2006 -0800 [SCSI] qla2xxx: Don't log trace-control async-events. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 9ef3c10e2009d8479b27e3ff39a7779fbca5711c Author: James Bottomley Date: Wed Dec 13 09:19:49 2006 -0600 [SCSI] seagate: remove BROKEN tag Apparently the driver compiles and runs, so tidy up some macro warnings and bring it back as unBROKEN. Signed-off-by: James Bottomley commit 4ed381ee559ebfab32d3b21896c204992c36179a Author: James Bottomley Date: Mon Dec 11 09:47:06 2006 -0600 [SCSI] scsi_transport_spi: fix sense buffer size error The code does this: unsigned char sense[SCSI_SENSE_BUFFERSIZE]; ... scsi_normalize_sense(sense, sizeof(*sense), sshdr) however the sizeof will return 1 not 96 which means the sense data will have no valid ASC/ASCQ values. Fix by putting the correct sense size. The only affected case for this would have been the DV buffer sanity check failure, which is fortunately quite rare. Signed-off-by: James Bottomley commit 8bcc24127be12967588db0ad0e614be937ee1d5a Author: Matthew Wilcox Date: Thu Dec 7 19:29:27 2006 -0700 [SCSI] Add missing completion to scsi_complete_async_scans() If either scsi_complete_async_scans() is called a second time before the first call has finished, or a host scan is started while scsi_complete_async_scans() is still sleeping, it would fail to wake up the other task, which would sleep forever. I've changed the kernel-doc to make it clear that scsi_complete_async_scans() only guarantees that scans which started before it was called are guaranteed to have finished when it returns. I considered making it wait until all scans are completed, but it can't guarantee that no more scans will start before it returns anyway, and it runs the risk of confusing other callers of scsi_complete_async_scans() for hosts actually scanning. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 23be331d9e5077edf07d73813f870d3b895c8593 Author: Adrian Bunk Date: Fri Nov 24 02:46:01 2006 +0100 [SCSI] qla2xxx: make qla2x00_reg_remote_port() static Signed-off-by: Adrian Bunk Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit d8dafd8ccde06f16095234dc3addf52b511805b3 Author: Randy Dunlap Date: Tue Nov 21 13:50:47 2006 -0800 [SCSI] advansys: wrap PCI table inside ifdef CONFIG_PCI The Advansys ISA/EISA/PCI driver has a compile error when CONFIG_PCI=n, so wrap the pci_device_id table inside ifdef CONFIG_PCI. drivers/scsi/advansys.c: At top level: drivers/scsi/advansys.c:18219: error: array type has incomplete element type drivers/scsi/advansys.c:18221: error: 'PCI_ANY_ID' undeclared here (not in a function) make[2]: *** [drivers/scsi/advansys.o] Error 1 make[1]: *** [drivers/scsi] Error 2 make: *** [drivers] Error 2 Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 7523c4dd9923cab748dad9b79d0165e118e3d03b Author: OGAWA Hirofumi Date: Thu Jan 4 01:21:28 2007 +0900 [PATCH] x86_64: Fix dump_trace() If caller passed the tsk, we should use it to validate a stack ptr. Otherwise, sysrq-t and other debugging stuff doesn't work. Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds commit 43c8f12f9f4a7cb4140693fc9baed35a02165898 Author: Dave Jones Date: Tue Jan 2 23:42:16 2007 -0500 [CPUFREQ] longhaul: Kill off warnings introduced by recent changes. Bunch of unused vars + one case where gcc isn't smart enough. Signed-off-by: Dave Jones commit 76ff28c941e73a0de0db12bd5009124e8dc010e7 Author: Guillaume Chazarain Date: Tue Jan 2 19:58:13 2007 +0100 [CPUFREQ] Uninitialized use of cmd.val in arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c:acpi_cpufreq_target() cmd.val was used uninitialized on the line below. Signed-off-by: Guillaume Chazarain Acked-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 24ebead82bbf9785909d4cf205e2df5e9ff7da32 Author: Rafa³ Bilski Date: Mon Jan 1 23:49:34 2007 +0100 [CPUFREQ] Longhaul - Always guess FSB This is patch that solves Ebox mini PC issue and make FSB code more specification compilant. At start guess_fsb function is guessing 200MHz FSB too. It is better to make it in this way because, thanks to this function, driver will fail for bogus FSB values caused by bogus multiplier value. For PowerSaver processors we can't depend on Max / MinMHzFSB because these values are only used for PowerSaver 2.0 and 3.0. Most processors on which Longhaul is used are PowerSaver 1.0 only. I'm changing code for older CPU's too, but not so much as previously, and this code was already used for Ezra. Using MinMHzBR for Ezra-T is outside spec. It is for voltage scaling purpose and don't have to be equal to minmult (but it is). Same for Nehemiah (it isn't for sure). Added mult - current multiplier value. Signed-off-by: Rafa³ Bilski Signed-off-by: Dave Jones commit 7b37b064c294af350c462f77d7a9a44485a93684 Author: akpm@osdl.org Date: Tue Jan 2 14:44:31 2007 -0800 [AGPGART] drivers/char/agp/sgi-agp.c: check kmalloc() return value drivers/char/agp/sgi-agp.c: check kmalloc() return value Signed-off-by: Amit Choudhary Signed-off-by: Dave Jones Signed-off-by: Andrew Morton commit fe5f8e2a1c5c040209c598a28e19c55f30e1040d Author: Zhu Yi Date: Wed Dec 20 16:11:58 2006 +0800 [PATCH] ipw2100: Fix dropping fragmented small packet problem The rx_data.header struct is ieee80211_hdr_4addr. If a wireless frame uses ieee80211_hdr_3addr header and is less than 6 bytes, it will be discarded. This is not likely going to happen for normal packets (since there is TCP, IP headers). But if fragmentation is used, there will be such small trailing packets. And they will be lost for ever. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 3eb546057dd65ec75c900c9948684ffd5e617630 Author: Zhu Yi Date: Mon Dec 18 17:26:13 2006 +0800 [PATCH] ieee80211: WLAN_GET_SEQ_SEQ fix (select correct region) The WLAN_GET_SEQ_SEQ(seq) macro in ieee80211 is selecting the wrong region. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d02b161eda65528ad3e89d642e416c265c17ceb8 Author: Philipp Zabel Date: Tue Jan 2 21:06:57 2007 +0100 [ARM] 4081/1: Add definition for TI Sync Serial Protocol Of the possible SSP frame formats (FRF bits in SSCR0), only SSCR0_PSP is defined. Other possible formats are Motorola SPI (0<<4), TI SSP (1<<4) and Microwire (2<<4). Attached patch adds a definition SSCR0_TISSP. This mode is used for the sound codec attached to the PXA272 SSP1 of some HTC PDA phones. Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit f566b2b22d89c4785f25e6e4d60163b5ae6251f4 Author: Philipp Zabel Date: Tue Jan 2 20:59:38 2007 +0100 [ARM] 4080/1: Fix for the SSCR0_SlotsPerFrm macro The SSCR0_SlotsPerFrm macro writes a 3-bit value to bits [2:0], while the correct location of FRDC in SSCR0 is at bits [26:24]. This patch adds the missing "<< 24". Signed-off-by: Philipp Zabel Signed-off-by: Russell King commit 8e140362f71ed801c69c5df63a68fc2cd07da3a9 Author: Russell King Date: Tue Jan 2 23:40:30 2007 +0000 [ARM] Fix VFP initialisation issue for SMP systems When we install the handlers for context switching, we must enable VFP on all CPU cores, otherwise undefined (and random) effects occur. Signed-off-by: Russell King commit c6b33cc4e9882b44f1b0c36396f420076e04a4e2 Author: Segher Boessenkool Date: Tue Jan 2 11:41:47 2007 +0530 [PATCH] Fix insta-reboot with "i386: Relocatable kernel support" Commit 968de4f02621db35b8ae5239c8cfc6664fb872d8 ("i386: Relocatable kernel support") caused problems for people with old binutils versions that didn't mark ".text.*" sections automatically allocated. So we should use .section command to specifically mark .text.head section as AX (allocatable and executable) to solve the problem. This should be unnecessary with binutils 2.15 and later, which is already three years old, but it doesn't hurt supporting older toolchains where possible. Signed-off-by: Vivek Goyal Acked-by: Jean Delvare Cc: Eric W. Biederman Cc: Andi Kleen Signed-off-by: Linus Torvalds commit 9883a13c72dbf8c518814b6091019643cdb34429 Author: Parag Warudkar Date: Tue Jan 2 21:09:31 2007 +0100 [PATCH] selinux: fix selinux_netlbl_inode_permission() locking do not call a sleeping lock API in an RCU read section. lock_sock_nested can sleep, its BH counterpart doesn't. selinux_netlbl_inode_permission() needs to use the BH counterpart unconditionally. Compile tested. From: Ingo Molnar added BH disabling, because this function can be called from non-atomic contexts too, so a naked bh_lock_sock() would be deadlock-prone. Boot-tested the resulting kernel. Signed-off-by: Parag Warudkar Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 85de3d9bc779c198f8667cffc291b0ecad082b5e Author: Amit Choudhary Date: Tue Jan 2 21:16:10 2007 +0000 [JFFS2] Fix error-path leak in summary scan Signed-off-by: Amit Choudhary Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ec8acb6904fabb8e741f741ec99bb1c18f2b3dee Author: Jens Axboe Date: Tue Jan 2 18:32:11 2007 +0100 [PATCH] cfq-iosched: merging problem Two issues: - The final return 1 should be a return 0, otherwise comparing cfqq is a noop. - bio_sync() only checks the sync flag, while rq_is_sync() checks both for READ and sync. The latter is what we want. Expand the bio check to include reads, and relax the restriction to allow merging of async io into sync requests. In the future we want to clean up the SYNC logic, right now it means both sync request (such as READ and O_DIRECT WRITE) and unplug-on-issue. Leave that for later. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit dc3c3377f03634d351fafdfe35b237b283586c04 Author: Alan Date: Tue Jan 2 11:58:34 2007 +0000 [PATCH] libata: fix combined mode This is a slight variant on the patch I posted December 16th to fix libata combined mode handling. The only real change is that we now correctly also reserve BAR1,2,4. That is basically a neatness issue. Jeff was unhappy about two things 1. That it didn't work in the case of one channel native one channel legacy. This is a silly complaint because the SFF layer in libata doesn't handle this case yet anyway. 2. The case where combined mode is in use and IDE=n. In this case the libata quirk code reserves the resources in question correctly already. Once the combined mode stuff is redone properly (2.6.21) then the entire mess turns into a single pci_request_regions() for all cases and all the ugly resource hackery goes away. I'm sending this now rather than after running full test suites so that it can get the maximal testing in a short time. I'll be running tests on this after lunch. Signed-off-by: Alan Cox Cc: Jeff Garzik Acked-by: Alessandro Suardi Acked-by: Theodore Tso Signed-off-by: Linus Torvalds commit 0b67d94659a72734584a40b5e113e9261f97ae8c Author: Len Brown Date: Fri Dec 22 21:18:56 2006 -0500 ACPI: asus_acpi: new MAINTAINER Signed-off-by: Len Brown commit e82c354bb26a9da6fed1fadf7082d68055b7d1db Author: Len Brown Date: Thu Dec 21 01:29:59 2006 -0500 ACPI: fix section mis-match build warning Dunno why this pops out in only in the allmodconfig build. Though the warning is accurate, all the callers of the flagged non __init function are __init, this is not a functional change. WARNING: vmlinux - Section mismatch: reference to .init.data:acpi_sci_flags from .text between 'acpi_sci_ioapic_setup' (at offset 0xc010f0a 6) and 'acpi_gsi_to_irq' WARNING: vmlinux - Section mismatch: reference to .init.text:mp_override_legacy_irq from .text between 'acpi_sci_ioapic_setup' (at offset 0 xc010f0de) and 'acpi_gsi_to_irq' WARNING: vmlinux - Section mismatch: reference to .init.data:acpi_sci_override_gsi from .text between 'acpi_sci_ioapic_setup' (at offset 0x c010f0e4) and 'acpi_gsi_to_irq' Signed-off-by: Len Brown commit 9a654b522234615a76717f35365ca4a8beb757df Author: Doug Chapman Date: Thu Dec 21 12:11:43 2006 -0500 ACPI: increase ACPI_MAX_REFERENCE_COUNT for larger systems We have some new larger ia64 systems in HP that trip over the ACPI_MAX_REFERENCE_COUNT limit which triggers a large number of these debug messages: ACPI Warning (utdelete-0397): Large Reference Count (XXX) in object e0000a0ff6797ab0 [20060707] This was increased once in the past as described in this very brief thread: http://www.mail-archive.com/linux-acpi@vger.kernel.org/msg00890.html Signed-off-by: Doug Chapman Signed-off-by: Len Brown commit c6e19194b6e1a565f8fe18d56d509e9892c32ee1 Author: Guillaume Chazarain Date: Sun Dec 24 22:19:02 2006 +0100 ACPI: EC: move verbose printk to debug build only The recent EC cleanup left a printk enabled on handler evaluation resulting in a bunch of messages on normal operation, like so: ACPI: EC: evaluating _Q60 Signed-off-by: Len Brown commit 27c5d745ac685c3f48cebd7a9c07707755b4b711 Author: Richard Purdie Date: Sat Dec 30 15:40:11 2006 +0000 backlight: fix backlight_device_register compile failures Fix breakage from commit 519ab5f2be65b72cf12ae99c89752bbe79b44df6 which didn't update all references to backlight_device_register causing compile failures. Signed-off-by: Richard Purdie Signed-off-by: Len Brown commit e22a9a8b703d05f13366c3f2e7e1aa0550bb5ca6 Author: Leonard NorrgÃ¥rd Date: Mon Jan 1 19:00:54 2007 +0200 [PATCH] sound: hda: detect ALC883 on MSI K9A Platinum motherboards (MS-7280) Recognize the Realtek ALC883 chip on MSI K9A Platinum motherboards (model no. MS-7280), enabling full sound capabilities. Signed-off-by: Leonard NorrgÃ¥rd Signed-off-by: Linus Torvalds commit 36f696cd7ffc82c48bf5826bbb4e005370fb9c6a Author: Linus Torvalds Date: Mon Jan 1 10:55:45 2007 -0800 Revert "[PATCH] x86_64: fix boot hang caused by CALGARY_IOMMU_ENABLED_BY_DEFAULT" This reverts commit a9622f6219ce58faba1417743bf3078501eb3434. Now that the Calgary code apparently detects itself properly, it's not needed any more. Signed-off-by: Linus Torvalds commit 669df1b478803f49a356528d290af7bf442eb3be Author: Linus Torvalds Date: Sun Dec 31 16:53:20 2006 -0800 Linux 2.6.20-rc3 ...because it's always a good idea to cut a release *before* you go out to party and get drunk. Remember kids: "Don't Drink and Release!" commit 241ceee0b442c69226fb882d61d9b9785743898f Author: Oleg Nesterov Date: Sun Dec 24 23:30:44 2006 +0300 [PATCH] restore ->pdeath_signal behaviour Commit b2b2cbc4b2a2f389442549399a993a8306420baf introduced a user- visible change: ->pdeath_signal is sent only when the entire thread group exits. While this change is imho good, it may break things. So restore the old behaviour for now. Signed-off-by: Oleg Nesterov To: Albert Cahalan Cc: Eric W. Biederman Cc: Andrew Morton Cc: Linus Torvalds Cc: Ingo Molnar Cc: Qi Yong Cc: Roland McGrath Signed-off-by: Linus Torvalds commit b836267aa79c1c5e23e00d9cec047b6870ae0db1 Author: Martin Willi Date: Thu Dec 28 21:27:48 2006 -0800 [XFRM]: Algorithm lookup using .compat name Installing an IPsec SA using old algorithm names (.compat) does not work if the algorithm is not already loaded. When not using the PF_KEY interface, algorithms are not preloaded in xfrm_probe_algs() and installing a IPsec SA fails. Signed-off-by: Martin Willi Acked-by: Herbert Xu Signed-off-by: David S. Miller commit cb4db4c22182163f66325053331a4e7096f663cd Author: David Woodhouse Date: Thu Dec 28 21:21:55 2006 -0800 [NET]: Don't export linux/random.h outside __KERNEL__. Don't add it there please; add it lower down inside the existing #ifdef __KERNEL__. You just made the _userspace_ net.h include random.h, which then fails to compile unless was already included. Signed-off-by: David Woodhouse Signed-off-by: David S. Miller commit e44c39bd8478bf9e41cbc611c74b5879a7b29f58 Author: David S. Miller Date: Thu Dec 28 21:14:52 2006 -0800 [NET]: Add memory barrrier to netif_poll_enable() When a driver writer calls this, they generally expect that all previous stores and modifications they've made will be visible before netif_poll_enable() executes, so ensure this. Noticed by Ben H. Signed-off-by: David S. Miller commit f4060c0dbbe9ad7b8c0aeefa142398c8d3468bac Author: David S. Miller Date: Thu Dec 28 21:43:51 2006 -0800 [SPARC64]: Handle ISA devices with no 'regs' property. And this points out that the return value from isa_dev_get_resource() and the 'pregs' arg to isa_dev_get_irq() are totally unused. Based upon a patch from Richard Mortimer Signed-off-by: David S. Miller commit 55d0bef587aa438fe5e8bed2ecce8611ebcd4c1a Author: David S. Miller Date: Thu Dec 28 21:16:40 2006 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit e3a411a3dfc1d633504aa63efab32b7e00318454 Author: David S. Miller Date: Thu Dec 28 21:01:32 2006 -0800 [SPARC64]: Fix of_iounmap() region release. We need to pass in the resource otherwise we cannot release the region properly. We must know whether it is an I/O or MEM resource. Spotted by Eric Brower. Signed-off-by: David S. Miller commit 6fc5bae797a6632bbccdd49a1b6a96121368a4b9 Author: David S. Miller Date: Thu Dec 28 21:00:23 2006 -0800 [SPARC64]: Fix "mem=xxx" handling. We were not being careful enough. When we trim the physical memory areas, we have to make sure we don't remove the kernel image or initial ramdisk image ranges. Signed-off-by: David S. Miller commit 91f6e54b6e534edbf6208e1c750fff9e0491dfcc Author: Alexey Dobriyan Date: Fri Dec 29 16:50:08 2006 -0800 [PATCH] fuse: fix typo Signed-off-by: Thomas Hisch Signed-off-by: Alexey Dobriyan Cc: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dbc1333a347745bd55844649c19eb7d28f383a84 Author: Jan Andersson Date: Fri Dec 29 16:50:04 2006 -0800 [PATCH] sparc32: add offset in pci_map_sg() Add sg->offset to sg->dvma_address in pci_map_sg() on sparc32. Without the offset, transfers to buffers that do not begin on a page boundary will not work as expected. Signed-off-by: Jan Andersson Cc: "David S. Miller" Cc: William Lee Irwin III Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8018c27b26af56af18eb8b2dc600eba825792d8f Author: Ingo Molnar Date: Fri Dec 29 16:50:01 2006 -0800 [PATCH] kvm: fix GFP_KERNEL allocation in atomic section in kvm_dev_ioctl_create_vcpu() fix an GFP_KERNEL allocation in atomic section: kvm_dev_ioctl_create_vcpu() called kvm_mmu_init(), which calls alloc_pages(), while holding the vcpu. The fix is to set up the MMU state in two phases: kvm_mmu_create() and kvm_mmu_setup(). (NOTE: free_vcpus does an kvm_mmu_destroy() call so there's no need for any extra teardown branch on allocation/init failure here.) Signed-off-by: Ingo Molnar Cc: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a54f79e091d52c3c2835985c347ea4d2e1c21f Author: Avi Kivity Date: Fri Dec 29 16:49:58 2006 -0800 [PATCH] KVM: Fix oops on oom __free_page() doesn't like a NULL argument, so check before calling it. A NULL can only happen if memory is exhausted during allocation of a memory slot. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c68876fd2846d2aaf9770276db244b46f2bf52c7 Author: Nguyen Anh Quynh Date: Fri Dec 29 16:49:54 2006 -0800 [PATCH] KVM: Rename some msrs No need to append _MSR to msr names, a prefix should suffice. Signed-off-by: Nguyen Anh Quynh Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8d13ea28bcb63baf69aba84b61cad4c3ff7adb9 Author: Avi Kivity Date: Fri Dec 29 16:49:51 2006 -0800 [PATCH] KVM: More msr misery These msrs are referenced by benchmarking software when pretending to be an Intel cpu. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bab1f5dda3443043cc8fe68c5ae75530339f28f Author: Avi Kivity Date: Fri Dec 29 16:49:48 2006 -0800 [PATCH] KVM: Move common msr handling to arch independent code Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 671d6564796e0c90398aab30f89b5e48fc5a3fbe Author: Avi Kivity Date: Fri Dec 29 16:49:45 2006 -0800 [PATCH] KVM: Implement a few system configuration msrs Resolves sourceforge bug 1622229 (guest crashes running benchmark software). Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09db28b8a3765a7ec35eba80420c71a7973f5a88 Author: Yoshimi Ichiyanagi Date: Fri Dec 29 16:49:41 2006 -0800 [PATCH] KVM: Initialize kvm_arch_ops on unload The latest version of kvm doesn't initialize kvm_arch_ops in kvm_init(), which causes an error with the following sequence. 1. Load the supported arch's module. 2. Load the unsupported arch's module.$B!!(B(loading error) 3. Unload the unsupported arch's module. You'll get the following error message after step 3. "BUG: unable to handle to handle kernel paging request at virtual address xxxxxxxx" The problem here is that the unsupported arch's module overwrites kvm_arch_ops of the supported arch's module at step 2. This patch initializes kvm_arch_ops upon loading architecture specific kvm module, and prevents overwriting kvm_arch_ops when kvm_arch_ops is already set correctly. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9058ecd3cd72634cf548588ce79b3f225c9ca32 Author: Avi Kivity Date: Fri Dec 29 16:49:37 2006 -0800 [PATCH] KVM: Simplify is_long_mode() Instead of doing tricky stuff with the arch dependent virtualization registers, take a peek at the guest's efer. This simlifies some code, and fixes some confusion in the mmu branch. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e885461f02259d75e7480a70d291d2d8aaa938e Author: Avi Kivity Date: Fri Dec 29 16:49:34 2006 -0800 [PATCH] KVM: Use boot_cpu_data instead of current_cpu_data current_cpu_data invokes smp_processor_id(), which is inadvisable when preemption is enabled. Switch to boot_cpu_data instead. Resolves sourceforge bug 1621401. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b7a52a459cb09864b736265bee1af5cef42af66 Author: Lennert Buytenhek Date: Fri Dec 29 16:49:30 2006 -0800 [PATCH] Update CREDITS and MAINTAINERS entries for Lennert Buytenhek Signed-off-by: Lennert Buytenhek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44854add66811124a5667466245b6824f751143a Author: Sergei Shtylyov Date: Fri Dec 29 16:49:26 2006 -0800 [PATCH] PIIX/SLC90E66: PIO mode fallback fix The fallback to PIO mode in the hwif->dma_check() handler doesn't work in the Intel PIIX and SMsC SLC90E66 IDE drivers because: - config_drive_for_dma() calls the hwif->speedproc() handler with a wrong mode number (unbiased by XFER_PIO_0) in case of the PIO fallback; - hwif->tuneproc() handler doesn't really set the drive's own speed (this is not fixed as yet). Signed-off-by: Sergei Shtylyov Cc: Alan Cox Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 242ce41fc92214c3430495edd43783c3ba3dcd2b Author: Sergei Shtylyov Date: Fri Dec 29 16:49:18 2006 -0800 [PATCH] PIIX: remove check for broken MW DMA mode 0 There's no need to check in piix_config_drive_for_dma() for broken MW DMA mode 0 as this mode is not supported by the driver (it sets hwif->mwdma_mask to 0x6), and hence can't be selected by ide_dma_speed(). (Alan sayeth "Probably right but if not you've got a subtle corruptor. Should at least stick a BUG_ON mode 0 setting right close when the mode is set.") Signed-off-by: Sergei Shtylyov Cc: Alan Cox Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 755cd90029b61b96816b8ac0ab6a33a197f842d0 Author: Andrew Morton Date: Fri Dec 29 16:49:14 2006 -0800 [PATCH] lockdep: printk warning fix kernel/lockdep.c: In function `lookup_chain_cache': kernel/lockdep.c:1339: warning: long long unsigned int format, u64 arg (arg 2) kernel/lockdep.c:1344: warning: long long unsigned int format, u64 arg (arg 2) Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2a5d2f9b3e6011093a7587e0e18d653fb050a36 Author: Arnaud Patard (Rtp Date: Fri Dec 29 16:49:10 2006 -0800 [PATCH] spi_s3c24xx_gpio: use right header Russel King recently reminded us that one shouldn't use asm/arch/hardware.h but one should use asm/hardware.h. Unfortunately, the spi_s3c24xx_gpio driver is using the wrong header. This patch is fixing that. Signed-off-by: Arnaud Patard Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 829ad751ab3e369ee85af83f1dee45640d3e2d29 Author: Mike Frysinger Date: Fri Dec 29 16:49:07 2006 -0800 [PATCH] respect srctree/objtree in Documentation/DocBook/Makefile The KERNELDOC and DOCPROC variables are relative to the $(srctree)/$(objtree) and expect to be run only from there ... attached patch adds proper srctree/objtree prefixes to both variables. Acked-by: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 089e34b60033863549fbe561d31ac8c778a20e7f Author: Andrew Morton Date: Fri Dec 29 16:49:04 2006 -0800 [PATCH] cpuset procfs warning fix fs/proc/base.c:1869: warning: initialization discards qualifiers from pointer target type fs/proc/base.c:2150: warning: initialization discards qualifiers from pointer target type Cc: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 918d3f90e8d5657491024f64427e9a5ea632d284 Author: Shantanu Goel Date: Fri Dec 29 16:48:59 2006 -0800 [PATCH] Buglet in vmscan.c Fix a rather obvious buglet. Noticed while instrumenting the VM using /proc/vmstat. Cc: Christoph Lameter Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 463cab36926a39d5e690664ebb5560a8b119fc71 Author: Kyungmin Park Date: Fri Dec 29 16:48:56 2006 -0800 [PATCH] ARM: OMAP: fix missing header on apollon board Fix apollon board compiler error Signed-off-by: Kyungmin Park Signed-off-by: Tony Lindgren Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f24516240c78760d0b19e6160dcab893ef81918 Author: Kyungmin Park Date: Fri Dec 29 16:48:51 2006 -0800 [PATCH] ARM: OMAP: fix GPMC compiler errors Fix GPMC compiler errors on OMAP2 Signed-off-by: Kyungmin Park Signed-off-by: Tony Lindgren Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de4fa99266b2e1f6771644b9b50f33fe8f82d728 Author: David Brownell Date: Fri Dec 29 16:48:47 2006 -0800 [PATCH] SPI/MTD: mtd_dataflash oops prevention Return a fault code if the Dataflash driver runs into a "no device present" error when the MISO line has a pulldown (it currently expects a pullup), so that rmmod won't oops. Signed-off-by: David Brownell Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17c65d69906a6e2e6df4822b00a9e5e00e35ea9a Author: David Brownell Date: Fri Dec 29 16:48:44 2006 -0800 [PATCH] m25p80 build fixes (with MTD debug) Fix build issues that show up with the m25p80 SPI flash driver when building with MTD debug enabled. Signed-off-by: David Brownell Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b1badf5d9ddfc46ad075ca5bfc465972c85cc7c Author: David Brownell Date: Fri Dec 29 16:48:39 2006 -0800 [PATCH] SPI: define null tx_buf to mean "shift out zeroes" Some issues were recently turned up with the current specification of what it means for spi_transfer.tx_buf to be null, as part of transfers which are (from the SPI protocol driver perspective) pure reads. Specifically, that it seems better to change the TX behaviour there from "undefined" to "will shift zeroes". This lets protocol drivers (like the ads7846 driver) depend on that behavior. It's what most controller drivers in the tree are already doing (with one exception and one case of driver wanting-to-oops), it's what Microwire hardware will necessarily be doing, and it removes an issue whereby certain security audits would need to define such a value anyway as part of removing covert channels. This patch changes the specification to require shifting zeroes, and updates all currently merged SPI controller drivers to do so. Signed-off-by: David Brownell Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6e88e671ac12888df2d533dd4ddef705431a32a Author: Al Viro Date: Fri Dec 29 16:48:35 2006 -0800 [PATCH] page_mkclean_one(): fix call to set_pte_at() (akpm: macros are wonderful) Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f5486ecf7d510595c2af630aae31ed5846bdbeb Author: Randy Dunlap Date: Fri Dec 29 16:48:31 2006 -0800 [PATCH] cciss: build with PROC_FS=n RAID_UNKNOWN is used even when PROC_FS=n, so move it outside of the CONFIG_PROC_FS block. drivers/block/cciss.c:1910: error: 'RAID_UNKNOWN' undeclared (first use in this function) Signed-off-by: Randy Dunlap Cc: Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bcb4ddb46a4c66d64d091e7ffa951b2aa1ba537f Author: Dimitri Gorokhovik Date: Fri Dec 29 16:48:28 2006 -0800 [PATCH] MM: SLOB is broken by recent cleanup of slab.h Recent cleanup of slab.h broke SLOB allocator: the routine kmem_cache_init has now the __init attribute for both slab.c and slob.c. This routine cannot be removed after init in the case of slob.c -- it serves as a timer callback. Provide a separate timer callback routine, call it once from kmem_cache_init, keep the __init attribute on the latter. Signed-off-by: Dimitri Gorokhovik Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 131612dfe7923bd0ce5f82d6ed8303a7ef96e574 Author: Dimitri Gorokhovik Date: Fri Dec 29 16:48:24 2006 -0800 [PATCH] ramfs breaks without CONFIG_BLOCK ramfs doesn't provide the .set_dirty_page a_op, and when the BLOCK layer is not configured in, 'set_page_dirty' makes a call via a NULL pointer. Signed-off-by: Dimitri Gorokhovik Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3f99f8ba8cbd2d4e231b767b3d6236a555da38c Author: Akinobu Mita Date: Fri Dec 29 16:48:20 2006 -0800 [PATCH] module: fix mod_sysfs_setup() return value mod_sysfs_setup() doesn't return error when kobject_add_dir() failed. Signed-off-by: Akinobu Mita Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96ceeaf4ab66315a5149296bb58d8e1a9e6f2f6d Author: Andreas Schwab Date: Fri Dec 29 16:48:16 2006 -0800 [PATCH] Fix compilation of via-pmu-backlight Signed-off-by: Andreas Schwab Cc: "Yu, Luming" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9414232fa0cc28e2f51b8c76d260f2748f7953fc Author: Ingo Molnar Date: Fri Dec 29 16:48:13 2006 -0800 [PATCH] sched: fix cond_resched_softirq() offset Remove the __resched_legal() check: it is conceptually broken. The biggest problem it had is that it can mask buggy cond_resched() calls. A cond_resched() call is only legal if we are not in an atomic context, with two narrow exceptions: - if the system is booting - a reacquire_kernel_lock() down() done while PREEMPT_ACTIVE is set But __resched_legal() hid this and just silently returned whenever these primitives were called from invalid contexts. (Same goes for cond_resched_locked() and cond_resched_softirq()). Furthermore, the __legal_resched(0) call was buggy in that it caused unnecessarily long softirq latencies via cond_resched_softirq(). (which is only called from softirq-off sections, hence the code did nothing.) The fix is to resurrect the efficiency of the might_sleep checks and to only allow the narrow exceptions. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d449db98d5d7d90f29f9f6e091b0e1d996184df1 Author: Mikael Pettersson Date: Fri Dec 29 16:48:09 2006 -0800 [PATCH] fix mrproper incompleteness include/linux/utsrelease.h and include/linux/version.h aren't removed any more by mrproper in kernel 2.6.20-rc2. The patch below fixes this. The definition of MRPROPER_FILES looks weird: generated-headers looks like a misspelling of generated_headers, but that one is a Makefile target, not a variable or a file, so I don't see how including it in MRPROPER_FILES could have any effect. Signed-off-by: Mikael Pettersson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f59c140f8387d32b8fe137eb02da40630b618e8 Author: Tilman Schmidt Date: Fri Dec 29 16:48:03 2006 -0800 [PATCH] Update to Documentation/tty.txt on line disciplines While trying to develop a line discipline I found a couple of things worth mentioning in Documentation/tty.txt which weren't, so I decided to add them. It would be nice if someone more knowledgeable than me in that area would look over them, in case I got something wrong. Signed-off-by: Tilman Schmidt Cc: Alan Cox Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfe7c09ac2be2a89aa46bb23d480d9d908e8c041 Author: Jiri Slaby Date: Fri Dec 29 16:48:00 2006 -0800 [PATCH] Char: isicom, eliminate spinlock recursion Many spinlock recursion was in the isicom driver. Eliminate it. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10f549fa1538849548787879d96bbb3450f06117 Author: Soeren Sonnenburg Date: Fri Dec 29 16:47:46 2006 -0800 [PATCH] make fn_keys work again on power/macbooks The apple fn keys don't work anymore with 2.6.20-rc1. The reason is that USB_HID_POWERBOOK appears in several files although USB_HIDINPUT_POWERBOOK is the thing to be used. The patch fixes this. Cc: Greg KH Cc: Dmitry Torokhov Cc: Benjamin Herrenschmidt Cc: Jiri Kosina Cc: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8a82d7b0a22495023e90856e58639412a5ee3f7 Author: Eric Moore Date: Fri Dec 29 16:47:43 2006 -0800 [PATCH] MAINTAINERS: email addr change for Eric Moore Update to maintainers list. My employer has changed the domain from lsil to lsi. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d79f1b4677cfe503f721000529f1462ca7b6f6d Author: Michael S. Tsirkin Date: Fri Dec 29 16:47:37 2006 -0800 [PATCH] IB/mthca: Fix FMR breakage caused by kmemdup() conversion Commit bed8bdfd ("IB: kmemdup() cleanup") introduced one bad conversion to kmemdup() in mthca_alloc_fmr(), where the structure allocated and the structure copied are not the same size. Revert this back to the original kmalloc()/memcpy() code. Reported-by: Dotan Barak . Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31f87cf48d54f5930e6e8e827989c18b0069c94a Author: Jiri Slaby Date: Fri Dec 29 16:47:34 2006 -0800 [PATCH] Char: mxser, fix oops when removing opened tty_driver->owner is not set, so if somebody remove mxser_module, it might oops (and doesn't tell the user: no way, it's in use). Set the .owner value. Cc: Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76e6a1d6607e5b58003bb87e3b3220d5fdb7568d Author: Randy Dunlap Date: Fri Dec 29 16:47:29 2006 -0800 [PATCH] pci/probe: fix macro that confuses kernel-doc Don't have macros between a function's kernel-doc block and the function definition. This is not valid for kernel-doc. Warning(/var/linsrc/linux-2.6.20-rc1-git8//drivers/pci/probe.c:653): No description found for parameter 'IORESOURCE_PCI_FIXED' Signed-off-by: Randy Dunlap Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 29263fbf9ecfcf294efdd8a51aa9191f423515ed Author: Thomas Meyer Date: Fri Dec 29 16:47:25 2006 -0800 [PATCH] Add .gitignore file for relocs in arch/i386 Due to the changes to make the kernel relocateable a new file is created during the build process. [jirislaby@gmail.com: The .gitigonre was intended to be in arch/ subtree] Signed-off-by: Thomas Meyer Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96ac5913f4e45c6a1b98350f2c0a8bb3abe2646a Author: KAMEZAWA Hiroyuki Date: Fri Dec 29 16:47:20 2006 -0800 [PATCH] fix oom killer kills current every time if there is memory-less-node take2 constrained_alloc(), which is called to detect where oom is from, checks passed zone_list(). If zone_list doesn't include all nodes, it thinks oom is from mempolicy. But there is memory-less-node. memory-less-node's zones are never included in zonelist[]. contstrained_alloc() should get memory_less_node into count. Otherwise, it always thinks 'oom is from mempolicy'. This means that current process dies at any time. This patch fix it. Signed-off-by: KAMEZAWA Hiroyuki Cc: Paul Jackson Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4e6bdbb426d1ecd9e4587f22115f8d0d426d21f Author: Ingo Molnar Date: Fri Dec 29 16:47:14 2006 -0800 [PATCH] rcu: rcutorture suspend fix Fix suspend hang: rcutorture threads need to be nofreeze. Signed-off-by: Ingo Molnar Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 52e88f5d4a6b06f3a945728dd3bc403632afe069 Author: Ingo Molnar Date: Fri Dec 29 16:47:10 2006 -0800 [PATCH] change WARN_ON back to "BUG: at ..." WARN_ON() ever triggering is a kernel bug. Do not try to paper over this fact by suggesting to the user that this is 'only' a warning, as the following recent commit does: commit 30e25b71e725b150585e17888b130e3324f8cf7c Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:24 2006 -0800 [PATCH] Fix generic WARN_ON message A warning is a warning, not a BUG. ( it might make sense to rename BUG() to CRASH() and BUG_ON() to CRASH_ON(), but that does not change the fact that WARN_ON() signals a kernel bug. ) i and others objected to this change during lkml review: http://marc.theaimsgroup.com/?l=linux-kernel&m=116115160710533&w=2 still the change slipped upstream - grumble :) Also, use the standard "BUG: " format to make it easier to grep logs and to make it easier to google for kernel bugs. Signed-off-by: Ingo Molnar Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76598ebe081b04132f272440183e0aeb6507a079 Author: Judith Lebzelter Date: Fri Dec 29 16:47:06 2006 -0800 [PATCH] powerpc iseries link error in allmodconfig Choose rpa_vscsi.c over iseries_vscsi.c when building both pseries and iseries. This fixes a link error. Signed-off-by: Judith Lebzelter Acked-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ebb1101c556b1915ff041655e629a072e64dcda Author: Zach Brown Date: Fri Dec 29 16:47:02 2006 -0800 [PATCH] Fix lock inversion aio_kick_handler() lockdep found a AB BC CA lock inversion in retry-based AIO: 1) The task struct's alloc_lock (A) is acquired in process context with interrupts enabled. An interrupt might arrive and call wake_up() which grabs the wait queue's q->lock (B). 2) When performing retry-based AIO the AIO core registers aio_wake_function() as the wake funtion for iocb->ki_wait. It is called with the wait queue's q->lock (B) held and then tries to add the iocb to the run list after acquiring the ctx_lock (C). 3) aio_kick_handler() holds the ctx_lock (C) while acquiring the alloc_lock (A) via lock_task() and unuse_mm(). Lockdep emits a warning saying that we're trying to connect the irq-safe q->lock to the irq-unsafe alloc_lock via ctx_lock. This fixes the inversion by calling unuse_mm() in the AIO kick handing path after we've released the ctx_lock. As Ben LaHaise pointed out __put_ioctx could set ctx->mm to NULL, so we must only access ctx->mm while we have the lock. Signed-off-by: Zach Brown Signed-off-by: Suparna Bhattacharya Acked-by: Benjamin LaHaise Cc: "Chen, Kenneth W" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43cdff92ad47e0ca024c8a07d29f9bb6119e759c Author: Sebastien Dugué Date: Fri Dec 29 16:46:53 2006 -0800 [PATCH] Fix IPMI watchdog set_param_str() using kstrdup set_param_str() cannot use kstrdup() to duplicate the parameter. That's fine when the driver is compiled as a module but it sure is not when built into the kernel as the kernel parameters are parsed before the kmalloc slabs are setup. Signed-off-by: Sebastien Dugué Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c9d3df5e88ad7db23f5b22f4341c39722a904a4 Author: Richard Purdie Date: Sat Dec 30 16:08:50 2006 +0100 [ARM] 4078/1: Fix ARM copypage cache coherency problems If PG_dcache_dirty is set for a page, we need to flush the source page before performing any copypage operation using a different virtual address. This fixes the copypage implementations for XScale, StrongARM and ARMv6. This patch fixes segmentation faults seen in the dynamic linker under the usage patterns in glibc 2.4/2.5. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit b0b1d60a64054697ef828e0565f006cc0f823590 Author: Dan Williams Date: Fri Dec 29 01:30:24 2006 +0100 [ARM] 4077/1: iop13xx: fix __io() macro Since iop13xx defines the PCI I/O spaces with physical resource addresses the __io macro needs to perform the physical to virtual conversion. I incorrectly assumed that this would be handled by ioremap, but drivers (like e1000) directly dereference the address returned from __io. Signed-off-by: Dan Williams Signed-off-by: Russell King commit 4cc2f7a84d64d25a16bb9383148c1467284e2356 Author: Paul Brook Date: Thu Dec 28 01:54:16 2006 +0100 [ARM] 4074/1: Flat loader stack alignment The ARM EABI requires doubleword (8-byte) stack alignment at all public entry points. The patch below makes the bFLT loader honour this. It's always safe to start with a doubleword aligned stack so it doesn't seem worth making this conditional on CONFIG_AEABI. Paul Signed-off-by: Paul Brook Signed-off-by: Russell King commit 431d2cd99f9721ad09f859dc65895f30385cc5c6 Author: Arnaud Patard Date: Wed Dec 27 22:56:44 2006 +0100 [ARM] 4073/1: Prevent s3c24xx drivers from including asm/arch/hardware.h and asm/arch/irqs.h As reminded in http://lkml.org/lkml/2006/12/23/26, one should use asm/hardware.h and asm/irq.h but absent-minded devs like me tends to use asm/arch/hardware.h and/or asm/arch/irqs.h. This patch aims at preventing such things. In order to make it work, I had to modify asm-arm/irq.h too so that it can be included from assembly files. Also, as a side effect, I had to modify some headers who were using the asm/arch/hardware.h or asm/arch/irqs.h. Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit eb3b4783ba664fd80d337ae6649f6489493b2387 Author: Ben Dooks Date: Sun Dec 24 10:08:09 2006 +0100 [ARM] 4071/1: S3C24XX: Documentation update Add documentation for the following items: - new machines (AML M5900, VMTS, NexVision) - updated rtc section - removed comments about mtd cvs - added spi section - led section Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0c48d314b16f485e89e0f13fa37c9bd98b6a064d Author: Nicolas Pitre Date: Fri Dec 22 18:52:56 2006 +0100 [ARM] 4066/1: correct a comment about PXA's sched_clock range Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ae2aa9073acf8f810f18297f586e03d4b2b97588 Author: Arnaud Patard Date: Fri Dec 22 18:44:42 2006 +0100 [ARM] 4065/1: S3C24XX: dma printk fixes The commit 505788cccbb96cd496b646594c8a5fcdc26bc2d9 in linus kernel tree introduced some printks (for debugging ?) which are flooding the logs on my h1940. This patch replace them with pr_debug calls. Signed-off-by: Arnaud Patard Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 35108fb9b3f291b594a8019cb9188da6be2f7990 Author: Nicolas Pitre Date: Fri Dec 22 18:36:30 2006 +0100 [ARM] 4064/1: make pxa_get_cycles() static ... and fix a comment as well. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 2ca2c570b0e38b0c214426b1708ee1b0c3a5067d Author: Lennert Buytenhek Date: Fri Dec 22 14:33:18 2006 +0100 [ARM] 4063/1: ep93xx: fix IRQ_EP93XX_GPIO?MUX numbering Fix incorrect IRQ numbering in arch-ep93xx/irqs.h (source: Applied Data Systems 2.6.17 kernel tree.) Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 97d552e35d9404df3254e1157df3340e4e2eaedc Author: Stefan Richter Date: Fri Dec 29 23:47:04 2006 +0100 ieee1394: sbp2: fix bogus dma mapping Need to use a PCI device, not a FireWire host device. Problem found by Andreas Schwab, mistake pointed out by Benjamin Herrenschmidt. http://ozlabs.org/pipermail/linuxppc-dev/2006-December/029595.html Signed-off-by: Stefan Richter Tested-by: Andreas Schwab commit b2bb550c4a10c44e99fe469cfaee81e2e3109994 Author: Stefan Richter Date: Thu Dec 28 19:57:49 2006 +0100 ieee1394: sbp2: pass REQUEST_SENSE through to the target Delete some incorrect code, left over from the initial driver submission in March 2001. SBP-2 targets should provide sense data via the SBP-2 status block (autosense). We have to pass the REQUEST_SENSE command through to targets which don't implement autosense, if there are any, and to accomodate application clients which use this command. Signed-off-by: Stefan Richter commit 264166e604a7e14c278e31cadd1afb06a7d51a11 Author: Rafa³ Bilski Date: Sun Dec 24 14:04:23 2006 +0100 [CPUFREQ] Longhaul - Fix up powersaver assumptions. ACPI PM2 register was fallback for "Longhaul ver. 1" CPU's. My assumption that this register isn't present at "PowerSaver" motherboards is so far true, but current code will not work correctly in other case. There are three possible supports: ACPI C3, PM2 and northbridge. That was my assumption that ACPI C3 and northbridge is for PS and northbridge and PM2 is for V1. In current code we can only check if it is ACPI support or not by port22_en. So remove port22_en and add longhaul_flags. If USE_ACPI_C3 and USE_NORTHBRIDGE are both clear then it means ACPI PM2 support. Also change order of support probe from ACPI C3, PM2, northbridge to ACPI C3, northbridge, ACPI PM2. Paranoid protection against port 0x22 cast as ACPI PM2 register. Bit 1 clear in such case - lockup on AGP DMA. And obvious (now) fixup for do_powersaver. Use cx->address only for ACPI C3 ("PowerSaver" processor using PM2 support). Signed-off-by: Rafa¿ Bilski Signed-off-by: Dave Jones commit 7658cc289288b8ae7dd2c2224549a048431222b3 Author: Linus Torvalds Date: Fri Dec 29 10:00:58 2006 -0800 VM: Fix nasty and subtle race in shared mmap'ed page writeback The VM layer (on the face of it, fairly reasonably) expected that when it does a ->writepage() call to the filesystem, it would write out the full page at that point in time. Especially since it had earlier marked the whole page dirty with "set_page_dirty()". But that isn't actually the case: ->writepage() does not actually write a page, it writes the parts of the page that have been explicitly marked dirty before, *and* that had not got written out for other reasons since the last time we told it they were dirty. That last caveat is the important one. Which _most_ of the time ends up being the whole page (since we had called "set_page_dirty()" on the page earlier), but if the filesystem had done any dirty flushing of its own (for example, to honor some internal write ordering guarantees), it might end up doing only a partial page IO (or none at all) when ->writepage() is actually called. That is the correct thing in general (since we actually often _want_ only the known-dirty parts of the page to be written out), but the shared dirty page handling had implicitly forgotten about these details, and had a number of cases where it was doing just the "->writepage()" part, without telling the low-level filesystem that the whole page might have been re-dirtied as part of being mapped writably into user space. Since most of the time the FS did actually write out the full page, we didn't notice this for a loong time, and this needed some really odd patterns to trigger. But it caused occasional corruption with rtorrent and with the Debian "apt" database, because both use shared mmaps to update the end result. This fixes it. Finally. After way too much hair-pulling. Acked-by: Nick Piggin Acked-by: Martin J. Bligh Acked-by: Martin Michlmayr Acked-by: Martin Johansson Acked-by: Ingo Molnar Acked-by: Andrei Popa Cc: High Dickins Cc: Andrew Morton , Cc: Peter Zijlstra Cc: Segher Boessenkool Cc: David Miller Cc: Arjan van de Ven Cc: Gordon Farquharson Cc: Guillaume Chazarain Cc: Theodore Tso Cc: Kenneth Cheng Cc: Tobias Diedrich Signed-off-by: Linus Torvalds commit 1cfe2014263a879691d0262935a2649c97a02559 Author: Dave Jones Date: Thu Dec 28 22:30:16 2006 -0500 [CPUFREQ] longhaul: Fix up unreachable code. Signed-off-by: RafaÅ‚ Bilski Signed-off-by: Dave Jones commit 7f02d687b44aba0cfc393102ea1ccc78eadf8a04 Author: Thomas Hellstrom Date: Wed Dec 27 13:16:49 2006 +0100 [AGPGART] Fix PCI-posting flush typo. Unfortunately there was a typo in one of the patches I sent, (The one now committed to the agpgart tree). It may cause a bus error on i810 type hardware. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Jones commit 92efc15241ceebc23451691971897020e8563a70 Author: Zhen Wei Date: Fri Dec 8 00:48:17 2006 -0700 ocfs2: export heartbeat thread pid via configfs The patch allows the ocfs2 heartbeat thread to prioritize I/O which may help cut down on spurious fencing. Most of this will be in the tools - we can have a pid configfs attribute and let userspace (ocfs2_hb_ctl) calls the ioprio_set syscall after starting heartbeat, but only cfq scheduler supports I/O priorities now. Signed-off-by: Zhen Wei Signed-off-by: Mark Fasheh commit 7f4a2a97e324e8c826d1d983bc8efb5c59194f02 Author: Mark Fasheh Date: Mon Dec 11 11:06:36 2006 -0800 ocfs2: always unmap in ocfs2_data_convert_worker() Mmap-heavy clustered workloads were sometimes finding stale data on mmap reads. The solution is to call unmap_mapping_range() on any down convert of a data lock. Signed-off-by: Mark Fasheh commit 6c2aad0567e693f9588d0a0683f96ed872fb4641 Author: Mark Fasheh Date: Tue Dec 19 15:25:52 2006 -0800 ocfs2: ignore NULL vfsmnt in ocfs2_should_update_atime() This can come from NFSD. Signed-off-by: Mark Fasheh commit 564f8a3228879d6962edb3432d01bcd7499a67ec Author: Mark Fasheh Date: Thu Dec 14 13:01:05 2006 -0800 ocfs2: Allow direct I/O read past end of file ocfs2_direct_IO_get_blocks() was incorrectly returning -EIO for a direct I/O read whose start block was past the end of the file allocation tree. Fix things so that we return a hole instead. do_direct_IO() will then notice that the range start is past eof and return a short read. While there, remove the unused vbo_max variable. Signed-off-by: Mark Fasheh commit 0333394bff439c3fb09264303de42e7038b3e709 Author: Mark Fasheh Date: Thu Dec 14 15:29:25 2006 -0800 ocfs2: don't print error in ocfs2_permission() Errors from generic_permission() can happen in valid cases and shouldn't be reported. Signed-off-by: Mark Fasheh commit aa77015c4e94cb1d30680646c163d7ae1f93f941 Author: Michael Holzheu Date: Thu Dec 28 00:35:36 2006 +0100 [S390] cio: fix stsch_reset. Copy inline assembly of stsch and add "memory" to clobber list in order to prevent gcc from optimizing away the checking of the global variable "pgm_check_occured". Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 524a237e4512038d6e07ad3b2e44e70902b76738 Author: Melissa Howland Date: Thu Dec 28 00:35:25 2006 +0100 [S390] Change max. buffer size for monwriter device. Reduce the max. buffer size for the monwriter device to prevent a possible problem with the z/VM monitor service. Signed-off-by: Melissa Howland Signed-off-by: Martin Schwidefsky commit 69f7e75a9d45e5eaca16917a8d0dedf76149f13f Author: Jean Delvare Date: Sat Dec 23 14:11:03 2006 -0300 V4L/DVB (5010): Cx88: Fix leadtek_eeprom tagging reference to .init.text: from .text between 'cx88_card_setup' (at offset 0x68c) and 'cx88_risc_field' Caused by leadtek_eeprom() being declared __devinit and called from a non-devinit context. Signed-off-by: Jean Delvare Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 70bdd9c83a6e757e5fb9cc3195f27d2c1d0a4c39 Author: Alexey Dobriyan Date: Tue Dec 26 07:43:25 2006 -0300 V4L/DVB (5012): Usbvision fix: It was using "&&" instead "&" Signed-off-by: Alexey Dobriyan Signed-off-by: Mauro Carvalho Chehab commit 0b778a56e342e0e1d274298ad47d9af22a9de633 Author: Mauro Carvalho Chehab Date: Wed Dec 27 14:04:09 2006 -0200 V4L/DVB (5001): Add two required headers on kernel 2.6.20-rc1 include/media/ir-common.h:78: error: field 'work' has incomplete type drivers/media/common/ir-functions.c: In function 'ir_rc5_timer_end': drivers/media/common/ir-functions.c:301: error: 'jiffies' undeclared (first use in this function) drivers/media/common/ir-functions.c:301: error: (Each undeclared identifier is reported only once) drivers/media/common/ir-functions.c:301: error: for each function it appears in.) drivers/media/common/ir-functions.c:347: error: 'HZ' undeclared (first use in this function) Signed-off-by: Mauro Carvalho Chehab commit 9a2816c1c4ca7f5d02de4339589913701251dd5a Author: David Brownell Date: Wed Dec 27 09:53:44 2006 -0300 V4L/DVB (5014): Allyesconfig build fixes on some non x86 arch - CAFE_CCIC needs to depend on PCI, else "allyesconfig" breaks on systems without PCI - em28xx-video can't udelay(2500) else "allyesconfig" breaks on systems that refuse to spin that long (I saw it on ARM) Signed-off-by: David Brownell Signed-off-by: Mauro Carvalho Chehab commit 5f1693fe82b499a3306993020ef14011ed0420d0 Author: Akinobu Mita Date: Wed Dec 20 10:08:56 2006 -0300 V4L/DVB (4997): Bttv: delete duplicated ioremap() ioremap() is called twice to same resource. The returen value of first one is not error-checked. second one is complely ignored. Signed-off-by: Akinobu Mita Signed-off-by: Mauro Carvalho Chehab commit 25821400359d2b3daacfb93303944211b8411ac3 Author: Akinobu Mita Date: Wed Dec 20 10:07:30 2006 -0300 V4L/DVB (4996): Msp3400: fix kthread_run error check The return value of kthread_run() should be checked by IS_ERR(). Signed-off-by: Akinobu Mita Signed-off-by: Mauro Carvalho Chehab commit 054afee4736677a00982f6414a983dec8ee511db Author: Akinobu Mita Date: Wed Dec 20 10:04:00 2006 -0300 V4L/DVB (4995): Vivi: fix kthread_run() error check The return value of kthread_run() should be checked by IS_ERR(). Signed-off-by: Akinobu Mita Signed-off-by: Mauro Carvalho Chehab commit 72f678c30185df18ac38ef14c9045d139c2263bc Author: Akinobu Mita Date: Wed Dec 20 10:03:53 2006 -0300 V4L/DVB (4994): Vivi: fix use after free in list_for_each() Freeing data including list_head in list_for_each() is not safe. Signed-off-by: Akinobu Mita Signed-off-by: Mauro Carvalho Chehab commit b331daa03cd949b1b0a4b761b4b4a92d71f7d626 Author: Stephan Berberig Date: Wed Dec 20 09:37:05 2006 -0300 V4L/DVB (4992): Fix typo in saa7134-dvb.c Fix a typo (use_frontent -> use_frontend) in saa7134-dvb.c. Signed-off-by: Stephan Berberig Signed-off-by: Mauro Carvalho Chehab commit d4f60baf7827c6a46b7ee2ed0a2a32a373febfcb Author: Adrian Bunk Date: Wed Dec 20 09:34:32 2006 -0300 V4L/DVB (4991): Cafe_ccic.c: fix NULL dereference We shouldn't dereference "cam" when we already know it's NULL. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit d82d418a3af4d7d07151f9d45ca20f2ce61289a0 Author: Amit Choudhary Date: Wed Dec 20 09:30:45 2006 -0300 V4L/DVB (4990): Cpia2/cpia2_usb.c: fix error-path leak Free previously allocated memory (in array elements) if kmalloc() returns NULL in submit_urbs(). Signed-off-by: Amit Choudhary Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit cb2c7b4927c8f376b7ba9557978d8c59ed472664 Author: Hans Verkuil Date: Wed Dec 20 06:51:37 2006 -0300 V4L/DVB (4988): Cx2341x audio_properties is an u16, not u8 This bug broke the MPEG audio mode controls. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 83aaf13c5ba5e1e244339807d8a752808e763cdd Author: Hans Verkuil Date: Mon Dec 18 13:40:23 2006 -0300 V4L/DVB (4984): LOG_STATUS should show the real temporal filter value. The temporal filter is forced off when scaling. The VIDIOC_LOG_STATUS handler still showed the old temporal filter. It is now consistent with the real temporal filter value. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 12b896e436a3b1bc83856962388ae1ab154742a6 Author: Hans Verkuil Date: Mon Dec 18 13:37:50 2006 -0300 V4L/DVB (4983): Force temporal filter to 0 when scaling to prevent ghosting. Change the code to unconditionally turn off the temporal filter when scaling. If the window is not full screen the filter will introduce a nasty ghosting effect. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b331def2d382d7a51c379f336fe80ef87d6674e3 Author: Hans Verkuil Date: Mon Dec 18 13:18:28 2006 -0300 V4L/DVB (4982): Fix broken audio mode handling for line-in in msp3400. The wrong matrix was used when an external input was selected instead of the tuner input. The rxsubchans field was also not initialized to STEREO for an external input. And finally the msp34xxg_detect_stereo() should not try to detect stereo for an external input, that code is for the tuner input only. Together these bugs made it hit 'n miss whether you ever got stereo out of the msp3400 for an external input. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 315eb962d2e9438bc10da2488b604f04a1c0006f Author: Mauro Carvalho Chehab Date: Sun Dec 17 23:30:47 2006 -0300 V4L/DVB (4980): Fixes bug 7267: PAL/60 is not working On cx88 driver, sampling rate should be at chroma subcarrier freq (FSC). However, driver were programming wrong values for PAL/60, PAL/Nc and NTSC 4.43. This patch do the proper calculation. It also calculates htotal, hdelay and hactive constants, according with the sampling rate. It is tested with PAL/60 by Piotr Maksymuk and Olivier. Also tested with the already-supported standards. Test is still required for PAL/Nc. Signed-off-by: Mauro Carvalho Chehab commit ed00b41dc8bc286682d31ad64060ccc70513e90b Author: Dwaine Garden Date: Wed Dec 27 10:23:28 2006 -0200 V4L/DVB (4979): Fixes compilation when CONFIG_V4L1_COMPAT is not selected - SYSFS: Replaced all to_video_device(cd), video_device_create_file, video_device_remove_file and add the proper checks at create_file - Converted old norm values to V4L2 ones. - Robustness on sysfs hue/contrast/saturation queries. Additional check in order to return 0 if the driver is not opened. - Whitespace cleanups in usbvision-cards.c This patch merges two fixes by Thierry MERLE and Mauro Chehab, and adds additional checks. Signed-off-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit 5ef35be42dfaa155e02718a9bd34cc341f327883 Author: Michael Krufky Date: Thu Dec 14 13:53:33 2006 -0300 V4L/DVB (4973): Dvb-core: fix printk type warning dvb_net.c: In function 'dvb_net_ule': dvb_net.c:628: warning: format '%#lx' expects type 'long unsigned int', but argument 3 has type 'u32' dvb_net.c:628: warning: format '%#lx' expects type 'long unsigned int', but argument 4 has type 'u32' Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dedcefb085fe98a1feaf63590fe2fc7e0ecb1987 Author: Ang Way Chuang Date: Thu Dec 14 13:51:44 2006 -0300 V4L/DVB (4972): Dvb-core: fix bug in CRC-32 checking on 64-bit systems CRC-32 checking during ULE decapsulation always failed on x86_64 systems due to the size of a variable used to store CRC. This bug was discovered on Fedora Core 6 with kernel-2.6.18-1.2849. The i386 counterpart has no such problem. This patch has been tested on 64-bit system as well as 32-bit system. Signed-off-by: Ang Way Chuang Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 38284ba361d69eca34a3bfc553ebfac81fea2698 Author: Thierry MERLE Date: Fri Dec 15 16:46:53 2006 -0300 V4L/DVB (4970): Usbvision memory fixes - fix decompression buffer allocation not done at first driver open - simplification of USB sbuf allocation (use of usb_buffer_alloc) - replaced vmalloc by vmalloc_32 (for homogeneity) - add of saa7111 (i2cAddr=0x48) detection printout in attach_inform Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 3a4456a073150c8b0d790daa007d2aab9ebdecb5 Author: Hans Verkuil Date: Tue Dec 12 16:27:28 2006 -0300 V4L/DVB (4968): Add PAL-60 support for cx2584x. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e71ced1a5dfebfde57c0ed2c9bd3c7b4596071c1 Author: Hans Verkuil Date: Mon Dec 11 15:51:43 2006 -0300 V4L/DVB (4967): Add missing tuner module option pal=60 for PAL-60 support. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 2485eb0a553f2ac8c73267ce48fcdee8a9728d43 Author: audetto@tiscali.it Date: Tue Dec 12 10:35:57 2006 -0300 V4L/DVB (4964): VIDEO_PALETTE_YUYV and VIDEO_PALETTE_YUV422 are the same palette Consistent handling of VIDEO_PALETTE_YUYV and VIDEO_PALETTE_YUV422 Signed-off-by: Andrea A Odetti Signed-off-by: Mauro Carvalho Chehab commit c6268461473e1c62e31afde657069c050ee8dea7 Author: Mauro Carvalho Chehab Date: Mon Dec 11 17:18:15 2006 -0300 V4L/DVB (4960): Removal of unused code from usbvision-i2c.c i2c_adap is almost not used. This patch removes it, cleaning the i2c support, and improving driver understanding. Thanks to Thierry Merle for testing it. Signed-off-by: Mauro Carvalho Chehab commit 0a0ceadebd4551c26110f5daf0b38d9054674c9e Author: Adrian Bunk Date: Mon Dec 11 15:51:36 2006 -0300 V4L/DVB (4959): Usbvision: possible cleanups This patch contains the following possible cleanups: - make needlessly global functions static - remove the unused EXPORT_SYMBOL's Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit bee8a44ecb37c1d80afd2af932f60e786f0eabc2 Author: Ralf Baechle Date: Mon Dec 11 11:14:54 2006 -0300 V4L/DVB (4958): Fix namespace conflict between w9968cf.c on MIPS Both use __SC. Since __* is sort of private namespace I've choosen to fix this in the driver. For consistency I decieded to also change __UNSC to UNSC. Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 6ccd60172e271d156dba8a4002568d3bf1912e01 Author: Mario Rossi Date: Mon Dec 11 05:42:36 2006 -0300 V4L/DVB (4956): [NOVA-T-USB2] Put remote-debugging in the right place This patch removes unnecessary (and misleading) debug output (it printed the values of the keys in the table up to the value of the key pressed). Signed-off-by: Mario Rossi Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a821e990e4db77cd87bec488fb425d8d4ced79bd Author: Mario Rossi Date: Mon Dec 11 05:37:31 2006 -0300 V4L/DVB (4955): Fix autosearch index After rewriting the driver the wrong autosearch index was used when COFDM-parameter needed to be detected. Thanks to Mario Rossi who found it. Signed-off-by: Mario Rossi Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 81f4e6c190a0fa016fd7eecaf76a5f95d121afc2 Author: Francois Romieu Date: Mon Dec 18 00:00:55 2006 +0100 r8169: extraneous Cmd{Tx/Rx}Enb write Checked in Realtek's driver, this one has no business being there. The driver still works but there is a noticeable performance drop. Signed-off-by: Francois Romieu commit 87046e5062c483820f20c1fa6ed0826bb38fd4f0 Author: Ayaz Abdulla Date: Tue Dec 19 23:33:32 2006 -0500 forcedeth: modified comment header This patch removes comment that forcedeth is not supported by NVIDIA. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit bd56c6b15e809d0fcb43bc8d505ca4d15debac62 Author: Amit S. Kale Date: Mon Dec 18 05:54:36 2006 -0800 NetXen: Reducing ring sizes for IOMMU issue. Signed-off-by: Amit S. Kale netxen_nic.h | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) Signed-off-by: Jeff Garzik commit ed33ebe464d973ab656cfc9ff0ca40a4c1e38238 Author: Amit S. Kale Date: Mon Dec 18 05:53:59 2006 -0800 NetXen: Fix for PPC machines. Signed-off-by: Amit S. Kale netxen_nic.h | 2 +- netxen_nic_init.c | 12 ++++++------ netxen_nic_main.c | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) Signed-off-by: Jeff Garzik commit 6c5866441669ab71f6297556ea281a6bcbfd13db Author: Amit S. Kale Date: Mon Dec 18 05:53:36 2006 -0800 NetXen: work queue fixes. Signed-off-by: Amit S. Kale netxen_nic.h | 3 +-- netxen_nic_init.c | 2 +- netxen_nic_main.c | 15 +++++++-------- 3 files changed, 9 insertions(+), 11 deletions(-) Signed-off-by: Jeff Garzik commit d2378e89720f364ccf3a57b26f1827923d3464f2 Author: Amit S. Kale Date: Mon Dec 18 05:53:12 2006 -0800 NetXen: Link status message correction for quad port cards. Signed-off-by: Amit S. Kale netxen_nic_isr.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit a379cb3c136526617c7aed555a249cb03e951e60 Author: Amit S. Kale Date: Mon Dec 18 05:52:39 2006 -0800 NetXen: Multiple adapter fix. Signed-off-by: Amit S. Kale netxen_nic.h | 3 +-- netxen_nic_main.c | 12 ------------ 2 files changed, 1 insertion(+), 14 deletions(-) Signed-off-by: Jeff Garzik commit c75e86b47f97831732fc450fcc5a4230b00071fb Author: Amit S. Kale Date: Mon Dec 18 05:51:58 2006 -0800 NetXen: Using correct CHECKSUM flag. Signed-off-by: Amit S. Kale netxen_nic_hw.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit b0d541dbb940fe8899e3020fcc9ee5a1e2be0306 Author: Amit S. Kale Date: Mon Dec 18 05:51:29 2006 -0800 NetXen: driver reload fix for newer firmware. Signed-off-by: Amit S. Kale netxen_nic_main.c | 7 +++++++ 1 files changed, 7 insertions(+) Signed-off-by: Jeff Garzik commit 0d39073484d6e01d325e6d94a3967ce0e98161a7 Author: Amit S. Kale Date: Mon Dec 18 05:50:59 2006 -0800 NetXen: Adding new device ids. Signed-off-by: Amit S. Kale netxen_nic_main.c | 2 ++ 1 files changed, 2 insertions(+) Signed-off-by: Jeff Garzik commit 3e65bb94a9de542c464bf00035a08b0e0a76993d Author: Hynek Petrak Date: Tue Dec 19 13:08:49 2006 -0800 PHY probe not working properly for ibm_emac (PPC4xx) I have a system with AMCC PowerPC 405EP and PHY Intel LXT971A. Linux 2.6.18.3 is not able to detect the PHY ID correctly. The PHY ID detected is 0, but should be 0x1d. This is because phy_read() (__emac_mdio_read() resp.) from drivers/net/ibm_emac/ibm_emac_core.c might return -ETIMEDOUT or -EREMOTEIO on error. This is ignored inside the int mii_phy_probe(struct mii_phy *phy, int address) from drivers/net/ibm_emac/ibm_emac_phy.c as the return value is assigned to an u32 variable. Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ebf5112ca7a714a3961a322459747059cbf41d7b Author: Yan Burman Date: Tue Dec 19 13:08:48 2006 -0800 ep93xx: some minor cleanups to the ep93xx eth driver Small cleanup in the Cirrus Logic EP93xx ethernet driver: Check for NULL pointer before dereferencing it instead of after. Remove unreferenced variable. Signed-off-by: Yan Burman Cc: Jeff Garzik Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit aed2cec45c426c941c80d84ec89ce34f2f2607cc Author: Stephen Hemminger Date: Wed Dec 20 13:06:35 2006 -0800 sky2: phy power down needs PCI config write enabled In order to change PCI registers (via the iomap'd window), it needs to be enabled; this wasn't being done in sky2_phy_power the function that turns on/off power to the PHY. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 44ade178249fe53d055fd92113eaa271e06acddd Author: Stephen Hemminger Date: Wed Dec 20 13:06:34 2006 -0800 sky2: power management/MSI workaround MSI doesn't work properly on resume on many platforms because the BIOS goes and changes it back to INTx mode after the sky2 driver has restored in resume. It is really a bug in the base power management resume code, and this workaround is temporary until the change to PM code works it's way through the release process. The PM fix is non-trivial since it needs to change when non-boot CPU's are enabled. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 25d82d7a2fc20cc4be414d738139594dc0adf179 Author: Stephen Hemminger Date: Wed Dec 20 13:06:33 2006 -0800 sky2: dual port NAPI problem Shutting down port 0 disables the NAPI poll used by both ports. The long term fix will be to separate NAPI object from net device until then just reenable if needed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit ce9f7fe3c3f5b9ed1d3e91db78c45d0df5672816 Author: Randy Dunlap Date: Mon Dec 18 21:21:10 2006 -0800 via-velocity uses INET interfaces via-velocity doesn't build when CONFIG_INET=n: drivers/built-in.o: In function `velocity_unregister_notifier': via-velocity.c:(.text+0xe9b46): undefined reference to `unregister_inetaddr_notifier' drivers/built-in.o: In function `velocity_init_module': via-velocity.c:(.init.text+0xa027): undefined reference to `register_inetaddr_notifier' I wanted to make this change in drivers/net/Kconfig, but this isn't legal kconfig language: config VIA_VELOCITY tristate "VIA Velocity support" depends on NET_PCI && PCI + depends on INET if PM select CRC32 select CRC_CCITT select MII so fix it in via-velocity.c instead. Builds with all 4 combinations of CONFIG_NET & CONFIG_PM. Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 683a2aa339f607c8a422835161ceab68b2a5a18a Author: Herbert Xu Date: Sat Dec 16 12:04:33 2006 +1100 e1000: Do not truncate TSO TCP header with 82544 workaround The e1000 driver has a workaround for 82544 on PCI-X where if the terminating byte of a buffer is at addresses 0-3 mod 8, then 4 bytes are shaved off it and defered to a new segment. This is due to an erratum that could otherwise cause TX hangs. Unfortunately this breaks TSO because it may cause the TCP header to be split over two segments which itself causes TX hangs. The solution is to pull 4 bytes of data up from the next segment rather than pushing 4 bytes off. This ensures the TCP header remains in one piece and works around the PCI-X hang. This patch is based on one from Jesse Brandeburg. This bug has been trigered by both CONFIG_DEBUG_SLAB as well as Xen. Note that the only reason we don't see this normally is because the TCP stack starts writing from the end, i.e., it writes the TCP header first then slaps on the IP header, etc. So the end of the TCP header (skb->tail - 1 here) is always aligned correctly. Had we made the start of the IP header (e.g., IPv6) 8-byte aligned instead, this would happen for normal TCP traffic as well. Signed-off-by: Herbert Xu Acked-by: Jesse Brandeburg -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- Signed-off-by: Jeff Garzik commit 1a63e846a4099e6fbff86a3b112064378515f254 Author: Brice Goglin Date: Mon Dec 18 11:52:34 2006 +0100 myri10ge: handle failures in suspend and resume On suspend, handle pci_set_power_state errors, and on resume handle failures in pci_resume_state(). Signed-off-by: Brice Goglin Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 83f6e1524586119df84f70b7127688c57349664a Author: Brice Goglin Date: Mon Dec 18 11:52:02 2006 +0100 myri10ge: no need to save MSI and PCIe state in the driver The PCI MSI and express state are already saved and restored by the current versions of pci_save_state/pci_restore_state. Therefore it is no longer necessary for the driver to do it. Signed-off-by: Brice Goglin Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3621cec5b5847348248e749c647219f409550f2f Author: Brice Goglin Date: Mon Dec 18 11:51:22 2006 +0100 myri10ge: make msi configurable at runtime through sysfs Now that IRQ are requested is called on open() and freed on close(), we can safely switch from/to MSI without unloading the module. We are guaranteed to correctly free IRQ even if the sysfs file got written in the meantime since the MSI initialization is stored in mgp->msi_enabled. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit df30a740e4647b035e44a94e6977ad42a94cb850 Author: Brice Goglin Date: Mon Dec 18 11:50:40 2006 +0100 myri10ge: move request_irq to myri10ge_open Request IRQ in myri10ge_open() and free in close() instead of probe() and remove() to eliminate potential race between the watchdog and the interrupt handler. Additionaly, the interrupt handler won't get called on shared irq anymore when the interface is down. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 7adda30c82f403c948b016a40fc68a1ef427dbca Author: Brice Goglin Date: Mon Dec 18 11:50:00 2006 +0100 myri10ge: match number of save_state and restore Since pci_save_state() pushes MSI and PCIe states on a kind of stack, myri10ge saving the state in advance for parity recovery will push the state again on the stack on suspend. This leads to some memory leak. We add a couple additional calls to save_state and restore_state so that we don't leak anymore. For the future, we are thinking of a better way to recover from parity error without using pci_save_state(). Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit a27993f3d9daca0dffa26577a83822db99c952e2 Author: Francois Romieu Date: Mon Dec 18 00:04:19 2006 +0100 r8169: use the broken_parity_status field in pci_dev The former option is removed and platform code can now specify the expected behavior. Signed-off-by: Lennert Buytenhek Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit d15e9c4d9a75702b30e00cdf95c71c88e3f3f51e Author: Francois Romieu Date: Sun Dec 17 23:03:15 2006 +0100 netpoll: drivers must not enable IRQ unconditionally in their NAPI handler net/core/netpoll.c::netpoll_send_skb() calls the poll handler when it is available. As netconsole can be used from almost any context, IRQ must not be enabled blindly in the NAPI handler of a driver which supports netpoll. b57bd06655a028aba7b92e1c19c2093e7fcfb341 fixed the issue for the 8139too.c driver. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 92104e94806f47e090e3bb40f6ae45f695351a5e Author: Stephen Hemminger Date: Fri Dec 15 07:57:08 2006 -0800 netxen: remove private ioctl The netxen driver includes a private ioctl that provides access to functionality that is already available in other ways. The PCI layer has application access hooks (see setpci), and the statistics are available in ethtool/netstats. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 79f3d3996f06ee339c6f173e573826eccd3914ab Author: Jesse Brandeburg Date: Fri Dec 15 10:42:34 2006 +0100 [PATCH] e1000: No-delay link detection at interface up Currently after an interface up, the link state is detected 2 seconds later when the first watchdog timer runs. This patch changes that by triggering the hardware to generate a link-change interrupt from the up() function instead. This has the result that the link state gets detected immediately and without races. This has the potential to speed up booting since a normal distribution boot process waits for a link before DHCP is attempted. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 15e376b4eed2575b323d575403569ec1b5f63fda Author: Jeff Garzik Date: Fri Dec 15 11:16:33 2006 -0500 e1000: 3 new driver stats for managability testing Add 3 extra packet redirect counters for tracking purposes to make sure we can test that all packets arrive properly. Originally from Jesse Brandeburg , rewritten to use feature flags by me. Signed-off-by: Jeff Garzik commit 1f753861d272e648f3234e4f5fdea9434ae7bee4 Author: Jesse Brandeburg Date: Fri Dec 15 10:40:39 2006 +0100 [PATCH] e1000: Make the copybreak value a module parameter Allow the user to vary the size that copybreak works. Currently cb is enabled for packets < 256 bytes, but various tests indicate that this should be configurable for specific use cases. In addition, this parameter allows us to force never/always during testing to get full and predictable coverage of both code paths. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 018ea44ef1eade417296c4a57afe3cd963268433 Author: Bruce Allan Date: Fri Dec 15 10:39:45 2006 +0100 [PATCH] e1000: Fix PBA allocation calculations Assign the PBA to be large enough to contain at least 2 jumbo frames on all adapters. This dramatically increases performance on several adapters and fixes TX performance degradation issues where the PBA was misallocated in the old algorithm. Signed-off-by: Bruce Allan Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit d89b6c6750e7d7527603b573ec60ba787f5c04a6 Author: Jesse Brandeburg Date: Fri Dec 15 10:38:32 2006 +0100 [PATCH] e1000: narrow down the scope of the tipg timer tweak the driver has (ancient) code for messing with TIPG from the 82542 days. Unfortunately this code was running on our current adapters and setting TIPG for fiber to be +1 over the copper value. This caused 1.45Mpps to be sent instead of 1.487Mpps. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit c3813ae6615107cc93c79200f477ffd2a870c8ab Author: Jeff Kirsher Date: Fri Dec 15 10:37:32 2006 +0100 [PATCH] e1000: fix ethtool reported bus type for older adapters For older adapters we know that they are of the PCI bus type, so we can just set this. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 83cd827977d8d20ac8c4fe56c88b53a70ac54af3 Author: Bruce Allan Date: Fri Dec 15 10:36:35 2006 +0100 [PATCH] e1000: fix to set the new max frame size before resetting the adapter This bugfix makes sure that the driver data reflects the full new situation before the adapter is reinitialized. Signed-off-by: Bruce Allan Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit bb8e3311ef9de8e72f45f910e4a977c313c7009c Author: Jeff Garzik Date: Fri Dec 15 11:06:17 2006 -0500 e1000: workaround for the ESB2 NIC RX unit issue In rare occasions, ESB2 systems would end up started without the RX unit being turned on. Add a check that runs post-init to work around this issue. Originally from Jesse Brandeburg , rewritten to use feature flags by me. Signed-off-by: Jeff Garzik commit 72f3ab7462f4e153d1e8ac78e379716ad71d6923 Author: Jesse Brandeburg Date: Fri Dec 15 10:34:46 2006 +0100 [PATCH] e1000: disable TSO on the 82544 with slab debugging CONFIG_DEBUG_SLAB changes alignments of the data structures the slab allocators return. These break certain workarounds for TSO on the 82544. Since DEBUG_SLAB is relatively rare and not used for performance sensitive cases, the simplest fix is to disable TSO in this special situation. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 3d5460a0ba17437cf278ee46886d557340d028da Author: Jesse Brandeburg Date: Fri Dec 15 10:33:46 2006 +0100 [PATCH] e1000: Fix Wake-on-Lan with forced gigabit speed If the user has forced gigabit speed, phy power management must be disabled; otherwise the NIC would try to negotiate to a linkspeed of 10/100 mbit on shutdown, which would lead to a total loss of link. This loss of link breaks Wake-on-Lan and IPMI. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 0fccd0e9e3802748855d967940c16f8c59d4e2b6 Author: Jeff Garzik Date: Fri Dec 15 10:56:10 2006 -0500 e1000: consolidate managability enabling/disabling Several bugs existed in how we handle manageability issues all over the driver. This patch consolidates all the managability release and init code in two single functions and call them from appropriate locations. This fixes several BMC packet redirect issues and powerup/down hiccups. Originally from Jesse Brandeburg , rewritten to use feature flags by me. Signed-off-by: Jeff Garzik commit 167fb2841633edd2812e385af4b593d870abd15a Author: Jeff Garzik Date: Fri Dec 15 10:41:15 2006 -0500 e1000: omit stats for broken counter in 82543 The 82543 chip does not count tx_carrier_errors properly in FD mode; report zeros instead of garbage. Originally from Jesse Brandeburg , rewritten to use feature flags by me. Signed-off-by: Jeff Garzik commit bd2371ebcc71d0a276ae341d735326a8beab6627 Author: Jeff Garzik Date: Fri Dec 15 10:31:40 2006 -0500 e1000: For sanity, reformat e1000_set_mac_type(), struct e1000_hw[_stats] Makes future changes a bit more readable. Signed-off-by: Jeff Garzik commit 2b65326e67f89899e8bcaed1989d8cfb0ed01f55 Author: Jesse Brandeburg Date: Fri Dec 15 10:30:44 2006 +0100 [PATCH] e1000: dynamic itr: take TSO and jumbo into account The dynamic interrupt rate control patches omitted proper counting for jumbo's and TSO resulting in suboptimal interrupt mitigation strategies. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 7d16e65ba57f181732ec52626736b27904198edf Author: Jesse Brandeburg Date: Fri Dec 15 10:29:31 2006 +0100 [PATCH] e1000: The user-supplied itr setting needs the lower 2 bits masked off The lower 2 bits of a user-supplied itr setting (via ethtool) need to be masked off: These lower two bits are used as control bits. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik commit 3bf8ba38f38d3647368e4edcf7d019f9f8d9184a Author: Linus Torvalds Date: Sat Dec 23 20:00:32 2006 -0800 Linux 2.6.20-rc2 commit cb876f451455b6187a7d69de2c112c45ec4b7f99 Author: Linus Torvalds Date: Sat Dec 23 16:19:07 2006 -0800 Fix up CIFS for "test_clear_page_dirty()" removal This also adds he required page "writeback" flag handling, that cifs hasn't been doing and that the page dirty flag changes made obvious. Acked-by: Steve French Acked-by: Dave Kleikamp Signed-off-by: Linus Torvalds commit 8d1c481960ba833362aa78245fdff12e3804f8b5 Author: OGAWA Hirofumi Date: Sat Dec 23 10:00:43 2006 +0900 [PATCH] arch/i386/pci/mmconfig.c tlb flush fix We use the fixmap for accessing pci config space in pci_mmcfg_read/write(). The problem is in pci_exp_set_dev_base(). It is caching a last accessed address to avoid calling set_fixmap_nocache() whenever pci_mmcfg_read/write() is used. static inline void pci_exp_set_dev_base(int bus, int devfn) { u32 dev_base = base | (bus << 20) | (devfn << 12); if (dev_base != mmcfg_last_accessed_device) { mmcfg_last_accessed_device = dev_base; set_fixmap_nocache(FIX_PCIE_MCFG, dev_base); } } cpu0 cpu1 --------------------------------------------------------------------------- pci_mmcfg_read("device-A") pci_exp_set_dev_base() set_fixmap_nocache() pci_mmcfg_read("device-B") pci_exp_set_dev_base() set_fixmap_nocache() pci_mmcfg_read("device-B") pci_exp_set_dev_base() /* doesn't flush tlb */ But if cpus accessed the above order, the second pci_mmcfg_read() on cpu0 doesn't flush the TLB, because "mmcfg_last_accessed_device" is device-B. So, second pci_mmcfg_read() on cpu0 accesses a device-A via a previous TLB cache. This problem became the cause of several strange behavior. This patches fixes this situation by adds "mmcfg_last_accessed_cpu" check. [ Alternatively, we could make a per-cpu mapping area or something. Not that it's probably worth it, but if we wanted to avoid all locking and instead just disable preemption, that would be the way to go. --Linus ] Signed-off-by: OGAWA Hirofumi Signed-off-by: OGAWA Hirofumi Signed-off-by: Linus Torvalds commit e1d9fd2e3d33b2fec3207171ec8ca6e71d5c81c7 Author: Ingo Molnar Date: Sat Dec 23 16:55:29 2006 +0100 [PATCH] suspend: fix suspend on single-CPU systems Clark Williams reported that suspend doesnt work on his laptop on 2.6.20-rc1-rt kernels. The bug was introduced by the following cleanup commit: commit 112cecb2cc0e7341db92281ba04b26c41bb8146d Author: Siddha, Suresh B Date: Wed Dec 6 20:34:31 2006 -0800 [PATCH] suspend: don't change cpus_allowed for task initiating the suspend because with this change 'error' is not initialized to 0 anymore, if there are no other online CPUs. (i.e. if the system is single-CPU). the fix is the initialize it to 0. The really weird thing is that my version of gcc does not warn about this non-initialized variable situation ... (also fix the kernel printk in the error branch, it was missing a newline) Reported-by: Clark Williams Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 405c514f95898452db728df6bc79f63e44a3f2d0 Author: Steve French Date: Sat Dec 23 18:44:33 2006 +0000 [CIFS] Update CIFS version number Signed-off-by: Steve French commit ffaa82008f1aad52a6d3979f49d2a76c2928b60f Author: Linus Torvalds Date: Sat Dec 23 09:32:45 2006 -0800 Fix reiserfs after "test_clear_page_dirty()" removal Thanks to Len Brown for testing this fix, since while they have in the past, none of my machines run reiserfs at the moment. Cc: Vladimir V. Saveliev Acked-by: Len Brown Signed-off-by: Linus Torvalds commit 8368e328dfe1c534957051333a87b3210a12743b Author: Linus Torvalds Date: Sat Dec 23 09:25:04 2006 -0800 Clean up and export cancel_dirty_page() to modules Make cancel_dirty_page() act more like all the other dirty and writeback accounting functions: test for "mapping" being NULL, and do the NR_FILE_DIRY accounting purely based on mapping_cap_account_dirty()). Also, add it to the exports, so that modular filesystems can use it. Acked-by: Andrew Morton Signed-off-by: Linus Torvalds commit c41e0deb50c44f9d119c2268f1be05e6a6bb5772 Author: Eric Anholt Date: Tue Dec 19 12:57:24 2006 -0800 [AGPGART] fix detection of aperture size versus GTT size on G965 On the G965, the GTT size may be larger than is required to cover the aperture. (In fact, on all hardware we've seen, the GTT is 512KB to the aperture's 256MB). A previous commit forced the aperture size to 512MB on G965 to match GTT, which would likely result in hangs at best if users tried to rely on agpgart's aperture size information. Instead, we use the resource length for the aperture size and the system's reported GTT size when available for the GTT size. Because the MSAC registers which had been read for aperture size detection on i9xx chips just cause a change in the resource size, we can use generic code for aperture detection on all i9xx. Signed-off-by: Eric Anholt Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit d349c4a5ae1f17be8d6d5de30135ce17e0a8623b Author: Brice Goglin Date: Wed Dec 20 14:11:21 2006 +0100 [CPUFREQ] speedstep-centrino: missing space and bracket A space and a bracket are missing (and indentation is wrong). Signed-off-by: Brice Goglin Signed-off-by: Dave Jones commit 8edc59d939ad233c24385fb67a62bd39db532901 Author: Venkatesh Pallipadi Date: Tue Dec 19 12:58:55 2006 -0800 [CPUFREQ] Bug fix for acpi-cpufreq and cpufreq_stats oops on frequency change notification Fixes the oops in cpufreq_stats with acpi_cpufreq driver. The issue was that the frequency was reported as 0 in acpi-cpufreq.c. The bug is due to different indicies for freq_table and ACPI perf table. Also adds a check in cpufreq_stats to check for error return from freq_table_get_index() and avoid using the error return value. Patch fixes the issue reported at http://www.ussg.iu.edu/hypermail/linux/kernel/0611.2/0629.html and also other similar issue here http://bugme.osdl.org/show_bug.cgi?id=7383 comment 53 Signed-off-by: Dhaval Giani Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 917325d30ab12f9f23aee5c91dc96dfe81b0c6be Author: Randy Dunlap Date: Tue Dec 19 12:58:54 2006 -0800 [CPUFREQ] select consistently Make x86_64 ACPI_CPU_FREQ select CPU_FREQ_TABLE like other methods do. (although we should still eliminate as much use of 'select' as possible) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 5aa80c72263904f1e52eee8ed8cb75887b1d1dc3 Author: Thomas Hellstrom Date: Wed Dec 20 16:33:41 2006 +0100 [AGPGART] Remove unnecessary flushes when inserting and removing pages. This patch is to speed up flipping of pages in and out of the AGP aperture as needed by the new drm memory manager. A number of global cache flushes are removed as well as some PCI posting flushes. The following guidelines have been used: 1) Memory that is only mapped uncached and that has been subject to a global cache flush after the mapping was changed to uncached does not need any more cache flushes. Neither before binding to the aperture nor after unbinding. 2) Only do one PCI posting flush after a sequence of writes modifying page entries in the GATT. Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Jones commit dab6df63086762629936e8b89a5984bae39724f6 Author: Marcel Holtmann Date: Thu Dec 21 23:06:24 2006 +0100 [PATCH] Call init_timer() for ISDN PPP CCP reset state timer The function isdn_ppp_ccp_reset_alloc_state() sets ->timer.function and ->timer.data and later on calls add_timer() with no init_timer() ever done. Noted by Al Viro. Signed-off-by: Marcel Holtmann Cc: Al Viro Cc: Karsten Keil Signed-off-by: Linus Torvalds commit 719d34027e1a186e46a3952e8a24bf91ecc33837 Author: Jens Axboe Date: Fri Dec 22 09:38:53 2006 +0100 [PATCH] cfq-iosched: tighten allow merge criteria The logic in cfq_allow_merge() wasn't clear enough - basically allow merging for the same queues only. Do a fast check for 'rq and bio both sync/async' before doing the cfqq hash lookup. This is verified to work with the fixed elv_try_merge() from commit bb4067e34159648d394943d5e2a011f838bff22f. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 5c668704b7fa5a4ebf21a490ddfbd6dc2e01fc97 Author: David S. Miller Date: Fri Dec 22 11:42:26 2006 -0800 [UDP]: Fix reversed logic in udp_get_port(). When this code was converted to use sk_for_each() the logic for the "best hash chain length" code was reversed, breaking everything. The original code was of the form: size = 0; do { if (++size >= best_size_so_far) goto next; } while ((sk = sk->next) != NULL); best_size_so_far = size; best = result; next:; and this got converted into: sk_for_each(sk2, node, head) if (++size < best_size_so_far) { best_size_so_far = size; best = result; } Which does something very very different from the original. Signed-off-by: David S. Miller commit b23e3536667373e44f52a907f63cb55f75969490 Author: Al Viro Date: Thu Dec 21 13:15:18 2006 -0800 [IPV6]: Dumb typo in generic csum_ipv6_magic() ... duh Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 24123186fa271e7ad34a40f815782e6205f34ff7 Author: Adrian Bunk Date: Wed Dec 20 16:08:22 2006 -0800 [SCTP]: make 2 functions static This patch makes the following needlessly global functions static: - ipv6.c: sctp_inet6addr_event() - protocol.c: sctp_inetaddr_event() Signed-off-by: Adrian Bunk Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 0f3fffd8ab1db7658c97c167e8ab001cc814e1f4 Author: Ivan Skytte Jorgensen Date: Wed Dec 20 16:07:04 2006 -0800 [SCTP]: Fix typo adaption -> adaptation as per the latest API draft. Signed-off-by: Ivan Skytte Jorgensen Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit a3f7f142f73ed4cb23826bee84afc31d10377e39 Author: Sridhar Samudrala Date: Wed Dec 20 16:06:09 2006 -0800 [SCTP]: Don't export include/linux/sctp.h to userspace. This file contains protocol definitions and there are no SCTP apps that use this file. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 9a036b9c33f74c989c4c8ac0abe05e0ed88f1f25 Author: Gerrit Renker Date: Wed Dec 20 10:25:55 2006 -0800 [TCP]: Fix ambiguity in the `before' relation. While looking at DCCP sequence numbers, I stumbled over a problem with the following definition of before in tcp.h: static inline int before(__u32 seq1, __u32 seq2) { return (__s32)(seq1-seq2) < 0; } Problem: This definition suffers from an an ambiguity, i.e. always before(a, (a + 2^31) % 2^32)) = 1 before((a + 2^31) % 2^32), a) = 1 In text: when the difference between a and b amounts to 2^31, a is always considered `before' b, the function can not decide. The reason is that implicitly 0 is `before' 1 ... 2^31-1 ... 2^31 Solution: There is a simple fix, by defining before in such a way that 0 is no longer `before' 2^31, i.e. 0 `before' 1 ... 2^31-1 By not using the middle between 0 and 2^32, before can be made unambiguous. This is achieved by testing whether seq2-seq1 > 0 (using signed 32-bit arithmetic). I attach a patch to codify this. Also the `after' relation is basically a redefinition of `before', it is now defined as a macro after before. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 1f8a5fb80e63aab63de81169ab749d73e7509e3f Author: Adrian Bunk Date: Tue Dec 19 19:36:32 2006 -0800 [ATM] drivers/atm/fore200e.c: Cleanups. This patch contains the following transformations from custom functions to standard kernel version: - fore200e_kmalloc() -> kzalloc() - fore200e_kfree() -> kfree() - fore200e_swap() -> cpu_to_be32() Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 52a91071306c3b129efa6ea2bfe16244b8619cd9 Author: Adrian Bunk Date: Tue Dec 19 19:35:05 2006 -0800 [ATM]: Remove dead ATM_TNETA1570 option. This patch removes the unconverted ATM_TNETA1570 option that also lacks any code in the kernel. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit caff5b6a6bfd0c55b359b2b4acd8c14f828b689e Author: Paul Moore Date: Fri Dec 15 16:49:28 2006 -0500 NetLabel: correctly fill in unused CIPSOv4 level and category mappings Back when the original NetLabel patches were being changed to use Netlink attributes correctly some code was accidentially dropped which set all of the undefined CIPSOv4 level and category mappings to a sentinel value. The result is the mappings data in the kernel contains bogus mappings which always map to zero. This patch restores the old/correct behavior by initializing the mapping data to the correct sentinel value. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 1fd2a25b77bb6755d38aca50b826ff8dca81d762 Author: Paul Moore Date: Fri Dec 15 16:49:27 2006 -0500 NetLabel: perform input validation earlier on CIPSOv4 DOI add ops There are a couple of cases where the user input for a CIPSOv4 DOI add operation was not being done soon enough; the result was unexpected behavior which was resulting in oops/panics/lockups on some platforms. This patch moves the existing input validation code earlier in the code path to protect against bogus user input. Signed-off-by: Paul Moore Signed-off-by: James Morris commit c2fda5fed81eea077363b285b66eafce20dfd45a Author: Peter Zijlstra Date: Fri Dec 22 14:25:52 2006 +0100 [PATCH] Fix up page_mkclean_one(): virtual caches, s390 - add flush_cache_page() for all those virtual indexed cache architectures. - handle s390. Signed-off-by: Peter Zijlstra Signed-off-by: Linus Torvalds commit e21654a756177bf209d7a3cbe971f16104555f75 Author: Peter Korsgaard Date: Fri Dec 22 16:38:40 2006 +0100 [PATCH] serial/uartlite: Only enable port if request_port succeeded The uartlite driver used to always enable the port even if request_port failed causing havoc. This patch fixes it. Signed-off-by: Peter Korsgaard Signed-off-by: Linus Torvalds commit b2b2cbc4b2a2f389442549399a993a8306420baf Author: Eric W. Biederman Date: Thu Dec 21 21:28:40 2006 -0700 [PATCH] Fix reparenting to the same thread group. (take 2) This patch fixes the case when we reparent to a different thread in the same thread group. This modifies the code so that we do not send signals and do not change the signal to send to SIGCHLD unless we have change the thread group of our parents. It also suppresses sending pdeath_sig in this cas as well since the result of geppid doesn't change. Thanks to Oleg for spotting my bug of only fixing this for non-ptraced tasks. Signed-off-by: Eric W. Biederman Cc: Mike Galbraith Cc: Albert Cahalan Cc: Andrew Morton Cc: Roland McGrath Cc: Ingo Molnar Cc: Coywolf Qi Hunt Acked-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit ef129412b4cbd6686d0749612cb9b76e207271f4 Author: Andrew Morton Date: Fri Dec 22 01:12:01 2006 -0800 [PATCH] build compile.h earlier compile.h is created super-late in the build. But proc_misc.c want to include it, and it's generally not sane to have a header file in include/linux be created at the end of the build: it's either not present or, worse, wrong for most of the build. So the patch arranges for compile.h to be built at the start of the build process. It also consolidates the compile.h rules with those for version.h and utsname.h, so they all get built together. I hope. My chances of having got this right are about 2%. Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0888f06ac99f993df2bb4c479f5b9306dafe154f Author: Ingo Molnar Date: Fri Dec 22 01:11:56 2006 -0800 [PATCH] sched: fix bad missed wakeups in the i386, x86_64, ia64, ACPI and APM idle code Fernando Lopez-Lezcano reported frequent scheduling latencies and audio xruns starting at the 2.6.18-rt kernel, and those problems persisted all until current -rt kernels. The latencies were serious and unjustified by system load, often in the milliseconds range. After a patient and heroic multi-month effort of Fernando, where he tested dozens of kernels, tried various configs, boot options, test-patches of mine and provided latency traces of those incidents, the following 'smoking gun' trace was captured by him: _------=> CPU# / _-----=> irqs-off | / _----=> need-resched || / _---=> hardirq/softirq ||| / _--=> preempt-depth |||| / ||||| delay cmd pid ||||| time | caller \ / ||||| \ | / IRQ_19-1479 1D..1 0us : __trace_start_sched_wakeup (try_to_wake_up) IRQ_19-1479 1D..1 0us : __trace_start_sched_wakeup <<...>-5856> (37 0) IRQ_19-1479 1D..1 0us : __trace_start_sched_wakeup (c01262ba 0 0) IRQ_19-1479 1D..1 0us : resched_task (try_to_wake_up) IRQ_19-1479 1D..1 0us : __spin_unlock_irqrestore (try_to_wake_up) ... -0 1...1 11us!: default_idle (cpu_idle) ... -0 0Dn.1 602us : smp_apic_timer_interrupt (c0103baf 1 0) ... <...>-5856 0D..2 618us : __switch_to (__schedule) <...>-5856 0D..2 618us : __schedule <-0> (20 162) <...>-5856 0D..2 619us : __spin_unlock_irq (__schedule) <...>-5856 0...1 619us : trace_stop_sched_switched (__schedule) <...>-5856 0D..1 619us : trace_stop_sched_switched <<...>-5856> (37 0) what is visible in this trace is that CPU#1 ran try_to_wake_up() for PID:5856, it placed PID:5856 on CPU#0's runqueue and ran resched_task() for CPU#0. But it decided to not send an IPI that no CPU - due to TS_POLLING. But CPU#0 never woke up after its NEED_RESCHED bit was set, and only rescheduled to PID:5856 upon the next lapic timer IRQ. The result was a 600+ usecs latency and a missed wakeup! the bug turned out to be an idle-wakeup bug introduced into the mainline kernel this summer via an optimization in the x86_64 tree: commit 495ab9c045e1b0e5c82951b762257fe1c9d81564 Author: Andi Kleen Date: Mon Jun 26 13:59:11 2006 +0200 [PATCH] i386/x86-64/ia64: Move polling flag into thread_info_status During some profiling I noticed that default_idle causes a lot of memory traffic. I think that is caused by the atomic operations to clear/set the polling flag in thread_info. There is actually no reason to make this atomic - only the idle thread does it to itself, other CPUs only read it. So I moved it into ti->status. the problem is this type of change: if (!hlt_counter && boot_cpu_data.hlt_works_ok) { - clear_thread_flag(TIF_POLLING_NRFLAG); + current_thread_info()->status &= ~TS_POLLING; smp_mb__after_clear_bit(); while (!need_resched()) { local_irq_disable(); this changes clear_thread_flag() to an explicit clearing of TS_POLLING. clear_thread_flag() is defined as: clear_bit(flag, &ti->flags); and clear_bit() is a LOCK-ed atomic instruction on all x86 platforms: static inline void clear_bit(int nr, volatile unsigned long * addr) { __asm__ __volatile__( LOCK_PREFIX "btrl %1,%0" hence smp_mb__after_clear_bit() is defined as a simple compile barrier: #define smp_mb__after_clear_bit() barrier() but the explicit TS_POLLING clearing introduced by the patch: + current_thread_info()->status &= ~TS_POLLING; is not an atomic op! So the clearing of the TS_POLLING bit is freely reorderable with the reading of the NEED_RESCHED bit - and both now reside in different memory addresses. CPU idle wakeup very much depends on ordered memory ops, the clearing of the TS_POLLING flag must always be done before we test need_resched() and hit the idle instruction(s). [Symmetrically, the wakeup code needs to set NEED_RESCHED before it tests the TS_POLLING flag, so memory ordering is paramount.] Fernando's dual-core Athlon64 system has a sufficiently advanced memory ordering model so that it triggered this scenario very often. ( And it also turned out that the reason why these latencies never triggered on my testsystems is that i routinely use idle=poll, which was the only idle variant not affected by this bug. ) The fix is to change the smp_mb__after_clear_bit() to an smp_mb(), to act as an absolute barrier between the TS_POLLING write and the NEED_RESCHED read. This affects almost all idling methods (default, ACPI, APM), on all 3 x86 architectures: i386, x86_64, ia64. Signed-off-by: Ingo Molnar Tested-by: Fernando Lopez-Lezcano Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f5a9da1af5a8c286575c30c2706dc1fbef9164b Author: Hisashi Hifumi Date: Fri Dec 22 01:11:50 2006 -0800 [PATCH] jbd: wait for already submitted t_sync_datalist buffer to complete In the current jbd code, if a buffer on BJ_SyncData list is dirty and not locked, the buffer is refiled to BJ_Locked list, submitted to the IO and waited for IO completion. But the fsstress test showed the case that when a buffer was already submitted to the IO just before the buffer_dirty(bh) check, the buffer was not waited for IO completion. Following patch solves this problem. If it is assumed that a buffer is submitted to the IO before the buffer_dirty(bh) check and still being written to disk, this buffer is refiled to BJ_Locked list. Signed-off-by: Hisashi Hifumi Cc: Jan Kara Cc: "Stephen C. Tweedie" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d3a25f1fb75206ae8b2b1cdd1431b3852e1a45a Author: Ben Dooks Date: Fri Dec 22 01:11:45 2006 -0800 [PATCH] fix s3c24xx gpio driver (include linux/workqueue.h) The general gpio driver includes seem to now depend on having included before they are. Signed-off-by: Ben Dooks Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3f9d7b0d810f9fe3dc670901b694a9632b8d62b3 Author: NeilBrown Date: Fri Dec 22 01:11:41 2006 -0800 [PATCH] md: fix a few problems with the interface (sysfs and ioctl) to md While developing more functionality in mdadm I found some bugs in md... - When we remove a device from an inactive array (write 'remove' to the 'state' sysfs file - see 'state_store') would should not update the superblock information - as we may not have read and processed it all properly yet. - initialise all raid_disk entries to '-1' else the 'slot sysfs file will claim '0' for all devices in an array before the array is started. - all '\n' not to be present at the end of words written to sysfs files - when we use SET_ARRAY_INFO to set the md metadata version, set the flag to say that there is persistant metadata. - allow GET_BITMAP_FILE to be called on an array that hasn't been started yet. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe0e5c4d947d34f10002b4cf272f0ebf110305b7 Author: Andrew Morton Date: Fri Dec 22 01:11:36 2006 -0800 [PATCH] increase CARDBUS_MEM_SIZE Linus sayeth: Google knows everything, and finds, on MS own site no less: "Windows 2000 default resources: One 4K memory window One 2 MB memory window Two 256-byte I/O windows" which is clearly utterly bogus and insufficient. But Microsoft apparently realized this, and: "Windows XP default resources: Because one memory window of 4K and one window of 2 MB are not sufficient for CardBus controllers in many configurations, Windows XP allocates larger memory windows to CardBus controllers where possible. However, resource windows are static (that is, the operating system does not dynamically allocate larger memory windows if new devices appear.) Under Windows XP, CardBus controllers will be assigned the following resources: One 4K memory window, as in Windows 2000 64 MB memory, if that amount of memory is available. If 64 MB is not available the controller will receive 32 MB; if 32 MB is not available, the controller will receive 16 MB; if 16 MB is not available, the bridge will receive 8 MB; and so on down to a minimum assignment of 1 MB in configurations where memory is too constrained for the operating system to provide a larger window. Two 256-byte I/O windows" So I think we have our answer. Windows uses one 4k window, and one 64MB window. And they are no more dynamic than we are (we _could_ try to do it dynamically, but let's face it, it's fairly painful to dynamically expand PCI bus resources - you may need to reprogram everything up to the root, so it would be absolutely crazy to do that unless you have some serious masochistic tendencies). So let's just increase our default value to 64M too. Cc: Markus Rechberger Cc: Daniel Ritz Cc: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 192636ad9097b13d58310a6358fd512d3084c09a Author: Andrew Morton Date: Fri Dec 22 01:11:30 2006 -0800 [PATCH] relay: remove inlining text data bss dec hex filename before: 4036 44 0 4080 ff0 kernel/relay.o after: 3727 44 0 3771 ebb kernel/relay.o Cc: Mathieu Desnoyers Cc: Tom Zanussi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8701ea957dd2a7c309e17c8dcde3a64b92d8aec0 Author: Jeremy Fitzhardinge Date: Fri Dec 22 01:11:21 2006 -0800 [PATCH] ptrace: Fix EFL_OFFSET value according to i386 pda changes The PDA patches introduced a bug in ptrace: it reads eflags from the wrong place on the target's stack, but writes it back to the correct place. The result is a corrupted eflags, which is most visible when it turns interrupts off unexpectedly. This patch fixes this by making the ptrace code a little less fragile. It changes [gs]et_stack_long to take a straightforward byte offset into struct pt_regs, rather than requiring all callers to do a sizeof(struct pt_regs) offset adjustment. This means that the eflag's offset (EFL_OFFSET) on the target stack can be simply computed with offsetof(). Signed-off-by: Jeremy Fitzhardinge Cc: Frederik Deweerdt Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c7e9425f114a109b07be2c2c1c6c169e34e9bb3 Author: Yasunori Goto Date: Fri Dec 22 01:11:13 2006 -0800 [PATCH] memory hotplug: fix compile error for i386 with NUMA config Fix compile error when config memory hotplug with numa on i386. The cause of compile error was missing of arch_add_memory(), remove_memory(), and memory_add_physaddr_to_nid(). Signed-off-by: Yasunori Goto Acked-by: David Rientjes Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 080dd51d81c8a9373303e9c344bbc75aacf54dce Author: Maciej W. Rozycki Date: Fri Dec 22 01:11:04 2006 -0800 [PATCH] mips: if_fddi.h: Add a missing inclusion This is a change to include in which is needed for "struct fddi_statistics". Signed-off-by: Maciej W. Rozycki Cc: Ralf Baechle Cc: Jeff Garzik Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73fa186e28a04cf9ca79c9c0b6fd736bc556c7a7 Author: Martin Waitz Date: Fri Dec 22 01:10:56 2006 -0800 [PATCH] kernel-doc: remove Martin from MAINTAINERS I don't have the time to work on Linux Documentation, so I really should document that in MAINTAINERS. With Randy, kernel-doc is in good hands anyway. Signed-off-by: Martin Waitz Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 134fe01bfafa74e691d84bf15666fb30e89896ff Author: Randy Dunlap Date: Fri Dec 22 01:10:50 2006 -0800 [PATCH] kernel-doc: allow unnamed structs/unions Make kernel-doc support unnamed (anonymous) structs and unions. There is one (union) in include/linux/skbuff.h (inside struct sk_buff) that is currently generating a kernel-doc warning, so this fixes that warning. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01b2d93ca4c495f056471189ac6c4e6ac4cbbccb Author: Vadim Lobanov Date: Fri Dec 22 01:10:43 2006 -0800 [PATCH] fdtable: Provide free_fdtable() wrapper Christoph Hellwig has expressed concerns that the recent fdtable changes expose the details of the RCU methodology used to release no-longer-used fdtable structures to the rest of the kernel. The trivial patch below addresses these concerns by introducing the appropriate free_fdtable() calls, which simply wrap the release RCU usage. Since free_fdtable() is a one-liner, it makes sense to promote it to an inline helper. Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31fccf7fe4097e62f038bdfe8f4f68ecaea8ebe7 Author: Paul Mackerras Date: Fri Dec 22 01:10:36 2006 -0800 [PATCH] gxt4500: Fix colormap and PLL setting, support GXT6000P This fixes some bugs in the gxt4500 framebuffer driver, and adds support for GXT6000P cards. First, I had the red and blue channels swapped in the colormap update code, resulting in penguins' noses and feet turning blue (though the penguins weren't actually shivering :). Secondly, the code that calculated the values to put in the PLL that generates the pixel clock wasn't observing some constraints that I wasn't originally aware of, but am now that I have some documentation on the chip. The GXT6000P is essentially identical from software's point of view, except for a different reference clock for the PLL, and the addition of a geometry engine (which this driver doesn't use). Signed-off-by: Paul Mackerras Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e40508e5fee2dac7b04d5bc5b5ef3b452f0a899 Author: Akinobu Mita Date: Fri Dec 22 01:10:28 2006 -0800 [PATCH] tlclk: delete unnecessary sysfs_remove_group It is unnecessary and invalid to call sysfs_remove_group() after sysfs_create_group() failure. Cc: Sebastien Bouchard Cc: Mark Gross Signed-off-by: Akinobu Mita Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 449d4dd5add718578eb2e6671168de9f67dd239c Author: Ben Dooks Date: Fri Dec 22 01:10:23 2006 -0800 [PATCH] MAINTAINERS: fix email for S3C2410 and S3C2440 Change the email address for the S3C2410 and S3C2440 maintainer. The old addresses have been deleted due to spam issues. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be31f9cbc809dae0bcdd39211c33c6882a7b0c9e Author: Jean Delvare Date: Fri Dec 22 01:10:19 2006 -0800 [PATCH] microcode: fix mc_cpu_notifier section warning Structure mc_cpu_notifier references a __cpuinit function, but isn't declared __cpuinitdata itself: WARNING: arch/i386/kernel/microcode.o - Section mismatch: reference to .init.text: from .data after 'mc_cpu_notifier' (at offset 0x118) Signed-off-by: Jean Delvare Cc: Tigran Aivazian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b149bcc230e4696a1d893504bed38aeb3832314 Author: Andrew Morton Date: Fri Dec 22 01:10:14 2006 -0800 [PATCH] schedule_timeout(): improve warning message Kyle is hitting this warning, and we don't have a clue what it's caused by. Add the obligatory dump_stack(). Cc: kyle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fadfc8e930dcaf502b49a0a0170ba8ebe9a34c49 Author: Akinobu Mita Date: Fri Dec 22 01:10:09 2006 -0800 [PATCH] gss_spkm3: fix error handling in module init Return error and prevent from loading module when gss_mech_register() failed. Cc: Andy Adamson Cc: J. Bruce Fields Acked-by: Trond Myklebust Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e1fbd12c958591695f89b11f9c6ec08d002e358 Author: Akinobu Mita Date: Fri Dec 22 01:10:02 2006 -0800 [PATCH] audit: fix kstrdup() error check kstrdup() returns NULL on error. Cc: David Woodhouse Signed-off-by: Akinobu Mita Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c95da9f5abeff865b7273b59e1a3c50a2c5acb2 Author: Yasunori Goto Date: Fri Dec 22 01:09:54 2006 -0800 [PATCH] compile error of register_memory() register_memory() becomes double definition in 2.6.20-rc1. It is defined in arch/i386/kernel/setup.c as static definition in 2.6.19. But it is moved to arch/i386/kernel/e820.c in 2.6.20-rc1. And same name function is defined in driver/base/memory.c too. So, it becomes cause of compile error of duplicate definition if memory hotplug option is on. Signed-off-by: Yasunori Goto Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 561ccd3a97867ed33e1670feeca3391cd4d6fa2c Author: Yasunori Goto Date: Fri Dec 22 01:09:44 2006 -0800 [PATCH] handle SLOB with sparsemen This is to disallow to make SLOB with SMP or SPARSEMEM. This avoids latent troubles of SLOB with SLAB_DESTROY_BY_RCU. And fix compile error. Signed-off-by: Yasunori Goto Acked-by: Randy Dunlap Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7de6b8057976584e5a422574cae4dd21c677b4d4 Author: Nick Piggin Date: Fri Dec 22 01:09:33 2006 -0800 [PATCH] mm: more rmap debugging Add more debugging in the rmap code in an attempt to locate to source of the occasional "mapcount went negative" assertions. Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19900cdee29c812857ce938ab449e1053d516252 Author: Ed L. Cashin Date: Fri Dec 22 01:09:21 2006 -0800 [PATCH] fix aoe without scatter-gather [Bug 7662] Fix a bug that only appears when AoE goes over a network card that does not support scatter-gather. The headers in the linear part of the skb appeared to be larger than they really were, resulting in data that was offset by 24 bytes. This patch eliminates the offset data on cards that don't support scatter-gather or have had scatter-gather turned off. There remains an unrelated issue that I'll address in a separate email. Fixes bugzilla #7662 Signed-off-by: "Ed L. Cashin" Cc: Cc: Greg KH Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58637ec90b7ceed5909e726ac90118852f79d2b1 Author: Robert P. J. Day Date: Fri Dec 22 01:09:11 2006 -0800 [PATCH] Add a new section to CodingStyle, promoting include/linux/kernel.h Add a new section to the CodingStyle file, encouraging people not to re-invent available kernel macros such as ARRAY_SIZE(), FIELD_SIZEOF(), min() and max(), among others. Signed-off-by: Robert P. J. Day Acked-by: Randy Dunlap Acked-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 163ca88b9c5858909ee3f8801ae0096b5f94e835 Author: Josh Boyer Date: Fri Dec 22 01:09:03 2006 -0800 [PATCH] Make JFFS depend on CONFIG_BROKEN Mark JFFS as broken and provide a warning to users that it is deprecated and scheduled for removal in 2.6.21 Signed-off-by: Josh Boyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9127d4b1d9b2e8fba8e7fbc7f88ea93e5eb01396 Author: Ingo Molnar Date: Fri Dec 22 01:08:52 2006 -0800 [PATCH] lock debugging: fix DEBUG_LOCKS_WARN_ON() & debug_locks_silent Matthew Wilcox noticed that the debug_locks_silent use should be inverted in DEBUG_LOCKS_WARN_ON(). This bug was causing spurious stacktraces and incorrect failures in the locking self-test on the parisc kernel. Bug-found-by: Matthew Wilcox Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba3ff12fca318225cb978c6181b83d38dcbc5b09 Author: Michael Halcrow Date: Fri Dec 22 01:08:43 2006 -0800 [PATCH] fsstack: Remove inode copy Trevor found a file size problem in eCryptfs in recent kernels, and he tracked it down to an fsstack change. This was the eCryptfs copy_attr_all: > -void ecryptfs_copy_attr_all(struct inode *dest, const struct inode *src) > -{ > - dest->i_mode = src->i_mode; > - dest->i_nlink = src->i_nlink; > - dest->i_uid = src->i_uid; > - dest->i_gid = src->i_gid; > - dest->i_rdev = src->i_rdev; > - dest->i_atime = src->i_atime; > - dest->i_mtime = src->i_mtime; > - dest->i_ctime = src->i_ctime; > - dest->i_blkbits = src->i_blkbits; > - dest->i_flags = src->i_flags; > -} This is the fsstack copy_attr_all: > +void fsstack_copy_attr_all(struct inode *dest, const struct inode *src, > + int (*get_nlinks)(struct inode *)) > +{ > + if (!get_nlinks) > + dest->i_nlink = src->i_nlink; > + else > + dest->i_nlink = (*get_nlinks)(dest); > + > + dest->i_mode = src->i_mode; > + dest->i_uid = src->i_uid; > + dest->i_gid = src->i_gid; > + dest->i_rdev = src->i_rdev; > + dest->i_atime = src->i_atime; > + dest->i_mtime = src->i_mtime; > + dest->i_ctime = src->i_ctime; > + dest->i_blkbits = src->i_blkbits; > + dest->i_flags = src->i_flags; > + > + fsstack_copy_inode_size(dest, src); > +} The addition of copy_inode_size breaks eCryptfs, since eCryptfs needs to interpolate the file sizes (eCryptfs has extra space in the lower file for the header). The setting of the upper inode size occurs elsewhere in eCryptfs, and the new copy_attr_all now undoes what eCryptfs was doing right beforehand. I see three ways of going forward from here. (1) Something like this patch needs to go in (assuming it jives with Unionfs), (2) we need to make a change to the fsstack API for more fine-grained control over copying attributes (e.g., by also including a callback function for calculating the right file size, which will require some more work on both eCryptfs and Unionfs), or (3) the fsstack patch on eCryptfs (commit 0cc72dc7f050188d8d7344b1dd688cbc68d3cd30 made on Fri Dec 8 02:36:31 2006 -0800) needs to be yanked in 2.6.20. I think the simplest solution, from eCryptfs' perspective, is to just remove the inode size copy. Remove inode size copy in general fsstack attr copy code. Stacked filesystems may need to interpolate the inode size, since the file size in the lower file may be different than the file size in the stacked layer. Signed-off-by: Michael Halcrow Acked-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef8142a525c58dec325e8dd9a7bf92fb240d05c7 Author: Andrew Morton Date: Fri Dec 22 01:08:33 2006 -0800 [PATCH] smc911 workqueue fixes Teach this driver about the workqueue changes. Cc: Vitaly Wool Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b6d2efed2f4cfa07827d3e497655ce91dd97866 Author: Vitaly Wool Date: Fri Dec 22 01:08:24 2006 -0800 [PATCH] smc911x: fix netpoll compilation faliure Fix the compilation failure for smc911x.c when NET_POLL_CONTROLLER is set. Signed-off-by: Vitaly Wool Cc: Jeff Garzik Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d7ac8be4b48737ad1cebd94ed754a269f360708 Author: Thomas Gleixner Date: Fri Dec 22 01:08:14 2006 -0800 [PATCH] genirq: fix irq flow handler uninstall The sanity check for no_irq_chip in __set_irq_hander() is unconditional on both install and uninstall of an handler. This triggers false warnings and replaces no_irq_chip by dummy_irq_chip in the uninstall case. Check only, when a real handler is installed. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Acked-by: Sylvain Munaut Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e903387f1ebe3a7ddb93cd49c38341d3632df528 Author: Magnus Damm Date: Fri Dec 22 01:08:01 2006 -0800 [PATCH] fix vm_events_fold_cpu() build breakage fix vm_events_fold_cpu() build breakage 2.6.20-rc1 does not build properly if CONFIG_VM_EVENT_COUNTERS is set and CONFIG_HOTPLUG is unset: CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 mm/built-in.o: In function `page_alloc_cpu_notify': page_alloc.c:(.text+0x56eb): undefined reference to `vm_events_fold_cpu' make: *** [.tmp_vmlinux1] Error 1 [akpm@osdl.org: cleanup] Signed-off-by: Magnus Damm Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 67af63a6ab4ce064f807bdce614fe0fa2bcea252 Author: Tim Chen Date: Fri Dec 22 01:07:50 2006 -0800 [PATCH] sched: remove __cpuinitdata anotation to cpu_isolated_map The structure cpu_isolated_map is used not only during initialization. Multi-core scheduler configuration changes and exclusive cpusets use this during run time. During setting of sched_mc_power_savings policy, this structure is accessed to update sched_domains. Signed-off-by: Tim Chen Acked-by: Suresh Siddha Acked-by: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 132e2bc3ee7181c178314ced49da9944b76411c2 Author: Tobias Klauser Date: Fri Dec 22 01:07:32 2006 -0800 [PATCH] Add cscope generated files to .gitignore Ignore files generated by 'make cscope' Signed-off-by: Tobias Klauser Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e07aa05b606deeb1a8b55cd19098427c72daebce Author: Nigel Cunningham Date: Fri Dec 22 01:07:21 2006 -0800 [PATCH] Fix swapped parameters in mm/vmscan.c The version of mm/vmscan.c in Linus' current tree has swapped parameters in the shrink_all_zones declaration and call, used by the various suspend-to-disk implementations. This doesn't seem to have any great adverse effect, but it's clearly wrong. Signed-off-by: Nigel Cunningham Cc: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b2b96abbf321891bdde5412d23bc4123c6cccec Author: Adrian Bunk Date: Fri Dec 22 01:07:09 2006 -0800 [PATCH] fs/sysv/: proper prototypes for 2 functions Add proper prototypes for sysv_{init,destroy}_icache() in sysv.h Signed-off-by: Adrian Bunk Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 99eea6a105106a94758724ccce996607f60bc0f2 Author: Adrian Bunk Date: Fri Dec 22 01:07:00 2006 -0800 [PATCH] make kernel/printk.c:ignore_loglevel_setup() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af9997e426f9ddfe7a84cb4cd3c7ff938fabd41a Author: Randy Dunlap Date: Fri Dec 22 01:06:52 2006 -0800 [PATCH] fix kernel-doc warnings in 2.6.20-rc1 Fix kernel-doc warnings in 2.6.20-rc1. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7f869a2847dfe6f9b0835ca1b24e73bed926d7d Author: Christoph Lameter Date: Fri Dec 22 01:06:44 2006 -0800 [PATCH] slab: fix kmem_ptr_validate definition The declaration of kmem_ptr_validate in slab.h does not match the one in slab.c. Remove the fastcall attribute (this is the only use in slab.c). Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 533ffc289db9f44c0633d3a7b87243b5740b02b2 Author: Andrew Morton Date: Fri Dec 22 01:06:36 2006 -0800 [PATCH] rtc warning fix drivers/char/rtc.c:116: warning: 'hpet_rtc_interrupt' defined but not used Cc: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92a3d03aab912624cae799e5772a6eb2ef55083f Author: Badari Pulavarty Date: Fri Dec 22 01:06:23 2006 -0800 [PATCH] Fix for shmem_truncate_range() BUG_ON() Ran into BUG() while doing madvise(REMOVE) testing. If we are punching a hole into shared memory segment using madvise(REMOVE) and the entire hole is below the indirect blocks, we hit following assert. BUG_ON(limit <= SHMEM_NR_DIRECT); Signed-off-by: Badari Pulavarty Cc: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba0084048ab785c2cb1d6cc2cccabe642a5b799a Author: Mark Fasheh Date: Fri Dec 22 01:06:15 2006 -0800 [PATCH] Conditionally check expected_preempt_count in __resched_legal() Commit 2d7d253548cffdce80f4e03664686e9ccb1b0ed7 ("fix cond_resched() fix") introduced an 'expected_preempt_count' parameter to __resched_legal() to fix a bug where it was returning a false negative when called from cond_resched_lock() and preemption was enabled. Unfortunately this broke things for when preemption is disabled. preempt_count() will always return zero, thus failing the check against any value of expected_preempt_count not equal to zero. cond_resched_lock() for example, passes an expected_preempt_count value of 1. So fix the fix for the cond_resched() fix by skipping the check of preempt_count() against expected_preempt_count when preemption is disabled. Credit should go to Sunil Mushran for spotting the bug during testing. Signed-off-by: Mark Fasheh Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2aea4fb61609ba7ef82f7dc6fca116bda88816e1 Author: Paul Jackson Date: Fri Dec 22 01:06:10 2006 -0800 [PATCH] CONFIG_VM_EVENT_COUNTER comment decrustify The VM event counters, enabled by CONFIG_VM_EVENT_COUNTERS, which provides VM event counters in /proc/vmstat, has become more essential to non-EMBEDDED kernel configurations than they were in the past. Comments in the code and the Kconfig configuration explanation were stale, downplaying their role excessively. Refresh those comments to correctly reflect the current role of VM event counters. Signed-off-by: Paul Jackson Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b76e20b27d20f7cb240e6b1b2dbebaa1b7f9b60 Author: Avi Kivity Date: Fri Dec 22 01:06:02 2006 -0800 [PATCH] KVM: API versioning Add compile-time and run-time API versioning. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f8e3d365a30a8788d4c348e2885bac9640bf4d0 Author: Michael Riepe Date: Fri Dec 22 01:05:53 2006 -0800 [PATCH] KVM: Handle p5 mce msrs This allows plan9 to get a little further booting. Signed-off-by: Michael Riepe Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abacf8dff911ecc11513dff162d7990aa8ed2da0 Author: Michael Riepe Date: Fri Dec 22 01:05:45 2006 -0800 [PATCH] KVM: Force real-mode cs limit to 64K This allows opensolaris to boot on kvm/intel. Signed-off-by: Michael Riepe Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf591b24d07126143356058966d79423661f491f Author: Michael Riepe Date: Fri Dec 22 01:05:36 2006 -0800 [PATCH] KVM: Do not export unsupported msrs to userspace Some msrs, such as MSR_STAR, are not available on all processors. Exporting them causes qemu to try to fetch them, which will fail. So, check all msrs for validity at module load time. Signed-off-by: Michael Riepe Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2c264957105b7c248a456ba6602df667ae986550 Author: Avi Kivity Date: Fri Dec 22 01:05:28 2006 -0800 [PATCH] KVM: Use more traditional error handling in kvm_mmu_init() Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36241b8c7cbcc83e7fd534d25e1df8339db8244e Author: Avi Kivity Date: Fri Dec 22 01:05:20 2006 -0800 [PATCH] KVM: AMD SVM: Save and restore the floating point unit state Fixes sf bug 1614113 (segfaults in nbench). Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0e859cacb0b01bdbe34b5200dd2457d4818248fa Author: Avi Kivity Date: Fri Dec 22 01:05:08 2006 -0800 [PATCH] KVM: AMD SVM: handle MSR_STAR in 32-bit mode This is necessary for linux guests. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aacf0ca4128fdeadf91c0ac50271841b643d1fd Author: James Morris Date: Fri Dec 22 01:04:55 2006 -0800 [PATCH] KVM: add valid_vcpu() helper Consolidate the logic for checking whether a vcpu index is valid. Also, use likely(), as a valid value should be the overwhelmingly common case. Signed-off-by: James Morris Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f2a105d5e33a038a717995d2738434f9c25aed2 Author: Andrew Morton Date: Fri Dec 22 01:04:48 2006 -0800 [PATCH] truncate: dirty memory accounting fix Only (un)account for IO and page-dirtying for devices which have real backing store (ie: not tmpfs or ramdisks). Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb4067e34159648d394943d5e2a011f838bff22f Author: Jens Axboe Date: Thu Dec 21 21:20:01 2006 +0100 [PATCH] elevator: fixup typo in merge logic The recent io scheduler allow_merge commit left the block layer with no merging, oops. This patch fixes that up. That means the CFQ change needs to be verified again, it might not fix the original bug now. But that's a seperate thing, I'll double check that tomorrow. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 3e67c0987d7567ad666641164a153dca9a43b11d Author: Andrew Morton Date: Thu Dec 21 11:00:33 2006 -0800 [PATCH] truncate: clear page dirtiness before running try_to_free_buffers() truncate presently invalidates the dirty page's buffer_heads then shoots down the page. But try_to_free_buffers() will now bale out because the page is dirty. Net effect: the LRU gets filled with dirty pages which have invalidated buffer_heads attached. They have no ->mapping and hence cannot be cleaned. The machine leaks memory at an enormous rate. Fix this by cleaning the page before running try_to_free_buffers(), so try_to_free_buffers() can do its work. Also, remember to do dirty-page-acoounting in cancel_dirty_page() so the machine won't wedge up trying to write non-existent dirty pages. Probably still wrong, but now less so. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 921320210bd2ec4f17053d283355b73048ac0e56 Author: David Chinner Date: Thu Dec 21 10:24:01 2006 +1100 [PATCH] Fix XFS after clear_page_dirty() removal XFS appears to call clear_page_dirty to get the mapping tree dirty tag set correctly at the same time the page dirty flag is cleared. I note that this can be done by set_page_writeback() if we clear the dirty flag on the page first when we are writing back the entire page. Hence it seems to me that the XFS call to clear_page_dirty() could easily be substituted by clear_page_dirty_for_io() followed by a call to set_page_writeback() to get the mapping tree tags set correctly after the page has been marked clean. Signed-off-by: Linus Torvalds commit 9280f6822c2d7112b47107251fce307aefb31f35 Author: Miklos Szeredi Date: Thu Dec 21 15:18:23 2006 +0100 [PATCH] fuse: remove clear_page_dirty() call The use by FUSE was just a remnant of an optimization from the time when writable mappings were supported. Now FUSE never actually allows the creation of dirty pages, so this invocation of clear_page_dirty() is effectively a no-op. Signed-off-by: Miklos Szeredi Signed-off-by: Linus Torvalds commit d0e671a932cb9c653b27393cec26aec012a8d97e Author: Dave Kleikamp Date: Wed Dec 20 15:55:35 2006 -0600 [PATCH] Fix JFS after clear_page_dirty() removal This patch removes some questionable code that attempted to make a no-longer-used page easier to reclaim. Calling metapage_writepage against such a page will not result in any I/O being performed, so removing this code shouldn't be a big deal. [ It's likely that we could have just replaced the "clear_page_dirty()" call with a call to "cancel_dirty_page()" instead, but in the meantime this is cleaner and simpler anyway, so unless there is some overriding reason (and Dave implies there isn't) I'll just use this patch as-is. - Linus ] Signed-off-by: Dave Kleikamp Signed-off-by: Linus Torvalds commit fba2591bf4e418b6c3f9f8794c9dd8fe40ae7bd9 Author: Linus Torvalds Date: Wed Dec 20 13:46:42 2006 -0800 VM: Remove "clear_page_dirty()" and "test_clear_page_dirty()" functions They were horribly easy to mis-use because of their tempting naming, and they also did way more than any users of them generally wanted them to do. A dirty page can become clean under two circumstances: (a) when we write it out. We have "clear_page_dirty_for_io()" for this, and that function remains unchanged. In the "for IO" case it is not sufficient to just clear the dirty bit, you also have to mark the page as being under writeback etc. (b) when we actually remove a page due to it becoming inaccessible to users, notably because it was truncate()'d away or the file (or metadata) no longer exists, and we thus want to cancel any outstanding dirty state. For the (b) case, we now introduce "cancel_dirty_page()", which only touches the page state itself, and verifies that the page is not mapped (since cancelling writes on a mapped page would be actively wrong as it is still accessible to users). Some filesystems need to be fixed up for this: CIFS, FUSE, JFS, ReiserFS, XFS all use the old confusing functions, and will be fixed separately in subsequent commits (with some of them just removing the offending logic, and others using clear_page_dirty_for_io()). This was confirmed by Martin Michlmayr to fix the apt database corruption on ARM. Cc: Martin Michlmayr Cc: Peter Zijlstra Cc: Hugh Dickins Cc: Nick Piggin Cc: Arjan van de Ven Cc: Andrei Popa Cc: Andrew Morton Cc: Dave Kleikamp Cc: Gordon Farquharson Cc: Martin Schwidefsky Cc: Trond Myklebust Signed-off-by: Linus Torvalds commit 46d2277c796f9f4937bfa668c40b2e3f43e93dd0 Author: Linus Torvalds Date: Tue Dec 19 15:21:59 2006 -0800 Clean up and make try_to_free_buffers() not race with dirty pages This is preparatory work in our continuing saga on some hard-to-trigger file corruption with shared writable mmap() after the dirty page tracking changes (commit d08b3851da41d0ee60851f2c75b118e1f7a5fc89 etc) were merged. Signed-off-by: Linus Torvalds commit 9bfb18392ef586467277fa25d8f3a7a93611f6df Author: Ingo Molnar Date: Mon Dec 18 20:05:09 2006 +0100 [PATCH] workqueue: fix schedule_on_each_cpu() fix the schedule_on_each_cpu() implementation: __queue_work() is now stricter, hence set the work-pending bit before passing in the new work. (found in the -rt tree, using Peter Zijlstra's files-lock scalability patchset) Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 5ccac88eeb5659c716af8e695e2943509c80d172 Author: Al Viro Date: Mon Dec 18 13:31:18 2006 +0000 [PATCH] fix leaks on pipe(2) failure exits Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit bc947631d1d532c758f8fcbdeb1f7fc2f4c863f8 Author: Peter Williams Date: Tue Dec 19 12:48:50 2006 +1000 [PATCH] sched: improve efficiency of sched_fork() Problem: sched_fork() has always called scheduler_tick() in some (unlikely) circumstances in order to update the current task in light of those circumstances. It has always been the case that the work done by scheduler_tick() was more than was required to handle the problem in hand but no harm was done except for the waste of a few CPU cycles. However, the splitting of scheduler_tick() into two procedures in 2.6.20-rc1 enables the wasted cycles to be saved as the new procedure task_running_tick() does all the work that is required to rectify the problem being handled. Solution: Replace the call to scheduler_tick() in sched_fork() with a call to task_running_tick(). Signed-off-by: Peter Williams Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 136f1e7a8cb7d17ff91706518549697071640ae4 Author: Ingo Molnar Date: Wed Dec 20 11:53:32 2006 +0100 [PATCH] x86_64: fix boot time hang in detect_calgary() if CONFIG_CALGARY_IOMMU is built into the kernel via CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT, or is enabled via the iommu=calgary boot option, then the detect_calgary() function runs to detect the presence of a Calgary IOMMU. detect_calgary() first searches the BIOS EBDA area for a "rio_table_hdr" BIOS table. It has this parsing algorithm for the EBDA: while (offset) { ... /* The next offset is stored in the 1st word. 0 means no more */ offset = *((unsigned short *)(ptr + offset)); } got that? Lets repeat it slowly: we've got a BIOS-supplied data structure, plus Linux kernel code that will only break out of an infinite parsing loop once the BIOS gives a zero offset. Ok? Translation: what an excellent opportunity for BIOS writers to lock up the Linux boot process in an utterly hard to debug place! Indeed the BIOS jumped on that opportunity on my box, which has the following EBDA chaining layout: 384, 65282, 65535, 65535, 65535, 65535, 65535, 65535 ... see the pattern? So my, definitely non-Calgary system happily locks up in detect_calgary()! the patch below fixes the boot hang by trusting the BIOS-supplied data structure a bit less: the parser always has to make forward progress, and if it doesnt, we break out of the loop and i get the expected kernel message: Calgary: Unable to locate Rio Grande Table in EBDA - bailing! Signed-off-by: Ingo Molnar Acked-by: Muli Ben-Yehuda Signed-off-by: Linus Torvalds commit a9622f6219ce58faba1417743bf3078501eb3434 Author: Ingo Molnar Date: Wed Dec 20 11:28:46 2006 +0100 [PATCH] x86_64: fix boot hang caused by CALGARY_IOMMU_ENABLED_BY_DEFAULT one of my boxes didnt boot the 2.6.20-rc1-rt0 kernel rpm, it hung during early bootup. After an hour or two of happy debugging i narrowed it down to the CALGARY_IOMMU_ENABLED_BY_DEFAULT option, which was freshly added to 2.6.20 via the x86_64 tree and /enabled by default/. commit bff6547bb6a4e82c399d74e7fba78b12d2f162ed claims: [PATCH] Calgary: allow compiling Calgary in but not using it by default This patch makes it possible to compile Calgary in but not use it by default. In this mode, use 'iommu=calgary' to activate it. but the change does not actually practice it: config CALGARY_IOMMU_ENABLED_BY_DEFAULT bool "Should Calgary be enabled by default?" default y depends on CALGARY_IOMMU help Should Calgary be enabled by default? if you choose 'y', Calgary will be used (if it exists). If you choose 'n', Calgary will not be used even if it exists. If you choose 'n' and would like to use Calgary anyway, pass 'iommu=calgary' on the kernel command line. If unsure, say Y. it's both 'default y', and says "If unsure, say Y". Clearly not a typo. disabling this option makes my box boot again. The patch below fixes the Kconfig entry. Grumble. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit b039db8eeab0b3cee66dcf9820526dd9cfb04f6b Author: Geert Uytterhoeven Date: Wed Dec 20 15:59:48 2006 +0100 [PATCH] __set_irq_handler bogus space __set_irq_handler: Kill a bogus space Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 36bcbec7ce21e2e8b3143b11a05747330abeca70 Author: Burman Yan Date: Tue Dec 19 12:56:11 2006 -0800 ACPI: replace kmalloc+memset with kzalloc Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit c3052905033f8785bcb2c71d5ce40b84259e3a80 Author: Greg Kroah-Hartman Date: Wed Dec 20 11:46:03 2006 -0800 USB Storage: remove duplicate Nokia entry in unusual_devs.h How many times are we going to merge this entry... Signed-off-by: Greg Kroah-Hartman commit 850a9d8a8bbeeba8263025a983d1c18e5e250f5d Author: Jeff Garzik Date: Wed Dec 20 14:37:04 2006 -0500 [libata] sata_svw, sata_vsc: kill iomem warnings Now that iomap merge is close to reality, and since the warnings and issue have been around so long, we don't need a reminder on every build that libata needs to be converted over to iomap. Signed-off-by: Jeff Garzik commit 71c83515f23b8f9c36abb4ceb37f2d911565942b Author: Olivier Galibert Date: Tue Dec 19 13:15:25 2006 -0800 [PATCH] bluetooth: add support for another Kensington dongle Add the stupid sco fixup quirk to yet another Broadcom/Kensington device. Cc: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 11e82730ccdaf2a6c056d04b03368c5a9e7c1305 Author: Eric Smith Date: Tue Dec 19 13:15:25 2006 -0800 [PATCH] usb serial: add support for Novatel S720/U720 CDMA/EV-DO modems Add USB vendor/device IDs for Novatel Wireless S720 and U720 CDMA/EV-DO modems to airprime.c. Signed-off-by: Eric Smith Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit a5176b78974451680bd93b8954230cf1a47dee1b Author: Andrew Morton Date: Tue Dec 19 13:15:23 2006 -0800 [PATCH] USB: Nokia E70 is an unusual device Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7508 When the Nokia E70 Phone is plugged in to the USB port, I get: end_request: I/O error, dev sda, sector 1824527 sd 0:0:0:0: SCSI error: return code = 0x10070000 end_request: I/O error, dev sda, sector 1824535 sd 0:0:0:0: SCSI error: return code = 0x10070000 The fix is to add these lines to drivers/usb/storage/unusual_devs.h: Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 2e5704f63ed56b040a3189f6b7eb17f6f849ea22 Author: Tejun Heo Date: Sun Dec 17 10:46:33 2006 +0900 [PATCH] libata: take scmd->cmd_len into account when translating SCSI commands libata depended on SCSI command to have the correct length when tranlating it into an ATA command. This generally worked for commands issued by SCSI HLD but user could issue arbitrary broken command using sg interface. Also, when building ATAPI command, full command size was always copied. Because some ATAPI devices needs bytes after CDB cleared, if upper layer doesn't clear bytes after CDB, such devices will malfunction. This necessiated recent clear-garbage-after-CDB fix in sg interfaces. However, scsi_execute() isn't fixed yet and HL-DT-ST DVD-RAM GSA-H30N malfunctions on initialization commands issued from SCSI. This patch makes xlat functions always consider SCSI cmd_len. Each translation function checks for proper cmd_len and ATAPI translaation clears bytes after CDB. Signed-off-by: Tejun Heo Cc: Jens Axboe Cc: Douglas Gilbert Signed-off-by: Jeff Garzik commit ad706991f4f0d1476aecbdae2df5e36552b340b2 Author: Tejun Heo Date: Sun Dec 17 10:45:57 2006 +0900 [PATCH] libata: kill @cdb argument from xlat methods xlat function will be updated to consider qc->scsicmd->cmd_len and many xlat functions deference qc->scsicmd already. It doesn't make sense to pass qc->scsicmd->cmnd as @cdb separately. Kill the argument. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 542b1444c5639e5964f9aa99e1cb231381d8a7a4 Author: Tejun Heo Date: Sun Dec 17 10:45:08 2006 +0900 [PATCH] libata: clean up variable name usage in xlat related functions Variable names in xlat functions are quite confusing now. 'scsicmd' is used for CDB while qc->scsicmd points to struct scsi_cmnd while 'cmd' is used for struct scsi_cmnd. This patch cleans up variable names in xlat functions such that 'scmd' is used for struct scsi_cmnd and 'cdb' for CDB. Also, 'scmd' local variable is added if qc->scsicmd is used multiple times. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 6fbf5ba461f5bd36e921627568aca20abc0e2abe Author: Peer Chen Date: Wed Dec 20 14:18:00 2006 -0500 [libata] Move some PCI IDs from sata_nv to ahci The content of memory map io of BAR5 have been change from MCP65 then sata_nv can't work fine on the platform based on MCP65 and MCP67, so move their IDs from sata_nv.c to ahci.c. Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit 1f21782e63da81f56401a813a52091ef2703838f Author: Adrian Bunk Date: Tue Dec 19 13:01:28 2006 -0800 Driver core: proper prototype for drivers/base/init.c:driver_init() Add a prototype for driver_init() in include/linux/device.h. Also remove a static function of the same name in drivers/acpi/ibm_acpi.c to ibm_acpi_driver_init() to fix the namespace collision. Signed-off-by: Adrian Bunk Acked-by: Henrique de Moraes Holschuh Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 542cfce6f36e8c43f71ae9c235b78497f350ae55 Author: Aneesh Kumar K.V Date: Tue Dec 19 13:01:27 2006 -0800 kobject: kobject_uevent() returns manageable value Since kobject_uevent() function does not return an integer value to indicate if its operation was completed with success or not, it is worth changing it in order to report a proper status (success or error) instead of returning void. [randy.dunlap@oracle.com: Fix inline kobject functions] Cc: Mauricio Lin Signed-off-by: Aneesh Kumar K.V Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit f334b60b43a0927f4ab1187cbdb4582f5227c3b1 Author: Venkatesh Pallipadi Date: Tue Dec 19 13:01:29 2006 -0800 kref refcnt and false positives With WARN_ON addition to kobject_init() [ http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.19/2.6.19-mm1/dont-use/broken-out/gregkh-driver-kobject-warn.patch ] I started seeing following WARNING on CPU offline followed by online on my x86_64 system. WARNING at lib/kobject.c:172 kobject_init() Call Trace: [] dump_trace+0xaa/0x3ef [] show_trace+0x3a/0x50 [] dump_stack+0x15/0x17 [] kobject_init+0x3f/0x8a [] kobject_register+0x1a/0x3e [] sysdev_register+0x5b/0xf9 [] mce_create_device+0x77/0xf4 [] mce_cpu_callback+0x3a/0xe5 [] notifier_call_chain+0x26/0x3b [] raw_notifier_call_chain+0x9/0xb [] _cpu_up+0xb4/0xdc [] cpu_up+0x2b/0x42 [] store_online+0x4a/0x72 [] sysdev_store+0x24/0x26 [] sysfs_write_file+0xcf/0xfc [] vfs_write+0xae/0x154 [] sys_write+0x47/0x6f [] system_call+0x7e/0x83 DWARF2 unwinder stuck at system_call+0x7e/0x83 Leftover inexact backtrace: This is a false positive as mce.c is unregistering/registering sysfs interfaces cleanly on hotplug. kref_put() and conditional decrement of refcnt seems to be the root cause for this and the patch below resolves the issue for me. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 031f30d2bc69f78cf542c0e5874a9d67c03d0ffe Author: Kristen Carlson Accardi Date: Sat Dec 16 15:26:04 2006 -0800 acpiphp: Link-time error for PCI Hotplug I'm seeing: `acpiphp_glue_exit' referenced in section `.init.text' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o when trying to compile an IA64 kernel with PCI hotplug enabled. I suggest this patch: Signed-off-by: Peter Chubb Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 8352e04eb427db0ca8ebb9a8547971d433627cad Author: Kenji Kaneshige Date: Sat Dec 16 15:25:57 2006 -0800 shpchp: cleanup shpchp.h This patch cleans up shpchp.h. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 6f39be2e05cc6e66481f1395264297f06bef1e21 Author: Kenji Kaneshige Date: Sat Dec 16 15:25:49 2006 -0800 shpchp: remove shpchprm_get_physical_slot_number This patch removes unnecessary shpchprm_get_physical_slot_number() function. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 227b84c77f5fb3a3b01e5dee1a2928cafc5fd216 Author: Kenji Kaneshige Date: Sat Dec 16 15:25:42 2006 -0800 shpchp: cleanup struct controller This patch removes unused/unnecessary members from struct controller. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 0abe68ce24973a23fcc6cbce80343f68656de7b6 Author: Kenji Kaneshige Date: Sat Dec 16 15:25:34 2006 -0800 shpchp: remove unnecessary struct php_ctlr The struct php_ctlr seems to be only for complicating codes. This patch removes struct php_ctlr and related codes. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit ab17443a3df35abe4b7529e83511a591aa7384f3 Author: Conke Hu Date: Tue Dec 19 13:11:37 2006 -0800 PCI: ATI sb600 sata quirk Acked-by: Jeff Garzik Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit fb0f2b40faff41f03acaa2ee6e6231fc96ca497c Author: Ralf Baechle Date: Tue Dec 19 13:12:08 2006 -0800 PCI legacy resource fix Since commit 368c73d4f689dae0807d0a2aa74c61fd2b9b075f the kernel will try to update the non-writeable BAR registers 0..3 of PIIX4 IDE adapters if pci_assign_unassigned_resources() is used to do full resource assignment of the bus. This fails because in the PIIX4 these BAR registers have implicitly assumed values and read back as zero; it used to work because the kernel used to just write zero to that register the read back value did match what was written. The fix is a new resource flag IORESOURCE_PCI_FIXED used to mark a resource as non-movable. This will also be useful to keep other import system resources from being moved around - for example system consoles on PCI busses. [akpm@osdl.org: cleanup] Signed-off-by: Ralf Baechle Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 7e7a43c32a8970ea2bfc3d1af353dcb1a9237769 Author: Adrian Bunk Date: Tue Dec 19 13:12:07 2006 -0800 PCI: don't export device IDs to userspace I don't see any good reason for exporting device IDs to userspace. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 9ac0ce8596b17093739d42721cc8a616cedf734b Author: Jesper Juhl Date: Mon Dec 4 15:14:48 2006 -0800 PCI: Be a bit defensive in quirk_nvidia_ck804() so we don't risk dereferencing a NULL pdev. pci_get_slot() may return NULL if nothing was found. quirk_nvidia_ck804() does not check the value returned from pci_get_slot(), so it may end up causing a NULL pointer deref. Signed-off-by: Jesper Juhl Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 1597cacbe39802d86656d1f2e6329895bd2ef531 Author: Alan Cox Date: Mon Dec 4 15:14:45 2006 -0800 PCI: Fix multiple problems with VIA hardware This patch is designed to fix: - Disk eating corruptor on KT7 after resume from RAM - VIA IRQ handling - VIA fixups for bus lockups after resume from RAM The core of this is to add a table of resume fixups run at resume time. We need to do this for a variety of boards and features, but particularly we need to do this to get various critical VIA fixups done on resume. The second part of the problem is to handle VIA IRQ number rules which are a bit odd and need special handling for PIC interrupts. Various patches broke various boxes and while this one may not be perfect (hopefully it is) it ensures the workaround is applied to the right devices only. From: Jean Delvare Now that PCI quirks are replayed on software resume, we can safely re-enable the Asus SMBus unhiding quirk even when software suspend support is enabled. [akpm@osdl.org: fix const warning] Signed-off-by: Alan Cox Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit beb7cc8238a8334d86c96bf32bf66182db3b619f Author: Michael Ellerman Date: Wed Nov 22 18:26:22 2006 +1100 PCI: Only check the HT capability bits in mpic.c Only compare the exact HT capability bits against HT_CAPTYPE_IRQ, this is a little paranoid, but doesn't hurt. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 7a380507c48f7894bae7d367375313df9d51b2e5 Author: Michael Ellerman Date: Wed Nov 22 18:26:21 2006 +1100 PCI: Use pci_find_ht_capability() in drivers/pci/quirks.c Use pci_find_ht_capability() in drivers/pci/quirks.c. I'm pretty sure the logic is unchanged here, but someone please eye-ball it for me. I've changed the message to be a little shorter, it's now: PCI: Found (enabled|disabled) HT MSI mapping on xxxx:xx:xx.x Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit d010b51c7ea9c28e30a476032615941aa77b1498 Author: Michael Ellerman Date: Wed Nov 22 18:26:20 2006 +1100 PCI: Add #defines for Hypertransport MSI fields Add a few #defines for grabbing and working with the address fields in a HT_CAPTYPE_MSI_MAPPING capability. All from the HT spec v3.00. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 120a50df4536da69d2e85633a60bc40a85088dd1 Author: Michael Ellerman Date: Wed Nov 22 18:26:19 2006 +1100 PCI: Use pci_find_ht_capability() in drivers/pci/htirq.c Use pci_find_ht_capability() in drivers/pci/htirq.c Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 687d5fe3dc33794efb500f42164a0588e2647914 Author: Michael Ellerman Date: Wed Nov 22 18:26:18 2006 +1100 PCI: Add pci_find_ht_capability() for finding Hypertransport capabilities There are already several places in the kernel that want to search a PCI device for a given Hypertransport capability. Although this is possible using pci_find_capability() etc., it makes sense to encapsulate that logic in a helper - pci_find_ht_capability(). To cater for searching exhaustively for a capability, we also provide pci_find_next_ht_capability(). We also need to cater for the fact that the HT capability fields may be either 3 or 5 bits wide. pci_find_ht_capability() deals with this for you, but callers using the #defines directly must handle that themselves. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit d3bac118fb27a365d5e9f54f4a078eb9b42f968f Author: Michael Ellerman Date: Wed Nov 22 18:26:16 2006 +1100 PCI: Create __pci_bus_find_cap_start() from __pci_bus_find_cap() The current implementation of __pci_bus_find_cap() does two things, first it determines the start of the capability chain for the device, and then it trys to find the requested capability. Split these out, so that we can use the two parts independantly in a subsequent patch. Externally visible behaviour should be unchanged. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit d86f90f9913d27bb968132bf63499c56bca56db6 Author: Alan Cox Date: Mon Dec 4 15:14:44 2006 -0800 pci: Introduce pci_find_present This works like pci_dev_present but instead of returning boolean returns the matching pci_device_id entry. This makes it much more useful. Code bloat is basically nil as the old boolean function is rewritten in terms of the new one. This will be used by the updated VIA PCI quirks for one Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 83e42bcdd3be31a0df8b1a8d2d3fa1a65e43815c Author: Kenji Kaneshige Date: Wed Dec 6 22:07:30 2006 +0900 PCI: pcieport-driver: remove invalid warning message The following warning message should not be displayed for devices which don't use an interrupt pin. pcie_portdrv_probe->Dev[XXXX:XXXX] has invalid IRQ. Check vendor BIOS Signed-off-by: Kenji Kaneshige Signed-off-by: Greg Kroah-Hartman commit f1e79092d9a59e2b1c8eae3b0f4ef3827dda08a0 Author: Linas Vepstas Date: Fri Dec 1 16:31:27 2006 -0800 rpaphp: compiler warning cleanup This janitorial patch removes the following annoying compile-time message: drivers/pci/hotplug/rpaphp_slot.c:57: warning: ignoring return value of sfs_create_file declared with attribute warn_unused_result It also fixes a typo, removes some misc crud. Signed-off-by: Linas Vepstas Cc: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 0c875c28649eac0adb8d2e2efac2186c3089e100 Author: David Rientjes Date: Sun Dec 3 11:55:34 2006 -0800 PCI quirks: remove redundant check Removes redundant check for dev->subordinate; if it is NULL, the function returns before the patch-affected code region. Signed-off-by: David Rientjes Acked-by: Brice Goglin Signed-off-by: Greg Kroah-Hartman commit 42a0ee3238a0adb4c5bea3bd5b201c297b476e66 Author: Inaky Perez-Gonzalez Date: Thu Nov 30 15:58:58 2006 -0800 pci: add class codes for Wireless RF controllers pci: add class codes for Wireless RF controllers Add PCI codes to include/linux/pci_ids.h for RF controllers; first batch of these devices seem to be the Ultra-Wide-Band and Wireless USB controllers (WHCI spec). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 7461b60afa62b26943e97861d87b9f9a32d7fd9c Author: Russell King Date: Wed Nov 29 21:18:04 2006 +0000 PCI: use /sys/bus/pci/drivers//new_id first Unfortunately, the .../new_id feature does not work with the 8250_pci driver. The reason for this comes down to the way .../new_id is implemented. When PCI tries to match a driver to a device, it checks the modules static device ID tables _before_ checking the dynamic new_id tables. When a driver is capable of matching by ID, and falls back to matching by class (as 8250_pci does), this makes it absolutely impossible to specify a board by ID, and as such the correct driver_data value to use with it. Let's say you have a serial board with vendor 0x1234 and device 0x5678. It's class is set to PCI_CLASS_COMMUNICATION_SERIAL. On boot, this card is matched to the 8250_pci driver, which tries to probe it because it matched using the class entry. The driver finds that it is unable to automatically detect the correct settings to use, so it returns -ENODEV. You know that the information the driver needs is to match this card using a device_data value of '7'. So you echo 1234 5678 0 0 0 0 7 into new_id. The kernel attempts to re-bind 8250_pci to this device. However, because it scans the PCI driver tables, it _again_ matches the class entry which has the wrong device_data. It fails. End of story. You can't support the card without rebuilding the kernel (or writing a specific PCI probe module to support it.) So, can we make new_id override the driver-internal PCI ID tables? IOW, like this: From: Russell King Signed-off-by: Greg Kroah-Hartman commit df251b8bfcc5879b947223746779f90018424a6d Author: Chris Frey Date: Sat Dec 16 02:37:42 2006 -0500 USB: fix to usbfs_snoop logging of user defined control urbs When sending CONTROL URB's using the usual CONTROL ioctl, logging works fine, but when sending them via SUBMITURB, like VMWare does, the control fields are not logged. This patch fixes that. I didn't see any major changes to devio.c recently, so this patch should apply cleanly to even the latest kernel. I can resubmit if it doesn't. From: Chris Frey Signed-off-by: Greg Kroah-Hartman commit bfb7fb79e913f60330037d1f302efee28d5f6770 Author: Wojtek Kaniewski Date: Fri Dec 8 03:26:00 2006 -0800 USB: at91_udc: Additional checks This patch performs additional checks in at91_udc, just in case of some spurious interrupts or device enumeration. Signed-off-by: Wojtek Kaniewski Acked-by: David Brownell Cc: Andrew Victor Signed-off-by: Greg Kroah-Hartman commit 943c441948581bd01ab196a4d32da88bfa0f13ce Author: Wojtek Kaniewski Date: Fri Dec 8 03:23:00 2006 -0800 USB: at91_udc: Cleanup variables after failure in usb_gadget_register_driver() This patch zeroes some variables when usb_gadget_register_driver() fails. gadgetfs does a dummy registration to get the name of the USB driver and then waits for user-land driver. If someone plugs the cable in the meantime, bad things happen, because at91_udc has been left in inconsistent state. Signed-off-by: Wojtek Kaniewski Acked-by: David Brownell Cc: Andrew Victor Signed-off-by: Greg Kroah-Hartman commit bc92c32aa21cf2e8808f8cff0be0a2a653652e92 Author: Wojtek Kaniewski Date: Fri Dec 8 09:39:36 2006 -0800 USB: at91_udc: allow drivers that support high speed This patch allows gadget drivers that support high speed (e.g. gadgetfs) to work properly with at91_udc. Fix suggested by Milan Svoboda in http://marc.theaimsgroup.com/?l=linux-usb-devel&m=115822184711817 Signed-off-by: Wojtek Kaniewski Acked-by: David Brownell Cc: Andrew Victor Signed-off-by: Greg Kroah-Hartman commit 4b87361d49c04894458f4d4e80f9669abc894ae1 Author: Tony Olech Date: Wed Dec 6 13:16:22 2006 +0000 USB: u132-hcd/ftdi-elan: add support for Option GT 3G Quad card ELAN's U132 is a USB to CardBus OHCI controller adapter, designed specifically for CardBus 3G data cards to function in machines without a CardBus slot. The "ftdi-elan" module is a USB client driver, that detects a supported CardBus OHCI controller plugged into the U132 adapter and thereafter provides the conduit for for access by the "u132-hcd" module. The "u132-hcd" module is a (cut-down OHCI) host controller that supports a single OHCI function of the CardBus card inserted into the U132 adapter. The problem with the initial implementation is that when the CardBus card inserted into the U132 adapter has multiple functions (and a CardBus card can support up to 4 functions), it was the first function that was arbitrarily choosen. The first batch of 3G cards tested, like the Merlin Qualcomm V620, have two functions each supporting a seperate USB OHCI host controller, of which it was that first function that is wired up to the 3G modem. Then along comes the Vodafone Mobile Connect 3G/GPRS data card, aka "Option GT 3G Quad" as printed on it's rear or "Option N.V. GlobeTrotter Fusion Quad Lite" as read with "lspci -v". And it has the meaningful functionality in the second CardBus function. That presents a problem because it was the "ftdi-elan" module alone that knows how to communicate to the embedded CardBus slot and the "u132-hcd" module alone that knows how to access the pcmcia configuration and CardBus accessible memory space. And of course, the information about attached (internally hardwired) devices is contained within USB configuration embedded somewhere within the CardBus card. If only the "u132-hcd" module probe() interface could return a result code that propagated back to the instigating function platform_device_register() then the "ftdi-elan" module could try an alternative CardBus function. However in spite of the recent changes to the drivers/base/ routines that moved device_attach() from bus_add_device() to bus_attach_device() both of those routines lose the "failed to attach" 0 result code and thus the calling routine, namely device_add() is incapable of propaging the "failed to attach" condition back to platform_device_add() and consequently back to the caller of platform_device_register() Experiments show that patching bus_attach_device() to return ENODEV fails with the kernel locking up very early during boot. But, however, if the patch is restricted to calls from platform_device_add() then it does seem to work. Unfortunately, until the kernel's drivers/base is properly modified to propagate -ENODEV back to the caller of platform_device_register(), it is necessary to "fix" the "ftdi-elan" module by importing knowledge from the "u132-hcd" module. This is the reason for the duplicated functionality introduced in this patch. Signed-off-by: Tony Olech Signed-off-by: Greg Kroah-Hartman commit 29ba4b533b677f3cd7f2fc901d51054555a8f243 Author: Andrew Victor Date: Thu Dec 7 22:44:38 2006 -0800 USB: at91_udc, misc fixes This is an update to the AT91 USB Device (Gadget) driver. Adds support for the Atmel AT91SAM9260 and AT91SAM9261 processors. The only difference is how they handle the pullup pin. [Patch from Patrice Vilchez] Need to clear any pending USB Device interrupts before registering the interrupt handler. The bootloader might have been using the USB Device port. [Patch from Peer Georgi] VBUS detection is handled by a GPIO interrupt which only triggers on a change. Is is therefore necessary to read the current VBUS state explicitly at startup. [Patch from Peer Georgi] Signed-off-by: Andrew Victor Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ffd3326bf6282b9f606e92ae57e8f47f2e10e6b5 Author: Andrew Victor Date: Thu Dec 7 22:44:33 2006 -0800 USB: at91 udc, support at91sam926x addresses This is an update to the AT91 USB Device (Gadget) driver. The base I/O address provided in the platform_device resources is now ioremap()'ed instead of using a statically mapped memory area. This helps portability to the newer AT91sam926x processors. The major change is that we now have to pass a 'struct at91_udc' parameter to at91_udp_read() and at91_udp_write(). Signed-off-by: Andrew Victor Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5151d04068e37e710d2cc3962351ca0979fc5ad1 Author: Vitaly Wool Date: Mon Oct 9 01:32:00 2006 -0700 USB: OHCI support for PNX8550 OHCI HCD (Host Controller Driver) for USB. Bus Glue for PNX8550. Signed-off-by: Vitaly Wool Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 23d10a9e376d6a9cd4afd4e27e5e403864f6729b Author: Takamasa Ohtake Date: Wed Dec 6 17:04:15 2006 -0800 USB: ohci handles hardware faults during root port resets I have found a problem where the root_port_reset() goes into an infinite loop and stalls the kernel. This happens when a hardware fault inside the machine occurs during a small timing window. In case of USB device connection, if a USB device responds to hcd_submit_urb(), and later the controller fails before root_port_reset(), root_port_reset() will loop infinitely because ohci_readl() will always return "-1". Such a failure can include ejecting a CardBus OHCI controller. The probability of this problem is low, but it will increase if PnP type usage is frequent. The attached patch can solve this problem and I believe that it is better to fix this problem. Signed-off-by: Takamasa Ohtake Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit ee269d98a9248fbb729c20ffda0f1b97e82c5c37 Author: Andrew Victor Date: Tue Dec 5 03:20:31 2006 -0800 USB: ohci at91 warning fix Remove a warning about an unused variable in the OHCI bus glue for at91. Signed-off-by: Andrew Victor Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit dd9048af41d017f5f9ea18fb451a3b5dc89d6b83 Author: David Brownell Date: Tue Dec 5 03:18:31 2006 -0800 USB: ohci whitespace/comment fixups This is an OHCI cleanup patch ... it removes a lot of erroneous whitespace (space before tab, at end of line) as well as the obsolete inline changelog. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 23d8c90e5691992a09ab113be2c1a81271b6d0d8 Author: David Brownell Date: Tue Dec 5 03:10:08 2006 -0800 USB: MAINTAINERS update, EHCI and OHCI Update maintainer records for two USB host controller drivers. I'm the main point of contact for both EHCI and OHCI, although I don't have much time for them any more. Roman hasn't submitted OHCI patches for years. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6bea476cf628eb7bb18a036ac6a8fed1ad319951 Author: David Brownell Date: Tue Dec 5 03:15:33 2006 -0800 USB: gadget driver unbind() is optional; section fixes; misc Allow gadget drivers to omit the unbind() method. When they're statically linked, that's an appropriate memory saving tweak. Similarly, provide consistent/simpler handling for a should-not-happen error case: removing a peripheral controller driver when a gadget driver is still loaded. Such code dates back to early versions of the first implementation of the gadget API, and has never been triggered. Includes relevant section annotation fixs for gmidi.c, file_storage.c, and serial.c; we don't yet have an "init or exit" annotation. Also some whitespace fixes in gmidi.c (space at EOL, before tabs, etc). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 5f8364b7d63acdc2216ca0f7d0a8557c318479ea Author: Alan Stern Date: Tue Dec 5 16:29:55 2006 -0500 UHCI: module parameter to ignore overcurrent changes Certain boards seem to like to issue false overcurrent notifications, for example on ports that don't have anything connected to them. This looks like a hardware error, at the level of noise to those ports' overcurrent input signals (or non-debounced VBUS comparators). This surfaces to users as truly massive amounts of syslog spam from khubd (which is appropriate for real hardware problems, except for the volume from multiple ports). Using this new "ignore_oc" flag helps such systems work more sanely, by preventing such indications from getting to khubd (and spamming syslog). The downside is of course that true overcurrent errors will be masked; they'll appear as spontaneous disconnects, without the diagnostics that will let users troubleshoot issues like short-circuited cables. In addition, controllers with no devices attached will be forced to poll for new devices rather than relying on interrupts, since each overcurrent event would generate a new interrupt. This patch (as826) is essentially a copy of David Brownell's ignore_oc patch for ehci-hcd, ported to uhci-hcd. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fe1ec341df1b510e5e614ccdad4a89273d6f6fe8 Author: Andrew Morton Date: Mon Dec 4 15:22:40 2006 -0800 USB: Nokia E70 is an unusual device Taken from http://bugzilla.kernel.org/show_bug.cgi?id=7508 When the Nokia E70 Phone is plugged in to the USB port, I get: end_request: I/O error, dev sda, sector 1824527 sd 0:0:0:0: SCSI error: return code = 0x10070000 end_request: I/O error, dev sda, sector 1824535 sd 0:0:0:0: SCSI error: return code = 0x10070000 The fix is to add these lines to drivers/usb/storage/unusual_devs.h: Cc: Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 66eb2e93b99b79bd3d55ecea2098a8369c1ded0d Author: Burman Yan Date: Mon Dec 4 15:22:40 2006 -0800 USB AUERSWALD: replace kmalloc+memset with kzalloc Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 071e0a2aee9c289f50b9329d0c26474ca94f7c7a Author: Ping Cheng Date: Tue Dec 5 17:09:51 2006 -0800 USB: fix Wacom Intuos3 4x6 bugs Fixes Intuos3 4x6 bugs Signed-off-by: Ping Cheng Signed-off-by: Greg Kroah-Hartman commit ab1958905514da3b6c06d61523ebed142a16cc72 Author: Johann Wilhelm Date: Sat Dec 2 07:25:31 2006 +0100 usb-gsm-driver: Added VendorId and ProductId for Huawei E220 USB Modem Added VendorId and ProductId for Huawei E220 USB Modem Signed-off-by: Johann Wilhelm Signed-off-by: Greg Kroah-Hartman commit 16c76865df40357027479b6d85f59a07f8d01c8d Author: Johann Wilhelm Date: Sat Dec 2 07:16:32 2006 +0100 usb-storage: Ignore the virtual cd-drive of the Huawei E220 USB Modem This prevents the kernel from detecting the virtual cd-drive with the Windows drivers. Signed-off-by: Johann Wilhelm Signed-off-by: Greg Kroah-Hartman commit 5859271ebd6c60d7d946bbbb6b485e164c6c614a Author: Petko Manolov Date: Mon Dec 4 14:27:36 2006 +0200 USB: rtl8150 new device id This one adds another vendor ID to rtl8150 driver. Please apply. Signed-off-by: Petko Manolov Signed-off-by: Greg Kroah-Hartman commit abc9404bb0bcfa8677ab5978b2c8b60ab5ef7536 Author: Jeff Garzik Date: Sun Dec 3 20:53:58 2006 -0500 USB: fix ohci.h over-use warnings When u132-hcd is built, it includes local header ohci.h, which appears to have been intended only for use by ohci-hcd. This throws warnings about functions which are defined and not used. The warnings thrown are because three small functions are implemented in the header, but not declared 'inline', a rather strange affair. Since these functions are small, let's go ahead and define them as 'inline', just like the inline functions surrounding them. This makes things more consistent, and kills the warnings. Signed-off-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit c2585d962572744271a7e254d48c747727441936 Author: David Clare Date: Fri Dec 1 18:24:38 2006 -0800 USB: Prevent the funsoft serial device from entering raw mode Added a device specific ioctl function to prevent the disabling of canonical mode. EINVAL is returned for any TCSETSF ioctl that doesn't have ICANON set. This patch is for 2.6.17 or later kernels. When "hwinfo --modem" is executed it opens the funsoft USB serial device and disables canonical mode. The device is kept this way until hwininfo has finished probing any modems on a system. The funsoft device expects to be running in canonical mode. Switching the device to raw mode can cause incomplete data packets and device timeouts. Signed-off-by: David Clare Signed-off-by: Greg Kroah-Hartman commit e05998d50d0bf9de5409a178e2f9869c7d1ea83e Author: Johannes Hoelzl Date: Sat Dec 2 16:54:27 2006 +0100 Add Baltech Reader ID to CP2101 driver this patch adds the Baltech Reader ID to the list of USB IDs in the CP2101 driver. From: Johannes Hoelzl Signed-off-by: Greg Kroah-Hartman commit 8e42266965b9db03a86d2cf55400cd3afb67a114 Author: Oliver Neukum Date: Sun Dec 3 09:46:35 2006 +0100 USB: mutexification of usblp this patch: - converts usblp fully to mutex - makes sleeping interruptible where EINTR can be returned anyway Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit b1cff285ae8d21012ad3717e412b0f50066dc061 Author: Alan Date: Mon Dec 4 16:43:01 2006 +0000 usb serial: Eliminate bogus ioctl code Several drivers have bogus ioctl code that tries unneccessarily to override the standard processing. In the three cases here the actual code is not only wrong but also not required as they implement the proper set_termios method as well. Remove the junk. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 337445313ffb7a7e97f408500c7448044d54f921 Author: Oliver Neukum Date: Mon Nov 27 18:41:30 2006 +0100 USB: removing ifdefed code from gl620a as David has objected to the patch against the gl620a driver, here's a patch implementing David' suggestion of removing the incomplete ifdefed code from the gl620a driver. Signed-off-by: Oliver Neukum Signed-off-by: David Brownell commit ec434e9b43c7d41bd6962b79f5374be5ca2ebe2d Author: Jan Capek Date: Tue Nov 28 22:35:12 2006 +0100 USB: ftdi_sio - MachX product ID added below is a patch for the ftdi_sio driver to include a new device ID for CCS MachX PIC programmer. From: Jan Capek Signed-off-by: Greg Kroah-Hartman commit 87f28bde949125901494f50e4b4a5b609a20a120 Author: Eagle Jones Date: Fri Nov 24 16:40:04 2006 -0800 USB: airprime: add device id for dell wireless 5500 hsdpa card Added the device id (0x413c, 0x8115) for the Dell wireless HSDPA 5500, which is a rebranded Novatel EU730. Signed-off-by: Eagle Jones Signed-off-by: Greg Kroah-Hartman commit 96ca014d53d2c2f9d3b32fe6f2f003e660c3bc63 Author: Oliver Neukum Date: Fri Nov 24 12:55:59 2006 +0100 USB: fix transvibrator disconnect race in disconnect you set the interface's private data to NULL. In your IO methods you unconditionally follow the pointer into never never land. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 6a7255e1df3cf8f89c2c0c6eeea866c6bb17cfb9 Author: Sean Young Date: Wed Dec 6 20:27:32 2006 +0000 USB: Fix oops in PhidgetServo The PhidgetServo causes an Oops when any of its sysfs attributes are read or written too, making the driver useless. Signed-off-by: Sean Young Signed-off-by: Greg Kroah-Hartman commit 73720861d211e2b23c3026c6adea6f758676c46f Author: Andrew Morton Date: Wed Dec 20 13:09:10 2006 -0500 [libata] pata_via: suspend/resume support fix Make this array static so it doesn't have to be built at runtime. Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0153260a1e4379e70d224a7bfdf2b5c5c9b43e94 Author: Andrew Morton Date: Wed Dec 20 13:03:11 2006 -0500 [libata] pata_cs5530: suspend/resume support tweak side-effectful-expression-within-assert give me the creeps. Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 126ec9a676f601818dc3a85af0552b146410d888 Author: Jens Axboe Date: Wed Dec 20 11:06:15 2006 +0100 [PATCH] block: document io scheduler allow_merge_fn hook Signed-off-by: Jens Axboe commit da775265021b61d5eb81df155e36cb0810f6df53 Author: Jens Axboe Date: Wed Dec 20 11:04:12 2006 +0100 [PATCH] cfq-iosched: don't allow sync merges across queues Currently we allow any merge, even if the io originates from different processes. This can cause really bad starvation and unfairness, if those ios happen to be synchronous (reads or direct writes). So add a allow_merge hook to the io scheduler ops, so an io scheduler can help decide whether a bio/process combination may be merged with an existing request. Signed-off-by: Jens Axboe commit 7c21699e30a5c0ca4972d1b6ad22350fe63128d3 Author: Jaroslav Kysela Date: Wed Dec 20 09:11:55 2006 +0100 [ALSA] version 1.0.14rc1 Signed-off-by: Jaroslav Kysela commit f8cb2c450e7ff61abe75fabc94a4f62667a79c2b Author: James Courtier-Dutton Date: Tue Dec 12 17:05:24 2006 +0000 [ALSA] ac97: Identify CMI9761 chips. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit e8bb036a46ec4a9d748672f54a6b2d62c82b6fbd Author: James C Georgas Date: Thu Dec 7 08:10:57 2006 +0100 [ALSA] ac97_codec - trivial fix for bit update functions This patch fixes a couple of bit update functions in alsa-kernel/pci/ac97/ac97_codec.c, which could possibly corrupt bits not in the given mask. Specifically, it'll clobber unset bits in the target that are not in the mask, when the corresponding bit in the given new value is set. Signed-off-by: James C Georgas Signed-off-by: Jaroslav Kysela commit d5f6a38d9896614e2e78a82c6cb818721601c52f Author: James Courtier-Dutton Date: Sat Nov 25 19:50:11 2006 +0000 [ALSA] snd-ca0106: Fix typos. Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit e4f55d8010eacb2669c2a68f195993e4563b94c8 Author: James Courtier-Dutton Date: Sat Nov 25 19:42:29 2006 +0000 [ALSA] snd-ca0106: Add new card variant. Fixed ALSA bug#2326 Signed-off-by: James Courtier-Dutton Signed-off-by: Jaroslav Kysela commit 4d361285925613516560f81f8c7fc96b89c8b1a8 Author: Akinobu Mita Date: Thu Nov 23 12:03:24 2006 +0100 [ALSA] sound: fix PCM substream list If snd_pcm_new_stream() fails to initalize a substream (if snd_pcm_substream_proc_init() returns error), snd_pcm_new_stream() immediately return without unlinking that kfree()d substram. It causes oops when snd_pcm_free() iterates the list of substream to free them by invalid reference. Signed-off-by: Akinobu Mita Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c13893d7be4f159b359a1b7ee46b3646ecb2fe20 Author: Akinobu Mita Date: Thu Nov 23 12:02:33 2006 +0100 [ALSA] sound: initialize rawmidi substream list If snd_rawmidi_new() failed to allocate substreams for input (snd_rawmidi_alloc_substreams() failed to populate a &rmidi->streams[SNDRV_RAWMIDI_STREAM_INPUT]), it will try to free rawmidi instance by snd_rawmidi_free(). But it will cause oops because snd_rawmidi_free() tries to free both of substreams list but list for output (&rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT]) is not initialized yet. Signed-off-by: Akinobu Mita Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a48bb28c167b5cad1bd4978dbb83c89252caab78 Author: Nickolay V. Shmyrev Date: Tue Nov 21 18:56:37 2006 +0100 [ALSA] snd_hda_intel 3stack mode for ASUS P5P-L2 I have ASUS P5PL2 motherboard and it's embedded sound card requires the following patch which sets '3stack' model to operate properly: 00:1b.0 0403: 8086:27d8 (rev 01) Subsystem: 1043:817f Flags: bus master, fast devsel, latency 0, IRQ 177 Memory at dfdf8000 (64-bit, non-prefetchable) [size=16K] Capabilities: [50] Power Management version 2 Capabilities: [60] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable- Capabilities: [70] Express Unknown type IRQ 0 Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 437a5a4606c12ab904793a7cad5b2062fc76c04e Author: Takashi Iwai Date: Tue Nov 21 12:14:23 2006 +0100 [ALSA] Remove IRQF_DISABLED for shared PCI irqs Fix IRQ flags for PCI devices. The shared IRQs for PCI devices shouldn't be allocated with IRQF_DISABLED. Also, when MSI is enabled, IRQF_SHARED shouldn't be used. The patch removes unnecessary cast in request_irq and free_irq, too. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 01f681da496831eb3aff5a908cefdafe74dd263b Author: Takashi Iwai Date: Thu Nov 16 15:39:07 2006 +0100 [ALSA] Fix invalid assignment of PCI revision Fix the type of PCI revision to char from int and avoid invalid assignment with pointer cast. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e3a5d59a17e9a42e3f3e0e37342b2679bab2ff43 Author: Takashi Iwai Date: Tue Nov 14 13:03:19 2006 +0100 [ALSA] Fix races in PCM OSS emulation Fixed the race among multiple threads accessing the OSS PCM instance concurrently by simply introducing a mutex for protecting a setup of the PCM. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ba8bdf8584c6f8af6d009dfd716ea5ee37fc15cd Author: Christian Hesse Date: Wed Nov 8 15:50:41 2006 +0100 [ALSA] hda-codec - fix typo in PCI IDs my notebook is a Samsung X11 of course... The attached patch fixes the typo. Signed-off-by: Christian Hesse Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c19bcdc64a13c6d7eedfdb46d705531e24e69cad Author: Takashi Iwai Date: Wed Nov 8 15:48:43 2006 +0100 [ALSA] ac97 - Fix potential negative array index Fix the case cidx2 >= 0 and cidx2 < 0 which may result in negative array index. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b90d7760ea784f916cb1fc0d8123410f1f0c9194 Author: Takashi Iwai Date: Tue Nov 7 16:10:06 2006 +0100 [ALSA] hda-codec - Verbose proc output for PCM parameters Make the output for PCM parameters more verbose, showing each rate, bits and format. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ee3527b0362e3b1b2e212d6161869aff9a8a98a0 Author: Takashi Iwai Date: Tue Nov 7 16:09:00 2006 +0100 [ALSA] hda-codec - Fix detection of supported sample rates Don't include 9.6kHz in the list of supported sample rates. Since this rate isn't indicated in AC_PAR_PCM parameter, the driver might guess wrongly as if it's available. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4a95cd86604740cf8cd27166e22a24944ed1e2f6 Author: Takashi Iwai Date: Tue Nov 7 13:48:42 2006 +0100 [ALSA] hda-codec - Fix model for ASUS V1j laptop Add a proper model entry (laptop-eapd) for ASUS V1j laptop with AD1986A codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0e5d720ced4111cc75dd8cf66ab7b68607a0b306 Author: Adrian Bunk Date: Tue Nov 7 13:42:54 2006 +0100 [ALSA] sound/core/control.c: remove dead code This patch removes some obviously dead code spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit efeccac5b79d3569112c886396935ce574f6af9e Author: Takashi Iwai Date: Tue Oct 24 14:57:52 2006 +0200 [ALSA] hda-codec - Add model for HP q965 Added a model entry (HP_BPC) for HP q965 with ALC262 codec. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9a826ddba6e087b1be24dd78cd0eac42f7eb7e97 Author: Clemens Ladisch Date: Mon Oct 23 16:26:57 2006 +0200 [ALSA] pcm core: fix silence_start calculations The case where silence_size < boundary was broken because different parts of the snd_pcm_playback_silence() function disagreed about whether silence_start should point to the start or to the end of the buffer part to be silenced. This patch changes the code to always use to the start, which also simplifies several calculations. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 3bc89529594767b0f894589f6c05b2d9821b6791 Author: Takashi Iwai Date: Tue Oct 17 20:41:38 2006 +0200 [ALSA] hda-codec - Fix a typo Fixed a typo in proc file. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 176546ab562fa696e56d67d4f1ea85851275ebf8 Author: Remy Bruno Date: Mon Oct 16 12:32:53 2006 +0200 [ALSA] hdsp: precise_ptr control switched off by default precise_ptr option causes dysfunction with hdsp driver. Turn it off as default. Signed-off-by: Remy Bruno Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 83af036d9878dc5b7ba72efa52f066a25639740e Author: Takashi Iwai Date: Tue Oct 10 20:01:01 2006 +0200 [ALSA] hda-codec - Don't return error at initialization of modem codec Some modem codec seem to fail in the initialization, and this stopped loading of the whole module although the audio is OK. Since it's usually a non-fatal issue, the driver tries to proceed to initialize now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit bd2033f27f346610b11b40a74ff7d1d023abcfd9 Author: Takashi Iwai Date: Tue Oct 10 19:49:31 2006 +0200 [ALSA] hda-codec - Fix wrong error checks in patch_{realtek,analog}.c Fix wrong error checks of *_ch_mode_put() in patch_realtek.c and patch_analog.c. snd_hda_ch_mode_put() could return a positive value for success, too. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d9301263cce69ee4ef989de5bbe57515ef71a780 Author: Glen Masgai Date: Tue Oct 10 09:27:19 2006 +0200 [ALSA] ymfpci: fix swap_rear for S/PDIF passthrough This patch fixes incorrect assignment of swap_rear, which was broken since patch 'ymfpci - make rear channel swap optional' It removes module_param rear_swap. Signed-off-by: Glen Masgai Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 201efe3793b0faab3538a463ad6d63cf0ef4403c Author: Clemens Ladisch Date: Mon Oct 9 08:14:15 2006 +0200 [ALSA] use the roundup macro Use the roundup macro instead of manual calculations. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 7ab399262ee636d19db5163a35ac406d5b892a0a Author: Clemens Ladisch Date: Mon Oct 9 08:13:32 2006 +0200 [ALSA] use the ALIGN macro Use the ALIGN macro instead of manual calculations. Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit e7d24f0bbd0eb0d9a6d337ef67d5e2ad78900488 Author: Jaroslav Kysela Date: Thu Oct 5 09:30:36 2006 +0200 [ALSA] ac97_codec (ALC655): add EAPD hack for MSI L725 laptop New PCI ID described and tested Spectr . Signed-off-by: Jaroslav Kysela commit 99b5aa3c10c7cff1e97239fda93649222fc12d25 Author: Jean Delvare Date: Wed Oct 4 18:38:16 2006 +0200 [ALSA] sound: Don't include i2c-dev.h Don't include as it's not needed. Signed-off-by: Jean Delvare Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cf78bbc4b1dca9ce14b665143cf693c35da47eb0 Author: Tobias Klauser Date: Wed Oct 4 18:12:43 2006 +0200 [ALSA] sound/usb/usbaudio: Handle return value of usb_register() Handle the return value of usb_register() in the module_init function. Signed-off-by: Tobias Klauser Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 082d6c673cae6565d874cd9f64ab304edaa8ef66 Author: Andreas Mohr Date: Wed Oct 4 17:15:04 2006 +0200 [ALSA] via82xx: add __devinitdata add __devinitdata to struct whitelist, since it's used within a __devinit function. Add const attribute to iterator variable, too. Compile-tested (no section warnings etc.) and run-tested on vt8233, 2.6.18-mm3 (hopefully applies well to current ALSA). Signed-off-by: Andreas Mohr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 0f0fe1a08aa421266060ac67e50453a06d9ceb63 Author: John Keller Date: Tue Dec 19 12:56:19 2006 -0800 ACPI: Add support for acpi_load_table/acpi_unload_table_id Make acpi_load_table() available for use by removing it from the #ifdef ACPI_FUTURE_USAGE. Also add a new routine used to unload an ACPI table of a given type and "id" - acpi_unload_table_id(). The implementation of this new routine was almost a direct copy of existing routine acpi_unload_table() - only difference being that it only removes a specific table id instead of ALL tables of a given type. The SN hotplug driver (sgi_hotplug.c) now uses both of these interfaces to dynamically load and unload SSDT ACPI tables. Also, a few other ACPI routines now used by the SN hotplug driver are exported (since the driver can be a loadable module): acpi_ns_map_handle_to_node acpi_ns_convert_entry_to_handle acpi_ns_get_next_node Signed-off-by: Aaron Young Cc: Greg KH Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a8274d57afb83e4954ddcb3f8b7dd1c03a379bd4 Author: James Simmons Date: Tue Dec 19 12:56:16 2006 -0800 fbdev: update after backlight argument change Update the frambuffer drivers to the backlight_device_registers changes. Signed-off-by: James Simmons Cc: Luming Yu Cc: "Antonino A. Daplas" Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 519ab5f2be65b72cf12ae99c89752bbe79b44df6 Author: Yu Luming Date: Tue Dec 19 12:56:15 2006 -0800 ACPI: video: Add dev argument for backlight_device_register This patch set adds generic abstract layer support for acpi video driver to have generic user interface to control backlight and output switch control by leveraging the existing backlight sysfs class driver, and by adding a new video output sysfs class driver. This patch: Add dev argument for backlight_device_register to link the class device to real device object. The platform specific driver should find a way to get the real device object for their video device. [akpm@osdl.org: build fix] [akpm@osdl.org: fix msi-laptop.c] Signed-off-by: Luming Yu Cc: "Antonino A. Daplas" Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit f4715189dfb1c381ad36b7e02e3716fb7a7f84db Author: Thomas Tuttle Date: Tue Dec 19 12:56:14 2006 -0800 ACPI: Implement acpi_video_get_next_level() acpi_video_get_next_level was supposed to implement an algorithm to select a new brightness level based on the old brightness level of an ACPI video device, but it simply says "/* Fix me */" and returns the current brightness. This patch implements acpi_video_get_next_level properly. It had to change a few constants at the top of the file because they were (apparently) wrong, but it appears to work on my Dell Inspiron e1405 (with BIOS A05 only--BIOS A04 doesn't seem to send ACPI video hotkey events). [akpm@osdl.org: cleanups] Signed-off-by: Thomas Tuttle Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 6796a1204cfeac6dab1c2dd682d1138454eca661 Author: Andrew Morton Date: Tue Dec 19 12:56:13 2006 -0800 ACPI: Kconfig - depend on PM rather than selecting it Make ACPI depend on PM rather than selecting it. Otherwise it's a nightmare working out why CONFIG_PM keeps getting set. Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a6fdbf90b94fa4e2f5f7cbb526c71160b6c561c8 Author: Adrian Bunk Date: Tue Dec 19 12:56:13 2006 -0800 ACPI: fix NULL check in drivers/acpi/osl.c Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit a854e08a5a4f57d54991b3a40a80823dd548339d Author: Adrian Bunk Date: Tue Dec 19 12:56:12 2006 -0800 ACPI: make drivers/acpi/ec.c:ec_ecdt static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 1c9bb1a01ac1bc92a0d98cf3e40a7922ee684dc0 Author: Paul Mackerras Date: Wed Dec 20 13:57:06 2006 +1100 [POWERPC] Fix register save area alignment for swapcontext syscall For 32-bit processes, the getcontext side of the swapcontext system call (i.e. the saving of the context when the first argument is non-NULL) has to set the ctx->uc_mcontext.uc_regs pointer to the place where it saves the registers. Which it does, but it doesn't ensure that the pointer is 16-byte aligned. 16-byte alignment is needed because the Altivec/VMX registers are saved in there, and they need to be on a 16-byte boundary. This fixes it by ensuring the appropriate alignment of the pointer. This issue was pointed out by Jakub Jelinek. Signed-off-by: Paul Mackerras commit bb63ab13515951f4d09b16c9e8bd6e50b0f20d1e Author: Linas Vepstas Date: Tue Dec 19 14:00:34 2006 -0600 [POWERPC] Fix PCI device channel state initialization Initialize the pci device pci channel state. This is critical for having the pci_channel_offline() routine (in pci.h) to function correctly. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 173935f3619ae99fef0cea1dbe4de9c83d6c8e72 Author: Vitaly Wool Date: Tue Dec 19 18:44:25 2006 +0300 [POWERPC] Update MTD OF documentation This updates the Documentation/powerpc part of the MTD OF implementation with the new field probe-type. Its support has already been implemented in MTD part (drivers/mtd/maps/physmap_of.c). Signed-off-by: Vitaly Wool Acked-by: Sergei Shtylyov Signed-off-by: Paul Mackerras commit 3f245e2a1eaf603cf9cf4820eb5dd8c5637bc71a Author: David Woodhouse Date: Tue Dec 19 09:54:56 2006 +0000 [POWERPC] Probe Efika platform before CHRP. The Efika matches chrp_probe() too, so put its own probe first to make sure we get it right in a multiplatform build. Signed-off-by: David Woodhouse Signed-off-by: Paul Mackerras commit d28d027ab386ab64c905bfaa0f1e73a06bb4d9b4 Author: Benjamin Herrenschmidt Date: Tue Dec 19 16:42:58 2006 +1100 [POWERPC] Fix build of cell zImage.initrd The patch adding support for zImage.ps3 didn't add a zImage.initrd.ps3 target causing builds of zImage.initrd to fail when ps3 is included in the .config. The current method of generating ps3 images doesn't support initrd's yet, so we create a dummy target that only displays a warning message instead. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ba3ba887c3549656c17675e73e12aaa97c3548f1 Author: Stephen Rothwell Date: Fri Dec 15 15:46:39 2006 +1100 [POWERPC] iSeries: fix CONFIG_VIOPATH dependency This is a long standing typo. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 94c8f9f974f2ad29b90b2830b189d74a633fef49 Author: Stephen Rothwell Date: Fri Dec 15 15:45:13 2006 +1100 [POWERPC] iSeries: fix viocons init Only initialise viocons on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 31c72ad0d10b561e7e5f843747e7d0c1abf4d6f7 Author: Stephen Rothwell Date: Fri Dec 15 15:44:04 2006 +1100 [POWERPC] iSeries: fix viocd init Only initialise viocd on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 687d18abed09315a531470a0edcae977ef6a7f9e Author: Stephen Rothwell Date: Fri Dec 15 15:42:50 2006 +1100 [POWERPC] iSeries: fix iseries_veth init Only initialise iseries_veth on legacy iSeries. Make the init and exit routines static. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit fd38451f1512fd5230e3c5dcc66d1ca867af879b Author: Stephen Rothwell Date: Fri Dec 15 15:41:43 2006 +1100 [POWERPC] iSeries: fix viotape init Only initialise viotape on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit fb8b50078458ba74c3d3f7bf05f5ddc27b88f051 Author: Stephen Rothwell Date: Fri Dec 15 15:40:08 2006 +1100 [POWERPC] iSeries: fix viodasd init Don't initialise viodasd except on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 6f67f9d26fe5ced50f716e9620b42c0721d8b8d9 Author: Benjamin Herrenschmidt Date: Fri Dec 15 07:13:26 2006 +1100 [POWERPC] Workaround oldworld OF bug with IRQs & P2P bridges On some oldworld PowerMacs, OF doesn't assign interrupts properly beyond P2P bridges. Fortunately, the fix is easy as all those machines just wire all IRQ lines together to one IRQ which is assigned to the bridge itself. We already have a special function for parsing Apple OldWorld interrupts which are special, so let's add to it the ability to walk up the PCI tree to find interrupts. This fixes irqs on the lower slots of s900 clones among others. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 83822fc9e6ad2e0f3799174f7c6ad3aa285b9488 Author: Akinobu Mita Date: Tue Dec 19 12:56:10 2006 -0800 ACPI: prevent processor module from loading on failures Make loading processor.ko fail when an error happens. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit f10bb2544bab75b3e8df15a7b51a833c78cbd77f Author: Akinobu Mita Date: Tue Dec 19 12:56:09 2006 -0800 ACPI: fix single linked list manipulation Fix single linked list manipulation for sub_driver. If the remving entry is not on the head of the sub_driver list, it goes into infinate loop. Though that infinite loop doesn't happen. Because the only user of acpi_pci_register_dirver() is acpiphp. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 4afaf54b3b97fa8cf2d1d9bcd7612b195acb53ae Author: Alexey Starikovskiy Date: Mon Dec 18 14:53:33 2006 -0300 ACPI: ibm_acpi: allow clean removal Allow clean removal by setting notify_installed in the right place. Signed-off-by: Alexey Starikovskiy Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Len Brown commit 618b20a13e9ef4ed1d16f1ab94ccce8e4f55f9d9 Author: Ben Dooks Date: Tue Dec 19 23:46:17 2006 +0100 [ARM] 4062/1: S3C24XX: Anubis and Osiris shuld have CONFIG_PM_SIMTEC Both CONFIG_MACH_OSIRIS and CONFIG_MACH_ANUBIS should select CONFIG_PM_SIMTEC. This patch moves the selection of CONFIG_PM_SIMTEC to the machines that require it, as currently done with other machines in the S3C2410 architecture. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 0c234ae655a45ac3ee53a25b2e56e9bb6c27d71d Author: Ulrich Kunitz Date: Sun Dec 10 18:27:01 2006 +0100 [PATCH] ieee80211softmac: Fix mutex_lock at exit of ieee80211_softmac_get_genie ieee80211softmac_wx_get_genie locks the associnfo mutex at function exit. This patch fixes it. The patch is against Linus' tree (commit af1713e0). Signed-off-by: Ulrich Kunitz Signed-off-by: Michael Buesch Acked-by: Johannes Berg Signed-off-by: Larry Finger Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 6f07a8a3eb2adbfacd1322862368da4eb9dd3b45 Author: Ulrich Kunitz Date: Sun Dec 10 18:39:08 2006 +0100 [PATCH] ieee80211softmac: Fix errors related to the work_struct changes The signature of work functions changed recently from a context pointer to the work structure pointer. This caused a problem in the ieee80211softmac code, because the ieee80211softmac_assox_work function has been called directly with a parameter explicitly casted to (void*). This compiled correctly but resulted in a softlock, because mutex_lock was called with the wrong memory address. The patch fixes the problem. Another issue was a wrong call of the schedule_work function. Softmac works again and this fixes the problem I mentioned earlier in the zd1211rw rx tasklet patch. The patch is against Linus' tree (commit af1713e0). Signed-off-by: Ulrich Kunitz Acked-by: Michael Buesch Signed-off-by: Larry Finger Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 4d1feabcbf41f875447a392015acd0796f57baf6 Author: Ulrich Kunitz Date: Sun Dec 10 11:13:12 2006 -0800 [PATCH] zd1211rw: Call ieee80211_rx in tasklet The driver called ieee80211_rx in hardware interrupt context. This has been against the intention of the ieee80211_rx function. It caused a bug in the crypto routines used by WPA. This patch calls ieee80211_rx in a tasklet. Signed-off-by: Ulrich Kunitz Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 2d4ecdf5387a386588ae32e65f14c3c2569d9ef3 Author: Lennert Buytenhek Date: Tue Dec 19 21:46:05 2006 +0100 [ARM] 4060/1: update several ARM defconfigs Update the ep93xx, iop13xx, iop32x, iop33x, ixp2000, ixp23xx, lpd270 and onearm defconfigs to 2.6.20-rc1. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 57fee39f441ad6ac32ac3380eb2833a7d2d8c804 Author: Lennert Buytenhek Date: Tue Dec 19 21:48:15 2006 +0100 [ARM] 4061/1: xsc3: change of maintainer Deepak Saxena has agreed to hand xsc3 maintainership over to me. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit abac08d734151a51506deb35f10caa3b7830659a Author: Ben Dooks Date: Tue Dec 19 19:10:13 2006 +0100 [ARM] 4059/1: VR1000: fix LED3's platform device number LED 3 should have been registered with the platform deviceid of 3, instead of 1 (which was used for LED 1). Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3a2aeda86d9af50510b370cb01bc38aef213a36d Author: Dan Williams Date: Thu Dec 14 23:31:20 2006 +0100 [ARM] 4022/1: iop13xx: generic irq fixups * use irq_chip * use handle_level_irq Signed-off-by: Dan Williams Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 4bc196266e61be1ea9391a6a52c0399c5b394e5b Author: Arnd Bergmann Date: Tue Dec 19 15:32:46 2006 +0100 [POWERPC] powerpc: add scanning of ebc bus to of_platform This patch add scanning of ebc bus to of_platform, which is needed to recognize devices located on that bus. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann commit ccb4911598172a131b6a2d99d7eecfcee1ecc8f7 Author: Arnd Bergmann Date: Tue Dec 19 15:32:45 2006 +0100 [POWERPC] spufs: fix assignment of node numbers The difference between 'nid' and 'node' fields in an spu structure was used incorrectly. The common 'node' number now reflects the NUMA node, and it is used in other places in the code as well. The 'nid' value is meaningful only in one place, namely the computation of the interrupt numbers based on the physical location of an spu. Consequently, we look it up directly in the place where it is used now. Signed-off-by: Arnd Bergmann commit 6e22ba63f01b9bdcd1f29251a95047d310526207 Author: Benjamin Herrenschmidt Date: Tue Dec 19 15:32:44 2006 +0100 [POWERPC] cell: Fix spufs with "new style" device-tree Some SPU code was a bit too convoluted and broke when adding support for the new style device-tree, most notably the struct pages for SPEs no longer get created. oops... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Arnd Bergmann commit a24e57be9baed6ccb552fbdb8e7e29e9c2da0375 Author: Jens Osterkamp Date: Tue Dec 19 15:32:43 2006 +0100 [POWERPC] cell: Enable spider workarounds on all PCI buses Don't limit spider I/O workarounds to the first two buses. The IBM Cell blade has three of them (one PCI, two PCIe) and we want to handle them all. Signed-off-by: Jens Osterkamp Signed-off-by: Arnd Bergmann commit f1fa16e8816a2285ed77070ce60a6858fb7913cc Author: Arnd Bergmann Date: Tue Dec 19 15:32:42 2006 +0100 [POWERPC] cell: add forward struct declarations to spu.h Needed to be able to include spu.h independant from other headers. Signed-off-by: Arnd Bergmann commit ed8ed9ac06604513edd6be6b1c81b6270296b7fc Author: Arnd Bergmann Date: Tue Dec 19 15:32:41 2006 +0100 [POWERPC] cell: update cell_defconfig New options appeared in the kernel, and new hardware became available for us to use. Signed-off-by: Arnd Bergmann commit aba54da3d05e910199ea8255992c244c9abadd91 Author: Artem Bityutskiy Date: Tue Dec 19 15:45:23 2006 +0200 [JFFS2] add cond_resched() when garbage collecting deletion dirent We observe soft lockups when doing heavy test which creates directory with a lot of direntries and deletes them. This cycle is the reason fo this. Make it nicer and add cond_resched() inside of it. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 8e5cfc45e7527eb5c8a9a22d56a7b9227e7c0913 Author: Jens Axboe Date: Tue Dec 19 11:12:46 2006 +0100 [PATCH] Fixup blk_rq_unmap_user() API The blk_rq_unmap_user() API is not very nice. It expects the caller to know that rq->bio has to be reset to the original bio, and it will silently do nothing if that is not done. Instead make it explicit that we need to pass in the first bio, by expecting a bio argument. Signed-off-by: Jens Axboe commit 48785bb9fa39415d7553e234946442579dfcf591 Author: Jens Axboe Date: Tue Dec 19 11:07:59 2006 +0100 [PATCH] __blk_rq_unmap_user() fails to return error If the bio is user copied, the copy back could return -EFAULT. Make sure we return any error seen during unmapping. Signed-off-by: Jens Axboe commit 9c9381f9425ab4d2f9f0458ae9525c18bc832f59 Author: Jens Axboe Date: Tue Dec 19 08:34:17 2006 +0100 [PATCH] __blk_rq_map_user() doesn't need to grab the queue_lock It was for driver private back_merge_fn hooks, but they don't exist anymore. Signed-off-by: Jens Axboe commit 1aa4f24fe96938cabe7a1e9da8bc3bfbd1dfe3fa Author: Jens Axboe Date: Tue Dec 19 08:33:11 2006 +0100 [PATCH] Remove queue merging hooks We have full flexibility of merging parameters now, so we can remove the hooks that define back/front/request merge strategies. Nobody is using them anymore. Signed-off-by: Jens Axboe commit 2985259b0e3928d4cd0723ac5aad0d1190ab7717 Author: Jens Axboe Date: Tue Dec 19 08:27:31 2006 +0100 [PATCH] ->nr_sectors and ->hard_nr_sectors are not used for BLOCK_PC requests It's a file system thing, for block requests the only size used in the io paths is ->data_len as it is in bytes, not sectors. Signed-off-by: Jens Axboe commit f9841a8d6018f8bcba77e75c9e368d94f1f22933 Author: Jean Delvare Date: Tue Dec 19 18:04:33 2006 +1100 drm: Stop defining pci_pretty_name drm drivers no longer use pci_pretty_name so we can stop defining it. Signed-off-by: Jean Delvare Signed-off-by: Dave Airlie commit 83a9e29b0fd753c28e3979d638a8ebfd3f6ebc96 Author: Dave Airlie Date: Tue Dec 19 17:56:14 2006 +1100 drm: r128: comment aligment with drm git Align some r128 license comments Signed-off-by: Dave Airlie commit 0c4dd906a220fac7997048178ee4f5d8c378b38b Author: Dave Airlie Date: Tue Dec 19 17:49:44 2006 +1100 drm: make kernel context switch same as for drm git tree. Signed-off-by: Dave Airlie commit 94bb598e6b7d68690426f4c7c4385823951861eb Author: Dave Airlie Date: Tue Dec 19 17:49:08 2006 +1100 drm: fixup comment header style Signed-off-by: Dave Airlie commit 183b4aeefa1ff8e0a792b95d5d56f0994d022449 Author: Eric Anholt Date: Tue Dec 19 17:20:02 2006 +1100 drm: savage: compat fix from drm git. Signed-off-by: Dave Airlie commit d5cb8d38cd0029b3573e1c8d5d99d99c86dbdbd6 Author: Gabriel Mansi Date: Sat Dec 16 20:24:27 2006 -0300 [AGPGART] K8M890 support for amd-k8. Signed-off-by: Dave Jones commit a52de245ef0b6217a56fb2472ff65c3a196cafd5 Author: Mike Miller Date: Mon Dec 18 11:00:14 2006 +0100 [PATCH] cciss: fix XFER_READ/XFER_WRITE in do_cciss_request This patch fixes a stupid bug. Sometime during the 2tb enhancement I ended up replacing the macros XFER_READ and XFER_WRITE with h->cciss_read and h->cciss_write respectively. It seemed to work somehow at least on x86_64 and ia64. I don't know how. But people started complaining about command timeouts on older controllers like the 64xx series and only on ia32. This resolves the issue reproduced in our lab. Please consider this for inclusion. Thanks, mikem Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit 89f97ad1894ab518b05b798906085fb3d1b2d00f Author: Mike Miller Date: Mon Dec 18 10:59:39 2006 +0100 [PATCH] cciss: set default raid level when reading geometry fails This patch sets a default raid level on a volume that either does not support reading the geometry or reports an invalid geometry for whatever reason. We were always setting some values for heads and sectors but never set a raid level. This caused lots of problems on some buggy firmware. Please consider this for inclusion. Thanks, mikem Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit a240d9f1d8e6421cb970632b93e71b2f66c2cd70 Author: Evgeniy Polyakov Date: Mon Dec 18 01:53:58 2006 -0800 [CONNECTOR]: Replace delayed work with usual work queue. Signed-off-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit 14fb8a764786e37ac26a2175638115f21980e5a3 Author: Li Yewang Date: Mon Dec 18 00:26:35 2006 -0800 [IPV4]: Fix BUG of ip_rt_send_redirect() Fix the redirect packet of the router if the jiffies wraparound. Signed-off-by: Li Yewang Signed-off-by: David S. Miller commit a9fc00cca8327dba3ec2a6c727f4b5b1c449f2a2 Author: Leigh Brown Date: Sun Dec 17 17:13:10 2006 -0800 [TCP]: Trivial fix to message in tcp_v4_inbound_md5_hash The message logged in tcp_v4_inbound_md5_hash when the hash was expected but not found was reversed. Signed-off-by: Leigh Brown Signed-off-by: David S. Miller commit 8228a18dd30f5c988b722495ea6c25cb1d2be035 Author: Leigh Brown Date: Sun Dec 17 17:12:30 2006 -0800 [TCP]: Fix oops caused by tcp_v4_md5_do_del md5sig_info.alloced4 must be set to zero when freeing keys4, otherwise it will not be alloc'd again when another key is added to the same socket by tcp_v4_md5_do_add. Signed-off-by: Leigh Brown Signed-off-by: David S. Miller commit d8172d822fb02d5c4f7508e41f9267428dd3d891 Author: Evgeniy Polyakov Date: Sun Dec 17 17:09:41 2006 -0800 [CONNECTOR]: Fix compilation breakage introduced recently. Linus has changed work queue structure and has not tested it with connector compiled in, his changes break the build. Attached patch fixes compilation error. Patch is against commit 99f5e9718185f07458ae70c2282c2153a2256c91. Thanks to Toralf Förster for pointing this out. Signed-off-by: Evgeniy Polyakov Signed-off-by: David S. Miller commit 749494bad9ca170e404b8dcebe8422df0d79b3ac Author: Michael Chan Date: Sun Dec 17 17:08:30 2006 -0800 [TG3]: Update version and reldate. Update version to 3.71. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 60189ddff03ffce1f0442a7591b2abafdf47e6a3 Author: Michael Chan Date: Sun Dec 17 17:08:07 2006 -0800 [TG3]: Power down/up 5906 PHY correctly. The 5906 PHY requires a special register bit to power down and up the PHY. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit c49a1561ee4b663d2819b5bea3e4684eae217b19 Author: Michael Chan Date: Sun Dec 17 17:07:29 2006 -0800 [TG3]: Fix race condition when calling register_netdev(). Hot-plug scripts can call tg3_open() as soon as register_netdev() is called in tg3_init_one(). We need to call pci_set_drvdata() before register_netdev(), and netif_carrier_off() needs to be moved to tg3_open() to avoid race conditions. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 24fcad6b3ca3bdbbb4614de3edc1ff16f594ba9a Author: Michael Chan Date: Sun Dec 17 17:06:46 2006 -0800 [TG3]: Assign tp->link_config.orig_* values. tp->link_config.orig_* values must be assigned during tg3_set_settings() because these values will be used to setup the link speed during tg3_open(). Without these assignments, the link speed settings will be all messed by if tg3_set_settings() is called when the device is down. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9b54d5c610fc5ba191d28c356b81999e81d9b515 Author: David S. Miller Date: Sun Dec 17 14:37:23 2006 -0800 [NETFILTER] IPV6: Fix dependencies. Although the menu dependencies in net/ipv6/netfilter/Kconfig guard the entries in that file from the Kconfig GUI, this does not prevent them from being selected still via "make oldconfig" when IPV6 etc. is disabled. So add explicit dependencies. Signed-off-by: David S. Miller commit 6634292be47856c571634944dc0f6c8498602032 Author: Michael Chan Date: Thu Dec 14 15:57:04 2006 -0800 [BNX2]: Fix minor loopback problem. Use the configured MAC address instead of the permanent MAC address for loopback frames. Update version to 1.5.2. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6a13add1e1b802a29187a9af98a6ca26539dc33d Author: Michael Chan Date: Thu Dec 14 15:56:50 2006 -0800 [BNX2]: Fix bug in bnx2_nvram_write(). Length was not calculated correctly if the NVRAM offset is on a non- aligned offset. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit faac9c4b753f420c02bdce0785d2657087830a12 Author: Michael Chan Date: Thu Dec 14 15:56:32 2006 -0800 [BNX2]: Fix panic in bnx2_tx_int(). There was an off-by-one bug in bnx2_tx_avail(). If the tx ring is completely full, the producer and consumer indices may be apart by 256 even though the ring size is only 255. One entry in the ring is unused and must be properly accounted for when calculating the number of available entries. The bug caused the tx ring entries to be reused by mistake, overwriting active entries, and ultimately causing it to crash. This bug rarely occurs because the tx ring is rarely completely full. We always stop when there is less than MAX_SKB_FRAGS entries available in the ring. Thanks to Corey Kovacs and Andy Gospodarek for reporting the problem and helping to collect debug information. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a3d384029aa304f8f3f5355d35f0ae274454f7cd Author: Ralf Baechle Date: Thu Dec 14 15:52:13 2006 -0800 [AX.25]: Fix unchecked rose_add_loopback_neigh uses rose_add_loopback_neigh uses kmalloc and the callers were ignoring the error value. Rewrite to let the caller deal with the allocation. This allows the use of static allocation of kmalloc use entirely. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit a159aaa328a02b0189774c58ae7d917b25d26852 Author: Ralf Baechle Date: Thu Dec 14 15:51:44 2006 -0800 [AX.25]: Fix unchecked rose_add_loopback_node uses Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit a4282717c102aef2bfab1d947c392de4d8abc0ec Author: Ralf Baechle Date: Thu Dec 14 15:51:23 2006 -0800 [AX.25]: Fix unchecked ax25_linkfail_register uses ax25_linkfail_register uses kmalloc and the callers were ignoring the error value. Rewrite to let the caller deal with the allocation. This allows the use of static allocation of kmalloc use entirely. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 58bc57471514be9206ebcda90b1076f6be41d1c7 Author: Ralf Baechle Date: Thu Dec 14 15:50:58 2006 -0800 [AX.25]: Fix unchecked nr_add_node uses. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 81dcd1690697efbdf8126e78fbbf7c76d359377f Author: Ralf Baechle Date: Thu Dec 14 15:50:34 2006 -0800 [AX.25]: Fix unchecked ax25_listen_register uses Fix ax25_listen_register to return something that's a sane error code, then all callers to use it. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 8d5cf596d10d740b69b5f4bbdb54b85abf75810d Author: Ralf Baechle Date: Thu Dec 14 15:50:01 2006 -0800 [AX.25]: Fix unchecked ax25_protocol_register uses. Replace ax25_protocol_register by ax25_register_pid which assumes the caller has done the memory allocation. This allows replacing the kmalloc allocations entirely by static allocations. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit c9266b99e2def0a456766220df09713f8e765891 Author: Ralf Baechle Date: Thu Dec 14 15:49:28 2006 -0800 [AX.25]: Mark all kmalloc users __must_check The recent fix 0506d4068bad834aab1141b5dc5e748eb175c6b3 made obvious that error values were not being propagated through the AX.25 stack. To help with that this patch marks all kmalloc users in the AX.25, NETROM and ROSE stacks as __must_check. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit bd2b334378530f6dbe03f6325b8c885524e298a3 Author: Yan Burman Date: Thu Dec 14 15:25:00 2006 -0800 [TG3]: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Acked-by: Michael Chan Signed-off-by: David S. Miller commit 7686fcf7304eebd2228ec47045cb28ee3c58b1f1 Author: Al Viro Date: Fri Dec 8 09:16:49 2006 +0000 [PATCH] more work_struct fixes: tas300x sound drivers Signed-off-by: Al Viro Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 8a8b836b91aa170a383f2f360b73d3d23160d9d7 Author: David S. Miller Date: Sun Dec 17 16:18:47 2006 -0800 [SPARC]: Make bitops use same spinlocks as atomics. Recent workqueue changes basically make this a formal requirement. Also, move atomic32.o from lib-y to obj-y since it exports symbols to modules. Signed-off-by: David S. Miller commit 0f7d667ba341337b77b31ce81be04b16b3964cf6 Author: Krzysztof Helt Date: Tue Dec 12 15:02:32 2006 +0100 [ARM] 4015/1: s3c2410 cpu ifdefs The patch adds ifdefs around per cpu definitions. Otherwise, if not all cpu types are selected, the kernel does not link. Signed-off-by: Krzysztof Helt Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c041ffb36407897bbc3b7bf87d1fa856ce085cdf Author: Lennert Buytenhek Date: Mon Dec 18 01:04:09 2006 +0100 [ARM] 4057/1: ixp23xx: unconditionally enable hardware coherency On ixp23xx, it was thought to be necessary to disable coherency to work around certain silicon errata. This turns out not to be the case -- none of the documented errata workarounds require disabling coherency, and disabling coherency does not work around any existing errata. Furthermore, all ixp23xx models do support coherency, so we should just unconditionally enable coherency for all ixp23xx. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit ab9d90db956dec1a83f4c4ef443df6bdbfc3f25d Author: Lennert Buytenhek Date: Mon Dec 18 01:02:24 2006 +0100 [ARM] 4056/1: iop13xx: fix resource.end off-by-one in flash setup The struct resource 'end' field is inclusive, the iop13xx flash setup code got this wrong. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 6d2e857d02a59332b7cd89aeac8b5962a357ac7a Author: Lennert Buytenhek Date: Mon Dec 18 01:01:08 2006 +0100 [ARM] 4055/1: iop13xx: fix phys_io/io_pg_offst for iq81340mc/sc The phys_io/io_pg_offst machine record variables were being set to bogus values, causing problems when enabling DEBUG_LL. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 99e4a6dda9dc4b863773c0a5857b762474b817cf Author: Lennert Buytenhek Date: Mon Dec 18 00:59:10 2006 +0100 [ARM] 4054/1: ep93xx: add HWCAP_CRUNCH Add HWCAP_CRUNCH so that the dynamic linker knows whether it can use Crunch-optimised libraries or not. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 9bcb533c1338813085b0a35a6dd0887eb5a5af67 Author: Ben Dooks Date: Mon Dec 18 00:39:47 2006 +0100 [ARM] 4052/1: S3C24XX: Fix PM in arch/arm/mach-s3c2410/Kconfig Fix up the CONFIG_PM mixups in arch/arm/mach-s3c2410/Kconfig causing CONFIG_S3C2410_PM and CONFIG_PM_H1940 to get enabled permanently. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 255d1f8639f5877381545d0da6821079ebad1c21 Author: Russell King Date: Mon Dec 18 00:12:47 2006 +0000 [ARM] Fix warnings from asm/system.h Move adjust_cr() into arch/arm/mm/mmu.c, and move irqflags.h to a more appropriate place in the header file. Signed-off-by: Russell King commit 928ee513c2fc39799cb13302bc02344a849fa37c Author: Dave Jones Date: Sun Dec 17 19:09:59 2006 -0500 [CPUFREQ] longhaul compile fix. Some gcc's are more anal than others about empty switch labels. error: label at end of compound statement Signed-off-by: Dave Jones commit 8ec9822dd1851698a3d26599c3105c11124b2c0b Author: Dave Jones Date: Sun Dec 17 19:07:35 2006 -0500 [CPUFREQ] Advise not to use longhaul on VIA C7. C7's are centrino speedstep-alike. Signed-off-by: Dave Jones commit 994adcc36d8c2133fce01f4d3fe4e41007555913 Author: Ben Dooks Date: Sun Dec 17 23:32:21 2006 +0100 [ARM] 4051/1: S3C24XX: clean includes in S3C2440 and S3C2442 support Clean the includes in arch/arm/mach-s3c2410/s3c2440.c and arch/arm/mach-s3c2410/s3c2442.c which should have been pruned when these where split and updated. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 92211ac71e189942968af57e5d0aed30083760ef Author: Ben Dooks Date: Sun Dec 17 23:26:13 2006 +0100 [ARM] 4050/1: S3C24XX: remove old changelogs in arch/arm/mach-s3c2410 Remove old changelog entries in arch/arm/mach-s3c2410 which should be available from the version control system. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b6d1f542e3f44f8988b601e3ca6277c143282179 Author: Ben Dooks Date: Sun Dec 17 23:22:26 2006 +0100 [ARM] 4049/1: S3C24XX: fix sparse warning due to upf_t in regs-serial.h Change the include/asm-arm/arch-s3c2410/regs-serial.h platform data to use the prorper type (upf_t) for the uart_flags. Fix all the other parts of arch/arm/mach-s3c2410 to include and all other uses of the include file. mach-rx3715.c:101:18: warning: incorrect type in initializer (different base types) mach-rx3715.c:101:18: expected unsigned long [unsigned] uart_flags mach-rx3715.c:101:18: got restricted unsigned int [usertype] [force] Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9162b7dbf5652a4ae99980235cd8992223258408 Author: Ben Dooks Date: Sun Dec 17 22:44:56 2006 +0100 [ARM] 4048/1: S3C24XX: make s3c2410_pm_resume() static Remove warning from s3c2410_pm_resume() not being declared by making it static. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 7ae9e420de165c2a992d116002d05655138d8f24 Author: Ben Dooks Date: Sun Dec 17 20:59:37 2006 +0100 [ARM] 4046/1: S3C24XX: fix sparse errors arch/arm/mach-s3c2410 Fix the following sparse errors in arch/arm/mach-s3c2410 by fixing the include paths and making un-exported items static. s3c2410-clock.c:206:12: warning: symbol 's3c2410_baseclk_add' was not declared. Should it be static? s3c2412-clock.c:559:17: warning: symbol 'clks_src' was not declared. Should it be static? s3c2412-clock.c:622:12: warning: symbol 'clks' was not declared. Should it be static? s3c2412-clock.c:630:12: warning: symbol 's3c2412_baseclk_add' was not declared. Should it be static? Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 58d19d6ea608077e83c30e58ae1494246b1f6b82 Author: Ben Dooks Date: Sun Dec 17 20:50:55 2006 +0100 [ARM] 4045/1: S3C24XX: remove old VA for non-shared areas Remove old (and non-shared) VA addresses from the mappings in arch/arm/mach-s3c2410/map.h and anywhere they are being mapped in arch/arm/mach-s3c2410 Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 3e940b6a90c346a224c97570a97a150a16f1c036 Author: Ben Dooks Date: Sun Dec 17 20:41:45 2006 +0100 [ARM] 4044/1: S3C24XX: fix sparse warnings in arch/arm/mach-s3c2410/s3c2442-clock.c Fix sparse errors in arch/arm/mach-s3c2410/s3c2442-clock.c warning: symbol 'clk_h' shadows an earlier one warning: symbol 'clk_p' shadows an earlier one warning: symbol 'clk_upll' shadows an earlier one Signed-off-by: Ben Dooks Signed-off-by: Russell King commit e546e8af469ee97ffea8903b21c39e5131fd33bd Author: Ben Dooks Date: Sun Dec 17 20:38:14 2006 +0100 [ARM] 4043/1: S3C24XX: fix sparse warnings in arch/arm/mach-s3c2410/s3c2440-clock.c Fix the sparse errors in arch/arm/mach-s3c2410/s3c2440-clock.c warning: symbol 'clk_h' shadows an earlier one warning: symbol 'clk_p' shadows an earlier one warning: symbol 'clk_upll' shadows an earlier one Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 2d8c1cef84dcba462e1806c1223aecd97df33f99 Author: Ben Dooks Date: Sun Dec 17 20:18:40 2006 +0100 [ARM] 4042/1: H1940: Fix sparse errors from VA addresses Fix address-space conversion errors from passing addresses generated from include/asm-arm/arch-s3c2410/map.h by adding an __force argument to the `void __iomem *` for all the virtual addresses. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit cdcb38352b6cf97241d4c3969f93f792026d18cc Author: Ben Dooks Date: Sun Dec 17 20:15:13 2006 +0100 [ARM] 4041/1: S3C24XX: Fix sparse errors from VA addresses Fix address-space conversion errors from passing addresses generated from include/asm-arm/arch-s3c2410/map.h by adding an __force argument to the `void __iomem *` for all the virtual addresses. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c16f7bd8d48f64ba2d87ab821288815c9e35b14d Author: Ben Dooks Date: Sun Dec 17 20:05:21 2006 +0100 [ARM] 4040/1: S3C24XX: Fix copyrights in arch/arm/mach-s3c2410 Fix the copyright messages in arch/arm/mach-s3c2410 to actually have `Copyright` in the line. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 9d6be125ba8b7cd3af4832094bf3643e09d6e39b Author: Ben Dooks Date: Sun Dec 17 20:02:01 2006 +0100 [ARM] 4039/1: S3C24XX: Fix copyrights in include/asm-arm/arch-s3c2410 (mach) Fix copyright notices in include/asm-arm/arch-s3c2410 to actually have `Copyright` in the line. This patch deals with all the core files. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit f056076ea727f7c291daf17da4ae25af474f0c67 Author: Ben Dooks Date: Sun Dec 17 19:59:20 2006 +0100 [ARM] 4038/1: S3C24XX: Fix copyrights in include/asm-arm/arch-s3c2410 (core) Fix copyright notices in include/asm-arm/arch-s3c2410 to actually have `Copyright` in the line. This patch deals with all the core files. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 2343217fb770ef2b172a12186c0cd0526bfb7d0c Author: Pavel Machek Date: Sun Dec 17 13:21:05 2006 +0100 [ARM] 4035/1: fix collie compilation Thanks to Al Viro, here's fix to 2.6.20-rc1-git, so that collie compiles, again. It was broken by INIT_WORK changes. Signed-off-by: Pavel Machek Signed-off-by: Russell King commit 46a34d68901c12621ef09f11a5d410b92f0643e4 Author: Richard Purdie Date: Sun Dec 17 01:01:11 2006 +0100 [ARM] 4034/1: pxafb: Fix compile errors Fix pxafb compile failures when CONFIG_FB_PXA_PARAMETERS is enabled after recent structure changes. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit c924aff853bdc1c9841dd22440f931fba5ab3a59 Author: Russell King Date: Sun Dec 17 23:29:57 2006 +0000 [ARM] Fix BUG()s in ioremap() code We need to ensure that the area size is page aligned so that remap_area_pte() doesn't increment the address past the end of the desired area. Signed-off-by: Russell King commit a507ac4b01ed379a74eca5060f3553c4a4e5854c Author: Mattia Dongili Date: Fri Dec 15 19:52:45 2006 +0100 [CPUFREQ] set policy->curfreq on initialization Check the correct variable and set policy->cur upon acpi-cpufreq initialization to allow the userspace governor to be used as default. Signed-off-by: Mattia Dongili Acked-by: "Pallipadi, Venkatesh" Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 216da721b881838d639a3987bf8a825e6b4aacdd Author: David S. Miller Date: Sun Dec 17 14:21:34 2006 -0800 [SPARC]: Update defconfig. Signed-off-by: David S. Miller commit 5a089006bf8b59f6610de11a857854d8f8730658 Author: David S. Miller Date: Thu Dec 14 23:40:57 2006 -0800 [SPARC64]: Mirror x86_64's PERCPU_ENOUGH_ROOM definition. Signed-off-by: David S. Miller commit 9bc83dcff8fab1f22048c8f82deb3198ec44d53f Author: Fabrice Knevez Date: Thu Dec 14 15:20:29 2006 -0800 [SUNKBD]: Fix sunkbd_enable(sunkbd, 0); obvious. "sunkbd_enable(sunkbd, 0);" has no effect. Adding "sunkbd->enabled = enable" in sunkbd_enable (obvious) Signed-off-by: Fabrice Knevez Signed-off-by: David S. Miller commit b06824cecafdacf2b12de583d4b41fd9c583c8c4 Author: David S. Miller Date: Tue Dec 12 01:00:06 2006 -0800 [DocBook]: Fix two typos in generic IRQ docs. desc-status --> desc->status Signed-off-by: David S. Miller commit 729e7d7e4dc6b905e40992b6439b07153db4bd63 Author: David S. Miller Date: Tue Dec 12 00:59:12 2006 -0800 [SPARC64]: Minor irq handling cleanups. Use struct irq_chip instead of hw_interrupt_type. Delete hw_resend_irq(), totally unused. Signed-off-by: David S. Miller commit 15f1483404f3497c66872de13f3d585e3da87785 Author: David S. Miller Date: Mon Dec 11 21:06:55 2006 -0800 [SPARC64]: Kill no-remapping-needed code in head.S It branches around some necessary prom calls, which we would need to do even if we are mapped at the correct location already. So it doesn't work. The idea was that this sort of thing could be used for the eventual kexec implementation, but it is clear that this will need to be done differently. Signed-off-by: David S. Miller commit 5a059f1ac0ed0c937257027aed5da50241f5ec2b Author: Russell King Date: Sun Dec 17 18:23:10 2006 +0000 [ARM] Add more syscalls Add: sys_unshare sys_set_robust_list sys_get_robust_list sys_splice sys_arm_sync_file_range sys_tee sys_vmsplice sys_move_pages sys_getcpu Special note about sys_arm_sync_file_range(), which is implemented as: asmlinkage long sys_arm_sync_file_range(int fd, unsigned int flags, loff_t offset, loff_t nbytes) { return sys_sync_file_range(fd, offset, nbytes, flags); } We can't export sys_sync_file_range() directly on ARM because the argument list someone picked does not fit in the available registers. Would be nice if... there was an arch maintainer review mechanism for new syscalls before they hit the kernel. Signed-off-by: Russell King commit 825020c3866e7312947e17a0caa9dd1a5622bafc Author: Oleg Nesterov Date: Sun Dec 17 18:52:47 2006 +0300 [PATCH] sys_mincore: s/max/min/ fix a typo, sys_mincore() needs min(). Signed-off-by: Oleg Nesterov Signed-off-by: Linus "I'm a moron" Torvalds commit 2bb71b5a44bfbe0d2066ee041149995f43b52d12 Author: Al Viro Date: Thu Dec 14 15:00:15 2006 +0000 [PATCH] m68k trivial build fixes amikbd: missing declaration sun3_NCR5380: more work_struct mess sun3_NCR5380: cast is not an lvalue Signed-off-by: Al Viro commit 4fb23e439ce09157d64b89a21061b9fc08f2b495 Author: Linus Torvalds Date: Sat Dec 16 16:01:50 2006 -0800 Fix up mm/mincore.c error value cases Hugh Dickins correctly points out that mincore() is actually _supposed_ to fail on an unmapped hole in the user address space, rather than return valid ("empty") information about the hole. This just simplifies the problem further (I had been misled by our previous confusing and complicated way of doing mincore()). Also, in the unlikely situation that we can't allocate a temporary kernel buffer, we should actually return EAGAIN, not ENOMEM, to keep the "unmapped hole" and "allocation failure" error cases separate. Finally, add a comment about our stupid historical lack of support for anonymous mappings. I'll fix that if somebody reminds me after 2.6.20 is out. Acked-by: Hugh Dickins Signed-off-by: Linus Torvalds commit a08727bae727fc2ca3a6ee9506d77786b71070b3 Author: Linus Torvalds Date: Sat Dec 16 09:53:50 2006 -0800 Make workqueue bit operations work on "atomic_long_t" On architectures where the atomicity of the bit operations is handled by external means (ie a separate spinlock to protect concurrent accesses), just doing a direct assignment on the workqueue data field (as done by commit 4594bf159f1962cec3b727954b7c598b07e2e737) can cause the assignment to be lost due to lack of serialization with the bitops on the same word. So we need to serialize the assignment with the locks on those architectures (notably older ARM chips, PA-RISC and sparc32). So rather than using an "unsigned long", let's use "atomic_long_t", which already has a safe assignment operation (atomic_long_set()) on such architectures. This requires that the atomic operations use the same atomicity locks as the bit operations do, but that is largely the case anyway. Sparc32 will probably need fixing. Architectures (including modern ARM with LL/SC) that implement sane atomic operations for SMP won't see any of this matter. Cc: Russell King Cc: David Howells Cc: David Miller Cc: Matthew Wilcox Cc: Linux Arch Maintainers Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 2f77d107050abc14bc393b34bdb7b91cf670c250 Author: Linus Torvalds Date: Sat Dec 16 09:44:32 2006 -0800 Fix incorrect user space access locking in mincore() Doug Chapman noticed that mincore() will doa "copy_to_user()" of the result while holding the mmap semaphore for reading, which is a big no-no. While a recursive read-lock on a semaphore in the case of a page fault happens to work, we don't actually allow them due to deadlock schenarios with writers due to fairness issues. Doug and Marcel sent in a patch to fix it, but I decided to just rewrite the mess instead - not just fixing the locking problem, but making the code smaller and (imho) much easier to understand. Cc: Doug Chapman Cc: Marcel Holtmann Cc: Hugh Dickins Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 5c9a76118d24f044b8d8ee721dbbf4e5c7db3dbb Author: Alan Date: Sat Dec 16 14:32:21 2006 +0000 [PATCH] pata_via: Cable detect error The UDMA66 VIA hardware has no controller side cable detect bits we can use. This patch minimally fixes the problem by reporting unknown in this case and using drive side detection. The old drivers/ide code does some additional tricks but those aren't appropriate now we are in -rc. Without this update UDMA66 via controllers run slowly. They don't fail so it's a borderline call whether this is -rc material or not. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2bfc3611bd91986ed2b979a7f536c52751c8ac8f Author: Alan Date: Sat Dec 16 12:54:29 2006 +0000 [PATCH] Fix help text for CONFIG_ATA_PIIX > Thanks for clarifying Bill, and sorry Alan. ata_piix does indeed work > correctly. The help text is a bit confusing: > > config ATA_PIIX > tristate "Intel PIIX/ICH SATA support" > depends on PCI > help > This option enables support for ICH5/6/7/8 Serial ATA. > If PATA support was enabled previously, this enables > support for select Intel PIIX/ICH PATA host controllers. New help text Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0457882fed8af8580fb2f08183ea2dfbbc3ccac6 Author: Ira Snyder Date: Fri Dec 15 13:08:52 2006 -0800 [PATCH] initializer entry defined twice in pata_rz1000 This removes the extra definition of the .error_handler member in the pata_rz1000 driver. Signed-off-by: Ira W. Snyder Cc: Jeff Garzik Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9825d73ceb6cad9b9c2ee2dc2971b58dbe8623cd Author: Akinobu Mita Date: Fri Dec 15 13:08:51 2006 -0800 [PATCH] ata: fix platform_device_register_simple() error check The return value of platform_device_register_simple() should be checked by IS_ERR(). Cc: Jeff Garzik Acked-by: Alan Cox Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 551c012d7eea3dc5ec063c7ff9c718d39e77634f Author: Tejun Heo Date: Tue Dec 12 20:17:32 2006 +0900 [PATCH] ahci: do not mangle saved HOST_CAP while resetting controller Do not mangle with HOST_CAP while resetting controller. The code is there for a historical reason. The mangling breaks controller feature detection and 0 PORTS_IMPL workaround code. This problem was spotted by Manoj Kasichainula. Signed-off-by: Tejun Heo Cc: Manoj Kasichainula Signed-off-by: Jeff Garzik commit 33480a0ede8dcc7e6483054279008f972bd56fd3 Author: Tejun Heo Date: Tue Dec 12 02:15:31 2006 +0900 [PATCH] libata: don't initialize sg in ata_exec_internal() if DMA_NONE (take #2) Calling sg_init_one() with NULL buf causes oops on certain configurations. Don't initialize sg in ata_exec_internal() if DMA_NONE and make the function complain if @buf is NULL when dma_dir isn't DMA_NONE. While at it, fix comment. The problem is discovered and initial patch was submitted by Arnd Bergmann. Signed-off-by: Tejun Heo Cc: Arnd Bergmann Signed-off-by: Jeff Garzik commit c10340aca270abb141154cd93dcf1be0b92143fc Author: Jeff Garzik Date: Thu Dec 14 17:04:33 2006 -0500 [libata] sata_svw: Disable ATAPI DMA on current boards (errata workaround) Current Broadcom/Serverworks SATA boards (including Apple K2 SATA) have problems with ATAPI DMA, so it is disabled. ATAPI PIO, ATA PIO, and ATA DMA continue to work just fine. Acked-by: Anantha Subramanyam Signed-off-by: Jeff Garzik commit da02d2a16ef3accd625f9e6e7bf83bb0f946ff62 Author: Jeff Garzik Date: Mon Dec 11 11:05:53 2006 -0500 [libata] use kmap_atomic(KM_IRQ0) in SCSI simulator We are inside spin_lock_irqsave(). quoth akpm's debug facility: [ 231.948000] SCSI device sda: 195371568 512-byte hdwr sectors (100030 MB) [ 232.232000] ata1.00: configured for UDMA/33 [ 232.404000] WARNING (1) at arch/i386/mm/highmem.c:47 kmap_atomic() [ 232.404000] [] kmap_atomic+0xa9/0x1ab [ 232.404000] [] ata_scsi_rbuf_get+0x1c/0x30 [ 232.404000] [] ata_scsi_rbuf_fill+0x1a/0x87 [ 232.404000] [] ata_scsiop_mode_sense+0x0/0x309 [ 232.404000] [] end_bio_bh_io_sync+0x0/0x37 [ 232.404000] [] scsi_done+0x0/0x16 [ 232.404000] [] scsi_done+0x0/0x16 [ 232.404000] [] ata_scsi_simulate+0xb0/0x13f [...] Signed-off-by: Jeff Garzik commit fae07dc389bc32a3638b9d4c61dd3738ca3fb61d Author: Tejun Heo Date: Mon Dec 11 22:26:25 2006 +0900 [PATCH] ata_piix: use piix_host_stop() in ich_pata_ops piix_init_one() allocates host private data which should be freed by piix_host_stop(). ich_pata_ops wasn't converted to piix_host_stop() while merging, leaking 4 bytes on driver detach. Fix it. This was spotted using Kmemleak by Catalin Marinas. Signed-off-by: Tejun Heo Cc: Catalin Marinas Signed-off-by: Jeff Garzik commit f98b6573f190aff2748894da13a48bab0f10c733 Author: Jason Gaston Date: Thu Dec 7 08:57:32 2006 -0800 [PATCH] ata_piix: IDE mode SATA patch for Intel ICH9 This updated patch adds the Intel ICH9 IDE mode SATA controller DID's. Signed-off-by: Jason Gaston Acked-by: Tejun Heo Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7e244322cd4ea361ef9ee623b3fcb4d9f4ff841c Author: Len Brown Date: Sat Dec 16 00:59:38 2006 -0500 ACPI: fix git automerge failure Signed-off-by: Len Brown commit 25c68a33b7b74b37793b1250007e5e21d621a7fc Author: Len Brown Date: Fri Dec 8 04:43:41 2006 -0500 ACPI: ibm_acpi: respond to workqueue update Signed-off-by: Len Brown commit 0b0df6f2079e731c44226a0673b07a166509a5de Author: Roland Dreier Date: Fri Dec 15 20:55:28 2006 -0800 IB/mthca: Use DEFINE_MUTEX() instead of mutex_init() mthca_device_mutex() can be initialized automatically with DEFINE_MUTEX() rather than explicitly calling mutex_init(). This saves a bit of text and shrinks the source by a line, so we may as well do it.... Signed-off-by: Roland Dreier commit 82da703ee685b69b921b20eb76b50e519ca9956c Author: Leonid Arsh Date: Sun Dec 10 13:40:17 2006 +0200 IB/mthca: Add HCA profile module parameters Add module parameters that enable settting some of the HCA profile values, such as the number of QPs, CQs, etc. Signed-off-by: Leonid Arsh Signed-off-by: Moni Shoua Signed-off-by: Roland Dreier commit 0221872a3b0aa2fa2f3fa60affcbaebd662c4a90 Author: Linus Torvalds Date: Fri Dec 15 14:13:51 2006 -0800 Fix "delayed_work_pending()" macro expansion Nobody uses it, but it was still wrong. Using the macro argument name 'work' meant that when we used 'work' as a member name, that would also get replaced by the macro argument. Signed-off-by: Linus Torvalds commit bf628dc22a09ed2022abb32c76011ae5f99ad6b0 Author: Roland Dreier Date: Fri Dec 15 14:01:49 2006 -0800 IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G struct srp_device.fmr_page_mask was unsigned long, which means that the top part of addresses above 4G was being chopped off on 32-bit architectures. Of course nothing good happens when data from SRP targets is DMAed to the wrong place. Fix this by changing fmr_page_mask to u64, to match the addresses actually used by IB devices. Thanks to Brian Cain and David McMillen for help diagnosing the bug and testing the fix. Signed-off-by: Roland Dreier commit c59a3da1342ff456e5123361739bc331446cda21 Author: Roland Dreier Date: Fri Dec 15 13:57:26 2006 -0800 IB: Fix ib_dma_alloc_coherent() wrapper The ib_dma_alloc_coherent() wrapper uses a u64* for the dma_handle parameter, unlike dma_alloc_coherent, which uses dma_addr_t*. This means that we need a temporary variable to handle the case when ib_dma_alloc_coherent() just falls through directly to dma_alloc_coherent() on architectures where sizeof u64 != sizeof dma_addr_t. Signed-off-by: Roland Dreier commit 1003f06953472ecc34f12d9867670f475a8c1af6 Author: Steven Whitehouse Date: Tue Dec 12 10:16:25 2006 +0000 [GFS2] Fix Kconfig Here is a patch to fix up the Kconfig so that we don't land up with problems when people disable the NET subsystem. Thanks for all the hints and suggestions that people have sent me regarding this. Signed-off-by: Steven Whitehouse Cc: Aleksandr Koltsoff Cc: Toralf Förster Cc: Randy Dunlap Cc: Adrian Bunk Cc: Chris Zubrzycki Cc: Patrick Caulfield commit c80e7c83d56866a735236b45441f024b589f9e88 Author: Patrick Caulfield Date: Fri Dec 8 14:31:12 2006 -0500 [DLM] fix compile warning This patch fixes a compile warning in lowcomms-tcp.c indicating that kmem_cache_t is deprecated. Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit d1526e2cda64d5a1de56aef50bad9e5df14245c2 Author: Linus Torvalds Date: Fri Dec 15 08:43:13 2006 -0800 Remove stack unwinder for now It has caused more problems than it ever really solved, and is apparently not getting cleaned up and fixed. We can put it back when it's stable and isn't likely to make warning or bug events worse. In the meantime, enable frame pointers for more readable stack traces. Signed-off-by: Linus Torvalds commit e42734e270b9e5ada83188d73b733533ce11ee4a Author: Stefan Bader Date: Fri Dec 15 17:18:30 2006 +0100 [S390] cio: css_register_subchannel race. Asynchronous probe can release memory of a subchannel before css_get_ssd_info is called. To fix this call css_get_ssd_info before registering with driver core. Signed-off-by: Stefan Bader Signed-off-by: Martin Schwidefsky commit da1cf23efe0c067ef95e4702b386e6e1baab10c7 Author: Michael Holzheu Date: Fri Dec 15 17:18:27 2006 +0100 [S390] Save prefix register for dump on panic The dump tools expect that the saved prefix register points to the lowcore of the dump cpu. Since we set the prefix register to 0 during reipl/dump, we have to save the original prefix register. Before we start the dump program, we copy the original prefix register to the designated location in the lowcore. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 58be944127be80bd947dd72d69523b3d4b17781f Author: Michael Holzheu Date: Fri Dec 15 17:18:25 2006 +0100 [S390] Fix reboot hang We use printks after shutting down all other cpus. This is not allowed and can lead to deadlocks. Therefore the printks have to be removed. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit a45e14148fb34175cba042df8979e7982758635f Author: Michael Holzheu Date: Fri Dec 15 17:18:22 2006 +0100 [S390] Fix reboot hang on LPARs Reboot hangs on LPARs without diag308 support. The reason for this is, that before the reboot is done, the channel subsystem is shut down. During the reset on each possible subchannel a "store subchannel" is done. This operation can end in a program check interruption, if the specified subchannel set is not implemented by the hardware. During the reset, currently we do not have a program check handler, which leads to the described kernel bug. We install now a new program check handler for the reboot code to fix this problem. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit b3c14d0bfd1739b930f26df90552a4d8cdcca0a6 Author: Christian Borntraeger Date: Fri Dec 15 17:18:20 2006 +0100 [S390] sclp_cpi module license. sclp_cpi is GPL. Make the module not taint the kernel Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 13e742babda8cda7df55b8d1ca67d46b4f8dea84 Author: Ralph Wuerthner Date: Fri Dec 15 17:18:17 2006 +0100 [S390] zcrypt: module unload fixes. Add code to reset all queues for a domain and add missing tasklet_kill call to ap bus module exit code. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 028cf917b258b11286437a1b96e64030f94fd46d Author: Ursula Braun Date: Fri Dec 15 17:18:14 2006 +0100 [S390] Hipersocket multicast queue: make sure outbound handler is called A HiperSocket multicast queue works asynchronously. When sending buffers, the buffer state change from PRIMED to EMPTY may happen delayed. Reschedule the checking for changes in the outbound queue, if there are still PRIMED buffers. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 86b22470f68528c68cb25dbd58886040e1917494 Author: Christian Borntraeger Date: Fri Dec 15 17:18:10 2006 +0100 [S390] hypfs fixes Correct typo to make hypfs work on systems that support only diag204 subcode 4 and fix error handling in hypfs_diag_init. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 240bfbef67e9ae174190b231e63ee3c0f9f02d8a Author: Martin Schwidefsky Date: Fri Dec 15 17:17:57 2006 +0100 [S390] update default configuration Signed-off-by: Martin Schwidefsky commit 1d6bb8e51dba3db1c15575901022fe72d363e5a4 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Fri Dec 15 18:54:35 2006 +1100 drm: Unify radeon offset checking. Replace r300_check_offset() with generic radeon_check_offset(), which doesn't reject valid offsets when the framebuffer area is at the very end of the card's 32 bit address space. Make radeon_check_and_fixup_offset() use radeon_check_offset() as well. This fixes https://bugs.freedesktop.org/show_bug.cgi?id=7697 . commit 8ea86e0ba7c9d16ae0f35cb0c4165194fa573f7a Author: Kristen Carlson Accardi Date: Mon Dec 11 12:05:08 2006 -0800 ACPI: dock: add uevent to indicate change in device status Send a uevent to indicate a device change whenever we dock or undock, so that userspace may now check the dock status via sysfs. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Holger Macht Signed-off-by: Len Brown commit 4ef4caad41630c7caa6e2b94c6e7dda7e9689714 Author: Jiri Kosina Date: Thu Dec 14 12:03:30 2006 +0100 [PATCH] Generic HID layer - update MAINTAINERS Update MAINTAINERS entry for HID core layer. Signed-off-by: Jiri Kosina commit 1c1e40b5ad6e345feba69bc612db006efccf4cdc Author: Florian Festi Date: Thu Dec 14 11:59:11 2006 +0100 input/hid: Supporting more keys from the HUT Consumer Page On USB keyboards lots of hot/internet keys are not working. This patch adds support for a number of keys from the USB HID Usage Table (http://www.usb.org/developers/devclass_docs/Hut1_12.pdf). It also adds several new key codes. Most of them are used on real world keyboards I know. I added some others (KEY_+ EDITOR, GRAPHICSEDITOR, DATABASE, NEWS, VOICEMAIL, VIDEOPHONE) to avoid "holes". I also added KEY_ZOOMRESET as it is possible to have a inet keyboard and a remote control in parallel and it makes sense to have them behave differently. Signed-off-by: Florian Festi Signed-off-by: Jiri Kosina commit e3a0dd7ced76bb439ddeda244a9667e7b3800fc8 Author: Jiri Kosina Date: Thu Dec 14 11:49:53 2006 +0100 [PATCH] Generic HID layer - build: USB_HID should select HID Let CONFIG_USB_HID imply CONFIG_HID. Making it only dependent might confuse users to choose CONFIG_HID, but no particular HID transport drivers. Signed-off-by: Jiri Kosina commit d1998ef38a13c4e74c69df55ccd38b0440c429b2 Author: Ben Collins Date: Wed Dec 13 22:10:05 2006 -0500 [PATCH] ib_verbs: Use explicit if-else statements to avoid errors with do-while macros At least on PPC, the "op ? op : dma" construct causes a compile failure because the dma_* is a do{}while(0) macro. This turns all of them into proper if/else to avoid this problem. Signed-off-by: Ben Collins Signed-off-by: Linus Torvalds commit cc016448b0bf0764928275d034e367753bde8162 Author: Linus Torvalds Date: Wed Dec 13 17:14:23 2006 -0800 Linux v2.6.20-rc1 .. and so the stabilization phase starts. Signed-off-by: Linus Torvalds commit 2bf540b73ed5b304e84bb4d4c390d49d1cfa0ef8 Author: Patrick McHardy Date: Wed Dec 13 16:54:25 2006 -0800 [NETFILTER]: bridge-netfilter: remove deferred hooks Remove the deferred hooks and all related code as scheduled in feature-removal-schedule. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8bce65b95ac167693ae2d706b5341409dca0062d Author: Kim Nordlund Date: Wed Dec 13 16:38:29 2006 -0800 [IPV6]: Make fib6_node subtree depend on IPV6_SUBTREES Make fib6_node 'subtree' depend on IPV6_SUBTREES. Signed-off-by: Kim Nordlund Signed-off-by: David S. Miller commit 6ab792f577012312a760a3a1e679ae8fae012442 Author: Ivan Skytte Jorgensen Date: Wed Dec 13 16:34:22 2006 -0800 [SCTP]: Add support for SCTP_CONTEXT socket option. Signed-off-by: Ivan Skytte Jorgensen Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 882a382c3e0b432fa91672e1c2754cac3f5a6b4f Author: Sridhar Samudrala Date: Wed Dec 13 16:33:35 2006 -0800 [SCTP]: Enable auto loading of SCTP when creating an ipv6 SCTP socket. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 29c7cf96186ac14ce7380633f690fc39732ff03a Author: Sridhar Samudrala Date: Wed Dec 13 16:26:26 2006 -0800 [SCTP]: Handle address add/delete events in a more efficient way. Currently in SCTP, we maintain a local address list by rebuilding the whole list from the device list whenever we get a address add/delete event. This patch fixes it by only adding/deleting the address for which we receive the event. Also removed the sctp_local_addr_lock() which is no longer needed as we now use list_for_each_safe() to traverse this list. This fixes the bugs in sctp_copy_laddrs_xxx() routines where we do copy_to_user() while holding this lock. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 6931ba7cef3991fbb970997d33e24139ccdc3c2c Author: David S. Miller Date: Wed Dec 13 16:25:44 2006 -0800 [TCP]: Fix oops caused by __tcp_put_md5sig_pool() It should call tcp_free_md5sig_pool() not __tcp_free_md5sig_pool() so that it does proper refcounting. Signed-off-by: David S. Miller commit befffe901649e2cc421d0d150c4379d01658cf6b Author: Brian Haley Date: Tue Dec 12 17:09:49 2006 -0800 [IPV6]: Fix IPV6_UNICAST_HOPS getsockopt(). > Relevant standard (RFC 3493) notes: > > The IPV6_UNICAST_HOPS option may be used with getsockopt() to > determine the hop limit value that the system will use for subsequent > unicast packets sent via that socket. > > I don't reckon -1 could be the hop limit value. -1 means un-initialized. > IMHO, the value from > case 1 (if socket is connected to some destination), otherwise case 2 > (if bound to a scope interface) or ultimately the default hop limit > ought to be returned instead, as it will be most often correct, while > the current behavior is always wrong, unless setsockopt() has been used > first. I don't if some people may think doing a route lookup in > getsockopt might be overly expensive, but at least the two other cases > should be ok, particularly the last one. The following patch seems to work for me, but this code has behaved this way for a while, so don't know if it will break any existing apps. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 832e3ca62d6ee1893db05f5202c24ae5331e19ba Author: Ian McDonald Date: Tue Dec 12 00:47:59 2006 -0200 [DCCP] ccid3: return value in ccid3_hc_rx_calc_first_li In a recent patch we introduced invalid return codes which will result in the opposite of what is intended (i.e. send more packets in face of peculiar network conditions). This fixes it by returning ~0 which means not calculated as per dccp_li_hist_calc_i_mean. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e1b4b9f3986b80d5785d91dbd8d72cfaf9fd1117 Author: Al Viro Date: Tue Dec 12 00:29:52 2006 -0800 [NETFILTER]: {ip,ip6,arp}_tables: fix exponential worst-case search for loops If we come to node we'd already marked as seen and it's not a part of path (i.e. we don't have a loop right there), we already know that it isn't a part of any loop, so we don't need to revisit it. That speeds the things up if some chain is refered to from several places and kills O(exp(table size)) worst-case behaviour (without sleeping, at that, so if you manage to self-LART that way, you are SOL for a long time)... Signed-off-by: Al Viro Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a96be24679198469df28976c809575423e70d843 Author: Dmitry Mishin Date: Tue Dec 12 00:29:26 2006 -0800 [NETFILTER]: ip_tables: ipt and ipt_compat checks unification Matches and targets verification is duplicated in normal and compat processing ways. This patch refactors code in order to remove this. Signed-off-by: Dmitry Mishin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 11078c371e2ecfce011d1dffb67888c6fed1b664 Author: Yasuyuki Kozakai Date: Tue Dec 12 00:29:02 2006 -0800 [NETFILTER]: x_tables: add missing try to load conntrack from match/targets CLUSTERIP, CONNMARK, CONNSECMARK, and connbytes need ip_conntrack or layer 3 protocol module of nf_conntrack. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fe0b9294c9f951a64c768f8a5879154235efe63f Author: Yasuyuki Kozakai Date: Tue Dec 12 00:28:40 2006 -0800 [NETFILTER]: x_tables: error if ip_conntrack is asked to handle IPv6 packets To do that, this makes nf_ct_l3proto_try_module_{get,put} compatible functions. As a result we can remove '#ifdef' surrounds and direct call of need_conntrack(). Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 083e69e99e1c728d360c6346456daa4d4c19e25c Author: Yasuyuki Kozakai Date: Tue Dec 12 00:28:09 2006 -0800 [NETFILTER]: nf_nat: fix NF_NAT dependency NF_NAT depends on NF_CONNTRACK_IPV4, not NF_CONNTRACK. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3a411355bcf4bf714022420badfec1cd1e2fbd9a Author: Patrick McHardy Date: Tue Dec 12 00:27:46 2006 -0800 [NETFILTER]: Fix INET=n linking error Building with INET=n results in WARNING: "ip_route_output_key" [net/netfilter/nf_conntrack_h323.ko] undefined! The entire code in net/netfilter is only used for IPv4/IPv6 currently, so let it depend on INET. Noticed by Toralf Förster . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f89bce3d9afc6b1fb898ae176df4962c1303ee86 Author: David Brownell Date: Tue Dec 5 03:07:38 2006 -0800 Driver core: deprecate PM_LEGACY, default it to N Deprecate the old "legacy" PM API, and more importantly default it to "n". Virtually nothing in-tree uses it any more. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6eefd34fdcbd34e2cddb8b7da26d838367591954 Author: Scott Wood Date: Mon Dec 4 14:57:19 2006 -0800 Driver core: Make platform_device_add_data accept a const pointer platform_device_add_data() makes a copy of the data that is given to it, and thus the parameter can be const. This removes a warning when data from get_property() on powerpc is handed to platform_device_add_data(), as get_property() returns a const pointer. Signed-off-by: Scott Wood Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c63e07834bb12910bea41da15b8902150f5217c2 Author: Andrew Morton Date: Mon Dec 4 14:56:36 2006 -0800 Driver core: "platform_driver_probe() can save codespace": save codespace This function can be __init Cc: David Brownell Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 29a7f3ada7fea5510504c5359c3f70d109aeb055 Author: Mathieu Desnoyers Date: Fri Nov 24 13:51:14 2006 -0500 DebugFS : file/directory removal fix Fix file and directory removal in debugfs. Add inotify support for file removal. The following scenario : create dir a create dir a/b cd a/b (some process goes in cwd a/b) rmdir a/b rmdir a fails due to the fact that "a" appears to be non empty. It is because the "b" dentry is not deleted from "a" and still in use. The same problem happens if "b" is a file. d_delete is nice enough to know when it needs to unhash and free the dentry if nothing else is using it or, if someone is using it, to remove it from the hash queues and wait for it to be deleted when it has no users. The nice side-effect of this fix is that it calls the file removal notification. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 65c333367b1aea57d58168ad3dc1df27b0227401 Author: Mathieu Desnoyers Date: Fri Nov 24 13:50:09 2006 -0500 DebugFS : more file/directory creation error handling Correct dentry count to handle creation errors. This patch puts a dput at the file creation instead of the file removal : lookup_one_len already returns a dentry with reference count of 1. Then, the dget() in simple_mknod increments it when the dentry is associated with a file. In a scenario where simple_create or simple_mkdir returns an error, this would lead to an unwanted increment of the reference counter, therefore making file removal impossible. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 63223a0654c2a473ae64835819b87826cb7415ee Author: Mathieu Desnoyers Date: Fri Nov 24 13:48:19 2006 -0500 DebugFS : file/directory creation error handling Fix error handling of file and directory creation in DebugFS. The error path should release the file system because no _remove will be called for this erroneous creation. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit bafb232ec42aa6862798236009e8e5233d05ab36 Author: Mathieu Desnoyers Date: Fri Nov 24 13:46:30 2006 -0500 DebugFS : coding style fixes Minor coding style fixes along the way : 80 cols and a white space. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 4f36557fbe4ab59feb2783cdb5d049cb8c3f34f3 Author: Mathieu Desnoyers Date: Fri Nov 24 13:45:37 2006 -0500 DebugFS : inotify create/mkdir support Add inotify create and mkdir events to DebugFS. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 44c53c4ff01a3551e9d73604eba42e372e9d0c1a Author: Akinobu Mita Date: Tue Nov 21 04:53:18 2006 +0900 driver core: delete virtual directory on class_unregister() Class virtual directory is created as the need arises. But it is not deleted when the class is unregistered. Signed-off-by: Akinobu Mita Signed-off-by: Greg Kroah-Hartman commit 1f71740ab9714bf5ae9ee04c724ff0d5c67ca3dc Author: Kay Sievers Date: Fri Nov 24 12:15:25 2006 +0100 Driver core: show "initstate" of module Show the initialization state(live, coming, going) of the module: $ cat /sys/module/usbcore/initstate live Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 4e581ff165f26ba3d37a4a836b2e3add47bec72f Author: Venkatesh Pallipadi Date: Wed Dec 13 10:41:16 2006 -0800 [CPUFREQ] Trivial cleanup for acpi read/write port in acpi-cpufreq.c Small cleanup in acpi-cpufreq. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 408966b85e47859a488f0f6e8c83f09beb563081 Author: Kristoffer Ericson Date: Wed Dec 13 21:32:08 2006 +0100 [ARM] 4017/1: [Jornada7xx] - Updating Jornada720.c * HP Jornada 720 uses epson 1356 chip for graphics. This chip is compatible with s1d13xxxfb driver. * HP Jornada 720 uses a Microprocessor Control Unit to talk to various hardware. We add it as a platform device in jornada720_init() * We provide pm_suspend() to avoid unresolved symbols in apm.o. We are unable to truly suspend now, hence the stub. * Speaker/microphone enabling got removed because it will be placed in the alsa driver. Signed-off-by: Filip Zyzniewski <(address hidden)> Signed-off-by: Kristoffer Ericson <(address hidden)> Signed-off-by: Russell King commit 7806ca89bc0437d9952c6337d3bbddf1ea3591ff Author: Tony Luck Date: Wed Dec 13 13:15:10 2006 -0800 [IA64] Move sg_dma_{len,address} from pci.h to scatterlist.h IA64 is in a tiny minority providing these defines in pci.h. Almost everyone else has them in scatterlist.h Signed-off-by: Tony Luck commit 3c8cd0cce9ab8a25dbcf519cb0de00d2716f8379 Author: Pavel Pisa Date: Wed Dec 6 17:25:04 2006 +0100 [ARM] 3992/1: i.MX/MX1 CPU Frequency scaling support Support to change MX1 CPU frequency at runtime. Tested on PiKRON's PiMX1 board and seems to be fully stable up to 200 MHz end even as low as 8 MHz. Signed-off-by: Pavel Pisa Signed-off-by: Russell King commit 47fd705287e9377acd2a4cee9aeeea02867d2e54 Author: Russell King Date: Wed Dec 13 18:33:53 2006 +0000 [ARM] Provide a method to alter the control register i.MX needs to tweak the control register to support CPU frequency scaling. Rather than have folk blindly try and change the control register by writing to it and then wondering why it doesn't work, provide a method (which is safe for UP only, and therefore only available for UP) to achieve this. Signed-off-by: Russell King commit 02828845dda5ccf921ab2557c6ca17b6e7fc70e2 Author: Nicolas Pitre Date: Wed Dec 13 18:39:26 2006 +0100 [ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks" optimization The gcc manual says: |`-fdelete-null-pointer-checks' | Use global dataflow analysis to identify and eliminate useless | checks for null pointers. The compiler assumes that dereferencing | a null pointer would have halted the program. If a pointer is | checked after it has already been dereferenced, it cannot be null. | Enabled at levels `-O2', `-O3', `-Os'. Now the problem can be seen with this test case: #include extern void bar(char *x); void foo(char *x) { prefetch(x); if (x) bar(x); } Because the constraint to the inline asm used in the prefetch() macro is a memory operand, gcc assumes that the asm code does dereference the pointer and the delete-null-pointer-checks optimization kicks in. Inspection of generated assembly for the above example shows that bar() is indeed called unconditionally without any test on the value of x. Of course in the prefetch case there is no real dereference and it cannot be assumed that a null pointer would have been caught at that point. This causes kernel oopses with constructs like hlist_for_each_entry() where the list's 'next' content is prefetched before the pointer is tested against NULL, and only when gcc feels like applying this optimization which doesn't happen all the time with more complex code. It appears that the way to prevent delete-null-pointer-checks optimization to occur in this case is to make prefetch() into a static inline function instead of a macro. At least this is what is done on x86_64 where a similar inline asm memory operand is used (I presume they would have seen the same problem if it didn't work) and resulting code for the above example confirms that. An alternative would consist of replacing the memory operand by a register operand containing the pointer, and use the addressing mode explicitly in the asm template. But that would be less optimal than an offsettable memory reference. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit aef6fba4f97bbec1dc5a253f388be9a4c7a30e41 Author: Russell King Date: Wed Dec 13 17:56:11 2006 +0000 [PATCH] Add missing KORENIX PCI ID's Oops, sorry about that. Signed-off-by: Linus Torvalds commit ec8c0446b6e2b67b5c8813eb517f4bf00efa99a9 Author: Ralf Baechle Date: Tue Dec 12 17:14:57 2006 +0000 [PATCH] Optimize D-cache alias handling on fork Virtually index, physically tagged cache architectures can get away without cache flushing when forking. This patch adds a new cache flushing function flush_cache_dup_mm(struct mm_struct *) which for the moment I've implemented to do the same thing on all architectures except on MIPS where it's a no-op. Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit bcd022801ee514e28c32837f0b3ce18c775f1a7b Author: Atsushi Nemoto Date: Tue Dec 12 17:14:56 2006 +0000 [PATCH] MIPS: Fix COW D-cache aliasing on fork Provide a custom copy_user_highpage() to deal with aliasing issues on MIPS. It uses kmap_coherent() to map an user page for kernel with same color. Rewrite copy_to_user_page() and copy_from_user_page() with the new interfaces to avoid extra cache flushing. The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 9de455b20705f36384a711d4a20bcf7ba1ab180b Author: Atsushi Nemoto Date: Tue Dec 12 17:14:55 2006 +0000 [PATCH] Pass vma argument to copy_user_highpage(). To allow a more effective copy_user_highpage() on certain architectures, a vma argument is added to the function and cow_user_page() allowing the implementation of these functions to check for the VM_EXEC bit. The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 77fff4ae2b7bba6d66a8287d9ab948e2b6c16145 Author: Atsushi Nemoto Date: Tue Dec 12 17:14:54 2006 +0000 [PATCH] Fix COW D-cache aliasing on fork Problem: 1. There is a process containing two thread (T1 and T2). The thread T1 calls fork(). Then dup_mmap() function called on T1 context. static inline int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) ... flush_cache_mm(current->mm); ... /* A */ (write-protect all Copy-On-Write pages) ... /* B */ flush_tlb_mm(current->mm); ... 2. When preemption happens between A and B (or on SMP kernel), the thread T2 can run and modify data on COW pages without page fault (modified data will stay in cache). 3. Some time after fork() completed, the thread T2 may cause a page fault by write-protect on a COW page. 4. Then data of the COW page will be copied to newly allocated physical page (copy_cow_page()). It reads data via kernel mapping. The kernel mapping can have different 'color' with user space mapping of the thread T2 (dcache aliasing). Therefore copy_cow_page() will copy stale data. Then the modified data in cache will be lost. In order to allow architecture code to deal with this problem allow architecture code to override copy_user_highpage() by defining __HAVE_ARCH_COPY_USER_HIGHPAGE in . The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 1fb8cacc19dfe408a5dd758235561c58cadea174 Author: Russell King Date: Wed Dec 13 14:45:46 2006 +0000 [PATCH] Add support for Korenix 16C950-based PCI cards This adds initial support to 8250-pci for the Korenix Jetcard PCI serial cards. The JC12xx cards are standard RS232-based serial cards utilising the Oxford 16C950 device. The JC14xx are RS422/RS485-based cards, but in order for these to be supported natively, we will need additional tweaks to the 8250 layers so we can specify some values for the 950's registers. Hence, these two entries are commented out. Signed-off-by: Russell King Signed-off-by: Linus Torvalds commit 5cbded585d129d0226cb48ac4202b253c781be26 Author: Robert P. J. Day Date: Wed Dec 13 00:35:56 2006 -0800 [PATCH] getting rid of all casts of k[cmz]alloc() calls Run this: #!/bin/sh for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do echo "De-casting $f..." perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f done And then go through and reinstate those cases where code is casting pointers to non-pointers. And then drop a few hunks which conflicted with outstanding work. Cc: Russell King , Ian Molton Cc: Mikael Starvik Cc: Yoshinori Sato Cc: Roman Zippel Cc: Geert Uytterhoeven Cc: Ralf Baechle Cc: Paul Mackerras Cc: Kyle McMartin Cc: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: "David S. Miller" Cc: Jeff Dike Cc: Greg KH Cc: Jens Axboe Cc: Paul Fulghum Cc: Alan Cox Cc: Karsten Keil Cc: Mauro Carvalho Chehab Cc: Jeff Garzik Cc: James Bottomley Cc: Ian Kent Cc: Steven French Cc: David Woodhouse Cc: Neil Brown Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0743b86800cf1dfbf96df4a438938127bbe4476c Author: Helge Deller Date: Wed Dec 13 00:35:55 2006 -0800 [PATCH] sstfb: add sysfs interface Modify the sstfb (Voodoo1/2) driver: - fix a memleak when removing the sstfb module - fix sstfb to use the fbdev default videomode database - add module option "mode_option" to set initial screen mode - add sysfs-interface to turn VGA-passthrough on/off via /sys/class/graphics/fbX/vgapass - remove old debug functions from ioctl interface Signed-off-by: Helge Deller Acked-By: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3161986224a3faa8ccca3e665b7404d81e7ee3cf Author: Geert Uytterhoeven Date: Wed Dec 13 00:35:54 2006 -0800 [PATCH] fbdev: remove references to non-existent fbmon_valid_timings() Remove references to non-existent fbmon_valid_timings() Signed-off-by: Geert Uytterhoeven Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f13c152684a7f99ead26525270ed3e28a1d2467f Author: Sergei Shtylyov Date: Wed Dec 13 00:35:53 2006 -0800 [PATCH] HPT37x: read f_CNT saved by BIOS from port The undocumented register BIOS uses for saving f_CNT seems to only be mapped to I/O space while all the other HPT3xx regs are dual-mapped. Looks like another HighPoint's dirty trick. With this patch, the deadly kernel oops on the cards having the modern HighPoint BIOSes is now at last gone! Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26c068daf089aa21844236c97d05049b9497cc0a Author: Sergei Shtylyov Date: Wed Dec 13 00:35:52 2006 -0800 [PATCH] ide: HPT3xx: fix PCI clock detection Use the f_CNT value saved by the HighPoint BIOS if available as reading it directly would give us a wrong PCI frequency after DPLL has already been calibrated by BIOS. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73d1dd93c462b52512685fe118159eafc7eb9f7e Author: Sergei Shtylyov Date: Wed Dec 13 00:35:51 2006 -0800 [PATCH] ide: fix the case of multiple HPT3xx chips present init_chipset_hpt366() modifies some fields of the ide_pci_device_t structure depending on the chip's revision, so pass it a copy of the structure to avoid issues when multiple different chips are present. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33b18a602525198ab8892789dab6839f325407f8 Author: Sergei Shtylyov Date: Wed Dec 13 00:35:50 2006 -0800 [PATCH] ide: fix HPT3xx hotswap support Fix the broken hotswap code: on HPT37x it caused RESET- to glitch when tristating the bus (the MISC control 3/6 and soft control 2 need to be written to in the certain order), and for HPT36x the obsolete HDIO_TRISTATE_HWIF ioctl() handler was called instead which treated the state argument wrong. Also, get rid of the soft control reg. 1 wtite to enable IDE interrupt -- this is done in init_hpt37x() already... Have been tested on HPT370 and 371N. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 471a0bda5a2de5b0fd3b58255791eb831517a52c Author: Sergei Shtylyov Date: Wed Dec 13 00:35:49 2006 -0800 [PATCH] ide: optimize HPT37x timing tables Save some space on the timing tables by introducing the separate transfer mode table in which the mode lookup is done to get the index into the timing table itself. Get rid of the rest of the obsolete/duplicate tables and use one set of tables for the whole HPT37x chip family like the HighPoint open-source drivers do. Documnent the different timing register layout for the HPT36x chip family (this is my guesswork based on the timing values). Have been tested and works fine on HPT370/302/371N. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9448732f6c9ef4932b226056338d1084f3669752 Author: Sergei Shtylyov Date: Wed Dec 13 00:35:49 2006 -0800 [PATCH] ide: fix HPT37x timing tables Fix/remove bad/unused timing tables: HPT370/A 66 MHz tables weren't really needed (the chips are not UltraATA/133 capable and shouldn't support 66 MHz PCI) and had many modes over- and underclocked, HPT372 33 MHz table was in fact for 66 MHz and 50 MHz table missed UltraDMA mode 6, HPT374 33 MHz table was really for 50 MHz... (Actually, HPT370/A 33 MHz tables also have issues. e.g. HPT370 has PIO modes 0/1 overlocked.) There's also no need in the separate HPT374 tables because HPT372 timings should be the same (and those tables has UltraDMA mode 6 which HPT374 supports depending on HPT374_ALLOW_ATA133_6 #define)... Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 836c0063c74cc088ffe370d007e1c6cac95e7caa Author: Sergei Shtylyov Date: Wed Dec 13 00:35:47 2006 -0800 [PATCH] ide: HPT3xxN clocking fixes Fix serious problems with the HPT372N clock turnaround code: - the wrong ports were written to when called for the secondary channel; - it didn't serialize access to the channels; - turnaround shou;dn't be done on 66 MHz PCI; - caching the clock mode per-channel caused it to get out of sync with the actual register value. Additionally, avoid calibrating PLL twice (for each channel) as the second try results in a wrong PCI frequency and thus in the wrong timings. Make the driver deal with HPT302N and HPT371N correctly -- the clocking and (seemingly) a need for clock tunaround is the same as for HPT372N. HPT371/N chips have only one, secondary channel, so avoid touching their "pure virtual" primary channel, and disable it if the BIOS haven't done this already. Also, while at it, disable UltraATA/133 for HPT372 by default -- 50 MHz DPLL clock don't allow for this speed anyway. And remove the traces of the former bad patch that wasn't even applicable to this version of driver. Has been tested on HPT370/371N, unfortunately I don't have an instant access to the other chips... Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd7175edf963a92b2c3cd491d3e34afd357e7284 Author: Eric Dumazet Date: Wed Dec 13 00:35:45 2006 -0800 [PATCH] Optimize calc_load() calc_load() is called by timer interrupt to update avenrun[]. It currently calls nr_active() at each timer tick (HZ per second), while the update of avenrun[] is done only once every 5 seconds. (LOAD_FREQ=5 Hz) nr_active() is quite expensive on SMP machines, since it has to sum up nr_running and nr_uninterruptible of all online CPUS, bringing foreign dirty cache lines. This patch is an optimization of calc_load() so that nr_active() is called only if we need it. The use of unlikely() is welcome since the condition is true only once every 5*HZ time. Signed-off-by: Eric Dumazet Cc: Ingo Molnar Acked-by: "Siddha, Suresh B" Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f988443a84528bd30c2f474efa5e2c511959f19b Author: NeilBrown Date: Wed Dec 13 00:35:45 2006 -0800 [PATCH] knfsd: Fix up some bit-rot in exp_export The nfsservctl system call isn't used but recent nfs-utils releases for exporting filesystems, and consequently the code that is uses - exp_export - has suffered some bitrot. Particular: - some newly added fields in 'struct svc_export' are being initialised properly. - the return value is now always -ENOMEM ... This patch fixes both these problems. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd08d6ea443abafe9455997d2889719364b8794b Author: NeilBrown Date: Wed Dec 13 00:35:44 2006 -0800 [PATCH] knfsd: Don't ignore kstrdup failure in rpc caches Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27d630ece08ae15e35d54201665c247a9fae584c Author: J.Bruce Fields Date: Wed Dec 13 00:35:43 2006 -0800 [PATCH] knfsd: nfsd4: simplify filehandle check Kill another big "if" clause. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eeac294ebd9254a937d90b00c48863e3af229047 Author: J.Bruce Fields Date: Wed Dec 13 00:35:39 2006 -0800 [PATCH] knfsd: nfsd4: simplify migration op check I'm not too fond of these big if conditions. Replace them by checks of a flag in the operation descriptor. To my eye this makes the code a bit more self-documenting, and makes the complicated part of the code (proc_compound) a little more compact. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b591480bbe1a7f0e90533bce8ea86efecc84648e Author: J.Bruce Fields Date: Wed Dec 13 00:35:38 2006 -0800 [PATCH] knfsd: nfsd4: reorganize compound ops Define an op descriptor struct, use it to simplify nfsd4_proc_compound(). Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c954e2a5d1c9662991a41282297ddebcadee0578 Author: J.Bruce Fields Date: Wed Dec 13 00:35:31 2006 -0800 [PATCH] knfsd: nfsd4: make verify and nverify wrappers Make wrappers for verify and nverify, for consistency with other ops. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7191155bd3abbbf62368a0528f7610741d007a58 Author: J.Bruce Fields Date: Wed Dec 13 00:35:29 2006 -0800 [PATCH] knfsd: nfsd4: don't inline nfsd4 compound op functions The inlining contributes to bloating the stack of nfsd4_compound, and I want to change the compound op functions to function pointers anyway. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4f1706a9bd94d0e33e853a7e9f40b2650d54fbf Author: J.Bruce Fields Date: Wed Dec 13 00:35:28 2006 -0800 [PATCH] knfsd: nfsd4: move replay_owner to cstate Tuck away the replay_owner in the cstate while we're at it. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9e626f1e23358487595c2d3901126d00f9de7e0 Author: J.Bruce Fields Date: Wed Dec 13 00:35:28 2006 -0800 [PATCH] knfsd: nfsd4: remove spurious replay_owner check OK, this is embarassing--I've even looked back at the history, and cannot for the life of me figure out why I added this check. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca3643171bc6e08b7c4d1f9a2ce659541a01a7fe Author: J.Bruce Fields Date: Wed Dec 13 00:35:27 2006 -0800 [PATCH] knfsd: nfsd4: pass saved and current fh together into nfsd4 operations Pass the saved and current filehandles together into all the nfsd4 compound operations. I want a unified interface to these operations so we can just call them by pointer and throw out the huge switch statement. Also I'll eventually want a structure like this--that holds the state used during compound processing--for deferral. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01f3bd1f03599470e4695392b6ae055ed8506978 Author: J.Bruce Fields Date: Wed Dec 13 00:35:26 2006 -0800 [PATCH] knfsd: svcrpc: remove another silent drop from deferral code There's no point deferring something just to immediately fail the deferral, especially now that we can do something more useful in the failure case by returning an error. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0bb89ef031f76dcb9c9d920d18b13948f1418da Author: J.Bruce Fields Date: Wed Dec 13 00:35:25 2006 -0800 [PATCH] knfsd: nfsd: don't drop silently on upcall deferral To avoid tying up server threads when nfsd makes an upcall (to mountd, to get export options, to idmapd, for nfsv4 name<->id mapping, etc.), we temporarily "drop" the request and save enough information so that we can revisit it later. Certain failures during the deferral process can cause us to really drop the request and never revisit it. This is often less than ideal, and is unacceptable in the NFSv4 case--rfc 3530 forbids the server from dropping a request without also closing the connection. As a first step, we modify the deferral code to return -ETIMEDOUT (which is translated to nfserr_jukebox in the v3 and v4 cases, and remains a drop in the v2 case). Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 021d3a72459191a76e8e482ee4937ba6bc9fd712 Author: J.Bruce Fields Date: Wed Dec 13 00:35:24 2006 -0800 [PATCH] knfsd: nfsd4: handling more nfsd_cross_mnt errors in nfsd4 readdir This patch on its own causes no change in behavior, since nfsd_cross_mnt() only returns -EAGAIN; but in the future I'd like it to also be able to return -ETIMEDOUT, so we may as well handle any possible error here. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6899320c2cefe5ae6b606f820ba8b762ba21f34a Author: J.Bruce Fields Date: Wed Dec 13 00:35:23 2006 -0800 [PATCH] knfsd: nfsd: simplify exp_pseudoroot Note there's no need for special handling of -EAGAIN here; nfserrno() does what we want already. So this is a pure cleanup with no change in functionality. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b41bd85d5f93af37c2730df172aeb54280be7c3 Author: J.Bruce Fields Date: Wed Dec 13 00:35:21 2006 -0800 [PATCH] knfsd: nfsd: make exp_rootfh handle exp_parent errors Since exp_parent can fail by returning an error (-EAGAIN) in addition to by returning NULL, we should check for that case in exp_rootfh. (TODO: we should check that userland handles these errors too.) Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e57101991156aaba97c630f38e880f0d4012edcd Author: J.Bruce Fields Date: Wed Dec 13 00:35:20 2006 -0800 [PATCH] knfsd: nfsd4: clarify units of COMPOUND_SLACK_SPACE A comment here incorrectly states that "slack_space" is measured in words, not bytes. Remove the comment, and adjust a variable name and a few comments to clarify the situation. This is pure cleanup; there should be no change in functionality. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b797b5beac966df5c5d96c0d39fe366f57135343 Author: J.Bruce Fields Date: Wed Dec 13 00:35:19 2006 -0800 [PATCH] knfsd: svcrpc: fix gss krb5i memory leak The memory leak here is embarassingly obvious. This fixes a problem that causes the kernel to leak a small amount of memory every time it receives a integrity-protected request. Thanks to Aim Le Rouzic for the bug report. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 451c11a161168fbdbba17573d4b062fdd2a4c2c4 Author: J.Bruce Fields Date: Wed Dec 13 00:35:18 2006 -0800 [PATCH] knfsd: nfsd4: remove a dprink from nfsd4_lock This dprintk is printing the wrong error now, but it's probably an unnecessary dprintk anyway; just remove it. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b21a323710e77a27b2f66af901bd3640c30aba6e Author: Adrian Bunk Date: Wed Dec 13 00:35:17 2006 -0800 [PATCH] remove the broken BLK_DEV_SWIM_IOP driver The BLK_DEV_SWIM_IOP driver has: - already been marked as BROKEN in 2.6.0 three years ago and - is still marked as BROKEN. Drivers that had been marked as BROKEN for such a long time seem 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 Cc: Jens Axboe Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029530f810dd5147f7e59b939eb22cfbe0beea12 Author: Adrian Bunk Date: Wed Dec 13 00:35:16 2006 -0800 [PATCH] one more EXPORT_UNUSED_SYMBOL removal Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69688262fb94e92a32f188b79c02dc32016d4927 Author: Tigran Aivazian Date: Wed Dec 13 00:35:14 2006 -0800 [PATCH] update Tigran's email addresses As Adrian pointed out recently, there were still a couple of places where I should have fixed my email address. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1de241268d7b6bea05d64f9269bf9aa90be49ff1 Author: Eric W. Biederman Date: Wed Dec 13 00:35:13 2006 -0800 [PATCH] ncpfs: ensure we free wdog_pid on parse_option or fill_inode failure This took a little refactoring but now errors are handled cleanly. When this code used pid_t values this wasn't necessary because you can't leak a pid_t. Thanks to Peter Vandrovec for spotting this. Signed-off-by: Eric W. Biederman Cc: Peter Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2154227a2c6cf04e28576b59c684123eb0e81958 Author: Eric W. Biederman Date: Wed Dec 13 00:35:11 2006 -0800 [PATCH] ncpfs: Use struct pid to track the userspace watchdog process This patch converts the tracking of the user space watchdog process from using a pid_t to use struct pid. This makes us safe from pid wrap around issues and prepares the way for the pid namespace. Signed-off-by: Eric W. Biederman Cc: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a71113da44063b587b5a4c2fc94c948a14f2bb43 Author: Eric W. Biederman Date: Wed Dec 13 00:35:10 2006 -0800 [PATCH] smbfs: Make conn_pid a struct pid smbfs keeps track of the user space server process in conn_pid. This converts that track to use a struct pid instead of pid_t. This keeps us safe from pid wrap around issues and prepares the way for the pid namespace. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cec556a84be02bcd8755422eec61f1b9bee4e2f Author: Eric W. Biederman Date: Wed Dec 13 00:35:10 2006 -0800 [PATCH] n_r3964: Use struct pid to track user space clients Currently this driver tracks user space clients it should send signals to. In the presenct of file descriptor passing this is appears susceptible to confusion from pid wrap around issues. Replacing this with a struct pid prevents us from getting confused, and prepares for a pid namespace implementation. Signed-off-by: Eric W. Biederman Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3f13debd593dbd7242a4ecf6c9b4d529805e5a0 Author: Dan Carpenter Date: Wed Dec 13 00:35:09 2006 -0800 [PATCH] tty_io.c balance tty_ldisc_ref() tty_ldisc_deref() should only be called when tty_ldisc_ref() succeeds otherwise it triggers a BUG(). There's already a function tty_ldisc_flush() that flushes properly. Signed-off-by: Dan Carpenter Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2db8dfce8d94fecae50128d912fec7980687a51 Author: David Brownell Date: Wed Dec 13 00:35:08 2006 -0800 [PATCH] rtc framewok: rtc_wkalrm.enabled reporting updates Fix a glitch in the procfs dumping of whether the alarm IRQ is enabled: use the traditional name (from drivers/char/rtc.c and many other places) of "alarm_IRQ", not "alrm_wakeup" (which didn't even match the efirtc code, which originated that reporting API). Also, update a few of the RTC drivers to stop providing that duplicate status, and/or to expose it properly when reporting the alarm state. We really don't want every RTC driver doing their own thing here... Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a6534e4cf53e16a6ea92f033f89d6575b3d7422 Author: David Brownell Date: Wed Dec 13 00:35:06 2006 -0800 [PATCH] rtc: remove syslog spam on registration This removes some syslog spam as RTC drivers register; debug messages shouldn't come out at "info" level. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cef779ec3643e6c846f86a32d8c44daff16a336 Author: Jan Beulich Date: Wed Dec 13 00:35:05 2006 -0800 [PATCH] RTC driver init adjustment - conditionalizes procfs code upon CONFIG_PROC_FS (to reduce code size when that option is not enabled) - make initialization no longer fail when the procfs entry can't be allocated (namely would initialization always have failed when CONFIG_PROC_FS was not set) - move the formerly file-scope static variable rtc_int_handler_ptr into the only function using it, and makes it automatic. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3e92d355e1251fb6d1a15508f2a5448d2354727 Author: Jan Beulich Date: Wed Dec 13 00:35:04 2006 -0800 [PATCH] rtc: fx error case Ensure RTC driver doesn't use its timer when it doesn't get to set it up (as it cannot currently prevent other of its functions to be called from outside when not built as a module - probably this should also be addressed). Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8c5c045d790e7018c56f1a998a2d240b732ea3c Author: Al Viro Date: Wed Dec 13 00:35:03 2006 -0800 [PATCH] lockd endianness annotations Annotated, all places switched to keeping status net-endian. Signed-off-by: Al Viro Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 905f3ed62515f233fea09dc5ad68bbcff4903520 Author: Al Viro Date: Wed Dec 13 00:35:01 2006 -0800 [PATCH] hci endianness annotations Signed-off-by: Al Viro Acked-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db71b7f19c3ddc8897437e655130f9010f9a9b72 Author: Al Viro Date: Wed Dec 13 00:35:01 2006 -0800 [PATCH] missing includes in hilkbd Now that it's built on m68k too... Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee36c2bf8edb1c3e3855a928b348d29c6359093d Author: Al Viro Date: Wed Dec 13 00:35:00 2006 -0800 [PATCH] uml problems with linux/io.h Remove useless includes of linux/io.h, don't even try to build iomap_copy on uml (it doesn't have readb() et.al., so...) Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62fb2ba3d870305e246c6cb317609c1dc2c9dd0b Author: Al Viro Date: Wed Dec 13 00:34:59 2006 -0800 [PATCH] appldata_mem dependes on vm counters Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b4709a6cd0578d129d032a5dec9dc2684b71b3a Author: Al Viro Date: Wed Dec 13 00:34:58 2006 -0800 [PATCH] CONFIG_COMPUTONE should depend on ISA|EISA|PCI Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34f8f0a5e953d3e40c4419e5e5c4b6fd14f7ebf2 Author: Ralf Baechle Date: Wed Dec 13 00:34:57 2006 -0800 [PATCH] tty: remove useless memory barrier I don't see why there is a memory barrier in copy_from_read_buf() at all. Even if it was useful spin_unlock_irqrestore implies a barrier. Signed-off-by: Ralf Baechle Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd86128088554d64fea1679191509f00e6353c5b Author: Robert P. J. Day Date: Wed Dec 13 00:34:52 2006 -0800 [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() All kcalloc() calls of the form "kcalloc(1,...)" are converted to the equivalent kzalloc() calls, and a few kcalloc() calls with the incorrect ordering of the first two arguments are fixed. Signed-off-by: Robert P. J. Day Cc: Jeff Garzik Cc: Alan Cox Cc: Dominik Brodowski Cc: Adam Belay Cc: James Bottomley Cc: Greg KH Cc: Mark Fasheh Cc: Trond Myklebust Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90aef12e6dd609e1ad7fb70044eedc78ca55ee5e Author: Jeremy Fitzhardinge Date: Wed Dec 13 00:34:49 2006 -0800 [PATCH] Use activate_mm() in fs/aio.c:use_mm() activate_mm() is not the right thing to be using in use_mm(). It should be switch_mm(). On normal x86, they're synonymous, but for the Xen patches I'm adding a hook which assumes that activate_mm is only used the first time a new mm is used after creation (I have another hook for dealing with dup_mm). I think this use of activate_mm() is the only place where it could be used a second time on an mm. >From a quick look at the other architectures I think this is OK (most simply implement one in terms of the other), but some are doing some subtly different stuff between the two. Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74c383f1400f559562aa517d6d62f77245bddf52 Author: Ingo Molnar Date: Wed Dec 13 00:34:43 2006 -0800 [PATCH] lockdep: fix possible races while disabling lock-debugging Jarek Poplawski noticed that lockdep global state could be accessed in a racy way if one CPU did a lockdep assert (shutting lockdep down), while the other CPU would try to do something that changes its global state. This patch fixes those races and cleans up lockdep's internal locking by adding a graph_lock()/graph_unlock()/debug_locks_off_graph_unlock helpers. (Also note that as we all know the Linux kernel is, by definition, bug-free and perfect, so this code never triggers, so these fixes are highly theoretical. I wrote this patch for aesthetic reasons alone.) [akpm@osdl.org: build fix] [jarkao2@o2.pl: build fix's refix] Signed-off-by: Ingo Molnar Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3117df0453828bd045c16244e6f50e5714667a8a Author: Ingo Molnar Date: Wed Dec 13 00:34:43 2006 -0800 [PATCH] lockdep: print irq-trace info on asserts When we print an assert due to scheduling-in-atomic bugs, and if lockdep is enabled, then the IRQ tracing information of lockdep can be printed to pinpoint the code location that disabled interrupts. This saved me quite a bit of debugging time in cases where the backtrace did not identify the irq-disabling site well enough. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27c3b23226fc649de47e4886ccbf994482f388ba Author: Ingo Molnar Date: Wed Dec 13 00:34:42 2006 -0800 [PATCH] lockdep: use chain hash on CONFIG_DEBUG_LOCKDEP too CONFIG_DEBUG_LOCKDEP is unacceptably slow because it does not utilize the chain-hash. Turn the chain-hash back on in this case too. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33e94e960b57497fe7fd9493080210b6d87e88e6 Author: Ingo Molnar Date: Wed Dec 13 00:34:41 2006 -0800 [PATCH] lockdep: clean up VERY_VERBOSE define Cleanup: the VERY_VERBOSE define was unnecessarily dependent on #ifdef VERBOSE - while the VERBOSE switch is 0 or 1 (always defined). Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d95a03d63eff25118b50737006ce6e7c1b8def Author: Ingo Molnar Date: Wed Dec 13 00:34:40 2006 -0800 [PATCH] lockdep: improve lockdep_reset() Clear all the chains during lockdep_reset(). This fixes some locking-selftest false positives i saw on -rt. (never saw those on mainline though, but it could happen.) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fc685a898f84d0787eeebb1c118de0bd3484a0 Author: Ingo Molnar Date: Wed Dec 13 00:34:40 2006 -0800 [PATCH] lockdep: improve verbose messages Make verbose lockdep messages (off by default) more informative by printing out the hash chain key. (this patch was what helped me catch the earlier lockdep hash-collision bug) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a664089741aa9010333ecbdadbf5d9de62bafa2d Author: Ingo Molnar Date: Wed Dec 13 00:34:39 2006 -0800 [PATCH] lockdep: filter off by default Fix typo in the class_filter() function. (filtering is not used by default so this only affects lockdep-internal debugging cases) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d6f647fc6bb57377c9f417c4752e43189f56bb1 Author: Ingo Molnar Date: Wed Dec 13 00:34:36 2006 -0800 [PATCH] debug: add sysrq_always_enabled boot option Most distributions enable sysrq support but set it to 0 by default. Add a sysrq_always_enabled boot option to always-enable sysrq keys. Useful for debugging - without having to modify the disribution's config files (which might not be possible if the kernel is on a live CD, etc.). Also, while at it, clean up the sysrq interfaces. [bunk@stusta.de: make sysrq_always_enabled_setup() static] Signed-off-by: Ingo Molnar Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e61c90188b9956edae1105eef361d8981a352fcd Author: Chen, Kenneth W Date: Wed Dec 13 00:34:36 2006 -0800 [PATCH] optimize o_direct on block devices Implement block device specific .direct_IO method instead of going through generic direct_io_worker for block device. direct_io_worker() is fairly complex because it needs to handle O_DIRECT on file system, where it needs to perform block allocation, hole detection, extents file on write, and tons of other corner cases. The end result is that it takes tons of CPU time to submit an I/O. For block device, the block allocation is much simpler and a tight triple loop can be written to iterate each iovec and each page within the iovec in order to construct/prepare bio structure and then subsequently submit it to the block layer. This significantly speeds up O_D on block device. [akpm@osdl.org: small speedup] Signed-off-by: Ken Chen Cc: Christoph Hellwig Cc: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e913c53609d5e8374f55d6f29c0bcd6650a2362 Author: Mark Fasheh Date: Wed Dec 13 00:34:35 2006 -0800 [PATCH] ocfs2: relative atime support Update ocfs2_should_update_atime() to understand the MNT_RELATIME flag and to test against mtime / ctime accordingly. [akpm@osdl.org: cleanups] Signed-off-by: Mark Fasheh Cc: Valerie Henson Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47ae32d6a54955a041cdc30b06d0bb16e75f68d5 Author: Valerie Henson Date: Wed Dec 13 00:34:34 2006 -0800 [PATCH] relative atime Add "relatime" (relative atime) support. Relative atime only updates the atime if the previous atime is older than the mtime or ctime. Like noatime, but useful for applications like mutt that need to know when a file has been read since it was last modified. A corresponding patch against mount(8) is available at http://userweb.kernel.org/~akpm/mount-relative-atime.txt Signed-off-by: Valerie Henson Cc: Mark Fasheh Cc: Al Viro Cc: Christoph Hellwig Cc: Karel Zak Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b227613841d4d211a10c5860acc73e133b613bc0 Author: Andrew Morton Date: Wed Dec 13 00:34:33 2006 -0800 [PATCH] touch_atime() cleanup Simplify touch_atime() layout. Cc: Valerie Henson Cc: Mark Fasheh Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0350bd0c9b59957760e67516973db35bafa050 Author: Chris Zankel Date: Wed Dec 13 00:34:32 2006 -0800 [PATCH] Xtensa: Add ktermios and minor filename fix The kernel termios (ktermios) changes were somehow missed for Xtensa. This patch adds the ktermios structure and also includes some minor file name fix that was missed in the syscall patch. Signed-off-by: Chris Zankel Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a102eed9c4e1d21bad07a8fd97bd4fbf125d966 Author: Rafael J. Wysocki Date: Wed Dec 13 00:34:30 2006 -0800 [PATCH] PM: Fix SMP races in the freezer Currently, to tell a task that it should go to the refrigerator, we set the PF_FREEZE flag for it and send a fake signal to it. Unfortunately there are two SMP-related problems with this approach. First, a task running on another CPU may be updating its flags while the freezer attempts to set PF_FREEZE for it and this may leave the task's flags in an inconsistent state. Second, there is a potential race between freeze_process() and refrigerator() in which freeze_process() running on one CPU is reading a task's PF_FREEZE flag while refrigerator() running on another CPU has just set PF_FROZEN for the same task and attempts to reset PF_FREEZE for it. If the refrigerator wins the race, freeze_process() will state that PF_FREEZE hasn't been set for the task and will set it unnecessarily, so the task will go to the refrigerator once again after it's been thawed. To solve first of these problems we need to stop using PF_FREEZE to tell tasks that they should go to the refrigerator. Instead, we can introduce a special TIF_*** flag and use it for this purpose, since it is allowed to change the other tasks' TIF_*** flags and there are special calls for it. To avoid the freeze_process()-refrigerator() race we can make freeze_process() to always check the task's PF_FROZEN flag after it's read its "freeze" flag. We should also make sure that refrigerator() will always reset the task's "freeze" flag after it's set PF_FROZEN for it. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Russell King Cc: David Howells Cc: Andi Kleen Cc: "Luck, Tony" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3df494a32b936aef76d893f5065f962ebd9b9437 Author: Rafael J. Wysocki Date: Wed Dec 13 00:34:28 2006 -0800 [PATCH] PM: Fix freezing of stopped tasks Currently, if a task is stopped (ie. it's in the TASK_STOPPED state), it is considered by the freezer as unfreezeable. However, there may be a race between the freezer and the delivery of the continuation signal to the task resulting in the task running after we have finished freezing the other tasks. This, in turn, may lead to undesirable effects up to and including data corruption. To prevent this from happening we first need to make the freezer consider stopped tasks as freezeable. For this purpose we need to make freezeable() stop returning 0 for these tasks and we need to force them to enter the refrigerator. However, if there's no continuation signal in the meantime, the stopped tasks should remain stopped after all processes have been thawed, so we need to send an additional SIGSTOP to each of them before waking it up. Also, a stopped task that has just been woken up should first check if there's a freezing request for it and go to the refrigerator if that's the case. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a2d7a955d8de6cb19ed9cd194b3c83008a22c32 Author: Eric Dumazet Date: Wed Dec 13 00:34:27 2006 -0800 [PATCH] SLAB: use a multiply instead of a divide in obj_to_index() When some objects are allocated by one CPU but freed by another CPU we can consume lot of cycles doing divides in obj_to_index(). (Typical load on a dual processor machine where network interrupts are handled by one particular CPU (allocating skbufs), and the other CPU is running the application (consuming and freeing skbufs)) Here on one production server (dual-core AMD Opteron 285), I noticed this divide took 1.20 % of CPU_CLK_UNHALTED events in kernel. But Opteron are quite modern cpus and the divide is much more expensive on oldest architectures : On a 200 MHz sparcv9 machine, the division takes 64 cycles instead of 1 cycle for a multiply. Doing some math, we can use a reciprocal multiplication instead of a divide. If we want to compute V = (A / B) (A and B being u32 quantities) we can instead use : V = ((u64)A * RECIPROCAL(B)) >> 32 ; where RECIPROCAL(B) is precalculated to ((1LL << 32) + (B - 1)) / B Note : I wrote pure C code for clarity. gcc output for i386 is not optimal but acceptable : mull 0x14(%ebx) mov %edx,%eax // part of the >> 32 xor %edx,%edx // useless mov %eax,(%esp) // could be avoided mov %edx,0x4(%esp) // useless mov (%esp),%ebx [akpm@osdl.org: small cleanups] Signed-off-by: Eric Dumazet Cc: Christoph Lameter Cc: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02a0e53d8227aff5e62e0433f82c12c1c2805fd6 Author: Paul Jackson Date: Wed Dec 13 00:34:25 2006 -0800 [PATCH] cpuset: rework cpuset_zone_allowed api Elaborate the API for calling cpuset_zone_allowed(), so that users have to explicitly choose between the two variants: cpuset_zone_allowed_hardwall() cpuset_zone_allowed_softwall() Until now, whether or not you got the hardwall flavor depended solely on whether or not you or'd in the __GFP_HARDWALL gfp flag to the gfp_mask argument. If you didn't specify __GFP_HARDWALL, you implicitly got the softwall version. Unfortunately, this meant that users would end up with the softwall version without thinking about it. Since only the softwall version might sleep, this led to bugs with possible sleeping in interrupt context on more than one occassion. The hardwall version requires that the current tasks mems_allowed allows the node of the specified zone (or that you're in interrupt or that __GFP_THISNODE is set or that you're on a one cpuset system.) The softwall version, depending on the gfp_mask, might allow a node if it was allowed in the nearest enclusing cpuset marked mem_exclusive (which requires taking the cpuset lock 'callback_mutex' to evaluate.) This patch removes the cpuset_zone_allowed() call, and forces the caller to explicitly choose between the hardwall and the softwall case. If the caller wants the gfp_mask to determine this choice, they should (1) be sure they can sleep or that __GFP_HARDWALL is set, and (2) invoke the cpuset_zone_allowed_softwall() routine. This adds another 100 or 200 bytes to the kernel text space, due to the few lines of nearly duplicate code at the top of both cpuset_zone_allowed_* routines. It should save a few instructions executed for the calls that turned into calls of cpuset_zone_allowed_hardwall, thanks to not having to set (before the call) then check (within the call) the __GFP_HARDWALL flag. For the most critical call, from get_page_from_freelist(), the same instructions are executed as before -- the old cpuset_zone_allowed() routine it used to call is the same code as the cpuset_zone_allowed_softwall() routine that it calls now. Not a perfect win, but seems worth it, to reduce this chance of hitting a sleeping with irq off complaint again. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55935a34a428a1497e3b37982e2782c09c6f914d Author: Christoph Lameter Date: Wed Dec 13 00:34:24 2006 -0800 [PATCH] More slab.h cleanups More cleanups for slab.h 1. Remove tabs from weird locations as suggested by Pekka 2. Drop the check for NUMA and SLAB_DEBUG from the fallback section as suggested by Pekka. 3. Uses static inline for the fallback defs as also suggested by Pekka. 4. Make kmem_ptr_valid take a const * argument. 5. Separate the NUMA fallback definitions from the kmalloc_track fallback definitions. Signed-off-by: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e892f43ccb602e8ffad73396a1000f2040c9e0b Author: Christoph Lameter Date: Wed Dec 13 00:34:23 2006 -0800 [PATCH] Cleanup slab headers / API to allow easy addition of new slab allocators This is a response to an earlier discussion on linux-mm about splitting slab.h components per allocator. Patch is against 2.6.19-git11. See http://marc.theaimsgroup.com/?l=linux-mm&m=116469577431008&w=2 This patch cleans up the slab header definitions. We define the common functions of slob and slab in slab.h and put the extra definitions needed for slab's kmalloc implementations in . In order to get a greater set of common functions we add several empty functions to slob.c and also rename slob's kmalloc to __kmalloc. Slob does not need any special definitions since we introduce a fallback case. If there is no need for a slab implementation to provide its own kmalloc mess^H^H^Hacros then we simply fall back to __kmalloc functions. That is sufficient for SLOB. Sort the function in slab.h according to their functionality. First the functions operating on struct kmem_cache * then the kmalloc related functions followed by special debug and fallback definitions. Also redo a lot of comments. Signed-off-by: Christoph Lameter ? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 872225ca77519a243d7e19270b062b0ac53418d8 Author: Mike Miller Date: Wed Dec 13 00:34:22 2006 -0800 [PATCH] cciss: remove calls to pci_disable_device Remove calls to pci_disable_device except in fail_all_cmds. The pci_disable_device function does something nasty to Smart Array controllers that pci_enable_device does not undo. So if the driver is unloaded it cannot be reloaded. Also, customers can disable any pci device via the ROM Based Setup Utility (RBSU). If the customer has disabled the controller we should not try to blindly enable the card from the driver. Please consider this for inclusion. Signed-off-by: Mike Miller Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5b92873a87cc579f6399693e2c9ae6b43932ddf Author: Mike Miller Date: Wed Dec 13 00:34:21 2006 -0800 [PATCH] cciss: map out more memory for config table Map out more memory for our config table. It's required to reach offset 0x214 to disable DMA on the P600. I'm not sure how I lost this hunk. Please consider this for inclusion. Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3468a33e98524a7661a158251b10cea7c9fafece Author: Jiri Slaby Date: Wed Dec 13 00:34:20 2006 -0800 [PATCH] sx: fix non-PCI build When CONFIG_PCI is not defined (i.e. PCI bus is disabled), the sx driver fails to link, since some pci functions are not available. Fix this behaviour to be able to compile this driver on machines with no PCI bus (but with ISA bus support). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb0c9295b81f5c7f51058aabfadd13d8e70b48f4 Author: Jiri Slaby Date: Wed Dec 13 00:34:19 2006 -0800 [PATCH] mxser_new: fix non-PCI build When CONFIG_PCI is not defined (i.e. PCI bus is disabled), the mxser_new driver fails to link, since some pci functions are not available. Fix this behaviour to be able to compile this driver on machines with no PCI bus (but with ISA bus support). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3808ac156f503dd2a00a059d9ff4677ce75244f Author: Randy Dunlap Date: Wed Dec 13 00:34:18 2006 -0800 [PATCH] isicom: fix build with PCI disabled With CONFIG_PCI=n: drivers/char/isicom.c: In function 'isicom_probe': drivers/char/isicom.c:1793: warning: implicit declaration of function 'pci_request_region' drivers/char/isicom.c:1827: warning: implicit declaration of function 'pci_release_region' Let's CONFIG_ISI depend on CONFIG_PCI. Signed-off-by: Randy Dunlap Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89040b21e7e2205985feb77f9a83138ab9cb0dfd Author: Evgeniy Polyakov Date: Wed Dec 13 00:34:16 2006 -0800 [PATCH] w1: Fix for kconfig entry typo Based on patch from Alexander Rigbo Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfdc0c280a497575670e87efa89e78a88438483b Author: Avi Kivity Date: Wed Dec 13 00:34:16 2006 -0800 [PATCH] KVM: Fix vmx hardware_enable() on macbooks It seems macbooks set bit 2 but not bit 0, which is an "enabled but vmxon will fault" setting. Signed-off-by: Avi Kivity Tested-by: Alex Larsson (sometimes testing helps) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b99ab242145c99ec8781dc267ec100e7f23ef9d Author: Michael Riepe Date: Wed Dec 13 00:34:15 2006 -0800 [PATCH] KVM: Don't touch the virtual apic vt registers on 32-bit Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 873a7c423bf8f12bff48a4b8963b32be568b4fcf Author: Avi Kivity Date: Wed Dec 13 00:34:14 2006 -0800 [PATCH] KVM: Disallow the kvm-amd module on intel hardware, and vice versa They're not on speaking terms. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 802ba064c49f655d20fed563f2a4924c8256ea10 Author: NeilBrown Date: Wed Dec 13 00:34:13 2006 -0800 [PATCH] md: Don't assume that READ==0 and WRITE==1 - use the names explicitly Thanks Jens for alerting me to this. Cc: Jens Axboe Cc: Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 011e3a9ad4891ba1b27e281e085228189c56b137 Author: Jeff Dike Date: Wed Dec 13 00:34:12 2006 -0800 [PATCH] Fix crossbuilding checkstack The previous checkstack fix for UML, which needs to use the host's tools, was wrong in the crossbuilding case. It would use the build host's, rather than the target's, toolchain. This patch removes the old fix and adds an explicit special case for UML, leaving everyone else alone. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd47ea755693228bf842c779e8afdfa47efb20a3 Author: Christoph Lameter Date: Wed Dec 13 00:34:11 2006 -0800 [PATCH] slab: fix sleeping in atomic bug Fallback_alloc() does not do the check for GFP_WAIT as done in cache_grow(). Thus interrupts are disabled when we call kmem_getpages() which results in the failure. Duplicate the handling of GFP_WAIT in cache_grow(). Signed-off-by: Christoph Lameter Cc: Jay Cliburn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a8ba9d12150461acc91bd3c9124eac19e853218 Author: Eric Dumazet Date: Wed Dec 13 00:34:10 2006 -0800 [PATCH] reorder struct pipe_buf_operations Fields of struct pipe_buf_operations have not a precise layout (ie not optimized to fit cache lines nor reduce cache line ping pongs) The bufs[] array is *large* and is placed near the beginning of the structure, so all following fields have a large offset. This is unfortunate because many archs have smaller instructions when using small offsets relative to a base register. On x86 for example, 7 bits offsets have smaller instruction lengths. Moving bufs[] at the end of pipe_buf_operations permits all fields to have small offsets, and reduce text size, and icache pressure. # size vmlinux.pre vmlinux text data bss dec hex filename 3268989 664356 492196 4425541 438745 vmlinux.pre 3268765 664356 492196 4425317 438665 vmlinux So this patch reduces text size by 224 bytes on my x86_64 machine. Similar results on ia32. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a0c502c94af0491ab454ad6d216c7a6fda8362b Author: Karsten Wiese Date: Wed Dec 13 00:34:09 2006 -0800 [PATCH] kconfig: set gconf's save-widget's sensitivity according to .config's changed state Clean up a little. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b354c557c7a6fcac099b3a20b308853fe596183 Author: Karsten Wiese Date: Wed Dec 13 00:34:08 2006 -0800 [PATCH] kconfig: add "void conf_set_changed_callback(void (*fn)(void))", use it in qconf.cc Added function sets "void (*conf_changed_callback)(void)". Call it, if .config's changed state changes. Use above in qconf.cc to set gui's save-widget's sensitvity. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc10001b11e51b59ac901d17c5f05361bd2351d Author: Karsten Wiese Date: Wed Dec 13 00:34:07 2006 -0800 [PATCH] kconfig: make sym_change_count static, let it be altered by 2 functions only Those two functions are void sym_set_change_count(int count) and void sym_add_change_count(int count) All write accesses to sym_change_count are replaced by calls to above functions. Variable and changer-functions are moved to confdata.c. IMO thats ok, as sym_change_count is an attribute of the .config's change state. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b321429325e4c911c379a5bf4156c9fc9713e425 Author: Karsten Wiese Date: Wed Dec 13 00:34:06 2006 -0800 [PATCH] kconfig: new function "bool conf_get_changed(void)" Run "make xconfig" on a freshly untarred kernel-tree. Look at the floppy disk icon of the qt application, that has just started: Its in a normal, active state. Mouse click on it: .config is being saved. This patch series changes things so taht after the mouse click on the floppy disk icon, the icon is greyed out. If you mouse click on it now, nothing happens. If you change some CONFIG_*, the floppy disk icon returns to "active state", that is, if you mouse click it now, .config is written. This patch: Returns sym_change_count to reflect the .config's change state. All read only accesses of sym_change_count are replaced by calls to conf_get_changed() . mconfig.c is manipulated to ask for saving only when conf_get_changed() returned true. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dfcaf16135150d0f025047a7525664a41bb2adf Author: Eric W. Biederman Date: Wed Dec 13 00:34:05 2006 -0800 [PATCH] vt: fix comments to not refer to kill_proc The code has been fixed to use kill_pid instead of kill_proc fix the comments as well. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f8442edfb214908e9c6ca1142bf882c9bc364e5 Author: Eric W. Biederman Date: Wed Dec 13 00:34:04 2006 -0800 [PATCH] Revert "[PATCH] identifier to nsproxy" This reverts commit 373beb35cd6b625e0ba4ad98baace12310a26aa8. No one is using this identifier yet. The purpose of this identifier is to export nsproxy to user space which is wrong. nsproxy is an internal implementation optimization, which should keep our fork times from getting slower as we increase the number of global namespaces you don't have to share. Adding a global identifier like this is inappropriate because it makes namespaces inherently non-recursive, greatly limiting what we can do with them in the future. Signed-off-by: Eric W. Biederman Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c3cca941b64a938eaa9734585a93547c6be323 Author: Eric Dumazet Date: Wed Dec 13 00:34:04 2006 -0800 [PATCH] constify pipe_buf_operations - pipe/splice should use const pipe_buf_operations and file_operations - struct pipe_inode_info has an unused field "start" : get rid of it. Signed-off-by: Eric Dumazet Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 426d62e2158c2fd3aa1ed1fd62122afd2ccb89ae Author: Avi Kivity Date: Wed Dec 13 00:34:03 2006 -0800 [PATCH] KVM: Add MAINTAINERS entry Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c7bb723b4e36dbd4b144176116d126104dc65e0 Author: Avi Kivity Date: Wed Dec 13 00:34:02 2006 -0800 [PATCH] KVM: MMU: Ignore pcd, pwt, and pat bits on ptes The pcd, pwt, and pat bits on page table entries affect the cpu cache. Since the cache is a host resource, the guest should not be able to control it. Moreover, the meaning of these bits changes depending on whether pat is enabled or not. So, force these bits to zero on shadow page table entries at all times. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0770b19b94ed8fc97e1fcac91c320ec738919628 Author: Avi Kivity Date: Wed Dec 13 00:34:01 2006 -0800 [PATCH] KVM: Remove extranous put_cpu() from vcpu_put() The arch splitting patchset left an extra put_cpu() in core code, where it can cause trouble for CONFIG_PREEMPT kernels. Reported-by: Huihong Luo Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7725f0badd6682e5bcc06f38eedf0123712a3f60 Author: Avi Kivity Date: Wed Dec 13 00:34:01 2006 -0800 [PATCH] KVM: Move find_vmx_entry() to vmx.c Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7fbf1fdf0d79241f5cc95310b96f0c52452ab39 Author: Uri Lublin Date: Wed Dec 13 00:34:00 2006 -0800 [PATCH] KVM: Make the GET_SREGS and SET_SREGS ioctls symmetric This makes the SET_SREGS ioctl behave symmetrically to the GET_SREGS ioctl wrt the segment access rights flag. Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acd19499e9724615d720b29c74be6b218ce765c6 Author: Randy Dunlap Date: Wed Dec 13 00:33:57 2006 -0800 [PATCH] Fix section mismatch in parainstructions Section .parainstructions should not warn about section mismatches. WARNING: drivers/net/hamradio/scc.o - Section mismatch: reference to .exit.text: from .parainstructions after '' (at offset 0x0) WARNING: drivers/net/hamradio/scc.o - Section mismatch: reference to .exit.text: from .parainstructions after '' (at offset 0x8) Signed-off-by: Randy Dunlap Cc: Andi Kleen Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d78437245aa3842e8eeaef2709753ac485465652 Author: Ralf Baechle Date: Wed Dec 13 00:33:53 2006 -0800 [PATCH] i2o_exec_exit and i2o_driver_exit should not be __exit. i2o_exec_exit and i2o_driver_exit were marked as __exit which is a bug because both are invoked from __init and __exit functions. Signed-off-by: Ralf Baechle Cc: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39f07223d400330b9e08aae4c77a391f2418023e Author: Tilman Schmidt Date: Wed Dec 13 00:33:52 2006 -0800 [PATCH] isdn/gigaset: fix possible missing wakeup Eliminate some possibilities for user processes writing to the Gigaset character device to be left sleeping indefinitely, by adding wakeup calls to error paths and properly disposing of pending write requests when the device is disconnected. It also removes unnecessary NULL checks before usb_free_urb() and usb_kill_urb() calls. Signed-off-by: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eff3b634d9a0cccb6ca8b431819fa415f10804dc Author: Peter Zijlstra Date: Wed Dec 13 00:33:50 2006 -0800 [PATCH] uml: fix net_kern workqueue abuse Fix up the work on stack and exit scope trouble by placing the work_struct in the uml_net_private data. Signed-off-by: Peter Zijlstra Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffd22b8e08fb86692d316cdcc1a4da4d10a016c5 Author: David Brownell Date: Wed Dec 13 00:33:49 2006 -0800 [PATCH] another build fix, header rearrangements (OSK) Some of the header file rearrangements broke the build for board-osk. Signed-off-by: David Brownell Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c1bc04e793a7ff4004180aa42890c3d382ec87f Author: David Brownell Date: Wed Dec 13 00:33:46 2006 -0800 [PATCH] fix more workqueue build breakage (tps65010) More fixes to build breakage from the work_struct changes ... this updates the tps65010 driver. Plus, fix some dependencies related to the way it's used on the OMAP OSK: force static linking there, since the resulting kernel can't link. NOTE that until the i2c core gets fixed to work without SMBUS_QUICK, kernels needing this driver must still use "tps65010.force=0,0x48" on the command line. Signed-off-by: David Brownell Cc: Jean Delvare Cc: Russell King Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05b3e0c2c791a70bf0735aaec53cdf6d340eef85 Author: Avi Kivity Date: Wed Dec 13 00:33:45 2006 -0800 [PATCH] KVM: Replace __x86_64__ with CONFIG_X86_64 As per akpm's request. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aff458e9c90df55d6badabd89a1a063a80d9768 Author: Avi Kivity Date: Wed Dec 13 00:33:45 2006 -0800 [PATCH] KVM: Clean up AMD SVM debug registers load and unload By letting gcc choose the temporary register for us, we lose arch dependency and some ugliness. Conceivably gcc will also generate marginally better code. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd24dc4af6387d820159e3affdfb1e9d3bdce1f8 Author: Avi Kivity Date: Wed Dec 13 00:33:44 2006 -0800 [PATCH] KVM: Put KVM in a new Virtualization menu Instead of in the main drivers menu. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b3be0d1cc8a56468e0cb35ab3895f265d8e5cc6 Author: Anthony Liguori Date: Wed Dec 13 00:33:43 2006 -0800 [PATCH] KVM: Add missing include load_TR_desc() lives in asm/desc.h, so #include that file. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a311f74329ee15cfae9576a45feefc1e935ca0c5 Author: Heiko Carstens Date: Wed Dec 13 00:33:41 2006 -0800 [PATCH] tty: export get_current_tty 24ec839c431eb79bb8f6abc00c4e1eb3b8c4d517 causes this: WARNING: "get_current_tty" [drivers/s390/char/fs3270.ko] undefined! Cc: Martin Schwidefsky Acked-by: Peter Zijlstra Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24d34dc56449a322d8140d497440d3c1bea49618 Author: Andrew Morton Date: Wed Dec 13 00:33:40 2006 -0800 [PATCH] arch/i386/kernel/smpboot.c: remove unneeded ifdef #ifdef CONFIG_SMP in a file which isn't compiled in non-SMP kernels. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ab70df451c6183dd5474a68edac44684b0b7616 Author: Dhaval Giani Date: Wed Dec 13 14:49:15 2006 +0530 [CPUFREQ] fixes typo in cpufreq.c This patch fixes a typo in cpufreq.c From: Dhaval Giani Signed-off-by: Dave Jones commit 386b0ce25ae16eb1d25db6a004c959e3a9003ce3 Author: Russell King Date: Wed Dec 13 14:48:36 2006 +0000 [ARM] Remove empty fixup function Empty fixup functions are just a waste of code, and are not necessary. Remote them. Signed-off-by: Russell King commit 2fc2c60df3d2b3a557eb8d750779def9d51934b1 Author: Jens Axboe Date: Wed Dec 13 15:44:27 2006 +0100 [PATCH] Fixup cciss error handling The previous cciss commit removed the err_out_disable_pdev label, but there was still a user of that. Fix that up. Signed-off-by: Jens Axboe commit c2dade510128fc6ac73eeb322742f4e90f600837 Author: Sascha Hauer Date: Tue Dec 12 10:32:42 2006 +0100 [ARM] 4014/1: include drivers/hid/Kconfig HID drivers are in their own directory now, so we have to include the Kconfig file for arm. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 1a815aed1e03c73fcd0390109c7da9c69dc97490 Author: Sascha Hauer Date: Tue Dec 12 09:23:45 2006 +0100 [ARM] 4013/1: clocksource driver for netx Add a clocksource driver for netx systems Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit c80204e5d67d1452ac0b761d980f1651dc2c66dc Author: Sascha Hauer Date: Tue Dec 12 09:21:50 2006 +0100 [ARM] 4012/1: Clocksource for pxa Add a clocksource driver for pxa2xx systems Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit da2c12a279ae225f3d4696f76cb3b32a5bec5bfb Author: Russell King Date: Wed Dec 13 14:35:58 2006 +0000 [ARM] Clean up ioremap code Since we're keeping the ioremap code, we might as well keep it as close to the standard kernel as possible. Signed-off-by: Russell King commit ad1ae2fe7fe68414ef29eab3c87b48841f8b72f2 Author: Russell King Date: Wed Dec 13 14:34:43 2006 +0000 [ARM] Unuse another Linux PTE bit L_PTE_ASID is not really required to be stored in every PTE, since we can identify it via the address passed to set_pte_at(). So, create set_pte_ext() which takes the address of the PTE to set, the Linux PTE value, and the additional CPU PTE bits which aren't encoded in the Linux PTE value. Signed-off-by: Russell King commit c65fb61b3c92ad8f99f16c7a2c11247bfaf0a1da Author: Jens Axboe Date: Wed Dec 13 13:25:18 2006 +0100 [PATCH] Allow as-iosched to be unloaded We implemented the missing bits to allow this some time ago, and they are integrated in AS. So remove the __module_get() to allow the module to be unloaded. Signed-off-by: Jens Axboe commit c4977f596c5bce4d20fbd22cdb03486112985622 Author: mike.miller@hp.com Date: Wed Dec 13 13:10:04 2006 +0100 [PATCH 2/2] cciss: remove calls to pci_disable_device This patch removes calls to pci_disable_device except in fail_all_cmds. The pci_disable_device function does something nasty to Smart Array controllers that pci_enable_device does not undo. So if the driver is unloaded it cannot be reloaded. Also, customers can disable any pci device via the ROM Based Setup Utility (RBSU). If the customer has disabled the controller we should not try to blindly enable the card from the driver. Please consider this for inclusion. Signed-off-by: Mike Miller Acked-by: Alan Cox Signed-off-by: Jens Axboe commit 98040015bc5d6cea3bd2dcb642fe1e8c4bded8e1 Author: mike.miller@hp.com Date: Wed Dec 13 13:08:56 2006 +0100 [PATCH 1/2] cciss: map out more memory for config table This patch maps out more memory for our config table. It's required to reach offset 0x214 to disable DMA on the P600. I'm not sure how I lost this hunk. Please consider this for inclusion. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit 7749a8d423c483a51983b666613acda1a4dd9c1b Author: Jens Axboe Date: Wed Dec 13 13:02:26 2006 +0100 [PATCH] Propagate down request sync flag We need to do this, otherwise the io schedulers don't get access to the sync flag. Then they cannot tell the difference between a regular write and an O_DIRECT write, which can cause a performance loss. Signed-off-by: Jens Axboe commit 0cfea5dd98205f2fa318836da664a7d7df1afbc1 Author: Matthew Wilcox Date: Mon Dec 4 03:43:14 2006 -0700 [AGPGART] VIA and SiS AGP chipsets are x86-only There's no point in troubling the Alpha, IA-64, PowerPC and PARISC people with SiS and VIA options. Andrew thinks it helps find bugs, but there's no evidence of that. Signed-off-by: Matthew Wilcox Signed-off-by: Dave Jones commit 0ac633b23db91e48210179e31dd88ad9e9a8aba9 Author: Randy Dunlap Date: Sun Nov 19 18:52:28 2006 -0800 [AGPGART] agp-amd64: section mismatches with HOTPLUG=n When CONFIG_HOTPLUG=n, agp_amd64_resume() calls nforce3_agp_init(), which is __devinit == __init, so has been discarded and is not usable for resume. WARNING: drivers/char/agp/amd64-agp.o - Section mismatch: reference to .init.text: from .text between 'agp_amd64_resume' (at offset 0x249) and 'amd64_tlbflush' Signed-off-by: Randy Dunlap Signed-off-by: Dave Jones commit 82b399133b6ebf667ee635fc69ef26b61eede4bc Author: Roland Dreier Date: Tue Dec 12 14:48:18 2006 -0800 IPoIB: Make sure struct ipoib_neigh.queue is always initialized Move the initialization of ipoib_neigh's skb_queue into ipoib_neigh_alloc(), since commit 2745b5b7 ("IPoIB: Fix skb leak when freeing neighbour") will make iterate over the skb_queue to free any packets left over when freeing the ipoib_neigh structure. This fixes a crash when freeing ipoib_neigh structures allocated in ipoib_mcast_send(), which otherwise don't have their skb_queue initialized. Signed-off-by: Roland Dreier commit d4b87598e940053fa22020dcdc6384827b4fc58d Author: Wim Van Sebroeck Date: Tue Dec 12 23:46:47 2006 +0100 [WATCHDOG] pcwd_usb.c generic HID include file Now that the generic HID layer created include/linux/hid.h we can use the HID_REQ_SET_REPORT and HID_DT_REPORT defines directly from that include file. Signed-off-by: Wim Van Sebroeck commit db2fb9db5735cc532fd4fc55e94b9a3c3750378e Author: Rafa³ Bilski Date: Thu Nov 30 03:47:41 2006 +0100 [CPUFREQ] Longhaul - Add support for CN400 Support for CN400 northbridge when ACPI C3 isn't available. Tested on Epia SP13000. Thanks to Robert for testing it. Signed-off-by: Rafa³ Bilski Signed-off-by: Dave Jones commit 3f4a25f17e1073b5af36678b69755af6e56780c3 Author: Rafa³ Bilski Date: Thu Nov 30 03:36:44 2006 +0100 [CPUFREQ] Longhaul - fix 200MHz FSB On board of Epia SP13000 is 10x133Mhz VIA Nehemiah. It is reported as 10x200MHz. This patch is fixing this issue. Signed-off-by: Rafa³ Bilski Signed-off-by: Dave Jones commit 5180311fe93842e9e16eb7297cfc4aded752ab33 Author: Ralph Campbell Date: Tue Dec 12 14:31:00 2006 -0800 IB/iser: Use the new verbs DMA mapping functions Convert iSER to use the new verbs DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 85507bcce0cd6ec859943da4e07227c124a18f3f Author: Ralph Campbell Date: Tue Dec 12 14:30:55 2006 -0800 IB/srp: Use new verbs IB DMA mapping functions Convert SRP to use the new verbs DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 37ccf9df974f55e99bf21278133b065cbbcf3f79 Author: Ralph Campbell Date: Tue Dec 12 14:30:48 2006 -0800 IPoIB: Use the new verbs DMA mapping functions Convert IPoIB to use the new DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e11952b971ee729a8fdc2bfb1252f5760c0287b0 Author: Dominik Brodowski Date: Mon Dec 4 20:39:16 2006 -0500 [CPUFREQ] p4-clockmod: fix support for Core Support for Core CPUs was broken in two ways in speedstep-lib: for x86_64, we missed a MSR definition; for both x86_64 and i386, the FSB calculation was wrong by four (it's a quad-pumped bus). Also increase the accuracy of the calculation. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 1527106ff8cf6afb15f68c8820605a0d32263173 Author: Ralph Campbell Date: Tue Dec 12 14:28:30 2006 -0800 IB/core: Use the new verbs DMA mapping functions Convert code in core/ to use the new DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f2cbb660ed37294e3eeb98c045de6890079ccb01 Author: Ralph Campbell Date: Tue Dec 12 14:28:28 2006 -0800 IB/ipath: Implement new verbs DMA mapping functions This patch implements the interposing DMA mapping functions to allow support for IOMMUs and remove the dependence on phys_to_virt() and bus_to_virt(). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9b513090a3c5e4964f9ac09016c1586988abb3d5 Author: Ralph Campbell Date: Tue Dec 12 14:27:41 2006 -0800 IB: Add DMA mapping functions to allow device drivers to interpose The QLogic InfiniPath HCAs use programmed I/O instead of HW DMA. This patch allows a verbs device driver to interpose on DMA mapping function calls in order to avoid relying on bus_to_virt() and phys_to_virt() to undo the mappings created by dma_map_single(), dma_map_sg(), etc. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 7531a0b56f6211a5407c8cda4968c3b7ca9496ab Author: Dave Jones Date: Tue Dec 12 17:26:35 2006 -0500 [CPUFREQ] Fix git URL. Signed-off-by: Dave Jones commit 3d4a7ef3d3f0c9f3cf8da724d5935253a713d8b6 Author: Venkatesh Pallipadi Date: Mon Nov 13 17:47:44 2006 -0800 [CPUFREQ] Fix the bug in duplicate freq elimination code in acpi-cpufreq Fix the bug in duplicate states elimination in acpi-cpufreq. Bug: Due to duplicate state elimiation in the loop earlier, the number of valid_states can be less than perf->state_count, in which case freq_table was ending up with some garbage/uninitialized entries in the table. Signed-off-by: Venkatesh Pallipadi From: Alexey Starikovskiy Signed-off-by: Dave Jones commit 8b9c6671f8dbedbd071a9a6c787d4086a8990db4 Author: Gary Hade Date: Fri Nov 10 11:20:47 2006 -0800 [CPUFREQ] speedstep-centrino should ignore upper performance control bits On some systems there could be bits set in the upper half of the control value provided by the _PSS object. These bits are only relevant for cpufreq drivers that use IO ports which are not currently supported by the speedstep-centrino driver. The current MSR oriented code assumes that upper bits are not set and thus fails to work correctly when they are. e.g. the control and status value equality check failed on the IBM x3650 even though the ACPI spec allows inequality. Signed-off-by: Gary Hade Signed-off-by: Dave Jones commit 55e337345df892d592bbd9050cbd1fc0c6feb069 Author: Jean Delvare Date: Thu Nov 9 18:29:35 2006 +0100 [CPUFREQ] Optimize gx-suspmod revision ID fetching We don't need a temporary variable to get the PCI revision ID. Signed-off-by: Jean Delvare Signed-off-by: Dave Jones commit df3e0d1c69c097f54588d720d39efdcdf31e3c24 Author: bibo,mao Date: Tue Dec 12 12:04:42 2006 -0800 [IA64] kprobe clears qp bits for special instructions On IA64 there exists some special instructions which always need to be executed regradless of qp bits, such as com.crel.unc, tbit.trel.unc etc. This patch clears qp bits when inserting kprobe trap code and disables probepoint on slot 1 for these special instructions. Signed-off-by: bibo,mao Signed-off-by: Tony Luck commit 08ed38b68099f2a492196414b08a7f5dd8dc3537 Author: Tony Luck Date: Tue Nov 14 09:33:38 2006 -0800 [IA64] enable trap code on slot 1 Because slot 1 of one instr bundle crosses border of two consecutive 8-bytes, kprobe on slot 1 is disabled. This patch enables kprobe on slot1, it only replaces higher 8-bytes of the instruction bundle and changes the exception code to ignore the low 12 bits of the break number (which is across the border in the lower 8-bytes of the bundle). For those instructions which must execute regardless qp bits, kprobe on slot 1 is still disabled. Signed-off-by: bibo,mao Signed-off-by: Tony Luck commit 75f6a1de41f90543792403bf0ffb3ead59d0d8cc Author: Tony Luck Date: Tue Dec 12 11:56:36 2006 -0800 [IA64] Take defensive stance on ia64_pal_get_brand_info() Stephane thought he saw a problem here (but was just confused by the return value from ia64_pal_get_brand_info()). But we should be more defensive here in case an prototype PAL for a future processor doesn't implement this PAL call. Signed-off-by: Tony Luck commit 75216638572f53612304c05a374f0246fe1d16da Author: Sean Hefty Date: Thu Nov 30 16:53:41 2006 -0800 RDMA/cma: Export rdma cm interface to userspace Export the rdma cm interfaces to userspace via a misc device. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 628e5f6d39d5a6be96c1272a6709f2dd3ec8b7ce Author: Sean Hefty Date: Thu Nov 30 16:44:16 2006 -0800 RDMA/cma: Add support for RDMA_PS_UDP Allow the use of UD QPs through the rdma_cm, in order to provide address translation services for resolving IB addresses for datagram messages using SIDR. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 0fe313b000b6a699afbbb59ef9c47a2b22146f1e Author: Sean Hefty Date: Thu Nov 30 16:37:15 2006 -0800 RDMA/cma: Allow early transition to RTS to handle lost CM messages During connection establishment, the passive side of a connection can receive messages from the active side before the connection event has been delivered to the user. Allow the passive side to send messages in response to received data before the event is delivered. To handle the case where the connection messages are lost, a new rdma_notify() function is added that users may invoke to force a connection into the established state. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit a1b1b61f80aba49f1e0f32b0e4b1c35be91c57fa Author: Sean Hefty Date: Thu Nov 30 16:33:14 2006 -0800 RDMA/cma: Report connect info with connect events Connection information was never given to the recipient of a connection request or reply message. Only the event was delivered. Report the connection data with the event to allows user to reject the connection based on the requested parameters, or adjust their resources to match the request. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 9b2e9c0c241e532d923fff23d9a7c0bd31bd96b1 Author: Sean Hefty Date: Thu Nov 30 16:30:47 2006 -0800 RDMA/cma: Remove unneeded qp_type parameter from rdma_cm The qp_type parameter into the rdma_cm is unneeded, and can be misleading. The QP type should be determined from the port space. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 0a1336c8c93530b93c8ecd8c9882f5e528673cab Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/ipath: Fix IRQ for PCI Express HCAs Commit 51f65ebc ("IB/ipath - program intconfig register using new HT irq hook"), which fixed interrupts for HyperTransport HCAs, broke PCI Express HCAs, because for those HCAs, the driver uses the value of pdev->irq before pci_enable_msi() and ends up getting a totally bogus IRQ number. Fix this by using the value of pdev->irq after pci_enable_msi(). Signed-off-by: Roland Dreier commit ad1f9791e91511fcff21730e55ad8dbc375c79bb Author: Krishna Kumar Date: Mon Dec 4 09:14:57 2006 +0530 RDMA/amso1100: Fix memory leak in c2_qp_modify() vq_req is leaked in error cases. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit dee234f48aa6b5ee6041d33c4fd59d2f1176e9a1 Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/iser: Remove unused "write-only" variables Remove variables that are set but then never looked at in the iSER initiator. These cleanups came from David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit 44f8e3f3f7d8e61b4aafced278403955fe18ad88 Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/ipath: Remove unused "write-only" variables Remove variables that are set but then never looked at in the ipath driver. These cleanups came from David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit f47e22c6e4225f40e0dd662398e2cb204f6ec8ed Author: Roland Dreier Date: Tue Dec 12 11:50:19 2006 -0800 IB/fmr: ib_flush_fmr_pool() may wait too long ib_flush_fmr_pool() stashes away the request generation number properly, but then goes ahead and rereads it every time it tests whether the flush generation number has caught up. This means that there is a theoretical possibility of livelock, if the request generation number keeps getting bumped and the flush generation number never catches up. The fix is simple: use the request generation number read at the beginning of the function. Also, atomic_inc() followed by atomic_read() can be replaced with atomic_int_return(). There's no real requirement for atomicity here but we might as well shrink the code. This bug was discovered using David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit a460ef8d0a98ac9ef6b829ae292c9b6c13bc0120 Author: Dean Nelson Date: Wed Nov 22 08:25:00 2006 -0600 [IA64] fix possible XPC deadlock when disconnecting This patch eliminates a potential deadlock that is possible when XPC disconnects a channel to a partition that has gone down. This deadlock will occur if at least one of the kthreads created by XPC for the purpose of making callouts to the channel's registerer is detained in the registerer and will not be returning back to XPC until some registerer request occurs on the now downed partition. The potential for a deadlock is removed by ensuring that there always is a kthread available to make the channel disconnecting callout to the registerer. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 1cf24bdbbbd2eb5439796dc399ab1649d150ed1d Author: Jack Steiner Date: Wed Nov 22 09:55:08 2006 -0600 [IA64] - Reduce overhead of FP exception logging messages Improve the scalability of the fpswa code that rate-limits logging of messages. There are 2 distinctly different problems in this code. 1) If prctl is used to disable logging, last_time is never updated. The result is that fpu_swa_count is zeroed out on EVERY fp fault. This causes a very very hot cache line. The fix reduces the wallclock time of a 1024p FP exception test from 28734 sec to 19 sec!!! 2) On VERY large systems, excessive messages are logged because multiple cpus can each reset or increment fpu_swa_count at about the same time. The result is that hundreds of messages are logged each second. The fixes reduces the logging rate to ~1 per second. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 8b9c106856d92c8266697328b148d115538b59ce Author: Tony Luck Date: Tue Dec 12 11:18:55 2006 -0800 [IA64] fix arch/ia64/mm/contig.c:235: warning: unused variable `nid' This warning only shows up with CONFIG_VIRTUAL_MEM_MAP=y and CONFIG_FLATMEM=y. There is only one caller left for register_active_ranges() from the contig.c code ... so it doesn't need to pick up the node number, the node number is always zero. Signed-off-by: Tony Luck commit 18b36c7119aa868fdfae6855b86824db238e5ebc Author: Cal Peake Date: Tue Dec 12 20:18:16 2006 +0100 Fix inotify maintainers entry Update the inotify entry in MAINTAINERS to be consistent with the rest of the file. Signed-off-by: Cal Peake Signed-off-by: Adrian Bunk commit 86327d19f7d91270b0bbd06ad4581e2f6fa3bec0 Author: Dave Jones Date: Tue Dec 12 20:16:36 2006 +0100 Fix typo in new debug options. Signed-off-by: Dave Jones Signed-off-by: Adrian Bunk commit 5e614475decfcc852d2c8c50702f81ee34901fe2 Author: Dave Jones Date: Tue Dec 12 20:15:40 2006 +0100 Jon needs a new shift key. Signed-off-by: Dave Jones Signed-off-by: Adrian Bunk commit b87576d59b5e8bd235e8579fd33b5d5af528b210 Author: Robert P. J. Day Date: Tue Dec 12 20:07:35 2006 +0100 fs: Convert kmalloc() + memset() to kzalloc() in fs/. Convert the single available instance of kmalloc() + memset() to kzalloc() in the fs/ directory. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit df4365ce8829e84e8e6fe7d2371ea8f40630e865 Author: Robert P. J. Day Date: Tue Dec 12 20:05:50 2006 +0100 configfs.h: Remove dead macro definitions. Delete the __ATTR-related macro definitions since these are now defined in include/linux/sysfs.h. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit bef1f40261c8bc5ad2ca70a5a1760b0eb79b6812 Author: Robert P. J. Day Date: Tue Dec 12 20:04:19 2006 +0100 kconfig: Standardize "depends" -> "depends on" in Kconfig files Standardize the miniscule percentage of occurrences of "depends" in Kconfig files to "depends on", and update kconfig-language.txt to reflect that. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit c48e3fca3f063edb0c8c4d163e880b94c1d9f93d Author: Yan Burman Date: Tue Dec 12 20:03:10 2006 +0100 e100: replace kmalloc with kcalloc Replace kmalloc+memset with kcalloc Signed-off-by: Yan Burman Acked-By: Auke Kok Signed-off-by: Adrian Bunk commit 0268bd0a807fc5cc41ced9cce95efe1b43e8fa52 Author: Yan Burman Date: Tue Dec 12 19:54:52 2006 +0100 um: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Adrian Bunk commit 47c6bf7760bb8021bf7782f05bcd3b9f73ed2c2e Author: Peter Zijlstra Date: Tue Dec 12 19:48:59 2006 +0100 fix typo in net/ipv4/ip_fragment.c Signed-off-by: Adrian Bunk commit f889a26a703b03c774849685583cec7746738f3c Author: Tony Luck Date: Tue Dec 12 10:47:36 2006 -0800 [IA64] s/termios/ktermios/ in simserial.c This got missed in 606d099cdd1080bbb50ea50dc52d98252f8f10a1 Signed-off-by: Tony Luck commit e1036502e5263851259d147771226161e5ccc85a Author: Nicolas Pitre Date: Tue Dec 12 13:32:29 2006 -0500 [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem Commit 2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 introduced a dependency that was never meant to exist when the ac97_bus.c module was created. Move ac97_bus.c up the directory hierarchy to make sure it is built when selected even if sound is configured out so things work as originally intended. Signed-off-by: Nicolas Pitre Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 53569ab7851fd564427f7529b17162cba9a28407 Author: Alistair John Strachan Date: Tue Dec 12 19:28:50 2006 +0100 include/linux/compiler.h: reject gcc 3 < gcc 3.2 The kernel doesn't compile with GCC <3.2, do not allow it to succeed if GCC 3.0.x or 3.1.x are used. Signed-off-by: Alistair John Strachan Signed-off-by: Adrian Bunk commit 979c6a1e49875e9277b5113295a48d5641f02465 Author: Jesper Juhl Date: Tue Dec 12 19:25:11 2006 +0100 Kconfig: fix spelling error in config KALLSYMS help text Signed-off-by: Jesper Juhl Acked-By: Randy Dunlap Signed-off-by: Adrian Bunk commit 93aec204002b6ccd4daf0d02363a8227f21bf70f Author: Rolf Eike Beer Date: Tue Dec 12 19:23:02 2006 +0100 Remove duplicate "have to" in comment Introduced in commit 7cc13edc139108bb527b692f0548dce6bc648572. Signed-off-by: Rolf Eike Beer Acked-by: Eric W. Biederman Signed-off-by: Adrian Bunk commit 87c18aa95199b4b7dd9510b2b927a5e30083da01 Author: Thomas Hisch Date: Tue Dec 12 19:20:35 2006 +0100 Fix small typo in drivers/serial/icom.c Signed-off-by: Thomas Hisch Signed-off-by: Adrian Bunk commit 53da5763bf129def6fe69ea5301d625ce9a86edf Author: Horms Date: Tue Dec 12 18:06:13 2006 +0900 [IA64] kexec/kdump: tidy up declaration of relocate_new_kernel_t * Make NORET_TYPE and ATTRIB_NORET in line with the declaration for other architectures * Add parameter names Signed-Off-By: Simon Horman Signed-off-by: Tony Luck commit ad1c3ba7e54fc38b119c1a7d5c98f9ffb8227fdb Author: Horms Date: Tue Dec 12 18:08:10 2006 +0900 [IA64] Kexec/Kdump: honour non-zero crashkernel offset. There seems to be a value in both allowing the kernel to determine the base offset of the crashkernel automatically and allowing users's to sepcify it. The old behaviour on ia64, which is still the current behaviour on most architectures is for the user to always specify the address. Recently ia64 was changed so that it is always automatically determined. With this patch the kernel automatically determines the offset if the supplied value is 0, otherwise it uses the value provided. This should probably be backed by a documentation change. Signed-Off-By: Simon Horman Signed-off-by: Tony Luck commit 45a98fc622ae700eed34eb2be00743910d50dbe1 Author: Horms Date: Tue Dec 12 17:49:03 2006 +0900 [IA64] CONFIG_KEXEC/CONFIG_CRASH_DUMP permutations Actually, on reflection I think that there is a good case for keeping the options separate. I am thinking particularly of people who want a very small crashdump kernel and thus don't want to compile in kexec. The patch below should fix things up so that all valid combinations of KEXEC, CRASH_DUMP and VMCORE compile cleanly - VMCORE depends on CRASH_DUMP which is why I said valid combinations. In a nutshell it just untangles unrelated code and switches around a few defines. Please note that it creats a new file, arch/ia64/kernel/crash_dump.c This is in keeping with the i386 implementation. Signed-off-by: Simon Horman Signed-off-by: Tony Luck commit 5ea084ef9c7d0086e9902118c276d3a1187ba535 Author: Samuel Tardieu Date: Tue Dec 12 19:09:40 2006 +0100 Use consistent casing in help message Signed-off-by: Samuel Tardieu Signed-off-by: Adrian Bunk commit adf142e379bd20ad906a7e36f722eaabb3b44b0c Author: Jay Lan Date: Mon Dec 11 15:39:23 2006 -0800 [IA64] Do not call SN_SAL_SET_CPU_NUMBER twice on cpu 0 This is an SN specific patch. Architectually, cpu_init is always called twice on cpu 0 and thus resulted in two SN_SAL_SET_CPU_NUMBER calls. This was harmless in production kernel; however, it can cause problem on booting up a crashdump kernel at Altix. Here is the patch that detects the second sn_cpu_init call and skips the second call to SN_SAL_SET_CPU_NUMBER. Signed-Off-By: Jay Lan Signed-off-by: Tony Luck commit d23edbd3d596553db4ffac71a6e3745e85aee7cc Author: Jan Engelhardt Date: Tue Dec 12 19:07:45 2006 +0100 EXT{2,3,4}_FS: remove outdated part of the help text Signed-off-by: Jan Engelhardt Acked-by: Dave Kleikamp Signed-off-by: Adrian Bunk commit 284f42b627c070a2dd07b5c072cbd75d7fbb7c96 Author: Stelian Pop Date: Tue Dec 12 18:18:31 2006 +0100 hwmon: Add MAINTAINERS entry for new ams driver Signed-off-by: Stelian Pop Acked-by: Michael Hanselmann Signed-off-by: Jean Delvare commit dcb69dd010c182507a8db8940618f6413f65e0af Author: Stelian Pop Date: Tue Dec 12 18:18:30 2006 +0100 hwmon: New AMS hardware monitoring driver This driver adds support for the Apple Motion Sensor (AMS) as found in 2005 revisions of Apple PowerBooks and iBooks. It implements both the PMU and I2C variants. The I2C driver and mouse emulation is based on code by Stelian Pop, while the PMU driver has been developped by Michael Hanselmann. HD parking support will be added later. Various people contributed fixes to this driver, including Aristeu Sergio Rozanski Filho and Jean Delvare. Signed-off-by: Stelian Pop Acked-by: Dmitry Torokhov Acked-by: Robert Love Signed-off-by: Jean Delvare commit 61db011d403388b2dd342489d7110cf13cb99025 Author: Rudolf Marek Date: Tue Dec 12 18:18:30 2006 +0100 hwmon/w83793: Add documentation and maintainer Documentation for the new w83793 hardware monitoring driver, originally provided by Yuan My from Winbond. Also add myself as the maintainer of this driver. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 6800c3d027b4458a6fb5ab78064c2e3b7da2f94f Author: Rudolf Marek Date: Tue Dec 12 18:18:30 2006 +0100 hwmon: New Winbond W83793 hardware monitoring driver Add support for the W83793 hardware monitoring chip. This driver was originally contributed by Yuan Mu of Winbond Electronics Corp. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 7188cc66b4facf749e4fc0a44165b06716e1b621 Author: Jean Delvare Date: Tue Dec 12 18:18:30 2006 +0100 hwmon: Update Rudolf Marek's e-mail address The Silicon Hill club is not what it used to be. Signed-off-by: Rudolf Marek Signed-off-by: Jean Delvare commit 75c990291dd7af84ea68f3c3ead934b51d0b81ad Author: Jean Delvare Date: Tue Dec 12 18:18:29 2006 +0100 hwmon/f71805f: Fix the device address decoding The lowest 3 bits are ignored, and the chip decodes all 8 addresses, not only the 2 it needs. Signed-off-by: Jean Delvare commit c7176cb515edbc937006fd05fa391b0d926a337a Author: Jean Delvare Date: Tue Dec 12 18:18:29 2006 +0100 hwmon/f71805f: Always create all fan inputs Fans can be hotplugged, so we should create sysfs file even for fans which are disabled at driver load time. Signed-off-by: Jean Delvare commit 51c997d80e1f625aea3426a8a9087f5830ac6db3 Author: Jean Delvare Date: Tue Dec 12 18:18:29 2006 +0100 hwmon/f71805f: Add support for the Fintek F71872F/FG chip Add support for the Fintek F71872F/FG Super-I/O chip. It is basically the same as the Fintek F71805F/FG as far as hardware monitoring is concerned, with two additional internal voltages monitored (VSB and battery), and 6 VID inputs (not yet supported.) To make things a bit more confusing, two of the voltage input pins (in4 and in8) can be used for other functions. The driver reads the pin configuration from the Super-I/O configuration space to decide whether it must create interface files for these inputs or not. Many thanks to Nikolay Derkach for testing the early iterations of this code and reporting bugs. Signed-off-by: Jean Delvare commit ba224e2c4f0a706714ccb483b0c21d32f5994f67 Author: Jean Delvare Date: Tue Dec 12 18:18:29 2006 +0100 hwmon: New PC87427 hardware monitoring driver This is a new hardware monitoring driver for the National Semiconductor PC87427 Super-I/O chip. It only supports fan speed monitoring for now, while the chip can do much more. Thanks to Amir Habibi at Candelis for setting up a test system, and to Michael Kress for testing several iterations of this driver. Signed-off-by: Jean Delvare commit 8e9afcbbdef71aeeb510732f4f8d5ac3de863df0 Author: Jean Delvare Date: Tue Dec 12 18:18:28 2006 +0100 hwmon/it87: Remove the SMBus interface support This interface was useless as the LPC ISA-like interface is always available, is faster, and is more reliable. This cuts the driver size by some 20%. This change is also required to later convert the it87 driver to a platform driver, so that we can get rid of i2c-isa in a near future. Signed-off-by: Jean Delvare commit 0f23e50aa5fc578e1c50e873858e6ab7a1e32f0e Author: Stephan Berberig Date: Tue Dec 12 18:18:28 2006 +0100 hwmon/hdaps: Update the list of supported devices Remove the strange DMI for the R52 (1846AQG) and add a note to update to latest BIOS in the Kconfig and source code. Signed-off-by: Stephan Berberig Signed-off-by: Robert Love Signed-off-by: Jean Delvare commit 509a5e85c3a8f0a81c916fac4579b6d1b5ea58da Author: Jean Delvare Date: Tue Dec 12 18:18:28 2006 +0100 hwmon/hdaps: Move the DMI detection data to .data Move the DMI detection data from .text to .data. We really don't want that amount of data on the stack. Also refactor the macros used to generate the detection data, the vendor becomes a parameter. Signed-off-by: Jean Delvare Signed-off-by: Robert Love commit 3d7f9a8697ffe76e9edaf6b1751f2a2db660e4d5 Author: Jim Cromie Date: Tue Dec 12 18:18:28 2006 +0100 hwmon/pc87360: Autodetect the VRM version pc87360 currently hardcodes vrm = 90 (2.4 vintage). Update it to use newer code in hwmon-vid which reads cpuid to determine the correct vid. Signed-off-by: Jim Cromie Signed-off-by: Jean Delvare commit e9cea646014e25aa96eefa1b41d373a6ad95c189 Author: Jean Delvare Date: Tue Dec 12 18:18:27 2006 +0100 hwmon/f71805f: Document the fan control features Document the different fan control methods, list their options, and give some hints for best results. Signed-off-by: Jean Delvare commit 315c7113b5580a5f88169b62f597aacd64ef3717 Author: Jean Delvare Date: Tue Dec 12 18:18:27 2006 +0100 hwmon/f71805f: Add support for "speed mode" fan speed control In "speed mode", the user specifies a target fan speed (in RPM) and the chip automatically adjusts the PWM duty cycle (or DC output level) to reach this target. Signed-off-by: Jean Delvare commit e196783d54a75bea05580ce692126532ac54ee24 Author: Jean Delvare Date: Tue Dec 12 18:18:27 2006 +0100 hwmon/f71805f: Support DC fan speed control mode In DC mode, the pwmN_freq files are not created. Signed-off-by: Jean Delvare commit 6e2bc17b0793297b38aef1bba39f2cb634d66208 Author: Jean Delvare Date: Tue Dec 12 18:18:27 2006 +0100 hwmon/f71805f: Let the user adjust the PWM base frequency Different frequencies can give better results depending on the exact fan model used. Signed-off-by: Jean Delvare commit 95e353127dfcd86df56a742a96ccf56369929b95 Author: Jean Delvare Date: Tue Dec 12 18:18:26 2006 +0100 hwmon/f71805f: Add manual fan speed control pwmN files are writable only in manual fan speed control mode. In automatic fan speed control modes, they are read-only and report the duty cycle chosen by the chip. Signed-off-by: Jean Delvare commit 6b14a546a5a7fde46d20d3c14a4e91a24a3f1be0 Author: Jean Delvare Date: Tue Dec 12 18:18:26 2006 +0100 hwmon/f71805f: Store the fan control registers So far we were only extracting the fan skip bit from the fan control registers, but we'll soon need more bits so better store the whole register values. Signed-off-by: Jean Delvare commit 3640543df26fd38f31f0c6decc35c07be2a6307c Author: Ingo Molnar Date: Tue Dec 12 17:20:42 2006 +0100 [PATCH] netpoll: fix netpoll lockup current -git doesnt boot on my laptop due to netpoll not unlocking the tx lock in the else branch. booted this up on my laptop with lockdep enabled and there are no locking complaints and it works fine. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit b57bd06655a028aba7b92e1c19c2093e7fcfb341 Author: Ingo Molnar Date: Tue Dec 12 13:49:35 2006 +0100 [PATCH] net, 8139too.c: fix netpoll deadlock fix deadlock in the 8139too driver: poll handlers should never forcibly enable local interrupts, because they might be used by netpoll/printk from IRQ context. ================================= [ INFO: inconsistent lock state ] 2.6.19 #11 --------------------------------- inconsistent {softirq-on-W} -> {in-softirq-W} usage. swapper/1 [HC0[0]:SC1[1]:HE1:SE0] takes: (&npinfo->poll_lock){-+..}, at: [] net_rx_action+0x64/0x1de {softirq-on-W} state was registered at: [] mark_lock+0x5b/0x39c [] mark_held_locks+0x4b/0x68 [] trace_hardirqs_on+0x115/0x139 [] rtl8139_poll+0x3d7/0x3f4 [] netpoll_poll+0x82/0x32f [] netpoll_send_skb+0xc9/0x12f [] netpoll_send_udp+0x253/0x25b [] write_msg+0x40/0x65 [] __call_console_drivers+0x45/0x51 [] _call_console_drivers+0x5d/0x61 [] release_console_sem+0x11f/0x1d8 [] register_console+0x1ac/0x1b3 [] init_netconsole+0x55/0x67 [] init+0x9a/0x24e [] kernel_thread_helper+0x7/0x10 [] 0xffffffff irq event stamp: 819992 hardirqs last enabled at (819992): [] net_rx_action+0x39/0x1de hardirqs last disabled at (819991): [] net_rx_action+0x141/0x1de softirqs last enabled at (817552): [] __do_softirq+0xa3/0xa8 softirqs last disabled at (819987): [] do_softirq+0x5b/0xc9 other info that might help us debug this: no locks held by swapper/1. stack backtrace: [] dump_trace+0x63/0x1e8 [] show_trace_log_lvl+0x19/0x2e [] show_trace+0x12/0x14 [] dump_stack+0x14/0x16 [] print_usage_bug+0x23c/0x246 [] mark_lock+0x108/0x39c [] __lock_acquire+0x361/0x9ed [] lock_acquire+0x56/0x72 [] _spin_lock+0x35/0x42 [] net_rx_action+0x64/0x1de [] __do_softirq+0x52/0xa8 [] do_softirq+0x5b/0xc9 [] irq_exit+0x3c/0x48 [] do_IRQ+0xa4/0xbd [] common_interrupt+0x2e/0x34 [] vprintk+0x2c0/0x309 [] printk+0x1b/0x1d [] init+0x80/0x24e [] kernel_thread_helper+0x7/0x10 ======================= Signed-off-by: Ingo Molnar Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit 99a3eb3845f034eb55640a3da73e5e28349678c6 Author: Ingo Molnar Date: Tue Dec 12 12:10:28 2006 +0100 [PATCH] lockdep: fix seqlock_init() seqlock_init() needs to use spin_lock_init() for dynamic locks, so that lockdep is notified about the presence of a new lock. (this is a fallout of the recent networking merge, which started using the so-far unused seqlock_init() API.) This fix solves the following lockdep-internal warning on current -git: INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. __lock_acquire+0x10c/0x9f9 lock_acquire+0x56/0x72 _spin_lock+0x35/0x42 neigh_destroy+0x9d/0x12e neigh_periodic_timer+0x10a/0x15c run_timer_softirq+0x126/0x18e __do_softirq+0x6b/0xe6 do_softirq+0x64/0xd2 ksoftirqd+0x82/0x138 Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 2a7e9a260ede3b17b5bc25c540a033a45bbf0461 Author: Mauro Carvalho Chehab Date: Mon Dec 11 05:37:14 2006 -0300 V4L/DVB (4954): Fix: On ia64, i2c adap->inb/adap->outb are wrongly evaluated i2c defines two callbacks (inb/outb). On ia64, since it defines also two macros with those names, it causes the following errors: drivers/media/video/usbvision/usbvision-i2c.c:64:39: macro "outb" passed 4 arguments, but takes just 2 drivers/media/video/usbvision/usbvision-i2c.c: In function `try_write_address': drivers/media/video/usbvision/usbvision-i2c.c:64: warning: assignment makes integer from pointer without a cast drivers/media/video/usbvision/usbvision-i2c.c:89:38: macro "inb" passed 4 arguments, but takes just 1 drivers/media/video/usbvision/usbvision-i2c.c: In function `try_read_address': drivers/media/video/usbvision/usbvision-i2c.c:89: warning: assignment makes integer from pointer without a cast drivers/media/video/usbvision/usbvision-i2c.c:85: warning: unused variable `buf' drivers/media/video/usbvision/usbvision-i2c.c:173:53: macro "inb" passed 4 arguments, but takes just 1 drivers/media/video/usbvision/usbvision-i2c.c: In function `usb_xfer': drivers/media/video/usbvision/usbvision-i2c.c:173: warning: assignment makes integer from pointer without a cast drivers/media/video/usbvision/usbvision-i2c.c:179:54: macro "outb" passed 4 arguments, but takes just 2 drivers/media/video/usbvision/usbvision-i2c.c:179: warning: assignment makes integer from pointer without a cast thanks to Andrew Morton for pointing this. Signed-off-by: Mauro Carvalho Chehab commit 335302618f47b43e1204d24a3edb65a3e5bc8c03 Author: FUJITA Tomonori Date: Tue Dec 12 10:26:55 2006 +0100 [PATCH] remove unnecessary blk_queue_bounce in SG_IO When I converted the original patch, I left unnecessary blk_queue_bounce in SG_IO. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: Jens Axboe commit 77d172ce2719b5ad2dc0637452c8871d9cba344c Author: FUJITA Tomonori Date: Mon Dec 11 10:01:34 2006 +0100 [PATCH] fix SG_IO bio leak This patch fixes bio leaks in SG_IO. rq->bio can be changed after io completion, so we need to reset rq->bio before calling blk_rq_unmap_user() http://marc.theaimsgroup.com/?l=linux-kernel&m=116570666807983&w=2 Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 2b02a1792000900ead4638f4d42fcdd742062cfa Author: Boaz Harrosh Date: Tue Dec 5 10:19:14 2006 +0100 [PATCH] remove blk_queue_activity_fn While working on bidi support at struct request level I have found that blk_queue_activity_fn is actually never used. The only user is in ide-probe.c with this code: /* enable led activity for disk drives only */ if (drive->media == ide_disk && hwif->led_act) blk_queue_activity_fn(q, hwif->led_act, drive); And led_act is never initialized anywhere. (Looking back at older kernels it was used in the PPC arch, but was removed around 2.6.18) Unless it is all for future use off course. (this patch is against linux-2.6-block.git as off 2006/12/4) Signed-off-by: Boaz Harrosh Signed-off-by: Jens Axboe commit cbb8fc07974073543fdc61da23713ab49ddd3ced Author: Franck Bui-Huu Date: Wed Dec 6 16:48:28 2006 +0100 [MIPS] paging_init(): use highend_pfn/highstart_pfn This patch makes paging_init() use highend_pfn/highstart_pfn globals. It removes the need of 'high' local which was needed only by HIGHMEM config. More important perhaps, it fixes a bug when HIGHMEM is set but there's actually no physical highmem (highend_pfn = 0) Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit b228f4c54df37b53c6f364aa7f3efa4280bcc4f0 Author: Ralf Baechle Date: Mon Dec 11 15:33:30 2006 +0000 [MIPS] Malta: Resurrect MTD support for onboard flash. Signed-off-by: Ralf Baechle commit 2efac77e82a36bf616d474f2eb721d95543cfae9 Author: Ralf Baechle Date: Mon Dec 11 11:54:52 2006 +0000 [MIPS] Discard .exit.text and .exit.data at runtime. While the recent cset 86384d544157db23879064cde36061cdcafc6794 did improve things it didn't resolve all the problems. So bite the bullet and discard .exit.text and .exit.data at runtime. Which of course sucks because it bloats binaries with code that will never ever be used but it's the only thing that will work reliable as demonstrated by the function sd_major() in drivers/scsi/sd.c. Gcc may compile sd_major() using a jump table which it will put into .rodata. If it also inlines sd_major's function body into exit_sd() which gcc > 3.4.x does. If CONFIG_BLK_DEV_SD has been set to y we would like ld to discard exit_sd's code at link time. However sd_major happens to contain a switch statement which gcc will compile using a jump table in .rodata on the architectures I checked. So, when ld later discards .exit.text only the jump table in .rodata with its stale references to the discard .exit.text will be left which any no antique ld will honor with a link error. Signed-off-by: Ralf Baechle commit 8b2f35504d81422beb9e3562ee3dd99e8567cc80 Author: Ralf Baechle Date: Mon Dec 11 04:17:30 2006 +0000 [MIPS] IP27: Don't drag into topology.h. Another way that old SGI types were getting dragged into generic code. Signed-off-by: Ralf Baechle commit 2bbc5bdfb165521b28ca1825ea482557bffd3918 Author: Ralf Baechle Date: Mon Dec 11 04:07:40 2006 +0000 [MIPS] IP27: Move definition of nic_t to its sole user. This also fixes the duplicate definition of nic_t in the s2io driver. Signed-off-by: Ralf Baechle commit 2f3643aecd1e4e6a4c34cb32eb0410340f34e97f Author: Ralf Baechle Date: Mon Dec 11 04:00:37 2006 +0000 [MIPS] IP27: Don't include . Nothing defines is used. Signed-off-by: Ralf Baechle commit b723782587067d0d76344e9bdc934ca495aa8f0f Author: Ralf Baechle Date: Mon Dec 11 00:43:58 2006 +0000 [MIPS] compat.h uses struct pt_regs so needs to include ptrace.h. Signed-off-by: Ralf Baechle commit a49f99ffca57a2eada23b1ac908a405c17859e35 Author: Andrew Morton Date: Mon Dec 11 17:24:46 2006 -0800 [NETPOLL]: Fix local_bh_enable() warning. During boot we get: netconsole: device eth0 not up yet, forcing it e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex WARNING (!__warned) at kernel/softirq.c:137 local_bh_enable() Call Trace: [] local_bh_enable+0x41/0xa3 [] netpoll_send_skb+0x116/0x144 [] netpoll_send_udp+0x263/0x271 [] write_msg+0x42/0x5e [] __call_console_drivers+0x5f/0x70 [] _call_console_drivers+0x6d/0x71 [] release_console_sem+0x148/0x1ec [] register_console+0x1b1/0x1ba [] init_netconsole+0x54/0x68 [] init+0x152/0x308 [] _spin_unlock_irq+0x14/0x30 [] schedule_tail+0x43/0x9f [] child_rip+0xa/0x12 Herbert sayeth: Normally networking isn't invoked with interrupts turned off, but I suppose we don't have a choice here. This is unique being a place where you can get called with BH on, off, or IRQs off. Given that this is only used for printk, the easiest solution is probably just to disable local IRQs instead of BH. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit e9cfc147df99790a7d260e9d20b865fa31ec56da Author: Yoshinori Sato Date: Tue Dec 12 09:11:45 2006 +0900 sh: Fixup SH-2 BUG() trap handling. This adds in support for the BUG() trap on SH-2. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit b641fe016a29fe2c0c7b0d717a5918e3f067a44f Author: Paul Mundt Date: Tue Dec 12 09:00:47 2006 +0900 sh: Use early_param() for earlyprintk parsing. Signed-off-by: Paul Mundt commit e2dfb912d3cea97d8b1d6750abbe9c942b6f73f5 Author: Paul Mundt Date: Tue Dec 12 08:53:29 2006 +0900 sh: Fix .empty_zero_page alignment for PAGE_SIZE > 4096. Signed-off-by: Paul Mundt commit f668f55c3941faacc6f298f434b1af3d5142eed7 Author: Paul Mundt Date: Tue Dec 12 08:50:36 2006 +0900 sh: Fixup .data.page_aligned. This had a bogus .data.idt reference, fix it up.. Signed-off-by: Paul Mundt commit 05c8690d95967ad50dda3c9d552a0c342dde801b Author: Paul Mundt Date: Tue Dec 12 08:49:06 2006 +0900 sh: Hook up SH7722 scif ipr interrupts. Add the SCIF IRQs to the IPR table for SH7722. Signed-off-by: Paul Mundt commit 1dc417d0390b4897dc1d9bbf335e325baecae2c3 Author: Paul Mundt Date: Mon Dec 11 20:29:28 2006 +0900 sh: Fixup sh_bios() trap handling. This was inadvertently broken when the entry.S code split up, restore the missing branch and get subsequent traps working under debug again. This manifested itself as a lockup when attempting to reload the VBR base. Signed-off-by: Paul Mundt commit 41504c39726a7099e5a42508dd57fe561c8b4129 Author: Paul Mundt Date: Mon Dec 11 20:28:03 2006 +0900 sh: SH-MobileR SH7722 CPU support. This adds CPU support for the SH7722. Signed-off-by: Paul Mundt commit 5432143464ee7f5cb8b0b015a0fd1c3279af10ae Author: Paul Mundt Date: Sat Dec 9 09:17:01 2006 +0900 sh: Fixup dma_cache_sync() callers. This now takes a struct device, update all of the callers. Signed-off-by: Paul Mundt commit 37bda1da4570c2e9c6dd34e77d2120218e384950 Author: Paul Mundt Date: Sat Dec 9 09:16:12 2006 +0900 sh: Convert remaining remap_area_pages() users to ioremap_page_range(). A couple of these were missed. Signed-off-by: Paul Mundt commit 79890c512444aa55a7a42ac5e7d29d7a4edba11b Author: Paul Mundt Date: Sat Dec 9 09:14:35 2006 +0900 sh: Fixup kernel_execve() for syscall cleanups. SH-2 and SH-2A need to use a different syscall base for the trapa vector than the other parts, so fixup the logic in the kernel_execve() case. Signed-off-by: Paul Mundt commit b652c23cb0f7808bedb5442c416d91705a465c67 Author: Paul Mundt Date: Fri Dec 8 17:46:29 2006 +0900 sh: Fix get_wchan(). Some time ago the schedule frame size changed and we failed to reflect this in get_wchan() at the time. This first popped up as a problem on SH7751R where schedule_frame ended up being unaligned and generating an unaligned trap. This fixes it up again.. Signed-off-by: Paul Mundt commit dc34d312c7b25d5d0f54c16d143a9526936e5d38 Author: Paul Mundt Date: Fri Dec 8 17:41:43 2006 +0900 sh: BUG() handling through trapa vector. Previously we haven't been doing anything with verbose BUG() reporting, and we've been relying on the oops path for handling BUG()'s, which is rather sub-optimal. This switches BUG handling to use a fixed trapa vector (#0x3e) where we construct a small bug frame post trapa instruction to get the context right. This also makes it trivial to wire up a DIE_BUG for the atomic die chain, which we couldn't really do before. Signed-off-by: Paul Mundt commit 1b73e6ae45d0353a062d7bea707757a235473cf9 Author: Jamie Lenehan Date: Fri Dec 8 15:26:15 2006 +0900 rtc: rtc-sh: alarm support. This adds alarm support for the RTC_ALM_SET, RTC_ALM_READ, RTC_WKALM_SET and RTC_WKALM_RD operations to rtc-sh. The only unusual part is the handling of the alarm interrupt. If you clear the alarm flag (AF) while the time in the RTC still matches the time in the alarm registers than AF is immediately re-set, and if the alarm interrupt (AIE) is still enabled then it re-triggers. I was originally getting around 20k+ interrupts generated during the second when the RTC and alarm registers matches. The solution I've used is to clear AIE when the alarm goes off and then use the carry interrupt to re-enabled it. The carry interrupt will check AF and re-enabled AIE if it's clear. If AF is not clear it'll clear it and then the check will be repeated next carry interrupt. This a bit in rtc structure that indicates that it's waiting to have AIE re-enabled so it doesn't turn it on when it wasn't enabled anyway. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit a16147965ca7a84dc08c4457961782e06ac7cd0d Author: Jamie Lenehan Date: Fri Dec 8 14:49:30 2006 +0900 rtc: rtc-sh: fix rtc for out-by-one for the month. The RMONCNT register, which holds the month in the RTC, takes a value between 1 and 12 while the tm_mon field in the time structures takes a value between 0 and 11. This wasn't being taken into account in rtc-sh resulting in the month being out by one. eg, on my board during boot the RTC is set to: RTC is set to Thu Jul 01 09:00:00 1999 but "hwclock -r" immediately after logging in was showing: Sun Aug 1 09:01:43 1999 0.000000 seconds Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit 55eec11a50f4c5f53421f49e407e2c92cf25c3ca Author: Yoshinori Sato Date: Fri Dec 8 14:47:02 2006 +0900 sh: Kill off unused SE7619 I/O ops. This can use the generic routines, so kill off the board-specific ones. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 313887507f8ab9240d7b409c9e5ef2c75ac8e1fc Author: Paul Mundt Date: Fri Dec 8 14:26:19 2006 +0900 serial: sh-sci: Shut up various sci_rxd_in() gcc4 warnings. Signed-off-by: Paul Mundt commit ec723fbe7e19f5a66cea183bca7ca20675631a7a Author: Paul Mundt Date: Thu Dec 7 20:33:38 2006 +0900 sh: Split out atomic ops logically. We have a few different ways to do the atomic operations, so split them out in to different headers rather than bloating atomic.h. Kernelspace gUSA will take this up to a third implementation. Signed-off-by: Paul Mundt commit a45e724ba07c02bcf3da96ddc4efefbfe10957f5 Author: Yoshinori Sato Date: Thu Dec 7 19:59:35 2006 +0900 sh: Fix Solution Engine 7619 build. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 11cbb70ea326e8ec78b2beb2b0c85c9ec71c279b Author: Yoshinori Sato Date: Thu Dec 7 18:07:27 2006 +0900 sh: Trivial build fixes for SH-2 support. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 780a1568886a2f5df9bf11b72ba0624c80db5b3b Author: Yoshinori Sato Date: Thu Dec 7 18:01:23 2006 +0900 sh: IPR IRQ updates for SH7619/SH7206. This updates the SH7619 and SH7206 code for the IPR IRQ changes. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit ff4e2ca7c64cd87ec72fa0d238c1b34493133910 Author: Stuart Menefy Date: Thu Dec 7 17:48:52 2006 +0900 sh: gcc4 symbol export fixups. gcc 4 for sh changes the names of some compiler intrinsic functions and adds some additional ones. This patch adds the new ones, and fixes up various module symbol resolution issues. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit b6250e37292b9679b82a3edc28f330a32eed9ae4 Author: Paul Mundt Date: Thu Dec 7 17:27:18 2006 +0900 sh: landisk board build fixes. Get the landisk board building again.. Signed-off-by: Paul Mundt commit 31ccb081ec6c7eedfd7e88a48365c67ce44ecb92 Author: Jamie Lenehan Date: Thu Dec 7 17:23:50 2006 +0900 rtc: rtc-sh: fix for period rtc interrupts. When testing the per second interrupt support (RTC_UIE_ON/RTC_UIE_OFF) of the new RTC system it would die in sh_rtc_interrupt due to a null ptr dereference. The following gets it working correctly. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit 417d6b9edb5958c2cc76e8ef701ebe09a3152deb Author: Jamie Lenehan Date: Thu Dec 7 17:23:07 2006 +0900 sh: register rtc resources for sh775x. Register the RTC resources for the sh775x subtype so that the new generic RTC support in drivers/rtc/rtc-sh.c will work. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit d79b8741f212a9da38f1648d9242041db074216f Author: Yoshinori Sato Date: Thu Dec 7 17:09:46 2006 +0900 sh: SH-2 defconfig updates. This adds a new defconfig for SE7619 and updates SE7206. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit cf00e20444fc39fe37691ca32919061bf65527b0 Author: Paul Mundt Date: Thu Dec 7 17:00:32 2006 +0900 sh: Add uImage and S-rec generation support. Add a couple of new targets, both for uImage and S-rec generation. Signed-off-by: Paul Mundt commit fce3a24e7087ba1f56eea5ec14fec592e677e672 Author: Paul Mundt Date: Thu Dec 7 13:20:58 2006 +0900 sh: push-switch fixups for work_struct API damage. INIT_WORK() dropped the data arg, so now we have to stash an extra pointer and backpedal instead. Signed-off-by: Paul Mundt commit b482ad5daef786962279ae03090970b0ee8b8d1c Author: Paul Mundt Date: Thu Dec 7 12:43:52 2006 +0900 sh: Shut up csum_ipv6_magic() warnings. Signed-off-by: Paul Mundt commit b9b382dabba1e4a106093557933ec4411ebcbe0f Author: Paul Mundt Date: Thu Dec 7 12:43:06 2006 +0900 sh: Reworked swap cache entry encoding for SH-X2 MMU. In the 64-bit PTE case there's no point in restricting the encoding to the low bits of the PTE, we can instead bump all of this up to the high 32 bits and extend PTE_FILE_MAX_BITS to 32, adopting the same convention used by x86 PAE. There's a minor discrepency between the number of bits used for the swap type encoding between 32 and 64-bit PTEs, but this is unlikely to cause any problem given the extended offset. Signed-off-by: Paul Mundt commit 37004af3aaf28f39981754a05cf74361c0834a7a Author: Simon Horman Date: Sun Dec 10 22:36:18 2006 -0800 [IPVS]: Make ip_vs_sync.c <= 80col wide. Signed-off-by: Simon Horman Signed-off-by: David S. Miller commit 89eaeb09ba01632511f69ce8e14c8d2abd2dbe9e Author: Simon Horman Date: Sun Dec 10 22:35:24 2006 -0800 [IPVS]: Use msleep_interruptable() instead of ssleep() aka msleep() Dean Manners notices that when an IPVS synchonisation daemons are started the system load slowly climbs up to 1. This seems to be related to the call to ssleep(1) (aka msleep(1000) in the main loop. Replacing this with a call to msleep_interruptable() seems to make the problem go away. Though I'm not sure that it is correct. This is the second edition of this patch, which replaces ssleep() in the main loop for both the master and backup threads, as well as some thread synchronisation code. The latter is just for thorougness as it shouldn't be causing any problems. Signed-Off-By: Simon Horman Signed-off-by: David S. Miller commit f654c854d1d4e0aca5389ace541647237eb7f753 Author: Ralf Baechle Date: Sun Dec 10 13:46:45 2006 -0800 [HAMRADIO]: Fix baycom_epp.c compile failure. Fix foobar in 15b1c0e822f578306332d4f4c449250db5c5dceb and e8cc49bb0fdb9e18a99e6780073d1400ba2b0d1f patch series. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 8109b02b5397ed52a32c116163a62a34f4768b26 Author: Arnaldo Carvalho de Melo Date: Sun Dec 10 16:01:18 2006 -0200 [DCCP]: Whitespace cleanups That accumulated over the last months hackaton, shame on me for not using git-apply whitespace helping hand, will do that from now on. Signed-off-by: Arnaldo Carvalho de Melo commit 1fba78b6cba14bd37fdb12c5367f1e4d58ff2e0f Author: Arnaldo Carvalho de Melo Date: Sun Dec 10 15:39:29 2006 -0200 [DCCP] ccid3: Fixup some type conversions related to rtts Spotted by David Miller when compiling on sparc64, I reproduced it here on parisc64, that are the only platforms to define __kernel_suseconds_t as an 'int', all the others, x86_64 and x86 included typedef it as a 'long', but from the definition of suseconds_t it should just be an 'int' on platforms where it is >= 32bits, it would not require all the castings from suseconds_t to (int) when printking variables of this type, that are not needed on parisc64 and sparc64. Signed-off-by: Arnaldo Carvalho de Melo commit 9e8efc824098c241a1cde81f5558d222cb6f9369 Author: Gerrit Renker Date: Sun Dec 10 00:24:57 2006 -0200 [DCCP] ccid3: BUG-FIX - conversion errors This fixes conversion errors which arose by not properly type-casting from u32 to __u64. Fixed by explicitly casting each type which is not __u64, or by performing operation after assignment. The patch further adds missing debug information to track the current value of X_recv. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 7af5af3013f84693a7af581e3c8b32f9db493cf5 Author: Gerrit Renker Date: Sun Dec 10 00:24:33 2006 -0200 [DCCP] ccid3: Reorder packet history source file No code change at all. This reorders the source file to follow the same order as the corresponding header file. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 85dcb1f78039cc55ccddd9622657a338b718aafe Author: Gerrit Renker Date: Sun Dec 10 00:24:11 2006 -0200 [DCCP] ccid3: Reorder packet history header file No code change at all. To make the header file easier to read, the following ordering is established among the declarations: * hist_new * hist_delete * hist_entry_new * hist_head * hist_find_entry * hist_add_entry * hist_entry_delete * hist_purge Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit a967241129f6dc1db92fee2c808f73a90f5f47a3 Author: Gerrit Renker Date: Sun Dec 10 00:14:12 2006 -0200 [DCCP] ccid3: Make debug output consistent This patch does not alter any algorithm, just the debug message format: * s#%s, sk=%p#%s(%p)#g * when a statename is present, it now uses %s(%p, state=%s) * when only function entry is debugged, it adds an `- entry' Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit c5a1ae9a4cc4aef1505fa0aba079f834c3ee1af1 Author: Gerrit Renker Date: Sun Dec 10 00:09:21 2006 -0200 [DCCP] ccid3: Perform history operations only after packet has been sent This migrates all packet history operations into the routine ccid3_hc_tx_packet_sent, thereby removing synchronization problems that occur when, as before, the operations are spread over multiple routines. The following minor simplifications are also applied: * several simplifications now follow from this change - several tests are now no longer required * removal of one unnecessary variable (dp) Justification: Currently packet history operations span two different routines, one of which is likely to pass through several iterations of sleeping and awakening. The first routine, ccid3_hc_tx_send_packet, allocates an entry and sets a few fields. The remaining fields are filled in when the second routine (which is not within a sleeping context), ccid3_hc_tx_packet_sent, is called. This has several strong drawbacks: * it is not necessary to split history operations - all fields can be filled in by the second routine * the first routine is called multiple times, until a packet can be sent, and sleeps meanwhile - this causes a lot of difficulties with regard to keeping the list consistent * since both routines do not have a producer-consumer like synchronization, it is very difficult to maintain data across calls to these routines * the fact that the routines are called in different contexts (sleeping, not sleeping) adds further problems Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e312d100f19fdfe1019512b07a9d15653f254abf Author: Gerrit Renker Date: Sun Dec 10 00:08:09 2006 -0200 [DCCP] ccid3: TX history - remove unused field This removes the `dccphtx_ccval' field since it is nowhere used in the code and in fact not necessary for the accounting. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 9f8681db961de6d75e43844e9664f1f81e05e1b7 Author: Gerrit Renker Date: Sun Dec 10 00:07:37 2006 -0200 [DCCP] ccid3: Shift window counter computation This puts the window counter computation [RFC 4342, 8.1] into a separate function which is called whenever a new packet is ready for immediate transmission in ccid3_hc_tx_send_packet. Justification: The window counter update was previously computed after the packet was sent. This has two drawbacks, both fixed by this patch: 1) re-compute another timestamp almost directly after the packet was sent (expensive), 2) the CCVal for the window counter is needed at the instant the packet is sent. Further details: The initialisation of the window counter is left in the state NO_SENT, as before. The algorithm will do nothing if either RTT is initialised to 0 (which is ok) or if the RTT value remains below 4 microseconds (which is almost pathological). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit de553c189e3faa0d0c38f366f73379b46587b80e Author: Gerrit Renker Date: Sun Dec 10 00:06:32 2006 -0200 [DCCP] ccid3: Sanity-check RTT samples CCID3 performance depends much on the accuracy of RTT samples. If RTT samples grow too large, performance can be catastrophically poor. To limit the amount of possible damage in such cases, the patch * introduces an upper limit which identifies a maximum `sane' RTT value; * uses a macro to enforce this upper limit. Using a macro was given preference, since it is necessary to identify the calling function in the warning message. Since exceeding this threshold identifies a critical condition, DCCP_CRIT is used and not DCCP_WARN. Many thanks to Ian McDonald for collaboration on this issue. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit fe0499ae95f5f636bda1f6e0bdba5b7b023ea827 Author: Gerrit Renker Date: Sun Dec 10 00:06:01 2006 -0200 [DCCP] ccid3: Initialise RTT values In both the sender and the receiver it is possible that the stored RTT value is accessed before an actual RTT estimate has been computed. This patch * initialises the sender RTT to 0 - the sender always accesses the RTT in ccid3_hc_tx_packet_sent - the RTT is further needed for the window counter algorithm * replaces the receiver initialisation of 5msec with 0 - which has the same effect and removes an `XXX' - the RTT value is needed in ccid3_hc_rx_packet_recv as rtt_prev Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 65d6c2b42ecc0ca77bb3c0fe27fcbdc84fc7a79a Author: Gerrit Renker Date: Sun Dec 10 00:05:38 2006 -0200 [DCCP] ccid: Deprecate ccid_hc_tx_insert_options The function ccid3_hc_tx_insert_options only does a redundant no-op, as the operation DCCP_SKB_CB(skb)->dccpd_ccval = hctx->ccid3hctx_last_win_count; is already performed _unconditionally_ in ccid3_hc_tx_send_packet. Since there is further no current need for this function, it is removed entirely. Since furthermore, there is actually no present need for the entire interface function ccid_hc_tx_insert_options, it was decided to remove it also, to clean up the interface. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit f6282f4da5eb67e08eff94d73a1911c3a008846a Author: Gerrit Renker Date: Sun Dec 10 00:05:12 2006 -0200 [DCCP]: Warn when discarding packet due to internal errors This adds a (debug) warning message which is triggered whenever a packet is discarded due to send failure. It also adds a conditional, so that an interruption during dccp_wait_for_ccid is not treated as a `BUG': the rationale is that interruptions are external, whereas bug warnings are concerned with the internals. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit bf58a381e8106fe73247c753e3da58fcb5eabd2e Author: Gerrit Renker Date: Sun Dec 10 00:04:43 2006 -0200 [DCCP]: Only deliver to the CCID rx side in charge This is an optimisation to reduce CPU load. The received feedback is now only directed to the active CCID component, without requiring processing also by the inactive one. As a consequence, a similar test in ccid3.c is now redundant and is also removed. Justification: Currently DCCP works as a unidirectional service, i.e. a listening server is not at the same time a connecting client. As far as I can see, several modifications are necessary until that becomes possible. At the present time, received feedback is both fed to the rx/tx CCID modules. In unidirectional service, only one of these is active at any one time. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit d63d8364cfe17fc9bb738f554f452595f76f21d2 Author: Gerrit Renker Date: Sun Dec 10 00:04:16 2006 -0200 [DCCP]: Simplify TFRC calculation In migrating towards using the newer functions scaled_div/scaled_div32 for TFRC computations mapped from floating-point onto integer arithmetic, this completes the last stage of modifications. In particular, the overflow case for computing X_calc is circumvented by * breaking the computation into two stages * the first stage, res = (s*1E6)/R, cannot overflow due to use of u64 * in the second stage, res = (res*1E6)/f, overflow on u32 is avoided due to (i) returning UINT_MAX in this case (which is logically appropriate) and (ii) issuing a warning message into the system log (since very likely there is a problem somewhere else with the parameters) Lastly, all such scaling operations are now exported into tfrc.h, since actually this form of scaled computation is specific to TFRC and not to CCID3. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 0f9e5b573f7249b0e04a03457b55081d1f60f2bf Author: Gerrit Renker Date: Sun Dec 10 00:03:51 2006 -0200 [DCCP]: Debug timeval operations Problem: Most target types in the CCID3 code are u32, so subtle conversion errors can occur if signed time calculations yield negative results: the original values are lost in the conversion to unsigned, calculation errors go undetected. This patch therefore * sets all critical time types from unsigned to suseconds_t * avoids comparison between signed/unsigned via type-casting * provides ample warning messages in case time calculations are negative These warning messages can be removed at a later stage when the code has undergone more testing. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit bfe24a6cc222d27e1491f850802fa6932232b8ef Author: Gerrit Renker Date: Sun Dec 10 00:03:30 2006 -0200 [DCCP] ccid3: Simplify calculation for reverse lookup of p This simplifies the calculation of a value p for a given fval when the first loss interval is computed (RFC 3448, 6.3.1). It makes use of the two new functions scaled_div/scaled_div32 to provide overflow protection. Additionally, protection against divide-by-zero is extended - in this case the function will return the maximally possible value of p=100%. Background: The maximum fval, f(100%), is approximately 244, i.e. the scaled value of fval should never exceed 244E6, which fits easily into u32. The problem is the scaling by 10^6, since additionally R(TT) is in microseconds. This is resolved by breaking the division into two stages: the first stage computes fval=(s*10^6)/R, stores that into u64; the second stage computes fval = (fval*10^6)/X_recv and complains if overflow is reached for u32. This case is safe since the TFRC reverse-lookup routine then returns p=100%. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit b9039a2a8df974d7702564318722434bb276a995 Author: Gerrit Renker Date: Sun Dec 10 00:02:51 2006 -0200 [DCCP] ccid3: Replace scaled division operations This replaces the remaining uses of usecs_div with scaled_div32, which internally uses 64bit division and produces a warning on overflow. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 1a21e49a8d60f588c1276f765198b14d5688a778 Author: Gerrit Renker Date: Sun Dec 10 00:02:12 2006 -0200 [DCCP] ccid3: Finer-grained resolution of sending rates This patch * resolves a bug where packets smaller than 32/64 bytes resulted in sending rates of 0 * supports all sending rates from 1/64 bytes/second up to 4Gbyte/second * simplifies the present overflow problems in calculations Current sending rate X and the cached value X_recv of the receiver-estimated sending rate are both scaled by 64 (2^6) in order to * cope with low sending rates (minimally 1 byte/second) * allow upgrading to use a packets-per-second implementation of CCID 3 * avoid calculation errors due to integer arithmetic cut-off The patch implements a revised strategy from http://www.mail-archive.com/dccp@vger.kernel.org/msg01040.html The only difference with regard to that strategy is that t_ipi is already used in the calculation of the nofeedback timeout, which saves one division. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 179ebc9f92da88e15ea86d7d27308c92712d8ee9 Author: Gerrit Renker Date: Sun Dec 10 00:01:22 2006 -0200 [DCCP] ccid3: Fix two bugs in sending rate computation This fixes 1) a bug in the recomputation of the sending rate by the nofeedback timer when no feedback at all has so far been sent by the receiver: min_t was used instead of max_t, which is wrong (cf. RFC 3448, p. 10); 2) an error in the computation of larger initial windows: instead of min(... max()) (cf. RFC 4342, 5.), the code had used max(... max()). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ff58629824c068e2a75402b5b83f12af0b36d394 Author: Gerrit Renker Date: Sun Dec 10 00:00:14 2006 -0200 [DCCP] ccid3: Two optimisations for sending rate recomputation This performs two optimisations for the recomputation of the sending rate. 1) Currently the target sending rate X_calc is recalculated whenever a) the nofeedback timer expires, or b) a feedback packet is received. In the (a) case, recomputing X_calc is redundant, since * the parameters p and RTT do not change in between the reception of feedback packets; * the parameter X_recv is either modified from received feedback or via the nofeedback timer; * a test (`p == 0') in the nofeedback timer avoids using a stale/undefined value of X_calc if p was previously 0. 2) The nofeedback timer now only recomputes a timestamp when p == 0. This is according to step (4) of [RFC 3448, 4.3] and avoids unnecessarily determining a timestamp. A debug statement about not updating X is also removed - it helps very little in debugging and just clutters the logs. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 45393a66a2c30fc8ed86e6c79a63a3cd5231c69f Author: Gerrit Renker Date: Sat Dec 9 23:59:14 2006 -0200 [DCCP] ccid3: Check against too large p This patch follows a suggestion by Ian McDonald and ensures that in the current code the value of p can not exceed 100%. Such a value is illegal and would consequently cause a bug condition in tfrc_calc_x(). The receiver case is also tested, and a warning message is added. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 5fce9a2da8a3b4ed088d9c0ac7c938a638044fdb Author: Ian McDonald Date: Sat Dec 9 23:58:10 2006 -0200 [DCCP]: Update documentation As Eddie Kohler points out the RFC is Proposed Standard not experimental. Also removed documentation about deprecated socket option. Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 5cc3741d6cc9f07d8ddd9c45cb5088460ce3364f Author: Ian McDonald Date: Sat Dec 9 23:56:09 2006 -0200 [DCCP]: Remove timeo from output.c It simplifies waiting for the CCID module to signal that a packet is ready to be sent. Other simplifications flow on from this such as removing constants. As a result of this EAGAIN is not returned any more by dccp_wait_for_ccid (which would otherwise lead to unnecessarily discarding the packet in dccp_write_xmit). Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit e37b8d931936f88e4b2af66304eb44e69510b86c Author: Andrew Morton Date: Sat Dec 9 14:01:49 2006 -0800 [NETPOLL]: Make sure TX lock is taken with BH disabled. Acked-by: Herbert Xu Signed-off-by: David S. Miller commit 2653a47b8953f500be13207bdcbcfe803bc40c88 Author: Ralf Baechle Date: Sat Dec 9 13:59:25 2006 -0800 [ATM]: Ignore generated file pca200e_ecd.bin2 Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit ed407717852895e04f9e088e09a4f27bb56712b7 Author: Randy Dunlap Date: Sat Dec 9 13:58:42 2006 -0800 [NET]: Fix WAN routers kconfig dependency. Currently WAN router drivers can be built in-kernel while the register/unregister_wan_device interfaces are built as modules. This causes: drivers/built-in.o: In function `cycx_init': cycx_main.c:(.init.text+0x5c4b): undefined reference to `register_wan_device' drivers/built-in.o: In function `cycx_exit': cycx_main.c:(.exit.text+0x560): undefined reference to `unregister_wan_device' make: *** [.tmp_vmlinux1] Error 1 The problem is caused by tristate -> bool conversion (y or m => y), so convert WAN_ROUTER_DRIVERS to a tristate so that the correct dependency is preserved. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 686106ff5ed2cbcd3fc12a22e53c880cf0943eff Author: Herbert Xu Date: Fri Dec 8 13:59:52 2006 +1100 [CRYPTO] sha512: Fix sha384 block size The SHA384 block size should be 128 bytes, not 96 bytes. This was spotted by Andrew Donofrio. Fortunately the block size isn't actually used anywhere so this typo has had no real impact. Signed-off-by: Herbert Xu commit f06b97ffd1ed7a96d5022d52f795fba8483afb75 Author: Russell King Date: Mon Dec 11 22:29:16 2006 +0000 [ARM] Clean up KERNEL_RAM_ADDR Clean up the KERNEL_RAM_ADDR stuff in arch/arm/kernel/head.S to make it clearer what's referring to what. In doing so, remove the usage of __virt_to_phys(), which is not guaranteed to be something that the assembler can parse. Signed-off-by: Russell King commit 828ae6afbef03bfe107a4a8cc38798419d6a2765 Author: Andrew Beekhof Date: Mon Dec 4 14:04:55 2006 +0100 [patch 3/3] OCFS2 Configurable timeouts - Protocol changes Modify the OCFS2 handshake to ensure essential timeouts are configured identically on all nodes. Only allow changes when there are no connected peers Improves the logic in o2net_advance_rx() which broke now that sizeof(struct o2net_handshake) is greater than sizeof(struct o2net_msg) Included is the field for userspace-heartbeat timeout to avoid the need for further protocol changes. Uses a global spinlock to ensure the decisions to update configfs entries are made on the correct value. The region covered by the spinlock when incrementing the counter is much larger as this is the more critical case. Small cleanup contributed by Adrian Bunk Signed-off-by: Andrew Beekhof Signed-off-by: Mark Fasheh commit e45116b8d71ece9dbe41b114368ff7aebe3ae41a Author: Brice Goglin Date: Mon Dec 11 20:14:15 2006 +0100 [PATCH] Fix typo in 'EXPERIMENTAL' in CC_STACKPROTECTOR on x86_64 Fix typo in 'EXPERIMENTAL' in config CC_STACKPROTECTOR in arch/x86_64/Kconfig. Signed-off-by: Brice Goglin Signed-off-by: Linus Torvalds commit 022416967a814aa1b3a9476a842c0947a1a9d784 Author: David Howells Date: Mon Dec 11 13:16:05 2006 +0000 [PATCH] LOG2: Make powerpc's __ilog2_u64() take a 64-bit argument Make powerpc's __ilog2_u64() take a 64-bit argument. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit 8d610dd52dd1da696e199e4b4545f33a2a5de5c6 Author: Linus Torvalds Date: Mon Dec 11 12:12:04 2006 -0800 Make sure we populate the initroot filesystem late enough We should not initialize rootfs before all the core initializers have run. So do it as a separate stage just before starting the regular driver initializers. Signed-off-by: Linus Torvalds commit 8993780a6e44fb4e7ed34e33458506a775356c6e Author: Linus Torvalds Date: Mon Dec 11 09:28:46 2006 -0800 Make SLES9 "get_kernel_version" work on the kernel binary again As reported by Andy Whitcroft, at least the SLES9 initrd build process depends on getting the kernel version from the kernel binary. It does that by simply trawling the binary and looking for the signature of the "linux_banner" string (the string "Linux version " to be exact. Which is really broken in itself, but whatever..) That got broken when the string was changed to allow /proc/version to change the UTS release information dynamically, and "get_kernel_version" thus returned "%s" (see commit a2ee8649ba6d71416712e798276bf7c40b64e6e5: "[PATCH] Fix linux banner utsname information"). This just restores "linux_banner" as a static string, which should fix the version finding. And /proc/version simply uses a different string. To avoid wasting even that miniscule amount of memory, the early boot string should really be marked __initdata, but that just causes the same bug in SLES9 to re-appear, since it will then find other occurrences of "Linux version " first. Cc: Andy Whitcroft Acked-by: Herbert Poetzl Cc: Andi Kleen Cc: Andrew Morton Cc: Steve Fox Acked-by: Olaf Hering Signed-off-by: Linus Torvalds commit 0bf3a9d82adc62fb05e3f108ddd46eb088960f26 Author: Ralf Baechle Date: Mon Dec 11 16:25:30 2006 +0000 [MTD] Nuke IVR leftovers Support for the ITE8172 based boards was deleted a while ago so this is dead code. The Kconfig dependency on MIPS was wrong anyway, MIPS is a processor architecture and nothing else; guesses on systems architecture are likely to be wrong ... Signed-off-by: Ralf Baechle Signed-off-by: David Woodhouse commit 8af905b4a403ce74b8d907b50bccc453a58834bc Author: Paul Mundt Date: Mon Dec 11 19:30:06 2006 +0900 [PATCH] smc91x: Kill off excessive versatile hooks. This looks like a result of too many auto-merges. The CONFIG_ARCH_VERSATILE case was handled a total of 6 times. This kills 5 of them. Signed-off-by: Paul Mundt -- drivers/net/smc91x.h | 90 --------------------------------------------------- 1 file changed, 90 deletions(-) Signed-off-by: Jeff Garzik commit 5796df19824bef34aabf5656f447b3b170d34c3b Author: Brice Goglin Date: Mon Dec 11 11:27:55 2006 +0100 [PATCH] myri10ge: update driver version to 1.1.0 Update driver version to 1.1.0. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 13348beee529cd1200deeac161e1b2de0705b495 Author: Brice Goglin Date: Mon Dec 11 11:27:19 2006 +0100 [PATCH] myri10ge: fix big_bytes in case of vlan frames Fix sizing of big_bytes in the case of vlan frames. The 4 VLAN_HLEN bytes were omitted, leading to sizing the big buffer 4 bytes smaller than it should be. Due to how rx buffers are carved from pages, this was harmless for the common (9000, 1500) byte MTUs, but could lead to data corruption for some MTUs. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit de3c4507047f2457359551c49b093669acb4f190 Author: Brice Goglin Date: Mon Dec 11 11:26:38 2006 +0100 [PATCH] myri10ge: Full vlan frame in small_bytes Receive full vlan frames into smalls when running with a jumbo MTU. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 52ea6fb39b6fd08ec8718b92cddb3fed2165a921 Author: Brice Goglin Date: Mon Dec 11 11:26:12 2006 +0100 [PATCH] myri10ge: drop contiguous skb routines Drop the old routines that used the physically contigous skb now that we use the physical pages. And rename myri10ge_page_rx_done() to myri10ge_rx_done() as it was previously. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit c7dab99b080accb2751c96bf66cd5ab12c78f8e4 Author: Brice Goglin Date: Mon Dec 11 11:25:42 2006 +0100 [PATCH] myri10ge: switch to page-based skb Switch to physical page skb, by calling the new page-based allocation routines and using myri10ge_page_rx_done(). Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit dd50f3361f9f0bb407658e9087947c9bdcdefffc Author: Brice Goglin Date: Mon Dec 11 11:25:09 2006 +0100 [PATCH] myri10ge: add page-based skb routines Add physical page skb allocation routines and page based rx_done, to be used by upcoming patches. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 6250223e055764efcaef3809a9f2350edfc82bbc Author: Brice Goglin Date: Mon Dec 11 11:24:37 2006 +0100 [PATCH] myri10ge: indentation cleanups Indentation cleanups to synchronize to our tree which is automatically indent'ed. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 7fe26a60e08f38c797851fb3b444d753af616112 Author: Stephen Hemminger Date: Fri Dec 8 11:08:33 2006 -0800 [PATCH] chelsio: working NAPI This driver tries to enable/disable NAPI at runtime, but does so in an unsafe manner, and the NAPI interrupt handling is a mess. Replace it with a compile time selected NAPI implementation. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 0f0d84e52cb2a6e0b1d101484a92121410135da1 Author: Haavard Skinnemoen Date: Fri Dec 8 14:38:30 2006 +0100 [PATCH] MACB: Use __raw register access Since macb is a chip-internal device, use __raw_readl and __raw_writel instead of readl/writel. This will perform native-endian accesses, which is the right thing to do on both AVR32 and ARM devices. Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit d836cae4f683211f14c1fd8184f478622b185164 Author: Haavard Skinnemoen Date: Fri Dec 8 14:37:35 2006 +0100 [PATCH] MACB: Use struct delayed_work instead of struct work_struct The macb driver calls schedule_delayed_work() and friends, so we need to use a struct delayed_work along with it. The conversion was explained by David Howells on lkml Dec 5 2006: http://lkml.org/lkml/2006/12/5/269 Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit 68dc44af632944dff6c8b36013d32a254fe62de4 Author: Scott Wood Date: Thu Dec 7 13:31:26 2006 -0600 [PATCH] ucc_geth: Initialize mdio_lock. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 1083cfe11285816fb2e2e36aad097f1c3b6db915 Author: Scott Wood Date: Thu Dec 7 13:31:07 2006 -0600 [PATCH] ucc_geth: compilation error fixes Fix compilation failures when building the ucc_geth driver with spinlock debugging. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 99eeb8dfb1ce3df744e2e0d00dd627d7a8199ef0 Author: Andrew Victor Date: Mon Dec 11 12:40:23 2006 +0100 AT91 MMC update for 2.6.19 The driver is usable on the newer SAM9 processors so replace all text references to AT91RM9200 with just AT91. The controller bug where all the words are byte-swapped is fixed on the AT91SAM9 processors. The byte-swapping work-around therefore only needs to be done if cpu_is_at91rm9200(). [Original patch from Wojtek Kaniewski] The AT91RM9200 and AT91SAM9260 processors support two MMC/SD slots - the slot which is connected is now passed via the platform_data and the correct slot selected in the AT91_MCI_SDCR register. The driver should not be calling at91_set_gpio_output() since the VCC pin should have already been configured as an output in the processor/board setup code. The driver should call at91_set_gpio_value(). Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit 66a1e421b98edaa62c7d95cc53cb381efa3fb9bf Author: Kyungmin Park Date: Mon Dec 11 01:34:23 2006 +0000 [MTD] OneNAND: fix oob handling in recent oob patch There are missing place in recent MTD oob patch http://git.infradead.org/?p=mtd-2.6.git;a=commitdiff;h=7014568bad55c20b7ee4f439d78c9e875912d51f Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 76ab40e465e7615e582b9244a1a967bf3f074061 Author: David Woodhouse Date: Mon Dec 11 09:43:38 2006 +0000 [MTD] Fix ssfdc blksize typo I will not commit even trivial and obvious one-line fixes without building. I will not commit even trivial and obvious one-line fixes without building. I will not commit even trivial and obvious one-line fixes without building. I will not commit even trivial and obvious one-line fixes without building. Only clever people can get away with that. Signed-off-by: David Woodhouse commit a98087cf81e91999a91ceedb2d2e3a95827c651f Author: Pierre Ossman Date: Thu Dec 7 19:17:20 2006 +0100 mmc: Change SDHCI iomem error to a warning Some controllers report an invalid iomem size, but seem to work correctly anyway. Change our current error to just a warning and hope it doesn't cause too much problems. Signed-off-by: Pierre Ossman commit 7b30d281b9c115890c75d11eaf06881261c256da Author: Vitaly Wool Date: Thu Dec 7 20:08:02 2006 +0100 mmc: fix "prev->state: 2 != TASK_RUNNING??" problem on SD/MMC card removal Currently on SD/MMC card removal the system exhibits the following message (the platform is ARM Versatile): prev->state: 2 != TASK_RUNNING?? mmcqd/762[CPU#0]: BUG in __schedule at linux-2.6/kernel/sched.c:3826 (akpm: someone tried to fix this, but it's still wrong) Signed-off-by: Vitaly Wool Signed-off-by: Andrew Morton Signed-off-by: Pierre Ossman commit f3a8efa90b1aab16ead76ad7e22d9c5fc2045400 Author: Andrew Victor Date: Mon Oct 23 14:53:20 2006 +0200 AT91 MMC 5 : Minor cleanups A number of small cleanups to the AT91RM9200 MMC driver: - fix warnings generated by pr_debug(). - prepend "AT91 MMC:" to printk() messages. Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit df05a303e3b8a0c32764941200bec76d729126bc Author: Andrew Victor Date: Mon Oct 23 14:50:09 2006 +0200 AT91 MMC 4 : Interrupt handler cleanup This patch simplifies the AT91RM9200 MMC interrupt handler code so that it doesn't re-read the Interrupt Status and Interrupt Mask registers multiple times. Also defined AT91_MCI_ERRORS instead of using the hard-coded 0xffff0000. Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit 3dd3b039d489dfbc907c64a161fd2231ddcdea48 Author: Andrew Victor Date: Mon Oct 23 14:46:54 2006 +0200 AT91 MMC 3 : Move global mci_clk variable Move the global 'mci_clk' variable into the local 'at91mci_host' structure. Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit 17ea0595f4e89932ac9297a3850fba8b4ecb461e Author: Andrew Victor Date: Mon Oct 23 14:44:40 2006 +0200 AT91 MMC 2 : Use platform resources Use the I/O base-address and IRQ passed to the driver via the platform_device resources instead of using hardcoded values. Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit e0b19b83656731fc93f9a82592ebcad82c3e0944 Author: Andrew Victor Date: Wed Oct 25 19:42:38 2006 +0200 AT91 MMC 1: Pass host structure. The I/O base address is now stored in the 'at91mci_host' structure. We therefore have to pass this structure to at91_mci_read() and at91_mci_write(). Signed-off-by: Andrew Victor Signed-off-by: Pierre Ossman commit 3188a24c256bae0ed93d81d82db1f1bb6060d727 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Mon Dec 11 18:32:27 2006 +1100 i915_vblank_tasklet: Try harder to avoid tearing. Previously, if there were several buffer swaps scheduled for the same vertical blank, all but the first blit emitted stood a chance of exhibiting tearing. In order to avoid this, split the blits along slices of each output top to bottom. Signed-off-by: Dave Airlie commit 2c3f0eddfbd7f5c7a5450de287bad805722888c3 Author: Jeff Garzik Date: Sat Dec 9 10:50:22 2006 +1100 DRM: handle pci_enable_device failure Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 94f060bd0f78814f4daf8c7942bd710af52c7d6f Author: Akinobu Mita Date: Sat Dec 9 10:49:47 2006 +1100 drm: fix return value check class_create() and class_device_create() return error code as a pointer on failure. These return values need to be checked by IS_ERR(). Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 73c9ceab40b1269d6195e556773167c078ac8311 Author: Jeremy Fitzhardinge Date: Fri Dec 8 03:30:41 2006 -0800 [POWERPC] Generic BUG for powerpc This makes powerpc use the generic BUG machinery. The biggest reports the function name, since it is redundant with kallsyms, and not needed in general. There is an overall reduction of code, since module_32/64 duplicated several functions. Unfortunately there's no way to tell gcc that BUG won't return, so the BUG macro includes a goto loop. This will generate a real jmp instruction, which is never used. [akpm@osdl.org: build fix] [paulus@samba.org: remove infinite loop in BUG_ON] Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Hugh Dickens Cc: Michael Ellerman Cc: Benjamin Herrenschmidt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d10f73480b991da2aa1c000ed38eda3e4a987292 Author: Kumar Gala Date: Sun Dec 10 23:26:16 2006 -0600 [PPC] Fix compile failure do to introduction of PHY_POLL PHY_POLL is defined in include it in so board code will have it defined. Signed-off-by: Kumar Gala commit 45d8e7aaf47668550fdb6c2d3abbe42f48a76df2 Author: Kumar Gala Date: Sun Dec 10 23:15:47 2006 -0600 [POWERPC] Only export __mtdcr/__mfdcr if CONFIG_PPC_DCR is set On 85xx we don't build in dcr support because the core doesn't implement the instructions. This caused problems when building an 85xx kernel. Additionally made it so we only build __mtdcr/__mfdcr if we are CONFIG_PPC_DCR_NATIVE. The 85xx build issue wasPointed out by Dai Haruki. Signed-off-by: Kumar Gala commit 4383162c8f2fa75d916c4901b0d1ebcac7aeaf74 Author: Benjamin Herrenschmidt Date: Mon Dec 11 15:08:40 2006 +1100 [POWERPC] Remove old dcr.S When I renamed dcr.S to dcr_low.S (and added dcr.c) it looks like the old dcr.S file didn't properly get removed. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 39f44be375d07a977ba68f900c87cea97cb05f4a Author: Paul Mackerras Date: Mon Dec 11 15:13:37 2006 +1100 [POWERPC] Fix SPU coredump code for max_fdset removal Commit bbea9f69668a3d0cf9feba15a724cd02896f8675 removed the max_fdset element of struct fdtable. It appears that checking max_fds is sufficient now. Signed-off-by: Paul Mackerras commit dae4828d66ac6db353dee213c594257929a310cb Author: Benjamin Herrenschmidt Date: Mon Dec 11 14:09:07 2006 +1100 [POWERPC] Fix irq routing on some 32-bit PowerMacs The changes to use pci_read_irq_line() broke interrupt parsing on some 32-bit powermacs (oops). The reason is a bit obscure. The code to parse interrupts happens earlier now, during pcibios_fixup() as the PCI bus is being probed. However, the current implementation pci_device_to_OF_node() for 32-bit powerpc relies, on machines like PowerMac which renumber PCI buses, on a table called pci_OF_bus_map containing a map of bus numbers between the kernel and the firmware which is setup only later. Thus, it fails to match the device node. In addition, some of Apple internal PCI devices lack a proper PCI_INTERRUPT_PIN, thus preventing the fallback mapping code to work. This patch fixes it by making pci_device_to_OF_node() 32-bit implementation use a different algorithm that works without using the pci_OF_bus_map thing (which I intend to deprecate anyway). It's a bit slower but that function isn't called in any hot path hopefully. Signed-off-by: Benjamin Herrenschmidt commit 74e95d5de9d8eb243cda68b546bdb29f6ef0f01c Author: Geoff Levand Date: Fri Dec 8 18:27:47 2006 -0800 [POWERPC] ps3: Add vuart support Adds support for the PS3 virtual UART (vuart). The vuart provides a bi-directional byte stream data link between logical partitions. This is needed for the ps3 graphics driver and the ps3 power control support to be able to communicate with the lv1 policy module. Signed-off-by: Geoff Levand Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0204568a088fecd5478153504f9476ee2c46d5bf Author: Paul Mackerras Date: Wed Nov 29 22:27:42 2006 +1100 [POWERPC] Support ibm,dynamic-reconfiguration-memory nodes For PAPR partitions with large amounts of memory, the firmware has an alternative, more compact representation for the information about the memory in the partition and its NUMA associativity information. This adds the code to the kernel to parse this alternative representation. The other part of this patch is telling the firmware that we can handle the alternative representation. There is however a subtlety here, because the firmware will invoke a reboot if the memory representation we request is different from the representation that firmware is currently using. This is because firmware can't change the representation on the fly. Further, some firmware versions used on POWER5+ machines have a bug where this reboot leaves the machine with an altered value of load-base, which will prevent any kernel booting until it is reset to the normal value (0x4000). Because of this bug, we do NOT set fake_elf.rpanote.new_mem_def = 1, and thus we do not request the new representation on POWER5+ and earlier machines. We do request the new representation on POWER6, which uses the ibm,client-architecture-support call. Signed-off-by: Paul Mackerras commit 9202f32558601c2c99ddc438eb3218131d00d413 Author: Ralf Baechle Date: Sun Dec 10 18:43:59 2006 +0000 [MIPS] Export local_flush_data_cache_page for sake of IDE. On a CPU with aliases the IDE core needs to flush caches in the special IDE variants of insw, insl etc. If IDE support is built as a module this will only work if local_flush_data_cache_page happens is exported as a module. As per policy export local_flush_data_cache_page as GPL symbol only. Signed-off-by: Ralf Baechle commit f8bf35a9145b0831d7d110402662d9cff2d90bd9 Author: Ralf Baechle Date: Sun Dec 10 15:09:38 2006 +0000 [MIPS] Export pm_power_off This is required for ipmi_poweroff.c to work as a module. Signed-off-by: Ralf Baechle commit ae32ffd65bbcc32795bb9b58ed12941efeb03dff Author: Ralf Baechle Date: Sun Dec 10 15:05:11 2006 +0000 [MIPS] Export csum_partial_copy_nocheck. ibmtr.c and typhoon.c use it. Signed-off-by: Ralf Baechle commit 2d911e9a4e74ddbd059f9dabea402a119ef22e3d Author: Ralf Baechle Date: Sun Dec 10 15:02:17 2006 +0000 [MIPS] Move die and die_if_kernel() from system.h to ptrace.h This eleminates the need to include ptrace.h into system.h and fixes a harmless namespace conflict on the PC symbol in bpck.c. Signed-off-by: Ralf Baechle commit 86384d544157db23879064cde36061cdcafc6794 Author: Ralf Baechle Date: Sun Dec 10 14:57:28 2006 +0000 [MIPS] Discard .exit.text at linktime. This fixes fairly unobvious breakage of various drivers. Signed-off-by: Ralf Baechle commit 5b1d221e6292f9fcf9f12d6c9e94ee9470ee2a24 Author: Ralf Baechle Date: Sat Dec 9 16:12:18 2006 +0000 [MIPS] Fix build of several IDE drivers by providing pci_get_legacy_ide_irq Signed-off-by: Ralf Baechle commit d7aef138f3c08c5bbab567bc9a84e43a88f50395 Author: Jean Delvare Date: Sun Dec 10 21:21:34 2006 +0100 i2c: Fix OMAP clock prescaler to match the comment Signed-off-by: Jean Delvare Signed-off-by: Tony Lindgren commit 07125ab2c2641e976bbaf3b89a735ad5a99e25d3 Author: Jean Delvare Date: Sun Dec 10 21:21:33 2006 +0100 i2c: Refactor a kfree in i2c-dev Refactor kfree(i2c_dev) into return_i2c_dev(). This saves some code and makes more sense, as the memory is allocated in get_free_i2c_dev(). Signed-off-by: Jean Delvare Cc: Greg Kroah-Hartman commit 3bacb36db01c7541ffea21d4ff39219e8b211a5c Author: Akinobu Mita Date: Sun Dec 10 21:21:33 2006 +0100 i2c: Fix return value check in i2c-dev device_create() returns error code as pointer on failures. This patch checks the return value of device_create() by using IS_ERR(). Signed-off-by: Akinobu Mita Cc: Greg Kroah-Hartman Signed-off-by: Jean Delvare commit 250d1bd3f4ed0b50d79b3ec81ccefbabb203f916 Author: Jean Delvare Date: Sun Dec 10 21:21:33 2006 +0100 i2c: Enable PEC on more i2c-i801 devices Enable PEC on recent Intel SMBus controllers (ICH6, ICH7, ICH8, ICH9 and ESB2.) Signed-off-by: Jean Delvare Acked-by: Jason Gaston commit 3269711b76ba27b78862c48398b0d313ccaa99c2 Author: Jean Delvare Date: Sun Dec 10 21:21:33 2006 +0100 i2c: Discard the i2c algo del_bus wrappers They are all only calling i2c_del_adapter, so we may as well do it directly. Signed-off-by: Jean Delvare commit 6b65cd742823f78a6538491982159098ab5fcae1 Author: Russell King Date: Sun Dec 10 21:21:32 2006 +0100 i2c: New ARM Versatile/Realview bus driver Add support for the I2C bus found on the ARM Versatile and Realview platforms. The I2C bus has a RTC and optionally some EEPROMs attached. Signed-off-by: Russell King Signed-off-by: Jean Delvare commit 763d9c046a2e511ec090a8986d3f85edf7448e7e Author: Dirk Eibach Date: Sun Dec 10 21:21:31 2006 +0100 i2c: fix broken ds1337 initialization On a custom board with ds1337 RTC I found that upgrade from 2.6.15 to 2.6.18 broke RTC support. The main problem are changes to ds1337_init_client(). When a ds1337 recognizes a problem (e.g. power or clock failure) bit 7 in status register is set. This has to be reset by writing 0 to status register. But since there are only 16 byte written to the chip and the first byte is interpreted as an address, the status register (which is the 16th) is never written. The other problem is, that initializing all registers to zero is not valid for day, date and month register. Funny enough this is checked by ds1337_detect(), which depends on this values not being zero. So then treated by ds1337_init_client() the ds1337 is not detected anymore, whereas the failure bit in the status register is still set. Signed-off-by: Dirk Stieler Signed-off-by: Dirk Eibach Signed-off-by: Jean Delvare commit a980a99ae5ada5260ddae15da45582dad32dbb93 Author: Jason Gaston Date: Sun Dec 10 21:21:31 2006 +0100 i2c: i2c-i801 documentation update Add the Intel ICH9/ICH8/ESB2 SMBus Controller text to i2c-i801 documentation. Signed-off-by: Jason Gaston Signed-off-by: Jean Delvare commit 7b77d065d1e79a9c0b1b114d059b3bc3d8206c4d Author: Jean Delvare Date: Sun Dec 10 21:21:31 2006 +0100 i2c: Use the __ATTR macro where possible Signed-off-by: Jean Delvare commit 438d6c2c015cf63bf7e9bdc2033d435433ac8455 Author: David Brownell Date: Sun Dec 10 21:21:31 2006 +0100 i2c: Whitespace cleanups Remove extraneous whitespace from various i2c headers and core files, like space-before-tab and whitespace at end of line. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 2c003e8e1c0c241aec162ba9ec781089c5b2ff3f Author: Jean Delvare Date: Sun Dec 10 21:21:30 2006 +0100 i2c: Use put_user instead of copy_to_user where possible This speeds up the I2C_FUNCS ioctl by 5 to 8% in my tests. Signed-off-by: Jean Delvare Laughed-at-by: Mark M. Hoffman commit 813e30e9ab917f5493147451cfdbf6356a3dcee0 Author: Andrew Victor Date: Sun Dec 10 21:21:30 2006 +0100 i2c: New Atmel AT91 bus driver Add support for the I2C (Two-wire interface) controller integrated in the Atmel AT91RM9200 processor. This driver should also be usable on the Atmel AT91SAM9261 and AT91SAM9260 processors. Signed-off-by: Andrew Victor Signed-off-by: Mark M. Hoffman Signed-off-by: Jean Delvare commit 6ea23039cb1cc7c379eb5fba0ed2c53291e9bea7 Author: Jiri Kosina Date: Sun Dec 10 21:21:30 2006 +0100 i2c: Add support for nested i2c bus locking This patch adds the 'level' field into the i2c_adapter structure, which is used to represent the 'logical' level of nesting for the purposes of lockdep. This field is then used in the i2c_transfer() function, to acquire the per-adapter bus_lock with correct nesting level. Signed-off-by: Jiri Kosina Signed-off-by: Jean Delvare commit ad04d5c3879dcf79ba0fa1826eab991f7b7a2de8 Author: Hans-Frieder Vogt Date: Sun Dec 10 21:21:29 2006 +0100 i2c: Cleanups to the i2c-nforce2 bus driver Summary of changes: - fixes: o legacy I/O region size is 64 bytes, not 8 bytes - general cleanup: o removed code for the unsupported I2C block data, block data, proc call and block proc call transfer modes o removed detail warnings about unsupported modes that are covered in a general warning (unsupported transaction...) anyway o removed necessity of a definition of struct i2c_adapter o moved definition of struct i2c_algorithm, making forward declarations of nforce2_access and nforce2_func unnecessary - minor changes: o in the description mention the nForce 5xx chipsets o changes my e-mail address in MODULE_AUTHOR Theses cleanups shrink the driver binary size from 4.0 kB to 2.7 kB on i386. Signed-off-by: Hans-Frieder Vogt Signed-off-by: Jean Delvare commit 31c095b09ea2fe6a4c752fccaabd9025e1c6e7c7 Author: Jean-Baptiste Maneyrol Date: Sun Dec 10 21:21:29 2006 +0100 i2c: Add request/release_mem_region to i2c-ibm_iic bus driver Reserving I/O memory for a driver with request_mem_region is necessary to avoid memory access conflicts. Even if it's never going to happen, it is cleaner and it allows to monitor I/O memory used in /proc/iomem. Signed-off-by: Jean-Baptiste Maneyrol Signed-off-by: Jean Delvare commit 41561f28e76a47dc6de0a954da85d0b5c42874eb Author: Vitaly Wool Date: Sun Dec 10 21:21:29 2006 +0100 i2c: New Philips PNX bus driver New I2C bus driver for Philips ARM boards (Philips IP3204 I2C IP block). This I2C controller can be found on (at least) PNX010x, PNX52xx and PNX4008 Philips boards. Signed-off-by: Vitaly Wool Signed-off-by: Jean Delvare commit 51fd554b6547b74c7e6d1f52885ba8532b531023 Author: Jean Delvare Date: Sun Dec 10 21:21:29 2006 +0100 i2c: Delete the broken i2c-ite bus driver The rest of the ITE8172 support was already removed from MIPS tree. Signed-off-by: Jean Delvare Signed-off-by: Yoichi Yuasa Acked-by: Ralf Baechle commit 36cfb5ccfa39ddd030926d08fcf80ba553c88737 Author: Jean Delvare Date: Sun Dec 10 21:21:28 2006 +0100 i2c: Update the list of driver IDs * A chip driver ID was assigned to the Radeon, while it is an adapter so it needs an i2c adapter ID. * The SAA7191 is a video decoder, not encoder. * The icspll driver is dead, and will never be ported to Linux 2.6. Signed-off-by: Jean Delvare commit 26f95c4ae2b1fd1b03531b3d662fc21beedce955 Author: Jean Delvare Date: Sun Dec 10 21:21:28 2006 +0100 i2c: Fix documentation typos Fix typos in i2c bus drivers documentation. Signed-off-by: Jean Delvare commit 3263263f7091eccab6fdc23f28f09b17c0466629 Author: Herbert Xu Date: Sun Dec 10 09:50:36 2006 +1100 [CRYPTO] dm-crypt: Select CRYPTO_CBC As CBC is the default chaining method for cryptoloop, we should select it from cryptoloop to ease the transition. Spotted by Rene Herman. Signed-off-by: Herbert Xu Signed-off-by: Linus Torvalds commit 0258736a0a2cde8ab30725b601aeca4cf8bc93ab Author: Cal Peake Date: Sun Dec 10 06:22:05 2006 -0500 [PATCH] add MODULE_* attributes to bit reversal library Add MODULE_* attributes to the new bit reversal library. Most notably MODULE_LICENSE which prevents superfluous kernel tainting. Signed-off-by: Cal Peake Signed-off-by: Linus Torvalds commit 6aa8b732ca01c3d7a54e93f4d701b8aabbe60fb7 Author: Avi Kivity Date: Sun Dec 10 02:21:36 2006 -0800 [PATCH] kvm: userspace interface web site: http://kvm.sourceforge.net mailing list: kvm-devel@lists.sourceforge.net (http://lists.sourceforge.net/lists/listinfo/kvm-devel) The following patchset adds a driver for Intel's hardware virtualization extensions to the x86 architecture. The driver adds a character device (/dev/kvm) that exposes the virtualization capabilities to userspace. Using this driver, a process can run a virtual machine (a "guest") in a fully virtualized PC containing its own virtual hard disks, network adapters, and display. Using this driver, one can start multiple virtual machines on a host. Each virtual machine is a process on the host; a virtual cpu is a thread in that process. kill(1), nice(1), top(1) work as expected. In effect, the driver adds a third execution mode to the existing two: we now have kernel mode, user mode, and guest mode. Guest mode has its own address space mapping guest physical memory (which is accessible to user mode by mmap()ing /dev/kvm). Guest mode has no access to any I/O devices; any such access is intercepted and directed to user mode for emulation. The driver supports i386 and x86_64 hosts and guests. All combinations are allowed except x86_64 guest on i386 host. For i386 guests and hosts, both pae and non-pae paging modes are supported. SMP hosts and UP guests are supported. At the moment only Intel hardware is supported, but AMD virtualization support is being worked on. Performance currently is non-stellar due to the naive implementation of the mmu virtualization, which throws away most of the shadow page table entries every context switch. We plan to address this in two ways: - cache shadow page tables across tlb flushes - wait until AMD and Intel release processors with nested page tables Currently a virtual desktop is responsive but consumes a lot of CPU. Under Windows I tried playing pinball and watching a few flash movies; with a recent CPU one can hardly feel the virtualization. Linux/X is slower, probably due to X being in a separate process. In addition to the driver, you need a slightly modified qemu to provide I/O device emulation and the BIOS. Caveats (akpm: might no longer be true): - The Windows install currently bluescreens due to a problem with the virtual APIC. We are working on a fix. A temporary workaround is to use an existing image or install through qemu - Windows 64-bit does not work. That's also true for qemu, so it's probably a problem with the device model. [bero@arklinux.org: build fix] [simon.kagstrom@bth.se: build fix, other fixes] [uril@qumranet.com: KVM: Expose interrupt bitmap] [akpm@osdl.org: i386 build fix] [mingo@elte.hu: i386 fixes] [rdreier@cisco.com: add log levels to all printks] [randy.dunlap@oracle.com: Fix sparse NULL and C99 struct init warnings] [anthony@codemonkey.ws: KVM: AMD SVM: 32-bit host support] Signed-off-by: Yaniv Kamay Signed-off-by: Avi Kivity Cc: Simon Kagstrom Cc: Bernhard Rosenkraenzer Signed-off-by: Uri Lublin Cc: Ingo Molnar Cc: Roland Dreier Signed-off-by: Randy Dunlap Signed-off-by: Anthony Liguori Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5f1a24a2caa299bb7d294aee92d7dd3410d9ed7 Author: Daniel Walker Date: Sun Dec 10 02:21:33 2006 -0800 [PATCH] clocksource: small cleanup Mostly changing alignment. Just some general cleanup. [akpm@osdl.org: build fix] Signed-off-by: Daniel Walker Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b0137001de68153203dd3bc20e6d27eb7c9719c Author: Daniel Walker Date: Sun Dec 10 02:21:30 2006 -0800 [PATCH] clocksource: add usage of CONFIG_SYSFS Simply adds some ifdefs to remove clocksoure sysfs code when CONFIG_SYSFS isn't turn on. Signed-off-by: Daniel Walker Acked-by: John Stultz Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b2842146cb4105877c2be51d3857ec61ebd4ff9 Author: Arjan van de Ven Date: Sun Dec 10 02:21:28 2006 -0800 [PATCH] user of the jiffies rounding patch: Slab This patch introduces users of the round_jiffies() function in the slab code. The slab code has a few "run every second" timers for background work; these are obviously not timing critical as long as they happen roughly at the right frequency. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44d306e1508fef6fa7a6eb15a1aba86ef68389a6 Author: Arjan van de Ven Date: Sun Dec 10 02:21:26 2006 -0800 [PATCH] user of the jiffies rounding code: JBD This patch introduces a user: of the round_jiffies() function; the "5 second" ext3/jbd wakeup. While "every 5 seconds" doesn't sound as a problem, there can be many of these (and these timers do add up over all the kernel). The "5 second" wakeup isn't really timing sensitive; in addition even with rounding it'll still happen every 5 seconds (with the exception of the very first time, which is likely to be rounded up to somewhere closer to 6 seconds) Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c36a5dec25fb344ad76b11860da3a8b50bd1248 Author: Arjan van de Ven Date: Sun Dec 10 02:21:24 2006 -0800 [PATCH] round_jiffies infrastructure Introduce a round_jiffies() function as well as a round_jiffies_relative() function. These functions round a jiffies value to the next whole second. The primary purpose of this rounding is to cause all "we don't care exactly when" timers to happen at the same jiffy. This avoids multiple timers firing within the second for no real reason; with dynamic ticks these extra timers cause wakeups from deep sleep CPU sleep states and thus waste power. The exact wakeup moment is skewed by the cpu number, to avoid all cpus from waking up at the exact same time (and hitting the same lock/cachelines there) [akpm@osdl.org: fix variable type] Signed-off-by: Arjan van de Ven Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5466b456ed6748e0bfe02831e570004d4c04c1d7 Author: Vadim Lobanov Date: Sun Dec 10 02:21:22 2006 -0800 [PATCH] fdtable: Implement new pagesize-based fdtable allocator This patch provides an improved fdtable allocation scheme, useful for expanding fdtable file descriptor entries. The main focus is on the fdarray, as its memory usage grows 128 times faster than that of an fdset. The allocation algorithm sizes the fdarray in such a way that its memory usage increases in easy page-sized chunks. The overall algorithm expands the allowed size in powers of two, in order to amortize the cost of invoking vmalloc() for larger allocation sizes. Namely, the following sizes for the fdarray are considered, and the smallest that accommodates the requested fd count is chosen: pagesize / 4 pagesize / 2 pagesize <- memory allocator switch point pagesize * 2 pagesize * 4 ...etc... Unlike the current implementation, this allocation scheme does not require a loop to compute the optimal fdarray size, and can be done in efficient straightline code. Furthermore, since the fdarray overflows the pagesize boundary long before any of the fdsets do, it makes sense to optimize run-time by allocating both fdsets in a single swoop. Even together, they will still be, by far, smaller than the fdarray. The fdtable->open_fds is now used as the anchor for the fdset memory allocation. Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4fd45812cbe875a620c86a096a5d46c742694b7e Author: Vadim Lobanov Date: Sun Dec 10 02:21:17 2006 -0800 [PATCH] fdtable: Remove the free_files field An fdtable can either be embedded inside a files_struct or standalone (after being expanded). When an fdtable is being discarded after all RCU references to it have expired, we must either free it directly, in the standalone case, or free the files_struct it is contained within, in the embedded case. Currently the free_files field controls this behavior, but we can get rid of it entirely, as all the necessary information is already recorded. We can distinguish embedded and standalone fdtables using max_fds, and if it is embedded we can divine the relevant files_struct using container_of(). Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbea9f69668a3d0cf9feba15a724cd02896f8675 Author: Vadim Lobanov Date: Sun Dec 10 02:21:12 2006 -0800 [PATCH] fdtable: Make fdarray and fdsets equal in size Currently, each fdtable supports three dynamically-sized arrays of data: the fdarray and two fdsets. The code allows the number of fds supported by the fdarray (fdtable->max_fds) to differ from the number of fds supported by each of the fdsets (fdtable->max_fdset). In practice, it is wasteful for these two sizes to differ: whenever we hit a limit on the smaller-capacity structure, we will reallocate the entire fdtable and all the dynamic arrays within it, so any delta in the memory used by the larger-capacity structure will never be touched at all. Rather than hogging this excess, we shouldn't even allocate it in the first place, and keep the capacities of the fdarray and the fdsets equal. This patch removes fdtable->max_fdset. As an added bonus, most of the supporting code becomes simpler. Signed-off-by: Vadim Lobanov Cc: Christoph Hellwig Cc: Al Viro Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3d19c90fb117a5f080310a4592929aa8e1ad8e9 Author: Vadim Lobanov Date: Sun Dec 10 02:21:09 2006 -0800 [PATCH] fdtable: Delete pointless code in dup_fd() The dup_fd() function creates a new files_struct and fdtable embedded inside that files_struct, and then possibly expands the fdtable using expand_files(). The out_release error path is invoked when expand_files() returns an error code. However, when this attempt to expand fails, the fdtable is left in its original embedded form, so it is pointless to try to free the associated fdarray and fdsets. Signed-off-by: Vadim Lobanov Cc: Dipankar Sarma Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5eb6c7a2ab413dea1ee6c08dd58263a1c2c2efa3 Author: Zach Brown Date: Sun Dec 10 02:21:07 2006 -0800 [PATCH] dio: lock refcount operations The wait_for_more_bios() function name was poorly chosen. While looking to clean it up it I noticed that the dio struct refcounting between the bio completion and dio submission paths was racey. The bio submission path was simply freeing the dio struct if atomic_dec_and_test() indicated that it dropped the final reference. The aio bio completion path was dereferencing its dio struct pointer *after dropping its reference* based on the remaining number of references. These two paths could race and result in the aio bio completion path dereferencing a freed dio, though this was not observed in the wild. This moves the refcount under the bio lock so that bio completion can drop its reference and decide to wake all in one atomic step. Once testing and waking is locked dio_await_one() can test its sleeping condition and mark itself uninterruptible under the lock. It gets simpler and wait_for_more_bios() disappears. The addition of the interrupt masking spin lock acquiry in dio_bio_submit() looks alarming. This lock acquiry existed in that path before the recent dio completion patch set. We shouldn't expect significant performance regression from returning to the behaviour that existed before the completion clean up work. This passed 4k block ext3 O_DIRECT fsx and aio-stress on an SMP machine. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Cc: Jeff Moyer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8459d86aff04fa53c2ab6a6b9f355b3063cc8014 Author: Zach Brown Date: Sun Dec 10 02:21:05 2006 -0800 [PATCH] dio: only call aio_complete() after returning -EIOCBQUEUED The only time it is safe to call aio_complete() is when the ->ki_retry function returns -EIOCBQUEUED to the AIO core. direct_io_worker() has historically done this by relying on its caller to translate positive return codes into -EIOCBQUEUED for the aio case. It did this by trying to keep conditionals in sync. direct_io_worker() knew when finished_one_bio() was going to call aio_complete(). It would reverse the test and wait and free the dio in the cases it thought that finished_one_bio() wasn't going to. Not surprisingly, it ended up getting it wrong. 'ret' could be a negative errno from the submission path but it failed to communicate this to finished_one_bio(). direct_io_worker() would return < 0, it's callers wouldn't raise -EIOCBQUEUED, and aio_complete() would be called. In the future finished_one_bio()'s tests wouldn't reflect this and aio_complete() would be called for a second time which can manifest as an oops. The previous cleanups have whittled the sync and async completion paths down to the point where we can collapse them and clearly reassert the invariant that we must only call aio_complete() after returning -EIOCBQUEUED. direct_io_worker() will only return -EIOCBQUEUED when it is not the last to drop the dio refcount and the aio bio completion path will only call aio_complete() when it is the last to drop the dio refcount. direct_io_worker() can ensure that it is the last to drop the reference count by waiting for bios to drain. It does this for sync ops, of course, and for partial dio writes that must fall back to buffered and for aio ops that saw errors during submission. This means that operations that end up waiting, even if they were issued as aio ops, will not call aio_complete() from dio. Instead we return the return code of the operation and let the aio core call aio_complete(). This is purposely done to fix a bug where AIO DIO file extensions would call aio_complete() before their callers have a chance to update i_size. Now that direct_io_worker() is explicitly returning -EIOCBQUEUED its callers no longer have to translate for it. XFS needs to be careful not to free resources that will be used during AIO completion if -EIOCBQUEUED is returned. We maintain the previous behaviour of trying to write fs metadata for O_SYNC aio+dio writes. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20258b2b397031649e4a41922fe803d57017df84 Author: Zach Brown Date: Sun Dec 10 02:21:01 2006 -0800 [PATCH] dio: remove duplicate bio wait code Now that we have a single refcount and waiting path we can reuse it in the async 'should_wait' path. It continues to rely on the fragile link between the conditional in dio_complete_aio() which decides to complete the AIO and the conditional in direct_io_worker() which decides to wait and free. By waiting before dropping the reference we stop dio_bio_end_aio() from calling dio_complete_aio() which used to wake up the waiter after seeing the reference count drop to 0. We hoist this wake up into dio_bio_end_aio() which now notices when it's left a single remaining reference that is held by the waiter. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0273201e693fd62381f6b1e85b15ffc117d8a46e Author: Zach Brown Date: Sun Dec 10 02:20:59 2006 -0800 [PATCH] dio: formalize bio counters as a dio reference count Previously we had two confusing counts of bio progress. 'bio_count' was decremented as bios were processed and freed by the dio core. It was used to indicate final completion of the dio operation. 'bios_in_flight' reflected how many bios were between submit_bio() and bio->end_io. It was used by the sync path to decide when to wake up and finish completing bios and was ignored by the async path. This patch collapses the two notions into one notion of a dio reference count. bios hold a dio reference when they're between submit_bio and bio->end_io. Since bios_in_flight was only used in the sync path it is now equivalent to dio->refcount - 1 which accounts for direct_io_worker() holding a reference for the duration of the operation. dio_bio_complete() -> finished_one_bio() was called from the sync path after finding bios on the list that the bio->end_io function had deposited. finished_one_bio() can not drop the dio reference on behalf of these bios now because bio->end_io already has. The is_async test in finished_one_bio() meant that it never actually did anything other than drop the bio_count for sync callers. So we remove its refcount decrement, don't call it from dio_bio_complete(), and hoist its call up into the async dio_bio_complete() caller after an explicit refcount decrement. It is renamed dio_complete_aio() to reflect the remaining work it actually does. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17a7b1d74b1207f8f1af40b5d184989076d08f8b Author: Zach Brown Date: Sun Dec 10 02:20:56 2006 -0800 [PATCH] dio: call blk_run_address_space() once per op We only need to call blk_run_address_space() once after all the bios for the direct IO op have been submitted. This removes the chance of calling blk_run_address_space() after spurious wake ups as the sync path waits for bios to drain. It's also one less difference betwen the sync and async paths. In the process we remove a redundant dio_bio_submit() that its caller had already performed. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d544bb4d9019c3a0d7ee4af1e4bbbd61a6e16dc Author: Zach Brown Date: Sun Dec 10 02:20:54 2006 -0800 [PATCH] dio: centralize completion in dio_complete() There have been a lot of bugs recently due to the way direct_io_worker() tries to decide how to finish direct IO operations. In the worst examples it has failed to call aio_complete() at all (hang) or called it too many times (oops). This set of patches cleans up the completion phase with the goal of removing the complexity that lead to these bugs. We end up with one path that calculates the result of the operation after all off the bios have completed. We decide when to generate a result of the operation using that path based on the final release of a refcount on the dio structure. I tried to progress towards the final state in steps that were relatively easy to understand. Each step should compile but I only tested the final result of having all the patches applied. I've tested these on low end PC drives with aio-stress, the direct IO tests I could manage to get running in LTP, orasim, and some home-brew functional tests. In http://lkml.org/lkml/2006/9/21/103 IBM reports success with ext2 and ext3 running DIO LTP tests. They found that XFS bug which has since been addressed in the patch series. This patch: The mechanics which decide the result of a direct IO operation were duplicated in the sync and async paths. The async path didn't check page_errors which can manifest as silently returning success when the final pointer in an operation faults and its matching file region is filled with zeros. The sync path and async path differed in whether they passed errors to the caller's dio->end_io operation. The async path was passing errors to it which trips an assertion in XFS, though it is apparently harmless. This centralizes the completion phase of dio ops in one place. AIO will now return EFAULT consistently and all paths fall back to the previously sync behaviour of passing the number of bytes 'transferred' to the dio->end_io callback, regardless of errors. dio_await_completion() doesn't have to propogate EIO from non-uptodate bios now that it's being propogated through dio_complete() via dio->io_error. This lets it return void which simplifies its sole caller. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Suparna Bhattacharya Acked-by: Jeff Moyer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1757128438d41670ded8bc3bc735325cc07dc8f9 Author: NeilBrown Date: Sun Dec 10 02:20:52 2006 -0800 [PATCH] md: assorted md and raid1 one-liners Fix few bugs that meant that: - superblocks weren't alway written at exactly the right time (this could show up if the array was not written to - writting to the array causes lots of superblock updates and so hides these errors). - restarting device recovery after a clean shutdown (version-1 metadata only) didn't work as intended (or at all). 1/ Ensure superblock is updated when a new device is added. 2/ Remove an inappropriate test on MD_RECOVERY_SYNC in md_do_sync. The body of this if takes one of two branches depending on whether MD_RECOVERY_SYNC is set, so testing it in the clause of the if is wrong. 3/ Flag superblock for updating after a resync/recovery finishes. 4/ If we find the neeed to restart a recovery in the middle (version-1 metadata only) make sure a full recovery (not just as guided by bitmaps) does get done. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2b00852fbae4f8c45c2651530ded3bd01bde814 Author: NeilBrown Date: Sun Dec 10 02:20:51 2006 -0800 [PATCH] md: return a non-zero error to bi_end_io as appropriate in raid5 Currently raid5 depends on clearing the BIO_UPTODATE flag to signal an error to higher levels. While this should be sufficient, it is safer to explicitly set the error code as well - less room for confusion. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8c6b645563d641df91fdcfd84a9c73c91d75b61 Author: NeilBrown Date: Sun Dec 10 02:20:50 2006 -0800 [PATCH] md: remove some old ifdefed-out code from raid5.c There are some vestiges of old code that was used for bypassing the stripe cache on reads in raid5.c. This was never updated after the change from buffer_heads to bios, but was left as a reminder. That functionality has nowe been implemented in a completely different way, so the old code can go. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fdee8ae4498c48b44c0eac592f9c6ed24c4517c1 Author: Jeff Garzik Date: Sun Dec 10 02:20:50 2006 -0800 [PATCH] MD: conditionalize some code The autorun code is only used if this module is built into the static kernel image. Adjust #ifdefs accordingly. Signed-off-by: Jeff Garzik Acked-by: NeilBrown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b875e531fc82db592d6093594593d5cafde0a1cd Author: NeilBrown Date: Sun Dec 10 02:20:49 2006 -0800 [PATCH] md: fix innocuous bug in raid6 stripe_to_pdidx stripe_to_pdidx finds the index of the parity disk for a given stripe. It assumes raid5 in that it uses "disks-1" to determine the number of data disks. This is incorrect for raid6 but fortunately the two usages cancel each other out. The only way that 'data_disks' affects the calculation of pd_idx in raid5_compute_sector is when it is divided into the sector number. But as that sector number is calculated by multiplying in the wrong value of 'data_disks' the division produces the right value. So it is innocuous but needs to be fixed. Also change the calculation of raid_disks in compute_blocknr to make it more obviously correct (it seems at first to always use disks-1 too). Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5248861511d6aae4997a5aa7152824d87587b0b6 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:48 2006 -0800 [PATCH] md: enable bypassing cache for reads Call the chunk_aligned_read where appropriate. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46031f9a38a9773021f1872abc713d62467ac22e Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:47 2006 -0800 [PATCH] md: allow reads that have bypassed the cache to be retried on failure If a bypass-the-cache read fails, we simply try again through the cache. If it fails again it will trigger normal recovery precedures. update 1: From: NeilBrown 1/ chunk_aligned_read and retry_aligned_read assume that data_disks == raid_disks - 1 which is not true for raid6. So when an aligned read request bypasses the cache, we can get the wrong data. 2/ The cloned bio is being used-after-free in raid5_align_endio (to test BIO_UPTODATE). 3/ We forgot to add rdev->data_offset when submitting a bio for aligned-read 4/ clone_bio calls blk_recount_segments and then we change bi_bdev, so we need to invalidate the segment counts. 5/ We don't de-reference the rdev when the read completes. This means we need to record the rdev to so it is still available in the end_io routine. Fortunately bi_next in the original bio is unused at this point so we can stuff it in there. 6/ We leak a cloned bio if the target rdev is not usable. From: NeilBrown update 2: 1/ When aligned requests fail (read error) they need to be retried via the normal method (stripe cache). As we cannot be sure that we can process a single read in one go (we may not be able to allocate all the stripes needed) we store a bio-being-retried and a list of bioes-that-still-need-to-be-retried. When find a bio that needs to be retried, we should add it to the list, not to single-bio... 2/ We were never incrementing 'scnt' when resubmitting failed aligned requests. [akpm@osdl.org: build fix] Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f679623f50545bc0577caf2d0f8675b61162f059 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:46 2006 -0800 [PATCH] md: handle bypassing the read cache (assuming nothing fails) Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23032a0eb97c8eaae8ac9d17373b53b19d0f5413 Author: Raz Ben-Jehuda(caro) Date: Sun Dec 10 02:20:45 2006 -0800 [PATCH] md: define raid5_mergeable_bvec This will encourage read request to be on only one device, so we will often be able to bypass the cache for read requests. Signed-off-by: Neil Brown Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d4ca600fcf5c5f3a0c195ccf37e989b83451dd4 Author: NeilBrown Date: Sun Dec 10 02:20:44 2006 -0800 [PATCH] md: tidy up device-change notification when an md array is stopped An md array can be stopped leaving all the setting still in place, or it can torn down and destroyed. set_capacity and other change notifications only happen in the latter case, but should happen in both. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d899839064b6924c3d8a6404dae14c79f657fd Author: Paul Mackerras Date: Sun Dec 10 02:20:42 2006 -0800 [PATCH] Fbdev driver for IBM GXT4500P videocards This is an fbdev driver for the IBM GXT4500P display card found in some IBM System P (pSeries) machines. These cards have hardware 2D and 3D capabilities, but the driver does not use them; it just exports a dumb framebuffer. Signed-off-by: Paul Mackerras Acked-by: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee2f344b33b507af23610c8fdfdde38d7c10fb33 Author: Alan Cox Date: Sun Dec 10 02:20:39 2006 -0800 [PATCH] ide-cd: Handle strange interrupt on the Intel ESB2 The ESB2 appears to emit spurious DMA interrupts when configured for native mode and handling ATAPI devices. Stratus were able to pin this bug down and produce a patch. This is a rework which applies the fixup only to the ESB2 (for now). We can apply it to other chips later if the same problem is found. This code has been tested and confirmed to fix the problem on the tested systems. Signed-off-by: Alan Cox (Most of the hard work done by Stratus however) Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33859f7f9788da2ac9aa23be4dc8e948112809ca Author: Miguel Ojeda Sandonis Date: Sun Dec 10 02:20:38 2006 -0800 [PATCH] kernel/sched.c: whitespace cleanups [akpm@osdl.org: additional cleanups] Signed-off-by: Miguel Ojeda Sandonis Acked-by: Ingo Molnar Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62ab616d54371a65f595c199aad1e1755b837d25 Author: Chen, Kenneth W Date: Sun Dec 10 02:20:36 2006 -0800 [PATCH] sched: optimize activate_task for RT task RT task does not participate in interactiveness priority and thus shouldn't be bothered with timestamp and p->sleep_type manipulation when task is being put on run queue. Bypass all of the them with a single if (rt_task) test. Signed-off-by: Ken Chen Acked-by: Ingo Molnar Cc: Nick Piggin Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06066714f6016cffcb249f6ab21b7919de1bc859 Author: Chen, Kenneth W Date: Sun Dec 10 02:20:35 2006 -0800 [PATCH] sched: remove lb_stopbalance counter Remove scheduler stats lb_stopbalance counter. This counter can be calculated by: lb_balanced - lb_nobusyg - lb_nobusyq. There is no need to create gazillion counters while we can derive the value. Signed-off-by: Ken Chen Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 783609c6cb4eaa23f2ac5c968a44483584ec133f Author: Siddha, Suresh B Date: Sun Dec 10 02:20:33 2006 -0800 [PATCH] sched: decrease number of load balances Currently at a particular domain, each cpu in the sched group will do a load balance at the frequency of balance_interval. More the cores and threads, more the cpus will be in each sched group at SMP and NUMA domain. And we endup spending quite a bit of time doing load balancing in those domains. Fix this by making only one cpu(first idle cpu or first cpu in the group if all the cpus are busy) in the sched group do the load balance at that particular sched domain and this load will slowly percolate down to the other cpus with in that group(when they do load balancing at lower domains). Signed-off-by: Suresh Siddha Cc: Christoph Lameter Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b18ec80396834497933d77b81ec0918519f4e2a7 Author: Mike Galbraith Date: Sun Dec 10 02:20:31 2006 -0800 [PATCH] sched: improve migration accuracy Co-opt rq->timestamp_last_tick to maintain a cache_hot_time evaluation reference timestamp at both tick and sched times to prevent said reference, formerly rq->timestamp_last_tick, from being behind task->last_ran at evaluation time, and to move said reference closer to current time on the remote processor, intent being to improve cache hot evaluation and timestamp adjustment accuracy for task migration. Fix minor sched_time double accounting error which occurs when a task passing through schedule() does not schedule off, and takes the next timer tick. [kenneth.w.chen@intel.com: cleanup] Signed-off-by: Mike Galbraith Acked-by: Ingo Molnar Acked-by: Ken Chen Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08c183f31bdbb709f177f6d3110d5f288ea33933 Author: Christoph Lameter Date: Sun Dec 10 02:20:29 2006 -0800 [PATCH] sched: add option to serialize load balancing Large sched domains can be very expensive to scan. Add an option SD_SERIALIZE to the sched domain flags. If that flag is set then we make sure that no other such domain is being balanced. [akpm@osdl.org: build fix] Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bd77f2da58e9cdd1f159217887343dadd9af417 Author: Christoph Lameter Date: Sun Dec 10 02:20:27 2006 -0800 [PATCH] sched: call tasklet less frequently Trigger softirq less frequently We trigger the softirq before this patch using offset of sd->interval. However, if the queue is busy then it is sufficient to schedule the softirq with sd->interval * busy_factor. So we modify the calculation of the next time to balance by taking the interval added to last_balance again. This is only the right value if the idle/busy situation continues as is. There are two potential trouble spots: - If the queue was idle and now gets busy then we call rebalance early. However, that is not a problem because we will then use the longer interval for the next period. - If the queue was busy and becomes idle then we potentially wait too long before rebalancing. However, when the task goes idle then idle_balance is called. We add another calculation of the next balance time based on sd->interval in idle_balance so that we will rebalance soon. V2->V3: - Calculate rebalance time based on current jiffies and not based on the jiffies at the last time we load balanced. We no longer rely on staggering and therefore we can affort to do this now. V3->V4: - Use functions to do jiffy comparisons. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9819f4593e8d052b41a89f47140f5c5e7e30582 Author: Christoph Lameter Date: Sun Dec 10 02:20:25 2006 -0800 [PATCH] sched: use softirq for load balancing Call rebalance_tick (renamed to run_rebalance_domains) from a newly introduced softirq. We calculate the earliest time for each layer of sched domains to be rescanned (this is the rescan time for idle) and use the earliest of those to schedule the softirq via a new field "next_balance" added to struct rq. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e418e1c2bf1a253916b569370653414eb28597b6 Author: Christoph Lameter Date: Sun Dec 10 02:20:23 2006 -0800 [PATCH] sched: move idle status calculation into rebalance_tick() Perform the idle state determination in rebalance_tick. If we separate balancing from sched_tick then we also need to determine the idle state in rebalance_tick. V2->V3 Remove useless idlle != 0 check. Checking nr_running seems to be sufficient. Thanks Suresh. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7835b98bc6de2ca10afa45572d272304b000b048 Author: Christoph Lameter Date: Sun Dec 10 02:20:22 2006 -0800 [PATCH] sched: extract load calculation from rebalance_tick A load calculation is always done in rebalance_tick() in addition to the real load balancing activities that only take place when certain jiffie counts have been reached. Move that processing into a separate function and call it directly from scheduler_tick(). Also extract the time slice handling from scheduler_tick and put it into a separate function. Then we can clean up scheduler_tick significantly. It will no longer have any gotos. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe2eea3fafb3df2f5b8a55a48bcbb0d23b3b5618 Author: Christoph Lameter Date: Sun Dec 10 02:20:21 2006 -0800 [PATCH] sched: disable interrupts for locking in load_balance() Interrupts must be disabled for request queue locks if we want to run load_balance() with interrupts enabled. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4211a9a2e94a34df8c02bc39b7ec10678ad5c2ab Author: Christoph Lameter Date: Sun Dec 10 02:20:19 2006 -0800 [PATCH] sched: remove staggering of load balancing Timer interrupts already are staggered. We do not need an additional layer of time staggering for short load balancing actions that take a reasonably small portion of the time slice. For load balancing on large sched_domains we will add a serialization later that avoids concurrent load balance operations and thus has the same effect as load staggering. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Acked-by: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 571f6d2fb0b1c04798df783db2ba85e96bcce43d Author: Christoph Lameter Date: Sun Dec 10 02:20:13 2006 -0800 [PATCH] sched: avoid taking rq lock in wake_priority_sleeper Avoid taking the request queue lock in wake_priority_sleeper if there are no running processes. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Cc: KAMEZAWA Hiroyuki Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac7d550499e225efb51a53d0b00667f26b93bdff Author: Siddha, Suresh B Date: Sun Dec 10 02:20:12 2006 -0800 [PATCH] sched domain: increase the SMT busy rebalance interval With SMT, if the logical processor is busy, load balance happens for every 8msec(min)-16msec(max). There is no need to do this often, as this is just for fairness(to maintain uniform runqueue lengths) and default time slice anyhow is 100msec. Appended patch increases this interval to 64msec(min)-128msec(max) when the logical processor is busy. Signed-off-by: Suresh Siddha Cc: Nick Piggin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 054b9108e01ef27e2e6b32b4226abb6024626f06 Author: Kirill Korotaev Date: Sun Dec 10 02:20:11 2006 -0800 [PATCH] move_task_off_dead_cpu() should be called with disabled ints move_task_off_dead_cpu() requires interrupts to be disabled, while migrate_dead() calls it with enabled interrupts. Added appropriate comments to functions and added BUG_ON(!irqs_disabled()) into double_rq_lock() and double_lock_balance() which are the origin sources of such bugs. Signed-off-by: Kirill Korotaev Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6711cab43ed5e60bf51e3dbbce6395e87d4e9805 Author: Siddha, Suresh B Date: Sun Dec 10 02:20:07 2006 -0800 [PATCH] ched domain: move sched group allocations to percpu area Move the sched group allocations to percpu area. This will minimize cross node memory references and also cleans up the sched groups allocation for allnodes sched domain. Signed-off-by: Suresh Siddha Acked-by: Ingo Molnar Acked-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc2a73b5caf065f8612fcb5df5bd2f5e25881d99 Author: Robert P. J. Day Date: Sun Dec 10 02:20:00 2006 -0800 [PATCH] sched.c: correct comment for this_rq_lock() Acked-by: Ingo Molnar Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596afa41b21a414e523936b27100456f0f85e411 Author: Ralf Baechle Date: Sun Dec 10 02:19:58 2006 -0800 [PATCH] Don't build some broken ISDN drivers on big endian MIPS Signed-off-by: Ralf Baechle Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf709844d8a8fa21c59772d1a069ae0efa15e981 Author: Andrew Morton Date: Sun Dec 10 02:19:56 2006 -0800 [PATCH] io-accounting: add to getdelays Wire up the IO accounting into getdelays.c. Usage: To display I/O stats for each exitting task: vmm:/home/akpm> ./getdelays -m0,1,2,3 -i -l cpumask 0 maskset 1 printing IO accounting listen forever rm: read=8192, write=0, cancelled_write=0 cvs: read=733184, write=4255744, cancelled_write=4096 make: read=217088, write=0, cancelled_write=0 cc1: read=4263936, write=12288, cancelled_write=0 as: read=811008, write=8192, cancelled_write=0 gcc: read=323584, write=0, cancelled_write=12288 cc1: read=0, write=8192, cancelled_write=0 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=4096 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=8192 ld: read=1011712, write=16384, cancelled_write=0 collect2: read=626688, write=0, cancelled_write=0 gcc: read=204800, write=0, cancelled_write=0 cc1: read=0, write=8192, cancelled_write=0 as: read=4096, write=4096, cancelled_write=0 gcc: read=16384, write=0, cancelled_write=8192 ld: read=8192, write=16384, cancelled_write=0 collect2: read=49152, write=0, cancelled_write=0 gcc: read=0, write=0, cancelled_write=0 cc1: read=0, write=4096, cancelled_write=0 ld: read=4096, write=12288, cancelled_write=0 collect2: read=49152, write=0, cancelled_write=0 gcc: read=0, write=0, cancelled_write=0 To display I/O stats for a particular presently-running task: vmm:/home/akpm> ./getdelays -i -p $(pidof crond) printing IO accounting crond: read=61440, write=0, cancelled_write=0 Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2f7bf13461e8ead863126ee1e8ba92105959ecc Author: Andrew Morton Date: Sun Dec 10 02:19:55 2006 -0800 [PATCH] getdelays: various fixes - Various cleanups - Report errors to stderr, not stdout - A printf was missing a \n and was hiding from me. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a7864ca638e0a38307962ee8ef122822a351b65 Author: Andrew Morton Date: Sun Dec 10 02:19:53 2006 -0800 [PATCH] io-accounting: via taskstats Deliver IO accounting via taskstats. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2f1f8a3b86ccc5e998dc70a3ba35af199fdbc58 Author: Andrew Morton Date: Sun Dec 10 02:19:50 2006 -0800 [PATCH] cleanup taskstats.h Fix weird whitespace mangling in taskstats.h Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aba76fdb8a5fefba73d3490563bf7c4da37b1a34 Author: Andrew Morton Date: Sun Dec 10 02:19:48 2006 -0800 [PATCH] io-accounting: report in procfs Add a simple /proc/pid/io to show the IO accounting fields. Maybe this shouldn't be merged in mainline - the preferred reporting channel is taskstats. But given the poor state of our userspace support for taskstats, this is useful for developer-testing, at least. And it improves the changes that the procps developers will wire it up into top(1). Opinions are sought. The patch also wires up the existing IO-accounting fields. It's a bit racy on 32-bit machines: if process A reads process B's /proc/pid/io while process B is updating one of those 64-bit counters, process A could see an intermediate result. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98c4d57decf97bf8ddfe948a3266aa56b38b1a51 Author: Andrew Morton Date: Sun Dec 10 02:19:47 2006 -0800 [PATCH] io-accounting: direct-io Account for direct-io. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f88cc2e9c29c181557b477ee396375906acbc90 Author: Andrew Morton Date: Sun Dec 10 02:19:44 2006 -0800 [PATCH] io-accounting-read-accounting cifs fix CIFS implements ->readpages and doesn't use read_cache_pages(). So wire the read IO accounting up within CIFS. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: Steven French Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bde37f08fe3340435f4320b5a092eeb55acebfd Author: Andrew Morton Date: Sun Dec 10 02:19:40 2006 -0800 [PATCH] io-accounting-read-accounting nfs fix nfs's ->readpages uses read_cache_pages(). Wire it up there. [wfg@mail.ustc.edu.cn: account only successful nfs/fuse reads] Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Fengguang Wu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faccbd4b26df7bd977cee33d4145155d0ef95c87 Author: Andrew Morton Date: Sun Dec 10 02:19:35 2006 -0800 [PATCH] io-accounting: read accounting Wire up read accounting for block devices, within submit_bio(). Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e08748ce01e02f0ec154b141f392ccb9555333f4 Author: Andrew Morton Date: Sun Dec 10 02:19:31 2006 -0800 [PATCH] io-accounting: write-cancel accounting Account for the number of byte writes which this process caused to not happen after all. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e829af06681e5d731c03ba04febbd1c76ca293 Author: Andrew Morton Date: Sun Dec 10 02:19:27 2006 -0800 [PATCH] io-accounting: write accounting Accounting writes is fairly simple: whenever a process flips a page from clean to dirty, we accuse it of having caused a write to underlying storage of PAGE_CACHE_SIZE bytes. This may overestimate the amount of writing: the page-dirtying may cause only one buffer_head's worth of writeout. Fixing that is possible, but probably a bit messy and isn't obviously important. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c08540f8755c451d8b96ea14cfe796bc3cd712d Author: Andrew Morton Date: Sun Dec 10 02:19:24 2006 -0800 [PATCH] clean up __set_page_dirty_nobuffers() Save a tabstop in __set_page_dirty_nobuffers() and __set_page_dirty_buffers() and a few other places. No functional changes. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c3ab7381e79dfc7db14a67c6f4f3285664e1ec2 Author: Andrew Morton Date: Sun Dec 10 02:19:19 2006 -0800 [PATCH] io-accounting: core statistics The present per-task IO accounting isn't very useful. It simply counts the number of bytes passed into read() and write(). So if a process reads 1MB from an already-cached file, it is accused of having performed 1MB of I/O, which is wrong. (David Wright had some comments on the applicability of the present logical IO accounting: For billing purposes it is useless but for workload analysis it is very useful read_bytes/read_calls average read request size write_bytes/write_calls average write request size read_bytes/read_blocks ie logical/physical can indicate hit rate or thrashing write_bytes/write_blocks ie logical/physical guess since pdflush writes can be missed I often look for logical larger than physical to see filesystem cache problems. And the bytes/cpusec can help find applications that are dominating the cache and causing slow interactive response from page cache contention. I want to find the IO intensive applications and make sure they are doing efficient IO. Thus the acctcms(sysV) or csacms command would give the high IO commands). This patchset adds new accounting which tries to be more accurate. We account for three things: reads: attempt to count the number of bytes which this process really did cause to be fetched from the storage layer. Done at the submit_bio() level, so it is accurate for block-backed filesystems. I also attempt to wire up NFS and CIFS. writes: attempt to count the number of bytes which this process caused to be sent to the storage layer. This is done at page-dirtying time. The big inaccuracy here is truncate. If a process writes 1MB to a file and then deletes the file, it will in fact perform no writeout. But it will have been accounted as having caused 1MB of write. So... cancelled_writes: account the number of bytes which this process caused to not happen, by truncating pagecache. We _could_ just subtract this from the process's `write' accounting. But that means that some processes would be reported to have done negative amounts of write IO, which is silly. So we just report the raw number and punt this decision up to userspace. Now, we _could_ account for writes at the physical I/O level. But - This would require that we track memory-dirtying tasks at the per-page level (would require a new pointer in struct page). - It would mean that IO statistics for a process are usually only available long after that process has exitted. Which means that we probably cannot communicate this info via taskstats. This patch: Wire up the kernel-private data structures and the accessor functions to manipulate them. Cc: Jay Lan Cc: Shailabh Nagar Cc: Balbir Singh Cc: Chris Sturtivant Cc: Tony Ernst Cc: Guillaume Thouvenin Cc: David Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47694bb86af3648d4ec34c7afd46653cefc9b359 Author: Sergei Shtylyov Date: Sun Dec 10 02:19:13 2006 -0800 [PATCH] pdc202xx_new: fix PLL/timing issues Fix the CRC errors in the higher UltraDMA modes with the Promise PDC20268 and newer chips that always occur on non-x86 machines and when there are more than 2 adapters on x86 machines. Fix the overclocking issue for PDC20269 and newer chips that occurs when an UltraDMA/133 capable drive is connected. Here's the summary of changes: - add code to detect the PLL input clock detection and setup it output clock, remove the PowerMac hacks; - replace the macros accessing the indexed regiters with functions, switch to using them where appropriate, gather the PIO/MWDMA/UDMA timings into tables; - rewrite the speedproc() handler to set the drive's transfer mode first, and then override the timing registers set by hardware on UltraDMA/133 chips; - use better criterion for determining higher UltraDMA modes, and add comment concerning the doubtful value of the code enabling IORDY/prefetch; - replace the stupid 'pdcnew_new_' prefixes with mere 'pdcnew_'; - get rid of unneded spaces, parens and type casts, clean up some printk's, add some new lines here and there... This work is loosely based on these former patches by Albert Lee: [1] http://marc.theaimsgroup.com/?l=linux-ide&m=110992442032300 [2] http://marc.theaimsgroup.com/?l=linux-ide&m=110992457729382 [3] http://marc.theaimsgroup.com/?l=linux-ide&m=110992474205555 [4] http://marc.theaimsgroup.com/?l=linux-ide&m=111019224802939 Some PLL clock detection code was backported from his pata_pdc2027x driver... This code has been successfully tested by me on PDC2026[89] chips. I tried to keep this rework as several patches but it made no sense: [2] was largely a modification of the non-working timing override code, [3] by itself extended the overclocking issue to the case of non-UltraDMA/133 drives, and finally, the cleanup patch based on [1] ended up rejected... Signed-off-by: Sergei Shtylyov Cc: Albert Lee Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58f64d83c37f5073a01573d27043c9c0ccc764f1 Author: David Woodhouse Date: Sun Dec 10 02:19:11 2006 -0800 [PATCH] Fix noise in futex.h There are some kernel-only bits in the middle of which should be removed in what we export to userspace. Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f29bcd739972f71f2fd5d5d265daf3e1208fa5e Author: Alexey Dobriyan Date: Sun Dec 10 02:19:10 2006 -0800 [PATCH] sysctl: remove unused "context" param Signed-off-by: Alexey Dobriyan Cc: Andi Kleen Cc: "David S. Miller" Cc: David Howells Cc: Ralf Baechle Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98d7340c360993fdd703609ff7462051e03cc2fb Author: Alexey Dobriyan Date: Sun Dec 10 02:19:09 2006 -0800 [PATCH] sysctl: remove some OPs kernel.cap-bound uses only OP_SET and OP_AND Signed-off-by: Alexey Dobriyan Cc: "Eric W. Biederman" Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d5636cc078d3750b7f590a20f748aeaa26e2daf Author: Corey Minyard Date: Sun Dec 10 02:19:08 2006 -0800 [PATCH] IPMI: misc fixes Fix various problems pointed out by Andrew Morton and others: * platform_device_unregister checks for NULL, no need to check here. * Formatting fixes. * Remove big macro and convert to a function. * Use strcmp instead of defining a broken case-insensitive comparison, and make the output parameter info match the case of the input one (change "I/O" to "i/o"). * Return the length instead of 0 from the hotmod parameter handler. * Remove some unused cruft. * The trydefaults parameter only has to do with scanning the "standard" addresses, don't check for that on ACPI. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c8204b380f92a6a8533d228c50f0b681daf6121 Author: Randy Dunlap Date: Sun Dec 10 02:19:06 2006 -0800 [PATCH] IPMI: remove zero inits Remove all =0 and =NULL from static initializers. They are not needed and removing them saves space in the object files. Signed-off-by: Randy Dunlap Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76465493eeadb1662d65aa96477d6fc093da9966 Author: Alessandro Zummo Date: Sun Dec 10 02:19:06 2006 -0800 [PATCH] update MAINTAINERS with rtc-linux mailing list info Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fc39f6d616a852750ddaac86f5e4c3fad804ef8 Author: Andrew Victor Date: Sun Dec 10 02:19:03 2006 -0800 [PATCH] AT91RM9200 RTC The new Atmel AT91SAM9261 and AT91SAM9260 processors do not have the internal RTC peripheral. This RTC driver is therefore AT91RM9200-specific. This patch renames rtc-at91.c to rtc-at91rm9200.c, and changes the name of the configuration option. Signed-off-by: Andrew Victor Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a14e18935076ce084c4edbc57883f38e642c8e5d Author: David Brownell Date: Sun Dec 10 02:19:02 2006 -0800 [PATCH] RTCs don't use i2c_adapter.dev Update more I2C drivers that live outside drivers/i2c to understand that using adapter->dev is not The Way. When actually referring to the adapter hardware, adapter->class_dev.dev is the answer. When referring to a device connected to it, client->dev.dev is the answer. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 884b4aaaa242a2db8c8252796f0118164a680ab5 Author: Scott Wood Date: Sun Dec 10 02:19:00 2006 -0800 [PATCH] rtc: Add rtc_merge_alarm() Add rtc_merge_alarm(), which can be used by rtc drivers to turn a partially specified alarm expiry (i.e. most significant fields set to -1, as with the RTC_ALM_SET ioctl()) into a fully specified expiry. If the most significant specified field is earlier than the current time, the least significant unspecified field is incremented. Signed-off-by: Scott Wood Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9080d0ae0fd16628d688ce7d03d02ccf7011c6f0 Author: Randy Dunlap Date: Sun Dec 10 02:19:00 2006 -0800 [PATCH] geode crypto is PCI device This driver seems to be for a PCI device. drivers/crypto/geode-aes.c:384: warning: implicit declaration of function 'pci_release_regions' drivers/crypto/geode-aes.c:397: warning: implicit declaration of function 'pci_request_regions' Signed-off-by: Randy Dunlap Acked-by: Jordan Crouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c543eff6cc658f46241f1ccb77436d65abbf445 Author: Randy Dunlap Date: Sun Dec 10 02:18:58 2006 -0800 [PATCH] freezer.h uses task_struct fields freezer.h uses task_struct fields so it should include sched.h. CC [M] fs/jfs/jfs_txnmgr.o In file included from fs/jfs/jfs_txnmgr.c:49: include/linux/freezer.h: In function 'frozen': include/linux/freezer.h:9: error: dereferencing pointer to incomplete type include/linux/freezer.h:9: error: 'PF_FROZEN' undeclared (first use in this function) include/linux/freezer.h:9: error: (Each undeclared identifier is reported only once include/linux/freezer.h:9: error: for each function it appears in.) include/linux/freezer.h: In function 'freezing': include/linux/freezer.h:17: error: dereferencing pointer to incomplete type include/linux/freezer.h:17: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'freeze': include/linux/freezer.h:26: error: dereferencing pointer to incomplete type include/linux/freezer.h:26: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'do_not_freeze': include/linux/freezer.h:34: error: dereferencing pointer to incomplete type include/linux/freezer.h:34: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h: In function 'thaw_process': include/linux/freezer.h:43: error: dereferencing pointer to incomplete type include/linux/freezer.h:43: error: 'PF_FROZEN' undeclared (first use in this function) include/linux/freezer.h:44: warning: implicit declaration of function 'wake_up_process' include/linux/freezer.h: In function 'frozen_process': include/linux/freezer.h:55: error: dereferencing pointer to incomplete type include/linux/freezer.h:55: error: dereferencing pointer to incomplete type include/linux/freezer.h:55: error: 'PF_FREEZE' undeclared (first use in this function) include/linux/freezer.h:55: error: 'PF_FROZEN' undeclared (first use in this function) fs/jfs/jfs_txnmgr.c: In function 'freezing': include/linux/freezer.h:18: warning: control reaches end of non-void function make[2]: *** [fs/jfs/jfs_txnmgr.o] Error 1 Signed-off-by: Randy Dunlap Acked-by: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf1b939e41c28a31f2052e5c0a6619b5711ad7d0 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Sun Dec 10 02:18:57 2006 -0800 [PATCH] Document how to decode an IOCTL number Document how to decode a binary IOCTL number. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0dd4e5b8e197f9d10e171e9f4aa9ed72e4a6d00c Author: Andrew Morton Date: Sun Dec 10 02:18:56 2006 -0800 [PATCH] submit checklist update Mention the new fault-injection test framework. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3fc9941fbc6efe5cb77728adb0fb12be363e73e Author: Randy Dunlap Date: Sun Dec 10 02:18:56 2006 -0800 [PATCH] CodingStyle updates Add some kernel coding style comments, mostly pulled from emails by Andrew Morton, Jesper Juhl, and Randy Dunlap. - add paragraph on switch/case indentation (with fixes) - add paragraph on multiple-assignments - add more on Braces - add section on Spaces; add typeof, alignof, & __attribute__ with sizeof; add more on postfix/prefix increment/decrement operators - add paragraph on function breaks in source files; add info on function prototype parameter names - add paragraph on EXPORT_SYMBOL placement - add section on /*-comment style, long-comment style, and data declarations and comments - correct some chapter number references that were missed when chapters were renumbered Signed-off-by: Randy Dunlap Acked-by: Jesper Juhl Acked-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d94cc50aa4f1448a6483975097805eb8d6be0e0 Author: Stephen Street Date: Sun Dec 10 02:18:54 2006 -0800 [PATCH] spi: stabilize PIO mode transfers on PXA2xx systems Stabilize PIO mode transfers against a range of word sizes and FIFO thresholds and fixes word size setup/override issues. 1) 16 and 32 bit DMA/PIO transfers broken due to timing differences. 2) Potential for bad transfer counts due to transfer size assumptions. 3) Setup function broken is multiple ways. 4) Per transfer bit_per_word changes break DMA setup in pump_tranfers. 5) False positive timeout are not errors. 6) Changes in pxa2xx_spi_chip not effective in calls to setup. 7) Timeout scaling wrong for PXA255 NSSP. 8) Driver leaks memory while busy during unloading. Known issues: SPI_CS_HIGH and SPI_LSB_FIRST settings in struct spi_device are not handled. Testing: This patch has been test against the "random length, random bits/word, random data (verified on loopback) and stepped baud rate by octaves (3.6MHz to 115kHz)" test. It is robust in PIO mode, using any combination of tx and rx thresholds, and also in DMA mode (which internally computes the thresholds). Much thanks to Ned Forrester for exhaustive reviews, fixes and testing. The driver is substantially better for his efforts. Signed-off-by: Stephen Street Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6451956a24963d3eb1655fd039762ae42ac48da7 Author: Alan Cox Date: Sun Dec 10 02:18:53 2006 -0800 [PATCH] ide: complete switch to pci_get The reverse get function allows the final piece of the switching for the old IDE layer Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc4fb2adf944d45a7f3d4d38df991c79ffdb6a43 Author: Chris Zankel Date: Sun Dec 10 02:18:52 2006 -0800 [PATCH] xtensa: fix system call interface This is a long outstanding patch to finally fix the syscall interface. The constants used for the system calls are those we have provided in our libc patches. This patch also fixes the shmbuf and stat structure, and fcntl definitions. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 173d6681380aa1d60dfc35ed7178bd7811ba2784 Author: Chris Zankel Date: Sun Dec 10 02:18:48 2006 -0800 [PATCH] xtensa: remove extra header files The Xtensa port contained many header files that were never needed. This rather lengthy patch removes all those files. Unfortunately, there were many dependencies that needed to be updated, so this patch touches quite a few source files. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd43fe19b830d6cd0eba08a6c6a5f71a6bd9c1b0 Author: Chris Zankel Date: Sun Dec 10 02:18:47 2006 -0800 [PATCH] xtensa: fix irq and misc fixes Update the architecture specific interrupt handling code for Xtensa to support the new API. Use generic BUG macros in bug.h, and some minor fixes. Signed-off-by: Chris Zankel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fcf7bb73f66cc1c4ad90788b0f367c4d6852b75 Author: Hugh Dickins Date: Sun Dec 10 02:18:43 2006 -0800 [PATCH] read_zero_pagealigned() locking fix Ramiro Voicu hits the BUG_ON(!pte_none(*pte)) in zeromap_pte_range: kernel bugzilla 7645. Right: read_zero_pagealigned uses down_read of mmap_sem, but another thread's racing read of /dev/zero, or a normal fault, can easily set that pte again, in between zap_page_range and zeromap_page_range getting there. It's been wrong ever since 2.4.3. The simple fix is to use down_write instead, but that would serialize reads of /dev/zero more than at present: perhaps some app would be badly affected. So instead let zeromap_page_range return the error instead of BUG_ON, and read_zero_pagealigned break to the slower clear_user loop in that case - there's no need to optimize for it. Use -EEXIST for when a pte is found: BUG_ON in mmap_zero (the other user of zeromap_page_range), though it really isn't interesting there. And since mmap_zero wants -EAGAIN for out-of-memory, the zeromaps better return that than -ENOMEM. Signed-off-by: Hugh Dickins Cc: Ramiro Voicu: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 347a00fb4ad2200f8f8331f8b366b1d84eff577d Author: Roman Zippel Date: Sun Dec 10 02:18:41 2006 -0800 [PATCH] kbuild: don't put temp files in source The as-instr/ld-option need to create temporary files, but create them in the output directory, when compiling external modules. Reformat them a bit and use $(CC) instead of $(AS) as the former is used by kbuild to assemble files. Signed-off-by: Roman Zippel Cc: Andi Kleen Cc: Jan Beulich Cc: Sam Ravnborg Cc: Cc: Horst Schirmeier Cc: Daniel Drake Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15964864c051b31df7d2f9101fe8cc47854a0ab8 Author: Oleg Verych Date: Sun Dec 10 02:18:40 2006 -0800 [PATCH] kbuild: fix-rR-is-now-default `make -d help | grep Makefile` shows patterns, where make tries to rebuild included and top makefiles. While `make -rR is now default' commit should fix this, actually, it was just a little janitorial. This fix is aimed to complete cancelling implicit rules. Cc: Sam Ravnborg Signed-off-by: Oleg Verych Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf4735a46a6b8dfc1a951f05683e80374d8baa70 Author: Don Mullis Date: Sun Dec 10 02:18:37 2006 -0800 [PATCH] Kconfig refactoring for better menu nesting Refactor Kconfig content to maximize nesting of menus by menuconfig and xconfig. Tested by simultaneously running `make xconfig` with and without patch, and comparing displays. Signed-off-by: Don Mullis Signed-off-by: Randy Dunlap Cc: Sam Ravnborg Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d53ef07ab45085c0b06b652d588aa49b8ba41458 Author: Randy Dunlap Date: Sun Dec 10 02:18:36 2006 -0800 [PATCH] ipc-procfs-sysctl mixups When CONFIG_PROC_FS=n and CONFIG_PROC_SYSCTL=n but CONFIG_SYSVIPC=y, we get this build error: kernel/built-in.o:(.data+0xc38): undefined reference to `proc_ipc_doulongvec_minmax' kernel/built-in.o:(.data+0xc88): undefined reference to `proc_ipc_doulongvec_minmax' kernel/built-in.o:(.data+0xcd8): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xd28): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xd78): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xdc8): undefined reference to `proc_ipc_dointvec' kernel/built-in.o:(.data+0xe18): undefined reference to `proc_ipc_dointvec' make: *** [vmlinux] Error 1 Signed-off-by: Randy Dunlap Acked-by: Eric Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 Author: Randy Dunlap Date: Sun Dec 10 02:18:34 2006 -0800 [PATCH] ucb1400_ts depends SND_AC97_BUS This driver is an AC97 codec according to its help text. However, if SOUND is disabled, the "select SND_AC97_BUS" still inserts that into the .config file: # # Sound # # CONFIG_SOUND is not set CONFIG_SND_AC97_BUS=m Even if the config software followed dependency chains on selects, we should try to limit usage of "select" to library-type code that is needed (e.g., CRC functions) instead of bus-type support. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db9a758c3895ae99d647143d1f043938eb68521e Author: David Howells Date: Sun Dec 10 02:18:31 2006 -0800 [PATCH] workstruct: fix ieee80211-softmac compile problem Fix ieee80211-softmac compile problem where it's using schedule_work() on a delayed_work struct. Signed-off-by: David Howells Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1de1bf06330920802d3b7646a088965bdd918356 Author: Thierry MERLE Date: Sun Dec 10 13:31:04 2006 -0300 V4L/DVB 4949b: Fix container_of pointer retreival Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 3d375d9e0feee79e63a552a3eb3b46f989afce34 Author: Yan Burman Date: Mon Dec 4 15:03:01 2006 -0800 [JFFS2] replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit db06e2a93ff73270e0053c37c88073094e77913d Author: David Woodhouse Date: Sun Dec 10 11:48:54 2006 +0000 [MTD] Fix SSFDC build for variable blocksize. Signed-off-by: David Woodhouse commit dffbc42b5adfc77a4165de9f170304eb596de3f4 Author: Randy Dunlap Date: Mon Dec 4 15:03:00 2006 -0800 [MTD] ESB2ROM uses PCI ESB2ROM uses PCI interface functions. With CONFIG_PCI=n: drivers/mtd/maps/esb2rom.c: In function 'esb2rom_init_one': drivers/mtd/maps/esb2rom.c:167: warning: implicit declaration of function 'pci_dev_get' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 67952e8cb111c5b2f9e675dba1bbde4876f9fcf3 Author: Mauro Carvalho Chehab Date: Sun Dec 10 00:14:21 2006 -0200 V4L/DVB (4949a): Fix INIT_WORK INIT_WORK syntax changed on kernel 2.6.19. Fixing it on usbvision and cx88-input. Signed-off-by: Mauro Carvalho Chehab commit f35db23c1b1c4da0642e932a7035b5c577377974 Author: Michael Krufky Date: Tue Dec 5 14:53:39 2006 -0300 V4L/DVB (4949): Cxusb: codingstyle cleanups Trivial whitespace / 80-column limit cleanups Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 79a54cbd73afe05d807b2128fa41a92cb4acd637 Author: Michael Krufky Date: Tue Dec 5 14:20:06 2006 -0300 V4L/DVB (4948): Cxusb: Convert tuner functions to use dvb_pll_attach Converted dee1601, lgz201 and dtt8579 to use dvb_pll_attach in dvb-usb-cxusb. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4a390558a691445e3d710998b850570fe8a20d31 Author: Michael Krufky Date: Tue Dec 5 02:00:53 2006 -0300 V4L/DVB (4947): Cx88: trivial cleanups - small whitespace cleanups - 80-column whitespace cleanups - remove unneeded brackets Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 22f3f17dd705c476d2c8a2d879ddacaa8f9237e3 Author: Michael Krufky Date: Tue Dec 5 01:38:58 2006 -0300 V4L/DVB (4946): Cx88: Move cx88_dvb_bus_ctrl out of the card-specific area This function should not be in the card-specific area of the file. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ed35526027f3b45a7c799f73916166b1161bf082 Author: Michael Krufky Date: Tue Dec 5 01:34:56 2006 -0300 V4L/DVB (4945): Cx88: consolidate cx22702_config structs There are five cx22702_config structs used by cx88-dvb, only two of which are unique. This patch removes the duplicates and sets each card to use one of the two remaining config structs. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5786a34b439b660256e236f870c0418e39dd16d0 Author: Michael Krufky Date: Tue Dec 5 01:21:19 2006 -0300 V4L/DVB (4944): Cx88: Convert DViCO FusionHDTV Hybrid to use dvb_pll_attach Converted DViCO FusionHDTV Hybrid to use dvb_pll_attach, removing another static dependency of cx88-dvb on dvb-pll. Acked-by: Chris Pascoe Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1d4bb7d3c154167c8f0b80cfd72914d8732d3d01 Author: Michael Krufky Date: Tue Dec 5 01:01:39 2006 -0300 V4L/DVB (4943): Cx88: cleanup dvb_pll_attach for lgdt3302 tuners Since we're using dvb_pll_attach now, we dont have to populate dev->core->pll_addr or dev->core->pll_desc anymore. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c876a3468d0f136710af81595177889953d1ff71 Author: Thierry MERLE Date: Sat Dec 9 16:42:54 2006 -0300 V4L/DVB (4953): Usbvision minor fixes - fix debug outputs - fix returned parameters on VIDIOC_G_FMT, VIDIOC_S_FMT and VIDIOC_TRY_FMT and mmap size setting Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f30ebd43597e9b2bbbc8b0eb650f5aad545e255b Author: Mauro Carvalho Chehab Date: Sat Dec 9 12:32:18 2006 -0300 V4L/DVB (4951): Add version.h, since it is required for VIDIOC_QUERYCAP Signed-off-by: Mauro Carvalho Chehab commit 1444e5f591b8c68d7a326f5b0ad6c63a984d56dd Author: Rusty Scott Date: Mon Dec 4 18:04:16 2006 -0300 V4L/DVB (4940): Or51211: Changed SNR and signal strength calculations Removes embedded log functions and makes use of the DVB math functions to provide SNR in dB. The changes are modeled after recent changes made to the LGDT330x frontends in lgdt330x.c Signed-off-by: Rusty Scott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit b2fb7f55a1837e39a9f74e2fd7be990ccba90eb4 Author: Rusty Scott Date: Mon Dec 4 18:04:15 2006 -0300 V4L/DVB (4939): Or51132: Changed SNR and signal strength reporting Removes embedded log functions and makes use of the DVB math functions to provide SNR in dB. The changes are modeled after recent changes made to the LGDT330x frontends in lgdt330x.c Signed-off-by: Rusty Scott Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 1c5ee876d697a9d1b70117e4277eaa445d14a728 Author: Trent Piepho Date: Mon Dec 4 18:04:11 2006 -0300 V4L/DVB (4938): Cx88: Convert lgdt3302 tuning function to use dvb_pll_attach There was a still a pre-dvb-pll set_params function for the lgdt3302 in the cx88-dvb driver. This patch removes that function and uses dvb_pll_attach() for the cards that were using it (Dvico FusionHDTV 3 GOLD {Q,T}). This way the set_params function from dvb-pll is used. dvb_attach() is in turn used on dvb_pll_attach(), eliminating some static dependencies on dvb-pll. There are still a couple static dependencies on dvb-pll remaining. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit a1ed551cdb4f29157466340760fde68bcda704a9 Author: Mauro Carvalho Chehab Date: Sat Dec 9 11:41:59 2006 -0300 V4L/DVB (4941): Remove LINUX_VERSION_CODE and fix identations Signed-off-by: Mauro Carvalho Chehab commit 7ca659e3c1c3dd67073751385ae3bd25b27526bb Author: Mauro Carvalho Chehab Date: Sat Dec 9 11:43:31 2006 -0300 V4L/DVB (4942): Whitespace cleanups Signed-off-by: Mauro Carvalho Chehab commit 483dfdb64fd4a9f240c84e0e225a90c044d65402 Author: Thierry MERLE Date: Mon Dec 4 08:31:45 2006 -0300 V4L/DVB (4937): Usbvision cleanup and code reorganization - removal of overlay stuff - reorganization of functions in 3 files: * usbvision-i2c for I2C-related stuff * usbvision-video for v4l2 entry points * usbvision-core for all peripheral controls and utilities Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit d8159a3684007e0ded915cb7465c9534a2650c53 Author: Thierry MERLE Date: Mon Dec 4 08:31:42 2006 -0300 V4L/DVB (4936): Make MT4049FM5 tuner to set FM Gain to Normal - remove any specific TDA9887_SET_CONFIG of usbvision driver - add fm_gain_normal=1 to the MT4049FM5 tuner for radio functionality Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 483deb0f2b38060c1f2de216c09f05b1869b0d52 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:38 2006 -0300 V4L/DVB (4935): Added the capability of selecting fm gain by tuner Some tuners require using cGainNormal instead of cGainLow for high sensibility on FM reception. Signed-off-by: Mauro Carvalho Chehab commit cefccc8011c58b559498396f0ccefa0a0ffa3f53 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:35 2006 -0300 V4L/DVB (4934): Usbvision radio requires GainNormal at e register Adds an option to select GainNormal at tda9887 and make usbvision to use it. Signed-off-by: Mauro Carvalho Chehab commit 3086d6cb0a2ec93f17bc215af3113c54af6080c1 Author: Thierry MERLE Date: Mon Dec 4 08:31:32 2006 -0300 V4L/DVB (4933): Usbvision_v4l2: radio interface / tda9887 problem ? - implement the v4l2 radio interface Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 957883d0b56a649389d0652a727324dd8ba2e83c Author: Thierry MERLE Date: Mon Dec 4 08:31:30 2006 -0300 V4L/DVB (4932): Usbvision_v4l2: fix norm setting problems Patch contents: - fix i2c command broadcast (caused problems for SECAM norm setting) - default input selection at driver open Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit ee5407c5019eb720872abea2e0a1376c35e2304a Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:27 2006 -0300 V4L/DVB (4931): Removed usbvision_ioctl.h, since it isn't required anymore Signed-off-by: Mauro Carvalho Chehab commit 40bad67840aa6856cb39a431510a57d940017898 Author: Thierry MERLE Date: Mon Dec 4 08:31:24 2006 -0300 V4L/DVB (4930): Usbvision_v4l2 : mmap corrected to get all frames - private ioctls UVIOCSREG/UVIOCGREG translated to the VIDIOC_INT_G_REGISTER/VIDIOC_INT_S_REGISTER - lost frame bug corrected (mmap rework) - reset scratch buffer is no buffer is queued (prevents useless scratch overflow management) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 3084920b555b3ba73590430b2e03d9167db23e8e Author: Thierry MERLE Date: Mon Dec 4 08:31:21 2006 -0300 V4L/DVB (4929): Read() implementation + format set/get simplifications - implement read() entry point that works with linux list.h - rework of VIDIOC_ENUM_FMT/VIDIOC_S_FMT/VIDIOC_G_FMT - VIDIOC_STREAMON : allows streaming whereas there is no queued buffer (xdtv does VIDIOC_STREAMON before VIDIOC_QBUFs) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 5f7fb877be14da92803f0b5b60955e071ebe2d58 Author: Thierry Date: Mon Dec 4 08:31:17 2006 -0300 V4L/DVB (4928): Usbvision_v4l2 robustness on disconnect This patch corrects 2 bugs (causes kernel oops) that occur when unplugging the peripheral whereas nobody has opened it yet : - do not call usbvision_stop_isoc if usbvision_init_isoc has not been called - do not call wakeup_interruptible on waitqueues that did not have been initialized with init_waitqueue_head Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit f2242ee5474f46d87a45cd4e214b5c3aa02ff293 Author: Thierry MERLE Date: Mon Dec 4 08:31:14 2006 -0300 V4L/DVB (4927): Enhancements on usbvision driver Enhance the buffer management of this driver + some corrections - linux list.h usage for buffer management - VIDIOC_ENUMSTD/VIDIOC_G_STD/VIDIOC_S_STD simplification (use of v4l2_video_std_construct) - create_sysfs : remove of warnings for video_device_create_file return code - make the driver compatible with 2.6.19 kernel version (remove slave_send and slave_recv in usbvision-i2c, change ctrlUrb_complete function prototype) - deactivated v4l2_read because this code was not the priority but working on it :) Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 18d8a4540caddaa9a42fb4dbc04c75c4b806278b Author: Dwaine Garden Date: Mon Dec 4 08:31:11 2006 -0300 V4L/DVB (4926): Fix USBVision handling of VIDIOC_QUERYCTRL There's a better (and recommended) way for handling VIDIOC_QUERYCTRL. This patch will fix the issue where the hardware control values were invalid and stops the SAA7115 module from complaining about invalid values. saa7115 4-0024: invalid brightness setting 32768 saa7115 4-0024: invalid contrast setting 49152 saa7115 4-0024: invalid hue setting 32768 saa7115 4-0024: invalid saturation setting 32768 Signed-off-by: Dwaine Garden Signed-off-by: Mauro Carvalho Chehab commit cc9e595a585a4f067dcfdc67e7c4432702ea28ac Author: Thierry MERLE Date: Mon Dec 4 08:31:07 2006 -0300 V4L/DVB (4925): Corrected and separated the Kconfig for usbvision Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit c8400c700723936d9333c977e51fa77062d26dd4 Author: Thierry MERLE Date: Mon Dec 4 08:31:04 2006 -0300 V4L/DVB (4924): Fix some bugs on usbvision due to the merge into one module Found the bug that prevented the driver from loading : a module param conflict between usbvision-i2c and usbvision-core (debug parameter). - correct the module param "debug" conflics in usbvision-i2c.c and usbvision-core.c - add some debug printouts in usbvision-core.c VDIOC_QBUF/VIDIOC_DQBUF - usbvision-core.c : add vb->field = V4L2_FIELD_NONE in VIDIOC_DQBUF Signed-off-by: Thierry MERLE Signed-off-by: Mauro Carvalho Chehab commit 6714b01263b06b2e7d054625486451a9fd8e03f4 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:31:01 2006 -0300 V4L/DVB (4923): Splitted usbvision cards from usbvison.h Having the cards description into a separated file makes easier to maintain and follows the same standard as other drivers. Signed-off-by: Mauro Carvalho Chehab commit 781aa1d1ab7ba13314af0af6c5d70c0eb0e96bf4 Author: Mauro Carvalho Chehab Date: Mon Dec 4 08:30:53 2006 -0300 V4L/DVB (4922): Add usbvision driver This patch adds usbvision into V4L/DVB HG tree. Usbvision driver is a GPL driver, made by: Joerg Heckenbach and Dwaine Garden V4L2 migration made by: Thierry Merle Kconfig/Makefile scripts by: Mauro Carvalho Chehab Signed-off-by: Joerg Heckenbach Signed-off-by: Dwaine Garden Signed-off-by: Thierry Merle Signed-off-by: Mauro Carvalho Chehab commit 2a893dea0f186efc2eb4bcdaee145b20c87d239d Author: Hartmut Birr Date: Sun Dec 3 21:08:08 2006 -0300 V4L/DVB (4921): Budget-av, budget-ci: Fix MC1 register programming Remove bogus read during MC1 programming. A '1' bit could never be cleared using the old code. Use MASK_xx macros. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 97a2cf05c409f0f73346d3d258b643c782879c77 Author: Hartmut Birr Date: Sun Dec 3 10:49:47 2006 -0300 V4L/DVB (4919): Budget-ci: Use SAA7146_IER_ENABLE/DISABLE to enable or disable a hardware interrupt Use SAA7146_IER_ENABLE/DISABLE to enable or disable a hardware interrupt. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 740cf9e15e5b2274841ee9e6d6d717e37b3f31cf Author: Hartmut Birr Date: Fri Nov 3 15:34:18 2006 -0300 V4L/DVB (4918): Budget-av: Add delay for frontend power-on Added a delay to give the frontend a little bit time for power-on. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 4207700d9b238c2db1bcba47a23251c6024687b6 Author: Oliver Endriss Date: Fri Nov 3 15:13:52 2006 -0300 V4L/DVB (4917): Saa7146: Convert SAA7146_IER_{DIS,EN}ABLE macros to inline functions Convert SAA7146_IER_{DIS,EN}ABLE macros to inline functions. Fixes a problem with macro expansion (reported by C.Y.M). Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 00c4cc67512ada1d195b8bf3ef1db1d6b3951605 Author: Oliver Endriss Date: Wed Nov 1 13:09:51 2006 -0300 V4L/DVB (4916): Av7110,budget,budget-ci,budget-av: Use interrupt mode for I2C transfers Use interrupt mode for I2C transfers. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 35e55255bbe1775c3cdb5d9cff494d72d5a49bf3 Author: Hartmut Birr Date: Wed Nov 1 13:01:42 2006 -0300 V4L/DVB (4915): Saa7146: Add timeout protection for I2C interrupt Add a timeout to the wait for the i2c-interrupt. The timeout prevents from endless waiting if the interrupt gets lost. Signed-off-by: Hartmut Birr Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 88bbdf74fcfa7ed1fd1a3c825ee5575752344326 Author: Hartmut Birr Date: Wed Nov 1 12:46:32 2006 -0300 V4L/DVB (4914): Saa7146: Protect access to the IER register by a spinlock Protect the access to the IER register of the SAA7146 by the device spinlock. I2C transfers may use interrupt mode now. Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 122b5dbea6fa3727fc99fbdc2cf5e4d9b8a5bb00 Author: Hans Verkuil Date: Sun Dec 3 06:45:07 2006 -0300 V4L/DVB (4913): Fix broken TUNER_LG_NTSC_TAPE radio support The TUNER_LG_NTSC_TAPE is identical in all respects to the TUNER_PHILIPS_FM1236_MK3. So use the params struct for the Philips tuner. Also add this LG_NTSC_TAPE tuner to the switches where radio specific parameters are set so it behaves like a TUNER_PHILIPS_FM1236_MK3. This change fixes the radio support for this tuner (the wrong bandswitch byte was used). Thanks to Andy Walls for finding this bug. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c8f5b2f5607e78c61df229259c539a5d9488a013 Author: Jonathan Corbet Date: Fri Dec 1 15:50:59 2006 -0300 V4L/DVB (4909): Add s/g_parm to cafe_ccic Add s/g_parm support allowing applications to tweak the frame rate. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit a66d23368068d6027feedc010304d510e6d1fe56 Author: Jonathan Corbet Date: Fri Dec 1 15:37:49 2006 -0300 V4L/DVB (4908): Remove the fake RGB32 format from cafe_ccic Remove RGB32, useful for debugging, but with no place in production. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit bf5dbed6b499787809c78710b209efc76939592b Author: Mauro Carvalho Chehab Date: Fri Dec 1 12:39:46 2006 -0300 V4L/DVB (4901): Improve debug msgs to show fourcc and buffer length on video_ioctl2 Signed-off-by: Mauro Carvalho Chehab commit 177aaaf826856cd8c82e790cf125186b5634f492 Author: Thomas Genty Date: Wed Nov 29 21:57:24 2006 -0300 V4L/DVB (4898): Saa7134: add support for remote control of Hauppauge HVR1110 This patch adds support for the remote control bundled with the Hauppauge HVR1110 Signed-off-by: Thomas Genty Signed-off-by: Nickolay V. Shmyrev Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 4be3276a66c09e68a539253ce660913bb2585984 Author: Michael Krufky Date: Fri Nov 24 17:04:24 2006 -0300 V4L/DVB (4896): Dvb-usb: fix vendor ID ordering The vendor IDs in this file were all in alphabetical order except for this one. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit c28089a65ca03890db120ee2bf6a7eb0cf603817 Author: Michael Hunold Date: Tue Nov 28 08:14:44 2006 -0300 V4L/DVB (4895): Accept tuners on saa7146 i2c bus only on address 0x60. Signed-off-by: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit a08cc44ec12e0a994ee85ba365315dbee982d6a7 Author: Michael Hunold Date: Tue Nov 28 08:13:58 2006 -0300 V4L/DVB (4894): Mxb: fix to load the proper i2c modules Change order of module requests, so that tuner module is loaded at the end, because the tuner module probes multiple i2c addresses and might grab an i2c address that is not a tuner but something else. Signed-off-by: Michael Hunold Signed-off-by: Mauro Carvalho Chehab commit 036171e75ef866b4fd8650c5b890359482ba2a4c Author: Andrew Morton Date: Tue Nov 28 05:09:22 2006 -0300 V4L/DVB: Dvb-budget ci fix drivers/media/dvb/ttpci/budget-ci.c:220:6: warning: "LINUX_VERSION_CODE" is not defined drivers/media/dvb/ttpci/budget-ci.c:220:28: warning: "KERNEL_VERSION" is not defined drivers/media/dvb/ttpci/budget-ci.c:220:42: error: missing binary operator before token "(" Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 0b6389ff16d57d8706bb516bde0211207aae73af Author: Michael Krufky Date: Tue Nov 28 02:35:02 2006 -0300 V4L/DVB (4891): Lgdt330x: fix broken whitespace Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1b5b32bf877d6f77d7eb6580d43623cc113a3b60 Author: Michael Krufky Date: Tue Nov 28 02:16:20 2006 -0300 V4L/DVB (4890): Lgdt330x: fix signal / lock status detection bug In some cases when using VSB, the AGC status register has been known to falsely report "no signal" when in fact there is a carrier lock. The datasheet labels these status flags as QAM only, yet the lgdt330x module is using these flags for both QAM and VSB. This patch allows for the carrier recovery lock status register to be tested, even if the agc signal status register falsely reports no signal. Thanks to jcrews from #linuxtv in irc, for initially reporting this bug. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit af249982dc385b18ea340323f50f585e989b76e5 Author: Adrian Bunk Date: Sun Nov 26 09:47:07 2006 -0300 V4L/DVB (4887): Remove the broken VIDEO_ZR36120 driver The VIDEO_ZR36120 driver has: - already been marked as BROKEN in 2.6.0 three years ago and - is still marked as BROKEN. Drivers that had been marked as BROKEN for such a long time seem 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: Mauro Carvalho Chehab commit d0d30c03ed7d51bef6e40805988134bdd7042740 Author: Hans Verkuil Date: Sat Nov 25 09:45:50 2006 -0300 V4L/DVB (4886): Minor coding style improvements Remove coding style inconsistencies. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit e457579079642924da621e92cb39d8fb90a4d5a7 Author: Andrew de Quincey Date: Fri Nov 24 12:58:42 2006 -0300 V4L/DVB (4884): Remove stray IR code left from patchset This caused compilation to fail - completely replaced by new style functions, so can be removed. Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 9abec6189aa8b6659222544bf893158fc96e8822 Author: Thomas Kaiser Date: Wed Nov 22 18:15:19 2006 -0300 V4L/DVB (4883): Fix TD1316 tuner for DVBC If your device is using the philips tda1316 tuner, i think there is a problem in setting the correct Band. 162 MHz and above should be band 2 (Mid-Band). But in dvbc_philips_tdm1316l_tuner_set_params band 1 is set for frequencies below 200 MHz. Signed-off-by: Thomas Kaiser Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 59236d46dab429646b023026ac92d9e8c732c18a Author: David Hardeman Date: Sat Dec 2 21:16:06 2006 -0200 V4L/DVB (4882): budget-ci IR: make debounce logic conditional Change the debounce logic so that it is not used at all unless the debounce parameter has been set. This makes for a much "snappier" remote for most users as there is no timeout to wait for (the debounce logic has a 350ms timer for the next repeat, but with the RC5 protocol, one event per ~110ms is possible) Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit b5471a27b48801507c5bd0eadd83730230515016 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4881): budget-ci IR: add IR debugging information This adds a ir_debug parameter which is useful in tracking down IR decoding problems. Based on Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 64741b70cf2030ffe017e5ed731620b4a4570f77 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4880): budget-ci IR: decode rc5 device byte Decode the RC5 device byte as well as the command byte. Introduce a parameter to set the device events to listen for. Default to try to auto-detect the proper device code, otherwise, listen to any device as the old code did. Based on Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 2520fffd8b7a312e77009414d3201c9751d6448c Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4879): budget-ci IR: integrate with ir-common This converts the budget-ci driver so that it uses ir-common for some of its IR processing. In particular, the keymap for the Nova-T (sub 13c2:1011) is switched to the Hauppauge grey/black keymap, of which the keys on the supplied R808 remote control form a subset. The old budget-ci keymap is moved to ir-keymaps.c and is used for other remotes. The debounce logic for buggy remotes (i.e. Zenith) is made conditional the new debounce parameter and defaults to off (so that repeat keypresses aren't ignored for all working remotes). Some parts are based on Darren Salt's dvb-ir patchset. Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit ee579bc9332ef8a67e20f512e7bc91e3efb92225 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4878): budget-ci IR: be more verbose in case of init failure Trivial change to help the user understand what went wrong. Taken from Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 8cc532ef5bf1230ed6345aebe5bd11ea8567ba52 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4877): budget-ci IR: improve error checking in init and deinit functions Improve the error checking in the IR init and deinit functions. Based on Darren Salt's dvb-ir patchset. Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 5cc8ae000233e8dad667edcdbb921668c317b627 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4876): budget-ci IR: support EVIOCGPHYS This patch adds a 'phys' string, of the same form as used by various other DVB cards' IR drivers, for access by any program which uses the EVIOCPHYS ioctl or may read /sys/class/input/*/phys (e.g. udev) to identify input device nodes. Taken from Darren Salt's dvb-ir patchset. Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit dd2f398ccb73530a99582e972aa57e3ed2fd73c6 Author: David Hardeman Date: Sat Dec 2 21:16:05 2006 -0200 V4L/DVB (4875): budget-ci IR: groundwork for following patches This patch lays down some groundwork for later budget-ci patches. The bulk of this consists of moving a few members into a new struct and renaming a few of them. It also allocates extra space for the device name (the "name" field in /proc/bus/input/devices and in the relevant sysfs dir) to avoid truncation and uses snprintf rather than sprintf in case the extra space shouldn't be enough. Taken from Darren Salt's dvb-ir patchset Signed-off-by: Darren Salt Signed-off-by: David Hardeman Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 5cfbacd0d3ee0c9f68e1ad3f24c4e1f879cc47a7 Author: Hartmut Hackmann Date: Tue Nov 21 19:59:27 2006 -0300 V4L/DVB (4872): Saa7134-alsa improvements The change does the following: - At device open, it sets the recording source to the current input instead of LINE2. So it is no longer necessary to set the recording source with a mixer application. - Connects the mixer volume control to the input sensitivity selection of the analog sound inputs. This allows only one 6db step. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 444dadc4391b978b43a778a5a56dfaed1c4ddc61 Author: Mauro Carvalho Chehab Date: Tue Nov 21 11:32:12 2006 -0300 V4L/DVB (4871): Fix i2c dependencies of VIDEO_TVEEPROM and VIDEO_TUNER Signed-off-by: Mauro Carvalho Chehab commit fd83e2487e9149d8cd7c8b1e7d6f0e5231b79f8a Author: Michael Krufky Date: Mon Nov 20 17:03:48 2006 -0300 V4L/DVB (4869): Lgh06xf: use return value of dvb_pll_configure() Use return value of dvb_pll_configure() to fill priv->frequency In lgh06xf_set_params: Rename int variable "err" to "result". Remove needless calculation of the set frequency, since this value is now being returned by dvb_pll_configure(). Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89faeefcf875c16d8923eaed50bd57731c221bcc Author: Michael Krufky Date: Mon Nov 20 16:45:29 2006 -0300 V4L/DVB (4868): Dvb-pll: return frequency set by dvb_pll_configure() This patch removes some duplicated code by returning the frequency set by dvb_pll_configure(), instead of recalculating it again in dvb_pll_set_params() and dvb_pll_calc_regs(). If the return value of dvb_pll_configure is less than zero, it is an error code. Otherwise, the return value is the frequency actually set by the function. Signed-off-by: Michael Krufky Acked-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit 47ae9ae895a5228e7a3ca47b1c9ab00a3f641923 Author: Michael Krufky Date: Mon Nov 20 16:38:42 2006 -0300 V4L/DVB (4867): Whitespace cleanup - adhere to 80-column limit - replace some spaces with tabs Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit bc2e3913c786d7387e21ee0818c1a3b66a571703 Author: Patrick Boettcher Date: Sat Dec 2 21:16:04 2006 -0200 V4L/DVB (4863): Adding support for Pinnacle PCTV 400e DVB-S Adding support for Pinnacle PCTV 400e DVB-S. The module name is called ttusb2, because it this device (and other Pinnacle devices) is using the USB-protocol originally used by Technotrend device. I'm suspecting Technotrend as the device-designer. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8949f1a2424a38a4080a2a3561a2698f215a7c4a Author: Patrick Boettcher Date: Tue Nov 21 05:35:10 2006 -0300 V4L/DVB (4864): TDA826x I2C read with 2 messages Added a dump I2C message to the TDA826x-driver to fix I2C read for identification with ttusb2-driver. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 499c18698990463b84c23ddc98104517fe759ee8 Author: audetto@tiscali.it Date: Mon Nov 20 18:27:44 2006 -0300 V4L/DVB (4862): Fixes uninitialized variables passed to VIDIOC_G_FBUF. Signed-off-by: Andrea A Odetti Signed-off-by: Mauro Carvalho Chehab commit e75f9cee32827853fc2f9d1ceb6352e3edc33e9d Author: Mauro Carvalho Chehab Date: Mon Nov 20 13:19:20 2006 -0300 V4L/DVB (4861): Remove the need of a STD array for drivers using video_ioctl2 video_ioctl2 will auto-generate standard entries at ENUM_FMT. Also, now, a driver may return a subset of the video array at the return, to be stored as the current_norm. For example, a driver may ask for V4L2_STD_PAL. At return, driver may change it to V4L2_STD_PAL_B. This way, a futher call to G_STD will return the exact detected video std. Signed-off-by: Mauro Carvalho Chehab commit 207705cd7f82b9f160c6ed552d5788a823701fd1 Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:13:25 2006 -0300 V4L/DVB (4860): Optimization of v4l1 handling Signed-off-by: Mauro Carvalho Chehab commit 7964b1b1c27dea88eb89b10f774893ec11cf973d Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:10:43 2006 -0300 V4L/DVB (4859): Fix initializations on some video_ioctl2 handlers Signed-off-by: Mauro Carvalho Chehab commit 2aa92ffd58493887adde850fe510031e48f12bac Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:10:04 2006 -0300 V4L/DVB (4858): Fix: implement missing VIDIOCSTUNER on v4l1-compat module Signed-off-by: Mauro Carvalho Chehab commit c6aeb11127a8a4266d613563f737a1d60cfae628 Author: Mauro Carvalho Chehab Date: Mon Nov 20 12:06:54 2006 -0300 V4L/DVB (4857): Cleans some ioctl structs before calling V4L2 counterpart Signed-off-by: Mauro Carvalho Chehab commit 61cebe9db7992c2c6ccb91f179f56008e74c2de1 Author: Andrew de Quincey Date: Sun Nov 19 14:10:59 2006 -0300 V4L/DVB (4855): Support KNC1 DVBC cards with alternative tda10021 i2c address For some reason, some of these cards have the tda10021 configured to a different address. This adds support for such cards Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit b07b4783fb30dee8c542fc76ed8993108d46d6aa Author: Dmitry Torokhov Date: Mon Nov 20 10:23:04 2006 -0300 V4L/DVB (4854): Handle errors from input_register_device() Also sprinkled some input_sync() throughout the code. Acked-by: Ricardo Cerqueira Acked-by: Oliver Endriss Acked-by: Andrew de Quincey Signed-off-by: Dmitry Torokhov Signed-off-by: Mauro Carvalho Chehab commit ff67c614e23bf5a3c16968e2c42ab442121c4beb Author: Mike Isely Date: Sun Nov 19 20:50:31 2006 -0300 V4L/DVB (4852): Pvrusb2: Fix horizontal resolution setting problem for 24xxx devices Fix long-standing issue which prevented use of 24xxx devices at any horizontal resolution other an 720. The problem is in the cx25840 module, if no attempt is made to initialize VBI there. Such a thing should not be needed, but the pvrusb2 driver is updated now to deal with this. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit fa4cdd0dc4c066a1a4df19005912bf453dc37b6d Author: Michael Krufky Date: Sun Nov 19 22:58:19 2006 -0300 V4L/DVB (4850): Lgh06xf: fix compiler error when not selected fix build error: lgh06xf.h:29: error: syntax error before '{' token Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 2213918a99d6292767b6d4aae3e3f4b0520528a5 Author: Michael Krufky Date: Sun Nov 19 19:49:11 2006 -0300 V4L/DVB (4847): Drivers/media/dvb/frontends: kfree() cleanups We don't have to check for NULL before kfree() Acked-by: Andrew de Quincey Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 76db93d03f1e9a9a3371f787ae30780cdf10400c Author: Michael Krufky Date: Sun Nov 19 19:45:26 2006 -0300 V4L/DVB (4846): Create new lgh06xf atsc tuner module This patch creates a new atsc tuner module for the LG TDVS-H06xF ATSC tuners, called lgh06xf. The purpose of this change is to reduce some duplicated code, and to allow the lgh06xf tuner code to take advantage of dvb_attach(). As a side effect, the dependency of dvb-bt8xx on dvb-pll has been removed, since the lgh06xf module itself will use dvb-pll, while remaining optional for the dvb-bt8xx driver through the use of DVB_FE_CUSTOMISE Acked-by: Andrew de Quincey Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f9a7615686a854cb94b5252e66b836a0a539ad9e Author: Jonathan Corbet Date: Sun Nov 19 19:04:55 2006 -0300 V4L/DVB (4842): Updated camera driver A couple of Cafe driver fixes, and support for the hue and saturation controls. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 96389bf5153d19151edc565b397363e122cab4a7 Author: Mauro Carvalho Chehab Date: Sun Nov 19 05:45:52 2006 -0300 V4L/DVB (4841): Added a newer PCI ID to CARDLIST.cx88 Signed-off-by: Mauro Carvalho Chehab commit 2d90fa4412549faa3830789ca606b77827cde827 Author: Jelle Foks Date: Sat Nov 18 15:47:15 2006 -0300 V4L/DVB (4839): Add support ptv-305 Add subvendor/device of the ADSTech Instant TV Deluxe PTV-305 to the card list as card=45 (KWORLD_HARDWARE_MPEG_TV_XPERT). Signed-off-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 49c6b46a05ade5e1c572431844b77755527a152c Author: Jelle Foks Date: Sat Nov 18 15:47:11 2006 -0300 V4L/DVB (4838): Fix cx88-blackbird null pointer Allows 'debug=1' for cx88-blackbird module (dev needs to be valid for dprintk). Fixes a null-pointer dereference when using debug=1. Signed-off-by: Jelle Foks Signed-off-by: Mauro Carvalho Chehab commit 1f683cd8bc8512c02a7d1b8358d71937d4c5134b Author: Nico Sabbi Date: Wed Nov 15 22:06:56 2006 -0300 V4L/DVB (4836): Added support for both DVB frontends of the Lifeview Trio This card (like some others) supports both, DVB-T and a DVB-S. The patch adds an insmod option to select the frontend: use_frontend=0 -> DVB-T use_frontend=1 -> DVB-S Signed-off-by: Nico Sabbi Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 550a9a5e5f8086ae410832f134a5d80b9bd7fdb6 Author: Hartmut Hackmann Date: Wed Nov 15 21:31:54 2006 -0300 V4L/DVB (4835): Added support for the Terratec Cinergy HT PCMCIA module This is a hybrid cardbus module. Besides the card support, i modified the definition names for AGC and GPIO of the tda10046. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit ab33668f8e1bd686ebc87d51be3a0cf99a267a9f Author: Adrian Bunk Date: Fri Nov 17 11:59:22 2006 -0300 V4L/DVB (4834): Cafe_ccic.c: make a function static This patch makes the needlessly global cafe_v4l_dev_release() static. Signed-off-by: Adrian Bunk Signed-off-by: Mauro Carvalho Chehab commit c01d1e486a0fc489a495ea304616484bcbcf0018 Author: Thomas Hamm Date: Fri Nov 17 07:12:58 2006 -0300 V4L/DVB (4833): Patch for SATELCO EasyWatch PCI (DVB-C) Add support for Satelco EasyWatch PCI DVBC cards Signed-off-by: Thomas Hamm Signed-off-by: Andrew de Quincey Signed-off-by: Mauro Carvalho Chehab commit ed5801477addfbf5a40408866f5b2837e100451f Author: Mauro Carvalho Chehab Date: Thu Nov 16 11:02:28 2006 -0300 V4L/DVB (4829): v4l2_type_names table is incomplete Sliced VBI types are missing at the tables. Fixing it. Signed-off-by: Mauro Carvalho Chehab commit 5d9d171aaed2e0b1c5caac96efd4d4150eec97e1 Author: Mauro Carvalho Chehab Date: Tue Nov 14 12:40:07 2006 -0300 V4L/DVB (4825): FIX bug 5760: audio were not working on some bttv drivers This fixes a bug introduced by the -git commit: bbf7871e1cd58b89f77b1152f457250c6e94b614 It seems that some bttv apps can't work fine when audioset=0. Thanks to Christian Casteyde for pointing this. Signed-off-by: Mauro Carvalho Chehab commit ced8fecaecba6aa6b092abeb0c9e51deeeac9247 Author: Jose Carlos Garcia Sogo Date: Tue Nov 14 05:01:47 2006 -0300 V4L/DVB (4823): Add alternative device ID (0xb808) for AverMedia AverTV Volar dongles. Add alternative device ID (0xb808) for AverMedia AverTV Volar dongles. Signed-off-by: Jose Carlos Garcia Sogo Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f9aeba45000423cdf1211736592cb02c25f28437 Author: Stefan Traby Date: Sun Nov 12 13:02:51 2006 -0300 V4L/DVB (4819): Dib0700: Add support for new revision of Nova-T Stick Added support for Nova-T Stick with USB-pid: 0x7060 Signed-off-by: Stefan Traby Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 9292e91b51dfd6238704519b2dc8097c7232941f Author: Paolo Ciarrocchi Date: Sun Nov 12 14:19:15 2006 -0300 V4L/DVB (4813): Added information about Technisat Sky2Pc cards Acked-by: Daniele Vallini Signed-off-by: Paolo Ciarrocchi Signed-off-by: Mauro Carvalho Chehab commit f2520106e78b250c2c4662608cb8db1169932a2d Author: Hans Verkuil Date: Sun Nov 12 09:28:46 2006 -0300 V4L/DVB (4812): Detect presence of IR receiver/IR transmitter in tveeprom Thanks to input from Steven Toth from Hauppauge the tveeprom module has been extended to detect the presence of an IR transmitter (aka IR-blaster). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit c6e53daffc2c6e66069304b3970256744074abec Author: Thomas Genty Date: Sun Nov 5 14:17:30 2006 -0300 V4L/DVB (4806): Saa7134: add support for Hauppauge WinTV-HVR1110 DVB-T/Hybrid This patch adds support for the Hauppauge WinTV-HVR1110 DVB-T/Hybrid Signed-off-by: Thomas Genty Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 8637a8759585b97ec1d54ff4a4f33f34be4f5b1c Author: Michael Krufky Date: Wed Nov 8 16:47:32 2006 -0300 V4L/DVB (4805): Dib0700: Add support for Leadtek Winfast DTV Dongle (STK7700P based) This patch adds support for the new, STK7700-based revision of the Leadtek Winfast DTV Dongle. Signed-off-by: Michal CIJOML Semler Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 111f33564e19b2b5f70e3df9a8f92c08c1c91fd9 Author: Jonathan Corbet Date: Sat Nov 4 09:26:00 2006 -0300 V4L/DVB (4798): OmniVision OV7670 driver This patch adds a V4L2 driver for the OmniVision OV7670 camera. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit d905b382d797a213e15868cbf3204f50ed52e30b Author: Jonathan Corbet Date: Sat Nov 4 09:25:53 2006 -0300 V4L/DVB (4797): Marvell 88ALP01 "cafe" driver A driver for the Marvell M88ALP01 "CAFE" CMOS integrated camera controller. This driver has been renamed "cafe_ccic" since my previous patch set. Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 9c4dfadbde3cfa78b92c28597125b8c41d36ffd0 Author: Jonathan Corbet Date: Sat Nov 4 09:22:27 2006 -0300 V4L/DVB (4796): A couple of V4L2 defines needed by Cafe Camara driver Two defines for V4L2, needed by the Cafe camera driver: 1) Add the RGB444 image format 2) Add the "init" internal command which is separate from "reset". Signed-off-by: Jonathan Corbet Signed-off-by: Mauro Carvalho Chehab commit 589d069cfe7f2bb37c4836641ddffe9e2b51e74e Author: Andrew Morton Date: Thu Nov 2 19:45:13 2006 -0300 V4L/DVB (4794): Dvb: dibx000_common-fix Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit cbb94521cff24c98c2dbee28fb95e007c6bcaa43 Author: Hartmut Hackmann Date: Mon Oct 30 20:00:16 2006 -0300 V4L/DVB (4792): Add support for the Compro Videomate DVB-T200A This board has the same PCI ID as the T200, so the exact board type is determined from the eeprom. The original patch was provided by Francis Barber Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit a75ec3f033625fb02ccc855fcd2e322275633fc4 Author: Hartmut Hackmann Date: Mon Oct 30 19:56:59 2006 -0300 V4L/DVB (4791): Added autodetected flag to the saa7134_dev structure In case the exact board type needs to be determined by probing or evaluating the eeprom, this flag allows to still set the board type via the card=xx insmod option. This is an extract of a patch by Francis Barber. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 19be685a4a5475ecdbbbb579458eeda890d27a96 Author: Trent Piepho Date: Sun Oct 29 13:35:39 2006 -0300 V4L/DVB (4789): Lgdt330x: SNR and signal strength reporting Update the SNR calculations to use the new dvb_math log function, and add SNR calculations for all supported modulations for both lg dt3302 and dt3303. The QAM equations don't appear in the dt3302 datasheet, so the ones from the dt3303 datasheet were used. SNR returned is the actual value in dB as 8.8 fixed point. Reporting of real signal strength isn't supported, so rather than return 0, which confuses some software and users, a re-scaled SNR value is returned. Code originally by Rusty Scott. Signed-off-by: Trent Piepho Signed-off-by: Rusty Scott Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit dbb2e6392b4fe350e549cdc2d42cebf3b3574a6a Author: Christoph Haubrich Date: Tue Oct 31 00:29:30 2006 -0300 V4L/DVB (4788): Tda8083: support for uncorrectable blocks and bit error rate Copied routines for uc blocks and BER from the removed tda80xx.c into tda8083.c. Signed-off-by: Christoph Haubrich Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit bf11f5e944b3bb7d310aff041a1664fb80a82078 Author: Patrick Boettcher Date: Thu Oct 19 08:17:43 2006 -0300 V4L/DVB (4778): Fixed device count Forgot to increase the device count for the STK7700P-devices Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 0ce215e1f0d40702d6233029d234293754610fd7 Author: Henning Schroeer Date: Thu Oct 19 07:58:22 2006 -0300 V4L/DVB (4776): Adding USB IDs for Uniwill STK7700P-ref-design Adding USB IDs for Uniwill STK7700P-ref-design Signed-off-by: Henning Schroeer Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 49a1376cf47b644f31d0fb2532054183fcec6fc8 Author: Tomi Koivulahti Date: Thu Oct 19 07:27:19 2006 -0300 V4L/DVB (4775): [patch] Add Compro USB IDs This patch adds Compro Videomate U500 to supported devices. Signed-off-by: Tomi Koivulahti Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit d92532d9860663cb39828e18a3e6aed27821f2bf Author: Patrick Boettcher Date: Wed Oct 18 08:35:16 2006 -0300 V4L/DVB (4773): Misc fixes for DiB3000 and DiB7000 This patch contains several fixes for the autosearch algorithm and other small ones. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit a75763ffff4175bd8c115c217a39fbf445612aae Author: Patrick Boettcher Date: Wed Oct 18 08:34:16 2006 -0300 V4L/DVB (4772): Add support for DiBcom DiB7000PC This patch contains support for the DiB7000PC-driver. Signed-off-by: Francois KANOUNNIKOFF Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 8364681766cc18b948cf9d7bd46d1b92f343743b Author: Hartmut Hackmann Date: Thu Oct 12 20:38:51 2006 -0300 V4L/DVB (4769): Added support for a ASUSTEK P7131 Dual DVB-T variant This card has no firmware eeprom. The old version still should not need a firmware file due to an undocumented feature of the TDA10046. The patch also includes Hermann Pitton's proposal for improved antenna switch handling Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7da6894a96ebbc1505763213c42b8fcf66aa3d90 Author: Hermann Pitton Date: Thu Oct 12 20:00:56 2006 -0300 V4L/DVB (4768): Add the Asus P7131 Dual hybrid to the new tda8290_i2c_gate_ctrl The gate control was moved to a separate function. Signed-off-by: Hermann Pitton Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit eb591af3a3703cb79e3efb5ad87b36dcd32b0712 Author: Hartmut Hackmann Date: Thu Oct 12 19:46:16 2006 -0300 V4L/DVB (4767): Make Remote control of the Pinnacle PCTV 310i work The remote control works, but we still need a better keymap. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 69ea31e7debdefcf1412e8d590ae9bd90cf9253f Author: Patrick Boettcher Date: Tue Oct 17 18:28:14 2006 -0300 V4L/DVB (4766): Add working dib7000m-module First working version of the dib7000m-driver. This commit also makes the Hauppauge NOVA-T Stick working. Signed-off-by: Francois Kanounnikoff Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 3cc2e4c3a137075ee66e2d4ce95a95ba153bd7b9 Author: Luke Deller Date: Tue Oct 17 18:28:10 2006 -0300 V4L/DVB (4765): Dvb-usb/vp7045.c patch for extra key Add support for more keys on the remote control included with the DigitalNow tinyUSB2 DVB-T Receiver. Signed-off-by: Luke Deller Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit cc75aede1b1ce29a478911ad7dadee94ecd45bbf Author: Mike Isely Date: Sun Oct 15 21:35:14 2006 -0300 V4L/DVB (4763): Pvrusb2: Implement IR reception for 24xxx devices Unlike 29xxx devices, the 24xxx model series does not have a dedicated I2C device for reception of IR codes. Instead IR is handled directly by the FX2 microcontroller and the results are communicated via commands to the FX2. Rather than implement a whole new IR reception pathway for 24xxx devices, this changeset instead emulates the presence of the 29xxx device's I2C based IR receiver by intercepting commands to that chip and issuing appropriate FX2 commands to do the needed action. This has the result of allowing all the usual IR frameworks (ir-kbd-i2c or lirc) to continue working unmodified for 24xxx devices. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit c85f49d49f437605550322bd2739af18230cf85b Author: Amit Choudhary Date: Tue Oct 17 11:39:06 2006 -0300 V4L/DVB (4761): Stv680.c: check kmalloc() return value. Signed-off-by: Amit Choudhary Signed-off-by: Mauro Carvalho Chehab commit fe16af26c849eb75134855c7be22352f1a15844c Author: Michael Krufky Date: Mon Oct 16 20:47:14 2006 -0300 V4L/DVB (4759): Cx88: use external adc for rca audio inputs on the ASUS PVR-416 For the ASUS PVR-416, the external adc must be used for the rca audio inputs, but television / radio inputs use the internal adc. Thanks to Alex Deucher for lending his card to me. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit cc0f3f51357f46c08e2f34a7a22df1100f082de5 Author: Michael Krufky Date: Mon Oct 16 16:53:01 2006 -0300 V4L/DVB (4758): Cx88: use external adc for svideo/composite For the KWorld HardwareMpegTV XPert, the external adc must be used for svideo / composite inputs, but television / radio inputs use the internal adc. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f24546a95ade39b9cd292f06f92232becbbf35ae Author: Michael Krufky Date: Mon Oct 16 16:51:11 2006 -0300 V4L/DVB (4757): Cx88: determine whether or not to use external adc Some cx88-blackbird boards use an external adc, but not necessarily for all inputs. Thus, this needs to be configurable on the card level for each input. This patch allows for the usage of the external adc to be determined by a bit setting in the cx88_input struct for cards based on the cx88 blackbird design. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5b26c82f959e72cbd642ef4039a356ff8385cd58 Author: Michael Krufky Date: Mon Oct 16 16:07:51 2006 -0300 V4L/DVB (4756): Cx88: cleanups - fixed whitespace, replaced leading spaces with tabs - moved .mpeg descriptor below input settings Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 5b9ed286759eb1c805f344398ee2c57191d7e2bd Author: Michael Krufky Date: Sun Oct 15 14:51:08 2006 -0300 V4L/DVB (4754): Cxusb: update copyright and author email address Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f71a56c17225392c873225f2d567f5caddc6b963 Author: Michael Krufky Date: Fri Oct 13 21:55:57 2006 -0300 V4L/DVB (4753): Cxusb: rename cxusb_lgdt3303_tuner_attach cxusb_lgdt3303_tuner_attach were renamed to cxusb_lgh064f_tuner_attach Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 01451e722793f191f6e13c5150dd8664f4439d17 Author: Patrick Boettcher Date: Fri Oct 13 11:34:46 2006 -0300 V4L/DVB (4749): Fixed DVB-USB-Adapter indention While converting everything to DVB-USB-Adapter, there was a wrong indention. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 019391e426266a346ac2f1b3d3c70c26b482ff31 Author: Steven Toth Date: Fri Oct 6 21:29:25 2006 -0300 V4L/DVB (4736): Cx88-blackbird module is rejected during probe. If the last cx88 board probed is not backbird based, and a previous board was, the entire module is unloaded leading to an oops during mpeg_open on the first /dev/videoN device. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 3ac706d2f77fd7bbef037a6137d08a72d7dc8334 Author: Mikhail Fedotov Date: Fri Oct 6 20:23:47 2006 -0300 V4L/DVB (4728): Add support for AverMedia AverTV Studio 507 This is just an additional analog board configuration. Signed-off-by: Mikhail Fedotov Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 587d2fd7f296dfb5ccf348e48d6d751bcc6a423a Author: Hartmut Hackmann Date: Fri Oct 6 19:13:50 2006 -0300 V4L/DVB (4726): Add support for Pinnacle 310i The driver supports analog TV, radio and DVB-T. It is based on the preliminary patch by Pierluigi Rolando. Signed-off-by: Hartmut Hackmann Signed-off-by: Mauro Carvalho Chehab commit 7343826370dd5fe14a2dcec20968f2d3a4431ce6 Author: Steven Toth Date: Thu Oct 5 21:28:24 2006 -0300 V4L/DVB (4723): Bugfix: Select the correct cx8802_dev when enumerating by CX88_MPEG_type A bug in cx8802_get_driver() meant that in multiboard environments, when testing frontends on the non primary board, the incorrect device was returned resulting in "Unsupported value in .mpeg.." messages. Depending on the electrical design of the hardware (serial, parallel, rising/falling edge detect), transport would still be delivered and the problem went unnoticed. This patch ensures the correct instance of cx8802_dev is returned. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 6c5be74c86f102c2d4e123bc51d2fa93155fd794 Author: Steven Toth Date: Sat Dec 2 21:15:51 2006 -0200 V4L/DVB (4676): Dynamic cx88 mpeg port management for HVR1300 MPEG2/DVB-T support. A series of patches to change the cx88 framework to allow the PCI mpeg port to be shared dynamically between different types of drivers or applications. This patch changes the cx88-dvb and cx88-blackbird drivers to become 'sub drivers' of a higher single cx88-mpeg driver. The cx88-mpeg driver is a superset of the previous cx88-mpeg/blackbird drivers and now owns the IRQ. cx88-dvb/blackbird now become mini drivers, registering themselves with cx88-mpeg through a standard interface with callbacks. Sub drivers request access to hardware via the cx88-mpeg driver. In turn the cx88-mpeg driver determines whether the hardware is busy and accepts or refuses the request, grant access using callbacks into the sub drivers. The net effect is that you are no longer able to tamper with the mpeg port from multiple different applications at the same time, potentially breaking a live mpeg2 hardware encoding or dvb stream. The mechanism extends to enable multiple dvb frontends to be registered and share the single resource. Signed-off-by: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit 91bb9be6ff4101652bb104f9f083f340e73ba6dd Author: Patrick Boettcher Date: Sat Dec 2 21:15:51 2006 -0200 V4L/DVB (4524): Initial commit for the DiB7000M-demod Initial commit for the driver for the DiB7000M COFDM demodulator. Signed-off-by: Francois KANOUNNIKOFF Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 902fc997adb7b917e1bd06ad6f2f0d38aa482578 Author: Trent Piepho Date: Wed Oct 4 20:33:51 2006 -0300 V4L/DVB (4722): Cx88: Add support for VIDIOC_INT_[SR]_REGISTER ioctls Add support for the advanced debugging ioctls, to allow access to the cx88 registers from userspace. Only i2c_id == 0 is supported, for access to the cx88 adapter itself. There isn't any support for access to I2C clients of the adapter. Most of them don't have R/W registers anyway, and its necessary to use i2c-dev to talk to them from userspace. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 45a9b83fe4cf91b13900dc665f526f7fd94d484c Author: Patrick Boettcher Date: Thu Oct 19 08:15:40 2006 -0300 V4L/DVB (4777): Correct AVerMedia Volar USB ID correct AVerMedia Volar USB ID Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit f0882589666440d573f657cb3a1d5f66f3caa157 Author: David S. Miller Date: Sun Dec 10 02:42:03 2006 -0800 [SPARC64]: Fix several kprobes bugs. - relbranch_fixup(), for non-branches, would end up setting regs->tnpc incorrectly, in fact it would set it equal to regs->tpc which would cause that instruction to execute twice Also, if this is not a PC-relative branch, we should just leave regs->tnpc as-is. This covers cases like 'jmpl' which branch to absolute values. - To be absolutely %100 safe, we need to flush the instruction cache for all assignments to kprobe->ainsn.insn[], including cases like add_aggr_kprobe() - prev_kprobe's status field needs to be 'unsigned long' to match the type of the value it is saving - jprobes were totally broken: = jprobe_return() can run in the stack frame of the jprobe handler, or in an even deeper stack frame, thus we'll be in the wrong register window than the one from the original probe state. So unwind using 'restore' instructions, if necessary, right before we do the jprobe_return() breakpoint trap. = There is no reason to save/restore the register window saved at %sp at jprobe trigger time. Those registers cannot be modified by the jprobe handler. Also, this code was saving and restoring "sizeof (struct sparc_stackf)" bytes. Depending upon the caller, this could clobber unrelated stack frame pieces if there is only a basic 128-byte register window stored on the stack, without the argument save area. So just saving and restoring struct pt_regs is sufficient. = Kill the "jprobe_saved_esp", totally unused. Also, delete "jprobe_saved_regs_location", with the stack frame unwind now done explicitly by jprobe_return(), this check is superfluous. Signed-off-by: David S. Miller commit 2f149228bb30ea08bfde740178f832d5c9081005 Author: David S. Miller Date: Sat Dec 9 15:41:53 2006 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 5ff42459af99427a393e3b576a77a900d43e730a Author: Mariusz Kozlowski Date: Fri Dec 1 20:19:59 2006 -0800 [SPARC64]: dma remove extra brackets Signed-off-by: Mariusz Kozlowski Signed-off-by: David S. Miller commit 35bca36cf7b20a73a89f87aab34b1b4dfff6bf08 Author: Alexey Dobriyan Date: Fri Dec 1 20:18:40 2006 -0800 [SPARC{32,64}]: Propagate ptrace_traceme() return value. ptrace_traceme() consolidation made ret = ptrace_traceme(); dead write. Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 982c2064d9a8b51404088d132489a25e2db807fd Author: Yan Burman Date: Thu Nov 30 17:13:09 2006 -0800 [SPARC64]: Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: David S. Miller commit d4accd60d23f3c8a576fd08b727f88096f42d445 Author: David S. Miller Date: Thu Nov 30 17:11:26 2006 -0800 [SPARC]: Check kzalloc() return value in SUN4D irq/iommu init. Signed-off-by: David S. Miller commit c80892d150a872b18cedfbf789211bfbebfc67ce Author: Yan Burman Date: Thu Nov 30 17:07:04 2006 -0800 [SPARC]: Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: David S. Miller commit a2c1e064c45f5126625121f58afa423e13c55efc Author: David S. Miller Date: Wed Nov 29 21:16:21 2006 -0800 [SPARC64]: Run ctrl-alt-del action for sun4v powerdown request. Signed-off-by: David S. Miller commit c449c38b5df1fad556ea210deb6cff3b27323e49 Author: David S. Miller Date: Tue Nov 28 20:18:05 2006 -0800 [SPARC64]: Unaligned accesses to userspace are hard errors. Userspace is forbidden from making unaligned loads and stores. So if we get an unaligned trap due to a {get,put}_user(), signal a fault and run the exception handler. Signed-off-by: David S. Miller commit 6e7726e16fb5e8f1169dbfcb75e321ac871af827 Author: David S. Miller Date: Sun Nov 19 14:38:25 2006 -0800 [SPARC64]: Call do_mathemu on illegal instruction traps too. To add this logic, put the VIS instruction check at the vis_emul() call site instead of inside of vis_emul(). Signed-off-by: David S. Miller commit 042cf50cfd0bc3e1769d8287465eb522e8a08ba6 Author: David S. Miller Date: Thu Nov 16 13:40:11 2006 -0800 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 10e267234cc0133bc9ed26bc34eb09de90c248c0 Author: David S. Miller Date: Thu Nov 16 13:38:57 2006 -0800 [SPARC64]: Add irqtrace/stacktrace/lockdep support. Signed-off-by: David S. Miller commit f0f32fccbffaaba8596d5c671153aa37aea9d4f0 Author: Randy Dunlap Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] x86-64: no paravirt for X86_VOYAGER or X86_VISWS Since Voyager and Visual WS already define ARCH_SETUP, it looks like PARAVIRT shouldn't be offered for them. In file included from arch/i386/kernel/setup.c:63: include/asm-i386/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefin= ed In file included from include/asm/msr.h:5, from include/asm/processor.h:17, from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/capability.h:45, from include/linux/sched.h:46, from arch/i386/kernel/setup.c:26: include/asm/paravirt.h:163:1: warning: this is the location of the previous= definition In file included from arch/i386/kernel/setup.c:63: include/asm-i386/mach-visws/setup_arch.h:8:1: warning: "ARCH_SETUP" redefin= ed In file included from include/asm/msr.h:5, from include/asm/processor.h:17, from include/asm/thread_info.h:16, from include/linux/thread_info.h:21, from include/linux/preempt.h:9, from include/linux/spinlock.h:49, from include/linux/capability.h:45, from include/linux/sched.h:46, from arch/i386/kernel/setup.c:26: include/asm/paravirt.h:163:1: warning: this is the location of the previous= definition Signed-off-by: Randy Dunlap commit 306a22c2a20edf3a440bfb4cf2b94c19dfd81a53 Author: Andi Kleen Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] i386: Fix io_apic.c warning gcc 4.2 warns linux/arch/i386/kernel/io_apic.c: In function ‘create_irq’: linux/arch/i386/kernel/io_apic.c:2488: warning: ‘vector’ may be used uninitialized in this function The warning is false, but somewhat legitimate so work around it. Signed-off-by: Andi Kleen commit 7e74437cf60cc84a655e301f1ee48027b3bcf96e Author: Randy Dunlap Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] i386: export smp_num_siblings for oprofile oprofile uses smp_num_siblings without testing for CONFIG_X86_HT. I looked at modifying oprofile, but this way is cleaner & simpler and I didn't see a good reason not to just export it when CONFIG_SMP. WARNING: "smp_num_siblings" [arch/i386/oprofile/oprofile.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen commit 1bac3b383a93a4a920ffc57441eb133c78567fbd Author: Andi Kleen Date: Sat Dec 9 21:33:36 2006 +0100 [PATCH] x86: Work around gcc 4.2 over aggressive optimizer The new PDA code uses a dummy _proxy_pda variable to describe memory references to the PDA. It is never referenced in inline assembly, but exists as input/output arguments. gcc 4.2 in some cases can CSE references to this which causes unresolved symbols. Define it to zero to avoid this. Signed-off-by: Andi Kleen commit 92715e282be7c7488f892703c8d39b08976a833b Author: Ravikiran G Thirumalai Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86: Fix boot hang due to nmi watchdog init code 2.6.19 stopped booting (or booted based on build/config) on our x86_64 systems due to a bug introduced in 2.6.19. check_nmi_watchdog schedules an IPI on all cpus to busy wait on a flag, but fails to set the busywait flag if NMI functionality is disabled. This causes the secondary cpus to spin in an endless loop, causing the kernel bootup to hang. Depending upon the build, the busywait flag got overwritten (stack variable) and caused the kernel to bootup on certain builds. Following patch fixes the bug by setting the busywait flag before returning from check_nmi_watchdog. I guess using a stack variable is not good here as the calling function could potentially return while the busy wait loop is still spinning on the flag. AK: I redid the patch significantly to be cleaner Signed-off-by: Ravikiran Thirumalai Signed-off-by: Shai Fultheim Signed-off-by: Andi Kleen commit 16d279d277aedd640d9dba5ddeb172b5e6bc7d75 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86: Fix verify_quirk_intel_irqbalance() Fix verify_quirk_intel_irqbalance(). genapic checks should really happen only on affected versions of the E7520/E7320/E7525 based platforms. AK: This should akpm's Coyote SDV Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen commit e0f27981f2d5fd93b2795e8348327b081c512f83 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit 9f25441fe6a4d8fc080a1f814078ac5d67adeea4 Author: Andi Kleen Date: Sat Dec 9 21:33:35 2006 +0100 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit 4594bf159f1962cec3b727954b7c598b07e2e737 Author: David Howells Date: Thu Dec 7 11:33:26 2006 +0000 [PATCH] WorkStruct: Use direct assignment rather than cmpxchg() Use direct assignment rather than cmpxchg() as the latter is unavailable and unimplementable on some platforms and is actually unnecessary. The use of cmpxchg() was to guard against two possibilities, neither of which can actually occur: (1) The pending flag may have been unset or may be cleared. However, given where it's called, the pending flag is _always_ set. I don't think it can be unset whilst we're in set_wq_data(). Once the work is enqueued to be actually run, the only way off the queue is for it to be actually run. If it's a delayed work item, then the bit can't be cleared by the timer because we haven't started the timer yet. Also, the pending bit can't be cleared by cancelling the delayed work _until_ the work item has had its timer started. (2) The workqueue pointer might change. This can only happen in two cases: (a) The work item has just been queued to actually run, and so we're protected by the appropriate workqueue spinlock. (b) A delayed work item is being queued, and so the timer hasn't been started yet, and so no one else knows about the work item or can access it (the pending bit protects us). Besides, set_wq_data() _sets_ the workqueue pointer unconditionally, so it can be assigned instead. So, replacing the set_wq_data() with a straight assignment would be okay in most cases. The problem is where we end up tangling with test_and_set_bit() emulated using spinlocks, and even then it's not a problem _provided_ test_and_set_bit() doesn't attempt to modify the word if the bit was set. If that's a problem, then a bitops-proofed assignment will be required - equivalent to atomic_set() vs other atomic_xxx() ops. Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit d8a53b358257625778387925165eaa97839b2f52 Author: Kars de Jong Date: Sat Dec 9 10:51:03 2006 +0100 [PATCH] Amiga PCMCIA NE2000 Ethernet dev->irq init Amiga PCMCIA NE2000 Ethernet: Add missing initialization of dev->irq Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit bf8af91bcd8aadad4933a51c1219ea35e1ae0d77 Author: Geert Uytterhoeven Date: Sat Dec 9 10:50:15 2006 +0100 [PATCH] m68k: EXPORT_SYMBOL(cache_{clear,push}) bogus comment Remove bogus comments about unexporting cache_{push,clear}(), as inline dma_cache_maintenance() (used by at least bionet and pamsnet) calls them. Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 3f922221bbeb1a61146126cdec3c7ccf81539463 Author: Michael Schmitz Date: Sat Dec 9 10:46:30 2006 +0100 [PATCH] m68k/Atari: 2.6.18 Atari IDE interrupt needs SA_SHIRQ Atari IDE: The interrupt needs SA_SHIRQ now to get registered. Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit c39e7eee149b4105fc49df27a2cb04fad880bb00 Author: Sam Creasey Date: Sat Dec 9 10:37:05 2006 +0100 [PATCH] Sun3 SCSI: Make sun3 scsi drivers compile/work again Make sun3 scsi drivers compile/work again (though with way too many warnings...) Tested on 3/50, 3/60. Signed-off-by: Sam Creasey Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit a3a79bd7c75f0055df16540c7e9dbe270060ebe8 Author: Sam Creasey Date: Sat Dec 9 10:34:38 2006 +0100 [PATCH] Sun3: General updates General compile fixes for 2.6.16 for sun3, and some updates to make the new bootloader work correctly. Tested on 3/50, 3/60, 3/80. Signed-off-by: Sam Creasey Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit 8e8858e932a81d827e194abf82faf32d02396f55 Author: Kars de Jong Date: Sat Dec 9 10:29:58 2006 +0100 [PATCH] m68k/HP300: HP LANCE updates - 7990: request_irq() should have SA_SHIRQ flag set - hplance_init() printed dev->name before register_netdev() had filled it in Signed-off-by: Kars de Jong Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds commit bca0b8e75f6b7cf52cf52c967286b72d84f9b37e Author: Russell King Date: Sat Dec 9 16:41:55 2006 +0000 [ARM] Add sys_*at syscalls Later glibc requires the *at syscalls. Add them. Signed-off-by: Russell King commit d3dcc077bf88806201093f86325ec656e4dbfbce Author: David S. Miller Date: Fri Dec 8 17:05:13 2006 -0800 [NETLINK]: Put {IFA,IFLA}_{RTA,PAYLOAD} macros back for userspace. GLIBC uses them etc. They are guarded by ifndef __KERNEL__ so nobody will start accidently using them in the kernel again, it's just for userspace. Signed-off-by: David S. Miller commit 160d5e10f87b1dc88fd9b84b31b1718e0fd76398 Author: Jarek Poplawski Date: Fri Dec 8 00:26:56 2006 -0800 [NET_SCHED] sch_htb: turn intermediate classes into leaves - turn intermediate classes into leaves again when their last child is deleted (struct htb_class changed) Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit a37ef2e3258d65e43ec876233bba0b288a9d3260 Author: Jarek Poplawski Date: Fri Dec 8 00:25:55 2006 -0800 [NET_SCHED] sch_cbq: deactivating when grafting, purging etc. - deactivating of active classes when q.qlen drops to zero (cbq_drop) - a redundant instruction removed from cbq_deactivate_class PS: probably htb_deactivate in htb_delete and cbq_deactivate_class in cbq_delete are also redundant now. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 93366c537b3426261cac4db27acc10a99cd91b06 Author: J Hadi Salim Date: Fri Dec 8 00:12:15 2006 -0800 [XFRM]: Fix XFRMGRP_REPORT to use correct multicast group. XFRMGRP_REPORT uses 0x10 which is a group that belongs to events. The correct value is 0x20. We should really be using xfrm_nlgroups going forward; it was tempting to delete the definition of XFRMGRP_REPORT but it would break at least iproute2. Signed-off-by: J Hadi Salim Signed-off-by: David S. Miller commit f0490980a152958d25ce9762bfb296d8fd4c5512 Author: Eric Dumazet Date: Fri Dec 8 00:08:43 2006 -0800 [NET]: Force a cache line split in hh_cache in SMP. hh_lock was converted from rwlock to seqlock by Stephen. To have a 100% benefit of this change, I suggest to place read mostly fields of hh_cache in a separate cache line, because hh_refcnt may be changed quite frequently on some busy machines. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 47bbec0282cce900f16a8dd6397260e076400edb Author: Neil Horman Date: Fri Dec 8 00:05:55 2006 -0800 [NETPOLL]: make arp replies through netpoll use mac address of sender Back in 2.4 arp requests that were recevied by netpoll were processed in netconsole_receive_skb, where they were responded to using the src mac of the request sender. In the 2.6 kernel arp_reply is responsible for this function, but instead of using the src mac address of the incomming request, the stored mac address that was registered for the netconsole application is used. While this is usually ok, it can lead to failures in netpoll in some situations (specifically situations where a network may have two gateways, as arp requests from one may be responded to using the mac address of the other). This patch reverts the behavior to what we had in 2.4, in which all arp requests are sent back using the src address of the request sender. Signed-off-by: Neil Horman Acked-by: Chris Lalancette Signed-off-by: David S. Miller commit e07bca84cd9d31f76ed655d51e68b6a0ca15f162 Author: Thomas Graf Date: Thu Dec 7 23:49:45 2006 -0800 [NETLINK]: Restore API compatibility of address and neighbour bits Restore API compatibility due to bits moved from rtnetlink.h to separate headers. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 15b1c0e822f578306332d4f4c449250db5c5dceb Author: Ralf Baechle Date: Thu Dec 7 15:47:08 2006 -0800 [AX.25]: Fix default address and broadcast address initialization. Only the callsign but not the SSID part of an AX.25 address is ASCII based but Linux by initializes the SSID which should be just a 4-bit number from ASCII anyway. Fix that and convert the code to use a shared constant for both default addresses. While at it, use the same style for null_ax25_address also. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit e8cc49bb0fdb9e18a99e6780073d1400ba2b0d1f Author: Ralf Baechle Date: Thu Dec 7 15:43:13 2006 -0800 [AX.25]: Constify ax25 utility functions Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 6c1bbcc8836358294c431e0c09e85e3480895659 Author: Adrian Bunk Date: Thu Dec 7 15:10:06 2006 -0800 [BNX2]: Add an error check. This patch adds a missing error check spotted by the Coverity checker. Signed-off-by: Adrian Bunk Acked-by: Jeff Garzik Acked-by: Michael Chan Signed-off-by: David S. Miller commit 3644f0cee77494190452de132e82245107939284 Author: Stephen Hemminger Date: Thu Dec 7 15:08:17 2006 -0800 [NET]: Convert hh_lock to seqlock. The hard header cache is in the main output path, so using seqlock instead of reader/writer lock should reduce overhead. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit f0647a52974daccbe20990fb6341f07792445fe0 Author: Vitaly Wool Date: Fri Dec 8 11:40:35 2006 +0300 [PATCH] add STB810 support (Philips PNX8550-based) Signed-off-by: Vitaly Wool Signed-off-by: Ralf Baechle commit c25c79d80e02db1bd993426f979c5f1b42a0f132 Author: Ralf Baechle Date: Fri Dec 8 12:55:42 2006 +0000 [MIPS] Qemu now has an ELF loader. So nuke kludge for flat binaries. Signed-off-by: Ralf Baechle commit 9fd32cfbb602f3e5e898faa61d83c4a7897bd48a Author: Atsushi Nemoto Date: Fri Dec 8 01:55:07 2006 +0900 [MIPS] Add GENERIC_HARDIRQS_NO__DO_IRQ for i8259 users Now that i8259A_chip uses new irq flow handler select GENERIC_HARDIRQS_NO__DO_IRQ on some more platforms. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ed99e2bc1dc5dc54eb5a019f4975562dbef20103 Author: Atsushi Nemoto Date: Fri Dec 8 01:04:51 2006 +0900 [MIPS] Optimize csum_partial for 64bit kernel Make csum_partial 64-bit powered. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 773ff78838ca3c07245e45c06235e0baaa5f710a Author: Atsushi Nemoto Date: Fri Dec 8 01:04:45 2006 +0900 [MIPS] Optimize flow of csum_partial Delete dead codes at end of the function and move small_csumcopy there. This makes some labels (maybe_end_cruft, small_memcpy, end_bytes, out) needless and eliminates some branches. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 52ffe760ea9ec407292d093c3f06c1cda5187228 Author: Atsushi Nemoto Date: Fri Dec 8 01:04:31 2006 +0900 [MIPS] Make csum_partial more readable Use standard o32 register name instead of T0, T1, etc, like memcpy.S. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 14b36af46a1d3652aff6734ea24816995dff8123 Author: Thomas Bogendoerfer Date: Tue Dec 5 17:05:44 2006 +0100 [MIPS] Rename SNI_RM200_PCI to just SNI_RM preparing for more RM machines Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit a223535425eb28082a0925b0ce2f02f962936cf4 Author: Anton Blanchard Date: Fri Dec 8 18:22:09 2006 +1100 [POWERPC] dont allow pSeries_probe to succeed without initialising MMU pSeries_probe can decide that we are a pseries but then fail to initialise the MMU. If an rtas node doesnt exist, we continually fall out of pSeries_probe_hypertas early and never get to the MMU init code. While pseries without RTAS is an illegal combination, the way we currently fail is a pain to track down, and can happen if your flattened device tree code has issues (like mine did :). With the following patch we init the MMU, come up and print some warnings about RTAS not existing, instead of looping on 0x400 exceptions. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 5773bbcdec54b7258cb9e2aa6f3459b4cbfd9dc5 Author: Anton Blanchard Date: Fri Dec 8 18:08:37 2006 +1100 [POWERPC] micro optimise pSeries_probe We find the OF root the line before, we may as well use it. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit f050982a9b7c4edc414f0d5543c3cb24504223c6 Author: Anton Blanchard Date: Fri Dec 8 17:51:13 2006 +1100 [POWERPC] Add SPURR SPR to sysfs Now we have a SPURR cpu feature bit, we can export it to userspace in sysfs. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 4c198557c6b45956a6f54b958fb97a15b02a6a3b Author: Anton Blanchard Date: Fri Dec 8 17:46:58 2006 +1100 [POWERPC] Add DSCR SPR to sysfs POWER6 adds a new SPR, the data stream control register (DSCR). It can be used to adjust how agressive the prefetch mechanisms are. Its possible we may want to context switch this, but for now just export it to userspace via sysfs so we can adjust it. Signed-off-by: Anton Blanchard Signed-off-by: Paul Mackerras commit 63f3861d2fbf8ccbad1386ac9ac8b822c036ea00 Author: Jiri Kosina Date: Fri Dec 8 18:41:30 2006 +0100 [PATCH] Generic HID layer - build This modifies Makefiles and Kconfigs to properly reflect the creation of generic HID layer. It also removes the dependency of BROKEN, which was introduced by the first patch in series (see the comment). Also updates credits. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 4c2ae844b5ef85fd4b571c9c91ac48afa6ef2dfc Author: Jiri Kosina Date: Fri Dec 8 18:41:22 2006 +0100 [PATCH] Generic HID layer - pb_fnmode pb_fnmode parameter has to be passed to usbhid, both for compatibility reasons and also because it logically belongs there. Also removes empty hid-input.c file in drivers/usb/input. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit aa8de2f038baec993f07ef66fb3e94481d1ec22b Author: Jiri Kosina Date: Fri Dec 8 18:41:17 2006 +0100 [PATCH] Generic HID layer - input and event reporting hid_input_report() was needlessly USB-specific in USB HID. This patch makes the function independent of HID implementation and fixes all the current users. Bluetooth patches comply with this prototype. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit aa938f7974b82cfd9ee955031987344f332b7c77 Author: Jiri Kosina Date: Fri Dec 8 18:41:10 2006 +0100 [PATCH] Generic HID layer - hiddev - hiddev is USB-only (agreed with Marcel Holtmann that Bluetooth currently doesn't need it, and future planned interface (rawhid) will be more flexible and usable) - both HID and USB-hid can be now compiled as modules (wasn't possible before hiddev was fully separated from generic HID layer) Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 4916b3a57fc94664677d439b911b8aaf86c7ec23 Author: Jiri Kosina Date: Fri Dec 8 18:41:03 2006 +0100 [PATCH] Generic HID layer - USB API - 'dev' in struct hid_device changed from struct usb_device to struct device and fixed all the users - renamed functions which are part of USB HID API from 'hid_*' to 'usbhid_*' - force feedback initialization moved from common part into USB-specific driver - added usbhid.h header for USB HID API users - removed USB-specific fields from struct hid_device and moved them to new usbhid_device, which is pointed to by hid_device->driver_data - fixed all USB users to use this new structure Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 229695e51efc4ed5e04ab471c82591d0f432909d Author: Jiri Kosina Date: Fri Dec 8 18:40:53 2006 +0100 [PATCH] Generic HID layer - API - fixed generic API (added neccessary EXPORT_SYMBOL, fixed hid.h to provide correct prototypes) - extended hid_device with open/close/event function pointers to driver-specific functions - added driver specific driver_data to hid_device Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit dde5845a529ff753364a6d1aea61180946270bfa Author: Jiri Kosina Date: Fri Dec 8 18:40:44 2006 +0100 [PATCH] Generic HID layer - code split The "big main" split of USB HID code into generic HID code and USB-transport specific HID handling. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 64bb67b1702958759f650adb64ab33496641e526 Author: Jiri Kosina Date: Fri Dec 8 18:40:37 2006 +0100 [PATCH] Generic HID layer - disable USB HID This patch is a part of generic HID layer introduction. USB HID is disabled, so that the code split and changes could be introduced in a way that is reviewable (i.e. separate patches), but not to break git bisect by uncompilable kernel throughout different stages of the code splitup and changes. The last patch of this series enables HID again. Signed-off-by: Jiri Kosina Signed-off-by: Marcel Holtmann Cc: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 7bf65382caeecea4ae7206138e92e732b676d6e5 Author: Andrew Morton Date: Fri Dec 8 02:41:14 2006 -0800 [PATCH] proc_misc build fix fs/proc/proc_misc.c: In function `version_read_proc': fs/proc/proc_misc.c:256: warning: implicit declaration of function `utsname' Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b1bdf4e08d6a8d4fae5a30224ed2c55bf1e43fc Author: Shaohua Li Date: Fri Dec 8 02:41:13 2006 -0800 [PATCH] CPU hotplug broken with 2GB VMSPLIT In VMSPLIT mode, kernel PGD might have more entries than user space. Acked-by: Jens Axboe Signed-off-by: Shaohua Li Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c642f9e03b3ca04fc806ba5d8d34cc821382e525 Author: Adrian Bunk Date: Fri Dec 8 02:41:13 2006 -0800 [PATCH] make drivers/md/dm-snap.c:ksnapd static Signed-off-by: Adrian Bunk Acked-by: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88b20a1a71d98d6e0b8373fa68fb784340b3ee51 Author: Jonathan E Brassow Date: Fri Dec 8 02:41:12 2006 -0800 [PATCH] dm: raid1: reset sync_search on resume Reset sync_search on resume. The effect is to retry syncing all out-of-sync regions when a mirror is resumed, including ones that previously failed. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3ee6b2f621fec7bc8bfe43fb465e938c37c8d20 Author: Jonathan E Brassow Date: Fri Dec 8 02:41:11 2006 -0800 [PATCH] dm: log: rename complete_resync_work The complete_resync_work function only provides the ability to change an out-of-sync region to in-sync. This patch enhances the function to allow us to change the status from in-sync to out-of-sync as well, something that is needed when a mirror write to one of the devices or an initial resync on a given region fails. Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31c93a0c29bf96efd806ccf4ee81cacf04f255de Author: Milan Broz Date: Fri Dec 8 02:41:11 2006 -0800 [PATCH] dm: snapshot: abstract memory release Move the code that releases memory used by a snapshot into a separate function. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e157206c732613d1c07e8ceeb1a3e497fb2abf Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:10 2006 -0800 [PATCH] dm: mpath: use noflush suspending Implement the pushback feature for the multipath target. The pushback request is used when: 1) there are no valid paths; 2) queue_if_no_path was set; 3) a suspend is being issued with the DMF_NOFLUSH_SUSPENDING flag. Otherwise bios are returned to applications with -EIO. To check whether queue_if_no_path is specified or not, you need to check both queue_if_no_path and saved_queue_if_no_path, because presuspend saves the original queue_if_no_path value to saved_queue_if_no_path. The check for 1 already exists in both map_io() and do_end_io(). So this patch adds __must_push_back() to check 2 and 3. Test results: See the test results in the preceding patch. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e93ccc1933d08d32d9bde3784c3823e67b9b030 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:09 2006 -0800 [PATCH] dm: suspend: add noflush pushback In device-mapper I/O is sometimes queued within targets for later processing. For example the multipath target can be configured to store I/O when no paths are available instead of returning it -EIO. This patch allows the device-mapper core to instruct a target to transfer the contents of any such in-target queue back into the core. This frees up the resources used by the target so the core can replace that target with an alternative one and then resend the I/O to it. Without this patch the only way to change the target in such circumstances involves returning the I/O with an error back to the filesystem/application. In the multipath case, this patch will let us add new paths for existing I/O to try after all the existing paths have failed. DMF_NOFLUSH_SUSPENDING ---------------------- If the DM_NOFLUSH_FLAG ioctl option is specified at suspend time, the DMF_NOFLUSH_SUSPENDING flag is set in md->flags during dm_suspend(). It is always cleared before dm_suspend() returns. The flag must be visible while the target is flushing pending I/Os so it is set before presuspend where the flush starts and unset after the wait for md->pending where the flush ends. Target drivers can check this flag by calling dm_noflush_suspending(). DM_MAPIO_REQUEUE / DM_ENDIO_REQUEUE ----------------------------------- A target's map() function can now return DM_MAPIO_REQUEUE to request the device mapper core queue the bio. Similarly, a target's end_io() function can return DM_ENDIO_REQUEUE to request the same. This has been labelled 'pushback'. The __map_bio() and clone_endio() functions in the core treat these return values as errors and call dec_pending() to end the I/O. dec_pending ----------- dec_pending() saves the pushback request in struct dm_io->error. Once all the split clones have ended, dec_pending() will put the original bio on the md->pushback list. Note that this supercedes any I/O errors. It is possible for the suspend with DM_NOFLUSH_FLAG to be aborted while in progress (e.g. by user interrupt). dec_pending() checks for this and returns -EIO if it happened. pushdback list and pushback_lock -------------------------------- The bio is queued on md->pushback temporarily in dec_pending(), and after all pending I/Os return, md->pushback is merged into md->deferred in dm_suspend() for re-issuing at resume time. md->pushback_lock protects md->pushback. The lock should be held with irq disabled because dec_pending() can be called from interrupt context. Queueing bios to md->pushback in dec_pending() must be done atomically with the check for DMF_NOFLUSH_SUSPENDING flag. So md->pushback_lock is held when checking the flag. Otherwise dec_pending() may queue a bio to md->pushback after the interrupted dm_suspend() flushes md->pushback. Then the bio would be left in md->pushback. Flag setting in dm_suspend() can be done without md->pushback_lock because the flag is checked only after presuspend and the set value is already made visible via the target's presuspend function. The flag can be checked without md->pushback_lock (e.g. the first part of the dec_pending() or target drivers), because the flag is checked again with md->pushback_lock held when the bio is really queued to md->pushback as described above. So even if the flag is cleared after the lockless checkings, the bio isn't left in md->pushback but returned to applications with -EIO. Other notes on the current patch -------------------------------- - md->pushback is added to the struct mapped_device instead of using md->deferred directly because md->io_lock which protects md->deferred is rw_semaphore and can't be used in interrupt context like dec_pending(), and md->io_lock protects the DMF_BLOCK_IO flag of md->flags too. - Don't issue lock_fs() in dm_suspend() if the DM_NOFLUSH_FLAG ioctl option is specified, because I/Os generated by lock_fs() would be pushed back and never return if there were no valid devices. - If an error occurs in dm_suspend() after the DMF_NOFLUSH_SUSPENDING flag is set, md->pushback must be flushed because I/Os may be queued to the list already. (flush_and_out label in dm_suspend()) Test results ------------ I have tested using multipath target with the next patch. The following tests are for regression/compatibility: - I/Os succeed when valid paths exist; - I/Os fail when there are no valid paths and queue_if_no_path is not set; - I/Os are queued in the multipath target when there are no valid paths and queue_if_no_path is set; - The queued I/Os above fail when suspend is issued without the DM_NOFLUSH_FLAG ioctl option. I/Os spanning 2 multipath targets also fail. The following tests are for the normal code path of new pushback feature: - Queued I/Os in the multipath target are flushed from the target but don't return when suspend is issued with the DM_NOFLUSH_FLAG ioctl option; - The I/Os above are queued in the multipath target again when resume is issued without path recovery; - The I/Os above succeed when resume is issued after path recovery or table load; - Queued I/Os in the multipath target succeed when resume is issued with the DM_NOFLUSH_FLAG ioctl option after table load. I/Os spanning 2 multipath targets also succeed. The following tests are for the error paths of the new pushback feature: - When the bdget_disk() fails in dm_suspend(), the DMF_NOFLUSH_SUSPENDING flag is cleared and I/Os already queued to the pushback list are flushed properly. - When suspend with the DM_NOFLUSH_FLAG ioctl option is interrupted, o I/Os which had already been queued to the pushback list at the time don't return, and are re-issued at resume time; o I/Os which hadn't been returned at the time return with EIO. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fdb096dbcedcc3b94c7e47b59362b5214891e2 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:07 2006 -0800 [PATCH] dm: ioctl: add noflush suspend Provide a dm ioctl option to request noflush suspending. (See next patch for what this is for.) As the interface is extended, the version number is incremented. Other than accepting the new option through the interface, There is no change to existing behaviour. Test results: Confirmed the option is given from user-space correctly. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2a7ad29a810441e9dacbaddcc2f0c6045390008 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:06 2006 -0800 [PATCH] dm: map and endio symbolic return codes Update existing targets to use the new symbols for return values from target map and end_io functions. There is no effect on behaviour. Test results: Done build test without errors. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45cbcd798354251b99694086af9d57c99e89bb43 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:05 2006 -0800 [PATCH] dm: map and endio return code clarification Tighten the use of return values from the target map and end_io functions. Values of 2 and above are now explictly reserved for future use. There are no existing targets using such values. The patch has no effect on existing behaviour. o Reserve return values of 2 and above from target map functions. Any positive value currently indicates "mapping complete", but all existing drivers use the value 1. We now make that a requirement so we can assign new meaning to higher values in future. The new definition of return values from target map functions is: < 0 : error = 0 : The target will handle the io (DM_MAPIO_SUBMITTED). = 1 : Mapping completed (DM_MAPIO_REMAPPED). > 1 : Reserved (undefined). Previously this was the same as '= 1'. o Reserve return values of 2 and above from target end_io functions for similar reasons. DM_ENDIO_INCOMPLETE is introduced for a return value of 1. Test results: I have tested by using the multipath target. I/Os succeed when valid paths exist. I/Os are queued in the multipath target when there are no valid paths and queue_if_no_path is set. I/Os fail when there are no valid paths and queue_if_no_path is not set. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3d77d35be6f416a250c528c3ed5c70013a915e8 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:04 2006 -0800 [PATCH] dm: suspend: parameter change Change the interface of dm_suspend() so that we can pass several options without increasing the number of parameters. The existing 'do_lockfs' integer parameter is replaced by a flag DM_SUSPEND_LOCKFS_FLAG. There is no functional change to the code. Test results: I have tested 'dmsetup suspend' command with/without the '--nolockfs' option and confirmed the do_lockfs value is correctly set. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74859364633963cb660c4fa518adca9ab1ca4229 Author: Kiyoshi Ueda Date: Fri Dec 8 02:41:02 2006 -0800 [PATCH] dm: tidy core formatting Remove unnecessary spaces in dm.c. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f00b16ad665a9b489d46f612679181f3f914917b Author: Heinz Mauelshagen Date: Fri Dec 8 02:41:01 2006 -0800 [PATCH] dm io: fix bi_max_vecs The existing code allocates an extra slot in bi_io_vec[] and uses it to store the region number. This patch hides the extra slot from bio_add_page() so the region number can't get overwritten. Also remove a hard-coded SECTOR_SHIFT and fix a typo in a comment. Signed-off-by: Heinz Mauelshagen Signed-off-by: Alasdair G Kergon Cc: Milan Broz Cc: dm-devel@redhat.com Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cd307c5655c0b76d563b5f3f911742a32746841 Author: Randy Dunlap Date: Fri Dec 8 02:41:01 2006 -0800 [PATCH] linux-fbdev-devel is subscribers-only Update linux-fbdev mailing list to subscribers-only. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4b85dc0a1a6a6af9e67b7993fc833051222f40b Author: Mariusz Kozlowski Date: Fri Dec 8 02:41:00 2006 -0800 [PATCH] video: pm3fb macros fix Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4971bb70c0b0d0810e0c2b66927de2422ff82119 Author: Mariusz Kozlowski Date: Fri Dec 8 02:40:59 2006 -0800 [PATCH] video: neofb stray bracket fix This code is '#if 0'ed. Anyway if anyone wants to dump neo registers better to have it fixed. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a219a7e76b4db0c8e9ccb036e96a0a613d9fdfec Author: Mariusz Kozlowski Date: Fri Dec 8 02:40:58 2006 -0800 [PATCH] video: cyberfb broken macro removal Remove broken and unused macro. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9b2ec4d52275d20e6e2db80727d289b0bdd90b3 Author: James Simmons Date: Fri Dec 8 02:40:57 2006 -0800 [PATCH] Video Select set for VESA FB Automatically set VIDEO_SELECT when you select VESA FB. Currently if you select VESA FB with fbcon but don't select VGA console the box will not have its video mode set. Thus you get a blank screen. Signed-off-by: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58219896df521ddd749bee48a8465db69b6163f3 Author: Jordan Crouse Date: Fri Dec 8 02:40:56 2006 -0800 [PATCH] gxfb: Turn on the flatpanel power and data For Geode devices without a flatpanel aware BIOS, this enables the flatpanel power and data. Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53d53bd4ab3fd1498f728fa96635ab95d1ec8ba0 Author: Jordan Crouse Date: Fri Dec 8 02:40:55 2006 -0800 [PATCH] gxfb: Fixup flatpanel detection Use the right MSR and bits to detect if the GX is strapped for TFT or CRT Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 16ef9870959621fa437d25ead28a7199acc6ce49 Author: Jordan Crouse Date: Fri Dec 8 02:40:54 2006 -0800 [PATCH] gxfb: Support command line options Add support for command line options for setting the mode and various settings. [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ab1db0cfcf69f94a5c6831db230982cd6bbeb2e1 Author: Jordan Crouse Date: Fri Dec 8 02:40:54 2006 -0800 [PATCH] gxfb: Support flat panel timings Support TFT panels by correctly setting up the flat panel registers [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f378819a19e2b9639f17a1a82c5e12adc9512390 Author: Jordan Crouse Date: Fri Dec 8 02:40:53 2006 -0800 [PATCH] gxfb: Fixups for the AMD Geode GX framebuffer driver We cannot assume that the BIOS will be correctly setting up the hardware, so set some bits in various display registers to enable video output. Allow an advanced user to specify a frambuffer size, rather then probing the BIOS. All of these fixes were prompted by the OLPC effort. [akpm@osdl.org: cleanups] Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c1979c8963528cc6f52203ae62162ed22e171f4 Author: Jordan Crouse Date: Fri Dec 8 02:40:52 2006 -0800 [PATCH] FB: Get the Geode GX frambuffer size from the BIOS Use the Geode GX BIOS virtual registers to get the actual size of the framebuffer. Signed-off-by: Jordan Crouse Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4437cd1e98409e236a9d303fb742fdd53b3a20bb Author: Henrique de Moraes Holschuh Date: Fri Dec 8 02:40:49 2006 -0800 [PATCH] backlight: do not power off backlight when unregistering ACPI drivers like ibm-acpi are moving to the backlight sysfs infrastructure. During ibm-acpi testing, I have noticed that backlight_device_unregister() sets the display brightness and power to zero. This causes the display to be dimmed on ibm-acpi module removal. It will affect all other ACPI drivers that are being converted to use the backlight class, as well. It also affects a number of framebuffer devices that are used on desktops and laptops which might also not want such behaviour. Since working around this behaviour requires undesireable hacks, Richard Purdie decided that we would be better off reverting the changes in the sysfs class, and adding the code to dim and power off the backlight device to the drivers that want it. This patch is my attempt to do so. Patch against latest linux-2.6.git. Changes untested, as I lack the required hardware. Still, they are trivial enough that, apart from typos, there is little chance of getting them wrong. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Richard Purdie Acked-by: Pavel Machek Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 024cd7e08896884cfd58c78cd1f2103be12e3c09 Author: Franck Bui-Huu Date: Fri Dec 8 02:40:48 2006 -0800 [PATCH] softcursor.c: avoid unaligned accesses Fix some possible unaligned accesses when accessing fields of 'image' pointer. Indeed this pointer was obtained by allocating a block of memory that embeds a temporary array plus an image structure. The temporary buffer was located at the start of the allocated block and depending on its size, the image structure which comes right after can be unaligned. For example when using mini fonts (4x6) (cursor's width is 4 and its height is 6) the temporary buf size is 6 bytes. Therefore this patch moves the image structure to the start of the block and moves the temporary buffer right after. It makes 'image' pointer always aligned and since the tempo buf is a buffer of char, it's always correctly aligned as well. It also fixes the file header alignement. Signed-off-by: Franck Bui-Huu Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d5eeaddad9338f39d25ee0c6c2ab1eda1ed2ef6 Author: James Simmons Date: Fri Dec 8 02:40:47 2006 -0800 [PATCH] backlight: lcd: Remove dependenct from the framebuffer layer The backlight layer should be independent from the framebuffer layer. It can use the services offered by the framebuffer, but its absence should not prevent the backlight/lcd layer from functioning. [akpm@osdl.org: cleanups] Signed-off-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5bd1cec8999624fa2b32833ba9707eb4966df17 Author: Randy Dunlap Date: Fri Dec 8 02:40:46 2006 -0800 [PATCH] visws: sgivwfb as module needs exports With CONFIG_FB_SGIVW=m: WARNING: "sgivwfb_mem_size" [drivers/video/sgivwfb.ko] undefined! WARNING: "sgivwfb_mem_phys" [drivers/video/sgivwfb.ko] undefined! (or don't allow FB_SGIVW=m in Kconfig) Signed-off-by: Randy Dunlap Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfba7b3793f59adedfde5fb07dee565c5cc15ab8 Author: Alexey Dobriyan Date: Fri Dec 8 02:40:46 2006 -0800 [PATCH] drivers/video/*: use kmemdup() From: Eric Sesterhenn Signed-off-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efc08a75d3a2d449edab7d1bee312eaa591f7669 Author: Ville Syrjala Date: Fri Dec 8 02:40:45 2006 -0800 [PATCH] atyfb: Improve power management Some register were only set in aty_init() which is not called on resume. I added the aty_resume_chip() function to reset those registers on resume. Susped-to-ram now works on a HP Omnibook 6000 with acpi_sleep=s3_bios. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ec3fd71e4f5d1201cb7d2374ffdb4f328091fb4 Author: Ville Syrjala Date: Fri Dec 8 02:40:44 2006 -0800 [PATCH] atyfb: Improve atyfb_atari_probe() Improve atyfb_atari_probe(): * Call correct_chipset() so that more par members, par->features in particular, get initialized. * If probe fails iounmap() the mapped regions and continue probing for more adapters. Only verified to cross-compile due to lack of hardware. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cab5901e93bfe4f3cfd8cf9cda2558d22568f7a2 Author: Ville Syrjala Date: Fri Dec 8 02:40:43 2006 -0800 [PATCH] atyfb: Remove aty_cmap_regs Remove aty_cmap_regs. Access the LUT in the same way as other registers. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5850e0cf9a2345498fe2545c37118ef9405044eb Author: Ville Syrjala Date: Fri Dec 8 02:40:42 2006 -0800 [PATCH] atyfb: Fix __init and __devinit annotations Fix some __init and __devinit annotations. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 044aaa32e789492e638a229b5f1930bfb8bc75a1 Author: Ville Syrjala Date: Fri Dec 8 02:40:41 2006 -0800 [PATCH] atyfb: Remove pointless aty_init() argument The 'name' argument of aty_init() is pointless because the bus type can be queried from the hardware. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27b6859799ea766281828588e1adb17751193075 Author: Ville Syrjala Date: Fri Dec 8 02:40:41 2006 -0800 [PATCH] atyfb: Fix blanking level transitions Fix a minor problem in blanking level transitions. Reducing the blanking level gradually was impossible. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b9817cc70709e10ffa9b27af35b2e8f1ef84798 Author: Ville Syrjala Date: Fri Dec 8 02:40:40 2006 -0800 [PATCH] atyfb: Fix sparse warnings Silence some sparse warnings: * Remove casts from atari out_le32() and friends. * Move accel functions' declarations to atyfb.h. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c98959f566e0c695b1b237ad8e0f8f825d31fa71 Author: Ville Syrjala Date: Fri Dec 8 02:40:39 2006 -0800 [PATCH] atyfb: Fix compiler warnings Fix some compiler warnings and remove an #ifdef. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05978501525802f00e9f458ce6bec9bdf886b2c0 Author: Ville Syrjala Date: Fri Dec 8 02:40:37 2006 -0800 [PATCH] atyfb: Remove FIXME atyfb has used the auxiliary register aperture for a long time. Remove a related FIXME which was accidentally left in. Signed-off-by: Ville Syrjala Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ce4d39050017d368bb6bfa41d315bf62cb64773 Author: Raphael Assenat Date: Fri Dec 8 02:40:37 2006 -0800 [PATCH] mbxfb: Document the new ioctl This patch adds a new ioctl range for the mbxfb driver. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea465250d41c99b4ee7dac1e6eb87b7106f7b11e Author: Raphael Assenat Date: Fri Dec 8 02:40:36 2006 -0800 [PATCH] mbxfb: Add YUV video overlay support This patch adds a way to create and use the video plane (YUV overlay) and scaling video scaling features of the chip. The overlay is configured, resized and modified using a device specific ioctl. Also included in this patch: - If no platform data was passed, print an error and exit instead of crashing. - Added a write_reg(_dly) macro. This improves readability when manipulating chip registers. (no more udelay() after each write). - Comments about some issues. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 128806c3b3e263c579af12c061a9b04db3950016 Author: Raphael Assenat Date: Fri Dec 8 02:40:35 2006 -0800 [PATCH] mbxfb: add more registers to debugfs This patch fixes debugfs for mbxfb and adds some missing registers. The way registers were read was out of sync with the rest of the driver (direct access instead of using readl()) sdram controller registers are now accessible in the sdram/ subdirectory and some other registers are grouped in the misc/ subdirectory. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb137d5b7f2301f2717944322bba38039083c431 Author: Raphael Assenat Date: Fri Dec 8 02:40:34 2006 -0800 [PATCH] mbxfb: Add more registers bits access macros This patch adds register bits access macros for chip's Video Plane, Scaling and interrupt registers. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce7405fb380c097511d0a3d20db25bc167f3c5dc Author: Raphael Assenat Date: Fri Dec 8 02:40:33 2006 -0800 [PATCH] mbxfb: Fix HSCOEFF3 register address This patch corrects the address for register HSCOEFF3. Signed-off-by: Raphael Assenat Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03ae4e0ccc10ad2d8b7f421fbbeac4fe44b806fb Author: Freddy Spierenburg Date: Fri Dec 8 02:40:31 2006 -0800 [PATCH] au11oofb: fix to remove flickering Currently a lot of flickering is seen on the VGA and LCD port when one starts a DBAu1100 board, with 'CONFIG_PRINTK=3Dy'. This patch removes the flickering and as a result all kernel messages come by in a nice steady fashion. Signed-off-by: Freddy Spierenburg Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec1a7b3d7b0c522742c2c4e6e50a5ee2230d4fc6 Author: Helge Deller Date: Fri Dec 8 02:40:31 2006 -0800 [PATCH] constify vga16fb.c - move some static data into the .rodata section - simplify source code for transl_l[] and transl_h[] which makes it more readable Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4670358a7b5ac1eeec00c1805213d346253b91f6 Author: Helge Deller Date: Fri Dec 8 02:40:30 2006 -0800 [PATCH] annotate some variables in vesafb driver as __read_mostly - annotate some variables in vesafb driver as __read_mostly Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0128beeee8749e3cb01c27ef9d1da217f5d7b3b8 Author: Helge Deller Date: Fri Dec 8 02:40:29 2006 -0800 [PATCH] constify and annotate __read_mostly in vgacon.c and fbmem.c - annotate some variables from vgacon.c and fbmem.c as __read_mostly - move the mask[] array in fb_set_logo_truepalette() into the .rodata section Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d95159cf1b12e8e4b169094b35cbd93b887cb939 Author: Helge Deller Date: Fri Dec 8 02:40:28 2006 -0800 [PATCH] various fbdev files: mark structs and array read-only - move some structs and arrays to the read-only (.rodata) section [akpm@osdl.org: build fix] Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adf6b206546414fd006098d027e81f2b576ea2aa Author: Helge Deller Date: Fri Dec 8 02:40:27 2006 -0800 [PATCH] fbcmap.c: mark structs const or __read_mostly - Mark the default colormaps read-only, as nobody should be allowed to modify them - Additionally mark color values as __read_mostly since they will only be modified (very seldom) by fb_invert_cmaps() - Add named C99-initializers in fb_cmap structs and use the ARRAY_SIZE() macro Signed-off-by: Helge Deller Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 357b819dda03e642f9c2d737596ad6cdc0022c00 Author: Arnaud Patard (Rtp Date: Fri Dec 8 02:40:23 2006 -0800 [PATCH] s3c2410fb: Add support for STN displays This patch adds support for stn displays on the s3c2410 arm SoC. The LCD type is choosen by a new field in the s3c2410fb_mach_info structure and its value is the value of the PNRMODE bits. This worth to be noted as a value of 0 means that you configure a 4 bit dual scan stn display. Signed-off-by: Arnaud Patard Cc: "Antonino A. Daplas" Cc: Russell King Cc: Ben Dooks Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c25623f5540694ba70af272170d67f1411be97b1 Author: Jordan Crouse Date: Fri Dec 8 02:40:21 2006 -0800 [PATCH] video: Get the default mode from the right database If no default mode is specified, it should be grabbed from the supplied database, not the default one. [teanropo@jyu.fi: fix it] [akpm@osdl.org: simplify it] [akpm@osdl.org: remove pointless DEFAULT_MODEDB_INDEX] Signed-off-by: Jordan Crouse Cc: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Tero Roponen Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 572c04b24bd7b7e4b6a684416325cc3751fa8f45 Author: Maciej W. Rozycki Date: Fri Dec 8 02:40:21 2006 -0800 [PATCH] pmagb-b-fb: Fix a default clock frequency Inspection of real hardware has revealed one of the clock frequencies known to be supported by PMAGB-B hardware is off by 3kHz. Following is a fix. Please apply. Signed-off-by: Maciej W. Rozycki Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b860e73a5488d9e75c2f2907174cb4277c2f9d21 Author: David Rientjes Date: Fri Dec 8 02:40:19 2006 -0800 [PATCH] video SiS: remove unnecessary variables in SiS_DDC2Delay Remove unnecesary iteration and accumulator variables from SiS_DDC2Delay. Originally spotted by Jesper Juhl . Cc: Jesper Juhl Cc: Thomas Winischhofer Signed-off-by: David Rientjes Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af342e939d3244624d3e03ece2e6b8e9056dfb72 Author: Alan Cox Date: Fri Dec 8 02:40:18 2006 -0800 [PATCH] igafb: switch to pci_get API Signed-off-by: Alan Cox Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd717689f46436fc212882ddc6e02a20be920634 Author: Jeff Garzik Date: Fri Dec 8 02:40:17 2006 -0800 [PATCH] atyfb, rivafb: minor fixes aty128fb: return an error in the unlikely event that we cannot calculate some key PLL info rivafb: * call CalcStateExt() directly, rather than via function pointers, since CalcStateExt() is the only value ever assigned to ->CalcStateExt(). * propagate error return back from CalcVClock() through callers Signed-off-by: Jeff Garzik Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 945f0ee257b4f91498b4061dc89b8a68c423ea6f Author: Amol Lad Date: Fri Dec 8 02:40:16 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/S3triofb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57354c42f177a2b58fb1f61125ad2cb2e8743a9b Author: Amol Lad Date: Fri Dec 8 02:40:16 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/amifb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6792951b6ad13d7b2fff71ae7d2982b2fa1d6788 Author: Amol Lad Date: Fri Dec 8 02:40:15 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/atafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2a85aebf9d6cb671085d58dfbbd7b11269d49eb Author: Amol Lad Date: Fri Dec 8 02:40:14 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/atyfb_base ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8b8c0a697d60c7d58a3dbda2d78553fd27727b3 Author: Amol Lad Date: Fri Dec 8 02:40:13 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/cirrusfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d02abed8aa6bd37abcd802de64a63ed2af5e18ff Author: Amol Lad Date: Fri Dec 8 02:40:12 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/cyberfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d4c767ef56473b68a601274612d604c8c334dc9 Author: Amol Lad Date: Fri Dec 8 02:40:12 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/ffb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: David S. Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b3349fa448ce41eda5ae0e6d4dc52837d14ad11 Author: Amol Lad Date: Fri Dec 8 02:40:11 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/fm2fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1bedb0b2f60dd858fd12e5dd5681fa5da55175f5 Author: Amol Lad Date: Fri Dec 8 02:40:10 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/hpfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 164a765b9895f4f80f91cb7f1aab7539b3f8d335 Author: Amol Lad Date: Fri Dec 8 02:40:09 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/macfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f190017b889c45364576396a3bfa32acbb16bf2b Author: Amol Lad Date: Fri Dec 8 02:40:08 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/offb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b7574da255fef27cdb294e19bea26d911443511 Author: Amol Lad Date: Fri Dec 8 02:40:07 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/platinumfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 295a1b476749e8b6fa6c3c0978426360ac7dde4b Author: Amol Lad Date: Fri Dec 8 02:40:06 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/pvr2fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 027b53dd92e3d1a23c56d85e006a9bb5e63314f9 Author: Amol Lad Date: Fri Dec 8 02:40:06 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/retz3fb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cf2014aad58076aa22faacf27742d9610dea05d Author: Amol Lad Date: Fri Dec 8 02:40:05 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/stifb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4bf051b4f3121c5abdde836b1429e4a4459adb4 Author: Amol Lad Date: Fri Dec 8 02:40:04 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/tgafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a02f6402d5a18f5a4fd35cb82887c1097d0f7792 Author: Amol Lad Date: Fri Dec 8 02:40:03 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/tridentfb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Cc: Knut Petersen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b88a57cc645c59a3652f391f8069b15d42ac0762 Author: Amol Lad Date: Fri Dec 8 02:40:02 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/vesafb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef26dd7ffa305382aabcd95fd574d01808a65c41 Author: Amol Lad Date: Fri Dec 8 02:40:02 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/video/virgefb ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd607d23ff4cc004da2986d0b264a972c6a2da3e Author: Sergei Shtylyov Date: Fri Dec 8 02:40:01 2006 -0800 [PATCH] sl82c105: straighten up IDE control/status register caching Straighten up the IDE control/status register caching -- you *really* can't cache the shared register per-channel and hope that it won't get out ouf sync. Set the PIO fallback mode to PIO0 for the slave drive as well as master -- there was no point in having them different (most probably a resutl of typo). Do a bit of reformat and cleanup while at it... Signed-off-by: Sergei Shtylyov Acked-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b10a06866600d1eda9e72ff328999e70f077fb3a Author: Sergei Shtylyov Date: Fri Dec 8 02:39:59 2006 -0800 [PATCH] pdc202xx_new: fix PIO mode setup Fix pdcnew_tune_drive() to always set the PIO mode requested, not pick the best possible one, change pdcnew_config_drive_xfer_rate() accordingly, and get rid of the duplicate tuneproc() call in config_chipset_for_dma(). Signed-off-by: Sergei Shtylyov Cc: Alan Cox Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1489009963b8c5132f2ffe23483e811d9ae5607 Author: Alan Cox Date: Fri Dec 8 02:39:58 2006 -0800 [PATCH] ide: more conversion to pci_get APIs This completes IDE except for one use which requires a new core PCI function and will be polished up at the end Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b49a257850fb8ad91f4c76bb712e9213141a34a Author: Eric W. Biederman Date: Fri Dec 8 02:39:57 2006 -0800 [PATCH] sysctl: fix sys_sysctl interface of ipc sysctls Currently there is a regression and the ipc sysctls don't show up in the binary sysctl namespace. This patch adds sysctl_ipc_data to read data/write from the appropriate namespace and deliver it in the expected manner. [akpm@osdl.org: warning fix] Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9bc9a6bd3cf559bffe962c51efb062e8b5270ca9 Author: Eric W. Biederman Date: Fri Dec 8 02:39:56 2006 -0800 [PATCH] sysctl: simplify ipc ns specific sysctls Refactor the ipc sysctl support so that it is simpler, more readable, and prepares for fixing the bug with the wrong values being returned in the sys_sysctl interface. The function proc_do_ipc_string() was misnamed as it never handled strings. It's magic of when to work with strings and when to work with longs belonged in the sysctl table. I couldn't tell if the code would work if you disabled the ipc namespace but it certainly looked like it would have problems. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c4b8b769fa9051838d2772886ecd0ee2a926ddc3 Author: Eric W. Biederman Date: Fri Dec 8 02:39:55 2006 -0800 [PATCH] sysctl: implement sysctl_uts_string() The problem: When using sys_sysctl we don't read the proper values for the variables exported from the uts namespace, nor do we do the proper locking. This patch introduces sysctl_uts_string which properly fetches the values and does the proper locking. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf9f151c7257683f489df85f94baf408d1d5694a Author: Eric W. Biederman Date: Fri Dec 8 02:39:55 2006 -0800 [PATCH] sysctl: simplify sysctl_uts_string The binary interface to the namespace sysctls was never implemented resulting in some really weird things if you attempted to use sys_sysctl to read your hostname for example. This patch series simples the code a little and implements the binary sysctl interface. In testing this patch series I discovered that our 32bit compatibility for the binary sysctl interface is imperfect. In particular KERN_SHMMAX and KERN_SMMALL are size_t sized quantities and are returned as 8 bytes on to 32bit binaries using a x86_64 kernel. However this has existing for a long time so it is not a new regression with the namespace work. Gads the whole sysctl thing needs work before it stops being easy to shoot yourself in the foot. Looking forward a little bit we need a better way to handle sysctls and namespaces as our current technique will not work for the network namespace. I think something based on the current overlapping sysctl trees will work but the proc side needs to be redone before we can use it. This patch: Introduce get_uts() and put_uts() (used later) and remove most of the special cases for when UTS namespace is compiled in. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b1b60f41eef3ba7b188fd72f1d6de478aafd93c Author: Don Mullis Date: Fri Dec 8 02:39:53 2006 -0800 [PATCH] fault-injection: defaults likely to please a new user Assign defaults most likely to please a new user: 1) generate some logging output (verbose=2) 2) avoid injecting failures likely to lock up UI (ignore_gfp_wait=1, ignore_gfp_highmem=1) Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1729c28a37e4f11ea5d9f468ab26adadb1aadab Author: Don Mullis Date: Fri Dec 8 02:39:53 2006 -0800 [PATCH] fault-injection: optimize and simplify should_fail() Trivial optimization and simplification of should_fail(). Do cheaper disqualification tests first (performance gain not quantified). Simplify logic; eliminate goto. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a124c28ef85d9b780c418b2c5d8f01cd6a06ff3e Author: Don Mullis Date: Fri Dec 8 02:39:52 2006 -0800 [PATCH] fault-injection: Clamp debugfs stacktrace-depth to MAX_STACK_TRACE_DEPTH Clamp /debug/fail*/stacktrace-depth to MAX_STACK_TRACE_DEPTH. Ensures that a read of /debug/fail*/stacktrace-depth always returns a truthful answer. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08b3df2d16cbebf7d72c09dcbc071696c14d07e3 Author: Don Mullis Date: Fri Dec 8 02:39:51 2006 -0800 [PATCH] fault-injection: Use bool-true-false throughout Use bool-true-false throughout. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d0ffa2b84e6f0fdc5bf96c0de6178f3d2779544 Author: Don Mullis Date: Fri Dec 8 02:39:50 2006 -0800 [PATCH] fault-injection: Correct, disambiguate, and reformat documentation Correct, disambiguate, and reformat documentation. Signed-off-by: Don Mullis Cc: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83ba254688f0edd6fa29512e538c721f1f46a424 Author: Andrew Morton Date: Fri Dec 8 02:39:49 2006 -0800 [PATCH] fault-injection: stacktrace filtering kconfig fix `select' doesn't work very well. With alpha `make allmodconfig' we end up with CONFIG_STACKTRACE enabled, so we end up with undefined save_stacktrace() at link time. Cc: Akinobu Mita Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ab8509a31187998615e6dd7f53cc02db5be594c Author: Andrew Morton Date: Fri Dec 8 02:39:49 2006 -0800 [PATCH] fault-injection Kconfig cleanup - Fix some spelling and grammatical errors - Make the Kconfig menu more conventional. First you select fault-injection, then under that you select particular clients of it. Cc: Akinobu Mita Cc: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 329409aeda064c4aff00c51f837fcd3bbdaeeba6 Author: Akinobu Mita Date: Fri Dec 8 02:39:48 2006 -0800 [PATCH] fault injection: stacktrace filtering This patch provides stacktrace filtering feature. The stacktrace filter allows failing only for the caller you are interested in. For example someone may want to inject kmalloc() failures into only e100 module. they want to inject not only direct kmalloc() call, but also indirect allocation, too. - e100_poll --> netif_receive_skb --> packet_rcv_spkt --> skb_clone --> kmem_cache_alloc This patch enables to detect function calls like this by stacktrace and inject failures. The script Documentaion/fault-injection/failmodule.sh helps it. The range of text section of loaded e100 is expected to be [/sys/module/e100/sections/.text, /sys/module/e100/sections/.exit.text) So failmodule.sh stores these values into /debug/failslab/address-start and /debug/failslab/address-end. The maximum stacktrace depth is specified by /debug/failslab/stacktrace-depth. Please see the example that demonstrates how to inject slab allocation failures only for a specific module in Documentation/fault-injection/fault-injection.txt [dwm@meer.net: reject failure if any caller lies within specified range] Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4f154fd920b2178382a6a24a236348e4429ebc1 Author: Akinobu Mita Date: Fri Dec 8 02:39:47 2006 -0800 [PATCH] fault injection: process filtering for fault-injection capabilities This patch provides process filtering feature. The process filter allows failing only permitted processes by /proc//make-it-fail Please see the example that demostrates how to inject slab allocation failures into module init/cleanup code in Documentation/fault-injection/fault-injection.txt Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c17bb4951752d3e0f49cd1ea9d2e868422f9e0d6 Author: Akinobu Mita Date: Fri Dec 8 02:39:46 2006 -0800 [PATCH] fault-injection capability for disk IO This patch provides fault-injection capability for disk IO. Boot option: fail_make_request=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where disk IO can be issued safely in bytes. -- specifies how many times failures may happen at most. Debugfs: /debug/fail_make_request/interval /debug/fail_make_request/probability /debug/fail_make_request/specifies /debug/fail_make_request/times Example: fail_make_request=10,100,0,-1 echo 1 > /sys/blocks/hda/hda1/make-it-fail generic_make_request() on /dev/hda1 fails once per 10 times. Cc: Jens Axboe Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 933e312e73f8fc39652bd4d216a5393cc3a014b9 Author: Akinobu Mita Date: Fri Dec 8 02:39:45 2006 -0800 [PATCH] fault-injection capability for alloc_pages() This patch provides fault-injection capability for alloc_pages() Boot option: fail_page_alloc=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where memory can be allocated safely in pages. -- specifies how many times failures may happen at most. Debugfs: /debug/fail_page_alloc/interval /debug/fail_page_alloc/probability /debug/fail_page_alloc/specifies /debug/fail_page_alloc/times /debug/fail_page_alloc/ignore-gfp-highmem /debug/fail_page_alloc/ignore-gfp-wait Example: fail_page_alloc=10,100,0,-1 The page allocation (alloc_pages(), ...) fails once per 10 times. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a8b6502fb669c3a0638a08955442814cedc86b1 Author: Akinobu Mita Date: Fri Dec 8 02:39:44 2006 -0800 [PATCH] fault-injection capability for kmalloc This patch provides fault-injection capability for kmalloc. Boot option: failslab=,,, -- specifies the interval of failures. -- specifies how often it should fail in percent. -- specifies the size of free space where memory can be allocated safely in bytes. -- specifies how many times failures may happen at most. Debugfs: /debug/failslab/interval /debug/failslab/probability /debug/failslab/specifies /debug/failslab/times /debug/failslab/ignore-gfp-highmem /debug/failslab/ignore-gfp-wait Example: failslab=10,100,0,-1 slab allocation (kmalloc(), kmem_cache_alloc(),..) fails once per 10 times. Cc: Pekka Enberg Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6ff1cb355e628f8fc55fa2d01e269e5e1bbc2fe9 Author: Akinobu Mita Date: Fri Dec 8 02:39:43 2006 -0800 [PATCH] fault-injection capabilities infrastructure This patch provides base functions implement to fault-injection capabilities. - The function should_fail() is taken from failmalloc-1.0 (http://www.nongnu.org/failmalloc/) [akpm@osdl.org: cleanups, comments, add __init] Cc: Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de1ba09b214056365d9082982905b255caafb7a2 Author: Akinobu Mita Date: Fri Dec 8 02:39:42 2006 -0800 [PATCH] fault injection: documentation and scripts This patch set provides some fault-injection capabilities. - kmalloc() failures - alloc_pages() failures - disk IO errors We can see what really happens if those failures happen. In order to enable these fault-injection capabilities: 1. Enable relevant config options (CONFIG_FAILSLAB, CONFIG_PAGE_ALLOC, CONFIG_MAKE_REQUEST) and if you want to configure them via debugfs, enable CONFIG_FAULT_INJECTION_DEBUG_FS. 2. Build and boot with this kernel 3. Configure fault-injection capabilities behavior by boot option or debugfs - Boot option failslab= fail_page_alloc= fail_make_request= - Debugfs /debug/failslab/* /debug/fail_page_alloc/* /debug/fail_make_request/* Please refer to the Documentation/fault-injection/fault-injection.txt for details. 4. See what really happens. Signed-off-by: Akinobu Mita Signed-off-by: Don Mullis Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b3bb06bea649396490094780f90d315c152f6ab Author: Yan Burman Date: Fri Dec 8 02:39:41 2006 -0800 [PATCH] nfsd: replace kmalloc+memset with kcalloc + simplify NULL check Replace kmalloc+memset with kcalloc and simplify Signed-off-by: Yan Burman Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14d2b59e8c1634ceb995097b162592b0af139578 Author: Jesper Juhl Date: Fri Dec 8 02:39:40 2006 -0800 [PATCH] NFS3: Calculate 'w' a bit later in nfs3svc_encode_getaclres() NFS3: Calculate 'w' a bit later in nfs3svc_encode_getaclres() This is a small performance optimization since we can return before needing 'w'. It also saves a few bytes of .text : Before: text data bss dec hex filename 1632 140 0 1772 6ec fs/nfsd/nfs3acl.o After: text data bss dec hex filename 1624 140 0 1764 6e4 fs/nfsd/nfs3acl.o Signed-off-by: Jesper Juhl Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb65a5ba3dcef3184ef1ba026b1e268bd1a9323f Author: Jesper Juhl Date: Fri Dec 8 02:39:39 2006 -0800 [PATCH] NFS2: Calculate 'w' a bit later in nfsaclsvc_encode_getaclres() NFS2: Calculate 'w' a bit later in nfsaclsvc_encode_getaclres() This is a small performance optimization since we can return before needing 'w'. It also saves a few bytes of .text : Before: text data bss dec hex filename 2406 212 0 2618 a3a fs/nfsd/nfs2acl.o After: text data bss dec hex filename 2400 212 0 2612 a34 fs/nfsd/nfs2acl.o Signed-off-by: Jesper Juhl Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b75f78edcab291eb29fe9a205cbf7b80c1c644f Author: Peter Zijlstra Date: Fri Dec 8 02:39:38 2006 -0800 [PATCH] lockdep: annotate nfsd4 recover code > ============================================= > [ INFO: possible recursive locking detected ] > 2.6.18-1.2724.lockdepPAE #1 > --------------------------------------------- > nfsd/6884 is trying to acquire lock: > (&inode->i_mutex){--..}, at: [] vfs_rmdir+0x73/0xf4 > > but task is already holding lock: > (&inode->i_mutex){--..}, at: [] > nfsd4_clear_clid_dir+0x1f/0x3d [nfsd] > > other info that might help us debug this: > 3 locks held by nfsd/6884: > #0: (hash_sem){----}, at: [] nfsd+0x181/0x2ea [nfsd] > #1: (client_mutex){--..}, at: [] > nfsd4_setclientid_confirm+0x3b/0x2cf [nfsd] > #2: (&inode->i_mutex){--..}, at: [] > nfsd4_clear_clid_dir+0x1f/0x3d [nfsd] > > stack backtrace: > [] dump_trace+0x69/0x1af > [] show_trace_log_lvl+0x18/0x2c > [] show_trace+0xf/0x11 > [] dump_stack+0x15/0x17 > [] __lock_acquire+0x110/0x9b6 > [] lock_acquire+0x5c/0x7a > [] __mutex_lock_slowpath+0xde/0x234 > [] vfs_rmdir+0x73/0xf4 > [] nfsd4_clear_clid_dir+0x29/0x3d [nfsd] > [] nfsd4_remove_clid_dir+0xb8/0xf8 [nfsd] > [] nfsd4_setclientid_confirm+0x1b2/0x2cf [nfsd] > [] nfsd4_proc_compound+0x137a/0x166c [nfsd] > [] nfsd_dispatch+0xc5/0x180 [nfsd] > [] svc_process+0x3bd/0x631 [sunrpc] > [] nfsd+0x19a/0x2ea [nfsd] > [] kernel_thread_helper+0x7/0x10 > DWARF2 unwinder stuck at kernel_thread_helper+0x7/0x10 > Leftover inexact backtrace: > ======================= Some nesting annotation to the nfsd4 recovery code. The vfs operations called will take dentry->d_inode->i_mutex. Signed-off-by: Peter Zijlstra Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit df61bec3ae8983984070db24ae481fe7297a6dff Author: Jeff Garzik Date: Fri Dec 8 02:39:37 2006 -0800 [PATCH] ISDN: fix warnings * diva, sedlbauer: the 'ready' label is only used in certain configurations * hfc_pci: - cast 'arg' to proper size for testing and printing - print out 'void __iomem *' variables with %p, rather than using incorrect casts that throw warnings Signed-off-by: Jeff Garzik Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 281f15e6d9bfe18f200119bf8ffcbc67e8a33718 Author: Adrian Bunk Date: Fri Dec 8 02:39:36 2006 -0800 [PATCH] i4l: remove the broken HISAX_AMD7930 option HISAX_AMD7930 was never anywhere near to being working, and this doesn't seem to change in the forseeable future. Signed-off-by: Adrian Bunk Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41f96935b4c41daea2c4dbbf137960375cf764c1 Author: Burman Yan Date: Fri Dec 8 02:39:35 2006 -0800 [PATCH] isdn: replace kmalloc+memset with kzalloc Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b2dd130a5a8774a30de1f94266f6b9a9892153c Author: Alexey Dobriyan Date: Fri Dec 8 02:39:34 2006 -0800 [PATCH] drivers/isdn/*: trivial vsnprintf() conversion Signed-off-by: Alexey Dobriyan Acked-by: Alan Cox Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6e2cdc8aa395ea813603bfd81b70b5c461a8ebf Author: Jesper Juhl Date: Fri Dec 8 02:39:34 2006 -0800 [PATCH] ISDN: Avoid a potential NULL ptr deref in ippp There's a potential problem in isdn_ppp.c::isdn_ppp_decompress(). dev_alloc_skb() may fail and return NULL. If it does we will be passing a NULL skb_out to ipc->decompress() and may also end up dereferencing a NULL pointer at *proto = isdn_ppp_strip_proto(skb_out); Correct this by testing 'skb_out' against NULL early and bail out. Signed-off-by: Jesper Juhl Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba6d14aff4112b9518856d2d3979a386cb3a2945 Author: Akinobu Mita Date: Fri Dec 8 02:39:33 2006 -0800 [PATCH] isdn: fix missing unregister_capi_driver unregister_capi_driver() needs to be called in module cleanup. (It fixes data corruption by reloading t1isa driver) Cc: Kai Germaschewski Acked-by: Karsten Keil Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e2de257cf15d0508d29fa8a54a0dad78de4e75eb Author: Amol Lad Date: Fri Dec 8 02:39:32 2006 -0800 [PATCH] drivers/isdn: Handcrafted MIN/MAX Macro removal Cleanups done to use min/max macros from kernel.h. Handcrafted MIN/MAX macros are changed to use macros in kernel.h [akpm@osdl.org: warning fix] Signed-off-by: Amol Lad Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90cc301859ea8840634324a7f5b9680312377667 Author: Jiri Slaby Date: Fri Dec 8 02:39:31 2006 -0800 [PATCH] Char: cyclades, fix warnings fix gcc signed/unsigned warnings Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 096dcfce39f952292b019a2c42c241782c9ca226 Author: Jiri Slaby Date: Fri Dec 8 02:39:30 2006 -0800 [PATCH] Char: cyclades, cleanup - remove cvs rcsid and alter code that uses it. - allow a semicolon after use of macro to not confuse parsers (e.g. indent) by do {} while (0) - JIFFIES_DIFF is simple subtraction, subtract directly - returns cleanup -- do not put values in parenthesis and do not return nothing at the end of void functions - comments are /* */ in C (not //) Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02f1175c8737802b5609aa2c0b1fb3ca2c23069f Author: Jiri Slaby Date: Fri Dec 8 02:39:28 2006 -0800 [PATCH] Char: cyclades, Lindent the code make the code indented by tabs. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e941027f53648ac3384057032be1ac64da3e8cd0 Author: Jiri Slaby Date: Fri Dec 8 02:39:28 2006 -0800 [PATCH] Char: cyclades, save indent levels Save 3 indent levels in interrupt routine by moving the code to a separate function. This needs to be done to allow Lindent do its work, since only 4 columns are used for indenting now and hence Lindent makes a big mess in the code, when moves it 4*5 columns to the right. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff8efe978d18e2479f998c4722c1eaafd7cd2dd9 Author: Jiri Slaby Date: Fri Dec 8 02:39:27 2006 -0800 [PATCH] Char: istallion, use mod_timer Do not set expires by hand, use kernel helper, which also calls add_timer. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec3dde578a969ea4b0a8c3d45e02d73abab1b2d3 Author: Jiri Slaby Date: Fri Dec 8 02:39:26 2006 -0800 [PATCH] Char: istallion, dynamic tty device register tty device dynamically according to the count of board ports. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2362c9411e914642ffe216e10987bb9aae2a480 Author: Jiri Slaby Date: Fri Dec 8 02:39:25 2006 -0800 [PATCH] Char: istallion, change init sequence Reorganizate module init and exit and implement logic, when something fails in these functions. The former is needed for proper handling dynamic tty_register_device. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1cc54f8c6ad76cf41e21cbb4620b9549b882a01 Author: Jiri Slaby Date: Fri Dec 8 02:39:24 2006 -0800 [PATCH] Char: istallion, move init and exit code Let's have these function at the end of the driver and expand stli_init directly into module_init fucntion, since there is nothing other to have there. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 140e92abe2bc9a0cd3ccfd11744ff4eb65319bb3 Author: Jiri Slaby Date: Fri Dec 8 02:39:24 2006 -0800 [PATCH] Char: istallion, fix enabling Enable ISA cards before pci_register_driver and then, enable each PCI card in probe function. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f8f5a5808ffc322c9c59e44fc3c0306d4f92ea4 Author: Jiri Slaby Date: Fri Dec 8 02:39:23 2006 -0800 [PATCH] Char: istallion, correct fail paths Check more retvals and react somehow. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 390141728f2165889a8154bfb3ddddf6d95d9b8d Author: Jiri Slaby Date: Fri Dec 8 02:39:22 2006 -0800 [PATCH] Char: istallion, free only isa Only ISA cards should be freed in module exit. Pci probed are freed in pci_remove. Define a flag, where we store this info a what to check against. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b103b5cfcb8e6703b40124da631adfdd1470d878 Author: Jiri Slaby Date: Fri Dec 8 02:39:21 2006 -0800 [PATCH] Char: istallion, brdnr locking Kill possible race when getting brdnr by locking. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a00f33f3ab6385ef24f6e88bf970e8ac32b24099 Author: Jiri Slaby Date: Fri Dec 8 02:39:20 2006 -0800 [PATCH] Char: istallion, ifdef eisa code Disable compiling eisa stuff if STLI_EISAPROBE == 0. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1328d737f510e9933a621f66aa8de81c02b647a7 Author: Jiri Slaby Date: Fri Dec 8 02:39:19 2006 -0800 [PATCH] Char: istallion, variables cleanup - wipe gcc -W warnings by int -> uint conversion - move 2 global variables into their local place Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f8ec435e3516eb831bb98110cc2b2b28057154b Author: Jiri Slaby Date: Fri Dec 8 02:39:18 2006 -0800 [PATCH] Char: istallion, eliminate typedefs Use only struct instead of defining a new type . Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3f8d9d5e1e00e5953d7727f0b8426224af2ca15 Author: Jiri Slaby Date: Fri Dec 8 02:39:18 2006 -0800 [PATCH] Char: istallion, remove the mess - remove unneeded license text - remove functions, that are implemented in kernel -- call them (strtoul, min, tolower) - do not cast NULL - there is no static table, throw away code, which takes care of it -- find module param cards in that place instead. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 845bead4c3f2a65d2c25f0cb2fe82444b9057cbc Author: Jiri Slaby Date: Fri Dec 8 02:39:17 2006 -0800 [PATCH] Char: istallion, convert to pci probing Use probing for pci devices. Change some __inits to __devinits to use these functions in probe function. Create stli_cleanup_ports and move there cleanup code from module_exit() code to not have duplicite cleanup code. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aeaccfe42510d2c009a2c36452d220a5f4a0363e Author: Jiri Slaby Date: Fri Dec 8 02:39:16 2006 -0800 [PATCH] Char: stallion, use dynamic dev Use dynamic tty device registering depending on board's port count. (i -> retval change is relevant, since gcc complains about signedness of i) Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b2c9457bb377bf843f0a3ca2f4eb2ef69c67985 Author: Jiri Slaby Date: Fri Dec 8 02:39:15 2006 -0800 [PATCH] Char: stallion, variables cleanup - fix `gcc -W' un/signed warnings by converting some ints -> uints. - move 3 global variables into functions, where are they used. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c62429d93e003043109a0af86cb6bf1da45a1b71 Author: Jiri Slaby Date: Fri Dec 8 02:39:14 2006 -0800 [PATCH] Char: stallion, remove syntactic sugar Remove useless parenthesis and brackets. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 79cfe7ab54dbf2784159f5be6b665153cafcee3c Author: Jiri Slaby Date: Fri Dec 8 02:39:14 2006 -0800 [PATCH] Char: stallion, brd struct locking Since assigning of stl_brds[brdnr] is racy, add locking to this critical section. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fc06b5cf858787934110b9398d2d5a0c0493c1dd Author: Jiri Slaby Date: Fri Dec 8 02:39:13 2006 -0800 [PATCH] Char: stallion, fix fail paths Release everything what was allocated and check return value of isa probing. Release only ISA boards in module exit, since pci have their own pci-probing-remove. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 843b568cf0c800b87e48fcfb171a7a83318db39c Author: Jiri Slaby Date: Fri Dec 8 02:39:12 2006 -0800 [PATCH] Char: stallion, functions cleanup Delete macros and functions, that are implemented in kernel yet (strtoul, min, tolower). Expand one function body in place, where it is called from. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 705c186241844ba2103d15fc210dbf1def9bc3f0 Author: Jiri Slaby Date: Fri Dec 8 02:39:11 2006 -0800 [PATCH] Char: stallion, correct __init macros Some functions are now called from pci probing functiuon which is __devinit, not __init, correct this to not free functions after init if hotplug enabled. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b85b3413df1feb2b4ef17d829c1ee895fc64075 Author: Jiri Slaby Date: Fri Dec 8 02:39:10 2006 -0800 [PATCH] Char: stallion, implement fail paths This driver expect everything to work. Implement fail paths logic to release regions, irq hangler, memory... if something is in bad state. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fefaf9a789607d3a997d3d05bd2a72586ae0c901 Author: Jiri Slaby Date: Fri Dec 8 02:39:09 2006 -0800 [PATCH] Char: stallion, prints cleanup Too many information is printed out (they may be easily obtained through sysfs), wipe them out in probe function. Convert rest of them to dev_ variants. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1b84fe0d76b89534da706372ef719bbaa9fef0a Author: Jiri Slaby Date: Fri Dec 8 02:39:09 2006 -0800 [PATCH] Char: stallion, convert to pci probing Convert stallion driver to pci probing instead of pci_dev_get iteration. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30f4218ffc5500e6a622a680f01133f9af65f07d Author: Jiri Slaby Date: Fri Dec 8 02:39:08 2006 -0800 [PATCH] Char: sx, request regions Check regions if they are free before we touch them. Release them in failpaths. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39103494fd0c5325763edd06c88b121a5c21516e Author: Jiri Slaby Date: Fri Dec 8 02:39:07 2006 -0800 [PATCH] Char: sx, use pci_iomap Use pci_ friends for memory remapping of pci devices. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eb9976f10354f0e3bc1a52b66b9cf857ff41088 Author: Jiri Slaby Date: Fri Dec 8 02:39:06 2006 -0800 [PATCH] Char: sx, fix return in module init If pci_register_driver fails, but eisa_driver_register doesn't, we don't call misc_deregister, but returns error. Return OK in such cases. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9594643c095da0a0ad4d5f0a1ff357a84e91524 Author: Jiri Slaby Date: Fri Dec 8 02:39:05 2006 -0800 [PATCH] Char: sx, simplify timer logic Use kernel helpers for changing timer internals. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15b611f63f0fb8709a5fae498c2d688b5d05edc9 Author: Jiri Slaby Date: Fri Dec 8 02:39:04 2006 -0800 [PATCH] Char: sx, whitespace cleanup Use Lindent to cleanup whitespace. Wrap long lines by hand. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55e7071a3c6cdb65fb5ce3ea9c692a8d78ed0844 Author: Jiri Slaby Date: Fri Dec 8 02:39:03 2006 -0800 [PATCH] Char: sx, remove duplicite code sx_remove_code contents were used twice. Call this function instead. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42f6384fe4747f65dc27e8a5f96502204558203b Author: Jiri Slaby Date: Fri Dec 8 02:39:03 2006 -0800 [PATCH] Char: sx, lock boards struct Fix race condition which may occurs when multiple cards are probed at the same time. Add mutex to critical sections to avoid this situation. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 927a6f9dd0d0b5f70cb2e0799ce7a3844f43d42f Author: Jiri Slaby Date: Fri Dec 8 02:39:02 2006 -0800 [PATCH] Char: sx, ifdef ISA code Most users won't need old probe code -- make it depndent on CONFIG_(E)ISA. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18f813ee693eaf51ad313020b725b118a891c3ee Author: Jiri Slaby Date: Fri Dec 8 02:39:01 2006 -0800 [PATCH] Char: sx, use eisa probing Instead of finding eisa directly, use eisa probing. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cda5265e7c5ba5f23c83f2f0693fef392b39e7e5 Author: Jiri Slaby Date: Fri Dec 8 02:39:00 2006 -0800 [PATCH] Char: sx, mark functions as devinit Mark as much as possible functions as __devinit to free them after driver initialization (if no hotplug). Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a7cb69badb4ca11fe0ba09aafac5c284922fc8f Author: Jiri Slaby Date: Fri Dec 8 02:38:59 2006 -0800 [PATCH] Char: sx, use kcalloc Convert self-implemented kzalloc to kernel kcalloc. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5572e10323a7d3cdccf639225553a6e2542049bd Author: Jiri Slaby Date: Fri Dec 8 02:38:58 2006 -0800 [PATCH] Char: sx, convert to pci probing Convert old pci code to pci probing. Cc: Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17c4edf0c8ee670de7b33d2a24eddd7c6b7edcf6 Author: Jiri Slaby Date: Fri Dec 8 02:38:57 2006 -0800 [PATCH] Char: isicom, fix tty index check Since tty->index is signed and may be < 0, we should assign this to int not uint. There is already a check to ensure if it is not negative, but gcc complains with -W flag enabled and it is perfectly correct: drivers/char/isicom.c:953: warning: comparison of unsigned expression < 0 is always false Fix this issue by converting `line' variable from uint to int. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11c838772d58d9807b1cb7fa4e0bec1b0302e318 Author: Jiri Slaby Date: Fri Dec 8 02:38:56 2006 -0800 [PATCH] Char: isicom, remove cvs stuff We don't need RCS_ID & co. Extract them from the code and define only one macro -- SX_VERSION. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34b55b865ed12494e23b09b5d2e8da22047fd6a7 Author: Jiri Slaby Date: Fri Dec 8 02:38:55 2006 -0800 [PATCH] Char: isicom, simplify timer Don't init timer in such complicated way. Use DEFINE_TIMER and then only mod_timer to reset the expiration. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 906cdecbedae93e3f63651000f620acddf4debe9 Author: Jiri Slaby Date: Fri Dec 8 02:38:55 2006 -0800 [PATCH] Char: isicom, use completion Use wait_for_completion+complete instead of variables+msleep hack. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0671378426d9768bf20d5e0f8389374dcdc2abf Author: Jiri Slaby Date: Fri Dec 8 02:38:54 2006 -0800 [PATCH] Char: isicom, check kmalloc retval Value returned from kamlloc may be NULL, we should check if ENOMEM occured. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 78028da91e05146c9ce0c9db2fea53e0cded1e81 Author: Jiri Slaby Date: Fri Dec 8 02:38:53 2006 -0800 [PATCH] Char: isicom, use pci_request_region Use pci_request_region in pci probing function instead of request_region. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 938a7023bbbc626b0ab7ece13fe8cb26cfcc486b Author: Jiri Slaby Date: Fri Dec 8 02:38:52 2006 -0800 [PATCH] Char: isicom, move to tty_register_device Instead of registering all devices in register_tty_driver, register devices in probe function and register only port_count devices. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8acef8fcab2d824c1c445857f457fb04facc765d Author: Jiri Slaby Date: Fri Dec 8 02:38:51 2006 -0800 [PATCH] Char: isicom, remove unneeded memset Memsetting of global static variables is not needed in the init code. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18234f88bc27473f15293a03c83bcb53da9018b4 Author: Jiri Slaby Date: Fri Dec 8 02:38:51 2006 -0800 [PATCH] Char: isicom, remove isa code ISA is not supported by this driver, remove parts, that take care of this. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca26200511776a0b54c5c832efde48ee6445a738 Author: Jiri Slaby Date: Fri Dec 8 02:38:50 2006 -0800 [PATCH] Char: isicom, rename init function Rename init function from setup to init and mark it as __init, not __devinit. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09a4a112559f4e93bb07d9683972e9064ae0418f Author: Jiri Slaby Date: Fri Dec 8 02:38:49 2006 -0800 [PATCH] Char: isicom, expand function Simple functions (those, that calls reuest_irq, request_region et al) may be expanded directly in code. It makes probe function more readable and transparent. Signed-off-by: Jiri Slaby Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 592ee3a5e5e2a981ef2829a0380093006d045661 Author: Alan Cox Date: Fri Dec 8 02:38:48 2006 -0800 [PATCH] termios: Enable new style termios ioctls on x86-64 This turns on the split input/output speed features and arbitary baud rate handling for the x86-64 platform. Nothing should break if you use existing standard speeds. If you use the new speed stuff then you may see some drivers failing to report the speed changes properly in error cases. This will be worked on further. For the working cases this all seems happy. I'll post a test suite used to test the basic stuff as well. Patches for i386 will follow when I get a moment but are basically the same. If people could patch/test-suite other architectures and submit them that would be great. Signed-off-by: Alan Cox Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64bb6c5e1ddcd47c951740485026ef08975ee2e6 Author: Alan Cox Date: Fri Dec 8 02:38:47 2006 -0800 [PATCH] tty_ioctl: use termios for the old structure and termios2 for the new Having split out the user and kernel structures it turns out that some non glibc C libraries pull their termios struct from the kernel headers directly or indirectly. This means we must keep "struct termios" as the library sees it correct for the old ioctls. Not a big problem just shuffle the names and ifdef around a bit [akpm@osdl.org: build fix] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 606d099cdd1080bbb50ea50dc52d98252f8f10a1 Author: Alan Cox Date: Fri Dec 8 02:38:45 2006 -0800 [PATCH] tty: switch to ktermios This is the grungy swap all the occurrences in the right places patch that goes with the updates. At this point we have the same functionality as before (except that sgttyb() returns speeds not zero) and are ready to begin turning new stuff on providing nobody reports lots of bugs If you are a tty driver author converting an out of tree driver the only impact should be termios->ktermios name changes for the speed/property setting functions from your upper layers. If you are implementing your own TCGETS function before then your driver was broken already and its about to get a whole lot more painful for you so please fix it 8) Also fill in c_ispeed/ospeed on init for most devices, although the current code will do this for you anyway but I'd like eventually to lose that extra paranoia [akpm@osdl.org: bluetooth fix] [mp3@de.ibm.com: sclp fix] [mp3@de.ibm.com: warning fix for tty3270] [hugh@veritas.com: fix tty_ioctl powerpc build] [jdike@addtoit.com: uml: fix ->set_termios declaration] Signed-off-by: Alan Cox Signed-off-by: Martin Peschke Acked-by: Peter Oberparleiter Cc: Cornelia Huck Signed-off-by: Hugh Dickins Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edc6afc5496875a640bef0913604be7550c1795d Author: Alan Cox Date: Fri Dec 8 02:38:44 2006 -0800 [PATCH] tty: switch to ktermios and new framework This is the core of the switch to the new framework. I've split it from the driver patches which are mostly search/replace and would encourage people to give this one a good hard stare. The references to BOTHER and ISHIFT are the termios values that must be defined by a platform once it wants to turn on "new style" ioctl support. The code patches here ensure that providing 1. The termios overlays the ktermios in memory 2. The only new kernel only fields are c_ispeed/c_ospeed (or none) the existing behaviour is retained. This is true for the patches at this point in time. Future patches will define BOTHER, ISHIFT and enable newer termios structures for each architecture, and once they are all done some of the ifdefs also vanish. [akpm@osdl.org: warning fix] [akpm@osdl.org: IRDA fix] Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be90038a24c814dc98bc5a813f41855779000018 Author: Alan Cox Date: Fri Dec 8 02:38:43 2006 -0800 [PATCH] tty: preparatory structures for termios revamp In order to sort out our struct termios and add proper speed control we need to separate the kernel and user termios structures. Glibc is fine but the other libraries rely on the kernel exported struct termios and we need to extend this without breaking the ABI/API To do so we add a struct ktermios which is the kernel view of a termios structure and overlaps the struct termios with extra fields on the end for now. (That limitation will go away in later patches). Some platforms (eg alpha) planned ahead and thus use the same struct for both, others did not. This just adds the structures but does not use them, it seems a sensible splitting point for bisect if there are compile failures (not that I expect them) Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 96b066b85c8e5b28fa7f25a7f0644f70f46b8881 Author: Jiri Slaby Date: Fri Dec 8 02:38:42 2006 -0800 [PATCH] Char: stallion, remove many prototypes Many prototypes are useless, since functions are declared before they are called. Also some code was easy to move to resolve this dependency and delete prototypes. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40e82652128f67ffc2d8117e186736a92a15d64c Author: Jiri Slaby Date: Fri Dec 8 02:38:41 2006 -0800 [PATCH] Char: stallion, mark functions as init Use __init macro for functions, that may be freed after initialization. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60be481089524b88fc777433494c6842f1f652a4 Author: Jiri Slaby Date: Fri Dec 8 02:38:40 2006 -0800 [PATCH] Char: stallion, uninline functions - Do not inline such long functions, it won't speed up anything. - Remove prototypes of these functions. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23b85a152b4598ae007db7d5a5318458ea2fd647 Author: Jiri Slaby Date: Fri Dec 8 02:38:40 2006 -0800 [PATCH] Char: stallion, move init/deinit - Move code from stl_init into module init function, because calling it was the only one thing, that it did. - Move this code to the end of the driver (usual place for this) to resolve dependencies simply -- without prototypes. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca7ed0f22f4876986b2eb1fbd80ba78e07fd69d5 Author: Jiri Slaby Date: Fri Dec 8 02:38:39 2006 -0800 [PATCH] Char: stallion, kill typedefs Typedefs are considered ugly in the kernel. Eliminate them. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 615e4a71ec68ac4b56787affbe7249b52380688c Author: Jiri Slaby Date: Fri Dec 8 02:38:38 2006 -0800 [PATCH] Char: stallion, remove unneeded casts casts of NULL are unnecessary. And so casts to (void *) are. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0564e145525cf1ccbe17e0e3cd38db3b9e1b523 Author: Jiri Slaby Date: Fri Dec 8 02:38:37 2006 -0800 [PATCH] Char: stallion, use pr_debug macro Use pr_debug kernel macro instead of #ifdef DEBUG | printk() | #endif Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95a7b8b9a6453de2c52e469d1afdef80ca4607ae Author: Andrew Morton Date: Fri Dec 8 02:38:36 2006 -0800 [PATCH] mxser-workqueue-fixes Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e930790d2b2ed2166e68858f0068e629bfcf5c33 Author: Jiri Slaby Date: Fri Dec 8 02:38:35 2006 -0800 [PATCH] mxser_new: correct tty driver name Mxser tty driver name should be ttyMI, not ttyM. Correct this in mxser_new to avoid conflicts with isicom driver, which is ttyM. Acked-by: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d735410a275991db736b3c8d7ef2e17ee114f5a6 Author: Jiri Slaby Date: Fri Dec 8 02:38:35 2006 -0800 [PATCH] isicom, mxser MAINTAINERS update I can maintain moxa and isicom char drivers, because I've rewritten them to the new API. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8b74de92ef5b53d45d32934955cbb6e14812a5f Author: Jiri Slaby Date: Fri Dec 8 02:38:34 2006 -0800 [PATCH] Char: mxser_new, clean macros Celan redundant macros. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2094e757afb9ecf2daf433e54e02b61f99bf487f Author: Jiri Slaby Date: Fri Dec 8 02:38:33 2006 -0800 [PATCH] Char: mxser_new, pci probing Finally, the intention of the patch serie: PCI probing for this driver. add pci_driver structure, (un)register it and add some stuff, which this needs. Remove pdev pointer from board structure, because it's no longer needed. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5dbda701fe9eba7a36205326c4a3e72a8206d576 Author: Jiri Slaby Date: Fri Dec 8 02:38:32 2006 -0800 [PATCH] Char: mxser_new, delete ttys and termios - Driver uses global tty_struct array, which tries to assign to the tty_driver's ttys. - the very same thing for termios - the same for termios_locked Kill such constructions. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1d1c8dd35aa95fbeb7051eee9811fc2475a81f4 Author: Jiri Slaby Date: Fri Dec 8 02:38:31 2006 -0800 [PATCH] Char: mxser_new, correct intr handler proto Prototype of the driver's interrupt handler is old-fashioned, past changes tell us, we won't get pt_regs as the 3rd argument. There are only 2 params. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e079f495b77726fafb77dd531873ec0daac34078 Author: Jiri Slaby Date: Fri Dec 8 02:38:31 2006 -0800 [PATCH] Char: mxser_new, comments cleanup mxser_new, comments cleanup - Remove commented code, since we have version control. - Remove comments containing "following added by..." and "above added by,..". It's useless. - Align other comments. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 925e9c1c08750096ddb4634f5d06b5451e4a92a8 Author: Jiri Slaby Date: Fri Dec 8 02:38:30 2006 -0800 [PATCH] Char: mxser_new, reverse if-else-paths patch This patch was intorduced in mxser to 1.9.1 conversion, but causes endless sleep in tcdrain userspace call. Thanks to Sergei Organov for testing and pointing this out. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd7ed64e1508d3275c20d072bf9037028ec34f56 Author: Jiri Slaby Date: Fri Dec 8 02:38:29 2006 -0800 [PATCH] Char: mxser_new, compact structures, round2 Too many structures are in the driver for each type of card. Make only one for all cards and appropriate alter the code. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 938ef1804049eb1c527e25568ff70c6a2a2bfdcc Author: Jiri Slaby Date: Fri Dec 8 02:38:28 2006 -0800 [PATCH] Char: mxser_new, register tty devices on the fly Register tty indexes only for real devices, udev then creates nodes for them (and only for them). Move tty_register_driver before probing, to be correct when calling tty_register_device. Also tell tty layer by tty_driver flags, that we are registering devices. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eae4436a4e513f5f912dcc5dac79038f22fb6403 Author: Jiri Slaby Date: Fri Dec 8 02:38:27 2006 -0800 [PATCH] Char: mxser_new, compress isa finding ISA cards finding was too complex -- 2 (module params + predefined) absolutely same routines, join them together with one for loop, one if and one indent level. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ead568c9cdab2592abdbd1f023931665cc24b5db Author: Jiri Slaby Date: Fri Dec 8 02:38:26 2006 -0800 [PATCH] Char: mxser_new, don't check tty_unregister retval Like other drivers silently unregister_tty_driver and put_tty_driver. It shouldn't be busy when module release function is called, since we are not bsd, no refs shouldn't be held. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 171d3a86788eef4f751b88265bac393c3232dbdd Author: Jiri Slaby Date: Fri Dec 8 02:38:25 2006 -0800 [PATCH] Char: mxser_new, correct fail paths Resources were not released in some fail paths. Correct this behaviour by implementing function and calling it when something fails. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 214efebba86260a0fb3ef84b9f5707b58cbc227b Author: Jiri Slaby Date: Fri Dec 8 02:38:25 2006 -0800 [PATCH] Char: mxser_new, testbit for bit testing Use testbit like in tty subsystem for TTY_IO_ERROR testing. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e8bcf9add02176be7e052b1f0675f7a462eaf3d Author: Jiri Slaby Date: Fri Dec 8 02:38:24 2006 -0800 [PATCH] Char: mxser_new, eliminate tty ldisc deref Use tty_ldisc_flush and tty_wakeup helpers for accessing ldisc internals. Cc: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6faa3778ff69309bd3673412f0eb1e7ffee9ff83 Author: Jiri Slaby Date: Fri Dec 8 02:38:23 2006 -0800 [PATCH] char: remove unneded termbits redefinitions (mxser_new) No need to redefine termbits in char tree. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1241f34eb21d01e000b827c74c098bfdca6eefc Author: Jiri Slaby Date: Fri Dec 8 02:38:22 2006 -0800 [PATCH] Char: mxser_new, CMSPAR is defined There is no need to have another (ifndeffed) definition of CMSPAR. It's defined in includes. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8dea4ec8012b5f55f8a68819a1809fe70635e29 Author: Jiri Slaby Date: Fri Dec 8 02:38:21 2006 -0800 [PATCH] Char: mxser_new, code upside down Reorder functions upside down not to have too many prototypes of each function and have some order (similar to other drivers). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c88cb8f952e28d11af6b168eca28c08560009cca Author: Jiri Slaby Date: Fri Dec 8 02:38:20 2006 -0800 [PATCH] Char: mxser_new, alter license terms - We don't need useless paragraphs in license terms. - Add me to copyright. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f5899252b5052387ee983d67bbc55eafd33a516 Author: Jiri Slaby Date: Fri Dec 8 02:38:20 2006 -0800 [PATCH] Char: mxser_new, debug printk dependent on DEBUG Print some debug info only when DEBUG is enabled (use pr_debug macro). Eliminate verbose kernel parameter which takes care of this. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7eafa3245be66b3db5d430e2fb3414b1a32298a Author: Jiri Slaby Date: Fri Dec 8 02:38:19 2006 -0800 [PATCH] Char: mxser_new, remove request for testers line Remove printk with info we are looking for a tester. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eba529ecf76fcea5f82ceaf803b030d5e0ce71f7 Author: Jiri Slaby Date: Fri Dec 8 02:38:18 2006 -0800 [PATCH] Char: mxser_new, revert spin_lock changes Some spinlock changes were introduced in 1.9.1 original moxa driver. Revert them, since they cause machine not responding. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06cc86b5bd4edcf5e7d68624f7d5c9951916f3d1 Author: Jiri Slaby Date: Fri Dec 8 02:38:17 2006 -0800 [PATCH] Char: mxser_new, kill unneeded memsets mxser_new, kill unneeded memsets There is no need to re-zero static global variables' memory, hence memsets doing this are useless. alloc_tty_struct also zeroes allocated memory: another candidate for removing. This fixes also a bug -- global structures are cleaned up after initialization of some its parts. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a7a5c3303a66c9000f270d6dd03ddeda8c80768 Author: Jiri Slaby Date: Fri Dec 8 02:38:17 2006 -0800 [PATCH] char: mxser_new, check request_region retvals mxser_new, check request_region retvals Return values of (pci_)request_region should be checked and error should be returned if something is in bad state. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 596280156afa99cb02f2193e0e06e6e4f2434f30 Author: Jiri Slaby Date: Fri Dec 8 02:38:16 2006 -0800 [PATCH] char: mxser_new, pci_request_region for pci regions mxser_new, pci_request_region for pci regions Use pci_request_region instead of standard request_region for pci device regions. More checking, simplier use. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 943f295903e152f940ba4260d1e790a05d2f64a3 Author: Jiri Slaby Date: Fri Dec 8 02:38:15 2006 -0800 [PATCH] char: mxser_new, use __(dev)init macros mxser_new, use __(dev)init macros Let kernel know what can be freed after init of the driver. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55b307da3e00b2281788860eefb42976a86d7752 Author: Jiri Slaby Date: Fri Dec 8 02:38:14 2006 -0800 [PATCH] Char: mxser_new, rework to allow dynamic structs This patch is preparation for further patches (pci probing) to allow allocated structures to be private data in pci_dev structure. Union two different structures used in the driver (hw_conf and port/board descriptor) to another 2: port and board not to initialize 2 different things and to have ports contained in board structure. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3306ce3d0554e2e59cc429b7133e17e1513307cb Author: Jiri Slaby Date: Fri Dec 8 02:38:13 2006 -0800 [PATCH] Char: mxser_new, upgrade to 1.9.1 Change cloned experimental driver according to original 1.9.1 moxa driver. Some int->ulong conversions, outb ~UART_IER_THRI constant. Remove commented stuff. I also added printk line with info, if somebody wants to test it, he may contact me as I can potentially debug the driver with him or just to confirm it works properly. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 771f2d1af80b6b8f3b23203d7d6b93bbe93435a8 Author: Jiri Slaby Date: Fri Dec 8 02:38:12 2006 -0800 [PATCH] Char: mxser_new, correct include file include mxser_new.h instead of original mxser.h Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08a4ae44a7f5a0106c38de95adfd31b2a654b109 Author: Andrew Morton Date: Fri Dec 8 02:38:12 2006 -0800 [PATCH] mxser: session warning fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 037ad48bdb5bb009cbc49b1ad49ed78877df2d57 Author: Jiri Slaby Date: Fri Dec 8 02:38:11 2006 -0800 [PATCH] mxser: make an experimental clone Clone a new driver for moxa smartio devices by copying mxser.c to mxser_new.c and mxser.h to mxser_new.h. No other changes are made. This is for purposes of updating the driver to the latest vendor version. Signed-off-by: Jiri Slaby Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1187ece3db310cb1e7cd75083dc7253dbac39675 Author: Alan Cox Date: Fri Dec 8 02:38:10 2006 -0800 [PATCH] mxser: PCI refcounts Switch to pci ref counts for mxser when handling PCI devices. Use pci_get_device and drop the reference when we finish and unload. Signed-off-by: Alan Cox Cc: Greg KH Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae25f8ecdf65cd3e79e077dc0dba46416134d00c Author: Jiri Slaby Date: Fri Dec 8 02:38:09 2006 -0800 [PATCH] mxser: correct tty driver name Mxser tty driver name should be ttyMI, not ttyM. Correct this in mxser to avoid conflicts with isicom driver, which is ttyM. Acked-by: Alan Cox Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10731b88a2725e0f1b21394433c8e53fde6a3634 Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:08 2006 -0800 [PATCH] Generic ioremap_page_range: sh64 conversion Convert SH64 to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b3e1a85c2145813898ac50530c70e6d03a6aa19 Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:07 2006 -0800 [PATCH] Generic ioremap_page_range: sh conversion Convert SH to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Signed-off-by: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a151ca62d7c28d67a8ca0e950452b5208d1d572d Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:06 2006 -0800 [PATCH] Generic ioremap_page_range: s390 conversion Convert S390 to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e34067fdd2bf7a6e62808b9bbc49d2b2a1357216 Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:05 2006 -0800 [PATCH] Generic ioremap_page_range: parisc conversion Convert parisc to use generic ioremap_page_range() Signed-off-by: Haavard Skinnemoen Acked-by: Kyle McMartin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e087929df884dbb13e383d49d192bdd6928ecbf Author: Haavard Skinnemoen Date: Fri Dec 8 02:38:04 2006 -0800 [PATCH] Generic ioremap_page_range: mips conversion Convert MIPS to use generic ioremap_page_range() [yoichi_yuasa@tripeaks.co.jp: build fix] Signed-off-by: Haavard Skinnemoen Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62dfb5541a025b47df9405ff0219c7829a97d83b Author: Oleg Nesterov Date: Fri Dec 8 02:38:03 2006 -0800 [PATCH] session_of_pgrp: kill unnecessary do_each_task_pid(PIDTYPE_PGID) All members of the process group have the same sid and it can't be == 0. NOTE: this code (and a similar one in sys_setpgid) was needed because it was possibe to have ->session == 0. It's not possible any longer since [PATCH] pidhash: don't use zero pids Commit: c7c6464117a02b0d54feb4ebeca4db70fa493678 Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f020bc468fe4a91d32046d448511978c7b611315 Author: Oleg Nesterov Date: Fri Dec 8 02:38:02 2006 -0800 [PATCH] sys_setpgid: eliminate unnecessary do_each_task_pid(PIDTYPE_PGID) All tasks in the process group have the same sid, we don't need to iterate them all to check that the caller of sys_setpgid() doesn't change its session. Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84d737866e2babdeab0c6b18ea155c6a649663b8 Author: Sukadev Bhattiprolu Date: Fri Dec 8 02:38:01 2006 -0800 [PATCH] add child reaper to pid_namespace Add a per pid_namespace child-reaper. This is needed so processes are reaped within the same pid space and do not spill over to the parent pid space. Its also needed so containers preserve existing semantic that pid == 1 would reap orphaned children. This is based on Eric Biederman's patch: http://lkml.org/lkml/2006/2/6/285 Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cc1b22a4acef3816eaa5f8c227d93d749b23195 Author: Cedric Le Goater Date: Fri Dec 8 02:38:00 2006 -0800 [PATCH] use current->nsproxy->pid_ns Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a575a92db3312a40cdf0b0406d88de88ad9741e Author: Cedric Le Goater Date: Fri Dec 8 02:37:59 2006 -0800 [PATCH] to nsproxy Add the pid namespace framework to the nsproxy object. The copy of the pid namespace only increases the refcount on the global pid namespace, init_pid_ns, and unshare is not implemented. There is no configuration option to activate or deactivate this feature because this not relevant for the moment. Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61a58c6c238cc81f7742b8cc84212cc55fb57747 Author: Sukadev Bhattiprolu Date: Fri Dec 8 02:37:58 2006 -0800 [PATCH] rename struct pspace to struct pid_namespace Rename struct pspace to struct pid_namespace for consistency with other namespaces (uts_namespace and ipc_namespace). Also rename include/linux/pspace.h to include/linux/pid_namespace.h and variables from pspace to pid_ns. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 373beb35cd6b625e0ba4ad98baace12310a26aa8 Author: Cedric Le Goater Date: Fri Dec 8 02:37:57 2006 -0800 [PATCH] identifier to nsproxy Add an identifier to nsproxy. The default init_ns_proxy has identifier 0 and allocated nsproxies are given -1. This identifier will be used by a new syscall sys_bind_ns. Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b3286ed1169d74fea401367d6d4d6c6ec758a81 Author: Kirill Korotaev Date: Fri Dec 8 02:37:56 2006 -0800 [PATCH] rename struct namespace to struct mnt_namespace Rename 'struct namespace' to 'struct mnt_namespace' to avoid confusion with other namespaces being developped for the containers : pid, uts, ipc, etc. 'namespace' variables and attributes are also renamed to 'mnt_ns' Signed-off-by: Kirill Korotaev Signed-off-by: Cedric Le Goater Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ec320afdc9552c92191d5f89fcd1ebe588334ca Author: Cedric Le Goater Date: Fri Dec 8 02:37:55 2006 -0800 [PATCH] add process_session() helper routine: deprecate old field Add an anonymous union and ((deprecated)) to catch direct usage of the session field. [akpm@osdl.org: fix various missed conversions] [jdike@addtoit.com: fix UML bug] Signed-off-by: Jeff Dike Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 937949d9edbf4049bd41af6c9f92c26280584564 Author: Cedric Le Goater Date: Fri Dec 8 02:37:54 2006 -0800 [PATCH] add process_session() helper routine Replace occurences of task->signal->session by a new process_session() helper routine. It will be useful for pid namespaces to abstract the session pid number. Signed-off-by: Cedric Le Goater Cc: Kirill Korotaev Cc: Eric W. Biederman Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef55d53caa055aedee13e77da82740987dd64f2d Author: David Howells Date: Fri Dec 8 02:37:53 2006 -0800 [PATCH] LOG2: Provide ilog2() fallbacks for powerpc Provide ilog2() fallbacks for powerpc for 32-bit numbers and 64-bit numbers on ppc64. Signed-off-by: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39d61db0edb34d60b83c5e0d62d0e906578cc707 Author: David Howells Date: Fri Dec 8 02:37:52 2006 -0800 [PATCH] LOG2: Alter get_order() so that it can make use of ilog2() on a constant Alter get_order() so that it can make use of ilog2() on a constant to produce a constant value, retaining the ability for an arch to override it in the non-const case. Signed-off-by: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 312a0c170945b49f319960afd2e492c05f9dd551 Author: David Howells Date: Fri Dec 8 02:37:51 2006 -0800 [PATCH] LOG2: Alter roundup_pow_of_two() so that it can use a ilog2() on a constant Alter roundup_pow_of_two() so that it can make use of ilog2() on a constant to produce a constant value, retaining the ability for an arch to override it in the non-const case. This permits the function to be used to initialise variables. Signed-off-by: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0d1b0b30d250a07627ad8b9fbbb5c7cc08422e8 Author: David Howells Date: Fri Dec 8 02:37:49 2006 -0800 [PATCH] LOG2: Implement a general integer log2 facility in the kernel This facility provides three entry points: ilog2() Log base 2 of unsigned long ilog2_u32() Log base 2 of u32 ilog2_u64() Log base 2 of u64 These facilities can either be used inside functions on dynamic data: int do_something(long q) { ...; y = ilog2(x) ...; } Or can be used to statically initialise global variables with constant values: unsigned n = ilog2(27); When performing static initialisation, the compiler will report "error: initializer element is not constant" if asked to take a log of zero or of something not reducible to a constant. They treat negative numbers as unsigned. When not dealing with a constant, they fall back to using fls() which permits them to use arch-specific log calculation instructions - such as BSR on x86/x86_64 or SCAN on FRV - if available. [akpm@osdl.org: MMC fix] Signed-off-by: David Howells Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Herbert Xu Cc: David Howells Cc: Wojtek Kaniewski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3d7ae5f47a58a9f7b152deeaf7daa1fc558a8f1 Author: Josef Sipek Date: Fri Dec 8 02:37:48 2006 -0800 [PATCH] struct path: convert zorro Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad9a824e004067a3d888567a991603f1ac36efb2 Author: Josef Sipek Date: Fri Dec 8 02:37:48 2006 -0800 [PATCH] struct path: convert video Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 723731b2eef6599cf09af1fbfe0b12857b439e2d Author: Josef Sipek Date: Fri Dec 8 02:37:47 2006 -0800 [PATCH] struct path: convert v4l Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33cb89940082c54f348062db2f8bab6cf8fed816 Author: Josef Sipek Date: Fri Dec 8 02:37:46 2006 -0800 [PATCH] struct path: convert usb Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 592ccbf9fba665031765d9bb0f6c1ede1fa62f96 Author: Josef Sipek Date: Fri Dec 8 02:37:45 2006 -0800 [PATCH] struct path: convert unix Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 763454d6108ad1c6d4e1013321aef8bf5efb3a4f Author: Josef Sipek Date: Fri Dec 8 02:37:45 2006 -0800 [PATCH] struct path: convert ufs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5096e933a943c23bd9314b0ac7e14d07073cb2e5 Author: Josef Sipek Date: Fri Dec 8 02:37:44 2006 -0800 [PATCH] struct path: convert udf Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5495ca657d854ac57733ce5a52eee52255b3f4d8 Author: Josef Sipek Date: Fri Dec 8 02:37:43 2006 -0800 [PATCH] struct path: convert sysv Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 303b46bb77a4b1679fd39d7ab5597630743e0ff5 Author: Josef Sipek Date: Fri Dec 8 02:37:42 2006 -0800 [PATCH] struct path: convert sunrpc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1250ca4c8f48de482ec7c476cb024fe93ad1fbb3 Author: Josef Sipek Date: Fri Dec 8 02:37:41 2006 -0800 [PATCH] struct path: convert sparc64 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e079810a27d4a072347d90d405948f95cee812 Author: Josef Sipek Date: Fri Dec 8 02:37:41 2006 -0800 [PATCH] struct path: convert sparc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bc563239e4c276afebd11d2e6e67ddc0cc65f0d Author: Josef Sipek Date: Fri Dec 8 02:37:40 2006 -0800 [PATCH] struct path: convert sound Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17b75e69493f655a09908045eddbb48718aef5de Author: Josef Sipek Date: Fri Dec 8 02:37:39 2006 -0800 [PATCH] struct path: convert smbfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c943c4b49c75f3cae89e5d993ce1ae859395caa2 Author: Josef Sipek Date: Fri Dec 8 02:37:38 2006 -0800 [PATCH] struct path: convert sh Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3d5ff529ea222461a5fa3c4df05cbdc5eb56864d Author: Josef Sipek Date: Fri Dec 8 02:37:38 2006 -0800 [PATCH] struct path: convert selinux Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ac6207b2a6a5b828bc333f2530a3bd48197af3e Author: Josef Sipek Date: Fri Dec 8 02:37:37 2006 -0800 [PATCH] struct path: convert scsi Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7fa95f726aba6033d7baffcfda484c31b8cfe153 Author: Josef Sipek Date: Fri Dec 8 02:37:36 2006 -0800 [PATCH] struct path: convert sbus Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d20343e7406a114a561030e683fafc4fdbc9c6bd Author: Josef Sipek Date: Fri Dec 8 02:37:35 2006 -0800 [PATCH] struct path: convert s390 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49522c97ac1c19188ff63598cdd0c980ba7f1239 Author: Josef Sipek Date: Fri Dec 8 02:37:34 2006 -0800 [PATCH] struct path: convert s390-drivers Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3027795e7b873da643e851d62d17f6bcc43d6e4a Author: Josef Sipek Date: Fri Dec 8 02:37:34 2006 -0800 [PATCH] struct path: convert romfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fc5adbd1916793c19d25347f484806c124d9be7 Author: Josef Sipek Date: Fri Dec 8 02:37:33 2006 -0800 [PATCH] struct path: convert reiserfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a57c4d65f70cb43c8503bc213c8be638011c22e7 Author: Josef Sipek Date: Fri Dec 8 02:37:32 2006 -0800 [PATCH] struct path: convert ramfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24e23c24e7a4754e50439dfc33bdbd05b09c4cc5 Author: Josef Sipek Date: Fri Dec 8 02:37:32 2006 -0800 [PATCH] struct path: convert qnx4 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2c8bbadbf6532e48025c9065231244f0c477c29 Author: Josef Sipek Date: Fri Dec 8 02:37:31 2006 -0800 [PATCH] struct path: convert ppc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4d1ab58c016f4dffef4ff1eb392fa84e3c35024 Author: Josef Sipek Date: Fri Dec 8 02:37:30 2006 -0800 [PATCH] struct path: convert powerpc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40fad04b224db982cce5f6226ebe3ceb6529b781 Author: Josef Sipek Date: Fri Dec 8 02:37:29 2006 -0800 [PATCH] struct path: convert pcmcia Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46cc65a767f458aec4d342b814a661a15dc31be1 Author: Josef Sipek Date: Fri Dec 8 02:37:28 2006 -0800 [PATCH] struct path: convert pci Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0c5a5566892de5b240c89b9f72eb1c2e861206a0 Author: Josef Sipek Date: Fri Dec 8 02:37:28 2006 -0800 [PATCH] struct path: convert parisc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1fb1430b14db30b8f113ddb4db389d316386f20b Author: Josef Sipek Date: Fri Dec 8 02:37:27 2006 -0800 [PATCH] struct path: convert oprofile Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80a067801d8cc9384f17991b90811f87ceab8225 Author: Josef Sipek Date: Fri Dec 8 02:37:26 2006 -0800 [PATCH] struct path: convert openpromfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d28c91740ae2cd1d963f9e4e3889789894cb6d52 Author: Josef Sipek Date: Fri Dec 8 02:37:25 2006 -0800 [PATCH] struct path: convert ocfs2 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6db5fc5d536560e31978c6911b1f5662e42083ac Author: Josef Sipek Date: Fri Dec 8 02:37:25 2006 -0800 [PATCH] struct path: convert netlink Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6df81ab22700aadbbefaf0aa00bb9a18f9f54028 Author: Josef Sipek Date: Fri Dec 8 02:37:24 2006 -0800 [PATCH] struct path: convert netfilter Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3126a42c4d40c2b963f880cd5c1e00f0b4fb0dc9 Author: Josef Sipek Date: Fri Dec 8 02:37:23 2006 -0800 [PATCH] struct path: convert net Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92e5baef8578a03335059a3dec933955c361edc1 Author: Josef Sipek Date: Fri Dec 8 02:37:22 2006 -0800 [PATCH] struct path: convert ncpfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17506041de973bdc718b9a255d822e571b12b421 Author: Josef Sipek Date: Fri Dec 8 02:37:22 2006 -0800 [PATCH] struct path: convert nbd Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9536ae7205d255bc94616b72910fc6e16c861fe Author: Josef Sipek Date: Fri Dec 8 02:37:21 2006 -0800 [PATCH] struct path: convert mm Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b04fe9a8ef10774174897b15d753b9de85fe9e9 Author: Josef Sipek Date: Fri Dec 8 02:37:20 2006 -0800 [PATCH] struct path: convert mips Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dcf258ae682c2dbbe1a34624f2b3f56353d3874d Author: Josef Sipek Date: Fri Dec 8 02:37:19 2006 -0800 [PATCH] struct path: convert minix Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c649bb9c55e78dcff0e1383c13d91e0bfc2abb4a Author: Josef Sipek Date: Fri Dec 8 02:37:19 2006 -0800 [PATCH] struct path: convert md Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 225a719f79fbc4d0cd9d9ebc5b2e3ac0e95845aa Author: Josef Sipek Date: Fri Dec 8 02:37:18 2006 -0800 [PATCH] struct path: convert lockd Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7a005fd12b84392becca311f2a20d5bf2a1b7af Author: Josef Sipek Date: Fri Dec 8 02:37:17 2006 -0800 [PATCH] struct path: convert kernel Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff273773bfd4f2131bad1318e56519fcceac2339 Author: Josef Sipek Date: Fri Dec 8 02:37:16 2006 -0800 [PATCH] struct path: convert jfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec2e203c8297d576c74a101cebd657bc1f180dd1 Author: Josef Sipek Date: Fri Dec 8 02:37:16 2006 -0800 [PATCH] struct path: convert jffs2 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d832d460e13dd9c2cc93739ac0fd75bd8645e93 Author: Josef Sipek Date: Fri Dec 8 02:37:15 2006 -0800 [PATCH] struct path: convert jffs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d1f229744ece0b7aa7ce89ecd1fb598b90305d5b Author: Josef Sipek Date: Fri Dec 8 02:37:14 2006 -0800 [PATCH] struct path: convert ixj Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4482dfad69d783d1df03ed3952838451a249985e Author: Josef Sipek Date: Fri Dec 8 02:37:13 2006 -0800 [PATCH] struct path: convert isdn Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b23463b9b94a00baf4cc3cf835c366cffff715c2 Author: Josef Sipek Date: Fri Dec 8 02:37:13 2006 -0800 [PATCH] struct path: convert isapnp Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 780884144248cbb6945b191c9867741bb8c0ad35 Author: Josef Sipek Date: Fri Dec 8 02:37:12 2006 -0800 [PATCH] struct path: convert ipmi Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d63079adde80bb549528371e6407f88e9d27bc3 Author: Josef Sipek Date: Fri Dec 8 02:37:11 2006 -0800 [PATCH] struct path: convert ipc Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cfd6e648b5ea21b0d48bf6f18b129e4576557d5 Author: Josef Sipek Date: Fri Dec 8 02:37:10 2006 -0800 [PATCH] struct path: convert infiniband Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4db61081fac72623eb638f918819046361ff1508 Author: Josef Sipek Date: Fri Dec 8 02:37:10 2006 -0800 [PATCH] struct path: convert ieee1394 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b66ffad90429a2ed84c6e8954d205539f6cc86a9 Author: Josef Sipek Date: Fri Dec 8 02:37:09 2006 -0800 [PATCH] struct path: convert ia64 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba0a128434f1fae6f90ba9f1fedf18be7abcf48 Author: Josef Sipek Date: Fri Dec 8 02:37:08 2006 -0800 [PATCH] struct path: convert i2c-drivers Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b39424e274a17c9c3233c9911dd328b10370de8f Author: Josef Sipek Date: Fri Dec 8 02:37:07 2006 -0800 [PATCH] struct path: convert hugetlbfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 471b17e7ed0cb29338458eaa09103902891d802a Author: Josef Sipek Date: Fri Dec 8 02:37:07 2006 -0800 [PATCH] struct path: convert hppfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 575800b3ccd51246f6bac3a07e253f72a61d74b9 Author: Josef Sipek Date: Fri Dec 8 02:37:06 2006 -0800 [PATCH] struct path: convert hpfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 680b0da9b10d97ddf3c325bf03ae8425ebf4fdec Author: Josef Sipek Date: Fri Dec 8 02:37:05 2006 -0800 [PATCH] struct path: convert hostfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f44ea03102a021b9c36cc82c7b6312cd23f23b3d Author: Josef Sipek Date: Fri Dec 8 02:37:04 2006 -0800 [PATCH] struct path: convert hfsplus Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c528896004793065b5ffd710e1cd844603ad8518 Author: Josef Sipek Date: Fri Dec 8 02:37:04 2006 -0800 [PATCH] struct path: convert hfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81454098f7c54118d290cd503bda2a41e3ac43fb Author: Josef Sipek Date: Fri Dec 8 02:37:03 2006 -0800 [PATCH] struct path: convert gfs2 Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7706a9d6183da7701a9bca7155bccfcd182c670a Author: Josef Sipek Date: Fri Dec 8 02:37:02 2006 -0800 [PATCH] struct path: convert fuse Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f70ceccb8e9159118c1ac65a245b16406d9e721 Author: Josef Sipek Date: Fri Dec 8 02:37:01 2006 -0800 [PATCH] struct path: convert frv Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a90cd248deca1ceaf417c9a04bf3be6026e7a64 Author: Josef Sipek Date: Fri Dec 8 02:37:01 2006 -0800 [PATCH] struct path: convert freevxfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0191f2055cd16a2252219c621329b52d8b67194e Author: Josef Sipek Date: Fri Dec 8 02:37:00 2006 -0800 [PATCH] struct path: convert efs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc5ef55fd0d81f70b0afc86817aa1d305fd6aeaa Author: Josef Sipek Date: Fri Dec 8 02:36:59 2006 -0800 [PATCH] struct path: convert drm Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d817be9ca8766b521f6195f57281284c5ab0ff4c Author: Josef Sipek Date: Fri Dec 8 02:36:58 2006 -0800 [PATCH] struct path: convert cris Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 352d8af748a1bee0935987b811c9fc4693803d99 Author: Josef Sipek Date: Fri Dec 8 02:36:58 2006 -0800 [PATCH] struct path: convert cramfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f04538c38134edf5f424dc24fda6ef46da736734 Author: Josef Sipek Date: Fri Dec 8 02:36:57 2006 -0800 [PATCH] struct path: convert cosa Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4176d326d76ddea457a5e42ac8c2e3aed3430b1 Author: Josef Sipek Date: Fri Dec 8 02:36:56 2006 -0800 [PATCH] struct path: convert coda Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a7113a966241b700aecc7b8cb326cecb62e3c4b2 Author: Josef Sipek Date: Fri Dec 8 02:36:55 2006 -0800 [PATCH] struct path: convert char-drivers Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c648be6f4183775679c1f2cc4d094128f104fb2 Author: Josef Sipek Date: Fri Dec 8 02:36:55 2006 -0800 [PATCH] struct path: convert block_drivers Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c5a20b6c26efb58c2ba2ebebcc65748f5b92f662 Author: Josef Sipek Date: Fri Dec 8 02:36:54 2006 -0800 [PATCH] struct path: convert block Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61a8424ab8f611d199bfc8ca329ec0ea77a4d4ea Author: Josef Sipek Date: Fri Dec 8 02:36:53 2006 -0800 [PATCH] struct path: convert bfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28f375fd6ff266d8e321648b36456f696cfae220 Author: Josef Sipek Date: Fri Dec 8 02:36:52 2006 -0800 [PATCH] struct path: convert befs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76a0f17429f5dd82186eec2ee2f37f5a5237d1a8 Author: Josef Sipek Date: Fri Dec 8 02:36:52 2006 -0800 [PATCH] struct path: convert atm Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ac0352bb20c5a8c051218c689d263b4591d50e1 Author: Josef Sipek Date: Fri Dec 8 02:36:51 2006 -0800 [PATCH] struct path: convert alpha Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1d56a96956158d0fb1902c56ffa0e38caa39bddb Author: Josef Sipek Date: Fri Dec 8 02:36:50 2006 -0800 [PATCH] struct path: convert afs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 514653e25962c37b11fe648e4ef1c1130f697bcb Author: Josef Sipek Date: Fri Dec 8 02:36:50 2006 -0800 [PATCH] struct path: convert adfs Signed-off-by: Josef Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e678fb0d523c118fc2f903d62cb54c89b6b68185 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:49 2006 -0800 [PATCH] xfs: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the xfs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd243a4b4b028d65a8178db5b57f8ed2cfc9707d Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:48 2006 -0800 [PATCH] ecryptfs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ecryptfs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6a002964cf376c2acb1d67c4741044dcd3b1622 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:48 2006 -0800 [PATCH] cifs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the cifs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 867fa491a2722cee6964a30dfda86e0e02dcb400 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:47 2006 -0800 [PATCH] configfs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the configfs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4669ed8ed982dab494c5d4f2b32921e5a6531d8 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:46 2006 -0800 [PATCH] autofs4: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the autofs4 filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81ed19b076f518e793283ccbd004fd0888877201 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:46 2006 -0800 [PATCH] autofs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the autofs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 010596cc311131421c7be3a73ee7174bda16d322 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:45 2006 -0800 [PATCH] affs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the affs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6f787bceeab37cd6b0823872efe01b2a20effb5 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:45 2006 -0800 [PATCH] 9p: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the 9p filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3ac7f892b7d07d61d0895caa4f6e190e43112f8 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:44 2006 -0800 [PATCH] mm: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in linux/mm/. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3a43f3f64bff8e205c3702f6b4804d66e306848 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:43 2006 -0800 [PATCH] kernel: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in linux/kernel/. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c941192aafe053ae445fb22f5d89bd34794c5442 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:43 2006 -0800 [PATCH] x86_64: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the x86_64 arch code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aab4c5a51cd6defc374ba1961c996781656d5283 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:42 2006 -0800 [PATCH] i386: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the i386 arch code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20d29372d3facfd078b4c7703637b951914d6759 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:41 2006 -0800 [PATCH] ntfs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ntfs filesystem code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eaa36e2d470ed63bf0c4e4dd8b09cc4a9e1c481 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:41 2006 -0800 [PATCH] nfsd: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the nfs server code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01cce933d8b524d9312f5098c70fa1b6ac190572 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:40 2006 -0800 [PATCH] nfs: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the nfs client code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2485822d51f8b338d289abe00eb7ce5249794a08 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:40 2006 -0800 [PATCH] isofs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the isofs filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dba32306099d6155b773ebe8fc5bcfab60d075d6 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:39 2006 -0800 [PATCH] fat: change uses of f_{dentry,vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the fat filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d549890e69156800878a486f832e92d8f3d7c97 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:38 2006 -0800 [PATCH] ext4: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext4 filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe21a69389165b9641a8d0b89e00a71c4e5f5d59 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:38 2006 -0800 [PATCH] ext3: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext3 filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c29c6934304a05781c9bd1611bd98870689f34e7 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:37 2006 -0800 [PATCH] ext2: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the ext2 filesystem. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2fddfeefeed703b7638af97aa3048f82a2d53b03 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:36 2006 -0800 [PATCH] proc: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the proc filesystem code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f427f5d5d6b0eb729505a2d9c0a6cad22734a74c Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:36 2006 -0800 [PATCH] sysfs: change uses of f_{dentry, vfsmnt} to use f_path Change all the uses of f_{dentry,vfsmnt} to f_path.{dentry,mnt} in the sysfs filesystem code. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f7fc9e4d03987fe29f6dd4aa67e4c56eb7ecb05 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:35 2006 -0800 [PATCH] VFS: change struct file to use struct path This patch changes struct file to use struct path instead of having independent pointers to struct dentry and struct vfsmount, and converts all users of f_{dentry,vfsmnt} in fs/ to use f_path.{dentry,mnt}. Additionally, it adds two #define's to make the transition easier for users of the f_dentry and f_vfsmnt. Signed-off-by: Josef "Jeff" Sipek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b65d34fd465f19fbe2f32f2205a9a06ca7c2bdeb Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:34 2006 -0800 [PATCH] struct path: make eCryptfs a user of struct path Convert eCryptfs dentry-vfsmount pairs in dentry private data to struct path. Signed-off-by: Josef "Jeff" Sipek Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 346f20ff6020ffa11d40b789069079c56a444ae6 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:34 2006 -0800 [PATCH] struct path: move struct path from fs/namei.c into include/linux Moved struct path from fs/namei.c to include/linux/namei.h. This allows many places in the VFS, as well as any stackable filesystem to easily keep track of dentry-vfsmount pairs. Signed-off-by: Josef "Jeff" Sipek Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c922d5f7f5457da9e9b5a26dd53e2dcef6ca2f7d Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:33 2006 -0800 [PATCH] struct path: rename DM's struct path Rename DM's struct path to struct dm_path to prevent name collision between it and struct path from fs/namei.c. Signed-off-by: Josef "Jeff" Sipek Acked-by: Alasdair G Kergon Cc: Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fec6d055da71fb02a76f9c2c12427fa79974018b Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:32 2006 -0800 [PATCH] struct path: rename Reiserfs's struct path Rename Reiserfs's struct path to struct treepath to prevent name collision between it and struct path from fs/namei.c. Signed-off-by: Josef "Jeff" Sipek Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0cc72dc7f050188d8d7344b1dd688cbc68d3cd30 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:31 2006 -0800 [PATCH] eCryptfs: Use fsstack's generic copy inode attr functions Replace eCryptfs specific code & calls with the more generic fsstack equivalents and remove the eCryptfs specific functions. Signed-off-by: Josef "Jeff" Sipek Cc: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 42cf11939becc717bd125d121a1a23415106a099 Author: Josef "Jeff" Sipek Date: Fri Dec 8 02:36:31 2006 -0800 [PATCH] fsstack: Introduce fsstack_copy_{attr,inode}_* Introduce several fsstack_copy_* functions which allow stackable filesystems (such as eCryptfs and Unionfs) to easily copy over (currently only) inode attributes. This prevents code duplication and allows for code reuse. [akpm@osdl.org: Remove unneeded wrapper] [bunk@stusta.de: fs/stack.c should #include ] Signed-off-by: Josef "Jeff" Sipek Cc: Michael Halcrow Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17b3cff079721bbc45e9d6de2fa3edb73561e27d Author: Akinobu Mita Date: Fri Dec 8 02:36:30 2006 -0800 [PATCH] isdn/gigaset: use bitrev8 Use bitrev8 for gigaset isdn driver. Acked-by: Karsten Keil Cc: Kai Germaschewski Acked-by: Hansjoerg Lipp Acked-by: Tilman Schmidt Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a8588578508a6c58a30ad1a7e23b285cfab49f3 Author: Akinobu Mita Date: Fri Dec 8 02:36:28 2006 -0800 [PATCH] atm/ambassador: use bitrev8 Use bitrev8 for ambassador driver. Cc: Chas Williams Cc: Giuliano Procida at Madge Networks Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60e657e377037d8ce82015903dd195851b7861ed Author: Akinobu Mita Date: Fri Dec 8 02:36:27 2006 -0800 [PATCH] isdn/hisax: use bitrev8 Use bitrev8 for hisax_st5481 driver. Acked-by: Karsten Keil Cc: Kai Germaschewski Cc: Frode Isaksen Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c6676825fe4cc03a71f253fc3e16ec17c6a3195 Author: Akinobu Mita Date: Fri Dec 8 02:36:26 2006 -0800 [PATCH] video: use bitrev8 Use bitrev8 for nvidiafb, rivafb, and tgafb drivers Cc: Antonino Daplas Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 906d66df18faa4aac8d898ae6920d1014694a932 Author: Akinobu Mita Date: Fri Dec 8 02:36:25 2006 -0800 [PATCH] crc32: replace bitreverse by bitrev32 This patch replaces bitreverse() by bitrev32. The only users of bitreverse() are crc32 itself and via-velocity. Cc: Jeff Garzik Cc: Matt Domsch Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5cfc1ec58a07074dacb6aa8c79eff864c966d12 Author: Akinobu Mita Date: Fri Dec 8 02:36:25 2006 -0800 [PATCH] bit reverse library This patch provides two bit reverse functions and bit reverse table. - reverse the order of bits in a u32 value u8 bitrev8(u8 x); - reverse the order of bits in a u32 value u32 bitrev32(u32 x); - byte reverse table const u8 byte_rev_table[256]; Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30e25b71e725b150585e17888b130e3324f8cf7c Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:24 2006 -0800 [PATCH] Fix generic WARN_ON message A warning is a warning, not a BUG. Signed-off-by: Jeremy Fitzhardinge Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8605aef813f8eb3ef4b80d32cba6a671ef8deb0 Author: Judith Lebzelter Date: Fri Dec 8 02:36:23 2006 -0800 [PATCH] use generic BUG for ppc Switch ppc over to using the generic BUG implementation. Signed-off-by: Judith Lebzelter Cc: Jeremy Fitzhardinge Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e182c965b6ce0dffed0967a1be2173825a2ede2f Author: Jeff Dike Date: Fri Dec 8 02:36:23 2006 -0800 [PATCH] UML: add generic BUG support The BUG changes in -mm3 need some arch support. This patch adds the UML support needed. For the most part, it was stolen from the underlying architecture. The exception is the kernel eip < PAGE_OFFSET test, which is wrong for skas mode UMLs. Signed-off-by: Jeff Dike Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c31a0bf3e1bc581676618db7492f18798fd0a73f Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:22 2006 -0800 [PATCH] Generic BUG for x86-64 This makes x86-64 use the generic BUG machinery. The main advantage in using the generic BUG machinery for x86-64 is that the inlined overhead of BUG is just the ud2a instruction; the file+line information are no longer inlined into the instruction stream. This reduces cache pollution. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Hugh Dickens Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91768d6c2bad0d2766a166f13f2f57e197de3458 Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:21 2006 -0800 [PATCH] Generic BUG for i386 This makes i386 use the generic BUG machinery. There are no functional changes from the old i386 implementation. The main advantage in using the generic BUG machinery for i386 is that the inlined overhead of BUG is just the ud2a instruction; the file+line(+function) information are no longer inlined into the instruction stream. This reduces cache pollution, and makes disassembly work properly. Signed-off-by: Jeremy Fitzhardinge Cc: Andi Kleen Cc: Hugh Dickens Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7664c5a1da4711bb6383117f51b94c8dc8f3f1cd Author: Jeremy Fitzhardinge Date: Fri Dec 8 02:36:19 2006 -0800 [PATCH] Generic BUG implementation This patch adds common handling for kernel BUGs, for use by architectures as they wish. The code is derived from arch/powerpc. The advantages of having common BUG handling are: - consistent BUG reporting across architectures - shared implementation of out-of-line file/line data - implement CONFIG_DEBUG_BUGVERBOSE consistently This means that in inline impact of BUG is just the illegal instruction itself, which is an improvement for i386 and x86-64. A BUG is represented in the instruction stream as an illegal instruction, which has file/line information associated with it. This extra information is stored in the __bug_table section in the ELF file. When the kernel gets an illegal instruction, it first confirms it might possibly be from a BUG (ie, in kernel mode, the right illegal instruction). It then calls report_bug(). This searches __bug_table for a matching instruction pointer, and if found, prints the corresponding file/line information. If report_bug() determines that it wasn't a BUG which caused the trap, it returns BUG_TRAP_TYPE_NONE. Some architectures (powerpc) implement WARN using the same mechanism; if the illegal instruction was the result of a WARN, then report_bug(Q) returns CONFIG_DEBUG_BUGVERBOSE; otherwise it returns BUG_TRAP_TYPE_BUG. lib/bug.c keeps a list of loaded modules which can be searched for __bug_table entries. The architecture must call module_bug_finalize()/module_bug_cleanup() from its corresponding module_finalize/cleanup functions. Unsetting CONFIG_DEBUG_BUGVERBOSE will reduce the kernel size by some amount. At the very least, filename and line information will not be recorded for each but, but architectures may decide to store no extra information per BUG at all. Unfortunately, gcc doesn't have a general way to mark an asm() as noreturn, so architectures will generally have to include an infinite loop (or similar) in the BUG code, so that gcc knows execution won't continue beyond that point. gcc does have a __builtin_trap() operator which may be useful to achieve the same effect, unfortunately it cannot be used to actually implement the BUG itself, because there's no way to get the instruction's address for use in generating the __bug_table entry. [randy.dunlap@oracle.com: Handle BUG=n, GENERIC_BUG=n to prevent build errors] [bunk@stusta.de: include/linux/bug.h must always #include Cc: Andi Kleen Cc: Hugh Dickens Cc: Michael Ellerman Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Rusty Russell Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c48f70c3d046f021b1c22438604ef2a583380eca Author: Peter Zijlstra Date: Fri Dec 8 02:36:18 2006 -0800 [PATCH] bdev: fix ->bd_part_count leak Don't leak a ->bd_part_count when the partition open fails with -ENXIO. Signed-off-by: Peter Zijlstra Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d63a5a74dee87883fda6b7d170244acaac5b05e8 Author: NeilBrown Date: Fri Dec 8 02:36:17 2006 -0800 [PATCH] lockdep: avoid lockdep warning in md md_open takes ->reconfig_mutex which causes lockdep to complain. This (normally) doesn't have deadlock potential as the possible conflict is with a reconfig_mutex in a different device. I say "normally" because if a loop were created in the array->member hierarchy a deadlock could happen. However that causes bigger problems than a deadlock and should be fixed independently. So we flag the lock in md_open as a nested lock. This requires defining mutex_lock_interruptible_nested. Cc: Ingo Molnar Acked-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6796bf54a64df36f96a42ae222423fffe36c58a5 Author: NeilBrown Date: Fri Dec 8 02:36:16 2006 -0800 [PATCH] lockdep: use mutex_lock_nested for bd_mutex to avoid lockdep warning Now that the nesting in blkdev_{get,put} is simpler, adding mutex_lock_nested is trivial. Cc: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37be41241f43109c55d92cdbf303399eea642f14 Author: NeilBrown Date: Fri Dec 8 02:36:16 2006 -0800 [PATCH] lockdep: simplify some aspects of bd_mutex nesting When we open (actually blkdev_get) a partition we need to also open (get) the whole device that holds the partition. The involves some limited recursion. This patch tries to simplify some aspects of this. As well as opening the whole device, we need to increment ->bd_part_count when a partition is opened (this is used by rescan_partitions to avoid a rescan if any partition is active, as that would be confusing). The main change this patch makes is to move the inc/dec of bd_part_count into blkdev_{get,put} for the whole rather than doing it in blkdev_{get,put} for the partition. More specifically, we introduce __blkdev_get and __blkdev_put which do exactly what blkdev_{get,put} did, only with an extra "for_part" argument (blkget_{get,put} then call the __ version with a '0' for the extra argument). If for_part is 1, then the blkdev is being get(put) because a partition is being opened(closed) for the first(last) time, and so bd_part_count should be updated (on success). The particular advantage of pushing this function down is that the bd_mutex lock (which is needed to update bd_part_count) is already held at the lower level. Note that this slightly changes the semantics of bd_part_count. Instead of updating it whenever a partition is opened or released, it is now only updated on the first open or last release. This is an adequate semantic as it is only ever tested for "== 0". Having introduced these functions we remove the current bd_part_count updates from do_open (which is really the body of blkdev_get) and call __blkdev_get(... 1). Similarly in blkget_put we remove the old bd_part_count updates and call __blkget_put(..., 1). This call is moved to the end of __blkdev_put to avoid nested locks of bd_mutex. Finally the mutex_lock on whole->bd_mutex in do_open can be removed. It was only really needed to protect bd_part_count, and that is now managed (and protected) within the recursive call. The observation that bd_part_count is central to the locking issues, and the modifications to create __blkdev_put are from Peter Zijlstra. Cc: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd27c7a1bfa9801544ca961cdb4ca0b4998580b8 Author: NeilBrown Date: Fri Dec 8 02:36:14 2006 -0800 [PATCH] lockdep: remove lock_key approach to managing nested bd_mutex locks The extra call to get_gendisk is not good. It causes a ->probe and possible module load before it is really appropriate to do this. Cc: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 35a6027f1ab6594068cb8bca7705e4567753946b Author: Peter Zijlstra Date: Fri Dec 8 02:36:14 2006 -0800 [PATCH] new bd_mutex lockdep annotation Use the gendisk partition number to set a lock class. Signed-off-by: Peter Zijlstra Cc: Neil Brown Cc: Ingo Molnar Acked-by: Arjan van de Ven Cc: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e7b651df113c8a463853e4169951c52c39f9d19 Author: Peter Zijlstra Date: Fri Dec 8 02:36:13 2006 -0800 [PATCH] remove the old bd_mutex lockdep annotation Remove the old complex and crufty bd_mutex annotation. Signed-off-by: Peter Zijlstra Cc: Neil Brown Cc: Ingo Molnar Cc: Arjan van de Ven Cc: Jason Baron Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32694850a91bd4fedcdd4a46292f870588be81d1 Author: Thomas Maier Date: Fri Dec 8 02:36:12 2006 -0800 [PATCH] pktcdvd: add sysfs and debugfs interface Add a sysfs and debugfs interface to the pktcdvd driver. Look into the Documentation/ABI/testing/* files in the patch for more info. Signed-off-by: Thomas Maier Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a0fc9601dd1024ec7171993bf075a789246e1ed Author: Thomas Maier Date: Fri Dec 8 02:36:11 2006 -0800 [PATCH] pktcdvd: bio write congestion using congestion_wait() This adds a bio write queue congestion control to the pktcdvd driver with fixed on/off marks. It prevents that the driver consumes a unlimited amount of write requests. [akpm@osdl.org: sync with congestion_wait() renaming] Signed-off-by: Thomas Maier Cc: Peter Osterlund Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4eeec563a0472b68de3597c17f2d3b11c49c00 Author: Thomas Maier Date: Fri Dec 8 02:36:10 2006 -0800 [PATCH] pktcdvd: make procfs interface optional pktcdvd: Update Kconfig help text. Signed-off-by: Thomas Maier Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit adb9250a07edb7d41a17ba3b96fcb84c4d8e4260 Author: Thomas Maier Date: Fri Dec 8 02:36:10 2006 -0800 [PATCH] pktcdvd: reusability of procfs functions This patch makes some of the procfs functions reusable (for coming sysfs patch e.g.): pkt_setup_dev() pkt_remove_dev() ... Signed-off-by: Thomas Maier Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dae3c5a0b7052ad7dd9fa78c51ecfab828c5007b Author: Oleg Nesterov Date: Fri Dec 8 02:36:09 2006 -0800 [PATCH] sys_unshare: remove a broken CLONE_SIGHAND code sys_unshare(CLONE_SIGHAND) is broken, the code under 'if (new_sigh)' is never executed but very wrong. Just remove it to avoid a confusion, task_lock() has nothing to do with ->sighand changing. Also, change the comment in unshare_sighand(). Yes, CLONE_THREAD implies CLONE_SIGHAND, but still it looks confusing. Also, we don't need to check current->sighand != NULL. Signed-off-by: Oleg Nesterov Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae424ae4b5bcd820ad6ee6f0b986c4e14ed4d6cf Author: Oleg Nesterov Date: Fri Dec 8 02:36:08 2006 -0800 [PATCH] make set_special_pids() static Make set_special_pids() static, the only caller is daemonize(). Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7bcfa95e561f11a17720162935e4f704c5d6fda3 Author: Oleg Nesterov Date: Fri Dec 8 02:36:07 2006 -0800 [PATCH] do_acct_process(): don't take tty_mutex No need to take the global tty_mutex, signal->tty->driver can't go away while we are holding ->siglock. Signed-off-by: Oleg Nesterov Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 915935041281c64589e2b7fe38437be22567fb6f Author: Oleg Nesterov Date: Fri Dec 8 02:36:07 2006 -0800 [PATCH] do_task_stat(): don't take tty_mutex ->signal->tty is protected by ->siglock, no need to take the global tty_mutex. Signed-off-by: Oleg Nesterov Acked-by: Peter Zijlstra Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24ec839c431eb79bb8f6abc00c4e1eb3b8c4d517 Author: Peter Zijlstra Date: Fri Dec 8 02:36:04 2006 -0800 [PATCH] tty: ->signal->tty locking Fix the locking of signal->tty. Use ->sighand->siglock to protect ->signal->tty; this lock is already used by most other members of ->signal/->sighand. And unless we are 'current' or the tasklist_lock is held we need ->siglock to access ->signal anyway. (NOTE: sys_unshare() is broken wrt ->sighand locking rules) Note that tty_mutex is held over tty destruction, so while holding tty_mutex any tty pointer remains valid. Otherwise the lifetime of ttys are governed by their open file handles. This leaves some holes for tty access from signal->tty (or any other non file related tty access). It solves the tty SLAB scribbles we were seeing. (NOTE: the change from group_send_sig_info to __group_send_sig_info needs to be examined by someone familiar with the security framework, I think it is safe given the SEND_SIG_PRIV from other __group_send_sig_info invocations) [schwidefsky@de.ibm.com: 3270 fix] [akpm@osdl.org: various post-viro fixes] Signed-off-by: Peter Zijlstra Acked-by: Alan Cox Cc: Oleg Nesterov Cc: Prarit Bhargava Cc: Chris Wright Cc: Roland McGrath Cc: Stephen Smalley Cc: James Morris Cc: "David S. Miller" Cc: Jeff Dike Cc: Martin Schwidefsky Cc: Jan Kara Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 562f9c574e0707f9159a729ea41faf53b221cd30 Author: john stultz Date: Fri Dec 8 02:36:02 2006 -0800 [PATCH] time: re-add verify_pmtmr_rate This patch re-adds the verify_pmtmr_rate functionality from 2.6.17 that I dropped 2.6.18. This resolves problems seen on older K6 ASUS boards where the ACPI PM timer runs too fast. See: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=211902 http://bugme.osdl.org/show_bug.cgi?id=2375 Thanks to Ian Campbell for re-reporting this and testing the fix! Signed-off-by: John Stultz Cc: Andi Kleen Cc: Ian Campbell Cc: Ingo Molnar Cc: Thomas Gleixner Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2ee8649ba6d71416712e798276bf7c40b64e6e5 Author: Herbert Poetzl Date: Fri Dec 8 02:36:00 2006 -0800 [PATCH] Fix linux banner utsname information utsname information is shown in the linux banner, which also is used for /proc/version (which can have different utsname values inside a uts namespaces). this patch makes the varying data arguments and changes the string to a format string, using those arguments. Signed-off-by: Herbert Poetzl Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e2ac66470976ad7f57e0948572669b2bdfea2d0 Author: Hidetoshi Seto Date: Fri Dec 8 02:35:58 2006 -0800 [PATCH] CPEI gets warning at kernel/irq/migration.c:27/move_masked_irq() While running my MCA test (hardware error injection) on 2.6.19, I got some warning like following: > BUG: warning at kernel/irq/migration.c:27/move_masked_irq() > > Call Trace: > [] show_stack+0x40/0xa0 > sp=e00000006b2578d0 bsp=e00000006b2510b0 > [] dump_stack+0x30/0x60 > sp=e00000006b257aa0 bsp=e00000006b251098 > [] move_masked_irq+0xb0/0x240 > sp=e00000006b257aa0 bsp=e00000006b251070 > [] move_native_irq+0xe0/0x180 > sp=e00000006b257aa0 bsp=e00000006b251040 > [] iosapic_end_level_irq+0x30/0xe0 > sp=e00000006b257aa0 bsp=e00000006b251020 > [] __do_IRQ+0x170/0x400 > sp=e00000006b257aa0 bsp=e00000006b250fd8 > [] ia64_handle_irq+0x1b0/0x260 > sp=e00000006b257aa0 bsp=e00000006b250fa8 > [] ia64_leave_kernel+0x0/0x280 > sp=e00000006b257aa0 bsp=e00000006b250fa8 > [] _spin_unlock_irqrestore+0x30/0x60 > sp=e00000006b257c70 bsp=e00000006b250f90 It comes from: [kernel/irq/migration.c] 26 if (CHECK_IRQ_PER_CPU(desc->status)) { 27 WARN_ON(1); 28 return; 29 } By putting some printk in kernel, I found that irqbalance is trying to move CPEI which is handled as PER_CPU irq. That's why. CPEI(Corrected Platform Error Interrupt) is ia64 specific irq, is allowed to pin to particular processor which selected by the platform, and even it is PER_CPU but it has set_affinity handler (=iosapic_set_affinity) as same as other IO-SAPIC-level interrupts. (I don't know why, but I guess that there would be typical situation where the handler for migration is needed, such as hotplug - the processor going to be offline/hot-removed.) To shut up this warning, there are 2 way at least: a) fix CPEI stuff b) prohibit setting affinity to PER_CPU irq I'm not sure what stuff of CPEI need to be fixed, but I think that returning error to attempting move PER_CPU irq is useful for all applications since it will never work. Following small patch takes b) style. It works, the warning disappeared and irqbalance still runs well. Signed-off-by: Hidetoshi Seto Cc: Arjan van de Ven Acked-by: Ingo Molnar Acked-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aad094701c6355cb2b3d74a07ec0496f4a48c787 Author: Jan Beulich Date: Fri Dec 8 02:35:57 2006 -0800 [PATCH] move kallsyms data to .rodata Kallsyms data is never written to, so it can as well benefit from CONFIG_DEBUG_RODATA. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d93f7de8c5dfefb030a5e65d0857176879bf78e9 Author: Hirokazu Takata Date: Fri Dec 8 02:35:57 2006 -0800 [PATCH] m32r: bootloader support for OPSPUT platform This patch supports "m32r-g00ff" bootloader for an OPSPUT platform. Applying this patch, it is possible to do ATA-boot from an IDE drive or HTTP-boot from network by m32r-g00ff. * arch/m32r/boot/compressed/m32r_sio.c: Fix hangup on OPSPUT at boot. * arch/m32r/kernel/io_opsput.c: IDE support for OPSPUT. * arch/m32r/kernel/setup_opsput.c: ditto. * include/asm-m32r/ide.h: ditto. Signed-off-by: Kazuhiro Inaoka Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b8bd3f4b2e9d0fbfd0e7d75ba1cdc79c6876ecc Author: Hirokazu Takata Date: Fri Dec 8 02:35:56 2006 -0800 [PATCH] m32r: fix ace_handler to pass full 32-bit address Don't mask the lower 12-bit of the page fault address. In the current m32r kernel implementation, we use an access exception to detect page faults. This patch fixes ace_handler (access exception handler) for m32r. In order to check userspace address in do_page_fault, we have to pass full 32-bit address to do_page_fault. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f894cb5c938de467e208e5934c90cb9deee7dc46 Author: Hirokazu Takata Date: Fri Dec 8 02:35:55 2006 -0800 [PATCH] m32r: support a synthesizable M32700 core This patch is for supporting a synthesizable M32700 core for the Mappi-II FPGA board. On the core, location of MFT (Multi-Function Timer) registers is slightly different from the M32700 chip. Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b03a632ef673bf1069ac9c96c97ff2830289312 Author: Hirokazu Takata Date: Fri Dec 8 02:35:54 2006 -0800 [PATCH] m32r: make userspace headers platform-independent The m32r kernel 2.6.18-rc1 or after cause build errors of "unknown isa configuration" for userspace application programs, such as glibc, gdb, etc. This is because the recent kernel do not include linux/config.h not to expose kernel headers for userspace. To fix the above compile errors, this patch fixes two headers ptrace.h and sigcontext.h for m32r and makes them platform-independent. Signed-off-by: Hirokazu Takata Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b8b50b6519afa9891b753c4fffa89d89e04df66a Author: Paul Jackson Date: Fri Dec 8 02:35:53 2006 -0800 [PATCH] mm: fallback_alloc cpuset_zone_allowed irq fix fallback_alloc() could end up calling cpuset_zone_allowed() with interrupts disabled (by code in kmem_cache_alloc_node()), but without __GFP_HARDWALL set, leading to a possible call of a sleeping function with interrupts disabled. This results in the BUG report: BUG: sleeping function called from invalid context at kernel/cpuset.c:1520 in_atomic():0, irqs_disabled():1 Thanks to Paul Menage for catching this one. Signed-off-by: Paul Jackson Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01a732eb22dab153732b94962467eaabb1fd3797 Author: Randy Dunlap Date: Fri Dec 8 02:35:52 2006 -0800 [PATCH] ext4 calls journal_stop journal_stop() is not defined for ext4; change to ext4_journal_stop(). Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fddda232ca2de4d40ba9c3890e27bdb4f4f8bbd Author: Ben Dooks Date: Fri Dec 8 00:08:33 2006 +0100 [ARM] 4004/1: S3C24XX: UDC remove implict addition of VA to regs Remove the implicit addition of a virtual address to the UDC registers. This should have been done by ioremap() in the driver, not by a static map. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 94b1e96d9dfbb8cc19b09b68a3621243752c0586 Author: Russell King Date: Fri Dec 8 15:32:25 2006 +0000 [ARM] Formalise the ARMv6 processor name string Signed-off-by: Russell King commit efe90d273b6f365d37c0f82fbbd68a40982c3265 Author: Russell King Date: Fri Dec 8 15:22:20 2006 +0000 [ARM] Handle HWCAP_VFP in VFP support code Don't set HWCAP_VFP in the processor support file; not only does it depend on the processor features, but it also depends on the support code being present. Therefore, only set it if the support code detects that we have a VFP coprocessor attached. Also, move the VFP handling of the coprocessor access register into the VFP support code. Signed-off-by: Russell King commit 8df12925a04194e77081a855d688d6f5638acd9d Author: Andrew Victor Date: Fri Dec 8 11:30:29 2006 +0100 [ARM] 4011/1: AT91SAM9260: Fix compilation with NAND driver Add missing include for NAND device support on AT91SAM9260. Signed-off-by: Wojtek Kaniewski Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 44853a81ed3b1c4b3cee19622e2fc5687158c46f Author: Andrew Victor Date: Fri Dec 8 11:24:18 2006 +0100 [ARM] 4010/1: AT91SAM9260-EK board: Prepare for MACB Ethernet support Add PHY IRQ pin definition for AT91SAM9260-EK board. Signed-off-by: Wojtek Kaniewski Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 028d9b3cc62cb9dd31f1b5929edb3c23612cfccc Author: Heiko Carstens Date: Fri Dec 8 15:56:13 2006 +0100 [S390] Poison init section before freeing it. The data patterns should allow us to easily tell if somebody accesses initdata/code after it was freed. Same code as on various other architectures. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 39b742f957a287a7514a8a35c9f516cdf30b9ff5 Author: Heiko Carstens Date: Fri Dec 8 15:56:10 2006 +0100 [S390] Use add_active_range() and free_area_init_nodes(). Size zones and holes in an architecture independent manner for s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f4eb07c17df2e6cf9bd58bfcd9cc9e05e9489d07 Author: Heiko Carstens Date: Fri Dec 8 15:56:07 2006 +0100 [S390] Virtual memmap for s390. Virtual memmap support for s390. Inspired by the ia64 implementation. Unlike ia64 we need a mechanism which allows us to dynamically attach shared memory regions. These memory regions are accessed via the dcss device driver. dcss implements the 'direct_access' operation, which requires struct pages for every single shared page. Therefore this implementation provides an interface to attach/detach shared memory: int add_shared_memory(unsigned long start, unsigned long size); int remove_shared_memory(unsigned long start, unsigned long size); The purpose of the add_shared_memory function is to add the given memory range to the 1:1 mapping and to make sure that the corresponding range in the vmemmap is backed with physical pages. It also initialises the new struct pages. remove_shared_memory in turn only invalidates the page table entries in the 1:1 mapping. The page tables and the memory used for struct pages in the vmemmap are currently not freed. They will be reused when the next segment will be attached. Given that the maximum size of a shared memory region is 2GB and in addition all regions must reside below 2GB this is not too much of a restriction, but there is room for improvement. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7f090145a14afc35844dce80174c9c24f9e66ec5 Author: Cornelia Huck Date: Fri Dec 8 15:56:02 2006 +0100 [S390] Update documentation for dynamic subchannel mapping. Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 529192f3b90682e37c5fcab461d968d062f1e0e4 Author: Cornelia Huck Date: Fri Dec 8 15:55:57 2006 +0100 [S390] Use dev->groups for adding/removing the subchannel attribute group. Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit d7b5a4c94f49131811112526f7d404a50f0b5ca7 Author: Cornelia Huck Date: Fri Dec 8 15:54:28 2006 +0100 [S390] Support for disconnected devices reappearing on another subchannel. - create a 'pseudo_subchannel' per channel subsystem (the 'orphanage') - use the orphanage as a shelter for ccw_devices that can't remain on the same subchannel Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 2ec2298412e1ab4674b3780005058d4f0b8bd858 Author: Cornelia Huck Date: Fri Dec 8 15:54:26 2006 +0100 [S390] subchannel lock conversion. Convert the subchannel lock to a pointer to a lock. Needed for the dynamic subchannel mapping patch. Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 7674da77cb2d27ae6559c55151da171ceb02beb4 Author: Cornelia Huck Date: Fri Dec 8 15:54:21 2006 +0100 [S390] Some preparations for the dynamic subchannel mapping patch. - Move adding subchannel attributes to css_register_subchannel(). - Don't call device_trigger_reprobe() for non-operational devices. - Introduce io_subchannel_create_ccwdev(). Signed-off-by: Cornelia Huck Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 34249d0f9243fce773c2fa352934ba108320e234 Author: Ursula Braun Date: Fri Dec 8 15:54:18 2006 +0100 [S390] runtime switch for qdio performance statistics Remove CONFIG_QETH_PERF_STATS and use a sysfs attribute instead. We want to have the ability to turn the statistics on/off at runtime. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 9575bf265711cabe7147a68003a56a9f19f034da Author: Horst Hummel Date: Fri Dec 8 15:54:15 2006 +0100 [S390] New DASD feature for ERP related logging It is now possible to enable/disable ERP related logging without re-compile and re-ipl. A additional sysfs-attribute 'erplog' allows to switch the logging non-interruptive. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 85eca8503997cf3a869b159954f703530c865299 Author: Ralph Wuerthner Date: Fri Dec 8 15:54:07 2006 +0100 [S390] add reset call handler to the ap bus. Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit c16375329c2ab4667df873394c4be7a61d163c62 Author: Martin Schwidefsky Date: Fri Dec 8 15:53:57 2006 +0100 [S390] more workqueue fixes. Signed-off-by: Martin Schwidefsky commit e45ccc0562e3f391dcba8b2e8a02551e8e42d8db Author: Andrew Morton Date: Fri Dec 8 15:53:52 2006 +0100 [S390] workqueue fixes. Cc: David Howells Cc: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Martin Schwidefsky commit 22155914b66b348b7113a0b3baf96a72bd3f643d Author: Heiko Carstens Date: Fri Dec 8 15:53:49 2006 +0100 [S390] uaccess_pt: add missing down_read() and convert to is_init(). Doesn't seem to be a good idea to duplicate code :) Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a2c2fe4b242cb9c62951ae154594cffbb94ab2ad Author: Vitaly Wool Date: Wed Dec 6 13:17:49 2006 +0300 [MTD] of_device-based physmap driver inlined below is the patch that adds physmap driver for of_device. It's an MTD part of the two-part support for flash/ROM devices based on Open Firmware descriptions. The arch part (currently only PowerPC which is no surprise) was introduced to powerpc folks earlier and recently the older version of the powerpc part has been included into the powerpc.git tree (see http://www.kernel.org/git/?p=linux/kernel/git/paulus/powerpc.git;a=commitdiff;h=28f9ec349ae47c91768b7bc5607db4442c818e11). drivers/mtd/maps/Kconfig | 9 + drivers/mtd/maps/Makefile | 1 drivers/mtd/maps/physmap_of.c | 255 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 265 insertions(+) Signed-off-by: Vitaly Wool Signed-off-by: Sergey Shtylyov Signed-off-by: David Woodhouse commit f33665d931f33a0baf44fc5d3594b23f8118eb44 Author: Rod Whitby Date: Wed Dec 6 12:11:15 2006 +1030 [MTD] Support combined RedBoot FIS directory and configuration area RedBoot supports storing the FIS directory and the RedBoot configuration area in the same block of flash memory. This is not the most common RedBoot configuration, but it is used on commercially available boards supported by the kernel. A recent patch to mtd/redboot.c (http://lkml.org/lkml/2006/3/20/410) which corrected the skipping of deleted table entries has exposed the latent problem of the kernel redboot parser running off the end of the FIS directory and interpreting the RedBoot configuration information as table entries. This patch terminates the table parsing when the first truly empty entry is found (table entry deletion only clears the first byte of the name, so two cleared bytes in a row indicates the end of the table), thereby supporting the combined redboot FIS directory and RedBoot configuration information flash layout scenario. Signed-off-by: Rod Whitby Signed-off-by: David Woodhouse commit dd11b8cdf0c455f4cfbc5daa70aabce9dcc6c07b Author: Andrew Victor Date: Fri Dec 8 13:49:42 2006 +0200 [MTD] NAND: Support for 16-bit bus-width on AT91. Add support for 16-bit NAND bus-width for the AT91 NAND driver. The 16-bit NAND is found on the Atmel AT91SAM9260-EK and AT91SAM9261-EK boards. Orignal Patch from Patrice Vilchez Signed-off-by: Andrew Victor Signed-off-by: David Woodhouse commit 4a0c50c07a6100ca58d465bac951533347e18d71 Author: Artem Bityutskiy Date: Wed Dec 6 21:52:32 2006 +0200 [MTD] nandsim: bugfix in page addressing Number of address bytes for 64-128 MiB NANDs is 4, not 5. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 3fc0eb47aa96b1d9230ff85b722c45c3b9e83d14 Author: Haavard Skinnemoen Date: Fri Dec 8 12:55:03 2006 +0100 [AVR32] Add missing #include to delay.c __const_udelay() needs HZ, which is defined in . Signed-off-by: Haavard Skinnemoen commit 50954ab327a9f860caef1a7c8353346b945cb316 Author: Haavard Skinnemoen Date: Fri Dec 8 12:53:26 2006 +0100 [AVR32] Pass dev parameter to dma_cache_sync() Fix build breakage resulting from the extra dev parameter added to dma_cache_sync(). Signed-off-by: Haavard Skinnemoen commit 695621183ee10eb22352bb919f50e160fa37aaa1 Author: Haavard Skinnemoen Date: Fri Dec 8 11:04:19 2006 +0100 [AVR32] Implement intc_get_pending() intc_get_pending() returns a bitmask with pending interrupts in a interrupt controller group (irq). This is used by the upcoming oprofile implementation for avr32 and may also be useful for chained interrupt controller drivers. Signed-off-by: Haavard Skinnemoen commit acc9252a36dcefbcdae12f88566300a80d925e11 Author: Haavard Skinnemoen Date: Mon Dec 4 14:17:39 2006 +0100 [AVR32] Don't include Include instead of from a few places. Signed-off-by: Haavard Skinnemoen commit c2eb5090ee531a50533ba9e739071c21f98a5a77 Author: Haavard Skinnemoen Date: Mon Dec 4 12:01:36 2006 +0100 [AVR32] Put the chip in "stop" mode when halting the system Make machine_halt() execute a sleep instruction to put the chip in "stop" mode when the system is halted. This switches off all clocks except the 32 kHz oscillator, which is needed for the RTC to keep ticking. Signed-off-by: Haavard Skinnemoen commit 01cb087e747538d6a831c3ab370a1e1fd4538d5c Author: Haavard Skinnemoen Date: Mon Dec 4 12:00:03 2006 +0100 [AVR32] Set flow handler for external interrupts Make sure that the flow handler for external interrupts is updated whenever they type is changed. Also make sure that the defaults correspond with how the interrupt controller is configured. Signed-off-by: Haavard Skinnemoen commit da58e92f1f2939587ac85ae3abfec8b1c743400b Author: Haavard Skinnemoen Date: Mon Dec 4 11:52:04 2006 +0100 [AVR32] Remove unused file Remove arch/avr32/mach-at32ap/sm.c, which is not referenced by any Makefile. Signed-off-by: Haavard Skinnemoen commit c164b90135d05ac52f70e6652910a4f585f7b999 Author: Haavard Skinnemoen Date: Mon Dec 4 14:08:39 2006 +0100 [AVR32] Remove mii_phy_addr and eth_addr from eth_platform_data The macb driver will probe for the PHY chip and read the mac address from the MACB registers, so we don't need them in eth_platform_data anymore. Since u-boot doesn't currently initialize the MACB registers with the mac addresses, the tag parsing code is kept but instead of sticking the information into eth_platform_data, it uses it to initialize the MACB registers (in case the boot loader didn't do it.) This code should be unnecessary at some point in the future. Signed-off-by: Haavard Skinnemoen commit a6f92f3dc8e53185bae50d44b5042b9cddf7f475 Author: Haavard Skinnemoen Date: Mon Dec 4 13:58:27 2006 +0100 [AVR32] Move ethernet tag parsing to board-specific code By moving the ethernet tag parsing to the board-specific code we avoid the issue of figuring out which device we're supposed to attach the information to. The board specific code knows this because it's where the actual devices are instantiated. Signed-off-by: Haavard Skinnemoen commit cfcb3a89d04144c064023bdc7d8dc600a88cc5c4 Author: Haavard Skinnemoen Date: Mon Oct 30 09:23:12 2006 +0100 [AVR32] Add macb1 platform_device Add platform_device definition and pio init code for the second ethernet controller in AT32AP7000. Signed-off-by: Haavard Skinnemoen commit c3e2a79c0bd3e12b67ce5f11cab10951ae8b7f37 Author: Haavard Skinnemoen Date: Mon Dec 4 13:46:52 2006 +0100 [AVR32] Portmux API update Rename portmux_set_func to at32_select_periph, add at32_select_gpio and add flags parameter to specify the initial state of the pins. Signed-off-by: Haavard Skinnemoen commit a147c5857c0b591b05d787e59b691c3a4f245f83 Author: Kumar Gala Date: Fri Dec 8 02:34:38 2006 -0600 [POWERPC] Fix 440SPe CPU table entry The 440SPe CPU table entry was missing the CPU_FTR_NODSISRALIGN and really should have been CPU_FTRS_44X. Signed-off-by: Kumar Gala commit aa42c69c67f82e88f0726258efe7306708e1cf14 Author: Kim Phillips Date: Fri Dec 8 02:43:30 2006 -0600 [POWERPC] Add support for FP emulation for the e300c2 core The e300c2 has no FPU. Its MSR[FP] is grounded to zero. If an attempt is made to execute a floating point instruction (including floating-point load, store, or move instructions), the e300c2 takes a floating-point unavailable interrupt. This patch adds support for FP emulation on the e300c2 by declaring a new CPU_FTR_FP_TAKES_FPUNAVAIL, where FP unavail interrupts are intercepted and redirected to the ProgramCheck exception path for correct emulation handling. (If we run out of CPU_FTR bits we could look to reclaim this bit by adding support to test the cpu_user_features for PPC_FEATURE_HAS_FPU instead) It adds a nop to the exception path for 32-bit processors with a FPU. Signed-off-by: Kim Phillips Signed-off-by: Kumar Gala commit 39043a5b3d0b1b92b20209b6d401fb70c17177b4 Author: Kumar Gala Date: Fri Dec 8 02:23:07 2006 -0600 [POWERPC] of_device_register: propagate device_create_file return code Removed compiler warning about ignoring the return code of device_create_file in of_device_register. Signed-off-by: Kumar Gala commit 6ccedb10e39c34a4cb68f6c8dae67ecdd3e0b138 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:17 2006 +0300 ACPI: ec: Lindent once again Signed-off-by: Len Brown commit 3261ff4db3a33ac7e1b9ed98e905663845cadbc6 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:17 2006 +0300 ACPI: ec: Change #define to enums there possible. Signed-off-by: Len Brown commit 78d0af3392cba6dfdd1dc1eab5a86ba8e4af8fff Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:17 2006 +0300 ACPI: ec: Style changes. Signed-off-by: Len Brown commit 523953b41e52952347d7d50dcc4bfc27bc001dc8 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:17 2006 +0300 ACPI: ec: Acquire Global Lock under EC mutex. Signed-off-by: Len Brown commit 50c1e1138cb94f6aca0f8555777edbcefe0324e2 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:17 2006 +0300 ACPI: ec: Drop udelay() from poll mode. Loop by reading status field instead. Signed-off-by: Len Brown commit a86e277259b08be0f00cfcb182922da3ffc50f04 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Rename gpe_bit to gpe Signed-off-by: Len Brown commit c787a8551e7fee85366962881e7a4f2fda656dfc Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Change semaphore to mutex. Signed-off-by: Len Brown commit 5d0c288b7362ad7ee235b59352ac2a89480e4757 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Query only single query at a time. Signed-off-by: Len Brown commit e41334c0a6ef71458f255db25f011d15099e7cca Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Remove calls to clear_gpe() and enable_gpe(), as these are handled at dispatch_gpe() level. Signed-off-by: Len Brown commit af3fd1404fd4f0f58ebbb52b22be4f1ca0794cda Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Remove expect_event and all races around it. Signed-off-by: Len Brown commit bec5a1e0604d1b829b87b4b7e85f71ccc43dda50 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Read status register from check_status() function Signed-off-by: Len Brown commit 5c4064124a5720a2576eb4bd5b7200d70052e9b5 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Increase timeout from 50 to 500 ms to handle old slow machines. http://bugzilla.kernel.org/show_bug.cgi?id=7466 Signed-off-by: Len Brown commit 5d57a6a55ec0bdcb952dbcd3f8ffcde8a3ee9413 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Enable EC GPE at beginning of transaction Temporary measure until resume sequence is right. Signed-off-by: Len Brown commit d91df1aaa9e4c06f8ea10d4935888c4f1976ef56 Author: Alexey Starikovskiy Date: Thu Dec 7 18:42:16 2006 +0300 ACPI: ec: Allow for write semantics in any command. Check for transaction attributes, not command index to decide on event to expect. Signed-off-by: Len Brown commit bff19b1d0b2c62882ca4b8f900b52f410c09e967 Author: Dmitry Torokhov Date: Fri Dec 8 01:37:03 2006 -0500 Input: ucb1400 - fix compile error try_to_freeze() was moved into include/linux/freezer.h Signed-off-by: Dmitry Torokhov commit f90c34b8c6630beedbf293fcfcc3cbe327383b3a Author: Paul Mundt Date: Fri Dec 8 01:36:44 2006 -0500 Input: kill maple_keyb.c driver The bus for this was removed entirely some time ago, as well as most of the drivers that referenced it. maple_keyb seems to have been the odd one out, and was still sitting in the source tree (though not actually part of the build system). Kill off the rest of it.. Signed-off-by: Paul Mundt Signed-off-by: Dmitry Torokhov commit bb06ec3cc53bc1e4405561cf12756c51e8eecd6e Author: Dmitry Torokhov Date: Fri Dec 8 01:36:32 2006 -0500 Input: i8042 - add another Lifebook P7010 to nomux blacklist We already had entry for Fujitsu Lifebook P7010 in the nomux blacklist but for some reason Fujitsu decided to fiddle with DMI data... Signed-off-by: Dmitry Torokhov commit 396a1a5832ae28ce2c4150f98827873cbef554f5 Author: Benjamin Herrenschmidt Date: Fri Dec 8 17:14:33 2006 +1100 [POWERPC] Fix mmap of PCI resource with hack for X The powerpc version of pci_resource_to_user() and associated hooks used by /proc/bus/pci and /sys/bus/pci mmap have been broken for some time on machines that don't have a 1:1 mapping of devices (basically on non-PowerMacs) and have PCI devices above 32 bits. This attempts to fix it as well as possible. The rule is supposed to be that pci_resource_to_user() always converts the resources back into a BAR values since that's what the /proc interface was supposed to deal with. However, for X to work on platforms where PCI MMIO is not mapped 1:1, it became a habit of platforms like powerpc to pass "fixed up" values there since X expects to be able to use values from /proc/bus/pci/devices as offsets to mmap of /dev/mem... So we keep that contraption here, causing also /sys/*/resource to expose fully absolute MMIO addresses instead of BAR values, which is ugly, but should still work as long as those are only used to calculate alignment within a page. X is still broken when built 32 bits on machines where PCI MMIO can be above 32-bit space unfortunately. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f09b5ce0184da6a83bac7fafda4e624629272b37 Author: Stephen Rothwell Date: Fri Dec 8 16:57:49 2006 +1100 [POWERPC] iSeries: head_64.o needs to depend on lparmap.s This dependency was inadvertantly removed in a previous patch (e73aedba562d1e7777287043afb8e46131ed402e). Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 22b6e590478ae8757f0411cf16a24c25d8dfea86 Author: Christian Krafft Date: Thu Dec 7 19:01:16 2006 +0100 [POWERPC] cbe_thermal: Fix initialization of sysfs attribute_group This patch adds NULL to the initialization of the attribute_groups. The spu_attributes and ppe_attributes arrays are arrays of pointers that need to be terminated with a NULL entry. Signed-off-by: Christian Krafft Signed-off-by: Paul Mackerras commit 18414ec0b56783f625edb95a9499bcb0ef12d6b8 Author: Timur Tabi Date: Thu Dec 7 11:07:32 2006 -0600 [POWERPC] Remove QE header files from lite5200.c The MPC 5200 does not have a QUICCEngine (QE), so lite5200.c should not include the QE header files. Signed-off-by: Timur Tabi Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 30d368430e71bbeaa52ae978b10b6f5f6267d912 Author: Geert Uytterhoeven Date: Thu Dec 7 16:49:18 2006 +0100 [POWERPC] of_platform_make_bus_id(): make `magic' int of_platform_make_bus_id(): Kill a compiler warning which is a real bug on PPC64 by changing `magic' to `int'. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 9e254c45fb0385b411ad93960f3838de80895210 Author: Nathan Lynch Date: Wed Dec 6 18:50:46 2006 -0600 [POWERPC] maple: Use RTAS for reboot and halt On maple, use the RTAS "system-reboot" and "power-off" methods if they are available. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit f2d6d2d8bb4e9bb4aef225c149e42cac3ac3d4d0 Author: Nathan Lynch Date: Wed Dec 6 18:50:45 2006 -0600 [POWERPC] Add rtas_service_present() helper To test for the existence of an RTAS function, we typically do: foo_token = rtas_token("foo"); if (foo_token == RTAS_UNKNOWN_SERVICE) return; Add a rtas_service_present method, which provides a more conventional boolean interface for testing the existence of an RTAS method. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 9d9d868ecf93b35c3c5b0ea3d639dc85e423eb02 Author: Nathan Lynch Date: Wed Dec 6 18:50:44 2006 -0600 [POWERPC] maple: Select PPC_RTAS Some systems supported by the maple platform have RTAS; make PPC_MAPLE select PPC_RTAS. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 17877116c6b0fa78501526e7ec03cabe967a3a72 Author: Nathan Lynch Date: Wed Dec 6 18:50:43 2006 -0600 [POWERPC] maple: Match "pcie" name for CPC945 Some firmwares have "pcie" for the "name" property of the CPC945 PCI Express host bridge. Check for "pcie" in addition to "pci" so we don't miss it. Signed-off-by: Nathan Lynch Signed-off-by: Paul Mackerras commit 2c1d2f34a03ef0a89ff57da18b52fda9e6f09a10 Author: Scott Wood Date: Wed Dec 6 15:16:24 2006 -0600 [POWERPC] qe_ic: Do a sync when masking interrupts This patch causes a sync do be done after masking a QE interrupt, to ensure that the masking has completed before interrupts are enabled. This allows the masking of the cascade IRQ to be removed without causing spurious interrupts. The mask_and_ack function is also removed and set to the mask function, as the two are identical. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit d0e70341c05f6c31375530e0ae29b319153004a7 Author: Linas Vepstas Date: Wed Dec 6 12:32:20 2006 -0600 [POWERPC] EEH recovery tweaks If one attempts to create a device driver recovery sequence that does not depend on a hard reset of the device, but simply just attempts to resume processing, then one discovers that the recovery sequence implemented on powerpc is not quite right. This patch fixes this up. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 3a1d1ac279fac16ab1b41b2868478f3085f9223c Author: Matthew Wilcox Date: Tue Dec 5 22:15:05 2006 -0700 [POWERPC] Delete unused irq functions on powerpc The ack_irq macro is unused and conflicts with James' work to template the generic irq code. mask_irq and unmask_irq are also unused, so delete those macros too. Signed-off-by: Matthew Wilcox Signed-off-by: Paul Mackerras commit 1d4454e7ce30239e67b154ae08f6d906b9737334 Author: Roland Dreier Date: Wed Dec 6 15:15:38 2006 -0800 [POWERPC] Define pci_unmap_addr() et al. when CONFIG_NOT_COHERENT_CACHE=y The current PowerPC code makes pci_unmap_addr(), pci_unmap_addr_set(), and friends trivial for all 32-bit kernels. This is reasonable, since for those kernels it is true that pci_unmap_single() does not need the DMA address from the original DMA mapping -- in fact, it is a NOP. However, I recently tried the tg3 driver on a PowerPC 440SPe machine, which runs a 32-bit kernel and has non-cache-coherent PCI DMA. I found that the tg3 driver crashed in pci_dma_sync_single_for_cpu(), since for non-coherent systems, that function must invalidate the cache for the DMA address range requested, and therefore it does use the address passed in. tg3 uses a DMA address it stashes away with pci_unmap_addr_set() and retrieves with pci_unmap_addr(). Of course, since pci_unmap_addr() is defined to (0) right now, this doesn't work. It seems to me that the tg3 driver is using pci_unmap_addr() in a legitimate way -- I wouldn't want to have to teach all drivers that they should use pci_unmap_addr() if they only need the address for unmapping functions, but if they want the pci_dma_sync functions, then they have to store the DMA address without the helper macros. The right fix therefore seems to be in the definition of the macros in -- we should use the trivial versions only for 32-bit kernels for coherent systems, and the real versions for both 64-bit kernels and non-coherent systems. Signed-off-by: Roland Dreier Signed-off-by: Paul Mackerras commit 885ed0fb484cc2d0a539558edf47a2a7c4fdd664 Author: Geoff Levand Date: Tue Dec 5 15:30:17 2006 -0800 [POWERPC] powerpc: fix build error in rom.c Add missing include in rom.c. Fixes this build error when CONFIG_MTD=y: arch/powerpc/sysdev/rom.c:26: error: implicit declaration of function of_platform_device_create Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit be9575af7e8ec9040330f57b974e52d6921c08bb Author: Arnd Bergmann Date: Tue Dec 5 23:30:16 2006 +0100 [POWERPC] cell: Fix spu_info.h header export It uses #ifdef __KERNEL__, so needs to be processed with unifdef. Signed-off-by: Arnd Bergann Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit 06ba30b6bfb30c84b70fed681b8c920dbff5d5a4 Author: Michael Ellerman Date: Tue Dec 5 17:52:39 2006 +1100 [POWERPC] Cleanup pass over platforms/pseries/hotplug-cpu.c Purely cosmetic. Change pSeries to pseries inline with other parts of the kernel, and fix an overly long line. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 674fa677c01ad0b90237f5cddc8d68502fea5156 Author: Michael Ellerman Date: Tue Dec 5 17:52:38 2006 +1100 [POWERPC] Only enable cpu hotplug via RTAS if the required firmware support is found To support cpu hotplug on pseries we require two RTAS tokens. The cpu hotplug machinery should only be wired up if these tokens are found in the device tree. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 413f7c405a342b0b9370ea7a652b9f0270183bf3 Author: Michael Ellerman Date: Tue Dec 5 17:52:38 2006 +1100 [POWERPC] Move the rest of the hotplug cpu code into platforms/pseries/hotplug-cpu.c Move the rest of the hotplug cpu code from platforms/pseries/smp.c into platforms/pseries/hotplug-cpu.c. Wire up the smp_ops callbacks and the notifier in the hotplug cpu initcall, rather than in smp_init_pseries(). No change in behaviour. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 04da6af960194ecdee4c29cd3f86e766903418ca Author: Michael Ellerman Date: Tue Dec 5 17:52:37 2006 +1100 [POWERPC] Move pSeries_mach_cpu_die() into platforms/pseries/hotplug-cpu.c Move pSeries_mach_cpu_die() into platforms/pseries/hotplug-cpu.c, this allows rtas_stop_self() to be static so remove the prototype. Wire up pSeries_mach_cpu_die() in the initcall, rather than statically in setup.c, the initcall will still run prior to the cpu hotplug code being callable, so there should be no change in behaviour. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 0332c2d447a7a20a4d744ba3814a349d0c1c6405 Author: Michael Ellerman Date: Tue Dec 5 17:52:36 2006 +1100 [POWERPC] Move rtas_stop_self() into platforms/pseries/hotplug-cpu.c As the first step in consolidating the pseries hotplug cpu code, create platforms/pseries/hotplug-cpu.c and move rtas_stop_self() into it. Do the rtas token initialisation in a new initcall, rather than rtas_initialize(). Signed-off-by: Michael Ellerman Acked-by: Linas Vepstas Signed-off-by: Paul Mackerras commit a081e126e12f78651499ba0f9944a7df1e9b06b6 Author: Stephen Rothwell Date: Tue Dec 5 15:54:14 2006 +1100 [POWERPC] Fix cell pmu initialisation Make sure that the pmu is not initialised unless we are running on a cell. Also make the init routine static. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 33ec32fae0e2c4433bfd1e74cbde6cb16604a719 Author: Steve French Date: Fri Dec 8 04:14:28 2006 +0000 [CIFS] Fix NTLMv2 mounts to Windows servers Windows servers are pickier about NTLMv2 than Samba. This enables more secure mounts to Windows (not just Samba) ie when "sec=ntlmv2" is specified on the mount. Signed-off-by: Steve French commit b5dd80304da482d77b2320e1a01a189e656b9770 Author: Jeff Mahoney Date: Mon Dec 4 14:04:54 2006 +0100 [patch 2/3] OCFS2 Configurable timeouts Allow configuration of OCFS2 timeouts from userspace via configfs Signed-off-by: Andrew Beekhof Signed-off-by: Mark Fasheh commit 296b75ed6a3b35f613961cefe4962ce1cf586d77 Author: Andrew Beekhof Date: Mon Dec 4 14:04:53 2006 +0100 [patch 1/3] OCFS2 - Expose struct o2nm_cluster Subsequent patches (namely userspace heartbeat and configurable timeouts) require access to the o2nm_cluster struct. This patch does the necessary shuffling. Signed-off-by: Andrew Beekhof Signed-off-by: Mark Fasheh commit 8903901dbf46bbdf1f70ffe7bc09cb6b97e6728a Author: Mark Fasheh Date: Thu Dec 7 18:05:37 2006 -0800 ocfs2: Synchronize feature incompat flags in ocfs2_fs.h These got a little bit out of date with ocfs2-tools, make things consistent again. We reserve a flag for sparse allocation code as that's pretty close to testable at this point. Signed-off-by: Mark Fasheh commit bcd5625bffe103efa7413bb6432fc871074a19c2 Author: Tiger Yang Date: Tue Dec 5 10:09:17 2006 +0800 ocfs2: update mount option documentation We forgot to document the atime_quantum mount option in ocfs2.txt. This adds a proper description of how it works. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit c271c5c22b0a7ca45fda15f1f4d258bca36a5b94 Author: Sunil Mushran Date: Tue Dec 5 17:56:35 2006 -0800 ocfs2: local mounts This allows users to format an ocfs2 file system with a special flag, OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT. When the file system sees this flag, it will not use any cluster services, nor will it require a cluster configuration, thus acting like a 'local' file system. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit d4f3e084adf5414539ebb01848b851fe0f888084 Author: Ben Dooks Date: Thu Dec 7 23:59:05 2006 +0100 [ARM] 4002/1: S3C24XX: leave parent IRQs unmasked Do not bother masking/unmasking the parent IRQ for the mulitplexed EINT irqs, as masking the leaf seems to be fine. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 32d2deeab91be4de630d22fa7f4dbb3d61eba474 Author: Ben Dooks Date: Thu Dec 7 23:53:21 2006 +0100 [ARM] 4001/1: S3C24XX: shorten reboot time Cut down the time between requesting a reboot and actually getting the reboot to happen by a quarter. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 1769b46a3ed9ce68c835f84493be46e606e58ef1 Author: Jeff Garzik Date: Thu Dec 7 17:56:06 2006 -0500 PCI MSI: always toggle legacy-INTx-enable bit upon MSI entry/exit The current code (prior to this change) would disable the PCI INTx legacy interrupt when enabling MSI... but only on PCI Express. We should do this for all MSI devices, for safety's sake. Signed-off-by: Jeff Garzik commit 7174d852603ced7a161f47c6e3958073706114a9 Author: Nicolas Pitre Date: Thu Dec 7 19:09:20 2006 +0100 [ARM] 3983/2: remove unused argument to __bug() It appears that include/asm-arm/bug.h requires include/linux/stddef.h for the definition of NULL. It seems that stddef.h was always included indirectly in most cases, and that issue was properly fixed a while ago. Then commit 5047f09b56d0bc3c21aec9cb16de60283da645c6 incorrectly reverted change from commit ff10952a547dad934d9ed9afc5cf579ed1ccb53a (bad dwmw2) and the problem recently resurfaced. Because the third argument to __bug() is never used anyway, RMK suggested getting rid of it entirely instead of readding #include which this patch does. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ca7aa4de81178babca16df67a7b72a063a7c6891 Author: Ben Dooks Date: Thu Dec 7 20:49:01 2006 +0100 [ARM] 4000/1: Osiris: add third serial port in Add the mapping for the third S3C2440 serial port into the default serial devices for the Osiris. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit bbf6f2809dbadc2bacfd73a052d8b0893dbf1762 Author: Ben Dooks Date: Thu Dec 7 20:47:58 2006 +0100 [ARM] 3999/1: RX3715: suspend to RAM support The RX3715 is similar to the H1940 in the way that suspend to RAM works, so we can use most of the extant support for the H1940 with only a few modifictions Signed-off-by: Ben Dooks Signed-off-by: Russell King commit b2eba6bb44300b46cdd2e5d0b19d5f4bd7d001ac Author: Ben Dooks Date: Thu Dec 7 20:28:23 2006 +0100 [ARM] 3998/1: VR1000: LED platform devices Support for the GPIO attached LEDs on the VR1000 Signed-off-by: Ben Dooks Signed-off-by: Russell King commit ec9b7e1044d718723d16390179abc6d4c8d9b0a1 Author: Stefan Richter Date: Thu Dec 7 23:23:25 2006 +0100 ieee1394: sbp2: code formatting around work_struct stuff Merge is finished, can bring the code in readable style again. Signed-off-by: Stefan Richter commit 1e4f7bc8f8ce07b850a5831d01a6eae83055bb42 Author: Stefan Richter Date: Sat Dec 2 22:23:34 2006 +0100 ieee1394: nodemgr: remove a kcalloc Was I sleepwalking when I wrote this? Signed-off-by: Stefan Richter commit 3015c7397876f5c5de0e178e2dfe22859b5d8754 Author: Stefan Richter Date: Fri Nov 24 20:19:09 2006 +0100 ieee1394: conditionally export ieee1394_bus_type Follow-up to patch "Consolidate driver registering": Since I plan the lifetime of Linux 2.6.20 to be the deprecation phase of CONFIG_IEEE1394_EXPORT_FULL_API, it seems fair to keep all previously exported symbols available with this option until this phase is over. Signed-off-by: Stefan Richter commit ed30c26ee809b060f437fd9f1b3453e1d0375e32 Author: Ben Collins Date: Thu Nov 23 13:59:48 2006 -0500 ieee1394: Consolidate driver registering This patch consolidates some bookkeeping for driver registering. It closely models what pci_register_driver() does. The main addition is that the owner of the driver is set, so we get a proper symlink for /sys/bus/ieee1394/driver/*/module. Also moves setting of name and bus type into nodemgr. Because of this, we can remove the EXPORT_SYMBOL for ieee1394_bus_type, since it's now only used in ieee1394.ko. Signed-off-by: Stefan Richter commit 9b7d9c096dd4e4baacc21b2588662bbb56f36c4e Author: Stefan Richter Date: Wed Nov 22 21:44:34 2006 +0100 ieee1394: sbp2: convert from PCI DMA to generic DMA API conversion without change in functionality Signed-off-by: Stefan Richter commit d41bba2d3adcddbdd7b5ed4d4abf07890cf6006f Author: Stefan Richter Date: Wed Nov 22 21:28:19 2006 +0100 ieee1394: nodemgr: spaces to tabs whitespace pedantry Signed-off-by: Stefan Richter commit 8252bbb1363b7fe963a3eb6f8a36da619a6f5a65 Author: Stefan Richter Date: Wed Nov 22 21:09:42 2006 +0100 ieee1394: nodemgr: fix deadlock in shutdown If "modprobe ohci1394" was quickly followed by "modprobe -r ohci1394", say with 1 second pause in between, the modprobe -r got stuck in uninterruptible sleep in kthread_stop. At the same time the knodemgrd slept uninterruptibly in bus_rescan_devices_helper. That's because driver_detach took the semaphore of the PCI device and bus_rescan_devices_helper wanted to take the semaphore of the FireWire host device's parent, which is the same semaphore. This was a regression since Linux 2.6.16, commit bf74ad5bc41727d5f2f1c6bedb2c1fac394de731, "Hold the device's parent's lock during probe and remove". The fix (or workaround) adds a dummy driver to the hpsb_host device. Now bus_rescan_devices_helper won't scan the host device anymore. This doesn't hurt since we have no drivers which will bind to these devices and it is unlikely that there will ever be such a driver. The dummy driver is befittingly presented as a representation of ieee1394 itself. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=6706 Signed-off-by: Stefan Richter commit cec1a31196a6edb1397ffb8fbdc0410dd8946d78 Author: Stefan Richter Date: Sat Nov 18 23:16:11 2006 +0100 ieee1394: nodemgr: remove duplicate assignment Signed-off-by: Stefan Richter commit ff6a4cd2e18430f04e59382103c7b1f53ba114e0 Author: Luca Tettamanti Date: Wed Nov 15 19:14:15 2006 +0100 sbp2: make 1bit bitfield unsigned A signed single-bit bitfield doesn't make much sense. Make it unsigned. Signed-off-by: Luca Tettamanti Signed-off-by: Stefan Richter commit 4e834da1da2d7e80547e493c4b21c809dcb0ae09 Author: Stefan Richter Date: Sun Nov 19 23:04:31 2006 +0100 ieee1394: schedule *_oui sysfs attributes for removal There is no manpower available to reform oui.db into a library for use in more kernel subsystems. The low ratio of usefulness to size and the occasional need to update oui.db from IEEE's official list suggest to drop oui.db. I plan to make a userspace script available which translates the remaining numeric sysfs attributes to names of organizations. Signed-off-by: Stefan Richter commit e9429dfdc34402de3832ab7335f8ff0104f3ae84 Author: Stefan Richter Date: Sun Nov 19 23:03:09 2006 +0100 ieee1394: schedule unused symbol exports for removal This also means that former parts of ieee1394's API will be subject to change or removal. Signed-off-by: Stefan Richter commit 861646f52217cf42a0e2e6558d85bd1172ca1611 Author: Stefan Richter Date: Mon Nov 20 00:07:26 2006 +0100 ieee1394: dv1394: schedule for feature removal Signed-off-by: Stefan Richter commit 9868e0ec03fd4ac9cb3943e5dae0ad6a14faa5ff Author: Stefan Richter Date: Mon Nov 20 00:05:05 2006 +0100 ieee1394: raw1394: defer feature removal of old isoch interface Known to be affected: - libdc1394: prefers video1394 for now, old-style raw1394 support might be dropped eventually - OpenH323 PWLib, AVC video input module: uses libraw1394's old API Signed-off-by: Stefan Richter commit 63cca59e89892497e95e1e9c7156d3345fb7e2e8 Author: Stefan Richter Date: Sat Nov 11 00:26:24 2006 +0100 ieee1394: ohci1394: call PMac code in shutdown only for proper machines There has been an if(...) missing, for ages. Signed-off-by: Stefan Richter commit 5370f1f5e94f1734f0706044bfb95007ea90fb23 Author: Stefan Richter Date: Sat Nov 11 00:23:50 2006 +0100 ieee1394: ohci1394: reformat PPC_PMAC platform code Adjust whitespace and line lengths Signed-off-by: Stefan Richter commit 48cfae44b4d6c7ca843d611a93ed2f94b59bcb38 Author: Stefan Richter Date: Sat Nov 11 00:22:35 2006 +0100 ieee1394: ohci1394: add PPC_PMAC platform code to driver probe Fixes http://bugzilla.kernel.org/show_bug.cgi?id=7431 iBook G3 threw a machine check exception and put the display backlight to full brightness after ohci1394 was unloaded and reloaded. Signed-off-by: Stefan Richter commit 58272c1c0330f5f899f130d45ce845ca085de044 Author: Stefan Richter Date: Sat Nov 4 09:55:33 2006 +0100 ieee1394: sbp2: wrap two functions into one Move the body of a function into its only caller. Signed-off-by: Stefan Richter commit 2a533b179dcfe941ccbe30344d14f39f6d7098ae Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: update comment on things to do Some people actually look at those comments. Signed-off-by: Stefan Richter commit cd641f68d628e5c44350447d4b8d661991419e60 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: use list_move_tail() It's OK to reorder list_del() and sbp2util_free_command_dma() here. Signed-off-by: Stefan Richter commit 138c8af8649ceea38aa52323b9326c10068bb597 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: more concise names for types and variables "struct scsi_id_instance_data" represents a logical unit. Rename it to "struct sbp2_lu", and "scsi_id" to "lu". Rename some other variables too. Wrap almost all lines after at most 80 columns. Signed-off-by: Stefan Richter commit 9117c6dc430578748ce732c6ff25eed8ed501a97 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove unused struct members Signed-off-by: Stefan Richter commit 28b066795f26196003353e1b4f7beaf63158ee74 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: proper unit in module parameter description It's 2^20 bit/s, not 0.001 bit. Signed-off-by: Stefan Richter commit ca0c7453995d3696034435820522e2a60bd59bfc Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: clean up sbp2_ namespace Prepend sbp2*_ to anything globally defined in sbp2.c except for some macros. Strip sbp2_ from names of struct members. Signed-off-by: Stefan Richter commit 5796aa7b11a6ba9d28a523fc82dddbc96c1a175e Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: some conditions in queue_command are unlikely Signed-off-by: Stefan Richter commit e0b79e0bc261ad320f6c218ac6823f7ca859171f Author: Andrew Victor Date: Mon Dec 4 15:56:18 2006 +0200 [WATCHDOG] watchdog miscdevice patch It looks like the recent changes to 'struct miscdevice' have impacted some of the Watchdog drivers. at91rm9200_wdt.c:205: error: 'struct miscdevice' has no member named 'dev' For the AT91RM9200 driver I just replaced "miscdevice.dev" with "miscdevice.parent". The mpcore_wdt.c and omap_wdt.c seem similarly affected. Signed-off-by: Andrew Victor Signed-off-by: Wim Van Sebroeck commit 52fd91088bcbaea5ab441d09d39c21eb684e54ea Author: Yan Burman Date: Mon Dec 4 14:58:35 2006 -0800 [IA64] replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit 66888a6e5ffc756b9a4115fc766ee2258eefb928 Author: Christoph Lameter Date: Mon Dec 4 14:58:35 2006 -0800 [IA64] resolve name clash by renaming is_available_memory() There is a name clash with ia64 arch code in Andrew's tree. Rename is_avialable_memory() to is_memory_available() to avoid the clash. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Tony Luck commit e8ca5668f1546dacc85abcc06511ed113fd929c3 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove superfluous comments And update and reformat remaining comments. Signed-off-by: Stefan Richter commit 74e86ab884fb491c208905bdc32a9d95740be583 Author: Thomas Koeller Date: Wed Dec 6 01:45:39 2006 +0100 [WATCHDOG] rm9k_wdt: fix interrupt handler arguments Removed 'struct pt_regs *' from interrupt handler arguments. Signed-off-by: Thomas Koeller Signed-off-by: Wim Van Sebroeck commit d19c77641412a257fa651662b96fec826e9e7e60 Author: Stefan Richter Date: Thu Dec 7 22:40:33 2006 +0100 ieee1394: sbp2: delayed_work -> work_struct This work is not delayed. Also bring the code format in a state which reduces my work to merge pending sbp2 patchs. Signed-off-by: Stefan Richter commit bec4f749cb75d30cebf9837985a06474f595f3ae Author: Thomas Koeller Date: Wed Dec 6 01:45:26 2006 +0100 [WATCHDOG] rm9k_wdt: fix compilation Driver did not compile any more. Someone moved the definition of 'struct miscdevice miscdev' to a place near the end of the file, after some code that was refering to this variable. Signed-off-by: Thomas Koeller Signed-off-by: Wim Van Sebroeck commit a5f8ee0291e75f92a27111eb01da82be93c9068e Author: Tony Luck Date: Thu Dec 7 13:18:57 2006 -0800 [IA64] Need export for csum_ipv6_magic Now we have our own highly optimized assembly code version of this routine (Thanks Ken!) we should export it so that it can be used. Signed-off-by: Tony Luck commit 424a9642b8b436bba04ad5d2d254b43757166cdf Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: coding style of some macros Adjust parentheses, indentation, line lengths. Signed-off-by: Stefan Richter commit edf1fb213e5df03983b91bb050bdd2914465a843 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove debug macros No need to keep them in released sources. Signed-off-by: Stefan Richter commit 35644090d82557d4ae5b4c75e29396406cc9d58a Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: consolidate log levels Replace some calls to SBP2_ERR and SBP2_WARN by SBP2_INFO. Remove logging macros SBP2_NOTICE and SBP2_WARN. Remove direct usage of HPSB_ logging macros. Signed-off-by: Stefan Richter commit 0b885449ac6fab42cd6808c9ea8d6e456e0e65b7 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove duplicate code The same case is handled further below in sbp2scsi_complete_command. Note, the second version behaves slightly different but looks preferable. It's an extremely unlikely case by the way. Signed-off-by: Stefan Richter commit 8c8009e69b31c60e875a348c1b032ed9543d1df6 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove dead code This has been within #if 0 for a long time and is wrong anyway. Signed-off-by: Stefan Richter commit ea42ea0f58aaa03e9cd245b124903e25629746e6 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: clean up function declarations Remove unnecessary function prototypes. Remove variable names from function prototypes. Move declarations from sbp2.h to sbp2.c. Move definitions of driver templates together near the top of sbp2.c. Signed-off-by: Stefan Richter commit 66743e061f6f31ac81fb8a1e9edb2ff92ef24df2 Author: Stefan Richter Date: Thu Nov 2 21:16:08 2006 +0100 ieee1394: sbp2: remove irritating log message The queue depth can be read from /sys/bus/scsi/devices/*/queue_depth, so don't log it. And the hint about speed improvements is misleading, at least under current kernels. If serialization is switched off, read performance is typically increased by less than 10%. (I did not test write performance recently.) On the other hand, serialize_io=0 is not yet safe due to some implementation issues that are not trivial to fix. Signed-off-by: Stefan Richter commit c0f00e279712923cc945604d29a252e52c7838e1 Author: Alexey Dobriyan Date: Mon Oct 30 15:51:52 2006 +0300 ohci1394: shortcut irq printing To print irq number no need to transform to string using %d, then print using %s. Just use %d. Signed-off-by: Alexey Dobriyan commit 1f72cf5251a8f806a8930ae2cd152aa79fd0de83 Author: Stefan Richter Date: Sun Oct 29 23:09:11 2006 +0100 ieee1394: nodemgr: take it easy if bus_rescan_devices fails This happens. No need to log a BUG trace. Signed-off-by: Stefan Richter commit bfe89d724527c8b1bb1b68b0da1d94907b094094 Author: Eric Sesterhenn Date: Sun Oct 29 23:13:40 2006 +0300 drivers/ieee1394/*: use kmemdup() Signed-off-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Signed-off-by: Stefan Richter commit 5f8d17f6023ea9aca7c0063c5b472529f2664944 Author: Stefan Richter Date: Sun Oct 29 19:58:25 2006 +0100 ieee1394: ohci1394: proper log messages in suspend and resume - correct thinko in one of my last commits: cannot use PRINT macro with ohci == NULL - add log messages on ohci == NULL and on pci_enable_device != 0 - update log macros from patch "revert fail on error in suspend" to use PRINT and DBGMSG where possible Signed-off-by: Stefan Richter commit 2a3f8ad3a94c784f57958bd692428cb342ce4114 Author: Stefan Richter Date: Sun Oct 29 19:52:49 2006 +0100 ieee1394: ohci1394: revert fail on error in suspend Some errors during preparation for suspended state can be skipped with a warning instead of a failure of the whole suspend transition, notably an error in pci_set_power_state. Signed-off-by: Stefan Richter commit def4d8733b8b8fed521957a7fd546714dd491b91 Author: Randy Dunlap Date: Tue Oct 24 11:19:11 2006 -0700 ieee1394: only build OUI database files if config enabled Only build IEEE1394 OUI database files if the config option is enabled. Signed-off-by: Randy Dunlap Signed-off-by: Stefan Richter commit 7f5880394c8ab01854c0cba288352a1a77d5ea82 Author: Randy Dunlap Date: Mon Oct 23 21:44:36 2006 -0700 ieee1394: fix printk format warning Fix printk format warning: drivers/ieee1394/nodemgr.c:364: warning: long long unsigned int format, u64 arg (arg 3) Signed-off-by: Randy Dunlap Signed-off-by: Stefan Richter commit b07375b155a0d2ed21a64db68e737da1f19385f7 Author: Stefan Richter Date: Sun Oct 22 16:16:27 2006 +0200 ieee1394: nodemgr: revise semaphore protection of driver core data - The list "struct class.children" is supposed to be protected by class.sem, not by class.subsys.rwsem. - nodemgr_remove_uds() iterated over nodemgr_ud_class.children without proper protection. This was never observed as a bug since the code is usually only accessed by knodemgrd. All knodemgrds are currently globally serialized. But userspace can trigger this code too by writing to /sys/bus/ieee1394/destroy_node. - Clean up access to the FireWire bus type's subsys.rwsem: Access it uniformly via ieee1394_bus_type. Shrink rwsem protected regions where possible. Expand them where necessary. The latter wasn't a problem so far because knodemgr is globally serialized. This should harden the interaction of ieee1394 with sysfs and lay ground for deserialized operation of multiple knodemgrds and for implementation of subthreads for parallelized scanning and probing. Signed-off-by: Stefan Richter commit 7fdfc90945e308dc1be37e3914cd979a535263e9 Author: Stefan Richter Date: Sat Oct 21 01:23:56 2006 +0200 ieee1394: nodemgr: reflect which return values are errors Give better names to local variables. Signed-off-by: Stefan Richter commit b7cffc57a777722941cfd904fcdbb47fc615b808 Author: Stefan Richter Date: Sat Oct 21 01:22:36 2006 +0200 ieee1394: nodemgr: small fix after sysfs errors patch One hunk in "ieee1394: handle sysfs errors" was wrong. Signed-off-by: Stefan Richter commit 7b900c12cd689e4372afe3904a03f98253546449 Author: Stefan Richter Date: Fri Oct 20 21:01:58 2006 +0200 dv1394: remove BKL contention Purges the one remaining call to lock_kernel() from the 1394 subsystem. Signed-off-by: Stefan Richter commit 75dcf5dc5a0dc4e895944368780cc2fc40008a55 Author: Daniel Drake Date: Fri Oct 20 14:56:01 2006 +0100 video1394: remove BKL contention video1394 does not need to take the BKL. The data structures shared between file_operations and interrupts are already protected through context-specific spinlocks. The only other danger is video1394_release() being called during another operation, however this cannot happen because release is only ever invoked when the last thread has closed the fd. Signed-off-by: Daniel Drake Signed-off-by: Stefan Richter commit 3c21cfc4babaf4d20384f6f70def308e9b945159 Author: Daniel Drake Date: Wed Oct 18 21:37:14 2006 +0100 video1394: small optimizations to frame retrieval codepath Add some GCC branch prediction optimizations to unlikely error/safety conditions in the ioctl handling code commonly called during an application's capture loop. Signed-off-by: Daniel Drake Signed-off-by: Stefan Richter commit c1c9c7cd9f33ad6ff4407638060fe2730560bd56 Author: Stefan Richter Date: Tue Oct 10 21:19:21 2006 +0200 ieee1394: handle sysfs errors Handle driver core errors with as much care as appropriate. Signed-off-by: Stefan Richter commit 1ed891c6d49e97ebd3305d8c6213246a14f0800f Author: Stefan Richter Date: Tue Oct 10 21:12:39 2006 +0200 ieee1394: coding style in hosts.c Some 80-columns pedantry, and touch up of a // comment. Signed-off-by: Stefan Richter commit 5c37dcbe138ed3239c5e8b6c2626ce773a7cea2e Author: Stefan Richter Date: Tue Oct 10 21:11:43 2006 +0200 ieee1394: lock smaller region by host_num_alloc mutex We need the mutex only around the iteration over existing hosts. Signed-off-by: Stefan Richter commit b63d4fe95f29b6cadffcee8cdabd8435e8560cde Author: Stefan Richter Date: Sun Oct 8 11:45:13 2006 +0200 ieee1394: usecs_to_jiffies takes unsigned int argument Signed-off-by: Stefan Richter commit da256c55373cbc45e30f868e0bddb81ddc4067bf Author: Stefan Richter Date: Sun Sep 24 11:01:00 2006 +0200 ieee1394: ohci1394: suspend/resume cosmetics Reorder the definitions of ohci1394_pci_suspend and _resume. Remove redundant comments. Beautify return statements. Signed-off-by: Stefan Richter commit f011bf085cd41ee40c2c8e530f801ac6cb6e00d0 Author: Bernhard Kaindl Date: Wed Sep 6 14:58:30 2006 +0200 ohci1394: steps to implement suspend/resume I did a quick shot on what I described and the appended patch does the first thing needed for working suspend/resume in ohci1394 which is HW de- and re-initialisation. It works with suspend2disk on my Ricoh R5C552 IEEE 1394 Controller with the 2.6.17 kernel to the extent that if I call dvgrab --interactive after suspend2disk without unloading ohci1394, it does not lock up dvgrab with 100% CPU but properly connects to the camera, given that I first unplug and plug the camera after coming back from suspend. I guess that could be fixed by forcing a bus reset in the resume function. I cannot test suspend to RAM here at the moment and should follow the guidelines in Documentation/power/pci.txt also, so this is rather a quick report than a finished patch and there are some rough edges: However, with this patch, I have to unload at least some in-kernel users of ohci1394 like dv1394 or video1394 before suspending. Not doing that caused an Oops and a bad tasklet error, probably from not handling ISO tasklets during suspend/resume properly. Maybe these can be temporarily cleared or unregistered and re-registered for suspend/resume with help from the other layers or from the highlevel 1394 core, but I do not really know what these do. But this patch provides a useful base to start from and is already of much help for people which do not need dv1394 and video1394 or can unload them at least during suspend. I cannot test function with sbp2 at the moment, but raw1394 seems to work fine. Signed-off-by: Bernhard Kaindl Update 1: merge with previous two ohci1394 suspend/resume patches Update 2: version for application on top of Linux 2.6.19-rc4 Signed-off-by: Stefan Richter commit f9edc4f5c1dd9fab5ceedd69e77d20e508e41e8d Author: Stefan Richter Date: Thu Sep 14 22:06:48 2006 +0200 ieee1394: raw1394: add comments on lock usage Add a who-is-who about some locks and list heads in raw1394's struct definitions. Signed-off-by: Stefan Richter commit 23077f1d72d279244536f11db51258fc4759c81a Author: Stefan Richter Date: Mon Sep 11 20:17:14 2006 +0200 ieee1394: sbp2: slightly reorder sbp2scsi_abort Put the target's fetch agent into reset state before the underlying ORB DMA is unmapped and the ->done handler is called. It is highly unlikely but the target could access that ORB right before sbp2 sends the reset request. Signed-off-by: Stefan Richter commit 0e930f437eab6db6de5e3f0efbf10dafffca401a Author: Stefan Richter Date: Fri Sep 8 01:30:04 2006 +0200 ieee1394: remove unused struct member from highlevel API struct hpsb_highlevel's struct module *owner is neither used by the IEEE 1394 core nor set by any of the in-tree drivers or the two out-of-tree highlevel drivers I know about (dfg1394, mem1394) --- nor is this member documented. An unscheduled removal seems acceptable. Signed-off-by: Stefan Richter commit b0f40ea04a85b077193676cec78a86cd61495680 Author: Matthew Wilcox Date: Thu Nov 16 13:40:53 2006 -0700 [IA64] Fix DISCONTIGMEM without VIRTUAL_MEM_MAP make allnoconfig currently fails to build because it selects DISCONTIGMEM without VIRTUAL_MEM_MAP. I see no particular reason this combination ought to fail, so I fixed it by: - Including memory_model.h in all circumstances, except when both DISCONTIGMEM and VIRTUAL_MEM_MAP are enabled. - Defining ia64_pfn_valid() to 1 unless VIRTUAL_MEM_MAP is enabled Signed-off-by: Matthew Wilcox Signed-off-by: Tony Luck commit 17e77b1cc31454908aa286bb1db3c611295ce25c Author: Venkatesh Pallipadi Date: Fri Dec 1 15:28:14 2006 -0800 [PATCH] Add support for type argument in PAL_GET_PSTATE PAL_GET_PSTATE accepts a type argument to return different kinds of frequency information. Refer: Intel Itanium®Architecture Software Developer's Manual - Volume 2: System Architecture, Revision 2.2 (http://developer.intel.com/design/itanium/manuals/245318.htm) Add the support for type argument and use Instantaneous frequency in the acpi driver. Also fix a bug, where in return value of PAL_GET_PSTATE was getting compared with 'control' bits instead of 'status' bits. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Tony Luck commit 6dbfc19b7ea93f94f1efabaae71a921b49d8cae2 Author: Chen, Kenneth W Date: Wed Nov 8 16:29:25 2006 -0800 [IA64] tidy up return value of ip_fast_csum While working on implementing csum_ipv6_magic, I noticed that current version of ip_fast_csum will potentially return bits above "unsigned short" as 1. While no harm is done right now because all call sites will chop off the upper bits when it uses the return value. However, this is still dangerous and buggy. Here is a patch to enforce that the function really returns unsigned short in the native register format. The fix is free as there are plenty open slot to add one more asm instruction. Signed-off-by: Ken Chen Signed-off-by: Tony Luck commit 007d77d0c5eb36555443ff273ce2a27f90da8837 Author: Chen, Kenneth W Date: Fri Nov 10 13:17:50 2006 -0800 [IA64] implement csum_ipv6_magic for ia64. The asm version is 4.4 times faster than the generic C version and 10X smaller in code size. Signed-off-by: Ken Chen Signed-off-by: Tony Luck commit 5b4d5681ffaa6e1bf3b085beb701d87c7c7404da Author: Russ Anderson Date: Mon Nov 6 16:45:18 2006 -0600 [IA64] More Itanium PAL spec updates Additional updates to conform with Rev 2.2 of Volume 2 of "Intel Itanium Architecture Software Developer's Manual" (January 2006). Add pal_bus_features_s bits 52 & 53 (page 2:347) Add pal_vm_info_2_s field max_purges (page 2:2:451) Add PAL_GET_HW_POLICY call (page 2:381) Add PAL_SET_HW_POLICY call (page 2:439) Sample output before: --------------------------------------------------------------------- cobra:~ # cat /proc/pal/cpu0/vm_info Physical Address Space : 50 bits Virtual Address Space : 61 bits Protection Key Registers(PKR) : 16 Implemented bits in PKR.key : 24 Hash Tag ID : 0x2 Size of RR.rid : 24 Supported memory attributes : WB, UC, UCE, WC, NaTPage --------------------------------------------------------------------- Sample output after: --------------------------------------------------------------------- cobra:~ # cat /proc/pal/cpu0/vm_info Physical Address Space : 50 bits Virtual Address Space : 61 bits Protection Key Registers(PKR) : 16 Implemented bits in PKR.key : 24 Hash Tag ID : 0x2 Max Purges : 1 Size of RR.rid : 24 Supported memory attributes : WB, UC, UCE, WC, NaTPage --------------------------------------------------------------------- Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit 895309ff6f22a9d107e007521e44aac4400b365d Author: Russ Anderson Date: Thu Dec 7 11:06:35 2006 -0800 [IA64] Update processor_info features Add the printing of additional processor features to proc_features. Based on Rev 2.2 of Volume 2 of "Intel Itanium Architecture Software Developer's Manual" (January 2006) fields (pages 2:430-2:432). This patch gets the features back in sync with the spec. Sample output before: -------------------------------------------------------------- cobra:~ # cat /proc/pal/cpu0/processor_info XIP,XPSR,XFS implemented : On NoCtrl XR1-XR3 implemented : On NoCtrl Disable dynamic predicate prediction : NotImpl Disable processor physical number : NotImpl Disable dynamic data cache prefetch : NotImpl Disable dynamic inst cache prefetch : NotImpl Disable dynamic branch prediction : NotImpl Disable BINIT on processor time-out : On Ctrl Disable dynamic power management (DPM) : NotImpl Disable coherency : NotImpl Disable cache : NotImpl Enable CMCI promotion : Off Ctrl Enable MCA to BINIT promotion : Off Ctrl Enable MCA promotion : NotImpl Enable BERR promotion : NotImpl cobra:~ # -------------------------------------------------------------- Sample output after: -------------------------------------------------------------- cobra:~ # cat /proc/pal/cpu0/processor_info Unimplemented instruction address fault : NotImpl INIT, PMI, and LINT pins : NotImpl Simple unimplimented instr addresses : On NoCtrl Variable P-state performance : NotImpl Virtual machine features implemeted : On NoCtrl XIP,XPSR,XFS implemented : On NoCtrl XR1-XR3 implemented : On NoCtrl Disable dynamic predicate prediction : NotImpl Disable processor physical number : NotImpl Disable dynamic data cache prefetch : NotImpl Disable dynamic inst cache prefetch : NotImpl Disable dynamic branch prediction : NotImpl Disable P-states : Off Ctrl Enable MCA on Data Poisoning : Off Ctrl Enable vmsw instruction : On Ctrl Enable extern environmental notification : NotImpl Disable BINIT on processor time-out : On Ctrl Disable dynamic power management (DPM) : NotImpl Disable coherency : NotImpl Disable cache : NotImpl Enable CMCI promotion : Off Ctrl Enable MCA to BINIT promotion : Off Ctrl Enable MCA promotion : NotImpl Enable BERR promotion : NotImpl cobra:~ # -------------------------------------------------------------- Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit 6533bdedac9ae2049ae77ebd7c28c65af3619de0 Author: Russ Anderson Date: Thu Oct 26 11:53:17 2006 -0500 [IA64] Add se bit to Processor State Parameter structure Rev 2.2 of Volume 2 of "Intel Itanium Architecture Software Developer's Manual" (January 2006) adds a se bit to the Processor State Parameter fields (pages 2:299). This patch gets the structs back in sync with the spec. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit 323cbb09917024cab522bc7ce5c343659cbe8818 Author: Russ Anderson Date: Wed Oct 25 14:18:27 2006 -0500 [IA64] Add dp bit to cache and bus check structs Rev 2.2 of Volume 2 of "Intel Itanium Architecture Software Developer's Manual" (January 2006) adds a dp bit to the cache_check and bus_check fields (pages 2:401-2:404). This patch gets the structs back in sync with the spec. Signed-off-by: Russ Anderson (rja@sgi.com) Signed-off-by: Tony Luck commit c69577711a8fd232e6b309c3e99f9a8f96f63082 Author: John Keller Date: Mon Nov 6 14:10:50 2006 -0600 [IA64] SN: Correctly update smp_affinty mask On Altix systems, the /proc/irq/nn/smp_affinity mask is not being setup at device iniitalization, or updated after an interrupt redirection. This patch resolves those issues. Signed-off-by: John Keller Signed-off-by: Tony Luck commit d61b49c1aa49efc657aa0cf270cf931444680563 Author: Matthew Wilcox Date: Thu Oct 26 12:22:32 2006 -0600 [IA64] sparse cleanups 0/NULL confusion and some missing UL on constants. Signed-off-by: Matthew Wilcox Signed-off-by: Tony Luck commit a79561134f38de12dce14ed72138f38e55ef53fc Author: Zou Nan hai Date: Thu Dec 7 09:51:35 2006 -0800 [IA64] IA64 Kexec/kdump Changes and updates. 1. Remove fake rendz path and related code according to discuss with Khalid Aziz. 2. fc.i offset fix in relocate_kernel.S. 3. iospic shutdown code eoi and mask race fix from Fujitsu. 4. Warm boot hook in machine_kexec to SN SAL code from Jack Steiner. 5. Send slave to SAL slave loop patch from Jay Lan. 6. Kdump on non-recoverable MCA event patch from Jay Lan 7. Use CTL_UNNUMBERED in kdump_on_init sysctl. Signed-off-by: Zou Nan hai Signed-off-by: Tony Luck commit 68380b581383c028830f79ec2670f4a193854aa6 Author: Linus Torvalds Date: Thu Dec 7 09:28:19 2006 -0800 Add "run_scheduled_work()" workqueue function This allows workqueue users to run just their own pending work, rather than wait for the whole workqueue to finish running. This solves the deadlock with networking libphy that was due to other workqueue entries possibly needing a lock that was held by the routine that wanted to flush its own work. It's not wonderful: if you absolutely need to synchronize with the work function having been executed, any user strictly speaking should have its own completion tracking logic, since when we run things explicitly by hand, the generic workqueue layer can no longer help us synchronize. Also, this is strictly only usable for work that has been scheduled without any delayed timers. You can not mix the new interface with schedule_delayed_work(). But it's better than what we had currently. Acked-by: Maciej W. Rozycki Signed-off-by: Linus Torvalds commit 285f5fa7e9a35e75d9022f9b036ed709721c5cdf Author: Dan Williams Date: Thu Dec 7 02:59:39 2006 +0100 [ARM] 3995/1: iop13xx: add iop13xx support The iop348 processor integrates an Xscale (XSC3 512KB L2 Cache) core with a Serial Attached SCSI (SAS) controller, multi-ported DDR2 memory controller, 3 Application Direct Memory Access (DMA) controllers, a 133Mhz PCI-X interface, a x8 PCI-Express interface, and other peripherals to form a system-on-a-chip RAID subsystem engine. The iop342 processor replaces the SAS controller with a second Xscale core for dual core embedded applications. The iop341 processor is the single core version of iop342. This patch supports the two Intel customer reference platforms iq81340mc for external storage and iq81340sc for direct attach (HBA) development. The developer's manual is available here: ftp://download.intel.com/design/iio/docs/31503701.pdf Changelog: * removed virtual addresses from resource definitions * cleaned up some unnecessary #include's Signed-off-by: Dan Williams Signed-off-by: Russell King commit 4dbda6a50ae34d853353f15d30a166c87143408f Author: Dan Williams Date: Fri Dec 1 21:40:37 2006 +0100 [ARM] 3968/1: iop13xx: add iop13xx_defconfig Signed-off-by: Dan Williams Signed-off-by: Russell King commit c324113f20637cbc9b71f8d873409be90bfac167 Author: Russell King Date: Thu Dec 7 17:19:58 2006 +0000 [ARM] Update mach-types Signed-off-by: Russell King commit 6cf24f031bc97cb5a7c9df3b6e73c45b628b2b28 Author: Andrew Morton Date: Wed Dec 6 20:41:39 2006 -0800 [PATCH] elf.h: forward declare struct file In file included from include/asm/patch.h:14, from arch/ia64/kernel/patch.c:10: include/linux/elf.h:375: warning: "struct file" declared inside parameter list include/linux/elf.h:375: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3ed11c35635487d34ad476e1d6a66dd298ab2de Author: Paul Menage Date: Wed Dec 6 20:41:37 2006 -0800 [PATCH] cpuset: allow a larger buffer for writes to cpuset files When using fake NUMA setup, the number of memory nodes can greatly exceed the number of CPUs. So the current limit in cpuset_common_file_write() is insufficient. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09b882520bbe01f2e5044642109c1c1d19fe3559 Author: Avantika Mathur Date: Wed Dec 6 20:41:36 2006 -0800 [PATCH] ext4: Eliminate inline functions Removes all inline keywords, since the compiler will make static functions inline when it is appropriate. Signed-off-by: Avantika Mathur Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d4958f923f431e148d9ba8ff894209a134b943e Author: Avantika Mathur Date: Wed Dec 6 20:41:35 2006 -0800 [PATCH] ext4: kmalloc to kzalloc Performs kmalloc to kzalloc conversion Signed-off-by: Avantika Mathur Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e0289766a0750a56260565bd3b74eb544483d45 Author: Avantika Mathur Date: Wed Dec 6 20:41:33 2006 -0800 [PATCH] ext4: if expression format changes instances of if ((lhs = expression)) { to the preferred coding style lhs=expression; if (lhs) { Signed-off-by: Avantika Mathur Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d1c520bb57e4b5e94ec937c13553dccf473341b Author: Hugh Dickins Date: Wed Dec 6 20:41:30 2006 -0800 [PATCH] ext3 balloc: fix _with_rsv freeze Port fix to the off-by-one in find_next_usable_block's memscan from ext2 to ext3; but it didn't cause a serious problem for ext3 because the additional ext3_test_allocatable check rescued it from the error. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2823b5535efad71e950ef50c2ce5f9e4dbaedc17 Author: Hugh Dickins Date: Wed Dec 6 20:41:28 2006 -0800 [PATCH] ext3 balloc: use io_error label ext3_new_blocks has a nice io_error label for setting -EIO, so goto that in the one place that doesn't already use it. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c56d2561f7189762c4fce854630d4f7f6d64ccee Author: Hugh Dickins Date: Wed Dec 6 20:41:27 2006 -0800 [PATCH] ext3 balloc: say rb_entry not list_entry The reservations tree is an rb_tree not a list, so it's less confusing to use rb_entry() than list_entry() - though they're both just container_of(). Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff50dc562bf6de00fec264b11531e2745209ba12 Author: Hugh Dickins Date: Wed Dec 6 20:41:25 2006 -0800 [PATCH] ext3 balloc: fix off-by-one against rsv_end rsv_end is the last block within the reservation, so alloc_new_reservation should accept start_block == rsv_end as success. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1650242324a0c19d629a8be0d5a8ecdc174d31f8 Author: Hugh Dickins Date: Wed Dec 6 20:41:25 2006 -0800 [PATCH] ext3 balloc: fix off-by-one against grp_goal grp_goal 0 is a genuine goal (unlike -1), so ext3_try_to_allocate_with_rsv should treat it as such. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef5036782e619ab394daaec5c00876fa6b17d7a1 Author: Hugh Dickins Date: Wed Dec 6 20:41:23 2006 -0800 [PATCH] ext3 balloc: reset windowsz when full ext3_new_blocks should reset the reservation window size to 0 when squeezing the last blocks out of an almost full filesystem, so the retry doesn't skip any groups with less than half that free, reporting ENOSPC too soon. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1aa16eeacd6f10c202da1cf0cff5c81107dac942 Author: Randy Dunlap Date: Wed Dec 6 20:41:20 2006 -0800 [PATCH] IPMI: fix PROC_FS=n warnings Fix build warnings for PROC_FS=n. drivers/char/ipmi/ipmi_poweroff.c:707: warning: label 'out_err' defined but not used drivers/char/ipmi/ipmi_msghandler.c:1774: warning: 'ipmb_file_read_proc' defined but not used drivers/char/ipmi/ipmi_msghandler.c:1790: warning: 'version_file_read_proc' defined but not used drivers/char/ipmi/ipmi_msghandler.c:1801: warning: 'stat_file_read_proc' defined but not used Signed-off-by: Randy Dunlap Cc: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a1099baa86c17c521859f417c4c1353d0ae9096 Author: Corey Minyard Date: Wed Dec 6 20:41:16 2006 -0800 [PATCH] IPMI: increase KCS message size Increase the maximum message size a KCS interface supports to the maximum message size the rest of the driver supports. Some systems really support messages this big. Signed-off-by: Corey Minyard Cc: Patrick Schoeller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d7cbac7c870ca66d8fb27d68188efbb5de2dffa Author: Corey Minyard Date: Wed Dec 6 20:41:14 2006 -0800 [PATCH] IPMI: Fix BT long busy The IPMI BT subdriver has been patched to survive "long busy" timeouts seen during firmware upgrades and resets. The patch never returns the HOSED state, synthesizes response messages with meaningful completion codes, and recovers gracefully when the hardware finishes the long busy. The subdriver now issues a "Get BT Capabilities" command and properly uses those results. More informative completion codes are returned on error from transaction starts; this logic was propogated to the KCS and SMIC subdrivers. Finally, indent and other style quirks were normalized. Signed-off-by: Rocky Craig Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 168b35a7f67c5a8189e6b92780dfb5262604057c Author: Corey Minyard Date: Wed Dec 6 20:41:11 2006 -0800 [PATCH] IPMI: fix pci warning Change pci_module_init() to the new interface, and check the return code to avoid warnings and give the user useful information if this fails. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d8ba9669a28f650001093ebbb6ecc3b0a72926f Author: Corey Minyard Date: Wed Dec 6 20:41:09 2006 -0800 [PATCH] IPMI: add pigeonpoint poweroff X86 boards generally use ACPI for the power management interactions with the BMC. However, non-x86 boards need some help. This patch adds the help for the Motorola PigeonPoint-based IPMCs. Signed-off-by: Joseph Barnett Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b361e27bba261ba59c73df464fa640f7c0fe3553 Author: Corey Minyard Date: Wed Dec 6 20:41:07 2006 -0800 [PATCH] IPMI: system interface hotplug Add the ability to hot add and remove interfaces in the ipmi_si driver. Any users who have the device open will get errors if they try to send a message. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15c62e10bb49eebf3da2b010a9196f5095947b0b Author: Corey Minyard Date: Wed Dec 6 20:41:06 2006 -0800 [PATCH] IPMI: add poll delay Make sure to delay a little in the IPMI poll routine so we can pass in a timeout time and thus time things out. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55162fb165571b3ba4283fe657f1a5968cef361a Author: Corey Minyard Date: Wed Dec 6 20:41:04 2006 -0800 [PATCH] IPMI: fix request events When the IPMI message handler requested that the interface look for events, the ipmi_si driver would request flags, see if the event buffer full flag was set, then request events. It's better to just send the request for events, as it cuts one message out of the transaction if there happens to be events, and it will fetch events even if the event buffer was not full. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9675136e2ad95156fb93be6155f17590bb26fd7 Author: Corey Minyard Date: Wed Dec 6 20:41:02 2006 -0800 [PATCH] IPMI: Add maintenance mode Some commands and operations on a BMC can cause the BMC to "go away" for a while. This can cause the automatic flag processing and other things of that nature to timeout and generate annoying logs, or possibly cause other bad things to happen when in firmware update mode. Add detection of those commands (cold reset, warm reset, and any firmware command) and turns off automatic processing for 30 seconds. It also add a manual override either way. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2c03941b50944a268ee4d5823872f220809a3ba Author: Corey Minyard Date: Wed Dec 6 20:41:00 2006 -0800 [PATCH] IPMI: Allow hot system interface remove This modifies the IPMI driver so that a lower-level interface can be dynamically removed while in use so it can support hot-removal of hardware. It also adds the ability to specify and dynamically change the IPMI interface the watchdog timer and the poweroff code use. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 759643b874907e76ae81e34df62f41ab6683f5c2 Author: Corey Minyard Date: Wed Dec 6 20:40:59 2006 -0800 [PATCH] IPMI: pass sysfs name from lower level driver Pass in the sysfs name from the lower-level IPMI driver, as the coming IPMI serial driver will need that to link properly from the serial device sysfs directory. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bca0324d09e413ee089f44cc71263ae1fc582b35 Author: Corey Minyard Date: Wed Dec 6 20:40:57 2006 -0800 [PATCH] IPMI: remove interface number limits Remove the arbitrary limit of number of IPMI interfaces. This has been tested with 8 interfaces. Signed-off-by: Corey Minyard Cc: Carol Hebert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f0b55da0d2701230e973866c9dfbf932d8b884cb Author: Corey Minyard Date: Wed Dec 6 20:40:54 2006 -0800 [PATCH] IPMI: Fix device model name Add the product id to the driver model platform device name, in addition to the device id. The IPMI spec does not require that individual BMCs in a system have unique devices IDs, but it does require that the product id/device id combination be unique. This also removes a redundant check and cleans up error handling when the sysfs registration fails. Signed-off-by: Corey Minyard Cc: Carol Hebert Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6b39bb6548d60b9a18826134b5ccd5c3cef85fe2 Author: Paul Clements Date: Wed Dec 6 20:40:53 2006 -0800 [PATCH] nbd: show nbd client pid in sysfs Allow nbd to expose the nbd-client daemon's PID in /sys/block/nbd/pid. This is helpful for tracking connection status of a device and for determining which nbd devices are currently in use. Signed-off-by: Paul Clements Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 792908225064b1d841a8990b9d1d1cfc4e0e5bb2 Author: Ingo Molnar Date: Wed Dec 6 20:40:51 2006 -0800 [PATCH] add ignore_loglevel boot option Sometimes the kernel prints something interesting while userspace bootup keeps messages turned off via loglevel. Enable the printing of /all/ kernel messages via the "ignore_loglevel" boot option. Off by default. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70e4506765602cca047cfa31933836e354c61a63 Author: Ingo Molnar Date: Wed Dec 6 20:40:50 2006 -0800 [PATCH] lockdep: register_lock_class() fix The hash_lock must only ever be taken with irqs disabled. This happens in all the important places, except one codepath: register_lock_class(). The race should trigger rarely because register_lock_class() is quite rare and single-threaded (happens during init most of the time). The fix is to disable irqs. ( bug found live in -rt: there preemption is alot more agressive and preempting with the hash-lock held caused a lockup.) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 72be2ccfff0e0e332b32f7ef8372890e39b7c4cb Author: Erik Mouw Date: Wed Dec 6 20:40:49 2006 -0800 [PATCH] Update ext[23] mailing list address The ext[23] mailing list moved from sf.net to vger.kernel.org so update the MAINTAINERS file. Signed-off-by: Erik Mouw Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feb189274638ea357750a9e809f5a6e2223a082e Author: Johann Lombardi Date: Wed Dec 6 20:40:46 2006 -0800 [PATCH] ext4: fix credit calculation in ext4_ext_calc_credits_for_insert Fix a nit in ext4_ext_calc_credits_for_insert(). Besides, credits for the new root are already added in the index split accounting. Signed-off-by: Johann Lombardi Signed-off-by: Alex Tomas Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 97d2a80584b30b5cd32da411deca1986ef61877a Author: Benjamin LaHaise Date: Wed Dec 6 20:40:45 2006 -0800 [PATCH] aio: remove ki_retried debugging member Remove the ki_retried member from struct kiocb. I think the idea was bounced around a while back, but Arnaldo pointed out another reason that we should dig it up when he pointed out that the last cacheline of struct kiocb only contains 4 bytes. By removing the debugging member, we save more than the 8 byte on 64 bit machines. Signed-off-by: Benjamin LaHaise Acked-by: Ken Chen Acked-by: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b62e8ec2ac580b47c11eb76e8852ac1ec7d617cd Author: Chen, Kenneth W Date: Wed Dec 6 20:40:43 2006 -0800 [PATCH] aio: kill pointless ki_nbytes assignment in aio_setup_single_vector io_submit_one assigns ki_left = ki_nbytes = iocb->aio_nbytes, then calls down to aio_setup_iocb, then to aio_setup_single_vector. In there, ki_nbytes is reassigned to the same value it got two call stack above it. There is no need to do so. Signed-off-by: Ken Chen Acked-by: Zach Brown Cc: Benjamin LaHaise Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85916f8166b59eeac63d2b4f7f1df8de849334b4 Author: Magnus Damm Date: Wed Dec 6 20:40:41 2006 -0800 [PATCH] Kexec / Kdump: Unify elf note code The elf note saving code is currently duplicated over several architectures. This cleanup patch simply adds code to a common file and then replaces the arch-specific code with calls to the newly added code. The only drawback with this approach is that s390 doesn't fully support kexec-on-panic which for that arch leads to introduction of unused code. Signed-off-by: Magnus Damm Cc: Vivek Goyal Cc: Andi Kleen Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d4df677f8a60ea6bc0ef1a596c1a3a79b1d4882 Author: Alexey Dobriyan Date: Wed Dec 6 20:40:39 2006 -0800 [PATCH] do_coredump() and not stopping rewrite attacks? On Sat, Dec 02, 2006 at 11:47:44PM +0300, Alexey Dobriyan wrote: > David Binderman compiled 2.6.19 with icc and grepped for "was set but never > used". Many warnings are on > http://coderock.org/kj/unused-2.6.19-fs Heh, the very first line: fs/exec.c(1465): remark #593: variable "flag" was set but never used fs/exec.c: 1477 /* 1478 * We cannot trust fsuid as being the "true" uid of the 1479 * process nor do we know its entire history. We only know it 1480 * was tainted so we dump it as root in mode 2. 1481 */ 1482 if (mm->dumpable == 2) { /* Setuid core dump mode */ 1483 flag = O_EXCL; /* Stop rewrite attacks */ 1484 current->fsuid = 0; /* Dump root private */ 1485 } And then filp_open follows with "flag" totally ignored. (akpm: this restores the code to Alan's original version. Andi's "Support piping into commands in /proc/sys/kernel/core_pattern" (cset d025c9db) broke it). Cc: Alan Cox Cc: Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d1362c0d05b8543807ab403ac8ce813cab41fa4 Author: Adrian Bunk Date: Wed Dec 6 20:40:38 2006 -0800 [PATCH] cleanup asm/setup.h userspace visibility Make the contents of the userspace asm/setup.h header consistent on all architectures: - export setup.h to userspace on all architectures - export only COMMAND_LINE_SIZE to userspace - frv: move COMMAND_LINE_SIZE from param.h - i386: remove duplicate COMMAND_LINE_SIZE from param.h - arm: - export ATAGs to userspace - change u8/u16/u32 to __u8/__u16/__u32 Signed-off-by: Adrian Bunk Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f46ba2235feab5e686b1234c328a0577cde86e21 Author: Jun Chen Date: Wed Dec 6 20:40:37 2006 -0800 [PATCH] fs: make nls_cp936.c handle some U00XY characters and U20AC correctly Twenty characters in cp936 are not correctly handled. They're all in the U00 plane. nls_cp936 converts all U00XY to XY but this is not correct for some characters.(e.g. U00B7 -> A1A4, U00A8 -> A1A7). This problem is fixed by generating u2c_00 based on all c2u_xx and changing uni2char() to give U00 plane a special handling. The "€"(U20AC,80 in cp936) is also be handled properly. Acked-by: Gang Chen Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 15ad7cdcfd76450d4beebc789ec646664238184d Author: Helge Deller Date: Wed Dec 6 20:40:36 2006 -0800 [PATCH] struct seq_operations and struct file_operations constification - move some file_operations structs into the .rodata section - move static strings from policy_types[] array into the .rodata section - fix generic seq_operations usages, so that those structs may be defined as "const" as well [akpm@osdl.org: couple of fixes] Signed-off-by: Helge Deller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a08a9f68168e547c2baf100020e9b96cae5fbd1 Author: Yan Burman Date: Wed Dec 6 20:40:34 2006 -0800 [PATCH] jffs: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0172a6dd906cf813cd56aeb133a85abf9a36c8e Author: Yan Burman Date: Wed Dec 6 20:40:33 2006 -0800 [PATCH] arm26: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman CC: Ian Molton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b593e48d2bf09c40c0f5165f2f2a10cc3983ea51 Author: Yan Burman Date: Wed Dec 6 20:40:32 2006 -0800 [PATCH] affs: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d2d3cec1da18123b301270381eb748e5ba4f638 Author: Adrian Bunk Date: Wed Dec 6 20:40:31 2006 -0800 [PATCH] remove drivers/block/paride/jumbo Let's remove this pre-historic paride building script. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9828673d7d24a09fcc3931b3b84c539146979224 Author: Adrian Bunk Date: Wed Dec 6 20:40:29 2006 -0800 [PATCH] paride: remove parport #ifdef's CONFIG_PARIDE depends on CONFIG_PARPORT_PC, so there's no reason for these #ifdef's. Signed-off-by: Adrian Bunk Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b358e22064b4551aa8b4dcfe3efe70a13548676 Author: Adrian Bunk Date: Wed Dec 6 20:40:28 2006 -0800 [PATCH] cleanup include/asm-generic/atomic.h cleanup asm-generic/atomic.h - no longer a userspace header - remove the unneeded #include - #else/#endif comments [akpm@osdl.org: fix arm build] Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ccdea2f88b5689f0fd29c3804be43a3acf0311e3 Author: Ralf Baechle Date: Wed Dec 6 20:40:26 2006 -0800 [PATCH] futex: remove unneeded barrier When disassembling a kernel I found around over 90 sync Instructions from mb, rmb and wmb calls in the kernel and only few of those make any sense to me. So here's the first one - I think the wmb() in kernel/futex.c is not needed on uniprocessors so should become an smb_wmb(). Signed-off-by: Ralf Baechle Acked-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e384bd1692bab6a1d9aa40c849ac373a68769de2 Author: Adrian Bunk Date: Wed Dec 6 20:40:25 2006 -0800 [PATCH] MAINTAINERS: remove the non-existing sun3 list sun3-list@redhat.com does no longer exist. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af69c7f924b272927f9aea378f34f4548d3888d9 Author: Paul Fulghum Date: Wed Dec 6 20:40:24 2006 -0800 [PATCH] generic HDLC synclink config mismatch fix Fix compile errors on mismatch between generic HDLC and synclink drivers. Notes: generic HDLC support for synclink drivers is *optional* so you can't just use depend on in Kconfig This solution is deemed the best after 7 months of review and criticism by many developers including AKPM. Read the threads on LKML before posting about this solution. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ee6f61ca0720c71086a9eaf3f5bd0f7c51fe139 Author: Adrian Bunk Date: Wed Dec 6 20:40:23 2006 -0800 [PATCH] remove NFSD_OPTIMIZE_SPACE This patch removes the unused NFSD_OPTIMIZE_SPACE. Additionally, it does differently what NFSD_OPTIMIZE_SPACE was supposed to do: Nowadays, gcc knows best when to inline code, and CONFIG_CC_OPTIMIZE_FOR_SIZE even tells gcc globally whether to optimize for size or for speed. Therefore, this patch also removes all inline's from these files. Signed-off-by: Adrian Bunk Acked-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 219576e127c4f7770aa985f719e815936bc54367 Author: Adrian Bunk Date: Wed Dec 6 20:40:22 2006 -0800 [PATCH] include/asm-h8300/: "extern inline" -> "static inline" "extern inline" generates a warning with -Wmissing-prototypes and I'm currently working on getting the kernel cleaned up for adding this to the CFLAGS since it will help us to avoid a nasty class of runtime errors. If there are places that really need a forced inline, __always_inline would be the correct solution. Signed-off-by: Adrian Bunk Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bb8cc641653d785e3f3b8d3b0182a69edf825802 Author: Adrian Bunk Date: Wed Dec 6 20:40:21 2006 -0800 [PATCH] include/asm-cris/: "extern inline" -> "static inline" "extern inline" generates a warning with -Wmissing-prototypes and I'm currently working on getting the kernel cleaned up for adding this to the CFLAGS since it will help us to avoid a nasty class of runtime errors. If there are places that really need a forced inline, __always_inline would be the correct solution. Signed-off-by: Adrian Bunk Acked-by: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30aaa5c67e72849ccf290b9a7cad58e43bbb47ac Author: Torben Mathiasen Date: Wed Dec 6 20:40:20 2006 -0800 [PATCH] New updated devices.txt - LANANA [jengelh@linux01.gwdg.de: cleanups] Signed-off-by: Jan Engelhardt Acked-by: Torben Mathiasen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 012d3ca8d85bf3ae5278ba897dd1ca3999247107 Author: Josh Triplett Date: Wed Dec 6 20:40:19 2006 -0800 [PATCH] Add Sparse annotations to SRCU wrapper functions in rcutorture The SRCU wrapper functions srcu_torture_read_lock and srcu_torture_read_unlock in rcutorture intentionally change the SRCU context; annotate them accordingly, to avoid a warning. Signed-off-by: Josh Triplett Acked-by: Paul E. McKenney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a09c17a6fdad9ae5b5ea1c3383080f84ec76ab20 Author: David Rientjes Date: Wed Dec 6 20:40:18 2006 -0800 [PATCH] sys: remove unused variable Remove unused 'new_ruid' variable. Reported by David Binderman . Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8de61e69c2feb10e5391cca67a3faf1d2bf77ce0 Author: David Rientjes Date: Wed Dec 6 20:40:16 2006 -0800 [PATCH] fs: remove unused variable Removed unused 'have_pt_gnu_stack' variable. Reported by David Binderman Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 045f147f3290395661b56b9231fc4d221e150963 Author: Adrian Bunk Date: Wed Dec 6 20:40:15 2006 -0800 [PATCH] remove EXPORT_UNUSED_SYMBOL'ed symbols In time for 2.6.20, we can get rid of this junk. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a8f48a95619cbce8f85423480e7d0a1bf971a62b Author: Eric Sandeen Date: Wed Dec 6 20:40:13 2006 -0800 [PATCH] ext3/4: don't do orphan processing on readonly devices If you do something like: # touch foo # tail -f foo & # rm foo # # you'll panic, because ext3/4 tries to do orphan list processing on the readonly snapshot device, and: kernel: journal commit I/O error kernel: Assertion failure in journal_flush_Rsmp_e2f189ce() at journal.c:1356: "!journal->j_checkpoint_transactions" kernel: Kernel panic: Fatal exception for a truly readonly underlying device, it's reasonable and necessary to just skip orphan list processing. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a0e7688df1484fbf4d6d61c31f7d61a5d8cacf3c Author: Robert P. J. Day Date: Wed Dec 6 20:40:12 2006 -0800 [PATCH] Kbuild: add 3 more header files to get properly "unifdef"ed Add 3 more files to get "unifdef"ed when creating sanitized headers with "make headers_install". Signed-off-by: Robert P. J. Day Acked-by: David Woodhouse Acked-by: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5296c7bec8c85aa0a6964eca9ff4a1a8847fba8a Author: Mariusz Kozlowski Date: Wed Dec 6 20:40:10 2006 -0800 [PATCH] fs: reiserfs add missing brackets Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71a3d1b4f7633835048f96a4ba79c8c87f03df4b Author: Mariusz Kozlowski Date: Wed Dec 6 20:40:09 2006 -0800 [PATCH] fs: ufs add missing bracket Signed-off-by: Mariusz Kozlowski Cc: Evgeniy Dushistov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 65867beb0de4d055637476327b533e5ffbec2b97 Author: Jordan Crouse Date: Wed Dec 6 20:40:07 2006 -0800 [PATCH] Trivial cleanup in the PCI IDs for the CS5535 Rename a poorly worded PCI ID for the Geode GX and CS5535 companion chips. The graphics processor and host bridge actually live in the northbridge on the integrated processor, not in the companion chip. Signed-off-by: Jordan Crouse Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd6ed52568e161ce924593ebc798050a2d23cca0 Author: Adrian Bunk Date: Wed Dec 6 20:40:06 2006 -0800 [PATCH] arch/i386/kernel/reboot.c should #include Every file should #include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0ce7d0346132808d7170b56a01fa582324a7f4d Author: Adrian Bunk Date: Wed Dec 6 20:40:05 2006 -0800 [PATCH] remove drivers/char/riscom8.c:baud_table[] Commit c7bce3097c0f9bbed76ee6fd03742f2624031a45 removed all usages of baud_table[] but not the array itself. Spotted by the GNU C compiler. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0da1480ec33d4bac8c32051c1d33202be6dc439f Author: Adrian Bunk Date: Wed Dec 6 20:40:03 2006 -0800 [PATCH] proper prototype for remove_inode_dquot_ref() Add a proper prototype for remove_inode_dquot_ref() in include/linux/quotaops.h Signed-off-by: Adrian Bunk Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3982cd99c30285ebc71d405cd8530a3dfb7265de Author: Adrian Bunk Date: Wed Dec 6 20:40:01 2006 -0800 [PATCH] fs/sysv/: doc cleanup Remove two different changelog files from fs/sysv/ and merges the INTRO file into Documentation/filesystems/sysv-fs.txt Signed-off-by: Adrian Bunk Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f1a60dbf68061e5a5364cbc723786b355637ffd3 Author: Andrew Morton Date: Wed Dec 6 20:39:59 2006 -0800 [PATCH] gcc-4.1.0 is bust Keith says Compiling 2.6.19-rc6 with gcc version 4.1.0 (SUSE Linux), wait_hpet_tick is optimized away to a never ending loop and the kernel hangs on boot in timer setup. 0000001a : 1a: 55 push %ebp 1b: 89 e5 mov %esp,%ebp 1d: eb fe jmp 1d This is not a problem with gcc 3.3.5. Adding barrier() calls to wait_hpet_tick does not help, making the variables volatile does. And the consensus is that gcc-4.1.0 is busted. Suse went and shipped gcc-4.1.0 so we cannot ban it. Add a warning. Cc: Keith Owens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4ed06ad83acc3b7dafc018bc0b27469e787e27d Author: Lennert Buytenhek Date: Wed Dec 6 20:39:57 2006 -0800 [PATCH] amba-pl010: clear error flags on rx error The pl010 primecell documentation specifies that an error indicated via RSR should be cleared by a write to ECR. We didn't do this, which was causing errors to be re-reported on every call to pl010_rx_chars(). Doing a write to ECR once we detect an error appears to prevent the ep93xx console UART driver from going into a mode where it reports "ttyAM0: X input overrun(s)" every couple of keystrokes. Signed-off-by: Lennert Buytenhek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9468f687d95d1825fd2f2c2f74e1a59429ef25d3 Author: Olaf Hering Date: Wed Dec 6 20:39:55 2006 -0800 [PATCH] winbond IDE depends on IDEDMA winbond ide depends on idedma. Move the option into the IDEDMA section. drivers/built-in.o: In function `.sl82c105_ide_dma_timeout': sl82c105.c:(.text+0x624d0): undefined reference to `.__ide_dma_timeout' drivers/built-in.o: In function `.sl82c105_ide_dma_off_quietly': sl82c105.c:(.text+0x6274c): undefined reference to `.__ide_dma_off_quietly' drivers/built-in.o: In function `.sl82c105_ide_dma_on': sl82c105.c:(.text+0x6284c): undefined reference to `.__ide_dma_on' drivers/built-in.o: In function `.sl82c105_check_drive': sl82c105.c:(.text+0x628ec): undefined reference to `.__ide_dma_bad_drive' sl82c105.c:(.text+0x62934): undefined reference to `.__ide_dma_good_drive' drivers/built-in.o: In function `.sl82c105_ide_dma_start': sl82c105.c:(.text+0x62c24): undefined reference to `.ide_dma_start' make[1]: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Olaf Hering Acked-by: "Bartlomiej Zolnierkiewicz" Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12d40e43d251de4fa1f982567fc8b4ee5e858367 Author: Arnaldo Carvalho de Melo Date: Wed Dec 6 20:39:53 2006 -0800 [PATCH] Save some bytes in struct inode [acme@newtoy net-2.6.20]$ pahole --cacheline 64 fs/inode.o inode /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/dcache.h:86 */ struct inode { struct hlist_node i_hash; /* 0 8 */ struct list_head i_list; /* 8 8 */ struct list_head i_sb_list; /* 16 8 */ struct list_head i_dentry; /* 24 8 */ long unsigned int i_ino; /* 32 4 */ atomic_t i_count; /* 36 4 */ umode_t i_mode; /* 40 2 */ /* XXX 2 bytes hole, try to pack */ unsigned int i_nlink; /* 44 4 */ uid_t i_uid; /* 48 4 */ gid_t i_gid; /* 52 4 */ dev_t i_rdev; /* 56 4 */ loff_t i_size; /* 60 8 */ struct timespec i_atime; /* 68 8 */ struct timespec i_mtime; /* 76 8 */ struct timespec i_ctime; /* 84 8 */ unsigned int i_blkbits; /* 92 4 */ long unsigned int i_version; /* 96 4 */ blkcnt_t i_blocks; /* 100 4 */ short unsigned int i_bytes; /* 104 2 */ /* XXX 2 bytes hole, try to pack */ spinlock_t i_lock; /* 108 40 */ struct mutex i_mutex; /* 148 76 */ struct rw_semaphore i_alloc_sem; /* 224 64 */ struct inode_operations * i_op; /* 288 4 */ const struct file_operations * i_fop; /* 292 4 */ struct super_block * i_sb; /* 296 4 */ struct file_lock * i_flock; /* 300 4 */ struct address_space * i_mapping; /* 304 4 */ struct address_space i_data; /* 308 188 */ struct list_head i_devices; /* 496 8 */ union ; /* 504 4 */ int i_cindex; /* 508 4 */ __u32 i_generation; /* 512 4 */ /* ---------- cacheline 8 boundary ---------- */ long unsigned int i_dnotify_mask; /* 516 4 */ struct dnotify_struct * i_dnotify; /* 520 4 */ struct list_head inotify_watches; /* 524 8 */ struct mutex inotify_mutex; /* 532 76 */ long unsigned int i_state; /* 608 4 */ long unsigned int dirtied_when; /* 612 4 */ unsigned int i_flags; /* 616 4 */ atomic_t i_writecount; /* 620 4 */ void * i_security; /* 624 4 */ void * i_private; /* 628 4 */ }; /* size: 632, sum members: 628, holes: 2, sum holes: 4 */ [acme@newtoy net-2.6.20]$ So just moving i_mode to after i_bytes we save 4 bytes by nuking both holes: [acme@newtoy net-2.6.20]$ codiff -V /tmp/inode.o.before fs/inode.o /pub/scm/linux/kernel/git/acme/net-2.6.20/fs/inode.c: struct inode | -4 i_mode; from: umode_t /* 40(0) 2(0) */ to: umode_t /* 102(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ I've prunned all the other offset changes, only this one is of interest here. So now we have: [acme@newtoy net-2.6.20]$ pahole --cacheline 64 ../OUTPUT/qemu/net-2.6.20/fs/inode.o inode /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/dcache.h:86 */ struct inode { struct hlist_node i_hash; /* 0 8 */ struct list_head i_list; /* 8 8 */ struct list_head i_sb_list; /* 16 8 */ struct list_head i_dentry; /* 24 8 */ long unsigned int i_ino; /* 32 4 */ atomic_t i_count; /* 36 4 */ unsigned int i_nlink; /* 40 4 */ uid_t i_uid; /* 44 4 */ gid_t i_gid; /* 48 4 */ dev_t i_rdev; /* 52 4 */ loff_t i_size; /* 56 8 */ /* ---------- cacheline 1 boundary ---------- */ struct timespec i_atime; /* 64 8 */ struct timespec i_mtime; /* 72 8 */ struct timespec i_ctime; /* 80 8 */ unsigned int i_blkbits; /* 88 4 */ long unsigned int i_version; /* 92 4 */ blkcnt_t i_blocks; /* 96 4 */ short unsigned int i_bytes; /* 100 2 */ umode_t i_mode; /* 102 2 */ spinlock_t i_lock; /* 104 40 */ struct mutex i_mutex; /* 144 76 */ struct rw_semaphore i_alloc_sem; /* 220 64 */ struct inode_operations * i_op; /* 284 4 */ const struct file_operations * i_fop; /* 288 4 */ struct super_block * i_sb; /* 292 4 */ struct file_lock * i_flock; /* 296 4 */ struct address_space * i_mapping; /* 300 4 */ struct address_space i_data; /* 304 188 */ struct list_head i_devices; /* 492 8 */ union ; /* 500 4 */ int i_cindex; /* 504 4 */ __u32 i_generation; /* 508 4 */ /* ---------- cacheline 8 boundary ---------- */ long unsigned int i_dnotify_mask; /* 512 4 */ struct dnotify_struct * i_dnotify; /* 516 4 */ struct list_head inotify_watches; /* 520 8 */ struct mutex inotify_mutex; /* 528 76 */ long unsigned int i_state; /* 604 4 */ long unsigned int dirtied_when; /* 608 4 */ unsigned int i_flags; /* 612 4 */ atomic_t i_writecount; /* 616 4 */ void * i_security; /* 620 4 */ void * i_private; /* 624 4 */ }; /* size: 628 */ [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 652d3a3ed7610bb09530127ca297b538fe7d245a Author: Mariusz Kozlowski Date: Wed Dec 6 20:39:43 2006 -0800 [PATCH] char: ip2 remove broken macro This macro is broken and unused so why not remove it. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9231a0ca1afd05543d9f83539d6ecd5c018e8cf Author: Torsten Ertbjerg Rasmussen Date: Wed Dec 6 20:39:41 2006 -0800 [PATCH] rtc: ds1743 support The real time clocks ds1742 and ds1743 differs only in the size of the nvram. This patch changes the existing ds1742 driver to support also ds1743. The main change is that the nvram size is determined from the resource attached to the device. The patch have benefitted from suggestions from Atsushi Nemeto, who is the author of the ds1742 driver. Signed-off-by: Torsten Rasmussen Rasmussen Acked-by: Alessandro Zummo Acked-by: Atsushi Nemoto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3908fd2ed920af818aa596672da68ba26173ff27 Author: Zachary Amsden Date: Wed Dec 6 20:39:39 2006 -0800 [PATCH] softirq: remove BUG_ONs which can incorrectly trigger It is possible to have tasklets get scheduled before softirqd has had a chance to spawn on all CPUs. This is totally harmless; after success during action CPU_UP_PREPARE, action CPU_ONLINE will be called, which immediately wakes softirqd on the appropriate CPU to process the already pending tasklets. So there is no danger of having a missed wakeup for any tasklets that were already pending. In particular, i386 is affected by this during startup, and is visible when using a very large initrd; during the time it takes for the initrd to be decompressed, a timer IRQ can come in and schedule RCU callbacks. It is also possible that resending of a hardware IRQ via a softirq triggers the same bug. Because of different timing conditions, this shows up in all emulators and virtual machines tested, including Xen, VMware, Virtual PC, and Qemu. It is also possible to trigger on native hardware with a large enough initrd, although I don't have a reliable case demonstrating that. Signed-off-by: Zachary Amsden Cc: Cc: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c949d4eb40ce021b1abc3b63af23aa535662cb17 Author: Jiri Kosina Date: Wed Dec 6 20:39:38 2006 -0800 [PATCH] autofs: fix error code path in autofs_fill_sb() When kernel is compiled with old version of autofs (CONFIG_AUTOFS_FS), and new (observed at least with 5.x.x) automount deamon is started, kernel correctly reports incompatible version of kernel and userland daemon, but then screws things up instead of correct handling of the error: autofs: kernel does not match daemon version ===================================== [ BUG: bad unlock balance detected! ] ------------------------------------- automount/4199 is trying to release lock (&type->s_umount_key) at: [] get_sb_nodev+0x76/0xa4 but there are no more locks to release! other info that might help us debug this: no locks held by automount/4199. stack backtrace: [] dump_trace+0x68/0x1b2 [] show_trace_log_lvl+0x18/0x2c [] show_trace+0xf/0x11 [] dump_stack+0x12/0x14 [] print_unlock_inbalance_bug+0xe7/0xf3 [] lock_release+0x8d/0x164 [] up_write+0x14/0x27 [] get_sb_nodev+0x76/0xa4 [] vfs_kern_mount+0x83/0xf6 [] do_kern_mount+0x2d/0x3e [] do_mount+0x607/0x67a [] sys_mount+0x72/0xa4 [] sysenter_past_esp+0x5f/0x99 DWARF2 unwinder stuck at sysenter_past_esp+0x5f/0x99 Leftover inexact backtrace: ======================= and then deadlock comes. The problem: autofs_fill_super() returns EINVAL to get_sb_nodev(), but before that, it calls kill_anon_super() to destroy the superblock which won't be needed. This is however way too soon to call kill_anon_super(), because get_sb_nodev() has to perform its own cleanup of the superblock first (deactivate_super(), etc.). The correct time to call kill_anon_super() is in the autofs_kill_sb() callback, which is called by deactivate_super() at proper time, when the superblock is ready to be killed. I can see the same faulty codepath also in autofs4. This patch solves issues in both filesystems in a same way - it postpones the kill_anon_super() until the proper time is signalized by deactivate_super() calling the kill_sb() callback. [raven@themaw.net: update comment] Signed-off-by: Jiri Kosina Acked-by: Ian Kent Cc: Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 595142e0490918af5ffae5a833a2b2acd7097c02 Author: Jean Delvare Date: Wed Dec 6 20:39:36 2006 -0800 [PATCH] MAINTAINERS: Update the i2c and hwmon subsystems info The i2c and hwmon trees have moved to a new location. The lm-sensors project moved to a new home as well. Signed-off-by: Jean Delvare Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f29219f17ae46cc182123bc7d2089b69869935ae Author: Mike Galbraith Date: Wed Dec 6 20:39:35 2006 -0800 [PATCH] make 8250_pnp serial driver work after suspend to ram Add suspend/resume methods to drivers/serial/8250_pnp.c. Tested on a P4/HT 16550A box, ttyS0 login survives across suspend to ram. [akpm@osdl.org: cleanups] Signed-off-by: Mike Galbraith Cc: "Rafael J. Wysocki" Cc: Pavel Machek Cc: Russell King Cc: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aaeab80bdbc0d10a98adc6fa76c29ca2f1816553 Author: Alan Cox Date: Wed Dec 6 20:39:33 2006 -0800 [PATCH] ide_scsi: allow it to be used for non CD only Some people want to use ide_cd for CD-ROM but still dynamically load ide-scsi for things like tape drives. If you compile in the CD driver this works out but if you want them modular you need an option to ensure that whoever loads first the right things happen. This replaces the original draft patch which leaked a scsi host reference [akpm@osdl.org: add MODULE_PARM_DESC] Signed-off-by: Alan Cox Cc: Bartlomiej Zolnierkiewicz Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2ee91f197c0bc654b24eed5831fd12aa0d566a7d Author: Ingo Molnar Date: Wed Dec 6 20:39:32 2006 -0800 [PATCH] lockdep: show more details about self-test failures Make the locking self-test failures (of 'FAILURE' type) easier to debug by printing more information. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50cc670aebf4fc64afaf533fb9fa1c8570f09d74 Author: Ingo Molnar Date: Wed Dec 6 20:39:30 2006 -0800 [PATCH] lockdep: more chains Some have reported a chain-table overflow - double its size. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9d55f9dbcf048a882478b437fa3f87becf8a770 Author: Evgeniy Polyakov Date: Wed Dec 6 20:39:27 2006 -0800 [PATCH] better CONFIG_W1_SLAVE_DS2433_CRC handling CONFIG_W1_SLAVE_DS2433_CRC can be used directly, there's no reason for the indirection of defining a different variable in the Makefile. Signed-off-by: Adrian Bunk Signed-off-by: Evgeniy Polyakov Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec0837f230e57afde65db72539e748d2a75abed0 Author: Hugh Dickins Date: Wed Dec 6 20:39:26 2006 -0800 [PATCH] ext4 balloc: fix _with_rsv freeze Port fix to the off-by-one in find_next_usable_block's memscan from ext2 to ext4; but it didn't cause a serious problem for ext4 because the additional ext4_test_allocatable check rescued it from the error. [akpm@osdl.org: build fix] Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341cee438593ff9c4520fb73c561460074f29a9a Author: Hugh Dickins Date: Wed Dec 6 20:39:24 2006 -0800 [PATCH] ext4 balloc: use io_error label ext4_new_blocks has a nice io_error label for setting -EIO, so goto that in the one place that doesn't already use it. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b78a657f0a64134b3813bbdf4e1853d1420eb8d4 Author: Hugh Dickins Date: Wed Dec 6 20:39:21 2006 -0800 [PATCH] ext4 balloc: say rb_entry not list_entry The reservations tree is an rb_tree not a list, so it's less confusing to use rb_entry() than list_entry() - though they're both just container_of(). Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2f2c76d17b68869914a1ec3ab04c7674668f60d Author: Hugh Dickins Date: Wed Dec 6 20:39:20 2006 -0800 [PATCH] ext4 balloc: fix off-by-one against rsv_end rsv_end is the last block within the reservation, so alloc_new_reservation should accept start_block == rsv_end as success. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e7dc95db2695dc92b223cdc49227ac57e63406d2 Author: Hugh Dickins Date: Wed Dec 6 20:39:19 2006 -0800 [PATCH] ext4 balloc: fix off-by-one against grp_goal grp_goal 0 is a genuine goal (unlike -1), so ext4_try_to_allocate_with_rsv should treat it as such. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd16c8f72aaaf2af06969d1441051b90010f7041 Author: Hugh Dickins Date: Wed Dec 6 20:39:18 2006 -0800 [PATCH] ext4 balloc: reset windowsz when full ext4_new_blocks should reset the reservation window size to 0 when squeezing the last blocks out of an almost full filesystem, so the retry doesn't skip any groups with less than half that free, reporting ENOSPC too soon. Signed-off-by: Mingming Cao Signed-off-by: Hugh Dickins Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 126039256cf164f69d8cfa20f1952d00fa61f52f Author: Hisashi Hifumi Date: Wed Dec 6 20:39:17 2006 -0800 [PATCH] jbd2: wait for already submitted t_sync_datalist buffer to complete In the current jbd code, if a buffer on BJ_SyncData list is dirty and not locked, the buffer is refiled to BJ_Locked list, submitted to the IO and waited for IO completion. But the fsstress test showed the case that when a buffer was already submitted to the IO just before the buffer_dirty(bh) check, the buffer was not waited for IO completion. Following patch solves this problem. If it is assumed that a buffer is submitted to the IO before the buffer_dirty(bh) check and still being written to disk, this buffer is refiled to BJ_Locked list. Signed-off-by: Hisashi Hifumi Cc: Jan Kara Cc: "Stephen C. Tweedie" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 702a28b1e64be3dc313f5f0ceb6dc95edfbc5e18 Author: Randy Dunlap Date: Wed Dec 6 20:39:16 2006 -0800 [PATCH] lib functions: always build hweight for loadable modules Always build hweight8/16/32/64() functions into the kernel so that loadable modules may use them. I didn't remove GENERIC_HWEIGHT since ALPHA_EV67, ia64, and some variants of UltraSparc(64) provide their own hweight functions. Fixes config/build problems with NTFS=m and JOYSTICK_ANALOG=m. Kernel: arch/x86_64/boot/bzImage is ready (#19) Building modules, stage 2. MODPOST 94 modules WARNING: "hweight32" [fs/ntfs/ntfs.ko] undefined! WARNING: "hweight16" [drivers/input/joystick/analog.ko] undefined! WARNING: "hweight8" [drivers/input/joystick/analog.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0b71c8e76d20d0329bf7e54f172389f3c343dc41 Author: Stephane Eranian Date: Wed Dec 6 20:39:15 2006 -0800 [PATCH] remove useless carta_random32.h Remove the carta_random32.h header file. The carta_random32() function was was put in and removed in favor of random32(). In the removal process, the header file was forgotten. Signed-off-by: Stephane Eranian Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e229beff7ee43d3d5e387ec91188b20f6267c00 Author: Randy Dunlap Date: Wed Dec 6 20:39:14 2006 -0800 [PATCH] REPORTING-BUGS: request .config file Add kernel .config file to REPORTING-BUGS. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6f24f99cd70a383699bdb34ddd9e6e51c83304c Author: Riku Voipio Date: Wed Dec 6 20:39:13 2006 -0800 [PATCH] rtc-rs5c372: change register reading method According to the datasheet rs5c372 supports three different methods for reading register values. Change from method #1 to method #3, since method #3 is the only one that works on Thecus N2100 board with this RTC. Signed-off-by: Riku Voipio Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c55747682e938c57a9a859d3b26f2c4c83cea011 Author: Vladimir V. Saveliev Date: Wed Dec 6 20:39:12 2006 -0800 [PATCH] reiserfs: do not add save links for O_DIRECT writes We add a save link for O_DIRECT writes to protect the i_size against the crashes before we actually finish the I/O. If we hit an -ENOSPC in aops->prepare_write(), we would do a truncate() to release the blocks which might have got initialized. Now the truncate would add another save link for the same inode causing a reiserfs panic for having multiple save links for the same inode. Signed-off-by: Vladimir V. Saveliev Signed-off-by: Amit Arora Signed-off-by: Suzuki K P Cc: Jeff Mahoney Cc: Chris Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 301827acbe49d0ba7ec9770803970893ac9ded97 Author: Chris Caputo Date: Wed Dec 6 20:39:11 2006 -0800 [PATCH] sched: correct output of show_state() At present show_state prints a header the does not match the output of show_task, as follows: - sibling task PC pid father child younger older init S 00000000 0 1 0 2 (NOTLB) - This patch corrects the output of show_state so that the header is aligned with the data, ala: - free sibling task PC stack pid father child younger older init S 00000000 0 1 0 2 (NOTLB) - Signed-off-by: Chris Caputo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd9b0bac6f601655044fc35978e26231dffee03e Author: BP, Praveen Date: Wed Dec 6 20:39:09 2006 -0800 [PATCH] sysctl: string length calculated is wrong if it contains negative numbers In the functions do_proc_dointvec() and do_proc_doulongvec_minmax(), there seems to be a bug in string length calculation if string contains negative integer. The console log given below explains the bug. Setting negative values may not be a right thing to do for "console log level" but then the test (given below) can be used to demonstrate the bug in the code. # echo "-1 -1 -1 -123456" > /proc/sys/kernel/printk # cat /proc/sys/kernel/printk -1 -1 -1 -1234 # # echo "-1 -1 -1 123456" > /proc/sys/kernel/printk # cat /proc/sys/kernel/printk -1 -1 -1 1234 # (akpm: the bug is that 123456 gets truncated) It works as expected if string contains all +ve integers # echo "1 2 3 4" > /proc/sys/kernel/printk # cat /proc/sys/kernel/printk 1 2 3 4 # The patch given below fixes the issue. Signed-off-by: Praveen BP Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36499dc2bc8025bc931a0fb22bbe0ac0e46ffb14 Author: Akinobu Mita Date: Wed Dec 6 20:39:06 2006 -0800 [PATCH] synclink_gt: fix init error handling Initialization synclink_gt forgot to unregister pci driver on error path. Signed-off-by: Akinobu Mita Cc: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b92ff01c2cd21567c3342c1c77d5e4f1a2bd699 Author: Akinobu Mita Date: Wed Dec 6 20:39:05 2006 -0800 [PATCH] spi: check platform_device_register_simple() error Check the return value of platform_device_register_simple(). Cc: David Brownell Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95362fa90312ff2d52c0b4d42412cd7ceeb3b89b Author: Akinobu Mita Date: Wed Dec 6 20:39:03 2006 -0800 [PATCH] futex: init error check Check register_filesystem() and kern_mount() return values. Cc: Ingo Molnar Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01afb2134ed079fa4551b4d26f62423df6790c09 Author: Yan Burman Date: Wed Dec 6 20:39:01 2006 -0800 [PATCH] reiser: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9399575dd30edcb84e821583daf81d4ba774a95b Author: Maciej W. Rozycki Date: Wed Dec 6 20:38:59 2006 -0800 [PATCH] dz: Fixes to make it work This a set of fixes mostly to make the driver actually work: 1. Actually select the line for setting parameters and receiver disable/enable. 2. Select the line for receive and transmit interrupt handling correctly. 3. Report the transmitter empty state correctly. 4. Set the I/O type of ports correctly. 5. Perform polled transmission correctly. 6. Don't fix the console line at ttyS3. 7. Magic SysRq support. 8. Various small bits here and there. Tested with a DECstation 2100 (thanks Flo for making this possible). [akpm@osdl.org: fix typo] Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7dff2b12654149c9cac8d8c79b6588759edd5a9 Author: Gautham R Shenoy Date: Wed Dec 6 20:38:58 2006 -0800 [PATCH] Handle per-subsystem mutexes for CONFIG_HOTPLUG_CPU not set Provide a common interface for all the subsystems to lock and unlock their per-subsystem hotcpu mutexes. When CONFIG_HOTPLUG_CPU is not set, these operations would be no-ops. [akpm@osdl.org: macros -> inlines] Signed-off-by: Gautham R Shenoy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3fa72e4556ec1f04e46a0d561d9e785ecaa173d Author: Ralf Baechle Date: Wed Dec 6 20:38:56 2006 -0800 [PATCH] Pass struct dev pointer to dma_cache_sync() Pass struct dev pointer to dma_cache_sync() dma_cache_sync() is ill-designed in that it does not have a struct device pointer argument which makes proper support for systems that consist of a mix of coherent and non-coherent DMA devices hard. Change dma_cache_sync to take a struct device pointer as first argument and fix all its callers to pass it. Signed-off-by: Ralf Baechle Cc: James Bottomley Cc: "David S. Miller" Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f67637ee4b5d90d41160d755b9a8cca18c394586 Author: Ralf Baechle Date: Wed Dec 6 20:38:54 2006 -0800 [PATCH] Add struct dev pointer to dma_is_consistent() dma_is_consistent() is ill-designed in that it does not have a struct device pointer argument which makes proper support for systems that consist of a mix of coherent and non-coherent DMA devices hard. Change dma_is_consistent to take a struct device pointer as first argument and fix the sole caller to pass it. Signed-off-by: Ralf Baechle Cc: James Bottomley Cc: "David S. Miller" Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83b7b44e1c1e9e493ccd4146558481ab5af0116a Author: Eric Dumazet Date: Wed Dec 6 20:38:53 2006 -0800 [PATCH] fs: reorder some 'struct inode' fields to speedup i_size manipulations On 32bits SMP platforms, 64bits i_size is protected by a seqcount (i_size_seqcount). When i_size is read or written, i_size_seqcount is read/written as well, so it make sense to group these two fields together in the same cache line. This patch moves i_size_seqcount next to i_size, and also moves i_version to let offsetof(struct inode, i_size) being 0x40 instead of 0x3c (for 32bits platforms). For 64 bits platforms, i_size_seqcount doesnt exist, and the move of a 'long i_version' should not introduce a new hole because of padding. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea82c74093f48b28e632d03eeff22faf99727a8c Author: Randy Dunlap Date: Wed Dec 6 20:38:52 2006 -0800 [PATCH] kernel-doc: stricter function pointer recognition Be more careful about function pointer args: look for "(...*" instead of just "(". This line in include/linux/input.h fools the current kernel-doc script into deciding that this is a function pointer: unsigned long ffbit[NBITS(FF_MAX)]; Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4668edc334ee90cf50c382c3e423cfc510b5a126 Author: Burman Yan Date: Wed Dec 6 20:38:51 2006 -0800 [PATCH] kernel core: replace kmalloc+memset with kzalloc Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 304e61e6fbadec586dfe002b535f169a04248e49 Author: Eric Dumazet Date: Wed Dec 6 20:38:49 2006 -0800 [PATCH] net: don't insert socket dentries into dentry_hashtable We currently insert socket dentries into the global dentry hashtable. This is suboptimal because there is currently no way these entries can be used for a lookup(). (/proc/xxx/fd/xxx uses a different mechanism). Inserting them in dentry hashtable slows dcache lookups. To let __dpath() still work correctly (ie not adding a " (deleted)") after dentry name, we do : - Right after d_alloc(), pretend they are hashed by clearing the DCACHE_UNHASHED bit. - Call d_instantiate() instead of d_add() : dentry is not inserted in hash table. __dpath() & friends work as intended during dentry lifetime. - At dismantle time, once dput() must clear the dentry, setting again DCACHE_UNHASHED bit inside the custom d_delete() function provided by socket code, so that dput() can just kill_it. Signed-off-by: Eric Dumazet Cc: Al Viro Acked-by: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3423415fbc2e5461605826317da1c8dbbf21f97 Author: Eric Dumazet Date: Wed Dec 6 20:38:48 2006 -0800 [PATCH] dcache: avoid RCU for never-hashed dentries Some dentries don't need to be globally visible in dentry hashtable. (pipes & sockets) Such dentries dont need to wait for a RCU grace period at delete time. Being able to free them permits a better CPU cache use (hot cache) This patch combined with (dont insert pipe dentries into dentry_hashtable) reduced time of { pipe(p); close(p[0]); close(p[1]);} on my UP machine (1.6 GHz Pentium-M) from 3.23 us to 2.86 us (But this patch does not depend on other patches, only bench results) Signed-off-by: Eric Dumazet Cc: Al Viro Cc: Maneesh Soni Cc: "Paul E. McKenney" Cc: Dipankar Sarma Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d18de5a2721f84ffd6a5d637915746ed47becc1c Author: Eric Dumazet Date: Wed Dec 6 20:38:45 2006 -0800 [PATCH] don't insert pipe dentries into dentry_hashtable. We currently insert pipe dentries into the global dentry hashtable. This is suboptimal because there is currently no way these entries can be used for a lookup(). (/proc/xxx/fd/xxx uses a different mechanism). Inserting them in dentry hashtable slows dcache lookups. To let __dpath() still work correctly (ie not adding a " (deleted)") after dentry name, we do : - Right after d_alloc(), pretend they are hashed by clearing the DCACHE_UNHASHED bit. - Call d_instantiate() instead of d_add() : dentry is not inserted in hash table. __dpath() & friends work as intended during dentry lifetime. - At dismantle time, once dput() must clear the dentry, setting again DCACHE_UNHASHED bit inside the custom d_delete() function provided by pipe code, so that dput() can just kill_it. This patch, combined with (avoid RCU for never hashed dentries) reduced time of { pipe(p); close(p[0]); close(p[1]);} on my UP machine (1.6GHz Pentium-M) from 3.23 us to 2.86 us (But this patch does not depend on other patches, only bench results) Signed-off-by: Eric Dumazet Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c69d921ed9cc6593ad4f60c0f9951cb0d62b0b4 Author: Eric Dumazet Date: Wed Dec 6 20:38:44 2006 -0800 [PATCH] rcu: add a prefetch() in rcu_do_batch() On some workloads, (for example when lot of close() syscalls are done), RCU qlen can be quite large, and RCU heads are no longer in cpu cache when rcu_do_batch() is called. This patch adds a prefetch() in rcu_do_batch() to give CPU a hint to bring back cache lines containing 'struct rcu_head's. Most list manipulations macros include prefetch(), but not open coded ones (at least with current C compilers :) ) I got a nice speedup on a trivial benchmark (3.48 us per iteration instead of 3.95 us on a 1.6 GHz Pentium-M) while (1) { pipe(p); close(fd[0]); close(fd[1]);} Signed-off-by: Eric Dumazet Cc: "Paul E. McKenney" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a0efbb8795e8c5acb279d984b53d6af6ecdd00f Author: Randy Dunlap Date: Wed Dec 6 20:38:44 2006 -0800 [PATCH] kernel-api book: remove videodev chapter Remove the videodev chapter from the kernel-api book. It's done much better in the videobook kernel-doc. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9489fb60614794cbca4b6b173c60ed9388974c6 Author: Randy Dunlap Date: Wed Dec 6 20:38:43 2006 -0800 [PATCH] kernel-doc: fix fusion and i2o docs Correct lots of typos, kernel-doc warnings, & kernel-doc usage in fusion and i2o drivers. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da39aa8fbc031029b1f06f1abf2a933e1042fe99 Author: Randy Dunlap Date: Wed Dec 6 20:38:42 2006 -0800 [PATCH] kernel-doc: add fusion and i2o to kernel-api book Add Fusion and I2O message-based device interfaces to kernel-api book. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0bf93226073db0c957664592ba2f1aaeef57bb82 Author: Randy Dunlap Date: Wed Dec 6 20:38:41 2006 -0800 [PATCH] export toshiba SMM support for neofb module When CONFIG_TOSHIBA=y and CONFIG_FB_NEOMAGIC=m, tosh_smm() needs to be exported for neofb to use it. WARNING: "tosh_smm" [drivers/video/neofb.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e29fe837a512229f4757cd93fdd7163d027d103 Author: Randy Dunlap Date: Wed Dec 6 20:38:40 2006 -0800 [PATCH] CISS: require same SCSI module support Building CCISS SCSI tape support in-kernel when SCSI=m causes build errors, so require SCSI support to be =y or same as CCISS SCSI tape support. drivers/built-in.o: In function `cciss_remove_one': cciss.c:(.text+0x79d4c): undefined reference to `scsi_remove_host' cciss.c:(.text+0x79d55): undefined reference to `scsi_host_put' drivers/built-in.o: In function `cciss_update_non_disk_devices': cciss.c:(.text+0x7bb54): undefined reference to `scsi_device_type' cciss.c:(.text+0x7bcc8): undefined reference to `scsi_device_type' cciss.c:(.text+0x7be81): undefined reference to `scsi_device_type' cciss.c:(.text+0x7bf81): undefined reference to `scsi_device_type' drivers/built-in.o: In function `cciss_proc_write': cciss.c:(.text+0x7c175): undefined reference to `scsi_host_alloc' cciss.c:(.text+0x7c1ed): undefined reference to `scsi_add_host' cciss.c:(.text+0x7c1f9): undefined reference to `scsi_scan_host' cciss.c:(.text+0x7c206): undefined reference to `scsi_host_put' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Acked-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 403aac965eba17a360a93c3b679f57b21030d4cd Author: Yoichi Yuasa Date: Wed Dec 6 20:38:38 2006 -0800 [PATCH] add return value checking of get_user() in set_vesa_blanking() [akpm@osdl.org: bugfix] Signed-off-by: Yoichi Yuasa Cc: James Simmons Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db68b189f4b8026b2f532e1b1bbdba5fcb36638c Author: David Brownell Date: Wed Dec 6 20:38:36 2006 -0800 [PATCH] add rtc-omap driver This creates a new RTC-framework driver for the RTC/calendar module found in various OMAP1 chips. (OMAP2 and OMAP3 use external RTCs, like those in TI's multifunction PM companion chips.) It's been in the Linux-OMAP tree for several months now, and other trees before that, so it's quite stable. The most notable issue is that the OMAP IRQ code doesn't yet support the RTC IRQ as a wakeup event. Once that's fixed, a patch will be needed. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da015a6744f3648d34b83d1c4e015e6a798b8c56 Author: Randy Dunlap Date: Wed Dec 6 20:38:35 2006 -0800 [PATCH] agp-amd64: section mismatches with HOTPLUG=n When CONFIG_HOTPLUG=n, agp_amd64_resume() calls nforce3_agp_init(), which is __devinit == __init, so has been discarded and is not usable for resume. WARNING: drivers/char/agp/amd64-agp.o - Section mismatch: reference to .init.text: from .text between 'agp_amd64_resume' (at offset 0x249) and 'amd64_tlbflush' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4438982f56b7e2ecb7932612601ba0390972ce3b Author: Randy Dunlap Date: Wed Dec 6 20:38:33 2006 -0800 [PATCH] parport: section mismatches with HOTPLUG=n When CONFIG_HOTPLUG=n, parport_pc calls some __devinit == __init code that could be discarded. These calls are made from parport_irq_probe(), which is called from parport_pc_probe_port(), which is an exported symbol, so the calls could (possibly) happen after init time. WARNING: drivers/parport/parport_pc.o - Section mismatch: reference to .init.text: from .text between 'parport_irq_probe' (at offset 0x31d) and 'parport_pc_probe_port' WARNING: drivers/parport/parport_pc.o - Section mismatch: reference to .init.text: from .text between 'parport_irq_probe' (at offset 0x346) and 'parport_pc_probe_port' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9711ef9945ce33b2b4ecb51a4db3f65f7d784876 Author: Adrian Bunk Date: Wed Dec 6 20:38:31 2006 -0800 [PATCH] make fs/proc/base.c:proc_pid_instantiate() static Signed-off-by: Adrian Bunk Acked-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c585646dd1d98caf0a5f2e85c794c1441df6fac1 Author: Adrian Bunk Date: Wed Dec 6 20:38:29 2006 -0800 [PATCH] fs/lockd/host.c: make 2 functions static Make the following needlessly global functions static: - nlm_lookup_host() - nsm_find() Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ddae86095794cce4364740edd8463c77654a265 Author: Adrian Bunk Date: Wed Dec 6 20:38:27 2006 -0800 [PATCH] make fs/jbd2/transaction.c:__kbd2_journal_temp_unlink_buffer() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d394e122bc1adba0f3eb1ebec1cedb8a8c524741 Author: Adrian Bunk Date: Wed Dec 6 20:38:26 2006 -0800 [PATCH] make fs/jbd/transaction.c:__journal_temp_unlink_buffer() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8487f2e4067839ad3d009c240d51b682264320ae Author: Adrian Bunk Date: Wed Dec 6 20:38:25 2006 -0800 [PATCH] make ecryptfs_version_str_map[] static Signed-off-by: Adrian Bunk Acked-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f13a603786819cc8f2eef6a89bc4a6c88f40ee60 Author: Randy Dunlap Date: Wed Dec 6 20:38:24 2006 -0800 [PATCH] I2O: fix I2O_CONFIG without Adaptec extension With I2O_CONFIG=y and I2O_EXT_ADAPTEC=n, kernel build gets: drivers/message/i2o/i2o_config.c:1115: error: 'i2o_cfg_compat_ioctl' undeclared here (not in a function) Signed-off-by: Randy Dunlap Cc: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d69b7d3d115d0db3ddd87f09e496db7ecf72650 Author: Randy Dunlap Date: Wed Dec 6 20:38:23 2006 -0800 [PATCH] I2O: handle __copy_from_user Handle __copy_from_user() return value. Noticed by inspection, not from build warning. Signed-off-by: Randy Dunlap Cc: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3228a887cae75ef2b8b1211c31c539bef5a5698 Author: Adrian Bunk Date: Wed Dec 6 20:38:22 2006 -0800 [PATCH] make kernel/signal.c:kill_proc_info() static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebe7e5fe4b41deeb2731c5b52d8c8e6ac08b1f74 Author: Adrian Bunk Date: Wed Dec 6 20:38:21 2006 -0800 [PATCH] remove kernel/lockdep.c:lockdep_internal Remove the no longer used lockdep_internal(). Signed-off-by: Adrian Bunk Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1f370a23f2a3101886953add4bd7f529e3bba016 Author: Adrian Bunk Date: Wed Dec 6 20:38:21 2006 -0800 [PATCH] make mm/shmem.c:shmem_xattr_security_handler static Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fed806f4072badad614699e1d40202e0ffef5c63 Author: Jan Beulich Date: Wed Dec 6 20:38:20 2006 -0800 [PATCH] allow hwrandom core to be a module Despite it being small, there should be the option of making it a module... Signed-off-by: Jan Beulich Cc: Michael Buesch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1df1e63b9e9340015c01b85817568fb9afde10bc Author: Mingming Cao Date: Wed Dec 6 20:38:19 2006 -0800 [PATCH] ext4: fix reservation extension Hugh Dickins wrote: > Not found anything relevant, but I keep noticing these lines > in ext2_try_to_allocate_with_rsv(), ext3 and ext4 similar: > > } else if (grp_goal > 0 && > (my_rsv->rsv_end - grp_goal + 1) < *count) > try_to_extend_reservation(my_rsv, sb, > *count-my_rsv->rsv_end + grp_goal - 1); > > They're wrong, a no-op in most groups, aren't they? rsv_end is an > absolute block number, whereas grp_goal is group-relative, so the > calculation ought to bring in group_first_block? Or I'm confused. > Signed-off-by: Mingming Cao Cc: "linux-ext4@vger.kernel.org" Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2bd94bd79e5bfa217714f78e5d6d7b6517ca546f Author: Mingming Cao Date: Wed Dec 6 20:38:18 2006 -0800 [PATCH] ext3: fix reservation extension Hugh Dickins wrote: > Not found anything relevant, but I keep noticing these lines > in ext2_try_to_allocate_with_rsv(), ext3 and ext4 similar: > > } else if (grp_goal > 0 && > (my_rsv->rsv_end - grp_goal + 1) < *count) > try_to_extend_reservation(my_rsv, sb, > *count-my_rsv->rsv_end + grp_goal - 1); > > They're wrong, a no-op in most groups, aren't they? rsv_end is an > absolute block number, whereas grp_goal is group-relative, so the > calculation ought to bring in group_first_block? Or I'm confused. > Signed-off-by: Mingming Cao Cc: "linux-ext4@vger.kernel.org" Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02316067852187b8bec781bec07410e91af79627 Author: Ingo Molnar Date: Wed Dec 6 20:38:17 2006 -0800 [PATCH] hotplug CPU: clean up hotcpu_notifier() use There was lots of #ifdef noise in the kernel due to hotcpu_notifier(fn, prio) not correctly marking 'fn' as used in the !HOTPLUG_CPU case, and thus generating compiler warnings of unused symbols, hence forcing people to add #ifdefs. the compiler can skip truly unused functions just fine: text data bss dec hex filename 1624412 728710 3674856 6027978 5bfaca vmlinux.before 1624412 728710 3674856 6027978 5bfaca vmlinux.after [akpm@osdl.org: topology.c fix] Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a38a44c1a93078fc5fadc4ac2df8dea4697069e2 Author: Andrew Morton Date: Wed Dec 6 20:38:16 2006 -0800 [PATCH] smp_call_function_single() check that local interrupts are enabled smp_call_function_single() can deadlock if the caller disabled local interrupts (the target CPU could be spinning on call_lock). Check for that. Why on earth do these functions use spin_lock_bh()?? Cc: "Randy.Dunlap" Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83df8db9e62129975fab6d800fb381faf0dfee74 Author: Randy Dunlap Date: Wed Dec 6 20:38:14 2006 -0800 [PATCH] declare smp_call_function_single in generic code smp_call_function_single() needs to be visible in non-SMP builds, to fix: arch/x86_64/kernel/vsyscall.c:283: warning: implicit declaration of function 'smp_call_function_single' Signed-off-by: Randy Dunlap Cc: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4c6c34a530b4d1c626f4ac0a884e0a9b849378c Author: Masami Hiramatsu Date: Wed Dec 6 20:38:11 2006 -0800 [PATCH] kprobes: enable booster on the preemptible kernel When we are unregistering a kprobe-booster, we can't release its instruction buffer immediately on the preemptive kernel, because some processes might be preempted on the buffer. The freeze_processes() and thaw_processes() functions can clean most of processes up from the buffer. There are still some non-frozen threads who have the PF_NOFREEZE flag. If those threads are sleeping (not preempted) at the known place outside the buffer, we can ensure safety of freeing. However, the processing of this check routine takes a long time. So, this patch introduces the garbage collection mechanism of insn_slot. It also introduces the "dirty" flag to free_insn_slot because of efficiency. The "clean" instruction slots (dirty flag is cleared) are released immediately. But the "dirty" slots which are used by boosted kprobes, are marked as garbages. collect_garbage_slots() will be invoked to release "dirty" slots if there are more than INSNS_PER_PAGE garbage slots or if there are no unused slots. Cc: "Keshavamurthy, Anil S" Cc: Ananth N Mavinakayanahalli Cc: "bibo,mao" Cc: Prasanna S Panchamukhi Cc: Yumiko Sugita Cc: Satoshi Oshima Cc: Hideo Aoki Signed-off-by: Masami Hiramatsu Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c15bb296403f1ce448384d58742e0dc04f49d664 Author: Linas Vepstas Date: Wed Dec 6 20:38:07 2006 -0800 [PATCH] HVCS char driver janitoring: move block of code Move a block of code from the bottom of the file to the top, which is needed to enable the cleanup. Signed-off-by: Linas Vepstas Cc: Ryan S. Arnold Cc: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 940cc2df935d00e704c7b8366bdaedda379abf85 Author: Mariusz Kozlowski Date: Wed Dec 6 20:38:04 2006 -0800 [PATCH] make 1-bit bitfields unsigned Keeps sparse happy. Signed-of-by: Mariusz Kozlowski Cc: Russell King Cc: Mauro Carvalho Chehab Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c67220480e0dc6442851691c81c2ff7aa48f9d8f Author: Adrian Bunk Date: Wed Dec 6 20:38:02 2006 -0800 [PATCH] The scheduled removal of some OSS options The scheduled removal of the OSS drivers depending on OSS_OBSOLETE_DRIVER. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de21c57b90b3716f6f951e88e039d00ab6729ce9 Author: Alexey Dobriyan Date: Wed Dec 6 20:38:02 2006 -0800 [PATCH] reiserfs: add missing D-cache flushing Looks like, reiserfs_prepare_file_region_for_write() doesn't contain several flush_dcache_page() calls. Found with help from Dmitriy Monakhov [akpm@osdl.org: small speedup] Signed-off-by: Alexey Dobriyan Cc: Dmitriy Monakhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 360276042d7a8369ce912acff99c1c4de394b312 Author: Magnus Damm Date: Wed Dec 6 20:38:00 2006 -0800 [PATCH] elf: fix kcore note size calculation - Define "CORE" string as CORE_STR in single common place. - Include terminating zero in CORE_STR length calculation for elf_buflen. - Use roundup(,4) to include alignment in elf_buflen calculation. [akpm@osdl.org: simplification suggested by Roland] Signed-off-by: Magnus Damm Cc: Daniel Jacobowitz Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 584236ac7cdddeec0fdff25d2e475471ef91d028 Author: Magnus Damm Date: Wed Dec 6 20:37:56 2006 -0800 [PATCH] elf: include terminating zero in n_namesz The ELF32 spec says we should plus we include the zero on other platforms. Signed-off-by: Magnus Damm Cc: Daniel Jacobowitz Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 386d9a7edd9f3492c99124b0a659e9ed7abb30f9 Author: Magnus Damm Date: Wed Dec 6 20:37:53 2006 -0800 [PATCH] elf: Always define elf_addr_t in linux/elf.h Define elf_addr_t in linux/elf.h. The size of the type is determined using ELF_CLASS. This allows us to remove the defines that today are spread all over .c and .h files. Signed-off-by: Magnus Damm Cc: Daniel Jacobowitz Cc: Roland McGrath Cc: Jakub Jelinek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 651971cb7242e8f6d7ebd153e69bd271cb731223 Author: suzuki Date: Wed Dec 6 20:37:48 2006 -0800 [PATCH] Fix the size limit of compat space msgsize Currently we allocate 64k space on the user stack and use it the msgbuf for sys_{msgrcv,msgsnd} for compat and the results are later copied in user [ by copy_in_user]. This patch introduces helper routines for sys_{msgrcv,msgsnd} as below: do_msgsnd() : Accepts the mtype and user space ptr to the buffer along with the msqid and msgflg. do_msgrcv() : Accepts a kernel space ptr to mtype and a userspace ptr to the buffer. The mtype has to be copied back the user space msgbuf by the caller. These changes avoid the need to allocate the msgsize on the userspace ( thus removing the size limt ) and the overhead of an extra copy_in_user(). Signed-off-by: Suzuki K P Cc: Arnd Bergmann Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19e5d9c0d2194b4b47189cbec2921cbf72b0bd1c Author: Henry Nestler Date: Wed Dec 6 20:37:45 2006 -0800 [PATCH] initrd: remove unused false condition for initrd_start After LOADER_TYPE && INITRD_START are true, the short if-condition for INITRD_START can never be false. Remove unused code from the else condition. Signed-off-by: Henry Nestler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 319e799abb89d9215a203e32c2cad51115d302f4 Author: Valdis Kletnieks Date: Wed Dec 6 20:37:43 2006 -0800 [PATCH] ver_linux additions scripts/ver_linux needed some minor clean-ups, as follows: 1) Add reporting of actual oprofile release 2) Add reporting of actual wireless-tools release 3) Add reporting of actual pcmciautils release Signed-off-by: Valdis Kletnieks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c36264dfb2d6fa6383082de0a1bba8e12b477da1 Author: Mike Galbraith Date: Wed Dec 6 20:37:42 2006 -0800 [PATCH] remove the syslog interface when printk is disabled Attempts to read() from the non-existent dmesg buffer will return zero and userspace tends to get stuck in a busyloop. So just remove /dev/kmsg altogether if CONFIG_PRINTK=n. Signed-off-by: Mike Galbraith Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 44ddc4f5673a62c9ecdbb7b502fe7b8206b0f945 Author: akpm@osdl.org Date: Wed Dec 6 20:37:41 2006 -0800 [PATCH] qconf: support old QT Might make qconf compilable with qt-3.1 as well as qt-3.3 Cc: greg chesson Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfd1893477fa94bb0915e39afa2f044ac978b5c6 Author: Thomas Gleixner Date: Wed Dec 6 20:37:38 2006 -0800 [PATCH] ktime: Fix signed / unsigned mismatch in ktime_to_ns The 32 bit implementation of ktime_to_ns returns unsigned value, while the 64 bit version correctly returns an signed value. There is no current user affected by this, but it has to be fixed, as ktime values can be negative. Pointed-out-by: Helmut Duregger Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b46be05004abb419e303e66e143eed9f8a6e9f3f Author: Andrey Savochkin Date: Wed Dec 6 20:37:36 2006 -0800 [PATCH] retries in ext4_prepare_write() violate ordering requirements In journal=ordered or journal=data mode retry in ext4_prepare_write() breaks the requirements of journaling of data with respect to metadata. The fix is to call commit_write to commit allocated zero blocks before retry. Signed-off-by: Kirill Korotaev Cc: Ingo Molnar Cc: Ken Chen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e92a4d595b464c4aae64be39ca61a9ffe9c8b278 Author: Andrey Savochkin Date: Wed Dec 6 20:37:34 2006 -0800 [PATCH] retries in ext3_prepare_write() violate ordering requirements In journal=ordered or journal=data mode retry in ext3_prepare_write() breaks the requirements of journaling of data with respect to metadata. The fix is to call commit_write to commit allocated zero blocks before retry. Signed-off-by: Kirill Korotaev Cc: Ingo Molnar Cc: Ken Chen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 04903664325acb3f199dd8a4b8f1aa437e9fd6b2 Author: Andrew Morton Date: Wed Dec 6 20:37:33 2006 -0800 [PATCH] remove HASH_HIGHMEM It has no users and it's doubtful that we'll need it again. Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93f210dd9e614ddab7ecef0b4c9ba6ad3720d860 Author: Andrew Morton Date: Wed Dec 6 20:37:33 2006 -0800 [PATCH] protect ext2 ioctl modifying append_only immutable etc with i_mutex Port commit a090d9132c1e53e3517111123680c15afb25c0a4 into ext2: All modifications of ->i_flags in inodes that might be visible to somebody else must be under ->i_mutex. That patch fixes ext2 ioctl() setting S_APPEND. Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5738ceed46782aea7663d62cb6398eb05fc4ce0 Author: Arnd Bergmann Date: Wed Dec 6 20:37:29 2006 -0800 [PATCH] remove kernel syscalls The last thing we agreed on was to remove the macros entirely for 2.6.19, on all architectures. Unfortunately, I think nobody actually _did_ that, so they are still there. [akpm@osdl.org: x86_64 fix] Cc: David Woodhouse Cc: Greg Schafer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28ec24e23229ae3d333f8d7f0e6b31fa8ea7bf46 Author: Andrew Morton Date: Wed Dec 6 20:37:29 2006 -0800 [PATCH] driver/base/memory.c: handle errors properly Do proper error-checking and propagation in drivers/base/memory.c, hence fix __must_check warnings. Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d75565f1e8f098b80a34ccf70db450f60618ec8 Author: Kristian Kielhofner Date: Wed Dec 6 20:37:28 2006 -0800 [PATCH] PCEngines WRAP LED Support A driver for the PCEngines WRAP boards (http://www.pcengines.ch), which are very similar to the Soekris net4801 (same NS SC1100 geode reference design). The LEDs on the WRAP are on different GPIO lines and I have modified and copied the net48xx error led support for this. It also includes support for an "extra" led (in addition to error). The three LEDs on the WRAP are at GPIO lines 2,3,18 (WRAP LEDs from left to right). This driver gives access to the second and third LEDs by twiddling GPIO lines 3 & 18. Because these boards are so similar to the net48xx, I basically sed-ed that driver to form the basis for leds-wrap.c. The only changes from leds-net48xx.c are: - #define WRAP_EXTRA_LED_GPIO - name changes - duplicate relevant sections to provide support for the "extra" led - reverse the various *_led_set values. The WRAP is "backwards" from the net48xx, and these needed to be updated for that. [akpm@osdl.org: build fix] Signed-off-by: Kristian Kielhofner Acked-by: Richard Purdie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40fcfc87222e2e8af6379ec366f0cb2a411570cd Author: Alan Cox Date: Wed Dec 6 20:37:27 2006 -0800 [PATCH] HZ: 300Hz support Fix two things. Firstly the unit is "Hz" not "HZ". Secondly it is useful to have 300Hz support when doing multimedia work. 250 is fine for us in Europe but the US frame rate is 30fps (29.99 blah for pedants). 300 gives us a tick divisible by both 25 and 30, and for interlace work 50 and 60. It's also giving similar performance to 250Hz. I'd argue we should remove 250 and add 300, but that might be excess disruption for now. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5abe669172f20a4129a711de0f250a4e07db298 Author: Peter Zijlstra Date: Wed Dec 6 20:37:26 2006 -0800 [PATCH] debug: workqueue locking sanity Workqueue functions should not leak locks, assert so, printing the last function ran. Use macros in lockdep.h to avoid include dependency pains. [akpm@osdl.org: build fix] Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fb50ea79cb869667adaa71ed32cc15dd73986de Author: Adrian Bunk Date: Wed Dec 6 20:37:25 2006 -0800 [PATCH] ext4_ext_split(): remove dead code The Coverity checker noted that this was dead code, since in all places above in this function, "err" is immediately checked. Signed-off-by: Adrian Bunk Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ece8a684c75df215320b4155944979e3f78c5c93 Author: Ingo Molnar Date: Wed Dec 6 20:37:24 2006 -0800 [PATCH] sleep profiling Implement prof=sleep profiling. TASK_UNINTERRUPTIBLE sleeps will be taken as a profile hit, and every millisecond spent sleeping causes a profile-hit for the call site that initiated the sleep. Sample readprofile output on i386: 306 ps2_sendbyte 1.3973 432 call_usermodehelper_keys 1.9548 484 ps2_command 0.6453 790 __driver_attach 4.7879 1593 msleep 44.2500 3976 sync_buffer 64.1290 4076 do_lookup 12.4648 8587 sync_page 122.6714 20820 total 0.0067 (NOTE: architectures need to check whether get_wchan() can be called from deep within the wakeup path.) akpm: we need to mark more functions __sched. lock_sock(), msleep(), others.. akpm: the contention in do_lookup() is a surprise. Presumably doing disk reads for directory contents while holding i_mutex. [akpm@osdl.org: various fixes] Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 70888bd5b70579e278d5ef1b7e1ec6a420d38b9e Author: Vasily Averin Date: Wed Dec 6 20:37:23 2006 -0800 [PATCH] Documentation: remount_fs() needs lock_kernel Fixed long-lived typo: remount_fs() needs BKL Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6cfd76a26d9fe2ba54b9d496a48c1d9285e5c5ed Author: Peter Zijlstra Date: Wed Dec 6 20:37:22 2006 -0800 [PATCH] lockdep: name some old style locks Name some of the remaning 'old_style_spin_init' locks Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4c410f00f7ca4bd448b0d63f6f882fd244dc991 Author: Peter Zijlstra Date: Wed Dec 6 20:37:21 2006 -0800 [PATCH] lockdep: print current locks on in_atomic warnings Add debug_show_held_locks(current) to __might_sleep() and schedule(); this makes finding the offending lock leak easier. Signed-off-by: Peter Zijlstra Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bb0269160df2a60764013994d0bc5165406cf4a Author: Phillip Lougher Date: Wed Dec 6 20:37:20 2006 -0800 [PATCH] corrupted cramfs filesystems cause kernel oops Steve Grubb's fzfuzzer tool (http://people.redhat.com/sgrubb/files/ fsfuzzer-0.6.tar.gz) generates corrupt Cramfs filesystems which cause Cramfs to kernel oops in cramfs_uncompress_block(). The cause of the oops is an unchecked corrupted block length field read by cramfs_readpage(). This patch adds a sanity check to cramfs_readpage() which checks that the block length field is sensible. The (PAGE_CACHE_SIZE << 1) size check is intentional, even though the uncompressed data is not going to be larger than PAGE_CACHE_SIZE, gzip sometimes generates compressed data larger than the original source data. Mkcramfs checks that the compressed size is always less than or equal to PAGE_CACHE_SIZE << 1. Of course Cramfs could use the original uncompressed data in this case, but it doesn't. Signed-off-by: Phillip Lougher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e591bbc0d563e12f5a260fbbca0df7d5810910e Author: Arjan van de Ven Date: Wed Dec 6 20:37:19 2006 -0800 [PATCH] Make initramfs printk a warning on incorrect cpio type It turns out that the "-c" option of cpio is highly unportable even between distros let alone unix variants, and may actually make the wrong type of cpio archive. I just wasted quite some time on this, and the kernel can detect this and warn about it (it's __init memory so it gets thrown away and thus there is no runtime overhead) Signed-off-by: Arjan van de Ven Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f6337e2af42f9ea9ce296cfa18966dcf4f045f7d Author: Mariusz Kozlowski Date: Wed Dec 6 20:37:17 2006 -0800 [PATCH] i2lib unused variable cleanup In file included from drivers/char/ip2/ip2main.c:285: drivers/char/ip2/i2lib.c: In function `i2Output': drivers/char/ip2/i2lib.c:1019: warning: unused variable `rc' Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8984d137df669a6e94dbce7b87095e4ce80b9e67 Author: Andrew Morton Date: Wed Dec 6 20:37:15 2006 -0800 [PATCH] ext4: uninline large functions Saves nearly 4kbytes on x86. Cc: Arnaldo Carvalho de Melo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3a229b39eb8497ae5f8077f81f7c8c3e1aacd624 Author: Andrew Morton Date: Wed Dec 6 20:37:14 2006 -0800 [PATCH] ext3: uninline large functions Saves nearly 4kbytes on x86. Cc: Arnaldo Carvalho de Melo Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 072330584404392dae44cd0793ac9b316cff045b Author: Andrew Morton Date: Wed Dec 6 20:37:12 2006 -0800 [PATCH] vfs_getattr(): remove dead code As Mikulas points out, (1 << anything) won't be evaluating to zero. This code is long-dead. Cc: Mikulas Patocka Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22f2e280179946b8be1e2205b8654f2cb4abbf64 Author: Derek Fults Date: Wed Dec 6 20:37:11 2006 -0800 [PATCH] get_options to allow a hypenated range for isolcpus This allows a hyphenated range of positive numbers in the string passed to command line helper function, get_options. Currently the command line option "isolcpus=" takes as its argument a list of cpus. Format: ,..., Valid values of include all cpus, 0 to "number of CPUs in system - 1". This can get extremely long when isolating the majority of cpus on a large system. The kernel isolcpus code would not need any changing to use this feature. To use it, the change would be in the command line format for 'isolcpus=' Format: ,..., or - (must be a positive range in ascending order.) or a mixture ,...,- Signed-off-by: Derek Fults Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f63fdbbd6de7d734c036948bf7c4b2bebe3ad99 Author: Dave Jones Date: Wed Dec 6 20:37:09 2006 -0800 [PATCH] More list debugging context Print the other (hopefully) known good pointer when list_head debugging too, which may yield additional clues. Also fix for 80-columns to win akpm brownie points. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d469ec0f40d65b2a0a704402990a43b2dafe197 Author: Neil Horman Date: Wed Dec 6 20:37:08 2006 -0800 [PATCH] Correct misc_register return code handling in several drivers Clean up several code points in which the return code from misc_register is not handled properly. Several modules failed to deregister various hooks when misc_register fails, and this patch cleans them up. Also there are a few modules that legitimately don't care about the failure status of misc register. These drivers however unilaterally call misc_deregister on module unload. Since misc_register doesn't initialize the list_head in the init_routine if it fails, the deregister operation is at risk for oopsing when list_del is called. The initial solution was to manually init the list in the miscdev structure in each of those modules, but the consensus in this thread was to consolodate and do that universally inside misc_register. Signed-off-by: Neil Horman Cc: Bjorn Helgaas Cc: Kylene Jo Hall Cc: Dmitry Torokhov Cc: Olaf Hering Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc168427e6250a5a24c59f34afed6538092dab42 Author: Vasily Averin Date: Wed Dec 6 20:37:07 2006 -0800 [PATCH] VFS: extra check inside dentry_unhash() d_count check after dget() is always true. Signed-off-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ac29e62be2a581ec77953eca64d85ddeef488f0 Author: Alexey Dobriyan Date: Wed Dec 6 20:37:06 2006 -0800 [PATCH] drivers/cdrom/*: trivial vsnprintf() conversion Fixing sbpcd.c baroque error printing in process. Signed-off-by: Alexey Dobriyan Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 18debbbcce1306f0bbb1c71cf587fd90413acab6 Author: Randy Dunlap Date: Wed Dec 6 20:37:05 2006 -0800 [PATCH] hpfs: fix printk format warnings Fix hpfs printk warnings: fs/hpfs/dir.c:87: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' fs/hpfs/dir.c:147: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long int' fs/hpfs/dir.c:148: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long int' fs/hpfs/dnode.c:537: warning: format '%08x' expects type 'unsigned int', but argument 5 has type 'long unsigned int' fs/hpfs/dnode.c:854: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'loff_t' fs/hpfs/ea.c:247: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' fs/hpfs/inode.c:254: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'long unsigned int' fs/hpfs/map.c:129: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' fs/hpfs/map.c:135: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' fs/hpfs/map.c:140: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' fs/hpfs/map.c:147: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' fs/hpfs/map.c:154: warning: format '%08x' expects type 'unsigned int', but argument 3 has type 'ino_t' Signed-off-by: Randy Dunlap Cc: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 352d94d040053d93bf1cf4acb4be9635e69d9200 Author: Alexey Dobriyan Date: Wed Dec 6 20:37:04 2006 -0800 [PATCH] hpfs: bring hpfs_error() into shape - switch to error message buffer in .bss - missing va_end() (htf it worked before?) - use vsnprintf() - rename variables to understandable "fmt", "args". - "const char *fmt", yes. - add __attribute__((format ... Still, put that coffee down before reading more. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a6e617a4bec9fb2ee4a16cf59565b2af5049e12 Author: Alexey Dobriyan Date: Wed Dec 6 20:37:04 2006 -0800 [PATCH] fs/*: trivial vsnprintf() conversion It would very lame to get buffer overflow via one of the following. Signed-off-by: Alexey Dobriyan Cc: Dave Kleikamp Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0980dafa329d33bb88edc8a3ef9fab4e070590c Author: Paul B Schroeder Date: Wed Dec 6 20:37:03 2006 -0800 [PATCH] Exar quad port serial This is on our "Envoy" boxes which we have, according to the documentation, an "Exar ST16C554/554D Quad UART with 16-byte Fifo's". The box also has two other "on-board" serial ports and a modem chip. The two on-board serial UARTs were being detected along with the first two Exar UARTs. The last two Exar UARTs were not showing up and neither was the modem. This patch was the only way I could the kernel to see beyond the standard four serial ports and get all four of the Exar UARTs to show up. [akpm@osdl.org: build fix] Signed-off-by: Paul B Schroeder Cc: Lennart Sorensen Acked-by: Alan Cox Cc: Russell King Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f89d75f224dc530f1c173d9093f75865345840a1 Author: Peter Zijlstra Date: Wed Dec 6 20:36:59 2006 -0800 [PATCH] lockdep: annotate bcsp driver ============================================= [ INFO: possible recursive locking detected ] 2.6.18-1.2699.fc6 #1 --------------------------------------------- swapper/0 is trying to acquire lock: (&list->lock#3){+...}, at: [] skb_dequeue+0x12/0x43 but task is already holding lock: (&list->lock#3){+...}, at: [] bcsp_dequeue+0x6a/0x11e [hci_uart] Two different list locks nest, annotate so. Signed-off-by: Peter Zijlstra Acked-by: Marcel Holtmann Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9774a1f54f173ad18e816496c8979f1bf8ef666a Author: Alexey Dobriyan Date: Wed Dec 6 20:36:56 2006 -0800 [PATCH] Compile-time check re world-writeable module params One of the mistakes a module_param() user can make is to supply default value of module parameter as the last argument. module_param() accepts permissions instead. If default value is, say, 3 (-------wx), parameter becomes world-writeable. So far, the only remedy was to apply grep(1) and read drivers submitted to -mm. BTDT. With this patch applied, compiler will finally do some job. *) bounds checking on permissions *) world-writeable bit checking on permissions *) compile breakage if checks trigger First version of this check (only "& 2" part) directly caught 4 out of 7 places during my last grep. Subject: Neverending module_param() bugs [X] drivers/acpi/sbs.c:101:module_param(capacity_mode, int, CAPACITY_UNIT); [X] drivers/acpi/sbs.c:102:module_param(update_mode, int, UPDATE_MODE); [ ] drivers/acpi/sbs.c:103:module_param(update_info_mode, int, UPDATE_INFO_MODE); [ ] drivers/acpi/sbs.c:104:module_param(update_time, int, UPDATE_TIME); [ ] drivers/acpi/sbs.c:105:module_param(update_time2, int, UPDATE_TIME2); [X] drivers/char/watchdog/sbc8360.c:203:module_param(timeout, int, 27); [X] drivers/media/video/tuner-simple.c:13:module_param(offset, int, 0666); Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37167485302c8876cb0303af113696e88c2945aa Author: Oleg Nesterov Date: Wed Dec 6 20:36:55 2006 -0800 [PATCH] taskstats: cleanup reply assembling Thomas Graf wrote: > > nla_nest_start() may return NULL, either rely on prepare_reply() to be > correct and BUG() on failure or do proper error handling for all > functions. nla_put() in taskstat.c can fail only if the 'size' argument of alloc_skb() was not right. This is a kernel bug, we should not hide it. So add 'BUG()' on error path and check for 'na == NULL'. > genlmsg_cancel() is only required in error paths for dumping > procedures. So we can remove 'genlmsg_cancel()' calls and 'void *reply' (saves 227 bytes). Signed-off-by: Oleg Nesterov Cc: Thomas Graf Cc: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51de4d90852ba4cfa5743594ec4a7f158b52dc43 Author: Oleg Nesterov Date: Wed Dec 6 20:36:54 2006 -0800 [PATCH] taskstats: use nla_reserve() for reply assembling Currently taskstats_user_cmd()/taskstats_exit() do: 1) allocate stats 2) fill stats 3) make a temporary copy on stack (236 bytes) 4) copy that copy to skb 5) free stats With the help of nla_reserve() we can operate on skb->data directly, thus avoiding all these steps except 2). So, before this patch: // copy *stats to skb->data int mk_reply(skb, ..., struct taskstats *stats); fill_pid(stats); mk_reply(skb, ..., stats); After: // return a pointer to skb->data struct taskstats *mk_reply(skb, ...); stat = mk_reply(skb, ...); fill_pid(stats); Shrinks taskatsks.o by 162 bytes. A stupid benchmark (send one million TASKSTATS_CMD_ATTR_PID) shows the real user sys before: 4.02 0.06 3.96 4.02 0.04 3.98 4.02 0.04 3.97 after: 3.86 0.08 3.78 3.88 0.10 3.77 3.89 0.09 3.80 but this looks suspiciously good. Signed-off-by: Oleg Nesterov Acked-by: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Cc: Thomas Graf Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68062b86fc0f480b806d270a8278709a5a41bb67 Author: Oleg Nesterov Date: Wed Dec 6 20:36:53 2006 -0800 [PATCH] taskstats: factor out reply assembling Introduce mk_reply() helper which does all nla_put()s on reply. Saves 453 bytes and a preparation for the next patch. Signed-off-by: Oleg Nesterov Acked-by: Shailabh Nagar Cc: Balbir Singh Cc: Jay Lan Cc: Thomas Graf Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34ec12349c8a9505adc59d72f92b4595bc2483ff Author: Oleg Nesterov Date: Wed Dec 6 20:36:52 2006 -0800 [PATCH] taskstats: cleanup ->signal->stats allocation Allocate ->signal->stats on demand in taskstats_exit(), this allows us to remove taskstats_tgid_alloc() (the last non-trivial inline) from taskstat's public interface. Signed-off-by: Oleg Nesterov Cc: Balbir Singh Cc: Shailabh Nagar Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 115085ea0794c0f339be8f9d25505c7f9861d824 Author: Oleg Nesterov Date: Wed Dec 6 20:36:51 2006 -0800 [PATCH] taskstats: cleanup do_exit() path do_exit: taskstats_exit_alloc() ... taskstats_exit_send() taskstats_exit_free() I think this is not good, let it be a single function exported to the core kernel, taskstats_exit(), which does alloc + send + free itself. Signed-off-by: Oleg Nesterov Cc: Balbir Singh Cc: Shailabh Nagar Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 128fb95650b3273a8dc9ba5514b6fe7db8ea30bf Author: Oleg Nesterov Date: Wed Dec 6 20:36:50 2006 -0800 [PATCH] taskstats_exit_alloc: optimize/simplify If there are no listeners, every task does unneeded kmem_cache alloc/free on exit. We don't need listeners->sem for 'if (!list_empty())' check. Yes, we may have a false positive, but this doesn't differ from the case when the listener is unregistered after we drop the semaphore. So we don't need to do allocation beforehand. Signed-off-by: Oleg Nesterov Cc: Balbir Singh Acked-by: Shailabh Nagar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38da288b8ba2b07b4e07165027e650b61d7c8ffc Author: OGAWA Hirofumi Date: Wed Dec 6 20:36:46 2006 -0800 [PATCH] read_cache_pages() cleanup Use put_pages_list() instead of opencoding it. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bca98cabf6db738b06d6f3b6d4b6c5f2a5cb7b6 Author: Akinobu Mita Date: Wed Dec 6 20:36:43 2006 -0800 [PATCH] paride: return proper error code This patch makes module init return proper value instead of -1 (-EPERM). Cc: Tim Waugh Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 138ae6631a3d6f86851dd53686fa88295d1398bd Author: Andrew Morton Date: Wed Dec 6 20:36:41 2006 -0800 [PATCH] slab: use probe_kernel_address() Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 20aa7b21b1cbd1aa3fbf5fc14da5f7484a61a824 Author: Andrew Morton Date: Wed Dec 6 20:36:40 2006 -0800 [PATCH] probe_kernel_address() needs to do set_fs() probe_kernel_address() purports to be generic, only it forgot to select KERNEL_DS, so it presently won't work right on all architectures. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c140e110019f25ffa1c6f3f365b0c9103d0b8475 Author: Ryan Underwood Date: Wed Dec 6 20:36:38 2006 -0800 [PATCH] parport_pc: Add support for OX16PCI952 parallel port Add support for the parallel port (implemented as separate PCI function) on the Oxford Semiconductor OX16PCI952. Signed-off-by: Ryan Underwood Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d3b8b6e5f20031890e09a8eab72fd596d2e2227d Author: Randy Dunlap Date: Wed Dec 6 20:36:38 2006 -0800 [PATCH] kconfig: PRINTK_TIME depends on PRINTK Make PRINTK_TIME depend on PRINTK. Only display/offer it if PRINTK is enabled. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 064b022c7adb2d853378078a9dc141f8288d1c73 Author: Heiko Carstens Date: Wed Dec 6 20:36:37 2006 -0800 [PATCH] profile: fix uaccess handling Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7116e994b47f3988389be4ceee67dac64b56e0d0 Author: Heiko Carstens Date: Wed Dec 6 20:36:36 2006 -0800 [PATCH] compat: fix uaccess handling Signed-off-by: Heiko Carstens Cc: Arnd Bergmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 841d5fb7c75260f76ae682648b28a3dca724940d Author: Heiko Carstens Date: Wed Dec 6 20:36:35 2006 -0800 [PATCH] binfmt: fix uaccess handling Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fec1d0115240593b39898289e6e1413ea6e44a84 Author: Roland McGrath Date: Wed Dec 6 20:36:34 2006 -0800 [PATCH] Disable CLONE_CHILD_CLEARTID for abnormal exit The CLONE_CHILD_CLEARTID flag is used by NPTL to have its threads communicate via memory/futex when they exit, so pthread_join can synchronize using a simple futex wait. The word of user memory where NPTL stores a thread's own TID is what it passes; this gets reset to zero at thread exit. It is not desireable to touch this user memory when threads are dying due to a fatal signal. A core dump is more usefully representative of the dying program state if the threads live at the time of the crash have their NPTL data structures unperturbed. The userland expectation of CLONE_CHILD_CLEARTID has only ever been that it works for a thread making an _exit system call. This problem was identified by Ernie Petrides . Signed-off-by: Roland McGrath Cc: Ernie Petrides Cc: Jakub Jelinek Acked-by: Ingo Molnar Cc: Ulrich Drepper Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 736c4b8572ac24b1e6fd58d00872305a120ac700 Author: Mika Kukkonen Date: Wed Dec 6 20:36:29 2006 -0800 [PATCH] Function v9fs_get_idpool returns int, not u32 as called twice in fs/9p/vfs_inode.c Function v9fs_get_idpool returns int, not u32. Actually it returns -1 on errors, and these two callers check if the value is smaller than 0, which was caught by gcc with extra warning flags. Compile tested only but should be OK, as the value computed in v9fs_get_idpool() is also int. Signed-of-by: Mika Kukkonen Cc: Eric Van Hensbergen Cc: Ron Minnich Cc: Latchesar Ionkov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3316eaa31e638d21dfa4a81a3322f8898981c591 Author: Randy Dunlap Date: Wed Dec 6 20:36:29 2006 -0800 [PATCH] tifm: fix NULL ptr and style Fix sparse NULL warning; drivers/misc/tifm_core.c:223:17: warning: Using plain integer as NULL pointer Fix style while there. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6c4021190c828d7fa24a464db589f86c6708341 Author: Eric Sandeen Date: Wed Dec 6 20:36:28 2006 -0800 [PATCH] handle ext4 directory corruption better I've been using Steve Grubb's purely evil "fsfuzzer" tool, at http://people.redhat.com/sgrubb/files/fsfuzzer-0.4.tar.gz Basically it makes a filesystem, splats some random bits over it, then tries to mount it and do some simple filesystem actions. At best, the filesystem catches the corruption gracefully. At worst, things spin out of control. As you might guess, we found a couple places in ext4 where things spin out of control :) First, we had a corrupted directory that was never checked for consistency... it was corrupt, and pointed to another bad "entry" of length 0. The for() loop looped forever, since the length of ext4_next_entry(de) was 0, and we kept looking at the same pointer over and over and over and over... I modeled this check and subsequent action on what is done for other directory types in ext4_readdir... (adding this check adds some computational expense; I am testing a followup patch to reduce the number of times we check and re-check these directory entries, in all cases. Thanks for the idea, Andreas). Next we had a root directory inode which had a corrupted size, claimed to be > 200M on a 4M filesystem. There was only really 1 block in the directory, but because the size was so large, readdir kept coming back for more, spewing thousands of printk's along the way. Per Andreas' suggestion, if we're in this read error condition and we're trying to read an offset which is greater than i_blocks worth of bytes, stop trying, and break out of the loop. With these two changes fsfuzz test survives quite well on ext4. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 40b851348fe9bf49c26025b34261d25142269b60 Author: Eric Sandeen Date: Wed Dec 6 20:36:26 2006 -0800 [PATCH] handle ext3 directory corruption better I've been using Steve Grubb's purely evil "fsfuzzer" tool, at http://people.redhat.com/sgrubb/files/fsfuzzer-0.4.tar.gz Basically it makes a filesystem, splats some random bits over it, then tries to mount it and do some simple filesystem actions. At best, the filesystem catches the corruption gracefully. At worst, things spin out of control. As you might guess, we found a couple places in ext3 where things spin out of control :) First, we had a corrupted directory that was never checked for consistency... it was corrupt, and pointed to another bad "entry" of length 0. The for() loop looped forever, since the length of ext3_next_entry(de) was 0, and we kept looking at the same pointer over and over and over and over... I modeled this check and subsequent action on what is done for other directory types in ext3_readdir... (adding this check adds some computational expense; I am testing a followup patch to reduce the number of times we check and re-check these directory entries, in all cases. Thanks for the idea, Andreas). Next we had a root directory inode which had a corrupted size, claimed to be > 200M on a 4M filesystem. There was only really 1 block in the directory, but because the size was so large, readdir kept coming back for more, spewing thousands of printk's along the way. Per Andreas' suggestion, if we're in this read error condition and we're trying to read an offset which is greater than i_blocks worth of bytes, stop trying, and break out of the loop. With these two changes fsfuzz test survives quite well on ext3. Signed-off-by: Eric Sandeen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59287c0913cc9a6c75712a775f6c1c1ef418ef3b Author: Marcus Meissner Date: Wed Dec 6 20:36:24 2006 -0800 [PATCH] binfmt_elf: randomize PIE binaries (2nd try) Randomizes -pie compiled binaries from 64k (0x10000) up to ELF_ET_DYN_BASE. 0 -> 64k is excluded to allow NULL ptr accesses to fail. Signed-off-by: Marcus Meissner Cc: Ingo Molnar Cc: Dave Jones Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b23984d0a12a4821b2e9712c71550f321eb88bb5 Author: Jarek Poplawski Date: Wed Dec 6 20:36:23 2006 -0800 [PATCH] lockdep: misc fixes in lockdep.c - numeric string size replaced with constant in print_lock_name and print_lockdep_cache, - return on null pointer in print_lock_dependencies, - one more lockdep return with 0 with unlocking fix in mark_lock. Signed-off-by: Jarek Poplawski Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 910b1b2e6d7d10e1c3bffdd12a90ec82f535f9a5 Author: Jarek Poplawski Date: Thu Dec 7 10:45:25 2006 +0100 [PATCH] lockdep: internal locking fixes Here are mainly some lockdep returns with 0 with unlocking fixes. Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit b4178ab58aa81f4ed3c75c48940682fe3b45d880 Author: Alexey Dobriyan Date: Wed Dec 6 20:36:21 2006 -0800 [PATCH] paride_register(): shuffle return values paride_register() returns 1 on success, 0 on failure and module init code looks like static int __init foo_init(void) { return paride_register(&foo) - 1; } which is not what one get used to. Converted to usual 0/-E convention. In case of kbic driver, unwind registration. It was just return (paride_register(&k951)||paride_register(&k971))-1; Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4330002d11f032559954cbff68a5cad95b6d27f Author: Alexey Dobriyan Date: Wed Dec 6 20:36:20 2006 -0800 [PATCH] paride: rename pi_register() and pi_unregister() We're about to change the semantics of pi_register()'s return value, so rename it to something else first, so that any unconverted code reliaby breaks. Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3bd0f6943520e459659d10f3282285e43d3990f1 Author: Hans-Christian Egtvedt Date: Wed Dec 6 20:36:19 2006 -0800 [PATCH] spi: set kset of master class dev explicitly In order for spi_busnum_to_master to work spi master devices must be linked into the spi_master_class.subsys.kset list. At the moment the default class_obj_subsys.kset is used and we can't enumerate the master devices. Signed-off-by: Hans-Christian Egtvedt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4740d387f3cb9e63f48f2488815b38a2c92755c8 Author: Hans-Christian Egtvedt Date: Wed Dec 6 20:36:17 2006 -0800 [PATCH] spi: correct bus_num and buffer bug in spi core Correct the following in driver/spi/spi.c in function spi_busnum_to_master: * must allow bus_num 0, the if is really not needed. * correct the name buffer which is too small for bus_num >= 10000. It should be 9 bytes big, not 8. Signed-off-by: Hans-Christian Egtvedt Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed2908f31398049c4371de9b100700e80704e95f Author: Andreas Gruenbacher Date: Wed Dec 6 20:36:16 2006 -0800 [PATCH] Remove superfluous lock_super() in extN xattr code lock_super() is unnecessary for setting super-block feature flags. Use the provided *_SET_COMPAT_FEATURE() macros as well. Signed-off-by: Andreas Gruenbacher Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 696040670a12f66b17a839011f96d9ca376f688b Author: Paul Jackson Date: Wed Dec 6 20:36:15 2006 -0800 [PATCH] cpuset: minor code refinements A couple of minor code simplifications to the kernel/cpuset.c code. No functional change. Just a little less code and a little more readable. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ec68b2e310437e99c297ba04e1afc5297aa6de1 Author: Jan Engelhardt Date: Wed Dec 6 20:36:14 2006 -0800 [PATCH] pull in necessary header files for cdev.h linux/cdev.h uses struct kobject and other structs and should therefore include them. Currently, a module either needs to add the missing includes itself, or, in case a module includes other headers already, needs to put last, which goes against a alphabetically-sorted include list. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a2239b1174bdf0952a21ed328cd74240d2dd173 Author: Peter Zijlstra Date: Wed Dec 6 20:36:13 2006 -0800 [PATCH] lockdep: fix ide/proc interaction rmmod/3080 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: (proc_subdir_lock){--..}, at: [] remove_proc_entry+0x40/0x191 and this task is already holding: (ide_lock){++..}, at: [] ide_unregister_subdriver+0x39/0xc8 which would create a new lock dependency: (ide_lock){++..} -> (proc_subdir_lock){--..} but this new dependency connects a hard-irq-safe lock: (ide_lock){++..} ... which became hard-irq-safe at: [] lock_acquire+0x4b/0x6b [] _spin_lock_irqsave+0x22/0x32 [] ide_intr+0x17/0x1a9 [] handle_IRQ_event+0x20/0x4d [] __do_IRQ+0x94/0xef [] do_IRQ+0x9e/0xbd to a hard-irq-unsafe lock: (proc_subdir_lock){--..} ... which became hard-irq-unsafe at: ... [] lock_acquire+0x4b/0x6b [] _spin_lock+0x19/0x28 [] xlate_proc_name+0x1b/0x99 [] proc_create+0x46/0xdf [] create_proc_entry+0x62/0xa5 [] proc_misc_init+0x1c/0x1d2 [] proc_root_init+0x4c/0xe9 [] start_kernel+0x294/0x3b3 Move ide_remove_proc_entries() out from under ide_lock; there is nothing that indicates that this is needed. In specific, the call to ide_add_proc_entries() is unprotected, and there is nothing else in the file using the respective ->proc fields. Also the lock order around destroy_proc_ide_interface() suggests this. Alan sayeth: proc_ide_write_settings walks the setting list under ide_setting_sem, read ditto. remove_proc_entry is doing proc side housekeeping. Looks fine to me, although that old code is such a mess anything could be going on. Signed-off-by: Peter Zijlstra Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23a1b2a78705caa2ecaccf8422a1e22eaca59574 Author: Alan Cox Date: Wed Dec 6 20:36:12 2006 -0800 [PATCH] via82cxxx: handle error condition properly Jeff noted that the via driver returned an error to an unsigned int in a a case where errors are not permitted. Move the check down earlier so we can handle it properly. Not as pretty but it works this way and avoids hacking up ugly stuff in the legacy ide core. Signed-off-by: Alan Cox Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87b4126f10cce2d49687df227f6228fa5a9ac6c6 Author: Suzuki K P Date: Wed Dec 6 20:36:10 2006 -0800 [PATCH] fix reiserfs bad path release panic One of our test team hit a reiserfs_panic while running fsstress tests on 2.6.19-rc1. The message looks like : REISERFS: panic(device Null superblock): reiserfs[5676]: assertion !(p->path_length != 1 ) failed at fs/reiserfs/stree.c:397:reiserfs_check_path: path not properly relsed. The backtrace looked : kernel BUG in reiserfs_panic at fs/reiserfs/prints.c:361! .reiserfs_check_path+0x58/0x74 .reiserfs_get_block+0x1444/0x1508 .__block_prepare_write+0x1c8/0x558 .block_prepare_write+0x34/0x64 .reiserfs_prepare_write+0x118/0x1d0 .generic_file_buffered_write+0x314/0x82c .__generic_file_aio_write_nolock+0x350/0x3e0 .__generic_file_write_nolock+0x78/0xb0 .generic_file_write+0x60/0xf0 .reiserfs_file_write+0x198/0x2038 .vfs_write+0xd0/0x1b4 .sys_write+0x4c/0x8c syscall_exit+0x0/0x4 Upon debugging I found that the restart_transaction was not releasing the path if the th->refcount was > 1. /*static*/ int restart_transaction(struct reiserfs_transaction_handle *th, struct inode *inode, struct path *path) { [...] /* we cannot restart while nested */ if (th->t_refcount > 1) { <<- Path is not released in this case! return 0; } pathrelse(path); <<- Path released here. [...] This could happen in such a situation : In reiserfs/inode.c: reiserfs_get_block() :: if (repeat == NO_DISK_SPACE || repeat == QUOTA_EXCEEDED) { /* restart the transaction to give the journal a chance to free ** some blocks. releases the path, so we have to go back to ** research if we succeed on the second try */ SB_JOURNAL(inode->i_sb)->j_next_async_flush = 1; -->> retval = restart_transaction(th, inode, &path); <<-- We are supposed to release the path, no matter we succeed or fail. But if the th->refcount is > 1, the path is still valid. And, if (retval) goto failure; repeat = _allocate_block(th, block, inode, &allocated_block_nr, NULL, create); If the above allocate_block fails with NO_DISK_SPACE or QUOTA_EXCEEDED, we would have path which is not released. if (repeat != NO_DISK_SPACE && repeat != QUOTA_EXCEEDED) { goto research; } if (repeat == QUOTA_EXCEEDED) retval = -EDQUOT; else retval = -ENOSPC; goto failure; [...] failure: [...] reiserfs_check_path(&path); << Panics here ! Attached here is a patch which could fix the issue. fix reiserfs/inode.c : restart_transaction() to release the path in all cases. The restart_transaction() doesn't release the path when the the journal handle has a refcount > 1. This would trigger a reiserfs_panic() if we encounter an -ENOSPC / -EDQUOT in reiserfs_get_block(). Signed-off-by: Suzuki K P Cc: "Vladimir V. Saveliev" Cc: Cc: Jeff Mahoney Acked-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4cf303487d5dddaace2daca8437c555f3f0bc1aa Author: Ralf Baechle Date: Wed Dec 6 20:36:06 2006 -0800 [PATCH] Export pm_suspend for the shared APM emulation The new shared APM emulation just like its ARM and MIPS predecessors uses pm_suspend() which was only exported on SH. Move export to close to it's definition where it really should be anyway. Signed-off-by: Ralf Baechle Cc: Russell King Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49033c81845f1bd2a69e53485f20d55a0e7bace5 Author: Filipe Date: Wed Dec 6 20:36:04 2006 -0800 [PATCH] io/storage: Documentation update to as-iosched.txt Documentation update, adding references to CFQ scheduler and to another document about selecting IO Schedulers. Signed-off-by: Filipe Lautert Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 593be07ae8f6f4a1b1b98813fabb155328f8bc0c Author: Tejun Heo Date: Wed Dec 6 20:36:01 2006 -0800 [PATCH] file: kill unnecessary timer in fdtable_defer free_fdtable_rc() schedules timer to reschedule fddef->wq if schedule_work() on it returns 0. However, schedule_work() guarantees that the target work is executed at least once after the scheduling regardless of its return value. 0 return simply means that the work was already pending and thus no further action was required. Another problem is that it used contant '5' as @expires argument to mod_timer(). Kill unnecessary fddef->timer. Signed-off-by: Tejun Heo Cc: Dipankar Sarma Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e59e2ae2c29700117a54e85c106017c24837119f Author: Ingo Molnar Date: Wed Dec 6 20:35:59 2006 -0800 [PATCH] SysRq-X: show blocked tasks Add SysRq-X support: show blocked (TASK_UNINTERRUPTIBLE) tasks only. Useful for debugging IO stalls. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 875d95ec9eb69ffb334116fb44d04d9a64dcbfbb Author: Miklos Szeredi Date: Wed Dec 6 20:35:54 2006 -0800 [PATCH] fuse: fix compile without CONFIG_BLOCK Randy Dunlap wote: > Should FUSE depend on BLOCK? Without that and with BLOCK=n, I get: > > inode.c:(.text+0x3acc5): undefined reference to `sb_set_blocksize' > inode.c:(.text+0x3a393): undefined reference to `get_sb_bdev' > fs/built-in.o:(.data+0xd718): undefined reference to `kill_block_super Most fuse filesystems work fine without block device support, so I think a better solution is to disable the 'fuseblk' filesystem type if BLOCK=n. Signed-off-by: Miklos Szeredi Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0ec7ca41f6f0f74a394a7d686bc0ee8afef84887 Author: Miklos Szeredi Date: Wed Dec 6 20:35:52 2006 -0800 [PATCH] fuse: add DESTROY operation Add a DESTROY operation for block device based filesystems. With the help of this operation, such a filesystem can flush dirty data to the device synchronously before the umount returns. This is needed in situations where the filesystem is assumed to be clean immediately after unmount (e.g. ejecting removable media). Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2d2272fae1e1df26ec8f93a6d5baea891dcce37 Author: Miklos Szeredi Date: Wed Dec 6 20:35:51 2006 -0800 [PATCH] fuse: add bmap support Add support for the BMAP operation for block device based filesystems. This is needed to support swap-files and lilo. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d809161402e9f99aefe8848c4e701597ac367269 Author: Miklos Szeredi Date: Wed Dec 6 20:35:48 2006 -0800 [PATCH] fuse: add blksize option Add 'blksize' option for block device based filesystems. During initialization this is used to set the block size on the device and the super block. The default block size is 512bytes. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6392f873f1d09974d5c92c52715fa422ad7c625 Author: Miklos Szeredi Date: Wed Dec 6 20:35:44 2006 -0800 [PATCH] fuse: add support for block device based filesystems I never intended this, but people started using fuse to implement block device based "real" filesystems (ntfs-3g, zfs). The following four patches add better support for these kinds of filesystems. Unlike "normal" fuse filesystems, using this feature should require superuser privileges (enforced by the fusermount utility). Thanks to Szabolcs Szakacsits for the input and testing. This patch adds a 'fuseblk' filesystem type, which is only different from the 'fuse' filesystem type in how the 'dev_name' mount argument is interpreted. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bdcf25080438ba71bb24b885e7c102de72c25c9d Author: Miklos Szeredi Date: Wed Dec 6 20:35:41 2006 -0800 [PATCH] fuse: minor cleanup in fuse_dentry_revalidate Remove unneeded code from fuse_dentry_revalidate(). This made some sense while the validity time could wrap around, but now it's a very obvious no-op. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9168c189fd54171124b5d25644024d99869e6a8 Author: Miklos Szeredi Date: Wed Dec 6 20:35:38 2006 -0800 [PATCH] fuse: update userspace interface to version 7.8 Add a flag to the RELEASE message which specifies that a FLUSH operation should be performed as well. This interface update is needed for the FreeBSD port, and doesn't actually touch the Linux implementation at all. Also rename the unused 'flush_flags' in the FLUSH message to 'unused'. Signed-off-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48ed214d10ae3c3999af938970f7b5b58df77be3 Author: Jan Engelhardt Date: Wed Dec 6 20:35:37 2006 -0800 [PATCH] constify inode accessors Change the signature of i_size_read(), IMINOR() and IMAJOR() because they, or the functions they call, will never modify the argument. Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89fc9a1a79725c3e5c3b66cb6bd2c7d9eeab29fa Author: Jeff Garzik Date: Wed Dec 6 20:35:35 2006 -0800 [PATCH] SPI: improve sysfs compiler complaint handling Signed-off-by: Jeff Garzik Cc: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e45f4676108d19ae93918f06cb6731c86108341a Author: Jeff Garzik Date: Wed Dec 6 20:35:34 2006 -0800 [PATCH] sound/oss/emu10k1: handle userspace copy errors Propagate copy_to/from_user() errors back through callers. Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 91046a8a693823d434f0aa70419c48ebeb8e1b11 Author: Jeff Garzik Date: Wed Dec 6 20:35:34 2006 -0800 [PATCH] RTC: handle sysfs errors Signed-off-by: Jeff Garzik Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc7ee207078e8ca51264355805e6f56b485be4b Author: Jeff Garzik Date: Wed Dec 6 20:35:33 2006 -0800 [PATCH] PNP: handle sysfs errors Signed-off-by: Jeff Garzik Cc: Adam Belay Cc: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3889b26bebd3e3cf5a3b95da683bab2f6462133d Author: Jeff Garzik Date: Wed Dec 6 20:35:31 2006 -0800 [PATCH] I2O: more error checking i2o_scsi: handle sysfs failure i2o_device: * convert i2o_device_add() to return integer error code rather than pointer. Fortunately -nobody- checks the return code of this function, so changing has nil impact. * handle errors thrown by device_register() More work in i2o_device remains. Signed-off-by: Jeff Garzik Cc: Markus Lidel Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07354a00901d103085e4376b7df0aad264c1836a Author: Adam B. Jerome Date: Wed Dec 6 20:35:30 2006 -0800 [PATCH] /proc/kallsyms reports lower-case types for some non-exported symbols This patch addresses incorrect symbol type information reported through /proc/kallsyms. A lowercase character should designate the symbol as local (or non-exported). An uppercase character should designate the symbol as global (or external). Without this patch, some non-exported symbols are incorrectly assigned an upper-case designation in /proc/kallsyms. This patch corrects this condition by converting non-exported symbols types to lower case when appropriate and eliminates the superfluous upcase_if_global function Signed-off-by: Adam B. Jerome Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 960cc398a7a2acfe455b2ec33c64dc6018c83aab Author: Pekka Enberg Date: Wed Dec 6 20:35:29 2006 -0800 [PATCH] ext4: fsid for statvfs Update ext4_statfs to return an FSID that is a 64 bit XOR of the 128 bit filesystem UUID as suggested by Andreas Dilger. See the following Bugzilla entry for details: http://bugzilla.kernel.org/show_bug.cgi?id=136 Cc: Andreas Dilger Cc: Stephen Tweedie Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50ee0a32b192902e32a2b596df7ec3496c4bf485 Author: Pekka Enberg Date: Wed Dec 6 20:35:28 2006 -0800 [PATCH] ext3: fsid for statvfs Update ext3_statfs to return an FSID that is a 64 bit XOR of the 128 bit filesystem UUID as suggested by Andreas Dilger. See the following Bugzilla entry for details: http://bugzilla.kernel.org/show_bug.cgi?id=136 Cc: Andreas Dilger Cc: Stephen Tweedie Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4fca01ea2b41c41a82f4ca3537f6ebc237adde5 Author: Pekka Enberg Date: Wed Dec 6 20:35:27 2006 -0800 [PATCH] ext2: fsid for statvfs Update ext2_statfs to return an FSID that is a 64 bit XOR of the 128 bit filesystem UUID as suggested by Andreas Dilger. See the following Bugzilla entry for details: http://bugzilla.kernel.org/show_bug.cgi?id=136 Cc: Andreas Dilger Cc: Stephen Tweedie Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 317a40ac2237732aba531eee2c7b5e39dd40e959 Author: Stas Sergeev Date: Wed Dec 6 20:35:25 2006 -0800 [PATCH] honour MNT_NOEXEC for access() Make access(X_OK) take the "noexec" mount option into account. Signed-off-by: Stas Sergeev Cc: Jakub Jelinek Cc: Arjan van de Ven Cc: Alan Cox Cc: Hugh Dickins Cc: Ulrich Drepper Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed07536ed6731775219c1df7fa26a7588753e693 Author: Peter Zijlstra Date: Wed Dec 6 20:35:24 2006 -0800 [PATCH] lockdep: annotate nfs/nfsd in-kernel sockets Stick NFS sockets in their own class to avoid some lockdep warnings. NFS sockets are never exposed to user-space, and will hence not trigger certain code paths that would otherwise pose deadlock scenarios. [akpm@osdl.org: cleanups] Signed-off-by: Peter Zijlstra Signed-off-by: Steven Dickson Acked-by: Ingo Molnar Cc: Trond Myklebust Acked-by: Neil Brown Cc: "David S. Miller" Signed-off-by: Andrew Morton [ Fixed patch corruption by quilt, pointed out by Peter Zijlstra ] Signed-off-by: Linus Torvalds commit b9d85b08c689dbf54b9943a02f73cb54c2b0fccf Author: Amol Lad Date: Wed Dec 6 20:35:23 2006 -0800 [PATCH] sound/oss/btaudio.c: ioremap balanced with iounmap ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Signed-off-by: Amol Lad Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa8a8d664828c7184a2e775fb50611324ef21b5c Author: Amol Lad Date: Wed Dec 6 20:35:22 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/char/istallion.c Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41bdabbb6d951cf4a9fbfe33783749b87662b02d Author: Amol Lad Date: Wed Dec 6 20:35:21 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/char/moxa.c Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8684265412518858c48a56c2f0aa86f280978b74 Author: Amol Lad Date: Wed Dec 6 20:35:19 2006 -0800 [PATCH] ioremap balanced with iounmap for drivers/char/rio/rio_linux.c Signed-off-by: Amol Lad Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 238b8721a554a33a451a3f13bdb5be8fe5cfc927 Author: Peter Korsgaard Date: Wed Dec 6 20:35:17 2006 -0800 [PATCH] serial uartlite driver Add a driver for the Xilinx uartlite serial controller used in boards with the PPC405 core in the Xilinx V2P/V4 fpgas. The hardware is very simple (baudrate/start/stopbits fixed and no break support). See the datasheet for details: http://www.xilinx.com/bvdocs/ipcenter/data_sheet/opb_uartlite.pdf See http://thread.gmane.org/gmane.linux.serial/1237/ for the email thread. Signed-off-by: Peter Korsgaard Acked-by: Olof Johansson Cc: Russell King Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 57881dd9df40b76dc7fc6a0d13fd75f337accb32 Author: Suzuki K P Date: Wed Dec 6 20:35:16 2006 -0800 [PATCH] Fix check_partition routines check_partition() stops its probe once it hits an I/O error from the partition checkers. This would prevent the actual partition checker getting a chance to verify the partition. So this patch lets check_partition() continue probing untill it hits a success while recording the I/O error which might have been reported by the checking routines. Also, it does some cleanup of the partition methods for ibm, atari and amiga to return -1 upon hitting an I/O error. Signed-off-by: Suzuki K P Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5127d002f9769ba6b1691de78dd3a5c14635e183 Author: Suzuki Kp Date: Wed Dec 6 20:35:14 2006 -0800 [PATCH] fix rescan_partitions to return errors properly The current rescan_partition implementation ignores the errors that comes from the lower layer. It reports success for unknown partitions as well as I/O error cases while reading the partition information. The unknown partition is not (and will not be) considered as an error in the kernel, since there are legal users of it (e.g, members of a RAID5 MD Device or a new disk which is not partitioned at all ). Changing this behaviour would scare the user about a serious problem with their disk and is not recommended. Thus for both "unknown partitions" to the Linux (eg., DEC VMS,Novell Netware) and the legal users of NULL partition, would still be reported as "SUCCESS". The patch attached here, scares the user about something which he does need to worry about. i.e, returning -EIO on disk I/O errors while reading the partition information. Signed-off-by: Suzuki K P Cc: Erik Mouw Cc: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ecb9c0f3c9ef6af77c39a9f584940691847ccf4 Author: Mike Miller Date: Wed Dec 6 20:35:13 2006 -0800 [PATCH] cciss: cleanup cciss_interrupt mode A pretty simple cleanup for cciss_interrupt_mode. Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 799202cbd0ef6a201446d99fcbd78b9f0bda6ae5 Author: Mike Miller Date: Wed Dec 6 20:35:12 2006 -0800 [PATCH] cciss: add support for 1024 logical volumes Add the support for a large number of logical volumes. We will soon have hardware that support up to 1024 logical volumes. Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3833a748aa75dd39494bb861ab018216b0a2c14e Author: Mike Miller Date: Wed Dec 6 20:35:10 2006 -0800 [PATCH] cciss: remove unused revalidate_allvol function Remove the no longer used revalidate_allvol function. It was replaced by rebuild_lun_table. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a06f789e0a1b46e4ed2a68f885cbe5ff74a34d6 Author: Mike Miller Date: Wed Dec 6 20:35:08 2006 -0800 [PATCH] cciss: change cciss_open for consistency Change our open to test for drv->heads like we do in other places in the driver. Mostly for consistency. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92c4231aef720bd5e1d634d2f7335f31277318da Author: Mike Miller Date: Wed Dec 6 20:35:06 2006 -0800 [PATCH] cciss: set sector_size to 2048 for performance Change the blk_queue_max_sectors from 512 to 2048. This helps increase performance. [akpm@osdl.org: s/sector_size/max_sectors/] Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f92e2f5f889803306e50c06e17ee330403e91b8d Author: Mike Miller Date: Wed Dec 6 20:35:04 2006 -0800 [PATCH] cciss: disable DMA prefetch on P600 Unconditionally disable DMA prefetch on the P600 controller. An ASIC bug may result in prefetching beyond the end of physical memory. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit de9239167158c0210c5b9a709d67cea1b6f8ae56 Author: Mike Miller Date: Wed Dec 6 20:35:03 2006 -0800 [PATCH] cciss: fix pci ssid for the E500 controller Change the SSID on the E500 as a workaround for a firmware bug. It looks like the original patch was backed out between rc2 and rc4. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f880632f963c3611d096d9373d16663c076310c7 Author: Mike Miller Date: Wed Dec 6 20:35:01 2006 -0800 [PATCH] cciss: increase number of commands on controller Remove #define NR_CMDS and replace it w/hba[i]->nr_cmds. Most Smart Array controllers can support up to 1024 commands but the E200 family can only support 128. To prevent annoying "fifo full" messages we define nr_cmds on a per controller basis by adding it the product table. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ff9a9a4baff2627d7bcf65d0ec07d647bc1ad29 Author: Mike Miller Date: Wed Dec 6 20:35:00 2006 -0800 [PATCH] cciss: reference driver support Add the support to fire up on any HP RAID class device that has a valid cciss signature. Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9d827c9e8a9d8592167ac3fdc3a50544c86302b1 Author: Mike Miller Date: Wed Dec 6 20:34:58 2006 -0800 [PATCH] cciss: version change Change the cciss version number to 3.6.14 to reflect the following functionality changes added by the rest of the set. They include: - Support to fire up on any HP RAID class controller - Increase nr_cmds to 512 for most controllers by adding it to the product table - PCI subsystem ID fix fix was pulled - Disable DMA prefetch for the P600 on IPF platforms - Change from 512 to 2048 sector_size for performance - Fix in cciss_open for consistency - Remove the no longer used revalidate_allvol function - Bug fix for busy configuring - Support for more than 16 logical volumes - Cleanups in cciss_interrupt_mode - Fix for iostats, it's been broken for several kernel releases Signed-off-by: Mike Miller Acked-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eef88d16a2cb641d9915bfdf6377e70fccec9fde Author: Adrian Bunk Date: Wed Dec 6 20:34:55 2006 -0800 [PATCH] fix v850 compilation More fallout of the post 2.6.19-rc1 IRQ changes... CC init/main.o In file included from /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/include/linux/rtc.h:102, from /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/include/linux/efi.h:19, from /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/init/main.c:43: /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/include/linux/interrupt.h:67: error: conflicting types for 'irq_handler_t' include2/asm/irq.h:49: error: previous declaration of 'irq_handler_t' was here Signed-off-by: Adrian Bunk Cc: Miles Bader Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8210fd2a9fe4b36e99ab777a1a81eb47b703c235 Author: Jeff Dike Date: Wed Dec 6 20:34:55 2006 -0800 [PATCH] uml: use get_random_bytes() after random pool is seeded When the UML network driver generates random MACs for its devices, it was possible for a number of UMLs to get the same MACs because the ethernet initialization was done before the random pool was properly seeded. This patch moves the initialization later so that it gets better randomness. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e46962fdd28f8b30b465e507b657627aa4c1a409 Author: Jeff Dike Date: Wed Dec 6 20:34:54 2006 -0800 [PATCH] uml: size register files correctly We were using the wrong symbol to size register files. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b65fee21c6bff68711b48e0aa1cfd42b3198312 Author: Jeff Dike Date: Wed Dec 6 20:34:53 2006 -0800 [PATCH] uml: include asm/page.h in order to get PAGE_SHIFT Include the proper header to get a definition of PAGE_SHIFT. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54f9a398e18a49e302e2187fa694043250391d80 Author: Jeff Dike Date: Wed Dec 6 20:34:52 2006 -0800 [PATCH] uml: include stddef.h correctly We were not including stddef.h in files that used offsetof. One file was also including linux/stddef.h for no perciptible reason. Signed-off-by: Jeff Dike Cc: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bcbdf603bc4bf24c2bcfa071871afb03dd3ae80 Author: Yan Burman Date: Wed Dec 6 20:34:51 2006 -0800 [PATCH] m68k: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Cc: Roman Zippel Cc: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58e14b148ddb56f0bf999965d6279932ed4a00bc Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:50 2006 -0800 [PATCH] Use freezeable workqueues in XFS Make the workqueues used by XFS freezeable, so their worker threads don't submit any I/O after the suspend image has been created. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Cc: David Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 341a595850dac1b0503df34260257d71b4fdf72c Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:49 2006 -0800 [PATCH] Support for freezeable workqueues Make it possible to create a workqueue the worker thread of which will be frozen during suspend, along with other kernel threads. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Cc: David Chinner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5045cfc103566878228ca36d05a0ae0076673e5a Author: Pavel Machek Date: Wed Dec 6 20:34:48 2006 -0800 [PATCH] swsusp: kill write-only variable Cleanup write-only variable, suggested by D Binderman. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d87595ea628ea58415ba4638c553a8c2fbd90e2 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:47 2006 -0800 [PATCH] PM: Fix swsusp debug mode testproc The 'testproc' swsusp debug mode thaws tasks twice in a row, which is _very_ confusing. Fix that. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 06df6a5c181f462c71ddcc20ff6c7ea0bec18ec8 Author: Pavel Machek Date: Wed Dec 6 20:34:46 2006 -0800 [PATCH] s2ram debugging documentation Linus posted quite nice TRACE_RESUME how-to, and I think it is too nice to be hidden in archives of mailing list, so I turned it into Documentation piece. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59a493350e7aefff7e262efa39e017517b31b8e8 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:44 2006 -0800 [PATCH] swsusp: Fix labels Move all labels in the swsusp code to the second column, so that they won't fool diff -p. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b6d15de2d4c8149902a680a6cd1d3b26cd2e828 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:43 2006 -0800 [PATCH] swsusp: Fix coding style in suspend.c Fix coding style in suspend.c. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 11b2ce2ba90f801e2a5ebba4e6b7da72d87f2b13 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:40 2006 -0800 [PATCH] swsusp: Untangle freeze_processes Move the loop from freeze_processes() to a separate function and call it independently for user space processes and kernel threads so that the order of freezing tasks is clearly visible. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9b6f562f14dc28fb4b2415f0f275cede0abe9b5 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:37 2006 -0800 [PATCH] swsusp: Untangle thaw_processes Move the loop from thaw_processes() to a separate function and call it independently for kernel threads and user space processes so that the order of thawing tasks is clearly visible. Drop thaw_kernel_threads() which is never used. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6d70980602e6f1869ebcdcbfaf55a0a5941583e Author: Stephen Hemminger Date: Wed Dec 6 20:34:35 2006 -0800 [PATCH] convert pm_sem to a mutex The power management semaphore is only used as mutex, so convert it. [akpm@osdl.org: fix rotten bug] Signed-off-by: Stephen Hemminger Acked-by: Ingo Molnar Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb1b3a40722cbb46631db373af66d13d1e7ac81 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:34 2006 -0800 [PATCH] suspend to disk fails if gdb is suspended with a traced child Fix http://bugzilla.kernel.org/show_bug.cgi?id=7534 Fix the freezing of processes so that it won't fail if there is a traced process the parent of which has been stopped. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: maurice barnum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0d3a9abe8ae055e1052295698bcd0722c92eff47 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:32 2006 -0800 [PATCH] swsusp: Measure memory shrinking time Make swsusp measure and print the time needed to shrink memory during the suspend. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 112cecb2cc0e7341db92281ba04b26c41bb8146d Author: Siddha, Suresh B Date: Wed Dec 6 20:34:31 2006 -0800 [PATCH] suspend: don't change cpus_allowed for task initiating the suspend Don't modify the cpus_allowed of the task initiating the suspend. _cpu_down() already makes sure that the task doing the suspend doesn't run on dying cpu. Signed-off-by: Suresh Siddha Cc: Venkatesh Pallipadi Cc: Pavel Machek Cc: "Rafael J. Wysocki" Cc: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4a34c9365c6e3f94a5b26ce296e1fce9b66c8b Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:29 2006 -0800 [PATCH] swsusp: Support i386 systems with PAE or without PSE Make swsusp support i386 systems with PAE or without PSE. This is done by creating temporary page tables located in resume-safe page frames before the suspend image is restored in the same way as x86_64 does it. Signed-off-by: Rafael J. Wysocki Cc: Andi Kleen Cc: Dave Jones Cc: Nigel Cunningham Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ff39593ad0ff7a79a3717edac6634407aa8200c2 Author: Nigel Cunningham Date: Wed Dec 6 20:34:28 2006 -0800 [PATCH] swsusp: thaw userspace and kernel space separately Modify process thawing so that we can thaw kernel space without thawing userspace, and thaw kernelspace first. This will be useful in later patches, where I intend to get swsusp thawing kernel threads only before seeking to free memory. Signed-off-by: Nigel Cunningham Cc: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14b5b7cfaa110b1d25b8f80b01a8c97cf2db30bc Author: Nigel Cunningham Date: Wed Dec 6 20:34:26 2006 -0800 [PATCH] swsusp: clean up whitespace in freezer output Minor whitespace and formatting modifications for the freezer. Signed-off-by: Nigel Cunningham Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 32d50f57dab94d8c46566a903bbb633ee72fdcc2 Author: Nigel Cunningham Date: Wed Dec 6 20:34:25 2006 -0800 [PATCH] swsusp: quieten Freezer if !CONFIG_PM_DEBUG The freezer currently prints an '=' for every process that is frozen. This is pretty pointless, as the equals sign says nothing about which process is frozen, and makes logs look messier (especially if there were a large number of processes running). All we really need to know is that we started trying to freeze processes and what processes (if any) failed to freeze, or that we succeeded. Signed-off-by: Nigel Cunningham Acked-by: Pavel Machek Cc: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7dfb71030f7636a0d65200158113c37764552f93 Author: Nigel Cunningham Date: Wed Dec 6 20:34:23 2006 -0800 [PATCH] Add include/linux/freezer.h and move definitions from sched.h Move process freezing functions from include/linux/sched.h to freezer.h, so that modifications to the freezer or the kernel configuration don't require recompiling just about everything. [akpm@osdl.org: fix ueagle driver] Signed-off-by: Nigel Cunningham Cc: "Rafael J. Wysocki" Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a05aac2631aa0e6494d9dc990f8c68ed8b8fde7 Author: Stefan Seyfried Date: Wed Dec 6 20:34:21 2006 -0800 [PATCH] swsusp: fix platform mode At some point after 2.6.13, in-kernel software suspend got "incomplete" for the so-called "platform" mode. pm_ops->prepare() is never called. A visible sign of this is the "moon" light on thinkpads not flashing during suspend. Fix by readding the pm_ops->prepare call during suspend. Signed-off-by: Stefan Seyfried Acked-by: "Rafael J. Wysocki" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 859491218770315ba95ee3fa09961fc71c506cae Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:19 2006 -0800 [PATCH] swsusp: use __GFP_WAIT swsusp uses GFP_ATOMIC, but it can afford to use __GFP_WAIT, which will permit it to reclaim clean pagecache instead of emitting scary page-allocation-failure messages. Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8357376d3df21b7d6f857931a57ac50da9c66e26 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:18 2006 -0800 [PATCH] swsusp: Improve handling of highmem Currently swsusp saves the contents of highmem pages by copying them to the normal zone which is quite inefficient (eg. it requires two normal pages to be used for saving one highmem page). This may be improved by using highmem for saving the contents of saveable highmem pages. Namely, during the suspend phase of the suspend-resume cycle we try to allocate as many free highmem pages as there are saveable highmem pages. If there are not enough highmem image pages to store the contents of all of the saveable highmem pages, some of them will be stored in the "normal" memory. Next, we allocate as many free "normal" pages as needed to store the (remaining) image data. We use a memory bitmap to mark the allocated free pages (ie. highmem as well as "normal" image pages). Now, we use another memory bitmap to mark all of the saveable pages (highmem as well as "normal") and the contents of the saveable pages are copied into the image pages. Then, the second bitmap is used to save the pfns corresponding to the saveable pages and the first one is used to save their data. During the resume phase the pfns of the pages that were saveable during the suspend are loaded from the image and used to mark the "unsafe" page frames. Next, we try to allocate as many free highmem page frames as to load all of the image data that had been in the highmem before the suspend and we allocate so many free "normal" page frames that the total number of allocated free pages (highmem and "normal") is equal to the size of the image. While doing this we have to make sure that there will be some extra free "normal" and "safe" page frames for two lists of PBEs constructed later. Now, the image data are loaded, if possible, into their "original" page frames. The image data that cannot be written into their "original" page frames are loaded into "safe" page frames and their "original" kernel virtual addresses, as well as the addresses of the "safe" pages containing their copies, are stored in one of two lists of PBEs. One list of PBEs is for the copies of "normal" suspend pages (ie. "normal" pages that were saveable during the suspend) and it is used in the same way as previously (ie. by the architecture-dependent parts of swsusp). The other list of PBEs is for the copies of highmem suspend pages. The pages in this list are restored (in a reversible way) right before the arch-dependent code is called. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bf73bae6ba0dc4bd4f1e570feb34a06b72725af6 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:16 2006 -0800 [PATCH] swsusp: update userland interface documentation The swsusp userland interface has recently changed for a couple of times, but the changes have not been documented. Fix this, and document the SNAPSHOT_SET_SWAP_AREA ioctl(). Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 37b2ba12df88f0e29f2d52aaf1ab22789377d5b5 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:15 2006 -0800 [PATCH] swsusp: add ioctl for swap files support To be able to use swap files as suspend storage from the userland suspend tools we need an additional ioctl() that will allow us to provide the kernel with both the swap header's offset and the identification of the resume partition. The new ioctl() should be regarded as a replacement for the SNAPSHOT_SET_SWAP_FILE ioctl() that from now on will be considered as obsolete, but has to stay for backwards compatibility of the interface. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ecbd0da1eced957e0cbb611b4a4cb5b0cf63ba31 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:13 2006 -0800 [PATCH] swsusp: document support for swap files Document the "resume_offset=" command line parameter as well as the way in which swap files are supported by swsusp. Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a154d9d95b7b9845938242f5c62505b3cab5bcd Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:12 2006 -0800 [PATCH] swsusp: add resume_offset command line parameter Add the kernel command line parameter "resume_offset=" allowing us to specify the offset, in units, from the beginning of the partition pointed to by the "resume=" parameter at which the swap header is located. This offset can be determined, for example, by an application using the FIBMAP ioctl to obtain the swap header's block number for given file. [akpm@osdl.org: we don't know what type sector_t is] Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3aef83e0ef1ffb8ea3bea97be46821a45c952173 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:10 2006 -0800 [PATCH] swsusp: use block device offsets to identify swap locations Make swsusp use block device offsets instead of swap offsets to identify swap locations and make it use the same code paths for writing as well as for reading data. This allows us to use the same code for handling swap files and swap partitions and to simplify the code, eg. by dropping rw_swap_page_sync(). Signed-off-by: Rafael J. Wysocki Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3fc6b34f4803b959c1e30c15247e2180cd529115 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:09 2006 -0800 [PATCH] swsusp: rearrange swap-handling code Rearrange the code in kernel/power/swap.c so that the next patch is more readable. [This patch only moves the existing code.] Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 915bae9ebe41e52d71ad8b06d50e4ab26189f964 Author: Rafael J. Wysocki Date: Wed Dec 6 20:34:07 2006 -0800 [PATCH] swsusp: use partition device and offset to identify swap areas The Linux kernel handles swap files almost in the same way as it handles swap partitions and there are only two differences between these two types of swap areas: (1) swap files need not be contiguous, (2) the header of a swap file is not in the first block of the partition that holds it. From the swsusp's point of view (1) is not a problem, because it is already taken care of by the swap-handling code, but (2) has to be taken into consideration. In principle the location of a swap file's header may be determined with the help of appropriate filesystem driver. Unfortunately, however, it requires the filesystem holding the swap file to be mounted, and if this filesystem is journaled, it cannot be mounted during a resume from disk. For this reason we need some other means by which swap areas can be identified. For example, to identify a swap area we can use the partition that holds the area and the offset from the beginning of this partition at which the swap header is located. The following patch allows swsusp to identify swap areas this way. It changes swap_type_of() so that it takes an additional argument representing an offset of the swap header within the partition represented by its first argument. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3592695c363c3f3119621bdcf5ed852d6b9d1a5c Author: Stefan Seyfried Date: Wed Dec 6 20:34:06 2006 -0800 [PATCH] uswsusp: add pmops->{prepare,enter,finish} support (aka "platform mode") Add an ioctl to the userspace swsusp code that enables the usage of the pmops->prepare, pmops->enter and pmops->finish methods (the in-kernel suspend knows these as "platform method"). These are needed on many machines to (among others) speed up resuming by letting the BIOS skip some steps or let my hp nx5000 recognise the correct ac_adapter state after resume again. It also ensures on many machines, that changed hardware (unplugged AC adapters) gets correctly detected and that kacpid does not run wild after resume. Signed-off-by: Stefan Seyfried Cc: "Rafael J. Wysocki" Cc: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 074cec54d1049ab580ecd0026623b553e0e270c4 Author: Alan Cox Date: Wed Dec 6 20:33:59 2006 -0800 [PATCH] alpha: switch to pci_get API Now that we have pci_get_bus_and_slot we can do the job correctly. Note that some of these calls intentionally leak a device - this is because the device in question is always needed from boot to reboot. Signed-off-by: Alan Cox Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3869aa292fbd24103b8338937cb351459efe3f82 Author: Mariusz Kozlowski Date: Wed Dec 6 20:33:57 2006 -0800 [PATCH] h8300 stray bracket fix Signed-off-by: Mariusz Kozlowski Cc: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d3eeeac97a6e4fc1ff3ad184f1c3bf328de7cb6 Author: Paul Mundt Date: Wed Dec 6 20:33:54 2006 -0800 [PATCH] avr32: fixup kprobes preemption handling While working on SH kprobes, I noticed that avr32 got the preemption handling wrong in the no probe case. The idea is that upon entry of kprobe_handler() preemption is disabled outright across the life of the kprobe, only to be re-enabled in post_kprobe_handler(). However, in the event that the probe is never activated, there's never any chance of hitting the post probe handler, which allows for the current avr32 implementation to disable preemption indefinitely, as it's currently missing a re-enable when no probe is activated. Signed-off-by: Paul Mundt Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e9c1528a429c831458e54c8701a0b80ba563a7a8 Author: Adrian Bunk Date: Wed Dec 6 20:33:50 2006 -0800 [PATCH] arch/frv/kernel/futex.c must #include This patch fixes the following compile error with -Werror-implicit-function-declaration (without -Werror-implicit-function-declaration it's a link error): ... CC arch/frv/kernel/futex.o /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c: In function 'futex_atomic_op_inuser': /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c:203: error: implicit declaration of function 'pagefault_disable' /home/bunk/linux/kernel-2.6/linux-2.6.19-rc6-mm2/arch/frv/kernel/futex.c:226: error: implicit declaration of function 'pagefault_enable' make[2]: *** [arch/frv/kernel/futex.o] Error 1 ... Signed-off-by: Adrian Bunk Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 48ad504ee7d598431cb2d0b2f01c6d1aff1d2a07 Author: Eric Sesterhenn Date: Wed Dec 6 20:33:47 2006 -0800 [PATCH] security/keys/*: user kmemdup() Signed-off-by: Eric Sesterhenn Signed-off-by: Alexey Dobriyan Acked-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7cf9c2c76c1a17b32f2da85b50cd4fe468ed44b5 Author: Nick Piggin Date: Wed Dec 6 20:33:44 2006 -0800 [PATCH] radix-tree: RCU lockless readside Make radix tree lookups safe to be performed without locks. Readers are protected against nodes being deleted by using RCU based freeing. Readers are protected against new node insertion by using memory barriers to ensure the node itself will be properly written before it is visible in the radix tree. Each radix tree node keeps a record of their height (above leaf nodes). This height does not change after insertion -- when the radix tree is extended, higher nodes are only inserted in the top. So a lookup can take the pointer to what is *now* the root node, and traverse down it even if the tree is concurrently extended and this node becomes a subtree of a new root. "Direct" pointers (tree height of 0, where root->rnode points directly to the data item) are handled by using the low bit of the pointer to signal whether rnode is a direct pointer or a pointer to a radix tree node. When a reader wants to traverse the next branch, they will take a copy of the pointer. This pointer will be either NULL (and the branch is empty) or non-NULL (and will point to a valid node). [akpm@osdl.org: cleanups] [Lee.Schermerhorn@hp.com: bugfixes, comments, simplifications] [clameter@sgi.com: build fix] Signed-off-by: Nick Piggin Cc: "Paul E. McKenney" Signed-off-by: Lee Schermerhorn Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 36de6437866bbb1d37e2312ff4f95ee4ed6d2b61 Author: Arnaldo Carvalho de Melo Date: Wed Dec 6 20:33:42 2006 -0800 [PATCH] Save some bytes in struct mm_struct Before: [acme@newtoy net-2.6.20]$ pahole --cacheline 32 kernel/sched.o mm_struct /* include2/asm/processor.h:542 */ struct mm_struct { struct vm_area_struct * mmap; /* 0 4 */ struct rb_root mm_rb; /* 4 4 */ struct vm_area_struct * mmap_cache; /* 8 4 */ long unsigned int (*get_unmapped_area)(); /* 12 4 */ void (*unmap_area)(); /* 16 4 */ long unsigned int mmap_base; /* 20 4 */ long unsigned int task_size; /* 24 4 */ long unsigned int cached_hole_size; /* 28 4 */ /* ---------- cacheline 1 boundary ---------- */ long unsigned int free_area_cache; /* 32 4 */ pgd_t * pgd; /* 36 4 */ atomic_t mm_users; /* 40 4 */ atomic_t mm_count; /* 44 4 */ int map_count; /* 48 4 */ struct rw_semaphore mmap_sem; /* 52 64 */ spinlock_t page_table_lock; /* 116 40 */ struct list_head mmlist; /* 156 8 */ mm_counter_t _file_rss; /* 164 4 */ mm_counter_t _anon_rss; /* 168 4 */ long unsigned int hiwater_rss; /* 172 4 */ long unsigned int hiwater_vm; /* 176 4 */ long unsigned int total_vm; /* 180 4 */ long unsigned int locked_vm; /* 184 4 */ long unsigned int shared_vm; /* 188 4 */ /* ---------- cacheline 6 boundary ---------- */ long unsigned int exec_vm; /* 192 4 */ long unsigned int stack_vm; /* 196 4 */ long unsigned int reserved_vm; /* 200 4 */ long unsigned int def_flags; /* 204 4 */ long unsigned int nr_ptes; /* 208 4 */ long unsigned int start_code; /* 212 4 */ long unsigned int end_code; /* 216 4 */ long unsigned int start_data; /* 220 4 */ /* ---------- cacheline 7 boundary ---------- */ long unsigned int end_data; /* 224 4 */ long unsigned int start_brk; /* 228 4 */ long unsigned int brk; /* 232 4 */ long unsigned int start_stack; /* 236 4 */ long unsigned int arg_start; /* 240 4 */ long unsigned int arg_end; /* 244 4 */ long unsigned int env_start; /* 248 4 */ long unsigned int env_end; /* 252 4 */ /* ---------- cacheline 8 boundary ---------- */ long unsigned int saved_auxv[44]; /* 256 176 */ unsigned int dumpable:2; /* 432 4 */ cpumask_t cpu_vm_mask; /* 436 4 */ mm_context_t context; /* 440 68 */ long unsigned int swap_token_time; /* 508 4 */ /* ---------- cacheline 16 boundary ---------- */ char recent_pagein; /* 512 1 */ /* XXX 3 bytes hole, try to pack */ int core_waiters; /* 516 4 */ struct completion * core_startup_done; /* 520 4 */ struct completion core_done; /* 524 52 */ rwlock_t ioctx_list_lock; /* 576 36 */ struct kioctx * ioctx_list; /* 612 4 */ }; /* size: 616, sum members: 613, holes: 1, sum holes: 3, cachelines: 20, last cacheline: 8 bytes */ After: [acme@newtoy net-2.6.20]$ pahole --cacheline 32 kernel/sched.o mm_struct /* include2/asm/processor.h:542 */ struct mm_struct { struct vm_area_struct * mmap; /* 0 4 */ struct rb_root mm_rb; /* 4 4 */ struct vm_area_struct * mmap_cache; /* 8 4 */ long unsigned int (*get_unmapped_area)(); /* 12 4 */ void (*unmap_area)(); /* 16 4 */ long unsigned int mmap_base; /* 20 4 */ long unsigned int task_size; /* 24 4 */ long unsigned int cached_hole_size; /* 28 4 */ /* ---------- cacheline 1 boundary ---------- */ long unsigned int free_area_cache; /* 32 4 */ pgd_t * pgd; /* 36 4 */ atomic_t mm_users; /* 40 4 */ atomic_t mm_count; /* 44 4 */ int map_count; /* 48 4 */ struct rw_semaphore mmap_sem; /* 52 64 */ spinlock_t page_table_lock; /* 116 40 */ struct list_head mmlist; /* 156 8 */ mm_counter_t _file_rss; /* 164 4 */ mm_counter_t _anon_rss; /* 168 4 */ long unsigned int hiwater_rss; /* 172 4 */ long unsigned int hiwater_vm; /* 176 4 */ long unsigned int total_vm; /* 180 4 */ long unsigned int locked_vm; /* 184 4 */ long unsigned int shared_vm; /* 188 4 */ /* ---------- cacheline 6 boundary ---------- */ long unsigned int exec_vm; /* 192 4 */ long unsigned int stack_vm; /* 196 4 */ long unsigned int reserved_vm; /* 200 4 */ long unsigned int def_flags; /* 204 4 */ long unsigned int nr_ptes; /* 208 4 */ long unsigned int start_code; /* 212 4 */ long unsigned int end_code; /* 216 4 */ long unsigned int start_data; /* 220 4 */ /* ---------- cacheline 7 boundary ---------- */ long unsigned int end_data; /* 224 4 */ long unsigned int start_brk; /* 228 4 */ long unsigned int brk; /* 232 4 */ long unsigned int start_stack; /* 236 4 */ long unsigned int arg_start; /* 240 4 */ long unsigned int arg_end; /* 244 4 */ long unsigned int env_start; /* 248 4 */ long unsigned int env_end; /* 252 4 */ /* ---------- cacheline 8 boundary ---------- */ long unsigned int saved_auxv[44]; /* 256 176 */ cpumask_t cpu_vm_mask; /* 432 4 */ mm_context_t context; /* 436 68 */ long unsigned int swap_token_time; /* 504 4 */ char recent_pagein; /* 508 1 */ unsigned char dumpable:2; /* 509 1 */ /* XXX 2 bytes hole, try to pack */ int core_waiters; /* 512 4 */ struct completion * core_startup_done; /* 516 4 */ struct completion core_done; /* 520 52 */ rwlock_t ioctx_list_lock; /* 572 36 */ struct kioctx * ioctx_list; /* 608 4 */ }; /* size: 612, sum members: 610, holes: 1, sum holes: 2, cachelines: 20, last cacheline: 4 bytes */ [acme@newtoy net-2.6.20]$ codiff -V /tmp/sched.o.before kernel/sched.o /pub/scm/linux/kernel/git/acme/net-2.6.20/kernel/sched.c: struct mm_struct | -4 dumpable:2; from: unsigned int /* 432(30) 4(2) */ to: unsigned char /* 509(6) 1(2) */ < SNIP other offset changes > 1 struct changed [acme@newtoy net-2.6.20]$ I'm not aware of any problem about using 2 byte wide bitfields where previously a 4 byte wide one was, holler if there is any, I wouldn't be surprised, bitfields are things from hell. For the curious, 432(30) means: at offset 432 from the struct start, at offset 30 in the bitfield (yeah, it comes backwards, hellish, huh?) ditto for 509(6), while 4(2) and 1(2) means "struct field size(bitfield size)". Now we have a 2 bytes hole and are using only 4 bytes of the last 32 bytes cacheline, any takers? :-) Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33f2ef89f8e181486b63fdbdc97c6afa6ca9f34b Author: Andy Whitcroft Date: Wed Dec 6 20:33:32 2006 -0800 [PATCH] mm: make compound page destructor handling explicit Currently we we use the lru head link of the second page of a compound page to hold its destructor. This was ok when it was purely an internal implmentation detail. However, hugetlbfs overrides this destructor violating the layering. Abstract this out as explicit calls, also introduce a type for the callback function allowing them to be type checked. For each callback we pre-declare the function, causing a type error on definition rather than on use elsewhere. [akpm@osdl.org: cleanups] Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c517a6132098ca37e122a2980fc64a9e798b0d7 Author: Christoph Lameter Date: Wed Dec 6 20:33:29 2006 -0800 [PATCH] slab: better fallback allocation behavior Currently we simply attempt to allocate from all allowed nodes using GFP_THISNODE. However, GFP_THISNODE does not do reclaim (it wont do any at all if the recent GFP_THISNODE patch is accepted). If we truly run out of memory in the whole system then fallback_alloc may return NULL although memory may still be available if we would perform more thorough reclaim. This patch changes fallback_alloc() so that we first only inspect all the per node queues for available slabs. If we find any then we allocate from those. This avoids slab fragmentation by first getting rid of all partial allocated slabs on every node before allocating new memory. If we cannot satisfy the allocation from any per node queue then we extend a slab. We now call into the page allocator without specifying GFP_THISNODE. The page allocator will then implement its own fallback (in the given cpuset context), perform necessary reclaim (again considering not a single node but the whole set of allowed nodes) and then return pages for a new slab. We identify from which node the pages were allocated and then insert the pages into the corresponding per node structure. In order to do so we need to modify cache_grow() to take a parameter that specifies the new slab. kmem_getpages() can no longer set the GFP_THISNODE flag since we need to be able to use kmem_getpage to allocate from an arbitrary node. GFP_THISNODE needs to be specified when calling cache_grow(). One key advantage is that the decision from which node to allocate new memory is removed from slab fallback processing. The patch allows to go back to use of the page allocators fallback/reclaim logic. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 952f3b51beb592f3f1de15adcdef802fc086ea91 Author: Christoph Lameter Date: Wed Dec 6 20:33:26 2006 -0800 [PATCH] GFP_THISNODE must not trigger global reclaim The intent of GFP_THISNODE is to make sure that an allocation occurs on a particular node. If this is not possible then NULL needs to be returned so that the caller can choose what to do next on its own (the slab allocator depends on that). However, GFP_THISNODE currently triggers reclaim before returning a failure (GFP_THISNODE means GFP_NORETRY is set). If we have over allocated a node then we will currently do some reclaim before returning NULL. The caller may want memory from other nodes before reclaim should be triggered. (If the caller wants reclaim then he can directly use __GFP_THISNODE instead). There is no flag to avoid reclaim in the page allocator and adding yet another GFP_xx flag would be difficult given that we are out of available flags. So just compare and see if all bits for GFP_THISNODE (__GFP_THISNODE, __GFP_NORETRY and __GFP_NOWARN) are set. If so then we return NULL before waking up kswapd. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5bcd234d881d83ac0259c6d42d98f134e31c60a8 Author: Christoph Lameter Date: Wed Dec 6 20:33:24 2006 -0800 [PATCH] slab: fix two issues in kmalloc_node / __cache_alloc_node This addresses two issues: 1. Kmalloc_node() may intermittently return NULL if we are allocating from the current node and are unable to obtain memory for the current node from the page allocator. This is because we call ___cache_alloc() if nodeid == numa_node_id() and ____cache_alloc is not able to fallback to other nodes. This was introduced in the 2.6.19 development cycle. <= 2.6.18 in that case does not do a restricted allocation and blindly trusts the page allocator to have given us memory from the indicated node. It inserts the page regardless of the node it came from into the queues for the current node. 2. If kmalloc_node() is used on a node that has not been bootstrapped yet then we may try to pass an invalid node number to ____cache_alloc_node() triggering a BUG(). Change the function to call fallback_alloc() instead. Only call fallback_alloc() if we are allowed to fallback at all. The need to handle a node not bootstrapped yet also first surfaced in the 2.6.19 cycle. Update the comments since they were still describing the old kmalloc_node from 2.6.12. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b1cec4bbc59feac89670d5d6d222a02545bac94 Author: Andrew Morton Date: Wed Dec 6 20:33:22 2006 -0800 [PATCH] slab: deprecate kmem_cache_t Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e18b890bb0881bbab6f4f1a6cd20d9c60d66b003 Author: Christoph Lameter Date: Wed Dec 6 20:33:20 2006 -0800 [PATCH] slab: remove kmem_cache_t Replace all uses of kmem_cache_t with struct kmem_cache. The patch was generated using the following script: #!/bin/sh # # Replace one string by another in all the kernel sources. # set -e for file in `find * -name "*.c" -o -name "*.h"|xargs grep -l $1`; do quilt add $file sed -e "1,\$s/$1/$2/g" $file >/tmp/$$ mv /tmp/$$ $file quilt refresh done The script was run like this sh replace kmem_cache_t "struct kmem_cache" Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 441e143e95f5aa1e04026cb0aa71c801ba53982f Author: Christoph Lameter Date: Wed Dec 6 20:33:19 2006 -0800 [PATCH] slab: remove SLAB_DMA SLAB_DMA is an alias of GFP_DMA. This is the last one so we remove the leftover comment too. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e94b1766097d53e6f3ccfb36c8baa562ffeda3fc Author: Christoph Lameter Date: Wed Dec 6 20:33:17 2006 -0800 [PATCH] slab: remove SLAB_KERNEL SLAB_KERNEL is an alias of GFP_KERNEL. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54e6ecb23951b195d02433a741c7f7cb0b796c78 Author: Christoph Lameter Date: Wed Dec 6 20:33:16 2006 -0800 [PATCH] slab: remove SLAB_ATOMIC SLAB_ATOMIC is an alias of GFP_ATOMIC Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7267c0c0721fd02ad3dc37c3d6dd24ccd81d4d6 Author: Christoph Lameter Date: Wed Dec 6 20:33:15 2006 -0800 [PATCH] slab: remove SLAB_USER SLAB_USER is an alias of GFP_USER Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6b4f8da3a88457148038bc952043e99a7fdba64 Author: Christoph Lameter Date: Wed Dec 6 20:33:14 2006 -0800 [PATCH] slab: remove SLAB_NOFS SLAB_NOFS is an alias of GFP_NOFS. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55acbda0965ca0a29b0ca276e7d17a55edc11d1b Author: Christoph Lameter Date: Wed Dec 6 20:33:13 2006 -0800 [PATCH] slab: remove SLAB_NOIO SLAB_NOIO is an alias of GFP_NOIO with a single instance of use. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a06d72c1dcbff015250df6ad9f0b1d18c02113bf Author: Christoph Lameter Date: Wed Dec 6 20:33:12 2006 -0800 [PATCH] slab: remove SLAB_LEVEL_MASK SLAB_LEVEL_MASK is only used internally to the slab and is and alias of GFP_LEVEL_MASK. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e0eaa4b05cf53ca5caa702fd2760a5b3376be69 Author: Christoph Lameter Date: Wed Dec 6 20:33:10 2006 -0800 [PATCH] slab: remove SLAB_NO_GROW It is only used internally in the slab. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2d4d862f729f0cb1ad8027203aceff49dc9f63fa Author: Hugh Dickins Date: Wed Dec 6 20:33:09 2006 -0800 [PATCH] kill install_file_pte's pte_val David Binderman and his Intel C compiler rightly observe that install_file_pte no longer has any use for its pte_val. Signed-off-by: Hugh Dickins Cc: d binderman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce421c799b5bde77aa60776d6fb61036ae0aea11 Author: Andy Whitcroft Date: Wed Dec 6 20:33:08 2006 -0800 [PATCH] mm: cleanup indentation on switch for CPU operations These patches introduced new switch statements which are indented contrary to the concensus in mm/*.c. Fix them up to match that concensus. [PATCH] node local per-cpu-pages [PATCH] ZVC: Scale thresholds depending on the size of the system commit e7c8d5c9955a4d2e88e36b640563f5d6d5aba48a commit df9ecaba3f152d1ea79f2a5e0b87505e03f47590 Signed-off-by: Andy Whitcroft Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d1854e15ee979f8e27330f0d3ce5e2703afa1dc Author: Eric Sandeen Date: Wed Dec 6 20:33:06 2006 -0800 [PATCH] reject corrupt swapfiles earlier The fsfuzzer found this; with a corrupt small swapfile that claims to have many pages: [root]# file swap.741.img swap.741.img: Linux/i386 swap file (new style) 1 (4K pages) size 1040191487 pages [root]# ls -l swap.741.img -rw-r--r-- 1 root root 16777216 Nov 22 05:18 swap.741.img sys_swapon() will try to vmalloc all those pages, and -then- check to see if the file is actually that large: if (!(p->swap_map = vmalloc(maxpages * sizeof(short)))) { if (swapfilesize && maxpages > swapfilesize) { printk(KERN_WARNING "Swap area shorter than signature indicates\n"); It seems to me that it would make more sense to move this test up before the vmalloc, with the other checks, to avoid the OOM-killer in this situation... Signed-off-by: Eric Sandeen Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4af2bfc1202041006a0f01d0591a975f6c573f09 Author: Andy Whitcroft Date: Wed Dec 6 20:33:04 2006 -0800 [PATCH] silence unused pgdat warning from alloc_bootmem_node and friends x86 NUMA systems only define bootmem for node 0. alloc_bootmem_node() and friends therefore ignore the passed pgdat and use NODE_DATA(0) in all cases. This leads to the following warnings as we are not using the passed parameter: .../mm/page_alloc.c: In function 'zone_wait_table_init': .../mm/page_alloc.c:2259: warning: unused variable 'pgdat' One option would be to define all variables used with these macros __attribute__ ((unused)), but this would leave us exposed should these become genuinely unused. The key here is that we _are_ using the value, we ignore it but that is a deliberate action. This patch adds a nested local variable within the alloc_bootmem_node helper to which the pgdat parameter is assigned making it 'used'. The nested local is marked __attribute__ ((unused)) to silence this same warning for it. Signed-off-by: Andy Whitcroft Cc: Christoph Lameter Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25ba77c141dbcd2602dd0171824d0d72aa023a01 Author: Andy Whitcroft Date: Wed Dec 6 20:33:03 2006 -0800 [PATCH] numa node ids are int, page_to_nid and zone_to_nid should return int NUMA node ids are passed as either int or unsigned int almost exclusivly page_to_nid and zone_to_nid both return unsigned long. This is a throw back to when page_to_nid was a #define and was thus exposing the real type of the page flags field. In addition to fixing up the definitions of page_to_nid and zone_to_nid I audited the users of these functions identifying the following incorrect uses: 1) mm/page_alloc.c show_node() -- printk dumping the node id, 2) include/asm-ia64/pgalloc.h pgtable_quicklist_free() -- comparison against numa_node_id() which returns an int from cpu_to_node(), and 3) mm/mpolicy.c check_pte_range -- used as an index in node_isset which uses bit_set which in generic code takes an int. Signed-off-by: Andy Whitcroft Cc: Christoph Lameter Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc4ba393c007248f76c05945abb7b7b892cdd1cc Author: Christoph Lameter Date: Wed Dec 6 20:33:02 2006 -0800 [PATCH] drain_node_page(): Drain pages in batch units drain_node_pages() currently drains the complete pageset of all pages. If there are a large number of pages in the queues then we may hold off interrupts for too long. Duplicate the method used in free_hot_cold_page. Only drain pcp->batch pages at one time. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ebe29738f3934ad6a93c8bd76e30aa5d797a269d Author: Christoph Lameter Date: Wed Dec 6 20:32:59 2006 -0800 [PATCH] Remove uses of kmem_cache_t from mm/* and include/linux/slab.h Remove all uses of kmem_cache_t (the most were left in slab.h). The typedef for kmem_cache_t is then only necessary for other kernel subsystems. Add a comment to that effect. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b86c089b83b8ae2bc814db865057768a9ba787b5 Author: Christoph Lameter Date: Wed Dec 6 20:32:57 2006 -0800 [PATCH] Move names_cachep to linux/fs.h The names_cachep is used for getname() and putname(). So lets put it into fs.h near those two definitions. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aa362a83e78d2e9320da588805cf2a0b53356bc3 Author: Christoph Lameter Date: Wed Dec 6 20:32:54 2006 -0800 [PATCH] Move fs_cachep to linux/fs_struct.h fs_cachep is only used in kernel/exit.c and in kernel/fork.c. It is used to store fs_struct items so it should be placed in linux/fs_struct.h Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b7d91eb7f6a3e8f0caaa613937bda5ab7dc7dc2 Author: Christoph Lameter Date: Wed Dec 6 20:32:52 2006 -0800 [PATCH] Move filep_cachep to include/file.h filp_cachep is only used in fs/file_table.c and in fs/dcache.c where it is defined. Move it to related definitions in linux/file.h. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d6538fcf231faccb2ac42f92851d259d00e62f9 Author: Christoph Lameter Date: Wed Dec 6 20:32:50 2006 -0800 [PATCH] Move files_cachep to include/file.h Proper place is in file.h since files_cachep uses are rated to file I/O. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c43692e85f306667545b91194c748a6e46c1f8b4 Author: Christoph Lameter Date: Wed Dec 6 20:32:48 2006 -0800 [PATCH] Move vm_area_cachep to include/mm.h vm_area_cachep is used to store vm_area_structs. So move to mm.h. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 298ec1e2ac85cecce3eddd167286359358c44d5d Author: Christoph Lameter Date: Wed Dec 6 20:32:47 2006 -0800 [PATCH] Move sighand_cachep to include/signal.h Move sighand_cachep definitioni to linux/signal.h The sighand cache is only used in fs/exec.c and kernel/fork.c. It is defined in kernel/fork.c but only used in fs/exec.c. The sighand_cachep is related to signal processing. So add the definition to signal.h. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54cc211ce3fc73a9d21c6316886db0676beaca95 Author: Christoph Lameter Date: Wed Dec 6 20:32:45 2006 -0800 [PATCH] Remove bio_cachep from slab.h Remove bio_cachep from slab.h - it no longer exists. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e30500557eca09ddd340806ce44abf84d9115ab1 Author: Adrian Bunk Date: Wed Dec 6 20:32:43 2006 -0800 [PATCH] make mm/thrash.c:global_faults static This patch makes the needlessly global "global_faults" static. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c309a64d6afa90a0a07813c836ba480aeaeca8c Author: Christian Krafft Date: Wed Dec 6 20:32:41 2006 -0800 [PATCH] enable booting a NUMA system where some nodes have no memory When booting a NUMA system with nodes that have no memory (eg by limiting memory), bootmem_alloc_core tried to find pages in an uninitialized bootmem_map. This caused a null pointer access. This fix adds a check, so that NULL is returned. That will enable the caller (bootmem_alloc_nopanic) to alloc memory on other without a panic. Signed-off-by: Christian Krafft Cc: Christoph Lameter Cc: Andy Whitcroft Cc: Martin Bligh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a120586873d3d64de93bd6d593d237e131994e58 Author: Alan Stern Date: Wed Dec 6 20:32:37 2006 -0800 [PATCH] Allow NULL pointers in percpu_free The patch (as824b) makes percpu_free() ignore NULL arguments, as one would expect for a deallocation routine. (Note that free_percpu is #defined as percpu_free in include/linux/percpu.h.) A few callers are updated to remove now-unneeded tests for NULL. A few other callers already seem to assume that passing a NULL pointer to percpu_free() is okay! The patch also removes an unnecessary NULL check in percpu_depopulate(). Signed-off-by: Alan Stern Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b30973f877fea1a3fb84e05599890fcc082a88e5 Author: Christoph Hellwig Date: Wed Dec 6 20:32:36 2006 -0800 [PATCH] node-aware skb allocation Node-aware allocation of skbs for the receive path. Details: - __alloc_skb gets a new node argument and cals the node-aware slab functions with it. - netdev_alloc_skb passed the node number it gets from dev_to_node to it, everyone else passes -1 (any node) Signed-off-by: Christoph Hellwig Cc: Christoph Lameter Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 873481367edb18a7d0d7e5a285e6728c16bb44a9 Author: Christoph Hellwig Date: Wed Dec 6 20:32:33 2006 -0800 [PATCH] add numa node information to struct device For node-aware skb allocations we need information about the node in struct net_device or struct device. Davem suggested to put it into struct device which this patch does. In particular: - struct device gets a new int numa_node member if CONFIG_NUMA is set - there are two new helpers, dev_to_node and set_dev_node to transparently deal with the non-numa case - for pci devices the node-info is set to the value we get from pcibus_to_node. Note that for some architectures pcibus_to_node doesn't work yet at the time we call it currently. This is harmless and will just mean skb allocations aren't node-local on this architectures until the implementation of pcibus_to_node on these architectures have been updated (There are patches for x86 and x86_64 floating around) [akpm@osdl.org: cleanup] Signed-off-by: Christoph Hellwig Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b98c1699eba23cfd2e8b366625c50ff5fd1415b Author: Christoph Hellwig Date: Wed Dec 6 20:32:30 2006 -0800 [PATCH] leak tracking for kmalloc_node We have variants of kmalloc and kmem_cache_alloc that leave leak tracking to the caller. This is used for subsystem-specific allocators like skb_alloc. To make skb_alloc node-aware we need similar routines for the node-aware slab allocator, which this patch adds. Note that the code is rather ugly, but it mirrors the non-node-aware code 1:1: [akpm@osdl.org: add module export] Signed-off-by: Christoph Hellwig Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 881e4aabe4c6b3fce93674b67c6adc646fe2683b Author: Suleiman Souhlal Date: Wed Dec 6 20:32:28 2006 -0800 [PATCH] Always print out the header line in /proc/swaps It would be possible for /proc/swaps to not always print out the header: swapon /dev/hdc2 swapon /dev/hde2 swapoff /dev/hdc2 At this point /proc/swaps would not have a header. Signed-off-by: Suleiman Souhlal Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b43a57bb4dae72e8f7232e7c821a8799eda30022 Author: Kirill Korotaev Date: Wed Dec 6 20:32:27 2006 -0800 [PATCH] OOM can panic due to processes stuck in __alloc_pages() OOM can panic due to the processes stuck in __alloc_pages() doing infinite rebalance loop while no memory can be reclaimed. OOM killer tries to kill some processes, but unfortunetaly, rebalance label was moved by someone below the TIF_MEMDIE check, so buddy allocator doesn't see that process is OOM-killed and it can simply fail the allocation :/ Observed in reality on RHEL4(2.6.9)+OpenVZ kernel when a user doing some memory allocation tricks triggered OOM panic. Signed-off-by: Denis Lunev Signed-off-by: Kirill Korotaev Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3eea484f7a1aadb70ed6665338026a09ad6ce85 Author: Rik Bobbaers Date: Wed Dec 6 20:32:25 2006 -0800 [PATCH] mlock cleanup mm is defined as vma->vm_mm, so use that. Acked-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8fb4fc68ca391862b061b3d358a288ccf6abed39 Author: Guillem Jover Date: Wed Dec 6 20:32:24 2006 -0800 [PATCH] Allow user processes to raise their oom_adj value Currently a user process cannot rise its own oom_adj value (i.e. unprotecting itself from the OOM killer). As this value is stored in the task structure it gets inherited and the unprivileged childs will be unable to rise it. The EPERM will be handled by the generic proc fs layer, as only processes with the proper caps or the owner of the process will be able to write to the file. So we allow only the processes with CAP_SYS_RESOURCE to lower the value, otherwise it will get an EACCES which seems more appropriate than EPERM. Signed-off-by: Guillem Jover Acked-by: Andrea Arcangeli Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b17979bda74493633364c2c263b452b7788e350 Author: Jeremy Fitzhardinge Date: Wed Dec 6 20:32:22 2006 -0800 [PATCH] Fix kunmap_atomic's use of kpte_clear_flush() kunmap_atomic() will call kpte_clear_flush with vaddr/ptep arguments which don't correspond if the vaddr is just a normal lowmem address (ie, not in the KMAP area). This patch makes sure that the pte is only cleared if kmap area was actually used for the mapping. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Cc: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ad76fb6b5a5183255279e0ab5260715481770678 Author: Peter Zijlstra Date: Wed Dec 6 20:32:21 2006 -0800 [PATCH] mm: k{,um}map_atomic() vs in_atomic() Make kmap_atomic/kunmap_atomic denote a pagefault disabled scope. All non trivial implementations already do this anyway. Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a866374aecc90c7d90619727ccd851ac096b2fc7 Author: Peter Zijlstra Date: Wed Dec 6 20:32:20 2006 -0800 [PATCH] mm: pagefault_{disable,enable}() Introduce pagefault_{disable,enable}() and use these where previously we did manual preempt increments/decrements to make the pagefault handler do the atomic thing. Currently they still rely on the increased preempt count, but do not rely on the disabled preemption, this might go away in the future. (NOTE: the extra barrier() in pagefault_disable might fix some holes on machines which have too many registers for their own good) [heiko.carstens@de.ibm.com: s390 fix] Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Cc: Martin Schwidefsky Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6edaf68a87d17570790fd55f0c451a29ec1d6703 Author: Peter Zijlstra Date: Wed Dec 6 20:32:18 2006 -0800 [PATCH] mm: arch do_page_fault() vs in_atomic() In light of the recent pagefault and filemap_copy_from_user work I've gone through all the arch pagefault handlers to make sure the inc_preempt_count() 'feature' works as expected. Several sections of code (including the new filemap_copy_from_user) rely on the fact that faults do not take locks under increased preempt count. arch/x86_64 - good arch/powerpc - good arch/cris - fixed arch/i386 - good arch/parisc - fixed arch/sh - good arch/sparc - good arch/s390 - good arch/m68k - fixed arch/ppc - good arch/alpha - fixed arch/mips - good arch/sparc64 - good arch/ia64 - good arch/arm - fixed arch/um - good arch/avr32 - good arch/h8300 - NA arch/m32r - good arch/v850 - good arch/frv - fixed arch/m68knommu - NA arch/arm26 - fixed arch/sh64 - fixed arch/xtensa - good Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3395ee0588795b0b3bd889c260e55959cf2b61f5 Author: Paul Menage Date: Wed Dec 6 20:32:16 2006 -0800 [PATCH] mm: add noaliencache boot option to disable numa alien caches When using numa=fake on non-NUMA hardware there is no benefit to having the alien caches, and they consume much memory. Add a kernel boot option to disable them. Christoph sayeth "This is good to have even on large NUMA. The problem is that the alien caches grow by the square of the size of the system in terms of nodes." Cc: Christoph Lameter Cc: Pekka Enberg Cc: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f5be20bf87da7c7c59c5cc84f630a1eca5cc99c Author: Ravikiran G Thirumalai Date: Wed Dec 6 20:32:14 2006 -0800 [PATCH] mm: slab: eliminate lock_cpu_hotplug from slab Here's an attempt towards doing away with lock_cpu_hotplug in the slab subsystem. This approach also fixes a bug which shows up when cpus are being offlined/onlined and slab caches are being tuned simultaneously. http://marc.theaimsgroup.com/?l=linux-kernel&m=116098888100481&w=2 The patch has been stress tested overnight on a 2 socket 4 core AMD box with repeated cpu online and offline, while dbench and kernbench process are running, and slab caches being tuned at the same time. There were no lockdep warnings either. (This test on 2,6.18 as 2.6.19-rc crashes at __drain_pages http://marc.theaimsgroup.com/?l=linux-kernel&m=116172164217678&w=2 ) The approach here is to hold cache_chain_mutex from CPU_UP_PREPARE until CPU_ONLINE (similar in approach as worqueue_mutex) . Slab code sensitive to cpu_online_map (kmem_cache_create, kmem_cache_destroy, slabinfo_write, __cache_shrink) is already serialized with cache_chain_mutex. (This patch lengthens cache_chain_mutex hold time at kmem_cache_destroy to cover this). This patch also takes the cache_chain_sem at kmem_cache_shrink to protect sanity of cpu_online_map at __cache_shrink, as viewed by slab. (kmem_cache_shrink->__cache_shrink->drain_cpu_caches). But, really, kmem_cache_shrink is used at just one place in the acpi subsystem! Do we really need to keep kmem_cache_shrink at all? Another note. Looks like a cpu hotplug event can send CPU_UP_CANCELED to a registered subsystem even if the subsystem did not receive CPU_UP_PREPARE. This could be due to a subsystem registered for notification earlier than the current subsystem crapping out with NOTIFY_BAD. Badness can occur with in the CPU_UP_CANCELED code path at slab if this happens (The same would apply for workqueue.c as well). To overcome this, we might have to use either a) a per subsystem flag and avoid handling of CPU_UP_CANCELED, or b) Use a special notifier events like LOCK_ACQUIRE/RELEASE as Gautham was using in his experiments, or c) Do not send CPU_UP_CANCELED to a subsystem which did not receive CPU_UP_PREPARE. I would prefer c). Signed-off-by: Ravikiran Thirumalai Signed-off-by: Shai Fultheim Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a44b56d354b49f9abb184e5a14f71889856283bb Author: Kevin Hilman Date: Wed Dec 6 20:32:11 2006 -0800 [PATCH] slab debug and ARCH_SLAB_MINALIGN don't get along When CONFIG_SLAB_DEBUG is used in combination with ARCH_SLAB_MINALIGN, some debug flags should be disabled which depend on BYTES_PER_WORD alignment. The disabling of these debug flags is not properly handled when BYTES_PER_WORD < ARCH_SLAB_MEMALIGN < cache_line_size() This patch fixes that and also adds an alignment check to cache_alloc_debugcheck_after() when ARCH_SLAB_MINALIGN is used. Signed-off-by: Kevin Hilman Cc: Pekka Enberg Cc: Christoph Lameter Cc: Manfred Spraul Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cace673d376d97b0c66ffa0a49b8d588a696d5d2 Author: Chen, Kenneth W Date: Wed Dec 6 20:32:07 2006 -0800 [PATCH] htlb forget rss with pt sharing Imprecise RSS accounting is an irritating ill effect with pt sharing. After consulted with several VM experts, I have tried various methods to solve that problem: (1) iterate through all mm_structs that share the PT and increment count; (2) keep RSS count in page table structure and then sum them up at reporting time. None of the above methods yield any satisfactory implementation. Since process RSS accounting is pure information only, I propose we don't count them at all for hugetlb page. rlimit has such field, though there is absolutely no enforcement on limiting that resource. One other method is to account all RSS at hugetlb mmap time regardless they are faulted or not. I opt for the simplicity of no accounting at all. Hugetlb page are special, they are reserved up front in global reservation pool and is not reclaimable. From physical memory resource point of view, it is already consumed regardless whether there are users using them. If the concern is that RSS can be used to control resource allocation, we already can specify hugetlb fs size limit and sysadmin can enforce that at mount time. Combined with the two points mentioned above, I fail to see if there is anything got affected because of this patch. Signed-off-by: Ken Chen Acked-by: Hugh Dickins Cc: Dave McCracken Cc: William Lee Irwin III Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: David Gibson Cc: Adam Litke Cc: Paul Mundt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39dde65c9940c97fcd178a3d2b1c57ed8b7b68aa Author: Chen, Kenneth W Date: Wed Dec 6 20:32:03 2006 -0800 [PATCH] shared page table for hugetlb page Following up with the work on shared page table done by Dave McCracken. This set of patch target shared page table for hugetlb memory only. The shared page table is particular useful in the situation of large number of independent processes sharing large shared memory segments. In the normal page case, the amount of memory saved from process' page table is quite significant. For hugetlb, the saving on page table memory is not the primary objective (as hugetlb itself already cuts down page table overhead significantly), instead, the purpose of using shared page table on hugetlb is to allow faster TLB refill and smaller cache pollution upon TLB miss. With PT sharing, pte entries are shared among hundreds of processes, the cache consumption used by all the page table is smaller and in return, application gets much higher cache hit ratio. One other effect is that cache hit ratio with hardware page walker hitting on pte in cache will be higher and this helps to reduce tlb miss latency. These two effects contribute to higher application performance. Signed-off-by: Ken Chen Acked-by: Hugh Dickins Cc: Dave McCracken Cc: William Lee Irwin III Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: David Gibson Cc: Adam Litke Cc: Paul Mundt Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e1dbeda60a7ea9e82a908d93c07308d104d50d79 Author: Andrew Morton Date: Wed Dec 6 20:32:01 2006 -0800 [PATCH] balance_pdgat() cleanup Despaghettify balance_pdgat() a bit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cc102509074bba0316f2b5deebd7ef4447da295e Author: Nick Piggin Date: Wed Dec 6 20:32:00 2006 -0800 [PATCH] mm: add arch_alloc_page Add an arch_alloc_page to match arch_free_page. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7602bdf2fd14a40dd9b104e516fdc05e1bd17952 Author: Ashwin Chaugule Date: Wed Dec 6 20:31:57 2006 -0800 [PATCH] new scheme to preempt swap token The new swap token patches replace the current token traversal algo. The old algo had a crude timeout parameter that was used to handover the token from one task to another. This algo, transfers the token to the tasks that are in need of the token. The urgency for the token is based on the number of times a task is required to swap-in pages. Accordingly, the priority of a task is incremented if it has been badly affected due to swap-outs. To ensure that the token doesnt bounce around rapidly, the token holders are given a priority boost. The priority of tasks is also decremented, if their rate of swap-in's keeps reducing. This way, the condition to check whether to pre-empt the swap token, is a matter of comparing two task's priority fields. [akpm@osdl.org: cleanups] Signed-off-by: Ashwin Chaugule Cc: Rik van Riel Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 098fe651f7e9d759d1117c78c1a642b9b3945922 Author: Ashwin Chaugule Date: Wed Dec 6 20:31:54 2006 -0800 [PATCH] grab swap token reordered Make sure the contention for the token happens _before_ any read-in and kicks the swap-token algo only when the VM is under pressure. Signed-off-by: Ashwin Chaugule Cc: Rik van Riel Cc: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd54e7e54318d333227b13186f9a464bf1f68d27 Author: Nick Piggin Date: Wed Dec 6 20:31:53 2006 -0800 [PATCH] mm: incorrect VM_FAULT_OOM returns from drivers Some drivers are returning OOM when it is not in response to a memory shortage. Signed-off-by: Nick Piggin Cc: Dave Airlie Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f2a2a7108aa0039ba7a5fe7a0d2ecef2219a7584 Author: Nick Piggin Date: Wed Dec 6 20:31:52 2006 -0800 [PATCH] oom: less memdie Don't cause all threads in all other thread groups to gain TIF_MEMDIE otherwise we'll get a thundering herd eating our memory reserve. This may not be the optimal scheme, but it fits our policy of allowing just one TIF_MEMDIE in the system at once. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3af38d30c18538d069a95e624a3db7c3d486a1e Author: Nick Piggin Date: Wed Dec 6 20:31:51 2006 -0800 [PATCH] oom: cleanup messages Clean up the OOM killer messages to be more consistent. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c33e0fca3508f0aa387b1c10d0ef158102deb140 Author: Nick Piggin Date: Wed Dec 6 20:31:50 2006 -0800 [PATCH] oom: don't kill unkillable children or siblings Abort the kill if any of our threads have OOM_DISABLE set. Having this test here also prevents any OOM_DISABLE child of the "selected" process from being killed. Signed-off-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7253f4ef04b1cd138baf2b29a95473743ac0a307 Author: Paul Jackson Date: Wed Dec 6 20:31:49 2006 -0800 [PATCH] memory page_alloc zonelist caching reorder structure Rearrange the struct members in the 'struct zonelist_cache' structure, so as to put the readonly (once initialized) z_to_n[] array first, where it will come right after the zones[] array in struct zonelist. This pretty much eliminates the chance that the two frequently written elements of 'struct zonelist_cache', the fullzones bitmap and last_full_zap times, will end up on the same cache line as the performance sensitive, frequently read, never (after init) written zones[] array. Keeping frequently written data off frequently read cache lines is good for performance. Thanks to Rohit Seth for the suggestion. Signed-off-by: Paul Jackson Cc: Rohit Seth Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9276b1bc96a132f4068fdee00983c532f43d3a26 Author: Paul Jackson Date: Wed Dec 6 20:31:48 2006 -0800 [PATCH] memory page_alloc zonelist caching speedup Optimize the critical zonelist scanning for free pages in the kernel memory allocator by caching the zones that were found to be full recently, and skipping them. Remembers the zones in a zonelist that were short of free memory in the last second. And it stashes a zone-to-node table in the zonelist struct, to optimize that conversion (minimize its cache footprint.) Recent changes: This differs in a significant way from a similar patch that I posted a week ago. Now, instead of having a nodemask_t of recently full nodes, I have a bitmask of recently full zones. This solves a problem that last weeks patch had, which on systems with multiple zones per node (such as DMA zone) would take seeing any of these zones full as meaning that all zones on that node were full. Also I changed names - from "zonelist faster" to "zonelist cache", as that seemed to better convey what we're doing here - caching some of the key zonelist state (for faster access.) See below for some performance benchmark results. After all that discussion with David on why I didn't need them, I went and got some ;). I wanted to verify that I had not hurt the normal case of memory allocation noticeably. At least for my one little microbenchmark, I found (1) the normal case wasn't affected, and (2) workloads that forced scanning across multiple nodes for memory improved up to 10% fewer System CPU cycles and lower elapsed clock time ('sys' and 'real'). Good. See details, below. I didn't have the logic in get_page_from_freelist() for various full nodes and zone reclaim failures correct. That should be fixed up now - notice the new goto labels zonelist_scan, this_zone_full, and try_next_zone, in get_page_from_freelist(). There are two reasons I persued this alternative, over some earlier proposals that would have focused on optimizing the fake numa emulation case by caching the last useful zone: 1) Contrary to what I said before, we (SGI, on large ia64 sn2 systems) have seen real customer loads where the cost to scan the zonelist was a problem, due to many nodes being full of memory before we got to a node we could use. Or at least, I think we have. This was related to me by another engineer, based on experiences from some time past. So this is not guaranteed. Most likely, though. The following approach should help such real numa systems just as much as it helps fake numa systems, or any combination thereof. 2) The effort to distinguish fake from real numa, using node_distance, so that we could cache a fake numa node and optimize choosing it over equivalent distance fake nodes, while continuing to properly scan all real nodes in distance order, was going to require a nasty blob of zonelist and node distance munging. The following approach has no new dependency on node distances or zone sorting. See comment in the patch below for a description of what it actually does. Technical details of note (or controversy): - See the use of "zlc_active" and "did_zlc_setup" below, to delay adding any work for this new mechanism until we've looked at the first zone in zonelist. I figured the odds of the first zone having the memory we needed were high enough that we should just look there, first, then get fancy only if we need to keep looking. - Some odd hackery was needed to add items to struct zonelist, while not tripping up the custom zonelists built by the mm/mempolicy.c code for MPOL_BIND. My usual wordy comments below explain this. Search for "MPOL_BIND". - Some per-node data in the struct zonelist is now modified frequently, with no locking. Multiple CPU cores on a node could hit and mangle this data. The theory is that this is just performance hint data, and the memory allocator will work just fine despite any such mangling. The fields at risk are the struct 'zonelist_cache' fields 'fullzones' (a bitmask) and 'last_full_zap' (unsigned long jiffies). It should all be self correcting after at most a one second delay. - This still does a linear scan of the same lengths as before. All I've optimized is making the scan faster, not algorithmically shorter. It is now able to scan a compact array of 'unsigned short' in the case of many full nodes, so one cache line should cover quite a few nodes, rather than each node hitting another one or two new and distinct cache lines. - If both Andi and Nick don't find this too complicated, I will be (pleasantly) flabbergasted. - I removed the comment claiming we only use one cachline's worth of zonelist. We seem, at least in the fake numa case, to have put the lie to that claim. - I pay no attention to the various watermarks and such in this performance hint. A node could be marked full for one watermark, and then skipped over when searching for a page using a different watermark. I think that's actually quite ok, as it will tend to slightly increase the spreading of memory over other nodes, away from a memory stressed node. =============== Performance - some benchmark results and analysis: This benchmark runs a memory hog program that uses multiple threads to touch alot of memory as quickly as it can. Multiple runs were made, touching 12, 38, 64 or 90 GBytes out of the total 96 GBytes on the system, and using 1, 19, 37, or 55 threads (on a 56 CPU system.) System, user and real (elapsed) timings were recorded for each run, shown in units of seconds, in the table below. Two kernels were tested - 2.6.18-mm3 and the same kernel with this zonelist caching patch added. The table also shows the percentage improvement the zonelist caching sys time is over (lower than) the stock *-mm kernel. number 2.6.18-mm3 zonelist-cache delta (< 0 good) percent GBs N ------------ -------------- ---------------- systime mem threads sys user real sys user real sys user real better 12 1 153 24 177 151 24 176 -2 0 -1 1% 12 19 99 22 8 99 22 8 0 0 0 0% 12 37 111 25 6 112 25 6 1 0 0 -0% 12 55 115 25 5 110 23 5 -5 -2 0 4% 38 1 502 74 576 497 73 570 -5 -1 -6 0% 38 19 426 78 48 373 76 39 -53 -2 -9 12% 38 37 544 83 36 547 82 36 3 -1 0 -0% 38 55 501 77 23 511 80 24 10 3 1 -1% 64 1 917 125 1042 890 124 1014 -27 -1 -28 2% 64 19 1118 138 119 965 141 103 -153 3 -16 13% 64 37 1202 151 94 1136 150 81 -66 -1 -13 5% 64 55 1118 141 61 1072 140 58 -46 -1 -3 4% 90 1 1342 177 1519 1275 174 1450 -67 -3 -69 4% 90 19 2392 199 192 2116 189 176 -276 -10 -16 11% 90 37 3313 238 175 2972 225 145 -341 -13 -30 10% 90 55 1948 210 104 1843 213 100 -105 3 -4 5% Notes: 1) This test ran a memory hog program that started a specified number N of threads, and had each thread allocate and touch 1/N'th of the total memory to be used in the test run in a single loop, writing a constant word to memory, one store every 4096 bytes. Watching this test during some earlier trial runs, I would see each of these threads sit down on one CPU and stay there, for the remainder of the pass, a different CPU for each thread. 2) The 'real' column is not comparable to the 'sys' or 'user' columns. The 'real' column is seconds wall clock time elapsed, from beginning to end of that test pass. The 'sys' and 'user' columns are total CPU seconds spent on that test pass. For a 19 thread test run, for example, the sum of 'sys' and 'user' could be up to 19 times the number of 'real' elapsed wall clock seconds. 3) Tests were run on a fresh, single-user boot, to minimize the amount of memory already in use at the start of the test, and to minimize the amount of background activity that might interfere. 4) Tests were done on a 56 CPU, 28 Node system with 96 GBytes of RAM. 5) Notice that the 'real' time gets large for the single thread runs, even though the measured 'sys' and 'user' times are modest. I'm not sure what that means - probably something to do with it being slow for one thread to be accessing memory along ways away. Perhaps the fake numa system, running ostensibly the same workload, would not show this substantial degradation of 'real' time for one thread on many nodes -- lets hope not. 6) The high thread count passes (one thread per CPU - on 55 of 56 CPUs) ran quite efficiently, as one might expect. Each pair of threads needed to allocate and touch the memory on the node the two threads shared, a pleasantly parallizable workload. 7) The intermediate thread count passes, when asking for alot of memory forcing them to go to a few neighboring nodes, improved the most with this zonelist caching patch. Conclusions: * This zonelist cache patch probably makes little difference one way or the other for most workloads on real numa hardware, if those workloads avoid heavy off node allocations. * For memory intensive workloads requiring substantial off-node allocations on real numa hardware, this patch improves both kernel and elapsed timings up to ten per-cent. * For fake numa systems, I'm optimistic, but will have to leave that up to Rohit Seth to actually test (once I get him a 2.6.18 backport.) Signed-off-by: Paul Jackson Cc: Rohit Seth Cc: Christoph Lameter Cc: David Rientjes Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89689ae7f95995723fbcd5c116c47933a3bb8b13 Author: Christoph Lameter Date: Wed Dec 6 20:31:45 2006 -0800 [PATCH] Get rid of zone_table[] The zone table is mostly not needed. If we have a node in the page flags then we can get to the zone via NODE_DATA() which is much more likely to be already in the cpu cache. In case of SMP and UP NODE_DATA() is a constant pointer which allows us to access an exact replica of zonetable in the node_zones field. In all of the above cases there will be no need at all for the zone table. The only remaining case is if in a NUMA system the node numbers do not fit into the page flags. In that case we make sparse generate a table that maps sections to nodes and use that table to to figure out the node number. This table is sized to fit in a single cache line for the known 32 bit NUMA platform which makes it very likely that the information can be obtained without a cache miss. For sparsemem the zone table seems to be have been fairly large based on the maximum possible number of sections and the number of zones per node. There is some memory saving by removing zone_table. The main benefit is to reduce the cache foootprint of the VM from the frequent lookups of zones. Plus it simplifies the page allocator. [akpm@osdl.org: build fix] Signed-off-by: Christoph Lameter Cc: Dave Hansen Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0a499c2c42992cff097b38be29d2ba60d2fd99a Author: Chen, Kenneth W Date: Wed Dec 6 20:31:39 2006 -0800 [PATCH] __unmap_hugepage_range(): add comment Signed-off-by: Ken Chen Cc: David Gibson Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0798e5193cd70f6c867ec176d7730589f944c627 Author: Paul Jackson Date: Wed Dec 6 20:31:38 2006 -0800 [PATCH] memory page alloc minor cleanups - s/freeliest/freelist/ spelling fix - Check for NULL *z zone seems useless - even if it could happen, so what? Perhaps we should have a check later on if we are faced with an allocation request that is not allowed to fail - shouldn't that be a serious kernel error, passing an empty zonelist with a mandate to not fail? - Initializing 'z' to zonelist->zones can wait until after the first get_page_from_freelist() fails; we only use 'z' in the wakeup_kswapd() loop, so let's initialize 'z' there, in a 'for' loop. Seems clearer. - Remove superfluous braces around a break - Fix a couple errant spaces - Adjust indentation on the cpuset_zone_allowed() check, to match the lines just before it -- seems easier to read in this case. - Add another set of braces to the zone_watermark_ok logic From: Paul Jackson Backout one item from a previous "memory page_alloc minor cleanups" patch. Until and unless we are certain that no one can ever pass an empty zonelist to __alloc_pages(), this check for an empty zonelist (or some BUG equivalent) is essential. The code in get_page_from_freelist() blow ups if passed an empty zonelist. Signed-off-by: Paul Jackson Acked-by: Christoph Lameter Cc: Nick Piggin Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2ce774096110ccc5c02cbdc05897d005fcd3db8 Author: Andrew Morton Date: Wed Dec 6 20:31:36 2006 -0800 [PATCH] uml: workqueue build fix arch/um/drivers/chan_kern.c:643: error: conflicting types for 'chan_interrupt' arch/um/include/chan_kern.h:31: error: previous declaration of 'chan_interrupt' Cc: David Howells Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 822191a2fa1584a29c3224ab328507adcaeac1ab Author: Andrey Mirkin Date: Wed Dec 6 20:31:35 2006 -0800 [PATCH] skip data conversion in compat_sys_mount when data_page is NULL OpenVZ Linux kernel team has found a problem with mounting in compat mode. Simple command "mount -t smbfs ..." on Fedora Core 5 distro in 32-bit mode leads to oops: Unable to handle kernel NULL pointer dereference at 0000000000000000 RIP: compat_sys_mount+0xd6/0x290 Process mount (pid: 14656, veid=300, threadinfo ffff810034d30000, task ffff810034c86bc0) Call Trace: ia32_sysret+0x0/0xa The problem is that data_page pointer can be NULL, so we should skip data conversion in this case. Signed-off-by: Andrey Mirkin Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1e85378ba50694cf8f27b190c7e16d7c8dad276 Author: Andrew Morton Date: Wed Dec 6 20:31:33 2006 -0800 [PATCH] drm-sis linkage fix Fix http://bugzilla.kernel.org/show_bug.cgi?id=7606 WARNING: "drm_sman_set_manager" [drivers/char/drm/sis.ko] undefined! Cc: Cc: Dave Airlie Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 676dcb8bc2ec78d80091037773598d6ec8c673d6 Author: Andrew Morton Date: Wed Dec 6 20:31:30 2006 -0800 [PATCH] add bottom_half.h With CONFIG_SMP=n: drivers/input/ff-memless.c:384: warning: implicit declaration of function 'local_bh_disable' drivers/input/ff-memless.c:393: warning: implicit declaration of function 'local_bh_enable' Really linux/spinlock.h should include linux/interrupt.h. But interrupt.h includes sched.h which will need spinlock.h. So the patch breaks the _bh declarations out into a separate header and includes it in both interrupt.h and spinlock.h. Cc: "Randy.Dunlap" Cc: Andi Kleen Cc: Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05f96ef1189ecbf2e8548056a0ca016e4f630cef Author: Russell King Date: Thu Nov 30 20:44:49 2006 +0000 [ARM] Allow gcc to optimise arm_add_memory a little more For some reason, gcc was calculating meminfo.bank[meminfo.nr_banks] repeatedly. Use a pointer to it instead. Signed-off-by: Russell King commit 86987d5bf4db7850a8dfb073c6a3506d4e0d2bcc Author: Pavel Pisa Date: Wed Dec 6 17:19:44 2006 +0100 [ARM] 3991/1: i.MX/MX1 high resolution time source Enhanced resolution for time measurement functions. Signed-off-by: Pavel Pisa Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 5c894cd1c89fc10907febd93e6ef35cd3c65e25e Author: Pavel Pisa Date: Wed Dec 6 17:08:27 2006 +0100 [ARM] 3990/1: i.MX/MX1 more precise PLL decode The future high resolution support inclusion utilizes imx_decode_pll() in timer base frequency computation. This use requires more precise computation without discarding 10 bits by shifting left. Signed-off-by: Pavel Pisa Acked-by: Sascha Hauer Signed-off-by: Russell King commit 9073341c2ba5d5e77b3d05d84cf9e3a16e8a7902 Author: Ben Dooks Date: Wed Dec 6 01:50:24 2006 +0100 [ARM] 3986/1: H1940: suspend to RAM support Add support to suspend and resume, using the H1940's bootloader Signed-off-by: Ben Dooks Signed-off-by: Arnaud Patard Signed-off-by: Russell King commit f9a8ca1cabf09316d79cab7f04e1390261ff9035 Author: Kevin Hilman Date: Wed Dec 6 00:45:07 2006 +0100 [ARM] 3985/1: ixp4xx clocksource cleanup Rather than using a device_initcall() for the clocksource initialization, just call the init from the sys_timer init function. Signed-off-by: Kevin Hilman Signed-off-by: Russell King commit a47d08e2e397c434a661c688160f85b60a2392d5 Author: Rod Whitby Date: Wed Dec 6 00:33:12 2006 +0100 [ARM] 3984/1: ixp4xx/nslu2: Fix disk LED numbering (take 2) This patch fixes an error in the numbering of the disk LEDs on the Linksys NSLU2. The error crept in because the physical location of the LEDs has the Disk 2 LED *above* the Disk 1 LED. Thanks to Gordon Farquharson for reporting this. Signed-off-by: Rod Whitby Signed-off-by: Russell King commit 46156e04def20749c46efd8fc40e3527eae97b49 Author: Lennert Buytenhek Date: Wed Dec 6 23:11:33 2006 +0100 [ARM] 3994/1: ixp23xx: fix handling of pci master aborts The PCI master abort handling issue that affected ixp2000 also affects ixp23xx. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 2dc20a51dc1e2da6eae1182cfe4c4835fca26017 Author: Nicolas Pitre Date: Mon Dec 4 20:42:09 2006 +0100 [ARM] 3981/1: sched_clock for PXA2xx Here's a 63-bit implementation of shed_clock() for PXA2xx. The actual period depends on the value of CLOCK_TICK_RATE and whether or not reduced scaling factors were provided for it. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 752bee178ee107aa3dd87a9aeba970444034c6fb Author: Nicolas Pitre Date: Mon Dec 4 20:29:21 2006 +0100 [ARM] 3980/1: extend the ARM Versatile sched_clock implementation from 32 to 63 bit period This provides a 63 bit clock counter guaranteed to be monotonic over a period of 35583 days instead of a clock wrap every 179 seconds, as long as sched_clock() is called at least once every 89 seconds. This should not be a problem in practice, although a kernel timer could be scheduled every 80 seconds for example simply to call sched_clock() making sure top bits are always synchronized if need be. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 2f1675c11a0a214855ff6cba23aca239eef7a5fb Author: Nicolas Pitre Date: Mon Dec 4 20:25:47 2006 +0100 [ARM] 3979/1: extend the SA11x0 sched_clock implementation from 32 to 63 bit period This provides a 63 bit clock counter guaranteed to be monotonic over a period of 370 days instead of a clock wrap every 19.4 minutes, as long as sched_clock() is called at least once every 9.7 minutes which shouldn't be a problem in practice. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 838ccbc35eae5b44d47724e5f694dbec4a26d269 Author: Nicolas Pitre Date: Mon Dec 4 20:19:31 2006 +0100 [ARM] 3978/1: macro to provide a 63-bit value from a 32-bit hardware counter This is done in a completely lockless fashion. Bits 0 to 31 of the count are provided by the hardware while bits 32 to 62 are stored in memory. The top bit in memory is used to synchronize with the hardware count half-period. When the top bit of both counters (hardware and in memory) differ then the memory is updated with a new value, incrementing it when the hardware counter wraps around. Because a word store in memory is atomic then the incremented value will always be in synch with the top bit indicating to any potential concurrent reader if the value in memory is up to date or not wrt the needed increment. And any race in updating the value in memory is harmless as the same value would be stored more than once. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit fa4adc614922c24601320e55bc5a1f837abad6e9 Author: Nicolas Pitre Date: Wed Dec 6 04:13:18 2006 +0100 [ARM] 3611/4: optimize do_div() when divisor is constant On ARM all divisions have to be performed "manually". For 64-bit divisions that may take more than a hundred cycles in many cases. With 32-bit divisions gcc already use the recyprocal of constant divisors to perform a multiplication, but not with 64-bit divisions. Since the kernel is increasingly relying upon 64-bit divisions it is worth optimizing at least those cases where the divisor is a constant. This is what this patch does using plain C code that gets optimized away at compile time. For example, despite the amount of added C code, do_div(x, 10000) now produces the following assembly code (where x is assigned to r0-r1): adr r4, .L0 ldmia r4, {r4-r5} umull r2, r3, r4, r0 mov r2, #0 umlal r3, r2, r5, r0 umlal r3, r2, r4, r1 mov r3, #0 umlal r2, r3, r5, r1 mov r0, r2, lsr #11 orr r0, r0, r3, lsl #21 mov r1, r3, lsr #11 ... .L0: .word 948328779 .word 879609302 which is the fastest that can be done for any value of x in that case, many times faster than the __do_div64 code (except for the small x value space for which the result ends up being zero or a single bit). The fact that this code is generated inline produces a tiny increase in .text size, but not significant compared to the needed code around each __do_div64 call site this code is replacing. The algorithm used has been validated on a 16-bit scale for all possible values, and then recodified for 64-bit values. Furthermore I've been running it with the final BUG_ON() uncommented for over two months now with no problem. Note that this new code is compiled with gcc versions 4.0 or later. Earlier gcc versions proved themselves too problematic and only the original code is used with them. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 47d7e524b7d51aa77b381fbc9b9c5d3f309e434e Author: Lennert Buytenhek Date: Wed Dec 6 23:07:13 2006 +0100 [ARM] 3993/1: ep93xx: add cirrus logic edb9302a support Add support for the Cirrus Logic EDB9302A Evaluation Board. Confirmed to work by Chase Douglas. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 5636810d6f17493717ef0f03efc0315026db934d Author: George G. Davis Date: Tue Dec 5 18:28:04 2006 +0100 [ARM] 3982/2: Explicitly select 32-bit ARM ISA (-marm) Do not assume that the ARM GCC toolchain defaults to building for the 32-bit ARM ISA (-marm) case. Instead, explicitly select -marm in CFLAGS since the toolchain default can be for the 16-bit Thumb ISA (-mthumb) in some odd/rare cases. Signed-off-by: George G. Davis Signed-off-by: Russell King commit ac33d0710595579e3cfca42dde2257eb0b123f6d Author: Patrick Caulfield Date: Wed Dec 6 15:10:37 2006 +0000 [DLM] Clean up lowcomms This fixes up most of the things pointed out by akpm and Pavel Machek with comments below indicating why some things have been left: Andrew Morton wrote: > >> +static struct nodeinfo *nodeid2nodeinfo(int nodeid, gfp_t alloc) >> +{ >> + struct nodeinfo *ni; >> + int r; >> + int n; >> + >> + down_read(&nodeinfo_lock); > > Given that this function can sleep, I wonder if `alloc' is useful. > > I see lots of callers passing in a literal "0" for `alloc'. That's in fact > a secret (GFP_ATOMIC & ~__GFP_HIGH). I doubt if that's what you really > meant. Particularly as the code could at least have used __GFP_WAIT (aka > GFP_NOIO) which is much, much more reliable than "0". In fact "0" is the > least reliable mode possible. > > IOW, this is all bollixed up. When 0 is passed into nodeid2nodeinfo the function does not try to allocate a new structure at all. it's an indication that the caller only wants the nodeinfo struct for that nodeid if there actually is one in existance. I've tidied the function itself so it's more obvious, (and tidier!) >> +/* Data received from remote end */ >> +static int receive_from_sock(void) >> +{ >> + int ret = 0; >> + struct msghdr msg; >> + struct kvec iov[2]; >> + unsigned len; >> + int r; >> + struct sctp_sndrcvinfo *sinfo; >> + struct cmsghdr *cmsg; >> + struct nodeinfo *ni; >> + >> + /* These two are marginally too big for stack allocation, but this >> + * function is (currently) only called by dlm_recvd so static should be >> + * OK. >> + */ >> + static struct sockaddr_storage msgname; >> + static char incmsg[CMSG_SPACE(sizeof(struct sctp_sndrcvinfo))]; > > whoa. This is globally singly-threaded code?? Yes. it is only ever run in the context of dlm_recvd. >> >> +static void initiate_association(int nodeid) >> +{ >> + struct sockaddr_storage rem_addr; >> + static char outcmsg[CMSG_SPACE(sizeof(struct sctp_sndrcvinfo))]; > > Another static buffer to worry about. Globally singly-threaded code? Yes. Only ever called by dlm_sendd. >> + >> +/* Send a message */ >> +static int send_to_sock(struct nodeinfo *ni) >> +{ >> + int ret = 0; >> + struct writequeue_entry *e; >> + int len, offset; >> + struct msghdr outmsg; >> + static char outcmsg[CMSG_SPACE(sizeof(struct sctp_sndrcvinfo))]; > > Singly-threaded? Yep. >> >> +static void dealloc_nodeinfo(void) >> +{ >> + int i; >> + >> + for (i=1; i<=max_nodeid; i++) { >> + struct nodeinfo *ni = nodeid2nodeinfo(i, 0); >> + if (ni) { >> + idr_remove(&nodeinfo_idr, i); > > Didn't that need locking? Not. it's only ever called at DLM shutdown after all the other threads have been stopped. >> >> +static int write_list_empty(void) >> +{ >> + int status; >> + >> + spin_lock_bh(&write_nodes_lock); >> + status = list_empty(&write_nodes); >> + spin_unlock_bh(&write_nodes_lock); >> + >> + return status; >> +} > > This function's return value is meaningless. As soon as the lock gets > dropped, the return value can get out of sync with reality. > > Looking at the caller, this _might_ happen to be OK, but it's a nasty and > dangerous thing. Really the locking should be moved into the caller. It's just an optimisation to allow the caller to schedule if there is no work to do. if something arrives immediately afterwards then it will get picked up when the process re-awakes (and it will be woken by that arrival). The 'accepting' atomic has gone completely. as Andrew pointed out it didn't really achieve much anyway. I suspect it was a plaster over some other startup or shutdown bug to be honest. Signed-off-by: Patrick Caulfield Signed-off-by: Steven Whitehouse Cc: Andrew Morton Cc: Pavel Machek commit 34126f9f41901ca9d7d0031c2b11fc0d6c07b72d Author: Steven Whitehouse Date: Thu Dec 7 09:13:14 2006 -0500 [GFS2] Change gfs2_fsync() to use write_inode_now() This is a bit better than the previous version of gfs2_fsync() although it would be better still if we were able to call a function which only wrote the inode & metadata. Its no big deal though that this will potentially write the data as well since the VFS has already done that before calling gfs2_fsync(). I've also added a comment to explain whats going on here. Signed-off-by: Steven Whitehouse Cc: Andrew Morton commit fd3367af3d1212f645094c4b5c4d458bdd061475 Author: Alan Date: Thu Dec 7 12:41:18 2006 +0000 [PATCH] libata: Incorrect timing computation for PIO5/6 The ata timing computation code makes some mistakes in PIO5/6 because a check was not updated correctly when I put this support into the kernel. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 25b93d81b9abe3b786bdf3396d728bb13b0a911c Author: Mikael Pettersson Date: Thu Dec 7 00:06:51 2006 +0100 [PATCH] sata_promise: new EH conversion, take 2 This patch converts sata_promise to use new-style libata error handling on Promise SATA chips, for both SATA and PATA ports. * ATA_FLAG_SRST is no longer set * ->phy_reset is no longer set as it is unused when ->error_handler is present, and pdc_sata_phy_reset() has been removed * pdc_freeze() masks interrupts and halts DMA via PDC_CTLSTAT * pdc_thaw() clears interrupt status in PDC_INT_SEQMASK and then unmasks interrupts in PDC_CTLSTAT * pdc_error_handler() reinitialises the port if it isn't frozen, and then invokes ata_do_eh() with standard {s,}ata reset methods * pdc_post_internal_cmd() resets the port in case of errors * the PATA-only 20619 chip continues to use old-style EH: not by necessity but simply because I don't have documentation for it or any way to test it Since the previous version pdc_error_handler() has been rewritten and it now mostly matches ahci and sata_sil24. In case anyone wonders: the call to pdc_reset_port() isn't a heavy-duty reset, it's a light-weight reset to quickly put a port into a sane state. The discussion about the PCI flushes in pdc_freeze() and pdc_thaw() seemed to end with a consensus that the flushes are OK and not obviously redundant, so I decided to keep them for now. This patch was prepared against 2.6.19-git7, but it also applies to 2.6.19 + libata #upstream, with or without the revised sata_promise cleanup patch I recently submitted. This patch does conflict with the #promise-sata-pata patch: this patch removes pdc_sata_phy_reset() while #promise-sata-pata modifies it. The correct patch resolution is to remove the function. Tested on 2037x and 2057x chips, with PATA patches on top and disks on both SATA and PATA ports. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit e3472cbe5c10a91c737405cd706142787736392c Author: Albert Lee Date: Thu Dec 7 11:37:58 2006 +0800 [PATCH] libata: let ATA_FLAG_PIO_POLLING use polling pio for ATA_PROT_NODATA Even if ATA_FLAG_PIO_POLLING is set, libata uses irq pio for the ATA_PROT_NODATA protocol. This patch let ATA_FLAG_PIO_POLLING use polling pio for the ATA_PROT_NODATA protocol. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit d324d4627d7442d9a74b0b93fc40f71ce194632a Author: Mikael Pettersson Date: Wed Dec 6 09:55:43 2006 +0100 [PATCH] sata_promise: cleanups, take 2 This patch performs two simple cleanups of sata_promise. * Remove board_20771 and map device id 0x3577 to board_2057x. After the recent corrections for SATAII chips, board_20771 and board_2057x were equivalent in the driver. * Remove hp->hotplug_offset and use hp->flags & PDC_FLAG_GEN_II to compute hotplug_offset in pdc_host_init(). hp->hotplug_offset was used to distinguish 1st and 2nd generation chips in one particular case, but now we have that information in a more general form in hp->flags, so hp->hotplug_offset is redundant. Changes since previous submission: rebased on libata-dev #upstream, cleaned up hotplug_offset computation based on Tejun's comments, expanded hotplug_offset removal rationale. This patch does not depend on the pending new EH conversion patch. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 0ae851352a87db3f829511816a2da227860bf585 Author: Jeff Garzik Date: Thu Dec 7 06:30:30 2006 -0500 [wireless] zd1211rw: workqueue-related build fixes Signed-off-by: Jeff Garzik commit 0bfdcc88df969af8de087d0fdddf8c0efa76b4b0 Author: Jeff Garzik Date: Thu Dec 7 06:30:07 2006 -0500 [netdrvr] netxen: workqueue-related build fixes commit 0efdf2626676db4b30d343ff88f8461ad09130da Author: Stephen Hemminger Date: Tue Dec 5 12:03:41 2006 -0800 [PATCH] sky2: sparse warnings Get rid of sparse warnings in sky2 driver because of mixed enum usage. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 7f4b45c5269049e223eda31c7e3879c226039e4a Author: Stephen Hemminger Date: Tue Dec 5 12:02:50 2006 -0800 [PATCH] skge: fix sparse warnings Fix sparse warnings from using enum as part of arithmetic expression, and comment indentation fixes Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e67bda55e27d3308ba0b4ce8cf2da51850ef1453 Author: Brice Goglin Date: Tue Dec 5 17:26:27 2006 +0100 [PATCH] myri10ge: write as 2 32-byte blocks in myri10ge_submit_8rx In the myri10ge_submit_8rx() routine, write the 64 byte request block as 2 32-byte blocks so that it is handled by the hardware pio write handler if write-combining is enabled. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit c3905bc4b71ab562acf69765e8c4778bd263b9db Author: Stephen Hemminger Date: Mon Dec 4 17:08:19 2006 -0800 [PATCH] sky2: receive queue watermark tweak This patch makes the receive performance on some systems go from 714MB/s to 941MB/s. It adjusts the watermark of the receive queue to be lower, thereby avoiding excess hardware flow control. This is most important on the systems which have little/no additional buffering. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 6771290102c4703dae56bc3e121deb63530e206c Author: Stephen Hemminger Date: Mon Dec 4 15:53:45 2006 -0800 [PATCH] sky2: beter ram buffer partitioning Different chips have different sizes of ram buffers, and some versions have no ram buffer at all!. Be more careful about sizing the ram usage because it maybe a problem if vendor keeps changing sizes. There is the (unlikely) possibility that some of the errors on some of the chips have been caused by partitioning not on a 1K boundary. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e5b74c7ddd46d1779bea21d7c8efb39bbcc3df21 Author: Stephen Hemminger Date: Mon Dec 4 15:53:36 2006 -0800 [PATCH] sky2: add comments to PCI ids Add comments to sky2 driver to show relationship between PCI id and hardware. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 2a45b49c30c422c83c9227cb8ca99f129a5cf5d0 Author: Stephen Hemminger Date: Mon Dec 4 15:53:16 2006 -0800 [PATCH] sky2: add PCI for 88ec033 Add another new/missing pci id for 88ec033 chip. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a3f63e4f4be0da938771d754e846ff0019f9d42e Author: Andrew Victor Date: Tue Dec 5 15:37:02 2006 +0200 [PATCH] AT91RM9200 Ethernet: Use dev_alloc_skb() Use dev_alloc_skb() instead of alloc_skb(). It is also not necessary to adjust skb->len manually since that's already done by skb_put(). Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik commit 51cc21045714cc9f48eb6901d95eb4e552ef2ca4 Author: Andrew Victor Date: Tue Dec 5 15:33:05 2006 +0200 [PATCH] AT91RM9200 Ethernet: Add netpoll / netconsole support Adds netpoll / netconsole support. Original patch from Bill Gatliff. Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik commit cf42553ab43e102bc98eca05523d2390a1eedde9 Author: Andrew Victor Date: Tue Dec 5 15:21:19 2006 +0200 [PATCH] AT91RM9200 Ethernet: Move check_timer variable and use mod_timer() Move the global 'check_timer' variable into the private data structure. Also now use mod_timer(). Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik commit c57ee096b6caf8f7e17abe46185d24f2b649b9f9 Author: Andrew Victor Date: Tue Dec 5 15:09:16 2006 +0200 [PATCH] AT91RM9200 Ethernet: Remove 'at91_dev' and use netdev_priv() Remove the global 'at91_dev' variable. Use netdev_priv() instead of casting dev->priv directly. Signed-off-by: Andrew Victor Signed-off-by: Jeff Garzik commit 2548c06b72396e28abdb5dd572ab589c3c22f4b9 Author: Prarit Bhargava Date: Mon Dec 4 14:50:17 2006 -0800 ACPI: dock: Fix symbol conflict between acpiphp and dock Fix bug which will cause acpiphp to not be able to load when dock.ko cannot load. Signed-off-by: Prarit Bhargava Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit c80fdbe81a617c82e2f95233f8ddcf046ffe21b3 Author: brandon@ifup.org Date: Mon Dec 4 14:49:58 2006 -0800 ACPI: dock: Add a docked sysfs file to the dock driver. Add 2 sysfs files for user interface. 1) docked - 1/0 (read only) - indicates whether the software believes the laptop is docked in a docking station. 2) undock - (write only) - writing to this file causes the software to initiate an undock request to the firmware. Signed-off-by: Brandon Philips Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit e67beb37df7a9da9d5d1e59c5358654d007a97c5 Author: Len Brown Date: Thu Dec 7 04:17:35 2006 -0500 ACPI: dock: fix build warning drivers/acpi/dock.c:689: warning: too many arguments for format Signed-off-by: Len Brown commit 272491ef423b6976a230a998b10f46976aa91342 Author: Randy Dunlap Date: Thu Dec 7 01:17:24 2006 -0800 [NETFILTER]: Fix non-ANSI func. decl. Fix non-ANSI function declaration: net/netfilter/nf_conntrack_core.c:1096:25: warning: non-ANSI function declaration of function 'nf_conntrack_flush' Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 671adbec210efc15cef81b4616adae8bcd667296 Author: Kristen Carlson Accardi Date: Mon Dec 4 14:49:43 2006 -0800 ACPI: dock: Make the dock station driver a platform device driver. Make the dock station driver a platform device driver so that we can create sysfs entries under /sys/device/platform. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit cbb45d21fb2fcbcafc19ea859350f564252a0878 Author: Michael Chan Date: Thu Dec 7 00:24:09 2006 -0800 [TG3]: Identify Serdes devices more clearly. Change the message to more clearly identify Serdes devices. Update version to 3.70. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9d57f01c1331cb7bfd0a9d4f7723da5b9329394f Author: Michael Chan Date: Thu Dec 7 00:23:25 2006 -0800 [TG3]: Use msleep. Change some udelay() in some eeprom functions to msleep(). Eeprom related functions are always called from sleepable context. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9f88f29fc502192824aba092e90af1297a87eb82 Author: Michael Chan Date: Thu Dec 7 00:22:54 2006 -0800 [TG3]: Use netif_msg_*. Use netif_msg_* to turn on or off some messages. Based on Stephen Hemminger's initial patch. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3600d918d870456ea8e7bb9d47f327de5c20f3d6 Author: Michael Chan Date: Thu Dec 7 00:21:48 2006 -0800 [TG3]: Allow partial speed advertisement. Honor the advertisement bitmask from ethtool. We used to always advertise the full capability when autoneg was set to on. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9d26e213423923c9e033ccd373705118131827c9 Author: Michael Chan Date: Thu Dec 7 00:21:14 2006 -0800 [TG3]: Add TG3_FLG2_IS_NIC flag. Add Tg3_FLG2_IS_NIC flag to unambiguously determine whether the device is NIC or onboard. Previously, the EEPROM_WRITE_PROT flag was overloaded to also mean onboard. With the separation, we can support some devices that are onboard but do not use eeprom write protect. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 676917d488212303ce4a7d033815ce8799201010 Author: Michael Chan Date: Thu Dec 7 00:20:22 2006 -0800 [TG3]: Add 5787F device ID. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5d64ad34f468278ce66f9eb4d876dd221490e94c Author: Michael Chan Date: Thu Dec 7 00:19:40 2006 -0800 [TG3]: Fix Phy loopback. Phy loopback on most 10/100 devices need to be run in 1Gbps mode in GMII mode. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 456c38f9682645cbb0537cb4e16848a28c1d3a76 Author: David S. Miller Date: Thu Dec 7 00:18:22 2006 -0800 [WANROUTER]: Kill kmalloc debugging code. It duplicates what SLAB debug can do already. Signed-off-by: David S. Miller commit 905eee008b5440e30186ab72c238ec8cb2886f74 Author: David S. Miller Date: Thu Dec 7 00:12:30 2006 -0800 [TCP] inet_twdr_hangman: Delete unnecessary memory barrier(). As per Ralf Baechle's observations, the schedule_work() call should give enough of a memory barrier, so the explicit one here is totally unnecessary. Signed-off-by: David S. Miller commit e16aa207ccb61c5111525c462eeeba1f3f5fd370 Author: Ralf Baechle Date: Thu Dec 7 00:11:33 2006 -0800 [NET]: Memory barrier cleanups I believe all the below memory barriers only matter on SMP so therefore the smp_* variant of the barrier should be used. I'm wondering if the barrier in net/ipv4/inet_timewait_sock.c should be dropped entirely. schedule_work's implementation currently implies a memory barrier and I think sane semantics of schedule_work() should imply a memory barrier, as needed so the caller shouldn't have to worry. It's not quite obvious why the barrier in net/packet/af_packet.c is needed; maybe it should be implied through flush_dcache_page? Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 26db167702756d0022f8ea5f1f30cad3018cfe31 Author: David S. Miller Date: Wed Dec 6 23:45:15 2006 -0800 [IPSEC]: Fix inetpeer leak in ipv4 xfrm dst entries. We grab a reference to the route's inetpeer entry but forget to release it in xfrm4_dst_destroy(). Bug discovered by Kazunori MIYAZAWA Signed-off-by: David S. Miller commit f9ff43a6268d36acf8df18a76bb881a26a42dc1e Author: Henrique de Moraes Holschuh Date: Sat Nov 25 16:37:38 2006 -0200 ACPI: ibm-acpi: update version and copyright Bump up module version, add myself to copyright and MODULE_AUTHOR. Signed-off-by: Henrique de Moraes Holschuh commit 9a8e1738c1136a857c1fd3ae0c5019f9767427ad Author: Henrique de Moraes Holschuh Date: Sat Nov 25 16:36:00 2006 -0200 ACPI: ibm-acpi: style fixes and cruft removal This patch just fixes style, move some #defines to enums, and removes some old cruft. Signed-off-by: Henrique de Moraes Holschuh commit fb87a811a4c232e2af8d746dc75330cbe5b0780c Author: Henrique de Moraes Holschuh Date: Sat Nov 25 16:35:09 2006 -0200 ACPI: ibm-acpi: backlight device cleanup This patch cleans up the recently added backlight device support by Holger Macht to fit well with the rest of the code, using the ibms struct as the other "subdrivers" in ibm-acpi. Signed-off-by: Henrique de Moraes Holschuh commit 2df910b4c3edcce9a0c12394db6f5f4a6e69c712 Author: Henrique de Moraes Holschuh Date: Sat Nov 25 16:35:09 2006 -0200 ACPI: ibm-acpi: make non-generic bay support optional This patch makes it possible to disable ibm-acpi non-generic bay support, as generic bay support already works well for a number of ThinkPads. Signed-off-by: Henrique de Moraes Holschuh commit e0298997acdba929e7f5b5987d305b67b50a3969 Author: Henrique de Moraes Holschuh Date: Sat Nov 25 16:35:09 2006 -0200 ACPI: ibm-acpi: add support for the ultrabay on the T60,X60 This patch adds support for the ultrabay on the T60, X60 and other new ThinkPads that have a SATA ultrabay. I intend to keep bay and dock support in ibm-acpi working and updated until it finally gets deprecated and removed in favour of the generic dock and bay support. But we aren't there yet. Signed-off-by: Henrique de Moraes Holschuh commit 16663a87ad1df7022661bc8813b7a2e84e7f5e66 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:14 2006 -0200 ACPI: ibm-acpi: implement fan watchdog command This patch implements a fan control safety watchdog, by request of the authors of userspace fan control scripts. When the watchdog timer expires, the equivalent action of a "fan enable" command is executed. The watchdog timer is reset at every reception of a fan control command that could change the state of the fan itself. This command is meant to be used by userspace fan control daemons, to make sure the fan is never left set to an unsafe level because of userspace problems. Users of the X31/X40/X41 "speed" command are on their own, the current implementation of "speed" is just too incomplete to be used safely, anyway. Better to never use it, and just use the "level" command instead. The watchdog is programmed using echo "watchdog " > fan, where number is the number of seconds to wait before doing an "enable", and zero disables the watchdog. Signed-off-by: Henrique de Moraes Holschuh commit 778b4d742b210b9cac31f223527f30f1fc70312b Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:14 2006 -0200 ACPI: ibm-acpi: workaround for EC 0x2f initialization bug A few ThinkPads fail to initialize EC register 0x2f both in the EC firmware and ACPI DSDT. If the BIOS and the ACPI DSDT also do not initialize it, then the initial status of that register does not correspond to reality. On all reported buggy machines, EC 0x2f will read 0x07 (fan level 7) upon cold boot, when the EC is actually in mode 0x80 (auto mode). Since returning a text string ("unknown") would break a number of userspace programs, instead we correct the reading for the most probably correct answer, and return it is in auto mode. The workaround flags the status and level as unknown on module load/kernel boot, until we are certain at least one fan control command was issued, either by us, or by something else. We don't work around the bug by doing a "fan enable" at module load/startup (which would initialize the EC register) because it is not known if these ThinkPad ACPI DSDT might have set the fan to level 7 instead of "auto" (we don't know if they can do this or not) due to a thermal condition, and we don't want to override that, should they be capable of it. We should be setting the workaround flag to "status known" upon resume, as both reports and a exaustive search on the DSDT tables at acpi.sf.net show that the DSDTs always enable the fan on resume, thus working around the bug. But since we don't have suspend/resume handlers in ibm-acpi yet and the "EC register 0x2f was modified" logic is likely to catch the change anyway, we don't. Signed-off-by: Henrique de Moraes Holschuh commit 49a13cd6a2acd284ee106eaea7eeea8f2cc6796a Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:13 2006 -0200 ACPI: ibm-acpi: store embedded controller firmware version for matching This patch changes the ThinkPad Embedded Controller DMI matching code to store the firmware version of the EC for later usage, e.g. for quirks. It also prints the firmware version when starting up. Signed-off-by: Henrique de Moraes Holschuh commit a12095c2b50c8a7c80517e37c00d6e6c863d43c5 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:13 2006 -0200 ACPI: ibm-acpi: fix and extend fan control functions This patch extend fan control functions, implementing enable/disable for all write access modes, implementing level control for all level-capable write access modes. The patch also updates the documentation, explaining levels auto and disengaged. ABI changes: 1. Support level 0 as an equivalent to disable 2. Add support for level auto and level disengaged when doing EC 0x2f fan control 3. Support enable/disable for all level-based write access modes 4. Add support for level command on FANS thinkpads, as per thinkwiki reports Signed-off-by: Henrique de Moraes Holschuh commit 1c6a334e9c028c2b72c5350650cb14e6d5fdc232 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:12 2006 -0200 ACPI: ibm-acpi: fix and extend fan enable This patch fix fan enable to attempt to do the right thing and not slow down the fan if it is forced to the maximum speed. It also extends fan enable to work on older thinkpads. ABI changes: 1. Support enable/disable for all level-based write access modes Signed-off-by: Henrique de Moraes Holschuh commit bab812a329cc244ca63c2675b0e05016518855ce Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:12 2006 -0200 ACPI: ibm-acpi: extend fan status functions This patch fixes fan_read to return correct values for all fan access modes. It also implements some fan access mode status output that was missing, and normalizes the proc fan abi to return consistent data across all fan read/write modes. Userspace ABI changes and extensions: 1. Return status: enable/disable for *all* modes (this actually improves compatibility with userspace utils!) 2. Return level: auto and level: disengaged for EC 2f access mode 3. Return level: for EC 0x2f access mode 4. Return level 0 as well as "disabled" in level-aware modes Signed-off-by: Henrique de Moraes Holschuh commit a8b7a6626d7605a795b33317cd730b7d76da3d0a Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:11 2006 -0200 ACPI: ibm-acpi: document fan control This patch documents the ThinkPad fan control strategies. Source of the data: 0. ibm-acpi source 1. DSDTs for various ThinkPads (770, X31, X40, X41, T43, A21m, T22) 2. http://thinkwiki.org/wiki/Embedded_Controller_Firmware#Firmware_Issues 3. http://thinkwiki.org/wiki/How_to_control_fan_speed 4. Various threads about windows fan control utilities in thinkpads.com Signed-off-by: Henrique de Moraes Holschuh commit 18ad7996e17649d81c15a2c9dae03c75050a05a8 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:11 2006 -0200 ACPI: ibm-acpi: cleanup fan_write This patch cleans up fan_write so that it is much easier to read and extend. It separates the proc api handling from the operations themselves. Signed-off-by: Henrique de Moraes Holschuh commit c52f0aa574246f133a0bc2041e9468a06d34da7b Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:10 2006 -0200 ACPI: ibm-acpi: break fan_read into separate functions This patch breaks fan_read mechanics into a generic function to get fan status and speed, and leaves only the procfs interface code in fan_read. Signed-off-by: Henrique de Moraes Holschuh commit 3ef8a6096ca98d45a54999a97c7c8e14977d2e3e Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:10 2006 -0200 ACPI: ibm-acpi: clean up fan_read This patch cleans up fan_read so that it is much easier to read and extend. The patch fixes the userspace ABI to return "status: not supported" (like all other ibm-acpi functions) when neither fan status or fan control are possible. It also fixes the userspace ABI to return EIO if ACPI access to the EC fails, instead of returning "status: unreadable" or "speed: unreadable". Signed-off-by: Henrique de Moraes Holschuh commit 69ba91cbd6d79aa197adbdd10a44e71c84044b44 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:09 2006 -0200 ACPI: ibm-acpi: prepare to cleanup fan_read and fan_write This patch lays some groundwork for a fan_read and fan_write cleanup in the next patches. To do so, it provides a new fan_init initializer, and also some constants (through enums). Signed-off-by: Henrique de Moraes Holschuh commit 88679a15b3a84366e90cee2a84973abef962b727 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:09 2006 -0200 ACPI: ibm-acpi: document thermal sensor locations for the A31 The A31 has a very atypical layout, so I separated its thermal sensors location in a separate patch. Signed-off-by: Henrique de Moraes Holschuh commit 60eb0b35a9cc3400251cb4028d100e350649cf8a Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:08 2006 -0200 ACPI: ibm-acpi: Implement direct-ec-access thermal reading modes for up to 16 sensors This patch extends ibm-acpi to support reading thermal sensors directly through ACPI EC register access. It uses a DMI match to detect ThinkPads with a new-style embedded controller, that are known to have forward- compatible register maps and use 0x00 to fill in non-used registers and export thermal sensors at EC offsets 0x78-7F and 0xC0-C7. Direct ACPI EC register access is implemented for 8-sensor and 16-sensor new-style ThinkPad controller firmwares as an experimental feature. The code does some limited sanity checks on the temperatures read through EC access, and will default to the old ACPI TMP0-7 mode if anything is amiss. Userspace ABI is not changed for 8 sensors, but /proc/acpi/ibm/thermal is extended for 16 sensors if the firmware supports 16 sensors. A documentation update is also provided. The information about the ThinkPad register map was determined by studying ibm-acpi "ecdump" output from various ThinkPad models, submitted by subscribers of the linux-thinkpad mailinglist. Futher information was gathered from the DSDT tables, as they describe the EC register map in recent ThinkPads. DSDT source shows that TMP0-7 access and direct register access are actually the same thing on these firmwares, but unfortunately IBM never did update their DSDT EC register map to export TMP8-TMP15 for the second range of sensors. Signed-off-by: Henrique de Moraes Holschuh commit a26f878abcd0491906b5bbac8dd174f27019e907 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:08 2006 -0200 ACPI: ibm-acpi: Use a enum to select the thermal sensor reading strategy This patch consolidades all decisions regarding the strategy to be used to read thinkpad thermal sensors into a single enum, and refactors the thermal sensor reading code to use a much more readable (and easier to extend) switch() construct, in a separate function. Signed-off-by: Henrique de Moraes Holschuh commit 8d29726434697a5ed08d4e0dfba9399a098922f4 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 11:47:07 2006 -0200 ACPI: ibm-acpi: trivial Lindent cleanups This patch just makes drives/acpi/ibm-acpi.c Lindent-clean, as requested by Len Brown. Signed-off-by: Henrique de Moraes Holschuh commit 3dfd35cd214f7874c4917dfedff81f107d845c15 Author: Henrique de Moraes Holschuh Date: Fri Nov 24 10:32:32 2006 -0200 ACPI: ibm-acpi: do not use / in driver names ibm-acpi uses sub-device names like ibm/hotkey, which get in the way of a sysfs conversion. Fix it to use ibm_hotkey instead. Thanks to Zhang Rui for noticing this. Signed-off-by: Henrique de Moraes Holschuh commit d942625c2d5f5d29cd3bb4fad8a4aadd59024317 Author: Andrew Morton Date: Thu Dec 7 16:11:44 2006 +1100 Fix http://bugzilla.kernel.org/show_bug.cgi?id=7606 WARNING: "drm_sman_set_manager" [drivers/char/drm/sis.ko] undefined! Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Dave Airlie commit 3417f33e762bf7d4277031a655e3ad07e73ce0be Author: George Sapountzis Date: Tue Oct 24 12:03:04 2006 -0700 drm: add flag for mapping PCI DMA buffers read-only. Add DRM_PCI_BUFFER_RO flag for mapping PCI DMA buffer read-only. An additional flag is needed, since PCI DMA buffers do not have an associated map. Signed-off-by: Dave Airlie commit 5c2df2bfb121a77d925dba580f53da08b4020528 Author: Dave Airlie Date: Tue Oct 24 11:36:59 2006 -0700 drm: fix up irqflags in drm_lock.c Signed-off-by: Dave Airlie commit 2228ed67223f3f22ea09df8854e6a31ea06d5619 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 01:05:09 2006 +1000 drm: i915 updates Add support for DRM_VBLANK_NEXTONMISS. Bump minor for swap scheduling ioctl and secondary vblank support. Avoid mis-counting vblank interrupts when they're only enabled for pipe A. Only schedule vblank tasklet if there are scheduled swaps pending. Signed-off-by: Dave Airlie commit a0b136bb696cfa744a79c4dbbbbd0c8f9f30fe3f Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:12:52 2006 +1000 drm: i915: fix up irqflags arg Signed-off-by: Dave Airlie commit 21fa60ed4eab5b3b28d05930bb086615ecc191b1 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:10:59 2006 +1000 drm: i915: Only return EBUSY after we've established we need to schedule a new swap. Signed-off-by: Dave Airlie commit 2dbb232c4d6b6c89fc367f7566c7c87dd3b56cd7 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:10:24 2006 +1000 drm: i915: Fix 'sequence has passed' condition in i915_vblank_swap(). Signed-off-by: Dave Airlie commit 376642cf2eb0f32d8502b0a2c4efd96a3f13a8b8 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:09:35 2006 +1000 drm: i915: Add SAREA fileds for determining which pipe to sync window buffer swaps to. Signed-off-by: Dave Airlie commit 5b51694aff705c465ef5941a99073036f3e444d9 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Wed Oct 25 00:08:23 2006 +1000 drm: Make handling of dev_priv->vblank_pipe more robust. Initialize it to default value if it hasn't been set by the X server yet. In i915_vblank_pipe_set(), only update dev_priv->vblank_pipe and call i915_enable_interrupt() if the argument passed from userspace is valid to avoid corrupting dev_priv->vblank_pipe on invalid arguments. Signed-off-by: Dave Airlie commit 541f29aad766b6c7b911a7d900d952744369bf53 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:38:54 2006 +1000 drm: DRM_I915_VBLANK_SWAP ioctl: Take drm_vblank_seq_type_t instead of pipe number. Handle relative as well as absolute target sequence numbers. Return error if target sequence has already passed, so userspace can deal with this situation as it sees fit. On success, return the sequence number of the vertical blank when the buffer swap is expected to take place. Also add DRM_IOCTL_I915_VBLANK_SWAP definition for userspace code that may want to use ioctl() instead of drmCommandWriteRead(). Signed-off-by: Dave Airlie commit a6b54f3f5050c0cbc0c35dd48064846c6302706b Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:37:43 2006 +1000 drm: i915: Add ioctl for scheduling buffer swaps at vertical blanks. This uses the core facility to schedule a driver callback that will be called ASAP after the given vertical blank interrupt with the HW lock held. Signed-off-by: Dave Airlie commit 049b323321bbcb476b799f50dc6444c0ed5a0e0e Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:34:58 2006 +1000 drm: Core vsync: Don't clobber target sequence number when scheduling signal. It looks like this would have caused signals to always get sent on the next vertical blank, regardless of the sequence number. Signed-off-by: Dave Airlie commit ab285d74e6742422fd0465577a31fb03fe9ed241 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:34:18 2006 +1000 drm: Core vsync: Add flag DRM_VBLANK_NEXTONMISS. When this flag is set and the target sequence is missed, wait for the next vertical blank instead of returning immediately. Signed-off-by: Dave Airlie commit 8163e418f71e46a28bac6625b4c633c13bd53c8d Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:30:01 2006 +1000 drm: Make locked tasklet handling more robust. Initialize the spinlock unconditionally when struct drm_device is filled in, and return early in drm_locked_tasklet() if the driver doesn't support IRQs. Signed-off-by: Dave Airlie commit 507c0185a72e89002757a58f6c64de3df84da0de Author: =?utf-8?q?Felix_K=C3=BChling?= Date: Tue Oct 24 23:28:23 2006 +1000 drm: drm_rmdraw: Declare id and idx as signed so testing for < 0 works as intended. Signed-off-by: Dave Airlie commit cdec2f82b11afbe4933fa9a9b3ed567db14fd237 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:20:15 2006 +1000 drm: Change first valid DRM drawable ID to be 1 instead of 0. This makes it easier for userspace to know when it needs to allocate an ID. Also free drawable information memory when it's no longer needed. Signed-off-by: Dave Airlie commit b03ed6f2fc519930fe3950365be59f0c079ce5d8 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:18:49 2006 +1000 drm: drawable locking + memory management fixes + copyright Signed-off-by: Dave Airlie commit 2e54a007622ac75d63bdc1dd71d435446293f4a9 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:08:16 2006 +1000 drm: Add support for interrupt triggered driver callback with lock held to DRM core. Signed-off-by: Dave Airlie commit bea5679f9cb97b7e41786c8500df56665cd21e56 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 23:04:19 2006 +1000 drm: Add support for tracking drawable information to core Actually make the existing ioctls for adding and removing drawables do something useful, and add another ioctl for the X server to update drawable information. The only kind of drawable information tracked so far is cliprects. Only reallocate cliprect memory if the number of cliprects changes. Also improve diagnostic output. hook up drm ioctl update draw export drm_get_drawable_info symbol Signed-off-by: Dave Airlie commit 68815bad7239989d92f315c10d9ef65a11945a75 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 22:28:51 2006 +1000 drm: add support for secondary vertical blank interrupt to i915 When the vertical blank interrupt is enabled for both pipes, pipe A is considered primary and pipe B secondary. When it's only enabled for one pipe, it's always considered primary for backwards compatibility. Signed-off-by: Dave Airlie commit 776c9443e28dddbde9b513db6cb8221c45b3a269 Author: =?utf-8?q?Michel_D=C3=A4nzer?= Date: Tue Oct 24 22:24:38 2006 +1000 drm: add support for secondary vertical blank interrupt to DRM core Signed-off-by: Dave Airlie commit c9204d9ca79baac564b49d36d0228a69d7ded084 Author: Joy Latten Date: Thu Nov 30 15:50:43 2006 -0600 audit: disable ipsec auditing when CONFIG_AUDITSYSCALL=n Disables auditing in ipsec when CONFIG_AUDITSYSCALL is disabled in the kernel. Also includes a bug fix for xfrm_state.c as a result of original ipsec audit patch. Signed-off-by: Joy Latten Signed-off-by: James Morris Signed-off-by: David S. Miller commit 161a09e737f0761ca064ee6a907313402f7a54b6 Author: Joy Latten Date: Mon Nov 27 13:11:54 2006 -0600 audit: Add auditing to ipsec An audit message occurs when an ipsec SA or ipsec policy is created/deleted. Signed-off-by: Joy Latten Signed-off-by: James Morris Signed-off-by: David S. Miller commit 95b99a670df31ca5271f503f378e5cac3aee8f5e Author: Randy Dunlap Date: Wed Dec 6 20:10:07 2006 -0800 [IRDA] irlan: Fix compile warning when CONFIG_PROC_FS=n include/net/irda/irlan_filter.h:31: warning: 'struct seq_file' declared inside parameter list include/net/irda/irlan_filter.h:31: warning: its scope is only this definition or declaration, which is probably not what you want Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit e694ba4428d53882489c07fd7d60c39b3e164dd5 Author: Jeet Chaudhuri Date: Wed Dec 6 20:08:45 2006 -0800 [IrDA]: Incorrect TTP header reservation We must reserve SAR + MAX_HEADER bytes for IrLMP to fit in. Patch from Jeet Chaudhuri Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit b259e7d250e15d45b3c8362917931aaff1c88d73 Author: Paul Sokolovsky Date: Wed Dec 6 20:07:59 2006 -0800 [IrDA]: PXA FIR code device model conversion pxaficp_ir.c was not converted to the device model framework. Signed-off-by: Paul Sokolovsky Signed-off-by: Andrew Morton Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 48d4ed7a86d70a7e381cc8e48a97312182093ce2 Author: Jamal Hadi Salim Date: Wed Dec 6 20:06:25 2006 -0800 [GENETLINK]: Fix misplaced command flags. The command flags for dump and do were swapped.. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit b9e3dd0ea167df1d7c118170551e08e8e28f27b6 Author: Paul Moore Date: Tue Dec 5 13:49:56 2006 -0800 [NETLIK]: Add a pointer to the Generic Netlink wiki page. Add a pointer to the OSDL wiki page on Generic Netlink. Signed-off-by: Paul Moore Signed-off-by: David S. Miller commit 4e33fa14faecc150e97c0e4f2320745bdc7b7112 Author: Masahide NAKAMURA Date: Tue Dec 5 13:48:27 2006 -0800 [IPV6] RAW: Don't release unlocked sock. When user builds IPv6 header and send it through raw socket, kernel tries to release unlocked sock. (Kernel log shows "BUG: bad unlock balance detected" with enabled debug option.) The lock is held only for non-hdrincl sock in this function then this patch fix to do nothing about lock for hdrincl one. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit 9a217a1c7e7f36ec4996314d64267dd711dbd9bf Author: YOSHIFUJI Hideaki Date: Tue Dec 5 13:47:21 2006 -0800 [IPV6]: Repair IPv6 Fragments The commit "[IPV6]: Use kmemdup" (commit-id: af879cc704372ef762584e916129d19ffb39e844) broke IPv6 fragments. Bug was spotted by Yasuyuki Kozakai . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit 5c804bfdcca2593422dd6edc2d7db4dba645543c Author: Patrick McHardy Date: Tue Dec 5 13:46:13 2006 -0800 [NET_SCHED]: cls_fw: fix NULL pointer dereference When the first fw classifier is initialized, there is a small window between the ->init() and ->change() calls, during which the classifier is active but not entirely set up and tp->root is still NULL (->init() does nothing). When a packet is queued during this window a NULL pointer dereference occurs in fw_classify() when trying to dereference head->mask; Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f216f082b2b37c4943f1e7c393e2786648d48f6f Author: Bart De Schuymer Date: Tue Dec 5 13:45:21 2006 -0800 [NETFILTER]: bridge netfilter: deal with martians correctly The attached patch resolves an issue where a IP DNATed packet with a martian source is forwarded while it's better to drop it. It also resolves messages complaining about ip forwarding being disabled while it's actually enabled. Thanks to lepton for reporting this problem. This is probably a candidate for the -stable release. Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ece006416d4fb472f4d2114feede5665cff971b2 Author: Yasuyuki Kozakai Date: Tue Dec 5 13:44:57 2006 -0800 [NETFILTER]: nf_conntrack: Don't try to find clashed expectation The original code continues loop to find expectation in list if the master conntrack of the found expectation is unconfirmed. But it never success in that case, because nf_conntrack_expect_related() never insert clashed expectation to the list. This stops loop in that case. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9ee0779e994c6916863045297b831212e285da3b Author: Yasuyuki Kozakai Date: Tue Dec 5 13:44:31 2006 -0800 [NETFILTER]: nf_conntrack: fix warning in PPTP helper Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f6677f4312ee74f8ca68c4cc4060465607b72b41 Author: Dmitry Mishin Date: Tue Dec 5 13:44:07 2006 -0800 [NETFILTER]: Fix iptables compat hook validation In compat mode, matches and targets valid hooks checks always successful due to not initialized e->comefrom field yet. This patch separates this checks from translation code and moves them after mark_source_chains() call, where these marks are initialized. Signed-off-by: Dmitry Mishin Signed-off-by; Patrick McHardy Signed-off-by: David S. Miller commit 74c9c0c17dea729d6089c0c82762babd02e65f84 Author: Dmitry Mishin Date: Tue Dec 5 13:43:50 2006 -0800 [NETFILTER]: Fix {ip,ip6,arp}_tables hook validation Commit 590bdf7fd2292b47c428111cb1360e312eff207e introduced a regression in match/target hook validation. mark_source_chains builds a bitmask for each rule representing the hooks it can be reached from, which is then used by the matches and targets to make sure they are only called from valid hooks. The patch moved the match/target specific validation before the mark_source_chains call, at which point the mask is always zero. This patch returns back to the old order and moves the standard checks to mark_source_chains. This allows to get rid of a special case for standard targets as a nice side-effect. Signed-off-by: Dmitry Mishin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 79066ad32be5bb2edf16733aec36acf2af03fc99 Author: Herbert Xu Date: Tue Dec 5 13:41:52 2006 -0800 [CRYPTO] dm-crypt: Make iv_gen_private a union Rather than stuffing integers into pointers with casts, let's use a union. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 9ebed9d182e03d12d39915b72e4b960046bc4039 Author: David S. Miller Date: Mon Dec 4 20:20:05 2006 -0800 [CRYPTO] lrw: round --> lrw_round Fixes: crypto/lrw.c:99: warning: conflicting types for built-in function ‘round’ Signed-off-by: David S. Miller commit 8df3b0a219967080d9dc4b604b5fecacb6967af0 Author: Herbert Xu Date: Sat Dec 2 14:36:03 2006 +1100 [CRYPTO] cryptoloop: Select CRYPTO_CBC As CBC is the default chaining method for cryptoloop, we should select it from cryptoloop to ease the transition. Signed-off-by: Herbert Xu commit f3d1044cd0a9b427a25b2492f4d503d2dd54cfd7 Author: Rik Snel Date: Wed Nov 29 19:01:41 2006 +1100 [CRYPTO] tcrypt: LRW test vectors Do modprobe tcrypt mode=10 to check the included test vectors, they are from: http://grouper.ieee.org/groups/1619/email/pdf00017.pdf and from http://www.mail-archive.com/stds-p1619@listserv.ieee.org/msg00173.html. To make the last test vector fit, I had to increase the buffer size of input and result to 512 bytes. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit 64470f1b8510699dc357a44004dc924bc139c917 Author: Rik Snel Date: Sun Nov 26 09:43:10 2006 +1100 [CRYPTO] lrw: Liskov Rivest Wagner, a tweakable narrow block cipher mode Main module, this implements the Liskov Rivest Wagner block cipher mode in the new blockcipher API. The implementation is based on ecb.c. The LRW-32-AES specification I used can be found at: http://grouper.ieee.org/groups/1619/email/pdf00017.pdf It implements the optimization specified as optional in the specification, and in addition it uses optimized multiplication routines from gf128mul.c. Since gf128mul.[ch] is not tested on bigendian, this cipher mode may currently fail badly on bigendian machines. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit c494e0705d670c51ac736c8c4d92750705fe3187 Author: Rik Snel Date: Wed Nov 29 18:59:44 2006 +1100 [CRYPTO] lib: table driven multiplications in GF(2^128) A lot of cypher modes need multiplications in GF(2^128). LRW, ABL, GCM... I use functions from this library in my LRW implementation and I will also use them in my ABL (Arbitrary Block Length, an unencumbered (correct me if I am wrong, wide block cipher mode). Elements of GF(2^128) must be presented as u128 *, it encourages automatic and proper alignment. The library contains support for two different representations of GF(2^128), see the comment in gf128mul.h. There different levels of optimization (memory/speed tradeoff). The code is based on work by Dr Brian Gladman. Notable changes: - deletion of two optimization modes - change from u32 to u64 for faster handling on 64bit machines - support for 'bbe' representation in addition to the, already implemented, 'lle' representation. - move 'inline void' functions from header to 'static void' in the source file - update to use the linux coding style conventions The original can be found at: http://fp.gladman.plus.com/AES/modes.vc8.19-06-06.zip The copyright (and GPL statement) of the original author is preserved. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit aec3694b987900de7ab789ea5749d673e0d634c4 Author: Rik Snel Date: Sun Oct 29 11:02:07 2006 +1100 [CRYPTO] lib: some common 128-bit block operations, nicely centralized 128bit is a common blocksize in linux kernel cryptography, so it helps to centralize some common operations. The code, while mostly trivial, is based on a header file mode_hdr.h in http://fp.gladman.plus.com/AES/modes.vc8.19-06-06.zip The original copyright (and GPL statement) of the original author, Dr Brian Gladman, is preserved. Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit cc44215eaaa5e4032946b962353526ae6c370c0e Author: Adrian Bunk Date: Wed Nov 22 17:55:00 2006 +1100 [CRYPTO] api: Remove unused functions This patch removes the following no longer used functions: - api.c: crypto_alg_available() - digest.c: crypto_digest_init() - digest.c: crypto_digest_update() - digest.c: crypto_digest_final() - digest.c: crypto_digest_digest() Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit ab7827059adbbcc3624afbc58880287eabf6d277 Author: Adrian Bunk Date: Fri Nov 17 13:43:55 2006 +1100 [CRYPTO] geode: Make needlessly global geode_aes_crypt() static On Tue, Nov 14, 2006 at 01:41:25AM -0800, Andrew Morton wrote: >... > Changes since 2.6.19-rc5-mm2: >... > git-cryptodev.patch >... > git trees >... This patch makes the needlessly global geode_aes_crypt() static. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit 5b37538a514cf4c8746be9d09e8a9f564e7df939 Author: Adrian Bunk Date: Fri Nov 17 13:43:04 2006 +1100 [CRYPTO] xcbc: Make needlessly global code static On Tue, Nov 14, 2006 at 01:41:25AM -0800, Andrew Morton wrote: >... > Changes since 2.6.19-rc5-mm2: >... > git-cryptodev.patch >... > git trees >... This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Herbert Xu commit 7cf4c1a5fd13820d7591179c0b925d739b2be9a7 Author: Kazunori MIYAZAWA Date: Sat Oct 28 13:21:22 2006 +1000 [IPSEC]: Add support for AES-XCBC-MAC The glue of xfrm. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: Herbert Xu commit 5b2becf5dc8ebb760b0d1653604831dc0582a121 Author: Kazunori MIYAZAWA Date: Sat Oct 28 13:18:53 2006 +1000 [CRYPTO] tcrypt: Add test vectors of AES_XCBC est vectors of XCBC with AES-128. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: Herbert Xu commit 333b0d7eeacbd47159daf23757aa81368470c409 Author: Kazunori MIYAZAWA Date: Sat Oct 28 13:15:24 2006 +1000 [CRYPTO] xcbc: New algorithm This is core code of XCBC. XCBC is an algorithm that forms a MAC algorithm out of a cipher algorithm. For example, AES-XCBC-MAC is a MAC algorithm based on the AES cipher algorithm. Signed-off-by: Kazunori MIYAZAWA Signed-off-by: Herbert Xu commit 45789328e5aa2de96d4467e4445418364e5378d7 Author: Herbert Xu Date: Sun Sep 3 08:58:41 2006 +1000 [BLOCK] dm-crypt: Align IV to u64 for essiv This patch makes the IV u64-aligned since essiv does a u64 store to it. Signed-off-by: Herbert Xu commit 48527fa7cf7fefb84e9fe03cddd08ddafc9f15f3 Author: Rik Snel Date: Sun Sep 3 08:56:39 2006 +1000 [BLOCK] dm-crypt: benbi IV, big endian narrow block count for LRW-32-AES LRW-32-AES needs a certain IV. This IV should be provided dm-crypt. The block cipher mode could, in principle generate the correct IV from the plain IV, but I think that it is cleaner to supply the right IV directly. The sector -> narrow block calculation uses a shift for performance reasons. This shift is computed in .ctr and stored in cc->iv_gen_private (as a void *). Signed-off-by: Rik Snel Signed-off-by: Herbert Xu commit 9fe757b0cfcee0724027a675c533077287a21b96 Author: Jordan Crouse Date: Wed Oct 4 18:48:57 2006 +1000 [PATCH] crypto: Add support for the Geode LX AES hardware Add a driver to support the AES hardware on the Geode LX processor. Signed-off-by: Jordan Crouse Signed-off-by: Herbert Xu commit 94b9bb5480e73cec4552b19fc3f809742b4ebf67 Author: Jamal Hadi Salim Date: Mon Dec 4 20:03:35 2006 -0800 [XFRM] Optimize SA dumping Same comments as in "[XFRM] Optimize policy dumping" The numbers are (20K SAs): commit baf5d743d1b8783fdbd5c1260ada2926e5bbaaee Author: Jamal Hadi Salim Date: Mon Dec 4 20:02:37 2006 -0800 [XFRM] Optimize policy dumping This change optimizes the dumping of Security policies. 1) Before this change .. speedopolis:~# time ./ip xf pol real 0m22.274s user 0m0.000s sys 0m22.269s 2) Turn off sub-policies speedopolis:~# ./ip xf pol real 0m13.496s user 0m0.000s sys 0m13.493s i suppose the above is to be expected 3) With this change .. speedopolis:~# time ./ip x policy real 0m7.901s user 0m0.008s sys 0m7.896s commit 1b6651f1bf2453d593478aa88af267f057fd73e2 Author: Patrick McHardy Date: Mon Dec 4 19:59:00 2006 -0800 [XFRM]: Use output device disable_xfrm for forwarded packets Currently the behaviour of disable_xfrm is inconsistent between locally generated and forwarded packets. For locally generated packets disable_xfrm disables the policy lookup if it is set on the output device, for forwarded traffic however it looks at the input device. This makes it impossible to disable xfrm on all devices but a dummy device and use normal routing to direct traffic to that device. Always use the output device when checking disable_xfrm. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 170b828a31bbeaee3a80a05acefe3596e38f09e0 Author: Ben Collins Date: Mon Dec 4 19:33:47 2006 -0800 [ATM]: Add CPPFLAGS to byteorder.h check O= builds produced errors in the shell command because of unfound headers. Signed-off-by: Ben Collins Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 334c29a64507dda187565dd0db0403de3d70ec8b Author: Jamal Hadi Salim Date: Mon Dec 4 19:31:51 2006 -0800 [GENETLINK]: Move command capabilities to flags. This patch moves command capabilities to command flags. Other than being cleaner, saves several bytes. We increment the nlctrl version so as to signal to user space that to not expect the attributes. We will try to be careful not to do this too often ;-> Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 64a26a731235b59c9d73bbe82c1f896d57400d37 Author: Andi Kleen Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: Export smp_call_function_single smp_call_function() is exported, makes sense to export this one too. Signed-off-by: Andi Kleen commit d9408cefe677636bc1c100fdcfac0b2ab9ff87bf Author: Adrian Bunk Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] i386: Clean up smp_tune_scheduling() - remove the write-only local variable "bandwidth" - don't set "max_cache_size" in the (cachesize < 0) case: that's already handled in kernel/sched.c:measure_migration_cost() Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Acked-by: Ingo Molnar Signed-off-by: Andrew Morton commit b65780e123ba9b762276482bbfb52836e4d41fd9 Author: Jan Beulich Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] unwinder: move .eh_frame to RODATA The .eh_frame section contents is never written to, so it can as well benefit from CONFIG_DEBUG_RODATA. Diff-ed against firstfloor tree. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit c65f38d911aa301cea109d38d40925750dd6c2da Author: Jan Beulich Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] unwinder: fully support linker generated .eh_frame_hdr section Now that binutils' ld is able to properly populate .eh_frame_hdr in the Linux kernel case, here's a patch to add some functionality to the Dwarf2 unwinder to actually be able to make use of this (applies on firstfloor tree with the previously sent patch to add debug output, but not on plain 2.6.19). Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 6bedb2ccb02dcc70ffc8eb76df71c746378190ad Author: Oleg Nesterov Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: don't use set_irq_regs() We don't need to setup _irq_regs in smp_xxx_interrupt (except apic timer). These handlers run with irqs disabled and do not call functions which need "struct pt_regs". Signed-off-by: Oleg Nesterov Signed-off-by: Andi Kleen Acked-by: Ingo Molnar Cc: Andi Kleen Acked-By: David Howells Signed-off-by: Andrew Morton commit ad892f5e0d01f3c3b475a688d1ddc211cf3ea56d Author: Yinghai Lu Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: check vector in setup_ioapic_dest to verify if need setup_IO_APIC_irq setup_IO_APIC_irqs could fail to get vector for some device when you have too many devices, because at that time only boot cpu is online. So check vector for irq in setup_ioapic_dest and call setup_IO_APIC_irq to make sure IO-APIC irq-routing table is initialized. Also seperate setup_IO_APIC_irq from setup_IO_APIC_irqs. Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Eric W. Biederman" Cc: Ingo Molnar Signed-off-by: Andrew Morton commit f6ca8083c261864fc9de94ef99c3311ea259c5c3 Author: Randy Dunlap Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: Make ix86 default to HIGHMEM4G instead of NOHIGHMEM Generally better for allmodconfig coverage. Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 116780fc04d9f6cd3ceeab0251681f1dfda53367 Author: Burman Yan Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] i386: replace kmalloc+memset with kzalloc Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit d7fb02712818643bab79a6b3cb8270a747d0227b Author: Adrian Bunk Date: Thu Dec 7 02:14:19 2006 +0100 [PATCH] x86-64: remove remaining pc98 code Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit f475ff352c5e05d473c462b97c3a13a5b803af5a Author: David Rientjes Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: remove unused variable Remove unused variable in msr_write(). Reported by D Binderman . Cc: H. Peter Anvin Signed-off-by: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 9dc452ba2d47f376987a99c0819833af0b46cc3f Author: Andi Kleen Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Fix constraints in atomic_add_return() Following i386 from Duncan Sands Signed-off-by: Andi Kleen commit e4b522d7ef144fb2ad6a4cb23d9cb5ec154be8bc Author: Duncan Sands Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: fix asm constraints in i386 atomic_add_return Since v->counter is both read and written, it should be an output as well as an input for the asm. The current code only gets away with this because counter is volatile. Also, according to Documents/atomic_ops.txt, atomic_add_return should provide a memory barrier, in particular a compiler barrier, so the asm should be marked as clobbering memory. Test case: #include typedef struct { int counter; } atomic_t; /* NB: no "volatile" */ #define ATOMIC_INIT(i) { (i) } #define atomic_read(v) ((v)->counter) static __inline__ int atomic_add_return(int i, atomic_t *v) { int __i = i; __asm__ __volatile__( "lock; xaddl %0, %1;" :"=r"(i) :"m"(v->counter), "0"(i)); /* __asm__ __volatile__( "lock; xaddl %0, %1" :"+r" (i), "+m" (v->counter) : : "memory"); */ return i + __i; } int main (void) { atomic_t a = ATOMIC_INIT(0); int x; x = atomic_add_return (1, &a); if ((x!=1) || (atomic_read(&a)!=1)) printf("fail: %i, %i\n", x, atomic_read(&a)); } Signed-off-by: Duncan Sands Signed-off-by: Andi Kleen Cc: Andi Kleen Acked-by: David Howells Signed-off-by: Andrew Morton commit d263b213577a1e8f166b0a7212d85175e36d6c19 Author: Vivek Goyal Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Correct documentation for bzImage protocol v2.05 Correct the documentation for bzImage protocol extension due to relocatable bzImage. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Acked-by: "H. Peter Anvin" Signed-off-by: Andrew Morton commit 9cfa5b5dfafcfe64c1a48906f243cdd302f82471 Author: Burman Yan Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: replace kmalloc+memset with kzalloc in MTRR code Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit d5d2448d896fbb9a427ee12eb8e5f6309f2473f7 Author: Randy Dunlap Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Fix numaq build error CC arch/i386/boot/compressed/misc.o arch/i386/boot/compressed/misc.c:120: error: static declaration of 'xquad_portio' follows non-static declaration include/asm/io.h:275: error: previous declaration of 'xquad_portio' was here make[2]: *** [arch/i386/boot/compressed/misc.o] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 9ee4016888f1b226d7bb9a10ddb782868f658b31 Author: Adrian Bunk Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: include/asm-x86_64/cpufeature.h isn't a userspace header Nothing in include/asm-x86_64/cpufeature.h is part of the userspace<->kernel interface. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen commit 6d0185ea611276fdf81991d7774d396bdc1ae392 Author: Jan Beulich Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] unwinder: Add debugging output to the Dwarf2 unwinder Add debugging printks to the unwinder to allow easier debugging when something goes wrong with it. This can be controlled with the new unwinder_debug=N option Most output is given by N=1 AK: Added documentation of unwinder_debug= Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 3807fd46e94ab9f09e5ee3bff5e6515a94e9b3c7 Author: Andi Kleen Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Clarify error message in GART code - Remove "Disabling IOMMU" message because it confuses people - Clarify that the GART IOMMU is refered to in other message Signed-off-by: Andi Kleen commit d331e739f5ad2aaa9d8553891ba6ca823bdbce37 Author: Venkatesh Pallipadi Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Fix interrupt race in idle callback (3rd try) Idle callbacks has some races when enter_idle() sets isidle and subsequent interrupts that can happen on that CPU, before CPU goes to idle. Due to this, an IDLE_END can get called before IDLE_START. To avoid these races, disable interrupts before enter_idle and make sure that all idle routines do not enable interrupts before entering idle. Note that poll_idle() still has a this race as it has to enable interrupts before going to idle. But, all other idle routines have the race fixed. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Andi Kleen commit a0429d0d7a6116dedcb71d9128da904bf135f189 Author: Andi Kleen Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] x86-64: Remove unwind stack pointer alignment forcing again This was added as a workaround for the fallback unwinder not supporting unaligned stack pointers properly. But now it was fixed to do that, so it's not needed anymore Cc: mingo@elte.hu Signed-off-by: Andi Kleen commit 359ad0d4015a9ab39243f2ebc4eb07915bd618b2 Author: Jan Beulich Date: Thu Dec 7 02:14:13 2006 +0100 [PATCH] unwinder: more sanity checks in Dwarf2 unwinder Tighten the requirements on both input to and output from the Dwarf2 unwinder. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit eef5e0d185fc049bda11fa14ba286fbd357da896 Author: Andi Kleen Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] unwinder: Remove lockdep disabling of nested locks for unwinder Shouldn't be needed anymore since __kernel_text_address is used unconditionally on x86-64 Signed-off-by: Andi Kleen commit 446f713ba1afd68568139ae4691335ba273fa7f4 Author: Andi Kleen Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] unwinder: always use unlocked module list access in unwinder fallback We're already well protected against module unloads because module unload uses stop_machine(). The only exception is NMIs, but other users already risk lockless accesses here. This avoids some hackery in lockdep and also a potential deadlock This matches what i386 does. Signed-off-by: Andi Kleen commit e2124bb8d369a4bc1afde1959040e33d71c41d5e Author: Andi Kleen Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] unwinder: Use probe_kernel_address instead of __get_user in kernel/unwind.c This avoids trouble with the page fault handler if the fault happens inside an interrupt context. Suggested by Linus Cc: jbeulich@novell.com Signed-off-by: Andi Kleen commit f3d73707a1e84f0687a05144b70b660441e999c7 Author: Arjan van de Ven Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: Mark rdtsc as sync only for netburst, not for core2 On the Core2 cpus, the rdtsc instruction is not serializing (as defined in the architecture reference since rdtsc exists) and due to the deep speculation of these cores, it's possible that you can observe time go backwards between cores due to this speculation. Since the kernel already deals with this with the SYNC_RDTSC flag, the solution is simple, only assume that the instruction is serializing on family 15... The price one pays for this is a slightly slower gettimeofday (by a dozen or two cycles), but that increase is quite small to pay for a really-going-forward tsc counter. Signed-off-by: Arjan van de Ven Signed-off-by: Andi Kleen commit e496a0da7f8110054d0ad4039245b0f49f9540f5 Author: Muli Ben-Yehuda Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] Calgary: remove unused variables Spotted by d binderman . Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen commit 616779656989cb8c59177e35cb13e87028b1edc8 Author: Andi Kleen Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: Synchronize RDTSC on single core AMD There is no guarantee that two RDTSCs in a row are monotonic, so don't assume it on single core AMD systems. This will make gettimeofday slower again Signed-off-by: Andi Kleen commit a1a70c25bed75ed36ed48bbe18b9029428d2452d Author: Adrian Bunk Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] i386: always enable regparm -mregparm=3 has been enabled by default for some time on i386, and AFAIK there aren't any problems with it left. This patch removes the REGPARM config option and sets -mregparm=3 unconditionally. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen commit 73ad8355d7db6a3cdcf313d4a4586a8f81b19c2f Author: Yinghai Lu Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: remove unused acpi_found_madt in mparse. remove unused acpi_found_madt in mparse.c Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen commit a36df98ab1cdd8a9e7daa4c1b5c48ffa2ad6ea09 Author: Dave Jones Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] i386: touch softlockup during backtracing Sometimes the soft watchdog fires after we're done oopsing. See http://projects.info-pull.com/mokb/MOKB-25-11-2006.html for an example. AK: changed to touch_nmi_watchdog() Signed-off-by: Dave Jones Signed-off-by: Andi Kleen commit d4c45718b3c0d3045eab803cd15fabbed1ea5bcd Author: Rafael J. Wysocki Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: Fix kobject_init() WARN_ON on resume from disk Make mce_remove_device() clean up the kobject in per_cpu(device_mce, cpu) after it has been unregistered. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andi Kleen commit 026c66bdda5f07959da7d74d29b18a7c480242f7 Author: Adrian Bunk Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86-64: remove duplicate ARCH_DISCONTIGMEM_ENABLE option One ARCH_DISCONTIGMEM_ENABLE option is enough. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen commit 8fb6e5f5db860113e71ce7b854382ed40559395b Author: Yinghai Lu Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86_64: interrupt array size should be aligned to NR_VECTORS interrupt array is referred for idt vectors instead of NR_IRQS, so change size to NR_VECTORS - FIRST_EXTERNAL_VECTOR. Also change to static. Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen commit 3df0af0eb064a16bbdbe81b46bc72a4089f88d54 Author: Yinghai Lu Date: Thu Dec 7 02:14:12 2006 +0100 [PATCH] x86_64: clear_bss before set_intr_gate with early_idt_handler idt_table is in the .bss section, so clear_bss need to called at first Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen commit 0741f4d207a644482d7a040f05cd264c98cf7ee8 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86: add sysctl for kstack_depth_to_print Add sysctl for kstack_depth_to_print. This lets users change the amount of raw stack data printed in dump_stack() without having to reboot. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andi Kleen commit c7a3392e9e53e43c44a971de3dd480a8e2788e75 Author: Wink Saville Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86-64: Fix comments for MSR_FS_BASE and MSR_GS_BASE. The comments for MSR_FS_BASE & MSR_GS_BASE were transposed. Signed-off-by: Wink Saville Signed-off-by: Andi Kleen commit 86bd58bf4c383fde4e99b83ce917b091a072040d Author: David Rientjes Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86-64: Remove unused GET_APIC_VERSION call from clear_local_APIC Remove unused GET_APIC_VERSION call from clear_local_APIC() and __setup_APIC_LVTT(). Reported by D Binderman . Cc: Andi Kleen Cc: Ingo Molnar Signed-off-by: David Rientjes Signed-off-by: Andi Kleen commit 6df0532eef0187c293d3ab1d4c158f92e8f24f8a Author: Dave Jones Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: remove duplicate printk We do the exact same printk about a dozen lines above with no intermediate printk's. Signed-off-by: Dave Jones Signed-off-by: Andi Kleen commit bf7e6a196318316e921f357557fca9d11d15f486 Author: Artiom Myaskouvskey Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: Preserve EFI run time regions with memmap parameter When using memmap kernel parameter in EFI boot we should also add to memory map memory regions of runtime services to enable their mapping later. AK: merged and cleaned up the patch Signed-off-by: Artiom Myaskouvskey Signed-off-by: Andi Kleen commit f990fff427d68af3e4e1d16fe799c106abc0bf53 Author: Karsten Wiese Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86: Regard MSRs in lapic_suspend()/lapic_resume() Read/Write APIC_LVTPC and APIC_LVTTHMR only, if get_maxlvt() returns certain values. This is done like everywhere else in i386/kernel/apic.c, so I guess its correct. Suspends/Resumes to disk fine and eleminates an smp_error_interrupt() here on a K8. AK: ported to x86-64 too Signed-off-by: Karsten Wiese Signed-off-by: Andi Kleen commit 9a8cb626a08f2c8251291f3c0a049b29665895d2 Author: Andi Kleen Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: Avoid boot warning with apic=debug There are two consumers of apic=: the apic debug level and the low level generic architecture code. early_param would warn when the low level code rejected "debug". Avoid this. Signed-off-by: Andi Kleen commit 538f188e03c821c93b355c9fc346806cdd34e286 Author: Stephane Eranian Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: i386 add Intel BTS cpufeature bit and detection (take 2) Here is a small patch for i386 which adds a cpufeature flag and detection code for Intel's Branch Trace Store (BTS) feature. This feature can be found on Intel P4 and Core 2 processors among others. It can also be used by perfmon. changelog: - add CPU_FEATURE_BTS - add Branch Trace Store detection signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit ee58fad51a2a767cb2567706ace967705233d881 Author: Stephane Eranian Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] x86-64: x86-64 add Intel BTS cpufeature bit and detection (take 2) Here is a small patch for x86-64 which adds a cpufeature flag and detection code for Intel's Branch Trace Store (BTS) feature. This feature can be found on Intel P4 and Core 2 processors among others. It can also be used by perfmon. changelog: - add CPU_FEATURE_BTS - add Branch Trace Store detection signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit 7e95b593a1aeb6fe1d3904e799d23a45261f2c19 Author: Adrian Bunk Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: Make irq_vector static irq_vector[] can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Acked-by: Eric W. Biederman Acked-by: Ingo Molnar Signed-off-by: Andrew Morton commit 956fb53197f82257974f1f9835485aeeef4510b3 Author: Adrian Bunk Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: handle a negative return value The Coverity checker noted that bad things might happen if find_isa_irq_apic() returned -1. [akpm@osdl.org: add debugging checks] Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Cc: Andi Kleen Acked-by: Ingo Molnar Signed-off-by: Andrew Morton commit e1cccf48b182dd743c3c83a4fdf8dc570a43b393 Author: Artiom Myaskouvskey Date: Thu Dec 7 02:14:11 2006 +0100 [PATCH] i386: call efi_get_time during suspend Function efi_get_time called not only during init kernel phase but also during suspend (from get_cmos_time). When it is called from get_cmos_time the corresponding runtime service should be called in virtual and not in physical mode. Signed-off-by: Artiom Myaskouvskey Signed-off-by: Andi Kleen Cc: "Narayanan, Chandramouli" Cc: "Jiossy, Rami" Cc: "Satt, Shai" Cc: Andi Kleen Cc: Matt Domsch Signed-off-by: Andrew Morton commit b0d0a4ba45760b10ecee9035ed45b442c1a6cc84 Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] x86: fix the irqbalance quirk for E7320/E7520/E7525 Move the irqbalance quirks for E7320/E7520/E7525(Errata 23 in http://download.intel.com/design/chipsets/specupdt/30304203.pdf) to early quirks. And add a PCI quirk for these platforms to check(which happens very late during the boot) if the APIC routing is indeed set to default flat mode. This fixes the breakage(in x86_64) of this quirk due to cpu hotplug which selects physical mode instead of the logical flat(as needed for this errata workaround). Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit 9899f826fc90beba4f78083f6230e06cbe1050c9 Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] x86-64: add genapic_force Add genapic_force. Used by the next Intel quirks patch. Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit 72486f1f8f0a2bc828b9d30cf4690cf2dd6807fc Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] i386: change the 'no_control' field to 'hotpluggable' in the struct cpu Change the 'no_control' field in the cpu struct to a more positive and better term 'hotpluggable'. And change(/cleanup) the logic accordingly. Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit fd6d7d26897dec834d0b9fbdc59819b0332a1257 Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] i386: introduce the mechanism of disabling cpu hotplug control Add 'enable_cpu_hotplug' flag and when cleared, the hotplug control file ("online") will not be added under /sys/devices/system/cpu/cpuX/ Next patch doing PCI quirks will use this. Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit 274e1bbdeeaf16e71418f11f5f305ab26061f2c2 Author: Siddha, Suresh B Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] x86: add write_pci_config_byte() to direct PCI access routines Mechanism of selecting physical mode in genapic when cpu hotplug is enabled on x86_64, broke the quirk(quirk_intel_irqbalance()) introduced for working around the transposing interrupt message errata in E7520/E7320/E7525 (revision ID 0x9 and below. errata #23 in http://download.intel.com/design/chipsets/specupdt/30304203.pdf). This errata requires the mode to be in logical flat, so that interrupts can be directed to more than one cpu(and thus use hardware IRQ balancing enabled by BIOS on these platforms). Following four patches fixes this by moving the quirk to early quirk and forcing the x86_64 genapic selection to logical flat on these platforms. Thanks to Shaohua for pointing out the breakage. This patch: Add write_pci_config_byte() to direct PCI access routines Signed-off-by: Suresh Siddha Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Li, Shaohua" Signed-off-by: Andrew Morton commit 79929fd1c1887d2a057cbb80d487a2e2f1c01a02 Author: Vivek Goyal Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] i386: Convert more absolute symbols to section relative o Convert more absolute symbols to section relative to keep the theme in vmlinux.lds.S file and to avoid problem if kernel is relocated. o Also put a message so that in future people can be aware of it and avoid introducing absolute symbols. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 2c22d8baa98a92022acb85b0b7c6f4a60df55f47 Author: Vivek Goyal Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] relocatable kernel: Fix kallsyms on avr32 after relocatable kernel changes o On some platforms like avr32, section init comes before .text and not necessarily a symbol's relative position w.r.t _text is positive. In such cases assembler detects the overflow and emits warning. This patch fixes it. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton commit ba10650a880c2df23bd1db6c0570ddb66f389641 Author: Adrian Bunk Date: Thu Dec 7 02:14:10 2006 +0100 [PATCH] i386: alloc_gdt() static Make the needlessly global alloc_gdt() static. (against) pda-percpu-init Signed-off-by: Adrian Bunk Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 365bff806e9faba000fb4956c7486fbf3a746d96 Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: fix MTRR code Until not so long ago, there were system log messages pointing to inconsistent MTRR setup of the video frame buffer caused by the way vesafb and X worked. While vesafb was fixed meanwhile, I believe fixing it there only hides a shortcoming in the MTRR code itself, in that that code is not symmetric with respect to the ordering of attempts to set up two (or more) regions where one contains the other. In the current shape, it permits only setting up sub-regions of pre-exisiting ones. The patch below makes this symmetric. While working on that I noticed a few more inconsistencies in that code, namely - use of 'unsigned int' for sizes in many, but not all places (the patch is converting this to use 'unsigned long' everywhere, which specifically might be necessary for x86-64 once a processor supporting more than 44 physical address bits would become available) - the code to correct inconsistent settings during secondary processor startup tried (if necessary) to correct, among other things, the value in IA32_MTRR_DEF_TYPE, however the newly computed value would never get used (i.e. stored in the respective MSR) - the generic range validation code checked that the end of the to-be-added range would be above 1MB; the value checked should have been the start of the range - when contained regions are detected, previously this was allowed only when the old region was uncacheable; this can be symmetric (i.e. the new region can also be uncacheable) and even further as per Intel's documentation write-trough and write-back for either region is also compatible with the respective opposite in the other Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit eab724e5df17af0ed0dac03da8f75aa336c31206 Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: adjust pmd_bad() Make pmd_bad() symmetrical to pgd_bad() and pud_bad(). At once, simplify them all. TBD: tighten down the checks again as suggested by Hugh D. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 475850c86b908ae026d5a4be02a1b1e9c408c75a Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: conditionalize inclusion of some MTRR flavors Avoid inclusion of code that's dead for x86-64. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 4a1c42275078f48b90428cdb062f5220d79ec9da Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: remove prototype of free_bootmem_generic() The function doesn't exist (anymore). Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit c6ea396de6836bdeb2d2433368130642bf0f6e15 Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: Don't touch per cpu memory of offline CPUs in touch_nmi_watchdog Just like on x86-64, don't touch foreign CPUs' memory if the watchdog isn't enabled at all. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit b0bfece40b1988aa8e3d910938691dce7859d82d Author: Jan Beulich Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: clear_fixmap() should not use set_pte() While not strictly required with the current code (as the upper half of page table entries generated by __set_fixmap() cannot be non-zero due to the second parameter of this function being 'unsigned long'), the use of set_pte() in __set_fixmap() in the context of clear_fixmap() is still improper with CONFIG_X86_PAE (see the respective comment in include/asm-i386/pgtable-3level.h) and would turn into a bug if that second parameter ever gets changed to a 64-bit type. Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit 9a457324229db34d3bcb0b67360130c287289401 Author: Andi Kleen Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: Rate limit no irq handler messages Signed-off-by: Andi Kleen commit 103efcd9aac1de4da6a1477f2f3b9fcf35273a18 Author: Ernie Petrides Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: fix perms/range of vsyscall vma in /proc/*/maps The final line of /proc//maps on x86_64 for native 64-bit tasks shows an incorrect ending address and incorrect permissions. There is only a single page mapped in this vsyscall region, and it is accessible for both read and execute. The patch below fixes this. (Since 32-bit-compat tasks have a real vma with correct perms/range, no change is necessary for that scenario.) Before the patch, a "cat /proc/self/maps | tail -1" shows this: ffffffffff600000-ffffffffffe00000 ---p 00000000 [...] After the patch, this is the output: ffffffffff600000-ffffffffff601000 r-xp 00000000 [...] Signed-off-by: Ernie Petrides Signed-off-by: Andi Kleen commit c55d92d141b9c40c67db249de91f5c224eb49859 Author: Andi Kleen Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] i386: Add support for compilation for Core2 gcc doesn't support -mtune=core2 yet, but will be soon. Use -mtune=generic or -mtune=i686 as fallback TBD need benchmarking for INTEL_USERCOPY etc. So far I used the same defaults as MPENTIUMM Signed-off-by: Andi Kleen commit 713819989aa4dd141a37074dbc369e7c620bc619 Author: Andi Kleen Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] x86-64: Add option to compile for Core2 Add an option to compile for Intel's Core 2 The Kconfig help is a mouthful due to the inventiveness of Intel's product naming department. Mainly for the 64bit cache line sizes because gcc doesn't support optimizing for core2 yet. However it will and then the kernel should be ready by passing the right option Also fix the old MPSC help text to confirm better to reality. Signed-off-by: Andi Kleen commit 8542b200cbe5609edd7aae0c304c091a1c290452 Author: Zachary Amsden Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] paravirt: Add option to allow skipping the timer check Add a way to disable the timer IRQ routing check via a boot option. The VMI timer code uses this to avoid triggering the pester Mingo code, which probes for some very unusual and broken motherboard routings. It fires 100% of the time when using a paravirtual delay mechanism instead of using a realtime delay, since there is no elapsed real time, and the 4 timer IRQs have not yet been delivered. In addition, it is entirely possible, though improbable, that this bug could surface on real hardware which picks a particularly bad time to enter SMM mode, causing a long latency during one of the timer IRQs. While here, make check_timer be __init. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen [chrisw: use no_timer_check to bring inline with x86_64 as per Andi's request] Signed-off-by: Chris Wright Cc: Andi Kleen Signed-off-by: Andrew Morton commit 8ecb8950695e907ed25acffec9e98c6806e311c8 Author: Zachary Amsden Date: Thu Dec 7 02:14:09 2006 +0100 [PATCH] paravirt: fix missing pte update The function ptep_get_and_clear uses an atomic instruction sequence to get and clear an active pte. Rather than add such an atomic operator to all virtual machine implementations in paravirt-ops, it is easier to support the raw atomic sequence and use either a trapping writable pagetable approach, or a post-update notification. For the post update notification, we require the pte_update function to be called after the access. Combine the 2-level and 3-level paging operators into one common function which does the post-update notification, and rename the actual atomic sequences to raw_ptep_xxx operators. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Chris Wright Signed-off-by: Andrew Morton commit dfbea0ad50e08c52539bddce977b07f77a762ba4 Author: Zachary Amsden Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: fix parameter names in mmu operations Make parameter names match function argument names for the yet to be defined pte_update_defer accessor. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Chris Wright Signed-off-by: Andrew Morton commit a2952d8949bb0b37c1be92a89c4f180c74292857 Author: Zachary Amsden Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Preparatory mmu header movement Move header includes for the nopud / nopmd types to the location of the actual pte / pgd type definitions. This allows generic 4-level page type code to be written before the split 2/3 level page table headers are included. Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Chris Wright Signed-off-by: Andrew Morton commit bd472c794bbf6771c3fc1c58f188bc16c393d2fe Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Be careful about touching BIOS address space BIOS ROM areas may not be mapped into the guest address space, so be careful when touching those addresses to make sure they appear to be mapped. [akpm@osdl.org: fix unused var warning] AK: Changed __get_user to probe_kernel_address Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton commit da181a8b3916aa7f2e3c5775d2bd2fe3454cf82d Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Add MMU virtualization to paravirt_ops Add the three bare TLB accessor functions to paravirt-ops. Most amusingly, flush_tlb is redefined on SMP, so I can't call the paravirt op flush_tlb. Instead, I chose to indicate the actual flush type, kernel (global) vs. user (non-global). Global in this sense means using the global bit in the page table entry, which makes TLB entries persistent across CR3 reloads, not global as in the SMP sense of invoking remote shootdowns, so the term is confusingly overloaded. AK: folded in fix from Zach for PAE compilation Signed-off-by: Zachary Amsden Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 13623d79309dd82e1964458fa017979d16f33fa8 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Add APIC accessors to paravirt-ops. Add APIC accessors to paravirt-ops. Unfortunately, we need two write functions, as some older broken hardware requires workarounds for Pentium APIC errata - this is the purpose of apic_write_atomic. AK: replaced __inline with inline Signed-off-by: Zachary Amsden Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 6020c8f315709a508b027ef6749e85b125190947 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Allow disable power management under hypervisor Two legacy power management modes are much easier to just explicitly disable when running in paravirtualized mode - neither APM nor PnP is still relevant. The status of ACPI is still debatable, and noacpi is still a common enough boot parameter that it is not necessary to explicitly disable ACPI. Signed-off-by: Zachary Amsden Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit 3bbf54725467d604698721384d858b5983b87e8f Author: Andi Kleen Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Disable vdso by default when CONFIG_PARAVIRT is enabled They don't work together and this way even glibc still works. Signed-off-by: Andi Kleen commit 4f205fd45a5c192907188d6f8f6d7e66db859248 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Allow selected bug checks to be Allow selected bug checks to be skipped by paravirt kernels. The two most important are the F00F workaround (which is either done by the hypervisor, or not required), and the 'hlt' instruction check, which can break under some hypervisors. Signed-off-by: Zachary Amsden Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Rusty Russell Cc: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit c9ccf30d77f04064fe5436027ab9d2230c7cdd94 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Add startup infrastructure for paravirtualization 1) Each hypervisor writes a probe function to detect whether we are running under that hypervisor. paravirt_probe() registers this function. 2) If vmlinux is booted with ring != 0, we call all the probe functions (with registers except %esp intact) in link order: the winner will not return. Signed-off-by: Rusty Russell Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Zachary Amsden Signed-off-by: Andrew Morton commit d7cd56111f30259e1b532a12e06f59f8e0a20355 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] i386: cpu_detect extraction Both lhype and Xen want to call the core of the x86 cpu detect code before calling start_kernel. (extracted from larger patch) AK: folded in start_kernel header patch Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Andi Kleen Signed-off-by: Andrew Morton commit 139ec7c416248b9ea227d21839235344edfee1e0 Author: Rusty Russell Date: Thu Dec 7 02:14:08 2006 +0100 [PATCH] paravirt: Patch inline replacements for paravirt intercepts It turns out that the most called ops, by several orders of magnitude, are the interrupt manipulation ops. These are obvious candidates for patching, so mark them up and create infrastructure for it. The method used is that the ops structure has a patch function, which is called for each place which needs to be patched: this returns a number of instructions (the rest are NOP-padded). Usually we can spare a register (%eax) for the binary patched code to use, but in a couple of critical places in entry.S we can't: we make the clobbers explicit at the call site, and manually clobber the allowed registers in debug mode as an extra check. And: Don't abuse CONFIG_DEBUG_KERNEL, add CONFIG_DEBUG_PARAVIRT. And: AK: Fix warnings in x86-64 alternative.c build And: AK: Fix compilation with defconfig And: ^From: Andrew Morton Some binutlises still like to emit references to __stop_parainstructions and __start_parainstructions. And: AK: Fix warnings about unused variables when PARAVIRT is disabled. Signed-off-by: Rusty Russell Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Chris Wright Signed-off-by: Zachary Amsden Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton commit d3561b7fa0fb0fc583bab0eeda32bec9e4c4056d Author: Rusty Russell Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] paravirt: header and stubs for paravirtualisation Create a paravirt.h header for all the critical operations which need to be replaced with hypervisor calls, and include that instead of defining native operations, when CONFIG_PARAVIRT. This patch does the dumbest possible replacement of paravirtualized instructions: calls through a "paravirt_ops" structure. Currently these are function implementations of native hardware: hypervisors will override the ops structure with their own variants. All the pv-ops functions are declared "fastcall" so that a specific register-based ABI is used, to make inlining assember easier. And: +From: Andy Whitcroft The paravirt ops introduce a 'weak' attribute onto memory_setup(). Code ordering leads to the following warnings on x86: arch/i386/kernel/setup.c:651: warning: weak declaration of `memory_setup' after first use results in unspecified behavior Move memory_setup() to avoid this. Signed-off-by: Rusty Russell Signed-off-by: Chris Wright Signed-off-by: Andi Kleen Cc: Jeremy Fitzhardinge Cc: Zachary Amsden Signed-off-by: Andrew Morton Signed-off-by: Andy Whitcroft commit db91b882aabd0b3b55a87cbfb344f2798bb740b4 Author: Nicolas Kaiser Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] i386: Fix double #includes in arch/i386 Fix double #includes in arch/i386 Signed-off-by: Nicolas Kaiser Signed-off-by: Andi Kleen commit 3529833f1ca8790df06ce218b5d9d438776696ed Author: David Rientjes Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] i386: substitute __va lookup with pfn_to_kaddr Substitutes allocate_pgdat virtual address lookup with pfn_to_kaddr macro. Signed-off-by: David Rientjes Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit b6bcc4bb1cdfbc3c8612aad63a8703ac3d59f61a Author: Andi Kleen Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] x86-64: Don't force inlining of do_csum It's two big and used by two callers. Calls should be cheap enough anyways. Signed-off-by: Andi Kleen commit 8c89812684de3b47066d800031dfd7098abbdc74 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] i386: remove IOPL check on task switch IOPL is implicitly saved and restored on task switch, so explicit check is no longer needed. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Andi Kleen commit 516d2836434d279fef164bb1b964e83425d312d2 Author: Andi Kleen Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] x86-64: Fix race in IO-APIC routing entry setup. Interrupt could happen between setting the IO-APIC entry and setting its interrupt data. Pointed out by Linus. Signed-off-by: Andi Kleen commit d15512f442ef1ea60f6195b0444fb27b3cf8d0e6 Author: Andi Kleen Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] i386: Fix race in IO-APIC routing entry setup. Interrupt could happen between setting the IO-APIC entry and setting its interrupt data. Pointed out by Linus. Signed-off-by: Andi Kleen commit e6536c1262c56d302e749ab1b44fdb0b9786327d Author: Paolo 'Blaisorblade' Giarrusso Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] x86: comment magic constants in delay.h For both i386 and x86_64, copy from arch/$ARCH/lib/delay.c comments about the used magic constants, plus a few other niceties. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andi Kleen include/asm-i386/delay.h | 5 ++++- include/asm-x86_64/delay.h | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) commit b9a8d94a47f8a41766f6f7944adfb1d641349903 Author: Paolo 'Blaisorblade' Giarrusso Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] x86-64: Make x86_64 udelay() round up instead of down. Port two patches from i386 to x86_64 delay.c to make sure all rounding is done upward instead of downward. There is no sign in commit messages that the mismatch was done on purpose, and "delay() guarantees sleeping at least for the specified time" is still a valid rule IMHO. The original x86 patches are both from pre-GIT era, i.e.: "[PATCH] round up in __udelay()" in commit 54c7e1f5cc6771ff644d7bc21a2b829308bd126f "[PATCH] add 1 in __const_udelay()" in commit 42c77a9801b8877d8b90f65f75db758822a0bccc (both commits are from converted BK repository to x86_64). AK: fixed gcc warning linux/arch/x86_64/lib/delay.c:43: warning: suggest parentheses around + or - inside shift (did this actually work?) Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andi Kleen commit bff6547bb6a4e82c399d74e7fba78b12d2f162ed Author: Muli Ben-Yehuda Date: Thu Dec 7 02:14:07 2006 +0100 [PATCH] Calgary: allow compiling Calgary in but not using it by default This patch makes it possible to compile Calgary in but not use it by default. In this mode, use 'iommu=calgary' to activate it. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Jon Mason Signed-off-by: Andi Kleen commit eae93755540bae18aff46b8a0e621b5d65bd5380 Author: Muli Ben-Yehuda Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] Calgary: check BBAR ioremap success when ioremapping This patch cleans up the previous "Use BIOS supplied BBAR information" patch. Mostly stylistic clenaups, but also check for ioremap failure when we ioremap the BBAR rather than when trying to use it. Signed-off-by: Muli Ben-Yehuda Signed-off-by: Jon Mason Signed-off-by: Andi Kleen Acked-by: Laurent Vivier commit b34e90b8f0f30151349134f87b5dc6ef75a5218c Author: Laurent Vivier Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] Calgary: use BIOS supplied BBARs and topology information Find the BBAR register address of each Calgary using the "Extended BIOS Data Area" rather than calculating it ourselves. Also get the bus topology (what PHB each bus is on) from Calgary rather than calculating it ourselves. This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=7407. Signed-off-by: Laurent Vivier Signed-off-by: Muli Ben-Yehuda Signed-off-by: Jon Mason Signed-off-by: Andi Kleen commit 58db85482743f5e3495d168c641c60ce1d3dfb06 Author: Muli Ben-Yehuda Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] calgary: phb_shift can be int Signed-off-by: Muli Ben-Yehuda Signed-off-by: Jon Mason Signed-off-by: Andi Kleen commit cef518e88b8ed94ea483c436ef5e5b151a3fabc6 Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: Move memory map printing and other code to e820.c This patch moves e820 memory map print and memmap boot param parsing function from setup.c to e820.c, also adds limit_regions and print_memory_map declaration in header file. Signed-off-by: bibo,mao Signed-off-by: Andi Kleen arch/i386/kernel/e820.c | 152 +++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 158 --------------------------------- include/asm-i386/e820.h | 2 arch/i386/kernel/e820.c | 152 ++++++++++++++++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 153 ----------------------------------------------- include/asm-i386/e820.h | 2 3 files changed, 155 insertions(+), 152 deletions(-) commit b5b2405706005cc7765f6ecd00965d29e93f090a Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: Move e820/efi memmap walking code to e820.c This patch moves e820/efi memmap table walking function from setup.c to e820.c, also this patch adds extern declaration in header file. Signed-off-by: bibo,mao Signed-off-by: Andi Kleen arch/i386/kernel/e820.c | 115 +++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 118 ----------------------------------- include/asm-i386/e820.h | 2 arch/i386/kernel/e820.c | 115 +++++++++++++++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 118 ----------------------------------------------- include/asm-i386/e820.h | 2 3 files changed, 117 insertions(+), 118 deletions(-) commit b2dff6a88cbed59d787a8ca7367c76ba385e1187 Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: Move find_max_pfn function to e820.c Move more code from setup.c into e820.c Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit 8e3342f736dd1c19ce7c28625dedd7d8730fc7ad Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: create e820.c for e820 map sanitize and copy function This patch moves bios e820 map sanitize and copy function from setup.c to e820.c Signed-off-by: bibo,mao Signed-off-by: Andi Kleen arch/i386/kernel/e820.c | 252 +++++++++++++++++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 240 -------------------------------------------- 2 files changed, 252 insertions(+), 240 deletions(-) commit 269c2d81ed66af7c09a1619ffe165f03e7470a5b Author: bibo,mao Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: i386 create e820.c to handle standard io/mem resources This patch creates new file named e820.c to hanle standard io/mem resources, moving request_standard_resources function from setup.c to e820.c. Also this patch modifies Makfile to compile file e820.c. Signed-off-by: bibo,mao Signed-off-by: Andi Kleen Makefile | 2 arch/i386/kernel/Makefile | 2 arch/i386/kernel/e820.c | 289 ++++++++++++++++++++++++++++++++++++++++++++++ arch/i386/kernel/setup.c | 276 ------------------------------------------- 3 files changed, 293 insertions(+), 274 deletions(-) commit 8e3de538eec95b57a5b86038988451c38ba83f7e Author: Albert Cahalan Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] x86-64: Support -mregparm arguments for signals with SA_SIGINFO in compat mode The recent change to make x86_64 support i386 binaries compiled with -mregparm=3 only covered signal handlers without SA_SIGINFO. (the 3-arg "real-time" ones) To be compatible with i386, both types should be supported. Signed-off-by: Albert Cahalan Signed-off-by: Andi Kleen commit b026872601976f666bae77b609dc490d1834bf77 Author: Andi Kleen Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] x86-64: Try multiple timer variants in check_timer Instead of adding all kinds of more quirks try various timer routing variants in check_timer. In particular this tries to handle quirks from: - Nvidia NF2-4 reference BIOS: wrong timer override - Asus: Wrong timer override but no HPET table - ATI: require timer disabled in 8259 - Some boards: require timer enabled in 8259 We just try many of the the known variants in the hopefully right order in check_timer. Trying pin 0/2 on Nvidia suggested by Tim Hockin. TBD Experimental. Needs a lot of testing Signed-off-by: Andi Kleen commit 11a4180c0b03e2ee0c948fd8430ee092dc1625b3 Author: Andi Kleen Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] i386: Use probe_kernel_address instead of __get_user in fault paths Makes the intention of the code cleaner to read and avoids a potential deadlock on mmap_sem. Also change the types of the arguments to not include __user because they're really not user addresses. Signed-off-by: Andi Kleen commit ab2bf0c1c689905b628dca94d0acd9c50e152468 Author: Andi Kleen Date: Thu Dec 7 02:14:06 2006 +0100 [PATCH] x86-64: Use probe_kernel_address in arch/x86_64/* Instead of open coded __get_user Signed-off-by: Andi Kleen commit 2fff0a48416af891dce38fd425246e337831e0bb Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] Generic: Move __user cast into probe_kernel_address Caller of probe_kernel_address shouldn't need to know that pka is internally implemented with __get_user. So move the __user cast into pka. Signed-off-by: Andi Kleen commit 5df0287ecc4f53e68bbd188fa8258b555e6b734f Author: Yinghai Lu Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] x86-64: Extend clear_irq_vector Clear the irq releated entries in irq_vector, irq_domain and vector_irq instead of clearing irq_vector only. So when new irq is created, it could reuse that vector. (actually is the second loop scanning from FIRST_DEVICE_VECTOR+8). This could avoid the vectors are used up with enough module inserting and removing Cc: Eric W. Biedierman Cc: Muli Ben-Yehuda Signed-off-By: Yinghai Lu Signed-off-by: Andi Kleen commit 3760dd6efa75c98e223643da2eb7040406433053 Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] i386: Use CLFLUSH instead of WBINVD in change_page_attr CLFLUSH is a lot faster than WBINVD so try to use that. Signed-off-by: Andi Kleen commit 770d132f03ac15b12919f1bac481f4beda13e094 Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] i386: Retrieve CLFLUSH size from CPUID Also report it in /proc/cpuinfo similar to x86-64. Needed for followon patch Signed-off-by: Andi Kleen commit ea7322decb974a4a3e804f96a0201e893ff88ce3 Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] x86-64: Speed and clean up cache flushing in change_page_attr CLFLUSH is a lot faster than WBINVD so avoid the later if at all possible. Always pass the complete list of pages to other CPUs to cut down the number of IPIs. Minor other cleanup and sync with i386 version. Signed-off-by: Andi Kleen commit 74b47a7844501445d41d704fe7c626f4b1819508 Author: Joe Korty Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Fix entry.S code with !CONFIG_VM86 The entry.S code at work_notifysig is surely wrong. It drops into unrelated code if the branch to work_notifysig_v86 is taken, and CONFIG_VM86=n. [PATCH] Make vm86 support optional tree 9b5daef5280800a0006343a17f63072658d91a1d pushed to git Jan 8, 2006, and first appears in 2.6.16 The 'fix' here is to also compile out the vm86 test & branch when CONFIG_VM86=n. Signed-off-by: Joe Korty Signed-off-by: Andi Kleen commit 249e83fe839a13b5dc94285daeeaf70f6e54d930 Author: Avi Kivity Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] x86-64: Extract segment descriptor definitions for use outside Code that wants to use struct desc_struct cannot do so on i386 because desc.h contains other code that will only compile on x86_64. So extract the structure definitions into a asm-x86_64/desc_defs.h. Signed-off-by: Avi Kivity Signed-off-by: Andi Kleen include/asm-x86_64/desc.h | 53 ------------------------------- include/asm-x86_64/desc_defs.h | 69 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 52 deletions(-) commit 4c7aa6c3b25ef96bc1b723238041195e3d8bf047 Author: Vivek Goyal Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Mark CONFIG_RELOCATABLE EXPERIMENTAL Signed-off-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit be274eeaf20b4c7155242645d5e2c48b023e609b Author: Vivek Goyal Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: extend bzImage protocol for relocatable protected mode kernel Extend bzImage protocol to enable bootloaders to load a completely relocatable bzImage. Now protected mode component of kernel is also relocatable and a boot-loader can load the protected mode component at a differnt physical address than 1MB. (If kernel was built with CONFIG_RELOCATABLE) Kexec can make use of it to load this kernel at a different physical address to capture kernel crash dumps. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit e69f202d0a1419219198566e1c22218a5c71a9a6 Author: Vivek Goyal Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Implement CONFIG_PHYSICAL_ALIGN o Now CONFIG_PHYSICAL_START is being replaced with CONFIG_PHYSICAL_ALIGN. Hardcoding the kernel physical start value creates a problem in relocatable kernel context due to boot loader limitations. For ex, if somebody compiles a relocatable kernel to be run from address 4MB, but this kernel will run from location 1MB as grub loads the kernel at physical address 1MB. Kernel thinks that I am a relocatable kernel and I should run from the address I have been loaded at. So somebody wanting to run kernel from 4MB alignment location (for improved performance regions) can't do that. o Hence, Eric proposed that probably CONFIG_PHYSICAL_ALIGN will make more sense in relocatable kernel context. At run time kernel will move itself to a physical addr location which meets user specified alignment restrictions. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 6a044b3a0a1829ef19bb29548ffe553f48e8d80c Author: Vivek Goyal Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Warn upon absolute relocations being present o Relocations generated w.r.t absolute symbols are not processed as by definition, absolute symbols are not to be relocated. Explicitly warn user about absolutions relocations present at compile time. o These relocations get introduced either due to linker optimizations or some programming oversights. o Also create a list of symbols which have been audited to be safe and don't emit warnings for these. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 968de4f02621db35b8ae5239c8cfc6664fb872d8 Author: Eric W. Biederman Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: Relocatable kernel support This patch modifies the i386 kernel so that if CONFIG_RELOCATABLE is selected it will be able to be loaded at any 4K aligned address below 1G. The technique used is to compile the decompressor with -fPIC and modify it so the decompressor is fully relocatable. For the main kernel relocations are generated. Resulting in a kernel that is relocatable with no runtime overhead and no need to modify the source code. A reserved 32bit word in the parameters has been assigned to serve as a stack so we figure out where are running. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit fd593d12770d4a0d1ff095d44b96436c18479ee8 Author: Eric W. Biederman Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] relocatable kernel: Kallsyms generate relocatable symbols Print the addresses of non-absolute symbols relative to _text so that ld will generate relocations. Allowing a relocatable kernel to relocate them. We can't actually use the symbol names because kallsyms includes static symbols that are not exported from their object files. Add the _text symbol definitions to the architectures which don't define it otherwise linker will fail. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 2a43f3ede48ea3d5790b863b719a1e21c90a3697 Author: Eric W. Biederman Date: Thu Dec 7 02:14:04 2006 +0100 [PATCH] i386: CONFIG_PHYSICAL_START cleanup Defining __PHYSICAL_START and __KERNEL_START in asm-i386/page.h works but it triggers a full kernel rebuild for the silliest of reasons. This modifies the users to directly use CONFIG_PHYSICAL_START and linux/config.h which prevents the full rebuild problem, which makes the code much more maintainer and hopefully user friendly. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 8621b81c744ff8880a1efe095a4dcd09763ddb5a Author: Eric W. Biederman Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Reserve kernel memory starting from _text Currently when we are reserving the memory the kernel text resides in we start at __PHYSICAL_START which happens to be correct but not very obvious. In addition when we start relocating the kernel __PHYSICAL_START is the wrong value, as it is an absolute symbol that does not get relocated. By starting the reservation at __pa_symbol(_text) the code is clearer and will be correct when relocated. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 9f45accf17efc050ba26bf77cc4f166c950b284e Author: Eric W. Biederman Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: define __pa_symbol() On x86_64 we have to be careful with calculating the physical address of kernel symbols. Both because of compiler odditities and because the symbols live in a different range of the virtual address space. Having a defintition of __pa_symbol that works on both x86_64 and i386 simplifies writing code that works for both x86_64 and i386 that has these kinds of dependencies. So this patch adds the trivial i386 __pa_symbol definition. Added assembly magic similar to RELOC_HIDE as suggested by Andi Kleen. Just picked it up from x86_64. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 6ed018845f1172cdc94f8a20ad807df901c6b7eb Author: Vivek Goyal Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Add comment for align to vmlinux.lds Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 6569580de7ae367def89b7671029cb97c1965574 Author: Vivek Goyal Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Distinguish absolute symbols Ld knows about 2 kinds of symbols, absolute and section relative. Section relative symbols symbols change value when a section is moved and absolute symbols do not. Currently in the linker script we have several labels marking the beginning and ending of sections that are outside of sections, making them absolute symbols. Having a mixture of absolute and section relative symbols refereing to the same data is currently harmless but it is confusing. This must be done carefully as newer revs of ld do not place symbols that appear in sections without data and instead ld makes those symbols global :( My ultimate goal is to build a relocatable kernel. The safest and least intrusive technique is to generate relocation entries so the kernel can be relocated at load time. The only penalty would be an increase in the size of the kernel binary. The problem is that if absolute and relocatable symbols are not properly specified absolute symbols will be relocated or section relative symbols won't be, which is fatal. The practical motivation is that when generating kernels that will run from a reserved area for analyzing what caused a kernel panic, it is simpler if you don't need to hard code the physical memory location they will run at, especially for the distributions. [AK: and merged:] o Also put a message so that in future people can be aware of it and avoid introducing absolute symbols. Signed-off-by: Eric W. Biederman Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen commit 67fd44fea274a5033ceb90284683bc44df61df54 Author: Andi Kleen Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] x86-64: Implement compat code for SIOCSIFHWBROADCAST This network ioctl wasn't handled before. Reported by Alexandra.Kossovsky@oktetlabs.ru (Alexandra Kossovsky) Signed-off-by: Andi Kleen commit 9c5f8be4625e73f17e28fea89399ed871a30e064 Author: Andi Kleen Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] x86: Mention PCI instead of RAM in NMI parity error message On modern systems RAM errors don't cause NMIs, but it's usually caused by PCI SERR. Mention PCI instead of RAM in the printk. Reported by r_hayashi@ctc-g.co.jp (Ryutaro Hayashi) Cc: r_hayashi@ctc-g.co.jp Signed-off-by: Andi Kleen commit 7cd8b6861eb586aabe4c725cc0c259ce2e653695 Author: Alan Cox Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] x86: remove last two pci_find offenders in the core code Resending as I believe the discussion about them established they were correct. Signed-off-by: Alan Cox Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 72690a21188586022a9e65cb6f1cc8845167555a Author: Andi Kleen Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] x86: Don't use nested idle loops Currently the idle loop has two nested loops -- one high level in cpu_idle and in some low level idle functions another one. Looping in the low level idle functions breaks the idle notifiers because interrupts waking up sleep states need to execute exit_idle() which is only in cpu_idle(). So don't do that, only loop in cpu_idle(). This only removes code. In some cases e.g. poll_idle the idle loop is a little longer now because cpu_idle checks more things. I hope that isn't a problem ACPI idle doesn't change behaviour because it never looped anyways. Cc: len.brown@intel.com Cc: eranian@hpl.hp.com Signed-off-by: Andi Kleen commit 63cb683c6ed56a420ba60df6a5b206a44e3f85fe Author: Andi Kleen Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: PDA: Fix math emulator for new pt_regs This patch fixes the math emulator, which had not been adjusted to match the changed struct pt_regs. AK: extracted from larger patch by Jeremy. Signed-off-by: Andi Kleen commit 70463daca852db396ce17f179d2404b257ba0f66 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Store the interrupt regs pointer in the PDA Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit ec7fcaabbfb3c5bd5189f857b6ac7bb9745ef291 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Implement "current" with the PDA Use the pcurrent field in the PDA to implement the "current" macro. This ends up compiling down to a single instruction to get the current task. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit b2938f880890ebfcccad356275e0000193153623 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Implement smp_processor_id() with the PDA Use the cpu_number in the PDA to implement raw_smp_processor_id. This is a little simpler than using thread_info, though the cpu field in thread_info cannot be removed since it is used for things other than getting the current CPU in common code. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit 49d26b6eaa8e970c8cf6e299e6ccba2474191bf5 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:03 2006 +0100 [PATCH] i386: Update sys_vm86 to cope with changed pt_regs and %gs usage sys_vm86 uses a struct kernel_vm86_regs, which is identical to pt_regs, but adds an extra space for all the segment registers. Previously this structure was completely independent, so changes in pt_regs had to be reflected in kernel_vm86_regs. This changes just embeds pt_regs in kernel_vm86_regs, and makes the appropriate changes to vm86.c to deal with the new naming. Also, since %gs is dealt with differently in the kernel, this change adjusts vm86.c to reflect this. While making these changes, I also cleaned up some frankly bizarre code which was added when auditing was added to sys_vm86. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Cc: Al Viro Cc: Jason Baron Cc: Chris Wright Signed-off-by: Andrew Morton commit 66e10a44d724f1464b5e8b5a3eae1e2cbbc2cca6 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Fix places where using %gs changes the usermode ABI There are a few places where the change in struct pt_regs and the use of %gs affect the userspace ABI. These are primarily debugging interfaces where thread state can be inspected or extracted. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit f95d47caae5302a63d92be9a0292abc90e2a14e1 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Use %gs as the PDA base-segment in the kernel This patch is the meat of the PDA change. This patch makes several related changes: 1: Most significantly, %gs is now used in the kernel. This means that on entry, the old value of %gs is saved away, and it is reloaded with __KERNEL_PDA. 2: entry.S constructs the stack in the shape of struct pt_regs, and this is passed around the kernel so that the process's saved register state can be accessed. Unfortunately struct pt_regs doesn't currently have space for %gs (or %fs). This patch extends pt_regs to add space for gs (no space is allocated for %fs, since it won't be used, and it would just complicate the code in entry.S to work around the space). 3: Because %gs is now saved on the stack like %ds, %es and the integer registers, there are a number of places where it no longer needs to be handled specially; namely context switch, and saving/restoring the register state in a signal context. 4: And since kernel threads run in kernel space and call normal kernel code, they need to be created with their %gs == __KERNEL_PDA. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit 62111195800d80c66cdc69063ea3145878c99fbf Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Initialize the per-CPU data area When a CPU is brought up, a PDA and GDT are allocated for it. The GDT's __KERNEL_PDA entry is pointed to the allocated PDA memory, so that all references using this segment descriptor will refer to the PDA. This patch rearranges CPU initialization a bit, so that the GDT/PDA are set up as early as possible in cpu_init(). Also for secondary CPUs, GDT+PDA are preallocated and initialized so all the secondary CPU needs to do is set up the ldt and load %gs. This will be important once smp_processor_id() and current use the PDA. In all cases, the PDA is set up in head.S, before a CPU starts running C code, so the PDA is always available. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Cc: James Bottomley Cc: Matt Tolentino Signed-off-by: Andrew Morton commit 9ca36101a8d74704d78f10910f89d62de96f9dc8 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Basic definitions for i386-pda This patch has the basic definitions of struct i386_pda, and the segment selector in the GDT. asm-i386/pda.h is more or less a direct copy of asm-x86_64/pda.h. The most interesting difference is the use of _proxy_pda, which is used to give gcc a model for the actual memory operations on the real pda structure. No actual reference is ever made to _proxy_pda, so it is never defined. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Chuck Ebbert <76306.1226@compuserve.com> Cc: Zachary Amsden Cc: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit eb5b7b9d86f46b45ba1f986302fdf7df84fb8297 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Use asm-offsets for the offsets of registers into the pt_regs struct Use asm-offsets for the offsets of registers into the pt_regs struct, rather than having hard-coded constants I left the constants in the comments of entry.S because they're useful for reference; the code in entry.S is very dependent on the layout of pt_regs, even when using asm-offsets. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Keith Owens Signed-off-by: Andrew Morton commit bcddc0155f351ab3f06c6ede6d91fd399ef9e18f Author: Jan Beulich Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] x86-64: miscellaneous entry.S adjustments This patch: - makes ret_from_sys_call no longer global (all external users were previously switched to use int_ret_from_sys_call) - adjusts placement of a CFI_{REMEMBER,RESTORE}_STATE pair to better fit logic flow - eliminates an unnecessary pair of CFI_{REMEMBER,RESTORE}_STATE - glues together function- and unwinder-wise the previously separate system_call and int_ret_from_sys_call function fragments Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen commit da68933e0a999fb13636653c710cca701b457ad2 Author: Andrew Morton Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] x86-64: dump_trace() atomicity fix Fix BUG: using smp_processor_id() in preemptible [00000001] code: in backtracer on preemptible debug kernels. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit bb0d977ed42c79ed709c79dbab4ff2159941eb2a Author: Stephane Eranian Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: add Intel Core related PMU MSRs - add Intel Precise-Event Based sampling (PEBS) related MSR - add Intel Data Save (DS) Area related MSR - add Intel Core microarchitecure performance counter MSRs Signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit 86efef50cfff9905c4e4ec64f3d3d3b299226674 Author: Stephane Eranian Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] x86-64: x86-64 add Intel Core related PMU MSRs definitions Add o the x86-64 tree a bunch of MSRs related to performance monitoring for the processors based on Intel Core microarchitecture. It also adds some architectural MSRs for PEBS. A similar patch for i386 will follow. changelog: - add Intel Precise-Event Based sampling (PEBS) related MSR - add Intel Data Save (DS) Area related MSR - add Intel Core microarchitecure performance counter MSRs Signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit fa5cecd111d235819a1d807d43216ae459a0dd6f Author: Amol Lad Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: add missing iounmap in i386 hpet clocksource code ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad Signed-off-by: Andi Kleen commit c0e84b9901c0924e2503c0aab3772a4469ba4aef Author: Amol Lad Date: Thu Dec 7 02:14:02 2006 +0100 [PATCH] i386: Add iounmap in error paths in hpet code Signed-off-by: Amol Lad Signed-off-by: Andi Kleen commit 399287229c775a8962a852a761d65dc9475dec7c Author: Aaron Durbin Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86-64: Insert Local and IO APIC(s) into resource map Insert the Local APIC and IO APIC(s) into the resource tree. It allows the APIC resources to be visible within /proc/iomem. The patch also takes into account IO APIC(s) mapped in the PCI space by deferring the insertion until after PCI has allocated its necessary resources. Signed-off-by: Aaron Durbin Signed-off-by: Andi Kleen Cc: Andi Kleen Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton commit acc207616a91a413a50fdd8847a747c4a7324167 Author: Chuck Ebbert <76306.1226@compuserve.com> Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: add sleazy FPU optimization i386 port of the sLeAZY-fpu feature. Chuck reports that this gives him a +/- 0.4% improvement on his simple benchmark x86_64 description follows: Right now the kernel on x86-64 has a 100% lazy fpu behavior: after *every* context switch a trap is taken for the first FPU use to restore the FPU context lazily. This is of course great for applications that have very sporadic or no FPU use (since then you avoid doing the expensive save/restore all the time). However for very frequent FPU users... you take an extra trap every context switch. The patch below adds a simple heuristic to this code: After 5 consecutive context switches of FPU use, the lazy behavior is disabled and the context gets restored every context switch. If the app indeed uses the FPU, the trap is avoided. (the chance of the 6th time slice using FPU after the previous 5 having done so are quite high obviously). After 256 switches, this is reset and lazy behavior is returned (until there are 5 consecutive ones again). The reason for this is to give apps that do longer bursts of FPU use still the lazy behavior back after some time. Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit be44d2aabce2d62f72d5751d1871b6212bf7a1c7 Author: Stas Sergeev Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: espfix cleanup Clean up the espfix code: - Introduced PER_CPU() macro to be used from asm - Introduced GET_DESC_BASE() macro to be used from asm - Rewrote the fixup code in asm, as calling a C code with the altered %ss appeared to be unsafe - No longer altering the stack from a .fixup section - 16bit per-cpu stack is no longer used, instead the stack segment base is patched the way so that the high word of the kernel and user %esp are the same. - Added the limit-patching for the espfix segment. (Chuck Ebbert) [jeremy@goop.org: use the x86 scaling addressing mode rather than shifting] Signed-off-by: Stas Sergeev Signed-off-by: Andi Kleen Acked-by: Zachary Amsden Acked-by: Chuck Ebbert <76306.1226@compuserve.com> Acked-by: Jan Beulich Cc: Andi Kleen Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andrew Morton commit bb81a09e55eaf7e5f798468ab971469b6f66a259 Author: Andrew Morton Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86: all cpu backtrace When a spinlock lockup occurs, arrange for the NMI code to emit an all-cpu backtrace, so we get to see which CPU is holding the lock, and where. Cc: Andi Kleen Cc: Ingo Molnar Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Andi Kleen commit e5e3a0428968dcc1f9318ce1c941a918e99f8b84 Author: Jeremy Fitzhardinge Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: remove default_ldt, and simplify ldt-setting. This patch removes the default_ldt[] array, as it has been unused since iBCS stopped being supported. This means it is now possible to actually set an empty LDT segment. In order to deal with this, the set_ldt_desc/load_LDT pair has been replaced with a single set_ldt() operation which is responsible for both setting up the LDT descriptor in the GDT, and reloading the LDT register. If there are no LDT entries, the LDT register is loaded with a NULL descriptor. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Andi Kleen Cc: Andi Kleen Acked-by: Zachary Amsden Signed-off-by: Andrew Morton commit e2764a1e306c986053a52b33748c33463cf888de Author: Alexey Dobriyan Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86-64: use BUILD_BUG_ON in FPU code Signed-off-by: Alexey Dobriyan Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit 42ed458aa51337357d7632c64aed4528f923e829 Author: Stephane Eranian Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: i386 add X86_FEATURE_PEBS and detection Here is a patch (used by perfmon2) to detect the presence of the Precise Event Based Sampling (PEBS) feature for i386. The patch also adds the cpu_has_pebs macro. - adds X86_FEATURE_PEBS - adds cpu_has_pebs to test for X86_FEATURE_PEBS Signed-off-by: stephane eranian Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit d7731c0ff69dc3f18ea020257e627dae4d214fdb Author: Stephane Eranian Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] i386: i386 rename X86_FEATURE_DTES to X86_FEATURE_DS Here is a patch (used by perfmon2) that renames X86_FEATURE_DTES to X86_FEATURE_DS to match Intel's documentation for the Debug Store save area on i386. The patch also adds cpu_has_ds. - rename X86_FEATURE_DTES to X86_FEATURE_DS to match documentation - adds cpu_has_ds to test for X86_FEATURE_DS Signed-off-by: stephane eranian Signed-off-by: Andi Kleen Cc: Andi Kleen Signed-off-by: Andrew Morton commit d8cebe65ea5179e3293c38427d71f4d73c795d39 Author: Yinghai Lu Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86-64: remove duplicated cpu_mask_to_apicid in x86_64 smp.h inline function cpu_mask_to_apicid in smp.h is duplicated with macro in mach_apic.h. Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen commit 36b2a8d5aff4cb3ee83d5e40447a8f073bcfe2fb Author: Stephane Eranian Date: Thu Dec 7 02:14:01 2006 +0100 [PATCH] x86-64: add X86_FEATURE_PEBS and detection Here is a patch (used by perfmon2) to detect the presence of the Precise Event Based Sampling (PEBS) feature for Intel 64-bit processors. The patch also adds the cpu_has_pebs macro. changelog: - adds X86_FEATURE_PEBS - adds cpu_has_pebs to test for X86_FEATURE_PEBS Signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit bd1d599518bf11992cc6d5b0df08da4a2b7b0db5 Author: Stephane Eranian Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86-64: x86_64 rename X86_FEATURE_DTES to X86_FEATURE_DS Here is a patch (used by perfmon2) that renamed X86_FEATURE_DTES to X86_FEATURE_DS to match Intel's documentation for the Debug Store save area. The patch also adds cpu_has_ds. changelog: - rename X86_FEATURE_DTES to X86_FEATURE_DS to match documentation - adds cpu_has_ds to test for X86_FEATURE_DS Signed-off-by: stephane eranian Signed-off-by: Andi Kleen commit 87e1652c7863b9ae406ff37f33c7ec2bb494d7b1 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86-64: Don't keep interrupts disabled while spinning in spinlocks Follows i386. Based on patch from some folks at Google (MikeW, Edward G.?), but completely redone by AK. Signed-off-by: Andi Kleen commit a63954b5cad5765e52870bb649992bf636f32a6b Author: Dave Jones Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] i386: remove pointless printk from i386 oops output This just got removed on x86-64, do the same on 32bit. It always annoyed me when this ate a line of oops output pushing interesting stuff off the screen. Signed-off-by: Dave Jones Signed-off-by: Andi Kleen commit d606f88fa5e529e9dc72be97e79db1e36a6261cb Author: Randy Dunlap Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] i386: fix must_checks Fix __must_check warnings in i386/math-emu. Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen commit dd315df1767cf56bd4fb8d730fdff4a3d7e15d84 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86: Compress stack unwinder output The unwinder has some extra newlines, which eat up loads of screen space when it spews. (See https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=137900 for a nasty example). warning_symbol-> and warning-> already printk a newline, so don't add one in the strings passed to them. [AK: redone for new code] Signed-off-by: Dave Jones Signed-off-by: Andi Kleen commit b615ebdac97c648a2ae7d23c5a0bbb3972adf928 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86: shorten lines in unwinder to be <= 80 characters Andrew complained about > 80 character lines in the new unwinder. Fix that. Signed-off-by: Andi Kleen commit 9b483417527f2e47985856867c5716df013227c7 Author: Andreas Mohr Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] i386: fix buggy MTRR address checks Fix checks that failed to realize that values are 4-kB-unit-sized (note the format strings in this same diff context which *do* realize the unit size, via appended "000"!). Also fix an incorrect below-1MB area check (as gathered from Jan Beulich's unapplied patch at http://www.ussg.iu.edu/hypermail/linux/kernel/0411.1/1378.html ) Update mtrr_add_page() docu to make 4-kB-sized calculation more obvious. Given several further items mentioned in Jan's patch mail, all in all MTRR code seems surprisingly buggy, for a surprisingly long period of time (many years). Further work/investigation would be useful. TBD Note that my patch is pretty much UNTESTED, since I can only verify that it TBD successfully boots my machine, but I cannot test against actual buggy TBD hardware which would require these (formerly broken) checks. Long -mm TBD simmering would make sense, especially since these now-working checks might TBD turn out to have adverse effects on unaffected hardware. Signed-off-by: Andreas Mohr Signed-off-by: Andi Kleen Acked-by: Jan Beulich Cc: Andi Kleen Signed-off-by: Andrew Morton commit dc3d1742543fffc79dc4d680ab64d2059e97d809 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit 8f820e976057261e249367514e9920cf20048c76 Author: Andi Kleen Date: Thu Dec 7 02:14:00 2006 +0100 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit 620034c84d1d939717bdfbe02c51a3fee43541c3 Author: Jesper Juhl Date: Thu Dec 7 00:45:58 2006 +0100 [PATCH] A few small additions and corrections to README Here's a small patch which - adds a few archs to the current list of supported platforms. - adds a few missing slashes at the end of URLs. - adds a few references to additional documentation. - adds "make config" to the list of possible configuration targets. - makes a few other minor changes. Signed-off-by: Jesper Juhl [ Ben Nizette points out AVR32 arch too ] Signed-off-by: Linus Torvalds commit 6fc52f81a871e4c29ade34dd736a383906caf47e Author: Jesper Juhl Date: Thu Dec 7 00:16:26 2006 +0100 [PATCH] Clean up 'make help' output for documentation targets. Here's a patch that cleans up the "make help" output a bit for the documentation targets. Currently the documentation targets are listed completely different than all the other targets : Documentation targets: Linux kernel internal documentation in different formats: xmldocs (XML DocBook), psdocs (Postscript), pdfdocs (PDF) htmldocs (HTML), mandocs (man pages, use installmandocs to install) with this patch they are more in line with the rest of the output : Documentation targets: Linux kernel internal documentation in different formats: htmldocs - HTML installmandocs - install man pages generated by mandocs mandocs - man pages pdfdocs - PDF psdocs - Postscript xmldocs - XML DocBook Signed-off-by: Jesper Juhl Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 36b12fb709d229f277efbbe710031d5a429b2412 Author: Dave Kleikamp Date: Wed Dec 6 17:48:32 2006 -0600 JFS: Fix conflicting superblock flags JFS_NOINTEGRITY and JFS_USRQUOTA are defined to be the same value. Change JFS_NOINTEGRITY to 0x40 and re-order the flags in the header file to avoid repeating this problem. Signed-off-by: Dave Kleikamp commit 2fdb611d3102509e31ef21c79fc91f97f300b9c3 Author: Al Viro Date: Wed Dec 6 21:15:22 2006 +0000 [PATCH] ... and then some more work_struct-induced breakage (ibmvscsi) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 91c7c56855855d63c46c854c38576135be31a4c9 Author: Al Viro Date: Wed Dec 6 19:50:06 2006 +0000 [PATCH] ... and more work_struct-induced breakage (mips) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 4927b3f74c6a2fd92226dcf1542a598be9738808 Author: Al Viro Date: Wed Dec 6 19:18:20 2006 +0000 [PATCH] More work_struct induced breakage (s390) Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit f9e9dcb38f5106fa8cdac04a9e967d5487f1cd20 Author: Linus Torvalds Date: Wed Dec 6 14:42:57 2006 -0800 x86[-64]:Remove 'volatile' from atomic_t Any code that relies on the volatile would be a bug waiting to happen anyway. Don't encourage people to think that putting 'volatile' on data structures somehow fixes problems. We should always use proper locking (and other serialization) techniques. Signed-off-by: Linus Torvalds commit 16afea0255cf6963eb924d4334cdb5acb9074581 Author: Art Haas Date: Wed Dec 6 14:45:53 2006 -0600 [PATCH] Remove 'volatile' from spinlock_types This is a resubmission of patches originally created by Ingo Molnar. The link below is the initial (?) posting of the patch. http://marc.theaimsgroup.com/?l=linux-kernel&m=115217423929806&w=2 Remove 'volatile' from spinlock_types as it causes GCC to generate bad code (see link) and locking should be used on kernel data. Signed-off-by: Art Haas Signed-off-by: Linus Torvalds commit c7f570a5eca59575572ee231390df727df207bda Author: Peter Chubb Date: Tue Dec 5 12:25:31 2006 +1100 [IA64] Fix pci.c kernel compilation breakage. The recent change to convert the is_enabled flag in the PCI device to an atomic count broke the IA64 compilation. As pcibios_disable_device is only ever called if the reference count is zero, convert the if to a BUG_ON. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 2cafe978462bc4016392aa330bf501a674679a86 Author: Atsushi Nemoto Date: Thu Dec 7 02:04:17 2006 +0900 [MIPS] Import updates from i386's i8259.c Import many updates from i386's i8259.c, especially genirq transitions. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 49afb1f67b42c4240fef9d2d8b76c317c56a189d Author: Maciej W. Rozycki Date: Wed Dec 6 11:50:23 2006 +0000 [MIPS] *-berr: Header inclusions for DEC bus error handlers A fixup to add missing header inclusions for bus error handlers for DECstation system after the recent switch to get_irq_regs(). Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit e77c232cfc6e1250b2916a7c69225d6634d05a49 Author: Franck Bui-Huu Date: Fri Dec 1 18:22:27 2006 +0100 [MIPS] Compile __do_IRQ() when really needed __do_IRQ() is needed only by irq handlers that can't use default handlers defined in kernel/irq/chip.c. For others platforms there's no need to compile this function since it won't be used. For those platforms this patch defines GENERIC_HARDIRQS_NO__DO_IRQ symbol which is used exactly for this purpose. Futhermore for platforms which do not use __do_IRQ(), end() method which is part of the 'irq_chip' structure is not used. This patch simply removes this method in this case. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 1ccd1c1c35a6cb21da32479931d4fa6d47320095 Author: Atsushi Nemoto Date: Wed Dec 6 01:20:57 2006 +0900 [MIPS] genirq: use name instead of typename The "typename" field was obsoleted by the "name" field. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 25ba2f506c69bd54a7342210422176baf10018c5 Author: Atsushi Nemoto Date: Sat Dec 2 00:08:03 2006 +0900 [MIPS] Do not use handle_level_irq for ioasic_dma_irq_type. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 5b70a31708c958cb259e9c6cbecf7190521c856e Author: Franck Bui-Huu Date: Tue Dec 5 10:39:56 2006 +0100 [MIPS] pte_offset(dir,addr): parenthesis fix This patch adds missing parenthesis around 'dir' argument in pte_offset() macro definition. It also removes an extra space in the definition of pte_offset_kernel() macro. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 3e577a80ea85e2557831fd44064f809646f260b4 Author: Al Viro Date: Wed Dec 6 18:41:45 2006 +0000 [PATCH] drivers/{char|isdn}: work_struct-induced breakage part 1 of fsck-knows-how-many Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 7a87b6c228b8d0cc54b9faa159732fcb2a6c9d0c Author: Al Viro Date: Wed Dec 6 18:51:40 2006 +0000 [PATCH] hamradio/dmascc: fix up work_struct-induced breakage Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 5847e1f4d058677c5e46dc6c3e3c70e8855ea3ba Author: Chuck Lever Date: Tue Dec 5 16:36:14 2006 -0500 SUNRPC: Remove pprintk() from net/sunrpc/xprt.c These appear to be deprecated. Removing them also gets rid of some sparse noise. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c041b5ff8d50c432698d9bfbd68cc4b76c2ea5bc Author: Chuck Lever Date: Tue Dec 5 16:36:03 2006 -0500 NLM: fix print format for tk_pid The tk_pid field is an unsigned short. The proper print format specifier for that type is %5u, not %4d. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fbf76683ff9d1462ec0b2f90ec6ea4793652318c Author: Chuck Lever Date: Tue Dec 5 16:35:54 2006 -0500 SUNRPC: relocate the creation of socket-specific tunables Clean-up: The RPC client currently creates some sysctls that are specific to the socket transport. Move those entirely into xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 282b32e17f64be2204f1ac96d7f40f92cb768cd7 Author: Chuck Lever Date: Tue Dec 5 16:35:51 2006 -0500 SUNRPC: create stubs for xprtsock init and cleanup Over time we will want to add some specific init and cleanup logic for the xprtsock implementation. Add stub routines for initialization and exit processing. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit dd4564715eae2c4136f278da9ae1c3bb5af3e509 Author: Chuck Lever Date: Tue Dec 5 16:35:44 2006 -0500 SUNRPC: Rename skb_reader_t and friends Clean-up: hch suggested that the RPC client shouldn't pollute the name space used by the generic skb manipulation routines in net/core/skbuff.c. Rename a couple of types in xdr.h to adhere to this convention. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 9d29231690925915015c21c1fff73c7118099843 Author: Chuck Lever Date: Tue Dec 5 16:35:41 2006 -0500 SUNRPC: skb_read_bits is the same as xs_tcp_copy_data Clean-up: eliminate xs_tcp_copy_data -- it's exactly the same logic as the common routine skb_read_bits. The UDP and TCP socket read code now share the same routine for copying data into an xdr_buf. Now that skb_read_bits() is exported, rename it to avoid confusing it with a generic skb_* function. As these functions are XDR-specific, they should not have names that suggest they are of generic use. Also rename skb_read_and_csum_bits() to be consistent. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7559c7a28fbcaa0bca028eeebd5f251b09befe6b Author: Chuck Lever Date: Tue Dec 5 16:35:37 2006 -0500 SUNRPC: Make address format buffers more generic For now we will assume that all transports will use the address format buffers in the rpc_xprt struct to store their addresses. Change rpc_peer2str() to be a generic routine to handle this, and get rid of the print_address() op in the rpc_xprt_ops vector. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 314dfd7987c71d7ba0c43ac3bf3d243c102ce025 Author: Chuck Lever Date: Tue Dec 5 16:35:34 2006 -0500 SUNRPC: move saved socket callback functions to a private data structure Move the three fields for saving socket callback functions out of the rpc_xprt structure and into a private data structure maintained in net/sunrpc/xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 7c6e066ec29290bf062f5bff2984bad9be5809c7 Author: Chuck Lever Date: Tue Dec 5 16:35:30 2006 -0500 SUNRPC: Move the UDP socket bufsize parameters to a private data structure Move the socket-specific buffer size parameters for UDP sockets to a private data structure maintained in net/sunrpc/xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit c8475461829fd94f30208fbfa4eab7e5584c6495 Author: Chuck Lever Date: Tue Dec 5 16:35:26 2006 -0500 SUNRPC: Move rpc_xprt socket connect fields into private data structure Move the socket-specific connection management fields out of the generic rpc_xprt structure into a private data structure maintained in net/sunrpc/xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e136d0926ef6a048f6e65b35263c0a9faae3abbe Author: Chuck Lever Date: Tue Dec 5 16:35:23 2006 -0500 SUNRPC: Move TCP state flags into xprtsock.c Move "XPRT_LAST_FRAG" and friends from xprt.h into xprtsock.c, and rename them to use the naming scheme in use in xprtsock.c. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 51971139b2342fa1005e87bbfcb52305da3fe891 Author: Chuck Lever Date: Tue Dec 5 16:35:19 2006 -0500 SUNRPC: Move TCP receive state variables into private data structure Move the TCP receive state variables from the generic rpc_xprt structure to a private structure maintained inside net/sunrpc/xprtsock.c. Also rename a function/variable pair to refer to RPC fragment headers instead of record markers, to be consistent with types defined in sunrpc/*.h. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ee0ac0c227c2a2b6dd1b33c23831100ee895dacf Author: Chuck Lever Date: Tue Dec 5 16:35:15 2006 -0500 SUNRPC: Remove sock and inet fields from rpc_xprt The "sock" and "inet" fields are socket-specific. Move them to a private data structure maintained entirely within net/sunrpc/xprtsock.c Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit ffc2e518c91942b7ed45fb0ab7deba1ba0c8594a Author: Chuck Lever Date: Tue Dec 5 16:35:11 2006 -0500 SUNRPC: Allocate a private data area for socket-specific rpc_xprt fields When setting up a new transport instance, allocate enough memory for an rpc_xprt and a private area. As part of the same memory allocation, it will be easy to find one, given a pointer to the other. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 94efa93435383b08d822a40f24ff6f6ce1a888df Author: J. Bruce Fields Date: Mon Dec 4 20:22:42 2006 -0500 rpcgss: krb5: miscellaneous cleanup Miscellaneous cosmetic fixes. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 717757ad1038ab6aacb89bad579c89b006efd913 Author: J. Bruce Fields Date: Mon Dec 4 20:22:41 2006 -0500 rpcgss: krb5: ignore seed We're currently not actually using seed or seed_init. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit d922a84a8bf1d627810906d033223d4fa629fdbf Author: J. Bruce Fields Date: Mon Dec 4 20:22:40 2006 -0500 rpcgss: krb5: sanity check sealalg value in the downcall The sealalg is checked in several places, giving the impression it could be either SEAL_ALG_NONE or SEAL_ALG_DES. But in fact SEAL_ALG_NONE seems to be sufficient only for making mic's, and all the contexts we get must be capable of wrapping as well. So the sealalg must be SEAL_ALG_DES. As with signalg, just check for the right value on the downcall and ignore it otherwise. Similarly, tighten expectations for the sealalg on incoming tokens, in case we do support other values eventually. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 39a21dd1b0eec3f5eac84ee42bda5ab4915098ae Author: J. Bruce Fields Date: Mon Dec 4 20:22:39 2006 -0500 rpcgss: krb5: clean up some goto's, etc. Remove some unnecessary goto labels; clean up some return values; etc. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit ca54f896454852f0bc8d50e6e4c55d9defedbd0a Author: J. Bruce Fields Date: Mon Dec 4 20:22:38 2006 -0500 rpcgss: simplify make_checksum We're doing some pointless translation between krb5 constants and kernel crypto string names. Also clean up some related spkm3 code as necessary. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 2818bf81a8c91fb29634df68bdc3cc5e003201d0 Author: J. Bruce Fields Date: Mon Dec 4 20:22:37 2006 -0500 rpcgss: krb5: kill checksum_type, miscellaneous small cleanup Previous changes reveal some obvious cruft. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 5eb064f93973def1ec2ab4a46929e94389a6283b Author: J. Bruce Fields Date: Mon Dec 4 20:22:36 2006 -0500 rpcgss: krb5: expect a constant signalg value We also only ever receive one value of the signalg, so let's not pretend otherwise Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit e678e06bf8fa25981a6fa1f08b979fd086d713f8 Author: J. Bruce Fields Date: Mon Dec 4 20:22:35 2006 -0500 gss: krb5: remove signalg and sealalg We designed the krb5 context import without completely understanding the context. Now it's clear that there are a number of fields that we ignore, or that we depend on having one single value. In particular, we only support one value of signalg currently; so let's check the signalg field in the downcall (in case we decide there's something else we could support here eventually), but ignore it otherwise. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit adeb8133dd57f380e70a389a89a2ea3ae227f9e2 Author: Olga Kornievskaia Date: Mon Dec 4 20:22:34 2006 -0500 rpc: spkm3 update This updates the spkm3 code to bring it up to date with our current understanding of the spkm3 spec. In doing so, we're changing the downcall format used by gssd in the spkm3 case, which will cause an incompatilibity with old userland spkm3 support. Since the old code a) didn't implement the protocol correctly, and b) was never distributed except in the form of some experimental patches from the citi web site, we're assuming this is OK. We do detect the old downcall format and print warning (and fail). We also include a version number in the new downcall format, to be used in the future in case any further change is required. In some more detail: - fix integrity support - removed dependency on NIDs. instead OIDs are used - known OID values for algorithms added. - fixed some context fields and types Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 37a4e6cb0391f2293ba3d59e3a63ec0e56ed720d Author: Olga Kornievskaia Date: Mon Dec 4 20:22:33 2006 -0500 rpc: move process_xdr_buf Since process_xdr_buf() is useful outside of the kerberos-specific code, we move it to net/sunrpc/xdr.c, export it, and rename it in keeping with xdr_* naming convention of xdr.c. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 87d918d667e51962938392759aef6ca368d6e96d Author: J. Bruce Fields Date: Mon Dec 4 20:22:32 2006 -0500 rpc: gss: fix a kmap_atomic race in krb5 code This code is never called from interrupt context; it's always run by either a user thread or rpciod. So KM_SKB_SUNRPC_DATA is inappropriate here. Thanks to Aimé Le Rouzic for capturing an oops which showed the kernel taking an interrupt while we were in this piece of code, resulting in a nested kmap_atomic(.,KM_SKB_SUNRPC_DATA) call from xdr_partial_copy_from_skb(). Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 8fc7500bb8ea3b5c909869d00628635e964ae882 Author: J. Bruce Fields Date: Mon Dec 4 20:22:31 2006 -0500 rpc: gss: eliminate print_hexl()'s Dumping all this data to the logs is wasteful (even when debugging is turned off), and creates too much output to be useful when it's turned on. Fix a minor style bug or two while we're at it. Signed-off-by: J. Bruce Fields Signed-off-by: Trond Myklebust commit 2b577f1f14c8d83ba9400ec8accaf4a208f4f36a Author: Chuck Lever Date: Thu Nov 16 15:03:38 2006 -0500 SUNRPC: another pmap wakeup fix Don't wake up bind waiters if a task finds that another task is already trying to bind. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit a18030445fd4dd20e2248007b5d1cf0b5d89c69d Author: Trond Myklebust Date: Tue Dec 5 00:45:19 2006 -0500 NFS: Clean up calls to mark_inode_dirty() part 2 Signed-off-by: Trond Myklebust commit 9cf85e0a243b56f4ef8439a1e6430307fd9dcda6 Author: Trond Myklebust Date: Tue Dec 5 00:36:56 2006 -0500 NFS: Fix up writeback_control->nr_to_write accounting We're really accounting for the same page twice now: once in generic_writepages(), and once in nfs_scan_dirty(). Signed-off-by: Trond Myklebust commit 3925675cb37cc9c3fd1d3f56ce0fa729f995f863 Author: Trond Myklebust Date: Tue Dec 5 00:36:09 2006 -0500 NFS: Fix up the dirty page accounting There is now no reason to account for the dirty pages in the NFS code, since the VM code will now do it for us via __set_page_dirty_nobuffers(), and set_page_writeback(). We still need to keep the accounting of stable writes, though. Signed-off-by: Trond Myklebust commit e507d9ebbb2d5db5948a6fb3c33f015d60708d19 Author: Trond Myklebust Date: Tue Dec 5 00:35:42 2006 -0500 NFS: Ensure the inode is marked as dirty if we break out of nfs_wb_all() Signed-off-by: Trond Myklebust commit fa8d8c5b77a2dc467b5365a5651710161b84f16d Author: Trond Myklebust Date: Tue Dec 5 00:35:42 2006 -0500 NFS: Fix nfs_release_page invalidate_inode_pages2_range() will clear the PG_dirty bit before calling try_to_release_page(). Signed-off-by: Trond Myklebust commit 61822ab5e3ed09fcfc49e37227b655202adf6130 Author: Trond Myklebust Date: Tue Dec 5 00:35:42 2006 -0500 NFS: Ensure we only call set_page_writeback() under the page lock Signed-off-by: Trond Myklebust commit e261f51f25b98c213e0b3d7f2109b117d714f69d Author: Trond Myklebust Date: Tue Dec 5 00:35:41 2006 -0500 NFS: Make nfs_updatepage() mark the page as dirty. This will ensure that we can call set_page_writeback() from within nfs_writepage(), which is always called with the page lock set. Signed-off-by: Trond Myklebust commit 4d770ccf4257b23a7ca2a85de1b1c22657b581d8 Author: Trond Myklebust Date: Tue Dec 5 00:35:41 2006 -0500 NFS: Ensure that nfs_wb_page() calls writepage when necessary. Signed-off-by: Trond Myklebust commit 1a54533ec8d92a5edae97ec6ae10023ee71c4b46 Author: Trond Myklebust Date: Tue Dec 5 00:35:40 2006 -0500 NFS: Add nfs_set_page_dirty() We will want to allow nfs_writepage() to distinguish between pages that have been marked as dirty by the VM, and those that have been marked as dirty by nfs_updatepage(). In the former case, the entire page will want to be written out, and so any requests that were pending need to be flushed out first. Signed-off-by: Trond Myklebust commit 200baa2112012dd8a13db9da3ee6885403f9c013 Author: Trond Myklebust Date: Tue Dec 5 00:35:40 2006 -0500 NFS: Remove nfs_writepage_sync() Maintaining two parallel ways of doing synchronous writes is rather pointless. This patch gets rid of the legacy nfs_writepage_sync(), and replaces it with the faster asynchronous writes. Signed-off-by: Trond Myklebust commit e21195a740533348e77efa8a2e2cf03bb4092b2b Author: Trond Myklebust Date: Tue Dec 5 00:35:39 2006 -0500 NFS: More cleanups of fs/nfs/write.c Signed-off-by: Trond Myklebust commit 87a4ce16082e92b4b6d27596a517b302f3692650 Author: Trond Myklebust Date: Tue Dec 5 00:35:39 2006 -0500 NFS: Remove call to igrab() from nfs_writepage() We always ensure that the nfs_open_context holds a reference to the dentry, so the test in nfs_writepage() for whether or not the inode is referenced is redundant. Signed-off-by: Trond Myklebust commit 49a70f278658894d2899824cd4037095fb6711fe Author: Trond Myklebust Date: Tue Dec 5 00:35:38 2006 -0500 NFS: Cleanup: add common helper nfs_page_length() Clean up a lot of ad-hoc page length calculations in fs/nfs/write.c Signed-off-by: Trond Myklebust commit 277459d2e2cd40594967757e8fd016c4c7016614 Author: Trond Myklebust Date: Tue Dec 5 00:35:35 2006 -0500 NFS: Store pointer to the nfs_page in page->private This will allow fast lookup of the nfs_page from the struct page instead of having to search the radix tree. Signed-off-by: Trond Myklebust commit 1c75950b9a2254ef08f986e00ad20266ae9ba7f1 Author: Trond Myklebust Date: Mon Oct 9 16:18:38 2006 -0400 NFS: cleanup of nfs_sync_inode_wait() Allow callers to directly pass it a struct writeback_control. Signed-off-by: Trond Myklebust commit 3f442547b76bf9fb70d7aecc41cf1980459253c9 Author: Trond Myklebust Date: Sun Sep 17 14:46:44 2006 -0400 NFS: Clean up nfs_scan_dirty() Pass down struct writeback control. Signed-off-by: Trond Myklebust commit 28c6925fce3927a9fe3c5b44af5fb266680fdcea Author: Trond Myklebust Date: Sat Sep 16 13:04:50 2006 -0400 NFS: Clean up nfs_flush_inode() Make it take a struct writepages argument, and rename to nfs_flush_mapping(). Signed-off-by: Trond Myklebust commit c8541ecdd5692bcfbcb5305cab9a873288d29175 Author: Chuck Lever Date: Tue Oct 17 14:44:27 2006 -0400 SUNRPC: Make the transport-specific setup routine allocate rpc_xprt Change the location where the rpc_xprt structure is allocated so each transport implementation can allocate a private area from the same chunk of memory. Note also that xprt->ops->destroy, rather than xprt_destroy, is now responsible for freeing rpc_xprt when the transport is destroyed. Test plan: Connectathon. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit e744cf2e3ab8535a8494a4cf0177de26f94586da Author: Chuck Lever Date: Tue Oct 17 14:44:24 2006 -0400 SUNRPC: minor optimization of "xid" field in rpc_xprt Move the xid field in the rpc_xprt structure to be in the same cache line as the reserve_lock, since these are used at the same time. Test plan: None. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 24c5684b65ff52ebfa942e8086d91a4966121ae7 Author: Trond Myklebust Date: Tue Oct 17 15:06:22 2006 -0400 SUNRPC: Clean up xs_send_pages() Signed-off-by: Trond Myklebust commit bee57c99c322d64407b80c8171958b4384902da4 Author: Trond Myklebust Date: Mon Oct 9 22:08:22 2006 -0400 SUNRPC: Ensure xdr_buf_read_netobj() checks for memory overruns Also clean up the code... Signed-off-by: Trond Myklebust commit 4e3e43ad14c574281034a27420abf1993694ac11 Author: Trond Myklebust Date: Tue Oct 17 13:47:24 2006 -0400 SUNRPC: Add __(read|write)_bytes_from_xdr_buf Signed-off-by: Trond Myklebust commit 1e78957e0a8f882df6a3660b62f9aae441f54891 Author: Trond Myklebust Date: Thu Aug 31 15:09:19 2006 -0400 SUNRPC: Clean up argument types in xdr.c Converts various integer buffer offsets and sizes to unsigned integer. Signed-off-by: Trond Myklebust commit eb5f8545ffff98a11c6656d4d2106341ab69c57d Author: Frank Filz Date: Tue Oct 17 10:24:42 2006 -0700 NFS: Remove use of the Big Kernel Lock around nfs calls to readlink Remove use of the Big Kernel Lock around indirect calls to nfs3_proc_readlink and nfs4_proc_readlink, both of which basically call rpc_call_sync. Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit cae823c4c089d2c7c2a90f39f20376ccd85f9893 Author: Frank Filz Date: Tue Oct 17 10:24:38 2006 -0700 NFS: Remove use of the Big Kernel Lock around calls to rpc_call_sync Remove use of the Big Kernel Lock around calls to rpc_call_sync. Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit a99b71c9c43499bf2312c64f5c1d367aaf559dc4 Author: Frank Filz Date: Tue Oct 17 10:24:36 2006 -0700 NFS: Remove use of the Big Kernel Lock around calls to rpc_execute. Remove use of the Big Kernel Lock around calls to rpc_execute. Signed-off-by: Frank Filz Signed-off-by: Trond Myklebust commit 6d5fcb5a52bfd00eab3ba2c7ca890823388436ae Author: Trond Myklebust Date: Wed Oct 18 16:01:06 2006 -0400 SUNRPC: Remove BKL around the RPC socket operations etc. All internal RPC client operations should no longer depend on the BKL, however lockd and NFS callbacks may still require it. Signed-off-by: Trond Myklebust commit bbd5a1f9fc9fad0f8725812d91c51b052e847de8 Author: Trond Myklebust Date: Wed Oct 18 16:01:05 2006 -0400 SUNRPC: Fix up missing BKL in asynchronous RPC callback functions Signed-off-by: Trond Myklebust commit 3e32a5d99a467b9d4d416323c8c292479b4915e5 Author: Trond Myklebust Date: Thu Nov 16 11:37:27 2006 -0500 SUNRPC: Give cloned RPC clients their own rpc_pipefs directory Signed-off-by: Trond Myklebust commit 23bf85ba43650e4341672a6bc85aa3f2c02eb633 Author: Trond Myklebust Date: Tue Nov 21 10:40:23 2006 -0500 SUNRPC: Handle the cases where rpc_alloc_iostats() fails Signed-off-by: Trond Myklebust commit e8e058e830f46a76f837522e5e2df46d4303111f Author: Trond Myklebust Date: Wed Nov 15 17:31:56 2006 -0500 NFS: Fix nfs_sync_inode_wait(FLUSH_INVALIDATE) Currently nfs_sync_inode_wait() will fail to loop correctly when we call nfs_sync_inode_wait with the FLUSH_INVALIDATE argument. Signed-off-by: Trond Myklebust commit cf1308ff7829017dab0dbcc817c63dc9c212923e Author: Trond Myklebust Date: Sun Nov 19 16:44:52 2006 -0500 NFS: Fix missing page_unlock() in nfs_readpage Signed-off-by: Trond Myklebust commit 0b67130149b006628389ff3e8f46be9957af98aa Author: Trond Myklebust Date: Tue Nov 14 16:12:23 2006 -0500 NFS: Fix asynchronous read error handling We must always call ->read_done() before we truncate the page data, or decide to flag an error. The reasons are that in NFSv2, ->read_done() is where the eof flag gets set. in NFSv3/v4 ->read_done() handles EJUKEBOX-type errors, and v4 state recovery. However, we need to mark the pages as uptodate before we deal with short read errors, since we may need to modify the nfs_read_data arguments. We therefore split the current nfs_readpage_result() into two parts: nfs_readpage_result(), which calls ->read_done() etc, and nfs_readpage_retry(), which subsequently handles short reads. Note: Removing the code that retries in case of a short read also fixes a bug in nfs_direct_read_result(), which used to return a corrupted number of bytes. Signed-off-by: Trond Myklebust commit 46b9f8e1484352f09f229107ba2a758fe386d7f7 Author: Andy Ryan Date: Tue Nov 7 14:36:26 2006 -0600 NFS Exclusive open not supported bug When trying to open a file with the O_EXCL flag over NFS on a server that does not support exclusive mode, the file does not open. The reason, rpc_call_sync returns a errno number, and not the nfs error number. I fixed it by changing the status check in nfs3proc.c. Either this is how it should be fixed, or rpc_call_sync should be fixed to return the NFS error. Signed-off-by: Andy Ryan Signed-off-by: Trond Myklebust commit 8aca67f0ae2d8811165c22326825a645cc8e1b48 Author: Trond Myklebust Date: Mon Nov 13 16:23:44 2006 -0500 SUNRPC: Fix a potential race in rpc_wake_up_task() Use RCU to ensure that we can safely call rpc_finish_wakeup after we've called __rpc_do_wake_up_task. If not, there is a theoretical race, in which the rpc_task finishes executing, and gets freed first. Signed-off-by: Trond Myklebust commit e6b3c4db6fbcd0d33720696f37790d6b8be12313 Author: Trond Myklebust Date: Sat Nov 11 22:18:03 2006 -0500 Fix a second potential rpc_wakeup race... Signed-off-by: Trond Myklebust commit cc4dc59e5580d6c0de1685a25b74d32175f43434 Author: Christophe Saout Date: Sun Nov 5 18:42:48 2006 +0100 Subject: Re: [PATCH] Fix SUNRPC wakeup/execute race condition The sunrpc scheduler contains a race condition that can let an RPC task end up being neither running nor on any wait queue. The race takes place between rpc_make_runnable (called from rpc_wake_up_task) and __rpc_execute under the following condition: First __rpc_execute calls tk_action which puts the task on some wait queue. The task is dequeued by another process before __rpc_execute continues its execution. While executing rpc_make_runnable exactly after setting the task `running' bit and before clearing the `queued' bit __rpc_execute picks up execution, clears `running' and subsequently both functions fall through, both under the false assumption somebody else took the job. Swapping rpc_test_and_set_running with rpc_clear_queued in rpc_make_runnable fixes that hole. This introduces another possible race condition that can be handled by checking for `queued' after setting the `running' bit. Bug noticed on a 4-way x86_64 system under XEN with an NFSv4 server on the same physical machine, apparently one of the few ways to hit this race condition at all. Cc: Trond Myklebust Cc: J. Bruce Fields Signed-off-by: Christophe Saout Signed-off-by: Trond Myklebust commit f81cff0d4067e41fd7383d9c013cc82da7c169d2 Author: Mike Frysinger Date: Wed Dec 6 12:02:59 2006 +1000 [PATCH] uclinux: fix mmap() of directory for nommu case I was playing with blackfin when i hit a neat bug ... doing an open() on a directory and then passing that fd to mmap() would cause the kernel to hang after poking into the code a bit more, i found that mm/nommu.c:validate_mmap_request() checks the length and if it is 0, just returns the address ... this is in stark contrast to mmu's mm/mmap.c:do_mmap_pgoff() where it returns -EINVAL for 0 length requests ... i then noticed that some other parts of the logic is out of date between the two funcs, so perhaps that's the easy fix ? Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 3363c9b0ed8f6b5a241d63018cad242ae458cdf9 Author: Gavin Lambert Date: Wed Dec 6 11:57:53 2006 +1000 [PATCH] m68knommu: remove FP conditionals in ucontext struct The first patch is to the 2.6 kernel include file (for m68knommu), to get rid of the conditional definitions, otherwise the structures have different sizes depending on whether there's an FPU or not. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a8b8d57c25eb61a04431324e1a41109925290512 Author: Greg Ungerer Date: Wed Dec 6 11:49:34 2006 +1000 [PATCH] m68knommu: ColdFire serial driver fixes Some updates for the old ColdFire serial driver: . support 3 and 4 UARTs on some ColdFire parts that have them . enable multifunction pins to serial for 527x CPU's . support the 5272 UART's fractional baud rate divisor . switch driver name to "mcfserial" Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit dcb14775493170ea60fb8b657b411cdc9532b7ee Author: Greg Ungerer Date: Wed Dec 6 11:43:14 2006 +1000 [PATCH] m68knommu: switch 68360 to using rtc_time Adds support for RTCs (through genrtc) for M68KNOMMU. Board-specific code will have to link the appropriate RTC driver to the mach_hwclk callback, at minimum. This patch switches the 68360 code over to using rtc_time. Signed-off-by: Gavin Lambert Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit deb77c8501f47ab228bf7cc7fd649e50603ed2cd Author: Greg Ungerer Date: Wed Dec 6 11:36:59 2006 +1000 [PATCH] m68knommu: fix timer register access on 523x ColdFire platforms The 523x timer TRR register is a full 32bits, the older register (on other ColdFire parts) was only 16 bits. Use the right type of __raw_read when accessing it. Problem found by Yaroslav Vinogradov Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit dd93e857fca0f6dedb8b0ffe61bf5096029963bb Author: Greg Ungerer Date: Wed Dec 6 11:36:13 2006 +1000 [PATCH] m68knommu: implement irq_canonicalize() Add a null definition for irq_canonicalize(). It is used in the gerneric serial subsystem code, can't compile without it. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 5340be59093d59826f4477a5f9991c762e4417e8 Author: Greg Ungerer Date: Wed Dec 6 11:35:16 2006 +1000 [PATCH] m68knommu: create rtc.h This adds support for RTCs (through genrtc) for M68KNOMMU. Board-specific code will have to link the appropriate RTC driver to the mach_hwclk callback, at minimum. Signed-off-by: Gavin Lambert Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 06328b4f7919e9d2169d45cadc5a37b828a78eda Author: David Howells Date: Wed Dec 6 15:02:26 2006 +0000 Actually update the fixed up compile failures. Signed-Off-By: David Howells commit ea0f8feaa041f3ccec3d6b8ee51325b177daef06 Author: Jamie Lenehan Date: Wed Dec 6 12:05:02 2006 +0900 sh: sh775x/titan fixes for irq header changes. The following moves the creation of IPR interupts into setup-7750.c and updates a few other things to make it all work after the "Drop CPU subtype IRQ headers" commit. It boots and runs fine on my titan board. - adds an ipr_idx to the ipr_data and uses a function in the subtype code to calculate the address of the IPR registers - adds a function to enable individual interrupt mode for externals in the subtype code and calls that from the titan board code instead of doing it directly. - I changed the shift in the ipr_data to be the actual # of bits to shift, instead of the numnber / 4 - made it easier to match with the manual. Signed-off-by: Jamie Lenehan Signed-off-by: Paul Mundt commit fe9687dec0400c6de7187ab5efa91facd958ca84 Author: Paul Mundt Date: Wed Dec 6 12:02:01 2006 +0900 sh: update r7780rp defconfig. Signed-off-by: Paul Mundt commit 65e5d90de6dba9975332dac4f849b81f663e16fa Author: Paul Mundt Date: Wed Dec 6 11:24:48 2006 +0900 sh: compile fixes for header cleanup. Since some header inclusion paths were cleaned up, compilation broke. Add in the headers we need directly to build again. Signed-off-by: Paul Mundt commit 5b67954e804465a4658dd4da8d52b87a8d1ea00c Author: Paul Mundt Date: Wed Dec 6 11:20:53 2006 +0900 sh: Fixup pte_mkhuge() build failure. When hugetlbpage support isn't enabled, this can be bogus. Wrap it back in _PAGE_FLAGS_HARD to avoid changes to the base PTE when not aiming for larger sizes. Signed-off-by: Paul Mundt commit f36af73304555849985b1fb5c0821c1bfab3a5a0 Author: Paul Mundt Date: Wed Dec 6 11:08:49 2006 +0900 sh: set KBUILD_IMAGE to something sensible. This was missing for sh too, wire it up.. Signed-off-by: Paul Mundt commit 9b8c90eb0d916f6802f8bbac79f61aca6ac533e8 Author: Paul Mundt Date: Wed Dec 6 11:07:51 2006 +0900 sh: show held locks in stack trace with lockdep. Follows the same change as other architectures.. Signed-off-by: Paul Mundt commit 0c020e3dfb9429a3b31669a5ac2b86dd675c1ad2 Author: Paul Mundt Date: Wed Dec 6 10:43:44 2006 +0900 sh: platform_pata support for R7780RP This adds a platform device for the directly connected CF interface on R7780RP boards, for use with the pata_platform libata driver. Signed-off-by: Paul Mundt commit afbfb52e47273a440df33274452c603e8c332de2 Author: Paul Mundt Date: Mon Dec 4 18:17:28 2006 +0900 sh: stacktrace/lockdep/irqflags tracing support. Wire up all of the essentials for lockdep.. Signed-off-by: Paul Mundt commit c03c69610bfa728805deceeb624ee4268c722a5a Author: Paul Mundt Date: Fri Dec 1 14:32:54 2006 +0900 sh: Fixup movli.l/movco.l atomic ops for gcc4. gcc4 gets a bit pissy about the outputs: include/asm/atomic.h: In function 'atomic_add': include/asm/atomic.h:37: error: invalid lvalue in asm statement include/asm/atomic.h:30: error: invalid lvalue in asm output 1 ... this ended up being a thinko anyways, so just fix it up. Verified for proper behaviour with the older toolchains, too. Signed-off-by: Paul Mundt commit bd156147eb63ae525e0ac67868e41a808f03c532 Author: Paul Mundt Date: Fri Dec 1 13:23:47 2006 +0900 sh: dyntick infrastructure. This adds basic NO_IDLE_HZ support to the SH timer API so timers are able to wire it up. Taken from the ARM version, as it fit in to our API with very few changes needed. Signed-off-by: Paul Mundt commit 1d118562c2067a42d0e8f70671a4ce27d7c6ffee Author: Paul Mundt Date: Fri Dec 1 13:15:14 2006 +0900 sh: Clock framework tidying. This syncs up the SH clock framework with the linux/clk.h API, for which there were only some minor changes required, namely the clk_get() dev_id and subsequent callsites. Signed-off-by: Paul Mundt commit e74b56800e78a10bc09b56a87831876a1d9d09ae Author: Paul Mundt Date: Fri Dec 1 13:12:05 2006 +0900 sh: Turn off IRQs around get_timer_offset() calls. Since all of the sys_timer sources currently do this on their own within the ->get_offset() path, it's more sensible to just have the caller take care of it when grabbing xtime_lock. Incidentally, this is more in line with what others (ie, ARM) are doing already. Signed-off-by: Paul Mundt commit bca7c20764c83a44c7b8b0831089922d56a3a9a2 Author: Paul Mundt Date: Fri Dec 1 12:14:11 2006 +0900 sh: Get the PGD right in oops case with 64-bit PTEs. Previously this was using a static pgd shift in the reporting code, simply flip this to PGDIR_SHIFT which does the right thing depending on varying PTE magnitudes on the SH-X2 MMU. While we're at it, and since it's been recently added, use get_TTB() for fetching the TTB, rather than the open coded instructions. Signed-off-by: Paul Mundt commit 9f650cf2b811cfb605f10483eeb1dc86f43cdbcb Author: Paul Mundt Date: Fri Dec 1 12:01:43 2006 +0900 sh: Fix store queue bitmap end. The end of the store queue bitmap is miscalculated when searching for a free range in sq_remap(), missing the PAGE_SHIFT shift that's done in sq_api_init(). This runs in to workloads where we can scan beyond the end of the bitmap. Spotted by Paul Jackson: http://marc.theaimsgroup.com/?l=linux-kernel&m=116493191224097&w Signed-off-by: Paul Mundt commit 6fc21b82ef74911887ced1aff8d37ce079bb8b36 Author: Paul Mundt Date: Mon Nov 27 12:10:23 2006 +0900 sh: More flexible + SH7780 earlyprintk SCIF support. This makes the early printk support somewhat more flexible, moving the port definition to a config option, and making the port initialization configurable for sh-ipl+g users. At the same time, this allows us to trivially wire up the SH7780 SCIF0, so that's thrown in too more or less for free. Signed-off-by: Paul Mundt commit 510c72ad2dd4e05e6908755f51ac89482c6eb987 Author: Paul Mundt Date: Mon Nov 27 12:06:26 2006 +0900 sh: Fixup various PAGE_SIZE == 4096 assumptions. There were a number of places that made evil PAGE_SIZE == 4k assumptions that ended up breaking when trying to play with 8k and 64k page sizes, this fixes those up. The most significant change is the way we load THREAD_SIZE, previously this was done via: mov #(THREAD_SIZE >> 8), reg shll8 reg to avoid a memory access and allow the immediate load. With a 64k PAGE_SIZE, we're out of range for the immediate load size without resorting to special instructions available in later ISAs (movi20s and so on). The "workaround" for this is to bump up the shift to 10 and insert a shll2, which gives a bit more flexibility while still being much cheaper than a memory access. Signed-off-by: Paul Mundt commit 1dc41e58a553e612e3d0349bb60eef08f9462bde Author: Paul Mundt Date: Fri Nov 24 19:46:18 2006 +0900 sh: Fixup 4K irq stacks. There was a clobber issue with the register we were saving the stack in, so we switch to a register that we handle in the clobber list properly already. This also follows the x86 changes for allowing the softirq checks from hardirq context. Signed-off-by: Paul Mundt commit db9b99d461ddbbaa43c1e3581b1677b82c960948 Author: Mark Glaisher Date: Fri Nov 24 15:13:52 2006 +0900 sh: dma-api channel capability extensions. This extends the SH DMA API for allowing handling of DMA channels based off of their respective capabilities. A couple of functions are added to the existing API, the core bits are register_chan_caps() for registering channel capabilities, and request_dma_bycap() for fetching a channel dynamically based off of a capability set. Signed-off-by: Mark Glaisher Signed-off-by: Paul Mundt commit e803aaf63a18b26668fbfbfd41c65527bcc10532 Author: Paul Mundt Date: Fri Nov 24 14:50:05 2006 +0900 sh: Drop name overload in dma-sh. Pass along the dev_id from request_dma() all the way down, rather than inserting an artificial name relating to the TEI line that we were doing before. This makes the line a bit less obvious, but dev_id is the proper behaviour for this regardless. Signed-off-by: Paul Mundt commit 49f860bb5db877a2c75642e7e19af40e3010afec Author: Paul Mundt Date: Fri Nov 24 14:48:14 2006 +0900 sh: Make dma-isa depend on ISA_DMA_API. Previously we linked in the ISA DMA wrapper unconditionally. As there are very few users of this, it's better to make it conditional. Signed-off-by: Paul Mundt commit 4dfc119f1c0723c54a20ff5ca4ea460ce7a4edb5 Author: Paul Mundt Date: Fri Nov 24 14:43:09 2006 +0900 sh: dma-sysfs fixes. Handle the case where no registered DMACs exist somewhat more gracefully. While we're at it, check for sysdev_create_file() failing. Signed-off-by: Paul Mundt commit e0969e0c9b609fdfe217e34f3e046179ffe88eb6 Author: Stuart Menefy Date: Fri Nov 24 13:01:36 2006 +0900 sh: Fix syscall tracing ordering. The implementation of system call tracing in the kernel has a couple of ordering problems: - the validity of the system call number is checked before calling out to system call tracing code, and should be done after - the system call number used when tracing is the one the system call was invoked with, while the system call tracing code can legitimatly change the call number (for example strace permutes fork into clone) This patch fixes both of these problems, and also reoders the code slightly to make the direct path through the code the common case. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit c9f0b1c1410e9e637b819c5050fc8c1f1971e178 Author: Stuart Menefy Date: Fri Nov 24 12:53:02 2006 +0900 sh: KSTK_EIP/KSTK_ESP consistency. Two of the fields in /proc/[number]/stat are documented in proc(5) as: kstkesp %lu The current value of esp (stack pointer), as found in the kernel stack page for the process. kstkeip %lu The current EIP (instruction pointer). The SH currently prints the the last SP and PC of the process inside the kernel, while most other archs use the last user space values. This patch modifes the SH to display the user space values. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 9b3a53ab76771e3669e50086c131e1574fe25847 Author: Stuart Menefy Date: Fri Nov 24 11:42:24 2006 +0900 sh: TLB miss fast-path optimizations. Handle simple TLB miss faults which can be resolved completely from the page table in assembler. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 9daa0c257d6c200b58092e0bfc32b77c4618a8af Author: Paul Mundt Date: Fri Nov 24 11:24:39 2006 +0900 sh: R7780RP push-switch support. This adds simple push-switch support for the RDBRP-1/RDBREVRP-1 debug boards found on the R7780RP-1. Signed-off-by: Paul Mundt commit 9f5e8eee5cfe1328660c71812d87c2a67bda389f Author: Paul Mundt Date: Fri Nov 24 11:22:57 2006 +0900 sh: generic push-switch framework. This adds support for a generic push switch framework. Adaptable for various switches, including GPIO switches and the push switches commonly found on Renesas debug boards. This allows switch states to be trivially reported through sysfs. Signed-off-by: Paul Mundt commit 99a596f93be10001c50894bcab69e458a49a3b8c Author: Stuart Menefy Date: Tue Nov 21 15:38:05 2006 +0900 sh: pmd rework. Remove extra bits from the pmd structure and store a kernel logical address rather than a physical address. This allows it to be directly dereferenced. Another piece of wierdness inherited from x86. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 6e4662ff49c6b94e16a47bfddb920576963b5a20 Author: Stuart Menefy Date: Tue Nov 21 13:53:44 2006 +0900 sh: Use MMU.TTB register as pointer to current pgd. Add TTB accessor functions and give it a sensible default value. We will use this later for optimizing the fault path. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit b5a1bcbee434b843c8850a968d9a6c7541f1be9d Author: Stuart Menefy Date: Tue Nov 21 13:34:04 2006 +0900 sh: Set up correct siginfo structures for page faults. Remove the previous saving of fault codes into the thread_struct as they are never used, and appeared to be inherited from x86. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit f0bc814cfbc212683c882e58b3d1afec6b3e3aa3 Author: Stuart Menefy Date: Tue Nov 21 11:16:57 2006 +0900 sh: gcc4 support. This fixes up the kernel for gcc4. The existing exception handlers needed some wrapping for pt_regs access, acessing the registers via a RELOC_HIDE() pointer. The strcpy() issues popped up here too, so add -ffreestanding and kill off the symbol export. Signed-off-by: Stuart Menefy Signed-off-by: Paul Mundt commit 53644087a607040a56d883df612b588814a56f11 Author: Paul Mundt Date: Tue Nov 21 11:12:19 2006 +0900 sh: Explicit endian selection support. Previously big endian was simply assumed if little endian was not set, which led to some cflags ordering issues. There's not much point to not having a big endian option, so shove one in a choice and wire it up in the Makefile. This lets us clean up some of the cflags ordering while we're at it. Signed-off-by: Paul Mundt commit 52e27782e1c4afa1feca0fdf194d279595e0431c Author: Paul Mundt Date: Tue Nov 21 11:09:41 2006 +0900 sh: p3map_sem sem2mutex conversion. Simple sem2mutex conversion for the p3map semaphores. Signed-off-by: Paul Mundt commit 21440cf04a64cd1b1209c12a6e1a3afba2a28709 Author: Paul Mundt Date: Mon Nov 20 14:30:26 2006 +0900 sh: Preliminary support for SH-X2 MMU. This adds some preliminary support for the SH-X2 MMU, used by newer SH-4A parts (particularly SH7785). This MMU implements a 'compat' mode with SH-X MMUs and an 'extended' mode for SH-X2 extended features. Extended features include additional page sizes (8kB, 4MB, 64MB), as well as the addition of page execute permissions. The extended mode attributes are placed in a second data array, which requires us to switch to 64-bit PTEs when in X2 mode. With the addition of the exec perms, we also overhaul the mmap prots somewhat, now that it's possible to handle them more intelligently. Signed-off-by: Paul Mundt commit b552c7e8bceae8a04ae79ecee6fa369c1ba4f8e4 Author: Paul Mundt Date: Mon Nov 20 14:14:29 2006 +0900 sh: Hook SH7785 in to the build system. Simple 7785 placeholders to start hooking up other bits of code. Signed-off-by: Paul Mundt commit 9a7ef6d59f9d4780ff5bc9c4d05266b52dcb9211 Author: Paul Mundt Date: Mon Nov 20 13:55:34 2006 +0900 sh: Drop CPU subtype IRQ headers. This drops the various IRQ headers that were floating around and primarily providing hardcoded IRQ definitions for the various CPU subtypes. This quickly got to be an unmaintainable mess, made even more evident by the subtle breakage introduced by the SH-2 and SH-2A changes. Now that subtypes are able to register IRQ maps directly, just rip all of the headers out. Signed-off-by: Paul Mundt commit 417528a2e35f46bc42721de5c4efd33a0eba019d Author: Paul Mundt Date: Mon Nov 20 11:18:30 2006 +0900 sh: Configurable timer IRQ. All of the various CPU subtypes currently hardcode TIMER_IRQ, switch this to a config option in the few places we need this. This allows further removal of hardcoded IRQ headers.. Signed-off-by: Paul Mundt commit 716067f28931d46b9f460acbeae1478a337e58ec Author: Paul Mundt Date: Tue Nov 7 10:29:23 2006 +0000 sh: Fixup entry-common path breakage for SH-3. The nommu patches broke the path for the common bits, get it building for the SH-3/4 case again. Signed-off-by: Paul Mundt commit 710ee0cc45d095f7697821b330a3f8280205c2be Author: Paul Mundt Date: Sun Nov 5 16:48:42 2006 +0900 sh: SE7206 build fixes. A number of API changes happened underneath the 7206 patches, update for everything that broke. Signed-off-by: Paul Mundt commit f36af3fd377081d3ac2ff6b63a60f8db8b3bf531 Author: Yoshinori Sato Date: Sun Nov 5 16:21:09 2006 +0900 sh: Add support for Solution Engine 7206 and 7619 boards. This adds support for the Solution Engine 7206 and 7619. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit b229632abd451ab2c797010b9788e48c9314db4f Author: Yoshinori Sato Date: Sun Nov 5 16:18:08 2006 +0900 sh: Add SH-2A platform headers. Mostly SH-2 wrappers.. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit de39840646a223ae13a346048c280b7c871bf56e Author: Yoshinori Sato Date: Sun Nov 5 16:15:19 2006 +0900 sh: Exception vector rework and SH-2/SH-2A support. This splits out common bits from the existing exception handler for use between SH-2/SH-2A and SH-3/4, and adds support for the SH-2/2A exceptions. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 0983b31849bbe1fe82520947acc1bec97c457d4b Author: Yoshinori Sato Date: Sun Nov 5 15:58:47 2006 +0900 sh: Wire up division and address error exceptions on SH-2A. SH-2A has special division hardware as opposed to a full-fledged FPU, wire up the exception handlers for this. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 9d4436a6fbc8c5eccdfcb8f5884e0a7b4a57f6d2 Author: Yoshinori Sato Date: Sun Nov 5 15:40:13 2006 +0900 sh: Add support for SH7206 and SH7619 CPU subtypes. This implements initial support for the SH7206 (SH-2A) and SH7619 (SH-2) MMU-less CPUs. Signed-off-by: Yoshinori Sato Signed-off-by: Paul Mundt commit 720eeb4332e5871c97d390b2fb55a5a74fb18ae6 Author: Zhu Yi Date: Tue Dec 5 14:41:40 2006 +0800 [PATCH] ipw2200: Fix debug output endian issue Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 90c009ac30318e607d4f17ba1afb9cbac7fa2954 Author: Zhu Yi Date: Tue Dec 5 14:41:32 2006 +0800 [PATCH] ipw2200: Fix a typo Signed-off-by: Pascal Terjan Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit aac40ceb8ff72fff1d6d5ad2607d7b01045d59a6 Author: Zhu Yi Date: Tue Dec 5 14:41:24 2006 +0800 [PATCH] ipw2200: Update version stamp to 1.2.0 Signed-off-by: John W. Linville commit 4b1f8a99a2f5c6c25f04fc93272e5b9c18e82b99 Author: Zhu Yi Date: Tue Dec 5 14:42:14 2006 +0800 [PATCH] ipw2200: Add IEEE80211_RADIOTAP_TSFT for promiscuous mode The ipw2200 BSS firmware passes on the TSF information within ipw_rx_frame, but monitor firmware doesn't. I add back the IEEE80211_RADIOTAP_TSFT flags so that we can get the MAC timestamp if we use the rtap interface. We will see the MAC timestamp equals to zero if we capture the packets with a monitor mode interface. But this is the expected behaviour. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit cc8ce997d2a4e524b1acea44beaf5bcfefdb1bfe Author: Maxime Austruy Date: Sun Dec 3 10:40:01 2006 -0600 [PATCH] softmac: fix unbalanced mutex_lock/unlock in ieee80211softmac_wx_set_mlme Routine ieee80211softmac_wx_set_mlme has one return that fails to release a mutex acquired at entry. Signed-off-by: Maxime Austruy Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 2b50c24554d31c2db2f93b1151b5991e62f96594 Author: Ulrich Kunitz Date: Sun Dec 3 16:32:00 2006 +0100 [PATCH] softmac: Fixed handling of deassociation from AP In 2.6.19 a deauthentication from the AP doesn't start a reassociation by the softmac code. It appears that mac->associnfo.associating must be set and the ieee80211softmac_assoc_work function must be scheduled. This patch fixes that. Signed-off-by: Ulrich Kunitz Signed-off-by: John W. Linville commit e6e3f12ad713fb878baa8e8b5456874a7ac714d3 Author: Yan Burman Date: Sat Dec 2 13:38:14 2006 +0200 [PATCH] ipw2200: replace kmalloc+memset with kcalloc Replace kmalloc+memset with kcalloc Signed-off-by: Yan Burman Signed-off-by: John W. Linville commit b950e83b69a69f3db5ae64ab70b336886855517f Author: Yan Burman Date: Sat Dec 2 13:35:20 2006 +0200 [PATCH] prism54: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: John W. Linville commit b0471bb7b779f5deea109e5bfdfe8c18d4a06241 Author: Yan Burman Date: Sat Dec 2 13:33:40 2006 +0200 [PATCH] hostap: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: John W. Linville commit 9cdac9657fda58ae39c2bbc8be396f5530ed8398 Author: Ulrich Kunitz Date: Fri Dec 1 00:58:07 2006 +0000 [PATCH] zd1211rw: Support for multicast addresses Support for multicast adresses is implemented by supporting the set_multicast_list() function of the network device. Address filtering is supported by a group hash table in the device. This is based on earlier work by Benoit Papillaut. Fixes multicast packet reception and ipv6 connectivity: http://bugzilla.kernel.org/show_bug.cgi?id=7424 http://bugzilla.kernel.org/show_bug.cgi?id=7425 Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit ff9b99bcccee8449afd23ddc28f8b4b7aec996ea Author: Daniel Drake Date: Fri Dec 1 00:57:11 2006 +0000 [PATCH] zd1211rw: Fill enc_capa in GIWRANGE handler This is needed for NetworkManager users to connect to WPA networks. Pointed out by Matthew Campbell. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 383956a9c59157db4c404d1c8bb9074b8dfe3ee0 Author: Daniel Drake Date: Fri Dec 1 00:56:50 2006 +0000 [PATCH] zd1211rw: zd_mac_rx isn't always called in IRQ context e.g. usb 1-7: rx_urb_complete() *** first fragment *** usb 1-7: rx_urb_complete() *** second fragment *** drivers/net/wireless/zd1211rw/zd_mac.c:1063 ASSERT (((current_thread_info()->preempt_count) & (((1UL << (12))-1) << ((0 + 8) + 8)))) VIOLATED! [] zd_mac_rx+0x3e7/0x47a [zd1211rw] [] rx_urb_complete+0x22d/0x24a [zd1211rw] [] urb_destroy+0x0/0x5 [] kref_put+0x65/0x72 [] usb_hcd_giveback_urb+0x28/0x57 [] qh_completions+0x296/0x2f6 [] ehci_urb_done+0x70/0x7a [] qh_completions+0x73/0x2f6 [] ehci_work+0x98/0x538 Remove the bogus assertion, and use dev_kfree_skb_any as pointed out by Ulrich Kunitz. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit d32adcb85c74fd81963714689842993e7014515f Author: Salyzyn, Mark Date: Tue Dec 5 14:37:30 2006 -0500 [SCSI] aic79xx: Add ASC-29320LPE ids to driver Simple patch to add the new PCIe version of the 29320 card. Signed-off: Mark Salyzyn Signed-off-by: James Bottomley commit 6d5aefb8eaa38e44b5b8cf60c812aceafc02d924 Author: David Howells Date: Tue Dec 5 19:36:26 2006 +0000 WorkQueue: Fix up arch-specific work items where possible Fix up arch-specific work items where possible to use the new work_struct and delayed_work structs. Three places that enqueue bits of their stack and then return have been marked with #error as this is not permitted. Signed-Off-By: David Howells commit 887bc5d00c02b32763845247024e8db5243ef857 Author: Steven Whitehouse Date: Tue Dec 5 13:34:17 2006 -0500 [GFS2] Fix indent in recovery.c As per comments from Andrew Morton and Jan Engelhardt, this fixes the indent and removes the "static" from a variable declaration since its not needed in this case (now allocated on the stack of the function in question). Signed-off-by: Steven Whitehouse Cc: Jan Engelhardt Cc: Andrew Morton commit 418b2e56b8a61ea85f7a9c5d327e1a2c61d1b2db Author: Timo Lindhorst Date: Tue Dec 5 15:23:33 2006 +0100 [MTD] NAND: use SmartMedia ECC byte order for ndfc Select MTD_NAND_ECC_SMC (ECC byte order according to the Smart Media Specification) if MTD_NAND_NDFC is used. Using the wrong byte order causes fatal, unnoticed data damage. For further information see: http://lists.infradead.org/pipermail/linux-mtd/2006-November/016920.html Signed-off-by: Timo Lindhorst Signed-off-by: David Woodhouse commit febb631c11d450473a1648a4b808ab3bb9f139cb Author: Ed Lin Date: Mon Dec 4 17:49:46 2006 -0800 [SCSI] stex: version update Update version to 3.1.0.1 Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 76fbf96f82636c8cdc40485506c50c880fd45a56 Author: Ed Lin Date: Mon Dec 4 17:49:42 2006 -0800 [SCSI] stex: change wait loop code The original wait loop may be much longer than intended time. Use more accurate timer_after for it. Also adjust wait value to avoid unnecessary long waiting. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 94e9108b5ad8da9c02ebf5183b861f1717409555 Author: Ed Lin Date: Mon Dec 4 17:49:39 2006 -0800 [SCSI] stex: add new device type support Add support for st_vsc1 type device (st_vsc is ok because it does not require extra buffer). Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit ee926b27a01da1c1f0f0017c0e6af6e4fd6c05b5 Author: Ed Lin Date: Mon Dec 4 17:49:36 2006 -0800 [SCSI] stex: update device id info - add comments for various devices - remove unused device ids(0xf350, 0x4301, 0x8301, 0x8302) - add new device id(0xe350) - fix vendor id of st_vsc - modify Kconfig help info Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 529e7a62c8016ab7d3ef4ef6d39de23c0569781f Author: Ed Lin Date: Mon Dec 4 17:49:34 2006 -0800 [SCSI] stex: adjust default queue length Firmware of new version may adjust default queue length. It is backward compatible. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 47c4f997c7bd9ab142c65950317232728b921aa0 Author: Ed Lin Date: Mon Dec 4 17:49:31 2006 -0800 [SCSI] stex: add value check in hard reset routine During hard reset, an all-1 value from PCI_COMMAND should be invalid. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 4eea9dc45fa7feb42e6dce32d94ea9ea4d64e40b Author: Ed Lin Date: Mon Dec 4 17:49:28 2006 -0800 [SCSI] stex: fix controller_info command handling This command needs information from both firmware and driver. First copy information from firmware to buffer, then fill in driver information. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit b4b8bed12345bc03dfcef80cbbe78582429b063c Author: Ed Lin Date: Mon Dec 4 17:49:24 2006 -0800 [SCSI] stex: fix biosparam calculation Fix biosparam calculation. Signed-off-by: Ed Lin Signed-off-by: James Bottomley commit 00769ec40074b753c9b218c2ccaba2bfbfffe056 Author: Jeff Garzik Date: Sun Dec 3 20:49:23 2006 -0500 [SCSI] megaraid: fix MMIO casts megaraid's MMIO RD*/WR* macros directly call readl() and writel() with an 'unsigned long' argument. This throws a warning, but is otherwise OK because the 'unsigned long' is really the result of ioremap(). This setup is also OK because the variable can hold an ioremap cookie /or/ a PCI I/O port (PIO). However, to fix the warning thrown when readl() and writel() are passed an unsigned long cookie, I introduce 'void __iomem *mmio_base', holding the same value as 'base'. This will silence the warnings, and also cause an oops whenever these MMIO-only functions are ever accidentally passed an I/O address. Signed-off-by: Jeff Garzik Signed-off-by: James Bottomley commit e42ebefee15894522f3a84045887573ebc9b764e Author: akpm@osdl.org Date: Mon Dec 4 23:06:48 2006 -0800 [SCSI] tgt: fix undefined flush_dcache_page() problem drivers/scsi/scsi_tgt_if.c: In function 'tgt_uspace_send_event': drivers/scsi/scsi_tgt_if.c:88: warning: implicit declaration of function 'flush_dcache_page' Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit bf8c80a6a5153e7f170f240731c650eeed6d78ff Author: Yoichi Yuasa Date: Tue Dec 5 07:43:38 2006 +0100 mmc: fix au1xmmc build error This patch has fixed the following build error abou au1xmmc. drivers/mmc/au1xmmc.c: In function `au1xmmc_poll_event': drivers/mmc/au1xmmc.c:835: warning: unused variable `status' drivers/mmc/au1xmmc.c: At top level: drivers/mmc/au1xmmc.c:878: error: parse error before "const" drivers/mmc/au1xmmc.c: In function `au1xmmc_probe': drivers/mmc/au1xmmc.c:909: error: `au1xmmc_ops' undeclared (first use in this function) drivers/mmc/au1xmmc.c:909: error: (Each undeclared identifier is reported only once drivers/mmc/au1xmmc.c:909: error: for each function it appears in.) drivers/mmc/au1xmmc.c: At top level: drivers/mmc/au1xmmc.c:659: warning: 'au1xmmc_request' defined but not used drivers/mmc/au1xmmc.c:719: warning: 'au1xmmc_set_ios' defined but not used make[2]: *** [drivers/mmc/au1xmmc.o] Error 1 make[1]: *** [drivers/mmc] Error 2 make: *** [drivers] Error 2 Signed-off-by: Yoichi Yuasa Signed-off-by: Pierre Ossman commit 9e86619b6d58806d1a8b67c12c5e3e3a74818fb6 Author: Sascha Hauer Date: Tue Dec 5 07:41:09 2006 +0100 mmc: pxamci compilation fix since commit fcaf71fd51f9cfc504455d3e19ec242e4b2073ed struct mmc_host does not have a dev field. Retrieve the device with mmc_dev() instead. Signed-off-by: Sascha Hauer Signed-off-by: Pierre Ossman commit e62438630ca37539c8cc1553710bbfaa3cf960a7 Author: Matthew Wilcox Date: Mon Dec 4 03:38:31 2006 -0700 [PATCH] Centralise definitions of sector_t and blkcnt_t CONFIG_LBD and CONFIG_LSF are spread into asm/types.h for no particularly good reason. Centralising the definition in linux/types.h means that arch maintainers don't need to bother adding it, as well as fixing the problem with x86-64 users being asked to make a decision that has absolutely no effect. The H8/300 porters seem particularly confused since I'm not aware of any microcontrollers that need to support 2TB filesystems. Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds commit ee28b0da1069ced1688aa9d0b7b378353b988321 Author: Al Viro Date: Mon Dec 4 22:05:09 2006 +0000 [PATCH] remote memory corruptor in ibmtr.c ip_summed changes last summer had missed that one. As the result, we have ip_summed interpreted as CHECKSUM_PARTIAL now. IOW, ->csum is interpreted as offset of checksum in the packet. net/core/* will both read and modify the value as that offset, with obvious reasons. At the very least it's a remote memory corruptor. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 87fcd70d983d30eca4b933fff2e97d9a31743d0a Author: Al Viro Date: Mon Dec 4 22:00:55 2006 +0000 [PATCH] selinux endianness annotations Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 40a0017eb89c4c5a4bf81523edd867d730c9f143 Author: Andrew Victor Date: Mon Dec 4 12:26:36 2006 +0200 [PATCH] pcmcia: at91_cf update This is an update to the AT91 CompactFlash driver. We replace the hard-coded "chip select 4" with the chip-select value passed via platform_data. The configuration of the EBI memory controller to enable Compact Flash access is now also handled in the platform setup code and not in the driver. Signed-off-by: Andrew Victor Signed-off-by: Dominik Brodowski commit 1dd997f8fa5d52a473c77201a96efe3b66abc3d8 Author: Adrian Bunk Date: Sat Dec 2 18:55:06 2006 +0100 [PATCH] pcmcia: fix m32r_cfc.c compilation More fallout of the post 2.6.19-rc1 IRQ changes... Signed-off-by: Adrian Bunk Signed-off-by: Dominik Brodowski commit d9d9ea0169e657a01c3717291d0614220dc0ff9e Author: Dominik Brodowski Date: Sat Dec 2 22:11:44 2006 +0200 [PATCH] pcmcia: ds.c debug enhancements Add verbose error messages and debug information to ds.c Signed-off-by: Dominik Brodowski commit ebe5cfb3b9f0207ea1f4a0c24bf504deb19a37cc Author: Andrew Victor Date: Mon Nov 6 15:56:07 2006 +0200 [PATCH] pcmcia: at91_cf update This is an update to the AT91RM9200 CompactFlash driver. The changes include: - Use the I/O memory address passed via the platform_device resources instead of constant global values. - The IRQ should not be used as a random'ness source. - Return errors if ioremap() or request_mem_region() fails. Signed-off-by: Andrew Victor Signed-off-by: Dominik Brodowski commit af2b3b503ad1b071b66e1531caae252b4b95c847 Author: Dominik Brodowski Date: Wed Oct 25 21:49:27 2006 -0400 [PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation struct pcmcia_device *p_dev->conf.ConfigBase and .Present are set in almost all PCMICA driver right at the beginning, using the same calls but slightly different implementations. Unfiy this in the PCMCIA core. Includes a small bugfix ("drivers/net/pcmcia/xirc2ps_cs.c: remove unused label") from and Signed-off-by Adrian Bunk Signed-off-by: Dominik Brodowski commit a9606fd39083478bef313c0e3b77bc065e39e36e Author: Dominik Brodowski Date: Sun Jun 4 18:06:13 2006 +0200 [PATCH] pcmcia: remove prod_id indirection As we read out the product information strings (VERS_1) from the PCMCIA device in the PCMCIA core, and device drivers can access those reliably in struct pcmcia_device's fields prod_id[], remove additional product information string detection logic from PCMCIA device drivers. Signed-off-by: Dominik Brodowski commit efd50585e2ff9bd60e044fda7764d323010a7fe4 Author: Dominik Brodowski Date: Wed Oct 25 21:28:53 2006 -0400 [PATCH] pcmcia: remove manf_id and card_id indirection As we read out the manufactor and card_id from the PCMCIA device in the PCMCIA core, and device drivers can access those reliably in struct pcmcia_device's fields manf_id and card_id, remove additional (and partly broken) manf_id and card_id detection logic from PCMCIA device drivers. Signed-off-by: Dominik Brodowski commit 44e5e33e99e1b955ac6f0bb26abd9380629b48a9 Author: Tony Olech Date: Wed Nov 29 08:54:51 2006 +0000 [PATCH] pcmcia: IDs for Elan serial PCMCIA devcies Add IDs for Elan serial PCMCIA devices. In addition, move the pdaudio_cf driver from matching based on manf_id and card_id to the more specific prod_id1 and prod_id2 to avoid false positives. Signed-off-by: Tony Olech Signed-off-by: Dominik Brodowski commit 6cf5be5112ecc5b0bded73bd2a64c1d46e4f6b8c Author: Dominik Brodowski Date: Mon Nov 27 21:03:48 2006 -0500 [PATCH] pcmcia: allow for four multifunction subdevices Some Elan serial cards allow for four (independent) multifunction subdevices. Teach the PCMCIA core to deal with such devices. Signed-off-by: Dominik Brodowski commit 9374074f9b8bfe15bd5860019d07d967507c2bb6 Author: Dominik Brodowski Date: Sun Nov 19 11:21:27 2006 -0500 [PATCH] pcmcia: handle __copy_from_user() return value in ioctl Handle __copy_from_user() return value. drivers/pcmcia/pcmcia_ioctl.c:597: warning: ignoring return value of '__copy_from_user', declared with attribute warn_unused_result Noticed and first fix by Randy Dunlap. Signed-off-by: Dominik Brodowski commit 1d2c90425d5b0dcbf4a0fab2053d5087758b76a0 Author: Dominik Brodowski Date: Mon Nov 6 21:52:16 2006 -0500 [PATCH] pcmcia: multifunction card handling fixes s->functions needs to be initialized earlier, for the "let's see how high it increases" approach means that pcmcia_request_irq() (which makes use of this value) is confused, and might request an exclusive IRQ first even though it is not supposed to. Also, a CIS override autoloaded using the firmware loader may allow for the use of more or less functions in a multifunction card. Therefore, we may need to schedule a call to add this second function later on, or simply remove the other function (it's always the first -valid- function which reaches this codepath). Many thanks to Fabrice Bellet for debugging and testing patches. Signed-off-by: Dominik Brodowski commit 3e022d0c77e159a59d3ebfc44ad76a05202c2a6b Author: Komuro Date: Sat Nov 4 10:00:47 2006 +0900 [PATCH] pcmcia: allow shared IRQs on pd6729 sockets Use IRQF_PROBE_SHARED flag for request_irq() to find an unused interrupt for PCMCIA cards. Signed-off-by: Komuro Signed-off-by: Dominik Brodowski commit 4ae1cbf17d14ba6fd316a94b290ea4e741cba15c Author: Dominik Brodowski Date: Fri Nov 3 10:54:00 2006 -0500 [PATCH] pcmcia: start over after CIS override When overriding the CIS, re-start the configuration of the card from scratch. Reported and debugged by Fabrice Bellet Signed-off-by: Dominik Brodowski commit 5eb5fc97d83ee1f8fcf3490bb81ad14a99fc544c Author: Akinobu Mita Date: Tue Oct 17 15:25:59 2006 +0900 [PATCH] cm4000_cs: fix return value check The return value of class_create() need to be checked with IS_ERR(). And register_chrdev() returns errno on failure. This patch includes these fixes for cm4000_cs and cm4040_cs. Signed-off-by: Akinbou Mita Signed-off-by: Harald Welte Signed-off-by: Dominik Brodowski commit 0517793fa8f98e6f30406b1811ea0312bca3a414 Author: Marcin Juszkiewicz Date: Mon Oct 30 22:28:09 2006 +0100 [PATCH] pcmcia: yet another IDE ID Microdrive reported by one of OpenEmbedded developers. product info: "WEIDA", "TWTTI", "" manfid: 0x000a, 0x0000 function: 4 (fixed disk) (equivalent update to pata_pcmcia.c by Dominik Brodowski) Signed-off-by: Marcin Juszkiewicz Signed-off-by: Dominik Brodowski commit bf4e18294ff9b1cee3c71b0d9ad161dc304b7b82 Author: Matt Reimer Date: Thu Oct 26 15:56:00 2006 -0700 [PATCH] pcmcia: Add an id to ide-cs.c Add an ID entry for: product info: "TRANSCEND", "TS1GCF80", "", "" manfid: 0x000a, 0x0000 function: 4 (fixed disk) Signed-off-by: Matt Reimer Signed-off-by: Dominik Brodowski commit d8594d639135b500bf6010f981ea854092d54030 Author: Grant Likely Date: Mon Dec 4 17:29:12 2006 -0700 [POWERPC] Add missing EXPORTS for mpc52xx support Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 650f3289f40e9c2789ecb22683d140a05448f71b Author: Grant Likely Date: Mon Dec 4 17:29:13 2006 -0700 [POWERPC] Remove obsolete PPC_52xx and update CLASSIC32 comment The support for the 52xx-based systems is now included under CONFIG_CLASSIC32, since the 52xx chips have a 603e-based core. Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 8a8944aab2e4b02550c29c45a0383dd4096dd989 Author: Geoff Levand Date: Mon Dec 4 16:11:38 2006 -0800 [POWERPC] ps3: add a default zImage target Add a powerpc make target that can be loaded by the ps3 bootloader (kboot) and set this as the default image to build for that platform. Until the compressed zImage wrapper is made, this arranges for a stripped vmlinux image to be built. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit ed25ffa16434724f5ed825aa48734c7f3aefa203 Author: Amit S. Kale Date: Mon Dec 4 09:23:25 2006 -0800 [PATCH] NetXen: multiport firmware support, ioctl interface NetXen: 1G/10G Ethernet driver updates - Multiport and newer firmware support - ioctl interface for user level tools - Cast error fix for multiport Signed-off-by: Amit S. Kale netxen_nic.h | 281 +++++++++++++++++++++++++------- netxen_nic_ethtool.c | 12 - netxen_nic_hw.c | 429 +++++++++++++++++++++++++++++++++++++++++--------- netxen_nic_init.c | 301 ++++++++++++++++++++++++++++++----- netxen_nic_ioctl.h | 2 netxen_nic_isr.c | 3 netxen_nic_main.c | 260 ++++++++++++++++++------------ netxen_nic_niu.c | 22 +- netxen_nic_phan_reg.h | 228 ++++++++++++++++---------- 9 files changed, 1161 insertions(+), 377 deletions(-) Signed-off-by: Jeff Garzik commit 80922fbcb6f00127e91580e7565bb665947ac5d3 Author: Amit S. Kale Date: Mon Dec 4 09:18:00 2006 -0800 [PATCH] NetXen: whitespace cleaup and more cleanup fixes Signed-off-by: Amit S. Kale netxen_nic.h | 56 ++++++++++++++++++++-------------------------- netxen_nic_ethtool.c | 53 +++++++++++++++++++++----------------------- netxen_nic_hdr.h | 6 ++--- netxen_nic_hw.c | 54 +++++++++++++++++++++------------------------ netxen_nic_hw.h | 10 ++++---- netxen_nic_init.c | 61 +++++++++++++++++++++++++-------------------------- netxen_nic_ioctl.h | 6 ++--- netxen_nic_isr.c | 48 +++++++++++++++++----------------------- netxen_nic_main.c | 54 +++++++++++++++++---------------------------- netxen_nic_niu.c | 10 ++++---- 10 files changed, 165 insertions(+), 193 deletions(-) Signed-off-by: Jeff Garzik commit 59dc76a4e3bed66f5be474dcdc81cc39c7290cec Author: Mariusz Kozlowski Date: Mon Dec 4 15:04:56 2006 -0800 [PATCH] net: smc91x add missing bracket Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 043d58064ac6556a3abd3a74201831f3e9a5b6e8 Author: Mariusz Kozlowski Date: Mon Dec 4 15:04:56 2006 -0800 [PATCH] sk98lin debug build fix Fix parenthesis mismatch. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e8f7f7f11d07c3fe3316d57790bae4c561064c33 Author: Maciej W. Rozycki Date: Mon Dec 4 15:04:55 2006 -0800 [PATCH] declance: Support the I/O ASIC LANCE w/o TURBOchannel The onboard LANCE of I/O ASIC systems is not a TURBOchannel device, at least from the software point of view. Therefore it does not rely on any kernel TURBOchannel bus services and can be supported even if support for TURBOchannel has not been enabled in the configuration. Tested with the onboard LANCE of a DECstation 5000/133. Signed-off-by: Maciej W. Rozycki Cc: Jeff Garzik Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3b6e8fe7eca12fca2cc7fde46ba2a94a86ab0815 Author: Maciej W. Rozycki Date: Mon Dec 4 15:04:54 2006 -0800 [PATCH] declance: Fix PMAX and PMAD support The shared buffer used by the LANCE on the PMAX only supports halfword (16-bit) accesses. And the PMAD has the buffer wired differently. This is a change to fix these issues. Tested with a DECstation 2100 (thanks Flo for making this possible) and a DECstation 5000/133 (both the PMAD and the onboard LANCE). Signed-off-by: Maciej W. Rozycki Cc: Jeff Garzik Cc: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 4e1400796c93df5e7f92d766e4a4332d0c98795f Author: Andy Gospodarek Date: Mon Dec 4 15:04:54 2006 -0800 [PATCH] bonding: incorrect bonding state reported via ioctl This is a small fix-up to finish out the work done by Jay Vosburgh to add carrier-state support for bonding devices. The output in /proc/net/bonding/bondX was correct, but when collecting the same info via an iotcl it could still be incorrect. Signed-off-by: Andy Gospodarek Cc: Jeff Garzik Cc: Stephen Hemminger Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 33fee56ae846cdee67d2ab6d14c3baa879dfc794 Author: Deepak Saxena Date: Mon Dec 4 15:04:46 2006 -0800 [PATCH] Update smc91x driver with ARM Versatile board info We need to specify a Versatile-specific SMC_IRQ_FLAGS value or the new generic IRQ layer will complain thusly: No IRQF_TRIGGER set_type function for IRQ 25 () Signed-off-by: Deepak Saxena Cc: Jeff Garzik Cc: Russell King Cc: Nicolas Pitre On Fri, 20 Oct 2006 22:50:40 +0100 Russell King wrote: > On Fri, Oct 20, 2006 at 02:42:04PM -0700, akpm@osdl.org wrote: > > We need to specify a Versatile-specific SMC_IRQ_FLAGS value or the new > > generic IRQ layer will complain thusly: > > I don't think I heard anything back from my previous suggestion that > the IRQ flags are passed through the platform device IRQ resource. > > Doing so would avoid adding yet another platform specific block into > the file. > > BTW, Integrator platforms will also suffer from this, which will add > another ifdef to this header. > > Let's do it right and arrange to pass these flags from the platform > code. It's not like they're in a critical path. Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit b9272dfdfe6b13120144eabf79d562d9a29ad5ce Author: Grant Likely Date: Mon Nov 27 14:21:02 2006 -0700 [POWERPC] Add of_platform_bus support to mpc52xx psc uart driver Needed to support mpc52xx boards in arch/powerpc. This patch retains the platform_bus support when compiling for arch/ppc, but uses the of_platform bindings for arch/powerpc. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 9b9129e73985fe31ee6fd6a5d9f04219d127c186 Author: Grant Likely Date: Mon Nov 27 14:21:01 2006 -0700 [POWERPC] typo fix and whitespace cleanup on mpc52xx-uart driver Single typo fix and whitespace changes. In preparation for heavy changes to this driver when support for arch/powerpc is added. Since the driver will be changing significantly anyway, then may as well take the opportunity to clean it up first. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 0004a9dfeaa709a7f853487aba19932c9b1a87c8 Author: Ralf Baechle Date: Tue Oct 31 03:45:07 2006 +0000 [MIPS] Cleanup memory barriers for weakly ordered systems. Also the R4000 / R4600 LL/SC instructions imply a sync so no explicit sync needed. Signed-off-by: Ralf Baechle commit 08f57f7ffe5819e537301b1f1109fa4fc670bfff Author: Ralf Baechle Date: Sun Dec 3 19:55:45 2006 +0000 [MIPS] Alchemy: Automatically enable CONFIG_RESOURCES_64BIT for PCI configs. Signed-off-by: Ralf Baechle commit 0bcdda0f3a87ed684d46841b6069409e39c4af65 Author: Atsushi Nemoto Date: Mon Dec 4 00:42:59 2006 +0900 [MIPS] Unify csum_partial.S The 32-bit version and 64-bit version are almost equal. Unify them. This makes further improvements (for example, copying with parallel, supporting PREFETCH, etc.) easier. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 03dbd2e0b1dcb24d63f64aa234cce3a7fabed328 Author: Maciej W. Rozycki Date: Thu Nov 30 13:45:32 2006 +0000 [MIPS] SWARM: Fix a typo in #error directives This is a fix for a typo repeated several times in #error directives for invalid SiByte configurations. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit 4f8b5c70967de5fd27f2092f1f8da47f4705bb67 Author: Ralf Baechle Date: Thu Nov 30 15:38:10 2006 +0000 [MIPS] Fix atomic.h build errors. For the definition of atomic64_t atomic.h was relying on having been included previously. Before changeset d89d8e0637a5e4e0a12e90c4bc934d0d4c335239 this was happening as a side effect of including . Signed-off-by: Ralf Baechle commit 05e4396651ca1cac51d8da9ff4992741c9dc1e39 Author: Atsushi Nemoto Date: Tue Nov 7 18:02:44 2006 +0900 [MIPS] Use SYSVIPC_COMPAT to fix various problems on N32 N32 SysV IPC system calls should use 32-bit compatible code. arch/mips/kernel/linux32.c have similar compatible code for O32, but ipc/compat.c seems more complete. We can use it for both N32 and O32. This patch should fix these problems (and other possible problems): http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=1149188824.6986.6.camel%40diimka-laptop http://www.linux-mips.org/cgi-bin/mesg.cgi?a=linux-mips&i=44C6B829.8050508%40caviumnetworks.com Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9567772f14f6d2692ea88ddc111a5a6b352fd512 Author: Mariusz Kozlowski Date: Thu Nov 30 10:16:29 2006 +0100 [MIPS] klconfig add missing bracket Signed-off-by: Mariusz Kozlowski Signed-off-by: Ralf Baechle commit c69fda4e181fe448c43c2e1cc7b3fa67263d88ca Author: Al Viro Date: Mon Nov 20 14:12:54 2006 -0500 [PATCH] ns83820 annotations Signed-off-by: Al Viro commit 40f6cff5c47efac2df361fbfc2eb2816729986c8 Author: Al Viro Date: Mon Nov 20 13:48:32 2006 -0500 [PATCH] myri10ge annotations Signed-off-by: Al Viro commit bffa2154956da31f59c6050f176fadba630ff53a Author: Al Viro Date: Thu Jun 15 14:23:19 2006 -0400 [PATCH] drivers/net/arm missing __devinit Signed-off-by: Al Viro commit afc8eb46c0ea2cab8bc28713b2e0614f015a7516 Author: Al Viro Date: Wed Jun 14 18:50:53 2006 -0400 [PATCH] trivial missing __init in drivers/net/* Signed-off-by: Al Viro commit 059807755c0d2b2727588bb52951f8ff6cbf07b4 Author: Al Viro Date: Tue May 30 23:59:09 2006 -0400 [PATCH] mv643xx_eth.c NULL noise removal Signed-off-by: Al Viro commit fbd819766568c6f3d286dbabb9a17bb13e48f40d Author: Al Viro Date: Tue May 30 23:58:25 2006 -0400 [PATCH] __iomem annotations: smc91x Signed-off-by: Al Viro commit 8e42a5a220a3369c70d88474e887a6de6a4ae209 Author: Alan Date: Mon Dec 4 16:36:05 2006 +0000 [PATCH] pata_ali: small fixes Switch to pci_get_bus_and_slot because some x86 systems seem to be handing us a device with dev->bus = NULL. Also don't apply the isa fixup to revision C6 and later of the chip. Really we need to work out wtf is handing us pdev->bus = NULL, but firstly and more importantly we need the drivers working. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 75f609d2a923b8f1db870e0c63ff41c84c145589 Author: Alan Date: Mon Dec 4 16:38:25 2006 +0000 [PATCH] pata_via: VIA 8251 bridged systems are now out and about Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2c5ff671ca853a1f73ae688bbf5b4f68a476b55d Author: Alan Date: Mon Dec 4 16:33:20 2006 +0000 [PATCH] trivial piix: swap bogus dot for comma space Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a80958f4849316a18c06f75b9e850ccecbf20df8 Author: Al Viro Date: Mon Dec 4 20:41:19 2006 +0000 [PATCH] fix fallout from header dependency trimming OK, that seems to be enough to deal with the mess. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit 0c789ff64e874bbece03b607f200566ab24ea9ab Author: Linus Torvalds Date: Mon Dec 4 10:52:29 2006 -0800 netfilter.h needs rcuupdate.h for RCU locking functions This was exposed by Al's recent header file dependency reduction patches.. Cc: Al Viro Cc: David S. Miller Signed-off-by: Linus Torvalds commit a79f43a54b7df7b12bc1c0fbf4ba76520ba40354 Author: David Woodhouse Date: Mon Dec 4 15:45:46 2006 +0000 [PATCH] Enable RAID autorun on Mac partition tables. Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit f75e3b1de6a72f6eb22f3ab120dd52b902357c03 Author: Greg Ungerer Date: Mon Dec 4 17:28:03 2006 +1000 [PATCH] m68knommu: fix missing bracket in scatterlist.h This patch adds missing bracket. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 04a9f081b76f536bcf69db066153c2a4231d5783 Author: Greg Ungerer Date: Mon Dec 4 17:27:58 2006 +1000 [PATCH] m68knommu: fix dma-mapping.h Make the m68knommu DMA handling consistent with other architectures. Compile problems pointed out by Adrian Bunk Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit d773c660973560970a6b3697cb280ddc5389447d Author: Greg Ungerer Date: Mon Dec 4 17:27:42 2006 +1000 [PATCH] m68knommu: remove __rom_end from 68360 startup code Remove use of __rom_end symbol all together. This helps clean out the miscellaneous symbols lying around in the m68knommu linker script. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 5a31be3fb52c276b4913bd89e77481fae0001510 Author: Greg Ungerer Date: Mon Dec 4 17:27:36 2006 +1000 [PATCH] m68knommu: memory register defines for 520x ColdFire CPU's Here is a small patch to automatically detect the DRAM size on m520x. It was generated against 2.6.17-uc0, and tested on an Intec 5208 dev board. (This part of the patch if the memory register defines for the 520x ColdFire CPU family - Greg). Signed-off-by: Michael Broughton Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 552984050958fc0f51bff38948d0bf4d31ea2b03 Author: Michael Broughton Date: Mon Dec 4 17:27:29 2006 +1000 [PATCH] m68knommu: auto detect memory size on M5208EVB board Here is a small patch to automatically detect the DRAM size on m520x. It was generated against 2.6.17-uc0, and tested on an Intec 5208 dev board. Signed-off-by: Michael Broughton Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1bddcc50c27c8ca39a62a1d37e3928707be8f850 Author: David Wu Date: Mon Dec 4 17:27:22 2006 +1000 [PATCH] m68knommu: add SHM support It turns out SHMAT, SHMDT, SHMGET and SHMCTL support in sys_ipc() for m68knommu in 2.6 kernel(uClinux-dist-20060803 release) is missing. (copied from m68k sources, report by David Wu ) Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 329237c12b94911dfad128e2588b0b7ae9c516e7 Author: Greg Ungerer Date: Mon Dec 4 17:27:09 2006 +1000 [PATCH] m68knommu: add printk level for stack dump Specify printk level in m68knommu stack dump code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 19127e2bf94e7b427530b64af417185221b69508 Author: Greg Ungerer Date: Mon Dec 4 17:26:55 2006 +1000 [PATCH] m68knommu: add printk level for oops dumps Specify printk level in m68knommu oops dump code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1b9552af943f54336333c9a6e02f5ed9f18e0bcc Author: Adrian Bunk Date: Mon Dec 4 17:26:44 2006 +1000 [PATCH] m68knommu: fix compile when CONFIG_BLK_DEV_INITRD=n This patch fixes the following compile error with CONFIG_BLK_DEV_INITRD=n and -Werror-implicit-function-declaration: ... CC arch/m68knommu/kernel/setup.o /home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/arch/m68knommu/kernel/setup.c: In function 'setup_arch': /home/bunk/linux/kernel-2.6/linux-2.6.18-rc5-mm1/arch/m68knommu/kernel/setup.c:268: error: implicit declaration of function 'paging_init' make[2]: *** [arch/m68knommu/kernel/setup.o] Error 1 Signed-off-by: Adrian Bunk Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 6869e940c2244554ad8858f8c4f07bf7e2fd5e3d Author: Greg Ungerer Date: Mon Dec 4 16:40:58 2006 +1000 [PATCH] m68knommu: formatting cleanup in Kconfig Formatting and a spelling cleanup in m68knommu Kconfig. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 74f8f557fd0c6f32e17e78c9ef508ca66ef37d3a Author: Heiko Carstens Date: Mon Dec 4 15:41:10 2006 +0100 [S390] Don't use small stacks when lockdep is used. The lock dependency validator adds a bunch of extra stack frames to the stack, which can cause stack overflows. Especially seen on 31 bit where the small stack is only 4k. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 47af5518526d435d0d56a329a578f240e86eb678 Author: Cornelia Huck Date: Mon Dec 4 15:41:07 2006 +0100 [S390] cio: Use device_reprobe() instead of bus_rescan_devices(). In io_subchannel_register(), it is better to just reprobe the current device if it hasn't a driver yet than to rescan the whole bus. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit d23861ff1a4da1f4a5255eb4582f620191c6e1c0 Author: Cornelia Huck Date: Mon Dec 4 15:41:04 2006 +0100 [S390] cio: Retry internal operations after vary off. If I/O was running on a just varied off chpid, it will be terminated. If this was a common I/O layer internal I/O, it needs to be retried. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 24cb5b4846ebae5543869b5c596c2650f380df53 Author: Cornelia Huck Date: Mon Dec 4 15:41:01 2006 +0100 [S390] cio: Use path verification for last path gone after vary off. If the last path to a device is gone after a chpid has been varied off, putting it on the slow queue doesn't prevent a device driver from still attempting to use it (it may stay on the slow queue for a long time). Instead, trigger a verify event which will prevent I/O attempts from the device driver immediately. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 9163bb2e556f6c7879961df94540f0879db4717b Author: Ursula Braun Date: Mon Dec 4 15:40:59 2006 +0100 [S390] non-unique constant/macro identifiers. Add some prefixes to constands defined in drivers/s390/net/qdio.h and drivers/s390/lcs.h to make it possible to include the three header files drivers/s390/net/qeth.h, drivers/s390/net/qdio.h and drivers/net/s390/lcs.h in one C file. This is required for the patch that generates the kerntypes.o file for use by lcrash. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit 8b62bc9642300471737bc3b77b2a4a2ead46dedb Author: Heiko Carstens Date: Mon Dec 4 15:40:56 2006 +0100 [S390] Memory detection fixes. VMALLOC_END on 31bit should be 0x8000000UL instead of 0x7fffffffL. The page mask which is used to make sure memory_end is on 4MB/2MB boundary is wrong and not needed. Therefore remove it. Make sure a vmalloc area does also exist and work on (future) machines with 4TB and more memory. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ce26a8532fd062ccd3f3c589a4be269a2dc20f00 Author: Cornelia Huck Date: Mon Dec 4 15:40:54 2006 +0100 [S390] cio: Make ccw_dev_id_is_equal() more robust. Using memcmp to compare ccw_dev_id implies that the whole structure (incl. padding) has always been completely initialized to sane values. Comparing the structures field by field doesn't make such assumptions. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 09252e77ed13b1b412329825bad5797fbdd5a5c8 Author: Heiko Carstens Date: Mon Dec 4 15:40:51 2006 +0100 [S390] Convert extmem spin_lock into a mutex. There's no need to have a spin_lock here, but need sleepable context for vmem_map. Therefore convert the spin_lock into a mutex. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 1681cedaee9f8dcb59d499a9277bc3a190a2378d Author: Christian Borntraeger Date: Mon Dec 4 15:40:49 2006 +0100 [S390] set KBUILD_IMAGE. Set KBUILD_IMAGE to a sane value. This enables "make rpm" Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 236257eee99a35d67d3feab0769bded83efdc3ec Author: Heiko Carstens Date: Mon Dec 4 15:40:47 2006 +0100 [S390] lockdep: show held locks when showing a stackdump Follow i386/x86_64: lockdep can be used to print held locks when printing a backtrace. This can be useful when debugging things like 'scheduling while atomic' asserts. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 59f35d53fde3987d071ea1c9bf1c9ba29fcb69fe Author: Gerald Schaefer Date: Mon Dec 4 15:40:45 2006 +0100 [S390] Add dynamic size check for usercopy functions. Use a wrapper for copy_to/from_user to chose the best usercopy method. The mvcos instruction is better for sizes greater than 256 bytes, if mvcos is not available a page table walk is better for sizes greater than 1024 bytes. Also removed the redundant copy_to/from_user_std_small functions. Signed-off-by: Gerald Schaefer Signed-off-by: Martin Schwidefsky commit d57de5a36791cb1b7285649c62f183b0d3505f7d Author: Heiko Carstens Date: Mon Dec 4 15:40:42 2006 +0100 [S390] Use diag260 for memory size detection. Avoid the tprot loop if diag260 works and reports that there are no holes in memory. The tprot instruction can lead to a significant delay in the ipl process if the virtual guest has a lot of memory and the host is under memory pressure. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 29b08d2bae854f66d3cfd5f57aaf2e7c2c7fce32 Author: Heiko Carstens Date: Mon Dec 4 15:40:40 2006 +0100 [S390] pfault code cleanup. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 36a2bd425d9b3ba2a40b0653e08d17702c78558e Author: Heiko Carstens Date: Mon Dec 4 15:40:38 2006 +0100 [S390] Cleanup memory_chunk array usage. Need this at yet another file and don't want to add yet another extern... Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit baf2aeb3d9e286add823bcaea5442ad4ee34f6e4 Author: Heiko Carstens Date: Mon Dec 4 15:40:36 2006 +0100 [S390] Misaligned wait PSW at memory detection. If the memory detection code would ever reach the point where it would load the wait psw, it would generate a specification exception and the system would crash at ipl time. This is because of a misaligned wait psw. It needs to be on a double word boundary instead of a word boundary. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit c6b5b847a7cf11f131c43fe0041443ec11697fc7 Author: Heiko Carstens Date: Mon Dec 4 15:40:33 2006 +0100 [S390] cpu shutdown rework Let one master cpu kill all other cpus instead of sending an external interrupt to all other cpus so they can kill themselves. Simplifies reipl/shutdown functions a lot. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 740b5706b9c4b3767f597b3ea76654c6f2a800b2 Author: Heiko Carstens Date: Mon Dec 4 15:40:30 2006 +0100 [S390] cpcmd <-> __cpcmd calling issues In case of reipl cpcmd gets called when all other cpus are not running anymore. To prevent deadlocks change __cpcmd so that it doesn't take any locks and call cpcmd or __cpcmd, whatever is correct in the current context. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit a1a392f0b4f27604811bf8aa8d7636b3b4bc3803 Author: Heiko Carstens Date: Mon Dec 4 15:40:28 2006 +0100 [S390] Bad kexec control page allocation. KEXEC_CONTROL_MEMORY_LIMIT is an unsigned long value and therefore should be defined as one. Otherwise the kexec control page can be allocated above 2GB which will cause a specification exception on the sam31 instruction in the s390 kexec relocation code. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 15e9b586e0bd3692e2a21c5be178810d9d32214e Author: Heiko Carstens Date: Mon Dec 4 15:40:26 2006 +0100 [S390] Reset infrastructure for re-IPL. In case of re-IPL and diag308 doesn't work we have to reset all devices manually and wait synchronously that each reset finished. This patch adds the necessary infrastucture and the first exploiter of it. Subsystems that need to add a function that needs to be called at re-IPL may register/unregister this function via struct reset_call { struct reset_call *next; void (*fn)(void); }; void register_reset_call(struct reset_call *reset); void unregister_reset_call(struct reset_call *reset); When the registered function get called the context is: - all cpus beside the current one are stopped - all machine checks and interrupts are disabled - prefixing is disabled - a default machine check handler is available for use The registered functions may not take any locks are sleep. For the common I/O layer part of this patch: Introduce a reset_call css_reset that does the following: - clear all subchannels - perform a rchp on all channel paths and wait for the resulting machine checks This replaces the calls to clear_all_subchannels() and cio_reset_channel_paths() for kexec and ccw reipl. reipl_ccw_dev() now uses reipl_find_schid() to determine the subchannel id for a given device id. Also remove cio_reset_channel_paths() and friends since they are not needed anymore. Signed-off-by: Heiko Carstens Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 2254f5a7779452395e37ea2f7d6e1a550d34e678 Author: Nicolas Kaiser Date: Mon Dec 4 15:40:23 2006 +0100 [S390] Some documentation typos. Signed-off-by: Nicolas Kaiser Signed-off-by: Martin Schwidefsky commit 6b4044bdd158aa9ad07b3f68d1c7598036d3ee58 Author: Heiko Carstens Date: Mon Dec 4 15:40:20 2006 +0100 [S390] extmem unbalanced spin_lock. segment save will exit with a lock held if the passed segment doesn't exist. Any subsequent call to segment_save will lead to a deadlock. Fix this and give up the lock before returning. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 645c98c8b6c09eae58ac2f97e0ade6ced4d6443f Author: Horst Hummel Date: Mon Dec 4 15:40:18 2006 +0100 [S390] return 'count' for successful execution of dasd_eer_enable. Currently the return value of 'dasd_eer_enable' is returned - even if the function returned '0'. Now return 'count' for successful execution. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 29145a6c8cda3238049937612365e80b53c3f266 Author: Horst Hummel Date: Mon Dec 4 15:40:15 2006 +0100 [S390] Enhanced handling of failed termination requests. In case a request timed out and termination did not work, the console was flooded with retry messages (every 1/10s). Now we use a 5s delay per retry and generate a more precise message. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 5986b0e845bc52a53ff3cafd74d341e81c95658d Author: Michael Holzheu Date: Mon Dec 4 15:40:13 2006 +0100 [S390] Use diag instead of ccw reipl. Since the diag 308 reipl method is superior to the ccw method, we should use it whenever it is possible. We can do that, if the user has not specified a new reipl ccw device and the system has been ipled from a ccw device. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 66a4263b991097397823b46377a43ae35541ec26 Author: Cornelia Huck Date: Mon Dec 4 15:40:10 2006 +0100 [S390] Add MODALIAS= to the uevent for the ap bus. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 520a4e3728c214db6e91ade7b70443c2b9382de0 Author: Martin Schwidefsky Date: Mon Dec 4 15:40:07 2006 +0100 [S390] 3215 device locking. Remove lock pointer from 3215 device structure. Use get_ccwdev_lock for each use of the lock in the ccw-device structure. Signed-off-by: Martin Schwidefsky commit 3902e47628dcaf79b2c7a6a59f6978d968eff288 Author: Michael Holzheu Date: Mon Dec 4 15:40:05 2006 +0100 [S390] No panic for failed reboot If reboot fails (e.g. because wrong devno has been specified by the user), we should just stop all cpus, but should not trigger a kernel panic. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 654452a48aa2bbfa276016a1e35d8988ff991ebb Author: Heiko Carstens Date: Mon Dec 4 15:40:02 2006 +0100 [S390] termio <-> termios conversion error handling. Get rid of our own user_termio_to_kernel_termios() and kernel_termios_to_user_termio() macros which didn't check for errors on user space accesses. Instead use the generic functions which handle this properly. In addition the generic version of user_termio_to_kernel_termios() also copies the c_line member which was missing in our variant. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bba125a6116e51faff98df1906bf77d06b644aea Author: Ralph Wuerthner Date: Mon Dec 4 15:40:00 2006 +0100 [S390] update interface notes in zcrypt.h Signed-off-by: Ralph Wuerthner Signed-off-by: Martin Schwidefsky commit 03a4d2087644f5477d9a9742e75a329f23b279e6 Author: Michael Holzheu Date: Mon Dec 4 15:39:58 2006 +0100 [S390] Add ipl/reipl loadparm attribute. If multiple kernel images are installed on one DASD, the loadparm can be used to select the boot configuration. This patch introduces the following two new sysfs attributes: /sys/firmware/ipl/loadparm: shows loadparm of current system (ro) /sys/firmware/reipl/ccw/loadparm: loadparm used for next reboot (rw) Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit f7675ad791df4bec2b9d21bcc0f846320f0a921b Author: Heiko Carstens Date: Mon Dec 4 15:39:55 2006 +0100 [S390] Add __must_check to uaccess functions. Follow other architectures and add __must_check to uaccess functions. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit feb5babead7f8058f0108ec59c3e7c2df666bd67 Author: Heiko Carstens Date: Mon Dec 4 15:39:52 2006 +0100 [S390] Remove unused GENERIC_BUST_SPINLOCK from Kconfig. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 01376f4495840f3daf6d73679242b5964fc9603b Author: Horst Hummel Date: Mon Dec 4 15:39:50 2006 +0100 [S390] handle incorrect values when writing to dasd sysfs attributes. When writing to dasd attributes (e.g. readonly), all values besides '1' are handled like '0'. Other sysfs-attributes like 'online' are checking for '1' and for '0' and do not accept other values. Therefore enhanced checking and error handling in dasd_devmap attribute store functions. Signed-off-by: Horst Hummel Signed-off-by: Martin Schwidefsky commit 26916264c17b5af8a3eaaf83b128f85cf1107cff Author: Christian Borntraeger Date: Mon Dec 4 15:39:47 2006 +0100 [S390] remove salipl memory detection. The SALIPL entry point has an needless memory detection routine as we later check the memory size again. The SALIPL code also uses diagnose 0x060 if we are running under VM, but this diagnose is not compatible with the 64 bit addressing mode. The solution is to get rid of this code and rely on the memory detection in the startup code. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 208a49f086ed8cfb3cfa15579c7ee162c54a999b Author: Andrew Victor Date: Mon Dec 4 15:07:54 2006 +0100 [ARM] 3977/1: AT91: remove loop waiting for reset Removed the infinite loop in our arch_reset(). After calling arch_reset(), the kernel waits for 1 second before printing a "reboot failed" message and then waits for ever itself. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d4a89c7d2788e42153d7fc3f0e6f2bde5ede329c Author: Andrew Victor Date: Mon Dec 4 13:56:21 2006 +0100 [ARM] 3976/1: AT91: MAINTAINERS entry Added MAINTAINERS entry for the Atmel AT91RM9200. Accept (some) responsibility... Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d707572695e47aae3ac5eb92abb9d2a8c40f7a4e Author: Andrew Victor Date: Mon Dec 4 12:53:11 2006 +0100 [ARM] 3975/1: AT91: Comments in atmel_serial.h Updated some of the comments in the atmel_serial.h header detailing which bits are only available on the AT91RM9200 or the AT91SAM9xx processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 5407864e3cb71f6ac351b1ab2266bfb0d9f27684 Author: Andrew Victor Date: Mon Dec 4 12:47:19 2006 +0100 [ARM] 3974/1: AT91: Remove USB Device header The USB Device port registers are already defined in drivers/usb/gadget/at91_udc.h. This file can therefore just be removed. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c2f5ccfbd5198cadd03d8c4bb0e28175b78cd910 Author: Andrew Victor Date: Mon Dec 4 09:37:20 2006 +0100 [ARM] 3973/1: AT91: Serial driver compile fix 1. The CPU identification has moved from to . 2. AT91RM9200_BASE_US0 is only defined if we are compiling in support for the AT91RM9200. Therefore we need to replace the CONFIG_ARM ifdef with CONFIG_ARCH_AT91RM9200 Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c019d49b69237f195b1a31d90facf738a371841f Author: Andrew Victor Date: Mon Dec 4 09:09:08 2006 +0100 [ARM] 3972/1: AT91: Update board.h Replace the 'is_b' variable with 'slot_b' in at91_mmc_data. Also add the new 'chipselect' variable for CF/PCMCIA and 'bus_width_16' variable for NAND. This (and previous patches) will unfortunately break the current MMC, USB Gadget and PCMCIA drivers. Updates and fixes for those drivers will be submitted to the various subsystem maintainers. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 872455e2ca12843e3dd16ebde1ce02dccc4bf99f Author: Sergei Shtylyov Date: Sun Dec 3 20:52:27 2006 +0300 [POWERPC] Fix debug printks for 32-bit resources in the PCI code Cure the damage done by the former PCI debug printks fix for the case of 64-bit resources (commit 685143ac1f7a579a3fac9c7f2ac8f82e95af6864) which broke it for the plain vanilla 32-bit resources... Signed-off-by: Sergei Shtylyov Signed-off-by: Paul Mackerras commit f8485350c22b25f5b9804d89cb8fdf6626d0f5cb Author: Yan Burman Date: Sat Dec 2 13:26:57 2006 +0200 [POWERPC] Replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc. Signed-off-by: Yan Burman Signed-off-by: Paul Mackerras commit 04d76b937bdf60a8c9ac34e222e3ca977ab9ddc8 Author: Guennadi Liakhovetski Date: Fri Dec 1 22:53:48 2006 +0100 [POWERPC] Linkstation / kurobox support Support for the Kurobox(HG)/LinkStation-I NAS systems by Buffalo Technology, should be also applicable to the PPC TeraStation family. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 57933f8fbedba686659b947659418734615611e9 Author: Scott Wood Date: Fri Dec 1 12:57:05 2006 -0600 [POWERPC] Add the e300c3 core to the CPU table. This core is used in Freescale's 831x chips. Signed-off-by: Scott Wood Signed-off-by: Paul Mackerras commit 25a31e2df0ee22bdc23494371db9e858b3a23471 Author: Mariusz Kozlowski Date: Thu Nov 30 10:25:23 2006 +0100 [POWERPC] ppc: m48t35 add missing bracket Add missing bracket in definition for m48t35 RTC chip. Signed-off-by: Mariusz Kozlowski Signed-off-by: Paul Mackerras commit e73aedba562d1e7777287043afb8e46131ed402e Author: Stephen Rothwell Date: Thu Nov 30 16:55:04 2006 +1100 [POWERPC] iSeries: don't build head_64.o unnecessarily Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 4eab0e65bd3c9d3065f54e7477fec79c5e939ed6 Author: Stephen Rothwell Date: Thu Nov 30 16:53:11 2006 +1100 [POWERPC] iSeries: stop dt_mod.o being rebuilt unnecessarily Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 0470466dbafd1db0815bb884d26a6be431e19f96 Author: Stephen Rothwell Date: Thu Nov 30 11:46:22 2006 +1100 [POWERPC] Fix cputable.h for combined build Remove CPU_FTR_16M_PAGE from the cupfeatures mask at runtime on iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 80814be40e1f0e7e6fc00fdfe0af16268670e0b4 Author: Stephen Rothwell Date: Thu Nov 30 11:45:14 2006 +1100 [POWERPC] Allow CONFIG_BOOTX_TEXT on iSeries and therefore combined builds. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit bbb681779012fae778c0a53081bbb19cf43bca4e Author: Stephen Rothwell Date: Thu Nov 30 11:44:09 2006 +1100 [POWERPC] Allow xmon to build on legacy iSeries xmon still does not run on iSeries, but this allows us to build a combined kernel that includes it. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ec59cf710bcf638a895f2ad90cafb1493b95953e Author: Linas Vepstas Date: Wed Nov 29 12:05:22 2006 -0600 [POWERPC] Change ppc64_defconfig to use AUTOFS_V4 not V3 Defconfig ppc64 kernels running under late-model distros may hang in the automounter rc.d script, which seems to be expecting autofs version 4. This patch uses the newer autofs. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 0efbc18a753f7d6dbe832e014bc80e2b4c12bece Author: Paul Mackerras Date: Wed Nov 29 22:31:47 2006 +1100 [POWERPC] Tell firmware we can handle POWER6 compatible mode This adds the "logical" PVR value used by POWER6 in "compatible" mode to the list of PVR values that the kernel tells firmware it is able to handle. Signed-off-by: Paul Mackerras commit dc0f80aa6a6c128cf90adefb5b7deddfb56d937b Author: Geert Uytterhoeven Date: Tue Nov 28 12:31:53 2006 +0100 [POWERPC] Clean images in arch/powerpc/boot Add a rule to clean up the various generated image files in arch/powerpc/boot. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 4468f01dc7cfd1998845cd66a0cdb1f3ef9740f0 Author: Olof Johansson Date: Mon Nov 27 21:21:29 2006 -0600 [POWERPC] Fix OF pci flags parsing For PCI devices with only io ports, of_bus_pci_get_flags() will fall through and still mark the resource as IORESOURCE_MEM. Signed-off-by: Olof Johansson Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ede8edb35b95c78c890b15fdb6cedcb3f42f4769 Author: Grant Likely Date: Mon Nov 27 14:16:30 2006 -0700 [POWERPC] defconfig for lite5200 board Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit c6d4d657c2f11fe3b33dd8303f57a8b8d55323d6 Author: Grant Likely Date: Mon Nov 27 14:16:29 2006 -0700 [POWERPC] Add device trees for lite5200 and lite5200b eval boards Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 6b64253139a20b7db1f701a9117bc5174eb878bc Author: Grant Likely Date: Mon Nov 27 14:16:28 2006 -0700 [POWERPC] Add lite5200 board support to arch/powerpc Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 6065170cf75c64267f6edec5fd359ce8444bd13d Author: Grant Likely Date: Mon Nov 27 14:16:27 2006 -0700 [POWERPC] Add common routines for 52xx support in arch/powerpc Adds utility routines used by 52xx device drivers and board support code. Main functionality is to add device nodes to the of_platform_bus, retrieve the IPB bus frequency, and find+ioremap device registers. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit e65fdfd6ca447353ad1b4c0a0d20df55f3f6f233 Author: Sylvain Munaut Date: Mon Nov 27 14:16:26 2006 -0700 [POWERPC] Separate IRQ config / register set from main header There is no need to expose these settings outside the scope of the interrupt controller code itself. Signed-off-by: Sylvain Munaut Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit b9cf5d8e2edc503977be090eff45ef81555dcb1d Author: Grant Likely Date: Mon Nov 27 14:16:25 2006 -0700 [POWERPC] Move Efika support files into platforms/52xx The Efika board isn't different enough from other 52xx based boards to justify a separate platform. This patch merges it with the support code for all other 52xx based boards. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit d4150248fc769c7a69c61cb9d95dfac14950d8cf Author: Grant Likely Date: Mon Nov 27 14:16:24 2006 -0700 [POWERPC] Put mpc52xx support file in platforms/52xx platforms/embedded6xx is probably going away, and 52xx boards need some extra support the 52xx interrupt controller and DMA engine anyway. It makes sense to group all the 52xx bits into a single path. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit 39d074b2e4b89c914c00dfd9987672e2dea92f19 Author: Grant Likely Date: Mon Nov 27 14:16:23 2006 -0700 [POWERPC] Move MPC52xx PIC driver into arch/powerpc/platforms/52xx No other chips use this device, it belongs in a 52xx-specific path. Signed-off-by: Grant Likely Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit b1e253c4dc601cb7785ba157edf282c1d02fe2ba Author: Grant Likely Date: Mon Nov 27 14:16:22 2006 -0700 [POWERPC] Document describing mpc52xx device tree binding conventions This document describes the device tree expectations for mpc52xx based boards. Signed-off-by: Grant Likely Acked-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit f5b2eb026949e7c3988074529854609921675cff Author: Stephen Rothwell Date: Mon Nov 27 17:17:02 2006 +1100 [POWERPC] iSeries: allow CONFIG_CMDLINE It doesn't hurt to have this enabled on legacy iSeries and will mean it is available for a combined build. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit c705677e1c69012adea3bc51b54e9c7170d1cbee Author: Stephen Rothwell Date: Mon Nov 27 14:59:50 2006 +1100 [POWERPC] iSeries: Eliminate "exceeds stub group size" warnings Commit 3ccfc65c5004e5fe5cfbffe43b8acc686680b53e missed the same fixes for legacy iSeries specific code, so make some more symbols no longer global. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 06f2138e61d4f5dce82207236767e0759bbd45cc Author: Rutger Nijlunsing Date: Sun Nov 26 21:08:38 2006 +0100 [POWERPC] Add files build to .gitignore Mostly taken from corresponding Makefile's make-clean rule. Tested by (cross)compiling for $ARCH PPC and POWERPC and checking output of git-status. Signed-off-by: Rutger Nijlunsing Signed-off-by: Paul Mackerras commit 143db67af02cecab28032ec3a52e586b1433fe70 Author: Michael Ellerman Date: Sun Nov 26 17:36:15 2006 +1100 [POWERPC] Provide dummy hard_irq_enable/disable() for PPC32 To allow arch/powerpc/kernel/crash.c to build on 32-bit we need a definition of hard_irq_disable(). 32-bit doesn't support the lazy interrupt disabling mechanism, so on 32-bit hard_irq_disable() is simply local_irq_disable(). Add a definition for hard_irq_enable() just for completeness. This allows (KEXEC=y && PPC32=y) to build again. Broken since d04c56f73c30a5e593202ecfcf25ed43d42363a2. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 4cfbdfff70989a0d99b6f357fbbe379c22a05f7c Author: Adrian Bunk Date: Fri Dec 1 12:53:18 2006 +0100 [POWERPC] include/asm-powerpc/: "extern inline" -> "static inline" "extern inline" generates a warning with -Wmissing-prototypes and I'm currently working on getting the kernel cleaned up for adding this to the CFLAGS since it will help us to avoid a nasty class of runtime errors. If there are places that really need a forced inline, __always_inline would be the correct solution. Signed-off-by: Adrian Bunk Signed-off-by: Paul Mackerras commit 28f9ec349ae47c91768b7bc5607db4442c818e11 Author: Vitaly Wool Date: Mon Nov 20 16:32:39 2006 +0300 [POWERPC] Add of_platform support for ROM devices This adds support for flash device descriptions to the OF device tree. It's inspired by and partially borrowed from Sergei's patch "[RFC] Adding MTD to device tree.patch". Signed-off-by: Vitaly Wool Signed-off-by: Sergei Shtylyov Signed-off-by: Paul Mackerras commit a5715d6dfc85e002bfad68bb2858cf5a248e2060 Author: Mohan Kumar M Date: Fri Nov 17 17:42:24 2006 +0530 [POWERPC] pSeries/kexec: Fix for interrupt distribution This allows any secondary CPU thread also to become boot cpu for POWER5. The patch is required to solve kdump boot issue when the kdump kernel is booted with parameter "maxcpus=1". XICS init code tries to match the current boot cpu id with "reg" property in each CPU node in the device tree. But CPU node is created only for primary thread CPU ids and "reg" property only reflects primary CPU ids. So when a kernel is booted on a secondary cpu thread above condition will never meet and the default distribution server is left as zero. This leads to route the interrupts to CPU 0, but which is not online at this time. We use ibm,ppc-interrupt-server#s to check for both primary and secondary CPU ids. Accordingly default distribution server value is initialized from "ibm,ppc-interrupt-gserver#s" property. We loop through ibm,ppc-interrupt-gserver#s property to find the global distribution server from the last entry that matches with boot cpuid. Signed-off-by: Mohan Kumar M Signed-off-by: Paul Mackerras commit 11faa658c668030759d4aea6a273b7ac9a0b4746 Author: Arnd Bergmann Date: Mon Nov 27 19:19:00 2006 +0100 [POWERPC] fix building without PCI At least the ide driver calls pcibus_to_node, which is not defined when CONFIG_PCI is disabled. This adds a nop function for the !PCI case. Signed-off-by: Arnd Bergmann commit 369cf4b940d0d92d33f39a2df11102f3e2df0e0a Author: Arnd Bergmann Date: Mon Nov 27 19:18:59 2006 +0100 [POWERPC] fix missing #include in sys_ppc32.c sys_mmap is declared in asm/syscalls.h Signed-off-by: Arnd Bergmann commit 4ec64d5686112e9c5a9f1eeeb0eeedd54fb07d69 Author: Arnd Bergmann Date: Mon Nov 27 19:18:58 2006 +0100 [POWERPC] ps3: add a default zImage target It's currently not possible to build the default zImage target if PS3 is the only selected platform. This is a hack to fall back to building the pseries style zImage, so the build is successful. This will probably change in the future, if someone writes a PS3 specific boot wrapper. Signed-off-by: Arnd Bergmann commit e22ba7e38144c1cccac5024cfd6ec88bb64d3e1f Author: Arnd Bergmann Date: Mon Nov 27 19:18:57 2006 +0100 [POWERPC] ps3: multiplatform build fixes A few code paths need to check whether or not they are running on the PS3's LV1 hypervisor before making hcalls. This introduces a new firmware feature bit for this, FW_FEATURE_PS3_LV1. Now when both PS3 and IBM_CELL_BLADE are enabled, but not PSERIES, FW_FEATURE_PS3_LV1 and FW_FEATURE_LPAR get enabled at compile time, which is a bug. The same problem can also happen for (PPC_ISERIES && !PPC_PSERIES && PPC_SOMETHING_ELSE). In order to solve this, I introduce a new CONFIG_PPC_NATIVE option that is set when at least one platform is selected that can run without a hypervisor and then turns the firmware feature check into a run-time option. The new cell oprofile support that was recently merged does not work on hypervisor based platforms like the PS3, therefore make it depend on PPC_CELL_NATIVE instead of PPC_CELL. This may change if we get oprofile support for PS3. Signed-off-by: Arnd Bergmann commit eb30c72026500f9efa9bb23ab2393d6a9e36c5e1 Author: Geert Uytterhoeven Date: Mon Nov 27 19:18:56 2006 +0100 [POWERPC] ps3: Missed renames of CONFIG_PS3 to CONFIG_PPC_PS3 When renaming CONFIG_PS3 to CONFIG_PPC_PS3, a few occurrences have been missed. I also fixed up the alignment in arch/powerpc/platforms/Makefile. Signed-off-by: Geert Uytterhoeven Signed-off-by: Arnd Bergmann commit e055595d3e5f5233374211bc6893e5d16976df99 Author: Arnd Bergmann Date: Mon Nov 27 19:18:55 2006 +0100 [POWERPC] cell: fix building without spufs It may be desireable to build a kernel for cell without spufs, e.g. as the initial kboot kernel. This requires that the SPU specific parts of the core dump and the xmon code depend on CONFIG_SPU_BASE instead of CONFIG_PPC_CELL. Signed-off-by: Arnd Bergmann commit da06aa08d9f23e4f970d9a25a6e52f9a7736bfa2 Author: Stephen Rothwell Date: Mon Nov 27 19:18:54 2006 +0100 [POWERPC] spufs: we should only execute init_spu_base on cell Signed-off-by: Stephen Rothwell Signed-off-by: Arnd Bergmann commit c2b2226c7e46549c26fd5f5f40122536bc91ba0d Author: Arnd Bergmann Date: Mon Nov 27 19:18:53 2006 +0100 [POWERPC] spufs: always send sigtrap on breakpoint Currently, we only send a sigtrap if the current task is being ptraced. This is somewhat inconsistant, and it breaks utrace support in fedora. Removing the check should do the right thing in all cases. Cc: Ulrich Weigand Signed-off-by: Arnd Bergmann commit bd2e5f829e772787ea4d986d72ddf57f50878649 Author: Jeremy Kerr Date: Mon Nov 27 19:18:52 2006 +0100 [POWERPC] spufs: return an error in spu_create is isolated create isnt supported This changes the spu_create system call to return an error (-ENODEV) if and isolated spu context is requested on hardware that doesn't support isolated mode. Tested on systemsim with and without isolation support Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann commit aa668d6aac63f5fc02aa63bf25ff36d12510e050 Author: Nicolas DET Date: Fri Nov 17 16:03:20 2006 +0100 [POWERPC] Fix compile issue for Efika platform This patch fixes a compile issue for the Efika platform recently introduced by API changes. Signed-off-by: Nicolas DET Signed-off-by: Paul Mackerras commit 7839af3354c9ed86336a0b40032007919393f3ed Author: Nicolas DET Date: Fri Nov 17 17:08:37 2006 +0100 [POWERPC] Compile a zImage.chrp if PPC_EFIKA seleted Signed-off-by: Nicolas DET Signed-off-by: Paul Mackerras commit fecb352f6bb86564b24ecbf7e5bfec09346b9327 Author: Mike Wolf Date: Tue Nov 21 14:41:54 2006 -0600 [POWERPC] powerpc: Make 970MP detectable by oprofile Change the oprofile_cpu_type in cputables.c to be ppc64/970MP. Oprofile needs to distinquish the MP from other 970 processors so it can add some new counters specific to the 970MP. Signed-off-by: Mike Wolf Signed-off-by: Paul Mackerras commit 1c72db14fe77c2aa2c18be0fa2594f54d7413147 Author: Arnd Bergmann Date: Thu Nov 23 00:47:02 2006 +0100 [POWERPC] update cell_defconfig for ps3 support In the common cell kernel, I want to have ps3 enabled to find potential bugs at compile-time. Also enable SPU disassembly in xmon. Signed-off-by: Arnd Bergmann commit 797c7b56d28e800947c66d1c324a6bfc83289b7a Author: Geoff Levand Date: Thu Nov 23 00:47:01 2006 +0100 [POWERPC] ps3: add ps3_defconfig Adds a ps3_defconfig for the PS3 game console. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit a3d4d6435b56eb0b6ff4f88e5a513cfccfb3e770 Author: Geoff Levand Date: Thu Nov 23 00:47:00 2006 +0100 [POWERPC] ps3: add ps3 platform system bus support Adds a PS3 system bus driver. This system bus is a virtual bus used to present the PS3 system devices in the LDM. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit de91a53429952875740692d1de36ae70d4cf81da Author: Geoff Levand Date: Thu Nov 23 00:46:59 2006 +0100 [POWERPC] ps3: add spu support Adds spu support for the PS3 platform. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 00a3e2e93cd3ce73ab2d200fff22a62548da06d6 Author: Geoff Levand Date: Thu Nov 23 00:46:58 2006 +0100 [POWERPC] ps3: add OS params support Adds support for early access to the parameter data from the PS3 'Other OS' flash memory area. The parameter data mainly holds user preferences like static ip address. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 261efc3f178c8c5b55d76208aee1f39ce247f723 Author: Geoff Levand Date: Thu Nov 23 00:46:57 2006 +0100 [POWERPC] ps3: add lpar addressing Adds some needed bits for a config option PS3_USE_LPAR_ADDR that disables the PS3 lpar address translation mechanism. This is a currently needed workaround for limitations in the design of the generic cell spu support. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 2832a81df7f3cb7e7f912a256c156ddbd3450265 Author: Geoff Levand Date: Thu Nov 23 00:46:56 2006 +0100 [POWERPC] ps3: add interrupt support Adds routines to interface with the PS3 interrupt services. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 6e74b38a7ffa6b69f287ae629aae91e725916e6f Author: Geoff Levand Date: Thu Nov 23 00:46:55 2006 +0100 [POWERPC] ps3: add repository support Adds support for the PS3 repository. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit c6cec72b7ca05822688a952df97b1c24e69a0ef6 Author: Geoff Levand Date: Thu Nov 23 00:46:54 2006 +0100 [POWERPC] ps3: add htab routines Adds pagetable management routines for the PS3. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 82a527f0bd84977d7e85f15fb1f987c42cc0a68d Author: Geoff Levand Date: Thu Nov 23 00:46:53 2006 +0100 [POWERPC] ps3: add feature bits Adds the needed firmware feature bits for the PS3. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 1e4ed915d133aaa2802d11914a7e80b3e31304e6 Author: Geoff Levand Date: Thu Nov 23 00:46:52 2006 +0100 [POWERPC] ps3: add lv1 hvcalls Adds the PS3 hvcalls. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit f58a9d171a346afb1b09190427e6c28c6118703e Author: Geoff Levand Date: Thu Nov 23 00:46:51 2006 +0100 [POWERPC] ps3: add support for ps3 platform Adds the core platform support for the PS3 game console and other devices using the PS3 hypervisor. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit a985239bdf017e00e985c3a31149d6ae128fdc5f Author: Michael Ellerman Date: Thu Nov 23 00:46:50 2006 +0100 [POWERPC] cell: spu management xmon routines This fixes the xmon support for the cell spu to be compatable with the split spu platform code. Signed-off-by: Geoff Levand Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit e28b003136b5b2f10c25b49c32df9b7742550c23 Author: Geoff Levand Date: Thu Nov 23 00:46:49 2006 +0100 [POWERPC] cell: abstract spu management routines This adds a platform specific spu management abstraction and the coresponding routines to support the IBM Cell Blade. It also removes the hypervisor only resources that were included in struct spu. Three new platform specific routines are introduced, spu_enumerate_spus(), spu_create_spu() and spu_destroy_spu(). The underlying design uses a new type, struct spu_management_ops, to hold function pointers that the platform setup code is expected to initialize to instances appropriate to that platform. For the IBM Cell Blade support, I put the hypervisor only resources that were in struct spu into a platform specific data structure struct spu_pdata. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit e34226d2cd443a67f46fc531e3a6bc6e03843ce2 Author: Geoff Levand Date: Thu Nov 23 00:46:48 2006 +0100 [POWERPC] add virq_to_hw accessor routine This adds an accessor routine virq_to_hw() to the virq routines which hides the implementation details of the virq to hwirq map. Acked-by: Benjamin Herrenschmidt Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann commit 897f112bb42ed9e220ce441e7e52aba3a144a7d6 Author: Michael Ellerman Date: Thu Nov 23 00:46:47 2006 +0100 [POWERPC] Import updated version of ppc disassembly code for xmon This includes: * version 1.24 of ppc-dis.c * version 1.88 of ppc-opc.c * version 1.23 of ppc.h I can't vouch for the accuracy etc. of these changes, but it brings us into line with binutils - and from a cursory test appears to work fine. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 0b8e2e131094d162a836e2afe86e52acbfa05703 Author: Michael Ellerman Date: Thu Nov 23 00:46:46 2006 +0100 [POWERPC] Make 64-bit cpu features defined on 32-bit It saves #ifdef'ing in callers if we at least define the 64-bit cpu features for 32-bit also. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit e0426047cb684842700f0098f74842a38260dbae Author: Michael Ellerman Date: Thu Nov 23 00:46:45 2006 +0100 [POWERPC] Make xmon disassembly optional While adding spu disassembly support it struck me that we're actually carrying quite a lot of code around, just to do disassembly in the case of a crash. While on large systems it's not an issue, on smaller ones it might be nice to have xmon - but without the weight of the disassembly support. For a Cell build this saves ~230KB (!), and for pSeries ~195KB. We still support the 'di' and 'sdi' commands, however they just dump the instruction in hex. Move the definitions into a header to clean xmon.c just a tiny bit. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit af89fb8041562508895c8f3ba04790d7c2f4338c Author: Michael Ellerman Date: Thu Nov 23 00:46:44 2006 +0100 [POWERPC] Add spu disassembly to xmon This patch adds a "sdi" command to xmon, to disassemble the contents of an spu's local store. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit ae06e374c15c5d62e08c19c15f2c247a86e240d4 Author: Michael Ellerman Date: Thu Nov 23 00:46:43 2006 +0100 [POWERPC] Import spu disassembly code into xmon This patch imports and munges the spu disassembly code from binutils. All files originated from version 1.1 in binutils cvs. * spu.h, spu-insns.h and spu-opc.c are unchanged except for pathnames. * spu-dis.c has been edited heavily: * use printf instead of info->fprintf_func and similar. * pass the instruction in rather than reading it. * we have no equivalent to symbol_at_address_func, so we just assume there is never a symbol at the address given. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 4c4c8723684b1b2cd0dfdf5e0685f35642bde253 Author: Michael Ellerman Date: Thu Nov 23 00:46:42 2006 +0100 [POWERPC] Prepare for spu disassembly in xmon In order to do disassembly of spu binaries in xmon, we need to abstract the disassembly function from ppc_inst_dump. We do this by making the actual disassembly function a function pointer that we pass to ppc_inst_dump(). To save updating all the callers, we turn ppc_inst_dump() into generic_inst_dump() and make ppc_inst_dump() a wrapper which always uses print_insn_powerpc(). Currently we pass the dialect into print_insn_powerpc(), but we always pass 0 - so just make it a local. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 24a24c85d3c35790a355138d7cd34c074cb1b3ac Author: Michael Ellerman Date: Thu Nov 23 00:46:41 2006 +0100 [POWERPC] Add a sd command (spu dump) to xmon to dump spu local store Add a command to xmon to dump the memory of a spu's local store. This mimics the 'd' command which dumps regular memory, but does a little hand holding by taking the user supplied address and finding that offset in the local store for the specified spu. This makes it easy for example to look at what was executing on a spu: 1:mon> ss ... Stopped spu 04 (was running) ... 1:mon> sf 4 Dumping spu fields at address c0000000019e0a00: ... problem->spu_npc_RW = 0x228 ... 1:mon> sd 4 0x228 d000080080318228 01a00c021cffc408 4020007f217ff488 |........@ ..!...| Aha, 01a00c02, which is of course rdch $2,$ch24 ! -- Updated to only do the setjmp goo around the spu access, and not around prdump because it does its own (via mread). Also the num variable is now common between sf and sd, so you don't have to keep typing the spu number in if you're repeating commands on the same spu. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 2a14442bfebfea23d004fa4dfd067a94f5720ed7 Author: Michael Ellerman Date: Thu Nov 23 00:46:40 2006 +0100 [POWERPC] Show state of spus as theyre stopped in Cell xmon helper After stopping spus in xmon I often find myself trawling through the field dumps to find out which spus were running. The spu stopping code actually knows what's running, so let's print it out to save the user some futzing. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 437a0706837d09d8ab071c6790da07d9d6bb3d22 Author: Michael Ellerman Date: Thu Nov 23 00:46:39 2006 +0100 [POWERPC] Fix sparse warning in xmon Cell code My patch to add spu helpers to xmon (a898497088f46252e6750405504064e2dce53117) introduced a few sparse warnings, because I was dereferencing an __iomem pointer. I think the best way to handle it is to actually use the appropriate in_beXX functions. Need to rejigger the DUMP macro a little to accomodate that. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 5850dd8f6d4e79484d498c0d77b223d1041f9954 Author: Benjamin Herrenschmidt Date: Thu Nov 23 00:46:38 2006 +0100 [POWERPC] cell: hard disable interrupts in power_save() With soft-disabled interrupts in power_save, we can still get external exceptions on Cell, even if we are in pause(0) a.k.a. sleep state. When the CPU really wakes up through the 0x100 (system reset) vector, while we have already started processing the 0x500 (external) exception, we get a panic in unrecoverable_exception() because of the lost state. This occurred in Systemsim for Cell, but as far as I can see, it can theoretically occur on any machine that uses the system reset exception to get out of sleep state. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Arnd Bergmann commit bf1ab978be2318c5a564de9aa0f1a217b44170d4 Author: Dwayne Grant McConnell Date: Thu Nov 23 00:46:37 2006 +0100 [POWERPC] coredump: Add SPU elf notes to coredump. This patch adds SPU elf notes to the coredump. It creates a separate note for each of /regs, /fpcr, /lslr, /decr, /decr_status, /mem, /signal1, /signal1_type, /signal2, /signal2_type, /event_mask, /event_status, /mbox_info, /ibox_info, /wbox_info, /dma_info, /proxydma_info, /object-id. A new macro, ARCH_HAVE_EXTRA_NOTES, was created for architectures to specify they have extra elf core notes. A new macro, ELF_CORE_EXTRA_NOTES_SIZE, was created so the size of the additional notes could be calculated and added to the notes phdr entry. A new macro, ELF_CORE_WRITE_EXTRA_NOTES, was created so the new notes would be written after the existing notes. The SPU coredump code resides in spufs. Stub functions are provided in the kernel which are hooked into the spufs code which does the actual work via register_arch_coredump_calls(). A new set of __spufs__read/get() functions was provided to allow the coredump code to read from the spufs files without having to lock the SPU context for each file read from. Cc: Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann commit 9309180f11f0107c9858a61a1ac2b04518a91080 Author: Benjamin Herrenschmidt Date: Tue Nov 21 14:56:37 2006 +1100 [POWERPC] powerpc: Workaround for of_platform without "reg" nor "dcr-reg" Devices with no "reg" nor "dcr-reg" property are given a bus_id which is the node name alone. This means that if more than one such device with the same names are present in the system, sysfs will have collisions when creating the symlinks and will fail registering the devices. This works around that problem by assigning successive numbers to such devices. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 974a76f51355d22f4f63d83d6bb1ccecd019ec58 Author: Paul Mackerras Date: Fri Nov 10 20:38:53 2006 +1100 [POWERPC] Distinguish POWER6 partition modes and tell userspace This adds code to look at the properties firmware puts in the device tree to determine what compatibility mode the partition is in on POWER6 machines, and set the ELF aux vector AT_HWCAP and AT_PLATFORM entries appropriately. Specifically, we look at the cpu-version property in the cpu node(s). If that contains a "logical" PVR value (of the form 0x0f00000x), we call identify_cpu again with this PVR value. A value of 0x0f000001 indicates the partition is in POWER5+ compatibility mode, and a value of 0x0f000002 indicates "POWER6 architected" mode, with various extensions disabled. We also look for various other properties: ibm,dfp, ibm,purr and ibm,spurr. Signed-off-by: Paul Mackerras commit 18f2190d796198fbb5d4bc4c87511acf3ced7d47 Author: Maynard Johnson Date: Mon Nov 20 18:45:16 2006 +0100 [POWERPC] cell: Add oprofile support Add PPU event-based and cycle-based profiling support to Oprofile for Cell. Oprofile is expected to collect data on all CPUs simultaneously. However, there is one set of performance counters per node. There are two hardware threads or virtual CPUs on each node. Hence, OProfile must multiplex in time the performance counter collection on the two virtual CPUs. The multiplexing of the performance counters is done by a virtual counter routine. Initially, the counters are configured to collect data on the even CPUs in the system, one CPU per node. In order to capture the PC for the virtual CPU when the performance counter interrupt occurs (the specified number of events between samples has occurred), the even processors are configured to handle the performance counter interrupts for their node. The virtual counter routine is called via a kernel timer after the virtual sample time. The routine stops the counters, saves the current counts, loads the last counts for the other virtual CPU on the node, sets interrupts to be handled by the other virtual CPU and restarts the counters, the virtual timer routine is scheduled to run again. The virtual sample time is kept relatively small to make sure sampling occurs on both CPUs on the node with a relatively small granularity. Whenever the counters overflow, the performance counter interrupt is called to collect the PC for the CPU where data is being collected. The oprofile driver relies on a firmware RTAS call to setup the debug bus to route the desired signals to the performance counter hardware to be counted. The RTAS call must set the routing registers appropriately in each of the islands to pass the signals down the debug bus as well as routing the signals from a particular island onto the bus. There is a second firmware RTAS call to reset the debug bus to the non pass thru state when the counters are not in use. Signed-off-by: Carl Love Signed-off-by: Maynard Johnson Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0443bbd3d8496f9c2bc3e8c9d1833c6638722743 Author: Kevin Corry Date: Mon Nov 20 18:45:15 2006 +0100 [POWERPC] cell: Add routines for managing PMU interrupts The following routines are added to arch/powerpc/platforms/cell/pmu.c: cbe_clear_pm_interrupts() cbe_enable_pm_interrupts() cbe_disable_pm_interrupts() cbe_query_pm_interrupts() cbe_pm_irq() cbe_init_pm_irq() This also adds a routine in arch/powerpc/platforms/cell/interrupt.c and some macros in cbe_regs.h to manipulate the IIC_IR register: iic_set_interrupt_routing() Signed-off-by: Kevin Corry Signed-off-by: Carl Love Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit e4f6948cfc8b9626022db0f93e7cf2ce5c0998cd Author: Kevin Corry Date: Mon Nov 20 18:45:14 2006 +0100 [POWERPC] cell: Move PMU-related stuff to include/asm-powerpc/cell-pmu.h Move some PMU-related macros and function prototypes from cbe_regs.h and pmu.h in arch/powerpc/platforms/cell/ to a new header at include/asm-powerpc/cell-pmu.h This is cleaner to use from the oprofile code, since that sits in arch/powerpc/oprofile, not in the cell platform directory. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c93dfa0766bae3c92ec8311bddbbf16b8e661f59 Author: Kevin Corry Date: Mon Nov 20 18:45:13 2006 +0100 [POWERPC] cell: PMU register macros More macros for manipulating bits in the Cell PMU control registers. Signed-off-by: Kevin Corry Signed-off-by: Carl Love Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5231800c6fb99c106951a5e1a8e739ad9657e93f Author: Arnd Bergmann Date: Mon Nov 20 18:45:12 2006 +0100 [POWERPC] cell: Add symbol exports for oprofile Add symbol-exports for the new routines in arch/powerpc/platforms/cell/pmu.c. They are needed for Oprofile, which can be built as a module. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit c6730ed4c280ff9e55766796523c94a7d111da09 Author: Jeremy Kerr Date: Mon Nov 20 18:45:10 2006 +0100 [POWERPC] spufs: Load isolation kernel from spu_run In order to fit with the "don't-run-spus-outside-of-spu_run" model, this patch starts the isolated-mode loader in spu_run, rather than spu_create. If spu_run is passed an isolated-mode context that isn't in isolated mode state, it will run the loader. This fixes potential races with the isolated SPE app doing a stop-and-signal before the PPE has called spu_run: bugzilla #29111. Also (in conjunction with a mambo patch), this addresses #28565, as we always set the runcntrl register when entering spu_run. It is up to libspe to ensure that isolated-mode apps are cleaned up after running to completion - ie, put the app through the "ISOLATE EXIT" state (see Ch11 of the CBEA). Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 3960c260204bc33404a6e54e9dcd44f1f83bc701 Author: Jeremy Kerr Date: Mon Nov 20 18:45:09 2006 +0100 [POWERPC] spufs: Add runcntrl read accessors This change adds a read accessor for the SPE problem-state run control register. This is required for for applying (userspace) changes made to the run control register while the SPE is stopped - simply asserting the master run control bit is not sufficient. My next patch for isolated-mode setup requires this. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ee2d7340cbf3b123e1c3b7454f3e2b7e65d33bb2 Author: Arnd Bergmann Date: Mon Nov 20 18:45:08 2006 +0100 [POWERPC] spufs: Use SPU master control to prevent wild SPU execution When the user changes the runcontrol register, an SPU might be running without a process being attached to it and waiting for events. In order to prevent this, make sure we always disable the priv1 master control when we're not inside of spu_run. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 3692dc66149dc17cd82ec785a06478322c0eddff Author: Masato Noguchi Date: Mon Nov 20 18:45:07 2006 +0100 [POWERPC] spufs: Fix return value of spufs_mfc_write This patch changes spufs_mfc_write() to return correct size instead of 0. Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 932f535dd4c83dc3eb631c2cee1dfd6ae289b88c Author: Arnd Bergmann Date: Mon Nov 20 18:45:06 2006 +0100 [POWERPC] spufs: Always map local store non-guarded When fixing spufs to map the 'mem' file backing store cacheable, I incorrectly set the physical mapping to use both cache-inhibited and guarded mapping, which resulted in a serious performance degradation. Debugged-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5c3ecd659bd20cda214a402a3132c790cc886cd2 Author: Christoph Hellwig Date: Mon Nov 20 18:45:05 2006 +0100 [POWERPC] spufs: Avoid user-triggered oops in ptrace When one of the spufs files is mapped into a process address space, regular users can use ptrace to attempt accessing them with access_process_vm(). With the way that the mappings currently work, this likely causes an oops. Setting the vm_flags to VM_IO makes sure that ptrace can not access them but returns an error code. This is not the perfect solution in case of the local store mapping, but it fixes the oops in a well-defined way. Also remove leftover VM_RESERVED flags in spufs. The VM_RESERVED flag is on it's way out and not checked by the memory managment code anymore. Signed-off-by: Arnd Bergmann Signed-off-by: Christoph Hellwig Signed-off-by: Paul Mackerras commit 2ebb2477f9a61b436dd22b75189857df1a77e585 Author: Masato Noguchi Date: Mon Nov 20 18:45:04 2006 +0100 [POWERPC] spufs: Fix missing stop-and-signal When there is pending signals, current spufs_run_spu() always returns -ERESTARTSYS and it is called again automatically. But, if spe already stopped by stop-and-signal or halt instruction, returning -ERESTARTSYS makes stop-and-signal/halt lost and spu run over the end-point. For your convenience, I attached a sample code to restage this bug. If there is no bug, printed NPC will be 0x4000. Signed-off-by: Masato Noguchi Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 453d9f72a91d798c3e3c4b4bed26210926dfb57b Author: Arnd Bergmann Date: Mon Nov 20 18:45:03 2006 +0100 [POWERPC] spufs: Return correct event for data storage interrupt When we attempt an MFC DMA to an unmapped address, the event returned from spu_run should be SPE_EVENT_SPE_DATA_STORAGE, not SPE_EVENT_INVALID_DMA. Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0021550c0199b2bf5e434eda0216144074537fc7 Author: Geoff Levand Date: Mon Nov 20 18:45:02 2006 +0100 [POWERPC] spufs: Replace spu.nid with spu.node Replace the use of the platform specific variable spu.nid with the platform independednt variable spu.node. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 17f88cebc2c3aff9d90f0d49f6e0628835eddc32 Author: Dwayne Grant McConnell Date: Mon Nov 20 18:45:01 2006 +0100 [POWERPC] spufs: Read from signal files only if data is there We need to check the channel count of the signal notification registers before reading them, because it can be undefined when the count is zero. In order to read count and data atomically, we read from the saved context. This patch uses spu_acquire_saved() to force a context save before a /signal1 or /signal2 read. Because of this it is no longer necessary to have backing_ops and hw_ops versions of this function so they have been removed. Regular applications should not rely on reading this register to be fast, as it's conceptually a write-only file from the PPE perspective. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 69a2f00ce5d3a19a70b36f08eaf9049677277710 Author: Dwayne Grant McConnell Date: Mon Nov 20 18:45:00 2006 +0100 [POWERPC] spufs: Implement /mbox_info, /ibox_info, and /wbox_info. This patch implements read only access to /mbox_info - SPU Write Outbound Mailbox /ibox_info - SPU Write Outbound Interrupt Mailbox /wbox_info - SPU Read Inbound Mailbox These files are used by gdb in order to look into the current mailbox queues without changing the contents at the same time. They are not meant for general programming use, since the access requires a context save and is therefore rather slow. It would be good to complement this patch with one that adds write support as well. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 1182e1d351d2a910bc0fb53c00277c62235333de Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:59 2006 +0100 [POWERPC] spufs: Remove /spu_tag_mask file This patch removes the /spu_tag_mask file from spufs. The data provided by this file is also available from the /dma_info file in the dma_info_mask of the spu_dma_info struct. The file was intended to be used by gdb, but that never used it, and now it has been replaced with the more verbose dma_info file. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b9e3bd774bb1a90fee9b90f461a51e4ba295fe6d Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:58 2006 +0100 [POWERPC] spufs: Add /lslr, /dma_info and /proxydma files The /lslr file gives read access to the SPU_LSLR register in hex; 0x3fff for example The /dma_info file provides read access to the SPU Command Queue in a binary format. The /proxydma_info files provides read access access to the Proxy Command Queue in a binary format. The spu_info.h file provides data structures for interpreting the binary format of /dma_info and /proxydma_info. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 9b5047e249f429722d0adc54cb5ef051bd3d685c Author: Dwayne Grant McConnell Date: Mon Nov 20 18:44:57 2006 +0100 [POWERPC] spufs: Change %llx to 0x%llx. This patches changes /npc, /decr, /decr_status, /spu_tag_mask, /event_mask, /event_status, and /srr0 files to provide output according to the format string "0x%llx" instead of "%llx". Before this patch some files used "0x%llx" and other used "%llx" which is inconsistent and potentially confusing. A user might assume "%llx" numbers were decimal if they happened to not contain any a-f digits. This change will break any code cannot tolerate a leading 0x in the file contents. The only known users of these files are the libspe but there might also be some scripts which access these files. This risk is deemed acceptable for future consistency. Signed-off-by: Dwayne Grant McConnell Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 8dc86ab954d28513f75918d743c40cddbff7388a Author: Geoff Levand Date: Mon Nov 20 18:44:56 2006 +0100 [POWERPC] Change ppc_rtas declaration to weak Change the definition of powerpc's cond_syscall() to use the standard gcc weak attribute specifier which provides proper support for C linkage as needed by spu_syscall_table[]. Fixes this powerpc build error with CONFIG_SPU_FS=y, CONFIG_PPC_RTAS=n: arch/powerpc/platforms/built-in.o: undefined reference to `ppc_rtas' Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 78dc4c20de0f2cb2aa6d4542f965f889be6da775 Author: Kalle Pokki Date: Sat Nov 11 12:09:39 2006 +0200 [POWERPC] 8xx: Off-by-one fixes to SCC parameter RAM definitions The SCC parameter RAM areas are mapped wrong in MPC8xx device descriptions. All memory areas overlap with the next one, so that I2C, SPI, SMC1 and SMC2 cannot be enabled if the four SCCs are. Signed-off-by: Kalle Pokki Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit adaa3a796282e2fa3bc48bc57bccd01ce891b8d2 Author: Geert Uytterhoeven Date: Fri Nov 17 06:21:12 2006 +0100 [POWERPC] setup_kcore(): Fix incorrect function name in panic() call. Signed-off-by: Geert Uytterhoeven Signed-off-by: Paul Mackerras commit 4687522c0dba89f1f71aeb8cf08acc4e1ee87fda Author: Grant Likely Date: Fri Nov 17 23:12:14 2006 -0700 [POWERPC] Don't compile arch/powerpc mpc52xx_pic driver for ARCH=ppc arch/powerpc/sysdev/mpc52xx_pic.c breaks the ppc build Signed-off-by: Grant Likely Signed-off-by: Paul Mackerras commit 9a06c3b176976919e223844f8ed9f1acae20b433 Author: Adrian Cox Date: Fri Nov 17 14:35:48 2006 +0000 [POWERPC] Fix wraparound problem in smp-tbsync on 32-bit The patch below fixes an arithmetic wrap-around issue on 32bit machines using smp-tbsync. Without this patch a timebase value over 0x000000007fffffff will hang the boot process while bringing up secondary CPUs. Signed-off-by: Adrian Cox Signed-off-by: Paul Mackerras commit 35af89eb491a0741005e474626053266e6e635b7 Author: David Gibson Date: Tue Nov 21 11:37:37 2006 +1100 [POWERPC] Cleanup zImage handling of kernel entry with flat device tree This makes 2 changes to clean up the flat device tree handling logic in the zImage wrapper. First, there were two callbacks from the dt_ops structure used for producing a final flat tree to pass to the kerne: dt_ops.ft_pack() which packed the flat tree (possibly a no-op) and dt_ops.ft_addr() which retreived the address of the final blob. Since they were only ever called together, this patch combines the two into a single new callback, dt_ops.finalize(). This new callback does whatever platform-dependent things are necessary to produce a final flat device tree blob, and returns the blob's addres. Second, the current logic calls the kernel with a flat device tree if one is build into the zImage wrapper, otherwise it boots the kernel with a PROM pointer, expecting the kernel to copy the OF device tree itself. This approach precludes the possibility of the platform wrapper code building a flat device tree from whatever platform-specific information firmware provides. Thus, this patch takes the more sensible approach of invoking the kernel with a flat tree if the dt_ops.finalize callback provides one (by whatever means). So, the dt_ops.finalize callback can be NULL, or can be a function which returns NULL. In either case, the zImage wrapper logic assumes that this is a platform with OF and invokes the kernel accordingly. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit f79e083c2fab601a1c382282344f5a251557dbac Author: David Gibson Date: Thu Nov 16 15:31:32 2006 +1100 [POWERPC] Small clarification of initrd handling This patch makes the handling of the initrd (or initramfs) in the zImage wrapper a little easier to follow. Instead of passing the initrd addresses out from prep_kernel() via the cryptic a1 and a2 parameters, use the global struct add_range, 'initrd'. prep_kernel() already passes information through the 'vmlinux' addr_range struct, so this seems like a reasonable extension. Some comments also clarify the logic with prep_kernel(): we use an initrd included in the zImage if present, otherwise we use an initrd passed in by the bootloader in the a1 and a2 parameters (yaboot, at least, uses this mechanism to pass an initrd). Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 3e00a5aec3d6af687e37f4e7482f5c7ecdcabd0b Author: Benjamin Herrenschmidt Date: Thu Nov 16 14:03:33 2006 +1100 [POWERPC] Xserve cpu-meter driver This is a small driver for the Xserve G5 CPU-meter blue LEDs on the front-panel. It might work on the Xserve G4 as well though that was not tested. It's pretty basic and could use some improvements if somebody cares doing them. :) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 088df4d256227b3d927bb6ed57e66d138da0565c Author: Linas Vepstas Date: Thu Nov 16 15:41:15 2006 -0600 [POWERPC] Wrap cpu_die() with CONFIG_HOTPLUG_CPU Per email discussion, it appears that rtas_stop_self() and pSeries_mach_cpu_die() should not be compiled if CONFIG_HOTPLUG_CPU is not defined. This patch adds #ifdefs around these bits of code. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras commit 5873c9bdb05e9cc68ff4c45a192032a61f705067 Author: Zang Roy-r61911 Date: Tue Nov 14 14:31:50 2006 +0800 [POWERPC] Make pci_read_irq_line the default on mpc7448hpc2 board The following patch adds a tsi108/9 pci interrupt controller host. On mpc7448hpc2 board, pci_irq_fixup function is removed, which makes the pci_read_irq_line be the default pci irq fixup. Signed-off-by: Roy Zang Signed-off-by: Paul Mackerras commit 533462df56db99ceba4b4124b69469aa2a46a8de Author: Kalle Pokki Date: Mon Nov 13 11:22:30 2006 +0300 [POWERPC] CPM_UART: Fix inconsistency of function definition The below hunk was missed from the recent patch, and now, there are somewhat inconsistent definitions: in cpm_uart.h: int __init cpm_uart_init_portdesc(void); in cpm_uart_cpm1.c: int __init cpm_uart_init_portdesc(void) { } in cpm_uart_cpm2.c: int cpm_uart_init_portdesc(void) { } Signed-off-by: Kalle Pokki Signed-off-by: Vitaly Bordug Signed-off-by: Paul Mackerras commit 1d30593e4c406c753e395676ba8b58600ccccbc1 Author: Wojtek Kaniewski Date: Wed Nov 8 19:52:57 2006 -0800 [POWERPC] Compilation fixes for ppc4xx PCI-less configs Fix compilation without PCI support for Bubinga, CPCI405 and EP405. bios_fixup() for these boards uses functions available only with CONFIG_PCI, so linker fails. Signed-off-by: Wojtek Kaniewski Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Paul Mackerras commit d6a0005c26aea9d470cf80c392d3bf2039dc4679 Author: nkalmala Date: Wed Nov 8 19:52:56 2006 -0800 [POWERPC] Book-E reg MCSR msg misquoted PPC/booke reg MCSR value misquoted Signed-off-by: nkalmala Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Acked-by: Kumar Gala Signed-off-by: Paul Mackerras commit ef2b343e99e772e35f0f9d00f7db318b6629c16e Author: Hugh Dickins Date: Fri Nov 10 21:32:40 2006 +0000 [POWERPC] Make soft_enabled irqs preempt safe Rewrite local_get_flags and local_irq_disable to use r13 explicitly, to avoid the risk that gcc will split get_paca()->soft_enabled into a sequence unsafe against preemption. Similar care in local_irq_restore. Signed-off-by: Hugh Dickins Signed-off-by: Paul Mackerras commit 56291e19e37cf3bb8fc701ebf3aa8ffbf59f73ef Author: Stephen Rothwell Date: Tue Nov 14 12:57:38 2006 +1100 [POWERPC] iSeries: fix slb.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 1d13581d00a041797c2c14adaccd306c91f87d46 Author: Stephen Rothwell Date: Mon Nov 13 14:50:28 2006 +1100 [POWERPC] iSeries: fix xmon.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 501b6d2938fd51e85279d950a6d23d515ae22c59 Author: Stephen Rothwell Date: Tue Nov 21 15:10:20 2006 +1100 [POWERPC] iSeries: fix time.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit ad5cb17f730ae49e494cfd680a5c62f81c3ca484 Author: Stephen Rothwell Date: Mon Nov 13 14:46:04 2006 +1100 [POWERPC] iSeries: fix sysfs.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit b06a318372ba95873abfe323076bd7e115d64b67 Author: Stephen Rothwell Date: Tue Nov 21 14:16:13 2006 +1100 [POWERPC] iSeries: fix irq.c for combined build Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit f9df68ec7bf49e37b46aa0a5d9e7938c060dba52 Author: Stephen Rothwell Date: Mon Nov 13 14:43:17 2006 +1100 [POWERPC] iSeries: improve viodasd initialisation On error, make sure that we undo all necessary operations. This also gets rid of a must_check warning. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 6ad4e70cafc43155d3a7e6e796e8b6b6967fc9e2 Author: Benjamin Herrenschmidt Date: Tue Nov 21 13:45:56 2006 +1100 [POWERPC] Fix IDE build with ARCH=ppc The recent IO accessor changes broke IDE on arch/ppc due to the IDE stream IO macros using the new reads/writes{b,w,l} accessors that are only defined for arch/powerpc. This adds them to arch/ppc. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 757db1ed9b50d28cd4c1e7d9925c9ea7783b2f91 Author: Benjamin Herrenschmidt Date: Tue Nov 21 12:35:29 2006 +1100 [POWERPC] Fix __raw* accessors The new IO accessor code allows to stick a token in the top bit of MMIO addresses which gets masked out during actual accesses. However, the __raw_* accessors forgot to mask it out. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 68a64357d15ae4f596e92715719071952006e83c Author: Benjamin Herrenschmidt Date: Mon Nov 13 09:27:39 2006 +1100 [POWERPC] Merge 32 and 64 bits asm-powerpc/io.h powerpc: Merge 32 and 64 bits asm-powerpc/io.h The rework on io.h done for the new hookable accessors made it easier, so I just finished the work and merged 32 and 64 bits io.h for arch/powerpc. arch/ppc still uses the old version in asm-ppc, there is just too much gunk in there that I really can't be bothered trying to cleanup. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3d1ea8e8cb4d497a2dd73176cc82095b8f193589 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:19 2006 +1100 [POWERPC] Remove ioremap64 and fixup_bigphys_addr In order to suppose platforms with devices above 4Gb on 32 bits platforms with a >32 bits physical address space, we used to have a special ioremap64 along with a fixup routine fixup_bigphys_addr. This shouldn't be necessary anymore as struct resource now supports 64 bits addresses even on 32 bits archs. This patch enables that option when CONFIG_PHYS_64BIT is set and removes ioremap64 and fixup_bigphys_addr. This is a preliminary work for the upcoming merge of 32 and 64 bits io.h Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 165785e5c0be3ad43e8b8eadfbd25e92c2cd002a Author: Jeremy Kerr Date: Sat Nov 11 17:25:18 2006 +1100 [POWERPC] Cell iommu support This patch adds full cell iommu support (and iommu disabled mode). It implements mapping/unmapping of iommu pages on demand using the standard powerpc iommu framework. It also supports running with iommu disabled for machines with less than 2GB of memory. (The default is off in that case, though it can be forced on with the kernel command line option iommu=force). Signed-off-by: Jeremy Kerr Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit acfd946a1aaffdec346c2864f596d4d92125d1ad Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:17 2006 +1100 [POWERPC] Make cell use direct DMA ops Now that the direct DMA ops supports an offset, we use that instead of defining our own. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit c80d9133e99de1af607314107910a2a1645efb17 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:16 2006 +1100 [POWERPC] Make direct DMA use node local allocations This patch makes dma_alloc_coherent() use node local allocation when using the direct DMA ops. The node is obtained from the new device extension. If no such extension is present, the current node is used. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 92b20c40dcca2d441f367da57e7665cce15c492a Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:14 2006 +1100 [POWERPC] Add an optional offset to direct DMA on 64 bits This patch adds an optional global offset that can be added to DMA addresses when using the direct DMA operations. That brings it a step closer to the 32 bits direct DMA operations, and makes it useable on Cell when the MMU is disabled and we are using a spider southbridge. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 3bc0f40c287a435805b0545ffc44ea41f11cd43e Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:13 2006 +1100 [POWERPC] Spider uses low level BE MMIO accessors We use the powerpc specific low level MMIO accessor variants instead of readl() or readl_be() because we know spidernet is not a real PCI device and we can thus avoid the performance hit caused by the PCI workarounds. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 014da7ff47b559e5f0ae3e044b73f0359c08153d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:12 2006 +1100 [POWERPC] Cell "Spider" MMIO workarounds This patch implements a workaround for a Spider PCI host bridge bug where it doesn't enforce some of the PCI ordering rules unless some manual manipulation of a special register is done. In order to be fully compliant with the PCI spec, I do this on every MMIO read operation. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4cb3cee03d558fd457cb58f56c80a2a09a66110c Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:10 2006 +1100 [POWERPC] Allow hooking of PCI MMIO & PIO accessors on 64 bits This patch reworks the way iSeries hooks on PCI IO operations (both MMIO and PIO) and provides a generic way for other platforms to do so (we have need to do that for various other platforms). While reworking the IO ops, I ended up doing some spring cleaning in io.h and eeh.h which I might want to split into 2 or 3 patches (among others, eeh.h had a lot of useless stuff in it). A side effect is that EEH for PIO should work now (it used to pass IO ports down to the eeh address check functions which is bogus). Also, new are MMIO "repeat" ops, which other archs like ARM already had, and that we have too now: readsb, readsw, readsl, writesb, writesw, writesl. In the long run, I might also make EEH use the hooks instead of wrapping at the toplevel, which would make things even cleaner and relegate EEH completely in platforms/iseries, but we have to measure the performance impact there (though it's really only on MMIO reads) Since I also need to hook on ioremap, I shuffled the functions a bit there. I introduced ioremap_flags() to use by drivers who want to pass explicit flags to ioremap (and it can be hooked). The old __ioremap() is still there as a low level and cannot be hooked, thus drivers who use it should migrate unless they know they want the low level version. The patch "arch provides generic iomap missing accessors" (should be number 4 in this series) is a pre-requisite to provide full iomap API support with this patch. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit d03f387eb321189bc2ba278b6ca82f1a45cf19d6 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:09 2006 +1100 [POWERPC] Cell fixup DMA offset for new southbridge This patch makes the Cell DMA code work on both the Spider and the Axon south bridges by turning cell_dma_valid into a variable instead of a constant. This is a temporary patch until we have full iommu support. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4c9d2800be5dfabf26acdeb401cbabe9edc1dcf2 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:08 2006 +1100 [POWERPC] Generic OF platform driver for PCI host bridges. When enabled in Kconfig, it will pick up any of_platform_device matching it's match list (currently type "pci", "pcix", "pcie", or "ht" and setup a PHB for it. Platform must provide a ppc_md.pci_setup_phb() for it to work (for doing the necessary initialisations specific to a given PHB like setting up the config space ops). It's currently only available on 64 bits as the 32 bits PCI code can't quite cope with it in it's current form. I will fix that later. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 803d4573e60bc890d7fbc040ad1c18c2dc7f8279 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:07 2006 +1100 [POWERPC] Add "parent" struct device for PCI host bridges Add a "parent" struct device to our PCI host bridge data structure so that PCI can be rooted off another device in sysfs. Note that arch/ppc doesn't use it, only arch/powerpc, though it's available for both 32 and 64 bits. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 6506e7102fd57b138979f131d751014462181202 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:06 2006 +1100 [POWERPC] Resolve the BUID for RTAS PCI config space accesses The BUID is the first entry of a PCI host bridge "reg" property. Now that PCI busses can be anywhere in the device-tree, we need to fully translate the value there to a CPU physical address before we can use it with RTAS. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e557a1c96c82f4d1a91b5c2e2e0275b5999c297d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:05 2006 +1100 [POWERPC] Resolve the parent address of a PCI bus range When parsing the OF "ranges" properties of PCI host busses to determine the mapping of a PCI bus, we need to translate the "parent" address using the prom_parse.c routines in order to obtain a CPU physical address. This wasn't necessary while PCI busses were always at the root of the device-tree but this is no longer the case on Cell where they can be anywhere in the tree. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 868108784ccf0add6ac593bfbc2eb5a0804af48d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:04 2006 +1100 [POWERPC] Add DMA ops support for of_platform_device to Cell This patch adds a bus device notifier to the of_platform bus type on cell to setup the DMA operations for of_platform_devices. We currently use the PCI operations as Cell use a special version of them that happens to be suitable for our needs. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 12d04eef927bf61328af2c7cbe756c96f98ac3bf Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:02 2006 +1100 [POWERPC] Refactor 64 bits DMA operations This patch completely refactors DMA operations for 64 bits powerpc. 32 bits is untouched for now. We use the new dev_archdata structure to add the dma operations pointer and associated data to struct device. While at it, we also add the OF node pointer and numa node. In the future, we might want to look into merging that with pci_dn as well. The old vio, pci-iommu and pci-direct DMA ops are gone. They are now replaced by a set of generic iommu and direct DMA ops (non PCI specific) that can be used by bus types. The toplevel implementation is now inline. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7c719871ff4d5f15b71f0138d08b758281b58631 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:42 2006 +1100 [PATCH] ibmveth: Remove ibmveth "liobn" field Remove the now unused "liobn" field in ibmveth which also avoids having insider knowledge of the iommu table in that driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Santiago Leon Signed-off-by: Paul Mackerras commit a863055b1066be1b8e1107f71be01daeed6bde31 Author: Jens Axboe Date: Mon Dec 4 09:30:58 2006 +0100 [PATCH] blktrace: don't return blktrace_seq from trace_note() Only the process notifier needs it, and it can set it manually. Signed-off-by: Jens Axboe commit d3d9d2a5ea9770db07aeb13a07f999aa48e8f865 Author: Jens Axboe Date: Mon Dec 4 09:27:41 2006 +0100 [PATCH] blktrace: uninline trace_note() It's too large to inline. Additionally clean it up, by fast pathing the likely path. Signed-off-by: Jens Axboe commit f23f6e08c47acbdd20e9c49a79da8c404ea168e1 Author: Al Viro Date: Fri Oct 20 15:17:02 2006 -0400 [PATCH] severing poll.h -> mm.h Signed-off-by: Al Viro commit d7fe0f241dceade9c8d4af75498765c5ff7f27e6 Author: Al Viro Date: Sun Dec 3 23:15:30 2006 -0500 [PATCH] severing skbuff.h -> mm.h Signed-off-by: Al Viro commit bd01f843c3368dcee735c19603251669f23f4477 Author: Al Viro Date: Thu Oct 19 17:23:57 2006 -0400 [PATCH] severing skbuff.h -> poll.h Signed-off-by: Al Viro commit a1f8e7f7fb9d7e2cbcb53170edca7c0ac4680697 Author: Al Viro Date: Thu Oct 19 16:08:53 2006 -0400 [PATCH] severing skbuff.h -> highmem.h Signed-off-by: Al Viro commit b07e4ecd4d380ad697c54d729cb653d027077c99 Author: Al Viro Date: Thu Oct 19 10:29:02 2006 -0400 [PATCH] severing uaccess.h -> sched.h Signed-off-by: Al Viro commit 914e26379decf1fd984b22e51fd2e4209b7a7f1b Author: Al Viro Date: Wed Oct 18 13:55:46 2006 -0400 [PATCH] severing fs.h, radix-tree.h -> sched.h Signed-off-by: Al Viro commit f6a570333e554b48ad589e7137c77c57809eee81 Author: Al Viro Date: Wed Oct 18 01:47:25 2006 -0400 [PATCH] severing module.h->sched.h Signed-off-by: Al Viro commit 96289b07eb319ab3f64db3f0d981970aa1d60a60 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:25:00 2006 +1100 [POWERPC] Hook of_platform_bus_probe with cell Hook up of_platform_bus_probe with the cell platform in order to publish the non-PCI devices in the device-tree of cell blades as of_platform_device(s) Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 7eebde700fe6fd6573e80bd8e5ed82b4ae705575 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:59 2006 +1100 [POWERPC] Souped-up of_platform_device support This patch first splits of_device.c and of_platform.c, the later containing the bits relative to of_platform_device's. On the "breaks" side of things, drivers uisng of_platform_device(s) need to include asm/of_platform.h now and of_(un)register_driver is now of_(un)register_platform_driver. In addition to a few utility functions to locate of_platform_device(s), the main new addition is of_platform_bus_probe() which allows the platform code to trigger an automatic creation of of_platform_devices for a whole tree of devices. The function acts based on the type of the various "parent" devices encountered from a provided root, using either a default known list of bus types that can be "probed" or a passed-in list. It will only register devices on busses matching that list, which mean that typically, it will not register PCI devices, as expected (since they will be picked up by the PCI layer). This will be used by Cell platforms using 4xx-type IOs in the Axon bridge and can be used by any embedded-type device as well. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 21fb5a1d9f554970c680b801ba32184bc7c34aa0 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:58 2006 +1100 [POWERPC] Native cell support for MPIC in southbridge Add support for southbridges using the MPIC interrupt controller to the native cell platforms. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a959ff56bbf07954ea4fa1cf72f99a38795eadb3 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:56 2006 +1100 [POWERPC] Improve MPIC driver auto-configuration from DT This patch applies on top of the MPIC DCR support. It makes the MPIC driver capable of a lot more auto-configuration based on the device-tree, for example, it can retreive it's own physical address if not passed as an argument, find out if it's DCR or MMIO mapped, and set the BIG_ENDIAN flag automatically in the presence of a "big-endian" property in the device-tree node. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fbf0274e43b7e17ee740fee2d693932be093d56d Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:55 2006 +1100 [POWERPC] Support for DCR based MPIC This patch implements support for DCR based MPIC implementations. Such implementations have the MPIC_USES_DCR flag set and don't use the phys_addr argument of mpic_alloc (they require a valid dcr mapping in the device node) This version of the patch can use a little bif of cleanup still (I can probably consolidate rb->dbase/doff, at least once I'm sure on how the hardware is actually supposed to work vs. possible simulator issues) and it should be possible to build a DCR-only version of the driver. I need to cleanup a bit the CONFIG_* handling for that and probably introduce CONFIG_MPIC_MMIO and CONFIG_MPIC_DCR. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 1be3770aa9220324e54851d1be7c879942f79620 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:54 2006 +1100 [POWERPC] Make EMAC use generic DCR access methods This patch makes the EMAC driver use the new DCR access methods. It doesn't yet uses dcr_map() and thus still only work with real DCRs. This will be fixed in a later patch Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 4c75a6f441cdd1c69a6c173bc7944e12c2ba6f84 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:53 2006 +1100 [POWERPC] Generic DCR infrastructure This patch adds new dcr_map/dcr_read/dcr_write accessors for DCRs that can be used by drivers to transparently address either native DCRs or memory mapped DCRs. The implementation for memory mapped DCRs is done after the binding being currently worked on for SLOF and the Axon chipset. This patch enables it for the cell native platform Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 69108cf00679716bcab58acb3135390654c5bb99 Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:52 2006 +1100 [POWERPC] Remove ppc_md.pci_map_irq & ppc_swizzle for ARCH=powerpc These were inherited from ARCH=ppc, but are not needed since parsing of interrupts should be done via the of_* functions (who can do swizzling). If we ever need to do non-standard swizzling on bridges without a device-node, then we might add back a slightly different version of ppc_md.pci_swizzle but for now, that is not the case. I removed the couple of calls for these in 83xx. If that breaks something, then there is a problem with the device-tree on these. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit f90bb153b1493719d18b4529a46ebfe43220ea6c Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:24:51 2006 +1100 [POWERPC] Make pci_read_irq_line the default This patch reworks the way IRQs are fixed up on PCI for arch powerpc. It makes pci_read_irq_line() called by default in the PCI code for devices that are probed, and add an optional per-device fixup in ppc_md for platforms that really need to correct what they obtain from pci_read_irq_line(). It also removes ppc_md.irq_bus_setup which was only used by pSeries and should not be needed anymore. I've also removed the pSeries s7a workaround as it can't work with the current interrupt code anyway. I'm trying to get one of these machines working so I can test a proper fix for that problem. I also haven't updated the old-style fixup code from 85xx_cds.c because it's actually buggy :) It assigns pci_dev->irq hard coded numbers which is no good with the new IRQ mapping code. It should at least use irq_create_mapping(NULL, hard_coded_number); and possibly also set_irq_type() to set them as level low. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 34ba8a5cd0b0d57f7775023e6e3fec473a7291cc Author: Linus Torvalds Date: Sat Nov 11 17:24:46 2006 +1100 [PATCH] Arch provides generic iomap missing accessors Allow architectures to provide their own implementation of the big endian MMIO accessors and "repeat" MMIO accessors for use by the generic iomap. Signed-off-by: Linus Torvalds More-or-less-tested-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ef9467f8f0803881d6b20ad6f0f770fc39bcc2c2 Author: Jurij Smakov Date: Sun Dec 3 19:33:02 2006 -0800 [SUNHME]: Fix for sunhme failures on x86 The following patch fixes the failure of sunhme drivers on x86 hosts due to missing pci_enable_device() and pci_set_master() calls, lost during code refactoring. It has been filed as bugzilla bug #7502 [0] and Debian bug #397460 [1]. [0] http://bugzilla.kernel.org/show_bug.cgi?id=7502 [1] http://bugs.debian.org/397460 Signed-off-by: Jurij Smakov Signed-off-by: David S. Miller commit d916faace3efc0bf19fe9a615a1ab8fa1a24cd93 Author: Jeff Garzik Date: Sun Dec 3 22:22:41 2006 -0500 Remove long-unmaintained ftape driver subsystem. It's bitrotten, long unmaintained, long hidden under BROKEN_ON_SMP, etc. As scheduled in feature-removal-schedule.txt, and ack'd several times on lkml. Signed-off-by: Jeff Garzik commit b4ad86bf52469b26148c677cb59d8bc81f129cc2 Author: David S. Miller Date: Sun Dec 3 19:19:26 2006 -0800 [XFRM] xfrm_user: Better validation of user templates. Since we never checked the ->family value of templates before, many applications simply leave it at zero. Detect this and fix it up to be the pol->family value. Also, do not clobber xp->family while reading in templates, that is not necessary. Signed-off-by: David S. Miller commit cc9f022d97d08e4e36d38661857991fe91447d68 Author: Francois Romieu Date: Fri Nov 17 23:15:17 2006 +0100 r8169: more alignment for the 0x8168 Two thirds of packets are lost because of misalignment. Users of Asus laptop did apparently not notice it. Reported on Gigabyte GA-945GM-S2. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7517 Signed-off-by: Francois Romieu commit 12d86f682e8acad8555718dc7b0082590f2365d0 Author: Francois Romieu Date: Thu Nov 2 00:24:52 2006 +0100 r8169: phy program update This is commented out in Realtek's driver as well. Signed-off-by: Francois Romieu commit d03902b8864d7814c938f67befade5a3bba68708 Author: Francois Romieu Date: Thu Nov 23 00:00:42 2006 +0100 r8169: tweak the PCI data parity error recovery The 8110SB based n2100 board signals a lot of what ought to be PCI data parity errors durint operation of the 8169 as target. Experiment proved that the driver can ignore the error and process the packet as if nothing had happened. Let's add an ad-hoc knob to enable users to fix their system while avoiding the risks of a wholesale change. Signed-off-by: Francois Romieu commit 9cb427b6ff0b3e235c518acf5c1fcbbfc95f0ae2 Author: Francois Romieu Date: Thu Nov 2 00:10:16 2006 +0100 r8169: more magic during initialization of the hardware Mostly taken from Realtek's driver. It's a bit yucky but the original is even worse. Signed-off-by: Francois Romieu Signed-off-by: Darren Salt commit 024879ead9594acab30ce9e23c955086e2d967a0 Author: James Bottomley Date: Wed Nov 15 18:03:07 2006 -0600 [SCSI] libsas: better error handling in sas_expander.c With async scanning, we're now tripping the BUG_ON in sas_ex_discover_end_dev(), so make the error handling here correct. Signed-off-by: James Bottomley commit afe4b25e7d9260d85fccb2d13c9933a987bdfc8a Author: Lennert Buytenhek Date: Sun Dec 3 18:51:14 2006 +0100 [ARM] 3881/4: xscale: clean up cp0/cp1 handling XScale cores either have a DSP coprocessor (which contains a single 40 bit accumulator register), or an iWMMXt coprocessor (which contains eight 64 bit registers.) Because of the small amount of state in the DSP coprocessor, access to the DSP coprocessor (CP0) is always enabled, and DSP context switching is done unconditionally on every task switch. Access to the iWMMXt coprocessor (CP0/CP1) is enabled only when an iWMMXt instruction is first issued, and iWMMXt context switching is done lazily. CONFIG_IWMMXT is supposed to mean 'the cpu we will be running on will have iWMMXt support', but boards are supposed to select this config symbol by hand, and at least one pxa27x board doesn't get this right, so on that board, proc-xscale.S will incorrectly assume that we have a DSP coprocessor, enable CP0 on boot, and we will then only save the first iWMMXt register (wR0) on context switches, which is Bad. This patch redefines CONFIG_IWMMXT as 'the cpu we will be running on might have iWMMXt support, and we will enable iWMMXt context switching if it does.' This means that with this patch, running a CONFIG_IWMMXT=n kernel on an iWMMXt-capable CPU will no longer potentially corrupt iWMMXt state over context switches, and running a CONFIG_IWMMXT=y kernel on a non-iWMMXt capable CPU will still do DSP context save/restore. These changes should make iWMMXt work on PXA3xx, and as a side effect, enable proper acc0 save/restore on non-iWMMXt capable xsc3 cores such as IOP13xx and IXP23xx (which will not have CONFIG_CPU_XSCALE defined), as well as setting and using HWCAP_IWMMXT properly. Signed-off-by: Lennert Buytenhek Acked-by: Dan Williams Signed-off-by: Russell King commit 2bbf29acd8f7adcf161de7e5d891b4095687a59f Author: Gerrit Renker Date: Sun Dec 3 14:53:27 2006 -0200 [DCCP] tfrc: Binary search for reverse TFRC lookup This replaces the linear search algorithm for reverse lookup with binary search. It has the advantage of better scalability: O(log2(N)) instead of O(N). This means that the average number of iterations is reduced from 250 (linear search if each value appears equally likely) down to at most 9. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 44158306d756c88272c8faf243ca68897498e219 Author: Gerrit Renker Date: Sun Dec 3 14:53:07 2006 -0200 [DCCP] ccid3: Deprecate TFRC_SMALLEST_P This patch deprecates the existing use of an arbitrary value TFRC_SMALLEST_P for low-threshold values of p. This avoids masking low-resolution errors. Instead, the code now checks against real boundaries (implemented by preceding patch) and provides warnings whenever a real value falls below the threshold. If such messages are observed, it is a better solution to take this as an indication that the lookup table needs to be re-engineered. Changelog: ---------- This patch * makes handling all TFRC resolution errors local to the TFRC library * removes unnecessary test whether X_calc is 'infinity' due to p==0 -- this condition is already caught by tfrc_calc_x() * removes setting ccid3hctx_p = TFRC_SMALLEST_P in ccid3_hc_tx_packet_recv since this is now done by the TFRC library * updates BUG_ON test in ccid3_hc_tx_no_feedback_timer to take into account that p now is either 0 (and then X_calc is irrelevant), or it is > 0; since the handling of TFRC_SMALLEST_P is now taken care of in the tfrc library Justification: -------------- The TFRC code uses a lookup table which has a bounded resolution. The lowest possible value of the loss event rate `p' which can be resolved is currently 0.0001. Substituting this lower threshold for p when p is less than 0.0001 results in a huge, exponentially-growing error. The error can be computed by the following formula: (f(0.0001) - f(p))/f(p) * 100 for p < 0.0001 Currently the solution is to use an (arbitrary) value TFRC_SMALLEST_P = 40 * 1E-6 = 0.00004 and to consider all values below this value as `virtually zero'. Due to the exponentially growing resolution error, this is not a good idea, since it hides the fact that the table can not resolve practically occurring cases. Already at p == TFRC_SMALLEST_P, the error is as high as 58.19%! Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 006042d7e1a0aae35c9dd9eb8ec71fa379679adb Author: Gerrit Renker Date: Sun Dec 3 14:52:41 2006 -0200 [DCCP] tfrc: Identify TFRC table limits and simplify code This * adds documentation about the lowest resolution that is possible within the bounds of the current lookup table * defines a constant TFRC_SMALLEST_P which defines this resolution * issues a warning if a given value of p is below resolution * combines two previously adjacent if-blocks of nearly identical structure into one This patch does not change the algorithm as such. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 8d0086adac0041de66b5f41b77eec0d8d239e16c Author: Gerrit Renker Date: Sun Dec 3 14:52:26 2006 -0200 [DCCP] tfrc: Add protection against invalid parameters to TFRC routines 1) For the forward X_calc lookup, it * protects effectively against RTT=0 (this case is possible), by returning the maximal lookup value instead of just setting it to 1 * reformulates the array-bounds exceeded condition: this only happens if p is greater than 1E6 (due to the scaling) * the case of negative indices can now with certainty be excluded, since documentation shows that the formulas are within bounds * additional protection against p = 0 (would give divide-by-zero) 2) For the reverse lookup, it warns against * protects against exceeding array bounds * now returns 0 if f(p) = 0, due to function definition * warns about minimal resolution error and returns the smallest table value instead of p=0 [this would mask congestion conditions] Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 90fb0e60dd9178dbca2e42c682c483cdb7ea9f2d Author: Gerrit Renker Date: Sun Dec 3 14:52:01 2006 -0200 [DCCP] tfrc: Fix small error in reverse lookup of p for given f(p) This fixes the following small error in tfrc_calc_x_reverse_lookup. 1) The table is generated by the following equations: lookup[index][0] = g((index+1) * 1000000/TFRC_CALC_X_ARRSIZE); lookup[index][1] = g((index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE); where g(q) is 1E6 * f(q/1E6) 2) The reverse lookup assigns an entry in lookup[index][small] 3) This index needs to match the above, i.e. * if small=0 then p = (index + 1) * 1000000/TFRC_CALC_X_ARRSIZE * if small=1 then p = (index+1) * TFRC_CALC_X_SPLIT/TFRC_CALC_X_ARRSIZE These are exactly the changes that the patch makes; previously the code did not conform to the way the lookup table was generated (this difference resulted in a mean error of about 1.12%). Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 50ab46c790a3408c441ba4c2faa9555cacc20028 Author: Gerrit Renker Date: Sun Dec 3 14:51:29 2006 -0200 [DCCP] tfrc: Document boundaries and limits of the TFRC lookup table This adds documentation for the TCP Reno throughput equation which is at the heart of the TFRC sending rate / loss rate calculations. It spells out precisely how the values were determined and what they mean. The equations were derived through reverse engineering and found to be fully accurate (verified using test programs). This patch does not change any code. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 26af3072b035daadf34a99d02510f0ff98f41f90 Author: Gerrit Renker Date: Sun Dec 3 14:51:14 2006 -0200 [DCCP] ccid3: Fix warning message about illegal ACK This avoids a (harmless) warning message being printed at the DCCP server (the receiver of a DCCP half connection). Incoming packets are both directed to * ccid_hc_rx_packet_recv() for the server half * ccid_hc_tx_packet_recv() for the client half The message gets printed since on a server the client half is currently not sending data packets. This is resolved for the moment by checking the DCCP-role first. In future times (bidirectional DCCP connections), this test may have to be more sophisticated. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 5c3fbb6acf9d32772ec7fc01cedd9478d0e26f44 Author: Gerrit Renker Date: Sun Dec 3 14:50:56 2006 -0200 [DCCP] ccid3: Fix bug in calculation of send rate The main object of this patch is the following bug: ==> In ccid3_hc_tx_packet_recv, the parameters p and X_recv were updated _after_ the send rate was calculated. This is clearly an error and is resolved by re-ordering statements. In addition, * r_sample is converted from u32 to long to check whether the time difference was negative (it would otherwise be converted to a large u32 value) * protection against RTT=0 (this is possible) is provided in a further patch * t_elapsed is also converted to long, to match the type of r_sample * adds a a more debugging information regarding current send rates * various trivial comment/documentation updates Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 76d127779e51fbf67ad6793214369aa1fea90278 Author: Gerrit Renker Date: Sun Dec 3 14:50:42 2006 -0200 [DCCP]: Fix BUG in retransmission delay calculation This bug resulted in ccid3_hc_tx_send_packet returning negative delay values, which in turn triggered silently dequeueing packets in dccp_write_xmit. As a result, only a few out of the submitted packets made it at all onto the network. Occasionally, when dccp_wait_for_ccid was involved, this also triggered a bug warning since ccid3_hc_tx_send_packet returned a negative value (which in reality was a negative delay value). The cause for this bug lies in the comparison if (delay >= hctx->ccid3hctx_delta) return delay / 1000L; The type of `delay' is `long', that of ccid3hctx_delta is `u32'. When comparing negative long values against u32 values, the test returned `true' whenever delay was smaller than 0 (meaning the packet was overdue to send). The fix is by casting, subtracting, and then testing the difference with regard to 0. This has been tested and shown to work. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 8a508ac26e72aa203677aa6a8464bd3ea44216a6 Author: Gerrit Renker Date: Sun Dec 3 14:50:23 2006 -0200 [DCCP]: Use higher RTO default for CCID3 The TFRC nofeedback timer normally expires after the maximum of 4 RTTs and twice the current send interval (RFC 3448, 4.3). On LANs with a small RTT this can mean a high processing load and reduced performance, since then the nofeedback timer is triggered very frequently. This patch provides a configuration option to set the bound for the nofeedback timer, using as default 100 milliseconds. By setting the configuration option to 0, strict RFC 3448 behaviour can be enforced for the nofeedback timer. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit ba8d55048ae08c442a27944e8beb76e73c3cce03 Author: James Smart Date: Sat Dec 2 13:36:04 2006 -0500 [SCSI] lpfc 8.1.11 : Change version number to 8.1.11 Change version number to 8.1.11 Signed-off-by: James Smart Signed-off-by: James Bottomley commit f56035110661417e15814fa08e1f4bf19cb26f93 Author: James Smart Date: Sat Dec 2 13:35:43 2006 -0500 [SCSI] lpfc 8.1.11 : Misc Fixes Misc Fixes: - Prevent references to NULL node list element in reset routines. - Add missing IOCB types to switch tables - Reset the card on Port Error 5 - Fix infinite loop in LUN reset Signed-off-by: James Smart Signed-off-by: James Bottomley commit a12e07bc6297b6cb97889ca7dfbed6c39048b1c1 Author: James Smart Date: Sat Dec 2 13:35:30 2006 -0500 [SCSI] lpfc 8.1.11 : Add soft_wwnn sysfs attribute, rename soft_wwn_enable The driver now allows both wwpn and wwnn to be set. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 18a3b5966611b1d6f539e3e0bf863ad13a44dd45 Author: James Smart Date: Sat Dec 2 13:35:08 2006 -0500 [SCSI] lpfc 8.1.11 : Removed decoding of PCI Subsystem Id To avoid continually updating the driver for new subsystem ids (as adapter modules are proliferating), remove this 2nd level decode. Genericize the reported Adapter names to be consistent across Emulex product line. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 4ff43246e45943200ae3233732adf8708c2faef6 Author: James Smart Date: Sat Dec 2 13:34:56 2006 -0500 [SCSI] lpfc 8.1.11 : Add MSI (Message Signalled Interrupts) support Add MSI (Message Signalled Interrupts) support Actual use must be enabled via the new module parameter "lpfc_use_msi" Defaults to no use Many thanks to Frederic Temporelli who implemented the initial patch. Signed-off-by: Frederic Temporelli Signed-off-by: James Smart Signed-off-by: James Bottomley commit c7743956f8cb7b496c05d8444050eba908662a14 Author: James Smart Date: Sat Dec 2 13:34:42 2006 -0500 [SCSI] lpfc 8.1.11 : Adjust LOG_FCP logging Adjust LOG_FCP logging to be more meaningful. Signed-off-by: James Smart Signed-off-by: James Bottomley commit 146911500f2572fba31895aebacdc4f283208c37 Author: James Smart Date: Sat Dec 2 13:34:28 2006 -0500 [SCSI] lpfc 8.1.11 : Fix Memory leaks Fix Memory leaks associated with mbox cmds READ_LA, READ_SPARAM, REG_LOGIN Signed-off-by: James Smart Signed-off-by: James Bottomley commit a4bc3379fbc368597024104727fdf14ced483c14 Author: James Smart Date: Sat Dec 2 13:34:16 2006 -0500 [SCSI] lpfc 8.1.11 : Fix lpfc_multi_ring_support It was not accounted for in the fast/slow rings. Genericize the implementation and control it via sysfs Signed-off-by: James Smart Signed-off-by: James Bottomley commit 2fb9bd8b9cbe9a8d70bf5f43a9ee6a4fa565ed5a Author: James Smart Date: Sat Dec 2 13:33:57 2006 -0500 [SCSI] lpfc 8.1.11 : Discovery Fixes Discovery Fixes: - Prevent starting discovery of a node if discovery is in progress. - Code improvement (reduction) for lpfc_findnode_did(). - Update discovery to send RFF to Fabric on link up - Bypass unique WWN checks for fabric addresses - Add ndlp to plogi list prior to issuing the plogi els command Signed-off-by: James Smart Signed-off-by: James Bottomley commit 0e5d030bef4de3e35bcca35dd9465e6672128570 Author: FUJITA Tomonori Date: Fri Dec 1 03:00:54 2006 +0900 [SCSI] scsi tgt: IBM eServer i/pSeries virtual SCSI target driver This is IBM Virtual SCSI target driver for tgt. The driver is based on the original ibmvscsis driver: http://lkml.org/lkml/2005/10/17/99 Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: Santiago Leon Signed-off-by: James Bottomley commit 26b14823441382264e6f3dfd01b8687dc18196fe Author: FUJITA Tomonori Date: Fri Dec 1 03:00:50 2006 +0900 [SCSI] scsi tgt: SCSI RDMA Protocol library functions libsrp provides helper functions for SRP target drivers. Some SRP target drivers would be out of drivers/scsi/ so we added an entry for libsrp in drivers/scsi/Kconfig. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: Santiago Leon Signed-off-by: James Bottomley commit c603d04ef6826a29f50cb151cb992f256d0cf19d Author: James Bottomley Date: Fri Dec 1 11:25:12 2006 -0600 [SCSI] 53c700: brown paper bag fix for auto request sense In the switch over, I forgot to set the command length, so it sends out a request sense with whatever length the prior command had (and fails badly if it wasn't 6). Signed-off-by: James Bottomley commit 46ddab7b1c7225269ad45d33fc39d0a385194360 Author: Randy Dunlap Date: Mon Nov 27 09:35:42 2006 -0800 [SCSI] qla2xxx: use NULL instead of 0 Use NULL instead of 0 for pointers (sparse warning): drivers/scsi/qla2xxx/qla_attr.c:393:4: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 599b7202c5bf2c7345ea34007379ba241c94a491 Author: Mikael Pettersson Date: Fri Dec 1 10:55:58 2006 +0100 [PATCH] sata_promise: PHYMODE4 fixup This patch adds code to fix up the PHYMODE4 "align timing" register value on second-generation Promise SATA chips. Failure to correct this value on non-x86 machines makes drive detection prone to failure due to timeouts. (I've observed about 50% detection failure rates on SPARC64.) The HW boots with a bad value in this register, but on x86 machines the Promise BIOS corrects it to the value recommended by the manual, so most people have been unaffected by this issue. After developing the patch I checked Promise's SATAII driver, and discovered that it also corrects PHYMODE4 just like this patch does. This patch depends on the sata_promise SATAII updates patch I sent recently. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 800b399669ad495ad4361d134df87401ae36f44f Author: Tejun Heo Date: Sun Dec 3 21:34:13 2006 +0900 [PATCH] libata: always use polling IDENTIFY libata switched to IRQ-driven IDENTIFY when IRQ-driven PIO was introduced. This has caused a lot of problems including device misdetection and phantom device. ATA_FLAG_DETECT_POLLING was added recently to selectively use polling IDENTIFY on problemetic drivers but many controllers and devices are affected by this problem and trying to adding ATA_FLAG_DETECT_POLLING for each such case is diffcult and not very rewarding. This patch makes libata always use polling IDENTIFY. This is consistent with libata's original behavior and drivers/ide's behavior. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3ac551a6a63dcbc707348772a27bd7090b081524 Author: Jeff Garzik Date: Sun Dec 3 07:57:21 2006 -0500 [libata] pata_cs5535: fix build Noticed by Tejun and others. Signed-off-by: Jeff Garzik commit 8e16f941226f15622fbbc416a1f3d8705001a191 Author: Tejun Heo Date: Mon Nov 20 15:42:36 2006 +0900 [PATCH] ahci: do not powerdown during initialization ahci_init_controller() calls ahci_deinit_port() to make sure the controller is stopped before initializing the controller. In turn, ahci_deinit_port() invokes ahci_power_down() to power down the port. If the controller supports slumber mode, the link is put into it. Unfortunately, some devices don't implement link powersaving mode properly and show erratic behavior after link is put into slumber mode. For example, HL-DT-ST DVD-RAM GSA-H30N completely locks up on slumber transition and can only be recovered with the *REAL* hard reset - power removal and reapply. Note that this makes the first probing reset different from all others. If the above dvd-ram is hotplugged after ahci is initialized, no problem occurs because ahci is already fully initialized with phy powered up. So, this might also be the reason for other weird AHCI initial probing abnormalities. This patch moves power up/down out of port init/deinit and call them only when needed. Power down is now called only when suspending. As system suspend usually involves powering down 12v for storage devices, this shouldn't cause problem even if the attached device doesn't support slumber mode. However, in partial power management and suspend failure cases, devices might lock up after suspend attempt. I thought about removing transition to slumber mode altogether but ahci spec mandates it before HBA D3 state transition. Blacklisting such devices might be the solution. Signed-off-by: Tejun Heo commit 70e6ad0c6d1e6cb9ee3c036a85ca2561eb1fd766 Author: Tejun Heo Date: Tue Nov 14 22:47:10 2006 +0900 [PATCH] libata: prepare ata_sg_clean() for invocation from EH Make ata_sg_clean() global and don't allow NCQ for internal commands. Signed-off-by: Tejun Heo commit bd056d7eeb55d696556ee4f5ee2acb67b2d16df4 Author: Tejun Heo Date: Tue Nov 14 22:47:10 2006 +0900 [PATCH] libata: separate out rw ATA taskfile building into ata_build_rw_tf() Separate out rw ATA taskfile building from ata_scsi_rw_xlat() into ata_build_rw_tf(). This will be used to improve media error handling. Signed-off-by: Tejun Heo commit 2432697ba0ce312d60be5009ffe1fa054a761bb9 Author: Tejun Heo Date: Tue Nov 14 22:47:09 2006 +0900 [PATCH] libata: implement ata_exec_internal_sg() Sg'ify ata_exec_internal() and call it ata_exec_internal_sg(). Wrapper function around ata_exec_internal_sg() is implemented to provide ata_exec_internal() interface. Signed-off-by: Tejun Heo commit 0f0a3ad3741fd93461fcfb85dc577103c58d9be8 Author: Tejun Heo Date: Fri Nov 17 12:24:22 2006 +0900 [PATCH] libata: make sure IRQ is cleared after ata_bmdma_freeze() Now that BMDMA status is recorded in irq handler. ata_bmdma_freeze() is free to manipulate host status. Under certain circumstances, some controllers (ICH7 in enhanced mode w/ IRQ shared) raise IRQ when CTL register is written to and ATA_NIEN doesn't mask it. This patch makes ata_bmdma_freeze() clear all pending IRQs after freezing a port. This change makes explicit clearing in ata_device_add() unnecessary and thus kills it. The removed code was SFF-specific and was in the wrong place. Note that ->freeze() handler is always called under ap->lock held and irq disabled. Even if CTL manipulation causes stuck IRQ, it's cleared immediately. This should be safe (enough) even in SMP environment. More correct solution is to mask the IRQ from IRQ controller but that would be an overkill. Signed-off-by: Tejun Heo commit ea54763f8a7c51b9f8fcb14431812ae63fcbaf96 Author: Tejun Heo Date: Fri Nov 17 12:06:21 2006 +0900 [PATCH] libata: move BMDMA host status recording from EH to interrupt handler For certain errors, interrupt handler alter BMDMA host status before entering EH (clears active and intr). Thus altered BMDMA host status value is recorded by BMDMA EH and reported to user. Move BMDMA host status recording from EH to interrupt handler. Signed-off-by: Tejun Heo commit f84e7e41e1b88547218a3c3b1eb528005e9afdb4 Author: Tejun Heo Date: Wed Nov 22 11:21:31 2006 +0900 [PATCH] libata: make sure sdev doesn't go away while rescanning ata_scsi_dev_rescan() doesn't synchronize against SCSI device detach and the target sdev might go away in the middle. Fix it. Signed-off-by: Tejun Heo commit a569a30d301e4dbc0ad67a211292edece2da1146 Author: Tejun Heo Date: Tue Nov 21 10:40:51 2006 +0900 [PATCH] libata: don't request sense if the port is frozen If EH command is issued to a frozen port, it fails with AC_ERR_SYSTEM. libata used to request sense even when the port is frozen needlessly adding AC_ERR_SYSTEM to err_mask. Don't do it. Signed-off-by: Tejun Heo commit 6a36261e63770ab61422550b774fe949ccca5fa9 Author: Tejun Heo Date: Mon Nov 20 11:15:47 2006 +0900 [PATCH] libata: fix READ CAPACITY simulation * READ CAPACITY (16) implementation fixed. Result was shifted by two bytes. Carlos Pardo spotted this problem and submitted preliminary patch. Capacity => 2TB is handled correctly now. (verifid w/ fake capacity) * Use dev->n_sectors instead of re-reading directly from ID data. * Define and use ATA_SCSI_RBUF_SET() which considers rbuf length. This should be done for all simulation functions. Userland can issue any simulated command with arbitrary buffer length. Signed-off-by: Tejun Heo Cc: Carlos Pardo commit 3d3cca37559e3ab2b574eda11ed5207ccdb8980a Author: Tejun Heo Date: Thu Nov 16 10:50:50 2006 +0900 [PATCH] libata: implement ATA_FLAG_SETXFER_POLLING and use it in pata_via, take #2 This patch implements ATA_FLAG_SETXFER_POLLING and use in pata_via. If this flag is set, transfer mode setting performed by polling not by interrupt. This should help those controllers which raise interrupt before the command is actually complete on SETXFER. Rationale for this approach. * uses existing facility and relatively simple * no busy sleep in the interrupt handler * updating drivers is easy While at it, kill now unused flag ATA_FLAG_SRST in pata_via. Signed-off-by: Tejun Heo commit 8070217d301d0ceab7d0c255d7b9d796256d37e7 Author: Tejun Heo Date: Fri Nov 17 16:22:27 2006 +0900 [PATCH] libata: set IRQF_SHARED for legacy PCI IDE IRQs There are machines out there which share legacy PCI IDE IRQs w/ other devices. libata SFF interrupt/HSM code is ready for shared IRQ and has been setting IRQF_SHARED for devices in native PCI mode. Device in legacy mode is still a PCI device and thus supposedly uses active-low level triggered IRQ. Machines with such setup should be quite rare and w/o this flag libata is likely to fail loading and render the system unuseable. Also, IDE driver has been setting IRQF_SHARED for devices in legacy mode for a looooong time. Signed-off-by: Tejun Heo commit 582982e6991d6718ddadf8751072b50a850dde48 Author: Tejun Heo Date: Fri Nov 17 12:05:11 2006 +0900 [PATCH] libata: remove unused HSM_ST_UNKNOWN HSM_ST_UNKNOWN is not used anywhere. Its value is zero and supposed to serve sanity check purpose but HSM_ST_IDLE is used for that purpose. This unused state causes confusion. After a port is initialized but before the first command is executed, the idle hsm state is UNKNOWN. However, once a command has completed, the idle hsm state is IDLE. This defeats sanity check in ata_pio_task() for the first command. This patch removes HSM_ST_UNKNOWN and consequently make HSM_ST_IDLE the default state. Signed-off-by: Tejun Heo commit 2eab80ac0c96fb98267afeb12a4899801564c75b Author: Tejun Heo Date: Wed Nov 29 12:20:26 2006 +0900 [PATCH] libata: kill unnecessary sht->max_sectors initializations sht->max_sectors is overrided unconditionally in ->slave_configure. There's no reason to set it to any value. Signed-off-by: Tejun Heo commit c972b60bf167a3d2c3da23df2af1eac93229e7cc Author: Tejun Heo Date: Wed Nov 29 12:10:46 2006 +0900 [PATCH] libata: add missing sht->slave_destroy Add missing sht->slave_destroy. Most drivers received this fix in didn't. Fix those four drives. Signed-off-by: Tejun Heo commit 2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2 Author: Jamal Hadi Salim Date: Sat Dec 2 22:22:25 2006 -0800 [XFRM]: Fix aevent structuring to be more complete. aevents can not uniquely identify an SA. We break the ABI with this patch, but consensus is that since it is not yet utilized by any (known) application then it is fine (better do it now than later). Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 02dba025b0bc881432cf325bfb124fae523087d5 Author: Yasuyuki Kozakai Date: Sat Dec 2 22:19:01 2006 -0800 [NETFILTER]: xtables: fixes warning on compilation of hashlimit To use ipv6_find_hdr(), IP6_NF_IPTABLES is necessary. Signed-off-by: Yasuyuki Kozakai Signed-off-by: David S. Miller commit 0506d4068bad834aab1141b5dc5e748eb175c6b3 Author: Alexey Dobriyan Date: Sat Dec 2 22:17:48 2006 -0800 [ROSE] rose_add_loopback_node: propagate -E David Binderman's icc logs: net/rose/rose_route.c(399): remark #593: variable "err" was set but never used Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 1863f0965e716cc61d3c23cf106d41aa070f706f Author: Yasuyuki Kozakai Date: Sat Dec 2 22:12:54 2006 -0800 [NETFILTER]: nf_conntrack: fix header inclusions for helpers Signed-off-by: Yasuyuki Kozakai Signed-off-by: David S. Miller commit 13b1833910205289172cdc655cb9bc61188f77e9 Author: Patrick McHardy Date: Sat Dec 2 22:11:25 2006 -0800 [NETFILTER]: nf_conntrack: EXPORT_SYMBOL cleanup - move EXPORT_SYMBOL next to exported symbol - use EXPORT_SYMBOL_GPL since this is what the original code used Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a3c479772c9f4239749950e7c8ea0e9c914a9d7e Author: Patrick McHardy Date: Sat Dec 2 22:11:01 2006 -0800 [NETFILTER]: Mark old IPv4-only connection tracking scheduled for removal Also remove the references to "new connection tracking" from Kconfig. After some short stabilization period of the new connection tracking helpers/NAT code the old one will be removed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 807467c22a12381985878be23c778657fc0364d0 Author: Patrick McHardy Date: Sat Dec 2 22:10:34 2006 -0800 [NETFILTER]: nf_nat: add SNMP NAT helper port Add nf_conntrack port of the SNMP NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a536df35b3a58caa9015bf7887a374b20f658368 Author: Patrick McHardy Date: Sat Dec 2 22:10:18 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add TFTP helper port Add IPv4 and IPv6 capable nf_conntrack port of the TFTP conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9fafcd7b203229c3f3893a475741afc27e276306 Author: Patrick McHardy Date: Sat Dec 2 22:09:57 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add SIP helper port Add IPv4 and IPv6 capable nf_conntrack port of the SIP conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f09943fefe6b702e40893d35b4f10fd1064037fe Author: Patrick McHardy Date: Sat Dec 2 22:09:41 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add PPTP helper port Add nf_conntrack port of the PPtP conntrack/NAT helper. Since there seems to be no IPv6-capable PPtP implementation the helper only support IPv4. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 92703eee4ccde3c55ee067a89c373e8a51a8adf9 Author: Patrick McHardy Date: Sat Dec 2 22:09:24 2006 -0800 [NETFILTER]: nf_conntrack: add NetBIOS name service helper port Add nf_conntrack port of the NetBIOS name service conntrack helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 869f37d8e48f3911eb70f38a994feaa8f8380008 Author: Patrick McHardy Date: Sat Dec 2 22:09:06 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add IRC helper port Add nf_conntrack port of the IRC conntrack/NAT helper. Since DCC doesn't support IPv6 yet, the helper is still IPv4 only. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f587de0e2feb9eb9b94f98d0a7b7437e4d6617b4 Author: Patrick McHardy Date: Sat Dec 2 22:08:46 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add H.323 helper port Add IPv4 and IPv6 capable nf_conntrack port of the H.323 conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 16958900578b94585c2ab9a2d20d837b4d5e3ba6 Author: Patrick McHardy Date: Sat Dec 2 22:08:26 2006 -0800 [NETFILTER]: nf_conntrack/nf_nat: add amanda helper port Add IPv4 and IPv6 capable nf_conntrack port of the Amanda conntrack/NAT helper. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d6a9b6500a8941599bcef98e7de49e1260d104ed Author: Patrick McHardy Date: Sat Dec 2 22:08:01 2006 -0800 [NETFILTER]: nf_conntrack: add helper function for expectation initialization Expectation address masks need to be differently initialized depending on the address family, create helper function to avoid cluttering up the code too much. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 55a733247d6d2883d9bb77825fafac3dfca13fc2 Author: Jozsef Kadlecsik Date: Sat Dec 2 22:07:44 2006 -0800 [NETFILTER]: nf_nat: add FTP NAT helper port Add FTP NAT helper. Split out from Jozsef's big nf_nat patch with a few small fixes by myself. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5b1158e909ecbe1a052203e0d8df15633f829930 Author: Jozsef Kadlecsik Date: Sat Dec 2 22:07:13 2006 -0800 [NETFILTER]: Add NAT support for nf_conntrack Add NAT support for nf_conntrack. Joint work of Jozsef Kadlecsik, Yasuyuki Kozakai, Martin Josefsson and myself. Signed-off-by: Jozsef Kadlecsik Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d2483ddefd38b06053cdce7206382ca61f6282b1 Author: Patrick McHardy Date: Sat Dec 2 22:06:05 2006 -0800 [NETFILTER]: nf_conntrack: add module aliases to IPv4 conntrack names Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b321e14425c0234dd9cd07a5327a179507956c7c Author: Patrick McHardy Date: Sat Dec 2 22:05:46 2006 -0800 [NETFILTER]: Kconfig: improve conntrack selection Improve the connection tracking selection (well, the user experience, not really the aesthetics) by offering one option to enable connection tracking and a choice between the implementations. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9457d851fc5df54522d733f72cbb1f02ab59272e Author: Patrick McHardy Date: Sat Dec 2 22:05:25 2006 -0800 [NETFILTER]: nf_conntrack: automatic helper assignment for expectations Some helpers (namely H.323) manually assign further helpers to expected connections. This is not possible with nf_conntrack anymore since we need to know whether a helper is used at allocation time. Handle the helper assignment centrally, which allows to perform the correct allocation and as a nice side effect eliminates the need for the H.323 helper to fiddle with nf_conntrack_lock. Mid term the allocation scheme really needs to be redesigned since we do both the helper and expectation lookup _twice_ for every new connection. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit bff9a89bcac5b68ac0a1ea856b1726a35ae1eabb Author: Patrick McHardy Date: Sat Dec 2 22:05:08 2006 -0800 [NETFILTER]: nf_conntrack: endian annotations Resync with Al Viro's ip_conntrack annotations and fix a missed spot in ip_nat_proto_icmp.c. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f9aae95828d3478520f4bd73221bcb450ec1a5c0 Author: Patrick McHardy Date: Sat Dec 2 22:04:50 2006 -0800 [NETFILTER]: nf_conntrack: fix helper structure alignment Adding the alignment to the size doesn't make any sense, what it should do is align the size of the conntrack structure to the alignment requirements of the helper structure and return an aligned pointer in nfct_help(). Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0c4ca1bd8638d04796553b6e678063c4fadb92cc Author: Patrick McHardy Date: Sat Dec 2 22:04:24 2006 -0800 [NETFILTER]: nf_conntrack: fix NF_CONNTRACK_PROC_COMPAT dependency NF_CONNTRACK_PROC_COMPAT depends on NF_CONNTRACK_IPV4, not NF_CONNTRACK. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9a7c9337a09b1ef07e55f95a4309957a2328a01f Author: Patrick McHardy Date: Sat Dec 2 22:04:04 2006 -0800 [NET]: Accept wildcard delimiters in in[46]_pton Accept -1 as delimiter to abort parsing without an error at the first unknown character. This is needed by the upcoming nf_conntrack SIP helper, where addresses are delimited by either '\r' or '\n' characters. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a163148c1bec895c1332ea5be497bcda8ce110df Author: Kim Nordlund Date: Fri Dec 1 20:21:44 2006 -0800 [PKT_SCHED] act_gact: division by zero Not returning -EINVAL, because someone might want to use the value zero in some future gact_prob algorithm? Signed-off-by: Kim Nordlund Signed-off-by: David S. Miller commit 0b251df1039f560ef88a9180a80023e4f82596bd Author: Patrick McHardy Date: Fri Dec 1 20:10:13 2006 -0800 [NETFILTER]: Kill ip_queue from feature removal schedule. We really can't remove ip_queue. Many users use this, there is no binary compatible interface and even the compat replacement for the originally statically linked library doesn't work. There is also no real necessity to remove the code, so the feature-removal-schedule entry should be removed instead. Signed-off-by: David S. Miller commit a4d1366d5080fcb4514db58c320b9f60d78918e6 Author: Jamal Hadi Salim Date: Fri Dec 1 20:07:42 2006 -0800 [GENETLINK]: Add cmd dump completion. Remove assumption that generic netlink commands cannot have dump completion callbacks. Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit c40a27f48ceee648e9cfdda040b69e7010d9f82c Author: David S. Miller Date: Thu Nov 30 21:05:23 2006 -0800 [ATM]: Kill ipcommon.[ch] All that remained was skb_migrate() and that was overkill for what the two call sites were trying to do. Signed-off-by: David S. Miller commit 1e9b3d5339d2afd6348e8211f0db695b00261e17 Author: Patrick McHardy Date: Thu Nov 30 19:54:05 2006 -0800 [NET_SCHED]: policer: restore compatibility with old iproute binaries The tc actions increased the size of struct tc_police, which broke compatibility with old iproute binaries since both the act_police and the old NET_CLS_POLICE code check for an exact size match. Since the new members are not even used, the simple fix is to also accept the size of the old structure. Dumping is not affected since old userspace will receive a bigger structure, which is handled fine. Signed-off-by: Patrick McHardy Acked-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 5f68e4c07c7b97a5b06f0b5e313528d36415a60d Author: Adrian Bunk Date: Thu Nov 30 19:50:36 2006 -0800 [PKT_SCHED]: Remove unused exports. This patch removes the following unused EXPORT_SYMBOL's: - sch_api.c: qdisc_lookup - sch_generic.c: __netdev_watchdog_up - sch_generic.c: noop_qdisc_ops - sch_generic.c: qdisc_alloc Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1e419cd9953f59d06d7b88d0e2911a68a0044f33 Author: Al Viro Date: Thu Nov 30 19:28:48 2006 -0800 [EBTABLES]: Split ebt_replace into user and kernel variants, annotate. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit df07a81e939a0176b125bc83cf22dbb5e380ae9f Author: Al Viro Date: Thu Nov 30 19:28:25 2006 -0800 [EBTABLES]: Clean ebt_register_table() up. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1bc2326cbe24766d9cb236e63c091cbaecfa2f29 Author: Al Viro Date: Thu Nov 30 19:28:08 2006 -0800 [EBTABLES]: Move calls of ebt_verify_pointers() upstream. ... and pass just repl->name to translate_table() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f7da79d99863c044e28483e32c10b394bbd78d21 Author: Al Viro Date: Thu Nov 30 19:27:48 2006 -0800 [EBTABLES]: ebt_check_entry() doesn't need valid_hooks We can check newinfo->hook_entry[...] instead. Kill unused argument. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 177abc348a00738dbc985df8523d755bf87403d9 Author: Al Viro Date: Thu Nov 30 19:27:32 2006 -0800 [EBTABLES]: Clean ebt_get_udc_positions() up. Check for valid_hooks is redundant (newinfo->hook_entry[i] will be NULL if bit i is not set). Kill it, kill unused arguments. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0e795531c5e6d0a7d407b8d9edde47cab13be3ec Author: Al Viro Date: Thu Nov 30 19:27:13 2006 -0800 [EBTABLES]: Switch ebt_check_entry_size_and_hooks() to use of newinfo->hook_entry[] kill unused arguments Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1f072c96fdf1a0caa11c6e8078dd96925bd02db5 Author: Al Viro Date: Thu Nov 30 19:26:53 2006 -0800 [EBTABLES]: translate_table(): switch direct uses of repl->hook_info to newinfo Since newinfo->hook_table[] already has been set up, we can switch to using it instead of repl->{hook_info,valid_hooks}. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e4fd77deac764e17cb1eab8661bcf1413204d04d Author: Al Viro Date: Thu Nov 30 19:26:35 2006 -0800 [EBTABLES]: Move more stuff into ebt_verify_pointers(). Take intialization of ->hook_entry[...], ->entries_size and ->nentries over there, pull the check for empty chains into the end of that sucker. Now it's self-contained, so we can move it up in the very beginning of translate_table() *and* we can rely on ->hook_entry[] being properly transliterated after it. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 70fe9af47ee01a17fe7486f1739f6eac8a14868b Author: Al Viro Date: Thu Nov 30 19:26:14 2006 -0800 [EBTABLES]: Pull the loop doing __ebt_verify_pointers() into a separate function. It's easier to expand the iterator here *and* we'll be able to move all uses of ebt_replace from translate_table() into this one. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 22b440bf9e717226d0fbaf4f29357cbdd5279de5 Author: Al Viro Date: Thu Nov 30 19:25:51 2006 -0800 [EBTABLES]: Split ebt_check_entry_size_and_hooks Split ebt_check_entry_size_and_hooks() in two parts - one that does sanity checks on pointers (basically, checks that we can safely use iterator from now on) and the rest of it (looking into details of entry). The loop applying ebt_check_entry_size_and_hooks() is split in two. Populating newinfo->hook_entry[] is done in the first part. Unused arguments killed. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 14197d5447afc41fce6b11a91592278cad1a09eb Author: Al Viro Date: Thu Nov 30 19:25:21 2006 -0800 [EBTABLES]: Prevent wraparounds in checks for entry components' sizes. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 98a0824a0f33d051f31ca8ff59e289755b244ede Author: Al Viro Date: Thu Nov 30 19:24:49 2006 -0800 [EBTABLES]: Deal with the worst-case behaviour in loop checks. No need to revisit a chain we'd already finished with during the check for current hook. It's either instant loop (which we'd just detected) or a duplicate work. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 40642f95f5f818579bc4cc3ee084b033e662d5b3 Author: Al Viro Date: Thu Nov 30 19:24:12 2006 -0800 [EBTABLES]: Verify that ebt_entries have zero ->distinguisher. We need that for iterator to work; existing check had been too weak. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit bb2ef25c2c62444b8fdb0346a23658a419803df9 Author: Al Viro Date: Thu Nov 30 19:22:42 2006 -0800 [EBTABLES]: Fix wraparounds in ebt_entries verification. We need to verify that a) we are not too close to the end of buffer to dereference b) next entry we'll be checking won't be _before_ our While we are at it, don't subtract unrelated pointers... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b6332e6cf9c9198c0f3b0fe37c2c57514dafe1b8 Author: Andrew Morton Date: Thu Nov 30 19:16:28 2006 -0800 [TCP]: Fix warnings with TCP_MD5SIG disabled. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit f5b99bcdddfb2338227faad3489c24907f37ee8e Author: Adrian Bunk Date: Thu Nov 30 17:22:29 2006 -0800 [NET]: Possible cleanups. This patch contains the following possible cleanups: - make the following needlessly global functions statis: - ipv4/tcp.c: __tcp_alloc_md5sig_pool() - ipv4/tcp_ipv4.c: tcp_v4_reqsk_md5_lookup() - ipv4/udplite.c: udplite_rcv() - ipv4/udplite.c: udplite_err() - make the following needlessly global structs static: - ipv4/tcp_ipv4.c: tcp_request_sock_ipv4_ops - ipv4/tcp_ipv4.c: tcp_sock_ipv4_specific - ipv6/tcp_ipv6.c: tcp_request_sock_ipv6_ops - net/ipv{4,6}/udplite.c: remove inline's from static functions (gcc should know best when to inline them) Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 2718aa7c55ba7264dd463b8f7006f0975366fa7b Author: Miika Komu Date: Thu Nov 30 16:41:50 2006 -0800 [IPSEC]: Add AF_KEY interface for encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa commit 8511d01d7c70200ffd42debba9d7ac5c4f7f1031 Author: Miika Komu Date: Thu Nov 30 16:40:51 2006 -0800 [IPSEC]: Add netlink interface for the encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa Signed-off-by: David S. Miller commit 76b3f055f38954c67dab13844eb92203580038f8 Author: Miika Komu Date: Thu Nov 30 16:40:43 2006 -0800 [IPSEC]: Add encapsulation family. Signed-off-by: Miika Komu Signed-off-by: Diego Beltrami Signed-off-by: Kazunori Miyazawa Signed-off-by: David S. Miller commit 08dd1a506bbc4528db60dfdfff61423a1608ed3f Author: David S. Miller Date: Thu Nov 30 16:35:01 2006 -0800 [TCP] MD5SIG: Kill CONFIG_TCP_MD5SIG_DEBUG. It just obfuscates the code and adds limited value. And as Adrian Bunk noticed, it lacked Kconfig help text too, so just kill it. Signed-off-by: David S. Miller commit e488eafcc50be296f0d1e1fd67c6b5d865183011 Author: Patrick McHardy Date: Wed Nov 29 17:37:42 2006 -0800 [NET_SCHED]: Fix endless loops (part 5): netem/tbf/hfsc ->requeue failures When peeking at the next packet in a child qdisc by calling dequeue/requeue, the upper qdisc qlen counter may get out of sync in case the requeue fails. The qdisc and the child qdisc both have their counter decremented, but since no packet is given to the upper qdisc it won't decrement its counter itself. requeue should not fail, so this is mostly for "correctness". Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 256d61b87b2c2ac6fc333c1654d1abea61979006 Author: Patrick McHardy Date: Wed Nov 29 17:37:05 2006 -0800 [NET_SCHED]: Fix endless loops (part 4): HTB Convert HTB to use qdisc_tree_decrease_len() and add a callback for deactivating a class when its child queue becomes empty. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f973b913e18ab5a4795738ddf8a8666ac306ee12 Author: Patrick McHardy Date: Wed Nov 29 17:36:43 2006 -0800 [NET_SCHED]: Fix endless loops (part 3): HFSC Convert HFSC to use qdisc_tree_decrease_len() and add a callback for deactivating a class when its child queue becomes empty. All queue purging goes through hfsc_purge_queue(), which is used in three cases: grafting, class creation (when a leaf class is turned into an intermediate class by attaching a new class) and class deletion. In all cases qdisc_tree_decrease_len() is needed. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 5e50da01d0ce7ef0ba3ed6cfabd62f327da0aca6 Author: Patrick McHardy Date: Wed Nov 29 17:36:20 2006 -0800 [NET_SCHED]: Fix endless loops (part 2): "simple" qdiscs Convert the "simple" qdiscs to use qdisc_tree_decrease_qlen() where necessary: - all graft operations - destruction of old child qdiscs in prio, red and tbf change operation - purging of queue in sfq change operation Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 43effa1e57fc4635e0301b27d78f9d83afe78974 Author: Patrick McHardy Date: Wed Nov 29 17:35:48 2006 -0800 [NET_SCHED]: Fix endless loops caused by inaccurate qlen counters (part 1) There are multiple problems related to qlen adjustment that can lead to an upper qdisc getting out of sync with the real number of packets queued, leading to endless dequeueing attempts by the upper layer code. All qdiscs must maintain an accurate q.qlen counter. There are basically two groups of operations affecting the qlen: operations that propagate down the tree (enqueue, dequeue, requeue, drop, reset) beginning at the root qdisc and operations only affecting a subtree or single qdisc (change, graft, delete class). Since qlen changes during operations from the second group don't propagate to ancestor qdiscs, their qlen values become desynchronized. This patch adds a function to propagate qlen changes up the qdisc tree, optionally calling a callback function to perform qdisc-internal maintenance when the child qdisc becomes empty. The follow-up patches will convert all qdiscs to use this function where necessary. Noticed by Timo Steinbach . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 9f9afec48221fe4a19f84a9341f5b304bf7d7783 Author: Patrick McHardy Date: Wed Nov 29 17:35:18 2006 -0800 [NET_SCHED]: Set parent classid in default qdiscs Set parent classids in default qdiscs to allow walking up the tree from outside the qdiscs. This is needed by the next patch. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 814a175e7b1531a4bcaa63be47bf58cacdcb5010 Author: Patrick McHardy Date: Wed Nov 29 17:34:50 2006 -0800 [NET_SCHED]: sch_htb: perform qlen adjustment immediately in ->delete qlen adjustment should happen immediately in ->delete and not in the class destroy function because the reference count will not hit zero in ->delete (sch_api holds a reference) but in ->put. Since the qdisc lock is released between deletion of the class and final destruction this creates an externally visible error in the qlen counter. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6cbda6b6e2e2a0a84c0fcda8ea262c16d7a63fc8 Author: James Morris Date: Wed Nov 29 16:50:27 2006 -0500 Rename class_destroy to avoid namespace conflicts. We're seeing increasing namespace conflicts between the global class_destroy() function declared in linux/device.h, and the private function in the SELinux core code. This patch renames the SELinux function to cls_destroy() to avoid this conflict. Acked-by: Stephen Smalley Signed-off-by: James Morris commit 484b366932be0b73a22c74a82748ca10a721643e Author: Paul Moore Date: Wed Nov 29 13:18:20 2006 -0500 NetLabel: add the ranged tag to the CIPSOv4 protocol Add support for the ranged tag (tag type #5) to the CIPSOv4 protocol. The ranged tag allows for seven, or eight if zero is the lowest category, category ranges to be specified in a CIPSO option. Each range is specified by two unsigned 16 bit fields, each with a maximum value of 65534. The two values specify the start and end of the category range; if the start of the category range is zero then it is omitted. See Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt for more details. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 654bbc2a2b87185630d05b79cc0db0e9364bb7e0 Author: Paul Moore Date: Wed Nov 29 13:18:19 2006 -0500 NetLabel: add the enumerated tag to the CIPSOv4 protocol Add support for the enumerated tag (tag type #2) to the CIPSOv4 protocol. The enumerated tag allows for 15 categories to be specified in a CIPSO option, where each category is an unsigned 16 bit field with a maximum value of 65534. See Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt for more details. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 02752760359db6b00a3ffb1acfc13ef8d9eb1e3f Author: Paul Moore Date: Wed Nov 29 13:18:18 2006 -0500 NetLabel: convert to an extensibile/sparse category bitmap The original NetLabel category bitmap was a straight char bitmap which worked fine for the initial release as it only supported 240 bits due to limitations in the CIPSO restricted bitmap tag (tag type 0x01). This patch converts that straight char bitmap into an extensibile/sparse bitmap in order to lay the foundation for other CIPSO tag types and protocols. This patch also has a nice side effect in that all of the security attributes passed by NetLabel into the LSM are now in a format which is in the host's native byte/bit ordering which makes the LSM specific code much simpler; look at the changes in security/selinux/ss/ebitmap.c as an example. Signed-off-by: Paul Moore Signed-off-by: James Morris commit ef91fd522ba3c88d9c68261c243567bc4c5a8f55 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:43 2006 +0100 [NETFILTER]: remove the reference to ipchains from Kconfig It is time to move on :-) Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 76592584be7828cd314bc8d5dc7773ff1692fb99 Author: Patrick McHardy Date: Wed Nov 29 02:35:42 2006 +0100 [NETFILTER]: Fix PROC_FS=n warnings Fix some unused function/variable warnings. Signed-off-by: Patrick McHardy commit 65195686ff2f088a73c1764f4d30be5c7e0eb089 Author: Patrick McHardy Date: Wed Nov 29 02:35:41 2006 +0100 [NETFILTER]: remove remaining ASSERT_{READ,WRITE}_LOCK Signed-off-by: Patrick McHardy commit d12cdc3ccf140bd2febef1c1be92284571da983f Author: Bart De Schuymer Date: Wed Nov 29 02:35:40 2006 +0100 [NETFILTER]: ebtables: add --snap-arp option The attached patch adds --snat-arp support, which makes it possible to change the source mac address in both the mac header and the arp header with one rule. Signed-off-by: Bart De Schuymer Signed-off-by: Patrick McHardy commit baf7b1e11282127e068d149825cccec002091d61 Author: Patrick McHardy Date: Wed Nov 29 02:35:38 2006 +0100 [NETFILTER]: x_tables: add NFLOG target Add new NFLOG target to allow use of nfnetlink_log for both IPv4 and IPv6. Currently we have two (unsupported by userspace) hacks in the LOG and ULOG targets to optionally call to the nflog API. They lack a few features, namely the IPv4 and IPv6 LOG targets can not specify a number of arguments related to nfnetlink_log, while the ULOG target is only available for IPv4. Remove those hacks and add a clean way to use nfnetlink_log. Signed-off-by: Patrick McHardy commit 39b46fc6f0d1161a5585cd8af7b3a05e8118ab7e Author: Patrick McHardy Date: Wed Nov 29 02:35:36 2006 +0100 [NETFILTER]: x_tables: add port of hashlimit match for IPv4 and IPv6 Signed-off-by: Patrick McHardy commit d7a5c32442ed3d528b9ddfd3d5b837bad0ffa9da Author: Patrick McHardy Date: Wed Nov 29 02:35:34 2006 +0100 [NETFILTER]: nfnetlink_log: remove useless prefix length limitation There is no reason for limiting netlink attributes in size. Signed-off-by: Patrick McHardy commit 829e17a1a602572ffa3beefe582dc103ee9fb9c7 Author: Eric Leblond Date: Wed Nov 29 02:35:33 2006 +0100 [NETFILTER]: nfnetlink_queue: allow changing queue length through netlink Signed-off-by: Eric Leblond Signed-off-by: Patrick McHardy commit 7b621c1ea64a54f77b8a841b16dc4c9fee3ecf48 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:32 2006 +0100 [NETFILTER]: ctnetlink: rework conntrack fields dumping logic on events | NEW | UPDATE | DESTROY | ----------------------------------------| tuples | Y | Y | Y | status | Y | Y | N | timeout | Y | Y | N | protoinfo | S | S | N | helper | S | S | N | mark | S | S | N | counters | F | F | Y | Leyend: Y: yes N: no S: iif the field is set F: iif overflow This patch also replace IPCT_HELPINFO by IPCT_HELPER since we want to track the helper assignation process, not the changes in the private information held by the helper. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit bbb3357d14f6becd156469220992ef7ab0f10e69 Author: Pablo Neira Ayuso Date: Wed Nov 29 02:35:31 2006 +0100 [NETFILTER]: ctnetlink: check for status attribute existence on conntrack creation Check that status flags are available in the netlink message received to create a new conntrack. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy commit 1b683b551209ca46ae59b29572018001db5af078 Author: Patrick McHardy Date: Wed Nov 29 02:35:30 2006 +0100 [NETFILTER]: sip conntrack: better NAT handling The NAT handling of the SIP helper has a few problems: - Request headers are only mangled in the reply direction, From/To headers not at all, which can lead to authentication failures with DNAT in case the authentication domain is the IP address - Contact headers in responses are only mangled for REGISTER responses - Headers may be mangled even though they contain addresses not participating in the connection, like alternative addresses - Packets are droppen when domain names are used where the helper expects IP addresses This patch takes a different approach, instead of fixed rules what field to mangle to what content, it adds symetric mapping of From/To/Via/Contact headers, which allows to deal properly with echoed addresses in responses and foreign addresses not belonging to the connection. Signed-off-by: Patrick McHardy commit 77a78dec48386ce958196bf69f192ee76537c07d Author: Patrick McHardy Date: Wed Nov 29 02:35:28 2006 +0100 [NETFILTER]: sip conntrack: make header shortcuts optional Not every header has a shortcut, so make them optional instead of searching for the same string twice. Signed-off-by: Patrick McHardy commit 40883e8184947879f135605a05c0764c60656cc5 Author: Patrick McHardy Date: Wed Nov 29 02:35:27 2006 +0100 [NETFILTER]: sip conntrack: do case insensitive SIP header search SIP headers are generally case-insensitive, only SDP headers are case sensitive. Signed-off-by: Patrick McHardy commit 9d5b8baa4e9ace9be113c6151aaeeb3c07a26fc8 Author: Patrick McHardy Date: Wed Nov 29 02:35:26 2006 +0100 [NETFILTER]: sip conntrack: minor cleanup - Use enum for header field enumeration - Use numerical value instead of pointer to header info structure to identify headers, unexport ct_sip_hdrs - group SIP and SDP entries in header info structure - remove double forward declaration of ct_sip_get_info Signed-off-by: Patrick McHardy commit 337fbc4166967a72c3cc71c597bdde7e6a8633ab Author: Patrick McHardy Date: Wed Nov 29 02:35:25 2006 +0100 [NETFILTER]: ip_conntrack: fix NAT helper unload races The NAT helpr hooks are protected by RCU, but all of the conntrack helpers test and use the global pointers instead of copying them first using rcu_dereference() Also replace synchronize_net() by synchronize_rcu() for clarity since sychronizing only with packet receive processing is insufficient to prevent races. Signed-off-by: Patrick McHardy commit 468ec44bd5a863736d955f78b8c38896f26864a1 Author: Yasuyuki Kozakai Date: Wed Nov 29 02:35:23 2006 +0100 [NETFILTER]: conntrack: add '_get' to {ip, nf}_conntrack_expect_find We usually uses 'xxx_find_get' for function which increments reference count. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy commit e4bd8bce3e8b53e2c0a0d5c9afbc29731e517f8d Author: Patrick McHardy Date: Wed Nov 29 02:35:22 2006 +0100 [NETFILTER]: nf_conntrack: /proc compatibility with old connection tracking This patch adds /proc/net/ip_conntrack, /proc/net/ip_conntrack_expect and /proc/net/stat/ip_conntrack files to keep old programs using them working. The /proc/net/ip_conntrack and /proc/net/ip_conntrack_expect files show only IPv4 entries, the /proc/net/stat/ip_conntrack shows global statistics. Signed-off-by: Patrick McHardy commit a999e6837603e4b5a164333c93918a1292f074c8 Author: Patrick McHardy Date: Wed Nov 29 02:35:20 2006 +0100 [NETFILTER]: nf_conntrack: sysctl compatibility with old connection tracking This patch adds an option to keep the connection tracking sysctls visible under their old names. Signed-off-by: Patrick McHardy commit 933a41e7e12b773d1dd026018f02b86b5d257a22 Author: Patrick McHardy Date: Wed Nov 29 02:35:18 2006 +0100 [NETFILTER]: nf_conntrack: move conntrack protocol sysctls to individual modules Signed-off-by: Patrick McHardy commit d62f9ed4a490309bd9e5df0b42ba5d096e7b5902 Author: Patrick McHardy Date: Wed Nov 29 02:35:17 2006 +0100 [NETFILTER]: nf_conntrack: automatic sysctl registation for conntrack protocols Add helper functions for sysctl registration with optional instantiating of common path elements (like net/netfilter) and use it for support for automatic registation of conntrack protocol sysctls. Signed-off-by: Patrick McHardy commit f8eb24a89afa12b48fa7e39775faea6d64b8e538 Author: Patrick McHardy Date: Wed Nov 29 02:35:15 2006 +0100 [NETFILTER]: nf_conntrack: move extern declaration to header files Using extern in a C file is a bad idea because the compiler can't catch type errors. Signed-off-by: Patrick McHardy commit d73468533451fd896324058d9ba649c11ba3e3ee Author: Patrick McHardy Date: Wed Nov 29 02:35:14 2006 +0100 [NETFILTER]: nf_conntrack_ftp: fix missing helper mask initilization Signed-off-by: Patrick McHardy commit be00c8e48993368663e2714bd1e7c886b7736406 Author: Martin Josefsson Date: Wed Nov 29 02:35:12 2006 +0100 [NETFILTER]: nf_conntrack: reduce timer updates in __nf_ct_refresh_acct() Only update the conntrack timer if there's been at least HZ jiffies since the last update. Reduces the number of del_timer/add_timer cycles from one per packet to one per connection per second (plus once for each state change of a connection) Should handle timer wraparounds and connection timeout changes. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 824621eddd2087b0e6f0b2e0da91e8d77e4919bf Author: Martin Josefsson Date: Wed Nov 29 02:35:11 2006 +0100 [NETFILTER]: nf_conntrack: remove unused struct list_head from protocols Remove unused struct list_head from struct nf_conntrack_l3proto and nf_conntrack_l4proto as all protocols are kept in arrays, not linked lists. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 3ffd5eeb1a031ad226c80ae6e658970cd08569e2 Author: Martin Josefsson Date: Wed Nov 29 02:35:10 2006 +0100 [NETFILTER]: nf_conntrack: minor __nf_ct_refresh_acct() whitespace cleanup Minor whitespace cleanup. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 951d36cace3d3ad2ac6c222e126aed4113ad2bf7 Author: Martin Josefsson Date: Wed Nov 29 02:35:09 2006 +0100 [NETFILTER]: nf_conntrack: remove ASSERT_{READ,WRITE}_LOCK Remove the usage of ASSERT_READ_LOCK/ASSERT_WRITE_LOCK in nf_conntrack, it didn't do anything, it was just an empty define and it uglified the code. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit ae5718fb3dd0a11a4c9a061bf86417d52d58a6b3 Author: Martin Josefsson Date: Wed Nov 29 02:35:08 2006 +0100 [NETFILTER]: nf_conntrack: more sanity checks in protocol registration/unregistration Add some more sanity checks when registering/unregistering l3/l4 protocols. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 605dcad6c85226e6d43387917b329d65b95cef39 Author: Martin Josefsson Date: Wed Nov 29 02:35:06 2006 +0100 [NETFILTER]: nf_conntrack: rename struct nf_conntrack_protocol Rename 'struct nf_conntrack_protocol' to 'struct nf_conntrack_l4proto' in order to help distinguish it from 'struct nf_conntrack_l3proto'. It gets rather confusing with 'nf_conntrack_protocol'. Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit e2b7606cdb602a4f69c02cfc8bebe9c63b595e24 Author: Martin Josefsson Date: Wed Nov 29 02:35:04 2006 +0100 [NETFILTER]: More __read_mostly annotations Place rarely written variables in the read-mostly section by using __read_mostly Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 8f03dea52b1d0227656319e1b0822628b43791a8 Author: Martin Josefsson Date: Wed Nov 29 02:35:03 2006 +0100 [NETFILTER]: nf_conntrack: split out protocol handling This patch splits out L3/L4 protocol handling into its own file nf_conntrack_proto.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit f61801218a58381f498ae5c38ae3eae0bc73e976 Author: Martin Josefsson Date: Wed Nov 29 02:35:01 2006 +0100 [NETFILTER]: nf_conntrack: split out the event cache This patch splits out the event cache into its own file nf_conntrack_ecache.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 7e5d03bb9d2b96fdeab0cb0c98b93e6cf7130c96 Author: Martin Josefsson Date: Wed Nov 29 02:34:59 2006 +0100 [NETFILTER]: nf_conntrack: split out helper handling This patch splits out handling of helpers into its own file nf_conntrack_helper.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit 77ab9cff0f4112703df3ef7903c1a15adb967114 Author: Martin Josefsson Date: Wed Nov 29 02:34:58 2006 +0100 [NETFILTER]: nf_conntrack: split out expectation handling This patch splits out expectation handling into its own file nf_conntrack_expect.c Signed-off-by: Martin Josefsson Signed-off-by: Patrick McHardy commit d2e4bdc8704b0e711c5046a430bfd1681b0bd5a9 Author: David S. Miller Date: Tue Nov 28 14:37:38 2006 -0800 [TCP] Vegas: Increase default alpha to 2 and beta to 4. This helps Vegas cope better with delayed ACKs, see analysis at: http://www.cs.caltech.edu/%7Eweixl/technical/ns2linux/known_linux/index.html#vegas Signed-off-by: David S. Miller commit 6b57c93dc3aa0115b589cb89ef862d46ab9bd95e Author: Gerrit Renker Date: Tue Nov 28 19:55:06 2006 -0200 [DCCP]: Use `unsigned' for packet lengths This patch implements a suggestion by Ian McDonald and 1) Avoids tests against negative packet lengths by using unsigned int for packet payload lengths in the CCID send_packet()/packet_sent() routines 2) As a consequence, it removes an now unnecessary test with regard to `len > 0' in ccid3_hc_tx_packet_sent: that condition is always true, since * negative packet lengths are avoided * ccid3_hc_tx_send_packet flags an error whenever the payload length is 0. As a consequence, ccid3_hc_tx_packet_sent is never called as all errors returned by ccid_hc_tx_send_packet are caught in dccp_write_xmit 3) Removes the third argument of ccid_hc_tx_send_packet (the `len' parameter), since it is currently always set to skb->len. The code is updated with regard to this parameter change. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit a79ef76f4d8424324c2f108824a7398571193f43 Author: Gerrit Renker Date: Tue Nov 28 19:51:42 2006 -0200 [DCCP] ccid3: Larger initial windows This implements the larger-initial-windows feature for CCID 3, as described in section 5 of RFC 4342. When the first feedback packet arrives, the sender can send up to 2..4 packets per RTT, instead of just one. The patch further * reduces the number of timestamping calls by passing the timestamp value (which is computed in one of the calling functions anyway) as argument * renames one constant with a very long name into one which is shorter and resembles the one in RFC 3448 (t_mbi) * simplifies some of the min_t/max_t cases where both `x', `y' have the same type Commiter note: renamed TFRC_t_mbi to TFRC_T_MBI, to follow Linux coding style. Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 841bac1d607d8bf2e068e4b24393fb77372814e3 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 19:42:03 2006 -0200 [DCCP]: Make {set,get}sockopt(DCCP_SOCKOPT_PACKET_SIZE) return 0 To reflect the fact that this now is of no effect, not making apps stop working, just be warned in the system log. Signed-off-by: Arnaldo Carvalho de Melo commit 5aed324369c94a2c38469c8288e42eb1a9fac400 Author: Gerrit Renker Date: Tue Nov 28 19:33:36 2006 -0200 [DCCP]: Tidy up unused structures This removes and cleans up unused variables and structures which have become unnecessary following the introduction of the EWMA patch to automatically track the CCID 3 receiver/sender packet sizes `s'. It deprecates the PACKET_SIZE socket option by returning an error code and printing a deprecation warning if an application tries to read or write this socket option. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 78ad713da673a2977763521c347176137f3e493f Author: Gerrit Renker Date: Tue Nov 28 19:22:33 2006 -0200 [DCCP] ccid3: Track RX/TX packet size `s' using moving-average Problem: commit 2a1fda6f6c01d7ac195c040f14edcf9f64a5451e Author: Gerrit Renker Date: Tue Nov 28 18:34:34 2006 -0200 [DCCP] ccid3: Set NoFeedback Timeout according to RFC 3448 This corrects the setting of the nofeedback timer with regard to RFC 3448 - previously it was not set to max(4*R, 2*s/X) as specified. Using the maximum of 1 second as upper bound (as it was done before) can have detrimental effects, especially if R is small. Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 4384260443efe90a2ec0d907568dbc58ae792cd0 Author: Gerrit Renker Date: Tue Nov 28 18:14:10 2006 -0200 [DCCP]: Remove allocation of sysctl numbers This is in response to a request sent earlier by Eric W. Biederman and replaces all sysctl numbers for net.dccp.default with CTL_UNNUMBERED. It has been tested to compile and to work. Commiter note: I've removed the use of CTL_UNNUMBERED, not setting .ctl_name sets it to 0, that is the what CTL_UNNUMBERED is, reason is to avoid unneeded source code cluttering. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ee41e2dff1a0ac548f12871f4bb23fe9e69e13eb Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 03:11:33 2006 -0200 [INET]: Change protocol field in struct inet_protosw to u16 [acme@newtoy net-2.6.20]$ pahole /tmp/tcp_ipv6.o inet_protosw /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/protocol.h:69 */ struct inet_protosw { struct list_head list; /* 0 8 */ short unsigned int type; /* 8 2 */ /* XXX 2 bytes hole, try to pack */ int protocol; /* 12 4 */ struct proto * prot; /* 16 4 */ const struct proto_ops * ops; /* 20 4 */ int capability; /* 24 4 */ char no_check; /* 28 1 */ unsigned char flags; /* 29 1 */ }; /* size: 32, sum members: 28, holes: 1, sum holes: 2, padding: 2 */ So that we can kill that hole, protocol can only go all the way to 255 (RAW). Signed-off-by: Arnaldo Carvalho de Melo commit 3a137d2065571864be0301b9ebd72ddb01060997 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 01:12:38 2006 -0200 [TCP]: Renove the __ prefix on the struct tcp_sock members As this struct is not userland visible at all. Signed-off-by: Arnaldo Carvalho de Melo commit 2ff52f282cf287d60e9eda1f3b5ec83e00a86130 Author: Arnaldo Carvalho de Melo Date: Tue Nov 28 00:48:32 2006 -0200 [TCP]: Change tcp_header_len member in tcp_sock to u16 With this we eliminate the last hole in struct tcp_sock. End result: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct tcp_sock | -4 tcp_header_len; from: int /* 1000(0) 4(0) */ to: u16 /* 1000(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Now sizeof(tcp_sock) is just... [acme@newtoy net-2.6.20]$ pahole --sizes ../OUTPUT/qemu/net-2.6.20/net/ipv4/tcp.o | grep -w tcp_sock struct tcp_sock: 1500 0 1500 bytes ;-) Signed-off-by: Arnaldo Carvalho de Melo commit 5d0dbc4a9b2d325458dcbf9a8329bd1d2cc7bd7e Author: Gerrit Renker Date: Mon Nov 27 20:32:37 2006 -0200 [DCCP] ccid3: Consolidate handling of t_RTO This patch * removes setting t_RTO in ccid3_hc_tx_init (per [RFC 3448, 4.2], t_RTO is undefined until feedback has been received); * makes some trivial changes (updates of comments); * performs a small optimisation by exploiting that the feedback timeout uses the value of t_ipi. The way it is done is safe, because the timeouts appear after the changes to t_ipi, ensuring that up-to-date values are used; * in ccid3_hc_tx_packet_recv, moves the t_rto statement closer to the calculation of the next_tmout. This makes the code clearer to read and is also safe, since t_rto is not updated until the next call of ccid3_hc_tx_packet_recv, and is not read by the functions called via ccid_wait_for_ccid(); * removes a `max' statement in sk_reset_timer, this is not needed since the timeout value is always greater than 1E6 microseconds. * adds `XXX'es to highlight that currently the nofeedback timer is set in a non-standard way Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 17893bc1a632e195574dc0dd9751243f0d5993d2 Author: Gerrit Renker Date: Mon Nov 27 20:31:33 2006 -0200 [DCCP] ccid3: Consistently update t_nom, t_ipi, t_delta This patch: * consolidates updating of parameters (t_nom, t_ipi, t_delta) which need to be updated at the same time, since they are inter-dependent * removes two inline functions which are no longer needed as a result of the above consolidation * resolves a FIXME regarding the re-calculation of t_ipi within the nofeedback timer, in the state where no feedback has previously been received * ties updating these parameters to updating the sending rate X, exploiting that all three parameters in turn depend on X; and using a small optimisation which can reduce the number of required instructions: only update the three parameters when X really changes Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 48e03eee715b9e19df03153f2bcce6413632afcb Author: Gerrit Renker Date: Mon Nov 27 20:29:27 2006 -0200 [DCCP] ccid3: Consolidate timer resets This patch concerns updating the value of the nofeedback timer when no feedback has been received so far. Since in this case the value of R is still undefined according to [RFC 3448, 4.2], we can not perform step (3) of [RFC 3448, 4.3]. A clarification is provided in [RFC 4342, sec. 5], which states that in these cases the nofeedback timer (still) expires "after two seconds". Many thanks to Ian McDonald for pointing this out and providing the clarification. The patch * implements [RFC 4342, sec. 5] with regard to the above case * consolidates handling timer restart by - adding an appropriate jump label and - initialising the timeout value Acked-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b798a9ede2b2434b9cbf0f3aee3e8598586fa89c Author: Jamal Hadi Salim Date: Mon Nov 27 12:59:30 2006 -0800 [XFRM]: Convert a few __u8 to proper u8 Caught by the EyeBalls(tm) of Thomas Graf Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 0c51f53c57c5584508dfae7110db5caccfd499c6 Author: Jamal Hadi Salim Date: Mon Nov 27 12:58:20 2006 -0800 [XFRM]: Make flush notifier prettier when subpolicy used Might as well make flush notifier prettier when subpolicy used Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 46ca5f5dc4f1c9b5ac02c0090ae8ff4ac8560446 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:58:59 2006 -0200 [XFRM]: Pack struct xfrm_policy [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o xfrm_policy /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/security.h:67 */ struct xfrm_policy { struct xfrm_policy * next; /* 0 4 */ struct hlist_node bydst; /* 4 8 */ struct hlist_node byidx; /* 12 8 */ rwlock_t lock; /* 20 36 */ atomic_t refcnt; /* 56 4 */ struct timer_list timer; /* 60 24 */ u8 type; /* 84 1 */ /* XXX 3 bytes hole, try to pack */ u32 priority; /* 88 4 */ u32 index; /* 92 4 */ struct xfrm_selector selector; /* 96 56 */ struct xfrm_lifetime_cfg lft; /* 152 64 */ struct xfrm_lifetime_cur curlft; /* 216 32 */ struct dst_entry * bundles; /* 248 4 */ __u16 family; /* 252 2 */ __u8 action; /* 254 1 */ __u8 flags; /* 255 1 */ __u8 dead; /* 256 1 */ __u8 xfrm_nr; /* 257 1 */ /* XXX 2 bytes hole, try to pack */ struct xfrm_sec_ctx * security; /* 260 4 */ struct xfrm_tmpl xfrm_vec[6]; /* 264 360 */ }; /* size: 624, sum members: 619, holes: 2, sum holes: 5 */ So lets have just one hole instead of two, by moving 'type' to just before 'action', end result: [acme@newtoy net-2.6.20]$ codiff -s /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct xfrm_policy | -4 1 struct changed [acme@newtoy net-2.6.20]$ [acme@newtoy net-2.6.20]$ pahole -c 64 net/ipv4/tcp.o xfrm_policy /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/security.h:67 */ struct xfrm_policy { struct xfrm_policy * next; /* 0 4 */ struct hlist_node bydst; /* 4 8 */ struct hlist_node byidx; /* 12 8 */ rwlock_t lock; /* 20 36 */ atomic_t refcnt; /* 56 4 */ struct timer_list timer; /* 60 24 */ u32 priority; /* 84 4 */ u32 index; /* 88 4 */ struct xfrm_selector selector; /* 92 56 */ struct xfrm_lifetime_cfg lft; /* 148 64 */ struct xfrm_lifetime_cur curlft; /* 212 32 */ struct dst_entry * bundles; /* 244 4 */ u16 family; /* 248 2 */ u8 type; /* 250 1 */ u8 action; /* 251 1 */ u8 flags; /* 252 1 */ u8 dead; /* 253 1 */ u8 xfrm_nr; /* 254 1 */ /* XXX 1 byte hole, try to pack */ struct xfrm_sec_ctx * security; /* 256 4 */ struct xfrm_tmpl xfrm_vec[6]; /* 260 360 */ }; /* size: 620, sum members: 619, holes: 1, sum holes: 1 */ Are there any fugly data dependencies here? None that I know. In the process changed the removed the __ prefixed types, that are just for userspace visible headers. Signed-off-by: Arnaldo Carvalho de Melo commit d5c42c0ec4f7fd5a4e19e33a2d561758b67c55c8 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:58:02 2006 -0200 [NET]: Pack struct hh_cache [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o hh_cache /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/linux/netdevice.h:190 */ struct hh_cache { struct hh_cache * hh_next; /* 0 4 */ atomic_t hh_refcnt; /* 4 4 */ __be16 hh_type; /* 8 2 */ /* XXX 2 bytes hole, try to pack */ int hh_len; /* 12 4 */ int (*hh_output)(); /* 16 4 */ rwlock_t hh_lock; /* 20 36 */ long unsigned int hh_data[24]; /* 56 96 */ }; /* size: 152, sum members: 150, holes: 1, sum holes: 2 */ [acme@newtoy net-2.6.20]$ find net -name "*.[ch]" | xargs grep 'hh_len.\+=' | sort -u net/atm/br2684.c: hh->hh_len = PADLEN + ETH_HLEN; net/ethernet/eth.c: hh->hh_len = ETH_HLEN; net/ipv4/ipconfig.c: int hh_len = LL_RESERVED_SPACE(dev); net/ipv4/ip_output.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv4/ip_output.c: int hh_len = LL_RESERVED_SPACE(dev); net/ipv4/netfilter.c: hh_len = (*pskb)->dst->dev->hard_header_len; net/ipv4/raw.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv6/ip6_output.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); net/ipv6/netfilter/ip6t_REJECT.c: hh_len = (dst->dev->hard_header_len + 15)&~15; net/ipv6/raw.c: hh_len = LL_RESERVED_SPACE(rt->u.dst.dev); [acme@newtoy net-2.6.20]$ [acme@newtoy net-2.6.20]$ find include -name "*.h" | xargs grep 'define ETH_HLEN' include/linux/if_ether.h:#define ETH_HLEN 14 /* Total octets in header. */ (((dev)->hard_header_len&~(HH_DATA_MOD - 1)) + HH_DATA_MOD) [acme@newtoy net-2.6.20]$ pahole net/ipv4/tcp.o net_device | grep hard_header_len short unsigned int hard_header_len; /* 106 2 */ [acme@newtoy net-2.6.20]$ So I think we're safe in turning hh_len an u16, end result: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp.o.before net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: struct hh_cache | -4 hh_len; from: int /* 12(0) 4(0) */ to: u16 /* 10(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 850db6b8c53ff12eadee9ef2aa69360c06bce057 Author: Arnaldo Carvalho de Melo Date: Mon Nov 27 17:56:43 2006 -0200 [INET_CONNECTION_SOCK]: Pack struct inet_connection_sock_af_ops We have a hole in: [acme@newtoy net-2.6.20]$ pahole net/ipv6/tcp_ipv6.o inet_connection_sock_af_ops /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/inet_connection_sock.h:38 */ struct inet_connection_sock_af_ops { int (*queue_xmit)(); /* 0 4 */ void (*send_check)(); /* 4 4 */ int (*rebuild_header)(); /* 8 4 */ int (*conn_request)(); /* 12 4 */ struct sock * (*syn_recv_sock)(); /* 16 4 */ int (*remember_stamp)(); /* 20 4 */ __u16 net_header_len; /* 24 2 */ /* XXX 2 bytes hole, try to pack */ int (*setsockopt)(); /* 28 4 */ int (*getsockopt)(); /* 32 4 */ int (*compat_setsockopt)(); /* 36 4 */ int (*compat_getsockopt)(); /* 40 4 */ void (*addr2sockaddr)(); /* 44 4 */ int sockaddr_len; /* 48 4 */ }; /* size: 52, sum members: 50, holes: 1, sum holes: 2 */ But we don't need sockaddr_len to be an int: [acme@newtoy net-2.6.20]$ find net -name "*.[ch]" | xargs grep '\.sockaddr_len.\+=' | sort -u net/dccp/ipv4.c: .sockaddr_len = sizeof(struct sockaddr_in), net/dccp/ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/ipv4/tcp_ipv4.c: .sockaddr_len = sizeof(struct sockaddr_in), net/ipv6/tcp_ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/sctp/ipv6.c: .sockaddr_len = sizeof(struct sockaddr_in6), net/sctp/protocol.c: .sockaddr_len = sizeof(struct sockaddr_in), [acme@newtoy net-2.6.20]$ pahole --sizes net/ipv6/tcp_ipv6.o | grep sockaddr_in struct sockaddr_in: 16 0 struct sockaddr_in6: 28 0 [acme@newtoy net-2.6.20]$ So I turned sockaddr_len a 'u16', and now: [acme@newtoy net-2.6.20]$ pahole net/ipv6/tcp_ipv6.o inet_connection_sock_af_ops /* /pub/scm/linux/kernel/git/acme/net-2.6.20/include/net/inet_connection_sock.h:38 */ struct inet_connection_sock_af_ops { int (*queue_xmit)(); /* 0 4 */ void (*send_check)(); /* 4 4 */ int (*rebuild_header)(); /* 8 4 */ int (*conn_request)(); /* 12 4 */ struct sock * (*syn_recv_sock)(); /* 16 4 */ int (*remember_stamp)(); /* 20 4 */ u16 net_header_len; /* 24 2 */ u16 sockaddr_len; /* 26 2 */ int (*setsockopt)(); /* 28 4 */ int (*getsockopt)(); /* 32 4 */ int (*compat_setsockopt)(); /* 36 4 */ int (*compat_getsockopt)(); /* 40 4 */ void (*addr2sockaddr)(); /* 44 4 */ }; /* size: 48 */ So we've saved 4 bytes: [acme@newtoy net-2.6.20]$ codiff -sV /tmp/tcp_ipv6.o.before net/ipv6/tcp_ipv6.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/tcp_ipv6.c: struct inet_connection_sock_af_ops | -4 net_header_len; from: __u16 /* 24(0) 2(0) */ to: u16 /* 24(0) 2(0) */ sockaddr_len; from: int /* 48(0) 4(0) */ to: u16 /* 26(0) 2(0) */ 1 struct changed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 4c0a6cb0db19de411c4bf7fcdc79d4c7c4ccafb1 Author: Gerrit Renker Date: Mon Nov 27 09:29:59 2006 -0800 [UDP(-Lite)]: consolidate v4 and v6 get|setsockopt code This patch consolidates set/getsockopt code between UDP(-Lite) v4 and 6. The justification is that UDP(-Lite) is a transport-layer protocol and therefore the socket option code (at least in theory) should be AF-independent. Furthermore, there is the following code reduplication: * do_udp{,v6}_getsockopt is 100% identical between v4 and v6 * do_udp{,v6}_setsockopt is identical up to the following differerence --v4 in contrast to v4 additionally allows the experimental encapsulation types UDP_ENCAP_ESPINUDP and UDP_ENCAP_ESPINUDP_NON_IKE --the remainder is identical between v4 and v6 I believe that this difference is of little relevance. The advantages in not duplicating twice almost completely identical code. The patch further simplifies the interface of udp{,v6}_push_pending_frames, since for the second argument (struct udp_sock *up) it always holds that up = udp_sk(sk); where sk is the first function argument. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit e3703b3de1f049b38733ba520e5038f23063068e Author: Thomas Graf Date: Mon Nov 27 09:27:07 2006 -0800 [RTNETLINK]: Add rtnl_put_cacheinfo() to unify some code IPv4, IPv6, and DECNet all use struct rta_cacheinfo in a similiar way, therefore rtnl_put_cacheinfo() is added to reuse code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 4e9b82693542003b028c8494e9e3c49615b91ce7 Author: Thomas Graf Date: Mon Nov 27 09:25:58 2006 -0800 [NETLINK]: Remove unused dst_pid field in netlink_skb_parms The destination PID is passed directly to netlink_unicast() respectively netlink_multicast(). Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit d61c167dd0797a16584f7a922dd5d50efad1d28a Author: Gerrit Renker Date: Mon Nov 27 12:31:45 2006 -0200 [NET]: Add documentation for TFRC structures This adds documentation for the TFRC structure fields. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 5e19e3fcd7351de1ca87c4797cca27ba55c7e55e Author: Gerrit Renker Date: Mon Nov 27 12:28:48 2006 -0200 [DCCP] ccid3: Resolve small FIXME This considers the case - ACK received while no packet has been sent so far. Resolved by printing a (rate-limited) warning message. Further removes an unnecessary BUG_ON in ccid3_hc_tx_packet_recv, received feedback on a terminating connection is simply ignored. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 70dbd5b0ef3915f1e018e6437c8db9e999b0d701 Author: Gerrit Renker Date: Mon Nov 27 12:27:55 2006 -0200 [DCCP] ccid3: Remove redundant statements in ccid3_hc_tx_packet_sent This patch removes a switch statement which is redundant since, * nothing is done in states TFRC_SSTATE_NO_SENT/TFRC_SSTATE_NO_FBACK * it is impossible that the function is called in the state TFRC_SSTATE_TERM, since --the function is called, in dccp_write_xmit, after ccid3_hc_tx_send_packet --if ccid3_hc_tx_send_packet is called in state TFRC_SSTATE_TERM, it returns -EINVAL, which means that ccid3_hc_tx_packet_sent will not be called (compare dccp_write_xmit) --> therefore, this case is logically impossible * the remaining state is TFRC_SSTATE_FBACK which conditionally updates t_ipi, t_nom, and t_delta. This is a no-op, since --t_ipi only changes when feedback is received --however, when feedback arrives via ccid3_hc_tx_packet_recv, there is an identical code block which performs the same set of operations --performing the same set of operations again in ccid3_hc_tx_packet_sent therefore does not change anything, since between the time of receiving the last feedback (and therefore update of t_ipi, t_nom, and t_delta), the value of t_ipi has not changed --since t_ipi has not changed, the values of t_delta and t_nom also do not change, they depend fully on t_ipi Signed-off-by: Gerrit Renker Acked-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit da335baf9e788edfb00ee3b96f7b9526b6b2f8a9 Author: Gerrit Renker Date: Mon Nov 27 12:26:57 2006 -0200 [DCCP] ccid3: Avoid congestion control on zero-sized data packets This resolves an `XXX' in ccid3_hc_tx_send_packet(). The function is only called on Data and DataAck packets and returns a negative result on zero-sized messages. This is a reasonable policy since CCID 3 is a congestion-control module and congestion control on zero-sized Data(Ack) packets is in a way pathological. The patch uses a more suitable error code for this case, it returns the Posix.1 code `EBADMSG' ("Not a data message") instead of `ENOTCONN'. As a result of ignoring zero-sized packets, a the condition for a warning "First packet is data" in ccid3_hc_tx_packet_sent is always satisfied; this message has been removed since it will always be printed. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 7da7f456d7bc0e52009f882e8af0ac910293e157 Author: Gerrit Renker Date: Mon Nov 27 12:26:03 2006 -0200 [DCCP] ccid3: Simplify control flow of ccid3_hc_tx_send_packet This makes some logically equivalent simplifications, by replacing rc - values plus goto's with direct return statements. Signed-off-by: Gerrit Renker Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 91cf5a17257e1d2ef936fbf0223c3436ca583af9 Author: Gerrit Renker Date: Mon Nov 27 12:25:10 2006 -0200 [DCCP] ccid3: Fix calculation of t_ipi time of scheduled transmission Problem: commit f5c2d6367b04fd5ba98a5f9846b5fb870423968a Author: Gerrit Renker Date: Mon Nov 27 12:22:48 2006 -0200 [DCCP] ccid3: Simplify control flow in the calculation of t_ipi This patch performs a simplifying (performance) optimisation: In each call of the inline function ccid3_calc_new_t_ipi(), the state is tested against TFRC_SSTATE_NO_FBACK. This is expensive when the function is called very often. A simpler solution, implemented by this patch, is to adapt the control flow. Background: commit 90feeb951f61a80d3a8f8e5ced25b9ec78867eaf Author: Gerrit Renker Date: Mon Nov 27 12:13:38 2006 -0200 [DCCP] ccid3: Fix bug in calculation of first t_nom and first t_ipi Problem: commit 6472c051fcc5e571a9abee7f7a1ac58cc6e7bafa Author: Andrea Bittau Date: Sun Nov 26 01:07:50 2006 -0200 [DCCP] ccid2: Allow window to grow larger Now that we can stuff bigger ack vectors into options. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 522f1d095bf76dbe2430fb9a9a257c0f27033f31 Author: Andrea Bittau Date: Sun Nov 26 01:04:40 2006 -0200 [DCCP] ackvec: Split long ack vectors across multiple options Ack vectors grow proportional to the window size. If an ack vector does not fit into a single option, it must be spread across multiple options. This patch will allow for windows to grow larger. Committer note: Simplified the patch a bit, original algorithm kept. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit bdf13d208dee4ada6d2b422536a12b45d5831aa3 Author: Andrea Bittau Date: Fri Nov 24 13:02:42 2006 -0200 [DCCP] ackvec: infrastructure for sending more than one ackvec per packet Commiter note: This was split from Andrea's original patch, in the process I changed the type of the ackvec index fields to u16 instead of to int and haven't folded dccp_ackvec_parse with dccp_ackvec_check_rcv_ackno. Next patch will actually do the insertion of more than one ackvec per packet, using, initially, up to a max of 2 ackvecs as per Andrea's original patch, then I'll work on support for larger ackvecs, be it using a sysctl or using setsockopt. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 0bd4ff1b1528a39b07aab6c744ac37e053740ad0 Author: Andrea Bittau Date: Tue Nov 21 16:17:10 2006 -0200 [DCCP] ackvec: Remove unused dccpav_ack_ptr field from dccp_ackvec Commiter note: original patch was splitted. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 4a89c2562cb81c24c515b9de041aced4d21cb6d1 Author: Thomas Graf Date: Fri Nov 24 17:14:51 2006 -0800 [DECNET] address: Convert to new netlink interface Extends the netlink interface to support the __le16 type and converts address addition, deletion and, dumping to use the new netlink interface. Fixes multiple occasions of possible illegal memory references due to not validated netlink attributes. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit b020b942cdc238e9761cb38598eda6691c366d68 Author: Thomas Graf Date: Fri Nov 24 17:14:31 2006 -0800 [DECNET] address: Rename rtmsg_ifa() to dn_ifaddr_notify() The name rtmsg_ifa is heavly overused and confusing. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a6f01cace3a6532c6f22d8e2fdefed3632ea61b2 Author: Thomas Graf Date: Fri Nov 24 17:14:07 2006 -0800 [DECNET] address: Calculate accurate message size for netlink notifications Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 107a5fe6191249878de0de42bb64d3c35be1a986 Author: Ville Nuorvala Date: Fri Nov 24 17:08:58 2006 -0800 [IPV6]: Improve IPv6 tunnel error reporting Log an error if the remote tunnel endpoint is unable to handle tunneled packets. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 6fb32ddeb2502292bb89e17f58600ce265598ed7 Author: Ville Nuorvala Date: Fri Nov 24 17:08:32 2006 -0800 [IPV6]: Don't allocate memory for Tunnel Encapsulation Limit Option Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 305d4b3ce8c2f00643edc3bb19f005f72e8f84fc Author: Ville Nuorvala Date: Fri Nov 24 17:06:53 2006 -0800 [IPV6]: Allow link-local tunnel endpoints Allow link-local tunnel endpoints if the underlying link is defined. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 09c6bbf090ecb52c8d670fa4d5730be134a8ec8b Author: Ville Nuorvala Date: Fri Nov 24 17:06:27 2006 -0800 [IPV6]: Do mandatory IPv6 tunnel endpoint checks in realtime Doing the mandatory tunnel endpoint checks when the tunnel is set up isn't enough as interfaces can go up or down and addresses can be added or deleted after this. The checks need to be done realtime when the tunnel is processing a packet. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit 567131a722ca064c917c0b06e4bcf07d47602103 Author: Ville Nuorvala Date: Fri Nov 24 17:05:41 2006 -0800 [IPV6]: Fix SIOCCHGTUNNEL bug in IPv6 tunnels A logic bug in tunnel lookup could result in duplicate tunnels when changing an existing device. Signed-off-by: Ville Nuorvala Signed-off-by: David S. Miller commit e94ef682053a6eeca91aefdaecf8efe7fd7e33a5 Author: Thomas Graf Date: Thu Nov 23 11:44:37 2006 -0800 [GENETLINK] ctrl: Avoid empty CTRL_ATTR_OPS attribute when dumping Based on Jamal's patch but compiled and even tested. :-) Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit cdbc6dae5cc90d7d9e109e7d0568979d5355b653 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:22:51 2006 -0200 [XFRM]: Use kmemdup where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit 2710b57ff9b1437cfbe96b23ae86fedf3239f1ca Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:22:12 2006 -0200 [TIPC]: Use kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit e69062b4f728dca01ec1a9eb4ed55b73a374f164 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:21:34 2006 -0200 [SUNRPC]: Use k{mem,str}dup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit af997d8c9568d556cd0a362d56de9fb14a6a012a Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:20:33 2006 -0200 [SCTP]: Use kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit c7b1b24978d89efab7d420bbdc9557dbe6259c89 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:19:40 2006 -0200 [SCHED]: Use kmemdup & kzalloc where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit b3ab09f9e1681916df349d54232fbb3f8a79bfa5 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:18:33 2006 -0200 [IRDA]: Use kmemdup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 8b2ed4bba45b7ca8e378d45f82f3f32f651e0a42 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:17:18 2006 -0200 [IPVS]: Use kmemdup where appropriate Signed-off-by: Arnaldo Carvalho de Melo commit e6b61105f6b06a1d6bb35d2a0978cf91106808b8 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:16:24 2006 -0200 [DECNET]: Use kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo commit b1a98bf685e26f1a0b509d6f0f6bd8f7764303a5 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:15:32 2006 -0200 [NET] neighbour: Use kmemdup where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 2afe37cdffa96f69c9096e6d4a10a275c9c7d2c9 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:14:33 2006 -0200 [ATM]: Use kmemdup & kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo commit 66625984ca94552f75836596e0e83f3e5594bd58 Author: Al Viro Date: Mon Nov 20 18:08:37 2006 -0800 [CIPSO]: Missing annotation in cipso_ipv4 update. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5e57dff2c49956e24f27f9b6d2ec0db967680c39 Author: Al Viro Date: Mon Nov 20 18:08:13 2006 -0800 [NETPOLL]: Another udp checksum mangling. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 66c6f529c31e2886536aad4b2320d566deb1f150 Author: Al Viro Date: Mon Nov 20 18:07:51 2006 -0800 [NET]: net/sched annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ff1dcadb1b55dbf471c5ed109dbbdf06bd19ef3b Author: Al Viro Date: Mon Nov 20 18:07:29 2006 -0800 [NET]: Split skb->csum ... into anonymous union of __wsum and __u32 (csum and csum_offset resp.) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5b14027bf2132c0631ea9f3be11ced89a5057220 Author: Al Viro Date: Mon Nov 20 18:06:59 2006 -0800 [NETFILTER]: ip_nat_snmp_basic annotations. ... and switch the damn checksum update to something saner Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8e5200f54062b8af0ed1d186ea0f113854786d89 Author: Al Viro Date: Mon Nov 20 18:06:37 2006 -0800 [NET]: Fix assorted misannotations (from md5 and udplite merges). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 34bcca28335977e969338c98c6c43a1e08f592b2 Author: Al Viro Date: Mon Nov 20 17:27:15 2006 -0800 [SCTP]: Even more trivial sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2178eda82616566b7397791afa6e5487990bac8e Author: Al Viro Date: Mon Nov 20 17:26:53 2006 -0800 [SCTP]: SCTP_CMD_PROCESS_CTSN annotations. argument passed as __be32 Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9f81bcd9429e9bb4006eb9b7df276706c5df926d Author: Al Viro Date: Mon Nov 20 17:26:34 2006 -0800 [SCTP]: More trivial sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 962c837275e8a8c1df41f1882e971636093cdee4 Author: Al Viro Date: Mon Nov 20 17:26:08 2006 -0800 [SCTP]: Netfilter sctp annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3dbe86566ed262dae3b5472b9360cb5b65d42716 Author: Al Viro Date: Mon Nov 20 17:25:49 2006 -0800 [SCTP]: Annotate ->supported_addrs(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e1857ea28dc76e2a929d1fff4d5d5cf712f12f4e Author: Al Viro Date: Mon Nov 20 17:25:32 2006 -0800 [SCTP]: sctp_association ->peer.i is a host-endian analog of sctp_inthdr. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dce116ae86cb224a9dad787e91fb552dae67b2e8 Author: Al Viro Date: Mon Nov 20 17:25:15 2006 -0800 [SCTP]: Get rid of the last remnants of sin_port flipping. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6fbfa9f951878ab489147d9e459191d4aacfa819 Author: Al Viro Date: Mon Nov 20 17:24:53 2006 -0800 [SCTP]: Annotate ->inaddr_any(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c9c938cb050e6d45088c5c39e4097742e875c496 Author: Al Viro Date: Mon Nov 20 17:24:36 2006 -0800 [SCTP]: flip_to_{h,n}() are not needed anymore. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7dcdbd9579c944bb833f95a7f276d01f49161734 Author: Al Viro Date: Mon Nov 20 17:24:21 2006 -0800 [SCTP]: Don't bother setting sin_port in ->from_sk(). ... the only caller will overwrite immediately Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 516b20ee2d4df76e7f76332e161a25c70e8f7bea Author: Al Viro Date: Mon Nov 20 17:24:02 2006 -0800 [SCTP]: ->a_h is gone now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9fd76494855c974e9079e9812ba5ecf88dedab38 Author: Al Viro Date: Mon Nov 20 17:23:46 2006 -0800 [SCTP]: ip6_send() doesn't need fl_ip_[sd]port. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7dd8a5821dd4991916c4eedf84e10fc2d0b47555 Author: Al Viro Date: Mon Nov 20 17:23:25 2006 -0800 [SCTP]: sctp_sf_send_restart_abort() is endian-agnostic. ... so caller can use ->ipaddr instead of ->ipaddr_h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8cec6b80664eb20b0c033fd20d2c7ed15621437f Author: Al Viro Date: Mon Nov 20 17:23:01 2006 -0800 [SCTP]: We need to be careful when copying to sockaddr_storage. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b3f5b3b6654422bb0a6ef745fe4d11a4f01d006a Author: Al Viro Date: Mon Nov 20 17:22:43 2006 -0800 [SCTP]: Trivial ->ipaddr_h -> ->ipaddr conversions. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 74af924ab6562717ef9aab1061ec05bbbf31d979 Author: Al Viro Date: Mon Nov 20 17:22:26 2006 -0800 [SCTP]: ->a_h is gone now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5ae955cffdb96190c2bd4f57313f5f147f87854b Author: Al Viro Date: Mon Nov 20 17:22:08 2006 -0800 [SCTP]: sctp_make_asconf_update_ip() and sctp_find_unmatch_addr(). ... switched to taking and returning pointers to net-endian sctp_addr resp. Together, since the only user of sctp_find_unmatch_addr() just passes its value to sctp_make_asconf_update_ip(). sctp_make_asconf_update_ip() is actually endian-agnostic. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6244be4e063075f6077f05e70f8fa1bf7f4a968e Author: Al Viro Date: Mon Nov 20 17:21:44 2006 -0800 [SCTP]: Trivial parts of a_h -> a switch. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 80f15d62418040e78849f5fc3a4a5af9c9d1fec7 Author: Al Viro Date: Mon Nov 20 17:14:23 2006 -0800 [SCTP]: ->source_h is not used anymore. kill it Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a926626893aca20567f27af1c5edc830e1c51b2b Author: Al Viro Date: Mon Nov 20 17:13:58 2006 -0800 [SCTP]: Switch all remaining users of ->saddr_h to ->saddr. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 16b0a030330d179427edffbeddaa5b7dc5b31196 Author: Al Viro Date: Mon Nov 20 17:13:38 2006 -0800 [SCTP]: Switch sctp_chunk ->dest to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d448388bdaca946aa2b07973cb72a9b834e530bf Author: Al Viro Date: Mon Nov 20 17:13:21 2006 -0800 [SCTP]: sctp_transport_route() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit cb7b4a0dcf67ae747406b58b1cdc875916019739 Author: Al Viro Date: Mon Nov 20 17:13:01 2006 -0800 [SCTP]: Pass net-endian to ->get_dst(). all instances are actually endian-agnostic... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d3f7a54a295f2ffc9033b425c6538a7e9d7fbe8a Author: Al Viro Date: Mon Nov 20 17:12:41 2006 -0800 [SCTP]: ->get_saddr() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6a1e5f335461567f593e88b218f1c06817cbd323 Author: Al Viro Date: Mon Nov 20 17:12:25 2006 -0800 [SCTP]: sctp_process_init() and sctp_source() switched to net-endian. both are done in one go since almost always we have result of the latter immediately passed to the former. Possibly non-obvious note: sctp_process_param() is endian-agnostic Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 02a8a4db3b38ad2dd8bcfcca41694e043e44d282 Author: Al Viro Date: Mon Nov 20 17:12:07 2006 -0800 [SCTP]: sctp_copy_one_addr() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6c7be55ca0c204473d07a030a03c49a7471b4508 Author: Al Viro Date: Mon Nov 20 17:11:50 2006 -0800 [SCTP]: sctp_has_association() switched to net-endian. Ditto for its only caller (sctp_endpoint_is_peeled_off) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit cd4ff034e3572679f7ff8f126469b3addd1a4fbc Author: Al Viro Date: Mon Nov 20 17:11:33 2006 -0800 [SCTP]: sctp_endpoint_lookup_assoc() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dd86d136f9feb72c52a5b07707affe80edbc8dda Author: Al Viro Date: Mon Nov 20 17:11:13 2006 -0800 [SCTP]: Switch ->from_addr_param() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5ab7b859ab58e3479a5a66e383ecd6bc447f6c1d Author: Al Viro Date: Mon Nov 20 17:10:38 2006 -0800 [SCTP]: Switch sctp_add_bind_addr() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 4bdf4b5fe22c26750c39fdd2939a5f33df0cc341 Author: Al Viro Date: Mon Nov 20 17:10:20 2006 -0800 [SCTP]: Switch sctp_assoc_add_peer() to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b488c7dd58f61e07b54e5d286c7b45c43dd52f1a Author: Al Viro Date: Mon Nov 20 17:10:03 2006 -0800 [SCTP]: sctp_transport_{init,new}() switched to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d55c41b115e74b30a3d1a61db806bd03bdd9dd6f Author: Al Viro Date: Mon Nov 20 17:09:40 2006 -0800 [SCTP]: Switch ->from_skb() to net-endian. All instances switched, callers updated. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9b1dfad011d409bc56476a81810342751645ee54 Author: Al Viro Date: Mon Nov 20 17:09:17 2006 -0800 [SCTP]: Switch sctp_cookie ->peer_addr to net-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f235fca389f23cd6c9e0f466611bb2d6a05ae758 Author: Al Viro Date: Mon Nov 20 17:09:01 2006 -0800 [SCTP]: sctp_init_addrs() switched to net-endian. Caller adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e2fccedb0136205d02e97a41851503e2b96d2a17 Author: Al Viro Date: Mon Nov 20 17:08:41 2006 -0800 [SCTP]: Switch sctp_assoc_is_match to net-endian. Along with it, statics in input.c that end up calling it (__sctp_lookup_association, sctp_lookup_association, __sctp_rcv_init_lookup, __sctp_rcv_lookup). Callers are adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1c7d1fc14974f44809b22521bd9796411d8ba440 Author: Al Viro Date: Mon Nov 20 17:08:09 2006 -0800 [SCTP]: Switch sctp_endpoint_is_match() to net-endian. The only caller (__sctp_rcv_lookup_endpoint()) also switched, its caller adjusted Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c9a08505ec0a0260fc94a823c014cc3970f72d25 Author: Al Viro Date: Mon Nov 20 17:07:48 2006 -0800 [SCTP]: Switch sctp_del_bind_addr() to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 63de08f45bb73a445edb482850f4cdccd84def48 Author: Al Viro Date: Mon Nov 20 17:07:25 2006 -0800 [SCTP]: Switch address inside the heartbeat opaque data to net-endian. Its only use happens on the same host, when it gets quoted back to us. So we are free to flip to net-endian and avoid extra PITA. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit be29681edfbad72167df735e243e8621840dca4f Author: Al Viro Date: Mon Nov 20 17:07:06 2006 -0800 [SCTP]: Switch sctp_assoc_lookup_paddr() to net-endian. Callers updated. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 38a03145efcdbbcc60465fdffc0546208a52daf8 Author: Al Viro Date: Mon Nov 20 17:06:45 2006 -0800 [SCTP]: sctp_assoc_del_peer() switched to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 854d43a465cc8ba8e501320b3bc27359d909da2f Author: Al Viro Date: Mon Nov 20 17:06:24 2006 -0800 [SCTP]: Annotate ->dst_saddr() switched to taking a pointer to net-endian sctp_addr and a net-endian port number. Instances and callers adjusted; interestingly enough, the only calls are direct calls of specific instances - the method is not used at all. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit acd2bc96e19535fcd74c6eb94532c19c817857bd Author: Al Viro Date: Mon Nov 20 17:06:04 2006 -0800 [SCTP]: Switch ->primary_addr to net-endian. Users adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7e1e4a2b9dcc63ac3328f786f9d98bde90c8fc6c Author: Al Viro Date: Mon Nov 20 17:05:43 2006 -0800 [SCTP]: Switch sctp_bind_addr_match() to net-endian. Callers adjusted. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5f242a13e8505e0f3efd3113da6e029f6e7dfa32 Author: Al Viro Date: Mon Nov 20 17:05:23 2006 -0800 [SCTP]: Switch ->cmp_addr() and sctp_cmp_addr_exact() to net-endian. instances of ->cmp_addr() are fine with switching both arguments to net-endian; callers other than in sctp_cmp_addr_exact() (both as ->cmp_addr(...) and direct calls of instances) adjusted; sctp_cmp_addr_exact() switched to net-endian itself and adjustment is done in its callers Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c604e368a477ed1f7dd532605a8f1990d2b128ee Author: Al Viro Date: Mon Nov 20 17:04:59 2006 -0800 [SCTP]: Pass net-endian to ->seq_dump_addr() No actual modifications of method instances are needed - they don't look at port numbers. Switch callers... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2a6fd78adec062f16f8662563115679e669efaca Author: Al Viro Date: Mon Nov 20 17:04:42 2006 -0800 [SCTP] embedded sctp_addr: net-endian mirrors Add sctp_chunk->source, sctp_sockaddr_entry->a, sctp_transport->ipaddr and sctp_transport->saddr, maintain them as net-endian mirrors of their host-endian counterparts. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 09ef7fecea40c5e4c0dfe35bed3f0ed8da554cf5 Author: Al Viro Date: Mon Nov 20 17:04:10 2006 -0800 [SCTP]: Beginning of conversion to net-endian for embedded sctp_addr. Part 1: rename sctp_chunk->source, sctp_sockaddr_entry->a, sctp_transport->ipaddr and sctp_transport->saddr (to ..._h) The next patch will reintroduce these fields and keep them as net-endian mirrors of the original (renamed) ones. Split in two patches to make sure that we hadn't forgotten any instanes. Later in the series we'll eliminate uses of host-endian variants (basically switching users to net-endian counterparts as we progress through that mess). Then host-endian ones will die. Other embedded host-endian sctp_addr will be easier to switch directly, so we leave them alone for now. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 30330ee00ce077de9d459c17125573ff618bd7a9 Author: Al Viro Date: Mon Nov 20 17:03:18 2006 -0800 [SCTP] bug: endianness problem in sctp_getsockopt_sctp_status() Again, invalid sockaddr passed to userland - host-endiand sin_port. Potential leak, again, but less dramatic than in previous case. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0906e20fa03afdb14faf7fd166bfe4ed67c8db55 Author: Al Viro Date: Mon Nov 20 17:03:01 2006 -0800 [SCTP] bug: sctp_assoc_control_transport() breakage a) struct sockaddr_storage * passed to sctp_ulpevent_make_peer_addr_change() actually points at union sctp_addr field in a structure. Then that sucker gets copied to userland, with whatever junk we might have there. b) it's actually having host-endian sin_port. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5c747f6efc03495635f129c8eb1dad0200ab183 Author: Al Viro Date: Mon Nov 20 17:02:40 2006 -0800 [SCTP] bug: sctp_find_unmatch_addr() compares net-endian to host-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 39940a48c42441da5e7428483ac515e822d52b1d Author: Al Viro Date: Mon Nov 20 17:02:22 2006 -0800 [SCTP] bug: sctp_assoc_lookup_laddr() is broken with ipv6. It expects (and gets) laddr with net-endian sin_port. And then it calls sctp_bind_addr_match(), which *does* care about port numbers in case of ipv6 and expects them to be host-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 04afd8b282d702bc122051751466000e9513ef96 Author: Al Viro Date: Mon Nov 20 17:02:01 2006 -0800 [SCTP]: Beginning of sin_port fixes. That's going to be a long series. Introduced temporary helpers doing copy-and-convert for sctp_addr; they are used to kill flip-in-place in global data structures and will be used to gradually push host-endian uses of sctp_addr out of existence. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dbc16db1e58da6c346ca3e63870c17b93fbed0f0 Author: Al Viro Date: Mon Nov 20 17:01:42 2006 -0800 [SCTP]: Trivial sctp endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 72f17e1c0984fbdb60abf245d81b947393910100 Author: Al Viro Date: Mon Nov 20 17:01:23 2006 -0800 [SCTP]: Annotate tsn_dups. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5be291fe2d0d76681190589f6480ce1e28c2406b Author: Al Viro Date: Mon Nov 20 17:01:06 2006 -0800 [SCTP]: SCTP_CMD_ASSOC_FAILED annotations. also always get __be16 protocol error; switch to SCTP_PERR() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit dc251b2b1c4bfea51903cb9fbc141a5b33f6aca7 Author: Al Viro Date: Mon Nov 20 17:00:44 2006 -0800 [SCTP]: SCTP_CMD_INIT_FAILED annotations. argument stored for SCTP_CMD_INIT_FAILED is always __be16 (protocol error). Introduced new field and accessor for it (SCTP_PERR()); switched to their use (from SCTP_U32() and .u32) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f94c0198dd98c2ca66a7a44e9ad310a3eb21ad31 Author: Al Viro Date: Mon Nov 20 17:00:25 2006 -0800 [SCTP]: sctp_stop_t1_and_abort() annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 63706c5c6fd07f58bed85d0aa031ffbce3a0385f Author: Al Viro Date: Mon Nov 20 17:00:05 2006 -0800 [SCTP]: sctp_make_op_error() annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5bf2db03908b9121805af3c76e3ac2d0759e199f Author: Al Viro Date: Mon Nov 20 16:59:45 2006 -0800 [SCTP]: Annotate sctp_init_cause(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f3ffaf14681e3cad61006873be8656ab41b793e0 Author: Al Viro Date: Mon Nov 20 16:59:12 2006 -0800 [SCTP]: Annotate SCTP headers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 89c89458152c4d387eeca6532b6e50780fc59f8b Author: Adrian Bunk Date: Mon Nov 20 16:56:48 2006 -0800 [IPV6] net/ipv6/sit.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 1459bb36b12ac52bde68d70e2ba7a6f1f2e8be17 Author: Jamal Hadi Salim Date: Mon Nov 20 16:51:22 2006 -0800 [XFRM]: Make copy_to_user_policy_type take a type Make copy_to_user_policy_type take a type instead a policy and fix its users to pass the type Signed-off-by: Jamal Hadi Salim Signed-off-by: David S. Miller commit 746859625d879688adb99f1e5e8108fea876d369 Author: Thomas Graf Date: Mon Nov 20 16:20:22 2006 -0800 [BRIDGE] netlink: Convert bridge netlink code to new netlink interface Removes dependency on buggy rta_buf, fixes a memory corruption bug due to a unvalidated netlink attribute, and simplifies the code. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 82e3ab9dbeebd5c8d5402ad1607d22086271a56d Author: Ian McDonald Date: Mon Nov 20 19:19:32 2006 -0200 [DCCP]: Adds the tx buffer sysctls This one got lost on the way from Ian to Gerrit to me, fix it. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 455431739ca2f4c7f02d0a5979559ac5a68a6f95 Author: Ian McDonald Date: Mon Nov 20 18:44:03 2006 -0200 [DCCP] CCID3: Remove non-referenced variable This removes a non-referenced variable. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit ddfe10b82455a5a524055fc606d1f1562d388dc8 Author: Ian McDonald Date: Mon Nov 20 18:42:45 2006 -0200 [DCCP]: Update Documentation This patch just updates DCCP documentation a bit. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e1b7441e803442828780a6d6d792643f79d5665b Author: Ian McDonald Date: Mon Nov 20 18:41:37 2006 -0200 [DCCP]: Make dccp_probe more portable This makes the code of the dccp_probe module more portable. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit 23ea8945f6be2287fec67c85abcf24736c1ded80 Author: Gerrit Renker Date: Mon Nov 20 18:40:42 2006 -0200 [CCID 3]: Add annotations for socket structures This adds documentation to the CCID 3 rx/tx socket fields, plus some minor re-formatting. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 59348b19efebfd6a8d0791ff81d207b16594c94b Author: Gerrit Renker Date: Mon Nov 20 18:39:23 2006 -0200 [DCCP]: Simplified conditions due to use of enum:8 states This reaps the benefit of the earlier patch, which changed the type of CCID 3 states to use enums, in that many conditions are now simplified and the number of possible (unexpected) values is greatly reduced. In a few instances, this also allowed to simplify pre-conditions; where care has been taken to retain logical equivalence. [DCCP]: Introduce a consistent BUG/WARN message scheme This refines the existing set of DCCP messages so that * BUG(), BUG_ON(), WARN_ON() have meaningful DCCP-specific counterparts * DCCP_CRIT (for severe warnings) is not rate-limited * DCCP_WARN() is introduced as rate-limited wrapper Using these allows a faster and cleaner transition to their original counterparts once the code has matured into a full DCCP implementation. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b1308dc015eb09cf094ca169296738a13ae049ad Author: Ian McDonald Date: Mon Nov 20 18:30:17 2006 -0200 [DCCP]: Set TX Queue Length Bounds via Sysctl Previously the transmit queue was unbounded. This patch: * puts a limit on transmit queue length and sends back EAGAIN if the buffer is full * sets the TX queue length to a sensible default * implements tx buffer sysctls for DCCP Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 56724aa434e9b4d73548021ede7a1474f533f3fe Author: Gerrit Renker Date: Mon Nov 20 18:28:09 2006 -0200 [DCCP]: Add CCID3 debug support to Kconfig This adds a CCID3 debug option to the configuration menu which is missing in Kconfig, but already used by the code. CCID 2 already provides such an entry. To enable debugging, set CONFIG_IP_DCCP_CCID3_DEBUG=y NOTE: The use of ccid3_{t,r}x_state_name is safe, since now only enum values can appear. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 84116716cc9404356f775443b460f76766f08f65 Author: Gerrit Renker Date: Mon Nov 20 18:26:03 2006 -0200 [DCCP]: enable debug messages also for static builds This patch * makes debugging (when configured) work both for static / module build * provides generic debugging macros for use in other DCCP / CCID modules * adds missing information about debug parameters to Kconfig * performs some code tidy-up Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit f123bc5f800d528e59684c7faffda88b4dd2d38c Author: Michael Chan Date: Sun Nov 19 14:15:31 2006 -0800 [BNX2]: Update version and rel date. Update version to 1.5.1. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bac0dff6cd194f7a28f7e840c9b6a7aa71c6ef97 Author: Michael Chan Date: Sun Nov 19 14:15:05 2006 -0800 [BNX2]: Add 5709 PCI ID. Add PCI ID and detection for 5709 copper and SerDes chips. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d43584c8bf851145ed7ec6d148916a01979040f4 Author: Michael Chan Date: Sun Nov 19 14:14:35 2006 -0800 [BNX2]: Download 5709 firmware. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 5793bfe19beaa3c804fa2d33af238bf51bf28211 Author: Michael Chan Date: Sun Nov 19 14:13:52 2006 -0800 [BNX2]: New firmware to support 5709 (part 4). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 123d19a3fa4a2c94f9154d04e5355304720020fd Author: Michael Chan Date: Sun Nov 19 14:13:23 2006 -0800 [BNX2]: New firmware to support 5709 (part 3). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit fc2a0bca102bab668badf2e5bfc3012441dd051f Author: Michael Chan Date: Sun Nov 19 14:12:55 2006 -0800 [BNX2]: New firmware to support 5709 (part 2). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit b6690cc2bd5e2831f971231a2ff8c4a74b06acc4 Author: Michael Chan Date: Sun Nov 19 14:12:28 2006 -0800 [BNX2]: New firmware to support 5709 (part 1). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 234754d5c1ef25bbc64631a420ba66eeb2904633 Author: Michael Chan Date: Sun Nov 19 14:11:41 2006 -0800 [BNX2]: Add 5709 reset and runtime code. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 59b47d8ad35b9858d63d6fd3db76e698e4a98f36 Author: Michael Chan Date: Sun Nov 19 14:10:45 2006 -0800 [BNX2]: Add 5709 init code. Add basic support to initialize the 5709 chip. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9052a840fffa2f565ed13e6ecd53fbe2532d51b9 Author: Michael Chan Date: Sun Nov 19 14:10:12 2006 -0800 [BNX2]: Add new 5709 registers (part 2). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 19cdeb794b7ef9e1f0e408777445bd76fe90e694 Author: Michael Chan Date: Sun Nov 19 14:09:48 2006 -0800 [BNX2]: Add new 5709 registers (part 1). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit af3ee519c5d6bebbda9bf0ca3b81bc50b4dd2163 Author: Michael Chan Date: Sun Nov 19 14:09:25 2006 -0800 [BNX2]: Re-organize firmware structures. Re-organize the firmware handling code and declarations a bit to make the code more compact. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a16dda0e67cea666fb7eb708ab1199892c4a1a13 Author: Michael Chan Date: Sun Nov 19 14:08:56 2006 -0800 [BNX2]: Remove udelay() in copper PHY code. Change a long udelay() in bnx2_setup_copper_phy() to msleep(). Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit f8dd064ee1bd62ef2cdb398cb9cdc8a8f112cb28 Author: Michael Chan Date: Sun Nov 19 14:08:29 2006 -0800 [BNX2]: Add 5708S parallel detection. Add code to parallel detect 1Gbps and 2.5Gbps link speeds. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 48b01e2d7c83d37321722f1cdd46193d4ca73b41 Author: Michael Chan Date: Sun Nov 19 14:08:00 2006 -0800 [BNX2]: Add bnx2_5706_serdes_timer(). Separate the 5706S SerDes handling code in bnx2_timer() and put it in a new function. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 80be44348e30b68d2d8c5b6d1b7e53f2c5659134 Author: Michael Chan Date: Sun Nov 19 14:07:28 2006 -0800 [BNX2]: Improve SerDes handling. 1. Add support for 2.5Gbps forced speed setting. 2. Remove a long udelay() loop and change to msleep(). 3. Other misc. SerDes fixes. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 7510873d8659f4192cb5b3327f748e401d216399 Author: Michael Chan Date: Sun Nov 19 14:06:40 2006 -0800 [BNX2]: Fix Xen problem. This fixes the problem of not receiving packets in the Xen bridging environment. The Xen script sets the device's MAC address to FE:FF:FF:FF:FF:FF and puts the device in promiscuous mode. The firmware had problem receiving all packets in this configuration. New firmware and setting the PROM_VLAN bit when in promiscuous mode will fix this problem. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit bb22f58087fdf8b617803c9b65bc86c6d26b5115 Author: James Morris Date: Fri Nov 17 23:01:03 2006 -0500 Compile fix for "peer secid consolidation for external network labeling" Use a forward declaration instead of dragging in skbuff.h and related junk. Signed-off-by: James Morris commit de64688ffb952a65ddbc5295ccd235d35f292593 Author: Paul Moore Date: Fri Nov 17 17:38:55 2006 -0500 NetLabel: honor the audit_enabled flag The audit_enabled flag is used to signal when syscall auditing is to be performed. While NetLabel uses a Netlink interface instead of syscalls, it is reasonable to consider the NetLabel Netlink interface as a form of syscall so pay attention to the audit_enabled flag when generating audit messages in NetLabel. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 3de4bab5b9f8848a0c16a4b1ffe0452f0d670237 Author: Paul Moore Date: Fri Nov 17 17:38:54 2006 -0500 SELinux: peer secid consolidation for external network labeling Now that labeled IPsec makes use of the peer_sid field in the sk_security_struct we can remove a lot of the special cases between labeled IPsec and NetLabel. In addition, create a new function, security_skb_extlbl_sid(), which we can use in several places to get the security context of the packet's external label which allows us to further simplify the code in a few places. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9f2ad66509b182b399a5b03de487f45bde623524 Author: Paul Moore Date: Fri Nov 17 17:38:53 2006 -0500 NetLabel: SELinux cleanups This patch does a lot of cleanup in the SELinux NetLabel support code. A summary of the changes include: * Use RCU locking for the NetLabel state variable in the skk_security_struct instead of using the inode_security_struct mutex. * Remove unnecessary parameters in selinux_netlbl_socket_post_create(). * Rename selinux_netlbl_sk_clone_security() to selinux_netlbl_sk_security_clone() to better fit the other NetLabel sk_security functions. * Improvements to selinux_netlbl_inode_permission() to help reduce the cost of the common case. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9bb5fd2b05cb4dba229e225536faa59eaadd837d Author: Paul Moore Date: Fri Nov 17 17:38:52 2006 -0500 NetLabel: use cipso_v4_doi_search() for local CIPSOv4 functions The cipso_v4_doi_search() function behaves the same as cipso_v4_doi_getdef() but is a local, static function so use it whenever possibile in the CIPSOv4 code base. Signed-of-by: Paul Moore Signed-off-by: James Morris commit c6b1677a54330b72d961270c9a66bb99c62c4a8e Author: Paul Moore Date: Fri Nov 17 17:38:51 2006 -0500 NetLabel: use the correct CIPSOv4 MLS label limits The CIPSOv4 engine currently has MLS label limits which are slightly larger than what the draft allows. This is not a major problem due to the current implementation but we should fix this so it doesn't bite us later. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 9fade4bf8eed3db2fd1306968da4d51bc611aca3 Author: Paul Moore Date: Fri Nov 17 17:38:50 2006 -0500 NetLabel: return the correct error for translated CIPSOv4 tags The CIPSOv4 translated tag #1 mapping does not always return the correct error code if the desired mapping does not exist; instead of returning -EPERM it returns -ENOSPC indicating that the buffer is not large enough to hold the translated value. This was caused by failing to check a specific error condition. This patch fixes this so that unknown mappings return -EPERM which is consistent with the rest of the related CIPSOv4 code. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 91b1ed0afdbffbda88c472ef72af37e19b7876fb Author: Paul Moore Date: Fri Nov 17 17:38:49 2006 -0500 NetLabel: fixup the handling of CIPSOv4 tags to allow for multiple tag types While the original CIPSOv4 code had provisions for multiple tag types the implementation was not as great as it could be, pushing a lot of non-tag specific processing into the tag specific code blocks. This patch fixes that issue making it easier to support multiple tag types in the future. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 6ce61a7c2678800cfe59a5f4a41ce8f785b9d355 Author: Paul Moore Date: Fri Nov 17 17:38:48 2006 -0500 NetLabel: add tag verification when adding new CIPSOv4 DOI definitions Currently the CIPSOv4 engine does not do any sort of checking when a new DOI definition is added. The tags are still verified but only as a side effect of normal NetLabel operation (packet processing, socket labeling, etc.) which would cause application errors due to the faulty configuration. This patch adds tag checking when new DOI definition are added allowing us to catch these configuration problems when they happen. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 05e00cbf5036929355020dab4837b637203a0742 Author: Paul Moore Date: Fri Nov 17 17:38:47 2006 -0500 NetLabel: check for a CIPSOv4 option before we do call into the CIPSOv4 layer Right now the NetLabel code always jumps into the CIPSOv4 layer to determine if a CIPSO IP option is present. However, we can do this check directly in the NetLabel code by making use of the CIPSO_V4_OPTEXIST() macro which should save us a function call in the common case of not having a CIPSOv4 option present. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 701a90bad99b8081a824cca52c178c8fc8f46bb2 Author: Paul Moore Date: Fri Nov 17 17:38:46 2006 -0500 NetLabel: make netlbl_lsm_secattr struct easier/quicker to understand The existing netlbl_lsm_secattr struct required the LSM to check all of the fields to determine if any security attributes were present resulting in a lot of work in the common case of no attributes. This patch adds a 'flags' field which is used to indicate which attributes are present in the structure; this should allow the LSM to do a quick comparison to determine if the structure holds any security attributes. Example: if (netlbl_lsm_secattr->flags) /* security attributes present */ else /* NO security attributes present */ Signed-off-by: Paul Moore Signed-off-by: James Morris commit c6fa82a9dd6160e0bc980cb0401c16bf62f2fe66 Author: Paul Moore Date: Fri Nov 17 17:38:45 2006 -0500 NetLabel: change netlbl_secattr_init() to return void The netlbl_secattr_init() function would always return 0 making it pointless to have a return value. This patch changes the function to return void. Signed-off-by: Paul Moore Signed-off-by: James Morris commit cd28786d6d4209ec32a375d92188ec7b4d98779f Author: Paul Moore Date: Fri Nov 17 17:38:44 2006 -0500 NetLabel: convert the unlabeled accept flag to use RCU Currently the NetLabel unlabeled packet accept flag is an atomic type and it is checked for every non-NetLabel packet which comes into the system but rarely ever changed. This patch changes this flag to a normal integer and protects it with RCU locking. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 1f758d93548fb3c6297c05a351a4ba532de6a497 Author: Paul Moore Date: Fri Nov 17 17:38:43 2006 -0500 NetLabel: use gfp_t instead of int where it makes sense There were a few places in the NetLabel code where the int type was being used instead of the gfp_t type, this patch corrects this mistake. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 352d48008b6f3e02d8ce77868432e329dd921cb1 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 19:59:12 2006 -0200 [TCP]: Tidy up skb_entail Heck, it even saves us some few bytes: [acme@newtoy net-2.6.20]$ codiff -f /tmp/tcp.o.before ../OUTPUT/qemu/net-2.6.20/net/ipv4/tcp.o /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp.c: tcp_sendpage | -7 tcp_sendmsg | -5 2 functions changed, 12 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit eafff86d3bd80403c808f67f5389813fdb5bd6c8 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 13:05:04 2006 -0200 [NETROM]: Use kmemdup Signed-off-by: Arnaldo Carvalho de Melo commit 0459d70add3f7ca5d433d4b2334cc6ec9ddab05b Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:43:07 2006 -0200 [AX25]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/ax25.ko.before /tmp/ax25.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/ax25_out.c: ax25_send_frame | -8 1 function changed, 8 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/ax25_route.c: ax25_rt_autobind | -15 1 function changed, 15 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/af_ax25.c: ax25_make_new | -33 1 function changed, 33 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ax25/sysctl_net_ax25.c: ax25_register_sysctl | -21 1 function changed, 21 bytes removed /tmp/ax25.ko.after: 4 functions changed, 77 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit c66b721a502cbbc15be8bd7c79c305fa40f1e6ce Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:29:21 2006 -0200 [DECNET]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/decnet.ko.before /tmp/decnet.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/decnet/dn_dev.c: dn_dev_sysctl_register | -51 1 function changed, 51 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit eed73417d501c2c7bdef1bc8a1f7a1548a635b09 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:21:43 2006 -0200 [DCCP]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/dccp.ko.before /tmp/dccp.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/dccp/feat.c: __dccp_feat_init | -16 dccp_feat_change_recv | -55 dccp_feat_clone | -56 3 functions changed, 127 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit af879cc704372ef762584e916129d19ffb39e844 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 12:14:37 2006 -0200 [IPV6]: Use kmemdup Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/ipv6.ko.before /tmp/ipv6.ko.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/ip6_output.c: ip6_output | -52 ip6_append_data | +2 2 functions changed, 2 bytes added, 52 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/addrconf.c: addrconf_sysctl_register | -27 1 function changed, 27 bytes removed /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv6/tcp_ipv6.c: tcp_v6_syn_recv_sock | -32 tcp_v6_parse_md5_keys | -24 2 functions changed, 56 bytes removed /tmp/ipv6.ko.after: 5 functions changed, 2 bytes added, 135 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit c67862403e28dd67f38e896736f063d8dd522688 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:25:49 2006 -0200 [TCP] minisocks: Use kmemdup and LIMIT_NETDEBUG Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/tcp_minisocks.o.before /tmp/tcp_minisocks.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp_minisocks.c: tcp_check_req | -44 1 function changed, 44 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 42e5ea466c1897c4ac2e3b4fe0b33a28e9e3d5de Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:18:20 2006 -0200 [IPV4]: Use kmemdup in net/ipv4/devinet.c Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/devinet.o.before /tmp/devinet.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/devinet.c: devinet_sysctl_register | -38 1 function changed, 38 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit fac5d7315126f4b6745a8565c3a875617e02f8b8 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:14:16 2006 -0200 [NETLABEL]: Use kmemdup in cipso_ipv4.c Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/cipso_ipv4.o.before /tmp/cipso_ipv4.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/cipso_ipv4.c: cipso_v4_cache_add | -46 1 function changed, 46 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit f6685938f9181e95f814edfca287d4f04a925240 Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 11:06:01 2006 -0200 [TCP_IPV4]: Use kmemdup where appropriate Also use a variable to avoid the longish tp->md5sig_info-> use in tcp_v4_md5_do_add. Code diff stats: [acme@newtoy net-2.6.20]$ codiff /tmp/tcp_ipv4.o.before /tmp/tcp_ipv4.o.after /pub/scm/linux/kernel/git/acme/net-2.6.20/net/ipv4/tcp_ipv4.c: tcp_v4_md5_do_add | -62 tcp_v4_syn_recv_sock | -32 tcp_v4_parse_md5_keys | -86 3 functions changed, 180 bytes removed [acme@newtoy net-2.6.20]$ Signed-off-by: Arnaldo Carvalho de Melo commit 7174259e6ced15bebee202983511d8fc950e929f Author: Arnaldo Carvalho de Melo Date: Fri Nov 17 10:57:30 2006 -0200 [TCP_IPV4]: CodingStyle cleanups, no code change Mostly related to CONFIG_TCP_MD5SIG recent merge. Signed-off-by: Arnaldo Carvalho de Melo commit 32aac18dfa0963fde40cc074ba97ebbae8b755f2 Author: Andrea Bittau Date: Thu Nov 16 14:28:40 2006 -0200 [DCCP] CCID2: Code optimizations These are code optimizations which are relevant when dealing with large windows. They are not coded the way I would like to, but they do the job for the short-term. This patch should be more neat. Commiter note: Changed the seqno comparisions to use {after,before}48 to handle wrapping. Signed-off-by: Andrea Bittau Signed-off-by: Arnaldo Carvalho de Melo commit 58a5a7b9555ea231b557ebef5cabeaf8e951df0b Author: Arnaldo Carvalho de Melo Date: Thu Nov 16 14:06:06 2006 -0200 [NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb Spotted by Ian McDonald, tentatively fixed by Gerrit Renker: http://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html Rewritten not to unroll sk_receive_skb, in the common case, i.e. no lock debugging, its optimized away. Signed-off-by: Arnaldo Carvalho de Melo commit e523a1550e877f8a8ff87a50269b7ee7bfb43464 Author: Arnaldo Carvalho de Melo Date: Thu Nov 16 12:23:58 2006 -0200 [DCCP]: One NET_INC_STATS() could be NET_INC_STATS_BH in dccp_v4_err() Spotted by Eric Dumazet in tcp_v4_rcv(). Signed-off-by: Arnaldo Carvalho de Melo commit 3c6952624a8f600f9a0fbc1f5db5560a7ef9b13e Author: Gerrit Renker Date: Wed Nov 15 21:27:47 2006 -0200 [DCCP]: Introduce DCCP_{BUG{_ON},CRIT} macros, use enum:8 for the ccid3 states This patch tackles the following problem: * the ccid3_hc_{t,r}x_sock define ccid3hc{t,r}x_state as `u8', but in reality there can only be a few, pre-defined enum names * this necessitates addiditional checking for unexpected values which would otherwise be caught by the compiler Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 6bb100b9fc8f1ce330231b360028ab705a9f0378 Author: David S. Miller Date: Wed Nov 15 01:09:32 2006 -0800 [UDPLite]: udplite.h needs ip6_checksum.h Signed-off-by: David S. Miller commit 078250d68d883495f31d0e6ce8321292f2dc1cfa Author: Gerrit Renker Date: Wed Nov 15 00:44:49 2006 -0800 [NET/IPv4]: Make udp_push_pending_frames static udp_push_pending_frames is only referenced within net/ipv4/udp.c and hence can remain static. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 7d9e9b3df491d5e1c3ed76c5cff7ace6094124c1 Author: David S. Miller Date: Tue Nov 14 22:09:20 2006 -0800 [IPV6]: udp.c build fix Signed-off-by: David S. Miller commit 7d533f941856d7d192bfec28581e130dda9c6688 Author: Al Viro Date: Tue Nov 14 21:51:36 2006 -0800 [NET]: More dccp endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1f61ab5ca5cca939a6509892d84b34849e155036 Author: Al Viro Date: Tue Nov 14 21:44:08 2006 -0800 [NET]: Preliminaty annotation of skb->csum. It's still not completely right; we need to split it into anon unions of __wsum and unsigned - for cases when we use it for partial checksum and for offset of checksum in skb Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5a5a852e45b651c71dfeb3972b30d58742f8941e Author: Al Viro Date: Tue Nov 14 21:43:44 2006 -0800 [NET] driver/s390/net: Checksum annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 43bc0ca7eadc024e9e5b935fa5e0892df4fec9eb Author: Al Viro Date: Tue Nov 14 21:43:23 2006 -0800 [NET]: netfilter checksum annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f9214b2627fb8582af1986afc4aed5942086a535 Author: Al Viro Date: Thu Nov 16 02:41:18 2006 -0800 [NET]: ipvs checksum annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5c78f275e696a25a9919671aa8aa3d0a3d967978 Author: Al Viro Date: Tue Nov 14 21:42:26 2006 -0800 [NET]: IP header modifier helpers annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f6ab028804bdc580fe0915494dbf31f5ea473ca7 Author: Al Viro Date: Thu Nov 16 02:36:50 2006 -0800 [NET]: Make mangling a checksum (0 -> 0xffff on the wire) explicit. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b51655b958dfb1176bfcf99466231fdbef8751ff Author: Al Viro Date: Tue Nov 14 21:40:42 2006 -0800 [NET]: Annotate __skb_checksum_complete() and friends. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b1550f221255f7dd06048d832bf0f3d166840e1c Author: Al Viro Date: Tue Nov 14 21:37:50 2006 -0800 [NET]: Annotate ip_vs_checksum_complete() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 81d77662763ae527ba3a9b9275467901aaab7dfd Author: Al Viro Date: Tue Nov 14 21:37:33 2006 -0800 [NET]: Annotate skb_copy_and_csum_bits() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bbbc86890ac4c911c5057f69af93853e52a42a8 Author: Al Viro Date: Tue Nov 14 21:37:14 2006 -0800 [NET]: Annotate skb_checksum() and callers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5f92a7388a29594d6c365b23a48d4bb8299a3ea7 Author: Al Viro Date: Tue Nov 14 21:36:54 2006 -0800 [NET]: Annotate callers of the reset of checksum.h stuff. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5084205faf45384fff25c4cf77dd5c96279283ad Author: Al Viro Date: Tue Nov 14 21:36:34 2006 -0800 [NET]: Annotate callers of csum_partial_copy_...() and csum_and_copy...() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 44bb93633f57a55979f3c2589b10fd6a2bfc7c08 Author: Al Viro Date: Tue Nov 14 21:36:14 2006 -0800 [NET]: Annotate csum_partial() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 868c86bcb5bdea7ed8d45979b17bb919af9254db Author: Al Viro Date: Tue Nov 14 21:35:48 2006 -0800 [NET]: annotate csum_ipv6_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bda2853150e20ca2a44627d00b5f85af0b24a42 Author: Al Viro Date: Tue Nov 14 21:28:51 2006 -0800 [NET]: Annotate csum_tcpudp_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6b11687ef003ed595033da89643c8995676f929d Author: Al Viro Date: Tue Nov 14 21:28:24 2006 -0800 [NET]: Annotate csum_tcpudp_magic() callers in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d6f5493c1a42b1203e5b0cb0507afd00bb2927bf Author: Al Viro Date: Tue Nov 14 21:26:08 2006 -0800 [NET]: Annotate callers of csum_tcpudp_nofold() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d3bc23e7ee9db8023dff5a86bb3b0069ed018789 Author: Al Viro Date: Tue Nov 14 21:24:49 2006 -0800 [NET]: Annotate callers of csum_fold() in net/* Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9981a0e36a572e9fcf84bfab915fdc93bed0e3c9 Author: Al Viro Date: Tue Nov 14 21:24:30 2006 -0800 [NET]: Annotate checksums in on-the-wire packets. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 56649d5d3c4cb0fe6dd34808ca9f9208d84130ab Author: Al Viro Date: Tue Nov 14 21:23:59 2006 -0800 [NET]: Generic checksum annotations and cleanups. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b8e4e01dd5576a14602a49829f9f9d997bb60b6b Author: Al Viro Date: Tue Nov 14 21:23:40 2006 -0800 [NET]: XTENSA checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy_fromuser * kill csum_partial_copy * kill useless shifts * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5c63936410fbcabd92df1ac12f3f63ca23c7a86 Author: Al Viro Date: Tue Nov 14 21:23:20 2006 -0800 [NET]: SPARC64 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 16ec7e168db6747e69b101b86ddf86f001fdcd60 Author: Al Viro Date: Tue Nov 14 21:22:56 2006 -0800 [NET]: SPARC checksum annotations and cleanups. * sanitize prototypes, annotate * kill bogus access_ok() in csum_partial_copy_from_user (the only caller checks) * kill useless shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7c73a746ba726faa5ab12981b4b192768eb439de Author: Al Viro Date: Tue Nov 14 21:22:35 2006 -0800 [NET]: SH checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit f994aae1bd8e4813d59a2ed64d17585fe42d03fc Author: Al Viro Date: Tue Nov 14 21:22:18 2006 -0800 [NET]: S390 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 879178cfbe56baa42ee73b9668816872c97d8ccd Author: Al Viro Date: Tue Nov 14 21:21:58 2006 -0800 [NET]: POWERPC checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 72685fcd286e94fef0b692f634d304b7240cef04 Author: Al Viro Date: Tue Nov 14 21:21:37 2006 -0800 [NET]: I386 checksum annotations and cleanups. * sanitize prototypes, annotate * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 475b8f311bf3e9b5a024b779435f408395a76890 Author: Al Viro Date: Tue Nov 14 21:21:15 2006 -0800 [NET]: AVR32 checksum annotations and cleanups. * sanitize prototypes, annotate * kill useless shifts * kill useless ntohs (it's big-endian, for fsck sake!) Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0ffb7122bc988ce328e84d14c81d029bc62c47c5 Author: Al Viro Date: Tue Nov 14 21:20:51 2006 -0800 [NET]: ARM26 checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy Signed-off-by: Al Viro Signed-off-by: David S. Miller commit eb5a9658656c3d633cc973ec90ccfd6c439dabb6 Author: Al Viro Date: Tue Nov 14 21:20:28 2006 -0800 [NET]: ARM checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy * usual ntohs->shift, this time in assembler part Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a4f89fb7c072b8592b296c2ba216269c0c96db43 Author: Al Viro Date: Tue Nov 14 21:20:08 2006 -0800 [NET]: X86_64 checksum annotations and cleanups. * sanitize prototypes, annotate * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9d3d41955845939cb41b87affb039db0bae03b65 Author: Al Viro Date: Tue Nov 14 21:19:44 2006 -0800 [NET]: V850 checksum annotations and cleanups. * sanitize prototypes, annotate * collapse csum_partial_copy * usual ntohs->shift Signed-off-by: Al Viro Signed-off-by: David S. Miller commit abf419b809bed2333267e4b23dd2b3b4f10da88c Author: Al Viro Date: Tue Nov 14 21:19:22 2006 -0800 [NET]: UML checksum annotations and cleanups. * sanitize prototypes, annotate * kill csum_partial_copy_fromuser * kill shift-by-16 in checksum calculations * ntohs->shift in checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c459dd90f0de00db1ca1328482214019f6ca292f Author: Al Viro Date: Tue Nov 14 21:19:01 2006 -0800 [NET]: SH64 checksum annotations and cleanups. * sanitize prototypes, annotate * collapse csum_partial_copy * kill csum_partial_copy_fromuser * ntohs->shift in checksum calculation Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 7814e4b6d6ce59071887600a8659641ba3d30a43 Author: Al Viro Date: Tue Nov 14 21:18:39 2006 -0800 [NET]: PARISC checksum annotations and cleanups. * sanitized prototypes, annotated * kill shift-by-16 in checksum calculation Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8e3d8433d8c22ca6c42cba4a67d300c39aae7822 Author: Al Viro Date: Tue Nov 14 21:18:18 2006 -0800 [NET]: MIPS checksum annotations and cleanups. * sanitize prototypes, annotate * kill shift-by-16 in checksum calculations * htons->shift in l-e checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 59ed05a7e891d694a43df96ac613f7e8e164eb95 Author: Al Viro Date: Tue Nov 14 21:17:56 2006 -0800 [NET]: M68Knommu checksum annotations and cleanups. * sanitize prototypes, annotated * collapsed csum_partial_copy() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2061acaaae0e165f0104ec9d327a02addbcabd62 Author: Al Viro Date: Tue Nov 14 21:17:19 2006 -0800 [NET]: M68K checksum annotations and cleanups. * sanitize prototypes, annotate Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 85d20dee20f0958df1615e73698f6b0c525812f7 Author: Al Viro Date: Tue Nov 14 21:16:55 2006 -0800 [NET]: M32R checksum annotations and cleanups. * sanitize prototypes, annotate * ntohs -> shift in checksum calculations in l-e case * kill shift-by-16 in checksum calculations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 322529961e3b3e64fdf1a3e46a45294456c91acf Author: Al Viro Date: Tue Nov 14 21:16:30 2006 -0800 [NET]: IA64 checksum annotations and cleanups. * sanitize prototypes, annotate * ntohs -> shift in checksum calculations * kill access_ok() in csum_partial_copy_from_user * collapse do_csum_partial_copy_from_user Signed-off-by: Al Viro Signed-off-by: David S. Miller commit db521083bcb75505e9c3e21cbabe8274ee0daea6 Author: Al Viro Date: Tue Nov 14 21:16:07 2006 -0800 [NET]: H8300 checksum annotations and cleanups. * sanitize prototypes and annotate * collapse csum_partial_copy NB: csum_partial() is almost certainly still buggy. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8042c44b8a6171ed75b7dd6a224df18d993f6094 Author: Al Viro Date: Tue Nov 14 21:15:40 2006 -0800 [NET]: FRV checksum annotations. * sanitize prototypes and annotate * collapse csum_partial_copy Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3532010bcf7699f2ce9a2baab58b4b9a5426d97e Author: Al Viro Date: Tue Nov 14 21:15:19 2006 -0800 [NET]: Cris checksum annotations and cleanups. * sanitize prototypes and annotate * kill cast-as-lvalue abuses in csum_partial() * usual ntohs-equals-shift for checksum purposes Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 9be259aae5264511fe0a8b5e3d6711e0fd1d55df Author: Al Viro Date: Tue Nov 14 21:14:53 2006 -0800 [NET]: Alpha checksum annotations and cleanups. * sanitize prototypes and annotate * kill useless access_ok() in csum_partial_copy_from_user() (the only caller checks it already). * do_csum_partial_copy_from_user() is not needed now * replace htons(len) with len << 8 - they are the same wrt checksums on little-endian. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 2bc357987a6510e61d33f3b20fa989fb2b6a10b8 Author: Al Viro Date: Tue Nov 14 21:14:18 2006 -0800 [NET]: Introduce types for checksums. New types - for 16bit checksums and "unfolded" 32bit variant. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3277c39f8d706afb6fefc02f49563a73bbd405b9 Author: Al Viro Date: Tue Nov 14 21:13:53 2006 -0800 [NET]: Kill direct includes of asm/checksum.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 75e7ce66ef044fa877a420f1b4febe416bbc09ad Author: Al Viro Date: Tue Nov 14 21:13:28 2006 -0800 [IPVS]: Annotate ..._app_hashkey(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a64b78a077a71c9b9c0c1b0be699083379783c3d Author: Al Viro Date: Tue Nov 14 21:12:29 2006 -0800 [NET]: Annotate net_srandom(). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 47c183fa5ea7feebc356da8ccbd9105a41f8e534 Author: Al Viro Date: Tue Nov 14 21:11:51 2006 -0800 [BRIDGE]: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 30d492da738a8d5f4ec884b3e1a13eef97714994 Author: Al Viro Date: Tue Nov 14 21:11:29 2006 -0800 [ATM]: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 42d224aa170a4f7446cea6c972d9302d524545e5 Author: Al Viro Date: Tue Nov 14 21:11:08 2006 -0800 [NETFILTER]: More trivial annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ef296f56f8501f3ac68b8d44f63205f544126733 Author: Al Viro Date: Tue Nov 14 20:56:33 2006 -0800 [IPV6]: __ipv6_addr_diff() annotations and cleanup. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e69a4adc669fe210817ec50ae3f9a7a5ad62d4e8 Author: Al Viro Date: Tue Nov 14 20:56:00 2006 -0800 [IPV6]: Misc endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit b09b845ca6724c3bbdc00c0cb2313258c7189ca9 Author: Al Viro Date: Tue Nov 14 20:52:19 2006 -0800 [RANDOM]: Annotate random.h IP helpers. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 714e85be3557222bc25f69c252326207c900a7db Author: Al Viro Date: Tue Nov 14 20:51:49 2006 -0800 [IPV6]: Assorted trivial endianness annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 252e33467a3b016f20dd8df12269cef3b167f21e Author: Al Viro Date: Tue Nov 14 20:48:11 2006 -0800 [NET] net/core: Annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 448c31aa34b5ee947d322e8747c4cf801fc4c104 Author: Al Viro Date: Tue Nov 14 20:47:46 2006 -0800 [IRDA]: Trivial annotations. Signed-off-by: Al Viro Signed-off-by: David S. Miller commit c68b907028d35b0ad5a98b5e5552f0ad56a9ba1d Author: David S. Miller Date: Tue Nov 14 20:40:49 2006 -0800 [NETPOLL]: Minor coding-style cleanups. Signed-off-by: David S. Miller commit ba4e58eca8aa9473b44fdfd312f26c4a2e7798b3 Author: Gerrit Renker Date: Mon Nov 27 11:10:57 2006 -0800 [NET]: Supporting UDP-Lite (RFC 3828) in Linux This is a revision of the previously submitted patch, which alters the way files are organized and compiled in the following manner: * UDP and UDP-Lite now use separate object files * source file dependencies resolved via header files net/ipv{4,6}/udp_impl.h * order of inclusion files in udp.c/udplite.c adapted accordingly [NET/IPv4]: Support for the UDP-Lite protocol (RFC 3828) This patch adds support for UDP-Lite to the IPv4 stack, provided as an extension to the existing UDPv4 code: * generic routines are all located in net/ipv4/udp.c * UDP-Lite specific routines are in net/ipv4/udplite.c * MIB/statistics support in /proc/net/snmp and /proc/net/udplite * shared API with extensions for partial checksum coverage [NET/IPv6]: Extension for UDP-Lite over IPv6 It extends the existing UDPv6 code base with support for UDP-Lite in the same manner as per UDPv4. In particular, * UDPv6 generic and shared code is in net/ipv6/udp.c * UDP-Litev6 specific extensions are in net/ipv6/udplite.c * MIB/statistics support in /proc/net/snmp6 and /proc/net/udplite6 * support for IPV6_ADDRFORM * aligned the coding style of protocol initialisation with af_inet6.c * made the error handling in udpv6_queue_rcv_skb consistent; to return `-1' on error on all error cases * consolidation of shared code [NET]: UDP-Lite Documentation and basic XFRM/Netfilter support The UDP-Lite patch further provides * API documentation for UDP-Lite * basic xfrm support * basic netfilter support for IPv4 and IPv6 (LOG target) Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6051e2f4fb68fc8e5343db58fa680ece376f405c Author: Thomas Graf Date: Tue Nov 14 19:54:19 2006 -0800 [IPv6] prefix: Convert RTM_NEWPREFIX notifications to use the new netlink api RTM_GETPREFIX is completely unused and is thus removed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 04561c1fe7b067a8250e6caaf168256783580c4c Author: Thomas Graf Date: Tue Nov 14 19:53:58 2006 -0800 [IPv6] iflink: Convert IPv6's RTM_GETLINK to use the new netlink api By replacing the current method of exporting the device configuration which included allocating a temporary buffer, copying ipv6_devconf into it and copying that buffer into the message with a method that uses nla_reserve() allowing to copy the device configuration directly into the skb data buffer, a GFP_ATOMIC allocation could be removed. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit a928630a2ffeaf6aa9a6b78456935b6ab1be3066 Author: David S. Miller Date: Tue Nov 14 19:53:22 2006 -0800 [TCP]: Fix some warning when MD5 is disabled. Just some mis-placed ifdefs: net/ipv4/tcp_minisocks.c: In function ‘tcp_twsk_destructor’: net/ipv4/tcp_minisocks.c:364: warning: unused variable ‘twsk’ net/ipv6/tcp_ipv6.c:1846: warning: ‘tcp_sock_ipv6_specific’ defined but not used net/ipv6/tcp_ipv6.c:1877: warning: ‘tcp_sock_ipv6_mapped_specific’ defined but not used Signed-off-by: David S. Miller commit 17c157c889f4b07258af6bfec9e4e9dcf3c00178 Author: Thomas Graf Date: Tue Nov 14 19:46:02 2006 -0800 [GENL]: Add genlmsg_put_reply() to simplify building reply headers By modyfing genlmsg_put() to take a genl_family and by adding genlmsg_put_reply() the process of constructing the netlink and generic netlink headers is simplified. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit 81878d27fdd297a33f3cfcf29483fe1abaf26dec Author: Thomas Graf Date: Tue Nov 14 19:45:27 2006 -0800 [GENL]: Add genlmsg_reply() to simply unicast replies to requests A generic netlink user has no interest in knowing how to address the source of the original request. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit 3dabc7157859e706770c825aa229f8943db4e0e1 Author: Thomas Graf Date: Tue Nov 14 19:44:52 2006 -0800 [GENL]: Add genlmsg_new() to allocate generic netlink messages Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit cfb6eeb4c860592edd123fdea908d23c6ad1c7dc Author: YOSHIFUJI Hideaki Date: Tue Nov 14 19:07:45 2006 -0800 [TCP]: MD5 Signature Option (RFC2385) support. Based on implementation by Rick Payne. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit bf6bce71eae386dbc37f93af7e5ad173450d9945 Author: Stephen Hemminger Date: Thu Oct 26 15:46:56 2006 -0700 netpoll header cleanup As Steve left netpoll beast, hopefully not to return soon. He noticed that the header was messy. He straightened it up and polished it a little, then waved goodbye. Signed-off-by: Stephen Hemminger commit 5de4a473bda49554e4e9bd93b78f43c49a7ea69c Author: Stephen Hemminger Date: Thu Oct 26 15:46:55 2006 -0700 netpoll queue cleanup The beast had a long and not very happy history. At one point, a friend (netdump) had asked that he open up a little. Well, the friend was long gone now, and the beast had this dangling piece hanging (netpoll_queue). It wasn't hard to stitch the netpoll_queue back in where it belonged and make everything tidy. Signed-off-by: Stephen Hemminger commit 2bdfe0baeca0e2750037b8fba71905c00ac3c515 Author: Stephen Hemminger Date: Thu Oct 26 15:46:54 2006 -0700 netpoll retry cleanup The netpoll beast was still not happy. If the beast got clogged pipes, it tended to stare blankly off in space for a long time. The problem couldn't be completely fixed because the beast talked with irq's disabled. But it could be made less painful and shorter. Signed-off-by: Stephen Hemminger commit 6c43ff18f91e54aa7555d8ae4f26eab7da5bce68 Author: Stephen Hemminger Date: Thu Oct 26 15:46:53 2006 -0700 netpoll deferred transmit path When the netpoll beast got busy, he tended to babble. Instead of talking out of his large mouth as normal, he tended to try to snort out other orifices. This lead to words (skbs) ending up in odd places (like NIT) that he did not intend. The normal way of talking wouldn't work, but he could at least change to using the same tone all the time. Signed-off-by: Stephen Hemminger commit b41848b61bae30e3661efd4ec62ea380cedef687 Author: Stephen Hemminger Date: Thu Oct 26 15:46:52 2006 -0700 netpoll setup error handling The beast was not always healthy. When it was sick, it tended to be laconic and not tell anyone the real problem. A few small changes had it telling the world about its problems, if they really wanted to hear. Signed-off-by: Stephen Hemminger commit b6cd27ed33886a5ffaf0925a6d98e13e18e8a1af Author: Stephen Hemminger Date: Thu Oct 26 15:46:51 2006 -0700 netpoll per device txq When the netpoll beast got really busy, it tended to clog things, so it stored them for later. But the beast was putting all it's skb's in one basket. This was bad because maybe some pipes were clogged and others were not. Signed-off-by: Stephen Hemminger commit 93ec2c723e3f8a216dde2899aeb85c648672bc6b Author: Stephen Hemminger Date: Thu Oct 26 15:46:50 2006 -0700 netpoll info leak After looking harder, Steve noticed that the netpoll beast leaked a little every time it shutdown for a nap. Not a big leak, but a nuisance kind of thing. He took out his refcount duct tape and patched the leak. It was overkill since there was already other locking in that area, but it looked clean and wouldn't attract fleas. Signed-off-by: Stephen Hemminger commit a1bcfacd0577ff477e934731d4ceb3d26eab947d Author: Stephen Hemminger Date: Tue Nov 14 10:43:58 2006 -0800 netpoll: private skb pool (rev3) It was a dark and stormy night when Steve first saw the netpoll beast. The beast was odd, and misshapen but not extremely ugly. "Let me take off one of your warts" he said. This wart is where you tried to make an skb list yourself. If the beast had ever run out of memory, he would have stupefied himself unnecessarily. The first try was painful, so he tried again till the bleeding stopped. And again, and again... Signed-off-by: Stephen Hemminger commit d23ca15a21804631d8f787a0cc5646df81b9c2ea Author: Andrea Bittau Date: Tue Nov 14 13:19:45 2006 -0200 [DCCP] ACKVEC: Optimization - Do not traverse records if none will be found Do not traverse the list of ack vector records [proportional to window size] when we know we will not find what we are looking for. This is especially useful because ack vectors are checked twice: 1) Upon parsing of options. 2) Upon notification of a new ack. All of the work will occur during check #1. Therefore, when check #2 is performed, no new work will be done. This is now "detected" and there is no performance hit when doing #2. Signed-off-by: Andrea Bittau Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 09dbc3895e3242346bd434dae743c456fd28fc6a Author: Gerrit Renker Date: Tue Nov 14 12:57:34 2006 -0200 [DCCP]: Miscellaneous code tidy-ups This patch does not change code; it performs some trivial clean/tidy-ups: * removal of a `debug_prefix' string in favour of the already existing dccp_role(sk) * add documentation of structures and constants * separated out the cases for invalid packets (step 1 of the packet validation) * removing duplicate statements * combining declaration & initialisation Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit c02fdc0e81e9c735d8d895af1e201b235df326d8 Author: Gerrit Renker Date: Tue Nov 14 12:48:10 2006 -0200 [DCCP]: Make feature negotiation more readable This patch replaces cryptic feature negotiation messages of type Oct 31 15:42:20 kernel: dccp_feat_change: feat change type=32 feat=1 Oct 31 15:42:21 kernel: dccp_feat_change: feat change type=34 feat=1 Oct 31 15:42:21 kernel: dccp_feat_change: feat change type=32 feat=5 into ones of type: Nov 2 13:54:45 kernel: dccp_feat_change: ChangeL(CCID (1), 3) Nov 2 13:54:45 kernel: dccp_feat_change: ChangeR(CCID (1), 3) Nov 2 13:54:45 kernel: dccp_feat_change: ChangeL(Ack Ratio (5), 2) Also, * completed the feature number list wrt RFC 4340 sec. 6.4 * annotating which ones have been implemented so far * implemented rudimentary sanity checking in feat.c (FIXMEs) * some minor fixes Commiter note: uninlined dccp_feat_name and dccp_feat_typename, for consistency with dccp_{state,packet}_name, that, BTW, should be compiled only if CONFIG_IP_DCCP_DEBUG is selected, leaving this to another cset tho. Also shortened dccp_feat_negotiation_debug to dccp_feat_debug. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 6a128e053e75a5f1be9fb53d0d53159f88197c61 Author: Gerrit Renker Date: Tue Nov 14 11:50:36 2006 -0200 [DCCPv6]: Resolve conditional build problem Resolves the problem that if IPv6 was configured `y' and DCCP `m' then dccp_ipv6 was not built as a module. With this change, dccp_ipv6 is built as a module whenever DCCP *OR* IPv6 are configured as modules; it will be built-in only if both DCCP = `y' and IPV6 = `y'. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit b9df3cb8cf9a96e63dfdcd3056a9cbc71f2459e7 Author: Gerrit Renker Date: Tue Nov 14 11:21:36 2006 -0200 [TCP/DCCP]: Introduce net_xmit_eval Throughout the TCP/DCCP (and tunnelling) code, it often happens that the return code of a transmit function needs to be tested against NET_XMIT_CN which is a value that does not indicate a strict error condition. This patch uses a macro for these recurring situations which is consistent with the already existing macro net_xmit_errno, saving on duplicated code. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 1ed176a801b83915b7c8ab80e0a2a6376a2d6051 Author: Peter Zijlstra Date: Mon Nov 13 16:19:07 2006 -0800 [SCTP]: Cleanup of the sctp state table code. I noticed an insane high density of repeated characters fixable by a simple regular expression: % s/{.fn = \([^,]*\),[[:space:]]\+\(\\\n[[:space:]]\+\)\?.name = "\1"}/TYPE_SCTP_FUNC(\1)/g (NOTE: the .name for .fn = sctp_sf_do_9_2_start_shutdown didn't match) Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit 5f3f24faf322e54752d1df00cdb768a013de5d1f Author: Alexey Dobriyan Date: Mon Nov 13 16:12:08 2006 -0800 [ATM] ambassador,firestream: "-1 >>" is implementation defined 6.5.7(5): The result of E1 >> E2 is E1 right-shifted E2 bit positions. ... If E1 has a signed type and a negative value, the resulting value is implementation defined. So, cast -1 to unsigned type to make result well-defined. [ Modified to use ~0U based upon recommendation from Al Viro. -DaveM ] Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit 2ee92d46c6cabedd50edf6f273fa8cf84f707618 Author: James Morris Date: Mon Nov 13 16:09:01 2006 -0800 [SELinux]: Add support for DCCP This patch implements SELinux kernel support for DCCP (http://linux-net.osdl.org/index.php/DCCP), which is similar in operation to TCP in terms of connected state between peers. The SELinux support for DCCP is thus modeled on existing handling of TCP. A new DCCP socket class is introduced, to allow protocol differentation. The permissions for this class inherit all of the socket permissions, as well as the current TCP permissions (node_bind, name_bind etc). IPv4 and IPv6 are supported, although labeled networking is not, at this stage. Patches for SELinux userspace are at: http://people.redhat.com/jmorris/selinux/dccp/user/ I've performed some basic testing, and it seems to be working as expected. Adding policy support is similar to TCP, the only real difference being that it's a different protocol. Acked-by: Stephen Smalley Signed-off-by: James Morris Signed-off-by: David S. Miller commit 90833aa4f496d69ca374af6acef7d1614c8693ff Author: Adrian Bunk Date: Mon Nov 13 16:02:22 2006 -0800 [NET]: The scheduled removal of the frame diverter. This patch contains the scheduled removal of the frame diverter. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit d7f7365f5776723da6df73540d855069c2daaa5c Author: Gerrit Renker Date: Mon Nov 13 13:34:38 2006 -0200 [DCCPv6]: Choose a genuine initial sequence number This * resolves a FIXME - DCCPv6 connections started all with an initial sequence number of 1; * provides a redirection `secure_dccpv6_sequence_number' in case the init_sequence_v6 code should be updated later; * concentrates the update of S.GAR into dccp_connect_init(); * removes a duplicate dccp_update_gss() in ipv4.c; * uses inet->dport instead of usin->sin_port, due to the following assignment in dccp_v4_connect(): inet->dport = usin->sin_port; Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 865e9022d88ceedd89fa1079a6e1f9266ccd3711 Author: Gerrit Renker Date: Mon Nov 13 13:31:50 2006 -0200 [DCCP]: Remove redundant statements in init_sequence (ISS) This patch removes the following redundancies: 1) The test skb->protocol == htons(ETH_P_IPV6) in dccp_v6_init_sequence is always true since * dccp_v6_conn_request() is the only calling function * dccp_v6_conn_request() redirects all skb's with ETH_P_IP to dccp_v4_conn_request() 2) The first argument, `struct sock *sk', of dccp_v{4,6}_init_sequence() is never used. (This is similar for tcp_v{4,6}_init_sequence, an analogous patch has been submitted to netdev and merged.) By the way - are the `sport' / `dport' arguments in the right order? I have made them consistent among calls but they seem to be in the reverse order. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 4ed800d02cfb639b4f8375a0f0f04f0efea64e7f Author: Gerrit Renker Date: Mon Nov 13 13:26:51 2006 -0200 [DCCP]: Remove forward declarations in timer.c This removes 3 forward declarations by reordering 2 functions. No code change at all. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit afb0a34dd3e20b3f534de19993271b8664cf10bb Author: Gerrit Renker Date: Mon Nov 13 13:25:41 2006 -0200 [DCCP]: Introduce a consistent naming scheme for sysctls In order to make their function clearer and obtain a consistent naming scheme to identify sysctls, all existing DCCP sysctls have been prefixed with `sysctl_dccp', following the same convention as used by TCP. Feature-specific sysctls retain the `feat' in the middle, although the `default' has been dropped, since it is obvious from use. Also removed a duplicate `dccp_feat_default_sequence_window' in ipv4.c. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 2e2e9e92bd723244ea20fa488b1780111f2b05e1 Author: Gerrit Renker Date: Mon Nov 13 13:23:52 2006 -0200 [DCCP]: Add sysctls to control retransmission behaviour This adds 3 sysctls which govern the retransmission behaviour of DCCP control packets (3way handshake, feature negotiation). It removes 4 FIXMEs from the code. The close resemblance of sysctl variables to their TCP analogues is emphasised not only by their name, but also by giving them the same initial values. This is useful since there is not much practical experience with DCCP yet. Furthermore, with regard to the previous patch, it is now possible to limit the number of keepalive-Responses by setting net.dccp.default.request_retries (also a bit like in TCP). Lastly, added documentation of all existing DCCP sysctls. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit e11d9d30802278af22e78d8c10f348b683670cd9 Author: Gerrit Renker Date: Mon Nov 13 13:12:07 2006 -0200 [DCCP]: Increment sequence numbers on retransmitted Response packets Problem: commit 08a29e41bb6d6516b0f65e19381f537168d1768e Author: Gerrit Renker Date: Mon Nov 13 13:07:51 2006 -0200 [DCCP]: Update comments on precisely which packets can be retransmitted This updates program documentation: spell out precise conditions about which packets are eligible for retransmission (which is actually quite hard to extract from RFC 4340). It is based on the following table derived from RFC 4340: +-----------+---------------------------------+---------------------+ | Type | Retransmit? | Remark | +-----------+---------------------------------+---------------------+ | Request | in client-REQUEST state | sec. 8.1.1 | | Response | NEVER | SHOULD NOT, 8.1.3 | | Data | NEVER | unreliable protocol | | Ack | possible in client-PARTOPEN | sec. 8.1.5 | | DataAck | NEVER | unreliable protocol | | CloseReq | only in server-CLOSEREQ state | MUST, sec. 8.3 | | Close | in node-CLOSING state | MUST, sec. 8.3 | +-----------+-------------------------------------------------------+ | Reset | only in response to other packets | | Sync | only in response to sequence-invalid packets (7.5.4) | | SyncAck | only in response to Sync packets | +-----------+-------------------------------------------------------+ Hence the only packets eligible for retransmission are: * Requests in client-REQUEST state (sec. 8.1.1) * Acks in client-PARTOPEN state (sec. 8.1.5) * CloseReq in server-CLOSEREQ state (sec. 8.3) * Close in node-CLOSING state (sec. 8.3) I had meant to put in a check for these types too, but have left that for later. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 75356f27ed4f85bd789a822bca3fc5e92e334140 Author: David S. Miller Date: Sun Nov 12 23:02:01 2006 -0800 [DECNET]: Fix build regressions. Spotted by Arnaldo. Signed-off-by: David S. Miller commit 2404043a665a9f4c748ab81eef29c76b3e443801 Author: David S. Miller Date: Fri Nov 10 15:01:14 2006 -0800 [TCP] htcp: Better packing of struct htcp. Based upon a patch by Joe Perches. Signed-off-by: David S. Miller commit d3a1be9cba86c4385a5fe46673bbb4730551f454 Author: Brian Haley Date: Fri Nov 10 14:54:51 2006 -0800 [IPv6]: Only modify checksum for UDP Only change upper-layer checksum from 0 to 0xFFFF for UDP (as RFC 768 states), not for others as RFC 4443 doesn't require it. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit f465e489c457821751f6253abaaf28c10f9d8895 Author: Thomas Graf Date: Fri Nov 10 14:11:04 2006 -0800 [IPv6] rules: Remove bogus tos validation check Noticed by Al Viro: (frh->tos & ~IPV6_FLOWINFO_MASK)) where IPV6_FLOWINFO_MASK is htonl(0xfffffff) and frh->tos is u8, which makes no sense here... Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 339bf98ffc6a8d8eb16fc532ac57ffbced2f8a68 Author: Thomas Graf Date: Fri Nov 10 14:10:15 2006 -0800 [NETLINK]: Do precise netlink message allocations where possible Account for the netlink message header size directly in nlmsg_new() instead of relying on the caller calculate it correctly. Replaces error handling of message construction functions when constructing notifications with bug traps since a failure implies a bug in calculating the size of the skb. Signed-off-by: Thomas Graf Acked-by: Paul Moore Signed-off-by: David S. Miller commit a94f723d595ee085f81b1788d18e031af7eeba91 Author: Gerrit Renker Date: Fri Nov 10 14:06:49 2006 -0800 [TCP]: Remove dead code in init_sequence This removes two redundancies: 1) The test (skb->protocol == htons(ETH_P_IPV6) in tcp_v6_init_sequence() is always true, due to * tcp_v6_conn_request() is the only function calling this one * tcp_v6_conn_request() redirects all skb's with ETH_P_IP protocol to tcp_v4_conn_request() [ cf. top of tcp_v6_conn_request()] 2) The first argument, `struct sock *sk' of tcp_v{4,6}_init_sequence() is never used. Signed-off-by: Gerrit Renker Signed-off-by: David S. Miller commit 6f4e5fff1e4d46714ea554fd83e44eab534e8b11 Author: Gerrit Renker Date: Fri Nov 10 17:43:06 2006 -0200 [DCCP]: Support for partial checksums (RFC 4340, sec. 9.2) This patch does the following: a) introduces variable-length checksums as specified in [RFC 4340, sec. 9.2] b) provides necessary socket options and documentation as to how to use them c) basic support and infrastructure for the Minimum Checksum Coverage feature [RFC 4340, sec. 9.2.1]: acceptability tests, user notification and user interface In addition, it (1) fixes two bugs in the DCCPv4 checksum computation: * pseudo-header used checksum_len instead of skb->len * incorrect checksum coverage calculation based on dccph_x (2) removes dccp_v4_verify_checksum() since it reduplicates code of the checksum computation; code calling this function is updated accordingly. (3) now uses skb_checksum(), which is safer than checksum_partial() if the sk_buff has is a non-linear buffer (has pages attached to it). (4) fixes an outstanding TODO item: * If P.CsCov is too large for the packet size, drop packet and return. The code has been tested with applications, the latest version of tcpdump now comes with support for partial DCCP checksums. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit a11d206d0f88e092419877c7f706cafb5e1c2e57 Author: YOSHIFUJI Hideaki Date: Sat Nov 4 20:11:37 2006 +0900 [IPV6]: Per-interface statistics support. For IP MIB (RFC4293). Signed-off-by: YOSHIFUJI Hideaki commit 7a3025b1b3a0173be5de6ced18754b909da27b38 Author: YOSHIFUJI Hideaki Date: Fri Oct 13 16:17:25 2006 +0900 [IPV6]: Introduce ip6_dst_idev() to get inet6_dev{} stored in dst_entry{}. Otherwise, we will see a lot of casts... Signed-off-by: YOSHIFUJI Hideaki commit 40aa7b90a9b41a2162c829fd6cd34a09056a7ddb Author: YOSHIFUJI Hideaki Date: Thu Oct 19 13:50:09 2006 +0900 [IPV6] ROUTE: Use &rt->u.dst instead of cast. Signed-off-by: YOSHIFUJI Hideaki commit 33e93c9699981024cc99fb23a0545fb19d23847d Author: YOSHIFUJI Hideaki Date: Sat Oct 14 02:00:56 2006 +0900 [IPV6] ROUTE: Use macros to format /proc/net/ipv6_route. Signed-off-by: YOSHIFUJI Hideaki commit d83ca5accb256de1b44835cd222bfdc3207bd7dc Author: Gerrit Renker Date: Fri Nov 10 16:29:14 2006 -0200 [DCCP]: Update code comments for Step 2/3 Sorts out the comments for processing steps 2,3 in section 8.5 of RFC 4340. All comments have been updated against this document, and the reference to step 2 has been made consistent throughout the files. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit cf557926f6955b4c3fa55e81fdb3675e752e8eed Author: Gerrit Renker Date: Fri Nov 10 16:08:37 2006 -0200 [DCCP]: tidy up dccp_v{4,6}_conn_request This is a code simplification to remove reduplicated code by concentrating and abstracting shared code. Detailed Changes: commit f45b3ec481581f24719d8ab0bc812c02fcedc2bc Author: Ian McDonald Date: Fri Nov 10 13:09:10 2006 -0200 [DCCP]: Fix logfile overflow This patch fixes data being spewed into the logs continually. As the code stood if there was a large queue and long delays timeo would go down to zero and never get reset. This fixes it by resetting timeo. Put constant into header as well. Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit fec5b80e4924f638418c21b09165dce8b79fee86 Author: Ian McDonald Date: Fri Nov 10 13:04:52 2006 -0200 [DCCP]: Fix DCCP Probe Typo Fixes a typo in Kconfig, patch is by Ian McDonald and is re-sent from http://www.mail-archive.com/dccp@vger.kernel.org/msg00579.html Signed-off-by: Ian McDonald Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 73c9e02c22e35e29db6d0fdec994d261fcfd82c0 Author: Gerrit Renker Date: Fri Nov 10 13:01:31 2006 -0200 [DCCPv6]: remove forward declarations in ipv6.c This does the same for ipv6.c as the preceding one does for ipv4.c: Only the inet_connection_sock_af_ops forward declarations remain, since at least dccp_ipv6_mapped has a circular dependency to dccp_v6_request_recv_sock. No code change, merely re-ordering. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 3d2fe62b8d8522722c4fe46b8af13520b73848c4 Author: Gerrit Renker Date: Fri Nov 10 12:52:36 2006 -0200 [DCCPv4]: remove forward declarations in ipv4.c This relates to Arnaldo's announcement in http://www.mail-archive.com/dccp@vger.kernel.org/msg00604.html Originally this had been part of the Oops fix and is a revised variant of http://www.mail-archive.com/dccp@vger.kernel.org/msg00598.html No code change, merely reshuffling, with the particular objective of having all request_sock_ops close(r) together for more clarity. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 8a73cd09d96aa01743316657fc4e6864fe79b703 Author: Gerrit Renker Date: Fri Nov 10 12:32:01 2006 -0200 [DCCP]: calling dccp_v{4,6}_reqsk_send_ack is a BUG This patch removes two functions, the send_ack functions of request_sock, which are not called/used by the DCCP code. It is correct that these functions are not called, below is a justification why calling these functions (on a passive socket in the LISTEN/RESPOND state) would mean a DCCP protocol violation. A) Background: using request_sock in TCP: commit f6484f7c7ad22e4bb018875c386d6a7aaa441426 Author: Arnaldo Carvalho de Melo Date: Fri Nov 10 12:01:52 2006 -0200 [DCCP] timewait: Remove leftover extern declarations Gerrit Renker noticed dccp_tw_deschedule and submitted a patch with a FIXME, but as he suggests in the same patch the best thing is to just ditch this declaration, while doing that also noticed that tcp_tw_count is as well not defined anywhere, so ditch it too. Signed-off-by: Arnaldo Carvalho de Melo commit d23c7107bfbaac955289685c522c7ff99dad3780 Author: Gerrit Renker Date: Fri Nov 10 11:46:34 2006 -0200 [DCCP]: Simplify jump labels in dccp_v{4,6}_rcv This is a code simplification and was singled out from the DCCPv6 Oops patch on http://www.mail-archive.com/dccp@vger.kernel.org/msg00600.html It mainly makes the code consistent between ipv{4,6}.c for the functions dccp_v4_rcv dccp_v6_rcv and removes the do_time_wait label to simplify code somewhat. Commiter note: fixed up a compile problem, trivial. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 9b42078ed6edfe04e9dc9a59b946ad912aeef717 Author: Gerrit Renker Date: Fri Nov 10 11:22:32 2006 -0200 [DCCP]: Combine allocating & zeroing header space on skb This is a code simplification: it combines three often recurring operations into one inline function, * allocate `len' bytes header space in skb * fill these `len' bytes with zeroes * cast the start of this header space as dccp_hdr Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 89e7e57778ecd8744fee97491300f05a9fb1388a Author: Gerrit Renker Date: Fri Nov 10 11:13:33 2006 -0200 [DCCPv6]: Add a FIXME for missing IPV6_PKTOPTIONS This refers to the possible memory leak pointed out in http://www.mail-archive.com/dccp@vger.kernel.org/msg00574.html, fixed by David Miller in http://www.mail-archive.com/netdev@vger.kernel.org/msg24881.html and adds a FIXME to point out where code is missing. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 60361be1be7854cbffb6dc268d1bc094da33431c Author: Gerrit Renker Date: Fri Nov 10 02:13:56 2006 -0200 [DCCP]: set safe upper bound for option length This is a re-send from http://www.mail-archive.com/dccp@vger.kernel.org/msg00553.html It is the same patch as before, but I have built in Arnaldo's suggestions pointed out in that posting. Signed-off-by: Gerrit Renker Signed-off-by: Arnaldo Carvalho de Melo commit 931731123a103cfb3f70ac4b7abfc71d94ba1f03 Author: David S. Miller Date: Thu Nov 9 19:58:25 2006 -0800 [TCP]: Don't set SKB owner in tcp_transmit_skb(). The data itself is already charged to the SKB, doing the skb_set_owner_w() just generates a lot of noise and extra atomics we don't really need. Lmbench improvements on lat_tcp are minimal: before: TCP latency using localhost: 23.2701 microseconds TCP latency using localhost: 23.1994 microseconds TCP latency using localhost: 23.2257 microseconds after: TCP latency using localhost: 22.8380 microseconds TCP latency using localhost: 22.9465 microseconds TCP latency using localhost: 22.8462 microseconds Signed-off-by: David S. Miller commit ef56e622c61e74dd6077615c9ea76c5132195880 Author: Stephen Hemminger Date: Thu Nov 9 16:37:26 2006 -0800 [NET] ip-sysctl.txt: Alphabetize. Rearrange TCP entries in alpha order. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 35bfbc94070e480f350c868abc4ff9f77e7f2051 Author: Stephen Hemminger Date: Thu Nov 9 16:36:36 2006 -0800 [TCP]: Allow autoloading of congestion control via setsockopt. If user has permision to load modules, then autoload then attempt autoload of TCP congestion module. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit ce7bc3bf15cbf5dc5a5587ccb6b04c5b4dde4336 Author: Stephen Hemminger Date: Thu Nov 9 16:35:15 2006 -0800 [TCP]: Restrict congestion control choices. Allow normal users to only choose among a restricted set of congestion control choices. The default is reno and what ever has been configured as default. But the policy can be changed by administrator at any time. For example, to allow any choice: cp /proc/sys/net/ipv4/tcp_available_congestion_control \ /proc/sys/net/ipv4/tcp_allowed_congestion_control Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 3ff825b28d3345ef381eceae22bf9d92231f23dc Author: Stephen Hemminger Date: Thu Nov 9 16:32:06 2006 -0800 [TCP]: Add tcp_available_congestion_control sysctl. Create /proc/sys/net/ipv4/tcp_available_congestion_control that reflects currently available TCP choices. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit b68dbcab1dc70938fa5516d0ee82c0bf94e9a768 Author: Vlad Yasevich Date: Thu Nov 9 16:29:57 2006 -0800 [SCTP]: Fix warning An alternate solution would be to make the digest a pointer, allocate it in sctp_endpoint_init() and free it in sctp_endpoint_destroy(). I guess I should have originally done it this way... CC [M] net/sctp/sm_make_chunk.o net/sctp/sm_make_chunk.c: In function 'sctp_unpack_cookie': net/sctp/sm_make_chunk.c:1358: warning: initialization discards qualifiers from pointer target type The reason is that sctp_unpack_cookie() takes a const struct sctp_endpoint and modifies the digest in it (digest being embedded in the struct, not a pointer). Make digest a pointer to fix this warning. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 9ec75fe85c58471db958386c1604e5006a2e2f69 Author: David S. Miller Date: Thu Nov 9 16:26:09 2006 -0800 [IPV6] tcp: Fix typo _read_mostly --> __read_mostly. Signed-off-by: David S. Miller commit 494b4e7d819246bad67c40897b9eeaf0ce18d5ff Author: David S. Miller Date: Thu Nov 9 16:23:22 2006 -0800 [DCCP]: Fix typo _read_mostly --> __read_mostly. Signed-off-by: David S. Miller commit 72a3effaf633bcae9034b7e176bdbd78d64a71db Author: Eric Dumazet Date: Thu Nov 16 02:30:37 2006 -0800 [NET]: Size listen hash tables using backlog hint We currently allocate a fixed size (TCP_SYNQ_HSIZE=512) slots hash table for each LISTEN socket, regardless of various parameters (listen backlog for example) On x86_64, this means order-1 allocations (might fail), even for 'small' sockets, expecting few connections. On the contrary, a huge server wanting a backlog of 50000 is slowed down a bit because of this fixed limit. This patch makes the sizing of listen hash table a dynamic parameter, depending of : - net.core.somaxconn tunable (default is 128) - net.ipv4.tcp_max_syn_backlog tunable (default : 256, 1024 or 128) - backlog value given by user application (2nd parameter of listen()) For large allocations (bigger than PAGE_SIZE), we use vmalloc() instead of kmalloc(). We still limit memory allocation with the two existing tunables (somaxconn & tcp_max_syn_backlog). So for standard setups, this patch actually reduce RAM usage. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 3c62f75aac7348ee262b1295cfcfeb3473f76815 Author: David Kimdon Date: Thu Nov 9 16:16:21 2006 -0800 [PKT_SCHED]: Make sch_fifo.o available when CONFIG_NET_SCHED is not set. Based on patch by Patrick McHardy. Add a new option, NET_SCH_FIFO, which provides a simple fifo qdisc without requiring CONFIG_NET_SCHED. The d80211 stack needs a generic fifo qdisc for WME. At present it uses net/d80211/fifo_qdisc.c which is functionally equivalent to sch_fifo.c. This patch will allow the d80211 stack to remove net/d80211/fifo_qdisc.c and use sch_fifo.c instead. Signed-off-by: David Kimdon Signed-off-by: David S. Miller commit 3dfbcc411e461db51a1ac1aa1c6ebe2c5a0275a0 Author: Thomas Graf Date: Thu Nov 9 15:23:20 2006 -0800 [NET] rules: Add support to invert selectors Introduces a new flag FIB_RULE_INVERT causing rules to apply if the specified selector doesn't match. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 1f6c9557e8206757c91b5737bb8dbd5b1ae3a773 Author: Thomas Graf Date: Thu Nov 9 15:22:48 2006 -0800 [NET] rules: Share common attribute validation policy Move the attribute policy for the non-specific attributes into net/fib_rules.h and include it in the respective protocols. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit b8964ed9fa727109c9084abc807652ebfb681c18 Author: Thomas Graf Date: Thu Nov 9 15:22:18 2006 -0800 [NET] rules: Protocol independant mark selector Move mark selector currently implemented per protocol into the protocol independant part. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 5f300893fdd3b6e30a226c9a848eaa39b99a6431 Author: Thomas Graf Date: Thu Nov 9 15:21:41 2006 -0800 [IPV4] nl_fib_lookup: Rename fl_fwmark to fl_mark For the sake of consistency. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 47dcf0cb1005e86d0eea780f2984b2e7490f63cd Author: Thomas Graf Date: Thu Nov 9 15:20:38 2006 -0800 [NET]: Rethink mark field in struct flowi Now that all protocols have been made aware of the mark field it can be moved out of the union thus simplyfing its usage. The config options in the IPv4/IPv6/DECnet subsystems to enable respectively disable mark based routing only obfuscate the code with ifdefs, the cost for the additional comparison in the flow key is insignificant, and most distributions have all these options enabled by default anyway. Therefore it makes sense to remove the config options and enable mark based routing by default. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 82e91ffef60e6eba9848fe149ce1eecd2b5aef12 Author: Thomas Graf Date: Thu Nov 9 15:19:14 2006 -0800 [NET]: Turn nfmark into generic mark nfmark is being used in various subsystems and has become the defacto mark field for all kinds of packets. Therefore it makes sense to rename it to `mark' and remove the dependency on CONFIG_NETFILTER. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit 0afc46c4683df512eef34a71a85065dc555c2af2 Author: Ralf Baechle Date: Wed Nov 8 23:02:19 2006 -0800 [DECNET]: Don't clear memory twice. When dn_neigh.c was converted from kmalloc to kzalloc in commit 0da974f4f303a6842516b764507e3c0a03f41e5a it was missed that dn_neigh_seq_open was actually clearing the allocation twice was missed. Signed-off-by: Ralf Baechle Signed-off-by: David S. Miller commit 776810217ac558351cdcca01c4c6a9474e4a68c2 Author: Andrew Morton Date: Wed Nov 8 22:46:26 2006 -0800 [XFRM]: uninline xfrm_selector_match() Six callsites, huge. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit fcc70d5fdc9b0bd3e99c9dacb8198224af2b4b42 Author: Peter Zijlstra Date: Wed Nov 8 22:44:35 2006 -0800 [BLUETOOTH] lockdep: annotate sk_lock nesting in AF_BLUETOOTH ============================================= [ INFO: possible recursive locking detected ] 2.6.18-1.2726.fc6 #1 commit 67f83cbf081a70426ff667e8d14f94e13ed3bdca Author: Venkat Yekkirala Date: Wed Nov 8 17:04:26 2006 -0600 SELinux: Fix SA selection semantics Fix the selection of an SA for an outgoing packet to be at the same context as the originating socket/flow. This eliminates the SELinux policy's ability to use/sendto SAs with contexts other than the socket's. With this patch applied, the SELinux policy will require one or more of the following for a socket to be able to communicate with/without SAs: 1. To enable a socket to communicate without using labeled-IPSec SAs: allow socket_t unlabeled_t:association { sendto recvfrom } 2. To enable a socket to communicate with labeled-IPSec SAs: allow socket_t self:association { sendto }; allow socket_t peer_sa_t:association { recvfrom }; Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit 6b877699c6f1efede4545bcecc367786a472eedb Author: Venkat Yekkirala Date: Wed Nov 8 17:04:09 2006 -0600 SELinux: Return correct context for SO_PEERSEC Fix SO_PEERSEC for tcp sockets to return the security context of the peer (as represented by the SA from the peer) as opposed to the SA used by the local/source socket. Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit c1a856c9640c9ff3d70bbd8214b6a0974609eef8 Author: Venkat Yekkirala Date: Wed Nov 8 17:03:44 2006 -0600 SELinux: Various xfrm labeling fixes Since the upstreaming of the mlsxfrm modification a few months back, testing has resulted in the identification of the following issues/bugs that are resolved in this patch set. 1. Fix the security context used in the IKE negotiation to be the context of the socket as opposed to the context of the SPD rule. 2. Fix SO_PEERSEC for tcp sockets to return the security context of the peer as opposed to the source. 3. Fix the selection of an SA for an outgoing packet to be at the same context as the originating socket/flow. The following would be the result of applying this patchset: - SO_PEERSEC will now correctly return the peer's context. - IKE deamons will receive the context of the source socket/flow as opposed to the SPD rule's context so that the negotiated SA will be at the same context as the source socket/flow. - The SELinux policy will require one or more of the following for a socket to be able to communicate with/without SAs: 1. To enable a socket to communicate without using labeled-IPSec SAs: allow socket_t unlabeled_t:association { sendto recvfrom } 2. To enable a socket to communicate with labeled-IPSec SAs: allow socket_t self:association { sendto }; allow socket_t peer_sa_t:association { recvfrom }; This Patch: Pass correct security context to IKE for use in negotiation Fix the security context passed to IKE for use in negotiation to be the context of the socket as opposed to the context of the SPD rule so that the SA carries the label of the originating socket/flow. Signed-off-by: Venkat Yekkirala Signed-off-by: James Morris commit e8db8c99100750ade5a9b4072b9469cab718a5b7 Author: Al Viro Date: Wed Nov 8 00:28:44 2006 -0800 [BLUETOOTH] rfcomm endianness bug: param_mask is little-endian on the wire Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 6ba9c755e5f044c6a37296481bf6a861e4193a37 Author: Al Viro Date: Wed Nov 8 00:28:19 2006 -0800 [BLUETOOTH]: rfcomm endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 1bc5d4483a83349f143e2bbf23ec144cd7e21e89 Author: Al Viro Date: Wed Nov 8 00:27:57 2006 -0800 [BLUETOOTH]: bnep endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit e41d21697326a38a0a871c515db88fa310177e24 Author: Al Viro Date: Wed Nov 8 00:27:36 2006 -0800 [BLUETOOTH] bnep endianness bug: filtering by packet type <= and => don't work well on net-endian... Signed-off-by: Al Viro Signed-off-by: David S. Miller commit ae08e1f092210619fe49551aa3ed0dc0003d5880 Author: Al Viro Date: Wed Nov 8 00:27:11 2006 -0800 [IPV6]: ip6_output annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 98a4a86128d7179b22365e16bf880e849e20bc7d Author: Al Viro Date: Wed Nov 8 00:26:51 2006 -0800 [NETFILTER]: trivial annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 0e11c91e1e912bc4db5b71607d149e7e9a77e756 Author: Al Viro Date: Wed Nov 8 00:26:29 2006 -0800 [AF_PACKET]: annotate Weirdness: the third argument of socket() is net-endian here. Oh, well - it's documented in packet(7). Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3fbd418acc264e7069483d04165633ed3bfad80c Author: Al Viro Date: Wed Nov 8 00:26:05 2006 -0800 [LLC]: anotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit fede70b9862635ab1bed84ab3d765e9069616b02 Author: Al Viro Date: Wed Nov 8 00:25:41 2006 -0800 [IPV6]: annotate inet6_csk_search_req() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 90bcaf7b4a33bb9b100cc06869f0c033a870d4a0 Author: Al Viro Date: Wed Nov 8 00:25:17 2006 -0800 [IPV6]: flowlabels are net-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 92d9ece7af9c84bfbd1ff640926fac5b573a09f7 Author: Al Viro Date: Wed Nov 8 00:24:47 2006 -0800 [INET]: annotate inet_ecn.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8a9ae2110baf39b2dc53c2891e0705895a8829a9 Author: Al Viro Date: Wed Nov 8 00:24:26 2006 -0800 [NET]: annotate dsfield.h Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5d36b1803d875cf101fdb972ff9c56663e508e39 Author: Al Viro Date: Wed Nov 8 00:24:06 2006 -0800 [XFRM]: annotate ->new_mapping() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d29ef86b0a497dd2c4f9601644a15392f7e21f73 Author: Al Viro Date: Wed Nov 8 00:23:42 2006 -0800 [AF_KEY]: annotate Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d5a0a1e3109339090769e40fdaa62482fcf2a717 Author: Al Viro Date: Wed Nov 8 00:23:14 2006 -0800 [IPV4]: encapsulation annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 4806126d78345ad8a99bca1367a8a39c08e19393 Author: Al Viro Date: Wed Nov 8 00:22:34 2006 -0800 [SUNRPC]: annotate hash_ip() Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8a74ff7770f4795d7580392890fdf06821c78769 Author: Al Viro Date: Wed Nov 8 00:22:08 2006 -0800 [IPV6]: annotate ipv6 mcast Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 44473a6b279794f058955aec5c36975e74deb541 Author: Al Viro Date: Wed Nov 8 00:21:46 2006 -0800 [IPV6]: annotate struct frag_hdr Signed-off-by: Al Viro Signed-off-by: David S. Miller commit a27ee7a4dd30feda1954950b5840455a51ae1507 Author: Al Viro Date: Wed Nov 8 00:21:21 2006 -0800 [IPV6]: annotate icmpv6 headers Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 04ce69093f91547d3a7c4fc815d2868195591340 Author: Al Viro Date: Wed Nov 8 00:21:01 2006 -0800 [IPV6]: 'info' argument of ipv6 ->err_handler() is net-endian Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 8c689a6eae2d83970e4f34753d513e96fb97a025 Author: Al Viro Date: Wed Nov 8 00:20:21 2006 -0800 [XFRM]: misc annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d2ecd9ccd0694278a8c1fa179d1d058ee66e2297 Author: Al Viro Date: Wed Nov 8 00:20:00 2006 -0800 [IPV6]: annotate inet6_hashtables Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 5a874db4d9bfd8a4c6324d844a4d1c7cfa5cf2c4 Author: Al Viro Date: Wed Nov 8 00:19:38 2006 -0800 [NET]: ipconfig and nfsroot annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit 3e6c8cd5669c1202fe806ce3e13d701f20a71c7e Author: Al Viro Date: Wed Nov 8 00:19:09 2006 -0800 [TIPC]: endianness annotations Signed-off-by: Al Viro Signed-off-by: David S. Miller commit d54a81d341af80875c201890500f727c8188dd9b Author: David S. Miller Date: Sat Dec 2 21:00:06 2006 -0800 [IPV6] NDISC: Calculate packet length correctly for allocation. MAX_HEADER does not include the ipv6 header length in it, so we need to add it in explicitly. With help from YOSHIFUJI Hideaki. Signed-off-by: David S. Miller commit aae343d493df965ac3abec1bd97cccfe44a7d920 Author: Jeff Garzik Date: Sat Dec 2 07:14:39 2006 -0500 [netdrvr] skge: build fix Signed-off-by: Jeff Garzik commit 7bdd21cef9e5dbc3d3a718c55bb3d0da024644da Author: Len Brown Date: Sat Dec 2 02:27:46 2006 -0500 Revert "ACPI: SCI interrupt source override" This reverts commit 281ea49b0c294649a6de47a6f8fbe5611137726b, which broke ACPI Interrupt source overrides that move the SCI from one IRQ in PIC mode to another in IOAPIC mode. If the SCI shared an interrupt line with another device, this would result in a "irq 18: nobody cared" type failure. http://bugzilla.kernel.org/show_bug.cgi?id=7601 Signed-off-by: Len Brown commit 71bd7877d470b4037c9ef0d060ac39228f0f6289 Author: Amit S. Kale Date: Fri Dec 1 05:36:22 2006 -0800 [PATCH] NetXen: driver cleanup, removed unnecessary __iomem type casts Signed-off-by: Amit S. Kale netxen_nic.h | 38 ++++++++------------------------------ netxen_nic_ethtool.c | 5 ++--- netxen_nic_hw.c | 12 +++++------- netxen_nic_main.c | 8 +++----- 4 files changed, 18 insertions(+), 45 deletions(-) Signed-off-by: Jeff Garzik commit e8a2b6a4207332a2d59628a12cece9e8c1d769e4 Author: Andy Fleming Date: Fri Dec 1 12:01:06 2006 -0600 [PATCH] PHY: Add support for configuring the PHY connection interface Most PHYs connect to an ethernet controller over a GMII or MII interface. However, a growing number are connected over different interfaces, such as RGMII or SGMII. The ethernet driver will tell the PHY what type of connection it is by setting it manually, or passing it in through phy_connect (or phy_attach). Changes include: * Updates to documentation * Updates to PHY Lib consumers * Changes to PHY Lib to add interface support * Some minor changes to whitespace in phy.h * gianfar driver now detects interface and passes appropriate value to PHY Lib Signed-off-by: Andrew Fleming Signed-off-by: Jeff Garzik commit cabdfb373ae74036225826ce260c16a8e260eb0b Author: Stephen Hemminger Date: Fri Dec 1 16:36:22 2006 -0800 [PATCH] chelesio: transmit locking (plus bug fix). If transmit lock is contended on, then push return code back and retry at higher level. Bugfix: If buffer is reallocated because of lack of headroom and the send is blocked, then drop packet. This is necessary because caller would end up requeuing a freed skb. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 56f643c28c5df63693d7c66e56f8e4767cfd7a65 Author: Stephen Hemminger Date: Fri Dec 1 16:36:21 2006 -0800 [PATCH] chelsio: statistics improvement Cleanup statistics management: * Get rid of duplicate or unused statistics * Convert high volume stats to per-cpu and 64 bit Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 325dde48914e8ec1614d79ffacdbf9c0b8d24f42 Author: Stephen Hemminger Date: Fri Dec 1 16:36:20 2006 -0800 [PATCH] chelsio: add MSI support Using MSI can avoid sharing IRQ and associated overhead. Tested on PCI-X. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 57834ca152d5979f3f84f4e25f29f423e19d38fa Author: Stephen Hemminger Date: Fri Dec 1 16:36:19 2006 -0800 [PATCH] chelsio: use standard CRC routines Replace driver crc calculation with existing library. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a7377a50b88fce135249cfa68dfe02fac4f5fd61 Author: Stephen Hemminger Date: Fri Dec 1 16:36:18 2006 -0800 [PATCH] chelsio: cleanup pm3393 code Replace macro with function for updating RMON values Cleanups: * remove unused enum's * Fix comment format Signed-off-by: Stephen HEmminger Signed-off-by: Jeff Garzik commit 352c417ddb593de757f0ee1fa490cb5444778c41 Author: Stephen Hemminger Date: Fri Dec 1 16:36:17 2006 -0800 [PATCH] chelsio: add 1G swcixw aupport Add support for 1G versions of Chelsio devices. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f1d3d38af75789f1b82969b83b69cab540609789 Author: Stephen Hemminger Date: Fri Dec 1 16:36:16 2006 -0800 [PATCH] chelsio: add support for other 10G boards Add support for other versions of the 10G Chelsio boards. This is basically a port of the vendor driver with the TOE features removed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 415294ecbb32ddbd0a7a2b7bae0b60fedfa09cc4 Author: Stephen Hemminger Date: Fri Dec 1 16:36:15 2006 -0800 [PATCH] chelsio: remove unused mutex This mutex is unused in current (non TOE) code. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 1270266cf94c0de5bd1121f15aff9af8556dee84 Author: Stephen Hemminger Date: Fri Dec 1 16:36:14 2006 -0800 [PATCH] chelsio: use kzalloc Use kzalloc in several places. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 11e5a202ca9e93ecb5ff314a6a345e0e4db77d97 Author: Stephen Hemminger Date: Fri Dec 1 16:36:13 2006 -0800 [PATCH] chelsio: whitespace fixes Fix indentation and blank/tab issues. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 6b4bdde61bd1f8451801e5fb092cbe2d1050984e Author: Stephen Hemminger Date: Fri Dec 1 16:10:50 2006 -0800 [PATCH] amd8111e use standard CRC lib I noticed this driver (and several others) reinvent their own copy of the existing CRC library. Don't have the hardware, but tested by extracting code and comparing result. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit b0a20ded562cfa60b0d45d269e416f541f2d5aaf Author: Stephen Hemminger Date: Fri Dec 1 14:29:37 2006 -0800 [PATCH] sky2: msi enhancements. If using Message Signaled Interrupts (MSI) then the IRQ will never be shared. Don't call pci_disable_msi() unless using MSI. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 794b2bd20f620892616b09466186ff27101d9e5b Author: Stephen Hemminger Date: Fri Dec 1 14:29:36 2006 -0800 [PATCH] sky2: kfree_skb_any needed It is possible for the sky2 driver NAPI poll routine to be called with IRQ's disabled if netpoll is trying to make space in the tx queue. This is an obscure path, but if it happens, the kfree_skb needs to happen via softirq. Calling kfree_skb with IRQ's disabled is a not allowed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 8df9a87604e38529898ce35c610792c03c8713a2 Author: Stephen Hemminger Date: Fri Dec 1 14:29:35 2006 -0800 [PATCH] sky2: fixes for Yukon EC_U chip revisions Update workarounds for 88E803X based on the latest SysKonnect vendor driver version (8.41). Tested on EC_U rev A1, only. These up the receive performance. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 508f89e75ab26506fcdbb1b6f7166029e4c56855 Author: Stephen Hemminger Date: Fri Dec 1 14:29:34 2006 -0800 [PATCH] sky2: add Dlink 560SX id Add new PCI ID for DLink 560SX. This from the latest SysKonnect vendor driver (version 8.41). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5df791117afedf7fdc67dc0842dab4859e3edf69 Author: Stephen Hemminger Date: Fri Dec 1 14:29:33 2006 -0800 [PATCH] sky2: receive error handling fix If sky2 detects out of memory, or gets a bad frame, it reuses the same receive buffer, but forgets to poke the hardware. This could lead to the receiver getting stuck if there were lots of errors. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 758140900a82e3ed3bb2be1d4705dd352fe44825 Author: Stephen Hemminger Date: Fri Dec 1 11:41:08 2006 -0800 [PATCH] skge: don't clear MC state on link down I would rather fix Andy's problem by not clearing multicast information on link down. Also, add code to restore multicast state after ethtool phy reset. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f789dfdc44d5bbc04fb7f06e1e4eb682169acaaf Author: Mariusz Kozlowski Date: Thu Nov 30 04:27:00 2006 -0700 [PATCH] mv643xx_eth: fix unbalanced parentheses in macros Signed-off-by: Mariusz Kozlowski Signed-off-by: Dale Farnsworth Signed-off-by: Jeff Garzik commit 7628b0a8c01a02966d2228bdf741ddedb128e8f8 Author: Samuel Thibault Date: Thu Nov 30 07:11:24 2006 -0500 drivers/net/tulip/dmfe: support basic carrier detection Signed-off-by: Jeff Garzik commit 88041b79f864dcd7f95e1d594eba683244dd968a Author: Stephen Hemminger Date: Fri Nov 17 13:41:58 2006 -0800 [PATCH] netdev: don't allow register_netdev with blank name This bit of old backwards compatibility cruft can be removed in 2.6.20. If there is still an device that calls register_netdev() with a zero or blank name, it will get -EINVAL from register_netdevice(). Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 5ac366152a44da60c22c08df619012b1e3bc1adb Author: Randy Dunlap Date: Thu Nov 16 21:39:11 2006 -0800 [PATCH] netxen: uses PCI drivers/built-in.o: In function `netxen_nic_remove': netxen_nic_main.c:(.text+0x31b4d): undefined reference to `pci_disable_msi' netxen_nic_main.c:(.text+0x31b8e): undefined reference to `pci_release_regions' drivers/built-in.o: In function `netxen_init_module': netxen_nic_main.c:(.init.text+0x3f17): undefined reference to `pci_module_init' make: *** [.tmp_vmlinux1] Error 1 Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit cbee9f9115da7eac5dc44a450f2dab343236cb2c Author: Stephen Hemminger Date: Fri Nov 17 17:01:52 2006 -0800 [PATCH] chelsio: use kzalloc Use kzalloc() in chelsio driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 86c27d275507d81da179b571f35d34df61f7c6d3 Author: Stephen Hemminger Date: Fri Nov 17 17:00:34 2006 -0800 [PATCH] chelsio: use __netif_rx_schedule_prep The chelsio driver can use __netif_rx_schedule_prep instead of it's own test_and_set inline. Applies after the previous 4 patches. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e487647abbe66390b99f9a32ede4688b255282dd Author: Stephen Hemminger Date: Fri Nov 17 11:25:23 2006 -0800 [PATCH] chelsio: free_netdev Network devices need to be free'd with free_netdev() not kfree() otherwise the kernel will panic if an application has /sys/class/net/ethX/value open and reads it. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit bac7e8746ce562556b7bd750c7652154483b15e2 Author: Stephen Hemminger Date: Fri Nov 17 11:23:41 2006 -0800 [PATCH] chelsio: procectomy Complete removal of proc stuff from chelsio. The orignal driver had a debug proc interface, but not all the code got removed. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 205781510d2a55a5c231f6e51df5b6c4aa765143 Author: Stephen Hemminger Date: Fri Nov 17 11:21:22 2006 -0800 [PATCH] chelsio: whitespace cleanup Whitespace cleanups. Replace leading spaces with tabs and fix indentation Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 9300abd4c60d385683944b9bc5cbf2c7c2cc6e78 Author: Stephen Hemminger Date: Fri Nov 17 11:21:33 2006 -0800 [PATCH] chelsio: remove leftover code The chelsio network driver has some extra ifdef's that got in because the driver was originally based on code that worked on 2.4 as well as 2.6. This patch removes the dead code. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit a4f0c2ca8c475e00caa469b4574950852c376076 Author: Kim Phillips Date: Wed Nov 15 12:29:35 2006 -0600 [PATCH] Adapt ucc_geth driver to use new of_platform_device support Include of_platform header, and use new of_[un]register_platform_driver() fns. Signed-off-by: Kim Phillips Signed-off-by: Jeff Garzik commit bca79eb7e7a1855947864952fcd878a5ae7b5c92 Author: Randy Dunlap Date: Wed Nov 29 13:15:17 2006 -0800 [PATCH] sundance: use NULL for pointer Use NULL instead of 0 for pointers (cures sparse warnings). drivers/net/sundance.c:1106:16: warning: Using plain integer as NULL pointer drivers/net/sundance.c:1652:16: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit cb8011ad53e0855ef088e0e5a4bcb98fa90c70b6 Author: Amit S. Kale Date: Wed Nov 29 09:00:10 2006 -0800 [PATCH] NetXen: temp monitoring, newer firmware support, mm footprint reduction NetXen: 1G/10G Ethernet Driver updates - Temparature monitoring and device control - Memory footprint reduction - Driver changes to support newer version of firmware Signed-off-by: Amit S. Kale netxen_nic.h | 165 ++++++++++++++++++++++++++++++++-- netxen_nic_ethtool.c | 89 ++++++++++++------ netxen_nic_hdr.h | 71 +++++++++++++- netxen_nic_hw.c | 206 +++++++++++++++++++++++++++++-------------- netxen_nic_hw.h | 8 + netxen_nic_init.c | 239 +++++++++++++++++++++++++++++++++++++++++--------- netxen_nic_ioctl.h | 12 +- netxen_nic_isr.c | 54 +++++------ netxen_nic_main.c | 121 +++++++++++++++++-------- netxen_nic_niu.c | 172 +++++++++++++++++++++++++++-------- netxen_nic_phan_reg.h | 24 ++++- 11 files changed, 891 insertions(+), 270 deletions(-) Signed-off-by: Jeff Garzik commit edf901638144525a140c68be01be1b22e6041a6d Author: Amit S. Kale Date: Wed Nov 29 08:58:11 2006 -0800 [PATCH] NetXen: Fixed /sys mapping between device and driver Signed-off-by: Amit S. Kale netxen_nic_main.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) Signed-off-by: Jeff Garzik commit 38e3a6466f369944a2a1ec9aee9a9e472689d0a9 Author: Larry Finger Date: Sat Nov 25 18:30:03 2006 -0600 [PATCH] softmac: reduce scan debug output When scanning in debug mode, softmac is very chatty in that it puts 3 lines in the logs for each time it scans. This patch has only one line containing all the information previously reported. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 718cc4ca2bfb3263c7ea3ceba9c194f9cd7292e2 Author: Daniel Drake Date: Wed Nov 22 03:15:46 2006 +0000 [PATCH] ieee80211: Provide generic get_stats implementation bcm43xx and ipw2100 currently duplicate the same simplistic get_stats handler. Additionally, zd1211rw requires the same handler to fix a bug where all stats are reported as 0. This patch adds a generic implementation to the ieee80211 layer, which drivers are free to override. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit b1382edef9c06eca337e8982e6040e0699abab82 Author: Daniel Drake Date: Wed Nov 22 00:06:48 2006 +0000 [PATCH] zd1211rw: Use softmac ERP handling functionality This adds zd1211rw driver support for the softmac functionality I added a while back. We now obey changes in basic rates, use short preamble if it is available (but long if the AP says it's not), and send self-CTS in the proper situations. Locking fixed and improved by Ulrich Kunitz. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit b1cd84167b92de0f9fc7aad9cf272261496f4d0b Author: Daniel Drake Date: Wed Nov 22 00:06:38 2006 +0000 [PATCH] zd1211rw: Rename cs_rate to zd_rate These controlset rate constants are also applicable in places outside the controlset, such as in the RTS/CTS control register. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 35f2c7c0ce8eb09d19fb50ed2cd29b6dbea9cd86 Author: Daniel Drake Date: Wed Nov 22 00:06:32 2006 +0000 [PATCH] zd1211rw: Allow channels 1-13 in Japan Eric Goff found that he could not use his ZD1211 device which is programmed for the Japan regulatory domain. It turns out that ZyDAS deviate from the spec here: they do not use the newer Japan region code (0x41) but their drivers do operate as if the newer Japan legal frequency range is in effect. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 850c211ce6948bcd71e505be22b7ead99a425bfa Author: Ulrich Kunitz Date: Wed Nov 22 00:06:19 2006 +0000 [PATCH] zd1211rw: Optimized handling of zero length entries in length info There are a high number of split USB transactions, which contain only one packet but have a length info field. This patch optimizes this code by stopping parsing the length info structure if a zero length field is encountered. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 741fec53f268b691b869ffc70023319406e0cc97 Author: Ulrich Kunitz Date: Wed Nov 22 00:05:53 2006 +0000 [PATCH] zd1211rw: cleanups Bit-field constants in zd_chip.h are now defined using a shift expression. The value 0x08 is now (1 << 3). The fix is intended to improve readability. Remove misleading comment in zd_mac.c: The function already returns -EPERM in managed mode (IW_MODE_INFRA). Remove unused code in zd_mac.c: The unused code intended for debugging rx_status values is no longer useful. Added dump_stack() to ZD_ASSERT macro: Output of the stack helps to debug assertions. Keep in mind that the ZD_ASSERT() macro only results in code, if DEBUG is defined. Improved comments for filter_rx() zd_usb.c: Added driver name to module init and exit functions Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 84bc715c465f76584fc5127955fca0c61592e04b Author: Daniel Drake Date: Wed Nov 22 00:05:30 2006 +0000 [PATCH] zd1211rw: Remove IW_FREQ_AUTO support http://bugzilla.kernel.org/show_bug.cgi?id=7399 zd1211rw's support for IW_FREQ_AUTO is broken: when specified, the driver tries to change to a channel specified in an uninitialized integer. As IW_FREQ_AUTO is hard to implement properly, the solution (at least for now) is to drop support for it and start ignoring the flags like all other wireless drivers do. This has the added advantage that kismet also starts working with zd1211rw, even though kismet requesting IW_FREQ_AUTO is also a bug (fixed in their svn) Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 571d6eee9b5bce28fcbeb7588890ad5ca3f8c718 Author: Arnaldo Carvalho de Melo Date: Tue Nov 21 01:26:49 2006 -0200 [PATCH] Check ieee80211softmac_auth_resp kmalloc result And use kmemdup and kzalloc where applicable Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: John W. Linville commit 8e87295b9578fa46b5f325a7dc42ddbbdad6e0d0 Author: Daniel Drake Date: Fri Nov 17 00:26:40 2006 +0000 [PATCH] zd1211rw: Add ID for Belkin F5D7050 v4000 zd1211b chip 050d:705c v4810 high 00-17-3f AL2230_RF pa0 g--N Tested by Bryan Barnard Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit 229782a336ab21b8eb7aa91dcb0dbdf728e95aef Author: Daniel Drake Date: Fri Nov 17 00:13:48 2006 +0000 [PATCH] zd1211rw: Add ID for Planex GW-US54Mini zd1211 chip 14ea:ab13 v4330 high 00-90-cc AL2230_RF pa0 g--- Tested by Tetsuya Yatagai. Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit e72ba2d328331e9687f0105a7937ea1b1969246c Author: John W. Linville Date: Tue Nov 14 20:08:53 2006 -0500 [PATCH] prism54: correct overly aggressive check of return from pci_set_mwi Failure of pci_set_mwi should not be considered a fatal error. Signed-off-by: John W. Linville commit b6d2b1db0637ff35127f3cc38c04f289a0ee0579 Author: Larry Finger Date: Wed Nov 8 11:04:49 2006 -0600 [PATCH] bcm43xx: correct "Move IV/ICV stripping into ieee80211_rx" In the patch sent by Daniel Drake under the title "[PATCH] ieee80211: Move IV/ICV stripping into ieee80211_rx", a needed line was accidentally removed. (NOTE: I'm pretty sure this was my fault, not Daniel's. -- JWL) Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit cefd9f7f1281c1ead03236f227dad4b163619705 Author: Jeff Garzik Date: Tue Nov 14 11:46:41 2006 -0500 Revert "[PATCH] Add support for Marvell 88e1111S and 88e1145" This reverts commit 477c517903d57047150b01608149e02c6e9d83dd. This patch depended on something that was not yet committed. commit 89e5785fc8a6b9eafd37f2318a9a76d479c796be Author: Haavard Skinnemoen Date: Thu Nov 9 14:51:17 2006 +0100 [PATCH] Atmel MACB ethernet driver Driver for the Atmel MACB on-chip ethernet module. Tested on AVR32/AT32AP7000/ATSTK1000. I've heard rumours that it works with AT91SAM9260 as well, and it may be possible to share some code with the at91_ether driver for AT91RM9200. Hardware documentation can be found in the AT32AP7000 data sheet, which can be downloaded from http://www.atmel.com/dyn/products/datasheets.asp?family_id=682 Changes since previous version: * Probe for PHY ID instead of depending on it being provided through platform_data. * Grab initial ethernet address from the MACB registers instead of depending on platform_data. * Set MII/RMII mode correctly. These changes are mostly about making the driver more compatible with the at91 infrastructure. Signed-off-by: Haavard Skinnemoen Signed-off-by: Jeff Garzik commit b690bdef7c4523bf55103b7a841c454d4674b315 Author: Krzysztof Halasa Date: Mon Nov 13 19:48:54 2006 +0100 [PATCH] WAN: DSCC4 driver requires generic HDLC Another thing, reported recently to me by several people - DSCC4 WAN driver now (and perhaps for the last couple of years+) requires the generic HDLC. I've fixed the Kconfig and moved the DSCC4 option under CONFIG_HDLC so it's consistent visually. Signed-off-by: Krzysztof Halasa Signed-off-by: Jeff Garzik commit 5e123b844a1cbd4ec258cd37847ce4d57fa308c1 Author: Zang Roy-r61911 Date: Wed Nov 8 19:49:13 2006 -0800 [PATCH] Add tsi108/9 On Chip Ethernet device driver support Add tsi108/9 on chip Ethernet controller driver support. The driver code collects the feedback of previous posting form the mailing list and gives the update. MPC7448HPC2 platform in arch/powerpc uses tsi108 bridge. The following is a brief description of the Ethernet controller: The Tsi108/9 Ethernet Controller connects Switch Fabric to two independent Gigabit Ethernet ports,E0 and E1. It uses a single Management interface to manage the two physical connection devices (PHYs). Each Ethernet port has its own statistics monitor that tracks and reports key interface statistics. Each port supports a 256-entry hash table for address filtering. In addition, each port is bridged to the Switch Fabric through a 2-Kbyte transmit FIFO and a 4-Kbyte Receive FIFO. Each Ethernet port also has a pair of internal Ethernet DMA channels to support the transmit and receive data flows. The Ethernet DMA channels use descriptors set up in memory, the memory map of the device, and access via the Switch Fabric. The Ethernet Controller’s DMA arbiter handles arbitration for the Switch Fabric. The Controller also has a register bus interface for register accesses and status monitor control. The PMD (Physical Media Device) interface operates in MII, GMII, or TBI modes. The MII mode is used for connecting with 10 or 100 Mbit/s PMDs. The GMII and TBI modes are used to connect with Gigabit PMDs. Internal data flows to and from the Ethernet Controller through the Switch Fabric. Each Ethernet port uses its transmit and receive DMA channels to manage data flows through buffer descriptors that are predefined by the system (the descriptors can exist anywhere in the system memory map). These descriptors are data structures that point to buffers filled with data ready to transmit over Ethernet, or they point to empty buffers ready to receive data from Ethernet. Signed-off-by: Alexandre Bounine Signed-off-by: Roy Zang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 31f817e9d6f325b10a316bb84237cae3739487ed Author: Jesse Huang Date: Wed Nov 8 19:49:12 2006 -0800 [PATCH] sundance: solve host error problem in low performance embedded system when continune down and up Solve host error problem in low performance embedded system when continune down and up. It will cause IP100A DMA TargetAbort. So we need more safe process to up and down IP100A with wait hardware completely stop and software cur_tx/ dirty_tx/cur_task/last_tx be clear. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit d0bb53e102e10cc90de50953531a163d95da1e07 Author: Andrew Morton Date: Tue Nov 14 10:35:03 2006 -0500 e1000 linkage fix ia64: drivers/built-in.o(.text+0xd9a72): In function `e1000_xmit_frame': : undefined reference to `csum_ipv6_magic' Cc: Auke Kok Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 95d21ff4c64592bdee7f1af2925145bed849c994 Author: Andy Fleming Date: Wed Nov 8 00:11:29 2006 -0600 [PATCH] Add support for Marvell 88e1111S and 88e1145 This patch requires the new support for configurable PHY interfaces. Changes include: * New support for 88e1145 * New support for 88e111s * Fixing 88e1101 driver to not match non-88e1101 PHYs * Increases in feature support across Marvell PHY product line * Fixes a bunch of whitespace issues found by Lindent Signed-off-by: Andrew Fleming Signed-off-by: Jeff Garzik commit f2d71c2d800e68f158a5949e38b23f5140948548 Author: Vitaly Wool Date: Tue Nov 7 13:27:02 2006 +0300 [PATCH] add netpoll support for gianfar: respin The patch inlined below adds NET_POLL_CONTROLLER support for gianfar network driver, slightly modified wrt the comments from Andy Fleming. drivers/net/gianfar.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) Signed-off-by: Vitaly Wool Signed-off-by: Jeff Garzik commit 02e0e5e935cad59a2d30a004df9065e8697543e3 Author: John W. Linville Date: Tue Nov 7 20:53:48 2006 -0500 [PATCH] wireless: clean-up some "check return code" warnings Clean-up some warnings from missing return code checks, mostly from calling pci_enable_device during a PCI resume. Signed-off-by: John W. Linville commit 5398d5901dcb677d24d839d3feac7209e250b161 Author: Larry Finger Date: Sat Nov 4 13:29:50 2006 -0600 [PATCH] ieee80211softmac: fix verbosity when debug disabled SoftMAC contains a number of debug-type messages that continue to print even when debugging is turned off. This patch substitutes dprintkl for printkl for those lines. Signed-off-by: Larry Finger Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 7f424ff4825adeae8d236fb3eafd699e6b2665e1 Author: Larry Finger Date: Thu Nov 2 21:56:52 2006 -0600 [PATCH] bcm43xx: Remove useless core enable/disable messages In the softmac version of bcm43xx, the core scan logs whether each core is enabled or disabled. This information is useless as one of the next steps is to enable all cores. This patch removes this output from the log. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 08c3103a562ed83c4f9ac8fad6f5cb1ebb1f29a0 Author: Larry Finger Date: Wed Nov 1 18:11:18 2006 -0600 [PATCH] bcm43xx: remove badness variable and related routine When the periodic work function in bcm43xx was converted for voluntary preemption to reduce latency, a new function was created to estimate the "badness" of each step, and this quantity was used to determine if preemption should be enabled when periodic work was undertaken. This concept was quite useful while debugging of periodic work was in progress. Now that this routine seems to be working correctly, it is time to simplify the code. This patch keeps the functionality intact, but simplifies the code. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 1494a81410d8c53fa6c800be1e22b6b6f64180e6 Author: Jeff Garzik Date: Tue Nov 7 05:12:16 2006 -0500 [netdrvr] netxen: build fixes Most contributed and Signed-off-by: Andrew Morton with some from me as well. Signed-off-by: Jeff Garzik commit acd70c2bfddb52aee27a4864c160bea7f0d117e1 Author: Jesse Huang Date: Fri Oct 20 14:42:13 2006 -0700 [PATCH] sundance: correct initial and close hardware step. Correct initial and close hardware step. In some embedded system down and up IP100A will cause DMA crash. We add some for safe down and up IP100A. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6b655529c3d817ed1b69cf2dd29e2c3ce5148a2b Author: Andy Fleming Date: Mon Oct 16 16:19:17 2006 -0500 [PATCH] Fixed a number of bugs in the PHY Layer * genphy_update_link is now exported * Added a fix from ncase@xes-inc.com which changes forcing so it only updates the link. Otherwise, it never tries the lower values, since it is always overwriting the speed/duplex values with the current ones, rather than the intended ones. * Fixed a bug where bringing up a PHY with no link caused it to timeout, and enter forcing mode. Once in forcing mode, plugging in the link didn't autonegotiate. Now the AN state detects the lack of link, and enters the NO_LINK state. AN only times out if the link is up and AN fails * Cleaned up the PHY_AN case, reducing one level of indentation for the timeout code. Signed-off-by: Jeff Garzik commit 2109f89f3483ff5a05899385ee3fb04d779e9cce Author: Jesse Huang Date: Fri Oct 20 14:42:11 2006 -0700 [PATCH] subdance: fix TX Pause bug (reset_tx, intr_handler) Fix TX Pause bug (reset_tx, intr_handler). When MaxCollisions occurred, need to re-enable Tx. But just after re-enable, MaxCollisions maybe occurred again and with TxStatusOverflow. This will cause driver can't check new MaxCollisions to re-enable Tx again, because TxStatusOverflow. For this reason, after re-enable Tx, we need to make sure Tx was actually enabled. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit e242040df1da94a9a3daa98ea5539e2b52502bb4 Author: Jesse Huang Date: Fri Oct 20 14:42:05 2006 -0700 [PATCH] sundance: remove TxStartThresh and RxEarlyThresh For patent issue need to remove TxStartThresh and RxEarlyThresh. This patent is cut-through patent. If use this function, Tx will start to transmit after few data be move in to Tx FIFO. We are not allow to use those function in DFE530/DFE550/DFE580/DL10050/IP100/IP100A. It will decrease a little performance. Signed-off-by: Jesse Huang Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ac7468e923278cdcb202f8aa992d8f2776f8344c Author: Komuro Date: Sun Oct 15 10:08:00 2006 +0900 [PATCH] network: pcnet_cs: remove the code to change the E8390_CMD register from ei_watchdog() Remove the code to change the E8390_CMD register from ei_watchdog(). The 8390-page is always 0 outside the spin_lock. Signed-off-by: komurojun-mbn@nifty.com Signed-off-by: Jeff Garzik commit f4344848f8a7acbef2558dc5b89c62485f147033 Author: Ayaz Abdulla Date: Mon Nov 6 00:43:40 2006 -0800 [PATCH] forcedeth: add support for new mcp67 device Add support for the new mcp67 device into forcedeth. Signed-off-by: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 52d78d63310d9818458fd9800d24a4d5425aeac7 Author: Ayaz Abdulla Date: Mon Nov 6 00:43:39 2006 -0800 [PATCH] forcedeth: add new NVIDIA pci ids Add pci device ids for the NVIDIA MCP67 chip. Signed-off-by: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit c5cf9101fefae32df654da5f0e736ffbe28aefdc Author: Ayaz Abdulla Date: Mon Oct 30 17:32:01 2006 -0500 [PATCH] forcedeth: add recoverable error support This patch adds support to recover from a previously fatal MAC error. In the past the MAC would be hung on an internal fatal error. On new chipsets, the MAC has the ability to enter a non-fatal state and allow the driver to re-init it. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit 7e680c22c0579f1db7b84a7b155755a2754f9557 Author: Ayaz Abdulla Date: Mon Oct 30 17:31:51 2006 -0500 [PATCH] forcedeth: add mgmt unit support This patch adds support for the mgmt unit in certain chipsets. The MAC and the mgmt unit share the PHY and therefore proper intialization procedures are needed for them to maintain coexistense. Signed-Off-By: Ayaz Abdulla Signed-off-by: Jeff Garzik commit b2e68aa337f950e4a8c893a82b95b1755309bc56 Author: Maciej W. Rozycki Date: Mon Oct 23 13:53:17 2006 +0100 [PATCH] defxx: Big-endian hosts support The PDQ DMA engine requires a different byte-swapping mode for big-endian hosts; also the MAC address which is read from a register through PIO has to be byte-swapped. These changes have been verified with DEFPA-DC (PCI) boards and a Broadcom BCM91250A (MIPS CPU based) host. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit c3a9392e4f3b9d97803b067871d66bc143369dbf Author: Eric Sesterhenn Date: Mon Oct 23 22:20:15 2006 +0200 [PATCH] kmemdup() cleanup in drivers/net hi, replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Jeff Garzik commit bf793295e1090af84972750898bf8470df5e5419 Author: Francois Romieu Date: Wed Nov 1 00:53:05 2006 +0100 r8169: perform a PHY reset before any other operation at boot time Realtek's 8139/810x (0x8136) PCI-E comes with a touchy PHY. A big heavy reset seems to calm it down. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=7378. Signed-off-by: Francois Romieu Signed-off-by: Darren Salt commit de3edab4276c3c789f64dc3d78eea027709fef0e Author: Auke Kok Date: Wed Nov 1 08:48:18 2006 -0800 e1000: update README for e1000 Signed-off-by: Auke Kok commit 25006ac61e514628b9d0f78fce0bed155f4f109c Author: Auke Kok Date: Wed Nov 1 08:48:15 2006 -0800 e1000: increment version to 7.3.15-k2 Signed-off-by: Auke Kok commit 835bb1298311f372a3387fb40b952b18d90aa9f8 Author: Jesse Brandeburg Date: Wed Nov 1 08:48:13 2006 -0800 e1000: add dynamic itr modes Add a new dynamic itr algorithm, with 2 modes, and make it the default operation mode. This greatly reduces latency and increases small packet performance, at the "cost" of some CPU utilization. Bulk traffic throughput is unaffected. The driver can limit the amount of interrupts per second that the adapter will generate for incoming packets. It does this by writing a value to the adapter that is based on the maximum amount of interrupts that the adapter will generate per second. Setting InterruptThrottleRate to a value greater or equal to 100 will program the adapter to send out a maximum of that many interrupts per second, even if more packets have come in. This reduces interrupt load on the system and can lower CPU utilization under heavy load, but will increase latency as packets are not processed as quickly. The default behaviour of the driver previously assumed a static InterruptThrottleRate value of 8000, providing a good fallback value for all traffic types,but lacking in small packet performance and latency. The hardware can handle many more small packets per second however, and for this reason an adaptive interrupt moderation algorithm was implemented. Since 7.3.x, the driver has two adaptive modes (setting 1 or 3) in which it dynamically adjusts the InterruptThrottleRate value based on the traffic that it receives. After determining the type of incoming traffic in the last timeframe, it will adjust the InterruptThrottleRate to an appropriate value for that traffic. The algorithm classifies the incoming traffic every interval into classes. Once the class is determined, the InterruptThrottleRate value is adjusted to suit that traffic type the best. There are three classes defined: "Bulk traffic", for large amounts of packets of normal size; "Low latency", for small amounts of traffic and/or a significant percentage of small packets; and "Lowest latency", for almost completely small packets or minimal traffic. In dynamic conservative mode, the InterruptThrottleRate value is set to 4000 for traffic that falls in class "Bulk traffic". If traffic falls in the "Low latency" or "Lowest latency" class, the InterruptThrottleRate is increased stepwise to 20000. This default mode is suitable for most applications. For situations where low latency is vital such as cluster or grid computing, the algorithm can reduce latency even more when InterruptThrottleRate is set to mode 1. In this mode, which operates the same as mode 3, the InterruptThrottleRate will be increased stepwise to 70000 for traffic in class "Lowest latency". Setting InterruptThrottleRate to 0 turns off any interrupt moderation and may improve small packet latency, but is generally not suitable for bulk throughput traffic. Signed-off-by: Jesse Brandeburg Cc: Rick Jones Signed-off-by: Auke Kok commit 9ac98284428961bd5be285a6cc1f5e6f5b6644aa Author: Jesse Brandeburg Date: Wed Nov 1 08:48:10 2006 -0800 e1000: add dynamic generic MSI interrupt routine Add a generic MSI interrupt routine that is IO read-free, speeding up MSI interrupt handling. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok commit 04fedbfbc3dac1158519f8ef8cc8aca4fe79695b Author: Auke Kok Date: Wed Nov 1 08:48:07 2006 -0800 e1000: reorder e1000_param.c This file needs some cleanups and reordering - logically order it so that relevant defines and code are together with properly quoted defaults. Signed-off-by: Auke Kok commit 6a042dab19567fc888d5b87ce6ab68ac02aea1dc Author: Jesse Brandeburg Date: Wed Nov 1 08:48:04 2006 -0800 e1000: Only set IDE for tx when we are using TIDV/TADV Spec fix: don't set IDE unless we are actually setting the tx int delay time. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 2df7d59f287236a636fb2d7e05879e65c8c56492 Author: Jeff Kirsher Date: Wed Nov 1 08:48:02 2006 -0800 e1000: rename ICH8 flash macros ICH8 will soon be followed by newer chipsets bearing the same acronym, thus we remove the '8' and make it independent of the version number in the platform name. Signed-off-by: Jeff Kirsher Signed-off-by: Auke Kok commit fcfb1224250d7877b6a6c6a947986e08b2160fb6 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:59 2006 -0800 e1000: add queue restart counter Add a netif_wake/start_queue counter to the ethtool statistics to indicated to the user that their transmit ring could be too small for their workload. Signed-off-by: Jesse brandeburg Cc: Jamal Hadi Signed-off-by: Auke Kok commit fc2307d00c15385fbdbb5928a8517e5f63c3d068 Author: Auke Kok Date: Wed Nov 1 08:47:56 2006 -0800 e1000: New hardware support Add support for a Low Profile quad-port PCI-E adapter and 2 variants of the ICH8 systems' onboard NIC's. Signed-off-by: Auke Kok commit a9ebadd640927ac6529d904b4131b17e8019d199 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:53 2006 -0800 e1000: Remove unneeded and unwanted memsets This memsetting was added in a paranoid rage debugging TX hangs, but are no longer of importance. We can beef up the performance quite a bit removing them. Make sure to fill in next_to_watch to allow this. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 996695de21b9b301ebb32379e2950fc2142df3a7 Author: Auke Kok Date: Wed Nov 1 08:47:50 2006 -0800 e1000: simplify skb_put call. Simplify two calls to skb_put by removing one call to it. Signed-off-by: Auke Kok commit 2bc35c1078fdfe7bb2a849c2d1bee8d9d5fea4a7 Author: Jeff Kirsher Date: Wed Nov 1 08:47:47 2006 -0800 e1000: reorder pci-e infor struct Order pci-e capability struct according to bus/pci bus width ordering preserving the hard pci spec numbers. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher commit 070f6ffbb8ed5c398e84f1508752b8fd15b05cf2 Author: Jeff Kirsher Date: Wed Nov 1 08:47:44 2006 -0800 e1000: fix VR powerdown code On ich systems during PHY power down to D3, the voltage regulators were left on. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher commit 2ce9047f5d8464039da8ff986e71be5546e229c0 Author: Jesse Brandeburg Date: Wed Nov 1 08:47:42 2006 -0800 e1000: add mmiowb() for IA64 to sync tail writes IA64 SMP systems were seeing TX issues with multiple cpu's attempting to write tail registers unordered. This mmiowb() fixes the issue. Signed-off-by: Auke Kok Signed-off-by: Jesse Brandeburg commit 21c4d5e07859a6fc0f62be37da15b161e142c8d1 Author: Auke Kok Date: Wed Nov 1 08:47:39 2006 -0800 e1000: Enble early receive (ERT) on 82573 Enable early receives on 82573 for jumbo frame performance. Jumbo's are only supported on 82573L with ASPM disabled. Signed-off-by: Auke Kok commit 87ca4e5b8d729fc157a0a599d78ccab245fc0602 Author: Auke Kok Date: Wed Nov 1 08:47:36 2006 -0800 e1000: FIX: enable hw TSO for IPV6 Enable TSO for IPV6. All e1000 hardware supports it. This reduces CPU utilizations by 50% when transmitting IPv6 frames. Fix symbol naming enabling ipv6 TSO. Turn off TSO6 for 10/100. Signed-off-by: Auke Kok commit b00dae7cce465323850c3e1fd3ac8b2d9229735c Author: Auke Kok Date: Wed Nov 1 08:47:33 2006 -0800 e1000: Remove DISABLE_MULR debug code Remove debugging code disabling MULR (multiple reads). It's not usable for a wide audience and there are no known problems with MULR right now. Signed-off-by: Auke Kok commit 90fb51358a264f2f7e0cabdca6fc229bbc40cd91 Author: Auke Kok Date: Wed Nov 1 08:47:30 2006 -0800 e1000: whitespace changes, comments, typos Small whitespace changes, comment changes, typo fixes. Signed-off-by: Auke Kok commit a362bf57aa12835e4fa6af6960e5135b5626bc5b Author: Daniel Drake Date: Wed Oct 18 00:17:02 2006 +0100 [PATCH] zd1211rw: Add ID for ZyXEL G-220 Tested by Newsome on IRC zd1211 chip 0586:3401 v4330 high 00-13-49 AL2230_RF pa0 g--- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit fe75f7471ba5604fe65435f717e3612a482c28cb Author: Christian Lamparter Date: Mon Oct 2 19:55:22 2006 +0200 [PATCH] wext: extend MLME support This patch adds two new defines for the SIOCSIWMLME to cover all kinds MLMEs (well, except REASSOC) through a ioctl. Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 3d396eb17e9f8c5f59314078b45b88647591378d Author: Amit S. Kale Date: Sat Oct 21 15:33:03 2006 -0400 Add NetXen 1G/10G ethernet driver. Signed-off-by: Amit S. Kale Signed-off-by: Jeff Garzik commit f3d1fca3eb05cf6ff3879a385a15d24fbf556c57 Author: Stefano Brivio Date: Sun Oct 15 23:18:11 2006 -0500 [PATCH] bcm43xx: add PCI-E code The current bcm43xx driver does not contain code to handle PCI-E interfaces such as the BCM4311 and BCM4312. This patch, originally written by Stefano Brivio adds the necessary code to enable these interfaces. Signed-off-by: Stefano Brivio Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 995cdaa45b1faf8f4472e4b4c6027dc685ae1b54 Author: Alexey Dobriyan Date: Tue Oct 10 14:45:47 2006 -0700 [PATCH] prism54: use BUILD_BUG_ON Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 3b31dc327f07a2df06da931ffb0bb1627711bd86 Author: Holden Karau Date: Tue Oct 10 14:45:33 2006 -0700 [PATCH] atmel: output signal strength information Output signal strength information as part of iwlist scan - before it did not output any signal strength related information. Signed-off-by: Holden Karau Cc: Jean Tourrilhes Signed-off-by: Andrew Morton Signed-off-by: John W. Linville commit 93b2dd12049d1adb0d76fb918fcd4c1030445433 Author: Dmitry Torokhov Date: Sun Oct 8 00:38:15 2006 -0400 [PATCH] prism54: whitespace cleanup NET: prism54 - whitespace cleanup Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit d18e0c4a5434f02586b5fdcbcc72f1fe61ab49e6 Author: Dmitry Torokhov Date: Sun Oct 8 00:38:14 2006 -0400 [PATCH] prism54: fix potential race in reset scheduling NET: prism54 - fix potential race in reset scheduling There appears to be a race in reset scheduling logic - thread responsible for reseting the interface should clear "reset pending" flag before restarting the queue, otherwise timeout handler might not schedule another reset even if it is needed. This race is mostly theoretical as far as I can see but a race nonetheless. Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 5c877fe58c5df19646204b144b978b99c2ef074f Author: Dmitry Torokhov Date: Sun Oct 8 00:14:30 2006 -0400 [PATCH] atmel: whitespace cleanup NET: atmel: whitespace cleanup Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit b4341135794fdad85f995a378da424e4f4128e4d Author: Dmitry Torokhov Date: Sun Oct 8 00:14:29 2006 -0400 [PATCH] atmel: use ARRAY_SIZE() NET: atmel - switch to using ARRAY_SIZE() Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 00a5ebf8621e8098305ca5e7b319937eed430184 Author: Dmitry Torokhov Date: Sun Oct 8 00:14:28 2006 -0400 [PATCH] atmel: save on array initialization NET: atmel - do not initialize array over and over again Signed-off-by: Dmitry Torokhov Signed-off-by: John W. Linville commit 837925df022a667c302b24aad9d6a58f94efd959 Author: Larry Finger Date: Tue Oct 3 18:49:32 2006 -0500 [PATCH] ieee80211: Drop and count duplicate data frames to remove 'replay detected' log messages In the SoftMAC version of the IEEE 802.11 stack, not all duplicate messages are detected. For the most part, there is no difficulty; however for TKIP and CCMP encryption, the duplicates result in a "replay detected" log message where the received and previous values of the TSC are identical. This change adds a new variable to the ieee80211_device structure that holds the 'seq_ctl' value for the previous frame. When a new frame repeats the value, the frame is dropped and the appropriate counter is incremented. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 42a4cf9576f036db69e15fa6b4e72986e17f0359 Author: matthieu castet Date: Thu Sep 28 19:57:25 2006 +0200 [PATCH] ieee80211: allow mtu bigger than 1500 Hi this patch allow to set the mtu between 1500 and 2304 (max octets in an MSDU) for devices using ieee80211 linux stack. Signed-off-by: Matthieu CASTET Signed-off-by: John W. Linville commit c9308b06c049a107edfbd4e5271771564eb6024d Author: Daniel Drake Date: Wed Sep 27 03:50:31 2006 +0100 [PATCH] ieee80211: Move IV/ICV stripping into ieee80211_rx This patch adds a host_strip_iv_icv flag to ieee80211 which indicates that ieee80211_rx should strip the IV/ICV/other security features from the payload. This saves on some memmove() calls in the driver and seems like something that belongs in the stack as it can be used by bcm43xx, ipw2200, and zd1211rw I will submit the ipw2200 patch separately as it needs testing. This patch also adds some sensible variable reuse (idx vs keyidx) in ieee80211_rx Signed-off-by: Daniel Drake Acked-by: Johannes Berg Signed-off-by: John W. Linville commit f2423723d70298e04179f934ff17346c3e06f408 Author: Daniel Drake Date: Tue Sep 26 04:04:38 2006 +0100 [PATCH] zd1211rw: Add 3 more device IDs iNexQ UR055g: Tested by Todor T Zviskov zd1211 chip 1435:0711 v4330 high 00-10-a7 AL2230_RF pa0 g-- ZyXEL AG-225, FCC ID SI5WUB410: Tested by Nathan zd1211 chip 0586:3409 v4810 full 00-13-49 AL7230B_RF pa0 g--- Yakumo QuickWLAN USB: Tested by EdB zd1211 chip 0b3b:1630 v4330 high 00-01-36 RF2959_RF pa0 --- Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit f04e2be7d9b73a1da7be99a08b3695074e14970c Author: Larry Finger Date: Mon Sep 25 15:33:20 2006 -0500 [PATCH] bcm43xx: output proper link quality with scans The bcm43xx-softmac driver fails to set two quantities needed for iwlist to compute wireless quality when scanning. As a result, userland programs using the quality to determine the best connection fail. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3470cb1d4fb27572273079e7095734ac4f9caa43 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 fixes - the final chunk (h8300) The rest of 8390 conversions; ifdef cascade in 8390.h is gone now. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit b936889c8f95b601d3ef6caac6ac653a8adb4fec Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 cleanup - etherh iomem annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 8c6270f957f0eaa343e4a609159c4b85038468d6 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] 8390 fixes - m68k oddballs more 8390 conversions - mac8390, zorro8390 and hydra got the same treatment as arm etherh; one more case in 8390.h ifdef cascade is gone. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 6c3561b0c1b64c8f0d1419f3909ab29f0eb98906 Author: Al Viro Date: Tue Oct 10 00:19:36 2006 +0100 [PATCH] beginning of 8390 fixes - generic and arm/etherh etherh and a handful of other odd drivers use different macros when building 8390.c. Since we generate a single 8390.o and then link with it, in any config with both oddball and normal 8390-based driver we will end up with breakage in at least one of them. Solution: take most of 8390.c into lib8390.c and have 8390.c, etherh.c and the rest of oddballs #include it. Helper macros are taken from 8390.h to whoever includes lib8390.c. That way odd drivers get separate instances of compiled 8390 stuff and stop stepping on each other's toes. 8390.h gets cleaned up - we don't have the cascade of ifdefs in there and are left with the stuff that can be used by any 8390-based driver. Current problems are exactly because of that cascade - we attempt to choose the set of helpers by looking at config and that, of course, doesn't work well when we have several sets needed by various drivers in our config. Signed-off-by: Al Viro Signed-off-by: Jeff Garzik commit 865f3b2b6ac578a061c823bec5baf00ad04cbd8c Author: Stephen Hemminger Date: Thu Oct 5 10:21:26 2006 -0700 [PATCH] sk98lin: MII ioctl support Add MII ioctl support to the deprecated sk98lin driver. This allows comparison with skge driver's PHY settings. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 24b46a0f0a9a736f125141f271102f70c2612a9f Author: Stephen Hemminger Date: Thu Oct 5 10:16:23 2006 -0700 [PATCH] sk98lin: ethtool register dump Add support for dumping the registers in the deprecated sk98lin driver. This is allows for easier comparison with settings in new skge driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 83717cf054214d144165c576cba6362d07fc6656 Author: Henrik Kretzschmar Date: Tue Oct 10 14:33:29 2006 -0700 [PATCH] pci_module_init() convertion in olympic.c pci_module_init() convertion in olympic.c Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 107ce6d21b746f33f85f4385b9802b3ae928f876 Author: Eric Sesterhenn Date: Tue Oct 10 14:33:28 2006 -0700 [PATCH] Remove unnecessary check in drivers/net/depca.c This was spotted by coverity (cid #793). All callers dereference dev before calling this functions, and we dereference it earlier in the function, when initializing lp. Signed-off-by: Eric Sesterhenn Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit a189317fa0e9d425cd3a4c248b06f96d876cf7fd Author: Francois Romieu Date: Tue Oct 10 14:33:27 2006 -0700 [PATCH] forcedeth: power management support Tobias Diedrich sayeth: Vanilla forcedeth doesn't seem to support suspend and an ifdown/up-cycle is needed to get it working again after suspend. Francois Romieu's "Awfully experimental" patch is working just fine for me (with message signalled interrupts disabled) and has survived quite a few suspend/resume cycles. So I'd very much like to see (at least partial, with msi disabled) suspend support for forcedeth in mainline. (Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6398) Cc: Francois Romieu Cc; Jeff Garzik Cc: Manfred Spraul Cc: Ayaz Abdulla Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3c3070d713d798f7f9e7ee3614e49b47655d14d8 Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:35 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Phylib IRQ handling fixes This patch fixes a couple of problems discovered with interrupt handling in the phylib core, namely: 1. The driver uses timer and workqueue calls, but does not include nor . 2. The driver uses schedule_work() for handling interrupts, but does not make sure any pending work scheduled thus has been completed before driver's structures get freed from memory. This is especially important as interrupts may keep arriving if the line is shared with another PHY. The solution is to ignore phy_interrupt() calls if the reported device has already been halted and calling flush_scheduled_work() from phy_stop_interrupts() (but guarded with current_is_keventd() in case the function has been called through keventd from the MAC device's close call to avoid a deadlock on the netlink lock). Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-phy-irq-16 Signed-off-by: Jeff Garzik commit 13df29f69749a61b5209d52b71fcbf7300e5d6fb Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:28 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Missing inclusions from The uses some types and macros defined in , , and , but fails to include these headers. Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-include-phy-16 Signed-off-by: Jeff Garzik commit c4b41c9f077392803cd548000f3a2312dcd4a122 Author: Maciej W. Rozycki Date: Tue Oct 3 16:18:13 2006 +0100 [PATCH] 2.6.18: sb1250-mac: Broadcom PHY support This patch adds support for interrupt-driven operation of the Broadcom Gigabit Ethernet PHYs. I have included device IDs for the parts used on Broadcom SiByte evaluation boards; more can be added as a need arises. They are apparently generally software-compatible with one another. Signed-off-by: Maciej W. Rozycki patch-mips-2.6.18-20060920-broadcom-phy-15 Signed-off-by: Jeff Garzik commit 664e8503fee2f299d0f96eaab0f5f8fae8fad325 Author: Tejun Heo Date: Mon Nov 20 16:05:34 2006 +0900 [PATCH] libata: print cdb[0] in failed qc report Print cdb[0] in failed qc report. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 2dec7555e6bf2772749113ea0ad454fcdb8cf861 Author: Robert Hancock Date: Sun Nov 26 14:20:19 2006 -0600 [PATCH] sata_nv: fix ATAPI in ADMA mode The attached patch against 2.6.19-rc6-mm1 fixes some problems in sata_nv with ATAPI devices on controllers running in ADMA mode. Some of the logic in the nv_adma_bmdma_* functions was inverted causing a bunch of warnings and caused those functions not to work properly. Also, when an ATAPI device is connected, we need to use the legacy DMA engine. The code now disables the PCI configuration register bits for ADMA so that this works, and ensures that no ATAPI DMA commands go through until this is done. Fixes Bugzilla http://bugzilla.kernel.org/show_bug.cgi?id=7538 Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 099156db555aabf54dc80b40abb628ce35d90065 Author: Alan Date: Mon Nov 27 16:37:52 2006 +0000 [PATCH] pata_marvell: merge Mandriva patches Correct and complete the Marvell PATA cable detection logic. From: Arnaud Patard Signed-off-by: Arnaud Patard Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit aff0df0593f4beea42800115c0658f58c03dfe9f Author: Alan Date: Mon Nov 27 16:25:51 2006 +0000 [PATCH] pata_hpt3x3: suspend/resume support Again split the chipset init away and call it both on resume and on setup Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 62d64ae0ec76360736c9dc4ca2067ae8de0ba9f2 Author: Alan Date: Mon Nov 27 16:27:20 2006 +0000 [PATCH] pata : more drivers that need only standard suspend and resume Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit aa54ab1eff30f1e5859acf4e15f0730288373ee5 Author: Alan Date: Mon Nov 27 16:24:15 2006 +0000 [PATCH] hpt36x: Suspend/resume support Another chipset which needs some reconfiguration after a resume. All the chip setup is moved to a new function called in both setup and resume. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 627d2d3261a42c9b5b0a02a1f8d0ae5414729cb9 Author: Alan Date: Mon Nov 27 16:19:36 2006 +0000 [PATCH] pata_via suspend/resume support The major VIA issues were handled by the quirks update for resume quirks. The ATA driver also has to do some work however when resuming from RAM. Certain chips need the FIFO reconfiguring, and the 66MHz clock setup updating. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit c304193a005b5262671c1389b1cae96d7afc952a Author: Alan Date: Mon Nov 27 16:21:24 2006 +0000 [PATCH] pata_amd: suspend/resume Early AMD chips require FIFO and/or simplex flag clearing work on resume from RAM. Most devices need no help Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f535d53f3f8bc8243ad2167d7127f6efba9b46cb Author: Alan Date: Mon Nov 27 16:14:36 2006 +0000 [PATCH] pata_it821x: Suspend/Resume support If you are using the noraid option then after a suspend/resume sequence we need to reset the card back out of raid mode again. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 38e0d56e67849720d306e2d7cd1a2793deec9644 Author: Alan Date: Mon Nov 27 16:16:35 2006 +0000 [PATCH] pata_serverworks suspend/resume The Serverworks chips need various fixups doing on a resume from RAM. Conveniently the needed functions were already split out ready for re-use Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 7f72a379146913dc5f2751383722cdedb8998bc9 Author: Alan Date: Wed Nov 22 16:59:07 2006 +0000 [PATCH] pata_cmd64x: suspend/resume On a resume of the CMD64x we must restore MRDMODE and latency if the BIOS didn't get them right originally. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8501120f1df1aa6abe38b51ab91df08ccaa1b971 Author: Alan Date: Wed Nov 22 17:01:06 2006 +0000 [PATCH] pata_cs5520: resume support The CS5520 doesn't need much help to resume but we do need to restore pcicfg which may have been reset to the BIOS default which is sometimes incorrect. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 30ced0f0d211999f316930eff7287aa5a9995bef Author: Alan Date: Wed Nov 22 16:57:36 2006 +0000 [PATCH] PATA libata: suspend/resume simple cases This patch adds the suspend/resume callbacks for drivers which don't need any additional help (beyond the pci resume quirk patch I posted earlier anyway). Also bring version numbers back inline with master copies. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 8550c1637ba7dd96a76353eb52d31088f9c2f5fe Author: Alan Date: Wed Nov 22 17:28:41 2006 +0000 [PATCH] pata_sil680 suspend/resume The SI680 can come back from s2ram with the clocks disabled (crash time) or wrong (ugly as this can cause CRC errors, and in theory corruption). On a resume we must put the clock back. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit ad4a42d287546888349ad24d351673a59f429ee8 Author: Alan Date: Wed Nov 22 17:23:37 2006 +0000 [PATCH] pata_rz1000: Force readahead off on resume The RZ1000 is a generic device except that it has a readahead fifo flaw that corrupts. We force this off at init time but we want to be paranoid and force it off at resume as well. I don't know of any actual hardware that supports both RZ1000 and suspend to RAM but given its a disk muncher better safe than sorry. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 34d8dfb1e6b51dbd6eefcb449b531c7ee773664c Author: Alan Date: Wed Nov 22 17:26:06 2006 +0000 [PATCH] pata_ali: suspend/resume support Various chipset functions must be reprogrammed on a resume from RAM, without this things like ATAPI DMA stop working on resume with some chipset variants. Split the chipset programming and init time method selection into two functions. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d39ca896fb9a25f80465d3e52872cf5c510762a8 Author: Alan Date: Wed Nov 22 17:18:30 2006 +0000 [PATCH] pata_jmicron: fix JMB368 support, add suspend/resume handling This (and the pci resume quirk code) get the JMicron controllers to resume properly. Without this patch the drive mapping changes when you suspend/resume which is not good at all.... Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f7e37ba83fd3e92411dfc97d08eaf9d85dfac2ee Author: Alan Date: Wed Nov 22 17:21:03 2006 +0000 [PATCH] pata_cs5530: suspend/resume support The 5530 needs various set up performing both at init time and resume time. To keep the code clean the common setup code is moved into a new function and called from both handlers. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 54083f114efad2d4fa993c52024f8973c70b9edb Author: Alan Date: Wed Nov 15 16:17:13 2006 +0000 [PATCH] pata_hpt366 enablebits More enablebits Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit b2d1eee1e99e15a80fa9623724d6861a81d2aba4 Author: Mikael Pettersson Date: Wed Nov 22 22:00:15 2006 +0100 [PATCH] sata_promise fixes and updates This patch updates the sata_promise driver as follows: - Correct typo in definition of PDC_TBG_MODE: it's at 0x41C not 0x41 in first-generation chips. This error caused PCI access alignment exceptions on SPARC64, and on all platforms it disabled the expected initialisation of TBG mode. - Add flags field to struct pdc_host_priv. Define PDC_FLAG_GEN_II and use it to distinguish first- and second-generation chips. - Prevent the FLASH_CTL FIFO_SHD bit from being set to 1 on second- generation chips. This matches Promises' ulsata2 driver. - Prevent TBG mode and SLEW rate initialisation in second-generation chips. These two registers have moved, TBG mode has been redefined, and Promise's ulsata2 driver no longer attempts to initialise them. - Correct PCI device table so devices 0x3570, 0x3571, and 0x3d73 are marked as 2057x (2nd gen) not 2037x (1st gen). - Correct PCI device table so device 0x3d17 is marked as 40518 (2nd gen 4 ports) not 20319 (1st gen 4 ports). - Correct pdc_ata_init_one() to treat 20771 as a second-generation chip. Tested on 0x3d75 (2nd gen), 0x3d73 (2nd gen), and 0x3373 (1st gen) chips. The information comes from the newly uploaded Promise SATA HW specs, Promise's ultra and ulsata2 drivers, and debugging on 3d75/3d73/3373 chips. hp->hotplug_offset could now be removed and its value recomputed in pdc_host_init() using hp->flags, but that would be a cleanup not a functional change, so I'm ignoring it for now. Signed-off-by: Mikael Pettersson Signed-off-by: Jeff Garzik commit 46b027cc30b6f6571191826afc718fa942403fc8 Author: Jeff Garzik Date: Tue Nov 14 14:46:17 2006 -0500 [libata] sata_promise: fix TBG mode register offset Fixes crashes on sparc, and may correct weird behavior reported on occasions, because we were never programming this register correctly (or at all). Signed-off-by: Jeff Garzik commit d25614bad6eec8fb80f3ef5bffbf720ebb7d2412 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: improve SCSI sense data generation Update ata_gen_ata_sense() to use desc format sense data to report the first failed block. The first failed block is read from result_tf using ata_tf_read_block() which can handle all three address formats. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 35b649fe2587b2e569c17c022ba3506ba441b6a2 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: implement ata_tf_read_block() Implement ata_tf_read_block(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 750426aa1ad1ddd1fa8bb4ed531a7956f3b9a27c Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: cosmetic changes to sense generation functions * s/ata_gen_ata_desc_sense/ata_gen_passthru_sense/ * s/ata_gen_fixed_sense/ata_gen_ata_sense/ * make both functions static * neither function has locking requirement, change it to None. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit f38621b3109068adc8430bc2d170ccea59df4261 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: fix passthru sense data header sb[7] should contain the length of whole information sense data descriptor while desc[1] should contain the number of following bytes in the descriptor. ie. 14 for sb[7] but 12 for desc[1]. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 39599a5334decc2669ba794fb0ccd2b112ef1ba4 Author: Tejun Heo Date: Tue Nov 14 22:37:35 2006 +0900 [PATCH] libata: sync result_tf.flags w/ command tf.flags libata didn't initialize result_tf.flags which indicates transfer type (RW/FUA) and address type (CHS/LBA/LBA48). ata_gen_fixed_sense() assumed result_tf.flags equals command tf.flags and failed to report the first failed block to SCSI layer because zero tf flags indicates CHS and bad block reporting for CHS is not implemented. Implement fill_result_tf() which sets result_tf.flags to command tf.flags and use it to fill result_tf. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 61c0596c5fbef99df5518ae449be4ab49a2c2233 Author: Tejun Heo Date: Tue Nov 14 22:35:43 2006 +0900 [PATCH] libata: trivial updates to ata_sg_init_one() There's no need to memset &qc->sgent manually, sg_init_one() clears sgent inside it. Also, kill not-so-necessary sg local variable. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8a93758170a58b5afe3e45d7d5bebbdd401a24c2 Author: Tejun Heo Date: Tue Nov 14 22:36:12 2006 +0900 [PATCH] libata: improve failed qc reporting Improve failed qc reporting. The original message didn't include the actual command nor full error status and it was necessary to temporarily patch the code to find out exactly which command is causing problem. This patch makes EH report full command and result TFs along with data direction and length. This change will make bug reports more useful. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5e56a37c3706498b25049bb556928c461875250f Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: strip now unneded MAP related stuff Now that PCS isn't used for device detection anymore... * esb_sata is identical to ich5_sata * no reason to know present_shift * no reason to store map_db in host private area The MAP table itself is left because it can be used for SCR access. Signed-off-by: Jeff Garzik commit 228c1590be39872022006ab81fda112a4f35ce47 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: apply device detection via polling IDENTIFY PATA PIIX uses reset signature + TF r/w test for device presence detection, which doesn't always work. It sometimes reports phantom device which results in IDENTIFY timeouts. SATA PIIX uses some combination of PCS + reset signature + TF r/w test for device presence detection. No combination satifies all and for some controllers, there doesn't seem to be any combination which works reliably. This patch makes both PATA and SATA piix's use reset signature + TF r/w + polling IDENTIFY for device detection. This is what the old libata (before irq-pio and new EH) did and what IDE does. This patch also removes now obsolete PIIX_FLAG_IGNORE_PCS, force_pcs and related code. Signed-off-by: Jeff Garzik commit 55a8e2c83ce50548dfef74bb19dfe2b809cb3099 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] libata: implement presence detection via polling IDENTIFY On some controllers (ICHs in piix mode), there is *NO* reliable way to determine device presence other than issuing IDENTIFY and see how the transaction proceeds by watching the TF status register. libata acted this way before irq-pio and phantom devices caused very little problem but now that IDENTIFY is performed using IRQ drive PIO, such phantom devices now result in multiple 30sec timeouts during boot. This patch implements ATA_FLAG_DETECT_POLLING. If a LLD sets this flag, libata core issues the initial IDENTIFY in polling mode and if the initial data transfer fails w/ HSM violation, the port is considered to be empty thus replicating the old libata and IDE behavior. Signed-off-by: Jeff Garzik commit bff0464769f2a1bd348265de704471747378e247 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] libata: convert @post_reset to @flags in ata_dev_read_id() Make ata_dev_read_id() take @flags instead of @post_reset. Currently there is only one flag defined - ATA_READID_POSTRESET, which is equivalent to @post_reset. This is preparation for polling presence detection. Signed-off-by: Jeff Garzik commit b3362f88a8f938fb700fdedf074ec222cba7cf83 Author: Tejun Heo Date: Fri Nov 10 18:08:10 2006 +0900 [PATCH] ata_piix: clean up port flags * move common flags into PIIX_PATA_FLAGS and PIIX_SATA_FLAGS * kill unnecessary ATA_FLAG_SRST Signed-off-by: Jeff Garzik commit 6fc49adb9417b9c793e8f88d485387bb89ceb733 Author: Tejun Heo Date: Sat Nov 11 20:10:45 2006 +0900 [PATCH] libata: use FLUSH_EXT only when driver is larger than LBA28 limit Many drives support LBA48 even when its capacity is smaller than 1<<28, as LBA48 is required for many functionalities. FLUSH_EXT is mandatory for drives w/ LBA48 support. Interestingly, at least one of such drives (ST960812A) has problems dealing with FLUSH_EXT. It eventually completes the command but takes around 7 seconds to finish in many cases thus drastically slowing down IO transactions. This seems to be a firmware bug which sneaked into production probably because no other ATA driver including linux IDE issues FLUSH_EXT to drives which report support for LBA48 & FLUSH_EXT but is smaller than 1<<28 blocks. This patch adds ATA_DFLAG_FLUSH_EXT which is set iff the drive supports LBA48 & FLUSH_EXT and is larger than LBA28 limit. Both cache flush paths are updated to issue FLUSH_EXT only when the flag is set. Note that the changed behavior is more inline with the rest of libata. libata prefers shorter commands whenever possible. Signed-off-by: Tejun Heo Cc: Danny Kukawka Cc: Stefan Seyfried Signed-off-by: Jeff Garzik commit 648a88be4a016d2637ace3ae74b85a0512255ee8 Author: Tejun Heo Date: Thu Nov 9 15:08:40 2006 +0900 [PATCH] ahci: honor PORTS_IMPL on ICH8s Some ICH8s use non-linear port mapping. ahci driver didn't use to honor PORTS_IMPL and this made ports after hole nonfunctional. This patch makes ahci mark those ports as dummy and properly initialize all the implemented ports after the dummies. As it's unknown whether other AHCIs implement PORTS_IMPL register properly, new board id board_ahci_pi is added and selectively applied to ICH8s. All other AHCIs continue to use linear mapping regardless of PORTS_IMPL value. Signed-off-by: Tejun Heo Cc: Robin H. Johnson Signed-off-by: Jeff Garzik commit 0df0d0a0ea9ffcee4e56f96cd9d9e32b0644eb21 Author: Alessandro Zummo Date: Tue Nov 14 13:43:21 2006 -0500 [libata] ARM: add ixp4xx PATA driver Signed-off-by: Alessandro Zummo Signed-off-by: Jeff Garzik commit 4adccf6f447dfa7af6f3af7e12f87829a6fac8dd Author: Uwe Koziolek Date: Wed Nov 8 09:57:00 2006 +0100 [PATCH] sata_sis: slave support on SiS965 SiS965 and SiS180 chips must support slave mode, SiS965L and SiS964 chips must not support slave mode. SCR_STATUS for SATA ports in powerdown state fixed. Now returning 0x0113 instead of 0x0117. Avoids problem on detecting sata_sis controller. Signed-off-by: Uwe Koziolek Signed-off-by: Jeff Garzik commit 98fa4b60c673526fdd478d9719e41cd9e2b84986 Author: Tejun Heo Date: Thu Nov 2 12:17:23 2006 +0900 [PATCH] ahci: preserve PORTS_IMPL over host resets Instead of writing 0xf blindly, preserve the content of write-once PORTS_IMPL register over host resets. This patch is taken from Jeff Garzik's AHCI init update patch. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ada406c8246b0792afe4d7f8ae7606093052de87 Author: Alan Cox Date: Fri Nov 3 13:18:06 2006 +0000 [PATCH] pdc202xx_old: Fix name clashes with PA-RISC pdc_* functions are part of the global namespace for the PDC on PA-RISC systems and this means our choice of pdc_ causes collisions between the PDC globals and our static functions. Rename them to pdc202xx where they are for both 2024x and 2026x. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 415ae2b5c03b6ed1a041a473885e502d297e1d37 Author: Jeff Garzik Date: Wed Nov 1 05:10:42 2006 -0500 [libata] ahci: Match PCI class code for AHCI Signed-off-by: Jeff Garzik commit 914ed354b373680b648d913161cca6f742f32791 Author: Tejun Heo Date: Wed Nov 1 18:39:55 2006 +0900 [PATCH] libata: move dev->max_sectors configuration into ata_dev_configure() Move dev->max_sectors configuration from ata_scsi_dev_config() to ata_dev_configure(). * more consistent. * allows LLDs to peek at the default dev->max_sectors value. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit baa1e78a834c917984a4659fd282f712c17ee3bf Author: Tejun Heo Date: Wed Nov 1 18:39:27 2006 +0900 [PATCH] libata: implement ATA_EHI_SETMODE and ATA_EHI_POST_SETMODE libata EH used to perform ata_set_mode() iff the EH session performed reset as indicated by ATA_EHI_DID_RESET. This is incorrect because ->dev_config() called by revalidation is allowed to modify transfer mode which ata_set_mode() should take care of. This patch implements the following two flags. * ATA_EHI_SETMODE: set during EH to schedule ata_set_mode(). Both new device attachment and revalidation set this flag. * ATA_EHI_POST_SETMODE: set while the device is revalidated after ata_set_mode(). Post-setmode revalidation is different from initial configuaration and EH revalidation in that ->dev_config() is not allowed tune transfer mode. LLD can use this flag to determine whether it's allowed to tune transfer mode. Note that POST_SETMODE ->dev_config() is guaranteed to be preceded by non-POST_SETMODE ->dev_config(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit efdaedc443e935eda82e9e78a6e65d1f993d242f Author: Tejun Heo Date: Wed Nov 1 18:38:52 2006 +0900 [PATCH] libata: implement ATA_EHI_PRINTINFO Implement ehi flag ATA_EHI_PRINTINFO. This flag is set when device configuration needs to print out device info. This used to be handled by @print_info argument to ata_dev_configure() but LLDs also need to know about it in ->dev_config() callback. This patch replaces @print_info w/ ATA_EHI_PRINTINFO and make sata_sil print workaround messages only on the initial configuration. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ad616ffbda8caf3ce76d2b43027e789d732abf48 Author: Tejun Heo Date: Wed Nov 1 18:00:24 2006 +0900 [PATCH] ahci: update ahci-vt8251 reset sequence ahci-vt8251 * requires hardreset after PHY status change * doesn't clear BSY on signature FIS after hardreset * needs SError cleared for the port to operate after hardreset This patch implements ahci_vt8251_hardreset() and sets ATA_FLAG_HRST_TO_RESUME to handle the above behaviors. This fixes EH including hotplug on vt8251. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b6103f6d1659e2024776bc759d28613fb36344a8 Author: Tejun Heo Date: Wed Nov 1 17:59:53 2006 +0900 [PATCH] libata: separate out and export sata_port_hardreset() Separate out sata_port_hardreset() from sata_std_hardreset(). This will be used by LLD hardreset implementation and later by PMP. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 4aeb0e3283351351a5381a495ea24537f3bc21cb Author: Tejun Heo Date: Wed Nov 1 17:58:33 2006 +0900 [PATCH] ahci: kill AHCI_FLAG_RESET_NEEDS_CLO Now that ahci_softreset() is fixed to automatically perform CLO if BSY/DRQ is set on entry, AHCI_FLAG_RESET_NEEDS_CLO is redundant. Kill it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c0c559083a084f9a19443d522b7d95a33701505a Author: Tejun Heo Date: Mon Oct 16 08:47:18 2006 +0900 [PATCH] sata_sil24: add PMP related constants Add PMP related constants. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 28c8f3b4f9ec9a5acffdc846effb0695839ecf37 Author: Tejun Heo Date: Mon Oct 16 08:47:18 2006 +0900 [PATCH] sata_sil24: rename PMP related constants Rename PMP related constants for consistency. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 309afcb5c87b5a41da51cc0c36f61c0e0d43ca9a Author: Tejun Heo Date: Sat Sep 30 18:07:17 2006 +0900 [PATCH] libata: make user scan wait for scan to complete Make user scan wait for scan to complete. This way user can wait for warm plug request to complete and is prevented from causing EH event storm by repetitively issuing scan request while EH is in progress. Signed-off-by: Tejun Heo Cc: Fajun Chen Signed-off-by: Jeff Garzik commit 722420fe6e2ab63bebc5a9ea346016b59076d75d Author: Tejun Heo Date: Thu Sep 28 17:49:22 2006 +0900 [PATCH] sata_nv: SRST sometimes fails after hotplug, use HRST_TO_RESUME NV controllers sometimes fail to perform softreset after hotplug. Make it use hardreset to resume link. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 90088bb41200b4da962282dfd45db82544adac3b Author: Tejun Heo Date: Mon Oct 9 11:10:26 2006 +0900 [PATCH] libata: move ata_irq_on() into libata-sff.c ata_irq_on() isn't used outside of libata core layer. The function is TF/SFF interface specific but currently used by core path with some hack too. Move it from include/linux/libata.h to drivers/ata/libata-sff.c. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit d1adc1bbd6dde3e05a91e2d3e6ab42d202ea61d5 Author: Tejun Heo Date: Mon Oct 9 18:32:15 2006 +0900 [PATCH] libata: handle 0xff status properly libata waits for !BSY even when the status register reports 0xff. This causes long boot delays when D8 isn't pulled down properly. This patch does the followings. * don't wait if status register is 0xff in all wait functions * make ata_busy_sleep() return 0 on success and -errno on failure. -ENODEV is returned on 0xff status and -EBUSY on other failures. * make ata_bus_softreset() succeed on 0xff status. 0xff status is not reset failure. It indicates no device. This removes unnecessary retries on such ports. Note that the code change assumes unoccupied port reporting 0xff status does not produce valid device signature. Signed-off-by: Tejun Heo Cc: Joe Jin Signed-off-by: Jeff Garzik commit a20c9e820864e18b59d2a4f2f04e8b6053986c95 Author: Paul Mundt Date: Fri Oct 27 19:08:48 2006 -0700 [PATCH] ata: Generic platform_device libata driver needs a changelog Signed-off-by: Paul Mundt Acked-by: Russell King Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6919a0a6cfdad9e83d02cef5973826acd416560c Author: Alan Cox Date: Fri Oct 27 19:08:46 2006 -0700 [PATCH] libata: Revamp blacklist support to allow multiple kinds of blacklisting flaws Signed-off-by: Alan Cox Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fbbb262d9ea9bdbd79d7058271560e9990bc62d3 Author: Robert Hancock Date: Fri Oct 27 19:08:41 2006 -0700 [PATCH] sata_nv ADMA/NCQ support for nForce4 This patch adds support for ADMA mode on NVIDIA nForce4 (CK804/MCP04) SATA controllers to the sata_nv driver. Benefits of ADMA mode include: - NCQ support - Reduced CPU overhead (controller DMAs command information from memory instead of them being pushed in by the CPU) - Full 64-bit DMA support ADMA mode is enabled by default in this version. To disable it, set the module parameter adma_enabled=0. Signed-off-by: Robert Hancock Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 6e9d8629b5503175a4425722a1ef13eed232c650 Author: Jeff Garzik Date: Sat Oct 21 15:54:13 2006 -0400 [libata] pata_marvell: minor and trivial cleanups - use pci_iomap() [Alan, version 0.0.5t] - fix Alan's version 0.0.5t change - line length, trailing whitespace, case indentation cleanups - don't use deprecated ->eng_timeout() in a driver that uses new EH Signed-off-by: Jeff Garzik commit 75742cb41e4b5c7913f385b9688aad69c9fa7ada Author: Alan Cox Date: Mon Oct 16 16:40:06 2006 +0100 [PATCH] pata_marvell: Marvell 6101/6145 PATA driver This is a legacy mode PATA driver for the 6101/45 and will also drive the SATA ports 1 & 2 in legacy mode as well if desired. Tested and confirmed working by users. The chip supports AHCI type behaviour for SATA and has a more advanced PATA interface as well so this driver will get it working but not get best performance for now. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 72dc6794fcd7642200a87bf18e3a43e676314b63 Author: Henrik Kretzschmar Date: Tue Oct 10 14:29:24 2006 -0700 [PATCH] pci_module_init() conversion for pata_pdc2027x pci_module_init() conversion for pata_pdc2027x Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit fc085150b491bfc186efbca90a14cf907a3060a9 Author: Alan Cox Date: Tue Oct 10 14:28:11 2006 -0700 [PATCH] libata: add 40pin "short" cable support, honour drive side speed detection [deweerdt@free.fr: build fix] Signed-off-by: Alan Cox Signed-off-by: Frederik Deweerdt Cc: Tejun Heo Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 2f27ce03628acdb81ead4abe914c713e04a3229e Author: Alan Cox Date: Tue Oct 10 14:28:12 2006 -0700 [PATCH] pci_module_init-convertion-in-ata_genericc fix Acked-by: Alan Cox but please apply as follows to keep revision id straight Cc: Henrik Kretzschmar Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 3f03c6713a4adfae058f4f1db5acde393db44ec0 Author: Henrik Kretzschmar Date: Tue Oct 10 14:28:12 2006 -0700 [PATCH] pci_module_init convertion in ata_generic.c pci_module_init convertion in ata_generic.c. Signed-off-by: Henrik Kretzschmar Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 7e45b0e5f6f68d04311ba7813f5f5457c9119640 Author: Alan Cox Date: Fri Sep 29 18:30:05 2006 +0100 [PATCH] libata: Winbond support Winbond 83759A support in non-multichip mode (afaik nobody ever used multichip mode anyway). The 83759 is not supported by this driver as it is already handled elsewhere and doens't use the same interfaces. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d38eb8db6aa359c060dfb72a29cf8d94a96657d8 Author: Tiger Yang Date: Mon Nov 27 09:59:21 2006 +0800 ocfs2: implement i_op->permission Implement .permission() in ocfs2_file_iops, ocfs2_special_file_iops and ocfs2_dir_iops. This helps us avoid some multi-node races with mode change and vfs operations. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 58d206c2fa5cc0b35bf3ca48324d7633aa7d0412 Author: Adrian Bunk Date: Mon Nov 20 03:24:00 2006 +0100 configfs: make configfs_dirent_exists() static This patch makes the needlessly global configfs_dirent_exists() static. Signed-off-by: Adrian Bunk Signed-off-by: Joel Becker Signed-off-by: Mark Fasheh commit 25899deef46c226c49c53b42c00e0f032379c04b Author: Tiger Yang Date: Wed Nov 15 15:49:02 2006 +0800 ocfs2: update file system paths to set atime Conditionally update atime in ocfs2_file_aio_read(), ocfs2_readdir() and ocfs2_mmap(). Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 7f1a37e31f94b4f1c123d32ce9f69205ab2095bd Author: Tiger Yang Date: Wed Nov 15 15:48:42 2006 +0800 ocfs2: core atime update functions This patch adds the core routines for updating atime in ocfs2. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 8659ac25b434fcc61cf7797f4b69edc3eaaffb55 Author: Tiger Yang Date: Tue Oct 17 18:29:52 2006 -0700 ocfs2: Add splice support Add splice read/write support in ocfs2. ocfs2_file_splice_read/write are very similar to ocfs2_file_aio_read/write. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit e88d0c9a4180821ad64c1fb421e4c28f8155eb74 Author: Mark Fasheh Date: Tue Oct 17 17:06:53 2006 -0700 ocfs2: Remove ocfs2_write_should_remove_suid() Use should_remove_suid() instead. Signed-off-by: Mark Fasheh commit d23a147bb6e8d467e8df73b6589888717da3b9ce Author: Mark Fasheh Date: Tue Oct 17 17:05:18 2006 -0700 [PATCH] Export should_remove_suid() This helps us avoid replicating the same logic within file system drivers. Signed-off-by: Mark Fasheh commit 55ed16029d597622db8121270e687373b5e31722 Author: Mark Fasheh Date: Fri Oct 20 14:55:54 2006 -0700 configfs: mutex_lock_nested() fix configfs_unregister_subsystem() nests a pair of inode i_mutex acquisitions, and thus needs annotation via mutex_lock_nested(). Signed-off-by: Mark Fasheh commit 1fabe1481fac9e01bf8bffa60a2307ef379aa5de Author: Mark Fasheh Date: Mon Oct 9 18:11:45 2006 -0700 ocfs2: Remove struct ocfs2_journal_handle in favor of handle_t This is mostly a search and replace as ocfs2_journal_handle is now no more than a container for a handle_t pointer. ocfs2_commit_trans() becomes very straight forward, and we remove some out of date comments / code. Signed-off-by: Mark Fasheh commit 65eff9ccf86d63eb5c3e9071450a36e4e4fa9564 Author: Mark Fasheh Date: Mon Oct 9 17:26:22 2006 -0700 ocfs2: remove handle argument to ocfs2_start_trans() All callers either pass in NULL directly, or a local variable that is already set to NULL. The internals of ocfs2_start_trans() get a nice cleanup as a result. Signed-off-by: Mark Fasheh commit dae85832ffe2879b57b23aea319a0ec17667898d Author: Mark Fasheh Date: Mon Oct 9 16:50:32 2006 -0700 ocfs2: remove ocfs2_journal_handle journal field It is no longer used. Signed-off-by: Mark Fasheh commit 02dc1af44e9fa4b8801169891b3a1ba4047537ad Author: Mark Fasheh Date: Mon Oct 9 16:48:10 2006 -0700 ocfs2: pass ocfs2_super * into ocfs2_commit_trans() This sets us up to remove handle->journal. Signed-off-by: Mark Fasheh commit 4bcec1847ac4f75c2ee6d091b495f34d8d822e6a Author: Mark Fasheh Date: Mon Oct 9 16:02:40 2006 -0700 ocfs2: remove unused handle argument from ocfs2_meta_lock_full() Now that this is unused and all callers pass NULL, we can safely remove it. Signed-off-by: Mark Fasheh commit a301a27d715276a71827004549bcbb2b64776c11 Author: Mark Fasheh Date: Fri Oct 6 19:07:43 2006 -0700 ocfs2: make ocfs2_alloc_handle() static This is no longer used outside of journal.c Signed-off-by: Mark Fasheh commit daf29e9cdab7219838c6b6e82380aec3466cf379 Author: Mark Fasheh Date: Fri Oct 6 19:05:31 2006 -0700 ocfs2: remove unused ocfs2_handle_add_lock() This gets us rid of a slab we no longer need, as well as removing the majority of what's left on ocfs2_journal_handle. ocfs2_commit_unstarted_handle() has no more real work to do, so remove that function too. Signed-off-by: Mark Fasheh commit 02928a71ae6da6e3e205d99e1fa1a1f598ddb62d Author: Mark Fasheh Date: Fri Oct 6 18:51:46 2006 -0700 ocfs2: remove unused ocfs2_handle_add_inode() We can also delete the unused infrastructure which was once in place to support this functionality. ocfs2_inode_private loses ip_handle and ip_handle_list. ocfs2_journal_handle loses handle_list. Signed-off-by: Mark Fasheh commit 85b9e783cbc8cf4acc7bfaa76f37ea26b426f514 Author: Mark Fasheh Date: Fri Oct 6 18:40:41 2006 -0700 ocfs2: Don't allocate handle early in ocfs2_rename() It isn't used until ocfs2_start_trans() anyway. Signed-off-by: Mark Fasheh commit da5cbf2f9df922cfdafa39351691fa83517f1e25 Author: Mark Fasheh Date: Fri Oct 6 18:34:35 2006 -0700 ocfs2: don't use handle for locking in allocation functions Instead we record our state on the allocation context structure which all callers already know about and lifetime correctly. This means the reservation functions don't need a handle passed in any more, and we can also take it off the alloc context. Signed-off-by: Mark Fasheh commit 8d5596c687c49c1d8812c3456946dec15d069139 Author: Mark Fasheh Date: Fri Oct 6 15:04:51 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_rename() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 6d8fc40e63401be065b0aa98dfa4246deca04b8c Author: Mark Fasheh Date: Fri Oct 6 11:54:33 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_symlink() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 30a4f5e86bc7bc388ce808117e7722706f739602 Author: Mark Fasheh Date: Fri Oct 6 11:49:45 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock in ocfs2_unlink() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 5098c27bb8cd89e30d909ac9d76e305d334dadaf Author: Mark Fasheh Date: Thu Oct 5 18:12:57 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in orphan dir code Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 123a9643408882620347cc2c82f24e57dab05f44 Author: Mark Fasheh Date: Thu Oct 5 16:48:23 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_link() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit e3a821385984e57d5dd1b0e7292761abb0ea4dd9 Author: Mark Fasheh Date: Thu Oct 5 16:04:17 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in ocfs2_mknod() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit e08dc8b9808f06d412904db4d67434bf19984752 Author: Mark Fasheh Date: Thu Oct 5 15:58:48 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in __ocfs2_flush_truncate_log() Take and drop the locks directly. Signed-off-by: Mark Fasheh commit 8898a5a58fb2a2f78a15b046588b5b3adccb82c4 Author: Mark Fasheh Date: Thu Oct 5 15:42:08 2006 -0700 ocfs2: don't pass handle to ocfs2_meta_lock() in localalloc.c Take and drop the locks directly. Signed-off-by: Mark Fasheh commit c161f89be7d57af863e434e9b15afaa863343a7a Author: Mark Fasheh Date: Thu Oct 5 15:11:36 2006 -0700 ocfs2: remove ocfs2_journal_handle flags field Callers can set h_sync directly on the handle_t, whether a transaction has been started or not can be determined via the existence of the handle_t on the struct ocfs2_journal_handle. Signed-off-by: Mark Fasheh commit 1fc581467e52546195c7ee8233a34d63c1cc1322 Author: Mark Fasheh Date: Thu Oct 5 14:15:36 2006 -0700 ocfs2: have ocfs2_extend_trans() take handle_t No reason to use our wrapper struct in this function, so take the handle_t directly. Also fixes a bug where we were incorrectly setting the handle to NULL in case of a failure from journal_restart() Signed-off-by: Mark Fasheh commit 01ddf1e186b3b12b38c9e44912e0fd6a1cbc882b Author: Mark Fasheh Date: Thu Oct 5 13:54:39 2006 -0700 ocfs2: remove unused ocfs2_journal_handle field max_buffs was just being set and not actually used. Signed-off-by: Mark Fasheh commit f5a923d1ba648bfb3cc922c66981fc8e3280f57f Author: Mark Fasheh Date: Tue Nov 28 15:13:18 2006 -0800 ocfs2: fix format warnings in dlm_alloc_pagevec() Signed-off-by: Mark Fasheh commit da66116eef7da8557762c9b5efdc435bc0afecfa Author: Adrian Bunk Date: Mon Nov 20 03:24:28 2006 +0100 [2.6 patch] make ocfs2_create_new_lock() static This patch makes the needlessly global ocfs2_create_new_lock() static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit f5236225a3858b505221a59233af1f1158be9139 Author: Dan Williams Date: Fri Dec 1 19:31:42 2006 +0100 [ARM] 3967/1: xsc3: make branch predication configurable on xsc3 Remove BTB_ENABLE from proc-xsc3.S On some early revisions of xsc3 enabling the branch target buffer can cause crashes, see erratum #42. Cc: Lennert Buytenhek Signed-off-by: Dan Williams Signed-off-by: Russell King commit 0e5fdca7622eb950f42f97a1970670e00a739175 Author: Lennert Buytenhek Date: Sat Dec 2 00:03:47 2006 +0100 [ARM] 3971/1: xsc3: get rid of L_PTE_COHERENT Merge L_PTE_COHERENT with L_PTE_SHARED and free up a L_PTE_* bit. Signed-off-by: Lennert Buytenhek Signed-off-by: Dan Williams Signed-off-by: Russell King commit e17e0f51aeea4e59c7e450a1c0f26605b91c1260 Author: Kay Sievers Date: Fri Nov 24 12:15:25 2006 +0100 Driver core: show drivers in /sys/module/ Show the drivers, which belong to the module: $ ls -l /sys/module/usbcore/drivers/ hub -> ../../../bus/usb/drivers/hub usb -> ../../../bus/usb/drivers/usb usbfs -> ../../../bus/usb/drivers/usbfs Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit c957b32406b73ed66d0f20ebab0cab25c848105d Author: David Brownell Date: Thu Nov 16 23:30:14 2006 -0800 Documentation/driver-model/platform.txt update/rewrite This is almost a rewrite of the driver-model/platform.txt documentation; the previous text was obsolete (for several years), evidently it never got updated to match the change from being a PC "legacy_bus" to the more widely used core bus for most embedded systems. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit c67334fbdfbba533af767610cf3fde8a49710e62 Author: David Brownell Date: Thu Nov 16 23:28:47 2006 -0800 Driver core: platform_driver_probe(), can save codespace This defines a new platform_driver_probe() method allowing the driver's probe() method, and its support code+data, to safely live in __init sections for typical system configurations. Many system-on-chip processors could benefit from this API, to the tune of recovering hundreds to thousands of bytes per driver. That's memory which is currently wasted holding code which can never be called after system startup, yet can not be removed. It can't be removed because of the linkage requirement that pointers to init section code (like, ideally, probe support) must not live in other sections (like driver method tables) after those pointers would be invalid. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit acf02d23b96efa92e7cff05987122ceeb37dd075 Author: Cornelia Huck Date: Wed Nov 22 17:49:39 2006 +0100 driver core: Use klist_remove() in device_move() As pointed out by Alan Stern, device_move needs to use klist_remove which waits until removal is complete. Signed-off-by: Cornelia Huck Cc: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8a82472f86bf693b8e91ed56c9ca4f62fbbdcfa3 Author: Cornelia Huck Date: Mon Nov 20 17:07:51 2006 +0100 driver core: Introduce device_move(): move a device to a new parent. Provide a function device_move() to move a device to a new parent device. Add auxilliary functions kobject_move() and sysfs_move_dir(). kobject_move() generates a new uevent of type KOBJ_MOVE, containing the previous path (DEVPATH_OLD) in addition to the usual values. For this, a new interface kobject_uevent_env() is created that allows to add further environmental data to the uevent at the kobject layer. Signed-off-by: Cornelia Huck Acked-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit af9e0765362151b27372c14d9d6dc417184182d3 Author: Adrian Bunk Date: Fri Nov 17 02:19:44 2006 +0100 Driver core: make drivers/base/core.c:setup_parent() static This patch makes the needlessly global setup_parent() static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 5ab699810d46011ad2195c5916f3cbc684bfe3ee Author: Cornelia Huck Date: Thu Nov 16 15:42:07 2006 +0100 driver core: Introduce device_find_child(). Introduce device_find_child() to match device_for_each_child(). Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 035ed7a49447bc8e15d4d9316fc6a359b2d94333 Author: Thomas Maier Date: Sun Oct 22 19:17:47 2006 +0200 sysfs: sysfs_write_file() writes zero terminated data since most of the files in sysfs are text files, it would be nice, if the "store" function called during sysfs_write_file() gets a zero terminated string / data. The current implementation seems not to ensure this. (But only if it is the first time the zeroed buffer page is allocated.) So the buffer can be scanned by sscanf() easily, for example. This patch simply sets a \0 char behind the data in buffer->page. Signed-off-by: Thomas Maier Signed-off-by: Greg Kroah-Hartman commit 06a4bcae1ff2cd5f6f42bd74add85ec785a26343 Author: Heiko Carstens Date: Wed Nov 8 19:46:09 2006 -0800 cpu topology: consider sysfs_create_group return value Take return value of sysfs_create_group() into account. That function got called in case of CPU_ONLINE notification. Since callbacks are not allowed to fail on CPU_ONLINE notification do the sysfs group creation on CPU_UP_PREPARE notification. Also remember if creation succeeded in a bitmask. So it's possible to know whether it's legal to call sysfs_remove_group or not. In addition some other minor stuff: - since CPU_UP_PREPARE might fail add CPU_UP_CANCELED handling as well. - use hotcpu_notifier instead of register_hotcpu_notifier. - #ifdef code that isn't needed in the !CONFIG_HOTPLUG_CPU case. Signed-off-by: Heiko Carstens Acked-by: Cornelia Huck Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 289535334646796fe41f199718e4a731f7411a92 Author: Benjamin Herrenschmidt Date: Wed Nov 8 19:46:14 2006 -0800 Driver core: Call platform_notify_remove later Move the call to platform_notify_remove() to after the call to bus_remove_device(), where it belongs. It's bogus to notify the platform of removal while drivers are still attached to the device and possibly still operating since the platform might use this callback to tear down some resources used by the driver (ACPI bits, iommu table, ...) Signed-off-by: Benjamin Herrenschmidt Cc: "Brown, Len" Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 465ae641e4a3e5028aa9c85d3843259aa28a22ce Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:18:42 2006 +1100 ACPI: Change ACPI to use dev_archdata instead of firmware_data Change ACPI to use dev_archdata instead of firmware_data This patch changes ACPI to use the new dev_archdata on i386, x86_64 and ia64 (is there any other arch using ACPI ?) to store it's acpi_handle. It also removes the firmware_data field from struct device as this was the only user. Only build-tested on x86 Signed-off-by: Benjamin Herrenschmidt Cc: Len Brown Signed-off-by: Greg Kroah-Hartman commit c6dbaef22a2f78700e242915a13218dd780c89ff Author: Benjamin Herrenschmidt Date: Sat Nov 11 17:18:39 2006 +1100 Driver core: add dev_archdata to struct device Add arch specific dev_archdata to struct device Adds an arch specific struct dev_arch to struct device. This enables architecture to add specific fields to every device in the system, like DMA operation pointers, NUMA node ID, firmware specific data, etc... Signed-off-by: Benjamin Herrenschmidt Acked-by: Andi Kleen Acked-By: David Howells Signed-off-by: Greg Kroah-Hartman commit d80f19fab89cba8a6d16193154c8ff3edab00942 Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert sound core to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. It also makes the struct sound_card to show up as a "real" device where all the different sound class devices are placed as childs and different card attribute files can hang off of. /sys/class/sound is still a flat directory, but the symlink targets of all devices belonging to the same card, point the the /sys/devices tree below the new card device object. Thanks to Kay for the updates to this patch. Signed-off-by: Kay Sievers Acked-by: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit ebf644c4623bc3eb57683199cd2b9080028b0f6f Author: Greg Kroah-Hartman Date: Tue Jul 25 17:13:31 2006 -0700 Driver core: change mem class_devices to be real devices Signed-off-by: Greg Kroah-Hartman commit 78cde0887930f5d11a56fc51b013f2672fba0e6f Author: Greg Kroah-Hartman Date: Thu Sep 14 07:30:59 2006 -0700 Driver core: convert fb code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit e55c8790d40fdbc6887b4e3e52afefe4b03f1311 Author: Greg Kroah-Hartman Date: Thu Sep 14 07:30:59 2006 -0700 Driver core: convert firmware code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit fcaf71fd51f9cfc504455d3e19ec242e4b2073ed Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert mmc code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 04880edae5e1027d61241beb5ac37b520755f2ab Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert ppdev code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 9a6a2a5e0b57d25c1bf6eb9b8c958940e156b059 Author: Greg Kroah-Hartman Date: Tue Sep 12 17:00:10 2006 +0200 Driver core: convert PPP code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 07accdc18e014cad945013886ee34e09f859f88a Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert cpuid code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit a271aaf15f492d202def1b34e447107b60fe4ece Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert msr code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit ac11d0601bbe73c92e31b393eeb1225593788d4c Author: Greg Kroah-Hartman Date: Mon Jul 3 13:46:24 2006 -0700 I2C: convert i2c-dev to use struct device instead of struct class_device As class_device is going away eventually... Cc: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 38ca6c34d385f143027ff40dd271c61adcc9b23c Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert raw device code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 01107d343076c34b9e1ce5d073292bd7f3097fda Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert tty core to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Also fixes up the isdn drivers that were putting something in the class device's directory. Signed-off-by: Greg Kroah-Hartman commit 94fbcded4ea0dc14cbfb222a5c68372f150d1476 Author: Greg Kroah-Hartman Date: Thu Jul 27 16:16:04 2006 -0700 Driver core: change misc class_devices to be real devices This also ment that some of the misc drivers had to also be fixed up as they were assuming the device was a class_device. Signed-off-by: Greg Kroah-Hartman commit cd15422b9f39155e2d9ea56ae95c6f62aa5df42e Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert vc code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 805952a889c4d0fdab23307c14c5ce9571f81233 Author: Greg Kroah-Hartman Date: Mon Aug 7 22:19:37 2006 -0700 Driver core: convert vt code to use struct device Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman commit 805fab474ed75f9603dbde6fa74a2976868b4bd2 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - class symlinks Turn off class symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit a87cb2ac4a78c590583b52a3ed196adc6c25b6c9 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - PHYSDEV* uevent variables Disable the PHYSDEV* uevent variables if CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 99ef3ef8d5f2f5b5312627127ad63df27c0d0d05 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - device symlinks Turn off device symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit b9cafc7d5b8af0c71896f60dfcff40c71bd38a9a Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED - bus symlinks Turn off the bus symlinks if CONFIG_SYSFS_DEPRECATED is enabled Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 40fa54226f518a9bc97ed1d711c0016e416e3782 Author: Greg Kroah-Hartman Date: Tue Oct 24 00:37:58 2006 +0100 Driver core: make old versions of udev work properly If CONFIG_SYSFS_DEPRECATED is enabled, old versions of udev will work properly with devices that are associated with a class. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 88a22c985e3545c55c9779971007f0f29f912519 Author: Kay Sievers Date: Thu Sep 14 11:23:28 2006 +0200 CONFIG_SYSFS_DEPRECATED Provide a way to support older versions of udev that are shipped in older distros. If this option is disabled, it will also turn off the compatible symlinks in sysfs that older programs might rely on. When in doubt, or if running a distro older than 2006, say Yes here. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit f0ee61a6cecd100301a60d99feb187776533b2a2 Author: Greg Kroah-Hartman Date: Mon Oct 23 10:40:54 2006 -0700 Driver Core: Move virtual_device_parent() to core.c It doesn't need to be global or in device.h Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 1901fb2604fbcd53201f38725182ea807581159e Author: Kay Sievers Date: Sat Oct 7 21:55:55 2006 +0200 Driver core: fix "driver" symlink timing Create the "driver" link before the child device may be created by the probing logic. This makes it possible for userspace (udev), to determine the driver property of the parent device, at the time the child device is created. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 116af378201ef793424cd10508ccf18b06d8a021 Author: Benjamin Herrenschmidt Date: Wed Oct 25 13:44:59 2006 +1000 Driver core: add notification of bus events I finally did as you suggested and added the notifier to the struct bus_type itself. There are still problems to be expected is something attaches to a bus type where the code can hook in different struct device sub-classes (which is imho a big bogosity but I won't even try to argue that case now) but it will solve nicely a number of issues I've had so far. That also means that clients interested in registering for such notifications have to do it before devices are added and after bus types are registered. Fortunately, most bus types that matter for the various usage scenarios I have in mind are registerd at postcore_initcall time, which means I have a really nice spot at arch_initcall time to add my notifiers. There are 4 notifications provided. Device being added (before hooked to the bus) and removed (failure of previous case or after being unhooked from the bus), along with driver being bound to a device and about to be unbound. The usage I have for these are: - The 2 first ones are used to maintain a struct device_ext that is hooked to struct device.firmware_data. This structure contains for now a pointer to the Open Firmware node related to the device (if any), the NUMA node ID (for quick access to it) and the DMA operations pointers & iommu table instance for DMA to/from this device. For bus types I own (like IBM VIO or EBUS), I just maintain that structure directly from the bus code when creating the devices. But for bus types managed by generic code like PCI or platform (actually, of_platform which is a variation of platform linked to Open Firmware device-tree), I need this notifier. - The other two ones have a completely different usage scenario. I have cases where multiple devices and their drivers depend on each other. For example, the IBM EMAC network driver needs to attach to a MAL DMA engine which is a separate device, and a PHY interface which is also a separate device. They are all of_platform_device's (well, about to be with my upcoming patches) but there is no say in what precise order the core will "probe" them and instanciate the various modules. The solution I found for that is to have the drivers for emac to use multithread_probe, and wait for a driver to be bound to the target MAL and PHY control devices (the device-tree contains reference to the MAL and PHY interface nodes, which I can then match to of_platform_devices). Right now, I've been polling, but with that notifier, I can more cleanly wait (with a timeout of course). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Greg Kroah-Hartman commit 2b290da053608692ea206507d993b70c39d2cdea Author: Adrian Bunk Date: Thu Nov 16 13:16:23 2006 +0100 PCI: make arch/i386/pci/common.c:pci_bf_sort static This patch makes the needlessly global pci_bf_sort static. Signed-off-by: Adrian Bunk Acked-by: Matt Domsch Signed-off-by: Greg Kroah-Hartman commit b0d974e90d6f9fbf3a926defbbc76543cff74426 Author: Adrian Bunk Date: Fri Nov 17 02:19:25 2006 +0100 PCI: ibmphp_pci.c: fix NULL dereference The correct order is: NULL check before dereference Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 9d167dc367f22c07285137370816b83b4be9c697 Author: Kenji Kaneshige Date: Mon Nov 13 15:13:09 2006 -0800 pciehp: remove unnecessary pci_disable_msi This patch fixes the problem that "irq XX: nobody cared" kernel oops is reported when pciehp is once rmmoded and insmoded again. The cause of this problem is pciehp driver calls pci_disable_msi() at controller release time, even though it must be done by PCI Express Port Bus driver. This patch removes unnecessary pci_disable_msi() call from pciehp driver. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 407f452b05f9e5d019c07077d05238bca1b45c4c Author: Kenji Kaneshige Date: Mon Nov 13 15:13:00 2006 -0800 pciehp: remove unnecessary free_irq This patch fixes the problem that the following error messages is reported when pciehp driver is rmmoded. Trying to free already-free IRQ XX The cause of this problem is that pciehp driver is doing unknown 2nd free_irq at driver unloading. This patch removes this unknown 2nd free_irq call. Note: The pciehp driver should be adapted to standard device driver mode. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a57ed79ef1b71f6da44ebeabb41d019d172fb261 Author: John Rose Date: Mon Nov 13 15:12:52 2006 -0800 PCI: rpaphp: change device tree examination Change the criterion that RPA PCI Hotplug and RPA DLPAR use when determining the hotplug capabilities of a given device node. The "device_type" property is less consistent than "name" across PCI nodes on newer hardware. Signed-off-by: John Rose Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit ac9e98918776d8fa6dc38bfa6d298a7dbcbac2cb Author: Rolf Eike Beer Date: Mon Nov 13 15:12:45 2006 -0800 PCI: Change memory allocation for acpiphp slots Change memory allocation for acpiphp slots Change the "struct slot" that acpiphp uses for managing it's slots to directly contain the memory for the needed struct hotplug_slot_info and the slot's name. This way we need only two memory allocations per slot instead of four. While we are at it: make_slot_name() is just a wrapper around snprintf() knowing the right arguments to call it. Since the function makes just one function call and is only called from one place I inlined it by hand. Finally this fixes a possible bug waiting for someone to hit it. There were two unused local variables in acpiphp_register_hotplug_slot(). gcc did not find them because they were used in memory allocations with sizeof(*var). They had the same types as the target of the allocation, but nevertheless this was just weird. Signed-off-by: Rolf Eike Beer Acked-by: Matthew Wilcox Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit adbc2a102252994c36102008293b52760613d6c3 Author: Jason Gaston Date: Wed Nov 22 15:19:12 2006 -0800 i2c-i801: SMBus patch for Intel ICH9 This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's. Thi= s patch relies on the irq ICH9 patch to pci_ids.h. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit 3b59d52d8c7925e7a9a396f2e31a66eb060c6c37 Author: Jason Gaston Date: Wed Nov 22 15:15:08 2006 -0800 PCI: irq: irq and pci_ids patch for Intel ICH9 This updated patch adds the Intel ICH9 LPC and SMBus Controller DID's. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman commit 95ddc5f25590e31843a09357365d5cbc6ec978db Author: Inaky Perez-Gonzalez Date: Wed Nov 22 12:40:32 2006 -0800 PCI: pci_{enable,disable}_device() nestable ports Change drivers/message/i20 pci driver to simply do a nestable enable()/disable() instead of checking for it. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit bae94d02371c402408a4edfb95e71e88dbd3e973 Author: Inaky Perez-Gonzalez Date: Wed Nov 22 12:40:31 2006 -0800 PCI: switch pci_{enable,disable}_device() to be nestable Changes the pci_{enable,disable}_device() functions to work in a nested basis, so that eg, three calls to enable_device() require three calls to disable_device(). The reason for this is to simplify PCI drivers for multi-interface/capability devices. These are devices that cram more than one interface in a single function. A relevant example of that is the Wireless [USB] Host Controller Interface (similar to EHCI) [see http://www.intel.com/technology/comms/wusb/whci.htm]. In these kind of devices, multiple interfaces are accessed through a single bar and IRQ line. For that, the drivers map only the smallest area of the bar to access their register banks and use shared IRQ handlers. However, because the order at which those drivers load cannot be known ahead of time, the sequence in which the calls to pci_enable_device() and pci_disable_device() cannot be predicted. Thus: 1. driverA starts pci_enable_device() 2. driverB starts pci_enable_device() 3. driverA shutdown pci_disable_device() 4. driverB shutdown pci_disable_device() between steps 3 and 4, driver B would loose access to it's device, even if it didn't intend to. By using this modification, the device won't be disabled until all the callers to enable() have called disable(). This is implemented by replacing 'struct pci_dev->is_enabled' from a bitfield to an atomic use count. Each caller to enable increments it, each caller to disable decrements it. When the count increments from 0 to 1, __pci_enable_device() is called to actually enable the device. When it drops to zero, pci_disable_device() actually does the disabling. We keep the backend __pci_enable_device() for pci_default_resume() to use and also change the sysfs method implementation, so that userspace enabling/disabling the device doesn't disable it one time too much. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 039d09a845209122c5193e650ab2d8b3c849ca7c Author: Amol Lad Date: Tue Oct 17 10:02:50 2006 +0530 PCI: arch/i386/kernel/pci-dma.c: ioremap balanced with iounmap ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad Signed-off-by: Greg Kroah-Hartman commit 7edab2f0876ff6a38e10a88c9aca20180aad307c Author: Randy Dunlap Date: Tue Oct 17 10:17:58 2006 -0700 pci/i386: style cleanups Mostly CodingStyle cleanups for arch/i386/pci/i386.c: - fit in 80 columns; - use a #defined value instead of an inline constant; Also change one resource_size_t (DBG) printk from %08lx to %lx since it can be more than 32 bits (more than 8 hexits). Signed-off-by: Randy Dunlap Signed-off-by: Greg Kroah-Hartman commit 7ea7e98fd8d02351c43ef4ab35d70f3aaa26c31d Author: Matthew Wilcox Date: Thu Oct 19 09:41:28 2006 -0600 PCI: Block on access to temporarily unavailable pci device The existing implementation of pci_block_user_cfg_access() was recently criticised for providing out of date information and for returning errors on write, which applications won't be expecting. This reimplementation uses a global wait queue and a bit per device. I've open-coded prepare_to_wait() / finish_wait() as I could optimise it significantly by knowing that the pci_lock protected us at all points. It looked a bit funny to be doing a spin_unlock_irqsave(); schedule(), so I used spin_lock_irq() for the _user versions of pci_read_config and pci_write_config. Not carrying a flags pointer around made the code much less nasty. Attempts to block an already blocked device hit a BUG() and attempts to unblock an already unblocked device hit a WARN(). If we need to block access to a device from userspace, it's because it's unsafe for even another bit of the kernel to access the device. An attempt to block a device for a second time means we're about to access the device to perform some other operation, which could provoke undefined behaviour from the device. Signed-off-by: Matthew Wilcox Acked-by: Adam Belay Acked-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit 50bf14b3ff05fb6e10688021b96f95d30a300f8d Author: Akinobu Mita Date: Wed Nov 8 19:53:59 2006 -0800 pci: fix __pci_register_driver error handling __pci_register_driver() error path forgot to unwind. driver_unregister() needs to be called when pci_create_newid_file() failed. Signed-off-by: Akinobu Mita Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 0dcb2b7e722f62b886f28b01150860de67d219fa Author: Kristen Carlson Accardi Date: Mon Oct 30 13:08:12 2006 -0800 pci: clear osc support flags if no _OSC method So it looks like pci aer code will call pci_osc_support_set to tell the firmware about OSC_EXT_PCI_CONFIG_SUPPORT flag. that causes ctrlset_buf[OSC_SUPPORT_TYPE] to evaluate to true when pciehp calls pci_osc_control_set() is called (to attempt to use OSC to gain native pcie control from firmware), regardless of whether or not _OSC was actually successfully executed. That causes this section of code: if (ctrlset_buf[OSC_SUPPORT_TYPE] && ((global_ctrlsets & ctrlset) != ctrlset)) { return AE_SUPPORT; } to be hit. This patch will reset the OSC_SUPPORT_TYPE field if _OSC fails, and then would allow pciehp to go ahead and try to run _OSC again. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 0a9dee2739fd4385e83c3316e3f3bee641796638 Author: Akinobu Mita Date: Mon Oct 30 13:08:04 2006 -0800 acpiphp: fix missing acpiphp_glue_exit() acpiphp_glue_exit() needs to be called to unwind when no slots found. (It fixes data corruption when reloading acpiphp driver with no such devices) Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 467c442f092e22acf86a3b4ad4863d097d7257da Author: Akinobu Mita Date: Mon Oct 30 13:07:58 2006 -0800 acpiphp: fix use of list_for_each macro This patch fixes invalid usage of list_for_each() list_for_each (node, &bridge_list) { bridge = (struct acpiphp_bridge *)node; ... } This code works while the member of list node is located at the head of struct acpiphp_bridge. Signed-off-by: Akinobu Mita Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit a2302c68d923537436b1114aa207787c1a31bd50 Author: John Keller Date: Wed Oct 4 16:49:52 2006 -0500 Altix: Initial ACPI support - ROM shadowing. Support a shadowed ROM when running with an ACPI capable PROM. Define a new dev.resource flag IORESOURCE_ROM_BIOS_COPY to describe the case of a BIOS shadowed ROM, which can then be used to avoid pci_map_rom() making an unneeded call to pci_enable_rom(). Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit 9f581f162e2b304be25dee49bf3945d4ed65dfb6 Author: John Keller Date: Wed Oct 4 16:49:35 2006 -0500 Altix: SN ACPI hotplug support. A few minor changes to the way slot/device fixup is done. No need to be calling sn_pci_controller_fixup(), as a root bus cannot be hotplugged. Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit 8ea6091f500162e97687d7acf925f84202066b8d Author: John Keller Date: Wed Oct 4 16:49:25 2006 -0500 Altix: Add initial ACPI IO support First phase in introducing ACPI support to SN. In this phase, when running with an ACPI capable PROM, the DSDT will define the root busses and all SN nodes (SGIHUB, SGITIO). An ACPI bus driver will be registered for the node devices, with the acpi_pci_root_driver being used for the root busses. An ACPI vendor descriptor is now used to pass platform specific information for both nodes and busses, eliminating the need for the current SAL calls. Also, with ACPI support, SN fixup code is no longer needed to initiate the PCI bus scans, as the acpi_pci_root_driver does that. However, to maintain backward compatibility with non-ACPI capable PROMs, none of the current 'fixup' code can been deleted, though much restructuring has been done. For example, the bulk of the code in io_common.c is relocated code that is now common regardless of what PROM is running, while io_acpi_init.c and io_init.c contain routines specific to an ACPI or non ACPI capable PROM respectively. A new pci bus fixup platform vector has been created to provide a hook for invoking platform specific bus fixup from pcibios_fixup_bus(). The size of io_space[] has been increased to support systems with large IO configurations. Signed-off-by: John Keller Signed-off-by: Greg Kroah-Hartman commit e08cf02f32dff732b2be0c9755cf5eb676f88e48 Author: Matthew Wilcox Date: Tue Oct 10 08:01:22 2006 -0600 PCI: Delete unused extern in powermac/pci.c This file no longer uses pci_cache_line_size, so delete the declaration Signed-off-by: Matthew Wilcox Cc: Benjamin Herrenschmidt Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit edb2d97eb57b7a21c9256260562de6a65dda86cc Author: Matthew Wilcox Date: Tue Oct 10 08:01:21 2006 -0600 PCI: Replace HAVE_ARCH_PCI_MWI with PCI_DISABLE_MWI pSeries is the only architecture left using HAVE_ARCH_PCI_MWI and it's really inappropriate for its needs. It really wants to disable MWI altogether. So here are a pair of stub implementations for pci_set_mwi and pci_clear_mwi. Also rename pci_generic_prep_mwi to pci_set_cacheline_size since that better reflects what it does. Signed-off-by: Matthew Wilcox Cc: Paul Mackerras Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit ebf5a24829def5d066922ceebde61dd57fdc6b1e Author: Matthew Wilcox Date: Tue Oct 10 08:01:20 2006 -0600 PCI: Use pci_generic_prep_mwi on sparc64 The setting of the CACHE_LINE_SIZE register in sparc64's pci initialisation code isn't quite adequate as the device may have incompatible requirements. The generic code tests for this, so switch sparc64 over to using it. Since sparc64 has different L1 cache line size and PCI cache line size, it would need to override the generic code like i386 and ia64 do. We know what the cache line size is at compile time though, so introduce a new optional constant PCI_CACHE_LINE_BYTES. Signed-off-by: Matthew Wilcox Signed-off-by: David Miller Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 3efe2d84c8d909567c7976a7106114127b8c3470 Author: Matthew Wilcox Date: Tue Oct 10 08:01:19 2006 -0600 PCI: Use pci_generic_prep_mwi on ia64 The pci_generic_prep_mwi() code does everything that pcibios_prep_mwi() does on ia64. All we need to do is be sure that pci_cache_line_size is set appropriately, and we can delete pcibios_prep_mwi(). Using SMP_CACHE_BYTES as the default was wrong on uniprocessor machines as it is only 8 bytes. The default in the generic code of L1_CACHE_BYTES is at least as good. Signed-off-by: Matthew Wilcox Acked-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit 368c73d4f689dae0807d0a2aa74c61fd2b9b075f Author: Alan Cox Date: Wed Oct 4 00:41:26 2006 +0100 PCI: quirks: fix the festering mess that claims to handle IDE quirks The number of permutations of crap we do is amazing and almost all of it has the wrong effect in 2.6. At the heart of this is the PCI SFF magic which says that compatibility mode PCI IDE controllers use ISA IRQ routing and hard coded addresses not the BAR values. The old quirks variously clears them, sets them, adjusts them and then IDE ignores the result. In order to drive all this garbage out and to do it portably we need to handle the SFF rules directly and properly. Because we know the device BAR 0-3 are not used in compatibility mode we load them with the values that are implied (and indeed which many controllers actually thoughtfully put there in this mode anyway). This removes special cases in the IDE layer and libata which now knows that bar 0/1/2/3 always contain the correct address. It means our resource allocation map is accurate from boot, not "mostly accurate" after ide is loaded, and it shoots lots of code. There is also lots more code and magic constant knowledge to shoot once this is in and settled. Been in my test tree for a while both with drivers/ide and with libata. Wants some -mm shakedown in case I've missed something dumb or there are corner cases lurking. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman commit cc692a5f1e9816671b77da77c6d6c463156ba1c7 Author: Stephen Hemminger Date: Wed Nov 8 16:17:15 2006 -0800 PCI: save/restore PCI-X state Shouldn't PCI-X state be saved/restored? No device really needs this right now. qla24xx (fc HBA) and mthca (infiniband) don't do suspend, and sky2 resets its tweaks when links are brought up. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit e65e5fb5ceb02aaea7b65bf8b3b0d0c9057718b6 Author: Michael Ellerman Date: Tue Nov 7 18:21:21 2006 +1100 PCI: Make some MSI-X #defines generic Move some MSI-X #defines into pci_regs.h so they can be used outside of drivers/pci. Signed-off-by: Michael Ellerman Signed-off-by: Greg Kroah-Hartman commit 009af1ff78bfc30b9a27807dd0207fc32848218a Author: Greg Kroah-Hartman Date: Fri Oct 27 16:12:30 2006 -0700 PCI: Let PCI_MULTITHREAD_PROBE not be broken It's not really broken, but people keep running into other problems caused by it. Re-enable it so that the drivers get stress tested. Signed-off-by: Greg Kroah-Hartman commit 94fcda1f8ab5e0cacc381c5ca1cc9aa6ad523576 Author: Alan Stern Date: Mon Nov 20 11:38:46 2006 -0500 usbcore: remove unused argument in autosuspend Thanks to several earlier patches, usb_autosuspend_device() and usb_autoresume_device() are never called with a second argument other than 1. This patch (as819) removes the now-redundant argument. It also consolidates some common code between those two routines, putting it into a new subroutine called usb_autopm_do_device(). And it includes a sizable kerneldoc update for the affected functions. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ee49fb5dc89d34f1794ac9362fa97c1a640f7ddd Author: Alan Stern Date: Wed Nov 22 16:55:54 2006 -0500 USB: keep count of unsuspended children This patch (as818b) simplifies autosuspend processing by keeping track of the number of unsuspended children of each USB hub. This will permit us to avoid a good deal of unnecessary work all the time; we will no longer have to create a bunch of workqueue entries to carry out autosuspend requests, only to have them fail because one of the hub's children isn't suspended. The basic idea is simple. There already is a usage counter in the usb_device structure for preventing autosuspends. The patch just increments that counter for every unsuspended child. There's only one tricky part: When a device disconnects we need to remember whether it was suspended at the time (leave the counter alone) or not (decrement the counter). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d25450c68767481f7c9cc4823a6da8235db40be6 Author: Alan Stern Date: Mon Nov 20 11:14:30 2006 -0500 USB hub: simplify remote-wakeup handling This patch (as817) simplifies the remote-wakeup processing in the hub driver. Now instead of using a specialized code path, it relies on the standard USB resume routines. The hub_port_resume() function does an initial get_port_status() to see whether the port has already resumed itself (as it does when a remote-wakeup request is sent). This will slow down handling of other resume events slightly, but not enough to matter. The patch also changes the hub_port_status() routine, making it return an error if a short reply is received. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ce3615879ae85373c03744b45b7c2d7ae5e29b2a Author: Alan Stern Date: Mon Nov 20 11:12:22 2006 -0500 USB: struct usb_device: change flag to bitflag This patch (as816) changes an existing flag in the usb_device structure to a bitflag, preparing the way for more bitflags to come in the future. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 1f9fc882d92f3ff390455836f98d7ddc36d4e4c3 Author: Alan Stern Date: Mon Nov 20 11:06:59 2006 -0500 OHCI: make autostop conditional on CONFIG_PM Unlike UHCI, OHCI does not exert any DMA load on the system when no devices are connected. Consequently there is no advantage to doing an autostop other than the power savings, so we shouldn't compile the necessary code unless CONFIG_PM is enabled. This patch (as820) makes the root-hub suspend and resume routines conditional on CONFIG_PM. It also prevents autostop from activating if the device_may_wakeup flag isn't set; some people use this flag to alert the driver about Resume-Detect bugs in the hardware. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 40f122f343797d02390c5a157372cac0c5b50bb7 Author: Alan Stern Date: Thu Nov 9 14:44:33 2006 -0500 USB: Add autosuspend support to the hub driver This patch (as742b) adds autosuspend/autoresume support to the USB hub driver. The largest aspect of the change is that we no longer need a special flag for root hubs that want to be resumed. Now every hub is autoresumed whenever khubd needs to access it. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 8c03356a559ced6fa78931f498193f776d67e445 Author: Alan Stern Date: Thu Nov 9 14:42:16 2006 -0500 EHCI: Fix root-hub and port suspend/resume problems This patch (as738b) fixes numerous problems in the controller/root-hub suspend/resume/remote-wakeup support in ehci-hcd: The bus_resume() routine should wake up only the ports that were suspended by bus_suspend(). Ports that were already suspended should remain that way. The interrupt mask is used to detect loss of power in the bus_resume() routine (if the mask is 0 then power was lost). However bus_suspend() always sets the mask to 0. Instead the mask should retain its normal value, with port-change-detect interrupts disabled if remote wakeup is turned off. The interrupt mask should be reset to its correct value at the end of bus_resume() regardless of whether power was lost. bus_resume() reinitializes the operational registers if power was lost. However those registers are not in the aux power well, hence they can lose their values whenever the controller is put into D3. They should always be reinitialized. When a port-change interrupt occurs and the root hub is suspended, the interrupt handler should request a root-hub resume instead of starting up the controller all by itself. There's no need for the interrupt handler to request a root-hub resume every time a suspended port sends a remote-wakeup request. The pci_resume() method doesn't need to check for connected ports when deciding whether or not to reset the controller. It can make that decision based on whether Vaux power was maintained. Even when the controller does not need to be reset, pci_resume() must undo the effect of pci_suspend() by re-enabling the interrupt mask. If power was lost, pci_resume() must not call ehci_run(). At this point the root hub is still supposed to be suspended, not running. It's enough to rewrite the command register and set the configured_flag. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit c066475e1fe3b3afbd613ddf5f1eca9be4fb6de0 Author: Greg Kroah-Hartman Date: Fri Aug 11 01:55:12 2006 -0700 USB: create a new thread for every USB device found during the probe sequence Might speed up some systems. If nothing else, a bad driver should not take the whole USB subsystem down with it. Signed-off-by: Greg Kroah-Hartman commit 958e8741bf9ff5d0f0b82b7cef578e96c764a288 Author: Greg Kroah-Hartman Date: Tue Apr 9 12:14:34 2002 -0700 USB: add driver for the USB debug devices It's a simple usb-serial driver that just creates a tty device to read and write from. Signed-off-by: Greg Kroah-Hartman commit 7e27780ffdf5fcf8675dfb278ca316a1f2b7e179 Author: Sarah Bailey Date: Sat Nov 18 22:30:16 2006 -0800 USB: added dynamic major number for USB endpoints This patch is an update for Greg K-H's proposed usbfs2: http://sourceforge.net/mailarchive/message.php?msg_id=19295229 It creates a dynamic major for USB endpoints and fixes the endpoint minor calculation. Signed-off-by: Sarah Bailey Signed-off-by: Greg Kroah-Hartman commit 10c8211c634f759633ffcdc3b0e2913963b32abc Author: Oliver Neukum Date: Thu Nov 23 15:40:17 2006 +0100 USB: pegasus error path not resetting task's state there is an error path in the pegasus driver which can leave the task in TASK_UNINTERRUPTIBLE. Depending on when it schedules next, this can be bad. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 9aa742ef7c1a7ff8e6df92a93ce3688e99fa66e3 Author: Oliver Neukum Date: Thu Nov 23 12:45:31 2006 +0100 USB: endianness fix for asix.c the latest update for asix.c reverted some endianness fixes. This reinstates them. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 8feabf70f51f3f6772e2beda608a0ebca1dbf46a Author: Adrian Bunk Date: Fri Nov 24 03:24:03 2006 +0100 USB: build the appledisplay driver We do already have both the code and a config option, so why not build this driver? ;-) Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 7ac9da10af7ffd94cfd07e097b93d588bbd32b75 Author: Burman Yan Date: Wed Nov 22 20:54:38 2006 +0200 USB serial: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Greg Kroah-Hartman commit afd21ee5abd0fef567dbfa234099304886ff83ce Author: Julien BLACHE Date: Wed Nov 15 00:00:17 2006 -0500 USB: hid-core: canonical defines for Apple USB device IDs Use canonical defines for the Apple USB device IDs. Also add the Geyser IV devices missing in my previous patch. Signed-off-by: Julien BLACHE Acked-by: Dmitry Torokhov Signed-off-by: Greg Kroah-Hartman commit 54ecf1fba683f779a1b36abed9c843decafc7d5b Author: Mariusz Kozlowski Date: Mon Nov 6 17:37:20 2006 +0100 USB: idmouse cleanup Just digging through code and found these needless variable initializations. So here is the patch. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8bb22d2bdaac415965e7be1af8da2b8f3ee35f31 Author: Adrian Bunk Date: Tue Nov 21 22:02:54 2006 +0100 USB: make drivers/usb/core/driver.c:usb_device_match() static usb_device_match() can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 7481bb8a7f2fd6b411764e0dc91713b1a58fce4c Author: David Brownell Date: Mon Nov 20 11:41:39 2006 -0800 USB: lh7a40x_udc remove double declaration Remove minor double-declaration goof. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 827982c577cddbe50b2120e577a60f6376716900 Author: David Brownell Date: Mon Nov 20 11:38:57 2006 -0800 USB: pxa2xx_udc recognizes ixp425 rev b0 chip Make the pxa2xx_udc driver recognize a newer revision of the IXP425 chip. Signed-off-by: Milan Svoboda Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 24ced062a2965645d651ff92bc93b2c1f926474e Author: Holger Schurig Date: Fri Nov 17 22:50:15 2006 +0100 usbtouchscreen: add support for DMC TSC-10/25 devices Adds support for the DMC TSC-10 and TSC-25 usb touchscreen controllers. Signed-off-by: Holger Schurig Signed-off-by: Daniel Ritz Signed-off-by: Greg Kroah-Hartman commit 9ce8540c884c19c0f5f38c9e85d4bdc192baf321 Author: Adrian Bunk Date: Mon Nov 20 03:24:44 2006 +0100 USB: ftdi-elan.c: fixes and cleanups This patch contains the following possible cleanups: - make the needlessly global ftdi_release_platform_dev() static - remove the unused usb_ftdi_elan_read_reg() - proper prototypes for the following functions: - usb_ftdi_elan_read_pcimem() - usb_ftdi_elan_write_pcimem() Note that the misplaced prototypes for the latter ones in drivers/usb/host/u132-hcd.c were buggy. Depending on the calling convention of the architecture calling one of them could have turned your stack into garbage. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 27a3de4cfc3508b30803b7350ca6385b3c53f223 Author: Adrian Bunk Date: Mon Nov 20 03:23:54 2006 +0100 USB: make drivers/usb/host/u132-hcd.c:u132_hcd_wait static This patch makes the needlessly global "u132_hcd_wait" static. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman commit 2e46b74852446404d64b0b00ce872724bfa627ab Author: Mariusz Kozlowski Date: Fri Nov 17 17:49:22 2006 +0100 usb: cypress_m8 init error path fix If at some point cypress_init() fails deregister only the resources that were registered until that point. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 93f1a47c4af34c4ee014b3d2aae70089b3b69f72 Author: David Brownell Date: Thu Nov 16 23:34:58 2006 -0800 USB: add ehci_hcd.ignore_oc parameter Certain boards seem to like to issue false overcurrent notifications, for example on ports that don't have anything connected to them. This looks like a hardware error, at the level of noise to those ports' overcurrent input signals (or non-debounced VBUS comparators). This surfaces to users as truly massive amounts of syslog spam from khubd (which is appropriate for real hardware problems, except for the volume from multiple ports). Using this new "ignore_oc" flag helps such systems work more sanely, by preventing such indications from getting to khubd (and spam syslog). The downside is of course that true overcurrent errors will be masked; they'll appear as spontaneous disconnects, without the diagnostics that will let users troubleshoot issues like short circuited cables. Note that the bulk of these reports seem to be with VIA southbridges, but I think some were with Intel ones. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit f0d7f27351058284f62ab4848909373c2d1f5ce8 Author: David Brownell Date: Thu Nov 16 23:56:15 2006 -0800 USB: EHCI hooks for high speed electrical tests EHCI hooks for high speed electrical tests of the root hub ports. The expectation is that a usermode program actually triggers the test, making the same control request it would make for an external hub. Tests for peripheral upstream ports would issue a different request. In all cases, the hardware needs re-initialization before it could be used "normally" again (e.g. unplug/replug, rmmod/modprobe). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1f26e28d3e32339ca683f087cd55a70e2befc333 Author: Alan Stern Date: Thu Nov 16 10:16:00 2006 -0500 USB: net2280: don't send unwanted zero-length packets The net2280 driver is too eager to send zero-length packets when IN tokens are received on ep0. No such packet should be sent (the driver should NAK) before the gadget driver has queued the proper response. Otherwise deferred responses are impossible. This patch (as823) makes net2280 avoid sending ZLPs for IN transfers on ep0 until a response has been submitted, and avoids stalling when an OUT packet is received before a request has been submitted for an OUT transfer on ep0. Signed-off-by: Alan Stern Cc: David Brownell Signed-off-by: Greg Kroah-Hartman commit a3b1f50ce2fdc73c7e60e04c0a2235af74deac2b Author: Mariusz Kozlowski Date: Fri Nov 17 11:53:23 2006 +0100 usb: microtek possible memleak fix Possible memleak fix on error path. The changes: - out_kfree2 and out_free_urb replaced - missing scsi_host_put() added Here it goes: Signed-off-by: Mariusz Kozlowski Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 49314378ac9b76c40f221e3e5aed866e912e7e99 Author: Jaco Kroon Date: Wed Nov 15 01:02:08 2006 -0800 USB: add Digitech USB-Storage to unusual_devs.h The mass storage device from Digitech designed for Flash Cards, as found on (for example) the GNX4 device has issues with residue, similar to the bug report at http://kerneltrap.org/node/6297. This patch adds the faulty storage device to unusual_devs.h, this not only reduces the noise in dmesg but also increases the transfer speeds by a factor of 7x for me (89kB/s -> 637kB/s). T: Bus=02 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 4 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1210 ProdID=0003 Rev= 1.00 S: Manufacturer=DigiTech HMG S: Product=DigiTech Mass Storage C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms Signed-off-by: Jaco Kroon Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman commit db063507b40664de33a61161c90358fe6fc9565a Author: Alan Stern Date: Mon Nov 13 15:02:04 2006 -0500 USB core: fix compiler warning about usb_autosuspend_work This patch (as821) fixes a compiler warning when CONFIG_PM isn't on ("usb_autosuspend_work" defined but not used). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7a5c7b42d3c7b1e0085d48414ee73003d3888d1f Author: Naranjo Manuel Francisco Date: Wed Nov 15 15:14:27 2006 -0300 USB: fix aircable.c: inconsequent NULL checking > 2006/11/11, Adrian Bunk : > > The Coverity checker spotted the following in > > drivers/usb/serial/aircable.c: > > > > <-- snip --> > > > > ... > > static void aircable_read(void *params) > > { > > ... Hi everyone, Sorry for the long time response but here is the patch, I think this way should work, if anyone has any suggestion let me know. What I do now is, in case I don't have the tty available I reschedule the work, I have tried it and it works with no problem, I even tried removing the device, and didn't find anything strange. Signed-off-by: Naranjo Manuel Signed-off-by: Greg Kroah-Hartman commit 1b7be3c066ae9238996a7a861b39b0bfd5860735 Author: Alan Stern Date: Mon Nov 6 12:05:00 2006 -0500 OHCI: change priority level of resume log message All the other root-hub suspend or resume log messages, in ohci-hcd or any of the other host controller drivers, use the debug priority level. This patch (as815) makes the one single exception behave like all the rest. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 68df9de1d0e95034355283dc12056f93de8e0a79 Author: Mariusz Kozlowski Date: Wed Nov 8 15:37:04 2006 +0100 usb: usbmixer free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f5e135af8737bdc57168cddb3fd83028b25c26cd Author: Mariusz Kozlowski Date: Wed Nov 8 15:37:00 2006 +0100 usb: usbmidi kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit bcb54a54033ff9359cf64e4283e4f4b92bf9132f Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:55 2006 +0100 usb: visor kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 95d4316654a7e09778ebf81e03cab7040ecca1b0 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:51 2006 +0100 usb: usb-serial free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9aac10ff1d9a228d05491f68f933cf6a41b9debc Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:46 2006 +0100 usb: navman kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 73135bb9154f9565e8ae294ffa73f9e871d72b47 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:42 2006 +0100 usb: mct_u232 free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5505c2261eb5e7a6ff851afbe7f77d54d960e83b Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:38 2006 +0100 usb: kobil_sct kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 1cadc1378fe9cdee9515842a4bf9f42228448ad2 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:34 2006 +0100 usb: keyspan free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 9a25f44f91b621f49b459687ae49d4fed4423d0e Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:29 2006 +0100 usb: io_edgeport kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit c69694b779714b751a326d1b886087322001e86f Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:22 2006 +0100 usb: catc free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 794c944ecd468ddf8a571bd37ab7b21035965f91 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:25 2006 +0100 usb: ftdi_sio kill urb cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5483eb1300fc052c294a9dac57d5bf6653126efd Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:18 2006 +0100 usb: phidgetmotorcontrol free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit df43121463d2e6dde9f7e40a7720e111e4cc600e Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:07 2006 +0100 usb: phidgetkit free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f53510e8c49d00085a820ae98ca4753d4487dbad Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:14 2006 +0100 usb: legousbtower free kill urb cleanup Hello, - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 2891a51cc27e0eed9474668b58e4f587b9f36694 Author: Mariusz Kozlowski Date: Wed Nov 8 15:36:03 2006 +0100 usb: auerswald free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4ba0b2ed583b80cb26b9c8d8a8b418f677ec4a83 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:58 2006 +0100 usb: usbkbd free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6f07429fa295a04e06c93601e6c597e7a6d95495 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:54 2006 +0100 usb: hid-core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 2381526a793582ad18b30af0e3013ccad1a8bcdb Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:50 2006 +0100 usb: ati_remote2 free urb cleanup Hello, - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 459f836a612d28f224dbbc306ab63187014a6503 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:46 2006 +0100 usb: ati_remote free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit f988f272fe8de462045e9f298e5b7f1e39b2e53a Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:42 2006 +0100 usb: zd1201 free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8fd31e1d85d5c13c1273013067474ebb73ad6fd1 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:38 2006 +0100 usb: irda-usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8563650da0fb2df5755ea133d5fb182ded9d2ae8 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:12 2006 +0100 usb: zc0301_core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 926b1e90093688d91cbc358e5339ad2861c86e46 Author: Mariusz Kozlowski Date: Wed Nov 8 15:35:02 2006 +0100 usb: quickcam_messenger free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 14d2707b80d6a9d1e8e92718885f99b77531b339 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:59 2006 +0100 usb: sn9c102_core free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 90b2625a5159607e37871cd75370c189fc22d208 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:55 2006 +0100 usb: pwc-if free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4c6f7d4a889ad997483a4c0318111b4a506f0fe3 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:50 2006 +0100 usb: pvrusb2-io free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5e55d2cea80254faa6ba5c13f3053070db57b63f Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:31 2006 +0100 usb: pvrusb2-hdw free unlink urb cleanup - usb_free_urb() cleanup - usb_unlink_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 5d02d027ac2e7778011fa833b3efa50b72a23dcd Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:27 2006 +0100 usb: ttusb_dec free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 4064fe43e8bf6cfe7fc6fadfbccc7fe1fbb1f0c1 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:22 2006 +0100 usb: cinergyT2 free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit ead54fcd6a6ffc0c45e318ffe8872d228bdff0e5 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:17 2006 +0100 usb: usb-gigaset free kill urb cleanup - usb_free_urb() cleanup - usb_kill_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 8f21d119f457ece27a69ac1dadd655deee6f2a20 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:09 2006 +0100 usb: iforce-usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 6265d62f31e42cc839f929439a95f602d70d6bf7 Author: Mariusz Kozlowski Date: Wed Nov 8 15:34:02 2006 +0100 usb: pcwd_usb free urb cleanup - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 3c8961ee6d93c5a2ddf34d8d8171dd685538722b Author: Mariusz Kozlowski Date: Wed Nov 8 15:33:38 2006 +0100 usb: writing_usb_driver free urb cleanup Allright. As Greg KH suggested I split this big patch into smaller ones to make the changes easier to review. Having no better idea how to split that I split it on a 'patch per file' basis. All those patches clean redundant 'if' before usb_unlink/free/kill_urb(): if (urb) usb_free_urb(urb); /* unlink / free / kill */ I decided not to touch bigger 'if's like if (urb) { usb_kill_urb(urb); usb_free_urb(urb); urb = NULL; } as that would be probably too intrusive. One of patches also fixes drivers/usb/misc/auerswald.c memleak I found when digging the code. All those patches are against 2.6.19-rc4. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 444f4f91fda54bea57a0e31098a75f54548e8b28 Author: Mariusz Kozlowski Date: Thu Nov 16 16:38:57 2006 +0100 USB: pwc-if loop fix We should free urbs starting at [i-1] not [i]. Signed-off-by: Mariusz Kozlowski Signed-off-by: Greg Kroah-Hartman commit 1f54a6ae79ab4369f17d6bc86eaff3125395af9c Author: Oleg Verych Date: Fri Nov 17 08:21:27 2006 +0000 usb-serial: ti_usb, TI ez430 development tool ID usb-serial: ti_usb, TI ez430 development tool ID Signed-off-by: Oleg Verych Signed-off-by: Greg Kroah-Hartman commit ad0327d680734b76c33f5438cd656bdfd26f5f5b Author: daniel@centurion.net.nz Date: Sat Nov 11 15:47:52 2006 +1300 USB: airprime: New device ID Signed-off-by: Greg Kroah-Hartman commit 54c9b2266f83dfc3d6c538417564dc74266f4dd9 Author: Adrian Bunk Date: Mon Nov 20 03:23:58 2006 +0100 USB: make drivers/usb/input/wacom_sys.c:wacom_sys_irq() static This patch makes the needlessly global wacom_sys_irq() static. Signed-off-by: Adrian Bunk Signed-off-by: Ping Cheng Signed-off-by: Greg Kroah-Hartman commit d5ec1686ba96eb75e132196c486cc0521b00f12c Author: Stephen Hemminger Date: Tue Nov 14 10:06:17 2006 -0800 USB: resume_device symbol conflict Several functions in USB core overlap with global functions. The linker appears to do the right thing, but it is bad practice and makes debugging harder. Signed-off-by: Stephen Hemminger Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d8126a0c23b95d8f49a8f4b49191691f9a09ae4a Author: David Brownell Date: Sun Nov 12 18:09:44 2006 -0800 usb/gadget/ether.c minor manycast tweaks Minor cleanup/clarification in the ethernet gadget driver, using standard calls to test for Ethernet multicast and broadcast addresses. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 1bb5f66bb3b6c2fd7eec1cdfee9cf3f68ef83487 Author: Alan Stern Date: Mon Nov 6 11:56:13 2006 -0500 USB: Move private hub declarations out of public header file This patch (as809b) moves the declaration of the hub driver's private data structure from hub.h into the hub.c source file. Lots of other files import hub.h; they have no need to know about the details of the hub driver's private data. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b4ee4a2309c9f811457ce44962eed753e451dc11 Author: Jean Delvare Date: Thu Nov 9 22:02:37 2006 +0100 USB: net1080: Fix && typos Fix STATUS_PACKETS_* macros, where "&&" was mistakenly used where "&" should have. Signed-off-by: Jean Delvare Acked-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 692a186c9d5f12d43cef28d40c25247dc4f302f0 Author: Alan Stern Date: Mon Oct 30 17:07:51 2006 -0500 USB: expand autosuspend/autoresume API This patch (as814) adds usb_autopm_set_interface() to the autosuspend API. It also provides convenient wrapper routines, usb_autopm_enable() and usb_autopm_disable(), for drivers that want to specify directly whether autosuspend should be allowed. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit af4f76066d0fcb215ae389b8839d7ae37ce0e28b Author: Alan Stern Date: Mon Oct 30 17:06:45 2006 -0500 USB: autosuspend code consolidation This patch (as813) gathers together common code for USB interface autosuspend/autoresume. It also adds some simple checking at the time an autosuspend request is made, to see whether the request will fail. This way we don't add a workqueue entry when it would end up doing nothing. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0c1ac4f25f894f9df0ffe9b912c165fb6a185a3c Author: Luiz Fernando N. Capitulino Date: Mon Oct 30 14:53:03 2006 -0300 USB: makes usb_endpoint_* functions inline. We have no benefits of having the usb_endpoint_* functions as functions, but making them inline saves text and data segment sizes: text data bss dec hex filename 14893634 3108770 1108840 19111244 1239d4c vmlinux.func 14893185 3108566 1108840 19110591 1239abf vmlinux.inline This is the result of a 2.6.19-rc3 kernel compiled with GCC 4.1.1 without CONFIG_MODULES, CONFIG_CC_OPTIMIZE_FOR_SIZE, CONFIG_REGPARM options set. USB support is fully enabled (while most of the other drivers are not), and that kernel has most of the USB code ported to use the endpoint functions. That happens because a call to those functions are expensive (in terms of bytes), while the function's size is smaller or have the same 'size' of the call. Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 6f7cd44162ca1bffd54f4090e67b9810bacb5d25 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:04 2006 -0300 USB: yealink: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 0472074748444529188c77f62f0714f9ff7d7556 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:03 2006 -0300 USB: storage: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 4d823dd21d81c29a83a4672ac92e449fc5fa5cca Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:02 2006 -0300 USB: usbtest: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit fc6e2544bdb1e7cb9f7ccbb16c268d61743b123c Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:01 2006 -0300 USB: usbnet: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 30f36ef922201cd085a598a6274ee18a360635ea Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:03:00 2006 -0300 USB: usbmouse: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a20c314412b9e9e029a73dbb4dd951e36499eb58 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:59 2006 -0300 USB: usbkbd: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit c5dd1f94246acdf6be6796db47efba8b2a93f93e Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:58 2006 -0300 USB: speedtch: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a742e5a7fc5b179e2482b85e875fc99192cead74 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:57 2006 -0300 USB: phidgetmotorcontrol: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 8419404949488bba4504005c0d1180fb07bef740 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:56 2006 -0300 USB: phidgetkit: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 66722a194ef96a09ac12d0fe2f9e206f86c29c9f Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:55 2006 -0300 USB: onetouch: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 240661c55646401df64411e04ba5833c411c42bc Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:54 2006 -0300 USB: legousbtower: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 4f1f1ddd73d04e8d41c010934d81122d1a632e4e Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:53 2006 -0300 USB: kobil_sct: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit a7dc218b8f61d58fcf27ee5650e340d7baff74c4 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:52 2006 -0300 USB: idmouse: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 0f12aa03972e797129c79a236d2872f2ee5d25b6 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:51 2006 -0300 USB: hid-core: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 2ae7745beac6de54a47ed19fe441f1d45aa96172 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:50 2006 -0300 USB: ftdi-elan: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 87ad46c94ec74f1750764c12744410ed524f9900 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:49 2006 -0300 USB: devices: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 45aea704d12d05f06b3f82974aa1438460f42398 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:48 2006 -0300 USB: cdc-acm: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit b333d5bfd7d3791f91c678f3f5033c82b1e2b46f Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:47 2006 -0300 USB: cdc_ether: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 16f96376174bfbcb1b40734f83f5701161a5e63b Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:46 2006 -0300 USB: appledisplay: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 377f13bf95b64cf5fb0fad0bf2b94106ad868562 Author: Luiz Fernando N. Capitulino Date: Thu Oct 26 13:02:45 2006 -0300 USB: aircable: Use usb_endpoint_* functions Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 565402baee99096da4d79209e450fe42d379a0ca Author: Alan Stern Date: Fri Oct 27 10:35:01 2006 -0400 USB: OHCI: remove stale testing code from root-hub resume This patch (as811) removes some stale testing code from the root-hub resume routine in ohci-hcd. It also adds a spin_lock_irq() call that inadvertently got left out of an error pathway. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 5d7efe5b3768bf53df9b87380ea68baacf11f933 Author: Eric Sesterhenn Date: Thu Oct 26 21:06:24 2006 +0200 USB: kmemdup() cleanup in drivers/usb/ replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Greg Kroah-Hartman commit 052ac01aeb84d8427ba8ac3d70991ac01b009b59 Author: Alan Stern Date: Fri Oct 27 10:33:11 2006 -0400 USB: OHCI: disable RHSC inside interrupt handler This patch (as808b) moves the Root Hub Status Change interrupt-disable code in ohci-hcd back into the interrupt handler proper, to avoid the chance of adverse interactions with mediocre hardware implementations. It also deletes the root-hub status timer from within the interrupt-enable routine. There's no need to poll for status any more once interrupts are re-enabled. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit b1878440d46a0dc357ed5c9687c534e20955e940 Author: Alan Stern Date: Tue Oct 24 12:02:31 2006 -0400 USB: ohci-hcd: fix compiler warning This patch (as806) fixes a compiler warning when ohci-hcd is built with CONFIG_PM turned off. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 93c8bf45e083b89dffe3a708363c15c1b220c723 Author: Alan Stern Date: Wed Oct 18 16:41:51 2006 -0400 USB core: don't match interface descriptors for vendor-specific devices This patch (as804) makes USB driver matching ignore the interface class, subclass, and protocol if the device class is Vendor Specific. Drivers can override this policy by specifying a Vendor ID as part of the match; then vendor-specific matches are allowed. Linus Walleij has reported a problem this patch fixes. When a particular mass-storage device is switched from mass-storage mode to Media Transfer Protocol, the interface class remains set to mass-storage and usb-storage binds to it erroneously, even though the device class changes to Vendor-Specific. This may cause a problem for some drivers until their match records can be updated to include Vendor IDs. But if it does, then those records were broken to begin with. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 6d8fc4d28deaf828606c19fb743fbe94aeab4caf Author: Alan Stern Date: Wed Oct 18 12:35:24 2006 -0400 USB HID: Handle STALL on interrupt endpoint The USB HID driver doesn't include any code to handle a STALL on the interrupt endpoint. While this may be uncommon, it does happen sometimes. This patch (as805) adds a fix. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 88fafff9d73c0a506c0b08e7cd637c89d8b604e1 Author: inaky@linux.intel.com Date: Wed Oct 11 20:05:59 2006 -0700 usb hub: fix root hub code so it takes more than 15 devices per root hub Wireless USB Host Controllers accept a large number of devices per host, which shows up as a large number of ports in its root hub. When the number of ports in a hub device goes over 16, the activation of the hub fails with the cryptic message in klogd. hub 2-0:1.0: activate --> -22 Following this further, it was seen that: hub_probe() hub_configure() generates pipe number pseudo allocates buffer 'maxp' bytes in size using usb_maxpacket() The endpoint descriptor for a root hub interrupt endpoint is declared in drivers/usb/core/hcd.c:hs_rh_config_descriptor and declares it to be size two (supporting 15 devices max). hub_activate() usb_hcd_submit_urb() rh_urb_enqueue() urb->pipe is neither int nor ctl, so it errors out rh_queue_status() Returns -EINVAL because the buffer length is smaller than the minimum needed to report all the hub port bits as in accordance with USB2.0[11.12.3]. There has to be trunc((PORTS + 1 + 7) / 8) bytes of space at least. Alan Stern confirmed that the reason for reading maxpktsize and not the right amount is because some hubs are known to return more data and thus cause overflow. So this patch simply changes the code to make the interrupt endpoint's max packet size be at least the minimum required by USB_MAXCHILDREN (instead of a fixed magic number) and add documentation for that. This way we are always ahead of the limit. Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 437052516779fea608261a50682b124315f48f01 Author: inaky@linux.intel.com Date: Wed Oct 11 20:05:58 2006 -0700 usb/hub: allow hubs up to 31 children Current Wireless USB host hardware (Intel i1480 for example) allows up to 22 devices to connect, thus bringing up the max number of children in the WUSB Host Controller to 22 'fake' ports. Upcoming hardware might raise that limit. Makes almost no difference to go to 31, as the bit arrays are byte-aligned (plus an extra bit in general), so 22 bits fit in 4 bytes as 31 do. As well, the only other array that depends on USB_MAXCHILDREN is 'struct usb_hub->indicator'. By declaring it 'u8' instead of 'enum hub_led_mode', we reduce the size of each entry from 4 bytes (in i386) to 1, which will add as we when are doubling USB_MAXCHILDREN (with 16 the size of that array is 64 bytes, with 31 would be 128; by using u8 that goes down to 31 bytes). Signed-off-by: Inaky Perez-Gonzalez Signed-off-by: Greg Kroah-Hartman commit 8b7feff881b7e9f065ddd718a6841121207c3c19 Author: Pierre Ossman Date: Tue Nov 14 22:13:13 2006 +0100 mmc: correct request error handling We need to jump to the part of just flushing the request when we cannot claim the bus. Sending commands to a bus we do not own will give unpredictable results. Signed-off-by: Pierre Ossman commit 89b4e133afea9fce333054b94d89953583a55c19 Author: Pierre Ossman Date: Tue Nov 14 22:08:16 2006 +0100 mmc: Flush block queue when removing card After mmc_block's remove function has exited, we must not touch the card structure in any way. This means we not only must remove the gendisk, we must also flush out any remaning requests already queued up. We previously removed the disk, but didn't flush it, causing oops:es when removing a card in the middle of a transfer. Signed-off-by: Pierre Ossman commit 077df884835ebf2b5db16aacd9a24691d89902a0 Author: Pierre Ossman Date: Wed Nov 8 23:06:35 2006 +0100 mmc: sdhci high speed support The SDHCI spec implies that is is incorrect to set a clock frequency above 25 MHz without setting the high speed bit. Signed-off-by: Pierre Ossman commit 7ccd266e676a3f0c6f8f897f58b684cac3dd1650 Author: Pierre Ossman Date: Wed Nov 8 23:03:10 2006 +0100 mmc: Support for high speed SD cards Modern SD cards support a clock speed of 50 MHz. Make sure we test for this capability and do the song and dance required to activate it. Activating high speed support actually modifies the TRAN_SPEED field of the CSD. But as the spec says that the cards must report 50 MHz, we might as well skip re-reading the CSD. Signed-off-by: Pierre Ossman commit 73778120c4088a0a7b59c4c378904f7a230b4820 Author: Pierre Ossman Date: Sun Oct 22 22:13:10 2006 +0200 mmc: Fix mmc_delay() function Several fixes for mmc_delay(): * Repair if-clause that was supposed to detect sub-hz delays. * Change yield() to cond_resched() as yield() no longer has the semantics we desire. * mmc_delay() is used to guarantee protocol delays, so we cannot return early (i.e. use _interruptable). Based on patch by Amol Lad. Signed-off-by: Pierre Ossman commit e45a1bd20fa5b920901879e85cdf5eda21f78d7c Author: Philip Langdale Date: Sun Oct 29 10:14:19 2006 +0100 mmc: Add support for mmc v4 wide-bus modes This change adds support for the mmc4 4-bit wide-bus mode. The mmc4 spec defines 8-bit and 4-bit transfer modes. As we do not support any 8-bit hardware, this patch only adds support for the 4-bit mode, but it can easily be built upon when the time comes. The 4-bit mode is electrically compatible with SD's 4-bit mode but the procedure for turning it on is different. This patch implements only the essential parts of the procedure as defined by the spec. Two additional steps are recommended but not compulsory. I am documenting them here so that there's a record. 1) A bus-test mechanism is implemented using dedicated mmc commands which allow for testing the functionality of the data bus at the electrical level. This is pretty paranoid and they way the commands work is not compatible with the mmc subsystem (they don't set valid CRC values). 2) MMC v4 cards can indicate they would like to draw more than the default amount of current in wide-bus modes. We currently will never switch the card into a higher draw mode. Supposedly, allowing the card to draw more current will let it perform better, but the specs seem to indicate that the card will function correctly without the mode change. Empirical testing supports this interpretation. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit bce40a36de574376f41f1ff3c4d212a7da2a3c90 Author: Philip Langdale Date: Sat Oct 21 12:35:02 2006 +0200 [PATCH] mmc: Add support for mmc v4 high speed mode This adds support for the high-speed modes defined by mmc v4 (assuming the host controller is up to it). On a TI sdhci controller, it improves read speed from 1.3MBps to 2.3MBps. The TI controller can only go up to 24MHz, but everything helps. Another person has taken this basic patch and used it on a Nokia 770 to get a bigger boost because that controller can run at 48MHZ. Signed-off-by: Philip Langdale Signed-off-by: Pierre Ossman commit e520a36de2f7985df5ef2e84a9f6d2608ecc6f25 Author: Milan Svoboda Date: Fri Dec 1 11:36:41 2006 +0100 [ARM] 3958/1: add platform device (pxa2xx-udc)to ixp4xx Create include/asm-arm/arch-ixp4xx/udc.h and add platfrom device ixp4xx_udc_device into arch/arm/mach-ixp4xx/common.c. This allows us to use pxa2xx-udc on the ixp4xx platfrom. Both pxa2xx and ixp4xx use the same device controller. Signed-off-by:Milan Svoboda Signed-off-by: Russell King commit 9c9c26188ff9fa5f44ba5a00e01b54b539f83d1d Author: Marcin Juszkiewicz Date: Thu Nov 16 22:39:10 2006 +0100 trivial change for mmc/Kconfig: MMC_PXA does not mean only PXA255 PXA MMC driver supports not only PXA255 but also PXA250 and newer ones Signed-off-by: Marcin Juszkiewicz Signed-off-by: Pierre Ossman commit c5cb431d27237937e1b04a888bf2f8863f06fa2d Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:42:39 2006 +0100 Make general code cleanups This patch is part of Juha Yrjola's and Komal Shah's earlier patch to make general code cleanups Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Komal Shah yahoo.com> Signed-off-by: Pierre Ossman commit f4204fdf05e70cdbff1f657e3ed78eddd3d6267f Author: Tony Lindgren tony Date: Sat Nov 11 23:41:54 2006 +0100 Add MMC_CAP_{MULTIWRITE,BYTEBLOCK} flags This patch is part of Tony Lindgren's earlier patch to add MMC_CAP_{MULTIWRITE,BYTEBLOCK} flags in omap.c Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Tony Lindgren atomide.com> Signed-off-by: Pierre Ossman commit 81ca70343f4d85637ac19b529dbcccd1db69a41d Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:39:20 2006 +0100 Platform device error handling cleanup This patch is part of Juha Yrjola's earlier patch to add platform device error handling and a BUG_ON to verify if host == NULL Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 0551f4df35694c7f89e00da461d7bee9769f016f Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:38:36 2006 +0100 Move register definitions away from the header file This patch is part of Juha Yrjola's earlier patch to move register definitions away from the header file and the header file is removed. Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 3342ee8bfa9c4453208766eb8ad61ef65241a091 Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:36:52 2006 +0100 Change OMAP_MMC_{READ,WRITE} macros to use the host pointer This patch is part of Juha Yrjola's earlier patch to change OMAP_MMC_{READ,WRITE} macros to use the host pointer Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit 89783b1e44d3a6fc63be911468e09494ebbba3e3 Author: Juha Yrjola juha.yrjola Date: Sat Nov 11 23:36:01 2006 +0100 Replace base with virt_base and phys_base This patch is part of Juha Yrjola's earlier patch to replace base with virt_base and phys_base Signed-off-by: Carlos Eduardo Aguiar indt.org.br> Signed-off-by: Juha Yrjola solidboot.com> Signed-off-by: Pierre Ossman commit ab7aefd0b38297e6d2d71f43e8f81f9f4a36cdae Author: David Brownell Date: Sun Nov 12 17:55:30 2006 -0800 mmc: constify mmc_host_ops vectors Now that mmc_host_ops can be constified, update the various drivers to constify those method tables and shrink the writable data segment. Signed-off-by: David Brownell Signed-off-by: Pierre Ossman commit 87598a2bd4c4ed19b91ef163f76297f305007304 Author: Christoph Hellwig Date: Mon Nov 13 20:23:52 2006 +0100 mmc: remove kernel_thread() Replace kernel_thread() with kthread_run()/kthread_stop(). Signed-off-by: Christoph Hellwig Signed-off-by: Pierre Ossman commit 69c5eccd164200a17b5a24e594b37958d39d2933 Author: Andrew Victor Date: Fri Dec 1 15:53:20 2006 +0100 [ARM] 3966/1: AT91: RM9200 device data update This patch contains various updates the at91rm9200_devices.c file: * Consistent naming of resources and platform_devices. * PCMCIA/Compact Flash: Configuration of the memory controller moved out of the driver and into this file. * MMC: Enable the VCC pin (if one is configured) * MMC: Enable the internal pullups on the I/O pins. * NAND: Configuration of the memory controller moved out of the driver and into this file. * Added TWI/I2C resources. * The names of some of the CONFIG_ variables were changed. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 58a0cd7887cd689ae42540dd12b3b3131abfbe6c Author: Andrew Victor Date: Fri Dec 1 14:51:13 2006 +0100 [ARM] 3963/1: AT91: Update configuration files A number of configuration file changes. These are mainly to replace references to ARCH_AT91RM9200 and ARCH_AT91SAM9261 with the common/generic ARCH_AT91. That way we don't need to mention every specific AT91 processor explicitly. Also adds the configuration option for AT91SAM9260-EK and AT91SAM9261-EK boards. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 022cbd7376fcdf030fe821636f1c910c45a9356a Author: Andrew Victor Date: Fri Dec 1 14:38:59 2006 +0100 [ARM] 3961/2: AT91: Support for Atmel AT91SAM9261-EK board This patch adds support for the Atmel AT91SAM9261-EK board. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit b85a8914033d81077e8276df1956bf3307bb31bd Author: Andrew Victor Date: Fri Dec 1 14:37:56 2006 +0100 [ARM] 3962/1: AT91: Support for Atmel AT91SAM9260-EK board This patch adds support for the Atmel AT91SAM9260-EK board. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 2024c39dbba4d036f0b16daf530ad5f4416fb344 Author: Lennert Buytenhek Date: Fri Dec 1 16:02:40 2006 +0100 [ARM] 3965/1: ixp2000: fix handling of pci master aborts The master abort check in ixp2000_pci_read_config() recently started failing due to the compiler optimising out the read access following the clearing of pci_master_aborts. Mark pci_master_aborts volatile to force the compiler to reload it on every use. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 5283304bdcb4af47c46280ac21100d037d31fcf0 Author: Lennert Buytenhek Date: Fri Dec 1 15:15:55 2006 +0100 [ARM] 3964/1: ep93xx: add ads sphere support Add initial board support for the ADS Sphere board. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit 05043d08045271eb5655308371dd285a852ef855 Author: Andrew Victor Date: Fri Dec 1 11:51:19 2006 +0100 [ARM] 3960/1: AT91: Final SAM9 intergration patches. This patch includes a number of small changes for integrating the AT91SAM9261 and AT91SAM0260 support. * Can only select support for one AT91 processor at a time. * Remove most of the remaining static memory mapping for the AT91RM9200. * Reserve 1Mb of memory below the IO for mapping the internal SRAM and any custom board-specific devices (ie, FPGA). * The SAM9260 has more serial ports, so increase the maximum to 7. * Define the standard chipselect addresses, and define other addresses relative to those. * CLOCK_TICK_RATE is different on the SAM926x's. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d481f86449ccd66314b700c78b3a79168df80d02 Author: Andrew Victor Date: Fri Dec 1 11:27:31 2006 +0100 [ARM] 3959/1: AT91: Support for SAM9 USB and HCK clocks The bits used to select the USB clocks are different on the SAM9's. Add support for the HCK clocks on the AT91SAM9261. Patch from Patrice Vilchez & Nicolas Ferre Signed-off-by: Andrew Victor Signed-off-by: Russell King commit fcc63716a5ee93ec3d1043890e38753d53313b80 Author: Andrew Victor Date: Fri Dec 1 10:55:15 2006 +0100 [ARM] 3957/1: AT91: Physically mapped flash on DK and EK boards This patch converts the old CONFIG_MTD_PHYSMAP_ options to the new physmap API by creating a physmap platform device for the NOR flash found on the Atmel AT91RM9200-DK and AT91RM9200-EK boards. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 330d741b0632960e7853a2cb3b2899e94e696f12 Author: Andrew Victor Date: Fri Dec 1 10:31:29 2006 +0100 [ARM] 3956/1: AT91: Carmeva board update This patch updates the Carmeva board support: * Specify the MMC Write-protect and Detection pins. * Add configuration of SPI devices. Patch from Peer Georgi. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit d100f25956e8626afeafbb38558ca8c58df1cb6b Author: Andrew Victor Date: Fri Dec 1 10:15:04 2006 +0100 [ARM] 3955/1: AT91: Clear timer interrupt when resuming Attached is a patch for at91rm9200_time.c which removes the 'BUG: soft lockup detected on CPU#0!' message when exiting suspended states. Patch from Savin Zlobec Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 86ad76bb2db7029343f681359c4b328fd8c36ae8 Author: Andrew Victor Date: Thu Nov 30 16:45:01 2006 +0100 [ARM] 3953/1: AT91: SAM9 platform devices This patch includes the pin initialization, resource definition and registration of the platform_devices for the SAM9260 and SAM9261 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 1a0ed732afdbd4b960a4b93f78fddc71b8076e61 Author: Andrew Victor Date: Fri Dec 1 09:04:47 2006 +0100 [ARM] 3949/2: AT91: SAM9 timer driver Add support for the timer on the Atmel AT91SAM9261 and AT91SAM9260 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 0b47d654089c5ce3f2ea26a4485db9bcead1e515 Author: Yoshinori Sato Date: Fri Dec 1 10:01:50 2006 +0000 [MTD] redboot partition combined fis / config problem Can't analyze FIS directory in CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG really. Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 7dcb483de3b33e74ddd2040bd7b6ba96d86a91f8 Author: Mariusz Kozlowski Date: Fri Dec 1 09:59:49 2006 +0000 [MTD] [NAND] Compile fix in rfc_from4.c Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit bb37b94c68e7b37eecea8576039ae9396ca07839 Author: Jens Axboe Date: Fri Dec 1 10:42:33 2006 +0100 [BLOCK] Cleanup unused variable passing - ->init_queue() does not need the elevator passed in - ->put_request() is a hot path and need not have the queue passed in - cfq_update_io_seektime() does not need cfqd passed in Signed-off-by: Jens Axboe commit 0e75f9063f5c55fb0b0b546a7c356f8ec186825e Author: Mike Christie Date: Fri Dec 1 10:40:55 2006 +0100 [PATCH] block: support larger block pc requests This patch modifies blk_rq_map/unmap_user() and the cdrom and scsi_ioctl.c users so that it supports requests larger than bio by chaining them together. Signed-off-by: Mike Christie Signed-off-by: Jens Axboe commit ad2d7225709b11da47e092634cbdf0591829ae9c Author: Mike Christie Date: Fri Dec 1 10:40:20 2006 +0100 [PATCH] block: kill length alignment test in bio_map_user() The target mode support is mapping in bios using bio_map_user. The current targets do not need their len to be aligned with a queue limit so this check is causing some problems. Note: pointers passed into the kernel are properly aligned by usersapace tgt code so the uaddr check in bio_map_user is ok. The major user, blk_bio_map_user checks for the len before mapping so it is not affected by this patch. And the semi-newly added user blk_rq_map_user_iov has been failing out when the len is not aligned properly so maybe people have been good and not sending misaligned lens or that path is not used very often and this change will not be very dangerous. st and sg do not check the length and we have not seen any problem reports from those wider used paths so this patch should be fairly safe - for mm and wider testing at least. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley Signed-off-by: Jens Axboe commit be1c63411addba3ad750eb4fdfc50b97bc82825e Author: Olaf Kirch Date: Fri Dec 1 10:39:12 2006 +0100 [PATCH] blktrace: add timestamp message This adds a new timestamp message to blktrace, giving the timeofday when we starting tracing. This helps user space correlate block trace events with eg an application strace. This requires a (compatible) update to blkparse. The changed blkparse is still able to process traces generated by older kernels, and older versions of blkparse should silently ignore the new records (because they have a pid of 0). Signed-off-by: Olaf Kirch Signed-off-by: Jens Axboe commit 6c33cafc794d07c9254c160789120a0e98c088c9 Author: Haavard Skinnemoen Date: Wed Nov 29 14:26:07 2006 +0100 [MTD] bugfix: DataFlash is not bit writable This patch fixes the "jffs2_flash_writev(): Non-contiguous write to 00825300 with mtd_dataflash" bug. Signed-off-by: Haavard Skinnemoen Signed-off-by: Artem Bityutskiy commit b7dc96d75309346c1213875be68fdbbec92da5e7 Author: Russell King Date: Thu Nov 30 20:39:18 2006 +0000 [ARM] Clean up discontigmem support Most architectures have fairly simple discontiguous memory - a simple set of successive regions each containing some memory. These can be described simply as a log2 of their maximum size, along with the base address of the first region and the number of regions. The base address is already described by PHYS_PFN_OFFSET, and the number of regions via the MAX_NUMNODES and the number of online nodes. If we then supply the log2 of their maximum size, all the other discontigmem macros can move into generic code. There is one exception: lh7a40x seems to have a more complicated setup; this is left alone. Signed-off-by: Russell King commit eaa595cb881bba043e79638c37cb357f296a7714 Author: Andrew Victor Date: Thu Nov 30 16:23:18 2006 +0100 [ARM] 3952/1: AT91: Hardware headers for SAM9 perhipherals This patch adds definitions for the new peripherals integrated in the AT91SAM9260 and AT91SAM9261 processors: ECC, LCD, RSTC, RTT, SHDWC, WDT, MATRIX, SDRAMC, SMC. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 55d8baee4a0b4709061104f7a56f53a310de76ac Author: Andrew Victor Date: Thu Nov 30 17:16:43 2006 +0100 [ARM] 3954/1: AT91: Update drivers for new headers This patch updates the drivers (and other files) which include the hardware headers. This fixes the breakage introduced in patches 3950/1 and 3951/1 (those patches were getting big). The AVR32 architecture uses the same serial driver and had its own copy of at91rm9200_pdc.h. Renamed it to at91_pdc.h Signed-off-by: Andrew Victor Signed-off-by: Russell King commit a5c474580b8b7cc8b7b2cca9a2bd27ff5c065e70 Author: Andrew Victor Date: Thu Nov 30 16:08:49 2006 +0100 [ARM] 3951/1: AT91: Rename user peripheral header files Most of the AT91RM9200 user peripherals are also integrated into the Atmel SAM9 range of processors. This patch renames the headers from at91rm9200_xx.h to at91_xx.h to indicate they're not at91rm9200-specific. The new SAM9-specific registers and register bits have also been defined. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 6171de8f57e80873436345a9c7ba8bae800e577b Author: Andrew Victor Date: Thu Nov 30 14:34:53 2006 +0100 [ARM] 3950/1: AT91: Split up system header file The AT91RM9200 system header file (at91rm9200_sys.h) has been split into separate header files for each peripheral. This was necessary since some of the system peripherals are also used on AT91SAM9260 and AT91SAM9261. The new SAM9-specific register bits have also been defined. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 62c1660d908c44663c63ad6c679f6afa1d33c5f6 Author: Andrew Victor Date: Thu Nov 30 12:27:38 2006 +0100 [ARM] 3948/1: AT91: Initial support for AT91SAM9261 and AT91SAM9260 This patch adds the initial support for the newer Atmel AT91SAM9261 and AT91SAM9260 processors. The code is based on, and makes use of, the existing AT91RM9200 support. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 79da7a610a1f81b51a1a77e2ac27438d7a5c5124 Author: Andrew Victor Date: Thu Nov 30 11:58:14 2006 +0100 [ARM] 3947/1: AT91: cpu_is_XXX macro's This patch replaces the arch_identify() in system.h with a set of cpu_is_XXX() macro's. This allows for compile-time checking of the target AT91 processor. Original patch from David Brownell. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 1f4fd0a0d28fabf965815755f1a74ef91dfb5ca6 Author: Andrew Victor Date: Thu Nov 30 10:01:47 2006 +0100 [ARM] 3946/1: AT91: at91_arch_reset and at91_extern_irq The external interrupt sources are different on the various AT91 processors. This patch introduces the global 'at91_extern_irq' variable that contains a bitset of the available external interrupt sources. The processor reset mechanism also differs on the various AT91 processors. This patch also adds a global 'at91_arch_reset' callback (from system.h) into the processor-specific code to perform the reset. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 20127f6863990e1313178debe8c9cfe32d43b1dc Author: Andrew Victor Date: Thu Nov 30 09:33:53 2006 +0100 [ARM] 3945/1: AT91: Rename devices.c This patch renames the arch/arm/mach-at91rm9200/devices.c file to at91rm9200_devices.c. The file contains AT91RM9200-specific code, so we will need separate files for the SAM9 processors. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 4e4e520fd52cfdcc7232c4762a78016e7656cad2 Author: Russell King Date: Thu Nov 30 22:42:20 2006 +0000 [ARM] Fix Versatile PB initialisation to use .init_machine There's no point having the Versatile PB initialisation using an arch_initcall() and then checking whether it's running on a Versatile PB board - this is what the .init_machine function pointer in the machine description is for. Use it. Signed-off-by: Russell King commit 33c3de32872ef3c075e4dac04c0de8f86ac39f6f Author: Steven Whitehouse Date: Thu Nov 30 10:14:32 2006 -0500 [GFS2] Don't flush everything on fdatasync The gfs2_fsync() function was doing a journal flush on each and every call. While this is correct, its also a lot of overhead. This patch means that on fdatasync flushes we rely on the VFS to flush the data for us and we don't do a journal flush unless we really need to. We have to do a journal flush for stuffed files though because they have the data and the inode metadata in the same block. Journaled files also need a journal flush too of course. Signed-off-by: Steven Whitehouse commit aac1a3c77a46c2d06f297641760dd740ac2a84af Author: Steven Whitehouse Date: Thu Nov 30 10:02:19 2006 -0500 [GFS2] Add a comment about reading the super block The comment explains why we use the bio functions to read the super block. Signed-off-by: Steven Whitehouse Cc: Andrew Morton Cc: Srinivasa Ds commit 0da3585e1ef650d3224b4d6f9799558d1d99fa1e Author: Srinivasa Ds Date: Thu Nov 30 15:04:55 2006 +0530 [GFS2] Mount problem with the GFS2 code While mounting the gfs2 filesystem,our test team had a problem and we got this error message. ======================================================= GFS2: fsid=: Trying to join cluster "lock_nolock", "dasde1" GFS2: fsid=dasde1.0: Joined cluster. Now mounting FS... GFS2: not a GFS2 filesystem GFS2: fsid=dasde1.0: can't read superblock: -22 ========================================================================== On debugging further we found that problem is while reading the super block(gfs2_read_super) and comparing the magic number in it. When I replace the submit_bio() call(present in gfs2_read_super) with the sb_getblk() and ll_rw_block(), mount operation succeded. On further analysis we found that before calling submit_bio(), bio->bi_sector was set to "sector" variable. This "sector" variable has the same value of bh->b_blocknr(block number). Hence there is a need to multiply this valuwith (blocksize >> 9)(9 because,sector size 2^9,samething happens in ll_rw_block also, before calling submit_bio()). So I have developed the patch which solves this problem. Please let me know your comments. ================================================================ Signed-off-by: Srinivasa DS Signed-off-by: Steven Whitehouse commit 77386e1f662f104680da7885d32e068e4b11b882 Author: Steven Whitehouse Date: Wed Nov 29 10:41:49 2006 -0500 [GFS2] Remove gfs2_check_acl() As pointed out by Adrian Bunk, the gfs2_check_acl() function is no longer used. This patch removes it and renamed gfs2_check_acl_locked() to gfs2_check_acl() since we only need one variant of that function now. Signed-off-by: Steven Whitehouse Cc: Adrian Bunk commit 57adf7eede38d315e0e328c52484d6a596e9a238 Author: Ryusuke Konishi Date: Wed Nov 29 09:33:48 2006 -0500 [DLM] fix format warnings in rcom.c and recoverd.c This fixes the following gcc warnings generated on the architectures where uint64_t != unsigned long long (e.g. ppc64). fs/dlm/rcom.c:154: warning: format '%llx' expects type 'long long unsigned int', but argument 4 has type 'uint64_t' fs/dlm/rcom.c:154: warning: format '%llx' expects type 'long long unsigned int', but argument 5 has type 'uint64_t' fs/dlm/recoverd.c:48: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' fs/dlm/recoverd.c:202: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' fs/dlm/recoverd.c:210: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'uint64_t' Signed-off-by: Ryusuke Konishi Signed-off-by: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 0ac230699a0f3f0d15ad4e4ad99446dac5b4a21f Author: Randy Dunlap Date: Tue Nov 28 22:29:19 2006 -0800 [GFS2] lock function parameter Fix function parameter typing: fs/gfs2/glock.c:100: warning: function declaration isn't a prototype Signed-off-by: Randy Dunlap Signed-off-by: Steven Whitehouse commit 98f176fb32f33795b6d0f83856008b932123ab38 Author: David Teigland Date: Mon Nov 27 13:19:28 2006 -0600 [DLM] don't accept replies to old recovery messages We often abort a recovery after sending a status request to a remote node. We want to ignore any potential status reply we get from the remote node. If we get one of these unwanted replies, we've often moved on to the next recovery message and incremented the message sequence counter, so the reply will be ignored due to the seq number. In some cases, we've not moved on to the next message so the seq number of the reply we want to ignore is still correct, causing the reply to be accepted. The next recovery message will then mistake this old reply as a new one. To fix this, we add the flag RCOM_WAIT to indicate when we can accept a new reply. We clear this flag if we abort recovery while waiting for a reply. Before the flag is set again (to allow new replies) we know that any old replies will be rejected due to their sequence number. We also initialize the recovery-message sequence number to a random value when a lockspace is first created. This makes it clear when messages are being rejected from an old instance of a lockspace that has since been recreated. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 1babdb453138f17b8ed3d1d5711089c4e2fa5ace Author: David Teigland Date: Mon Nov 27 13:18:41 2006 -0600 [DLM] fix size of STATUS_REPLY message When the not_ready routine sends a "fake" status reply with blank status flags, it needs to use the correct size for a normal STATUS_REPLY by including the size of the would-be config parameters. We also fill in the non-existant config parameters with an invalid lvblen value so it's easier to notice if these invalid paratmers are ever being used. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit aed3255f2267e2d1d95b9cf7f2995ce24e6c873b Author: Ryusuke Konishi Date: Tue Nov 28 02:53:22 2006 +0900 [GFS2] fs/gfs2/log.c:log_bmap() fix printk format warning Fix a printk format warning in fs/gfs2/log.c: fs/gfs2/log.c:322: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'sector_t' Signed-off-by: Ryusuke Konishi Signed-off-by: Steven Whitehouse commit 2896ee37ccc1f9acb244c9b02becb74a43661009 Author: David Teigland Date: Mon Nov 27 11:31:22 2006 -0600 [DLM] fix add_requestqueue checking nodes list Requests that arrive after recovery has started are saved in the requestqueue and processed after recovery is done. Some of these requests are purged during recovery if they are from nodes that have been removed. We move the purging of the requests (dlm_purge_requestqueue) to later in the recovery sequence which allows the routine saving requests (dlm_add_requestqueue) to avoid filtering out requests by nodeid since the same will be done by the purge. The current code has add_requestqueue filtering by nodeid but doesn't hold any locks when accessing the list of current nodes. This also means that we need to call the purge routine when the lockspace is being shut down since the add routine will not be rejecting requests itself any more. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit dcf3dd852f554bb0016aa23892596717cc123a26 Author: Steven Whitehouse Date: Mon Nov 27 10:12:05 2006 -0500 [GFS2] Fix recursive locking in gfs2_getattr The readdirplus NFS operation can result in gfs2_getattr being called with the glock already held. In this case we do not want to try and grab the lock again. This fixes Red Hat bugzilla #215727 Signed-off-by: Steven Whitehouse commit 300c7d75f3a5e8edd3e390ccd56b808f3fb14e33 Author: Steven Whitehouse Date: Mon Nov 27 09:55:28 2006 -0500 [GFS2] Fix recursive locking in gfs2_permission Since gfs2_permission may be called either from the VFS (in which case we need to obtain a shared glock) or from GFS2 (in which case we already have a glock) we need to test to see whether or not a lock is required. The original test was buggy due to a potential race. This one should be safe. This fixes Red Hat bugzilla #217129 Signed-off-by: Steven Whitehouse commit cb4c03131836a55bf95e1c165409244ac6b4f39f Author: Steven Whitehouse Date: Thu Nov 23 11:16:32 2006 -0500 [GFS2] Reduce number of arguments to meta_io.c:getbuf() Since the superblock and the address_space are determined by the glock, we might as well just pass that as the argument since all the callers already have that available. Signed-off-by: Steven Whitehouse commit a25311c8e0b7071b129ca9a9e49e22eeaf620864 Author: Steven Whitehouse Date: Thu Nov 23 11:06:35 2006 -0500 [GFS2] Move gfs2_meta_syncfs() into log.c By moving gfs2_meta_syncfs() into log.c, gfs2_ail1_start() can be made static. Signed-off-by: Steven Whitehouse commit b004157ab5b374a498a5874cda68c389219d23e7 Author: Steven Whitehouse Date: Thu Nov 23 10:51:34 2006 -0500 [GFS2] Fix journal flush problem This fixes a bug which resulted in poor performance due to flushing the journal too often. The code path in question was via the inode_go_sync() function in glops.c. The solution is not to flush the journal immediately when inodes are ejected from memory, but batch up the work for glockd to deal with later on. This means that glocks may now live on beyond the end of the lifetime of their inodes (but not very much longer in the normal case). Also fixed in this patch is a bug (which was hidden by the bug mentioned above) in calculation of the number of free journal blocks. The gfs2_logd process has been altered to be more responsive to the journal filling up. We now wake it up when the number of uncommitted journal blocks has reached the threshold level rather than trying to flush directly at the end of each transaction. This again means doing fewer, but larger, log flushes in general. Signed-off-by: Steven Whitehouse commit ae619320b22f8e0b2bbe4a3a5ac2f9ccf08d7ec2 Author: Steven Whitehouse Date: Wed Nov 22 11:28:47 2006 -0500 [GFS2] mark_inode_dirty after write to stuffed file Writes to stuffed files were not being marked dirty correctly. Signed-off-by: Steven Whitehouse commit 28626e2078571c4b776a17eaa486bbd2b7dfe2cd Author: Steven Whitehouse Date: Wed Nov 22 11:13:21 2006 -0500 [GFS2] Fix glock ordering on inode creation The lock order here should be parent -> child rather than numeric order. Signed-off-by: Steven Whitehouse commit 1a14d3a68f04527546121eb7b45187ff6af63151 Author: Steven Whitehouse Date: Mon Nov 20 10:37:45 2006 -0500 [GFS2] Simplify glops functions The go_sync callback took two flags, but one of them was set on every call, so this patch removes once of the flags and makes the previously conditional operations (on this flag), unconditional. The go_inval callback took three flags, each of which was set on every call to it. This patch removes the flags and makes the operations unconditional, which makes the logic rather more obvious. Two now unused flags are also removed from incore.h. Signed-off-by: Steven Whitehouse commit fa2ecfc5e11b12f25b67f9c84ac6b0e74a6a0115 Author: Steven Whitehouse Date: Mon Nov 20 10:04:49 2006 -0500 [GFS2] Fix Kconfig wrt CRC32 GFS2 requires the CRC32 library function. This was reported by Toralf Förster. Cc: Toralf Förster Signed-off-by: Steven Whitehouse commit 5e7d65cd9d3819512b059f4260de0119b985454c Author: Steven Whitehouse Date: Fri Nov 17 12:27:44 2006 -0500 [GFS2] Make sentinel dirents compatible with gfs1 When deleting directory entries, we set the inum.no_addr to zero in a dirent when its the first dirent in a block and thus cannot be merged into the previous dirent as is the usual case. In gfs1, inum.no_formal_ino was used instead. This patch changes gfs2 to set both inum.no_addr and inum.no_formal_ino to zero. It also changes the test from just looking at inum.no_addr to look at both inum.no_addr and inum.no_formal_ino and a sentinel is now considered to be a dirent in which _either_ (or both) of them is set to zero. This resolves Red Hat bugzillas: #215809, #211465 Signed-off-by: Steven Whitehouse commit dcd2479959c79d44f5dd77e71672e70f1f8b1f06 Author: Steven Whitehouse Date: Thu Nov 16 11:08:16 2006 -0500 [GFS2] Remove unused function from inode.c The gfs2_glock_nq_m_atime function is unused in so far as its only ever called with num_gh = 1, and this falls through to the gfs2_glock_nq_atime function, so we might as well call that directly. Signed-off-by: Steven Whitehouse commit 175011cf6edddea32e5f5e0e04434104cc348de9 Author: Steven Whitehouse Date: Thu Nov 16 10:58:55 2006 -0500 [GFS2] Remove unused sysfs files Four of the sysfs files are unused and can therefore be removed. Signed-off-by: Steven Whitehouse commit 4cf1ed8144e740de27c6146c25d5d7ea26679cc5 Author: Steven Whitehouse Date: Wed Nov 15 15:21:06 2006 -0500 [GFS2] Tidy up bmap & fix boundary bug This moves the locking for bmap into the bmap function itself rather than using a wrapper function. It also fixes a bug where the boundary flag was set on the wrong bh. Also the flags on the mapped bh are reset earlier in the function to ensure that they are 100% correct on the error path. Signed-off-by: Steven Whitehouse commit ab923031ceb95ec50ef33ccadf28663c660aa94c Author: Steven Whitehouse Date: Wed Nov 15 15:17:03 2006 -0500 [GFS2] Fix memory allocation in glock.c Change from GFP_KERNEL to GFP_NOFS as this was causing a slow down when trying to push inodes from cache. Signed-off-by: Steven Whitehouse commit b98c95af01c10827e3443157651eb469071391a3 Author: Patrick Caulfield Date: Wed Nov 15 12:29:24 2006 -0500 [DLM] Fix DLM config The attached patch fixes the DLM config so that it selects the chosen network transport. It should fix the bug where DLM can be left selected when NET gets unselected. This incorporates all the comments received about this patch. Cc: Adrian Bunk Cc: Andrew Morton Signed-Off-By: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 6f90a8b1b87f97144911790390d56f695b59db9b Author: David Teigland Date: Fri Nov 10 14:16:27 2006 -0600 [DLM] clear sbflags on lock master RH BZ 211622 The ALTMODE flag can be set in the lock master's copy of the lock but never cleared, so ALTMODE will also be returned in a subsequent conversion of the lock when it shouldn't be. This results in lock_dlm incorrectly switching to the alternate lock mode when returning the result to gfs which then asserts when it sees the wrong lock state. The fix is to propagate the cleared sbflags value to the master node when the lock is requested. QA's d_rwrandirectlarge test triggers this bug very quickly. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 4b77f2c93d052adca8cc8690b9b5e7f8798f4ddd Author: David Teigland Date: Wed Nov 1 09:31:48 2006 -0600 [DLM] do full recover_locks barrier Red Hat BZ 211914 The previous patch "[DLM] fix aborted recovery during node removal" was incomplete as discovered with further testing. It set the bit for the RS_LOCKS barrier but did not then wait for the barrier. This is often ok, but sometimes it will cause yet another recovery hang. If it's a new node that also has the lowest nodeid that skips the barrier wait, then it misses the important step of collecting and reporting the barrier status from the other nodes (which is the job of the low nodeid in the barrier wait routine). Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 2cdc98aaf072d573df10c503d3b3b0b74e2a6d06 Author: David Teigland Date: Tue Oct 31 11:56:08 2006 -0600 [DLM] fix stopping unstarted recovery Red Hat BZ 211914 When many nodes are joining a lockspace simultaneously, the dlm gets a quick sequence of stop/start events, a pair for adding each node. dlm_controld in user space sends dlm_recoverd in the kernel each stop and start event. dlm_controld will sometimes send the stop before dlm_recoverd has had a chance to take up the previously queued start. The stop aborts the processing of the previous start by setting the RECOVERY_STOP flag. dlm_recoverd is erroneously clearing this flag and ignoring the stop/abort if it happens to take up the start after the stop meant to abort it. The fix is to check the sequence number that's incremented for each stop/start before clearing the flag. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 91c0dc93a1a6bbdd79707ed311e48b4397df177f Author: David Teigland Date: Tue Oct 31 11:56:01 2006 -0600 [DLM] fix aborted recovery during node removal Red Hat BZ 211914 With the new cluster infrastructure, dlm recovery for a node removal can be aborted and restarted for a node addition. When this happens, the restarted recovery isn't aware that it's doing recovery for the earlier removal as well as the addition. So, it then skips the recovery steps only required when nodes are removed. This can result in locks not being purged for failed/removed nodes. The fix is to check for removed nodes for which recovery has not been completed at the start of a new recovery sequence. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit d4400156d415540086c34a06e5d233122d6bf56a Author: David Teigland Date: Tue Oct 31 11:55:56 2006 -0600 [DLM] fix requestqueue race Red Hat BZ 211914 There's a race between dlm_recoverd (1) enabling locking and (2) clearing out the requestqueue, and dlm_recvd (1) checking if locking is enabled and (2) adding a message to the requestqueue. An order of recoverd(1), recvd(1), recvd(2), recoverd(2) will result in a message being left on the requestqueue. The fix is to have dlm_recvd check if dlm_recoverd has enabled locking after taking the mutex for the requestqueue and if it has processing the message instead of queueing it. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 435618b75b82b5ee511cc01fcdda9c44adb2f4bd Author: David Teigland Date: Thu Nov 2 09:45:56 2006 -0600 [DLM] status messages ping-pong between unmounted nodes Red Hat BZ 213682 If two nodes leave the lockspace (while unmounting the fs in the case of gfs) after one has sent a STATUS message to the other, STATUS/STATUS_REPLY messages will then ping-pong between the nodes when neither of them can find the lockspace in question any longer. We kill this by not sending another STATUS message when we get a STATUS_REPLY for an unknown lockspace. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit 520698096436f7da5b9142e63e3bed5580c5f14e Author: David Teigland Date: Thu Nov 2 09:49:02 2006 -0600 [DLM] res_recover_locks_count not reset when recover_locks is aborted Red Hat BZ 213684 If a node sends an lkb to the new master (RCOM_LOCK message) during recovery and recovery is then aborted on both nodes before it gets a reply, the res_recover_locks_count needs to be reset to 0 so that when the subsequent recovery comes along and sends the lkb to the new master again the assertion doesn't trigger that checks that counter is zero. Signed-off-by: David Teigland Signed-off-by: Steven Whitehouse commit fdda387f73947e6ae511ec601f5b3c6fbb582aac Author: Patrick Caulfield Date: Thu Nov 2 11:19:21 2006 -0500 [DLM] Add support for tcp communications The following patch adds a TCP based communications layer to the DLM which is compile time selectable. The existing SCTP layer gives the advantage of allowing multihoming, whereas the TCP layer has been heavily tested in previous versions of the DLM and is known to be robust and therefore can be used as a baseline for performance testing. Signed-off-by: Patrick Caulfield Signed-off-by: Steven Whitehouse commit 61057c6bb3a3d14cf2bea6ca20dc6d367e1d852e Author: Russell Cattelan Date: Thu Nov 9 11:42:33 2006 -0500 [GFS2] Remove unused zero_readpage from stuffed_readpage Stuffed files only consist of a maximum of (gfs2 block size - sizeof(struct gfs2_dinode)) bytes. Since the gfs2 block size is always less than page size, we will never see a call to stuffed_readpage for anything other than the first page in the file. Signed-off-by: Russell Cattelan Signed-off-by: Steven Whitehouse commit 7020933156ac2a8a7386314933e49948bf0438f7 Author: Russell Cattelan Date: Thu Nov 9 11:28:08 2006 -0500 [GFS2] Fix race in logging code The log lock is dropped prior to io submittion, but this exposes a hole in which the log data structures may be going away due to a truncate. Store the buffer head in a local pointer prior to dropping the lock and relay on the buffer_head lock for consitency on the buffer head. Signed-Off-By: Russell Cattelan Signed-off-by: Steven Whitehouse commit 9e2dbdac3df300516ffdd9a8631f23164d068a50 Author: Steven Whitehouse Date: Wed Nov 8 15:45:46 2006 -0500 [GFS2] Remove gfs2_inode_attr_in This function wasn't really doing the right thing. There was no need to update the inode size at this point and the updating of the i_blocks field has now been moved to the places where di_blocks is updated. A result of this patch and some those preceeding it is that unlocking a glock is now a much more efficient process, since there is no longer any requirement to copy data from the gfs2 inode into the vfs inode at this point. Signed-off-by: Steven Whitehouse commit e7c698d74fc9e0e76b3086062b0519df3601ff52 Author: Steven Whitehouse Date: Wed Nov 8 13:52:05 2006 -0500 [GFS2] Inode number is constant Since the inode number is constant, we don't need to keep updating it everytime we refresh the other inode fields. Signed-off-by: Steven Whitehouse commit 6b124d8dba1f46c5f2caf3b3159bbe627f75b9b6 Author: Steven Whitehouse Date: Wed Nov 8 12:51:06 2006 -0500 [GFS2] Only set inode flags when required We were setting the inode flags from GFS2's flags far too often, even when they couldn't possibly have changed. This patch reduces the amount of flag setting going on so that we do it only when the inode is read in or when the flags have changed. The create case is covered by the "when the inode is read in" case. This also fixes a bug where we didn't set S_SYNC correctly. Signed-off-by: Steven Whitehouse commit 2ca99501fa5422e84f18333918a503433449e2b5 Author: Steven Whitehouse Date: Wed Nov 8 10:26:54 2006 -0500 [GFS2] Fix page lock/glock deadlock This fixes a race between the glock and the page lock encountered during truncate in gfs2_readpage and gfs2_prepare_write. The gfs2_readpages function doesn't need the same fix since it only uses a try lock anyway, so it will fail back to gfs2_readpage in the case of a potential deadlock. This bug was spotted by Russell Cattelan. Cc: Russell Cattelan Signed-off-by: Steven Whitehouse commit c594d8866460a2710c436839d79f334a0714a2a7 Author: Steven Whitehouse Date: Wed Nov 8 09:01:13 2006 -0500 [GFS2] Remove unused GL_DUMP flag There is no way to set the GL_DUMP flag, and in any case the same thing can be done with systemtap if required for debugging, so this removes it. Signed-off-by: Steven Whitehouse commit f6e58f01e8dc869803b9f73b2aa9d5bc3f32ca05 Author: Steven Whitehouse Date: Tue Nov 7 15:14:58 2006 -0500 [GFS2] Don't copy meta_header for rgrp in and out The meta_header for an ondisk rgrp never changes, so there is no point copying it in and back out to disk. Also there is no reason to keep a copy for each rgrp in memory. The code already checks to ensure that the header is correct before it calls the routine to copy the data in, so that we don't even need to check whether its correct on disk in the functions in ondisk.c Signed-off-by: Steven Whitehouse commit 294caaa3b8304c0a14c5039691caf23363bd9369 Author: Steven Whitehouse Date: Thu Nov 2 11:59:28 2006 -0500 [GFS2] Tidy up 0 initialisations in inode.c We don't need to use endian conversions for 0 initialisations when creating a new on-disk inode. Cc: Christoph Hellwig Cc: Alexey Dobriyan Signed-off-by: Steven Whitehouse commit bfded27ba010d1c3b0aa3843f97dc9b80de751be Author: Steven Whitehouse Date: Wed Nov 1 16:05:38 2006 -0500 [GFS2] Shrink gfs2_inode (8) - i_vn This shrinks the size of the gfs2_inode by 8 bytes by replacing the version counter with a one bit valid/invalid flag. Signed-off-by: Steven Whitehouse commit a9583c7983cbba9726bfe64ee46613d654fc9e26 Author: Steven Whitehouse Date: Wed Nov 1 20:09:14 2006 -0500 [GFS2] Shrink gfs2_inode (7) - di_payload_format This is almost never used. Its there for backward compatibility with GFS1. It doesn't need its own field since it can always be calculated from the inode mode & flags. This saves a bit more space in the gfs2_inode. Signed-off-by: Steven Whitehouse commit 1a7b1eed5802502fd649e04784becd58557fdcf1 Author: Steven Whitehouse Date: Wed Nov 1 14:35:17 2006 -0500 [GFS2] Shrink gfs2_inode (6) - di_atime/di_mtime/di_ctime Remove the di_[amc]time fields and use inode->i_[amc]time fields instead. This saves 24 bytes from the gfs2_inode. Signed-off-by: Steven Whitehouse commit 4f56110a00af5fb2e22fbccfcaf944d62cae8fcf Author: Steven Whitehouse Date: Wed Nov 1 14:04:17 2006 -0500 [GFS2] Shrink gfs2_inode (5) - di_nlink Remove the di_nlink field in favour of inode->i_nlink and update the nlink handling to use the proper macros. This saves 4 bytes. Signed-off-by: Steven Whitehouse commit 2933f9254a6af33db25270778c998a42029da668 Author: Steven Whitehouse Date: Wed Nov 1 13:23:29 2006 -0500 [GFS2] Shrink gfs2_inode (4) - di_uid/di_gid Remove duplicate di_uid/di_gid fields in favour of using inode->i_uid/inode->i_gid instead. This saves 8 bytes. Signed-off-by: Steven Whitehouse commit b60623c238b6a819bd04090139704e2cb57a751f Author: Steven Whitehouse Date: Wed Nov 1 12:22:46 2006 -0500 [GFS2] Shrink gfs2_inode (3) - di_mode This removes the duplicate di_mode field in favour of using the inode->i_mode field. This saves 4 bytes. Signed-off-by: Steven Whitehouse commit e7f14f4d094ea1a9ce1953375f5bc1500c760c79 Author: Steven Whitehouse Date: Tue Oct 31 21:45:08 2006 -0500 [GFS2] Shrink gfs2_inode (2) - di_major/di_minor This removes the device numbers from this structure by using inode->i_rdev instead. It also cleans up the code in gfs2_mknod. It results in shrinking the gfs2_inode by 8 bytes. Signed-off-by: Steven Whitehouse commit af339c0241d0dd3b35f9097b4f4999bb22ffe502 Author: Steven Whitehouse Date: Wed Nov 1 10:34:15 2006 -0500 [GFS2] Shrink gfs2_inode (1) - di_header/di_num The metadata header doesn't need to be stored in the incore struct gfs2_inode since its constant, and this patch removes it. Also, there is already a field for the inode's number in the struct gfs2_inode, so we don't need one in struct gfs2_dinode_host as well. This saves 28 bytes of space in the struct gfs2_inode. Signed-off-by: Steven Whitehouse commit 4cc14f0b88bf3e0b508143e091eb5a8dff3e3b9c Author: Steven Whitehouse Date: Tue Oct 31 19:00:24 2006 -0500 [GFS2] Change argument to gfs2_dinode_print Change argument for gfs2_dinode_print in order to prepare for removal of duplicate fields between struct inode and struct gfs2_dinode_host. Signed-off-by: Steven Whitehouse commit ea744d01c6a5acf1f6171b4c6e1658a742063613 Author: Steven Whitehouse Date: Tue Oct 31 15:28:00 2006 -0500 [GFS2] Move gfs2_dinode_in to inode.c gfs2_dinode_in() is only ever called from one place, so move it to that place (in inode.c) and make it static. Signed-off-by: Steven Whitehouse commit 891ea14712da68e282de8583e5fa14f0d3f3731e Author: Steven Whitehouse Date: Tue Oct 31 15:22:10 2006 -0500 [GFS2] Change argument to gfs2_dinode_in This is a preliminary patch to enable the removal of fields in gfs2_dinode_host which are duplicated in struct inode. Signed-off-by: Steven Whitehouse commit 539e5d6b7ae8612c0393fe940d2da5b591318d3d Author: Steven Whitehouse Date: Tue Oct 31 15:07:05 2006 -0500 [GFS2] Change argument of gfs2_dinode_out Everywhere this was called, a struct gfs2_inode was available, but despite that, it was always called with a struct gfs2_dinode as an argument. By making this change it paves the way to start eliminating fields duplicated between the kernel's struct inode and the struct gfs2_dinode. Signed-off-by: Steven Whitehouse commit 9c9ab3d5414653bfe5e5b9f4dfdaab0c6ab17196 Author: Al Viro Date: Fri Oct 13 23:49:23 2006 -0400 [GFS2] gfs2 __user misannotation fix Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit b44b84d765b02f813a67b96bf79e3b5d4d621631 Author: Al Viro Date: Sat Oct 14 10:46:30 2006 -0400 [GFS2] gfs2 misc endianness annotations Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit b62f963e1fdf838fed91faec21228d421a834f2d Author: Al Viro Date: Fri Oct 13 23:46:46 2006 -0400 [GFS2] split and annotate gfs2_quota_change Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit bd209cc017f231e8536550bdab1bf5da93c32798 Author: Al Viro Date: Fri Oct 13 23:43:19 2006 -0400 [GFS2] split and annotate gfs2_statfs_change Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit b5bc9e8b065dbcd4c675e8c158d6e524f221b8e1 Author: Al Viro Date: Fri Oct 13 23:31:55 2006 -0400 [GFS2] split and annotate gfs2_quota Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 629a21e7ecedf779c68dcaa9a186069f57a7c652 Author: Al Viro Date: Fri Oct 13 22:51:24 2006 -0400 [GFS2] split and annotate gfs2_inum Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 1e81c4c3e0f55c95b6278a827262b80debd0dc7e Author: Al Viro Date: Fri Oct 13 22:51:24 2006 -0400 [GFS2] split and annotate gfs_rindex Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit e928a76f959e89884f6186bb6f846c533847d5df Author: Al Viro Date: Fri Oct 13 21:57:23 2006 -0400 [GFS2] split and annotate gfs2_meta_header Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 2a2c98247b822db8df037a56c27201f9d716ac66 Author: Steven Whitehouse Date: Tue Oct 31 14:44:50 2006 -0500 [GFS2] Fix crc32 calculation in recovery.c Commit "[GFS2] split and annotate gfs2_log_head" resulted in an incorrect checksum calculation for log headers. This patch corrects the problem without resorting to copying the whole log header as the previous code used to. Cc: Al Viro Signed-off-by: Steven Whitehouse commit 551676226163379c217e8ec54bd287eab9b8521e Author: Al Viro Date: Fri Oct 13 21:47:13 2006 -0400 [GFS2] split and annotate gfs2_log_head Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit e697264709c86040271cdd7abee781d7adbb7f91 Author: Al Viro Date: Fri Oct 13 21:29:46 2006 -0400 [GFS2] split and annotate gfs2_inum_range Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 68826664d12827d7a732192e2f00ba46fb899414 Author: Al Viro Date: Fri Oct 13 21:07:22 2006 -0400 [GFS2] split and annotate gfs2_rgrp Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit bc558c87bb7e50c4f728d32684a9f4f4c73ebde3 Author: Al Viro Date: Fri Oct 13 21:02:41 2006 -0400 [GFS2] fields of gfs2_sb_host are host-endian ... and several could be killed, but that's another story. Annotate scalar ones, kill completely unused. Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit f50dfaf78c01df3cc2d8819f07d6661915567bae Author: Al Viro Date: Fri Oct 13 20:45:02 2006 -0400 [GFS2] split gfs2_sb Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 5c6edb576f3800723bb65dbfaff82517089e32d0 Author: Al Viro Date: Fri Oct 13 20:33:01 2006 -0400 [GFS2] gfs2_dinode_host fields are host-endian Annotated scalar fields, dropped unused ones. Note that it's not at all obvious that we want to convert all of them to host-endian... Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 3ca68df6ee61e1a2034f3307b9edb9b3d87e5ca1 Author: Al Viro Date: Fri Oct 13 20:11:25 2006 -0400 [GFS2] split gfs2_dinode into on-disk and host variants The latter is used as part of gfs2-private part of struct inode. It actually stores a lot of fields differently; for now the declaration is just cloned, inode field is swtiched and changes propagated. Signed-off-by: Al Viro Signed-off-by: Steven Whitehouse commit 122214428a7bfab2c09b417f3acdb06222e81748 Author: Paul Gortmaker Date: Thu Nov 2 16:41:18 2006 +0100 [ARM] 3911/2: Simplify alloc_thread_info on ARM Remove ARM local cache of 4 struct thread_info. Can cause oops under certain circumstances. Russell indicated the original optimization was required on older kernels to avoid thread starvation on memory fragmentation, but may no longer be required. I've updated the patch to 19rc4 and ensured no dain-bramage slipped in this time (sorry about that). Original description follows: I was given some test results which pointed to an Oops in alloc_thread_info (happened 2x), and after looking at the code, I see that ARM has its own local cache of 4 struct thread_info. There wasn't any clear (to me) synchronization between the alloc_thread_info and the free_thread_info. I looked over the other arch, and they all simply allocate them on an as needed basis, so I simplified the ARM to do the same, based on the other arch (e.g. PPC) and the folks doing the testing have indicated that this fixed the oops. Signed-off-by: Paul Gortmaker Signed-off-by: Russell King commit 9b531ce242159bd26e09b55d8fb4be3f4bf75e24 Author: Russell King Date: Thu Nov 30 14:39:14 2006 +0000 [ARM] Remove "translated" io macros The "translated" io macros were never really used. Remove them. Preserve the L7200 inb() and friends by defining the __io() macro, so that the generic versions can be used instead. Signed-off-by: Russell King commit 6f4c7e39cb769addf047de8ec395a200cc6eec94 Author: Russell King Date: Thu Nov 30 14:36:29 2006 +0000 [ARM] Remove warnings for __io_pci and __arch_(get|put)* Since the last definitions of this macros have been removed, we can remove the warnings in asm/io.h. Signed-off-by: Russell King commit 74af1c227cf17caff3bb8c6547858655a473a39b Author: Russell King Date: Thu Nov 30 14:34:46 2006 +0000 [ARM] L7200: Remove deprecated __io_pci and __arch_(get|put)* These functions have been deprecated for quite some time, and in fact are no longer used. They just add to clutter. Remove them. Signed-off-by: Russell King commit 96b13f5c074fab56797109aedacc2405544d6f95 Author: Russell King Date: Thu Nov 30 14:04:49 2006 +0000 [ARM] Fix __must_check warnings in drivers/bus/amba.c Fix driver model __must_check warnings in drivers/bus/amba.c by rearranging how we add attributes to devices. Signed-off-by: Russell King commit 3ff1559eae70d5fb542eaa087389223dce4e364f Author: Russell King Date: Thu Nov 30 13:53:54 2006 +0000 [ARM] Fix nommu build Fix warnings and errors in arch/arm/mm for nommu build. Remove commented out function prototype in pgtable-nommu.h Signed-off-by: Russell King commit 5cd372e170f1827164e3bd267dff80962ded49d6 Author: Kristoffer Ericson Date: Mon Nov 20 20:42:44 2006 +0100 [ARM] 3936/1: [Jornada7xx] - No use for jornada720.h * We don't need this header anymore - there is no data we need to share this way. FB driver gets this data through a resources structure. MCU Driver api will go to a jornada720_mcu.h file. Signed-off-by: Filip Zyzniewski Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 46ec0ce8ce7eab6242188ea8a596538753c53b22 Author: Nicolas Pitre Date: Mon Nov 20 22:19:29 2006 +0100 [ARM] 3940/1: don't reset PXA2xx clock counter Don't reset OSCR to zero as this prevents us from having a contiguous time source. The value returned by sched_clock() is reset to zero in the middle of the boot process otherwise, making CONFIG_PRINTK_TIME rather messed up. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit bf46878c4ef4cf04a3564f0ff2e7daae353ee2e2 Author: Nicolas Pitre Date: Mon Nov 20 22:17:09 2006 +0100 [ARM] 3939/1: don't reset SA11x0 clock counter Don't reset OSCR to zero as this prevents us from having a contiguous time source. The value returned by sched_clock() is reset to zero in the middle of the boot process otherwise, making CONFIG_PRINTK_TIME rather messed up. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 10dd5ce28d78e2440e8fa1135d17e33399d75340 Author: Russell King Date: Thu Nov 23 11:41:32 2006 +0000 [ARM] Remove compatibility layer for ARM irqs set_irq_chipdata -> set_irq_chip_data get_irq_chipdata -> get_irq_chip_data do_level_IRQ -> handle_level_irq do_edge_IRQ -> handle_edge_irq do_simple_IRQ -> handle_simple_irq irqdesc -> irq_desc irqchip -> irq_chip Signed-off-by: Russell King commit 127e477e0cd8da4d3058709ab2dc7b92dccbcba5 Author: stanley cai Date: Mon Oct 16 15:13:43 2006 +0100 [ARM] 3894/1: pxa27x: Update DCSR_EORINTR bit definition in DCSR This patch updates a bit definition name to align with the PXA27x spec.EORINTR(End-Of-Receive Intr) bit in DCSR register (DMA Channel Control/Status Register) Signed-off-by: Stanley Cai Signed-off-by: Russell King commit d94cffe3d3794f70f928c3e5b97c252930775332 Author: stanley cai Date: Mon Oct 16 15:13:30 2006 +0100 [ARM] 3893/1: pxa27x: Update UDCISR1 bit definitions This patch updates several bit definitions name in UDCISR1 register. Signed-off-by: Stanley Cai Signed-off-by: Russell King commit eb8b0afc3a228cf6e0e1f9045127da3e72a6866b Author: Russell King Date: Thu Nov 9 15:16:16 2006 +0000 [ARM] Remove DEBUG_WAITQ DEBUG_WAITQ appears to have been removed by others, but no one removed the configuration option from ARM. Remote it from both Kconfig.debug and all default configurations. Signed-off-by: Russell King commit 80bcddc19d08a6eee99fb1bf3470ad6257af8721 Author: Russell King Date: Thu Nov 9 14:45:22 2006 +0000 [ARM] Convert apm.c to use mutexes instead of semaphores More semaphore-as-mutex to mutex conversions. Signed-off-by: Russell King commit 5974eaaedee49c25d7231cc72dc0b7b9d2ef2fd7 Author: Russell King Date: Thu Nov 9 14:37:06 2006 +0000 [ARM] Move HWCAP_* definitions to asm/elf.h Move HWCAP_* definitions into asm/elf.h, where they should belong. Since userspace wants to get at these definitions by including asm/procinfo.h, include asm/elf.h from this file if __KERNEL__ is not defined, and issue a warning suggesting to fix the program up to use asm/elf.h instead. Signed-off-by: Russell King commit ee90dabcadd053d5dd69f3a7f8161afa2c751ace Author: Russell King Date: Thu Nov 9 14:20:47 2006 +0000 [ARM] Include asm/elf.h instead of asm/procinfo.h These files want to provide/access ELF hwcap information, so should be including asm/elf.h rather than asm/procinfo.h Signed-off-by: Russell King commit 4a5222ca435c2af7466e5d262389609978a8e576 Author: Russell King Date: Thu Nov 9 14:07:52 2006 +0000 [ARM] Arrange asm-arm/elf.h so it can be included by assembly Prepare elf.h so that assembly code can include this file. Signed-off-by: Russell King commit beea494d5e09f9e2172894ec84324b94244826a9 Author: Russell King Date: Tue Nov 7 21:03:20 2006 +0000 [ARM] Remove EEPROM slave emulation from i2c-pxa driver. The i2c-pxa driver should not contain EEPROM slave-mode emulation; this is something the platform should provide where required. Remove it. Signed-off-by: Russell King commit df58d0359581bbd4ee741406d81e69456c684f9d Author: Russell King Date: Tue Nov 7 21:01:30 2006 +0000 [ARM] Fix "apm -s" command hang Fix an apparant hang with the "apm -s" command. We omitted to wake up this process once resume had completed. Signed-off-by: Russell King commit b729c09a452a659cdf4d29d83943aa798c5c4ffc Author: Russell King Date: Tue Nov 7 21:00:22 2006 +0000 [ARM] Improve reliability of APM-emulation suspend The APM emulation can sometimes cause suspend to fail to work due to apparantly waiting for some process to acknowledge an event when it actually has already done so. We re-jig the event handling to work around this behaviour. Signed-off-by: Russell King commit 9e1402ab89623f08c8dc06ec395e3214e1ec7848 Author: George G. Davis Date: Thu Nov 16 14:50:14 2006 -0500 [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT register Fix an offset error when reading the CS89x0 ADD_PORT register. Signed-off-by: George G. Davis Signed-off-by: Jeff Garzik commit 7bd54c863608a460e72aa0e57170cffb6bc62110 Author: Linas Vepstas Date: Fri Nov 17 14:39:40 2006 -0800 [PATCH] spidernet: poor network performance Correct a problem seen on later kernels running the NetPIPE application. Specifically, NetPIPE would begin running very slowly at the 1533 packet size. It was determined that Spidernet slowed with an idle DMA engine. Signed-off-by: James K Lewis Signed-off-by: Linas Vepstas Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 9c434f5e2181097e1d22d9b3e381ca6d693e5188 Author: James K Lewis Date: Fri Nov 17 14:39:36 2006 -0800 [PATCH] Spidernet: remove ETH_ZLEN check in earlier patch In an earlier patch, code was added to pad packets that were less that ETH_ZLEN (60) bytes using the skb_pad function. This has caused hangs when accessing certain NFS mounted file systems. This patch removes the check and solves the NFS problem. The driver, with this patch, has been tested extensively. Please apply. Signed-off-by: James K Lewis Cc: Stephen Hemminger Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 418e8f3d7ef4a30d4b5c84440641c9792a7f83f1 Author: Laurent Riffard Date: Sat Nov 18 12:03:04 2006 +0100 [PATCH] bonding: fix an oops when slave device does not provide get_stats Bonding driver unconditionnaly dereference get_stats function pointer for each of its slave device. This patch - adds a check for NULL dev->get_stats pointer in bond_get_stats - prints a notice when the bonding device enslave a device without get_stats function. Signed-off-by: Laurent Riffard Signed-off-by: Jeff Garzik commit f2b67c7945e8d709444884633670fef498218639 Author: Ralf Baechle Date: Wed Nov 29 17:10:38 2006 +0000 [PATCH] drivers/net: SAA9730: Fix build error Confusingly NET_PCI is also set for for non-PCI EISA configurations where building this driver will result in a build error due to a reference to pci_release_regions. While at it, remove the EXPERIMENTAL - in all its uglyness and despite the sincerest attempts of the buggy hardware the driver is known to work. Also limit the driver to the Atlas board - the only known system to ever use the SAA9730 before Phillips ended the short live of the SAA9730. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit c9ac5977299dd106ddb759e7e10035770dff185b Author: David Woodhouse Date: Thu Nov 30 08:17:38 2006 +0000 [MTD] Remove trailing whitespace The newly-added cafe_ecc.c had a lot of it because of the way the lookup table was auto-generated; clean up the other files too while we're at it. Signed-off-by: David Woodhouse commit 6b44d4e69c6144d0df71ab47ec90d2009237d48f Author: Jan Engelhardt Date: Thu Nov 30 05:33:40 2006 +0100 Fix typos in drivers/isdn/hisax/isdnl2.c Changes persistant -> persistent in actual C code. (part 1 changed docs/comments). Compile-tested. Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 03a67a46af8647b2c7825107045ecae641e103d3 Author: Jan Engelhardt Date: Thu Nov 30 05:32:19 2006 +0100 Fix typos in doc and comments Changes persistant -> persistent. www.dictionary.com does not know persistant (with an A), but should it be one of those things you can spell in more than one correct way, let me know. Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 93e06b4140cc018826bce4d97b0bf7c9ba05ae6e Author: Eric Sesterhenn Date: Thu Nov 30 05:29:23 2006 +0100 BUG_ON conversion for fs/aio.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit d99c5909859625f3c9c6dfee6caa3b2a7c0ef163 Author: Eric Sesterhenn Date: Thu Nov 30 05:27:38 2006 +0100 BUG_ON conversion for drivers/mmc/omap.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 5d9a276a3eb073251737cb92b790bfdb9f0b9139 Author: Eric Sesterhenn Date: Thu Nov 30 05:26:46 2006 +0100 BUG_ON conversion for drivers/media/video/pwc/pwc-if.c This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn Signed-off-by: Adrian Bunk commit 0779bf2d2ecc4d9b1e9437ae659f50e6776a7666 Author: Matt LaPlante Date: Thu Nov 30 05:24:39 2006 +0100 Fix misc .c/.h comment typos Fix various .c/.h typos in comments (no code changes). Signed-off-by: Matt LaPlante Signed-off-by: Adrian Bunk commit 3cb2fccc5f48a4d6269dfd00b4db570fca2a04d5 Author: Matt LaPlante Date: Thu Nov 30 05:22:59 2006 +0100 Fix misc Kconfig typos Fix various Kconfig typos. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 5d3f083d8f897ce2560bbd4dace483d5aa60d623 Author: Matt LaPlante Date: Thu Nov 30 05:21:10 2006 +0100 Fix typos in /Documentation : Misc This patch fixes typos in various Documentation txts. The patch addresses some misc words. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 4ae0edc21b152c126e4a8c94ad5391f8ea051b31 Author: Matt LaPlante Date: Thu Nov 30 04:58:40 2006 +0100 Fix typos in /Documentation : 'U-Z' This patch fixes typos in various Documentation txts. The patch addresses some +words starting with the letters 'U-Z'. Looks like I made it through the alphabet...just in time to start over again +too! Maybe I can fit more profound fixes into the next round...? Time will +tell. :) Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit fa00e7e152690adc17fdc318e64909d4aff1763e Author: Matt LaPlante Date: Thu Nov 30 04:55:36 2006 +0100 Fix typos in /Documentation : 'T'' This patch fixes typos in various Documentation txts. The patch addresses some +words starting with the letter 'T'. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 98c4f0c336afe4318c12397bc74910d86ee036a2 Author: Chase Venters Date: Thu Nov 30 04:53:49 2006 +0100 Fix jiffies.h comment jiffies.h includes a comment informing that jiffies_64 must be read with the assistance of the xtime_lock seqlock. The comment text, however, calls jiffies_64 "not volatile", which should probably read "not atomic". Signed-off-by: Chase Venters Signed-off-by: Adrian Bunk commit ce00f85c45d7f8c13cf67d9ca24d0f100f8e9c59 Author: Jim Cromie Date: Thu Nov 30 04:49:44 2006 +0100 tabify MAINTAINERS Signed-off-by: Adrian Bunk commit e20ec9911bfef897459b9f8aeaf6eadb0920299a Author: Jim Cromie Date: Thu Nov 30 04:46:13 2006 +0100 fix spelling error in include/linux/kernel.h Signed-off-by: Adrian Bunk commit 139a7bdc2b9391a4d0362190d9e5625dcf580105 Author: Alexey Dobriyan Date: Thu Nov 30 04:40:22 2006 +0100 mqueue.h: don't include linux/types.h This #include is not required. Signed-off-by: Alexey Dobriyan Signed-off-by: Adrian Bunk commit aa414dff4f7bef29457592414551becdca72dd6b Author: Ralf Baechle Date: Thu Nov 30 01:14:51 2006 +0000 [MIPS] Remove duplicate ISA DMA code for 0 DMA channel case. Signed-off-by: Ralf Baechle commit 0b7883f49810ec91755caa222b3b28f047b8c93b Author: Ralf Baechle Date: Thu Nov 30 01:14:51 2006 +0000 [MIPS] Remove unused definition of cpu_to_lelongp() Signed-off-by: Ralf Baechle commit 4ffd8b3838f22c34b21a25b7612795ca45d14db6 Author: Ralf Baechle Date: Thu Nov 30 01:14:50 2006 +0000 [MIPS] Remove userspace proofing from . Signed-off-by: Ralf Baechle commit e303e088f25dc7d8bafc0d1942314214a3a57b44 Author: Ralf Baechle Date: Thu Nov 30 01:14:50 2006 +0000 [MIPS] Remove old junk left from old atomic_lock. Signed-off-by: Ralf Baechle commit 63dc68a8cf60cb110b147dab1704d990808b39e2 Author: Ralf Baechle Date: Mon Oct 16 01:38:50 2006 +0100 [MIPS] Use conditional traps for BUG_ON on MIPS II and better. This shaves of around 4kB and a few cycles for the average kernel that has CONFIG_BUG enabled. Signed-off-by: Ralf Baechle commit 005985609ff72df3257fde6b29aa9d71342c2a6b Author: Atsushi Nemoto Date: Sun Nov 12 00:10:28 2006 +0900 [MIPS] mips HPT cleanup: make clocksource_mips public Make clocksource_mips public and get rid of mips_hpt_read, mips_hpt_mask. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 187933f23679c413706030aefad9e85e79164c44 Author: Atsushi Nemoto Date: Wed Oct 25 23:57:04 2006 +0900 [MIPS] do_IRQ cleanup Now we have both function and macro version of do_IRQ() and the former is used only by DEC and non-preemptive kernel. This patch makes everyone use the macro version and removes the function version. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 617667ba724d46ffeccb88ee99e1379f29b0bfa7 Author: Ralf Baechle Date: Thu Nov 30 01:14:48 2006 +0000 [MIPS] Avoid dupliate D-cache flush on R400C / R4400 SC and MC variants. Signed-off-by: Ralf Baechle commit 0550d9d13e02b30efa117d47fcadea450bb23d23 Author: Atsushi Nemoto Date: Tue Aug 22 21:15:47 2006 +0900 [MIPS] Remove redundant r4k_blast_icache() calls r4k_flush_cache_all() and r4k_flush_cache_mm() case: these are noop if the CPU did not have dc_aliases. It would mean we do not need to care about icache here. r4k_flush_cache_range case: if r4k_flush_cache_mm() did not need to care about icache, it would be same for this function. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e56798824456bd907cefe840ca127df0518942e3 Author: Ralf Baechle Date: Thu Nov 30 01:14:47 2006 +0000 [MIPS] Work around bogus gcc warnings. Signed-off-by: Ralf Baechle commit dd6bfd627c4f4df771b9b73e4df75c6c0c177b09 Author: Nicolas Kaiser Date: Tue Nov 7 09:56:24 2006 +0100 [MIPS] Fix double inclusions Signed-off-by: Nicolas Kaiser Signed-off-by: Ralf Baechle commit 1417836e81c0ab8f5a0bfeafa90d3eaa41b2a067 Author: Atsushi Nemoto Date: Tue Nov 14 01:13:18 2006 +0900 [MIPS] use generic_handle_irq, handle_level_irq, handle_percpu_irq Further incorporation of generic irq framework. Replacing __do_IRQ() by proper flow handler would make the irq handling path a bit simpler and faster. * use generic_handle_irq() instead of __do_IRQ(). * use handle_level_irq for obvious level-type irq chips. * use handle_percpu_irq for irqs marked as IRQ_PER_CPU. * setup .eoi routine for irq chips possibly used with handle_percpu_irq. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 1603b5aca4f15b34848fb5594d0c7b6333b99144 Author: Atsushi Nemoto Date: Thu Nov 2 02:08:36 2006 +0900 [MIPS] IRQ cleanups This is a big irq cleanup patch. * Use set_irq_chip() to register irq_chip. * Initialize .mask, .unmask, .mask_ack field. Functions for these method are already exist in most case. * Do not initialize .startup, .shutdown, .enable, .disable fields if default routines provided by irq_chip_set_defaults() were suitable. * Remove redundant irq_desc initializations. * Remove unnecessary local_irq_save/local_irq_restore, spin_lock. With this cleanup, it would be easy to switch to slightly lightwait irq flow handlers (handle_level_irq(), etc.) instead of __do_IRQ(). Though whole this patch is quite large, changes in each irq_chip are not quite simple. Please review and test on your platform. Thanks. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c87b6ebaea034c0e0ce86127870cf1511a307b64 Author: Atsushi Nemoto Date: Sat Oct 28 01:14:37 2006 +0900 [MIPS] mips hpt cleanup: get rid of mips_hpt_init Currently nobody outside time.c require mips_hpt_init(). Remove it and call c0_hpt_timer_init() directly if R4k counter was used for timer interrupt. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 0d02f0734f8d2310497fae4f960c978f679f66d9 Author: Yoichi Yuasa Date: Wed Nov 1 18:40:15 2006 +0900 [MIPS] PB1200: Remove duplicate definitions Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 6f2c3fa022312d5381f44359984395761e375f1b Author: Ralf Baechle Date: Thu Nov 30 01:14:45 2006 +0000 [MIPS] Fix alignment hole in struct cache_desc; shrink struct. Signed-off-by: Ralf Baechle commit 714cfe7865e5182a3b25be6a95c0b17aa8e64aa9 Author: Ralf Baechle Date: Mon Oct 23 00:44:02 2006 +0100 [MIPS] Oprofile: kernel support for the R10000. Signed-off-by: Ralf Baechle commit 2472d0b519c9634d89420064315c0926149947aa Author: Ralf Baechle Date: Thu Nov 30 01:14:45 2006 +0000 [MIPS] Remove unused R10000 performance counter definitions. Signed-off-by: Ralf Baechle commit 583bb86fbb9e85287f020fe4eb5352a0ec3c66a3 Author: Nicolas Schichan Date: Wed Oct 18 15:14:55 2006 +0200 [MIPS] Add support for kexec A tiny userland application loading the kernel and invoking kexec_load for mips is available here: http://chac.le-poulpe.net/~nico/kexec/kexec-2006-10-18.tar.gz Signed-off-by: Ralf Baechle commit c237923009da464881d89f4bc27c3b5b1a93d61b Author: Ralf Baechle Date: Thu Nov 30 01:14:44 2006 +0000 [MIPS] Don't print presence of WAIT instruction on bootup. Not useful and quite a big of noise on bootup of large systems. Signed-off-by: Ralf Baechle commit 5b10496b6e6577f65b032a5c4c97d0d3a841273c Author: Atsushi Nemoto Date: Mon Sep 11 17:50:29 2006 +0900 [MIPS] Fast path for rdhwr emulation for TLS Add special short path for emulationg RDHWR which is used to support TLS. Add an extra prologue for cpu_has_vtag_icache case. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 656be92f9ae194ed62bc81310a4589a7cd765f13 Author: Atsushi Nemoto Date: Thu Oct 26 00:08:31 2006 +0900 [MIPS] Load modules to CKSEG0 if CONFIG_BUILD_ELF64=n This is a patch to load 64-bit modules to CKSEG0 so that can be compiled with -msym32 option. This makes each module ~10% smaller. * introduce MODULE_START and MODULE_END * custom module_alloc() * PGD for modules * change XTLB refill handler synthesizer * enable -msym32 for modules again (revert ca78b1a5c6a6e70e052d3ea253828e49b5d07c8a) New XTLB refill handler looks like this: 80000080 dmfc0 k0,C0_BADVADDR 80000084 bltz k0,800000e4 # goto l_module_alloc 80000088 lui k1,0x8046 # %high(pgd_current) 8000008c ld k1,24600(k1) # %low(pgd_current) 80000090 dsrl k0,k0,0x1b # l_vmalloc_done: 80000094 andi k0,k0,0x1ff8 80000098 daddu k1,k1,k0 8000009c dmfc0 k0,C0_BADVADDR 800000a0 ld k1,0(k1) 800000a4 dsrl k0,k0,0x12 800000a8 andi k0,k0,0xff8 800000ac daddu k1,k1,k0 800000b0 dmfc0 k0,C0_XCONTEXT 800000b4 ld k1,0(k1) 800000b8 andi k0,k0,0xff0 800000bc daddu k1,k1,k0 800000c0 ld k0,0(k1) 800000c4 ld k1,8(k1) 800000c8 dsrl k0,k0,0x6 800000cc mtc0 k0,C0_ENTRYLO0 800000d0 dsrl k1,k1,0x6 800000d4 mtc0 k1,C0_ENTRYL01 800000d8 nop 800000dc tlbwr 800000e0 eret 800000e4 dsll k1,k0,0x2 # l_module_alloc: 800000e8 bgez k1,80000008 # goto l_vmalloc 800000ec lui k1,0xc000 800000f0 dsubu k0,k0,k1 800000f4 lui k1,0x8046 # %high(module_pg_dir) 800000f8 beq zero,zero,80000000 800000fc nop 80000000 beq zero,zero,80000090 # goto l_vmalloc_done 80000004 daddiu k1,k1,0x4000 80000008 dsll32 k1,k1,0x0 # l_vmalloc: 8000000c dsubu k0,k0,k1 80000010 beq zero,zero,80000090 # goto l_vmalloc_done 80000014 lui k1,0x8046 # %high(swapper_pg_dir) Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 56ae58333031bb0564c141f955d1e42276cade55 Author: Yoichi Yuasa Date: Sat Oct 14 00:25:04 2006 +0900 [MIPS] Rewrite GALILEO_INL/GALILEO_OUTL to GT_READ/GT_WRITE This patch has rewritten GALILEO_INL/GALILEO_OUTL using GT_READ/GT_WRITE. This patch tested on Cobalt Qube2. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 4e3884fc83f40b5daabceeee3a428a8ebebbbe4a Author: Atsushi Nemoto Date: Sat Oct 21 01:28:26 2006 +0900 [MIPS] Use "long" for 64-bit values on 64-bit kernel. This would get rid of some warnings about "long" vs. "long long". Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit acd86b8622099c3206e0a1665545ae2318089b9c Author: Franck Bui-Huu Date: Thu Oct 19 13:20:05 2006 +0200 [MIPS] Make free_init_pages() arguments to be physical addresses It allows caller of this function to not care about CKSEG0/XKPHYS address mixes. It's now automatically done by free_init_pages(). We can now safely remove hack needed by 64 bit kernels with CONFIG_BUILD_ELF64=n in free_initmem(). Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit a7837b76b6de932c31d0b7c71176ca8d1213a3ce Author: Franck Bui-Huu Date: Thu Oct 19 13:20:04 2006 +0200 [MIPS] setup.c: clean up initrd related code Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f5bffe3a9bcd6e5319b5fd3a8109625f8638425a Author: Franck Bui-Huu Date: Thu Oct 19 13:20:03 2006 +0200 [MIPS] setup.c: use __pa_symbol() where needed It should fix the broken code in resource_init() too. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 8431fd094d625b94d364fe393076ccef88e6ce18 Author: Franck Bui-Huu Date: Thu Oct 19 13:20:02 2006 +0200 [MIPS] Introduce __pa_symbol() This patch introduces __pa_symbol() macro which should be used to calculate the physical address of kernel symbols. It also relies on RELOC_HIDE() to avoid any compiler's oddities when doing arithmetics on symbols. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit d4df6d4e7a66b7a9bd57f5dc7d80d6b55dc12dbb Author: Franck Bui-Huu Date: Thu Oct 19 13:20:01 2006 +0200 [MIPS] setup.c: get ride of CPHYSADDR() and use new __pa() implementation instead introduced by the previous patch. Indeed this macro can be used now even by the 64 bit kernels with CONFIG_BUILD_ELF64=n config. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 620a4802be8ee7989b1b6684b7198ebae02af854 Author: Franck Bui-Huu Date: Thu Oct 19 13:20:00 2006 +0200 [MIPS] Make __pa() aware of XKPHYS/CKSEG0 address mix for 64 bit kernels During early boot mem init, some configs couldn't use __pa() to convert virtual into physical addresses. Specially for 64 bit kernel cases when CONFIG_BUILD_ELF64=n. This patch make __pa() work for _all_ configs and thus make CPHYSADDR() useless. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit 99e3b942c62f42c8d5added63305e12372b06daf Author: Franck Bui-Huu Date: Thu Oct 19 13:19:59 2006 +0200 [MIPS] page.h: remove __pa() usages. __pa() was used by virt_to_page() and virt_addr_valid(). These latter are used when kernel is initialised so __pa() is not appropriate, we use virt_to_phys() instead. Futhermore __pa() is going to take care of CKSEG0/XKPHYS address mix for 64 bit kernels. This makes __pa() more complex than virt_to_phys() and this extra work is not needed by virt_to_page() and virt_addr_valid(). Eventually it consolidates virt_to_phys() prototype by making its argument 'const'. this avoids some warnings that was due to some virt_to_page() usages which pass const pointer. Signed-off-by: Franck Bui-Huu Signed-off-by: Ralf Baechle commit f469b2626f48829c06e40ac799c1edf62b12048e Author: Michael S. Tsirkin Date: Wed Nov 29 15:33:10 2006 -0800 IB/ucm: Fix deadlock in cleanup ib_ucm_cleanup_events() holds file_mutex while calling ib_destroy_cm_id(). This can deadlock since ib_destroy_cm_id() flushes event handlers, and ib_ucm_event_handler() needs file_mutex, too. Therefore, drop the file_mutex during the call to ib_destroy_cm_id(). Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit e1444b5a163e81138754cab27c4fa1637b5a2239 Author: Sean Hefty Date: Tue Nov 28 14:57:13 2006 -0800 IB/cm: Fix automatic path migration support The ib_cm_establish() function is replaced with a more generic ib_cm_notify(). This routine is used to notify the CM that failover has occurred, so that future CM messages (LAP, DREQ) reach the remote CM. (Currently, we continue to use the original path) This bumps the userspace CM ABI. New alternate path information is captured when a LAP message is sent or received. This allows QP attributes to be initialized for the user when a new path is loaded after failover occurs. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 2745b5b713bf3457d8977c62dc2b3aa61f4a14b0 Author: Michael S. Tsirkin Date: Thu Nov 16 14:16:47 2006 +0200 IPoIB: Fix skb leak when freeing neighbour ipoib_neigh_free() is sometimes called while neighbour is still alive, so it might still have queued skbs. Fix skb leak in this case. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit d2fcea7d68473b8bb3e0addb4926c87e2217ca83 Author: Vu Pham Date: Tue Nov 21 14:14:10 2006 -0800 IB/srp: Fix memory leak on reconnect SRP reallocates the IU buffers for tx_ring and rx_ring without freeing the old buffers when it reconnects to a target. Fix this by keeping the old IU buffers around. Signed-off-by: Vu Pham Signed-off-by: Roland Dreier commit 04699a1f8634a4e89c71b22050b599c72126fa96 Author: Roland Dreier Date: Wed Nov 29 15:33:09 2006 -0800 RDMA/addr: list_move() cleanups Replace a couple list_del()/list_add() combos with list_move(). Signed-off-by: Roland Dreier commit c78bb8442b14ee6704bdb323111ffa874d4bfdaa Author: Krishna Kumar Date: Fri Nov 24 16:02:34 2006 +0530 RDMA/addr: Fix some cancellation problems in process_req() Fix following problems in process_req() relating to cancellation: - Function is wrongly doing another addr_remote() when cancelled, which is not required. - Make failure reporting immediate by using time_after_eq(). - On cancellation, -ETIMEDOUT was returned to the callback routine instead of the more appropriate -ECANCELLED (users getting notified may want to print/return this status, eg ucma_event_handler). Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit c9edea298e52faeb0d4ae875cb712a5d69ba1966 Author: Krishna Kumar Date: Fri Nov 24 16:03:48 2006 +0530 RDMA/amso1100: Prevent deadlock in destroy QP It is possible to swap the CQs used for send_cq and recv_cq when creating two different QPs. If these two QPs are then destroyed at the same time, an AB-BA deadlock can occur because the CQ locks are taken our of order. Fix this by always taking CQ locks in a fixed order. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit 7013696a5f5ccd0d847d5e8b841d0b0b312277c8 Author: Jack Morgenstein Date: Sun Nov 26 09:10:19 2006 +0200 IB/mthca: Fix initial SRQ logsize for mem-free HCAs When initializing an mthca SRQ, the log_srq_size field should be the log of the number of SRQ WQEs, not the log of the number of bytes in the SRQ. This affects only mthca drivers for memfree HCAs which set the initial srq wqe counter (in the SW2HW transition) to a non-zero value. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 2771e9ed4702e46c3f4c305eb2e047c251c2ad2b Author: Hoang-Nam Nguyen Date: Mon Nov 20 23:54:12 2006 +0100 IB/ehca: Use WQE offset instead of WQE addr for pending work reqs This is a patch for ehca to fix a bug in prepare_sqe_to_rts(), which used WQE address to iterate pending work requests. This might cause an access violation since the queue pages can not be assumed to follow each other consecutively. Thus, this patch introduces a few queue functions to determine WQE offset based on its address and uses WQE offset to iterate the pending work requests. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 9ab1ffa8775d9c677b1301cccce8a7d91e5163d0 Author: Krishna Kumar Date: Thu Nov 9 09:30:48 2006 +0530 RDMA/iwcm: Fix comment for iwcm_deref_id() to match code In iwcm_deref_id(), the comment says : "If the last reference is being removed and iw_destroy_cm_id is waiting, wake up the waiting thread". The second part of the comment, "and iw_destroy_cm_id is waiting," is wrong, since this function either wakes the waiter already waiting in iwcm_deref_id, or enables it (so that when wait_for_completion() is performed later, it will immediately return). Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 715a588f420936ecdb813c4fcd40dff7a16b1638 Author: Krishna Kumar Date: Thu Nov 9 09:30:45 2006 +0530 RDMA/iwcm: Remove unnecessary function argument Remove unnecessary cm_id_priv argument to copy_private_data(), and change text to reflect the code. Fix couple of typos in comments. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 13fccdb380f88770f05b922c273d907aecda7c12 Author: Krishna Kumar Date: Thu Nov 9 09:30:43 2006 +0530 RDMA/iwcm: Remove unnecessary initializations Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 83b96586239bf6c719ff640341e1cf83e4a7c046 Author: Krishna Kumar Date: Thu Nov 9 09:30:41 2006 +0530 RDMA/iwcm: Fix memory leak If we get IW_CM_EVENT_CONNECT_REQUEST message and encounter an error (not in the LISTEN state, cannot create an id, cannot alloc work_entry, etc), then the memory allocated by cm_event_handler() in the event->private_data gets leaked. Since cm_work_handler has already put the event on the work_free_list, this allocated memory is leaked. High backlog value can allow DoS attacks. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 33ba0fa9f315ce32fbb86fa671c131f5355b52a1 Author: Krishna Kumar Date: Thu Nov 9 09:30:34 2006 +0530 RDMA/iwcm: Fix memory corruption bug in cm_work_handler() Possible memory corruption scenario: after putting the work entry back on the work_free_list, we call process_event() which dereferences work->event, which could have been modified to another value meanwhile. Signed-off-by: Krishna Kumar Acked-by: Steve Wise Signed-off-by: Roland Dreier commit e54f81889cd5228e7087637c377d76301c7c5663 Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 IB: Convert kmem_cache_t -> struct kmem_cache Signed-off-by: Roland Dreier commit 53533e16b1d94ff71cb013497938976906d9d504 Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 IB/ipath: Fix typo in pma_counter_select subscript The array has only 5 entries, so [5] should have been [4]. Signed-off-by: Roland Dreier commit 29666128a22ddc78b3e393674ef69462835db43f Author: Roland Dreier Date: Wed Nov 29 15:33:07 2006 -0800 RDMA/amso1100: Fix section mismatches The amso1100 driver was missing a couple of __devinit/__devexit annotations for init/cleanup functions that are called from __devinit/__devexit functions. Reported by Randy Dunlap . Signed-off-by: Roland Dreier commit f4f3d0f0ece2527184b6c91afa1196a27a5bfaf5 Author: Roland Dreier Date: Wed Nov 29 15:33:06 2006 -0800 IB/mthca: Fix section mismatches Commit b3b30f5e ("IB/mthca: Recover from catastrophic errors") introduced some section mismatch breakage, because the error recovery code tears down and reinitializes the device, which calls into lots of code originally marked __devinit and __devexit from regular .text. Fix this by getting rid of these now-incorrect section markers. Reported by Randy Dunlap . Signed-off-by: Roland Dreier commit 3c8edf0eca2e47340c960b2f27c659c097118ffe Author: Arne Redlich Date: Wed Nov 15 12:43:00 2006 +0100 IB/srp: Increase supported CDB size Set the Scsi_Host's max_cmd_len from 12 (default) to 16 for SRP. Otherwise scsi_dispatch_cmd() won't pass down certain commands such as READ CAPACITY 16, required for supporting disks > 2TB. Signed-off-by: Arne Redlich Signed-off-by: Roland Dreier commit e31353eaeca736981ec13b46089d30147342b28b Author: Dotan Barak Date: Tue Oct 24 13:35:27 2006 -0700 RDMA/cm: Remove setting local write as part of QP access flags The qp_access_flags are for remote access permissions only, so IB_ACCESS_LOCAL_WRITE is an invalid value. Remove it from the values set by cm_init_qp_init_attr() and cma_init_ib_qp(). Signed-off-by: Dotan Barak Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit bed8bdfddd851657cf9e5fd16bb44abb02ae7f42 Author: Eric Sesterhenn Date: Mon Oct 23 22:17:21 2006 +0200 IB: kmemdup() cleanup Replace open coded kmemdup() to save some screen space, and allow inlining/not inlining to be triggered by gcc. Signed-off-by: Eric Sesterhenn Signed-off-by: Roland Dreier commit a1a733f65b091fdad3d0783e648c92b491933ab6 Author: Krishna Kumar Date: Tue Oct 17 10:09:11 2006 +0530 RDMA/cma: Rewrite cma_req_handler() to encapsulate common code Rewrite cma_req_handler error handling case to encapsulate common code. Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit f115db4803effd8207c3169590fb3f13336a4093 Author: Krishna Kumar Date: Tue Oct 17 10:09:09 2006 +0530 RDMA/addr: Use time_after_eq() instead of time_after() in queue_req() In queue_req(), use time_after_eq() instead of time_after() for following reasons : - Improves insert time if multiple entries with same time are present. - set_timeout need not be called if entry with same time is added to the list (and that happens to be the entry with the smallest time), saving atomic/locking operations. - Earlier entries with same time are deleted first (fifo). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit e4022274cf8df1f78f9e20ba7e199a9edf655422 Author: Krishna Kumar Date: Mon Oct 16 10:09:08 2006 +0530 RDMA/cma: Remove redundant check in cma_add_one Remove redundant check of node_guid in cma_add_one(). Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit e82153b54d75af31d5d4a84efe441e5719f34cfc Author: Krishna Kumar Date: Mon Oct 16 10:09:01 2006 +0530 RDMA/cma: Optimize cma_bind_loopback() to check for empty list Optimize to test for an empty list first. This ends up simplifying the code too. Signed-off-by: Krishna Kumar Acked-by: Sean Hefty Signed-off-by: Roland Dreier commit dd36f2673573fc027945d488342f2f70664f0448 Author: David Woodhouse Date: Wed Nov 29 16:33:03 2006 +0000 [MTD] Use EXPORT_SYMBOL_GPL() for exported symbols. While we're fixing up the newly-added symbol, change the neighbouring ones too, for consistency and also to reflect the author's interpretation of the GPL -- which is that _no_ non-GPL modules are permitted. The author always intended his code to be released under the GPL, and believes that any new interpretation of 'EXPORT_SYMBOL' as being any different from 'EXPORT_SYMBOL_GPL' is entirely invalid; the GPL requires that _all_ exports have the semantics of the new 'EXPORT_SYMBOL_GPL', which means the extra four characters are entirely redundant. But since those four extra characters trigger the check for illegal modules in a way that just EXPORT_SYMBOL does not, it's useful to change anyway. This action in no way indicates an admission that there is any legal distinction between the two states, and in particular does not indicate that the author believes that non-GPL modules may use symbols exported with EXPORT_SYMBOL alone. Signed-off-by: David Woodhouse commit 9c74034f8fc5d93fbe5656421cbbdc4c76ddda28 Author: Artem Bityutskiy Date: Wed Oct 11 14:52:47 2006 +0300 [MTD] return error code from get_mtd_device() get_mtd_device() returns NULL in case of any failure. Teach it to return an error code instead. Fix all users as well. Signed-off-by: Artem Bityutskiy commit 9fe912cea32aec18f860c95e8574410b5892481b Author: Artem Bityutskiy Date: Wed Oct 11 14:52:45 2006 +0300 [MTD] add get and put methods This patch adds get_device() and put_device() methods to the MTD description structure (struct mtd_info). These methods are called by MTD whenever the MTD device is get or put. They are needed when the underlying driver is something smarter then just flash chip driver, for example UBI. Signed-off-by: Artem Bityutskiy commit 7799308f34d3c3371a319559687c78c0f2506fcf Author: Artem Bityutskiy Date: Wed Oct 11 14:52:44 2006 +0300 [MTD] add get_mtd_device_nm() function This patch adds one more function to the MTD interface to make it possible to open MTD devices by their names, not only numbers. This is very handy in many situations. Also, MTD device number depend on load order and may vary, while names are fixed. Signed-off-by: Artem Bityutskiy commit 29072b96078ffde36f03d51e6b5d0cff1ba8c7df Author: Thomas Gleixner Date: Thu Sep 28 15:38:36 2006 +0200 [MTD] NAND: add subpage write support Many SLC NANDs support up to 4 writes at one NAND page. Add support of this feature. Signed-off-by: Artem Bityutskiy commit f6a7ecb18dabd88bd9f28e7bece564cabe8ffe82 Author: Josh Boyer Date: Mon Nov 20 20:15:36 2006 -0600 [MTD] add MTD_BLKDEVS Kconfig option Add a MTD_BLKDEVS Kconfig option to cleanup the makefile a bit Signed-off-by: Josh Boyer Signed-off-by: Artem Bityutskiy commit eb6cf7bb71baa109041c04357b930a0c0bfa0db7 Author: Yoichi Yuasa Date: Wed Oct 25 23:29:17 2006 +0900 [MTD] fix map probe name for cstm_mips_ixx This patch has fixed name of map probe for cstm_mips_ixx.c Signed-off-by: Yoichi Yuasa Signed-off-by: Artem Bityutskiy commit c0fe10aef354912c38c43991dd38c16f1828cfe3 Author: Artem Bityutskiy Date: Mon Nov 13 13:47:43 2006 +0200 [MTD] increase MAX_MTD_DEVICES Signed-off-by: Artem Bityutskiy commit afdfe899e6420eac6c5eb3bc8c89456dff38d40e Author: Tejun Heo Date: Wed Nov 29 11:26:47 2006 +0900 [PATCH] libata: add missing sht->slave_destroy Many LLDs are missing sht->slave_destroy. The method is mandatory to support device warm unplugging (echo 1 > /sys/.../delete). Without it, libata might access released scsi device. Signed-off-by: Tejun Heo commit 41669553353554211310cdb23079d58af1fda41e Author: Tejun Heo Date: Wed Nov 29 11:33:14 2006 +0900 [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers JMicron AHCI controllers set PORT_IRQ_IF_ERR on device errors. The IRQ status bit indicates interface error or protocol mismatch and ahci driver interprets it into AC_ERR_ATA_BUS. So, whenever an ATAPI device raises check condition, ahci interprets it as ATA bus error and thus resets it which, in turn, raises check condition thus creating a reset loop and rendering the device unuseable. This patch makes JMB controllers ignore PORT_IRQ_IF_ERR when interpreting error condition. Signed-off-by: Tejun Heo Cc: Justin Tsai commit ce1060494a205d528aa72fea23bdae607396e621 Author: Andrew Morton Date: Wed Nov 29 00:19:14 2006 +0000 [MTD] Tidy bitrev usage in rtc_from4.c Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit fc029194999a4563d356cdf728e0c44fb7a49105 Author: Timo Lindhorst Date: Mon Nov 27 13:35:49 2006 +0100 [MTD] [NAND] fix ifdef option in nand_ecc.c Fix up the config option in the #ifdef statements in nand_ecc.c Signed-off-by: Timo Lindhorst Signed-off-by: David Woodhouse commit 28bdd4a72d158083b7c7f56ec4ef5dfaf75d9464 Author: David Woodhouse Date: Wed Nov 29 00:04:59 2006 +0000 [MTD] [NAND] Update CAFÉ driver interrupt handler prototype Signed-off-by: David Woodhouse commit 95b93a0cd46682c6d9e8eea803fda510cb6b863a Author: Burman Yan Date: Wed Nov 15 21:10:29 2006 +0200 [MTD] replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: David Woodhouse commit 998a43e72d20afa7566dad66fd866fe939a89c09 Author: Randy Dunlap Date: Tue Nov 28 23:40:46 2006 +0000 [MTD] Fix printk format warning in physmap. (resources again) Fix printk format warning: drivers/mtd/maps/physmap.c:93: warning: long long unsigned int format, long unsigned int arg (arg 2) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 7014568bad55c20b7ee4f439d78c9e875912d51f Author: Vitaly Wool Date: Fri Nov 3 18:20:38 2006 +0300 [MTD] [NAND] remove len/ooblen confusion. As was discussed between Ricard Wanderlöf, David Woodhouse, Artem Bityutskiy and me, the current API for reading/writing OOB is confusing. The thing that introduces confusion is the need to specify ops.len together with ops.ooblen for reads/writes that concern only OOB not data area. So, ops.len is overloaded: when ops.datbuf != NULL it serves to specify the length of the data read, and when ops.datbuf == NULL, it serves to specify the full OOB read length. The patch inlined below is the slightly updated version of the previous patch serving the same purpose, but with the new Artem's comments taken into account. Artem, BTW, thanks a lot for your valuable input! Signed-off-by: Vitaly Wool Signed-off-by: David Woodhouse commit 191876729901d0c8dab8a331f9a1e4b73a56457b Author: Richard Purdie Date: Fri Oct 27 09:09:33 2006 +0100 [MTD] Allow variable block sizes in mtd_blkdevs Currently, mtd_blkdevs enforces a block size of 512, even if the drivers can seemingly request a different size. This patch fixes mtd_blkdevs so block sizes other than 512 work correctly. Signed-off-by: Richard Purdie Signed-off-by: David Woodhouse commit 90afffc8bd79d130b58acd18f972ce4e00b8e20f Author: Dave Olsen Date: Mon Nov 6 16:33:57 2006 -0700 [MTD] [MAPS] Support for BIOS flash chips on the nvidia ck804 southbridge Add support for accessing BIOS flash chips connected to the NVIDIA ck804 southbridge. Signed-off-by: Ryan Jackson Signed-off-by: David Woodhouse commit 4010db56c8fe5bbb8e223bf9c9c36d41e9ad4f79 Author: Stefan Roese Date: Fri Nov 10 12:19:32 2006 +0100 [MTD] [NAND] Fix endianess bug in ndfc.c The writel() call accidentally clears all bits in the NDFC_CCR register (endianess problem). Now __raw_writel() is used instead. Tested on Bamboo with NAND on chip select 0 and chip select 1. Signed-off-by: Stefan Roese Signed-off-by: David Woodhouse commit ddacff1f20fc5c96cc73e2975258e05d298c97cc Author: Adrian Bunk Date: Sat Nov 25 20:15:41 2006 +0100 [MTD] make drivers/mtd/cmdlinepart.c:mtdpart_setup() static This patch makes the needlessly global mtdpart_setup() static. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 1605cd3d9c5001790c2e36979cf1eff1f222fbc5 Author: Adrian Bunk Date: Wed Nov 22 05:38:11 2006 +0100 [MTD] [NAND] rtc_from4.c: use lib/bitrev.c This patch converts drivers/mtd/nand/rtc_from4.c to use the new lib/bitrev.c Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit a88556a4b24baff99f5d2a2a05202c4aca44ea05 Author: John W. Linville Date: Tue Nov 28 14:16:37 2006 -0500 Revert "[PATCH] zd1211rw: Removed unneeded packed attributes" This reverts commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7. Quoth Daniel Drake : "A user reported that commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7 (Remove unneeded packed attributes) breaks the zd1211rw driver on ARM." Signed-off-by: John W. Linville commit a68077defb3337342981a0d3a4df3380496a8a87 Author: Ulrich Kunitz Date: Wed Nov 22 00:06:06 2006 +0000 [PATCH] zd1211rw: Fix of a locking bug This patch fixes the bug as reported in the kernel bug tracker under the id 7244. The bug was simply that the interrupt lock has been locked outside an interrupt without blocking the interrupt. Signed-off-by: Ulrich Kunitz Signed-off-by: Daniel Drake Signed-off-by: John W. Linville commit a3df3b6f2e37474cdb8b56d55d31be41c22f9b18 Author: Michael Buesch Date: Mon Nov 27 14:37:21 2006 -0600 [PATCH] softmac: remove netif_tx_disable when scanning In the scan section of ieee80211softmac, network transmits are disabled. When SoftMAC re-enables transmits, it may override the wishes of a driver that may have very good reasons for disabling transmits. At least one failure in bcm43xx can be traced to this problem. In addition, several unexplained problems may arise from the unexpected enabling of transmits. Note that making this change introduces a new bug that would allow transmits for the current session to be transmitted on the wrong channel; however, the new bug is much less severe than the one being fixed, as the new one only leads to a few retransmits, whereas the old one can bring the interface down. A fix that will not introduce new bugs is being investigated; however, the current, more serious one should be fixed now. Signed-off-by: Michael Buesch Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit b94c7e677b9d28bd3f9ba4a70df6bfa7942867ca Author: Chad Sellers Date: Mon Nov 6 12:38:18 2006 -0500 SELinux: validate kernel object classes and permissions This is a new object class and permission validation scheme that validates against the defined kernel headers. This scheme allows extra classes and permissions that do not conflict with the kernel definitions to be added to the policy. This validation is now done for all policy loads, not just subsequent loads after the first policy load. The implementation walks the three structrures containing the defined object class and permission values and ensures their values are the same in the policy being loaded. This includes verifying the object classes themselves, the permissions they contain, and the permissions they inherit from commons. Classes or permissions that are present in the kernel but missing from the policy cause a warning (printed to KERN_INFO) to be printed, but do not stop the policy from loading, emulating current behavior. Any other inconsistencies cause the load to fail. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit bb242497474da317a7169cc939c741ccf2e79e8c Author: Chad Sellers Date: Mon Nov 6 12:38:17 2006 -0500 SELinux: ensure keys constant in hashtab_search Makes the key argument passed into hashtab_search and all the functions it calls constant. These functions include hash table function pointers hash_value and keycmp. The only implementations of these currently are symhash and symcmp, which do not modify the key. The key parameter should never be changed by any of these, so it should be const. This is necessary to allow calling these functions with keys found in kernel object class and permission definitions. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5c45899879e8caadb78f04c9c639f4c2025b9f00 Author: Chad Sellers Date: Mon Nov 6 12:38:16 2006 -0500 SELinux: export object class and permission definitions Moves the definition of the 3 structs containing object class and permission definitions from avc.c to avc_ss.h so that the security server can access them for validation on policy load. This also adds a new struct type, defined_classes_perms_t, suitable for allowing the security server to access these data structures from the avc. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 5a64d4438ed1e759ccd30d9e90842bf360f19298 Author: Chad Sellers Date: Mon Nov 6 12:38:15 2006 -0500 SELinux: remove current object class and permission validation mechanism Removes the current SELinux object class and permission validation code, as the current code makes it impossible to change or remove object classes and permissions on a running system. Additionally, the current code does not actually validate that the classes and permissions are correct, but instead merely validates that they do not change between policy reloads. Signed-off-by: Chad Sellers Acked-by: Stephen Smalley Signed-off-by: James Morris commit 0d2db302f95747908123e56fa8659c7eb2eb7498 Author: FUJITA Tomonori Date: Thu Nov 16 19:24:18 2006 +0900 [SCSI] scsi-ml: Makefile and Kconfig changes for tgt Makefile and Kconfig for tgt. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 97f78759ea1cb7d27b61095582de78b8e7486e85 Author: FUJITA Tomonori Date: Thu Nov 16 19:24:16 2006 +0900 [SCSI] scsi tgt: scsi target user and kernel communication interface The user-space daemon and tgt kernel module need bi-directional kernel/user high-performance interface, however, mainline provides no standard interface like that. This patch adds shared memory interface between kernel and user spaces like some other drivers do by using own character device. The user-space daemon and tgt kernel module creates shared memory via mmap and use it like ring buffer. poll (kernel to user) and write (user to kernel) system calls are used for notification. Signed-off-by: FUJITA Tomonori Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit 5a55c2596f55e3a60f7502d0dfcfa0d20241e5ac Author: FUJITA Tomonori Date: Thu Nov 16 19:24:13 2006 +0900 [SCSI] scsi tgt: scsi target lib functionality The core scsi target lib functions. TODO: - mv md/dm-bio-list.h to linux/bio-list.h so md and us do not have to do that weird include. - convert scsi_tgt_cmd's work struct to James's execute code. And try to kill our scsi_tgt_cmd. - add host state checking. We do refcouting so hotplug is partially supported, but we need to add state checking to make it easier on the LLD. Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit b58d91547fb17c65ad621f3f98b1f2c228c812a5 Author: FUJITA Tomonori Date: Thu Nov 16 19:24:10 2006 +0900 [SCSI] export scsi-ml functions needed by tgt_scsi_lib and its LLDs This patch contains the needed changes to the scsi-ml for the target mode support. Note, per the last review we moved almost all the fields we added to the scsi_cmnd to our internal data structure which we are going to try and kill off when we can replace it with support from other parts of the kernel. The one field we left on was the offset variable. This is needed to handle the case where the target gets request that is so large that it cannot execute it in one dma operation. So max_secotors or a segment limit may limit the size of the transfer. In this case our tgt core code will break up the command into managable transfers and send them to the LLD one at a time. The offset is then used to tell the LLD where in the command we are at. Is there another field on the scsi_cmd for that? Signed-off-by: Mike Christie Signed-off-by: FUJITA Tomonori Signed-off-by: James Bottomley commit 84ad58e4efcf80c154f693d4cc8f5c913511b760 Author: Randy Dunlap Date: Sun Nov 19 18:53:43 2006 -0800 [SCSI] initio: fix section mismatches with HOTPLUG=n WARNING: drivers/scsi/initio.o - Section mismatch: reference to .init.data: from .text between 'i91u_detect' (at offset 0x26e8) and 'i91uSCBPost' WARNING: drivers/scsi/initio.o - Section mismatch: reference to .init.data:i91u_pci_devices from .text between 'i91u_detect' (at offset 0x26ef) and 'i91uSCBPost' Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley commit 4bdbd2807deeccc0793d57fb5120d7a53f2c0b3c Author: Dmitry Torokhov Date: Fri Nov 24 00:43:22 2006 -0500 Input: handle errors from input_register_device in drivers/macintosh Signed-off-by: Dmitry Torokhov commit e4477d2d1bc3e6c76e83926f7fa8c8f94ba42615 Author: Randy Dunlap Date: Fri Nov 24 00:43:09 2006 -0500 Input: add to kernel-api docbook Add input subsystem to kernel-api docbook. Enhance some function and parameter comments. Signed-off-by: Randy Dunlap Signed-off-by: Dmitry Torokhov commit f9705fcb9887fcff364a0c8dffbac693aa221d4f Author: Nicolas Bellido Date: Fri Nov 24 00:42:50 2006 -0500 Input: add driver for keyboard on AAED-2000 development board (ARM) The keyboard is connected via GPIOs to the processor, and scanned using a column sample register. The hardware provides no debouncing mechanism, so the state of the keys is read KBDSCAN_STABLE_COUNT times before being reported to the input layer. The status of the keys needs to be polled because there is no interrupt hooked to the lines. A workqueue is used for this. Signed-off-by: Nicolas Bellido Y Ortega Signed-off-by: Dmitry Torokhov commit 153a9df01c0d1ecdc56161c7a0f830325145dd64 Author: Akinobu Mita Date: Thu Nov 23 23:35:10 2006 -0500 Input: handle serio_register_driver() errors Signed-off-by: Akinobu Mita Signed-off-by: Dmitry Torokhov commit ed7b1f6d6ea1054ea4fe293a7fd8015fc3803d93 Author: Dmitry Torokhov Date: Thu Nov 23 23:34:49 2006 -0500 Input: serio - make serio_register_driver() return errors Perform actual driver registration right in serio_register_driver() instead of offloading it to kseriod and return proper error code to callers if driver registration fails. Note that driver <-> port matching is still done by kseriod to speed up boot process since probing for PS/2 mice and keyboards is pretty slow. Signed-off-by: Dmitry Torokhov commit 1e99e33ad94aa363e01cdfc2fc9df93338907fe6 Author: Andrew Vasquez Date: Wed Nov 22 08:24:48 2006 -0800 [SCSI] qla2xxx: add asynchronous scsi scanning support. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit d19044c32baadeb80e135027124a9e845c6f057c Author: Andrew Vasquez Date: Wed Nov 22 08:22:19 2006 -0800 [SCSI] qla2xxx: defer topology discovery to DPC thread during initialization. Modify intialization semantics: - perform basic hardware configuration only (as usual) - allocate resources - load and execute firmware - defer link (transport) negotiations to the DPC thread - again the code in qla2x00_initialize_adapter() to stall probe() completion was needed for legacy-style scanning. - DPC thread stalls until probe() complete. - before probe() completes, set DPC flags to perform loop-resync logic (similar to what's done during cable-insertion/removal). Benefits: user does not have to wait 20+ seconds in case the FC cable is unplugged during driver load, code consolidation (removal of redundant link negotiation logic during initialize_adaoter()), and finilly, the driver no longer needs to defer the fc_remote_port_add() calls to hold off lun-scanning prior to returning from the probe() function. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 1aa8fab2acf1cb8b341131b726773fcff0abc707 Author: Matthew Wilcox Date: Wed Nov 22 13:24:54 2006 -0700 [SCSI] Make scsi_scan_host work for drivers which find their own targets If a driver can find its own targets, it can now fill in scan_finished and (optionally) scan_start in the scsi_host_template. Then, when it calls scsi_scan_host(), it will be called back (from a thread if asynchronous discovery is enabled), first to start the scan, and then at intervals to check if the scan is completed. Also make scsi_prep_async_scan and scsi_finish_async_scan static. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 93b45af5c6b9d41bbe9da11442291ac4eefc15b4 Author: Matthew Wilcox Date: Wed Nov 22 13:24:53 2006 -0700 [SCSI] fix missing check for no scanning Drivers that called scsi_scan_target() instead of scsi_scan_host() were still adding devices; this needs to be under the control of userspace, not the driver. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 21db1882f79a1ad5977cae6766376a63f60ec414 Author: Matthew Wilcox Date: Wed Nov 22 13:24:52 2006 -0700 [SCSI] Add Kconfig option for asynchronous SCSI scanning Without this patch, the user has to add a kernel command line parameter to get asynchronous SCSI scanning. Now they can select the default at compile time and still override it at boot time if they need to. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 902762831c0068ba0c8c8fca801e505a9881aa01 Author: Mark Haverkamp Date: Tue Nov 21 10:40:50 2006 -0800 [SCSI] aacraid: Driver version update Received from Mark Salyzyn: Version patch, update to reflect a rough estimate of the Adaptec build (2423) that coincides with the sources on kernel.org. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit d18b448fc2caf0d719bd4bd34fb1856be89c8ef7 Author: Mark Haverkamp Date: Tue Nov 21 10:40:31 2006 -0800 [SCSI] aacraid: Abort management FIBs Received from Mark Salyzyn: Add code to abort outstanding management ioctl fibs when the blinkLED recovery is performed. This code is 'clunky' and does not have any real feedback in that the reset could progress before the user application has gotten it's notification of command completion. We put a schedule() call to delay just the right amount for most cases, because we tried a spin and still managed to find cases where we would spin forever waiting for the management application to acknowledge the impending doom surrounding the cause of the BlinkLED. Will cause an oops in the context of the management application if we proceed too quickly. I view this as the lesser of many evils since currently if there are outstanding management ioctls during a need to reset/recover the adapter, the management application just locks up and waits forever. The best practices fix for this problem not going to be simple or easy (at least the fixes I imagine today); and we found a balance between the needs of the driver to proceed, and the applications that locked or confused that would hold back the driver. I just do not like the idea of a kernel oops in an application to deal with low priority, sluggish or misbehaving applications. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit 33524b70e8f3dd55a4ba78ad81742c7814e7b0ed Author: Mark Haverkamp Date: Tue Nov 21 10:40:08 2006 -0800 [SCSI] aacraid: Detect Blinkled at startup Received from Mark Salyzyn: Blinkled at startup is useful for catching Adapters in a lot of pain, in a BlinkLED assert, quickly; rather than waiting several minutes for commands to timeout. Signed-off-by: Mark Haverkamp Signed-off-by: James Bottomley commit 51d23da95c3b71ce70587af8fc8244a05722c191 Author: Brian King Date: Tue Nov 21 10:28:55 2006 -0600 [SCSI] ipr: Driver version 2.3.0 Bump driver version. Signed-off-by: James Bottomley commit bd705f2d43d34c0309dfa48117bed7167024247b Author: Adrian Bunk Date: Tue Nov 21 10:28:48 2006 -0600 [SCSI] ipr: Make ipr_ioctl static This patch makes ipr_ioctl static. Signed-off-by: Adrian Bunk Signed-off-by: Brian King Signed-off-by: James Bottomley commit ac719abab0fbe2b83dc99351f6605645aef814ab Author: Brian King Date: Tue Nov 21 10:28:42 2006 -0600 [SCSI] ipr: Reduce default error log size Since the default error log size has increased on SAS adapters, prevent ipr from logging this additional data unless requested to do so by the user set log level in order to prevent flooding the logs. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 49dc6a18185c12bae4980d17512fbe54ca6bae54 Author: Brian King Date: Tue Nov 21 10:28:35 2006 -0600 [SCSI] ipr: Add support for logging SAS fabric errors Adds support for logging SAS fabric errors logged by the ipr firmware. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 9d66bdf81f97673b6e330a26438fcaea38c26cd5 Author: Brian King Date: Tue Nov 21 10:28:29 2006 -0600 [SCSI] ipr: Remove debug trace points from dump code Remove some debug trace points that clutter up the log when ipr debugging is turned on. Signed-off-by: James Bottomley commit 7402ecef94f416dcf03af7435c404a4079683d96 Author: Brian King Date: Tue Nov 21 10:28:23 2006 -0600 [SCSI] ipr: Remove ipr_scsi_timed_out Remove ipr's usage of the scsi transport eh_timed_out for handling SATA timeouts. This was only needed in order to set some flags on the qc prior to calling ata_do_eh. Signed-off-by: James Bottomley commit efbbdd846d41221396c094ff6df35246bdcf889e Author: Brian King Date: Tue Nov 21 10:28:16 2006 -0600 [SCSI] ipr: Set default ipr Kconfig values Both SCSI_IPR_TRACE and SCSI_IPR_DUMP should be defaulted to yes when SCSI_IPR is enabled. Signed-off-by: Brian King Signed-off-by: James Bottomley commit 60e7486b190998745b548599c843f090d5624ae3 Author: Brian King Date: Tue Nov 21 10:28:10 2006 -0600 [SCSI] ipr: PCI IDs for new SAS adapters Adds PCI IDs for some new ipr SAS adapters. Signed-off-by: James Bottomley commit 04d9768ff8847b0ae8c41ac3cfb3c5bb2e31699a Author: Brian King Date: Tue Nov 21 10:28:04 2006 -0600 [SCSI] ipr: Stop issuing cancel all to disk arrays The ipr disk array devices do not support a cancel all requests primitive, so change the ipr driver to never send it. Signed-off-by: James Bottomley commit 73d98ff0fa8d9074792b7273f57d9f92810104c6 Author: Brian King Date: Tue Nov 21 10:27:58 2006 -0600 [SCSI] ipr: SATA reset - wait for host reset completion If an ipr adapter hits a fatal microcode error requiring a reset while a SATA device is going through EH, it can result in a command getting issued to the ipr adapter while it is getting reset, which can cause PCI bus errors. Wait for any outstanding adapter reset to finish prior to issuing a SATA device reset. Signed-off-by: James Bottomley commit 7feb6b3fbb48ceaceb7a66a9784106abef48e454 Author: David C Somayajulu Date: Mon Nov 20 16:20:22 2006 -0800 [SCSI] qla4xxx: fix for timing issue for nvram accesses. This patch fixes a timing issue related to nvram accesses in qla4xxx driver for some cpu/slot speed combination. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit b448de473139e40a9ecc4e34946ffec5a65807ec Author: Adrian Bunk Date: Mon Nov 20 03:23:49 2006 +0100 [SCSI] megaraid_sas: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk Acked-by: "Patro, Sumant" Signed-off-by: James Bottomley commit d915058f48745c0d5c4582566e5aa63867264f81 Author: David C Somayajulu Date: Wed Nov 15 17:38:40 2006 -0800 [SCSI] qla4xxx: add support for qla4032 This patch provides the following: 1. adds support for the next version of Qlogic's iSCSI HBA, qla4032 (PCI Device ID 4032). 2. removes dead code related to topcat chip and renames qla4010_soft_reset to qla4xxx_soft_reset (minor changes). Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit e138a5d2356729b8752e88520cc1525fae9794ac Author: James Bottomley Date: Wed Nov 22 11:54:15 2006 -0600 [SCSI] aic94xx: fix pointer to integer conversion warning Signed-off-by: James Bottomley commit f26b90440cd74c78fe10c9bd5160809704a9627c Author: David C Somayajulu Date: Wed Nov 15 16:41:09 2006 -0800 [PATCH] qla4xxx: bug fix: driver hardware semaphore needs to be grabbed before soft reset On qla4xxx, the driver needs to grab the drvr semaphore provided by the hardware, prior to issuing a reset. This patches takes care of a couple of places where it was not being done. In addition there is minor clean up. Signed-off-by: David Somayajulu Signed-off-by: James Bottomley commit 7b4feee973ca7be63345b92a987ef7ef879b179b Author: Darrick J. Wong Date: Tue Nov 14 18:02:07 2006 -0800 [PATCH] aic94xx: delete ascb timers when freeing queues When the aic94xx driver creates ascbs, each ascb is initialized with a timeout timer. If there are any ascbs left over when the driver is being torn down, these timers need to be deleted. In particular, we seem to hit this case when ascbs are issued yet never end up on the done list. Right now there's a sequencer bug that results in this happening every so often. CONTROL PHY commands are typically sent when things are really messed up with the sequencer; however, any other leftover ascb should produce loud warnings. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit dea22214790d1306f3a3444db13d2c726037b189 Author: Darrick J. Wong Date: Tue Nov 7 17:28:55 2006 -0800 [PATCH] aic94xx: handle REQ_DEVICE_RESET This patch implements a REQ_DEVICE_RESET handler for the aic94xx driver. Like the earlier REQ_TASK_ABORT patch, this patch defers the device reset to the Scsi_Host's workqueue, which has the added benefit of ensuring that the device reset does not happen at the same time that the abort tmfs are being processed. After the phy reset, the busted drive should go away and be re-detected later, which is indeed what I've seen on both a x260 and a x206m. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit c4028958b6ecad064b1a6303a6a5906d4fe48d73 Author: David Howells Date: Wed Nov 22 14:57:56 2006 +0000 WorkStruct: make allyesconfig Fix up for make allyesconfig. Signed-Off-By: David Howells commit 65f27f38446e1976cc98fd3004b110fedcddd189 Author: David Howells Date: Wed Nov 22 14:55:48 2006 +0000 WorkStruct: Pass the work_struct pointer instead of context data Pass the work_struct pointer to the work function rather than context data. The work function can use container_of() to work out the data. For the cases where the container of the work_struct may go away the moment the pending bit is cleared, it is made possible to defer the release of the structure by deferring the clearing of the pending bit. To make this work, an extra flag is introduced into the management side of the work_struct. This governs auto-release of the structure upon execution. Ordinarily, the work queue executor would release the work_struct for further scheduling or deallocation by clearing the pending bit prior to jumping to the work function. This means that, unless the driver makes some guarantee itself that the work_struct won't go away, the work function may not access anything else in the work_struct or its container lest they be deallocated.. This is a problem if the auxiliary data is taken away (as done by the last patch). However, if the pending bit is *not* cleared before jumping to the work function, then the work function *may* access the work_struct and its container with no problems. But then the work function must itself release the work_struct by calling work_release(). In most cases, automatic release is fine, so this is the default. Special initiators exist for the non-auto-release case (ending in _NAR). Signed-Off-By: David Howells commit 365970a1ea76d81cb1ad2f652acb605f06dae256 Author: David Howells Date: Wed Nov 22 14:54:49 2006 +0000 WorkStruct: Merge the pending bit into the wq_data pointer Reclaim a word from the size of the work_struct by folding the pending bit and the wq_data pointer together. This shouldn't cause misalignment problems as all pointers should be at least 4-byte aligned. Signed-Off-By: David Howells commit 6bb49e5965c1fc399b4d3cd2b5cf2da535b330c0 Author: David Howells Date: Wed Nov 22 14:54:45 2006 +0000 WorkStruct: Typedef the work function prototype Define a type for the work function prototype. It's not only kept in the work_struct struct, it's also passed as an argument to several functions. This makes it easier to change it. Signed-Off-By: David Howells commit 52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c Author: David Howells Date: Wed Nov 22 14:54:01 2006 +0000 WorkStruct: Separate delayable and non-delayable events. Separate delayable work items from non-delayable work items be splitting them into a separate structure (delayed_work), which incorporates a work_struct and the timer_list removed from work_struct. The work_struct struct is huge, and this limits it's usefulness. On a 64-bit architecture it's nearly 100 bytes in size. This reduces that by half for the non-delayable type of event. Signed-Off-By: David Howells commit d5d06ff7f181c06ef8c94b353ae3fef8f06b3085 Author: Wim Van Sebroeck Date: Fri Nov 17 23:50:06 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4 a number of small patches: - include notifier.h include file - re-arrange prototype functions - remove =0 initializations - change printk logging levels to what's used in other drivers - /dev/watchdog is a VFS so use nonseekable_open - Style: Instead of "if (constant op function_or_variable)" we prefer "if (function_or_variable op constant)" - arg is a __user pointer - use MAX_TIMEOUT_SECONDS instead of 32 in WDIOC_SETTIMEOUT Signed-off-by: Randy Dunlap Signed-off-by: Wim Van Sebroeck commit 414a675964e5636b53b37827b646138f166507d3 Author: Wim Van Sebroeck Date: Fri Nov 17 23:36:08 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3 Move start and stop code into seperate functions Signed-off-by: Wim Van Sebroeck commit 97846e3ccbcbcc966e23a91b0d190efd1f889c9b Author: Wim Van Sebroeck Date: Fri Nov 17 23:15:48 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2 Reorganize source code so that it is structured as follows: - Function prototypes - Local variables - Module arguments - Interrupt handler - Watchdog functions - /dev/watchdog operations - Shutdown notifier - Kernel interfaces - Init & exit procedures - Device driver init & exit Signed-off-by: Wim Van Sebroeck commit cd57eeab7c4c108ce6e84545bdf37ae91b930781 Author: Wim Van Sebroeck Date: Fri Nov 17 21:51:35 2006 +0100 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1 Locate parameter descriptions close to parameter definition - not in bottom of file. Signed-off-by: Sam Ravnborg Signed-off-by: Wim Van Sebroeck commit 825d3748c1b5f9272e4f9769f1c2da85174ece28 Author: Thomas Koeller Date: Mon Aug 14 21:55:29 2006 +0200 [WATCHDOG] MIPS RM9000 on-chip watchdog device This is a driver for the on-chip watchdog device found on some MIPS RM9000 processors. Signed-off-by: Thomas Koeller Signed-off-by: Wim Van Sebroeck commit 9d92fe17b652f5496c97bc83fdfe925f3182f602 Author: Dmitry Torokhov Date: Fri Nov 17 01:07:39 2006 -0500 Input: serio - remove serio_unregister_port_delayed() Now that i8042 reserves IRQs early there are no more users of this function and it should be removed. Signed-off-by: Dmitry Torokhov commit f40219bf936bb677566f42758d505e27fad0908e Author: Nicolas Pitre Date: Fri Nov 17 01:07:26 2006 -0500 Input: add Philips UCB1400 touchscreen driver Signed-off-by: Nicolas Pitre Signed-off-by: Dmitry Torokhov commit a216a4b6e6f1fdfd3d1f20f03d9d45f05a63d643 Author: Dmitry Torokhov Date: Fri Nov 17 01:07:06 2006 -0500 Input: i8042 - fix shutdown issue on some boxes with active MUXes MUX error handling has a workaround for KBCs that get confused which port data came from and signal MUXERR while data is actually good. Unfortunately this workaround hurts with KBCs that signal timeouts as 0xfc (spec says that only 0xfd, 0xfe and 0xff are alowed with MUXERR) since it causes endless attempts to rescan i8042 serio ports. The solution is to treat 0xfc as timeout (0xfe). Signed-off-by: Dmitry Torokhov commit 6c595fb12fa6c1fe382cc086fdade4acd93c643f Author: Marton Nemeth Date: Fri Nov 17 01:06:54 2006 -0500 Input: mousedev - remap BTN_FORWARD from BTN_LEFT to BTN_MIDDLE In mousedev the BTN_LEFT and BTN_FORWARD were mapped to mouse button 0, causing that the user space program cannot distinguish between them through /dev/input/mice. All mice have BTN_LEFT, but not all have BTN_MIDDLE (e.g. Clevo D410J laptop). Mapping BTN_FORWARD to mouse button 2 makes the BTN_FORWARD button useful on this laptop. Signed-off-by: Marton Nemeth Signed-off-by: Dmitry Torokhov commit 5b44f1aaee7e3b24f6e21662d7fef1534111a2df Author: Stelian Pop Date: Fri Nov 17 01:06:36 2006 -0500 Input: MAC mouse button emulation - relax dependencies Mouse button emulation for the one-button mouse Apple machines isn't restricted to older ADB based machines. There are PPC Powerbooks where the keyboard and the mouse are no longer on the ADB bus but regular USB, and users still like (and need) to be able to emulate the middle mouse button with F11 and the right mouse button with F12. Signed-off-by: Dmitry Torokhov commit e5d9832c207f952e15ccddda5f2d52c94036acd7 Author: Julien BLACHE Date: Fri Nov 17 01:06:25 2006 -0500 Input: appletouch - use canonical names in USB IDs Small readability improvement for appletouch: use canonical names instead of raw USB IDs for some of the devices. Signed-off-by: Julien BLACHE Signed-off-by: Dmitry Torokhov commit 009ad0e7b43d6cabd74e47db6180f14315b71417 Author: Julien BLACHE Date: Fri Nov 17 01:06:13 2006 -0500 Input: appletouch - add Geyser IV support The new Core2 Duo MacBook Pro has a new keyboard+trackpad named "Geyser IV". According to the Info.plist in the OS X kext, it looks like the Geyser IV trackpad is identical to the Geyser III trackpad: same IOClass (AppleUSBGrIIITrackpad), same acceleration tables. Signed-off-by: Julien BLACHE Signed-off-by: Dmitry Torokhov commit 00081d3729a450c37afb01c01528f4f305806d86 Author: Jason Parekh Date: Fri Nov 17 01:05:58 2006 -0500 Input: appletouch - verious updates for MacBooks Change a bit the finger detection method used by the appletouch driver to reduce touchpad "jumpiness": - Adjust the method for detecting multiple fingers. Previously, it recognized a new finger when a low sensor reading is followed by a high sensor reading. The new method checks for 'humps' in the sensor readings, so there doesn't necessarily have to be a low sensor between two high sensors for two fingers to be triggered. This allows detecting presence of two fingers on the touchpad even when they touch each other. - Change absolute coordinate calculation to us to get rid of "jumps". Instead of using full value from a sensor once it passes the threshold subtract theshold value from the reading. - Allow adjusting threshold value via module parameter. The patch doesn't seem to affect the Powerbooks but does greatly improve the touchpad behaviour on the MacBooks. Signed-off-by: Jason Parekh Signed-off-by: Stelian Pop Signed-off-by: Dmitry Torokhov commit 8d6286fdfd290589f8446ec1503702227263dcfd Author: Steve French Date: Thu Nov 16 22:48:25 2006 +0000 [CIFS] Fix timezone handling on stat to os/2 We were adjusting for timezone on readdir but not on stat Signed-off-by: Steve French commit 31ec35d6c81175016a6372571eab23b6bd40b406 Author: Steve French Date: Thu Nov 16 20:54:20 2006 +0000 [CIFS] Incorrect hardlink count when original file is cached (oplocked) Fixes Samba bug 2823 In this case hardlink count is stale for one of the two inodes (ie the original file) until it is closed - since revalidate does not go to server while file is cached locally. Signed-off-by: Steve French commit f4f91ac3c833abbd7181ff2122c6b48a653b4e55 Author: Kyungmin Park Date: Thu Nov 16 12:03:56 2006 +0900 [MTD] OneNAND: Single bit error detection Idea from Jarkko Lavinen Signed-off-by: Jarkko Lavinen Signed-off-by: Kyungmin Park commit 08f782b60a633cbd926ef5e49de303a752390719 Author: Kyungmin Park Date: Thu Nov 16 11:29:39 2006 +0900 [MTD] OneNAND: lock support Now you can use mtd lock inferface on OneNAND The idea is from Nemakal, Vijaya, thanks Signed-off-by: Kyungmin Park commit 2c22120fbd017d78ad2b6825ba573db3ef539bca Author: Kyungmin Park Date: Thu Nov 16 11:23:48 2006 +0900 MTD: OneNAND: interrupt based wait support We can use the two methods to wait. 1. polling: read interrupt status register 2. interrupt: use kernel ineterrupt mechanism To use interrupt method, you first connect onenand interrupt pin to your platform and configure interrupt properly Signed-off-by: Kyungmin Park commit 504fb37a0801d843bc1907c1a1f9c719c3509863 Author: Ingo Molnar Date: Thu Nov 9 10:09:35 2006 +0100 [SCSI] fix module unload induced compile warning Signed-off-by: Ingo Molnar Signed-off-by: James Bottomley commit 85e04e371b5a321b5df2bc3f8e0099a64fb087d7 Author: Hannes Reinecke Date: Thu Nov 9 11:55:41 2006 +0100 [SCSI] block: convert jiffies to msecs in scsi_ioctl() Use the proper conversion function for convert jiffies to msecs in sg_io(). Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 667c667f86c87cd4f72296d650e5e65f2d89cb31 Author: Henne Date: Wed Nov 8 19:56:28 2006 -0800 [SCSI] scsi: t128 scsi_cmnd convertion Changes the obsolete Scsi_Cmnd to struct scsi_cmnd and remove the trailing whitespaces. Signed-off-by: Henrik Kretzschmar Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 297295ae6653af1356dd35a8edc411e2715aec57 Author: Andrew Morton Date: Wed Nov 8 19:56:26 2006 -0800 [SCSI] ips: fix soft lockup during reset initialization Resetting the adapter causes the ServeRAID driver to exceed the max time allowed by the softlock watchdog. Resetting the hardware can easily require 30 or more seconds. To avoid the "BUG: soft lockup detected on CPU#0!" result, this patch adds a touch_nmi_watchdog() to the driver's MDELAY macro. Cc: Nishanth Aravamudan Cc: Nick Piggin Acked-by: Jack Hammer Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit e5f82ab8342b527231cfcccde1fe265666e86b7b Author: Adrian Bunk Date: Wed Nov 8 19:55:50 2006 -0800 [SCSI] qla2xxx: make some functions static This patch makes some needlessly global functions static. Signed-off-by: Adrian Bunk Acked-by: Andrew Vasquez Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit db3a8815fb03f9985713b4ab29e208b7074f939c Author: Jeff Garzik Date: Wed Nov 8 19:56:20 2006 -0800 [SCSI] minor bug fixes and cleanups BusLogic: use kzalloc(), remove cast to/from void* aic7xxx_old: fix typo in cast NCR53c406a: ifdef out static built code fd_mcs: ifdef out static built code ncr53c8xx: ifdef out static built code Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit bf4713418b9d8543e7b64bf6c742f1959828033e Author: Andrew Morton Date: Wed Nov 8 19:56:24 2006 -0800 [SCSI] revert "[SCSI] ips soft lockup during reset/initialization" Revert 15084a4a63bc300c18b28a8a9afac870c552abce - it caused a scheduling-inside-spinlock bug. Cc: Nishanth Aravamudan Cc: Nick Piggin Cc: Jack Hammer Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 08157cd0787004e2ebf9ee8cc92257244da53848 Author: Jeff Garzik Date: Wed Nov 8 19:56:19 2006 -0800 [SCSI] SCSI/aha1740: handle SCSI API errors Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 42252854011b31fe63ffeca44ac941e6fe8277ae Author: Kai Makisara Date: Tue Nov 7 21:56:38 2006 +0200 [SCSI] st: log message changes Printk -> sdev_printk change originally from Luben Tuikov . Loglevel changes prompted by Matthew Wilcox . Signed-off-by: Kai Makisara Signed-off-by: James Bottomley commit fd44bab5c709bbcd30fbebe9ad45a76c58cd32a7 Author: Luben Tuikov Date: Wed Nov 15 12:47:08 2006 -0800 [SCSI] sd: clearer output of disk cache state Signed-off-by: Luben Tuikov Signed-off-by: James Bottomley commit 4f777ed26086452737ea52597cf8de26137090d5 Author: Christoph Hellwig Date: Sat Nov 4 20:11:36 2006 +0100 [SCSI] kill scsi_assign_lock scsi_assign_lock has been unused for a long time and is a bad idea in general, so kill it. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 3b00315799d78f76531b71435fbc2643cd71ae4c Author: Christoph Hellwig Date: Sat Nov 4 20:10:55 2006 +0100 [SCSI] untangle scsi_prep_fn I wanted to add some BUG checks to scsi_prep_fn to make sure no one sends us a non-sg command, but this function is a horrible mess. So I decided to detangle the function and document what the valid cases are. While doing that I found that REQ_TYPE_SPECIAL commands aren't used by the SCSI layer anymore and we can get rid of the code handling them. The new structure of scsi_prep_fn is: (1) check if we're allowed to send this command (2) big switch on cmd_type. For the two valid types call into a function to set the command up, else error (3) code to handle error cases Because FS and BLOCK_PC commands are handled entirely separate after the patch this introduces a tiny amount of code duplication. This improves readabiulity though and will help to avoid the bidi command overhead for FS commands so it's a good thing. I've tested this on both sata and mptsas. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit 2dc611de5a3fd955cd0298c50691d4c05046db97 Author: Christoph Hellwig Date: Sat Nov 4 20:04:21 2006 +0100 [SCSI] use one-element sg list in scsi_send_eh_cmnd scsi_send_eh_cmnd is the last user of non-sg commands currently. This patch switches it to a one-element SG list. Also updates the kerneldoc comment for scsi_send_eh_cmnd to reflect reality while we're at it. Test on my mptsas card, but this should get testing with as many drivers as possible. Signed-off-by: Christoph Hellwig Signed-off-by: James Bottomley commit fe4a36cf652031d2744a536ba5121032840380cb Author: Darrick J. Wong Date: Mon Oct 30 15:18:56 2006 -0800 [SCSI] aic94xx: handle REQ_TASK_ABORT This patch straightens out the code that distinguishes the various escb opcodes in escb_tasklet_complete so that they can be handled correctly. It also provides all the necessary code to create a workqueue item that tells libsas to abort a sas_task. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit 79a5eb609b74e7b3638861c41b98eafa74920a1f Author: Darrick J. Wong Date: Mon Oct 30 15:18:50 2006 -0800 [SCSI] libsas: add sas_abort_task This patch adds an external function, sas_abort_task, to enable LLDDs to abort sas_tasks. It also adds a work_struct so that the actual work of aborting a task can be shifted from tasklet context (in the LLDD) onto the scsi_host's workqueue. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit f456393e195e0aa16029985f63cd93b601a0d315 Author: Darrick J. Wong Date: Mon Oct 30 15:18:39 2006 -0800 [SCSI] libsas: modify error handler to use scsi_eh_* functions This patch adds an EH done queue to sas_ha, converts the error handling strategy function and the sas_scsi_task_done functions in libsas to use the scsi_eh_* commands for error'd commands, and adds checks for the INITIATOR_ABORTED flag so that we do the right thing if a sas_task has been aborted by the initiator. Signed-off-by: Darrick J. Wong Signed-off-by: James Bottomley commit b4d38e38e66f8e1b32a1b1c00e533175314c8d56 Author: Alan Stern Date: Wed Oct 11 16:48:28 2006 -0400 [SCSI] Reduce polling in sd.c If a drive reports that no media is present, there's no point in continuing to ask it about media status. This patch (as696) cuts the TUR polling short as soon as the drive reports no media instead of going a full 3 iterations. Signed-off-by: Alan Stern Signed-off-by: James Bottomley commit efa53ebe0d2f50bf342eb1976824f59bba9941eb Author: Zhu Yi Date: Mon Nov 13 11:32:50 2006 +0800 [PATCH] ieee80211: Fix kernel panic when QoS is enabled The 802.11 header length is affected by the wireless mode (WDS or not) and type (QoS or not). We should use the variable hdr_len instead of the hard coded IEEE80211_3ADDR_LEN, otherwise we may touch invalid memory. Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 7d63c6759188b9b35c789159f6e02cd02d49ec7d Author: Henrique de Moraes Holschuh Date: Wed Nov 8 13:18:29 2006 -0200 ACPI: ibm-acpi: new ibm-acpi maintainer I will be taking care of ibm-acpi maintenance for now on, with Borislav's blessing. Many thanks to Borislav Deianov for writing this driver and for the many years he took care of it: his efforts made our ThinkPads much nicer devices to run Linux on, and are very much appreciated. Signed-off-by: Henrique de Moraes Holschuh Cc: Borislav Deianov Signed-off-by: Len Brown commit 19a79859e168640f8e16d7b216d211c1c52b687a Author: Sylvain Munaut Date: Sat Nov 11 10:53:19 2006 +0100 [PATCH] ppc: Fix io.h for config with CONFIG_PCI not set When CONFIG_PCI option is not set, the variables pci_dram_offset, isa_io_base and isa_mem_base are not defined. Currently, the test is handled in each platform header. This patch moves the test in io.h once and for all. Signed-off-by: Sylvain Munaut Signed-off-by: Paul Mackerras commit b61c5509fe8f6c665c146ab14f960000d4a5d1a9 Author: Kim Phillips Date: Fri Nov 10 18:08:30 2006 -0600 [PATCH] Make git ignore new wrapper generated files The new 'wrapper' code generates files that git should ignore; add them to .gitignore. Signed-off-by: Kim Phillips Signed-off-by: Paul Mackerras commit 57744ea95edd340d7140852ce86c743df2cd588c Author: Geoff Levand Date: Fri Nov 10 12:01:02 2006 -0800 [PATCH] Check for null init_early routine Add a check for a null ppc_md.init_early to allow platforms that don't require an init_early routine to just set this member to null. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit fc9e8b4e275b6882cb537154c8fc7cde3692eea0 Author: Timur Tabi Date: Thu Nov 9 15:42:44 2006 -0600 [PATCH] Optimize qe_brg struct to use an array The qe_brg structure manually defined each of the 16 BRG registers, which made any code that used them cumbersome. This patch replaces the fields with a single 16-element array. Signed-off-by: Timur Tabi Signed-off-by: Kumar Gala Signed-off-by: Paul Mackerras commit 0613ffbf53625ccecb96500b1cc7b0ef70cc8f04 Author: Olaf Hering Date: Thu Nov 9 18:53:52 2006 +0100 [PATCH] Fix compile warnings with CONFIG_PM=n Fix compile warnings with CONFIG_PM=n arch/powerpc/platforms/powermac/feature.c:489: warning: 'save_gpio_levels' defined but not used arch/powerpc/platforms/powermac/feature.c:490: warning: 'save_gpio_extint' defined but not used arch/powerpc/platforms/powermac/feature.c:491: warning: 'save_gpio_normal' defined but not used arch/powerpc/platforms/powermac/feature.c:492: warning: 'save_unin_clock_ctl' defined but not used Signed-off-by: Olaf Hering Signed-off-by: Paul Mackerras commit 25787afa5c16d35cdfb191f63a3a406b3206744e Author: Mark A. Greer Date: Wed Nov 8 17:52:25 2006 -0700 [PATCH] Remove arch/powerpc/boot/zImage file. The bootwrapper Makefile does not clean up the 'zImage' file that may be left laying around. This patch removes it when cleaning that directory. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit e9c4b4bd56a7dfdc8879a5876e498991c9194321 Author: Mark A. Greer Date: Wed Nov 8 17:50:44 2006 -0700 [PATCH] Remove dtb file created by wrapper script When the wrapper script is passed a dts file, it runs 'dtc' to create a dtb file. This patch deletes that dtb file once its no longer needed. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit a416dd8d9cd3a3fa77b9839e0e6fc3c54927d8c3 Author: Michael Ellerman Date: Wed Nov 8 10:22:59 2006 +1100 [PATCH] Do a single one-line printk in bad_page_fault() bad_page_fault() prints a message telling the user what type of bad fault we took. The first line of this message is currently implemented as two separate printks. This has the unfortunate effect that if several cpus simultaneously take a bad fault, the first and second parts of the printk get jumbled up, which looks dodge and is hard to read. So do a single one-line printk for each fault type. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 66a91e9c0ab62ea938afaba7352741d8c554a589 Author: Andy Fleming Date: Tue Nov 7 16:57:22 2006 -0600 [PATCH] of_irq_to_resource now returns the virq Mostly this is to allow for error checking (check the return for NO_IRQ) Added a check that the resource is non-NULL, too. Signed-off-by: Andrew Fleming Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a9b14973a8c42b2aecc968851372203c6567e196 Author: Andy Fleming Date: Thu Oct 19 19:52:26 2006 -0500 [PATCH] Slight refactor of interrupt mapping for FSL parts * Cleaned up interrupt mapping a little by adding a helper function which parses the irq out of the device-tree, and puts it into a resource. * Changed the arch/ppc platform files to specify PHY_POLL, instead of -1 * Changed the fixed phy to use PHY_IGNORE_INTERRUPT * Added ethtool.h and mii.h to phy.h includes Signed-off-by: Paul Mackerras commit c37858d333a50815c74349396e31a535f4128e0b Author: Nicolas DET Date: Sun Nov 5 12:57:16 2006 +0100 [PATCH] Add Efika platform support Add Efika (http://www.bplan-gmbh.de/efika_spec_en.html) platform support for arch/powerpc. Signed-off-by: Nicolas DET Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 0f6c95dcabdaa8fdc95b125582bd12625adfbde6 Author: Nicolas DET Date: Wed Nov 8 17:14:43 2006 +0100 [PATCH] Add MPC5200 Interrupt Controller support. This adds support for the MPC52xx Interrupt controller for ARCH=powerpc. It includes the main code in arch/powerpc/sysdev/ as well as a header file in include/asm-powerpc. Signed-off-by: Nicolas DET Acked-by: Sylvain Munaut Acked-by: Grant Likely Signed-off-by: Paul Mackerras commit 2fcd34291b650723091a06e4b51b546961f308a3 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:11 2006 +0100 [PATCH] Make nvram_64.o a 64bit-only object Make nvram_64.o dependent on 64bit, not on MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit fd6e7d2d6a0231ebfa08e1f9a323497ea548da7d Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:10 2006 +0100 [PATCH] Clean up usage of boot_dev dev_t boot_dev is declared in arch/powerpc/kernel/setup_32.c and in arch/powerpc/kernel/setup_64.c but not used in these files. It is only used in arch/powerpc/platforms/powermac/setup.c, so make it static in this file. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 99a565bab1a41819b9f85c8c069a2f3fc6e27d55 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:06 2006 +0100 [PATCH] Remove occurences of PPC_MULTIPLATFORM in pci_64.c Since iSeries is merged to MULTIPLATFORM, there is no way to build a 64bit kernel without MULTIPLATFORM, so PPC_MULTIPLATFORM can be removed in 64bit-only files. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a7a1ed305043961ed06e0ee5e7a4a2cc1250f4b5 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:04 2006 +0100 [PATCH] Remove occurences of PPC_MULTIPLATFORM in head_64.S Since iSeries is merged to MULTIPLATFORM, there is no way to build a 64bit kernel without MULTIPLATFORM, so PPC_MULTIPLATFORM can be removed in 64bit-only files. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 68e1300a55310a288b87f2a7d6045df0d0f802bc Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:01 2006 +0100 [PATCH] Remove _machine macro The _machine macro was once used for compatibility with ARCH=ppc drivers. It is unused in current kernels, so remove it. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 67764a03193d0246cf9bb491b41806508d415830 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:56:00 2006 +0100 [PATCH] Remove unnecessary ifdef in include/asm-powerpc/pci.h Current kernels always have one of CONFIG_PPC_MULTIPLATFORM or CONFIG_PPC32 defined, so remove bogus ifdef. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 2b890bc2ce95e8c141b38ea86100826b46534295 Author: Sascha Hauer Date: Mon Nov 6 11:19:08 2006 +0100 [PATCH] Remove dead code in iommu.h iommu_setup_pSeries() and iommu_setup_dart() are declared extern but are not implemented, so remove them. Remove ifdef around extern function declaration. Signed-off-by: Sascha Hauer Signed-off-by: Paul Mackerras commit bfaadcadc9549c7e296e37a0cfe306704e8df739 Author: s.hauer@pengutronix.de Date: Thu Nov 2 13:55:57 2006 +0100 [PATCH] Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in tulip driver Replace CONFIG_PPC_MULTIPLATFORM with CONFIG_PPC_PMAC in drivers/net/tulip/de4x5.c. It is needed for a pmac specific hook but has nothing with to do with PPC_MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 74a9d5f1d140adbeadd5ef319f162903090c3b83 Author: Sascha Hauer Date: Fri Nov 3 09:52:49 2006 +0100 [PATCH] Remove inclusion of asm/processor.h in via82cxxx.c There is some PPC_CHRP specific code in drivers/ide/pci/via82cxxx.c, so #ifdef on CONFIG_PPC_CHRP instead of CONFIG_PPC_MULTIPLATFORM. Signed-off-by: Sascha Hauer Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e033351d5359f348d2913eb83fbb37023d8f21af Author: Wim Van Sebroeck Date: Sun Nov 12 18:05:09 2006 +0100 [WATCHDOG] Add iTCO vendor specific support Add vendor specific support to the intel TCO timer based watchdog devices. At this moment we only have additional support for some SuperMicro Inc. motherboards. Signed-off-by: Robert Seretny Signed-off-by: Wim Van Sebroeck commit c0968f0ea21d10b6720246e1e96bd6a7a161964d Author: Dmitry Torokhov Date: Thu Nov 9 00:40:13 2006 -0500 ACPI: button: register with input layer In addition to signalling button/lid events through /proc/acpi/event, create separate input devices and report KEY_POWER, KEY_SLEEP and SW_LID through input layer. Also remove unnecessary casts and variable initializations, clean up formatting. Sleep button may autorepeat but userspace will have to filter duplicate sleep requests anyway (and discard unprocessed events right after wakeup). Unlike /proc/acpi/event interface input device corresponding to LID switch reports true lid state instead of just a counter. SW_LID is active when lid is closed. The driver now depends on CONFIG_INPUT. Signed-off-by: Dmitry Torokhov Signed-off-by: Len Brown commit eb5d5829b368c5e32f248a70797bee5a414a2ef0 Author: Sergey Vlasov Date: Thu Nov 9 00:34:27 2006 -0500 Input: psmouse - fix attribute access on 64-bit systems psmouse_show_int_attr() and psmouse_set_int_attr() were accessing unsigned int fields as unsigned long, which gave garbage on x86_64. Signed-off-by: Sergey Vlasov Signed-off-by: Dmitry Torokhov commit 474a14df3fce60bebde64d25c6adbdab7d30594a Author: Dave Jones Date: Wed Nov 8 19:22:45 2006 -0500 Revert "[CPUFREQ] speedstep-centrino should ignore upper performance control bits" This reverts commit d7a1944e8da5e91859b98259189aaaa4d8b7fa07. commit 6fdc2d07501f1fff1637f3c8efdc860e7fd28eb0 Author: Alexey Dobriyan Date: Thu Nov 9 01:04:35 2006 +0300 [CPUFREQ] gx-suspmod: fix "&& 0xff" typo Signed-off-by: Alexey Dobriyan Signed-off-by: Dave Jones commit caede347c3578b9dca49f53eab781fcaaacd3234 Author: akpm@osdl.org Date: Wed Nov 8 01:09:25 2006 -0800 [CPUFREQ] Fix build failure on x86-64 arch/x86_64/kernel/cpufreq/../../../i386/kernel/cpu/cpufreq/speedstep-lib.c:131: error: 'MSR_FSB_FREQ' undeclared (first use in this function) Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit d7a1944e8da5e91859b98259189aaaa4d8b7fa07 Author: Gary Hade Date: Mon Nov 6 15:39:23 2006 -0800 [CPUFREQ] speedstep-centrino should ignore upper performance control bits On some systems such as the IBM x3650 there are bits set in the upper half of the control values provided by the _PSS object. These bits are only relevant for cpufreq drivers that use IO ports which are not currently supported by the speedstep-centrino driver. The current MSR oriented code assumes that upper bits are not set and thus fails to work correctly when they are. e.g. the control and status value equality check fails even though the ACPI spec allows the inequality. Signed-off-by: Gary Hade Signed-off-by: Dave Jones commit 4e74663c5d7eefc1f953b9b0bdacab09917b4eac Author: Dominik Brodowski Date: Tue Oct 31 12:44:08 2006 -0500 [CPUFREQ] p4-clockmod: add more CPUs Several more Intel CPUs are now capable using the p4-clockmod cpufreq driver. As it is of limited use most of the time, print a big bold warning if a better cpufreq driver might be available. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit e08f5f5bb5dfaaa28d69ffe37eb774533297657f Author: Gautham R Shenoy Date: Thu Oct 26 16:20:58 2006 +0530 [CPUFREQ] Fix coding style issues in cpufreq. Clean up cpufreq subsystem to fix coding style issues and to improve the readability. Signed-off-by: Gautham R Shenoy Signed-off-by: Dave Jones commit b7b09b1cdf4de7e28424250972d4a5526e5bdfb9 Author: Satoru Takeuchi Date: Thu Nov 2 19:08:57 2006 +0900 ACPI: update comment Fixing wrong description for acpi_gpe_sleep_prepare(). acpi_gpe_sleep_prepare() had only used on power off and was changed to also used on entering some sleep state. However its description isn't changed yet. Signed-off-by: Satoru Takeuchi Signed-off-by: Len Brown commit 6b15484ccb91e85100cf164067bf3bc6c5038726 Author: Jesper Juhl Date: Thu Nov 2 13:13:22 2006 +0100 ACPI: Get rid of 'unused variable' warning in acpi_ev_global_lock_handler() Fix this warning : drivers/acpi/events/evmisc.c: In function `acpi_ev_global_lock_handler': drivers/acpi/events/evmisc.c:334: warning: unused variable `status' Signed-off-by: Jesper Juhl Signed-off-by: Len Brown commit 721556150e397f606a3f029736d77a27503f94e2 Author: Dmitry Torokhov Date: Sun Nov 5 22:40:19 2006 -0500 Input: mice - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit 127278ce2254c61f1346500374d61e33f74a8729 Author: Dmitry Torokhov Date: Sun Nov 5 22:40:09 2006 -0500 Input: joysticks - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit 52c1f5704d7555a16641429b2e7af5d26d7b119a Author: Dmitry Torokhov Date: Sun Nov 5 22:40:03 2006 -0500 Input: touchscreens - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit 2b03b60e6b8635fffdd15d5d24943950f2bbf96e Author: Dmitry Torokhov Date: Sun Nov 5 22:39:56 2006 -0500 Input: keyboards - handle errors when registering input devices Signed-off-by: Dmitry Torokhov commit 41ad5fbabda0c3930136bb40cfc7a0c23013365f Author: Anssi Hannula Date: Sat Nov 4 22:49:53 2006 -0500 Input: HID - add a quirk for the Logitech USB Receiver Logitech USB Receiver (046d:c101) has two interfaces. The first one contains fields from HID_UP_KEYBOARD and HID_UP_LED, and the other one contains fields from HID_UP_CONSUMER and HID_UP_LOGIVENDOR. This device is used with multiple wireless Logitech products, including UltraX Media Remote. All fields on both interfaces are either keys or leds. All fields in the first interface are marked as Absolute, while the fields in the second interface are marked as Relative. Marking the keys as relative causes hidinput_hid_event() to send release events right after key press events. The device has EV_REP set, so the userspace expects the device to send repeat events if a key is held down. However, as hidinput_hid_event() sends release events immediately, repeat events are not sent at all. In fact, the userspace has no way of knowing if a key is being held down. Fix this by adding a quirk for 046d:c101 which changes relative keys to absolute ones. Signed-off-by: Anssi Hannula Signed-off-by: Dmitry Torokhov commit e52b29c2a637f6854d71a45646d7283d984a6dad Author: Brandon Philips Date: Sat Nov 4 22:09:08 2006 -0500 Input: drivers/char/keyboard.c - small cleanup in k_cur() To save a char pointer in the final assembly change to alternate string form. Signed-off-by: Brandon Philips Signed-off-by: Dmitry Torokhov commit 28af24bb8470c7d0573b703a2955548b73a6c066 Author: Dave Jones Date: Fri Nov 3 15:13:27 2006 -0500 [AGPGART] Fix up misprogrammed bridges with incorrect AGPv2 rates. Some dumb bridges are programmed to disobey the AGP2 spec. This is likely a BIOS misprogramming rather than poweron default, or it would be a lot more common. AGPv2 spec 6.1.9 states: "The RATE field indicates the data transfer rates supported by this device. A.G.P. devices must report all that apply." Fix them up as best we can. This will prevent errors like.. agpgart: Found an AGP 3.5 compliant device at 0000:00:00.0. agpgart: req mode 1f000201 bridge_agpstat 1f000a14 vga_agpstat 2f000217. agpgart: Device is in legacy mode, falling back to 2.x agpgart: Putting AGP V2 device at 0000:00:00.0 into 0x mode agpgart: Putting AGP V2 device at 0000:01:00.0 into 0x mode agpgart: Putting AGP V2 device at 0000:01:00.1 into 0x mode https://bugs.freedesktop.org/show_bug.cgi?id=8816 Signed-off-by: Dave Jones commit 0fea0e9a9c72dab526447895605fc236c87c2726 Author: Jeff Garzik Date: Thu Nov 2 23:59:40 2006 -0500 Input: logips2pp - handle sysfs errors Signed-off-by: Jeff Garzik Signed-off-by: Dmitry Torokhov commit 8ff22ea7d29d99b3dbec08fd541eb406c6775ec1 Author: Jeff Garzik Date: Thu Nov 2 23:59:30 2006 -0500 Input: trackpoint - handle sysfs errors Also use kzalloc instead of kcalloc since we are allocating single object. Signed-off-by: Jeff Garzik Signed-off-by: Dmitry Torokhov commit 8dd51650baf0861b0a73acb2c08bb944aa45bc61 Author: Dmitry Torokhov Date: Thu Nov 2 23:34:09 2006 -0500 Input: ads7846 - handle errors from sysfs Add sysfs error handling and switch to using attribute groups to simplify it. Signed-off-by: Dmitry Torokhov commit f4e3c711b31cea401b03ce39d4b5f1a30279094c Author: Dmitry Torokhov Date: Thu Nov 2 23:27:49 2006 -0500 Input: i8042 - remove unneeded call to i8042_interrupt() Remove call to i8042_interrupt() from i8042_aux_write(). According to Vojtech it may cause problems with older controllers if it is called right after real interrupt. Also it is not needed anymore since we register IRQs early and not waiting for serio ports to be opened. Signed-off-by: Dmitry Torokhov commit b1b2965057700d6dc9e1f986e8f7743b95ead424 Author: Andrew Morton Date: Thu Nov 2 23:27:44 2006 -0500 Input: lifebook - learn about hard tabs Signed-off-by: Andrew Morton Signed-off-by: Dmitry Torokhov commit 15e9acb83c299963490b1f12d46498ae257d8f4e Author: Greg Chandler Date: Thu Nov 2 23:27:38 2006 -0500 Input: lifebook - add Hitachi Flora-IE 55mi tablet DMI signature This adds another DMI detected touchscreen. It is exactly the same driver as the existing ones, but this allows it to be detected on the Hitachi Flora-IE 55mi tablet. The original Midori drivers are "abeo antiquus". This should allow new life for these machines. Signed-off-by: Dmitry Torokhov commit b187dd7b5231bb359f587bf4d276ffd467ebc884 Author: Dmitry Torokhov Date: Thu Nov 2 23:27:30 2006 -0500 Input: gameport - rearrange gameport_bus initialization Initialize gameport_bus structure at compile time instead of at runtime in gameport_init(). Signed-off-by: Dmitry Torokhov commit 1ea2a69d54f40ecebf594ce5abfa02d53682df8a Author: Marton Nemeth Date: Thu Nov 2 23:27:21 2006 -0500 Input: serio - rearrange serio_bus initialization Initialize serio_bus structure at compile time instead of at runtime in serio_init(). Signed-off-by: Marton Nemeth Signed-off-by: Dmitry Torokhov commit 6a89bc0004c8d9400439db6167c9887456d5d18d Author: Akinobu Mita Date: Thu Nov 2 23:27:11 2006 -0500 Input: lightning - return proper error codes from l4_init() Signed-off-by: Akinobu Mita Signed-off-by: Dmitry Torokhov commit 1447190e39847cc2cc8a826e7061989c83ff4362 Author: Dmitry Torokhov Date: Thu Nov 2 23:26:55 2006 -0500 Input: add comments to input_{allocate|free}_device() Hopefully this will stop people from using input_free_device() incorrectly. Signed-off-by: Dmitry Torokhov commit 9185cfa92507d07ac787bc73d06c42222eec7239 Author: Rafael J. Wysocki Date: Wed Nov 1 13:23:14 2006 +0100 ACPI: S4: Use "platform" rather than "shutdown" mode by default It has been reported that on some systems the functionality after a resume from disk is limited if the system is simply powered off during the suspend instead of using the ACPI S4 suspend (aka platform mode). Unfortunately the default is currently to power off the system during the suspend so the users of these systems experience problems after the resume if they don't switch to the platform mode explicitly. This patch makes swsusp use the platform mode by default to avoid such situations. Signed-off-by: Rafael J. Wysocki Acked-by: Stefan Seyfried Acked-by: Pavel Machek Signed-off-by: Len Brown commit cad40654c312fc51bdb520e9be91e29a9742bbcb Author: David Woodhouse Date: Wed Nov 1 08:19:20 2006 +0800 [MTD] NAND: Fix ECC settings in CAFÉ controller driver. We were resetting cafe->ctl2 to zero after an erase (and also during a write, but it was correctly reset after that). This meant that ECC reads after an erase were failing. Doh. Signed-off-by: David Woodhouse commit be8444bdf34f7ba21e2364ca296c68e81033e3b2 Author: David Woodhouse Date: Tue Oct 31 12:36:04 2006 +0800 [MTD] NAND: Add register debugging spew option to CAFÉ driver Signed-off-by: David Woodhouse commit 195a253b6632e2b7e6319f2f67120e708646554e Author: David Woodhouse Date: Tue Oct 31 12:30:11 2006 +0800 [MTD] NAND: Use register #defines throughout CAFÉ driver, not numbers Also use cafe_readl() and cafe_writel() abstraction to make code slightly cleaner -- especially if we want to use it in PIO mode. Signed-off-by: David Woodhouse commit 8b0dc866dd9b8d10a53cb3537385a51b7ee54b62 Author: Kristen Carlson Accardi Date: Mon Oct 30 11:18:45 2006 -0800 ACPI: dock: use mutex instead of spinlock http://bugzilla.kernel.org/show_bug.cgi?id=7303 Use a mutex instead of a spinlock for locking the hotplug list because we need to call into the ACPI subsystem which might sleep. Signed-off-by: Kristen Carlson Accardi Signed-off-by: Len Brown commit 58c6570add83e30c0905885171fbffc134441165 Author: Akinobu Mita Date: Sun Oct 29 03:43:19 2006 +0900 [WATCHDOG] sc1200wdt.c pnp unregister fix. If no devices found or invalid parameter is specified, scl200wdt_pnp_driver is left unregistered. It breaks global list of pnp drivers. Signed-off-by: Akinobu Mita Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit fd0c5eca447254682a8372bc73b6bdcc16bf6777 Author: Andrew Morton Date: Fri Oct 27 17:20:42 2006 -0700 [WATCHDOG] config.h removal config.h got removed Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit a020727b1628cb4d7b70733222253c7fa3ec6113 Author: David Woodhouse Date: Sat Oct 28 17:08:38 2006 +0300 [MTD] NAND: Fix timing calculation in CAFÉ debugging message Signed-off-by: David Woodhouse commit 63a1423763c6c38eeeaf6dc8cee986514ab67aed Author: David Woodhouse Date: Fri Oct 27 22:12:02 2006 +0300 [MTD] NAND: Remove empty block ECC workaround They fixed the hardware so that ECC doesn't fail on reading an empty block. Signed-off-by: David Woodhouse commit 7608194c4ae454fab23b8d940986eeb9c58c3478 Author: David Woodhouse Date: Fri Oct 27 15:40:51 2006 +0300 [MTD] NAND: Add ECC debugging for CAFÉ Signed-off-by: David Woodhouse commit b478c775a0c306c84215a1138e49fab540b94a5d Author: David Woodhouse Date: Fri Oct 27 14:50:04 2006 +0300 [MTD] CAFÉ NAND: Add 'slowtiming' parameter, default usedma and checkecc on Signed-off-by: David Woodhouse commit dcc41bc81c872862652d68af8993b9fa32ce56a4 Author: David Woodhouse Date: Fri Oct 27 09:55:34 2006 +0300 [MTD] NAND: Reset Café controller before initialising. Fixes http://dev.laptop.org/ticket/237 Signed-off-by: David Woodhouse commit 2c8cfdcbeb1ab0ec7bbd5af1be311b55281154c4 Author: David Woodhouse Date: Fri Oct 27 09:53:08 2006 +0300 [MTD] NAND: Café ECC -- remove spurious BUG_ON() in err_pos() Being a value which isn't in the table is a case we explicitly check for in the caller. Don't BUG_ON() because it does actually happen in practice. Signed-off-by: David Woodhouse commit 2f000f5c153e984d5c166e42a9d38113de8693b3 Author: Chen, Justin Date: Tue Oct 10 17:07:00 2006 -0400 ACPI: optimize pci_rootbridge search acpi_get_pci_rootbridge_handle() walks the ACPI name space searching for seg, bus and the PCI_ROOT_HID_STRING -- returning the handle as soon as if find the match. But the current codes always parses through the whole namespace because the user_function find_pci_rootbridge() returns status=AE_OK when it finds the match. Make the find_pci_rootbridge() return AE_CTRL_TERMINATE when it finds the match. This reduces the ACPI namespace walk for acpi_get_pci_rootbridge_handle(). Signed-off-by: Justin Chen Signed-off-by: Len Brown commit 616362de2fe224512fe105aec08f19f5470afb01 Author: Randy Dunlap Date: Fri Oct 27 01:47:34 2006 -0400 ACPI: make ec_transaction not extern Fix sparse warning: drivers/acpi/ec.c:372:12: warning: function 'ec_transaction' with external linkage has definition Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit ff0dab64b4e9ce3a073365342297e76ddaae9697 Author: Ricard Wanderlöf Date: Mon Oct 23 09:33:34 2006 +0200 [MTD] NAND: Fix nand_default_mark_blockbad() when flash-based BBT disabled When a flash-based BBT is not used, nand_default_mark_blockbad() is supposed to mark the block bad in the oob. However, it sets the wrong length variable so that no bad block marker is in fact written. This patch attempts to rectify that. (As note, it seems to be that logically, it shouldn't be necessary to set both length variables, as one appears to be for the main buffer, and one for the oob buffer, but this is how it is done in several places, including the code for the mtd character device MEMWRITEOOB and MEMREADOOB ioctls. I'm not sure if this is a temporary solution during some rework of the mtd infrastructure, or whether there is a deeper thought here.) Signed-off-by: Ricard Wanderlöf Signed-off-by: David Woodhouse commit 36ca4ba4b9728f3c420a589a3322c2fbd7ec88b7 Author: Christian Krafft Date: Tue Oct 24 18:39:45 2006 +0200 [POWERPC] cell: add cpufreq driver for Cell BE processor This patch adds a cpufreq backend driver to enable frequency scaling on cell. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit a898497088f46252e6750405504064e2dce53117 Author: Michael Ellerman Date: Tue Oct 24 18:31:28 2006 +0200 [POWERPC] add support for dumping spu info from xmon This patch adds a command to xmon for dumping information about spu structs. The command is 'sf' for "spu fields" perhaps, and takes the spu number as an argument. This is the same value as the spu->number field, or the "phys-id" value of a context when it is bound to a physical spu. We try to catch memory errors as we dump each field, hopefully this will make the command reasonably robust, but YMMV. If people see a need we can easily add more fields to the dump in future. Output looks something like this: 0:mon> sf 0 Dumping spu fields at address c00000001ffd9e80: number = 0x0 name = spe devnode->full_name = /cpus/PowerPC,BE@0/spes/spe@0 nid = 0x0 local_store_phys = 0x20000000000 local_store = 0xd0000800801e0000 ls_size = 0x0 isrc = 0x4 node = 0x0 flags = 0x0 dar = 0x0 dsisr = 0x0 class_0_pending = 0 irqs[0] = 0x16 irqs[1] = 0x17 irqs[2] = 0x24 slb_replace = 0x0 pid = 0 prio = 0 mm = 0x0000000000000000 ctx = 0x0000000000000000 rq = 0x0000000000000000 timestamp = 0x0000000000000000 problem_phys = 0x20000040000 problem = 0xd000080080220000 problem->spu_runcntl_RW = 0x0 problem->spu_status_R = 0x0 problem->spu_npc_RW = 0x0 priv1 = 0xd000080080240000 priv1->mfc_sr1_RW = 0x33 priv2 = 0xd000080080250000 Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ff8a8f25976aa58bbae7883405b00dcbaf4cc823 Author: Michael Ellerman Date: Tue Oct 24 18:31:27 2006 +0200 [POWERPC] add support for stopping spus from xmon This patch adds support for stopping, and restarting, spus from xmon. We use the spu master runcntl bit to stop execution, this is apparently the "right" way to control spu execution and spufs will be changed in the future to use this bit. Testing has shown that to restart execution we have to turn the master runcntl bit on and also rewrite the spu runcntl bit, even if it is already set to 1 (running). Stopping spus is triggered by the xmon command 'ss' - "spus stop" perhaps. Restarting them is triggered via 'sr'. Restart doesn't start execution on spus unless they were running prior to being stopped by xmon. Walking the spu->full_list in xmon after a panic, would mean corruption of any spu struct would make all the others inaccessible. To avoid this, and also to make the next patch easier, we cache pointers to all spus during boot. We attempt to catch and recover from errors while stopping and restarting the spus, but as with most xmon functionality there are no guarantees that performing these operations won't crash xmon itself. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 302eca184fb844670fb128c69e22a8a28bbce48a Author: arnd@arndb.de Date: Tue Oct 24 18:31:26 2006 +0200 [POWERPC] cell: use ppc_md->power_save instead of cbe_idle_loop This moves the cell idle function to use the default cpu_idle with a special power_save callback, like all other platforms except iSeries already do. It also makes it possible to disable this power_save function with a new powerpc-specific boot option "powersave=off". Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit b3d7dc1967d1303d4897ff9537d29f6e077de147 Author: Christian Krafft Date: Tue Oct 24 18:31:25 2006 +0200 [POWERPC] cell: add temperature to SPU and CPU sysfs entries This patch adds a module that registers sysfs attributes to CPU and SPU containing the temperature of the CBE. They can be found under /sys/devices/system/spu/cpuX/thermal/temperature[0|1] /sys/devices/system/spu/spuX/thermal/temperature The temperature is read from the on-chip temperature sensors. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0344c6c5387ba335bba5a66fd44714b94c98573f Author: Christian Krafft Date: Tue Oct 24 18:31:24 2006 +0200 [POWERPC] sysfs: add support for adding/removing spu sysfs attributes This patch adds two functions to create and remove sysfs attributes and attribute_group to all cpus. That allows to register sysfs attributes in a subdirectory like: /sys/devices/system/cpu/cpuX/group_name/what_ever This will be used by cbe_thermal to group all attributes dealing with thermal support in one directory. Signed-of-by: Christian Krafft Signed-off-by: Paul Mackerras commit e570beb6bb1a623849901efbf939063ec4775c9e Author: Christian Krafft Date: Tue Oct 24 18:31:23 2006 +0200 [POWERPC] cell: add support for registering sysfs attributes to spus In order to add sysfs attributes to all spu's, there is a need for a list of all available spu's. Adding the device_node makes also sense, as it is needed for proper register access. This patch also adds two functions to create and remove sysfs attributes and attribute_groups to all spus. That allows to group spu attributes in a subdirectory like: /sys/devices/system/spu/spuX/group_name/what_ever This will be used by cbe_thermal to group all attributes dealing with thermal support in one directory. Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit d8bf96e0793f9576da545bac333b2de304958d68 Author: Kevin Corry Date: Tue Oct 24 18:31:22 2006 +0200 [POWERPC] cell: add low-level performance monitoring code Add routines for accessing the registers and counters in the performance monitoring unit. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit bffd4927ba4377aa38be5450e20e0fecd2523fe3 Author: Kevin Corry Date: Tue Oct 24 18:31:21 2006 +0200 [POWERPC] cell: add shadow registers for pmd_reg Many of the registers in the performance monitoring unit are write-only. We need to save a "shadow" copy when we write to those registers so we can retrieve the values if we need them later. The new cbe_pmd_shadow_regs structure is added to the cbe_regs_map structure so we have the appropriate per-node copies of these shadow values. Signed-off-by: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 22b8c9f5baeb440a716ea760ff05290221565b4c Author: David Erb Date: Tue Oct 24 18:31:20 2006 +0200 [POWERPC] cell: update Cell BE register definitions There are a few definitions that are required by subsequent patches, so add them here. The original patch is from David Erb, but is significantly cleaned up by Kevon Corry. Cc: Kevin Corry Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 099814bb1f9bd9081d7c85867f8eb8c049abc1b9 Author: Jeremy Kerr Date: Tue Oct 24 18:31:19 2006 +0200 [POWERPC] spufs: Add isolated-mode SPE recycling support When in isolated mode, SPEs have access to an area of persistent storage, which is per-SPE. In order for isolated-mode apps to communicate arbitrary data through this storage, we need to ensure that isolated physical SPEs can be reused for subsequent applications. Add a file ("recycle") in a spethread dir to enable isolated-mode recycling. By writing to this file, the kernel will reload the isolated-mode loader kernel, allowing a new app to be run on the same physical SPE. This requires the spu_acquire_exclusive function to enforce exclusive access to the SPE while the loader is initialised. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 0afacde3df4c9980f505d9afd7cb0058389732ca Author: arnd@arndb.de Date: Tue Oct 24 18:31:18 2006 +0200 [POWERPC] spufs: allow isolated mode apps by starting the SPE loader This patch adds general support for isolated mode SPE apps. Isolated apps are started indirectly, by a dedicated loader "kernel". This patch starts the loader when spe_create is invoked with the ISOLATE flag. We do this at spe_create time to allow libspe to pass the isolated app in before calling spe_run. The loader is read from the device tree, at the location "/spu-isolation/loader". If the loader is not present, an attempt to start an isolated SPE binary will fail with -ENODEV. Update: loader needs to be correctly aligned - copy to a kmalloced buf. Update: remove workaround for systemsim/spurom 'L-bit' bug, which has been fixed. Update: don't write to runcntl on spu_run_init: SPU is already running. Update: do spu_setup_isolated earlier Tested on systemsim. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit eb758ce5b0d84e13cb643b6cc7cb429f6fa28258 Author: arnd@arndb.de Date: Tue Oct 24 18:31:17 2006 +0200 [POWERPC] spufs: "stautus" isnt a word. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5737edd1ddbde5ab7f63bb3cb36015edbdb7c295 Author: Mark Nutter Date: Tue Oct 24 18:31:16 2006 +0200 [POWERPC] spufs: add support for nonschedulable contexts This adds two new flags to spu_create: SPU_CREATE_NONSCHED: create a context that is never moved away from an SPE once it has started running. This flag can only be used by tasks with the CAP_SYS_NICE capability. SPU_CREATE_ISOLATED: create a nonschedulable context that enters isolation mode upon first run. This requires the SPU_CREATE_NONSCHED flag. Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit cc21a66d7f727ab97b27af9cf763bc0b51510ffa Author: Geoff Levand Date: Tue Oct 24 18:31:15 2006 +0200 [POWERPC] cell: remove unused struct spu variable Remove the mostly unused variable isrc from struct spu and a forgotten function declaration. Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 24f43b33f74c8e8c8aabc40b728eaf9137802942 Author: Masato Noguchi Date: Tue Oct 24 18:31:14 2006 +0200 [POWERPC] spufs: wrap mfc sdr access SPRN_SDR1 and the SPE's MFC SDR are hypervisor resources and are not accessible from a logical partition. This change adds an access wrapper. When running on bare H/W, the spufs needs to only set the SPE's MFC SDR to the value of the PPE's SPRN_SDR1 once at SPE initialization, so this change renames mfc_sdr_set() to mfc_sdr_setup() and moves the access of SPRN_SDR1 into the mmio wrapper. It also removes the now unneeded member mfc_sdr_RW from struct spu_priv1_collapsed. Signed-off-by: Masato Noguchi Signed-off-by: Geoff Levand Signed-off-by: Arnd Bergmann -- Signed-off-by: Paul Mackerras commit 5414c6be57dd02e089c3eba1f5134f441733d013 Author: Michael Ellerman Date: Tue Oct 24 13:37:34 2006 +1000 [POWERPC] Make irq_dispose_mapping(NO_IRQ) a nop It makes for a friendlier API if irq_dispose_mapping(NO_IRQ) is a nop, rather than triggering a WARN_ON. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a0f467261ae041864414103b8dd6fc4487a3c7de Author: Matthew McClintock Date: Mon Oct 23 14:26:57 2006 -0500 [POWERPC] Fixed some missing files to be deleted when running make clean Fixed some missing files to be deleted when running make clean Signed-off-by: Matthew McClintock Signed-off-by: Paul Mackerras commit 41999295b6c25d799dacbbca089fdbc19f6d60f5 Author: Michael Ellerman Date: Wed Oct 18 15:53:20 2006 +1000 [POWERPC] Move iSeries initrd logic into device tree Remove the iSeries initrd logic, instead just store the initrd location and size in the device tree so generic code can do the rest for us. The iSeries code had a "feature" which the generic code lacks, ie. if the compressed initrd is bigger than the configured ram disk size, we make the ram disk size bigger. That's bogus, as the compressed size of the initrd tells us nothing about how big the ram disk needs to be. If the ram disk isn't big enough you just need to make CONFIG_BLK_DEV_RAM_SIZE larger. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 83efafb301bc79a32799ca854fb590e82c4396e9 Author: Andy Fleming Date: Mon Oct 16 16:03:33 2006 -0500 [POWERPC] Fix up the OF functions to only do PCI stuff if PCI is actually configured The original problem that inspired this patch was solved quite some time ago (Turning off PCI didn't work), but this patch neatens things up a little (I think), by putting all the PCI stuff inside a single CONFIG_PCI block. It also removes the OF PCI bus matching entries if CONFIG_PCI is off. Signed-off-by: Paul Mackerras commit 0cfcccb4687862a34eb609d16e75b39b6cb54c80 Author: Josh Boyer Date: Fri Oct 13 10:07:01 2006 -0500 [POWERPC] Add mktree utility to arch/powerpc/boot This patch adds the mktree program that is needed to post process zImage wrappers for various PowerPC 4xx boards Signed-off-by: Josh Boyer Signed-off-by: Paul Mackerras commit 0835caa2bf1933d5f41fd98e469107f4c00d547f Author: Wim Van Sebroeck Date: Mon Oct 23 18:21:52 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes Some small fixes: * the status should return 0 and not 1 (1 means: * wdt_io is not a module-param, io is. Signed-off-by: Wim Van Sebroeck commit 470b0a90d6a21cb72b671215f12ec7ec8a0db2c0 Author: David Woodhouse Date: Mon Oct 23 14:29:04 2006 +0100 [MTD] NAND: Disable ECC checking on CAFÉ since it's broken for now Signed-off-by: David Woodhouse commit 00b3b3e6605d7446cd410c7c9bb98f5336a15ca1 Author: Sven Anders & Marcus Junker Date: Mon Oct 16 18:18:09 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1 Change the driver for proper spin_locking, remove the TEMP_MINOR stuff, make sure the device works as a Virtual File System that is non_seekable, ... Signed-off-by: Sven Anders Signed-off-by: Marcus Junker Signed-off-by: Wim Van Sebroeck commit 01a6372008ed450982ba38ee5fd91028b9f5a781 Author: Mark A. Greer Date: Mon Oct 16 13:54:52 2006 -0700 [POWERPC] Add simple memory allocator to bootwrapper Provide primitive malloc, free, and realloc functions for bootwrapper. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 0c176fa80fdfa9b4e0753e37223b056994c818d2 Author: Mark A. Greer Date: Mon Oct 16 13:52:09 2006 -0700 [POWERPC] Add non-OF serial console support Add serial console support for non-OF systems. There is a generic serial console layer which calls a serial console driver. Included is the serial console driver for the ns16550 class of uarts. Necessary support routines are added as well. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 6fb4efc68f5c0e095153510dcfa8b54a42e914ba Author: Mark A. Greer Date: Mon Oct 16 13:50:05 2006 -0700 [POWERPC] Add flatdevtree source Add the latest version of the flatdevtree code and corresponding glue. A phandle table now tracks values returned by ft_find_device(). The value returned by ft_find_device() is a phandle which is really an index into the phandle table. The phandle table contains the address of the corresponding node. When the flat dt is edited/moved, the node pointers in the phandle table are updated accordingly so no phandles kept by the caller become stale. Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit fbad5696c5c45982d02e05b85922bad6eb6e6349 Author: David Woodhouse Date: Sun Oct 22 15:09:33 2006 +0100 [MTD] NAND: CAFÉ NAND driver cleanup, fix ECC on reading empty flash Signed-off-by: David Woodhouse commit 04459d7c6239193fa8de4a5107ee8fdb0f366e35 Author: David Woodhouse Date: Sun Oct 22 02:18:48 2006 +0100 [MTD] NAND: Add hardware ECC correction support to CAFÉ NAND driver Signed-off-by: David Woodhouse commit 784f4d5e66ac1d962091e08fe5a4b238ed8c793d Author: David Woodhouse Date: Sun Oct 22 01:47:45 2006 +0100 [MTD] NAND: Correct setting of chip->oob_poi OOB buffer Signed-off-by: David Woodhouse commit 7dcdcbef5d2b60d1db68fd2c07351f7afd8ad376 Author: David Woodhouse Date: Sat Oct 21 17:09:53 2006 +0100 [MTD] NAND: Combined oob buffer so it's contiguous with data Ditch the separate oobrbuf and oobwbuf fields from the chip buffers, and use only a single buffer immediately after the data. This accommodates NAND controllers such as the OLPC CAFÉ chip, which can't do scatter/gather DMA so needs the OOB buffer to be contiguous with the data, for both read and write. Signed-off-by: David Woodhouse commit 82810b7b6cc7a74c68881a13b0eb66c7a6370fcc Author: Artem Bityutskiy Date: Fri Oct 20 11:23:56 2006 +0300 [MTD] NAND: nandsim: support subpage write As flash cannot do 0->1 bit transitions when programming, do not do this in the simulator too. This makes nandsim able to accept subpage writes. Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit a86aaa6ddf32b0401e64e74174042866e0fb3e20 Author: David Anders Date: Thu Oct 19 19:33:19 2006 +0300 [MTD] NOR: leave Intel chips in read-array mode on suspend During some testing with several samsung s3c24xx based devices it was discovered that often the cfi_cmdset_0001.c would not leave the chip in read-array mode on suspend. this is an issue if the same flash chip is used for the bootloader that needs to be read on resume. Signed-off-by: David Anders Signed-off-by: Nicolas Pitre Signed-off-by: David Woodhouse commit d29ebdbee4c196adddf9f412e6ea1f211656744f Author: Artem Bityutskiy Date: Thu Oct 19 16:04:02 2006 +0300 [MTD] core: trivial comments fix Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit a5602146c5abea7dfb0c9f4fe6f5870ebdafbc9f Author: Vijay Kumar Date: Sat Oct 14 21:33:34 2006 +0530 [MTD] NAND: nandsim coding style fix Removes line break after return type in function definitions, to be consistent with the Linux coding style. Signed-off-by: Vijay Kumar Signed-off-by: David Woodhouse commit d086d43640a40dda7783f3c56724048685586d17 Author: Vijay Kumar Date: Sun Oct 8 22:02:31 2006 +0530 [MTD] NAND: nandsim page-wise allocation (2/2) For page wise allocation, an array of flash page pointers is allocated during initialization. The flash pages are themselves allocated when a write occurs to the page. The flash pages are deallocated when they are erased. Signed-off-by: Vijay Kumar Signed-off-by: David Woodhouse commit 47e37743381823a5c2d51ef88cfc3d6cff1f8580 Author: Vijay Kumar Date: Sun Oct 8 22:00:37 2006 +0530 [MTD] NAND: nandsim page-wise allocation (1/2) This patch removes code that does chip mapping. The chip mapping code is no longer used. Signed-off-by: Vijay Kumar Signed-off-by: David Woodhouse commit 6652018c829c26d6ab0524c5c74f70daa5ed478d Author: Yoichi Yuasa Date: Thu Oct 12 17:38:15 2006 +0900 [MTD] MAPS: Remove ITE 8172G and Globespan IVR MTD support This patch has removed ITE 8172G and Globespan IVR MTD support. These boards support have already been removed. Signed-off-by: Yoichi Yuasa Acked-by: Ralf Bächle Signed-off-by: David Woodhouse commit d25ade71ef80e6312b3e0b53583db518ebb11798 Author: Ricard Wanderlöf Date: Tue Oct 17 17:27:11 2006 +0200 [MTD] mtdchar: Fix MEMGETOOBSEL and ECCGETLAYOUT ioctls 1. The ECCGETLAYOUT ioctl copy_to_user() call has a superfluous '&' causing the resulting information to be garbage rather than the intended mtd->ecclayout. 2. The MEMGETOOBSEL misses copying mtd->ecclayout->eccbytes so the resulting field of the returned structure contains garbage. Signed-off-by: Ricard Wanderlöf Signed-off-by: David Woodhouse commit 42cb1403af8a755b3dfebeb9d2a5f73bc48832a1 Author: Andrew Victor Date: Thu Oct 19 18:24:35 2006 +0200 [MTD] NAND: AT91 NAND driver This version only differs from version posted by Savin Zlobec (20 Jun 2006) in that the AT91RM9200-specific chip-select / bus setup code has been moved from the at91_nand.c driver into the processor-specific file. From: Savin Zlobec Signed-off-by: Andrew Victor Signed-off-by: David Woodhouse commit c7cf0c68ea4e2020db7204eb0ed4412b2cbb167d Author: Qi Yong Date: Mon Oct 16 19:42:23 2006 +0800 [JFFS2] Fix jffs2_follow_link() typo typo fix: noticed this typo while reading the patch "jffs2: fix symlink error handling" Signed-off-by: David Woodhouse commit c7438d02b384e82261e28fc280167f4e7a65e822 Author: Alan Cox Date: Fri Oct 20 14:41:06 2006 -0700 [MTD] MAPS: esb2rom: use hotplug safe interfaces Fairly self explanatory. Keep a reference initially, drop it when we free up the driver resources. Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit f33686b5a79674bec0e1aa553d420485e3a12899 Author: Alexey Dobriyan Date: Fri Oct 20 14:41:05 2006 -0700 [MTD] JEDEC probe: fix comment typo (devic) Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit ea7415cca922389b4f3c0cf75e0af9fbf827880e Author: Akinobu Mita Date: Fri Oct 20 14:41:05 2006 -0700 [JFFS2] Use rb_first() and rb_last() cleanup Use rb_first() and rb_last() to implement frag_first() and frag_last(). Signed-off-by: Akinbou Mita Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 29175778b07aa60e7f8030bd95d69f70070cc1f7 Author: Lew Glendenning Date: Fri Oct 20 14:41:04 2006 -0700 [MTD] MAPS: Support for BIOS flash chips on Intel ESB2 southbridge Add MTD map driver for BIOS flash chips connected to the Intel ESB2 southbridge. [akpm@osdl.org: coding-style fixes, build fix] Signed-off-by: Ryan Jackson Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 89072ef99367cd6fab37b85d6a59a575084c2d2c Author: Ryan Jackson Date: Fri Oct 20 14:41:03 2006 -0700 [MTD] CHIPS: Support for SST 49LF040B flash chip Add chip driver and JEDEC probe support for the SST 49LF040B flash chip. Signed-off-by: Ryan Jackson Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit c9073ce02adfa273a3d6d53eac8c4c035510ad9c Author: Ryan Jackson Date: Fri Oct 20 14:41:01 2006 -0700 [MTD] MAPS: Add parameter to amd76xrom to override rom window size The 2 bits controlling the window size are often set to allow reading the BIOS, but too small to allow writing, since the lock registers are 4MiB lower in the address space than the data. This is intended to prevent flashing the bios, perhaps accidentally. The bits are 6 and 7. If both bits are set, it is a 5MiB window. If only the 7 Bit is set, it is a 4MiB window. Otherwise, it is a 64KiB window. This parameter allows the driver to override the BIOS settings. Signed-off-by: Ryan Jackson Signed-off-by: Andrew Morton Signed-off-by: David Woodhouse commit 95625b8f19e1e030c7fe3c010407d90fa248c68f Author: Dave Jones Date: Sat Oct 21 01:37:39 2006 -0400 [CPUFREQ] ifdef more unused on !SMP code. acpi-cpufreq needs the same patch as the previous speedstep-centrino change. Additionally, the centrino driver can have its ifdef moved out a little further to eliminate some more code/variables. Signed-off-by: Dave Jones commit c92635572489b810d03acdf03f61bf6dd1af5433 Author: Holger Macht Date: Fri Oct 20 14:30:29 2006 -0700 ACPI: toshiba_acpi: Add support for the generic backlight device Add support for the generic backlight interface below /sys/class/backlight. Keep the procfs brightness handling for backward compatibility. To achive this, add two generic functions get_lcd and set_lcd to be used both by the procfs related and the sysfs related methods. [apw@shadowen.org: backlight users need to select BACKLIGHT_CLASS_DEVICE] Signed-off-by: Holger Macht Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 2039a6eb72d4b5d0dd71de5c4dff5db129848c44 Author: Holger Macht Date: Fri Oct 20 14:30:29 2006 -0700 ACPI: asus_acpi: Add support for the generic backlight device Add support for the generic backlight interface below /sys/class/backlight. Keep the procfs brightness handling for backward compatibility. [apw@shadowen.org: backlight users need to select BACKLIGHT_CLASS_DEVICE] Signed-off-by: Holger Macht Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8acb025085aa88c41063bfa0f2c3b4d0a3f2ef11 Author: Holger Macht Date: Fri Oct 20 14:30:28 2006 -0700 ACPI: ibm_acpi: Add support for the generic backlight device Add support for the generic backlight interface below /sys/class/backlight. The patch keeps the procfs brightness handling for backward compatibility. Add two generic functions brightness_get and brightness_set to be used both by the procfs related and the sysfs related methods. [apw@shadowen.org: backlight users need to select BACKLIGHT_CLASS_DEVICE] Signed-off-by: Holger Macht Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit fe0f96020d5158b6579548666c842706ce3af371 Author: Andrew Morton Date: Fri Oct 20 14:31:01 2006 -0700 [CPUFREQ] speedstep-centrino: remove dead code arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c:396: warning: 'sw_any_bug_dmi_table' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 914f7c31b0bea0ccf3bf474d0b99d803f7985097 Author: Jeff Garzik Date: Fri Oct 20 14:31:00 2006 -0700 [CPUFREQ] handle sysfs errors Signed-off-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Dave Jones commit 5c5e81aaa821822309fd2663c22c94ca0802e407 Author: Andrew Morton Date: Fri Oct 20 14:30:30 2006 -0700 ACPI: acpi-cpufreq: remove unused data when !CONFIG_SMP acpi-cpufreq.c, speedstep-centrino.c: warning: 'sw_any_bug_dmi_table' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit d0a9081b1e75ba62bb4450c5b8e8299a41d25278 Author: Andrew Morton Date: Fri Oct 20 14:30:27 2006 -0700 ACPI: uninline ACPI global locking functions - Fixes a build problem with CONFIG_M386=y (include file dependencies get messy). - Share the implementation between x86 and x86_64 - These are too big to inline anyway. Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 965a3d447276491b7ed053b25679c062beb04194 Author: Martin Bligh Date: Fri Oct 20 14:30:26 2006 -0700 ACPI: avoid gcc warnings in ACPI mutex debug code 32bit vs 64 bit issues. sizeof(sizeof) and sizeof(pointer) is variable, but we're trying to print it as unsigned int or u32. Casts to unsigned long are used because type acpi_thread_id can be any one of typedef u64 acpi_native_uint; typedef u32 acpi_native_uint; typedef u16 acpi_native_uint; #define acpi_thread_id struct task_struct * Signed-off-by: Martin J. Bligh Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Len Brown commit 8dd851de8184bb39c4ea86de20a0ed2496e6eb0d Author: David Woodhouse Date: Fri Oct 20 02:11:40 2006 +0100 [MTD NAND] OLPC CAFÉ driver update - Fix OOB handling, bad block table marker placement - Some cleanups, enable runtime-optional debugging - Allow BBT stuff to be skipped Signed-off-by: David Woodhouse commit c888554bf95a5a0a6ac3e2389c6bf1e03e9480ba Author: Mark A. Greer Date: Mon Oct 16 13:49:27 2006 -0700 [POWERPC] More bootwrapper reorganization More reorganization of the bootwrapper: - Add dtb section to zImage - ft_init now called by platform_init - Pack a flat dt before calling kernel - Remove size parameter from free - printf only calls console_ops.write it its not NULL - Some cleanup Signed-off-by: Mark A. Greer Signed-off-by: Paul Mackerras commit 95dd722700dc9bbb000d51cab07dde48720e9178 Author: Dave Jones Date: Wed Oct 18 00:41:48 2006 -0400 [CPUFREQ] acpi-cpufreq: Fix up some CodingStyle nits leftover from the lindenting. Signed-off-by: Dave Jones commit 0a1230acb549593949397d331f1ecf07889dde20 Author: Dave Jones Date: Wed Oct 18 00:15:49 2006 -0400 [CPUFREQ] Remove duplicate include from acpi-cpufreq Signed-off-by: Dave Jones commit 8c6193684928407ea097f370778e3df7e971d957 Author: Hiroshi Miura Date: Wed Oct 18 12:59:33 2006 +0900 [CPUFREQ] Fix speedstep-smi CPU detection to not run on Pentium 4. If someone inserts speedstep-smi on a mobile P4, it prevents other cpufreq modules from loading until it is unloaded. Signed-off-by: Hiroshi Miura Signed-off-by: Dave Jones commit 3e74341c7b356ce142ace4e9b5ff08448c9f320e Author: Amol Lad Date: Tue Oct 17 10:02:55 2006 +0530 [CPUFREQ] sc520_freq.c: ioremap balanced with iounmap ioremap must be balanced by an iounmap and failing to do so can result in a memory leak. Tested (compilation only): - using allmodconfig - making sure the files are compiling without any warning/error due to new changes Signed-off-by: Amol Lad Signed-off-by: Dave Jones commit b0a779debd56514b2b5de7617a1643e5dac2d4dd Author: Paul Mackerras Date: Wed Oct 18 10:11:22 2006 +1000 [POWERPC] Make sure interrupt enable gets restored properly The lazy IRQ disable patch missed a couple of places where the interrupt enable flags need to be restored correctly. First, we weren't restoring the paca->hard_enabled flag on interrupt exit. Instead of saving it on entry, we compute it from the MSR_EE bit in the MSR we are restoring at exit. Secondly, the MMU hash miss code was clearing both paca->soft_enabled and paca->hard_enabled but not restoring them in the case where hash_page was able to resolve the miss from the Linux page tables. Signed-off-by: Paul Mackerras commit 035223fb28791f0eb0d5719727355d3f6817d228 Author: Geoff Levand Date: Thu Oct 5 11:35:10 2006 -0700 [POWERPC] Make pSeries_lpar_hpte_insert static Change the powerpc hpte_insert routines now called through ppc_md to static scope. Signed-off-by: Geoff Levand Signed-off-by: Paul Mackerras commit 0f03a43b8f0fc221986a46654282ec6a1e8c6d45 Author: David Gibson Date: Tue Oct 3 16:57:44 2006 +1000 [POWERPC] Remove todc code from ARCH=powerpc Apparently we've copied the todc drivers, for various RTCs used in embedded machines from ARCH=ppc to ARCH=powerpc, despite the fact that it's never used in the latter. This patch removes it. If we ever need these drivers (which we probably shouldn't now the RTC class stuff is in), we can transfer them one by one from ARCH=ppc, removing from the hideous abomination which is the todc "infrastructure". Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit 5b43d20a4d12d94f258bbbca5fa4df8ff8a17848 Author: Olof Johansson Date: Wed Oct 4 23:41:41 2006 -0500 [POWERPC] powerpc: Enable DEEPNAP power savings mode on 970MP Without this patch, on an idle system I get: cpu-power-0:21.638 cpu-power-1:27.102 cpu-power-2:29.343 cpu-power-3:25.784 Total: 103.8W With this patch: cpu-power-0:11.730 cpu-power-1:17.185 cpu-power-2:18.547 cpu-power-3:17.528 Total: 65.0W If I lower HZ to 100, I can get it as low as: cpu-power-0:10.938 cpu-power-1:16.021 cpu-power-2:17.245 cpu-power-3:16.145 Total: 60.2W Another (older) Quad G5 went from 54W to 39W at HZ=250. Coming back out of Deep Nap takes 40-70 cycles longer than coming back from just Nap (which already takes quite a while). I don't think it'll be a performance issue (interrupt latency on an idle system), but in case someone does measurements feel free to report them. Signed-off-by: Olof Johansson Acked-by: Michael Buesch Signed-off-by: Paul Mackerras commit d04c56f73c30a5e593202ecfcf25ed43d42363a2 Author: Paul Mackerras Date: Wed Oct 4 16:47:49 2006 +1000 [POWERPC] Lazy interrupt disabling for 64-bit machines This implements a lazy strategy for disabling interrupts. This means that local_irq_disable() et al. just clear the 'interrupts are enabled' flag in the paca. If an interrupt comes along, the interrupt entry code notices that interrupts are supposed to be disabled, and clears the EE bit in SRR1, clears the 'interrupts are hard-enabled' flag in the paca, and returns. This means that interrupts only actually get disabled in the processor when an interrupt comes along. When interrupts are enabled by local_irq_enable() et al., the code sets the interrupts-enabled flag in the paca, and then checks whether interrupts got hard-disabled. If so, it also sets the EE bit in the MSR to hard-enable the interrupts. This has the potential to improve performance, and also makes it easier to make a kernel that can boot on iSeries and on other 64-bit machines, since this lazy-disable strategy is very similar to the soft-disable strategy that iSeries already uses. This version renames paca->proc_enabled to paca->soft_enabled, and changes a couple of soft-disables in the kexec code to hard-disables, which should fix the crash that Michael Ellerman saw. This doesn't yet use a reserved CR field for the soft_enabled and hard_enabled flags. This applies on top of Stephen Rothwell's patches to make it possible to build a combined iSeries/other kernel. Signed-off-by: Paul Mackerras commit dfde5d62ed9b28b0bda676c16e8cb635df244ef2 Author: Venkatesh Pallipadi Date: Tue Oct 3 12:38:45 2006 -0700 [CPUFREQ][8/8] acpi-cpufreq: Add support for freq feedback from hardware Enable ondemand governor and acpi-cpufreq to use IA32_APERF and IA32_MPERF MSR to get active frequency feedback for the last sampling interval. This will make ondemand take right frequency decisions when hardware coordination of frequency is going on. Without APERF/MPERF, ondemand can take wrong decision at times due to underlying hardware coordination or TM2. Example: * CPU 0 and CPU 1 are hardware cooridnated. * CPU 1 running at highest frequency. * CPU 0 was running at highest freq. Now ondemand reduces it to some intermediate frequency based on utilization. * Due to underlying hardware coordination with other CPU 1, CPU 0 continues to run at highest frequency (as long as other CPU is at highest). * When ondemand samples CPU 0 again next time, without actual frequency feedback from APERF/MPERF, it will think that previous frequency change was successful and can go to wrong target frequency. This is because it thinks that utilization it has got this sampling interval is when running at intermediate frequency, rather than actual highest frequency. More information about IA32_APERF IA32_MPERF MSR: Refer to IA-32 Intel® Architecture Software Developer's Manual at http://developer.intel.com Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit a6f6e6e6ab464c9d1dff66570b78be2f66d8ba3d Author: Venkatesh Pallipadi Date: Tue Oct 3 12:37:42 2006 -0700 [CPUFREQ][7/8] acpi-cpufreq: Fix get of current frequency breakage Recent speedstep-centrino unification onto acpi-cpufreq patchset broke cpuinfo_cur_freq interface in /sys/../cpuinfo/, when MSR was used for transitions. Attached patch fixes that breakage. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 7650b281b091f39f5e97f13b45ab3813b1526b65 Author: Venkatesh Pallipadi Date: Tue Oct 3 12:36:30 2006 -0700 [CPUFREQ][6/8] acpi-cpufreq: Eliminate get of current freq on notification Only change the frequency if the state previously set is different from what we are trying to set. We don't really have to get the current frequency at this point. Signed-off-by: Denis Sadykov Signed-off-by: Venkatesh Pallipadi Signed-off-by: Alexey Starikovskiy Signed-off-by: Dave Jones commit 64be7eedb2fd0d41614739b265b22708aa81734c Author: Venkatesh Pallipadi Date: Tue Oct 3 12:35:23 2006 -0700 [CPUFREQ][5/8] acpi-cpufreq: lindent acpi-cpufreq.c Lindent acpi-cpufreq. Additional changes replacing "return (..)" by "return ..". No functionality changes in this patch. Signed-off-by: Denis Sadykov Signed-off-by: Venkatesh Pallipadi Signed-off-by: Alexey Starikovskiy Signed-off-by: Dave Jones commit 83d0515bbb10c7a3e52eee697d1032e447291eda Author: Venkatesh Pallipadi Date: Tue Oct 3 12:34:28 2006 -0700 [CPUFREQ][4/8] acpi-cpufreq: Mark speedstep-centrino ACPI as deprecated Mark ACPI hooks in speedstep-centrino as deprecated. Change the order in which speedstep-centrino and acpi-cpufreq (when both are in kernel) will be added. First driver to be tried is now acpi-cpufreq, followed by speedstep-centrino. Add a note in feature-removal-schedule to mark this deprecation. Signed-off-by: Denis Sadykov Signed-off-by: Venkatesh Pallipadi Signed-off-by: Alexey Starikovskiy Signed-off-by: Dave Jones commit dde9f7ba60adac0cade262ab9b17654e93c626e2 Author: Venkatesh Pallipadi Date: Tue Oct 3 12:33:14 2006 -0700 [CPUFREQ][3/8] acpi-cpufreq: Pull in MSR based transition support Add in the support for Intel Enhanced Speedstep - MSR based transitions. With this change, the ACPI based support in speedstep-centrino can be deprecated and duplicate code in that driver can be marked for removal. Much easier to maintain and support this way. This also reduces the user misconfigurations and questions on which driver is to be used under which CPUs to support Enhanced Speedstep. Signed-off-by: Denis Sadykov Signed-off-by: Venkatesh Pallipadi Signed-off-by: Alexey Starikovskiy Signed-off-by: Dave Jones commit fe27cb358835cfa525b5831ec8ddb9b9bfda3c73 Author: Venkatesh Pallipadi Date: Tue Oct 3 12:29:15 2006 -0700 [CPUFREQ][2/8] acpi: reorganize code to make MSR support addition easier Some clean up and redsign of the driver. Mainly making it easier to add support for multiple sub-mechanisms of changing frequency. Currently this driver supports only ACPI SYSTEM_IO address space. With the changes below it is easier to add support for other address spaces like Intel Enhanced Speedstep which uses MSR (ACPI FIXED_FEATURE_HARDWARE) to do the transitions. Signed-off-by: Denis Sadykov Signed-off-by: Venkatesh Pallipadi Signed-off-by: Alexey Starikovskiy Signed-off-by: Dave Jones commit 519ce3ec76bf5c068e575800a9977659f7cccec4 Author: Venkatesh Pallipadi Date: Tue Oct 3 12:27:10 2006 -0700 [CPUFREQ][1/8] acpi-cpufreq: software coordination and handle all CPUs in the group This patchset has refresh/rebase of a bunch of patches/bugfixes related to acpi-cpufreq that were sent earlier on this list. patch 1/8 Patch that fixes a bug in swcoordination code in acpi-cpufreq patch 2/8 through patch 7/8 Grand unification of ACPI based speedstep-centrino and acpi-cpufreq drivers. ACPI allows P-state transitions in multiple ways. Like using IO ports or using processor native method (MSR). Without this patch, IO port based P-state transitions are handled in acpi-cpufreq driver and MSR based transitions on Intel CPUs are handled in speedstep-centrino driver. Even though most of the code in these two drivers should be similar, except for final changing/checking of frequency (one driver does it using IO port and other does it through MSR), we have duplicated code in these two drivers. There are also issues around BIOSes supporting both MSR and IO port and which driver should be loaded first in standard installations. The patchset combines functionality of these two driver into acpi-cpufreq driver. ACPI based functionality in speedstep-centrino is marked deprecated and will be removed in future. speedstep-centrino will continue to work on systems that depend on older non-ACPI table based P-state chanes. * 2/8 - Patch that reorganizes the code in acpi-cpufreq, cleaning it up a little and making it easier to add MSR support later. * 3/8 - Pull in the MSR based transition support into acpi-cpufreq. * 4/8 - Mark speedstep-centrino deprecated. Change the order in Makefile to load acpi-cpufreq first and speedstep-centrino later, in cases where both are configured in. * 5/8 - lindent acpi-cpufreq.c * 6/8 - Minor change to eliminate the check of current frequency on notifications. We can use last set frequency instead. * 7/8 - Make cpufreq->get of acpi_cpufreq work correctly again. There will be a patch in future that removes ACPI based support in speedstep-centrino in coming months. patch 8/8 Add support for IA32_APERF and IA32_MPERF MSR and get the actual frequency from these MSRs and use it to determine the next frequency target in ondemand governor This patch: There is a bug in software coordination patch in acpi-cpufreq, due to which frequency will only be set on first CPU of any coordinated group. Bug identified by Denis, was not recognised earlier as there are no platforms yet that use software coordination with acpi-cpufreq driver. Signed-off-by: Denis Sadykov Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit eff0df65da81c75084d936e86854a3418347c27f Author: Dominik Brodowski Date: Mon Oct 2 19:26:47 2006 -0400 [CPUFREQ] Documentation fix Fix reference to where the code actually is. Noted by Hero Wanders. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 789fc0adbaf3a3ca95a3894aedacfc01863e8ae3 Author: Sven Anders & Marcus Junker Date: Thu Aug 24 17:11:50 2006 +0200 [WATCHDOG] NS pc87413-wdt Watchdog driver New watchdog driver for the NS pc87413-wdt Watchdog Timer. Signed-off-by: Sven Anders Signed-off-by: Marcus Junker Signed-off-by: Wim Van Sebroeck commit 50dd096973f1d95aa03c6a6d9e148d706b62b68e Author: Jan Engelhardt Date: Sun Oct 1 00:28:50 2006 +0200 ACPI: Remove unnecessary from/to-void* and to-void casts in drivers/acpi Signed-off-by: Jan Engelhardt Signed-off-by: Len Brown commit 3e082a910d217b2e7b186077ebf5a1126a68c62f Author: Matthew Wilcox Date: Thu Sep 28 15:19:20 2006 -0600 [SCSI] Add ability to scan scsi busses asynchronously Since it often takes around 20-30 seconds to scan a scsi bus, it's highly advantageous to do this in parallel with other things. The bulk of this patch is ensuring that devices don't change numbering, and that all devices are discovered prior to trying to start init. For those who build SCSI as modules, there's a new scsi_wait_scan module that will ensure all bus scans are finished. This patch only handles drivers which call scsi_scan_host. Fibre Channel, SAS, SATA, USB and Firewire all need additional work. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 1ef93a0f668c8736cb6b6c3a43a5b8101efa24af Author: Adrian Bunk Date: Mon Oct 9 01:16:38 2006 +0200 [MTD] SSFDC must depend on BLOCK This patch fixes the following compile error with CONFIG_SSFDC=m, CONFIG_BLOCK=n: <-- snip --> ... CC [M] drivers/mtd/mtd_blkdevs.o /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/mtd/mtd_blkdevs.c:40: warning: ‘struct request’ declared inside parameter list /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/mtd/mtd_blkdevs.c:40: warning: its scope is only this definition or declaration, which is probably not what you want /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/mtd/mtd_blkdevs.c: In function ‘do_blktrans_request’: /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/mtd/mtd_blkdevs.c:45: error: dereferencing pointer to incomplete type ... make[3]: *** [drivers/mtd/mtd_blkdevs.o] Error 1 <-- snip --> Bug report by Jesper Juhl. This patch also removes a pointless "default n" from the SSFDC option. Signed-off-by: Adrian Bunk Signed-off-by: David Woodhouse commit 5467fb025537eb92313fd3a557b2051cb41ba5e8 Author: David Woodhouse Date: Fri Oct 6 15:36:29 2006 +0100 [MTD NAND] Initial import of CAFÉ NAND driver. Signed-off-by: David Woodhouse commit a6b1d82d079a99d09761ee5fbc66c49f33b42324 Author: Jeff Garzik Date: Wed Oct 4 07:57:18 2006 -0400 [JFFS2] kill warning RE debug-only variables gcc emits the following warning on a 'allmodconfig' build: fs/jffs2/xattr.c: In function ‘unrefer_xattr_datum’: fs/jffs2/xattr.c:402: warning: unused variable ‘version’ fs/jffs2/xattr.c:402: warning: unused variable ‘xid’ Given that these variables are only used in the debug printk, and they merely remove a deref, we can easily kill the warning by adding the derefs to the debug printk. Signed-off-by: Jeff Garzik Signed-off-by: David Woodhouse