commit 44597f65f6af3c692560a639f61d25398d13d1b6 Author: Linus Torvalds Date: Wed Nov 15 20:03:40 2006 -0800 Linux 2.6.19-rc6 Getting there. Hopefully the MSI and other interrupt problems are all solved now. Signed-off-by: Linus Torvalds commit d31e817183a4c1ee2e5fc0635ac075381f5c4419 Author: Benjamin Herrenschmidt Date: Thu Nov 16 14:00:57 2006 +1100 [PATCH] powerpc: windfarm shall request it's sub modules The windfarm code, in it's current incarnation, uses request_module() to load the various submodules it needs for a given platform so that only the main platform control module needs to be modprobed. However, it was missing various bits. This fixes it. In the future, we'll use some hotplug mecanisms to try to get all of this auto-loaded on the platforms where it matters but that isn't ready yet. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 9716a340310a383751a06589d0775fad04bd3f54 Author: Stephen Rothwell Date: Mon Nov 13 14:52:42 2006 +1100 [POWERPC] Wire up sys_move_pages All the infrastructure is already in place for this, so we only need to allocate a syscall number and hook it up. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 056f4faa572f64fa926491a7d42c627c9dc507a7 Author: Stephen Rothwell Date: Mon Nov 13 14:51:46 2006 +1100 [POWERPC] Add the thread_siblings files to sysfs This adds the /sys/devices/system/cpu/*/topology/thread_siblings files on powerpc. These files are already available on other architectures. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 45c99533252ef2297f37c5fdd672a3e0eb566870 Author: Eric W. Biederman Date: Tue Nov 14 10:52:12 2006 -0700 [PATCH] Use delayed disable mode of ioapic edge triggered interrupts Komuro reports that ISA interrupts do not work after a disable_irq(), causing some PCMCIA drivers to not work, with messages like eth0: Asix AX88190: io 0x300, irq 3, hw_addr xx:xx:xx:xx:xx:xx eth0: found link beat eth0: autonegotiation complete: 100baseT-FD selected eth0: interrupt(s) dropped! eth0: interrupt(s) dropped! eth0: interrupt(s) dropped! ... Linus Torvalds said: "Now, edge-triggered interrupts are a _lot_ harder to mask, because the Intel APIC is an unbelievable piece of sh*t, and has the edge-detect logic _before_ the mask logic, so if a edge happens _while_ the device is masked, you'll never ever see the edge ever again (unmasking will not cause a new edge, so you simply lost the interrupt). So when you "mask" an edge-triggered IRQ, you can't really mask it at all, because if you did that, you'd lose it forever if the IRQ comes in while you masked it. Instead, we're supposed to leave it active, and set a flag, and IF the IRQ comes in, we just remember it, and mask it at that point instead, and then on unmasking, we have to replay it by sending a self-IPI." This trivial patch solves the problem. Signed-off-by: Eric W. Biederman Cc: Ingo Molnar Acked-by: Komuro Signed-off-by: Linus Torvalds commit 134a11f0c37c043d3ea557ea15b95b084e3cc2c8 Author: Takashi Iwai Date: Fri Nov 10 12:08:37 2006 +0100 [PATCH] ALSA: hda-intel - Disable MSI support by default Disable MSI support on HD-audio driver as default since there are too many broken devices. The module option is changed from disable_msi to enable_msi, too. For turning MSI support on, pass enable_msi=1, instead. Signed-off-by: Takashi Iwai Signed-off-by: Linus Torvalds commit c387fd85f84b9d89a75596325d8d6a0f730baf64 Author: Jiri Slaby Date: Wed Nov 15 00:30:17 2006 +0100 [PATCH] Char: isicom, fix close bug port is dereferenced even if it is NULL. Dereference it _after_ the check if (!port)... Thanks Eric for reporting this. This fixes http://bugzilla.kernel.org/show_bug.cgi?id=7527 Signed-off-by: Jiri Slaby Signed-off-by: Linus Torvalds commit 9a3a04ac386f44175b6a4142eaeab3d4170a57f3 Author: Linus Torvalds Date: Tue Nov 14 15:20:51 2006 -0800 Revert "[PATCH] fix Data Acess error in dup_fd" This reverts commit 0130b0b32ee53dc7add773fcea984f6a26ef1da3. Sergey Vlasov points out (and Vadim Lobanov concurs) that the bug it was supposed to fix must be some unrelated memory corruption, and the "fix" actually causes more problems: "However, the new code does not look safe in all cases. If some other task has opened more files while dup_fd() released oldf->file_lock, the new code will update open_files to the new larger value. But newf was allocated with the old smaller value of open_files, therefore subsequent accesses to newf may try to write into unallocated memory." so revert it. Cc: Sharyathi Nagesh Cc: Sergey Vlasov Cc: Vadim Lobanov Cc: Andrew Morton Signed-off-by: Linus Torvalds commit cd2579d7aa7bfc966cc271a88e77f8cfc3b0b7ba Author: Hugh Dickins Date: Tue Nov 14 13:43:38 2006 +0000 [PATCH] hugetlb: fix error return for brk() entering a hugepage region Commit cb07c9a1864a8eac9f3123e428100d5b2a16e65a causes the wrong return value. is_hugepage_only_range() is a boolean, so we should return -EINVAL rather than 1. Also - we can use "mm" instead of looking up "current->mm" again. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit 1f794b6082a5ff88f7c48d1634056026acf806f4 Author: Jens Axboe Date: Tue Nov 14 12:36:45 2006 +0100 [PATCH] cpqarray: fix iostat cpqarray needs to call disk_stat_add() for iostat to work. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit b369c2cfa47bc0ad495a95fe9a17c9888781d615 Author: Jens Axboe Date: Tue Nov 14 12:36:03 2006 +0100 [PATCH] cciss: fix iostat cciss needs to call disk_stat_add() for iostat to work. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit a4625085445b86951d8482c0cdd6d52719f7c323 Author: Brian King Date: Mon Nov 13 16:32:36 2006 -0600 [PATCH] libata: Convert from module_init to subsys_initcall When building a monolithic kernel, the load order of drivers does not work for SAS libata users, resulting in a kernel oops. Convert libata to use subsys_initcall instead of module_init, which ensures that libata gets loaded before any LLDD. This is the same thing that scsi core does to solve the problem. The load order problem was observed on ipr SAS adapters and should exist for other SAS users as well. Signed-off-by: Brian King Acked-by: Jeff Garzik Signed-off-by: Linus Torvalds commit cb07c9a1864a8eac9f3123e428100d5b2a16e65a Author: David Gibson Date: Tue Nov 14 02:03:38 2006 -0800 [PATCH] hugetlb: check for brk() entering a hugepage region Unlike mmap(), the codepath for brk() creates a vma without first checking that it doesn't touch a region exclusively reserved for hugepages. On powerpc, this can allow it to create a normal page vma in a hugepage region, causing oopses and other badness. Add a test to prevent this. With this patch, brk() will simply fail if it attempts to move the break into a hugepage reserved region. Signed-off-by: David Gibson Cc: Adam Litke Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68589bc353037f233fe510ad9ff432338c95db66 Author: Hugh Dickins Date: Tue Nov 14 02:03:32 2006 -0800 [PATCH] hugetlb: prepare_hugepage_range check offset too (David:) If hugetlbfs_file_mmap() returns a failure to do_mmap_pgoff() - for example, because the given file offset is not hugepage aligned - then do_mmap_pgoff will go to the unmap_and_free_vma backout path. But at this stage the vma hasn't been marked as hugepage, and the backout path will call unmap_region() on it. That will eventually call down to the non-hugepage version of unmap_page_range(). On ppc64, at least, that will cause serious problems if there are any existing hugepage pagetable entries in the vicinity - for example if there are any other hugepage mappings under the same PUD. unmap_page_range() will trigger a bad_pud() on the hugepage pud entries. I suspect this will also cause bad problems on ia64, though I don't have a machine to test it on. (Hugh:) prepare_hugepage_range() should check file offset alignment when it checks virtual address and length, to stop MAP_FIXED with a bad huge offset from unmapping before it fails further down. PowerPC should apply the same prepare_hugepage_range alignment checks as ia64 and all the others do. Then none of the alignment checks in hugetlbfs_file_mmap are required (nor is the check for too small a mapping); but even so, move up setting of VM_HUGETLB and add a comment to warn of what David Gibson discovered - if hugetlbfs_file_mmap fails before setting it, do_mmap_pgoff's unmap_region when unwinding from error will go the non-huge way, which may cause bad behaviour on architectures (powerpc and ia64) which segregate their huge mappings into a separate region of the address space. Signed-off-by: Hugh Dickins Cc: "Luck, Tony" Cc: "David S. Miller" Acked-by: Adam Litke Acked-by: David Gibson Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69ae9e3ee4ce99140a7db424bebf55d8d180da2f Author: David Brownell Date: Tue Nov 14 02:03:31 2006 -0800 [PATCH] usb: MAINTAINERS updates Looks like I still take care of the USB gadget/peripheral framework. Signed-off-by: David Brownell Acked-by: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6e89cb6cd3a10eb203914093642f580c20476d4 Author: Nathan Lynch Date: Tue Nov 14 02:03:30 2006 -0800 [PATCH] nvidiafb: fix unreachable code in nv10GetConfig Fix binary/logical operator typo which leads to unreachable code. Noticed while looking at other issues; I don't have the relevant hardware to test this. Signed-off-by: Nathan Lynch Cc: "Antonino A. Daplas" Acked-by: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba8df43c0ee93ec05fc526278a80aaf4cb5ab1fa Author: Ian Kent Date: Tue Nov 14 02:03:29 2006 -0800 [PATCH] autofs4: panic after mount fail Resolve the panic on failed mount of an autofs filesystem originally reported by Mao Bibo. It addresses two issues that happen after the mount fail. The first a NULL pointer reference to a field (pipe) in the autofs superblock info structure and second the lack of super block cleanup by the autofs and autofs4 modules. Signed-off-by: Ian Kent Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a34b57bec41c95f1e38f700cd9b81324baaffc7 Author: Nicolas Kaiser Date: Tue Nov 14 02:03:28 2006 -0800 [PATCH] drivers/ide: stray bracket Stray bracket in debug code. Signed-off-by: Nicolas Kaiser Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8f7975159f35846754d3845c9701b612c5c0624 Author: Andrew Morton Date: Tue Nov 14 02:03:26 2006 -0800 [PATCH] revert "PCI: quirk for IBM Dock II cardbus controllers" Fix http://bugzilla.kernel.org/show_bug.cgi?id=7264 We need to target this quirk a little more tightly, using the T20 DMI string. Cc: Pavel Kysilka Acked-by: Kristen Carlson Accardi Cc: Greg Kroah-Hartman Cc: Dominik Brodowski Cc: Daniel Ritz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3ac84324fd949f671e6cf5620add5de02498386 Author: Daniel Ritz Date: Tue Nov 14 02:03:25 2006 -0800 [PATCH] fix via586 irq routing for pirq 5 Fix interrupt routing for via 586 bridges. pirq can be 5 which needs to be mapped to INTD. But currently the access functions can handle only pirq 1-4. this is similar to the other via chipsets where pirq 4 and 5 are both mapped to INTD. Fixes bugzilla #7490 Cc: Daniel Paschka Cc: Adrian Bunk Signed-off-by: Daniel Ritz Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8b126b77536186eef69d408eb7959ce7f558f251 Author: Andrew Morton Date: Tue Nov 14 02:03:23 2006 -0800 [PATCH] setup_irq(): better mismatch debugging When we get a mismatch between handlers on the same IRQ, all we get is "IRQ handler type mismatch for IRQ n". Let's print the name of the presently-registered handler with which we got the mismatch. Cc: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9446868b5383eb87f76b2d4389dea4bb968a6657 Author: Andi Kleen Date: Tue Nov 14 16:57:46 2006 +0100 [PATCH] x86-64: Fix race in exit_idle When another interrupt happens in exit_idle the exit idle notifier could be called an incorrect number of times. Add a test_and_clear_bit_pda and use it handle the bit atomically against interrupts to avoid this. Pointed out by Stephane Eranian Signed-off-by: Andi Kleen commit 8c131af1db510793f87dc43edbc8950a35370df3 Author: Andi Kleen Date: Tue Nov 14 16:57:46 2006 +0100 [PATCH] x86-64: Fix vgetcpu when CONFIG_HOTPLUG_CPU is disabled The vgetcpu per CPU initialization previously relied on CPU hotplug events for all CPUs to initialize the per CPU state. That only worked only on kernels with CONFIG_HOTPLUG_CPU enabled. On the others some CPUs didn't get their state initialized properly and vgetcpu wouldn't work. Change the initialization sequence to instead run in a normal initcall (which runs after the normal CPU bootup) and initialize all running CPUs there. Later hotplug CPUs are still handled with an hotplug notifier. This actually simplifies the code somewhat. Signed-off-by: Andi Kleen commit fa18f477d0987c011cce047a7c3cd1284f547a14 Author: Andi Kleen Date: Tue Nov 14 16:57:46 2006 +0100 [PATCH] x86: Add acpi_user_timer_override option for Asus boards Timer overrides are normally disabled on Nvidia board because they are commonly wrong, except on new ones with HPET support. Unfortunately there are quite some Asus boards around that don't have HPET, but need a timer override. We don't know yet how to handle this transparently, but at least add a command line option to force the timer override and let them boot. Cc: len.brown@intel.com Signed-off-by: Andi Kleen commit 15803a43288da434d34d41c4ed650c3c1728d42c Author: Magnus Damm Date: Tue Nov 14 16:57:46 2006 +0100 [PATCH] x86-64: setup saved_max_pfn correctly (kdump) x86_64: setup saved_max_pfn correctly 2.6.19-rc4 has broken CONFIG_CRASH_DUMP support on x86_64. It is impossible to read out the kernel contents from /proc/vmcore because saved_max_pfn is set to zero instead of the max_pfn value before the user map is setup. This happens because saved_max_pfn is initialized at parse_early_param() time, and at this time no active regions have been registered. save_max_pfn is setup from e820_end_of_ram(), more exact find_max_pfn_with_active_regions() which returns 0 because no regions exist. This patch fixes this by registering before and removing after the call to e820_end_of_ram(). Signed-off-by: Magnus Damm Signed-off-by: Andi Kleen commit 5e58a02a8f6a7a1c9ae41f39286bcd3aea0d6f24 Author: Andi Kleen Date: Tue Nov 14 16:57:46 2006 +0100 [PATCH] x86-64: Handle reserve_bootmem_generic beyond end_pfn This can happen on kexec kernels with some configurations, in particularly on Unisys ES7000 systems. Analysis by Amul Shah Cc: Amul Shah Signed-off-by: Andi Kleen commit 51d67a488b53a5cc8401460480c124eaec71e2d4 Author: Steven Rostedt Date: Tue Nov 14 16:57:46 2006 +0100 [PATCH] x86-64: shorten the x86_64 boot setup GDT to what the comment says Stephen Tweedie, Herbert Xu, and myself have been struggling with a very nasty bug in Xen. But it also pointed out a small bug in the x86_64 kernel boot setup. The GDT limit being setup by the initial bzImage code when entering into protected mode is way too big. The comment by the code states that the size of the GDT is 2048, but the actual size being set up is much bigger (32768). This happens simply because of one extra '0'. Instead of setting up a 0x800 size, 0x8000 is set up. On bare metal this is fine because the CPU wont load any segments unless they are explicitly used. But unfortunately, this breaks Xen on vmx FV, since it (for now) blindly loads all the segments into the VMCS if they are less than the gdt limit. Since the real mode segments are around 0x3000, we are getting junk into the VMCS and that later causes an exception. Stephen Tweedie has written up a patch to fix the Xen side and will be submitting that to those folks. But that doesn't excuse the GDT limit being a magnitude too big. AK: changed to compute true gdt size in assembler, fixed comment Signed-off-by: Steven Rostedt Signed-off-by: Andi Kleen commit 14679eb3c50897889ba62f9a37e3bcd8a205b5e7 Author: Andi Kleen Date: Tue Nov 14 16:57:46 2006 +0100 [PATCH] x86-64: Fix PTRACE_[SG]ET_THREAD_AREA regression with ia32 emulation. ptrace(PTRACE_[SG]ET_THREAD_AREA) calls from ia32 code should be passed onto the x86_64 implementation. The default case in sys32_ptrace used to call to sys_ptrace(), but is now EINVAL. This patch fixes a regression caused by that changed. Signed-off-by: Mike McCormack Signed-off-by: Andi Kleen commit 14f448e36192d6d2cd7dfd81cb044977b2f9dd9b Author: Aaron Durbin Date: Tue Nov 14 16:57:45 2006 +0100 [PATCH] x86-64: Fix partial page check to ensure unusable memory is not being marked usable. Fix partial page check in e820_register_active_regions to ensure partial pages are not being marked as active in the memory pool. Signed-off-by: Aaron Durbin Signed-off-by: Andi Kleen commit 64e72e41acae0dab733fb0d5d789b76d115210c0 Author: Andi Kleen Date: Tue Nov 14 16:56:33 2006 +0100 Revert "[PATCH] MMCONFIG and new Intel motherboards" This reverts 4c6e052adfe285ede5884e4e8c4d33af33932c13 commit. Following Linus' i386 change: revert resource reservation for mmcfg config now. Will be revisited in .20 hopefully. commit 253b92ecbd3d2e9f5a79fc7632c89ac74bff16c4 Author: Darrick J. Wong Date: Tue Nov 14 09:55:41 2006 -0500 libata: fix double-completion on error A curious thing happens, however, when ata_qc_new_init fails to get an ata_queued_cmd: First, ata_qc_new_init handles the failure like this: cmd->result = (DID_OK << 16) | (QUEUE_FULL << 1); done(cmd); Then, we return to ata_scsi_translate and do this: err_mem: cmd->result = (DID_ERROR << 16); done(cmd); It appears to me that first we set a status code indicating that we're ok but the device queue is full and finish the command, but then we blow away that status code and replace it with an error flag and finish the command a second time! That does not seem to be desirable behavior since we merely want the I/O to wait until a command slot frees up, not send errors up the block layer. In the err_mem case, we should simply exit out of ata_scsi_translate instead. Signed-off-by: Darrick J. Wong Signed-off-by: Jeff Garzik commit 3f9dd27a22ff79b6b6c4eccd19e4063bff0ddc7e Author: Alexey Dobriyan Date: Fri Nov 10 22:52:46 2006 +0300 [PATCH] pata_artop: fix "& (1 >>" typo Signed-off-by: Alexey Dobriyan Signed-off-by: Jeff Garzik commit b5bf24b94c65536d3cc2bf9039ab05b3967f7b7f Author: Alan Cox Date: Wed Nov 8 16:18:26 2006 +0000 [PATCH] hpt37x: Check the enablebits Helps for PATA but SATA bridged devices lie and always set all the bits so will need the error handling fixes from Tejun. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 4dd7406e9c7e7a5422425ef699780463490b8745 Author: Linus Torvalds Date: Mon Nov 13 09:50:11 2006 -0800 [dvb saa7134] Fix missing 'break' for avermedia card case Commit 450efcfd2e1d941e302a8c89322fbfcef237be98 broke Avermedia 777 support. Added obvious missing "break" statement. Cc: José Suárez Cc: Michael Krufky Cc: Mauro Carvalho Chehab Signed-off-by: Linus Torvalds commit b71567312976305cc1ce7e9b71e7378c8bfcb40f Author: Jens Axboe Date: Mon Nov 13 18:05:02 2006 +0100 [PATCH] ide-cd: only set rq->errors SCSI style for block pc requests We should only set ->errors to CHECK_CONDITION and so on for requests that use this field in the SCSI manner. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 616e8a091a035c0bd9b871695f4af191df123caa Author: Jens Axboe Date: Mon Nov 13 18:04:59 2006 +0100 [PATCH] Fix bad data direction in SG_IO Contrary to what the name misleads you to believe, SG_DXFER_TO_FROM_DEV is really just a normal read seen from the device side. This patch fixes http://lkml.org/lkml/2006/10/13/100 Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 39798695b4bcc7b145f8910ca56195808d3a7637 Author: Roland Dreier Date: Mon Nov 13 09:38:07 2006 -0800 IB/mad: Fix race between cancel and receive completion When ib_cancel_mad() is called, it puts the canceled send on a list and schedules a "flushed" callback from process context. However, this leaves a window where a receive completion could be processed before the send is fully flushed. This is fine, except that ib_find_send_mad() will find the MAD and return it to the receive processing, which results in the sender getting both a successful receive and a "flushed" send completion for the same request. Understandably, this confuses the sender, which is expecting only one of these two callbacks, and leads to grief such as a use-after-free in IPoIB. Fix this by changing ib_find_send_mad() to return a send struct only if the status is still successful (and not "flushed"). The search of the send_list already had this check, so this patch just adds the same check to the search of the wait_list. Signed-off-by: Roland Dreier commit b26c791e9ca3365616d40836000285931ca033d0 Author: Jean Delvare Date: Thu Nov 9 21:02:26 2006 +0100 RDMA/amso1100: Fix && typo Fix the AMSO1100 firmware version computation, which was broken due to "&&" being used where "&" should have. Signed-off-by: Jean Delvare Signed-off-by: Roland Dreier commit 2ffcab6ae44b02679229ca1852526d0a6e062dd2 Author: Tom Tucker Date: Wed Nov 8 14:23:22 2006 -0600 RDMA/amso1100: Fix unitialized pseudo_netdev accessed in c2_register_device Rework some load-time error handling: c2_register_device() leaked when it failed, and the function that called it didn't check the return code. Signed-off-by: Tom Tucker Signed-off-by: Roland Dreier commit f2c238a0c5e155acd49752c5fb93fb8d8534232b Author: Hoang-Nam Nguyen Date: Sun Nov 5 21:42:20 2006 +0100 IB/ehca: Activate scaling code by default Change ehca's Kconfig to activates scaling code as default. After several measurements we saw that this feature prevents dropped packets (UD) in stress situation. Thus, enabling it helps to improve ehca's bandwidth through IPoIB. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit c58121143f87930621c1a6fa9683b6862f2b42c9 Author: Hoang-Nam Nguyen Date: Sun Nov 5 21:42:56 2006 +0100 IB/ehca: Use named constant for max mtu Define and use a constant EHCA_MAX_MTU instead hardcoded value. Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 09123d230a294cd3b860f4ea042235b988277f0a Author: Alan Stern Date: Fri Nov 10 12:27:57 2006 -0800 [PATCH] SCSI core: always store >= 36 bytes of INQUIRY data This patch (as810c) copies a minimum of 36 bytes of INQUIRY data, even if the device claims that not all of them are valid. Often badly behaved devices put plausible data in the Vendor, Product, and Revision strings but set the Additional Length byte to a small value. Using potentially valid data is certainly better than allocating a short buffer and then reading beyond the end of it, which is what we do now. Signed-off-by: Alan Stern Cc: James Bottomley Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f72fa707604c015a6625e80f269506032d5430dc Author: Pavel Emelianov Date: Fri Nov 10 12:27:56 2006 -0800 [PATCH] Fix misrouted interrupts deadlocks While testing kernel on machine with "irqpoll" option I've caught such a lockup: __do_IRQ() spin_lock(&desc->lock); desc->chip->ack(); /* IRQ is ACKed */ note_interrupt() misrouted_irq() handle_IRQ_event() if (...) local_irq_enable_in_hardirq(); /* interrupts are enabled from now */ ... __do_IRQ() /* same IRQ we've started from */ spin_lock(&desc->lock); /* LOCKUP */ Looking at misrouted_irq() code I've found that a potential deadlock like this can also take place: 1CPU: __do_IRQ() spin_lock(&desc->lock); /* irq = A */ misrouted_irq() for (i = 1; i < NR_IRQS; i++) { spin_lock(&desc->lock); /* irq = B */ if (desc->status & IRQ_INPROGRESS) { 2CPU: __do_IRQ() spin_lock(&desc->lock); /* irq = B */ misrouted_irq() for (i = 1; i < NR_IRQS; i++) { spin_lock(&desc->lock); /* irq = A */ if (desc->status & IRQ_INPROGRESS) { As the second lock on both CPUs is taken before checking that this irq is being handled in another processor this may cause a deadlock. This issue is only theoretical. I propose the attached patch to fix booth problems: when trying to handle misrouted IRQ active desc->lock may be unlocked. Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0130b0b32ee53dc7add773fcea984f6a26ef1da3 Author: Sharyathi Nagesh Date: Fri Nov 10 12:27:54 2006 -0800 [PATCH] fix Data Acess error in dup_fd On running the Stress Test on machine for more than 72 hours following error message was observed. 0:mon> e cpu 0x0: Vector: 300 (Data Access) at [c00000007ce2f7f0] pc: c000000000060d90: .dup_fd+0x240/0x39c lr: c000000000060d6c: .dup_fd+0x21c/0x39c sp: c00000007ce2fa70 msr: 800000000000b032 dar: ffffffff00000028 dsisr: 40000000 current = 0xc000000074950980 paca = 0xc000000000454500 pid = 27330, comm = bash 0:mon> t [c00000007ce2fa70] c000000000060d28 .dup_fd+0x1d8/0x39c (unreliable) [c00000007ce2fb30] c000000000060f48 .copy_files+0x5c/0x88 [c00000007ce2fbd0] c000000000061f5c .copy_process+0x574/0x1520 [c00000007ce2fcd0] c000000000062f88 .do_fork+0x80/0x1c4 [c00000007ce2fdc0] c000000000011790 .sys_clone+0x5c/0x74 [c00000007ce2fe30] c000000000008950 .ppc_clone+0x8/0xc The problem is because of race window. When if(expand) block is executed in dup_fd unlocking of oldf->file_lock give a window for fdtable in oldf to be modified. So actual open_files in oldf may not match with open_files variable. Cc: Vadim Lobanov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5fd934a9a1b72c718ad5c388fd2e0fd90486cbf3 Author: Franck Bui-Huu Date: Fri Nov 10 12:27:53 2006 -0800 [PATCH] .gitignore: add miscellaneous files Prevent git from reporting this useless status: On branch refs/heads/master Untracked files: (use "git add" to add to commit) TAGS scripts/kconfig/lkc_defs.h scripts/kconfig/qconf.moc nothing to commit Signed-off-by: Franck Bui-Huu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8b295f29091310d746509bb6d5828aaf4907a18 Author: Russell King Date: Fri Nov 10 12:27:53 2006 -0800 [PATCH] Fix missing parens in set_personality() If you call set_personality() with an expression such as: set_personality(foo ? PERS_FOO1 : PERS_FOO2); then this evaluates to: ((current->personality == foo ? PERS_FOO1 : PERS_FOO2) ? ... which is obviously not the intended result. Add the missing parents to ensure this gets evaluated as expected: ((current->personality == (foo ? PERS_FOO1 : PERS_FOO2)) ? ... Signed-off-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e40c67597eac7a0b0e676867517b01a5a57f7b4b Author: Wink Saville Date: Fri Nov 10 12:27:52 2006 -0800 [PATCH] Patch for nvidia divide by zero error for 7600 pci-express card The following patch resolves the divide by zero error I encountered on my system: http://marc.10east.com/?l=linux-fbdev-devel&m=116058257024413&w=2 I accomplished this by merging what I thought was appropriate from: http://webcvs.freedesktop.org/xorg/driver/xf86-video-nv/src/ Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7947d2cc2c2e01125a393de83862d02b621999fe Author: Corey Minyard Date: Fri Nov 10 12:27:50 2006 -0800 [PATCH] IPMI: Fix more && typos Fix improper use of "&&" when "&" was intended. Signed-off-by: Jean Delvare Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a4b0fc503ff4149f5915be4aeb179b9453cf485 Author: Jes Sorensen Date: Fri Nov 10 12:27:49 2006 -0800 [PATCH] mspec driver build fix Fix MSPEC driver to build for non SN2 enabled configs as the driver should work in cached and uncached modes (no fetchop) on these systems. In addition make MSPEC select IA64_UNCACHED_ALLOCATOR, which is required for it and move it to arch/ia64/Kconfig to avoid warnings on non ia64 architectures running allmodconfig. Once the Kconfig code is fixed, we can move it back. Signed-off-by: Jes Sorensen Cc: Fernando Luis Vzquez Cao Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d67afe5ed00070de0965bfc98de5f6ed3a80a73e Author: David Miller Date: Fri Nov 10 12:27:48 2006 -0800 [PATCH] pci: don't try to remove sysfs files before they are setup. The PCI sysfs attributes are created after the initial PCI bus scan. With the addition of more return value checking and assertions in the device and sysfs layers we now can get dumps like this on sparc64: [ 20.135032] Call Trace: [ 20.135042] [0000000000537f88] pci_remove_bus_device+0x30/0xc0 [ 20.135076] [000000000078f890] pci_fill_in_pbm_cookies+0x98/0x440 [ 20.135109] [000000000042e828] sabre_scan_bus+0x230/0x400 [ 20.135139] [000000000078c710] pcibios_init+0x58/0xa0 [ 20.135159] [0000000000416f14] init+0x9c/0x2e0 [ 20.135190] [0000000000417a50] kernel_thread+0x38/0x60 [ 20.135211] [0000000000417170] rest_init+0x18/0x40 [ 20.135514] PCI0(PBMB): Bus running at 33MHz It's triggering because removal of the "config" PCI sysfs file for the device fails. On sparc64, after probing the device, we'll delete the PCI device via pci_remove_bus_device() if we cannot find the firmware device tree node corresponding to it. This is fine, but at this point the sysfs files for the PCI device won't be setup yet. So we should not try to do anything in pci_remove_sysfs_dev_files() if pci_sysfs_init() has not run yet. Signed-off-by: David S. Miller Acked-by: Greg Kroah-Hartman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2b4ac44e7c7e16cf9411b81693ff3e604f332bf1 Author: Eric Dumazet Date: Fri Nov 10 12:27:48 2006 -0800 [PATCH] vmalloc: optimization, cleanup, bugfixes - reorder 'struct vm_struct' to speedup lookups on CPUS with small cache lines. The fields 'next,addr,size' should be now in the same cache line, to speedup lookups. - One minor cleanup in __get_vm_area_node() - Bugfixes in vmalloc_user() and vmalloc_32_user() NULL returns from __vmalloc() and __find_vm_area() were not tested. [akpm@osdl.org: remove redundant BUG_ONs] Signed-off-by: Eric Dumazet Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f36fbb242442184d314e305199bb9a449be4f67 Author: Alexey Dobriyan Date: Thu Nov 9 17:36:44 2006 -0300 V4L/DVB (4818): Flexcop-usb: fix debug printk .. fix debug printk. Why, oh why, one would want to do (u16 & 0xff) << 8 and print it with %02x format? Acked-by: Patrick Boettcher Signed-off-by: Alexey Dobriyan Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fef4fa1475db6a53237e29451c88c15167d69cc4 Author: Jean Delvare Date: Thu Nov 9 17:25:28 2006 -0300 V4L/DVB (4817): Fix uses of "&&" where "&" was intended Fix uses of "&&" where "&" was intended in bttv-cards.c and tveeprom.c Signed-off-by: Jean Delvare Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 0871a8849b80646074cd28b2b078c8e002e51282 Author: pasky@ucw.cz Date: Sun Nov 12 14:24:57 2006 -0300 V4L/DVB (4816): Change tuner type for Avermedia A16AR This changes it from TDA8290 which is allegedly very unlikely to TD1316 which is allegedly very likely. I didn't get it to work with either, but expected that this got applied when Mauro sent it to me, so here it goes again; feel free to drop it to the floor. :-) Signed-off-by: Petr Baudis Signed-off-by: Mauro Carvalho Chehab commit 29e0f1a136d39c5683d998741911b769d0172d52 Author: pasky@ucw.cz Date: Sun Nov 12 14:23:32 2006 -0300 V4L/DVB (4815): Remote support for Avermedia A16AR The remote as well as the GPIO interface is the same as what comes with 777. For an example of mplayer lirc configuration, see http://pasky.or.cz/~pasky/dev/v4l/lircrc Signed-off-by: Petr Baudis Signed-off-by: Mauro Carvalho Chehab commit 450efcfd2e1d941e302a8c89322fbfcef237be98 Author: pasky@ucw.cz Date: Sun Nov 12 14:22:32 2006 -0300 V4L/DVB (4814): Remote support for Avermedia 777 I didn't test it personally since I don't have this card, but A16AR uses the same interface and that one certainly does work perfectly (see the next patch). This patch was originally sent in http://marc.theaimsgroup.com/?l=linux-video&m=114743413825375&w=2 https://www.redhat.com/mailman/private/video4linux-list/2006-May/msg00103.html but never got applied. This version has some trivial modifications and drops the weird gpio hack (it's not clear what practical purpose does it serve). Signed-off-by: Jose Alberto Reguero Signed-off-by: Petr Baudis Signed-off-by: Mauro Carvalho Chehab commit ce48d5ecf3f52378064f317e0094b601508e9b3e Author: Mauro Carvalho Chehab Date: Sun Nov 5 09:02:13 2006 -0300 V4L/DVB (4804): Fix missing i2c dependency for saa7110 drivers/media/video/saa7110.c:112: undefined reference to `i2c_master_send' drivers/built-in.o: In function `saa7110_read': drivers/media/video/saa7110.c:130: undefined reference to `i2c_smbus_read_byte' drivers/media/video/saa7110.c:130: undefined reference to `i2c_smbus_read_byte' Signed-off-by: Mauro Carvalho Chehab commit ff97d93d6a311759db1b74b9b90dd6bcb8ce0aee Author: Hermann Pitton Date: Fri Nov 3 10:45:52 2006 -0300 V4L/DVB (4802): Cx88: fix remote control on WinFast 2000XP Expert fix remote control on WinFast 2000XP Expert by setting timing back to 1 ms, like it was in the original patch by Robert Reid. Signed-off-by: Hermann Pitton Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit d027c4dc7d6e35a4e43dbcc178f0bf3359814306 Author: Alexey Dobriyan Date: Fri Nov 3 07:14:32 2006 -0300 V4L/DVB (4795): Tda826x: use correct max frequency sparse "defined twice" warning Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 050e714eb2bc662e9df6bf048ce86b4fbdd9bcd3 Author: David Chinner Date: Sat Nov 11 18:05:06 2006 +1100 [XFS] Remove KERNEL_VERSION macros from xfs_dmapi.h SGI-PV: 957005 SGI-Modid: xfs-linux-melb:xfs-kern:27398a Signed-off-by: David Chinner Signed-off-by: Michal Piotrowski Signed-off-by: Tim Shimmin commit 4c60658e0f4e253cf275f12b7c76bf128515a774 Author: David Chinner Date: Sat Nov 11 18:05:00 2006 +1100 [XFS] Prevent a deadlock when xfslogd unpins inodes. The previous fixes for the use after free in xfs_iunpin left a nasty log deadlock when xfslogd unpinned the inode and dropped the last reference to the inode. the ->clear_inode() method can issue transactions, and if the log was full, the transaction could push on the log and get stuck trying to push the inode it was currently unpinning. To fix this, we provide xfs_iunpin a guarantee that it will always have a valid xfs_inode <-> linux inode link or a particular flag will be set on the inode. We then use log forces during lookup to ensure transactions are completed before we recycle the inode. This ensures that xfs_iunpin will never use the linux inode after it is being freed, and any lookup on an inode on the reclaim list will wait until it is safe to attach a new linux inode to the xfs inode. SGI-PV: 956832 SGI-Modid: xfs-linux-melb:xfs-kern:27359a Signed-off-by: David Chinner Signed-off-by: Shailendra Tripathi Signed-off-by: Takenori Nagano Signed-off-by: Tim Shimmin commit 7a18c386078eaf17ae54595f66c0d64d9c1cb29c Author: David Chinner Date: Sat Nov 11 18:04:54 2006 +1100 [XFS] Clean up i_flags and i_flags_lock handling. SGI-PV: 956832 SGI-Modid: xfs-linux-melb:xfs-kern:27358a Signed-off-by: David Chinner Signed-off-by: Nathan Scott Signed-off-by: Tim Shimmin commit 2e2e7bb1fd857b9fc83b0cd77b6b647ebb423301 Author: Vlad Apostolov Date: Sat Nov 11 18:04:47 2006 +1100 [XFS] 956664: dm_read_invis() changes i_atime SGI-PV: 956664 SGI-Modid: xfs-linux-melb:xfs-kern:27315a Signed-off-by: Vlad Apostolov Signed-off-by: Sam Vaughan Signed-off-by: Tim Shimmin commit 70a505285f9859f77e07f7c12371b0d29ecf3d82 Author: Vlad Apostolov Date: Sat Nov 11 18:04:41 2006 +1100 [XFS] rename uio_read() to xfs_uio_read() SGI-PV: 957004 SGI-Modid: xfs-linux-melb:xfs-kern:27231a Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit 439b8434792d0b62e32ab1416f214a18a640cc03 Author: Tim Shimmin Date: Sat Nov 11 18:04:34 2006 +1100 [XFS] Keep lockdep happy. SGI-PV: 956964 SGI-Modid: xfs-linux-melb:xfs-kern:27200a Signed-off-by: Tim Shimmin Signed-off-by: David Chinner Signed-off-by: Eric Sandeen commit 93c189c1148a5e39bcc8f62568f42a77f93477c5 Author: Vlad Apostolov Date: Sat Nov 11 18:03:49 2006 +1100 [XFS] 956618: Linux crashes on boot with XFS-DMAPI filesystem when CONFIG_XFS_TRACE is on SGI-PV: 956618 SGI-Modid: xfs-linux-melb:xfs-kern:27196a Signed-off-by: Vlad Apostolov Signed-off-by: Tim Shimmin commit bb831eb2027c12a740ad4e4ad78f2a0e841ae808 Author: Julian Anastasov Date: Fri Nov 10 14:57:37 2006 -0800 [IPVS]: More endianness fixed. - make sure port in FTP data is in network order (in fact it was looking buggy for big endian boxes before Viro's changes) - htonl -> htons for port Signed-off-by: Julian Anastasov Signed-off-by: David S. Miller commit 92b1f905637bbd79fcd430a09737fd97061eb405 Author: David Rientjes Date: Wed Nov 8 19:49:15 2006 -0800 [PATCH] drivers cris: return on NULL dev_alloc_skb() If the next descriptor array entry cannot be allocated by dev_alloc_skb(), return immediately so it is not dereferenced later. We cannot register the device with a partial descriptor list. Cc: Mikael Starvik Signed-off-by: David Rientjes Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit ace48ffb5d6c927c5a98048d93543e1cae0eebd0 Author: Randy Dunlap Date: Wed Nov 8 19:51:03 2006 -0800 [PATCH] com20020 build fix com20020.c needs to export functions if either of the ISA or PCI modules are built as loadable modules. Or they could always be exported. WARNING: "com20020_found" [drivers/net/arcnet/com20020-pci.ko] undefined! WARNING: "com20020_check" [drivers/net/arcnet/com20020-pci.ko] undefined! Signed-off-by: Randy Dunlap Cc: Toralf Forster Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik commit 0daa2303028a63dbd1b2e38f10854f0f7bf1ef9a Author: Peter Zijlstra Date: Wed Nov 8 19:51:01 2006 -0800 [PATCH] bonding: lockdep annotation ============================================= [ INFO: possible recursive locking detected ] 2.6.17-1.2600.fc6 #1 Signed-off-by: Jeff Garzik commit 36b600f2649e3be49039efe31edeeb64277dbd99 Author: Geoff Levand Date: Thu Nov 2 21:08:45 2006 -0800 [POWERPC] cell: set ARCH_SPARSEMEM_DEFAULT in Kconfig The current cell processor support needs sparsemem, so set it as the default memory model. Signed-off-by: Geoff Levand Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ab56dbddc8a23ff3f4602855aaf0fcb3c814118b Author: Benjamin Herrenschmidt Date: Fri Nov 10 15:11:20 2006 +1100 [POWERPC] Fix cell "new style" mapping and add debug This fixes a typo in the "new style" code for mapping SPE resources, which causes it to try to map the same resource 4 times. It also adds some pr_debug's that are useful to track down issues with the firmware when bringinh up new machines. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ae883cab9457aad0fb3342249e1207873d3b64de Author: John Rose Date: Wed Nov 8 10:07:30 2006 -0600 [POWERPC] pseries: Force 4k update_flash block and list sizes The enablement of 64k pages on pseries platforms exposed a bug in the RTAS mechanism for updating firmware. RTAS assumes 4k for flash block and list sizes, and use of any other sizes results in a failure, even though PAPR does not specify any such requirement. This patch changes the rtas_flash module to force the use of 4k memory block and list sizes when preparing and sending a firmware image to RTAS. The rtas_flash function now uses a slab cache of 4k blocks with 4k alignment, rather than get_zeroed_page(), to allocate the memory for the flash blocks and lists. The 4k alignment requirement is specified in PAPR. Signed-off-by: John Rose Signed-off-by: Paul Mackerras commit 0091cf5a6ae6e52fc95ceb53200975ef2c81c206 Author: Kalle Pokki Date: Wed Nov 1 15:08:13 2006 +0200 [POWERPC] CPM_UART: Fix non-console initialisation The cpm_uart driver is initialised incorrectly, if there is a frame buffer console, and CONFIG_SERIAL_CPM_CONSOLE is defined. The driver fails to call cpm_uart_init_portdesc() and set_lineif() in this case. Signed-off-by: Kalle Pokki Signed-off-by: Vitaly Bordug Signed-off-by: Paul Mackerras commit 599540a85595bd5950354bd95f5ebf9c6e07c971 Author: Kalle Pokki Date: Wed Nov 1 09:52:41 2006 +0200 [POWERPC] CPM_UART: Fix non-console transmit The SMC and SCC hardware transmitter is enabled at the wrong place. Simply writing twice to the non-console port, like $ echo asdf > /dev/ttyCPM1 $ echo asdf > /dev/ttyCPM1 puts the shell into endless uninterruptible sleep, since the transmitter is stopped after the first write, and is not enabled before the shutdown function of the second write. Thus the transmit buffers are never emptied. Signed-off-by: Kalle Pokki Signed-off-by: Vitaly Bordug Signed-off-by: Paul Mackerras commit da413908d5e9ebdd0889a599e80d21d7237021c6 Author: Simon Horman Date: Thu Nov 9 20:00:55 2006 -0800 [IPVS]: Compile fix for annotations in userland. This change makes __beXX available to user-space applications, such as ipvsadm, which include ip_vs.h Signed-Off-By: Simon Horman Signed-off-by: David S. Miller commit f7b2e8c76b3423a1d2501b9399261e9c9a33e100 Author: Steve French Date: Thu Nov 9 21:25:37 2006 +0000 [CIFS] Fix minor problem with previous patch The patch NFS stress test generates flood of "close with pending write was missing an if Signed-off-by: Steve French commit 7e28db5d8ff63b1cabc221c5cb84a5f45752f1c2 Author: Hoang-Nam Nguyen Date: Tue Nov 7 00:56:39 2006 +0100 IB/ehca: Assure 4K alignment for firmware control blocks Assure 4K alignment for firmware control blocks in 64K page mode, because kzalloc()'s result address might not be 4K aligned if 64K pages are enabled. Thus, we introduce wrappers called ehca_{alloc,free}_fw_ctrlblock(), which use a slab cache for objects with 4K length and 4K alignment in order to alloc/free firmware control blocks in 64K page mode. In 4K page mode those wrappers just are defines of get_zeroed_page() and free_page(). Signed-off-by: Hoang-Nam Nguyen Signed-off-by: Roland Dreier commit 63ef731aa6a81e286de78dcc92241d123424ed39 Author: Timo Teras Date: Thu Nov 2 19:43:27 2006 +0100 MMC: Do not set unsupported bits in OCR response The card might go to inactive state (according to specification), if there are unsupported bits set in the OCR. Signed-off-by: Timo Teras Signed-off-by: Pierre Ossman commit 25a122fd0d28b48782b9524a85895573e7ccf304 Author: Timo Teras Date: Wed Oct 25 09:37:41 2006 +0300 MMC: Poll card status after rescanning cards Some broken cards seem to process CMD1 even in stand-by state. The result is that the card replies with ILLEGAL_COMMAND error for the next command sent after rescanning. Currently the next command is select card, which would return the error. But CMD7 does actually succeed and retries of the command will timeout. The workaround is to poll card status after CMD1 to clear the pending error. Signed-off-by: Timo Teras Signed-off-by: Pierre Ossman commit 621da0f8af228525e4b40390e36fbdc44a587cf1 Author: Paul Mackerras Date: Thu Nov 9 16:00:06 2006 +1100 [POWERPC] Make sure initrd and dtb sections get into zImage correctly The "wrapper" script was using the wrong names for the initrd and dtb (device-tree blob) sections. This fixes it, and also ensures the symbols for the start and end of the dtb get defined correctly. Signed-off-by: Paul Mackerras commit 088406bcf66d6c7fd8a5c04c00aa410ae9077403 Author: J. Bruce Fields Date: Wed Nov 8 17:44:59 2006 -0800 [PATCH] nfsd: fix spurious error return from nfsd_create in async case Commit 6264d69d7df654ca64f625e9409189a0e50734e9 modified the nfsd_create() error handling in such a way that nfsd_create will usually return nfserr_perm even when succesful, if the export has the async export option. This introduced a regression that could cause mkdir() to always return a permissions error, even though the directory in question was actually succesfully created. Signed-off-by: J. Bruce Fields Acked-by: NeilBrown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51f65ebccf55121832c265838f93949f898b12ff Author: Bryan O'Sullivan Date: Wed Nov 8 17:44:58 2006 -0800 [PATCH] IB/ipath - program intconfig register using new HT irq hook Eric's changes to the htirq infrastructure require corresponding modifications to the ipath HT driver code so that interrupts are still delivered properly. Signed-off-by: Bryan O'Sullivan Cc: Eric W. Biederman Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 43539c38cd8edb915d1f0e1f55dcb70638b4cc8e Author: Eric W. Biederman Date: Wed Nov 8 17:44:57 2006 -0800 [PATCH] htirq: allow buggy drivers of buggy hardware to write the registers This patch adds a variant of ht_create_irq __ht_create_irq that takes an aditional parameter update that is a function that is called whenever we want to write to a drivers htirq configuration registers. This is needed to support the ipath_iba6110 because it's registers in the proper location are not actually conected to the hardware that controlls interrupt delivery. [bos@serpentine.com: fixes] Signed-off-by: Eric W. Biederman Cc: Andi Kleen Cc: Cc: Roland Dreier Signed-off-by: Bryan O'Sullivan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec68307cc5a8dc499e48693843bb42f6b6028458 Author: Eric W. Biederman Date: Wed Nov 8 17:44:57 2006 -0800 [PATCH] htirq: refactor so we only have one function that writes to the chip This refactoring actually optimizes the code a little by caching the value that we think the device is programmed with instead of reading it back from the hardware. Which simplifies the code a little and should speed things up a bit. This patch introduces the concept of a ht_irq_msg and modifies the architecture read/write routines to update this code. There is a minor consistency fix here as well as x86_64 forgot to initialize the htirq as masked. Signed-off-by: Eric W. Biederman Cc: Andi Kleen Acked-by: Bryan O'Sullivan Cc: Cc: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64d9fe6973a9348e5211f3cc9f04b899329caeb4 Author: Alexey Dobriyan Date: Wed Nov 8 17:44:56 2006 -0800 [PATCH] ipmi_si_intf.c: fix "&& 0xff" typos Signed-off-by: Alexey Dobriyan Acked-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 46d52b09fa6a2d1e313cb75ca352d6f466e67bd1 Author: Corey Minyard Date: Wed Nov 8 17:44:55 2006 -0800 [PATCH] IPMI: retry messages on certain error returns Some more errors from the IPMI send message command are retryable, but are not being retried by the IPMI code. Make sure they get retried. Signed-off-by: Corey Minyard Cc: Frederic Lelievre Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3ce6a0ead8c557e9acdc733addd23cbc206c7e3 Author: Corey Minyard Date: Wed Nov 8 17:44:52 2006 -0800 [PATCH] IPMI: Clean up the waiting message queue properly on unload A wrong function was being used to free a list; this fixes the problem. Otherwise, an oops at unload time was possible. But not likely, since you can't have any users when you unload the modules and it is very hard to get messages into this queue without users. Signed-off-by: Corey Minyard Cc: Patrick Schoeller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 13bb7e37e5081d03643e2bd64f3f5d21f32e7221 Author: Eric W. Biederman Date: Wed Nov 8 17:44:51 2006 -0800 [PATCH] sysctl: Undeprecate sys_sysctl The basic issue is that despite have been deprecated and warned about as a very bad thing in the man pages since its inception there are a few real users of sys_sysctl. It was my assumption that because sysctl had been deprecated for all of 2.6 there would be no user space users by this point, so I initially gave sys_sysctl a very short deprecation period. Now that I know there are a few real users the only sane way to proceed with deprecation is to push the time limit out to a year or two work and work with distributions that have big testing pools like fedora core to find these last remaining users. Which means that the sys_sysctl interface needs to be maintained in the meantime. Since I have provided a technical measure that allows us to add new sysctl entries without reserving more binary numbers I believe that is enough to fix the sys_sysctl binary interface maintenance problems, because there is no longer a need to change the binary interface at all. Since the sys_sysctl implementation needs to stay around for a while and the worst of the maintenance issues that caused us to occasionally break the ABI have been addressed I don't see any advantage in continuing with the removal of sys_sysctl. So instead of merely increasing the deprecation period this patch removes the deprecation of sys_sysctl and modifies the kernel to compile the code in by default. With committing to maintain sys_sysctl we get all of the advantages of a fast interface for anything that needs it. Currently sys_sysctl is about 5x faster than /proc/sys, for the same string data. Signed-off-by: Eric W. Biederman Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c33eb39976b67628452ebc791834c7d590e545e Author: KAMEZAWA Hiroyuki Date: Wed Nov 8 17:44:50 2006 -0800 [PATCH] ia64: select ACPI_NUMA if ACPI When ACPI && NUMA, pxm_to_node is used and it exists in drivers/acpi/numa.c Tony said: The patch makes sense ... if you pick both of "ACPI" and "NUMA", then you need (and should automatically be given) ACPI_NUMA too. The only open question is whether there is a better way of getting there. Perhaps with less configuration options in the first place? We are heading towards a future where so many systems will be NUMA that there would seem to be little benefit in keeping ACPI_NUMA separate from ACPI ... but perhaps we aren't quite there yet. Signed-off-by: KAMEZAWA Hiroyuki Cc: Len Brown Acked-by: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bdc052eccdc7893d075d3f1f7103594a458c8c4 Author: Masami Hiramatsu Date: Wed Nov 8 17:44:49 2006 -0800 [PATCH] kretprobe: fix kretprobe-booster to save regs and set status There are two bugs in the kretprobe-booster. 1) It doesn't make room for gs registers. 2) It doesn't change status of the current kprobe. This status will effect the fault handling. This patch fixes these bugs and, additionally, saves skipped registers for compatibility with the original kretprobe. Signed-off-by: Masami Hiramatsu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b438a23fb05b6566393f9f0a3987ea3dcc1c0c4 Author: Rafael J. Wysocki Date: Wed Nov 8 17:44:48 2006 -0800 [PATCH] md: do not freeze md threads for suspend If there's a swap file on a software RAID, it should be possible to use this file for saving the swsusp's suspend image. Also, this file should be available to the memory management subsystem when memory is being freed before the suspend image is created. For the above reasons it seems that md_threads should not be frozen during the suspend and the appended patch makes this happen, but then there is the question if they don't cause any data to be written to disks after the suspend image has been created, provided that all filesystems are frozen at that time. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0692c6b1cf5537b190f90fb5903f1af89a41b0a8 Author: NeilBrown Date: Wed Nov 8 17:44:48 2006 -0800 [PATCH] md: fix sizing problem with raid5-reshape and CONFIG_LBD=n I forgot to has the size-in-blocks to (loff_t) before shifting up to a size-in-bytes. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f4713036114dd13d1f4fe433b7f236250b65f5a Author: NeilBrown Date: Wed Nov 8 17:44:47 2006 -0800 [PATCH] md: change ONLINE/OFFLINE events to a single CHANGE event It turns out that CHANGE is preferred to ONLINE/OFFLINE for various reasons (not least of which being that udev understands it already). So remove the recently added KOBJ_OFFLINE (no-one is likely to care anyway) and change the ONLINE to a CHANGE event Cc: Kay Sievers Signed-off-by: Neil Brown Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5b9df697b166948f2770fb65d1b8809637a199b Author: Tigran Aivazian Date: Wed Nov 8 17:44:46 2006 -0800 [PATCH] Tigran has moved Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b196872cd65a06ad65853c4513e0d0f24452d32e Author: Adrian Bunk Date: Wed Nov 8 17:44:45 2006 -0800 [PATCH] drivers/telephony/ixj: fix an array overrun The Coverity checker noted that in drivers/telephony/ixj.c:ixj_build_filter_cadence(), filter_en[4] or filter_en[5] could be written to. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33184048dc4f9d5550d3b6a88c8e0ff92033eb6e Author: Jonathan E Brassow Date: Wed Nov 8 17:44:44 2006 -0800 [PATCH] dm: raid1: fix waiting for io on suspend All device-mapper targets must complete outstanding I/O before suspending. The mirror target generates I/O in its recovery phase and fails to wait for it. It needs to be tracked so we can ensure that it has completed before we suspend. [akpm@osdl.org: cleanup] Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d55fdf94998db1df9ee7f1def8806bfd0e5ff73 Author: Jonathan E Brassow Date: Wed Nov 8 17:44:43 2006 -0800 [PATCH] dm: multipath: fix rr_add_path order When adding paths to the round-robin path selector, their order gets inverted, which is not desirable. Fix by replacing list_add() with list_add_tail(). Signed-off-by: Jonathan E Brassow Signed-off-by: Alasdair G Kergon Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d287483d6d7a2d5b313aee155285f89b57d9cd4a Author: Alasdair G Kergon Date: Wed Nov 8 17:44:43 2006 -0800 [PATCH] dm: suspend: fix error path If the device is already suspended, just return the error and skip the code that would incorrectly wipe md->suspended_bdev. (This isn't currently a problem because existing code avoids calling this function if the device is already suspended.) Signed-off-by: Alasdair G Kergon Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc5ecdf48b529f6a2bd98ba26bfac39ca8cd8a5 Author: Alasdair G Kergon Date: Wed Nov 8 17:44:42 2006 -0800 [PATCH] dm: fix find_device race There is a race between dev_create() and find_device(). If the mdptr has not yet been stored against a device, find_device() needs to behave as though no device was found. It already returns NULL, but there is a dm_put() missing: it must drop the reference dm_get_md() took. The bug was introduced by dm-fix-mapped-device-ref-counting.patch. It manifests itself if another dm ioctl attempts to reference a newly-created device while the device creation ioctl is still running. The consequence is that the device cannot be removed until the machine is rebooted. Certain udev configurations can lead to this happening. Signed-off-by: Alasdair G Kergon Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c06cb8b1c4d25e5b4d7a2d7c2462619de1e0dbc4 Author: Vivek Goyal Date: Wed Nov 8 17:44:41 2006 -0800 [PATCH] i386: Force data segment to be 4K aligned o Currently there is no specific alignment restriction in linker script and in some cases it can be placed non 4K aligned addresses. This fails kexec which checks that segment to be loaded is page aligned. o I guess, it does not harm data segment to be 4K aligned. Signed-off-by: Vivek Goyal Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81ac95c5569d7a60ab5db6c1ccec56c12b3ebcb5 Author: J. Bruce Fields Date: Wed Nov 8 17:44:40 2006 -0800 [PATCH] nfsd4: fix open-create permissions In the case where an open creates the file, we shouldn't be rechecking permissions to open the file; the open succeeds regardless of what the new file's mode bits say. This patch fixes the problem, but only by introducing yet another parameter to nfsd_create_v3. This is ugly. This will be fixed by later patches. Signed-off-by: J. Bruce Fields Acked-by: Neil Brown Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af85852de0b32d92b14295aa6f5ba3a9ad044cf6 Author: J. Bruce Fields Date: Wed Nov 8 17:44:39 2006 -0800 [PATCH] nfsd4: reindent do_open_lookup() Minor rearrangement, cleanup of do_open_lookup(). No change in behavior. Signed-off-by: J. Bruce Fields Acked-by: Neil Brown Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 75b2bd55bd7724c727856fbdf3ab71d2e4287ac8 Author: Oleg Nesterov Date: Wed Nov 8 17:44:38 2006 -0800 [PATCH] A minor fix for set_mb() in Documentation/memory-barriers.txt set_mb() is used by set_current_state() which needs mb(), not wmb(). I think it would be right to assume that set_mb() implies mb(), all arches seem to do just this. Signed-off-by: Oleg Nesterov Acked-by: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d654c673d6394bc26e159b1057b357371b4ce1dc Author: Arjan van de Ven Date: Wed Nov 8 17:44:37 2006 -0800 [PATCH] Regression in 2.6.19-rc microcode driver If the microcode driver is built in (rather than module) there are some, ehm, interesting effects happening due to the new "call out to userspace" behavior that is introduced.. and which runs too early. The result is a boot hang; which is really nasty. The patch below is a minimally safe patch to fix this regression for 2.6.19 by just not requesting actual microcode updates during early boot. (That is a good idea in general anyway) The "real" fix is a lot more complex given the entire cpu hotplug scenario (during cpu hotplug you normally need to load the microcode as well); but the interactions for that are just really messy at this point; this fix at least makes it work and avoids a full detangle of hotplug. Signed-off-by: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e659c63998881e8f4a842edbe86ac8c5cdaee41 Author: Steve French Date: Wed Nov 8 23:10:46 2006 +0000 [CIFS] Fix mount failure when domain not specified Fixes Samba bugzilla #4176 When users do not specify their domain on mount, 2.6.18 started sending default domain instead of a null domain (which was the only way on some servers to use a default domain). Users of 2.6.18 who did not specify their domain name on mounts to certain common Windows servers that were members of a domain, but not the domain controller, would get mount failures which they did not get in 2.6.18 This fixes that issue and should remove complaints about mount behavior changing. Signed-off-by: Steve French commit 48797ebd9e8b16fddcd4ef062f792314a6b9219a Author: Linus Torvalds Date: Wed Nov 8 10:27:54 2006 -0800 x86-64: write IO APIC irq routing entries in correct order This is the x86-64 version of f9dadfa71bc594df09044da61d1c72701121d802 that did the same thing on i386. Since the "mask" bit is in the low word, when we write a new entry, we need to write the high word first, before we potentially unmask it. The exception is when we actually want to mask the interrupt, in which case we want to write the low word first to make sure that the high word doesn't change while the interrupt routing is still active. Signed-off-by: Linus Torvalds commit 6c0ffb9d2fd987c79c6cbb81c3f3011c63749b1a Author: Linus Torvalds Date: Wed Nov 8 10:23:03 2006 -0800 x86-64: clean up io-apic accesses This is just commit 130fe05dbc0114609cfef9815c0c5580b42decfa ported to x86-64, for all the same reasons. It cleans up the IO-APIC accesses in order to then fix the ordering issues. We move the accessor functions (that were only used by io_apic.c) out of a header file, and use proper memory-mapped accesses rather than making up our own "volatile" pointers. Signed-off-by: Linus Torvalds commit de8e7c12430a73654ae3cedbc45428d56c6b777b Author: Linus Torvalds Date: Wed Nov 8 10:09:28 2006 -0800 Revert "[PATCH] i386: Add MMCFG resources to i386 too" This reverts commit de09bddb9d6f96785be470c832b881e6d72d589f. It tried to reserve the MMCONFIG mmio memory ranges, but since the MMCONFIG information is broken and often bogus (which is why we don't dare use it most of the time _anyway_), it does more harm than good. Cc: Jeff Chua Cc: Adrian Bunk Cc: Andi Kleen Signed-off-by: Linus Torvalds commit 68ff6e8e0e203580ecb118319b5a3b53962edf5a Author: Jeff Garzik Date: Wed Nov 8 07:46:02 2006 -0500 [libata] sata_via: fix obvious typo Spotted by Martin Devera. Signed-off-by: Jeff Garzik commit 3406118cd34762a7bf6b1a4f1095f9ea7576a354 Author: Adrian Bunk Date: Mon Nov 6 09:48:48 2006 -0600 [PATCH] bcm43xx: Add error checking in bcm43xx_sprom_write() The Coverity checker noted that these "if (err)"'s couldn't ever be true. It seems the intention was to check the return values of the bcm43xx_pci_write_config32()'s? Signed-off-by: Adrian Bunk Signed-off-by: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit ecac598bcd1f151ee4760489bded625c147fb366 Author: Michael Buesch Date: Mon Nov 6 09:45:31 2006 -0600 [PATCH] bcm43xx: Drain TX status before starting IRQs Drain the Microcode TX-status-FIFO before we enable IRQs. This is required, because the FIFO may still have entries left from a previous run. Those would immediately fire after enabling IRQs and would lead to an oops in the DMA TXstatus handling code. Signed-off-by: Michael Buesch Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 375d9d71838970030c8e0bf0ac2abcc1a3487df8 Author: Steven Whitehouse Date: Tue Nov 7 15:09:17 2006 -0800 [DECNET]: Endianess fixes (try #2) Here are some fixes to endianess problems spotted by Al Viro. Signed-off-by: Steven Whitehouse Signed-off-by: David S. Miller commit af2c6a4aaa2253f1e29df8fb59a3d92174d30a33 Author: Michael Chan Date: Tue Nov 7 14:57:51 2006 -0800 [TG3]: Fix array overrun in tg3_read_partno(). Use proper upper limits for the loops and check for all error conditions. The problem was noticed by Adrian Bunk. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 25f484a62e41be8020b9a31bf50a792baa58d2d4 Author: Herbert Xu Date: Tue Nov 7 14:57:15 2006 -0800 [NET]: Set truesize in pskb_copy Since pskb_copy tacks on the non-linear bits from the original skb, it needs to count them in the truesize field of the new skb. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8e365eec04c86899fab5db0f49a9c98554069bd0 Author: Chris Lalancette Date: Tue Nov 7 14:56:19 2006 -0800 [NETPOLL]: Compute checksum properly in netpoll_send_udp(). Signed-off-by: Chris Lalancette Signed-off-by: David S. Miller commit da33e3eb4876c43b78fdc7b7068653239f28714a Author: Stephen Hemminger Date: Tue Nov 7 14:54:46 2006 -0800 [PKT_SCHED] sch_htb: Use hlist_del_init(). Otherwise we can hit paths that (legally) do multiple deletes on the same node and OOPS with the HLIST poison values there instead of NULL. Signed-off-by: David S. Miller commit 9e950efa20dc8037c27509666cba6999da9368e8 Author: John Heffner Date: Mon Nov 6 23:10:51 2006 -0800 [TCP]: Don't use highmem in tcp hash size calculation. This patch removes consideration of high memory when determining TCP hash table sizes. Taking into account high memory results in tcp_mem values that are too large. Signed-off-by: John Heffner Signed-off-by: David S. Miller commit 3b6a792f6ace33584897d1af08630c9acc0ce221 Author: Jiri Slaby Date: Mon Nov 6 14:34:48 2006 -0800 [NET]: kconfig, correct traffic shaper As Patrick McHardy suggested, Traffic Shaper is now obsolete and alternative to it is no longer CBQ, since its problems with virtual devices, alter Kconfig text to reflect this -- put a link to the traffic schedulers as a whole. Signed-off-by: Jiri Slaby Acked-by: Patrick McHardy Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 5fe14c851efedf95b0e7652a3a7b93ec899d1599 Author: Steve French Date: Tue Nov 7 19:26:33 2006 +0000 [CIFS] Explicitly set stat->blksize CIFS may perform I/O over the network in larger chunks than the page size, so it should explicitly set stat->blksize to ensure optimal I/O bandwidth Signed-off-by: Dave Kleikamp Signed-off-by: Steve French commit 4891d53956abd4ad9d94127c50d931124319a324 Author: Steve French Date: Tue Nov 7 16:31:16 2006 +0000 [CIFS] NFS stress test generates flood of "close with pending write" messages Informational/debug message was being logged too often. The error case of logging having to send a close with (presumably stuck on buggy server) pending writes is still logged. Signed-off-by: Steve French