commit 7dcca30a32aadb0520417521b0c44f42d09fe05c Author: Linus Torvalds Date: Sun Jul 8 16:32:17 2007 -0700 Linux 2.6.22 Woo-hoo. I'm sure somebody will report a "this doesn't compile, and I have a new root exploit" five minutes after release, but it still feels good ;) Signed-off-by: Linus Torvalds commit 1e5de2837c166535f9bb4232bfe97ea1f9fc7a1c Author: Linus Torvalds Date: Sun Jul 8 12:02:55 2007 -0700 Fix permission checking for the new utimensat() system call Commit 1c710c896eb461895d3c399e15bb5f20b39c9073 added the utimensat() system call, but didn't handle the case of checking for the writability of the target right, when the target was a file descriptor, not a filename. We cannot use vfs_permission(MAY_WRITE) for that case, and need to simply check whether the file descriptor is writable. The oops from using the wrong function was noticed and narrowed down by Markus Trippelsdorf. Cc: Ulrich Drepper Cc: Markus Trippelsdorf Cc: Andrew Morton Acked-by: Al Viro Signed-off-by: Linus Torvalds commit 4e99325b462ba18075768582621af74a6b79d2a5 Author: Peter Zijlstra Date: Sun Jul 8 01:13:06 2007 -0700 mm: double mark_page_accessed() in read_cache_page_async() Fix a post-2.6.21 regression. read_cache_page_async() has two invocations of mark_page_accessed() which will launch pages right onto the active list. Remove the first one, keeping the latter one. This avoids marking unwanted pages active (in the retry loop). Signed-off-by: Peter Zijlstra Acked-by: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4660897e6c2daa198fc8e3f47ae2a4aef69c80b0 Author: Bartlomiej Zolnierkiewicz Date: Sun Jul 8 15:21:58 2007 +0200 qd65xx: fix PIO mode selection PIO4 is a maximum PIO mode supported by a driver. Using "255" as a max_mode argument to ide_get_best_pio_mode() could result in wrong timings being used by a driver (for "pio" equal to 5) or OOPS (for "pio" values > 5 && < 255). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov Reviewed-by: Alan Cox commit 4c6c914e4c2e0f91775ce4051b5a800c55175462 Author: Uwe Koziolek Date: Sun Jul 8 15:21:58 2007 +0200 sis5513: adding PCI-ID The SiS966 has one additional PCI-ID 1180. If the chipset is using this PCI-ID, the primary channel is connected to the first PATA-port. The secondary channel is connected to SATA-ports in IDE emulation mode. The legacy IO-ports are used. The including of the PCI-ID into pata_sis is not sufficient, because the legacy driver in drivers/ide is initialized before pata_sis. Signed-off-by: Uwe Koziolek Signed-off-by: Bartlomiej Zolnierkiewicz commit 95511ad4342cd094e62c807f6631b9a19cc6b129 Author: Adrian Bunk Date: Sat Jul 7 06:14:02 2007 +0200 DLM must depend on SYSFS The dependency of DLM on SYSFS got lost in commit 6ed7257b46709e87d79ac2b6b819b7e0c9184998 resulting in the following compile error with CONFIG_DLM=y, CONFIG_SYSFS=n: <-- snip --> ... LD .tmp_vmlinux1 fs/built-in.o: In function `dlm_lockspace_init': /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/dlm/lockspace.c:231: undefined reference to `kernel_subsys' fs/built-in.o: In function `configfs_init': /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/fs/configfs/mount.c:143: undefined reference to `kernel_subsys' make[1]: *** [.tmp_vmlinux1] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 38377be88ab878f44c687dbd704d4d044b000c97 Author: Dave Jones Date: Fri Jul 6 14:59:43 2007 -0400 Clean up E7520/7320/7525 quirk printk. The printk level in this printk is bogus, as the previous printk didn't have a terminating \n resulting in .. Intel E7520/7320/7525 detected.<6>Disabling irq balancing and affinity It also never printed a \n at all in the case where we didn't do the quirk. Change it to only make noise if it actually does something useful. Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds commit 40e48eed84e65f909f5ac3d7a39547b70aacf90f Author: Adrian Bunk Date: Sat Jul 7 00:54:09 2007 +0200 include/linux/kallsyms.h must #include This patch fixes the following 2.6.22 regression with CONFIG_KALLSYMS=n: <-- snip --> ... CC arch/m32r/kernel/traps.o In file included from /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/arch/m32r/kernel/traps.c:14: /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h: In function 'lookup_symbol_name': /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h:66: error: 'ERANGE' undeclared (first use in this function) /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h:66: error: (Each undeclared identifier is reported only once /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h:66: error: for each function it appears in.) /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h: In function 'lookup_symbol_attrs': /home/bunk/linux/kernel-2.6/linux-2.6.22-rc6-mm1/include/linux/kallsyms.h:71: error: 'ERANGE' undeclared (first use in this function) make[2]: *** [arch/m32r/kernel/traps.o] Error 1 <-- snip --> Signed-off-by: Adrian Bunk Signed-off-by: Linus Torvalds commit 1c39858b5dd46004b12c5acd26d8df346bef8a10 Author: David Woodhouse Date: Sat Jul 7 14:58:39 2007 -0400 Fix use-after-free oops in Bluetooth HID. When cleaning up HIDP sessions, we currently close the ACL connection before deregistering the input device. Closing the ACL connection schedules a workqueue to remove the associated objects from sysfs, but the input device still refers to them -- and if the workqueue happens to run before the input device removal, the kernel will oops when trying to look up PHYSDEVPATH for the removed input device. Fix this by deregistering the input device before closing the connections. Signed-off-by: David Woodhouse Acked-by: Marcel Holtmann Signed-off-by: Linus Torvalds commit d23cf676d0e9d1fdc066d2dcb7f8bc0e2d4c75bd Author: Christoph Lameter Date: Fri Jul 6 11:17:32 2007 -0700 slub: remove useless EXPORT_SYMBOL kmem_cache_open is static. EXPORT_SYMBOL was leftover from some earlier time period where kmem_cache_open was usable outside of slub. (Fixes powerpc build error) Signed-off-by: Chrsitoph Lameter Cc: Johannes Berg Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c3000e031cf6a1f58228357d7c317f66e670627f Author: maximilian attems Date: Fri Jul 6 11:17:32 2007 -0700 MAINTAINERS new kernel janitors ml davem kindly moved the list from osdl to vger. Signed-of-by: maximilian attems Cc: Alexey Dobriyan Cc: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95069f89e80bb49ecc1b135bf85747e8dc6681f9 Author: Andres Salomon Date: Fri Jul 6 11:17:30 2007 -0700 GEODE: reboot fixup for geode machines with CS5536 boards Writing to MSR 0x51400017 forces a hard reset on CS5536-based machines, this has the reboot fixup do just that if such a board is detected. Acked-by: Jordan Crouse Signed-off-by: Andres Salomon Cc: Alan Cox Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23c1fb52961bc24bd3a8078eefc49eed533b2b38 Author: Peter Zijlstra Date: Fri Jul 6 13:35:34 2007 +0200 mm: fixup /proc/vmstat output Line up the vmstat_text with zone_stat_item enum zone_stat_item { /* First 128 byte cacheline (assuming 64 bit words) */ NR_FREE_PAGES, NR_INACTIVE, NR_ACTIVE, We current have nr_active and nr_inactive reversed. [ "OK with patch, though using initializers canbe handy to prevent such things in future: static const char * const vmstat_text[] = { [NR_FREE_PAGES] = "nr_free_pages", ..." - Alexey ] Signed-off-by: Peter Zijlstra Acked-by: Alexey Dobriyan Signed-off-by: Linus Torvalds commit 0da2f0f164f098bb4447c714b552ac1681b2d6e8 Author: Yoann Padioleau Date: Fri Jul 6 02:39:56 2007 -0700 potential compiler error, irqfunc caller sites update In 7d12e780e003f93433d49ce78cfedf4b4c52adc5 David Howells performed this evolution: "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers" He correctly updated many of the function definitions that were using this extra regs pointer parameter but forgot to update some caller sites of those functions. The reason the modifications was not properly done on all drivers is that some drivers were rarely compiled because they are for AMIGA, or that some code sites were inside #ifdefs where the option is not set or inside #if 0. Here is the semantic patch that found the occurences and fixed the problem. @ rule1 @ identifier fn; identifier irq, dev_id; typedef irqreturn_t; @@ static irqreturn_t fn(int irq, void *dev_id) { ... } @@ identifier rule1.fn; expression E1, E2, E3; @@ fn(E1, E2 - ,E3 ) Signed-off-by: Yoann Padioleau Cc: "David S. Miller" Cc: Jeff Garzik Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 071922c08cef62e194d83db1cc4fa75892c69651 Author: Vivek Goyal Date: Fri Jul 6 02:39:55 2007 -0700 i386: es7000 build breakage fix o Commit 1833d6bc72893265f22addd79cf52e6987496e0f broke the build if compiled with CONFIG_ES7000=y and CONFIG_X86_GENERICARCH=n arch/i386/kernel/built-in.o(.init.text+0x4fa9): In function `acpi_parse_madt': : undefined reference to `acpi_madt_oem_check' arch/i386/kernel/built-in.o(.init.text+0x7406): In function `smp_read_mpc': : undefined reference to `mps_oem_check' arch/i386/kernel/built-in.o(.init.text+0x8990): In function `connect_bsp_APIC': : undefined reference to `enable_apic_mode' make: *** [.tmp_vmlinux1] Error 1 o Fix the build issue. Provided the definitions of missing functions. o Don't have ES7000 machine. Only compile tested. Cc: Len Brown Cc: Natalie Protasevich Cc: Roland Dreier Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41a5311465b9de6d18e78b733a2c6e1b33e89be8 Author: Bjorn Helgaas Date: Fri Jul 6 02:39:54 2007 -0700 PNP SMCf010 quirk: work around Toshiba Portege 4000 ACPI issues When we enable the SMCf010 IR device, the Toshiba Portege 4000 BIOS claims the device is working, but it really isn't configured correctly. The BIOS *will* configure it, but only if we call _SRS after (1) reversing the order of the SIR and FIR I/O port regions and (2) changing the IRQ from active-high to active-low. This patch addresses the 2.6.22 regression: "no irda0 interface (2.6.21 was OK), smsc does not find chip" I tested this on a Portege 4000. The smsc-ircc2 driver correctly detects the device, and "irattach irda0 -s && irdadump" shows transmitted and received packets. Signed-off-by: Bjorn Helgaas Cc: Andrey Borzenkov Cc: Samuel Ortiz Cc: "Linus Walleij (LD/EAB)" Cc: Michal Piotrowski Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d57d973101e87b2e30ccfa899fe36c4b2e32d217 Author: Alexander Graf Date: Fri Jul 6 02:39:53 2007 -0700 fix logic error in ipc compat semctl() When calling a semctl(IPC_STAT) without IPC_64 the check if the memory is unevaluated. This patch fixes this. Signed-off-by: Alexander Graf Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0db19c412ce260a293b06b4bab66550b84411bfc Author: David Woodhouse Date: Fri Jul 6 02:39:52 2007 -0700 x86_64: fix headers_install A bug in headers_install for ARCH=x86_64 yields an asm/ directory full of files all of which are using the same #ifdef guard, "__ASM_STUB_" with no postfix. So the second and later asm files #included in the same C file (often through standard headers like ioctl.h) yields no symbols. Strangeness with the Ubuntu 'tell me if I support something that's not explcitly mentioned in POSIX, and I'll strip it out' shell, I believe. We don't need the 'export' but we do need a semicolon at the end of the FNAME line: Signed-off-by: David Woodhouse Signed-off-by: Rob Landley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d25c1ba2fa1a9a1a4f68bef8edb0efefd79f0012 Author: Loic Prylli Date: Fri Jul 6 02:39:52 2007 -0700 MTRR: Fix race causing set_mtrr to go into infinite loop Processors synchronization in set_mtrr requires the .gate field to be set after .count field is properly initialized. Without an explicit barrier, the compiler was reordering those memory stores. That was sometimes causing a processor (in ipi_handler) to see the .gate change and decrement .count before the latter is set by set_mtrr() (which then hangs in a infinite loop with irqs disabled). Signed-off-by: Loic Prylli Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e2e99f0e4aa6363e8515ed17011c210c8f1b52a Author: Jason Wessel Date: Fri Jul 6 02:39:50 2007 -0700 i386: fix regression, endless loop in ptrace singlestep over an int80 The commit 635cf99a80f4ebee59d70eb64bb85ce829e4591f introduced a regression. Executing a ptrace single step after certain int80 accesses will infinitely loop and never advance the PC. The TIF_SINGLESTEP check should be done on the return from the syscall and not before it. I loops on each single step on the pop right after the int80 which writes out to the console. At that point you can issue as many single steps as you want and it will not advance any further. The test case is below: /* Test whether singlestep through an int80 syscall works. */ #define _GNU_SOURCE #include #include #include #include #include #include #include #include static int child, status; static struct user_regs_struct regs; static void do_child() { char str[80] = "child: int80 test\n"; ptrace(PTRACE_TRACEME, 0, 0, 0); kill(getpid(), SIGUSR1); write(fileno(stdout),str,strlen(str)); asm ("int $0x80" : : "a" (20)); /* getpid */ } static void do_parent() { unsigned long eip, expected = 0; again: waitpid(child, &status, 0); if (WIFEXITED(status) || WIFSIGNALED(status)) return; if (WIFSTOPPED(status)) { ptrace(PTRACE_GETREGS, child, 0, ®s); eip = regs.eip; if (expected) fprintf(stderr, "child stop @ %08lx, expected %08lx %s\n", eip, expected, eip == expected ? "" : " <== ERROR"); if (*(unsigned short *)eip == 0x80cd) { fprintf(stderr, "int 0x80 at %08x\n", (unsigned int)eip); expected = eip + 2; } else expected = 0; ptrace(PTRACE_SINGLESTEP, child, NULL, NULL); } goto again; } int main(int argc, char * const argv[]) { child = fork(); if (child) do_parent(); else do_child(); return 0; } Signed-off-by: Jason Wessel Cc: Jeremy Fitzhardinge Cc: Cc: Chuck Ebbert <76306.1226@compuserve.com> Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ef7320edb1dd2cf6c969d1dcef4a9499a42f24da Author: Michael Ellerman Date: Fri Jul 6 02:39:49 2007 -0700 Fix elf_core_dump() when writing arch specific notes (spu coredumps) elf_core_dump() supports dumping arch specific ELF notes, via the #define ELF_CORE_WRITE_EXTRA_NOTES. Currently the only user of this is the powerpc spu coredump code. There is a bug in the handling of foffset WRT the arch notes, which causes us to erroneously increment foffset by the size of the arch notes, leaving a block of zeroes in the file, and causing all subsequent data in the file to be at + . eg: LOAD 0x050000 0x00100000 0x00000000 0x20000 0x20000 R E 0x10000 Tells us we should have a chunk of data at 0x50000. The truth is the data is at 0x90dbc = 0x50000 + 0x40dbc (the size of the arch notes). This bug prevents gdb from reading the core file correctly. The simplest fix is to simply remember the size of the arch notes, and add it to foffset after we've written the arch notes. The only drawback is that if the arch code doesn't write as many bytes as it said it would, we end up with a broken core dump again. For now I think that's a reasonable requirement. Tested on a Cell blade, gdb no longer complains about the core file being bogus. While I'm here I should point out that the spu coredump code does not work if we're dumping to a pipe - we'll have to wait for 23 to fix that. Signed-off-by: Michael Ellerman Acked-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b3e975e4a06f1710693c5aa51b8f98facfa9863 Author: Ralf Baechle Date: Thu Jun 21 00:22:34 2007 +0100 [MIPS] Fix scheduling latency issue on 24K, 34K and 74K cores The idle loop goes to sleep using the WAIT instruction if !need_resched(). This has is suffering from from a race condition that if if just after need_resched has returned 0 an interrupt might set TIF_NEED_RESCHED but we've just completed the test so go to sleep anyway. This would be trivial to fix by just disabling interrupts during that sequence as in: local_irq_disable(); if (!need_resched()) __asm__("wait"); local_irq_enable(); but the processor architecture leaves it undefined if a processor calling WAIT with interrupts disabled will ever restart its pipeline and indeed some processors have made use of the freedom provided by the architecture definition. This has been resolved and the Config7.WII bit indicates that the use of WAIT is safe on 24K, 24KE and 34K cores. It also is safe on 74K starting revision 2.1.0 so enable the use of WAIT with interrupts disabled for 74K based on a c0_prid of at least that. Signed-off-by: Ralf Baechle commit fde97822a295da9dffa4af643b49a58ffc4516ad Author: Ralf Baechle Date: Fri Jul 6 14:40:05 2007 +0100 [MIPS] Add macros to encode processor revisions. Older processors used to encode processor version and revision in two 4-bit bitfields, the 4K seems to simply count up and even newer MTI cores have switched to use the 8-bits as 3:3:2 bitfield with the last field as the patch number. Signed-off-by: Ralf Baechle commit 075c733e19ce7530b53b78151cc4d303c8f64548 Author: Ralf Baechle Date: Thu Jul 5 08:14:21 2007 +0100 [MIPS] RM7000: Enable ICACHE_REFILLS_WORKAROUND_WAR. The RM7000 processors and the E9000 cores have a bug (though PMC-Sierra opposes it being called that) where invalid instructions in the same I-cache line worth of instructions being fetched may case spurious exceptions. The workaround for this was only enabled for E9000 cores; enable it also for all RM7000-based platforms. Signed-off-by: Ralf Baechle commit 9349075a15a876f8e82f433ec84f99d19d3e77f9 Author: Ralf Baechle Date: Thu Jul 5 17:39:48 2007 +0100 [MIPS] SMTC: Fix cut'n'paste bug in Kconfig.debug This effectivly turned the SMTC_IDLE_HOOK_DEBUG debug option into a no-op. Signed-off-by: Ralf Baechle commit f7c2778151f32581ea9ec567d01d5d85209fcfe6 Author: Ralf Baechle Date: Tue Jun 26 20:19:00 2007 +0200 [MIPS] Change libgcc-style functions from lib-y to obj-y Reported by Eugene Surovegin . If only modules were users of these functions they did not get linked into the kernel proper, so later module loads would fail as well. Signed-off-by: Ralf Baechle commit c3e838a2cbb0f14af4d718160933523ac4c37adf Author: Chris Dearman Date: Thu Jun 21 12:59:57 2007 +0100 [MIPS] Fix timer/performance interrupt detection Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 6fb88ce04f545ca7da15a7b447783bb7a4615511 Author: Ralf Baechle Date: Thu Jun 7 08:44:32 2007 +0100 [MIPS] AP/SP: Avoid triggering the 34K E125 performance issue C0_status doesn't need to be initialized at this point anyway; the register will be initialized later. Signed-off-by: Ralf Baechle commit 5a1970959053143f6674f6d98c259452763a2f22 Author: Andrew Sharp Date: Fri Mar 23 12:15:18 2007 -0700 [MIPS] 64-bit TO_PHYS_MASK macro for RM9000 processors Signed-off-by: Andrew Sharp Signed-off-by: Ralf Baechle commit 25442cafb8cc3d979418caccabc91260707a0947 Author: Jarek Poplawski Date: Thu Jul 5 17:42:44 2007 -0700 [NETPOLL]: Fixups for 'fix soft lockup when removing module' >From my recent patch: > > #1 > > Until kernel ver. 2.6.21 (including) cancel_rearming_delayed_work() > > required a work function should always (unconditionally) rearm with > > delay > 0 - otherwise it would endlessly loop. This patch replaces > > this function with cancel_delayed_work(). Later kernel versions don't > > require this, so here it's only for uniformity. But Oleg Nesterov found: > But 2.6.22 doesn't need this change, why it was merged? > > In fact, I suspect this change adds a race, ... His description was right (thanks), so this patch reverts #1. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 94b83419e5b56a87410fd9c9939f0081fc155d65 Author: Adrian Bunk Date: Thu Jul 5 17:06:21 2007 -0700 [NET]: net/core/netevent.c should #include Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 25845b5155b55cd77e42655ec24161ba3feffa47 Author: Jing Min Zhao Date: Thu Jul 5 17:05:01 2007 -0700 [NETFILTER]: nf_conntrack_h323: add checking of out-of-range on choices' index values Choices' index values may be out of range while still encoded in the fixed length bit-field. This bug may cause access to undefined types (NULL pointers) and thus crashes (Reported by Zhongling Wen). This patch also adds checking of decode flag when decoding SEQUENCEs. Signed-off-by: Jing Min Zhao Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 2cd052e44329dd2b42eb958f8f346b053de6e2cd Author: Johannes Berg Date: Thu Jul 5 17:03:09 2007 -0700 [NET] skbuff: remove export of static symbol skb_clone_fraglist is static so it shouldn't be exported. Signed-off-by: Johannes Berg Signed-off-by: David S. Miller commit 1669d857a25d62c6d0a6d9216e01c21287a7c844 Author: Vlad Yasevich Date: Tue Jul 3 14:29:23 2007 -0400 SCTP: Add scope_id validation for link-local binds SCTP currently permits users to bind to link-local addresses, but doesn't verify that the scope id specified at bind matches the interface that the address is configured on. It was report that this can hang a system. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit f50f95cab735ebe2993e8d1549f0615bad05f3f2 Author: Vlad Yasevich Date: Tue Jul 3 12:47:40 2007 -0400 SCTP: Check to make sure file is valid before setting timeout In-kernel sockets created with sock_create_kern don't usually have a file and file descriptor allocated to them. As a result, when SCTP tries to check the non-blocking flag, we Oops when dereferencing a NULL file pointer. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3663c306609a9322a484fba28b3da66142c50ee9 Author: Vlad Yasevich Date: Tue Jul 3 12:43:12 2007 -0400 SCTP: Fix thinko in sctp_copy_laddrs() Correctly dereference bytes_copied in sctp_copy_laddrs(). I totally must have spaced when doing this. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 87a927c715789853cc8331d76039a2fd657a832a Author: David Woodhouse Date: Wed Jul 4 21:26:44 2007 -0400 Fix slab redzone alignment Commit b46b8f19c9cd435ecac4d9d12b39d78c137ecd66 fixed a couple of bugs by switching the redzone to 64 bits. Unfortunately, it neglected to ensure that the _second_ redzone, after the slab object, is aligned correctly. This caused illegal instruction faults on sparc32, which for some reason not entirely clear to me are not trapped and fixed up. Two things need to be done to fix this: - increase the object size, rounding up to alignof(long long) so that the second redzone can be aligned correctly. - If SLAB_STORE_USER is set but alignof(long long)==8, allow a full 64 bits of space for the user word at the end of the buffer, even though we may not _use_ the whole 64 bits. This patch should be a no-op on any 64-bit architecture or any 32-bit architecture where alignof(long long) == 4. Of the others, it's tested on ppc32 by myself and a very similar patch was tested on sparc32 by Mark Fortescue, who reported the new problem. Also, fix the conditions for FORCED_DEBUG, which hadn't been adjusted to the new sizes. Again noticed by Mark. Signed-off-by: David Woodhouse Signed-off-by: Linus Torvalds commit 082f47a79bfc8a526b9a3e14a0ae9504fc09cc12 Author: Russell King Date: Thu Jul 5 19:59:51 2007 +0100 [ARM] always allow dump_stack() to produce a backtrace Don't make this dependent on CONFIG_DEBUG_KERNEL - if we hit a WARN_ON we need the stack trace to work out how we got to that point. Signed-off-by: Russell King commit 2bcb1b7de9eeea969a25d5f2b4511195cca9f2a2 Author: Linus Torvalds Date: Wed Jul 4 15:24:39 2007 -0700 Remove the blink driver Yeah, we could have just disabled it, but there's work on a new one that isn't as fundamentally broken, so there really doesn't seem to be any point in keeping it around. The recent timer cleanup broke the only valid use, and when I say "valid", I obviously mean "totally broken". So it's not like it works, or really even can work in the current format that uses the unsafe "panic" LED blinking routines.. Signed-off-by: Linus Torvalds commit 7b9c7b4d07fd8981193a2c4ecb650566f42d1219 Author: Russell King Date: Wed Jul 4 21:16:33 2007 +0100 [ARM] Fix non-page aligned boot time mappings AT91SAM9260 stopped booting with the recent changes to MM initialisation - it was asking for a non-aligned virtual address which caused loops to be non-terminal. Fix this by rounding virtual addresses down, but remember to include the offset in the length, and round the length up to the following page. This means that asking for a mapping of 4K starting at 2K into a page maps two pages as one would expect. Signed-off-by: Russell King commit 8c976e34516c9e134488babbb95af182340370c8 Author: Ralf Baechle Date: Tue Jul 3 18:25:58 2007 +0200 [MIPS] VSMP: Fix initialization ordering bug. Signed-off-by: Ralf Baechle commit 83d0f2332edb3001617e6a292c4412ae5f2bf659 Author: Atsushi Nemoto Date: Tue May 29 23:30:04 2007 +0900 [MIPS] Add whitelists for checksyscalls.sh Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit eaf2b8dca47cc1d4ca7fd83f37604e0f5478b33a Author: Maciej W. Rozycki Date: Tue May 29 15:03:56 2007 +0100 [MIPS] die(): Properly declare as non-returning This marks the declaration of die() correctly, removing "control reaches end of non-void function" warnings from non-void functions that die() at the end. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit ab012ebf9ebb5f3392e74c1666e7473b8567aeb0 Author: Kumba Date: Fri May 25 02:26:47 2007 -0400 [MIPS] Fix include wrapper symbol definitions in IP32 code. Some IP35 defines snuck into some IP32-specific code during the DMA re-write. Signed-off-by: Joshua Kinard Signed-off-by: Ralf Baechle commit e2baf4ed168589af8224d51f0ac50e65bcdee3f6 Author: David Woodhouse Date: Tue Jul 3 16:51:19 2007 -0400 [JFFS2] Fix readinode failure when read_dnode() detects CRC failure. We should have stopped returning 1 from read_dnode() to indicate failure. We can just mark the damn thing obsolete immediately. But I missed a case where we don't. Signed-off-by: David Woodhouse commit ba609a9d97ba231c3d94443c50579ceb5fc33867 Author: Linus Torvalds Date: Tue Jul 3 18:27:53 2007 -0700 Remove some unused variables When Andi reverted the HPET resource reservation (in commit 0f8dc2f06560e2ca126d1670a24126ba08357d38), he didn't remove the now unused variables, which just causes gcc to be noisy. Signed-off-by: Linus Torvalds commit fcb82f8835c1d71b4fe5de1d9894f45370f80dab Author: Zach Brown Date: Tue Jul 3 15:28:55 2007 -0700 dio: remove bogus refcounting BUG_ON Badari Pulavarty reported a case of this BUG_ON is triggering during testing. It's completely bogus and should be removed. It's trying to notice if we left references to the dio hanging around in the sync case. They should have been dropped as IO completed while this path was in dio_await_completion(). This condition will also be checked, via some twisty logic, by the BUG_ON(ret != -EIOCBQUEUED) a few lines lower. So to start this BUG_ON() is redundant. More fatally, it's dereferencing dio-> after having dropped its reference. It's only safe to dereference the dio after releasing the lock if the final reference was just dropped. Another CPU might free the dio in bio completion and reuse the memory after this path drops the dio lock but before the BUG_ON() is evaluated. This patch passed aio+dio regression unit tests and aio-stress on ext3. Signed-off-by: Zach Brown Cc: Badari Pulavarty Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 5dcccd8d7eae870d85c3f175fd0823d3da07d0e3 Author: Andi Kleen Date: Wed Jul 4 01:38:13 2007 +0200 Revert perfctr reservation to 2.6.21 state With this change it works again when the nmi watchdog is disabled. Signed-off-by: Andi Kleen Cc: Björn Steinbrink Cc: Stephane Eranian Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 0f8dc2f06560e2ca126d1670a24126ba08357d38 Author: Andi Kleen Date: Fri Jun 29 16:16:36 2007 +0200 Revert HPET resource reservation Matthias Lenk reports that the PCI subsystem would move the HPET on SB400/SB600-based systems, where the HPET is in BAR1 of the SMbus controller. The reason? The ACPI layer registered the PCI MMIO range as being busy too early, before PCI enumeration had happened, causing the PCI layer to decide that it should relocate the resources somewhere else. Firmware resources should be marked busy _after_ the PCI enumeration and probing has happened, not before. Remove the too-early reservation, we'll fix it up to do it properly later. In the meantime, this solves the regression. Tested-by: Matthias Lenk Cc: Aaron Durbin Cc: Andrew Morton Signed-off-by: Linus Torvalds commit dbc55faa64c12f4c9fab6e2bd131d771bc026ed1 Author: Christoph Lameter Date: Tue Jul 3 09:31:04 2007 -0700 SLUB: Make lockdep happy by not calling add_partial with interrupts enabled during bootstrap If we move the local_irq_enable() to the end of the function then add_partial() in early_kmem_cache_node_alloc() will be called with interrupts disabled like during regular operations. This makes lockdep happy. Signed-off-by: Christoph Lameter Tested-by: Andre Noll Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 746976a301ac9c9aa10d7d42454f8d6cdad8ff2b Author: Thomas Gleixner Date: Tue Jul 3 20:05:20 2007 +0200 NTP: remove clock_was_set() call to prevent deadlock The clock_was_set() call in seconds_overflow() which happens only when leap seconds are inserted / deleted is wrong in two aspects: 1. it results in a call to on_each_cpu() with interrupts disabled 2. it is potential deadlock source vs. call_lock in smp_call_function() The only possible side effect of the removal might be, that an absolute CLOCK_REALTIME timer fires 1 second too late, in the rare case of leap second deletion and an absolute CLOCK_REALTIME timer which expires in the affected time frame. It will never fire too early. This was probably observed by the reporter of a June 30th -> July 1st hang: http://lkml.org/lkml/2007/7/3/103 A similar problem was observed by Dave Jones, who provided a screen shot with a lockdep back trace, which allowed to analyse the problem. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit d61bcce9c1aa2c9f8a768d73c4c517f81d226725 Author: Andrew Morton Date: Tue Jul 3 22:28:36 2007 +0200 ide: ide_scan_pcibus(): check __pci_register_driver return value drivers/ide/setup-pci.c: In function 'ide_scan_pcibus': drivers/ide/setup-pci.c:879: warning: ignoring return value of '__pci_register_driver', declared with attribute warn_unused_result Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 8006bf56e360a4db71d304df778870a371a9e930 Author: Albert Lee Date: Tue Jul 3 22:28:36 2007 +0200 ide: pdc202xx_new PLL input clock fix Recently the PLL input clock of Promise 2027x is sometimes detected higher than expected (e.g. 20.027 MHz compared to 16.714 MHz). It seems sometimes the mdelay() function is not as precise as it used to be. Per Alan's advice, HT or power management might affect the precision of mdelay(). This patch calls gettimeofday() to measure the time elapsed and calculate the PLL input clock accordingly. Signed-off-by: Albert Lee Cc: Alan Cox Cc: Bahadir Balban Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 52374f890c1d0d64148d55a20d995a0b3e0ae987 Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 3 22:28:35 2007 +0200 it821x: fix incorrect SWDMA mask SWDMA modes are unsupported by it821x. Attempts to tune SWDMA modes always fail (due to sanity check in ->speedproc) and result in PIO being tuned. * Fix incorrect SWDMA mask so core code won't try these modes and will just tune PIO if no other DMA modes are available. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Sergei Shtylyov commit 603a0e2c0a160ad8c2d00d71a700bb95482be5de Author: Bartlomiej Zolnierkiewicz Date: Tue Jul 3 22:28:35 2007 +0200 amd74xx: resume fix * Driver can't skip programming transfer mode on the device in amd_set_drive() (similar fix has been applied to via82cxxx driver ages ago). * While at it remove redundant warning (ide_config_drive_speed() already produces more valuable one). * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit 96dcc08b0c6b730474469b10ed5eeda06e617deb Author: Sergei Shtylyov Date: Tue Jul 3 22:28:35 2007 +0200 hpt366: use correct enablebits for HPT36x The HPT36x chips finally turned out to have the channel enable bits -- however, badly implemented. Make use of them despite it's probably only going to burden the driver's code -- assuming both channels are always enabled by the HighPoint BIOS anyway... Signed-off-by: Sergei Shtylyov Acked-by: Linas Vepstas Cc: michal.kepien@poczta.onet.pl Signed-off-by: Bartlomiej Zolnierkiewicz commit 783353b1d3d1ed3ae4a0bd4ea4557bd4d77aa04e Author: Sergei Shtylyov Date: Tue Jul 3 22:28:35 2007 +0200 hpt366: blacklist MAXTOR STM3320620A for UltraDMA/66 Add the MAXTOR STM3320620A drive into the UltraDMA/66 mode blacklist for the HPT36x chips. Signed-off-by: Sergei Shtylyov Acked-by: Linas Vepstas Signed-off-by: Bartlomiej Zolnierkiewicz commit 785955752fde4c555a1d9f74ddfe1f7aca3e0c7f Author: Alan Cox Date: Tue Jul 3 22:28:35 2007 +0200 ide: Fix a theoretical Ooops case Found by a static analyser. It is in theory possible we dereference dev->id when it has become invalid. Re-order to avoid this. Not needed for new-ide as we no longer support the crazy exabyte nest stuff Signed-off-by: Alan Cox Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit b42fa133110fa952299fa76cbe91226c14838261 Author: Masatake YAMATO Date: Tue Jul 3 22:28:34 2007 +0200 ide: never called printk statement in ide-taskfile.c::wait_drive_not_busy Look at wait_drive_not_busy in drivers/ide/ide-taskfile.c: static u8 wait_drive_not_busy(ide_drive_t *drive) { ide_hwif_t *hwif = HWIF(drive); int retries = 100; u8 stat; /* * Last sector was transfered, wait until drive is ready. * This can take up to 10 usec, but we will wait max 1 ms * (drive_cmd_intr() waits that long). */ while (((stat = hwif->INB(IDE_STATUS_REG)) & BUSY_STAT) && retries--) udelay(10); if (!retries) printk(KERN_ERR "%s: drive still BUSY!\n", drive->name); return stat; } `printk' is never called because `retries' never holds zero at the outside of `while' loop: when `retries' holds zero at the while's loop condition, `retries' will hold -1 at the if condition. Signed-off-by: Masatake YAMATO Cc: Chuck Ebbert Cc: joe@perches.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 1fb4a17f6e47d86b25bfc4fd9df4301bca09c999 Author: Hartmut Birr Date: Mon Jul 2 13:39:41 2007 -0300 V4L/DVB (5822): Fix the return value in ttpci_budget_init() if the call to budget_register() fails in ttpci_budget_int(), ttpci_budget_init() returns success. The attached patch will fix this problem. Signed-off-by: Hartmut Birr Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 1e4597e8f0049dccedb0e011934007309fa2aeab Author: Oleg Nesterov Date: Mon Jul 2 12:26:20 2007 -0300 V4L/DVB (5818): CinergyT2: fix flush_workqueue() vs work->func() deadlock Spotted and tested by Thomas Sattler . cinergyT2.c does cancel_delayed_work() + flush_scheduled_work() while holding cinergyt2->sem. This leads to deadlock because work->func() needs the same mutex to complete. Another bug is that this code in fact can't reliably stop the re-arming delayed_work. Convert this code to use cancel_rearming_delayed_work() and move it out of ->sem. Another mutex, ->wq_sem, was added to protect against the concurrent open/resume. This patch is a horrible hack to fix the lockup which happens in practice. As Dmitry Torokhov pointed out this driver has other problems and needs further changes. Signed-off-by: Oleg Nesterov Signed-off-by: Mauro Carvalho Chehab commit f057131fb6eb2c45f6023e3da41ccd6e4e71aee9 Author: Jelle Foks Date: Mon May 21 14:56:17 2007 -0300 V4L/DVB (5816): Cx88-blackbird: fix vidioc_g_tuner never ending list of tuners v4l-info and other programs would loop indefinitely while querying the tuners for cx88-blackbird cards. The cause was that vidioc_g_tuner didn't return an error value for qctrl->id != 0, making the application think there is a never ending list of tuners... This patch adds the same index check as done in vidioc_g_tuner() in cx88-video. Signed-off-by: Jelle Foks Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 333408f21590d50397f3004e3f87070fa8f52c51 Author: Trent Piepho Date: Tue Jul 3 15:08:10 2007 -0300 V4L/DVB (5808): Bttv: fix v4l1 breaking the driver If one uses a V4L *one* application, such as vlc or mplayer's v4l driver, as the first user after the driver is loaded, the driver wedges itself and will never capture properly. Even if one uses a V4L2 application later, it still won't work. If one uses a V4L *two* application first, such as tvtime or mplayer's v4l2 driver, then the driver will be ok. One can then run a V4L1 application, and it will work. It turns out the problem is with norm changing and the crop support that was added in 2.6.21. The driver defaults to PAL, and keeps the last norm it was set too across opens. If one changes the norm via V4L1, the cropping parameters are not reset like they should be, and they'll remain broken across device opens. This patch removes the direct setting of btv->tvnorm in the V4L1 ioctl VIDIOCSCHAN handler. The norm is set via the existing call to set_input(), which calls set_tvnorm(), which will reset the cropping values now that it is able to detect the norm change. Signed-off-by: Trent Piepho Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 872aad45d6174570dd2e1defc3efee50f2cfcc72 Author: Alan Cox Date: Tue Jul 3 15:14:05 2007 +0100 pata_pcmcia: Switch to ata_sff_port_start PCMCIA doesn't use DMA and as this driver is used on many platforms we don't want it to fail on those that define the DMA alloc API as a NULL return Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit a0ac38f16045f90dbbcd265b638cd7254c53aa65 Author: Alan Cox Date: Tue Jul 3 15:15:13 2007 +0100 pata_pdc202xx_old: Correct cable detect logic We got it backwards and now the other detects are fixed it shows up Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d6f4d5eafdd0bbdaa166a0650d27045c26ca63dd Author: Alan Cox Date: Tue Jul 3 15:11:30 2007 +0100 ata_generic: Check the right register for the DMA enabled flags Mirrors change in IT821X Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit ee5815023527dd579ada340786e329ff6c5c0eea Author: Chuck Ebbert Date: Mon Jun 25 19:13:32 2007 -0400 pata_ali: fix UDMA settings This patch was found to fix some of the problems with the pata_ali driver. https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=156482 Signed-off-by: Jeff Garzik commit d9f9c6bc91c14f53ffa782ffcd42259ecae1d38c Author: Florian Attenberger Date: Mon Jul 2 17:09:29 2007 +0200 sata_mv: PCI-ID for Adaptec 1430SA SATA Controller Signed-off-by: Florian Attenberger Signed-off-by: Jeff Garzik commit 4031826b3ca40982880f6b9f2282c7d7fad60d77 Author: Tejun Heo Date: Tue Jul 3 01:38:47 2007 +0900 libata: fix assigned IRQ reporting host->irq and host->irq2 should be set before ata_host_register() for IRQ reporting to work. Move up host->irq assignment in ata_host_activate() and add it to ata_pci_init_one() native path and pata_cs5520. The port info printing in ata_host_register() doesn't fit all the different controllers. It should probably be moved out to LLDs with some helpers in the future. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit aa2e09da2a332e748532aa2a71b090e7e7c3203d Author: Len Brown Date: Mon Jul 2 23:57:45 2007 -0400 ACPI: fix acpi_osi=!Linux Need to check for special case "acpi_osi=!Linux" before handling the general case "acpi_osi=!*", or it will have no effect. Signed-off-by: Len Brown Signed-off-by: Linus Torvalds commit 841adfca9c5fc0fec6b1f0b2e5eb7a3b239a7730 Author: Ralph Campbell Date: Fri Jun 29 11:37:56 2007 -0700 IPoIB/cm: Partial error clean up unmaps wrong address If a page can't be allocated for the frag list of a skb, the code to unmap the partially allocated list is off by one. For exaple, if 'frags' equals one, i == 0, and the alloc_page() fails, then the old loop would have unmapped mapping[1] which is uninitialized. The same would happen if the call to ib_dma_map_page() failed. Signed-off-by: Ralph Campbell Acked-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 786f238e4f2f0d962831ee3228f2327133eb082a Author: Jack Morgenstein Date: Mon Jul 2 17:36:18 2007 +0300 mlx4_core: Add new Mellanox device IDs Add new IDs for PCIe gen2 devices. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 7718457dc8fd98a9f61a5e42653161bac3904a65 Author: Marco Roeland Date: Tue Jul 3 08:25:50 2007 +0800 Blackfin arch: remove zero-sized include/asm-blackfin/macros.h This file accidentally got truncated instead of deleted in commit df30b11. Signed-off-by: Marco Roeland Cc: Robert P. J. Day Cc: Jeff Garzik Cc: Jesper Juhl Cc: Alex Riesen Cc: Robin Getz Acked-by: Bryan Wu commit 531e3a61f55261bf466d0415c48999511334933c Author: Jeff Garzik Date: Mon Jul 2 18:12:19 2007 -0400 [libata] sata_nv: undo merge error Only the ADMA entry was supposed to be able to change queue depth. Signed-off-by: Jeff Garzik commit 63ac9b915924d1237d2135fcb4de724e6127ca5e Author: Patrick McHardy Date: Mon Jul 2 16:08:28 2007 +0200 3c589_cs: fix local_bh_enable warning Russell King wrote: > Having upgraded from 2.6.16 to 2.6.22-rc6, I'm now seeing the following. > > Looks like netfilter is calling local_bh_enable() with IRQs disabled, > which would appear to be illegal. Thankfully, this is a warn-once > warning. > > WARNING: at /home/rmk/git/linux-2.6-rmk/kernel/softirq.c:138 local_bh_enable() > [...] > [] (nf_conntrack_destroy+0x0/0x2c) from [] (__kfree_skb+0xd0/0x100) > [] (__kfree_skb+0x0/0x100) from [] (kfree_skb+0x4c/0x50) > r5:c12a3800 r4:00000300 > [] (kfree_skb+0x0/0x50) from [] (el3_start_xmit+0xb8/0xd0 [3c589_cs]) > [] (el3_start_xmit+0x0/0xd0 [3c589_cs]) from [] (dev_hard_start_xmit+0x1a8/0x244) > r7:c12a3800 r6:c1a9aa00 r5:c1a9aa00 r4:c12a3800 > [] (dev_hard_start_xmit+0x0/0x244) from [] (__qdisc_run+0xb0/0x198) Thats a bug in the 3c589_cs driver. Patch attached. Signed-off-by: Patrick McHardy Signed-off-by: Jeff Garzik commit a3cabb271ea66739704497102536fb01bb72fe37 Author: Uwe Koziolek Date: Thu Jun 14 23:40:43 2007 +0200 libata: PATA-mode fixes for sis_sata Changed PATA handler for PATA-ports used by sata_sis. This patch was originally submitted by Jeff Garzik. Added PCI-ID 1180 for SiS966 Controller in pata_sis. The 1180 mode is fully compatible to other SiS PATA-controller. The PCI-ID 1183 is SATA in PATA-emulation, but not fully compatible to SiS5513/5518. sata_sis.c is forwarding this ID to pata_sis. 1183 is not working if simply added to pata_sis. This handling fixes issues with SiS968. Signed-off-by: Uwe Koziolek Signed-off-by: Jeff Garzik commit e14cbfa630cd3ab2631ee21b718b290928f47868 Author: Tejun Heo Date: Mon Jun 25 11:28:59 2007 +0900 libata: add HTS541616J9SA00 to NCQ blacklist Another member of HTS5416* family doing spurious NCQ completion. Signed-off-by: Tejun Heo Cc: Enrico Sardi Signed-off-by: Jeff Garzik commit 1e0b5ab81e2abb8bbf7446f4a17f43a1e34944fe Author: Robert Hancock Date: Thu Jun 28 18:52:24 2007 -0600 sata_nv: allow changing queue depth The sata_nv driver was missing the change_queue_depth hook in the SCSI host template which the other NCQ-capable libata drivers had. This made it impossible to change the queue depth by user request. Add this in. Signed-off-by: Robert Hancock Signed-off-by: Jeff Garzik commit 90c937853d792ea997d7fdec72dbbea4f92e12c4 Author: Tejun Heo Date: Fri Jun 29 11:33:08 2007 +0900 sata_inic162x: disable LBA48 devices sata_inic162x can't do LBA48 properly yet and is likely to corrupt data on drives larger than LBA28 limit. Disable LBA48 devices during device configuration. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 74cdbba42dd515887ef3fc0ab498e70bd086c075 Author: Albert Lee Date: Thu Jun 28 10:05:31 2007 +0800 libata: remove reading alt_status from ata_hsm_qc_complete() In ata_hsm_qc_complete(): Calling ata_altstatus() after the qc is completed might race with next qc. Remove it. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 8c781bf77a339748839bfd5eedfe2ad3e0e05c4a Author: Albert Lee Date: Tue Jun 26 13:43:15 2007 +0800 libata: pata_pdc2027x PLL input clock fix Recently the PLL input clock of pata_pdc2027x is sometimes detected higer than expected (e.g. 20.027 MHz compared to 16.714 MHz). It seems sometimes the mdelay() function is not as precise as it used to be. Per Alan's advice, HT or power management might affect the precision of mdelay(). This patch calls gettimeofday() to mesure the time elapsed and calculate the PLL input clock accordingly. Signed-off-by: Albert Lee Cc: Alan Cox Signed-off-by: Jeff Garzik commit abcdceb9d0bf39da7c7ff8bcdff6eb4d9dfec56f Author: Randy Dunlap Date: Mon Jun 11 11:59:34 2007 -0700 scsi disk help file is not complete On Mon, 11 Jun 2007 20:28:16 +0200 api wrote: > Good day, > When doing make menuconfig one comes across CONFIG_BLK_DEV_SD. > The help file states that this is for scsi disks.NO MENTION IS MADE THAT > IT IS NEEDE FOR SATA DISKS AS WELL! > Would have saved me a lot of time if the help was up to date. > I hope this can be changed so others can make a kernel for sata systems > quicker. From: Randy Dunlap Add help info for BLK_DEV_SD referring to its use in SATA or PATA driver configurations. Add help text for "ATA" indicating that it probably needs some SCSI config symbols enabled in order to be useful. Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 1f750a782c0e9593a8d0981ea972f22334980955 Author: Richard Purdie Date: Mon Jul 2 10:19:07 2007 +0100 [ARM] 4458/1: pxa: Fix CKEN usage and hence fix pxa suspend/resume The PXA CKEN changes broken syspend/resume on the pxa27x. This patch corrects the problem and fixes another couple of bad references. Signed-off-by: Richard Purdie Signed-off-by: Russell King commit 756813cac1d0172e1f93d977fe8bd1cd5086be21 Author: Andrzej Zaborowski Date: Tue Jun 26 14:31:23 2007 +0100 [ARM] 4454/1: Use word accesses in Versatile PCI config reads ARM Versatile PCI config reads of one byte width have the lowest two bits of the address cleared and result in reading from a wrong place in the config space. This change is to use word size accesses like it is done for halfword reads. Byte reads are used for retrieving the IRQ number of a PCI device and the problem was not exposed until 2.6.20 because the value read was discarded in drivers/pci/setup-irq.c (recently fixed). Signed-off-by: Andrzej Zaborowski Acked-by: Paul Brook Signed-off-by: Russell King commit 96acb6eb8effe7c2549909e2ee49f4130f2c167d Author: Dhananjay Phadke Date: Mon Jul 2 09:37:57 2007 +0530 RESEND [PATCH 3/3] NetXen: Graceful teardown of interface and hardware upon module unload Resending patch 3/3 only. These changes allow driver close routine to be called during module unload, to clean-up buffers and other software resources, flush queues etc. Also, hardware is reset to pristine state. Signed-off-by: Dhananjay Phadke Signed-off-by: Milan Bag Signed-off-by: Wen Xiong Signed-off-by: Jeff Garzik commit d14e37e12087e98b63907518dff83a90297605d6 Author: Adrian Bunk Date: Sun Jul 1 22:21:10 2007 +0200 drivers/net/ns83820.c: fix a check-after-use This patch fixes a check-after-use spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit afaee82c0aef7c2b30acff129c723031343e10c2 Author: David Brownell Date: Sun Jul 1 11:47:59 2007 -0700 net/usb/cdc_ether minor sparse cleanup Remove an "sparse" warning about a shadowed variable name. Signed-off-by: David Brownell Signed-off-by: Jeff Garzik commit 2d1a3bbdf21d05e16703c8d608628ae4676eb3ac Author: dhananjay.phadke@gmail.com Date: Mon Jul 2 00:26:00 2007 +0530 RESEND [PATCH 2/3] NetXen: Support per PCI-function interrupt mask registers This patch updates the various access routines to access different control and status settings present in different register locations. This will fix problems related to working of different ports in multi Port card. Signed-off by: Dhananjay Phadke Signed-off by: Milan Bag Signed-off-by: Jeff Garzik commit 644caeefb3bbf539e74b7098648ff0bfc9e52bb3 Author: dhananjay.phadke@gmail.com Date: Mon Jul 2 00:25:59 2007 +0530 RESEND [PATCH 1/3] NetXen: Fix issue of MSI not working correctly NetXen driver uses PCI function 0 to provide the functionality of MSI. The patch makes driver check the bus master bit for function 0 and enable it after the card initialization. Signed-off-by: Dhananjay Phadke Signed-off-by: Milan Bag Signed-off-by: Wen Xiong Signed-off-by: Jeff Garzik commit b8f59586cecdb612cd31f4d9e7904f46277ddd64 Author: Peter Korsgaard Date: Sat Jun 30 23:07:42 2007 +0200 dm9601: Return 0 from bind() on success Fixup dm9601_bind() so it returns 0 on success rather than just a positive number, as otherwise usbnet doesn't init the status handler. Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 043600a62a45b2d5cac262fca9012fc24db19964 Author: Peter Korsgaard Date: Wed Jun 27 21:18:18 2007 +0200 Update MAINTAINERS for USB network devices >>>>> "Greg" == Greg KH writes: Greg> Yeah, this is the cdc_acm driver that is still in the USB drivers/ Greg> directory tree as it is a USB class driver that shows up as a tty device Greg> to userspace. It should not be moved to the networking list unless no Greg> one minds that I never see any queries about it :) Ok, here's an updated patch: Questions regarding the USB network drivers should now go to netdev. Signed-off-by: Peter Korsgaard Acked-by: David Brownell Signed-off-by: Jeff Garzik commit 3e323f3e86196eec18d6959585aa3188d060c43b Author: Peter Korsgaard Date: Wed Jun 27 08:48:15 2007 +0200 usbnet: Zero padding byte if there is tail room in skb Usbnet adds a padding byte if a 0 byte USB packet would be sent. Zero padding byte if there is tail room in skb. Signed-of-by: Peter Korsgaard Acked-by: David Brownell Signed-off-by: Jeff Garzik commit 23de559b8d3537f972f325e7e015c18aa2e4d987 Author: Peter Korsgaard Date: Wed Jun 27 08:14:50 2007 +0200 dm9601: HW header size shouldn't be included in packet length The dm9601 driver was including the 2 byte hardware header in the packet length, causing the HW to send 2 extra bytes of garbage on tx. Signed-off-by: Peter Korsgaard Signed-off-by: Jeff Garzik commit 983b7dc07f083d7d78f408a6f841b399b954767d Author: maximilian attems Date: Sun Jun 24 23:36:45 2007 +0200 starfire list alpha as 64 bit arch instead of: "This driver has not been ported to this 64-bit architecture yet." the driver is said to work on alpha, see http://bugs.debian.org/305330 Signed-off-by: maximilian attems Signed-off-by: Jeff Garzik commit b245fb675bf03d716b84dcb40885aeb50041dcca Author: Maik Hampel Date: Thu Jun 28 17:07:26 2007 +0200 myri10ge: SET_NETDEV_DEV() SET_NETDEV_DEV() in myri10ge to create the "/sys/class/net//device" symlink. Signed-off-by: Maik Hampel Signed-off-by: Jeff Garzik commit 4a3207a3339955047aab1fd5d808f8050d50dd85 Author: Mike Frysinger Date: Mon Jul 2 13:49:15 2007 +0800 Blackfin arch: update board defconfig files Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 795bb15e0735bd2b0015ca333fa157399b72c168 Author: Kumar Gala Date: Mon Jul 2 00:04:36 2007 -0500 [POWERPC] Update defconfigs Signed-off-by: Kumar Gala commit 9f7905812e5919862acb6ede63e10d3d1bb4958e Author: Olof Johansson Date: Mon Jun 4 14:47:04 2007 +1000 [POWERPC] Uninline and export virq_to_hw() for the pasemi_mac driver Uninline virq_to_hw and export it so modules can use it. The alternative would be to export the irq_map array instead, but it's an infrequently called function, and keeping the array unexported seems considerably cleaner. This is needed so that the pasemi_mac driver can be compiled as a module. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit ee5d1b7f2a01ce4d95ca247b5a499b72f31cdbe8 Author: Christian Krafft Date: Thu Jun 28 21:14:38 2007 +1000 [POWERPC] Fix PMI breakage in cbe_cbufreq driver The recent change to cell_defconfig to enable cpufreq on Cell exposed the fact that the cbe_cpufreq driver currently needs the PMI interface code to compile, but Kconfig doesn't make sure that the PMI interface code gets built if cbe_cpufreq is enabled. In fact cbe_cpufreq can work without PMI, so this ifdefs out the code that deals with PMI. This is a minimal solution for 2.6.22; a more comprehensive solution will be merged for 2.6.23. Signed-off-by: Christian Krafft Signed-off-by: Paul Mackerras commit 86affd5a00a92e491e5f00ed659492767519fdf7 Author: David Gibson Date: Thu Jun 28 11:27:57 2007 +1000 [POWERPC] Disable old EMAC driver in arch/powerpc The EMAC driver, in drivers/net/ibm_emac, for the embedded Ethernet MAC found in PowerPC 4xx embedded chips is not suitable for arch/powerpc. It will not build because it relies on the old arch/ppc OCP mechanism. BenH has a new, device-tree aware version of the driver which will work in arch/powerpc, but until it's merged, this patch will disable the old, non-building version. Signed-off-by: David Gibson Signed-off-by: Paul Mackerras commit a38d6181ff27824c79fc7df825164a212eff6a3f Author: Linus Torvalds Date: Sun Jul 1 12:54:24 2007 -0700 Linux 2.6.22-rc7 Last -rc? That's the plan.. commit 2391dae3e36c19fe668c71eac2eb8344dbaaf46d Author: Rafael J. Wysocki Date: Sun Jul 1 12:07:33 2007 -0700 PM: introduce set_target method in pm_ops Commit 52ade9b3b97fd3bea42842a056fe0786c28d0555 changed the suspend code ordering to execute pm_ops->prepare() after the device model per-device .suspend() calls in order to fix some ACPI-related issues. Unfortunately, it broke the at91 platform which assumed that pm_ops->prepare() would be called before suspending devices. at91 used pm_ops->prepare() to get notified of the target system sleep state, so that it could use this information while suspending devices. However, with the current suspend code ordering pm_ops->prepare() is called too late for this purpose. Thus, at91 needs an additional method in 'struct pm_ops' that will be used for notifying the platform of the target system sleep state. Moreover, in the future such a method will also be needed by ACPI. This patch adds the .set_target() method to 'struct pm_ops' and makes the suspend code call it, if implemented, before executing the device model per-device .suspend() calls. It also modifies the at91 code to use pm_ops->set_target() instead of pm_ops->prepare(). Signed-off-by: Rafael J. Wysocki Acked-by: David Brownell Cc: Pavel Machek Cc: Johannes Berg Cc: Len Brown Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cbcdd772ff43de58cc0d9de76ae9d05e2dd98bc0 Author: Bjorn Helgaas Date: Sun Jul 1 12:06:49 2007 -0700 smsc-ircc2: bypass PNP detection until we get the quirks worked out Don't use PNP detection by default yet. We have some PNP and BIOS issues to work out first. Sample problem on a Toshiba Portege 4000: the SMCf010 device is handed off disabled. We assign I/O ports originally assigned to the SMCf010 to a PCMCIA device instead. We enable the SMCf010, configuring it to use disjoint ports, but _SRS doesn't work correctly, so the device doesn't work. Signed-off-by: Bjorn Helgaas Cc: Andrey Borzenkov Cc: Adam Belay Cc: Michal Piotrowski Cc: Samuel Ortiz Cc: "David S. Miller" Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 84288ad89e9736c7478e138f247397b9ab7a9d28 Author: Andrew Morton Date: Sun Jul 1 12:06:48 2007 -0700 i386: mtrr crash fix Commit 3ebad5905609476a4ff1151a66b21d9794009961 ("[PATCH] x86: Save and restore the fixed-range MTRRs of the BSP when suspending") added mtrr operations without verifying that the CPU has MTRRs. Crashes transmeta CPUs. Cc: "H. Peter Anvin" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5ebffd7c05391693b71d3326c8c78ff82f728ed0 Author: Maxime Austruy Date: Sun Jul 1 12:06:38 2007 -0700 asus_acpi: fix oops on non-asus machines If asus_acpi_init doesn't find any device it knows about, it mistakenly returns a "success" error code even though it cleans up after itself. Later when trying to rmmod asus_acpi, the module_exit routine would try to clean up one more time and we would end up calling acpi_bus_unregister_driver(&asus_hotk_driver) twice. This patch addresses this first problem by returning -ENODEV when no appropriate device is found. Then there was also another bug with the code handling the return value of backlight_device_register. If this function ever failed, the driver would cleanup by calling the module_exit routine from module_init, but it would still return "success". So any attempt to rmmod this module would result in asus_acpi_exit being called twice but it's not ready to handle it (I haven't hit this bug, just found it by code inspection). This patch fixes that by inserting a return -ENODEV; at the end of this error handling path. Signed-off-by: Maxime Austruy Cc: Len Brown Cc: Richard Purdie Cc: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d80d02173360562625c10a526132fb87be4de2a4 Author: Randy Dunlap Date: Sun Jul 1 12:06:37 2007 -0700 pci.h stubs (for EDD build error) Provide stubs for more PCI bus/slot functions when CONFIG_PCI=n. Signed-off-by: Randy Dunlap Cc: Matt Domsch Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10c86be57724adf44c266300964182fd2966d108 Author: Randy Dunlap Date: Sun Jul 1 12:06:37 2007 -0700 ALSA: more section mismatches Fix section mismatch warnings: WARNING: sound/built-in.o(.exit.text+0x3ad): Section mismatch: reference to .init.text: (between 'sb_exit' and 'unload_uart6850') WARNING: sound/built-in.o(.exit.text+0x753): Section mismatch: reference to .init.text: (between 'snd_mts64_module_exit' and 'snd_portman_module_exit') Signed-off-by: Randy Dunlap Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 95203aec21fcdff1f1fa5480a597d02416aa0a63 Author: Alexey Dobriyan Date: Sun Jul 1 12:06:36 2007 -0700 frv: fix fallout from "remove sched.h from mm.h" patch /home/rpjday/AMD/k/topics/0_hi/hi1.c:15: error: dereferencing pointer to incomplete type /home/rpjday/AMD/k/topics/0_hi/hi1.c:16: error: dereferencing pointer to incomplete type Signed-off-by: Alexey Dobriyan Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 17022220dd70378b2f17fa9b0248f15067d88c58 Author: Christoph Lameter Date: Sun Jul 1 12:06:35 2007 -0700 SLAB: remove WARN_ON_ONCE for zero sized objects for 2.6.22 release We agreed to remove the WARN_ON_ONCE before 2.6.22 is released. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f4915b9c5d7a35da11bfcff80ae6466cb7b9fc4 Author: Stephen Hemminger Date: Sun Jul 1 12:50:35 2007 -0400 blink driver power saving The blink driver wakes up every jiffies which wastes power unnecessarily. Using a notifier gives same effect. Also add ability to unload module. Signed-off-by: Stephen Hemminger [ We should really just delete the whole thing. The blink driver is broken in many other ways too -Linus ] Signed-off-by: Linus Torvalds commit 4710bcce8e02257c8a423b7a62ea81d0207582c8 Author: Linus Torvalds Date: Sun Jul 1 10:56:11 2007 -0700 i386: remove bogus mtrr range check Commit 9215da33209b861b01c51382254b178a3fe92a30 "fixed" the MTRR range check to not allow any MTRR's under the 1MB mark (since that's where the fixed MTRR's are active). However, that was totally bogus, since it's normal (and almost required) to have a large variable MTRR that starts at 0, and covers some large percentage of the whole RAM, and then using the fixed MTRR's to override that large MTRR to handle the special ISA hole in the 640k-1M region. The old check was bogus too (checking that no variable MTRR is used that is entirely under the 1MB range), but at least it wasn't actively detrimental, because no sane situation would ever trigger such MTRR usage in the first place. That said, the whole notion of not allowing variable MTRR's in the low 1MB is just stupid, so rather than revert the commit, this just removes the whole sad and unnecessary check entirely. Cc: Jan Beulich Cc: Andi Kleen Cc: Andrew Morton Tested-by: Luca Palermo Signed-off-by: Linus Torvalds commit fde937d826e43c9fe7fecc98b6f3da7188e76930 Author: Will Schmidt Date: Fri Jun 29 15:49:50 2007 -0500 Fix VDSO gettimeofday() when called with NULL struct timeval. The vdso64 portion of patch 74609f4536f2b8fd6a48381bbbe3cd37da20a527 for fixing problems with NULL gettimeofday input mistakenly checks for a null tz field twice, when it should be checking for null tz once, and null tv once; by way of a r10/r11 typo. Any application calling gettimeofday(&tv,NULL) will "fail". This corrects that typo, and makes my G5 happy. Tested on G5. Signed-off-by: Will Schmidt Cc: Tony Breeds Forwarded-by: Ben Herrenschmidt [ Ben says: "I checked the 32 bits part of the change is correct. You can probably blame me for originally writing the 2 versions with inversed usage of r10 and r11, thus confusing Tony :-)" Ben duly blamed. - Linus ] Signed-off-by: Linus Torvalds commit fe77d4f283e840879f0e23b86a5d6a486823fdef Author: Stefan Richter Date: Mon Jun 25 22:18:40 2007 +0200 firewire: add Kconfig help on building both stacks Alas that won't work so good, because nobody reads help texts. I thought about adding some crude multiple choice selection (build the old stack, build the new stack, build both stacks). It's possible, but it would introduce awkward dummy config variables. Signed-off-by: Stefan Richter commit 0a9972baa7454c747fd5f67ce864420dff99d383 Author: Stefan Richter Date: Sat Jun 23 20:28:17 2007 +0200 firewire: fix async reception on big endian machines descriptor.data_address is little endian Tested-by: Olaf Hering Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit 5f0212174db33828f8bddcff501b73d2bc734f72 Author: Randy Dunlap Date: Thu Jun 28 22:40:23 2007 -0700 [IRDA]: fix printk format Fix printk format warning: drivers/net/irda/irport.c:512: warning: format '%d' expects type 'int', but argument 5 has type 'long int' Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 8da32de5c845b711a500f89342baf10c662e2ecb Author: Kumar Gala Date: Fri Jun 29 00:12:04 2007 -0500 gianfar: Fix typo bug introduced by move to udp_hdr() In commit 4bedb45203eab92a87b4c863fe2d0cded633427f both the udp and tcp cases where changed to use udp_hdr() instead of leaving the tcp case alone and fixing with tcp_hdr(). This ended up causing random behavior with TCP connections because of looking for tcp_hdr()->check in the wrong place. Signed-off-by: Kumar Gala commit 17200811cf539b9107a99a39bf71ba3567966285 Author: Jarek Poplawski Date: Thu Jun 28 22:11:47 2007 -0700 [NETPOLL] netconsole: fix soft lockup when removing module #1 Until kernel ver. 2.6.21 (including) cancel_rearming_delayed_work() required a work function should always (unconditionally) rearm with delay > 0 - otherwise it would endlessly loop. This patch replaces this function with cancel_delayed_work(). Later kernel versions don't require this, so here it's only for uniformity. #2 After deleting a timer in cancel_[rearming_]delayed_work() there could stay a last skb queued in npinfo->txq causing a memory leak after kfree(npinfo). Initial patch & testing by: Jason Wessel Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 4e4eda866ec7bd7a151e4884a291221eb74644ae Author: Dmitry Torokhov Date: Fri Jun 29 01:10:54 2007 -0400 Input: document some of keycodes Document some of keycodes, based on USB HUT 1.12 and current mapping in HID driver. Signed-off-by: Dmitry Torokhov commit c77da1780325d889cac98e8179449ddf54e71ce0 Author: Henrique de Moraes Holschuh Date: Fri Jun 29 01:08:49 2007 -0400 Input: add a new EV_SW SW_RADIO event, for radio switches on laptops Many laptops have rf-kill physical switches that are not keys, but slider or rocker switches. Often (like in all ThinkPads with a radio kill slider switch), they have both a slider/rocker switch and a hot key. Trying to kludge a real switch to act like a key is not a very smart thing to do if you can help it, and it gets specially bad when you are going to have both in the same machine. So, we do the right thing and add an input EV_SW event for radio kill switches. The EV_SW SW_RADIO event is defined with positive logic, i.e. when the switch is active, the radios are to be enabled. When the switch is inactive, the radios are to be disabled. Signed-off-by: Henrique de Moraes Holschuh Signed-off-by: Dmitry Torokhov commit 33143ea1a34d12699e6aa222ba124498abcfe4d1 Author: Dmitry Torokhov Date: Fri Jun 29 01:06:35 2007 -0400 Input: serio - take drv_mutex in serio_cleanup() We need to take serio->drv_mutex in serio_cleanup() to prevent the function from being called while driver is in the middle of attaching to a serio port. Such situation can happen with i8042 and atkbd drivers if user rapidly presses Ctrl-Alt-Del during system startup, and leads to kernel oops. Reported-by: Dave Young Signed-off-by: Dmitry Torokhov commit 9f462a1a5de06503fd247186b91d4205ac1cf1ba Author: Alexey Dobriyan Date: Thu Jun 28 21:25:31 2007 -0700 [SPARC64]: Add linux/pagemap.h to asm/tlb.h As seen on sparc64-allnoconfig: CC arch/sparc64/mm/tlb.o In file included from arch/sparc64/mm/tlb.c:19: include/asm/tlb.h: In function 'tlb_flush_mmu': include/asm/tlb.h:60: warning: implicit declaration of function 'release_pages' include/asm/tlb.h: In function 'tlb_remove_page': include/asm/tlb.h:92: warning: implicit declaration of function 'page_cache_release' Signed-off-by: Alexey Dobriyan Signed-off-by: David S. Miller commit edd5cd4a9424f22b0fa08bef5e299d41befd5622 Author: David Woodhouse Date: Wed Jun 27 14:10:09 2007 -0700 Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM Not all the world is an i386. Many architectures need 64-bit arguments to be aligned in suitable pairs of registers, and the original sys_sync_file_range(int, loff_t, loff_t, int) was therefore wasting an argument register for padding after the first integer. Since we don't normally have more than 6 arguments for system calls, that left no room for the final argument on some architectures. Fix this by introducing sys_sync_file_range2(int, int, loff_t, loff_t) which all fits nicely. In fact, ARM already had that, but called it sys_arm_sync_file_range. Move it to fs/sync.c and rename it, then implement the needed compatibility routine. And stop the missing syscall check from bitching about the absence of sys_sync_file_range() if we've implemented sys_sync_file_range2() instead. Tested on PPC32 and with 32-bit and 64-bit userspace on PPC64. Signed-off-by: David Woodhouse Acked-by: Russell King Cc: Arnd Bergmann Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f4d4da8f82c2598b8713f4a01f360f3751d90be Author: Jay Lubomirski Date: Wed Jun 27 14:10:09 2007 -0700 serial: clear proper MPSC interrupt cause bits The interrupt clearing code in mpsc_sdma_intr_ack() mistakenly clears the interrupt for both controllers instead of just the one its supposed to. This can result in the other controller appearing to hang because its interrupt was effectively lost. So, don't clear the interrupt cause bits for both MPSC controllers when clearing the interrupt for one of them. Just clear the one that is supposed to be cleared. Signed-off-by: Jay Lubomirski Acked-by: Mark A. Greer Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddc80bd781590ef6eb8ce30a0f3ac88c5599e41c Author: Andrew Morton Date: Wed Jun 27 14:10:08 2007 -0700 ext2: fix return of uninitialised variable gcc correctly says fs/ext2/super.c: In function 'ext2_remount': fs/ext2/super.c:1055: warning: 'err' may be used uninitialized in this function Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5da44ad504662de8120063bdca46897a15f3f1e5 Author: Alexey Dobriyan Date: Wed Jun 27 14:10:06 2007 -0700 mips-jazz: correct flags for timer io resource arch/mips/jazz/setup.c:55:4: error: Initializer entry defined twice Signed-off-by: Alexey Dobriyan Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33e44b158821cc703f99d43d87579a2fe819ce7b Author: Evgeniy Polyakov Date: Wed Jun 27 14:10:04 2007 -0700 w1_therm_read_bin: don't call flush_signals() This can disrupt userspace signal management. Signed-off-by: Evgeniy Polyakov Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a66e356c04ece4a96f44b942b68234c3de8ec3f5 Author: Masami Hiramatsu Date: Wed Jun 27 14:10:04 2007 -0700 relayfs: fix overwrites When I use relayfs with "overwrite" mode, read() still sets incorrect number of consumed bytes. Signed-off-by: Masami Hiramatsu Acked-by: Tom Zanussi Acked-by: David Wilder Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8d62fdebdaf9b866c7e236a8f5cfe90e6dba5773 Author: David Wilder Date: Wed Jun 27 14:10:03 2007 -0700 relay file read: start-pos fix Fix a bug in the relay read interface causing the number of consumed bytes to be set incorrectly. Signed-off-by: Tom Zanussi Signed-off-by: David Wilder Cc: Masami Hiramatsu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ea7fc3336b1d657c65daf55614d4aaadd8c1c244 Author: Randy Dunlap Date: Wed Jun 27 14:10:02 2007 -0700 ALSA: use __devexit_p Change __devexit to __devexit_p: sound/isa/opl3sa2.c:956: error: expected expression before '__attribute__' Signed-off-by: Randy Dunlap Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a465c3239d5b3a5a7361c38fc499ad8082a0685 Author: Stefan Richter Date: Wed Jun 27 14:10:01 2007 -0700 Documentation/HOWTO: update URLs of git trees Also, remove outdated 1394 tree and mention MAINTAINERS as pointer to development trees. Signed-off-by: Stefan Richter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74bfe034d62ae71ad896932748de3ec8d1340809 Author: Olaf Hering Date: Wed Jun 27 14:10:00 2007 -0700 fix section mismatch in chipsfb WARNING: drivers/built-in.o(.text+0x8742a): Section mismatch: reference to .init.data:chipsfb_fix (between 'chipsfb_pci_init' and 'chipsfb_set_par') WARNING: drivers/built-in.o(.text+0x87432): Section mismatch: reference to .init.data:chipsfb_fix (between 'chipsfb_pci_init' and 'chipsfb_set_par') WARNING: drivers/built-in.o(.text+0x87442): Section mismatch: reference to .init.data:chipsfb_var (between 'chipsfb_pci_init' and 'chipsfb_set_par') WARNING: drivers/built-in.o(.text+0x8744a): Section mismatch: reference to .init.data:chipsfb_var (between 'chipsfb_pci_init' and 'chipsfb_set_par') init_chips is only called from chipsfb_pci_init chipsfb_fix and chipsfb_var are only referenced from init_chips Signed-off-by: Olaf Hering Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8738c5c5298d55ccfc26383f9f45af082a9be57 Author: Davide Libenzi Date: Wed Jun 27 14:09:59 2007 -0700 avoid spurious POLLIN returns in signalfd The new code in kernel/signal.c does not allow fetching private signals from another task. This patch avoid spurious POLLIN returns from a signalfd poll(2) operation. Signed-off-by: Davide Libenzi Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58e78475ec706f93e0cc049449ffd11fbfdadb3e Author: Jeff Mahoney Date: Wed Jun 27 14:09:58 2007 -0700 saa7134: fix thread shutdown handling This patch changes the test for the thread pid from >= 0 to > 0. When the saa8134 driver initialization fails after a certain point, it goes through the complete shutdown process for the driver. Part of shutting it down includes tearing down the thread for tv audio. The test for tearing down the thread tests for >= 0. Since the dev structure is kzalloc'd, the test will always be true if we haven't tried to start the thread yet. We end up waiting on pid 0 to complete, which will never happen, so we lock up. This bug was observed in Novell Bugzilla 284718, when request_irq() failed. Signed-off-by: Jeff Mahoney Acked-by: Mauro Carvalho Chehab Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 53f3bed0a46c786b17f040005b1bd7a78ddd0770 Author: Randy Dunlap Date: Wed Jun 27 14:09:57 2007 -0700 ALSA: fix ice1712 section mismatch Cannot mix const and __initdata: sound/pci/ice1712/prodigy192.c:708: error: ak4114_controls causes a section type conflict Signed-off-by: Randy Dunlap Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92504f79a7c57b853dfb59595fd2860282f6ba1e Author: Randy Dunlap Date: Wed Jun 27 14:09:56 2007 -0700 IOATDMA: fix section mismatches Rename struct pci_driver data so that false section mismatch warnings won't be produced. Sam, ISTM that depending on variable names is the weakest & worst part of modpost section checking. Should __init_refok work here? I got build errors when I tried to use it, probably because the struct pci_driver probe and remove methods are not marked "__init_refok". WARNING: drivers/dma/ioatdma.o(.data+0x10): Section mismatch: reference to .init.text: (between 'ioat_pci_drv' and 'ioat_pci_tbl') WARNING: drivers/dma/ioatdma.o(.data+0x14): Section mismatch: reference to .exit.text: (between 'ioat_pci_drv' and 'ioat_pci_tbl') Signed-off-by: Randy Dunlap Acked-by: Chris Leech Cc: Sam Ravnborg Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 59faba1b316a7798a33752b3889193333f8af1a0 Author: Trent Piepho Date: Wed Jun 27 14:09:54 2007 -0700 Fix Kconfig dependency problems wrt boolean menuconfigs If one has a dependency chain (tristate)FOO depends on (bool)BAR depends on (tristate)BAZ, build problems will result. If BAZ=m, then BAR can be set y, which allows FOO=y. It's possible to have FOO=y && BAZ=m, which wouldn't be allowed if FOO depended directly on BAZ. In effect, the bool promotes the tristate from m to y. This ends up causing a problem with several menuconfigs that look like: menuconfig BAR bool depends on BAZ [tristate] if BAR config FOO tristate endif The solution used here is to add the dependencies of BAR to the if statement, so that items in the if block will gain a direct non-bool-promoted dependency on BAZ. This is how it would work if a menu was used instead of an if block. Signed-off-by: Trent Piepho Acked-by: Mauro Carvalho Chehab Cc: "David S. Miller" Acked-by: Jeff Garzik Cc: Dominik Brodowski Cc: Chas Williams Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30acbabae38793c9c9acace4de5b1c1889570768 Author: Hugh Dickins Date: Wed Jun 27 14:09:53 2007 -0700 mm: kill validate_anon_vma to avoid mapcount BUG validate_anon_vma gave a useful check on the integrity of the anon_vma list when Andrea was developing obj rmap; but it was not enabled in SLES9 itself, nor in mainline, until Nick changed commented-out RMAP_DEBUG to configurable CONFIG_DEBUG_VM in 2.6.17. Now Petr Vandrovec reports that its BUG_ON(mapcount > 100000) can easily crash a CONFIG_DEBUG_VM=y system. That limit was just an arbitrary number to protect against an infinite loop. We could raise it to something enormous (depending on sizeof struct vma and size of memory?); but I rather think validate_anon_vma has outlived its usefulness, and is better just removed - which gives a magnificent performance boost to anything like Petr's test program ;) Of course, a very long anon_vma list is bad news for preemption latency, and I believe there has been one recent report of such: let's not forget that, but validate_anon_vma only makes it worse not better. Signed-off-by: Hugh Dickins Cc: Petr Vandrovec Acked-by: Nick Piggin Cc: Andrea Arcangeli Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 172d0496cd22c98ee2e4238821fa309c01685f3a Author: Bjorn Helgaas Date: Wed Jun 27 14:09:52 2007 -0700 PNP SMCf010 quirk: auto-config device if BIOS left it broken Some HP firmware leaves the SMCf010 IRDA device incompletely configured, or reports the wrong resources in _CRS. As a workaround, when we find such a device, try to auto-configure the device. This ignores the _CRS data, picks a config from _PRS, and runs _SRS to configure the device. This makes smsc-ircc2 work correctly with PNP resources (with no preconfiguration!) on all the machines I tested. I think Windows does something like this by default for all devices, so we should consider doing the same thing in Linux. This patch addresses part of the 2.6.22 regression: "no irda0 interface (2.6.21 was OK), smsc does not find chip" It fixes smsc-ircc2 PNP device detection on HP nc6000, nc6220, nw8000, nw8240, and possibly other machines. Signed-off-by: Bjorn Helgaas Cc: Samuel Ortiz Cc: "Linus Walleij (LD/EAB)" Cc: Andrey Borzenkov Cc: Michal Piotrowski Cc: Adam Belay Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c31d2f59c14191c3251f18ad1782fe6692f0c33 Author: Bjorn Helgaas Date: Wed Jun 27 14:09:50 2007 -0700 smsc-ircc2: skip preconfiguration for PNP devices If we rely on the device resources from PNPBIOS, we also have to rely on the BIOS to configure any bridges on the way to the device. Using the PNPBIOS resources but changing the configuration of a bridge behind the back of the firmware is likely to make things inconsistent. This patch addresses part of the 2.6.22 regression: "no irda0 interface (2.6.21 was OK), smsc does not find chip" It fixes smsc-ircc2 PNP device detection on HP nx5000 laptops. Other laptops, including HP nc6000, HP nc8000, HP nw8000, and Toshiba Portege 4000, still need PNP quirks to make this work. With "smsc-ircc2.nopnp", we do the legacy device probe, including manual bridge preconfiguration, as before. Signed-off-by: Bjorn Helgaas Cc: Samuel Ortiz Acked-by: "Linus Walleij (LD/EAB)" Cc: Andrey Borzenkov Cc: Michal Piotrowski Cc: "David S. Miller" Cc: Adam Belay Cc: Andrew Morton Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 80581c43d02f66afb2cafa44bef710a2549a1748 Author: Randy Dunlap Date: Wed Jun 27 14:09:49 2007 -0700 mtrr/cyrix: fix sections main.c::mtrr_add() or mtrr_del() [exported] calls main.c::mtrr_add_page() or mtrr_del_page() or mtrr_restore() [resume] calls main.c::set_mtrr() calls main.c::ipi_handler() calls main.c::mtrr_if->set_all() == which can be cyrix_set_all WARNING: arch/i386/kernel/built-in.o(.text+0x8657): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region') WARNING: arch/i386/kernel/built-in.o(.text+0x866b): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region') WARNING: arch/i386/kernel/built-in.o(.text+0x867e): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region') WARNING: arch/i386/kernel/built-in.o(.text+0x8684): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region') WARNING: arch/i386/kernel/built-in.o(.text+0x868a): Section mismatch: reference to .init.data: (between 'cyrix_set_all' and 'centaur_get_free_region') Signed-off-by: Randy Dunlap Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2fd89962cd5de6b1fb9c1c789b56bc16f58f121 Author: Randy Dunlap Date: Wed Jun 27 14:09:48 2007 -0700 eventfd: clean compile when CONFIG_EVENTFD=n Fix gcc warning and add parameter checking when CONFIG_EVENTFD=n: fs/aio.c: In function 'aio_complete': fs/aio.c:955: warning: statement with no effect Signed-off-by: Randy Dunlap Cc: Davide Libenzi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0887eedb4498e20e7895508b7af8e419e397405 Author: Ville Syrjala Date: Wed Jun 27 14:09:46 2007 -0700 atyfb: Fix XCLK frequency on Apple iBook1 Fix a regression on Apple iBook1. Changes in the clock init code caused an incorrect XCLK frequency to be used leading to a corrupted display. Signed-off-by: Ville Syrjala Cc: Olaf Hering Cc: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c5cdb3e099da7cc64df622b02ff7659babe16e Author: Michael Halcrow Date: Wed Jun 27 14:09:45 2007 -0700 zero out last page for llseek/write When one llseek's past the end of the file and then writes, every page past the previous end of the file should be cleared. Trevor found that the code, as is, does not assure that the very last page is always cleared. This patch takes care of that. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e10f281bca03f45bdec91e67645c394eaec2f8f6 Author: Michael Halcrow Date: Wed Jun 27 14:09:44 2007 -0700 eCryptfs: initialize crypt_stat in setattr Recent changes in eCryptfs have made it possible to get to ecryptfs_setattr() with an uninitialized crypt_stat struct. This results in a wide and colorful variety of unpleasantries. This patch properly initializes the crypt_stat structure in ecryptfs_setattr() when it is necessary to do so. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 240e2df5c740d73fc08cac9989872212deb2d20e Author: Michael Halcrow Date: Wed Jun 27 14:09:44 2007 -0700 eCryptfs: fix write zeros behavior This patch fixes the processes involved in wiping regions of the data during truncate and write events, fixing a kernel hang in 2.6.22-rc4 while assuring that zero values are written out to the appropriate locations during events in which the i_size will change. The range passed to ecryptfs_truncate() from ecryptfs_prepare_write() includes the page that is the object of ecryptfs_prepare_write(). This leads to a kernel hang as read_cache_page() is executed on the same page in the ecryptfs_truncate() execution path. This patch remedies this by limiting the range passed to ecryptfs_truncate() so as to exclude the page that is the object of ecryptfs_prepare_write(); it also adds code to ecryptfs_prepare_write() to zero out the region of its own page when writing past the i_size position. This patch also modifies ecryptfs_truncate() so that when a file is truncated to a smaller size, eCryptfs will zero out the contents of the new last page from the new size through to the end of the last page. Signed-off-by: Michael Halcrow Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f708dd91d15876e26d7a57f97a255cedffca463 Author: Kumar Gala Date: Thu Jun 28 13:26:06 2007 -0500 phy: Fix phy_id for Vitesse 824x PHY The phy_id specified for the Vitesse 824x PHY would never match because it was expecting bits to be set that would be masked by the phy_id_mask. Fix the phy_id so it will match properly, and changed the mdio_bus_match to mask both the driver and devices phy_id with the mask so we dont have this issue in the future. Signed-off-by: Kumar Gala commit 7dcf5284d12d7b59359a503d35797295f085f327 Author: Dan Williams Date: Mon Jun 18 12:10:33 2007 -0400 [PATCH] libertas: remove private ioctls Signed-off-by: Christoph Hellwig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 18c96c3497aa871608d57ca5e08de3558159a6c9 Author: Dan Williams Date: Mon Jun 18 12:01:12 2007 -0400 [PATCH] libertas: fix WPA associations by handling ENABLE_RSN correctly Don't clobber the firmware's internal state machine by setting ENABLE_RSN more than once during the 4-way handshake. Check what the ENABLE_RSN status is and only set if it should be changed. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit f8f551089b0ca571b8f95465b6c3e1dd7bcea28e Author: Dan Williams Date: Wed May 30 10:12:55 2007 -0400 [PATCH] libertas: kill wlan_scan_process_results Fold into wlan_scan_networks() and protect with debug defines. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit b59bb616636f58ea650d2800a1dfc41c114f5ef8 Author: Dan Williams Date: Mon Jun 18 11:50:43 2007 -0400 [PATCH] libertas: style fixes Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 9f7a60d6e47a70957e5f6676cfe8c83956b08aa6 Author: Qi Yong Date: Thu Jun 28 00:47:10 2007 -0400 Input: atkbd - use printk_ratelimit for spurious ACK messages Signed-off-by: Qi Yong Signed-off-by: Dmitry Torokhov commit da4249c99fd59c4e224e4f9acaf07669d205bb1d Author: Dmitry Torokhov Date: Thu Jun 28 00:46:56 2007 -0400 Input: atkbd - throttle LED switching On some boxes keyboard controllers are too slow to withstand continuous flow of requests to turn keyboard LEDs on and off and start losing some keypresses or even all of them. Delay executing of LED switching request if we had another one within 50 ms thus easing load on the controller. Signed-off-by: Dmitry Torokhov commit 9d9d50bb2efb50594abfc3941a5504b62c514ebd Author: Dmitry Torokhov Date: Thu Jun 28 00:44:27 2007 -0400 Input: i8042 - add HP Pavilion ZT1000 to the MUX blacklist This should get rid of "atkbd.c: Suprious NAK on isa0060/serio0" messages caused by broken MUX implementation. The box does not have external PS/2 ports and, according to documentation, automatically disables touchpad when an external mouse is plugged into a port replicator, so MUX mode would not work anyway. Signed-off-by: Dmitry Torokhov commit 67a32be082035bfc126849df38a8772a96f3e5c0 Author: Stephen Hemminger Date: Tue Jun 26 22:03:04 2007 -0400 remove leftover documentation of acpi_generic_hotkey This looks like leftover text in the kernel parameter in documentation. Signed-off-by: Stephen Hemminger Signed-off-by: Linus Torvalds commit ad5c980fdef0f339eb7c5888525acf9ce33855ec Author: Ian Romanick Date: Wed Jun 27 06:38:00 2007 +1000 Add support SiS based XGI chips to SiS DRM. This adds support for some of the XGI Volari family that are based on the SiS. Signed-off-by: Dave Airlie Signed-off-by: Linus Torvalds commit 0db3dc73f7a3a73b0dc725b6a991253f5652c905 Author: Stephen Hemminger Date: Wed Jun 27 00:39:42 2007 -0700 [NETPOLL]: tx lock deadlock fix If sky2 device poll routine is called from netpoll_send_skb, it would deadlock. The netpoll_send_skb held the netif_tx_lock, and the poll routine could acquire it to clean up skb's. Other drivers might use same locking model. The driver is correct, netpoll should not introduce more locking problems than it causes already. So change the code to drop lock before calling poll handler. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller commit 40a1d531f6c894b298e784fd2090d87633e4989a Author: Tejun Heo Date: Wed Jun 27 02:49:38 2007 +0900 libata: kill ATA_HORKAGE_DMA_RW_ONLY ATA_HORKAGE_DMA_RW_ONLY for TORiSAN is verified to be subset of using DMA for ATAPI commands which aren't aligned to 16 bytes. As libata now doesn't use DMA for unaligned ATAPI commands, the horkage is redundant. Kill it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b9a4197e266a40d5d1d16c9fb2a852cf10743afe Author: Tejun Heo Date: Wed Jun 27 02:48:43 2007 +0900 libata: use PIO for non-16 byte aligned ATAPI commands The IDE driver used DMA for ATAPI commands if READ/WRITE command is multiple of sector size or sg command is multiple of 16 bytes. For libata, READ/WRITE sector alignment is guaranteed by the high level driver (sr), so we only have to worry about the 16 byte alignment. This patch makes ata_check_atapi_dma() always request PIO for all data transfer commands which are not multiple of 16 bytes. The following reports are related to this problem. http://bugzilla.kernel.org/show_bug.cgi?id=8605 (confirmed) http://thread.gmane.org/gmane.linux.kernel/476620 (confirmed) https://bugzilla.novell.com/show_bug.cgi?id=229260 (probably) Albert first pointed out the difference between IDE and libata. Kudos to him. Signed-off-by: Tejun Heo Cc: Albert Lee Signed-off-by: Jeff Garzik commit e00f1ff3c8977eff07d0214d2f3478ac947bda0f Author: Tejun Heo Date: Wed Jun 27 02:47:35 2007 +0900 libata: call ata_check_atapi_dma() with qc better prepared In atapi_xlat(), prepare qc better before calling ata_check_atapi_dma() such that ata_check_atapi_dma() can use info from qc. While at it, reformat weird looking if/else block in the function. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 914616a3c2a54504f3b0eda0b67fcd32226b3e83 Author: Tejun Heo Date: Mon Jun 25 21:47:11 2007 +0900 libata: fix infinite EH waiting bug When EH gives up after repeated exceptions, it doesn't't clear the PENDING bit on exit which leaves PENDING bit set without EH actually scheduled. This makes ata_port_wait_eh() to wait forever makes rmmod hang on such port. Fix it by clearing the flag. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 09d7f9b0658072485a93247e1b6e15e661f860d2 Author: Tejun Heo Date: Mon Jun 25 23:34:02 2007 +0900 libata: fix ata_dev_disable() Fix silly condition check bug in ata_dev_disable(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 112cc2b510156494918abdf877111dfd56e5643b Author: Randy Dunlap Date: Mon Jun 25 10:42:22 2007 -0700 pata_it821x: fix section mismatch warning Fix section mismatch when CONFIG_HOTPLUG=n (but functions are used for resume): WARNING: drivers/ata/pata_it821x.o(.text+0x3f): Section mismatch: reference to .init.text: (between 'it821x_reinit_one' and 'it821x_program_udma') WARNING: drivers/ata/pata_it821x.o(.text+0x691): Section mismatch: reference to .init.text: (between 'it821x_init_one' and 'it821x_passthru_set_dmamode') Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 8b5bb2fa3d1c2a90ca921b6bfbb7e2de1e6dd273 Author: Tejun Heo Date: Mon Jun 25 21:43:04 2007 +0900 libata: remove unused variable from ata_eh_reset() Removed unused variable did_followup_srst from ata_eh_reset(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 37301a559d87494614fb843b96b7528532236f82 Author: Tejun Heo Date: Mon Jun 25 20:45:54 2007 +0900 libata: be less verbose about hpa There's no reason to print out hpa related messages when HPA is not active. Kill the unconditional message and add a warning message which is printed if HPA size is smaller than the current size. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 8af500bc7f8f1a8822ff451596f818ecb6968f38 Author: Tejun Heo Date: Mon Jun 25 21:11:13 2007 +0900 libata: kill non-sense warning message prereset() is now allowed to set flag for unsupported reset method. EH layer is responsible for selecting the fallback. Remove non-sense warning message. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 55f3952d45a439cecc36fd845a87026d04c82931 Author: Tejun Heo Date: Mon Jun 25 21:31:05 2007 +0900 libata: kill the infamous abnormal status message The infamous abnormal status message triggers on not so abnormal cases including empty port and even when it's being triggered on actual errors the info it provides is redundant and out of context - higher level functions will print the info in better safe later anyway. Also, by being triggered all the time, it leads people to think that the abnormality is somehow related to all ATA and system problems they're experiencing and gives owners of healthy systems unfounded doubts about the integrity of the universe. Make it a DPRINTK and save the universe. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 62877f6b0c4943c2231b84b49182a078eb02a777 Author: Alan Cox Date: Fri Jun 22 14:17:28 2007 +0100 HPT374 is UDMA100 not UDMA133 Propogate change from drivers/ide Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit f9046eb3f64db73f1c5b2a25d2a5983351cd1a04 Author: Olaf Hering Date: Tue Jun 19 22:41:10 2007 +0200 2.6.22: ERROR: "__ucmpdi2" [drivers/net/s2io.ko] undefined! On Tue, Jun 19, Stephen Hemminger wrote: > Olaf Hering wrote: > > What happend to __ucmpdi2 from David Woodhouse? > > google has a few hits about stuff like this on 32bit powerpc with gcc 4.1.2: > > > > ERROR: "__ucmpdi2" [drivers/net/s2io.ko] undefined! > > > > using the drivers/net/s2io* files from 2.6.21 with 2.6.22-rc5 fixes the > > compile. > > > > 25805dcf9d83098cf5492117ad2669cd14cc9b24 adds two u64 >>= 48 followed by > > a switch statement (line 2889 and 6816). > > Probably the "switch(err) {" needs a cast to a smaller type (like u8). This change removes the compiler-generated calls to __ucmpdi2. Signed-off-by: Olaf Hering Signed-off-by: Jeff Garzik commit 549f8009830177fe8897fd098a999b647990f30d Author: Divy Le Ray Date: Mon Jun 25 15:19:30 2007 -0700 cxgb3 - fix register to stop bc/mc traffic Use the right register to stop broadcast/multicast traffic. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit d791c2bdf0e7bd71b867210650e00c850b1f7de9 Author: Ralf Baechle Date: Sun Jun 24 15:59:54 2007 +0200 au1000_eth: Fix warnings. Fixed by including : CC drivers/net/au1000_eth.o drivers/net/au1000_eth.c: In function 'au1000_probe': drivers/net/au1000_eth.c:661: warning: implicit declaration of function 'dma_alloc_noncoherent' drivers/net/au1000_eth.c:802: warning: implicit declaration of function 'dma_free_noncoherent' Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 48d8d7ee5dd17c64833e0343ab4ae8ef01cc2648 Author: Siddha, Suresh B Date: Mon Jun 25 15:52:35 2007 -0700 x86_64 irq: use mask/unmask and proper locking in fixup_irqs() Force irq migration path during cpu offline, is not using proper locks and irq_chip mask/unmask routines. This will result in some races(especially the device generating the interrupt can see some inconsistent state, resulting in issues like stuck irq,..). Appended patch fixes the issue by taking proper lock and encapsulating irq_chip set_affinity() with a mask() before and an unmask() after. This fixes a MSI irq stuck issue reported by Darrick Wong. There are several more general bugs in this area(irq migration in the process context). For example, 1. Possibility of missing edge triggered irq. 2. Reliable method of migrating level triggered irq in the process context. We plan to look and close these in the near future. Eric says: In addition even with the fix from Suresh there is still at least one nasty hardware race in fixup_irqs(). However we exercise that code path rarely enough that we are unlikely to hit it in the real world, and that race seems to have existed since the code was merged. And a fix for that is not coming soon as it is an open investigation area if we can fix irq migration to work outside of irq context or if we have to rework the requirements imposed by the generic cpu hotplug and layer on fixup_irqs(). So this may come up again. Signed-off-by: Suresh Siddha Cc: Eric W. Biederman Reported-and-tested-by: Darrick Wong Cc: Andi Kleen Acked-by: Rafael J. Wysocki Signed-off-by: Linus Torvalds commit c47e285dee9673087273fafcff06a44c58ed4efd Author: Suresh Siddha Date: Mon Jun 25 15:31:37 2007 -0700 x86_64: set the irq_chip name for lapic set the irq_chip name for lapic. Signed-off-by: Suresh Siddha Signed-off-by: Linus Torvalds commit 1ee27a4eedf3cc08245d395936c1bfaf80c074cc Author: Jes Sorensen Date: Mon Jun 18 17:19:05 2007 +0200 [IA64] Make SN2 PCI code use ioremap rather than manually mangle the address This one changes the SN2 specific PCI drivers to use ioremap() for obtaining the real address to access for the PCI registers instead of manually calculating them with __IA64_UNCACHED_OFFSET. The patch should have no real change when running on a normal Linux kernel, but when running as a paravirtualized it is needed. Signed-off-by: Jes Sorenson Signed-off-by: Tony Luck commit c034637967881830979b5415e55578e42f806659 Author: Russ Anderson Date: Thu Jun 14 16:01:24 2007 -0500 [IA64] Force error to surface in nofault code Montecito behaves slightly differently than previous processors, resulting in the MCA due to a failed PIO read to sometimes surfacing outside the nofault code. Adding an additional or and stop bits ensures the MCA surfaces in the nofault code. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck commit eaf6c766446c0faa326b339900f975e6f1f62b01 Author: Dean Nelson Date: Tue Jun 19 06:26:17 2007 -0500 [IA64] change sh_change_coherence oemcall to use nolock Change sn_change_coherence's ia64_sal_oemcall to the nolock variety since PROM does the locking for this function internally. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 2e77ff21d225f7676517ac895df2be8ada573f4f Author: MUNEDA Takahiro Date: Wed Jun 20 13:00:00 2007 +0900 [IA64] remove duplicate header include line Remove duplicate header include line from arch/ia64/kernel/time.c. Signed-off-by: MUNEDA Takahiro Signed-off-by: Tony Luck commit 66fa9b107e259d01929fe647796b3021d3a83c4a Author: Keith Owens Date: Tue Jun 26 16:25:22 2007 +1000 [IA64] Correct unwind validation code Both rp_loc and pfs_loc can be in the register stack area _or_ they can be in the memory stack area, the latter occurs when a struct pt_regs is pushed. Correct the validation check on these fields to check for both stack areas. Not allowing for memory stack locations means no backtrace past ia64_leave_kernel, or any other code that uses PT_REGS_UNWIND_INFO. Signed-off-by: Keith Owens Signed-off-by: Tony Luck commit 9be26f4c4b138c425598bd3cc50411bd87fce287 Author: vignesh babu Date: Thu Jun 7 15:27:46 2007 +0530 [IA64] is_power_of_2-ia64/mm/hugetlbpage.c Replacing (n & (n-1)) in the context of power of 2 checks with is_power_of_2 Signed-off-by: vignesh babu Signed-off-by: Tony Luck commit 8e15a0e35fdaf19e1aeb7923571e928bd6123cfd Author: Chris Dearman Date: Thu Jun 21 12:59:58 2007 +0100 [MIPS] Count timer interrupts correctly. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 2fae3731b1b02316c219c4556bb7ad3a920f73cc Author: Ralf Baechle Date: Wed Jun 20 14:25:27 2007 +0100 [MIPS] SMTC and non-SMTC kernel and modules are incompatible So don't allow mixing. Signed-off-by: Ralf Baechle commit 3207cd5c4b852b54126f5a4b2564652c64d93a6a Author: Ralf Baechle Date: Mon Jun 18 16:36:11 2007 +0100 [MIPS] EMMA2RH: Disable GEN_RTC, it can't possibly work. Neither rtc_mips_get_time nor rtc_mips_set_time are being initialized by the EMMA2RH setup code, so genrtc at best was a RTC dummy avoiding a few error messages but not providing actual functionality. Signed-off-by: Ralf Baechle commit 8e09ffb60bbc2b49c06718d5a1252860c709a660 Author: Atsushi Nemoto Date: Thu Jun 14 00:56:31 2007 +0900 [MIPS] Remove a duplicated local variable in test_and_clear_bit() Fix a sparse warning caused by 2c921d07f8c641e691b0dfd80a5cfe14c60ec489 include2/asm/bitops.h:313:23: warning: symbol 'res' shadows an earlier one include2/asm/bitops.h:309:16: originally declared here Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit a76f3a417a431eaf673323459357d8e684b52c49 Author: Pavel Kiryukhin Date: Tue Jun 5 13:42:20 2007 +0400 [MIPS] use compat_siginfo in rt_sigframe_n32 Signed-off-by: Pavel Kiryukhin Signed-off-by: Ralf Baechle commit c8eae71dc81af15809d87d7aabb94810cea9577d Author: Ralf Baechle Date: Tue Jun 12 13:04:09 2007 +0100 [MIPS] 20K: Handle WAIT related bugs according to errata information We used to avoid the WAIT entirely on the 20K but really only need to do this on early revs of the 20K. Without this a 20K was a bit of a power hog. Well, in the lower power power hog category ;-) Signed-off-by: Ralf Baechle commit b0c10b9f4c4123dfb2f9e0d3df244a402c938561 Author: Ralf Baechle Date: Fri Jun 1 15:47:46 2007 +0100 [MIPS] AP/SP requires shadow registers, auto enable support. Noticed by Chris Dearman (chris@mips.com). Signed-off-by: Ralf Baechle commit b3a04a6d07453664abdf8b36296a640752ad4a70 Author: Yoichi Yuasa Date: Mon May 28 23:26:56 2007 +0900 [MIPS] Fix pb1500 reg B access au_readl() is correct here. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 08a45936823d0c47db9e328185fdaad6c62d16bd Author: Yoichi Yuasa Date: Mon May 28 23:13:50 2007 +0900 [MIPS] Alchemy: Fix wrong cast Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit e460b73c8790bb14959cc99a8eb040e6bd2ecbf0 Author: Yoichi Yuasa Date: Mon May 28 22:54:28 2007 +0900 [MIPS] remove "support for" from system type entry Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 2ec0e59aff1b51ff80c2c544cbef17b7613c8d38 Author: Yoichi Yuasa Date: Mon May 21 23:02:34 2007 +0900 [MIPS] add io_map_base to pci_controller on Cobalt Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 3ca507920d4f618a960aed19609bcce6c4d15387 Author: Ralf Baechle Date: Tue Jun 26 19:37:20 2007 +0200 [MIPS] __ucmpdi2 arguments are unsigned long long. Reported by Eugene Surovegin . Signed-off-by: Ralf Baechle commit 5131a184a3458d9ac47d9eba032cf4c4d3295afd Author: Zach Brown Date: Fri Jun 22 15:14:46 2007 -0700 SCTP: lock_sock_nested in sctp_sock_migrate sctp_sock_migrate() grabs the socket lock on a newly allocated socket while holding the socket lock on an old socket. lockdep worries that this might be a recursive lock attempt. task/3026 is trying to acquire lock: (sk_lock-AF_INET){--..}, at: [] sctp_sock_migrate+0x2e3/0x327 [sctp] but task is already holding lock: (sk_lock-AF_INET){--..}, at: [] sctp_accept+0xdf/0x1e3 [sctp] This patch tells lockdep that this locking is safe by using lock_sock_nested(). Signed-off-by: Zach Brown Signed-off-by: Vlad Yasevich commit a357b8f42e7b85e2522c3ad2b29b685bc28743b4 Author: David S. Miller Date: Tue Jun 26 00:13:31 2007 -0700 [SPARC64]: Need to set state to IDLE during sun4v IRQ enable. This fixes hypervisor console interrupts on LDOM guests. Signed-off-by: David S. Miller commit 1245088400c0e5f93b979356e578c9a8825b953a Author: David S. Miller Date: Tue Jun 26 00:13:09 2007 -0700 [SPARC64]: Fix VIRQ enabling. We were doing the wrong call to turn them on, and also when enabling we need to forcefully set the state to IDLE. Signed-off-by: David S. Miller commit 701271dfd220d214e26ef90c48a2dae3a2042687 Author: David S. Miller Date: Tue Jun 26 00:11:56 2007 -0700 [SPARC64]: Add irqs to mdesc_node. Will be used to store translated LDC rx-ino and tx-ino. Signed-off-by: David S. Miller commit d099321bdbba0d49796841cd9d9faf6b0f0aa658 Author: Luiz Fernando N. Capitulino Date: Thu Jun 21 22:34:23 2007 -0300 USB: ftdio_sio: New IPlus device ID Reported by Grzegorz Chimosz Signed-off-by: Luiz Fernando N. Capitulino Signed-off-by: Greg Kroah-Hartman commit 46269db99cc1a618d707deb370d821d1f8d75945 Author: Alexander Gattin Date: Wed Jun 20 00:48:10 2007 +0300 USB: add new device id to option driver Cc: Matthias Urlichs Signed-off-by: Greg Kroah-Hartman commit 74ac07e8b8209ba9429fa1a9afc07aa5ecef5af8 Author: Oliver Neukum Date: Wed Jun 13 18:50:41 2007 +0200 USB: fix race leading to use after free in io_edgeport usb_unlink_urb() is asynchronous, therefore an URB's buffer may not be freed without waiting for the completion handler. This patch switches to usb_kill_urb(), which is synchronous. Thanks to Alan for making me look at the remaining users of usb_unlink_urb() Signed-off-by: Oliver Neukum Signed-off-by: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 5afeb104e7901168b21aad0437fb51dc620dfdd3 Author: Oliver Neukum Date: Mon Jun 11 15:36:02 2007 +0200 USB: usblcd doesn't limit memory consumption during write usblcd currently has no way to limit memory consumption by fast writers. This is a security problem, as it allows users with write access to this device to drive the system into oom despite resource limits. Here's the fix taken from the modern skeleton driver. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit fc0f8fc9be654bbff08ede04a49bd8f9805b9e13 Author: Oliver Neukum Date: Tue Jun 12 15:36:07 2007 +0200 USB: memory leak in iowarrior.c this is a classical memory leak in the ioctl handler. The buffer is simply never freed. This fixes it the obvious way. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman commit 944dc184f6fe0dc63633099ba87cb75fe4ee0c51 Author: Oliver Neukum Date: Mon May 7 08:33:18 2007 +0200 USB: ti serial driver sleeps with spinlock held you are submitting an URB with GFP_KERNEL holding a spinlock. In this case the spinlock can be dropped earlier. Signed-off-by: Oliver Neukum Cc: Al Borchers Signed-off-by: Greg Kroah-Hartman commit 8cfbe7e60d9618d8f80a3cd218c45dd64cb9e5cf Author: Oleg Nesterov Date: Wed May 30 11:06:33 2007 -0400 USB: g_file_storage: call allow_signal() New changes in the signal-handling code require compensating changes in g_file_storage. This patch (as913) by Oleg Nesterov makes the code use allow_signal() instead of sigprocmask(). From: Alan Stern Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit ae62fbb5f1f796d87cbdbe6701e13f2b52d5c0a7 Author: Paul Mackerras Date: Tue Jun 26 14:49:11 2007 +1000 [POWERPC] Fix subtle FP state corruption bug in signal return on SMP This fixes a bug which can cause corruption of the floating-point state on return from a signal handler. If we have a signal handler that has used the floating-point registers, and it happens to context-switch to another task while copying the interrupted floating-point state from the user stack into the thread struct (e.g. because of a page fault, or because it gets preempted), the context switch code will think that the FP registers contain valid FP state that needs to be copied into the thread_struct, and will thus overwrite the values that the signal return code has put into the thread_struct. This can occur because we clear the MSR bits that indicate the presence of valid FP state after copying the state into the thread_struct. To fix this we just move the clearing of the MSR bits to before the copy. A similar potential problem also occurs with the Altivec state, and this fixes that in the same way. Signed-off-by: Paul Mackerras commit 74609f4536f2b8fd6a48381bbbe3cd37da20a527 Author: Tony Breeds Date: Tue Jun 26 09:50:32 2007 +1000 [POWERPC] Fix VDSO gettimeofday() when called with NULL struct timeval Consider the prototype for gettimeofday(): int gettimofday(struct timeval *tv, struct timezone *tz); Although it is valid to call with /either/ tv or tz being NULL, and the C version of sys_gettimeofday() supports this, the current version of gettimeofday() in the VDSO will SEGV if called with a NULL tv. This adds a check for tv being NULL so that it doesn't SEGV. Signed-off-by: Tony Breeds Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit ca74c013441200b162f6a384b23b833d1865a9e8 Author: Paul Mackerras Date: Tue Jun 26 14:19:35 2007 +1000 [POWERPC] Update defconfigs Signed-off-by: Paul Mackerras commit d30d6badd1769a00bc5a800b8af4e8b3f169c633 Author: will schmidt Date: Sat Jun 23 01:24:56 2007 +1000 [POWERPC] Update g5_defconfig Update the g5_defconfig with default settings. This is to keep things up to date, and specifically to ensure that the CONFIG_MACINTOSH_DRIVERS option is enabled. This also turns on CONFIG_MSI. Signed-off-by: Will Schmidt cc: Michael Ellerman Signed-off-by: Paul Mackerras commit b9e3614f444f6546204f4538afcaa3ebe36d49f2 Author: Björn Steinbrink Date: Mon Jun 25 23:04:37 2007 +0200 fix nmi_watchdog=2 bootup hang wrmsrl() is broken, dropping the upper 32bits of the value to be written. This broke the NMI watchdog on AMD hardware. (and it probably broke other code too.) Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 0c07f6115b779ae4597749d47dec228c6d2d1c7c Author: Nicolas Pitre Date: Wed Jun 20 19:10:34 2007 +0100 [ARM] 4449/1: more entries in arch/arm/boot/.gitignore Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 92c83ff1ce6165bd62cebe4e4d1ca5ccb6f9713b Author: Catalin Marinas Date: Fri Jun 22 14:27:50 2007 +0100 [ARM] 4452/1: Force the literal pool dump before reloc_end In the arch/arm/boot/compressed/head.S file, the contents of the literal pool accumulated during the relocatable code must be dumped before reloc_end. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit da1f95b4c41e09ef96869552db587452e0da46d6 Author: Robin Getz Date: Mon Jun 25 18:05:53 2007 +0800 Blackfin arch: Fix up remaining printks with proper log levels Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit de3025f4e2bc063c274f561f9daf2b696910ad3b Author: Jie Zhang Date: Mon Jun 25 18:04:12 2007 +0800 Blackfin arch: Add proper -mcpu option according to the cpu and silicon revision configuration Add silicon revision "any" and "none". Add proper -mcpu option according to the cpu and silicon revision configuration. Need update to use latest Blackfin cross compile toolchain. Signed-off-by: Jie Zhang Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 189548642c5962e60c3667bdb3a703fe0bed12a6 Author: Linus Torvalds Date: Sun Jun 24 16:21:48 2007 -0700 Linus 2.6.22-rc6 commit a06381fec77bf88ec6c5eb6324457cb04e9ffd69 Author: Thomas Gleixner Date: Sat Jun 23 11:48:40 2007 +0200 FUTEX: Restore the dropped ERSCH fix The return value of futex_find_get_task() needs to be -ESRCH in case that the search fails. This was part of the original futex fixes and got accidentally dropped, when the futex-tidy-up patch was split out. Signed-off-by: Thomas Gleixner Cc: Ingo Molnar Cc: Stable Team Signed-off-by: Linus Torvalds commit c8cbee61c9d53ee28473ad33bbb54f6a88f5e3af Author: Tian Kevin Date: Sat Jun 23 17:16:52 2007 -0700 ACPI: preserve the ebx value in acpi_copy_wakeup_routine Register %ebx serves as the "global offset table base register" for position-independent code. For absolute code, %ebx serves as a local register and has no specified role in the function calling sequence. In either case, a function must preserve the register value for the caller. acpi_copy_wakeup_routine overrides %ebx without saving it, this may corrupt the called data. Kevin found that most time the value of Sx is saved in %esi, however sometimes compiler also uses %ebx. When this happens, suspends fails since sleep value in ebx is changed by acpi_copy_wakeup_routine. The same funtion in X86_64 doesn't have this problem. Signed-off-by: Zhang Rui Looks-okay-to: Pavel Machek Signed-off-by: Rafael J. Wysocki Cc: Len Brown Acked-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5d2861f31474b373ce7754dc5122b414a176c64 Author: Kirill Korotaev Date: Sat Jun 23 17:16:51 2007 -0700 ext4: lost brelse in ext4_read_inode() One of error path in ext4_read_inode() leaks bh since brelse is forgoten. Signed-off-by: Kirill Korotaev Acked-by: Vasily Averin Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4a10a362cd1df6c23fe46f449d36b3f712e2824 Author: Kirill Korotaev Date: Sat Jun 23 17:16:48 2007 -0700 ext3: lost brelse in ext3_read_inode() One of error path in ext3_read_inode() leaks bh since brelse is forgoten. Signed-off-by: Kirill Korotaev Acked-by: Vasily Averin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b018b2888b32284e09bba9cccb5cd2e12199feb Author: Tony Jones Date: Sat Jun 23 17:16:47 2007 -0700 audit: fix oops removing watch if audit disabled Removing a watched file will oops if audit is disabled (auditctl -e 0). To reproduce: - auditctl -e 1 - touch /tmp/foo - auditctl -w /tmp/foo - auditctl -e 0 - rm /tmp/foo (or mv) Signed-off-by: Tony Jones Cc: Al Viro Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 266f5aa0970409bf1ebdf9fc4e65a1186eeed3c2 Author: Carsten Otte Date: Sat Jun 23 17:16:46 2007 -0700 ext2: disallow setting xip on remount Yan Zheng pointed out that ext2_remount lacks checking if -o xip should be enabled or not. This patch checks for presence of direct_access on the backing block device and if the blocksize meets the requirements. Signed-off-by: Carsten Otte Cc: Yan Zheng Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4f84e4be53a04a65d97bf0faa0c8f99e29bc0170 Author: Joshua Wise Date: Sat Jun 23 17:16:45 2007 -0700 x86_64: fix misplaced `continue' in mce.c Background: When a userspace application wants to know about machine check events, it opens /dev/mcelog and does a read(). Usually, we found that this interface works well, but in some cases, when the system was taking large numbers of machine check exceptions, the read() would hang. The system would output a soft-lockup warning, and the daemon reading from /dev/mcelog would suck up as much of a single CPU as it could spinning in system space. Description: This patch fixes this bug. In particular, there was a "continue" inside a timeout loop that presumably was intended to break out of the outer loop, but instead caused the inner loop to continue. This patch also makes the condition for the break-out a little more evident by changing a !time_before to a time_after_eq. Result: The read() no longer hangs in this test case. Testing: On my system, I could replicate the bug with the following command: # for i in `seq 15000`; do ./inject_sbe.sh; done where inject_sbe.sh contains commands to inject a single-bit error into the next memory write transaction. Patch: This patch is against git f1518a088bde6aea49e7c472ed6ab96178fcba3e. Signed-off-by: Joshua Wise Signed-off-by: Tim Hockin Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d8aaf12142d066d3982475d58a9094c85a06a5a9 Author: Andy Whitcroft Date: Sat Jun 23 17:16:44 2007 -0700 update checkpatch.pl to version 0.06 Update to checkpatch.pl v0.06. Of note: - do { and else handled correctly as control structures for { matching - trailing whitespace correctly tripped when line otherwise empty - support for const, including const foo * const bar - multiline macros defining values correctly reported This version of checkpatch.pl can be found at the following URL: http://www.kernel.org/pub/linux/kernel/people/apw/checkpatch/checkpatch.pl-0.06 Full Changelog: Andy Whitcroft (14): Version: 0.06 cleanup the Type regular expression declarations fix up block counting end of line counts as a space for ++ and -- do { needs the same checks as if, for et al handle "const foo * const a" as a valid type add spacing checks following ; complete whitespace lines should trip trailing whitespace check else is also a block control structure badly formatted else can trip function declaration detect and report trailing statements after else types need to be terminated by a boundary multiline macros defining values should be surrounded by parentheses soften the wording of the Signed-off-by: warnings Signed-off-by: Andy Whitcroft Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit debee0768ea1978c6efba03206a414685e4a9ed1 Author: Christoph Lameter Date: Sat Jun 23 17:16:43 2007 -0700 slab allocators: MAX_ORDER one off fix MAX_ORDER is the first order that is not possible. Use MAX_ORDER - 1 to calculate the larges possible object size in slab.h Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 71c42157904404a37f89fff3b2536c55115823a5 Author: Dave Hansen Date: Sat Jun 23 17:16:42 2007 -0700 document nlink function These should have been documented from the beginning. Fix it. Signed-off-by: Dave Hansen Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0faa45480261a52323fe88bfab6aea1e8eb87b65 Author: Jonathan Corbet Date: Sat Jun 23 17:16:41 2007 -0700 "volatile considered harmful" Encourage developers to avoid the volatile type class in kernel code. Signed-off-by: Jonathan Corbet Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c18a325645bf98850ca84037fff05de1836e785 Author: Jeff Dike Date: Sat Jun 23 17:16:39 2007 -0700 uml: add asm/paravirt.h Add asm-um/paravirt.h so that i386 headers that get pulled into UML don't cause build failures when they want asm/paravirt.h. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 08932a198345c80d20cfa055a45464cebb9ff93b Author: Nick Piggin Date: Sat Jun 23 17:16:37 2007 -0700 uml: use generic BUG Get UML to use the generic bug support rather than arch specific one. If I insert an artificial bug right before loading init, I get this: Kernel panic - not syncing: Kernel mode signal 4 EIP: 0023:[<0819d501>] CPU: 0 Not tainted ESP: 002b:f7fd4fbc EFLAGS: 00000246 Not tainted EAX: 00000000 EBX: 00007870 ECX: 00000013 EDX: 00007870 ESI: 0000786d EDI: 00000011 EBP: f7fd4fd8 DS: 002b ES: 002b 08273bec: [<0806e814>] show_regs+0x104/0x106 08273c08: [<08058927>] panic_exit+0x2c/0x4b 08273c18: [<08080ee7>] notifier_call_chain+0x32/0x5b 08273c38: [<08080fbd>] __atomic_notifier_call_chain+0x30/0x32 08273c54: [<08080fee>] atomic_notifier_call_chain+0x2f/0x31 08273c70: [<08073b88>] panic+0x75/0x131 08273c94: [<080586c7>] relay_signal+0x87/0x95 08273cb0: [<0806b9ee>] sig_handler_common_skas+0x9e/0x120 08273cd8: [<08067738>] sig_handler+0x28/0x4f 08273cec: [<0806792e>] handle_signal+0x53/0x89 08273d0c: [<08069f60>] hard_handler+0x18/0x28 08273d1c: [] transitions+0xf7d598b8/0xfffffff0 With this patch in place, this is how it looks: BUG: failure at init/main.c:779/init_post()! Kernel panic - not syncing: BUG! EIP: 0023:[<081a65d1>] CPU: 0 Not tainted ESP: 002b:f7f0dfbc EFLAGS: 00000246 Not tainted EAX: 00000000 EBX: 000069db ECX: 00000013 EDX: 000069db ESI: 000069d8 EDI: 00000011 EBP: f7f0dfd8 DS: 002b ES: 002b 098efedc: [<0806e9a4>] show_regs+0x104/0x106 098efef8: [<080589c7>] panic_exit+0x2c/0x4b 098eff08: [<080818d7>] notifier_call_chain+0x32/0x5b 098eff28: [<080819ad>] __atomic_notifier_call_chain+0x30/0x32 098eff44: [<080819de>] atomic_notifier_call_chain+0x2f/0x31 098eff60: [<08073f28>] panic+0x75/0x131 098eff84: [<080541d5>] init_post+0xcd/0xe8 098eff9c: [<08048ad4>] kernel_init+0x8e/0x9a 098effb4: [<08066dee>] run_kernel_thread+0x41/0x53 098effe0: [<08058e75>] new_thread_handler+0x62/0x8b 098efffc: [] 0xa55a5a5a [ jdike - added BUG_TABLE to linker script ] Signed-off-by: Nick Piggin Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b08b5ad9473a972fdd5d739080d24a84b23525ac Author: Ingo Korb Date: Sat Jun 23 17:16:35 2007 -0700 Char: stallion, fix oops during init with ISA cards The stallion driver oopses while initializing ISA cards due to an uninitialized variable. This patch changes the initialisation order to match the PCI code path. Signed-off-by: Ingo Korb Acked-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 58ed2f9c75b719da4f494f24ed2d56d45f5b4959 Author: Ivan Kokshaysky Date: Sat Jun 23 17:16:35 2007 -0700 alpha: fix alignment problem in csum_ipv6_magic() Hopefully this fixes http://bugzilla.kernel.org/show_bug.cgi?id=8635 The struct in6_addr passed to csum_ipv6_magic() is 4 byte aligned, so we can't use the regular 64-bit loads. Since the cost of handling of 4 byte and 1 byte aligned 64-bit data is roughly the same, this code can cope with any src/dst [mis]alignment. Signed-off-by: Ivan Kokshaysky Cc: Richard Henderson Cc: Dustin Marquess Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 653d4876b730fedca8473481863cf700245e3582 Author: Andy Whitcroft Date: Sat Jun 23 17:16:34 2007 -0700 update checkpatch.pl to version 0.05 This version brings a some new tests, and a host of changes to fix false positives, of particular note: - detect 'var ++;' and 'var --;' as a bad combination - multistatement #defines are now checked based on statement count - multistatement #defines with initialisation correctly reported - checks the location of the inline keywords - EXPORT_SYMBOL for variables are now understood - typedefs are loosened to handle sparse etc This version of checkpatch.pl can be found at the following URL: http://www.shadowen.org/~apw/public/checkpatch/checkpatch.pl-0.05 Full Changelog: Andy Whitcroft (18): Version: 0.05 macro definition checks should be for a single statement avoid assignements only in if conditionals declarations of function pointers need no space multiline macros which are purely initialisation cannot be wrapped EXPORT_SYMBOL can also directly follow a variable definition check on the location of the inline keyword EXPORT_SYMBOL needs to allow for attributes ensure we do not find C99 // in strings handle malformed #include lines accept the {0,} form typedefs are sensible for defining function pointer parameters ensure { handling correctly handles nested switch() statements trailing whitespace checks are not anchored typedefs for sparse bitwise annotations make sense update the type matcher to include sparse annotations clean up indent and spacing Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92c4ca5c3a5e180e9762438db235f41d192cb955 Author: Christoph Lameter Date: Sat Jun 23 17:16:33 2007 -0700 sched: fix next_interval determination in idle_balance() The intervals of domains that do not have SD_BALANCE_NEWIDLE must be considered for the calculation of the time of the next balance. Otherwise we may defer rebalancing forever. Siddha also spotted that the conversion of the balance interval to jiffies is missing. Fix that to. From: Srivatsa Vaddagiri also continue the loop if !(sd->flags & SD_LOAD_BALANCE). Tested-by: Paul E. McKenney It did in fact trigger under all three of mainline, CFS, and -rt including CFS -- see below for a couple of emails from last Friday giving results for these three on the AMD box (where it happened) and on a single-quad NUMA-Q system (where it did not, at least not with such severity). Signed-off-by: Christoph Lameter Signed-off-by: Ingo Molnar Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 849663430268db63a9c3c7467984e4e530ded901 Author: Christoph Lameter Date: Sat Jun 23 17:16:32 2007 -0700 SLUB: fix behavior if the text output of list_locations overflows PAGE_SIZE If slabs are allocated or freed from a large set of call sites (typical for the kmalloc area) then we may create more output than fits into a single PAGE and sysfs only gives us one page. The output should be truncated. This patch fixes the checks to do the truncation properly. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e27dbe7746f3bcbcf1f9a37f31df4b886e36ce3 Author: Ben Dooks Date: Sat Jun 23 17:16:31 2007 -0700 SM501: Check SM501 ID register on initialisation When binding the driver, check the ID register for a valid identity, in case the SM501 is not functioning correctly. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffd65af0e67a054e1e2393c9b0995c03c47cdc30 Author: Ben Dooks Date: Sat Jun 23 17:16:31 2007 -0700 SM501: Add Documentation/SM501.txt Add documentation for the SM501 in Documentation/SM501.txt outlining the SM501 driver. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 819062219abf8a78e54cad5c1c8716e6c8e7b870 Author: Ben Dooks Date: Sat Jun 23 17:16:30 2007 -0700 SM501: Clock updates and checks Ensure that the M1XCLK and MCLK are sourced from the same PLL (and refuse to bind the driver if they are not). Update the PCI to safe initialisation values, as 72MHz is the maximum clock for 33MHz PCI bus mastering. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5136237bc392413332b02e69ada158c307da658f Author: Ben Dooks Date: Sat Jun 23 17:16:29 2007 -0700 SM501: Fix sm501_init_reg() mask/set order The order of the set and mask operation in sm501_init_reg() was setting and then masking the bits set. Correct the order so that we do not end up with 288MHz SDRAM clocks on certain systems. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b5913bbd2ddebd9c2c6841986c29376e691dd396 Author: Ben Dooks Date: Sat Jun 23 17:16:29 2007 -0700 SM501: initialise SDRAM clock before bus clocks This init sequence of setting the SDRAM clock before the bus clock is recommend by Silicon Motion to stop problems with writes not sticking into registers. Signed-off-by: Vincent Sanders Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 331d74750e69a2202f857d3af9323335d0d6879f Author: Ben Dooks Date: Sat Jun 23 17:16:28 2007 -0700 SM501: suspend support This patch adds support for suspending the core (mfd driver) of the SM501. Signed-off-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ed8a2b3c501bedd4b35130c8a52662ccf78abad Author: Egmont Koblinger Date: Sat Jun 23 17:16:27 2007 -0700 console UTF-8 fixes (fix) Recently my console UTF-8 patch went mainline. Here is an additional patch that fixes two nasty issues and improves a third one, namely: 1. My patch changed the behavior if a glyph is not found in the Unicode mapping table. Previously for Unicode values less than 256 or 512 the kernel tried to display the glyph from that position of the glyph table, which could lead to a different accented letter being displayed. I removed this fallback possibility and changed it to display the replacement symbol. As Behdad pointed out, some fonts (e.g. sun12x22 from the kbd package) lack Unicode mapping information, hence all you get is lots of question marks. Though theoretically it's actually a user-space bug (the font should be fixed), Behdad and I both believe that it'd be good to work around in the kernel by re-introducing the fallback solution for ASCII characters only. This sounds a quite reasonable decision, since all fonts ship the ASCII characters in the first 128 positions. This way users won't be surprised by lots of question marks just because s/he issued a not-so-perfectly parameterized setfont command. As this fallback is only re-introduced for code points below 128, you still won't see an accented letter replaced by another, but at least you'll always get the English letters right. 2. My patch introduced "question mark with inverted color attributes" as a last resort fallback glyph. Though it perfectly works on VGA console, on framebuffer you may end up with question marks that are highlighed but shouldn't be, and normal characters that are accidentally highlighed. This is caused by missing FLUSHes when changing the color attribute. 3. I've updated the table of double-width character based on Markus's updated version. Only ten new code poings (one interval) is added. Signed-off-by: Egmont Koblinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e71e474c784dc274f28ec8bb22a5dbabc6dc7c5 Author: Cedric Le Goater Date: Sat Jun 23 17:16:25 2007 -0700 fix refcounting of nsproxy object when unshared When a namespace is unshared, a refcount on the previous nsproxy is abusively taken, leading to a memory leak of nsproxy objects. Signed-off-by: Cedric Le Goater Cc: Badari Pulavarty Cc: Herbert Poetzl Cc: Oleg Nesterov Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d79af701d334777541136e914a9c0969b2ad307 Author: Jean Delvare Date: Sat Jun 23 17:16:24 2007 -0700 hwmon/coretemp: fix a broken error path Signed-off-by: Jean Delvare Cc: Rudolf Marek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5b5a60da281c767196427ce8144deae6ec46b389 Author: Olaf Kirch Date: Sat Jun 23 23:11:52 2007 -0700 [NET]: Make skb_seq_read unmap the last fragment Having walked through the entire skbuff, skb_seq_read would leave the last fragment mapped. As a consequence, the unwary caller would leak kmaps, and proceed with preempt_count off by one. The only (kind of non-intuitive) workaround is to use skb_seq_read_abort. This patch makes sure skb_seq_read always unmaps frag_data after having cycled through the skb's paged part. Signed-off-by: Olaf Kirch Signed-off-by: David S. Miller commit 515e06c4556bd8388db6b2bb2cd8859126932946 Author: Shannon Nelson Date: Sat Jun 23 23:09:23 2007 -0700 [NET]: Re-enable irqs before pushing pending DMA requests This moves the local_irq_enable() call in net_rx_action() to before calling the CONFIG_NET_DMA's dma_async_memcpy_issue_pending() rather than after. This shortens the irq disabled window and allows for DMA drivers that need to do their own irq hold. Signed-off-by: Shannon Nelson Signed-off-by: David S. Miller commit ddb61a57bb6df673986e6476407f97d28b02031f Author: Jens Axboe Date: Sat Jun 23 23:07:50 2007 -0700 [TCP] tcp_read_sock: Allow recv_actor() return return negative error value. tcp_read_sock() currently assumes that the recv_actor() only returns number of bytes copied. For network splice receive, we may have to return an error in some cases. So allow the actor to return a negative error value. Signed-off-by: Jens Axboe Signed-off-by: David S. Miller commit 4b2a8fb3a7f7935f62a7bbdc851789fb7c2da032 Author: Konstantin Sharlaimov Date: Sat Jun 23 23:05:54 2007 -0700 [PPP]: Fix osize too small errors when decoding mppe. The mppe_decompress() function required a buffer that is 1 byte too small when receiving a message of mru size. This fixes buffer allocation to prevent this from occurring. Signed-off-by: Konstantin Sharlaimov Signed-off-by: David S. Miller commit 7e4a6da7c2a1e0df06b71dc4ddc31910229ba9d9 Author: David S. Miller Date: Sat Jun 23 23:04:11 2007 -0700 [PPP]: Revert 606f585e363527da9feaed79465132c0c661fd9e This can cause packet buffer overflows in certain cases, the real bug will be fixed differently in a followon changeset. Signed-off-by: David S. Miller commit 64beb8f3eb3c724add64ca3272915528e10213c1 Author: Florian Westphal Date: Sat Jun 23 22:59:40 2007 -0700 [TIPC]: Fix infinite loop in netlink handler The tipc netlink config handler uses the nlmsg_pid from the request header as destination for its reply. If the application initialized nlmsg_pid to 0, the reply is looped back to the kernel, causing hangup. Fix: use nlmsg_pid of the skb that triggered the request. Signed-off-by: Florian Westphal Signed-off-by: David S. Miller commit dbbeb2f9917792b989b6269ebfe24257f9aa1618 Author: Patrick McHardy Date: Sat Jun 23 22:58:34 2007 -0700 [SKBUFF]: Fix incorrect config #ifdef around skb_copy_secmark secmark doesn't depend on CONFIG_NET_SCHED. Signed-off-by: Patrick McHardy Acked-by: James Morris Signed-off-by: David S. Miller commit d5a3d32a042126f65a008e0e5204ef92ad2ee55d Author: Venkatesh Pallipadi Date: Fri Jun 15 19:36:00 2007 -0400 ACPI: fix 2.6.20 SMP boot regression Always disable/enable interrupts in the acpi idle routine, even in the error path. This is required as the 2.6.20 change in git commit d331e739f5ad2aaa9... "Fix interrupt race in idle callback" expects the idle handler to enable interrupt before returning. There was a case in acpi idle routine, in which interrupt was not being enabled before return, which caused the system to hang at bootup, while enabling C-states on an SMP system. The signature of the hang was that "processor.nocst" was required to enable boot. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Len Brown commit af6f2b2b5ce478d77a34497f9058bc65093c761a Author: Haavard Skinnemoen Date: Sat Jun 23 15:43:48 2007 +0200 [AVR32] Update defconfigs Update defconfigs for ATNGW100 and ATSTK1002. This will enable the SLUB allocator by default on both, and will enable NFS root on ATSTK1002 (ATNGW100 had it enabled before.) Signed-off-by: Haavard Skinnemoen commit 6b84bbfc7133ee493f3e9529a42b5ee53ea69dfe Author: David Brownell Date: Fri Jun 22 19:17:57 2007 -0700 [AVR32] Initialize dma_mask and dma_coherent_mask The current at32ap7000 platform devices aren't declared as supporting DMA, so that layered drivers can't tell whether they need to manage DMA. This patch makes all those platform devices report that they support DMA. Most do, but in a few cases this is inappropriate. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 7f8b9acae8a76fcce5f4af0dfac735a1b7b4fdbf Author: ben.nizette@iinet.net.au Date: Wed Jun 20 20:44:30 2007 +0800 [AVR32] NGW100, Remove relics of the old USART mapping scheme USART mapping used to be accomplished by the manual filling of at32_usart_map[] and at32_nr_usarts. This has now been replaced with at32_map_usart() so we can remove these variables. Signed-off-by: Ben Nizette Signed-off-by: Haavard Skinnemoen commit ab61f7d21ab7f564fce322c498e4a7d6171140db Author: Haavard Skinnemoen Date: Mon Jun 18 14:08:18 2007 +0200 [AVR32] Fix bug in invalidate_dcache_region() If (start + size) is not cacheline aligned and (start & mask) > (end & mask), the last but one cacheline won't be invalidated as it should. Fix this by rounding `end' down to the nearest cacheline boundary if it gets adjusted due to misalignment. Also flush the write buffer unconditionally -- if the dcache wrote back a line just before we invalidated it, the dirty data may be sitting in the write buffer waiting to corrupt our buffer later. Signed-off-by: Haavard Skinnemoen commit 75154f402ef18e459ff97ddece25656b6c2b329c Author: Andi Kleen Date: Sat Jun 23 02:29:25 2007 +0200 x86_64: Ignore compat mode SYSCALL when IA32_EMULATION is not defined Previously a program could switch to a compat mode segment and then execute SYSCALL and it would jump to an uninitialized MSR and crash the kernel. Instead supply a dummy target for this case. Pointed out by Jan Beulich Cc: jbeulich@novell.com Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e2f1f19272f8de0374ad297b9806f8b6509e0013 Author: Olaf Hering Date: Sat Jun 23 02:29:24 2007 +0200 x86_64: Fix only make Macintosh drivers default on Macs Include PPC_MAC in the default too, not only MAC which only covers m68k MACs. Signed-off-by: Olaf Hering Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9d9bbd4d247a674deb43565582151acdc22e90d1 Author: Andi Kleen Date: Sat Jun 23 02:29:23 2007 +0200 i386: Make CMPXCHG64 only dependent on PAE It is only used for PAE kernels in set_64bit. The problem is that due to a old Windows bug many CPUs need magic MSRs to enable CMPXCHG64, and we can't do that nicely early enough before it is potentially used. But since we only need it in PAE kernels so only force the checking for CMPXCHG65 with PAE. This fixes a boot failure on Transmeta Crusoe Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 8bfe6d68391af6171df789124fc3dfefeb392d9c Author: Satyam Sharma Date: Fri Jun 22 17:04:27 2007 -0700 [IPV4]: include sysctl.h from inetdevice.h When CONFIG_INET=y and CONFIG_SYSCTL=n: In file included from net/core/netpoll.c:16: include/linux/inetdevice.h:15: error: '__NET_IPV4_CONF_MAX' undeclared here (not in a function) make[2]: *** [net/core/netpoll.o] Error 1 make[1]: *** [net/core] Error 2 make: *** [net] Error 2 So #include sysctl.h from inetdevice.h. Signed-off-by: Satyam Sharma Signed-off-by: David S. Miller commit 6d5b78cdd5a17665674429400b3ed10e3ec60684 Author: YOSHIFUJI Hideaki Date: Fri Jun 22 16:07:04 2007 -0700 [IPV6] NDISC: Fix thinko to control Router Preference support. Bug reported by Haruhito Watanabe . Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit e2d8e314ad18d4302b3b7ea21ab8b2cb72f2b152 Author: Yasuyuki Kozakai Date: Fri Jun 22 14:10:22 2007 -0700 [NETFILTER]: nfctnetlink: Don't allow to change helper There is no realistic situation to change helper (Who wants IRC helper to track FTP traffic ?). Moreover, if we want to do that, we need to fix race issue by nfctnetlink and running helper. That will add overhead to packet processing. It wouldn't pay. So this rejects the request to change helper. The requests to add or remove helper are accepted as ever. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d258131aaea8a3979f82c0313b9a583130b29981 Author: Jerome Borsboom Date: Fri Jun 22 14:08:17 2007 -0700 [NETFILTER]: nf_conntrack_sip: add missing message types containing RTP info Signed-off-by: Jerome Borsboom Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 0864a4e201b1ea442f4c8b887418a29f67e24d30 Author: Arjan van de Ven Date: Wed Jun 20 22:23:21 2007 -0700 Allow DEBUG_RODATA and KPROBES to co-exist Do not mark the kernel text read only if KPROBES is in the kernel; kprobes needs to hot-patch the kernel text to insert it's instrumentation. In this case, only mark the .rodata segment as read only. Signed-off-by: Arjan van de Ven Tested-by: S. P. Prasanna Cc: Andi Kleen Cc: William Cohen Cc: Ian McDonald Signed-off-by: Linus Torvalds commit 58229a18994215bbfe0bcd1c99d2e039f30b076b Author: Thomas Gleixner Date: Thu Jun 21 20:45:15 2007 +0000 posix-timers: Prevent softirq starvation by small intervals and SIG_IGN posix-timers which deliver an ignored signal are currently rearmed in the timer softirq: This is necessary because the timer needs to be delivered again when SIG_IGN is removed. This is not a problem, when the interval is reasonable. With high resolution timers enabled one might arm a posix timer with a very small interval and ignore the signal. This might lead to a softirq starvation when the interval is so small that the timer is requeued onto the softirq pending list right away. This problem was pointed out by Jan Kiszka. Thanks Jan ! The correct solution would be to stop the timer, when the signal is ignored and rearm it when SIG_IGN is removed. Unfortunately this requires modification in sigaction and involves non trivial sighand locking. It's too late in the release cycle for such a change. For now we just keep the timer running and enforce that the timer only fires every jiffie. This does not break anything as we keep the overrun counter correct. It adds a little inaccuracy to the timer_gettime() interface, but... The more complex change is necessary anyway to fix another short coming of the current implementation, which I discovered while looking at this problem: A pending signal is discarded when SIG_IGN is set. In case that a posixtimer signal is pending then it is discarded as well, but when SIG_IGN is removed later nothing rearms the timer. This is not new, it's that way since posix timers have been merged. So nothing to worry about right now. I have a working solution to fix all of this, but the impact is too large for both stable and 2.6.22. I'm going to send it out for review in the next days. This should go into 2.6.21.stable as well. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Jan Kiszka Cc: Ulrich Drepper Cc: Stable Team Signed-off-by: Linus Torvalds commit b9bae3402572dc50a1e084c5b1ae5117918ef0f0 Author: Hugh Dickins Date: Thu Jun 21 23:27:45 2007 +0100 page_mapping must avoid slub pages Nicolas Ferre reports oops from flush_dcache_page() on ARM when using SLUB: which reuses page->mapping as page->slab. The page_mapping() function, used by ARM and PA-RISC flush_dcache_page() implementations, must not confuse SLUB pages with those which have page->mapping set. Signed-off-by: Hugh Dickins Cc: Nicolas Ferre Cc: Christoph Lameter Cc: Andrew Morton Signed-off-by: Linus Torvalds commit 05dc16d6a175139a5872d08db56ee277ec90df5b Author: Randolph Chung Date: Tue Jun 12 14:27:32 2007 +0800 [PARISC] unwinder improvements Add special-case handling for "handle_interruption" so that we can rewind past the interruption. This is useful for seeing what caused a BUG() or WARN_ON(); otherwise the unwind stops at the interruption. Signed-off-by: Randolph Chung Signed-off-by: Kyle McMartin commit e036306aa1832963cd147849b282259a32f5ac08 Author: Randolph Chung Date: Tue Jun 12 14:27:32 2007 +0800 [PARISC] Fix unwinder on 64-bit kernels The unwinder was broken by the shift of PAGE_OFFSET in order to increase the size of the vmalloc area on 64-bit kernels. Signed-off-by: Randolph Chung Signed-off-by: Kyle McMartin commit 06b32f3ab6df4c7489729f94bdc7093c72681d4b Author: Helge Deller Date: Tue Dec 19 19:28:33 2006 +0100 [PARISC] Handle wrapping in expand_upwards() Function expand_upwards() did not guarded against wrapping around to address 0. This fixes the adjtimex02 testcase from the Linux Test Project on a 32bit PARISC kernel. [expand_upwards is only used on parisc and ia64; it looks like it does the right thing on both. --kyle] Signed-off-by: Helge Deller Cc: Tony Luck Signed-off-by: Kyle McMartin commit d2f1c0fa2b346769ac35559ae3bafccf151dd446 Author: Julian Stecklina Date: Mon Jun 18 19:56:28 2007 +0200 [PARISC] stop lcd driver from stripping initial whitespace Signed-off-by: Julian Stecklina Signed-off-by: Kyle McMartin commit c8681f14013d3ad2fc4fb4e30cfd4ea548f7a249 Author: Jack Morgenstein Date: Thu Jun 21 13:39:10 2007 -0700 IB/mlx4: Correct max_srq_wr returned from mlx4_ib_query_device() We need to keep a spare entry in the SRQ so that there always is a next WQE available when posting receives (so that we can tell the difference between a full queue and an empty queue). So subtract 1 from the value HW gives us before reporting the limit on SRQ entries to consumers. Found by Mellanox QA. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 13ef5f44c3931dff1d75443a875e97b588d4b8f0 Author: Roland Dreier Date: Thu Jun 21 13:39:08 2007 -0700 IPoIB/cm: Remove dead definition of struct ipoib_cm_id It's completely unused. Signed-off-by: Roland Dreier commit 82c3aca6ad9004169df8f2f8c0747686fe4003b3 Author: Michael S. Tsirkin Date: Wed Jun 20 19:22:15 2007 +0300 IPoIB/cm: Fix interoperability when MTU doesn't match IPoIB connected mode currently rejects a connection request unless the supported MTU is >= the local netdevice MTU. This breaks interoperability with implementations that might have tweaked IPOIB_CM_MTU, and there's real no longer a reason to do so: this test is just a leftover from when we did not tweak MTU per-connection. Fix this by making the test as permissive as possible. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 3ec7393a6858a1716e74aa81be6af76fd180021d Author: Michael S. Tsirkin Date: Tue Jun 19 13:40:41 2007 +0300 IPoIB/cm: Initialize RX before moving QP to RTR Fix a crasher bug in IPoIB CM: once a QP is in the RTR state, a receive completion (or even an asynchronous error) might be observed on this QP, so we have to initialize all of our receive data structures before moving to the RTR state. As an optimization (since modify_qp might take a long time), the jiffies update done when moving RX to the passive_ids list is also left in place to reduce the chance of the RX being misdetected as stale. This fixes bug . Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit 24bce5080306bd5255cbda3d6b09a29d5515b470 Author: Roland Dreier Date: Thu Jun 21 11:05:58 2007 -0700 IB/umem: Fix possible hang on process exit If ib_umem_release() is called after ib_uverbs_close() sets context->closing, then a process can get stuck in a D state, because the code boils down to if (down_write_trylock(&mm->mmap_sem)) down_write(&mm->mmap_sem); which is obviously a stupid instant deadlock. Fix the code so that we only try to take the lock once. This bug was introduced in commit f7c6a7b5 ("IB/uverbs: Export ib_umem_get()/ib_umem_release() to modules") which fortunately never made it into a release, and was reported by Pete Wyckoff . Signed-off-by: Roland Dreier commit 47d46379eb66278107947729e34a833c76dca252 Author: Wang Zhenyu Date: Thu Jun 21 13:43:18 2007 +0800 [AGPGART] intel_agp: don't load if no IGD and AGP port After i915 chip, GMCH has no AGP port. Origin bridge driver in device table will try to access illegal regs like APBASE, APSIZE, etc. This may cause problem. So mark them as NULL in the table, we won't load if no IGD got detect and bridge has no AGP port. Signed-off-by: Wang Zhenyu Signed-off-by: Dave Jones commit 216e39db112da4d25a52aeb956e7da70fdd0d94c Author: Mike Frysinger Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: add proper const volatile to addr argument to the read functions Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 334280fff3f7201d0fd564fe85e0a6f035ce3f68 Author: Sonic Zhang Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: Add definition of dma_mapping_error Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit b9b712765738d141154b435a5bfec4adbbee25f3 Author: Mike Frysinger Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: move cond_syscall() behind __KERNEL__ like all other architectures Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 86b73c8cfc8daeff554ae3e95e2a0ee77c45d499 Author: Robin Getz Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: match kernel startup messaage with new linker script Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 9c8f1729b0a838dc0f44b77dab80890a98585964 Author: Mike Frysinger Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: add missing braces around array bfin serial init Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c5d88d9e2566e7ddccb0e001446b9a39882560a3 Author: Robin Getz Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: update printk to use KERN_EMERG and reformat crash output to look like: return address: [0x0357fcc4]; contents of: 0x0357fca0: fcbc 0357 fe20 0357 0009 0000 6a8c 0345 0x0357fcb0: 000e 0000 fcc4 0357 fd44 0357 e128 00ad 0x0357fcc0: 00a0 0000 [000e] 0000 0000 0000 0080 0000 0x0357fcd0: 0000 0000 0000 0000 00a0 0000 000e 0000 instruction in [] is the offending instruction Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4bf3f3cbb6add01d3e6a18c73f594b73113b14f2 Author: Robin Getz Date: Thu Jun 21 11:34:16 2007 +0800 Blackfin arch: update ANOMALY handling update lists for 533, 537, and add SSYNC workaround into assembly files. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 5fe675e2b3e41349deb0c81667065b9cb229ea1d Author: Stas Sergeev Date: Wed Jun 20 22:42:13 2007 +0400 fix module_param mistake in it821x The attached patch fixes a trivial mistake in a MODULE_PARAM_DESC of pata_it821x driver. The parameter name in MODULE_PARAM_DESC should match the one in module_param_named. Signed-off-by: Stas Sergeev Signed-off-by: Jeff Garzik commit a3d2cc5e742f82a87fdf9e2b730f41ff381c0a73 Author: Tejun Heo Date: Tue Jun 19 18:52:56 2007 +0900 ahci: fix PORTS_IMPL override If PORTS_IMPL register is zero, ahci initialize it to full mask corresponding to nr_ports in the CAP register. hpriv->cap, which is initialized at the end of the function, is incorrectly used as value of CAP causing ahci to always override PORTS_IMPL to 0x1 if it's zero. Fix it. This fixes a bug where early ich6 ahci can only access the first port. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 3fae450c68d06b8890e1530bdd0910e938e7251d Author: Henrik Kretzschmar Date: Tue Jun 19 10:10:50 2007 +0200 kerneldoc fix in libata Fix parameter name from ata_dev_reread_id() in libata-core.c for kerneldoc. Signed-off-by: Henrik Kretzschmar Signed-off-by: Jeff Garzik commit 2f8fcebbf5c8dd2ee7eb5711c03318c011d50d39 Author: Tejun Heo Date: Mon Jun 18 14:38:41 2007 +0900 libata: more NONCQ devices More for the NCQ blacklist. One hitachi and one raptor. Other members of these families of drives are already on the list, so no surprises. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 374abf2cb16a9df8be96675c606996458872e8b3 Author: Bartlomiej Zolnierkiewicz Date: Mon Jun 11 11:40:07 2007 +0200 pata_it821x: (partially) fix DMA in RAID mode Code intended to check DMA status was checking DMA command register. Moreover firmware seems to "forget" to set DMA capable bit for the slave device (at least in RAID mode but without ITE RAID volumes) so check device ID for DMA capable bit when deciding whether to use DMA and remove DMA status check completely. Thanks to Pavol Simo for the bugreport and testing the initial fix. This change unfortunately still doesn't fix DMA in RAID mode (which works fine with IDE it821x) but Alan is working on the missing pieces (pata_it821x vs libata EH issues). Signed-off-by: Bartlomiej Zolnierkiewicz Acked-by: Alan Cox Cc: Tejun Heo Signed-off-by: Jeff Garzik commit 9f7897554eeca34ec23dd877cc27402bd327a1ce Author: Peer Chen Date: Thu Jun 7 18:23:12 2007 +0800 PATA: Add the MCP73/77 support to PATA driver Add the MCP73/MCP77 support to PATA driver. The patch base on kernel 2.6.22-rc4 Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit 2090dee420911045258d50239dc2c527e4b1dd06 Author: Divy Le Ray Date: Wed May 30 10:01:50 2007 -0700 cxgb3 - MAC watchdog update Fix variables initialization and usage in the MAC watchdog. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 7b581a0fa85464f7f765b9a66f612e7ec4ab17f9 Author: Divy Le Ray Date: Wed May 30 10:01:44 2007 -0700 cxgb3 - Stop mac RX when changing MTU Rx traffic needs to be halted when the MTU is changed to avoid a potential chip hang. Reset/restore MAC filters around a MTU change. Also fix the pause frames high materwark setting. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit c706bfb52afc9b5d115f61a8e1c0c30540feb3f4 Author: Divy Le Ray Date: Wed May 30 10:01:39 2007 -0700 cxgb3 - Fix direct XAUI support Check all lanes for link status on direct XAUI cards. Don't assume that direct XAUI always uses XGMAC 1. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit 890de332834a95450a74e5f615f4f9a0fa564623 Author: Divy Le Ray Date: Wed May 30 10:01:34 2007 -0700 cxgb3 - fix netpoll hanlder Fix netpoll handler to work with line interrupt, msi and msi-x. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit e360b5628f1d040c0e96dd9ee011196645e08aef Author: Divy Le Ray Date: Wed May 30 10:01:29 2007 -0700 cxgb3 - fix skb->dev dereference eth_type_trans() now sets skb->dev. References to skb->dev should happen after it is called. Signed-off-by: Divy Le Ray Signed-off-by: Jeff Garzik commit d41f2d17f863fcd9496748135967e71551d5873d Author: Gregory Haskins Date: Fri Jun 15 17:17:50 2007 -0400 natsemi irq flags The spinlock irq flags should be a unsigned long to properly support 64 bit Signed-off-by: Gregory Haskins Signed-off-by: Jeff Garzik commit 2cc49a5ca14348f225beb888ad383064f2a96876 Author: Tim Mann Date: Thu Jun 14 13:16:38 2007 -0700 forcedeth: use unicast receive mode for WoL I happened to notice that a system with an NVidia NIC using the forcedeth driver won't wake-on-LAN if the interface was in promiscuous mode when you power off. By experiment, it looks like the hardware needs to have NvRegPacketFilterFlags set to NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR (i.e., receive unicast packets to my address) in order for WoL to work. Jeff Garzik writes: "NVIDIA says the patch looks OK." I didn't venture to insert a signed-off-by line with his name on it, though. Signed-off-by: Tim Mann Signed-off-by: Jeff Garzik commit d46146274b2dc01fac4063d31393385117d31f58 Author: Martin Schwidefsky Date: Wed Jun 20 13:03:57 2007 +0200 s390: netiucv inlining cleanup The recent iucv rework patches re-introduced some unnecessary inlines. Remove them again. Signed-off-by: Frank Pavlic Signed-off-by: Martin Schwidefsky Signed-off-by: Jeff Garzik commit bfac0d0b6c6e20933b46f53a964c130f2f2bfa85 Author: Thomas Gleixner Date: Wed Jun 20 13:02:55 2007 +0200 s390: netiucv spinlock initializer cleanup spinlock initializer cleanup in netiucv.c Signed-off-by: Thomas Gleixner Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit 651bbc6224a95eb5bf0ccf6ecd61fc244b38d1f5 Author: Ursula Braun Date: Wed Jun 20 13:01:30 2007 +0200 s390: don't call iucv_path_connect from tasklet context net/iucv/iucv.c creates the requirement for iucv_path_connect not to be called from tasklet context anymore. An extra checking is added in case of a failing netiucv_tx to fulfil this requirement for netiucv. Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit dc5bc0cabd1003b4fa358f0d54dfdc46585efb57 Author: Cornelia Huck Date: Wed Jun 20 13:00:20 2007 +0200 s390: Use ccw_device_get_id() in qeth/claw drivers Use ccw_device_get_id() to get a device number instead of parsing the ccw device's bus id. Signed-off-by: Cornelia Huck Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit cd3e76ebcb41c48ef6e706006b793d45030bae75 Author: Frank Pavlic Date: Wed Jun 20 12:59:14 2007 +0200 s390: qeth: wrong packet length in qdio header Packets Length in qdio header is broken when using EDDP on Layer2 devices. This leads to skb_under_panic on receiver system when running on z/VM GuestLAN devices. Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit add3f2fa7a6cec16d35a95b9078e1ecc80a6f332 Author: Ursula Braun Date: Wed Jun 20 12:58:02 2007 +0200 s390: avoid inconsistent lock state in qeth ipv6_regen_rndid in net/ipv6/addrconf.c makes use of "write_lock_bh" for its inet6_dev->lock. It may run in softirq-context. qeth makes use of "read_lock" for the same inet6_dev->lock. To avoid a potential deadlock situation, qeth should make use of "read_lock_bh" for its usages of inet6_dev->lock. Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit d81ef0fb76ef2eb7126f64cb34217d2ddfb48483 Author: Ursula Braun Date: Wed Jun 20 12:56:49 2007 +0200 s390: qeth driver does not recover While first recovery continues, the card issues a STARTLAN command itself. In this case qeth schedules another recovery. This second recovery is cancelled because of an already running first recovery. Stop first recovery in case of 0xe080. Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit d78f6642bea3b8f064dcb9a17db58593ef8cc0fb Author: Ursula Braun Date: Wed Jun 20 12:55:18 2007 +0200 s390: print correct level for HiperSockets devices For real HiperSockets the EBCDIC-ASCII conversion is not necessary. This is only needed for z/VM GuestLAN devices. Signed-off-by: Ursula Braun Signed-off-by: Frank Pavlic Signed-off-by: Jeff Garzik commit 031ae4deb095a1f18a842740459c5ae184ec931c Author: Jay Vosburgh Date: Wed Jun 13 22:11:34 2007 -0700 bonding: Fix 802.3ad no carrier on "no partner found" instance Modify carrier state determination for 802.3ad mode to comply with section 43.3.9 of IEEE 802.3, which requires that "Links that are not successful candidates for aggregation (e.g., links that are attached to other devices that cannot perform aggregation or links that have been manually configured to be non-aggregatable) are enabled to operate as individual IEEE 802.3 links." Bug reported by Laurent Chavey . This patch is an updated version of his patch that changes the wording of commentary and adds an update to the driver version. Signed-off-by: Jay Vosburgh Signed-off-by: Laurent Chavey Signed-off-by: Jeff Garzik commit 3201e656ce56ed02e9501906c18ffe16ae350a52 Author: Jay Vosburgh Date: Tue Jun 19 11:12:12 2007 -0700 bonding: Fix use after free in unregister path The following patch (based on a patch from Stephen Hemminger ) removes use after free conditions in the unregister path for the bonding master. Without this patch, an operation of the form "echo -bond0 > /sys/class/net/bonding_masters" would trigger a NULL pointer dereference in sysfs. I was not able to induce the failure with the non-sysfs code path, but for consistency I updated that code as well. I also did some testing of the bonding /proc file being open while the bond is being deleted, and didn't see any problems there. Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 3a2c892daaf54b31a70785c2821771e8094188ed Author: Stephen Hemminger Date: Mon Jun 11 13:35:23 2007 -0500 spidernet: checksum and ethtool It doesn't look like spidernet hardware can really checksum all protocols, the code looks like it does IPV4 only. If so, it should use NETIF_F_IP_CSUM instead of NETIF_F_HW_CSUM. The driver doesn't need it's own get/set for ethtool tx csum, and it should use the standard ethtool_op_get_link. Signed-off-by: Stephen Hemminger Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 128c6e2e519fe7d0a15de04f3dde00700145cec4 Author: Linas Vepstas Date: Mon Jun 11 13:29:03 2007 -0500 spidernet: turn off descriptor chain end interrupt. At some point, the transmit descriptor chain end interrupt (TXDCEINT) was turned on. This is a mistake; and it damages small packet transmit performance, as it results in a huge storm of interrupts. Turn it off. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit c3d1182a538fd99b6fe5effa1ab54521c0efb1d1 Author: Linas Vepstas Date: Mon Jun 11 13:26:50 2007 -0500 spidernet: silence the ramfull messages Although the previous patch resolved issues with hangs when the RX ram full interrupt is encountered, there are still situations where lots of RX ramfull interrupts arrive, resulting in a noisy log in syslog. There is no need for this. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 2bf27a0d4913a5f0ef38e3be510b1b3add2869ad Author: Linas Vepstas Date: Mon Jun 11 13:23:42 2007 -0500 spidernet: Don't terminate the RX ring The terminated RX ring will cause trouble during the RX ram full conditions, leading to a hung driver, as the hardware can't find the next descr. There is no real reason to terminate the RX ring; it doesn't make the operation any smooother, and it does require an extra sync. So don't do it. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 4c4bd5a97a87670d2c368ed4ed8a8f2c93080605 Author: Linas Vepstas Date: Mon Jun 11 13:21:13 2007 -0500 spidernet: Cure RX ram full bug This patch fixes a rare deadlock that can occur when the kernel is not able to empty out the RX ring quickly enough. Below follows a detailed description of the bug and the fix. As long as the OS can empty out the RX buffers at a rate faster than the hardware can fill them, there is no problem. If, for some reason, the OS fails to empty the RX ring fast enough, the hardware GDACTDPA pointer will catch up to the head, notice the not-empty condition, ad stop. However, RX packets may still continue arriving on the wire. The spidernet chip can save some limited number of these in local RAM. When this local ram fills up, the spider chip will issue an interrupt indicating this (GHIINT0STS will show ERRINT, and the GRMFLLINT bit will be set in GHIINT1STS). When te RX ram full condition occurs, a certain bug/feature is triggered that has to be specially handled. This section describes the special handling for this condition. When the OS finally has a chance to run, it will empty out the RX ring. In particular, it will clear the descriptor on which the hardware had stopped. However, once the hardware has decided that a certain descriptor is invalid, it will not restart at that descriptor; instead it will restart at the next descr. This potentially will lead to a deadlock condition, as the tail pointer will be pointing at this descr, which, from the OS point of view, is empty; the OS will be waiting for this descr to be filled. However, the hardware has skipped this descr, and is filling the next descrs. Since the OS doesn't see this, there is a potential deadlock, with the OS waiting for one descr to fill, while the hardware is waiting for a differen set of descrs to become empty. A call to show_rx_chain() at this point indicates the nature of the problem. A typical print when the network is hung shows the following: net eth1: Spider RX RAM full, incoming packets might be discarded! net eth1: Total number of descrs=256 net eth1: Chain tail located at descr=255 net eth1: Chain head is at 255 net eth1: HW curr desc (GDACTDPA) is at 0 net eth1: Have 1 descrs with stat=xa0800000 net eth1: HW next desc (GDACNEXTDA) is at 1 net eth1: Have 127 descrs with stat=x40800101 net eth1: Have 1 descrs with stat=x40800001 net eth1: Have 126 descrs with stat=x40800101 net eth1: Last 1 descrs with stat=xa0800000 Both the tail and head pointers are pointing at descr 255, which is marked xa... which is "empty". Thus, from the OS point of view, there is nothing to be done. In particular, there is the implicit assumption that everything in front of the "empty" descr must surely also be empty, as explained in the last section. The OS is waiting for descr 255 to become non-empty, which, in this case, will never happen. The HW pointer is at descr 0. This descr is marked 0x4.. or "full". Since its already full, the hardware can do nothing more, and thus has halted processing. Notice that descrs 0 through 254 are all marked "full", while descr 254 and 255 are empty. (The "Last 1 descrs" is descr 254, since tail was at 255.) Thus, the system is deadlocked, and there can be no forward progress; the OS thinks there's nothing to do, and the hardware has nowhere to put incoming data. This bug/feature is worked around with the spider_net_resync_head_ptr() routine. When the driver receives RX interrupts, but an examination of the RX chain seems to show it is empty, then it is probable that the hardware has skipped a descr or two (sometimes dozens under heavy network conditions). The spider_net_resync_head_ptr() subroutine will search the ring for the next full descr, and the driver will resume operations there. Since this will leave "holes" in the ring, there is also a spider_net_resync_tail_ptr() that will skip over such holes. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 83d35145c443d8394aaf1743301e79fa0a8054d7 Author: Linas Vepstas Date: Mon Jun 11 13:17:02 2007 -0500 spidernet: null out skb pointer after its been used. Avoid kernel crash in mm/slab.c due to double-free of pointer. If the ethernet interface is brought down while there is still RX traffic in flight, the device shutdown routine can end up trying to double-free an skb, leading to a crash in mm/slab.c Avoid the double-free by nulling out the skb pointer. Signed-off-by: Linas Vepstas Signed-off-by: Jeff Garzik commit 24315c5e6f508edd84e996d67daef3d1bcc72f8b Author: Kristian Høgsberg Date: Wed Jun 20 17:48:07 2007 -0400 firewire: Only set client->iso_context if allocation was successful. This patch fixes an OOPS on cdev release for an fd where iso context creation failed. Signed-off-by: Kristian Høgsberg Signed-off-by: Stefan Richter commit 8acff0a2449aeda37204c4074976bf79f21968e3 Author: Li Yang Date: Wed Jun 20 20:23:34 2007 +0800 Fix up CREDIT entry ordering Reorder my CREDIT entry to make it in alphabetic order by last name. Signed-off-by: Li Yang Signed-off-by: Linus Torvalds commit bf8c4817427de0744e9c008d3ad5a7635e41e397 Author: Yinghai Lu Date: Wed Jun 20 12:23:39 2007 +0200 x86_64: fix link warning between for .text and .init.text WARNING: arch/x86_64/kernel/built-in.o(.text+0xace9): Section mismatch: reference to .init.text: (between 'get_mtrr_state' and 'mtrr_wrmsr') WARNING: arch/x86_64/kernel/built-in.o(.text+0xad09): Section mismatch: reference to .init.text: (between 'get_mtrr_state' and 'mtrr_wrmsr') WARNING: arch/x86_64/kernel/built-in.o(.text+0xad38): Section mismatch: reference to .init.text: (between 'get_mtrr_state' and 'mtrr_wrmsr') WARNING: drivers/built-in.o(.text+0x3a680): Section mismatch: reference to .init.text:acpi_map_pxm_to_node (between 'acpi_get_node' and 'acpi_lock_ac_dir') AK: also marked mtrr_bp_init __init to avoid some more warnings Signed-off-by: Yinghai Lu Signed-off-by: Andi Kleen Acked-by: Jan Beulich Signed-off-by: Linus Torvalds commit 018d2ad0cccfa9bb8bee1d160c353e568484a137 Author: Andi Kleen Date: Wed Jun 20 12:23:36 2007 +0200 x86: change_page_attr bandaids - Disable CLFLUSH again; it is still broken. Always do WBINVD. - Always flush in the i386 case, not only when there are deferred pages. These are both brute-force inefficient fixes, to be improved next release cycle. The changes to i386 are a little more extensive than strictly needed (some dead code added), but it is more similar to the x86-64 version now and the dead code will be used soon. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 55181000cd60334fe920c65ffbcdfe0e3f1de406 Author: Andi Kleen Date: Wed Jun 20 12:23:35 2007 +0200 x86: Disable KPROBES with DEBUG_RODATA for now Right now Kprobes cannot write to the write protected kernel text when DEBUG_RODATA is enabled. Disallow this in Kconfig for now. Temporary fix for 2.6.22. In .23 add code to temporarily unprotect it. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 9f1f79e641c548ee93fb20f69c9a404b92ee4fdd Author: Andi Kleen Date: Wed Jun 20 12:23:34 2007 +0200 x86: Only make Macintosh drivers default on Macs It's already annoying that they appear on x86 now -- that's for the 3button emulation needed on x86 macs -- but at least don't make them default. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0e52d3281f8aa6486949478ea95c8ca85c3ffab5 Author: Andi Kleen Date: Wed Jun 20 12:23:33 2007 +0200 x86_64: Quieten Atari keyboard warnings in Kconfig Not directly related to x86, but I got tired of seeing these warnings on every kconfig update when building on a non m68k box: drivers/input/keyboard/Kconfig:170:warning: 'select' used by config symbol 'KEYBOARD_ATARI' refers to undefined symbol 'ATARI_KBD_CORE' drivers/input/mouse/Kconfig:182:warning: 'select' used by config symbol 'MOUSE_ATARI' refers to undefined symbol 'ATARI_KBD_CORE' I moved the definition of ATARI_KBD_CORE into drivers/input/keyboard/Kconfig so it's always seen by Kconfig. Cc: Geert Uytterhoeven Acked-by: Roman Zippel Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 388c19e176436707eb30a81c7e4129e08769f92b Author: Andi Kleen Date: Wed Jun 20 12:23:32 2007 +0200 x86: Disable DAC on VIA bridges Several reports that VIA bridges don't support DAC and corrupt data. I don't know if it's fixed, but let's just blacklist them all for now. It can be overwritten with iommu=usedac Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 0b622330213ce0f0ee23199e433ed73284209b46 Author: Andi Kleen Date: Wed Jun 20 12:23:31 2007 +0200 x86_64: Fix eventd/timerfd syscalls They had the same syscall number. Pointed out by Davide Libenzi Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e412ac4971d27ea84f3d63ce425c6ab2d6a67f23 Author: Andi Kleen Date: Wed Jun 20 12:23:30 2007 +0200 x86_64: Fix readahead/sync_file_range/fadvise64 compat calls Correctly convert the u64 arguments from 32bit to 64bit. Pointed out by Heiko Carstens. I guess this proves Linus' theory that nobody uses the more exotic Linux specific syscalls. It wasn't discovered by a user. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 3b1d4ed5353af04d6aa20be2701727b9cdb2ac61 Author: Ralf Baechle Date: Wed Jun 20 22:27:10 2007 +0100 [MIPS] Don't drag a platform specific header into generic arch code. For some platforms it's definitions may conflict. So that's the one-liner. The rest is 10 square kilometers of collateral damage fixup this include used to paper over. Signed-off-by: Ralf Baechle commit c5f226c7e95bf318879fb6ae02fc0dfb0f6d408c Author: Tony Breeds Date: Wed Jun 20 15:17:29 2007 +1000 [POWERPC] Fix powermac late initcall to only run on powermac Current ppc64_defconfig kernel fails to boot on iSeries, dying with: Unable to handle kernel paging request for data at address 0x00000000 Faulting instruction address: 0xc00000000071b258 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=32 iSeries NIP [c00000000071b258] .iSeries_src_init+0x34/0x64 LR [c000000000701bb4] .kernel_init+0x1fc/0x3bc Call Trace: [c000000007d0be30] [0000000000008000] 0x8000 (unreliable) [c000000007d0bea0] [c000000000701bb4] .kernel_init+0x1fc/0x3bc [c000000007d0bf90] [c0000000000262d4] .kernel_thread+0x4c/0x68 Instruction dump: e922cba8 3880ffff 78840420 f8010010 f821ff91 60000000 e8090000 78095fe3 4182002c e922cb58 e862cbb0 e9290140 f8410028 7c0903a6 e9690010 Kernel panic - not syncing: Attempted to kill init! This happens because some powermac code unconditionally sets ppc_md.progress to NULL. This patch makes sure the powermac late initcall is only run on powermac machines. Signed-off-by: Tony Breeds Signed-off-by: Paul Mackerras commit 9ba4ace39fdfe22268daca9f28c5df384ae462cf Author: Segher Boessenkool Date: Wed Jun 20 01:07:04 2007 +1000 [POWERPC] PowerPC: Prevent data exception in kernel space (32-bit) The "is_exec" branch of the protection check in do_page_fault() didn't do anything on 32-bit PowerPC. So if a userland program jumps to a page with Linux protection flags "---p", all the tests happily fall through, and handle_mm_fault() is called, which in turn calls handle_pte_fault(), which calls update_mmu_cache(), which goes flush the dcache to a page with no access rights. Boom. This fixes it. Signed-off-by: Segher Boessenkool Cc: Johannes Berg Signed-off-by: Paul Mackerras commit 7c8545e98468c53809fc06788a3b9a34dff05240 Author: Li Yang Date: Mon Jun 18 19:29:21 2007 +0800 [POWERPC] rheap - eliminates internal fragments caused by alignment The patch adds fragments caused by rh_alloc_align() back to free list, instead of allocating the whole chunk of memory. This will greatly improve memory utilization managed by rheap. It solves MURAM not enough problem with 3 UCCs enabled on MPC8323. Signed-off-by: Li Yang Acked-by: Joakim Tjernlund Signed-off-by: Kumar Gala commit 186e234358ba29a4094d0c8c0d3ea00f84d32a3e Author: Neil Horman Date: Mon Jun 18 19:59:16 2007 -0400 SCTP: Fix sctp_getsockopt_get_peer_addrs This is the split out of the patch that we agreed I should split out from my last patch. It changes space_left to be computed in the same way the to variable is. I know we talked about changing space_left to an int, but I think size_t is more appropriate, since we should never have negative space in our buffer, and computing using offsetof means space_left should now never drop below zero. Signed-off-by: Neil Horman Acked-by: Sridhar Samudrala Signed-off-by: Vlad Yasevich commit 408f22e81ea2fcf96c80e85ee12d20ef5148bf7c Author: Neil Horman Date: Sat Jun 16 14:03:45 2007 -0400 SCTP: update sctp_getsockopt helpers to allow oversized buffers I noted the other day while looking at a bug that was ostensibly in some perl networking library, that we strictly avoid allowing getsockopt operations to complete if we pass in oversized buffers. This seems to make libraries like Perl::NET malfunction since it seems to allocate oversized buffers for use in several operations. It also seems to be out of line with the way udp, tcp and ip getsockopt routines handle buffer input (since the *optlen pointer in both an input and an output and gets set to the length of the data that we copy into the buffer). This patch brings our getsockopt helpers into line with other protocols, and allows us to accept oversized buffers for our getsockopt operations. Tested by me with good results. Signed-off-by: Neil Horman Acked-by: Sridhar Samudrala Signed-off-by: Vlad Yasevich commit dc74d7f996b465d8a95033c753d34c8b4c01c9d7 Author: Heiko Carstens Date: Tue Jun 19 13:10:06 2007 +0200 [S390] Move psw_set_key. Move psw_set_key() from ptrace.h to processor.h which is a more suitable place for it. In addition the moves makes the function invisible to user space. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit bca0fb8683b7406d3056dc53a14b0a482c367e2b Author: Heiko Carstens Date: Tue Jun 19 13:10:05 2007 +0200 [S390] Add oops_enter()/oops_exit() calls to die(). This is mainly to switch off all potentially debugging stuff that won't report anything useful after an oops happened. Besided that setting pause_on_oops will work too, but doesn't make too much sense on s390. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 0fc9bbf771ce7d41ed33300e75e74e922dde1c38 Author: Heiko Carstens Date: Tue Jun 19 13:10:04 2007 +0200 [S390] Print list of modules on die(). Print list of modules on die() like a lot of other architectures do. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 84b36a8e0c863aeea29b62f8411157192481dd2e Author: Heiko Carstens Date: Tue Jun 19 13:10:03 2007 +0200 [S390] Fix yet another two section mismatches. WARNING: arch/s390/kernel/built-in.o(.text+0xb92a): Section mismatch: reference to .init.text:start_secondary (between 'restart_addr' and 'stack_overflow') WARNING: arch/s390/appldata/built-in.o(.data+0xdc): Section mismatch: reference to .init.text: (between 'appldata_nb' and 'appldata_timer_lock') Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit ce4448238aee0144a2458874944df5a5a01a6ac6 Author: Michael Holzheu Date: Tue Jun 19 13:10:02 2007 +0200 [S390] Fix zfcpdump header Added members for volume number and real memory size to header information. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 0a71a312437d444e1a45317823fda8160df37ee4 Author: Michael Holzheu Date: Tue Jun 19 13:10:01 2007 +0200 [S390] Missing blank when appending cio_ignore kernel parameter When appending the 'cio_ignore' kernel parameter to the command line, a blank has to be inserted in order to separate 'cio_ignore' from the preceding kernel parameters. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 19e6454ca778e11e81497bd87c930dc0defd03d7 Author: David Howells Date: Mon Jun 18 23:30:41 2007 -0700 [AF_RXRPC]: Return the number of bytes buffered in rxrpc_send_data() Return the number of bytes buffered in rxrpc_send_data(). Signed-off-by: David Howells Signed-off-by: David S. Miller commit cc0191aeef73e5aa0c7f9a586d4bb27ed67facbb Author: Neil Horman Date: Mon Jun 18 22:33:20 2007 -0700 [IPVS]: Fix state variable on failure to start ipvs threads ip_vs currently fails to reset its ip_vs_sync_state variable if the sync thread fails to start properly. The result is that the kernel will report a running daemon when their actuall is none. If you issue the following commands: 1. ipvsadm --start-daemon master --mcast-interface bla 2. ipvsadm -L --daemon 3. ipvsadm --stop-daemon master Assuming that bla is not an actual interface, step 2 should return no data, but instead returns: $ ipvsadm -L --daemon master sync daemon (mcast=bla, syncid=0) Signed-off-by: Neil Horman Signed-off-by: David S. Miller commit 281216177a407f78cfd650ee4391afc487577193 Author: Patrick McHardy Date: Mon Jun 18 22:30:15 2007 -0700 [XFRM]: Fix MTU calculation for non-ESP SAs My IPsec MTU optimization patch introduced a regression in MTU calculation for non-ESP SAs, the SA's header_len needs to be subtracted from the MTU if the transform doesn't provide a ->get_mtu() function. Reported-and-tested-by: Marco Berizzi Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit e99f056b2777f3fc6871ff6347c98c0321ad2f8f Author: Tim Shimmin Date: Tue Jun 19 15:26:35 2007 +1000 [XFS] Update the MAINTAINERS file entry for XFS - change git repo name. Make the git repository bare and so give it the conventional .git suffix. Signed-off-by: Tim Shimmin commit 700716c8468d95ec6d03566a4e4fb576c3223cbc Author: Christoph Hellwig Date: Thu May 24 15:27:17 2007 +1000 [XFS] s/memclear_highpage_flush/zero_user_page/ SGI-PV: 957103 SGI-Modid: xfs-linux-melb:xfs-kern:28678a Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit 41e904dee22066ae7ac3a7f695b2c8bd43ce4e04 Author: Benjamin Herrenschmidt Date: Tue Jun 19 14:37:39 2007 +1000 [POWERPC] Fix snd-powermac refcounting bugs The old snd-powermac driver has some serious refcounting issues when initialisation fails, which is the case on all new machines with a layout-id since those are handled by the new snd-aoa driver. Some of those bugs seem to have been under the radar for some time (like double pci_dev_put), but one was actually added in 2.6.22 with Stephen attempt at teaching refcounting to the driver which didn't do it at all. This patch fixes both, thus removing all sort of kref errors that would happen if that driver gets loaded on a G5 machine or a recent PowerBook due to OF nodes left around with a 0 refcount. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit e227e8f3ba3bfb8e26fee783026c1425ba600037 Author: Paul Mundt Date: Tue Jun 19 12:41:32 2007 +0900 sh64: Handle -ERESTART_RESTARTBLOCK for restartable syscalls. The current implementation only handles -ERESTARTNOHAND, whereas we also need to handle -ERESTART_RESTARTBLOCK in the handle_signal() case for restartable system calls. Follows the sh change. Signed-off-by: Paul Mundt commit 3aeb884b4ec442719a2d8aa15316415a7412efd8 Author: Paul Mundt Date: Tue Jun 19 12:33:21 2007 +0900 sh: Handle -ERESTART_RESTARTBLOCK for restartable syscalls. The current implementation only handles -ERESTARTNOHAND, whereas we also need to handle -ERESTART_RESTARTBLOCK in the handle_signal() case for restartable system calls. As noted by Carl: This fixes the LTP test nanosleep03 - the current kernel causes -ERESTART_RESTARTBLOCK to reach user space rather than the correct -EINTR. Reported-by: Carl Shaw Signed-off-by: Paul Mundt commit fa490cfd15d7ce0900097cc4e60cfd7a76381138 Author: Linus Torvalds Date: Mon Jun 18 09:34:40 2007 -0700 Fix possible runqueue lock starvation in wait_task_inactive() Miklos Szeredi reported very long pauses (several seconds, sometimes more) on his T60 (with a Core2Duo) which he managed to track down to wait_task_inactive()'s open-coded busy-loop. He observed that an interrupt on one core tries to acquire the runqueue-lock but does not succeed in doing so for a very long time - while wait_task_inactive() on the other core loops waiting for the first core to deschedule a task (which it wont do while spinning in an interrupt handler). This rewrites wait_task_inactive() to do all its waiting optimistically without any locks taken at all, and then just double-check the end result with the proper runqueue lock held over just a very short section. If there were races in the optimistic wait, of a preemption event scheduled the process away, we simply re-synchronize, and start over. So the code now looks like this: repeat: /* Unlocked, optimistic looping! */ rq = task_rq(p); while (task_running(rq, p)) cpu_relax(); /* Get the *real* values */ rq = task_rq_lock(p, &flags); running = task_running(rq, p); array = p->array; task_rq_unlock(rq, &flags); /* Check them.. */ if (unlikely(running)) { cpu_relax(); goto repeat; } /* Preempted away? Yield if so.. */ if (unlikely(array)) { yield(); goto repeat; } Basically, that first "while()" loop is done entirely without any locking at all (and doesn't check for the case where the target process might have been preempted away), and so it's possibly "incorrect", but we don't really care. Both the runqueue used, and the "task_running()" check might be the wrong tests, but they won't oops - they just mean that we could possibly get the wrong results due to lack of locking and exit the loop early in the case of a race condition. So once we've exited the loop, we then get the proper (and careful) rq lock, and check the running/runnable state _safely_. And if it turns out that our quick-and-dirty and unsafe loop was wrong after all, we just go back and try it all again. (The patch also adds a lot of comments, which is the actual bulk of it all, to make it more obvious why we can do these things without holding the locks). Thanks to Miklos for all the testing and tracking it down. Tested-by: Miklos Szeredi Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit a0f98a1cb7d27c656de450ba56efd31bdc59065e Author: Ingo Molnar Date: Sun Jun 17 18:37:45 2007 +0200 sched: fix SysRq-N (normalize RT tasks) Gene Heskett reported the following problem while testing CFS: SysRq-N is not always effective in normalizing tasks back to SCHED_OTHER. The reason for that turns out to be the following bug: - normalize_rt_tasks() uses for_each_process() to iterate through all tasks in the system. The problem is, this method does not iterate through all tasks, it iterates through all thread groups. The proper mechanism to enumerate over all threads is to use a do_each_thread() + while_each_thread() loop. Reported-by: Gene Heskett Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit caec4e8dc85e0644ec24aeb36285e1ba02da58cc Author: Benjamin Herrenschmidt Date: Tue Jun 12 08:16:18 2007 +1000 Fix signalfd interaction with thread-private signals Don't let signalfd dequeue private signals off other threads (in the case of things like SIGILL or SIGSEGV, trying to do so would result in undefined behaviour on who actually gets the signal, since they are force unblocked). Signed-off-by: Benjamin Herrenschmidt Acked-by: Davide Libenzi Signed-off-by: Linus Torvalds commit bd197234b0a616c8f04f6b682326a5a24b33ca92 Author: Thomas Gleixner Date: Sun Jun 17 21:11:10 2007 +0200 Revert "futex_requeue_pi optimization" This reverts commit d0aa7a70bf03b9de9e995ab272293be1f7937822. It not only introduced user space visible changes to the futex syscall, it is also non-functional and there is no way to fix it proper before the 2.6.22 release. The breakage report ( http://lkml.org/lkml/2007/5/12/17 ) went unanswered, and unfortunately it turned out that the concept is not feasible at all. It violates the rtmutex semantics badly by introducing a virtual owner, which hacks around the coupling of the user-space pi_futex and the kernel internal rt_mutex representation. At the moment the only safe option is to remove it fully as it contains user-space visible changes to broken kernel code, which we do not want to expose in the 2.6.22 release. The patch reverts the original patch mostly 1:1, but contains a couple of trivial manual cleanups which were necessary due to patches, which touched the same area of code later. Verified against the glibc tests and my own PI futex tests. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Acked-by: Ulrich Drepper Cc: Pierre Peiffer Signed-off-by: Linus Torvalds commit e61ef2416b0b92828512b6cfcd0104a02b6431fe Author: Roland Dreier Date: Mon Jun 18 09:23:47 2007 -0700 IB/mlx4: Make sure inline data segments don't cross a 64 byte boundary Inline data segments in send WQEs are not allowed to cross a 64 byte boundary. We use inline data segments to hold the UD headers for MLX QPs (QP0 and QP1). A send with GRH on QP1 will have a UD header that is too big to fit in a single inline data segment without crossing a 64 byte boundary, so split the header into two inline data segments. Signed-off-by: Roland Dreier commit 5ae2a7a836be660ff1621cce1c46930f19200589 Author: Roland Dreier Date: Mon Jun 18 08:15:02 2007 -0700 IB/mlx4: Handle FW command interface rev 3 Upcoming firmware introduces command interface revision 3, which changes the way port capabilities are queried and set. Update the driver to handle both the new and old command interfaces by adding a new MLX4_FLAG_OLD_PORT_CMDS that it is set after querying the firmware interface revision and then using the correct interface based on the setting of the flag. Signed-off-by: Roland Dreier commit 082dee3216c99a838af40be403799f60bcea2e97 Author: Jack Morgenstein Date: Mon Jun 18 08:13:59 2007 -0700 IB/mlx4: Handle buffer wraparound in __mlx4_ib_cq_clean() When compacting CQ entries, we need to set the correct value of the ownership bit in case the value is different between the index we copy the CQE from and the index we copy it to. Found by Ronni Zimmerman of Mellanox. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 54e95f8dcbd7d86f79b423e8d11053ec9a2d9946 Author: Roland Dreier Date: Mon Jun 18 08:13:53 2007 -0700 IB/mlx4: Get rid of max_inline_data calculation The calculation of max_inline_data in set_kernel_sq_size() is bogus, since it doesn't take into account the fact that inline segments may not cross a 64-byte boundary, and hence multiple inline segments will probably need to be used to post large inline sends. We don't support inline sends for kernel QPs anyway, so there's no point in doing this calculation anyway, since the field is just zeroed out a little later. So just delete the bogus calculation. Signed-off-by: Roland Dreier commit 0e6e74162164d908edf7889ac66dca09e7505745 Author: Roland Dreier Date: Mon Jun 18 08:13:48 2007 -0700 IB/mlx4: Handle new FW requirement for send request prefetching New ConnectX firmware introduces FW command interface revision 2, which requires that for each QP, a chunk of send queue entries (the "headroom") is kept marked as invalid, so that the HCA doesn't get confused if it prefetches entries that haven't been posted yet. Add code to the driver to do this, and also update the user ABI so that userspace can request that the prefetcher be turned off for userspace QPs (we just leave the prefetcher on for all kernel QPs). Unfortunately, marking send queue entries this way is confuses older firmware, so we change the driver to allow only FW command interface revisions 2. This means that users will have to update their firmware to work with the new driver, but the firmware is changing quickly and the old firmware has lots of other bugs anyway, so this shouldn't be too big a deal. Based on a patch from Jack Morgenstein . Signed-off-by: Roland Dreier commit 154c772ebfb12ef66855510e6be2b12c85110b0c Author: Russell King Date: Mon Jun 18 14:59:45 2007 +0100 [ARM] Update show_regs/oops register format Add the kernel release and version information to the output of show_regs/oops. Add the CPU PSR register. Avoid using printk to output partial lines; always output a complete line. Re-combine the "Control" and "Table + DAC" lines after nommu separated them; we don't want to waste vertical screen space needlessly. Signed-off-by: Russell King commit 5527398218aae85f37552a69fad163fa500c39e4 Author: Paul Mundt Date: Mon Jun 18 18:57:13 2007 +0900 sh: oops_enter()/oops_exit() in die(). As Russell helpfully pointed out on linux-arch: http://marc.info/?l=linux-arch&m=118208089204630&w=2 We were missing the oops_enter/exit() in the sh die() implementation. As we do support lockdep, it's beneficial to add these calls so lockdep properly disables itself in the die() case. Signed-off-by: Paul Mundt commit 83dd4504456d4b5e464d6ec4a7665e2c922db67f Author: Myron Stowe Date: Mon Jun 4 16:25:37 2007 -0600 ACPICA: fix error path in new external package objects as method arguments In the routine acpi_ut_create_package_object(), if the ACPI_ALLOCATE_ZEROED() fails then ACPI_FREE(package_desc) is called as part of the cleanup. This should instead be acpi_ut_remove_reference(package_desc) in order to remove the reference acquired from acpi_ut_create_internal_object() [see the routine acpi_ut_create_buffer_object() as an example of proper functionality]. Signed-off-by: Myron Stowe Signed-off-by: Len Brown commit e7c746ef098770f863ba294adac5b30d124ba469 Author: Thomas Renninger Date: Mon Jun 18 00:40:51 2007 -0400 ACPI: gracefully print null trip-point device if acpi_bus_get_device() returns NULL, print nothing instead of " Signed-off-by: Len Brown commit 69a331470ff02561cf1898eeb152ccca9f22bf53 Author: Kaz Kojima Date: Mon Jun 18 10:08:20 2007 +0900 sh: Fix restartable syscall arg5 clobbering. We use R0 as the 5th argument of syscall. When the syscall restarts after signal handling, we should restore the old value of R0. The attached patch does it. Without this patch, I've experienced random failures in the situation which signals are issued frequently. Signed-off-by: Kaz Kojima Signed-off-by: Paul Mundt commit d9202429e60d16d39c427cd4e4408cf1827ab9e9 Author: Russell King Date: Sun Jun 17 13:38:27 2007 +0100 [ARM] Add support for pause_on_oops and display preempt/smp options Add calls to oops_enter() and oops_exit() to __die(), so that things like lockdep know when an oops occurs. Add suffixes to the oops report to indicate whether the running kernel has been built with preempt or smp support. Signed-off-by: Russell King commit 188e1f81ba31af1b65a2f3611df4c670b092bbac Author: Linus Torvalds Date: Sat Jun 16 19:09:12 2007 -0700 Linux 2.6.22-rc5 The manatees, they are dancing! Signed-off-by: Linus Torvalds commit 9d66586f7723b73c5925c7c7819c260484627851 Author: Eric W. Biederman Date: Sat Jun 16 10:16:16 2007 -0700 shm: fix the filename of hugetlb sysv shared memory Some user space tools need to identify SYSV shared memory when examining /proc//maps. To do so they look for a block device with major zero, a dentry named SYSV, and having the minor of the internal sysv shared memory kernel mount. To help these tools and to make it easier for people just browsing /proc//maps this patch modifies hugetlb sysv shared memory to use the SYSV dentry naming convention. User space tools will still have to be aware that hugetlb sysv shared memory lives on a different internal kernel mount and so has a different block device minor number from the rest of sysv shared memory. Signed-off-by: Eric W. Biederman Cc: "Serge E. Hallyn" Cc: Albert Cahalan Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22741925d268e8479ef66312749bd8d96ed35365 Author: Adam Litke Date: Sat Jun 16 10:16:15 2007 -0700 hugetlb: fix get_policy for stacked shared memory files Here's another breakage as a result of shared memory stacked files :( The NUMA policy for a VMA is determined by checking the following (in the order given): 1) vma->vm_ops->get_policy() (if defined) 2) vma->vm_policy (if defined) 3) task->mempolicy (if defined) 4) Fall back to default_policy By switching to stacked files for shared memory, get_policy() is now always set to shm_get_policy which is a wrapper function. This causes us to stop at step 1, which yields NULL for hugetlb instead of task->mempolicy which was the previous (and correct) result. This patch modifies the shm_get_policy() wrapper to maintain steps 1-3 for the wrapped vm_ops. (akpm: the refcounting of mempolicies is busted and this patch does nothing to improve it) Signed-off-by: Adam Litke Acked-by: William Irwin Cc: dean gaudet Cc: Christoph Lameter Cc: Andi Kleen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74584ae509befc2ed711810e7df4b075473869b2 Author: Jan Kara Date: Sat Jun 16 10:16:14 2007 -0700 udf: fix possible leakage of blocks We have to take care that when we call udf_discard_prealloc() from udf_clear_inode() we have to write inode ourselves afterwards (otherwise, some changes might be lost leading to leakage of blocks, use of free blocks or improperly aligned extents). Also udf_discard_prealloc() does two different things - it removes preallocated blocks and truncates the last extent to exactly match i_size. We move the latter functionality to udf_truncate_tail_extent(), call udf_discard_prealloc() when last reference to a file is dropped and call udf_truncate_tail_extent() when inode is being removed from inode cache (udf_clear_inode() call). We cannot call udf_truncate_tail_extent() earlier as subsequent open+write would find the last block of the file mapped and happily write to the end of it, although the last extent says it's shorter. [akpm@linux-foundation.org: Make checkpatch.pl happier] Signed-off-by: Jan Kara Cc: Eric Sandeen Cc: Cyrill Gorcunov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b356be019d0c28f67af02809df7072c1c8f7d32 Author: Christoph Lameter Date: Sat Jun 16 10:16:13 2007 -0700 SLUB: minimum alignment fixes If ARCH_KMALLOC_MINALIGN is set to a value greater than 8 (SLUBs smallest kmalloc cache) then SLUB may generate duplicate slabs in sysfs (yes again) because the object size is padded to reach ARCH_KMALLOC_MINALIGN. Thus the size of the small slabs is all the same. No arch sets ARCH_KMALLOC_MINALIGN larger than 8 though except mips which for some reason wants a 128 byte alignment. This patch increases the size of the smallest cache if ARCH_KMALLOC_MINALIGN is greater than 8. In that case more and more of the smallest caches are disabled. If we do that then the count of the active general caches that is displayed on boot is not correct anymore since we may skip elements of the kmalloc array. So count them separately. This approach was tested by Havard yesterday. Signed-off-by: Christoph Lameter Cc: Haavard Skinnemoen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8dab5241d06bfc9ee141ea78c56cde5070d7460d Author: Benjamin Herrenschmidt Date: Sat Jun 16 10:16:12 2007 -0700 Rework ptep_set_access_flags and fix sun4c Some changes done a while ago to avoid pounding on ptep_set_access_flags and update_mmu_cache in some race situations break sun4c which requires update_mmu_cache() to always be called on minor faults. This patch reworks ptep_set_access_flags() semantics, implementations and callers so that it's now responsible for returning whether an update is necessary or not (basically whether the PTE actually changed). This allow fixing the sparc implementation to always return 1 on sun4c. [akpm@linux-foundation.org: fixes, cleanups] Signed-off-by: Benjamin Herrenschmidt Cc: Hugh Dickins Cc: David Miller Cc: Mark Fortescue Acked-by: William Lee Irwin III Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 679ce0ace6b1a07043bc3b405a34ddccad808886 Author: Matt Mackall Date: Sat Jun 16 10:16:11 2007 -0700 random: fix output buffer folding (As reported by linux@horizon.com) Folding is done to minimize the theoretical possibility of systematic weakness in the particular bits of the SHA1 hash output. The result of this bug is that 16 out of 80 bits are un-folded. Without a major new vulnerability being found in SHA1, this is harmless, but still worth fixing. Signed-off-by: Matt Mackall Cc: Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39a279026609c205d331ec39fea11b2fd470a054 Author: Jeff Dike Date: Sat Jun 16 10:16:10 2007 -0700 uml: kill x86_64 STACK_TOP_MAX The x86_64 a.out.h got a definition of STACK_TOP_MAX, which interferes with the UML version. So, just undef it like STACK_TOP. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c539ab73070b381f0452dae791f891ec2515098e Author: Jeff Dike Date: Sat Jun 16 10:16:09 2007 -0700 uml: remove PAGE_SIZE from libc code Distros seem to be removing PAGE_SIZE from asm/page.h. So, the libc side of UML should stop using it. I replace it with UM_KERN_PAGE_SIZE, which is defined to be the same as PAGE_SIZE on the kernel side of the house. I could also use getpagesize(), but it's more important that UML have the same value of PAGE_SIZE everywhere. It's conceivable that it could be built with a larger PAGE_SIZE, and use of getpagesize() would break that badly. PAGE_MASK got the same treatment, as it is closely tied to PAGE_SIZE. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f5a9c77df45b113d21b64cbc2bf6c72a0da48998 Author: David Brownell Date: Sat Jun 16 10:16:08 2007 -0700 spi doc updates Update two points in the SPI interface documentation: - Update description of the "chip stays selected after message ends" mode. In some cases it's required for correctness; it isn't just a performance tweak. (Yes: to use this mode on mult-device busses, another programming interface will be needed. One draft has been circulated already.) - Clarify spi_setup(), highlighting that callers must ensure that no requests are queued (can't change configuration except between I/Os), and that the device must be deselected when this returns (which is a key part of why it's called during device init). Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed45666271f4fafa95b9d8ad44050e9a9bd2376e Author: Mike Accetta Date: Sat Jun 16 10:16:07 2007 -0700 md: fix bug in error handling during raid1 repair If raid1/repair (which reads all block and fixes any differences it finds) hits a read error, it doesn't reset the bio for writing before writing correct data back, so the read error isn't fixed, and the device probably gets a zero-length write which it might complain about. Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit af03b8e4e81c3789e597632268940edd11ffe870 Author: NeilBrown Date: Sat Jun 16 10:16:06 2007 -0700 md: fix two raid10 bugs 1/ When resyncing a degraded raid10 which has more than 2 copies of each block, garbage can get synced on top of good data. 2/ We round the wrong way in part of the device size calculation, which can cause confusion. Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edad01e2a1c527af3baf22dc6977aeb058881150 Author: Alexey Dobriyan Date: Sat Jun 16 10:16:05 2007 -0700 fuse: ->fs_flags fixlet fs/fuse/inode.c:658:3: error: Initializer entry defined twice fs/fuse/inode.c:661:3: also defined here Signed-off-by: Alexey Dobriyan Acked-by: Miklos Szeredi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da88ba17de990a4b0d18ecde2c40355700888750 Author: Björn Steinbrink Date: Sat Jun 16 10:16:04 2007 -0700 perfctr-watchdog: fix interchanged parameters to release_{evntsel,perfctr}_nmi Fix oops triggered during: echo 0 > /proc/sys/kernel/nmi_watchdog The culprit seems to be 09198e68501a7e34737cd9264d266f42429abcdc: [PATCH] i386: Clean up NMI watchdog code In two places, the parameters to release_{evntsel,perfctr}_nmi got interchanged during the cleanup. Fix interchanged parameters to release_{evntsel,perfctr}_nmi. Signed-off-by: Björn Steinbrink Cc: Stephane Eranian Cc: Andi Kleen Cc: Michal Piotrowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f41dddbbd7193fb5cdae0a24db4d378d56885fd Author: Rafael J. Wysocki Date: Sat Jun 16 10:16:03 2007 -0700 swsusp: Fix userland interface Fix oops caused by 'cat /dev/snapshot', reported by Arkadiusz Miskiewicz, and make it impossible to thaw tasks with the help of the swsusp userland interface while there is a snapshot image ready to save. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b1d93de3e4633c4cbfd622a3564d8268a116a46a Author: Randy Dunlap Date: Sat Jun 16 10:16:02 2007 -0700 toshiba_acpi: fix section mismatch in allyesconfig Fix section error (allyesconfig). The exit function is called from init, so functions that are called by the exit function cannot be marked __exit. WARNING: drivers/built-in.o(.text+0xe5bc6): Section mismatch: reference to .exit. text: (between 'toshiba_acpi_exit' and 'hci_raw') Signed-off-by: Randy Dunlap Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e903e7b1605aff88d7f89a96fab5e43081b914f Author: Paul Jackson Date: Sat Jun 16 10:16:01 2007 -0700 cpuset: zero malloc - fix for old cpusets The cpuset code to present a list of tasks using a cpuset to user space could write to an array that it had kmalloc'd, after a kmalloc request of zero size. The problem was that the code didn't check for writes past the allocated end of the array until -after- the first write. This is a race condition that is likely rare -- it would only show up if a cpuset went from being empty to having a task in it, during the brief time between the allocation and the first write. Prior to roughly 2.6.22 kernels, this was also a benign problem, because a zero kmalloc returned a few usable bytes anyway, and no harm was done with the bogus write. With the 2.6.22 kernel changes to make issue a warning if code tries to write to the location returned from a zero size allocation, this problem is no longer benign. This cpuset code would occassionally trigger that warning. The fix is trivial -- check before storing into the array, not after, whether the array is big enough to hold the store. Cc: "Eric W. Biederman" Cc: "Serge E. Hallyn" Cc: Balbir Singh Cc: Dave Hansen Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Paul Menage Cc: Srivatsa Vaddagiri Cc: Christoph Lameter Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6f8bb1310d4745ff1d0c74eeacae31e2a3eeff1 Author: Hugh Dickins Date: Sat Jun 16 10:15:59 2007 -0700 i386 mm: use pte_update() in ptep_test_and_clear_dirty() It is not safe to use pte_update_defer() in ptep_test_and_clear_young(): its only user, /proc//clear_refs, drops pte lock before flushing TLB. Use the safe though less efficient pte_update() paravirtop in its place. Likewise in ptep_test_and_clear_dirty(), though that has no current use. These are macros (header file dependency stops them from becoming inline functions), so be more liberal with the underscores and parentheses. Signed-off-by: Hugh Dickins Cc: Zachary Amsden Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30475cc12a50816f290828fb7e3cd7036cd622df Author: Badari Pulavarty Date: Sat Jun 16 10:15:59 2007 -0700 Restore shmid as inode# to fix /proc/pid/maps ABI breakage shmid used to be stored as inode# for shared memory segments. Some of the proc-ps tools use this from /proc/pid/maps. Recent cleanups to newseg() changed it. This patch sets inode number back to shared memory id to fix breakage. Signed-off-by: Badari Pulavarty Cc: "Albert Cahalan" Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd08c40e3e23f868eb0e49f638eb208736ec7e66 Author: Christoph Lameter Date: Sat Jun 16 10:15:57 2007 -0700 SLUB slab validation: Alloc while interrupts are disabled must use GFP_ATOMIC The data structure to manage the information gathered about functions allocating and freeing objects is allocated when the list_lock has already been taken. We need to allocate with GFP_ATOMIC instead of GFP_KERNEL. Signed-off-by: Christoph Lameter Cc: Mel Gorman Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 54c6ed7562d59ab238df1ec9ff76d81d7d0f0842 Author: Björn Steinbrink Date: Sat Jun 16 10:15:56 2007 -0700 i386: use the right wrapper to disable the NMI watchdog When disabled through /proc/sys/kernel/nmi_watchdog, the NMI watchdog uses the stop() method directly, which does not decrement the activity counter, leading to a BUG(). Use the wrapper function instead to fix that. Signed-off-by: Björn Steinbrink Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faa4cfa6b334fc07c3386e620a2fb55de508c077 Author: Björn Steinbrink Date: Sat Jun 16 10:15:55 2007 -0700 i386: fix NMI watchdog not reserving its MSRs At system boot time, the NMI watchdog no longer reserved its MSRs, allowing other subsystems to mess with them. Fix that. Signed-off-by: Björn Steinbrink Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 38ad2ed08d89a4b830a03131fa73e4ef3e98d9f4 Author: Paul Fulghum Date: Sat Jun 16 10:15:55 2007 -0700 tty: restore locked ioctl file op Restore tty locked ioctl handler which was replaced with an unlocked ioctl handler in hung_up_tty_fops by the patch: commit e10cc1df1d2014f68a4bdcf73f6dd122c4561f94 Author: Paul Fulghum Date: Thu May 10 22:22:50 2007 -0700 tty: add compat_ioctl This was reported in: [Bug 8473] New: Oops: 0010 [1] SMP The bug is caused by switching to hung_up_tty_fops in do_tty_hangup. An ioctl call can be waiting on BLK after testing for existence of the locked ioctl handler in the normal tty fops, but before calling the locked ioctl handler. If a hangup occurs at that point, the locked ioctl fop is NULL and an oops occurs. (akpm: we can remove my debugging code from do_ioctl() now, but it'll be OK to do that for 2.6.23) Signed-off-by: Paul Fulghum Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4d2781731e846c2f01dd85e71883d120860c6dd Author: David Woodhouse Date: Sat Jun 16 10:48:19 2007 +0100 fix radeon setparam on 32/64 systems, harder. Commit 9b01bd5b284bbf519b726b39f1352023cb5e9e69 introduced a compat_ioctl handler for RADEON_SETPARAM, the sole purpose of which was to handle the fact that on i386, alignof(uint64_t)==4. Unfortunately, this handler was installed for _all_ 64-bit architectures, instead of only x86_64 and ia64. And thus it breaks 32-bit compatibility on every other arch, where 64-bit integers are aligned to 8 bytes in 32-bit mode just the same as in 64-bit mode. Arnd has a cunning plan to use 'compat_u64' with appropriate alignment attributes according to the 32-bit ABI, but for now let's just make the compat_radeon_cp_setparam routine entirely disappear on 64-bit machines whose 32-bit compat support isn't for i386. It would be a no-op with compat_u64 anyway. Signed-off-by: David Woodhouse Acked-by: Arnd Bergmann Cc: Benjamin Herrenschmidt Cc: Dave Airlie Signed-off-by: Linus Torvalds commit 18b461796b737f94286f73710debc8649467161b Author: Carlos E. Ugarte Date: Mon Jun 4 11:49:19 2007 -0400 ieee1394: fix to ether1394_tx in ether1394.c This patch fixes a problem that occurs when packets cannot be sent across the ieee1394 bus and we return NETDEV_TX_BUSY in the net driver "hard start xmit" routine ether1394_tx. When we return NETDEV_TX_BUSY the stack will call ether1394_tx again with the same skb. So we need to restore the header to look like it did before we munged it for xmit over ieee1394. [Stefan Richter: changed whitespace, deleted a local variable] Signed-off-by: Stefan Richter commit a515958d6f77fdff1a40f8b08a9a95ac223c5d48 Author: Stefan Richter Date: Sat Jun 9 19:31:14 2007 +0200 firewire: fix hang after card ejection Signed-off-by: Stefan Richter Signed-off-by: Kristian Høgsberg commit d1be0a8225f2cb1cdc356ebb0ae6800f023ce67d Author: Bartlomiej Zolnierkiewicz Date: Sat Jun 16 02:24:44 2007 +0200 ide-scsi: fix OOPS in idescsi_expiry() drive->driver_data contains pointer to Scsi_Host not idescsi_scsi_t. Signed-off-by: Bartlomiej Zolnierkiewicz commit ce9b2b0abbf019d5259eb089a1cc256852930f67 Author: Rafael J. Wysocki Date: Sat Jun 16 02:24:43 2007 +0200 Resume from RAM on HPC nx6325 broken generic_ide_resume() should check if dev->driver is not NULL before applying to_ide_driver() to it. Fix that. Signed-off-by: Rafael J. Wysocki Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit d09c6b809432668371b5de9102f4f9aa6a7c79cc Author: Paul Mundt Date: Thu Jun 14 15:13:16 2007 +0900 mm: Fix memory/cpu hotplug section mismatch and oops. When building with memory hotplug enabled and cpu hotplug disabled, we end up with the following section mismatch: WARNING: mm/built-in.o(.text+0x4e58): Section mismatch: reference to .init.text: (between 'free_area_init_node' and '__build_all_zonelists') This happens as a result of: -> free_area_init_node() -> free_area_init_core() -> zone_pcp_init() <-- all __meminit up to this point -> zone_batchsize() <-- marked as __cpuinit fo This happens because CONFIG_HOTPLUG_CPU=n sets __cpuinit to __init, but CONFIG_MEMORY_HOTPLUG=y unsets __meminit. Changing zone_batchsize() to __devinit fixes this. __devinit is the only thing that is common between CONFIG_HOTPLUG_CPU=y and CONFIG_MEMORY_HOTPLUG=y. In the long run, perhaps this should be moved to another section identifier completely. Without this, memory hot-add of offline nodes (via hotadd_new_pgdat()) will oops if CPU hotplug is not also enabled. Signed-off-by: Paul Mundt Acked-by: Yasunori Goto Signed-off-by: Linus Torvalds -- mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit bc90ba093af2e5022b9d055a2148b54a6aa35bc9 Author: Tejun Heo Date: Fri Jun 15 13:24:28 2007 +0200 block: always requeue !fs requests at the front SCSI marks internal commands with REQ_PREEMPT and push it at the front of the request queue using blk_execute_rq(). When entering suspended or frozen state, SCSI devices are quiesced using scsi_device_quiesce(). In quiesced state, only REQ_PREEMPT requests are processed. This is how SCSI blocks other requests out while suspending and resuming. As all internal commands are pushed at the front of the queue, this usually works. Unfortunately, this interacts badly with ordered requeueing. To preserve request order on requeueing (due to busy device, active EH or other failures), requests are sorted according to ordered sequence on requeue if IO barrier is in progress. The following sequence deadlocks. 1. IO barrier sequence issues. 2. Suspend requested. Queue is quiesced with part or all of IO barrier sequence at the front. 3. During suspending or resuming, SCSI issues internal command which gets deferred and requeued for some reason. As the command is issued after the IO barrier in #1, ordered requeueing code puts the request after IO barrier sequence. 4. The device is ready to process requests again but still is in quiesced state and the first request of the queue isn't REQ_PREEMPT, so command processing is deadlocked - suspending/resuming waits for the issued request to complete while the request can't be processed till device is put back into running state by resuming. This can be fixed by always putting !fs requests at the front when requeueing. The following thread reports this deadlock. http://thread.gmane.org/gmane.linux.kernel/537473 Signed-off-by: Tejun Heo Acked-by: David Greaves Acked-by: Jeff Garzik Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 16c61add51f2182140637c924687a2aab6b568f9 Author: Adrian Bunk Date: Fri Jun 15 15:15:43 2007 -0700 [RXRPC] net/rxrpc/ar-connection.c: fix NULL dereference This patch fixes a NULL dereference spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller commit 7769f4064cd9f4fbae09f071578a051aae83e844 Author: Ilpo Järvinen Date: Fri Jun 15 15:14:04 2007 -0700 [TCP]: Fix logic breakage due to DSACK separation Commit 6f74651ae626ec672028587bc700538076dfbefb is found guilty of breaking DSACK counting, which should be done only for the SACK block reported by the DSACK instead of every SACK block that is received along with DSACK information. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit b9ce204f0a265f819d10c943a607746abb62f245 Author: Ilpo Järvinen Date: Fri Jun 15 15:08:43 2007 -0700 [TCP]: Congestion control API RTT sampling fix Commit 164891aadf1721fca4dce473bb0e0998181537c6 broke RTT sampling of congestion control modules. Inaccurate timestamps could be fed to them without providing any way for them to identify such cases. Previously RTT sampler was called only if FLAG_RETRANS_DATA_ACKED was not set filtering inaccurate timestamps nicely. In addition, the new behavior could give an invalid timestamp (zero) to RTT sampler if only skbs with TCPCB_RETRANS were ACKed. This solves both problems. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 02676e5aee271c1f20d7d44249d26741aef1e846 Author: Jens Axboe Date: Fri Jun 15 13:16:13 2007 +0200 splice: only check do_wakeup in splice_to_pipe() for a real pipe We only ever set do_wakeup to non-zero if the pipe has an inode backing, so it's pointless to check outside the pipe->inode check. Signed-off-by: Jens Axboe commit 00de00bdad278783b3664ad2969954a707f5944a Author: Jens Axboe Date: Fri Jun 15 13:14:22 2007 +0200 splice: fix leak of pages on short splice to pipe If the destination pipe is full and we already transferred data, we break out instead of waiting for more pipe room. The exit logic looks at spd->nr_pages to see if we moved everything inside the spd container, but we decrement that variable in the loop to decide when spd has emptied. Instead we want to compare to the original page count in the spd, so cache that in a local variable. Signed-off-by: Jens Axboe commit 17ee4f49ab2c802c7818fa71c4e7e351a7230b86 Author: Jens Axboe Date: Fri Jun 15 13:10:37 2007 +0200 splice: adjust balance_dirty_pages_ratelimited() call As we have potentially dirtied more than 1 page, we should indicate as such to the dirty page balancing. So call balance_dirty_pages_ratelimited_nr() and pass in the approximate number of pages we dirtied. Signed-off-by: Jens Axboe commit 7702fd1f6fea57921f2e643d27a23a2d0394499c Author: Avi Kivity Date: Thu Jun 14 16:27:40 2007 +0300 KVM: Prevent guest fpu state from leaking into the host The lazy fpu changes did not take into account that some vmexit handlers can sleep. Move loading the guest state into the inner loop so that it can be reloaded if necessary, and move loading the host state into vmx_vcpu_put() so it can be performed whenever we relinquish the vcpu. Signed-off-by: Avi Kivity commit 8888985144db8f4cb7e56154b31bdf233d3550bf Author: Wang Zhenyu Date: Thu Jun 14 10:01:04 2007 +0800 [AGPGART] intel_agp: fix device probe This patch trys to fix device probe in two cases. First we should correctly detect device if integrated graphics device is not enabled or exists, like an add-in card is plugged. Second on some type of intel GMCH, it might have multiple graphic chip models, like 945GME case, so we should be sure the detect works through the whole table. Signed-off-by: Wang Zhenyu Signed-off-by: Dave Jones commit 74235a25c673f80147c1f975304888e8212a14d5 Author: Herbert Xu Date: Thu Jun 14 13:02:55 2007 -0700 [IPV6] addrconf: Fix IPv6 on tuntap tunnels The recent patch that added ipv6_hwtype is broken on tuntap tunnels. Indeed, it's broken on any device that does not pass the ipv6_hwtype test. The reason is that the original test only applies to autoconfiguration, not IPv6 support. IPv6 support is allowed on any device. In fact, even with the ipv6_hwtype patch applied you can still add IPv6 addresses to any interface that doesn't pass thw ipv6_hwtype test provided that they have a sufficiently large MTU. This is a serious problem because come deregistration time these devices won't be cleaned up properly. I've gone back and looked at the rationale for the patch. It appears that the real problem is that we were creating IPv6 devices even if the MTU was too small. So here's a patch which fixes that and reverts the ipv6_hwtype stuff. Thanks to Kanru Chen for reporting this issue. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit d7ea5b91fad553e445bbe5d958b6a7b16222c092 Author: Ilpo Järvinen Date: Thu Jun 14 12:58:26 2007 -0700 [TCP]: Add missing break to TCP option parsing code This flaw does not affect any behavior (currently). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 7b4f4ec21038ac13c63d130357d1c3015ec3f3e8 Author: Chris Dearman Date: Thu May 24 22:46:25 2007 +0100 [MIPS] Fix builds where MSC01E_xxx is undefined. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit ffe9ee4709cf513fb80e9b7e04d214dd8b76a10d Author: Chris Dearman Date: Thu May 24 22:24:20 2007 +0100 [MIPS] Separate performance counter interrupts Support for performance counter overflow interrupt that is on a separate interrupt from the timer. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit b72c05262298cc2ac92edb657f5ea3a97ad5ea3d Author: Chris Dearman Date: Fri Apr 27 15:58:41 2007 +0100 [MIPS] Malta: Fix for SOCitSC based Maltas And an attempt to tidy up the core/controller differences. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 093d0faf57e59feee224217273f944e10e4e3562 Author: Haavard Skinnemoen Date: Mon Jun 11 17:17:14 2007 +0200 [AVR32] Define ARCH_KMALLOC_MINALIGN to L1_CACHE_BYTES This allows SLUB debugging to be used without fear of messing up DMA transfers. SPI is one example that easily breaks without this patch. Signed-off-by: Haavard Skinnemoen commit 2fdfe8d9a2687718b07a35196b89fbf48ba0c82f Author: Haavard Skinnemoen Date: Tue May 29 21:33:37 2007 +0200 [AVR32] STK1000: Set SPI_MODE_3 in the ltv350qv board info In the latest incarnation of the ltv350qv driver the call to spi_setup() has been removed. So we need to initialize things more carefully in the board info struct. Signed-off-by: Haavard Skinnemoen commit 2ae795b02aa46a99d845958ae8d7bc8afa04292b Author: David Brownell Date: Thu May 24 13:52:08 2007 -0700 [AVR32] gpio_*_cansleep() fix The AVR32 was missing the gpio_*_cansleep() calls, breaking compilation for some code using them. Signed-off-by: David Brownell Signed-off-by: Haavard Skinnemoen commit 126187f1e00048abec4d4a2eb3eeae396fbaa944 Author: Andrea Righi Date: Wed May 23 14:14:52 2007 -0700 [AVR32] ratelimit segfault reporting rate Limit the rate of the kernel logging for the segfaults of user applications, to avoid potential message floods or denial-of-service attacks. Signed-off-by: Andrea Righi Signed-off-by: Andrew Morton Signed-off-by: Haavard Skinnemoen commit 220ddc0847ebd42d18ee78c7e1c2f4c2e3be637d Author: Milton Miller Date: Sun Jun 10 14:32:43 2007 +1000 [POWERPC] Fix console output getting dropped on platforms without udbg_putc Previously, registering this early console would just result in dropping early buffered printk output until a udbg_putc was registered. However, commit 69331af79cf29e26d1231152a172a1a10c2df511 clears the CON_PRINTBUFFER flag on the main console when a CON_BOOT (early) console has been registered, resulting in the buffered messages never being displayed to the user. This fixes the problem by making sure we don't register udbg_console on platforms that don't implement udbg_putc. Signed-off-by: Milton Miller Acked-by: Mark A. Greer Signed-off-by: Paul Mackerras commit c63c4faa8cf055319c7ed557d2050c1c3776fac5 Author: Paul Mackerras Date: Thu Jun 7 22:42:19 2007 +1000 [POWERPC] Fix per-cpu allocation on oldworld SMP powermacs The per-cpu area(a) for the secondary CPU(s) isn't getting allocated on old SMP powermacs that don't have the secondary CPU(s) listed in the device tree, as per-cpu areas are now only allocated for CPUs in the cpu_possible_map, and we aren't setting the bits for the secondary CPU(s) until smp_prepare_cpus(), which is after per-cpu allocation. Therefore this sets the bits for CPUs 1..3 in cpu_possible_map in pmac_setup_arch, so they get per-cpu data allocated. Signed-off-by: Paul Mackerras commit 06ad391919b2078ec2e012f0593014b88e7a6c4e Author: Vlad Yasevich Date: Tue Jun 12 15:26:22 2007 -0400 [SCTP] Don't disable PMTU discovery when mtu is small Right now, when we receive a mtu estimate smaller then minim threshold in the ICMP message, we disable the path mtu discovery on the transport. This leads to the never increasing sctp fragmentation point even when the real path mtu has increased. Signed-off-by: Vlad Yasevich commit 8a4794914f9cf2681235ec2311e189fe307c28c7 Author: Vlad Yasevich Date: Thu Jun 7 14:21:05 2007 -0400 [SCTP] Flag a pmtu change request Currently, if the socket is owned by the user, we drop the ICMP message. As a result SCTP forgets that path MTU changed and never adjusting it's estimate. This causes all subsequent packets to be fragmented. With this patch, we'll flag the association that it needs to udpate it's estimate based on the already updated routing information. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala commit c910b47e1811b3f8b184108c48de3d7af3e2999b Author: Vlad Yasevich Date: Thu Jun 7 13:47:03 2007 -0400 [SCTP] Update pmtu handling to be similar to tcp Introduce new function sctp_transport_update_pmtu that updates the transports and destination caches view of the path mtu. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala commit fe979ac169970b3d12facd6565766735862395c5 Author: Vlad Yasevich Date: Wed May 23 11:11:37 2007 -0400 [SCTP] Fix leak in sctp_getsockopt_local_addrs when copy_to_user fails If the copy_to_user or copy_user calls fail in sctp_getsockopt_local_addrs(), the function should free locally allocated storage before returning error. Spotted by Coverity. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala commit 8b35805693e1915829355723537f99f1b8bc9cc0 Author: Vlad Yasevich Date: Tue May 15 17:14:58 2007 -0400 [SCTP]: Allow unspecified port in sctp_bindx() Allow sctp_bindx() to accept multiple address with unspecified port. In this case, all addresses inherit the first bound port. We still catch full mis-matches. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala commit d570ee490fb18220262cfe41284d7aede797ed4f Author: Vlad Yasevich Date: Tue May 15 16:32:39 2007 -0400 [SCTP]: Correctly set daddr for IPv6 sockets during peeloff During peeloff of AF_INET6 socket, the inet6_sk(sk)->daddr wasn't set correctly since the code was assuming IPv4 only. Now we use a correct call to set the destination address. Signed-off-by: Vlad Yasevich Acked-by: Sridhar Samudrala commit 204abf28679cd55a8e254b18965583bb1c8bc739 Author: Thomas Bogendoerfer Date: Wed Jun 13 12:58:53 2007 -0700 [SCSI] ESP: Don't forget to clear ESP_FLAG_RESETTING. esp_reset_cleanup() does everything necessary except clear the flag, so we never exit resetting state. Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit c3bff2ec10b8bf2f53c954e370f9bdae93064472 Author: Pierre Ossman Date: Wed Jun 13 19:06:03 2007 +0200 mmc: get back read-only switch function Somehow the code to read the read-only switch of SD cards got lost in the reorganisation. Signed-off-by: Pierre Ossman commit 0107a4b32e36dccd4456e2c5e34c5cd22c94e094 Author: Ragner Magalhaes Date: Wed Jun 13 19:09:28 2007 +0200 mmc-omap: fix sd response type 6 vs. 1 Ignoring OMAP_MMC_STAT_CARD_ERR, treating it as if the command completed correctly. Signed-off-by: Ragner Magalhaes Signed-off-by: Carlos Eduardo Aguiar Signed-off-by: Pierre Ossman commit 66e1e3b20cbbf99da63e6c1af0fc6d39c2ed099a Author: David S. Miller Date: Wed Jun 13 01:03:53 2007 -0700 [TCP]: Set initial_ssthresh default to zero in Cubic and BIC. Because of the current default of 100, Cubic and BIC perform very poorly compared to standard Reno. In the worst case, this change makes Cubic and BIC as aggressive as Reno. So this change should be very safe. Signed-off-by: David S. Miller commit fc395f8d589f4f0b3fcdd9b8bb84b7cacf711a4f Author: David S. Miller Date: Tue Jun 12 23:56:52 2007 -0700 [SPARC64]: Fix args to sun4v_ldc_revoke(). First argument is LDC channel ID, then mapping cookie, then the MTE revoke cookie. Signed-off-by: David S. Miller commit f467b998eeae933029a83db8ad860da3879acd63 Author: David S. Miller Date: Tue Jun 12 23:53:03 2007 -0700 [SPARC64]: Really fix parport. We were passing a "struct pci_dev *" instead of a "struct device *" to the parport registry routines. No wonder things exploded. The ebus_bus_type hacks can be backed out from asm-sparc64/dma-mapping.h, those were wrong. Signed-off-by: David S. Miller commit 56f5c0bd50e948408ac0fd587b5c89fa7e2a1b6e Author: David S. Miller Date: Tue Jun 12 16:54:08 2007 -0700 [SPARC64]: Fix IO/MEM space sizing for PCI. In pci_determine_mem_io_space(), do not hard code the region sizes. Instead, use the values given to us in the ranges property. Thanks goes to Mikael Petterson for the original Xorg failure bug repoert, and strace dumps from Mikael and Dmitry Artamonow. Signed-off-by: David S. Miller commit 4a907dec9845001dc2b117a0ed2a2150384a4cea Author: David S. Miller Date: Wed Jun 13 00:01:04 2007 -0700 [SPARC64]: Wire up cookie based sun4v interrupt registry. This will be used for logical domain channel interrupts. Signed-off-by: David S. Miller commit 893e7c2db05f14032f2390ef7c59a499fc25ccae Author: Dmitry Torokhov Date: Wed Jun 13 01:49:58 2007 -0400 Input: move input-polldev to drivers/input To work around deficiences in Kconfig that allows to "select" a symbol without automatically selecting all dependencies for that symbol move input-polldev from drivers/input/misc to drivers/input thus removing extra dependency on CONFIG_INPUT_MISC. Signed-off-by: Dmitry Torokhov commit af15cc7b858c7653443ab64db2e41b69506450ee Author: Ilpo Järvinen Date: Tue Jun 12 16:16:44 2007 -0700 [TCP]: Fix left_out setting during FRTO Without FRTO, the tcp_try_to_open is never called with lost_out > 0 (see tcp_time_to_recover). However, when FRTO is enabled, the !tp->lost condition is not used until end of FRTO because that way TCP avoids premature entry to fast recovery during FRTO. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit dd14cbc994709a1c5a64ed3621f583c49a27e521 Author: Tejun Heo Date: Mon Jun 11 14:04:01 2007 +0900 sysfs: fix race condition around sd->s_dentry, take#2 Allowing attribute and symlink dentries to be reclaimed means sd->s_dentry can change dynamically. However, updates to the field are unsynchronized leading to race conditions. This patch adds sysfs_lock and use it to synchronize updates to sd->s_dentry. Due to the locking around ->d_iput, the check in sysfs_drop_dentry() is complex. sysfs_lock only protect sd->s_dentry pointer itself. The validity of the dentry is protected by dcache_lock, so whether dentry is alive or not can only be tested while holding both locks. This is minimal backport of sysfs_drop_dentry() rewrite in devel branch. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 6aa054aadfea613a437ad0b15d38eca2b963fc0a Author: Tejun Heo Date: Mon Jun 11 14:03:27 2007 +0900 sysfs: fix condition check in sysfs_drop_dentry() The condition check doesn't make much sense as it basically always succeeds. This causes NULL dereferencing on certain cases. It seems that parentheses are put in the wrong place. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit dc351252b33f8fede396d6173dba117bcb933607 Author: Eric Sandeen Date: Mon Jun 11 14:02:45 2007 +0900 sysfs: store sysfs inode nrs in s_ino to avoid readdir oopses Backport of ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.22-rc1/2.6.22-rc1-mm1/broken-out/gregkh-driver-sysfs-allocate-inode-number-using-ida.patch For regular files in sysfs, sysfs_readdir wants to traverse sysfs_dirent->s_dentry->d_inode->i_ino to get to the inode number. But, the dentry can be reclaimed under memory pressure, and there is no synchronization with readdir. This patch follows Tejun's scheme of allocating and storing an inode number in the new s_ino member of a sysfs_dirent, when dirents are created, and retrieving it from there for readdir, so that the pointer chain doesn't have to be traversed. Tejun's upstream patch uses a new-ish "ida" allocator which brings along some extra complexity; this -stable patch has a brain-dead incrementing counter which does not guarantee uniqueness, but because sysfs doesn't hash inodes as iunique expects, uniqueness wasn't guaranteed today anyway. Signed-off-by: Eric Sandeen Signed-off-by: Tejun Heo Signed-off-by: Greg Kroah-Hartman commit 6f8a7c66e2dc8080950d28edc0259f37739aead9 Author: Brice Goglin Date: Mon Jun 11 20:27:07 2007 +0200 myri10ge: update driver version Update myri10ge driver version to 1.3.1-1.248. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 798a95dbd38b113a0f6f3bfe8a2769b261046d09 Author: Brice Goglin Date: Mon Jun 11 20:26:50 2007 +0200 myri10ge: report when the link partner is running in Myrinet mode Since Myri-10G boards may also run in Myrinet mode instead of Ethernet, add a message when we detect that the link partner is not running in the right mode. Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit f181137f9d70dc851dcb418cdad4df7888a0bfd3 Author: Brice Goglin Date: Mon Jun 11 20:26:31 2007 +0200 myri10ge: limit the number of recoveries Limit the number of recoveries from a NIC hw watchdog reset to 1 by default. It enables detection of defective NICs immediately since these memory parity errors are expected to happen very rarely (less than once per century*NIC). Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit c27e672172def41924ea8410398554c49c17b3c1 Author: Mithlesh Thukral Date: Mon Jun 11 03:30:58 2007 -0700 NetXen: Fix link status messages NetXen: Fix incorrect link status even with switch turned OFF. NetXen driver failed to accurately indicate when a link is up or down. This was encountered during failover testing, when the first port indicated that the link was up even when the 10G switch it was assigned to in the Bladecenter was turned off completely. Signed-off by: Wen Xiong Signed-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit ca93ca428b8e09973f19e2725bf19cb3f1836034 Author: Jeff Garzik Date: Tue Jun 12 18:52:31 2007 -0400 Revert "[netdrvr e100] experiment with doing RX in a similar manner to eepro100" This reverts commit d52df4a35af569071fda3f4eb08e47cc7023f094. This patch attempted to fix e100 for non-cache coherent memory architectures by using the cb style code that eepro100 had and using the EL and s bits from the RFD list. Unfortunately the hardware doesn't work exactly like this and therefore this patch actually breaks e100. Reverting the change brings it back to the previously known good state for 2.6.22. The pending rewrite in progress to this code can then be safely merged later. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 3d7dbeac58d0669c37e35a3b91bb41c0146395ce Author: David S. Miller Date: Tue Jun 12 14:36:42 2007 -0700 [TCP]: Disable TSO if MD5SIG is enabled. Signed-off-by: David S. Miller commit 606f585e363527da9feaed79465132c0c661fd9e Author: Konstantin Sharlaimov Date: Tue Jun 12 14:16:59 2007 -0700 [PPP_MPPE]: Fix "osize too small" check. Prevent mppe_decompress() from generating "osize too small" errors when checking for output buffer size. When receiving a packet of mru size the output buffer for decrypted data is 1 byte too small since mppe_decompress() tries to account for possible PFC, however later in code it is assumed no PFC. Adjusting the check prevented these errors from occurring. Signed-off-by: Konstantin Sharlaimov Signed-off-by: Andrew Morton Signed-off-by: David S. Miller commit 82fde74b94f11eee1e9c30e43fb162f80a5e63c0 Author: Luis Carlos Date: Thu Jun 7 16:40:59 2007 -0400 [PATCH] libertas: convert libertas_mpp into anycast_mask With firmware 5.220.11.p5, this allows to specify the anycast addresses the device will listen to. The anycast address range is C0:27:C0:27:C0:XX where XX goes from 00 to 1F (or 0 to 31 in dec). The value to write on anycast_mask will specify which addresses the device listens to. Bits in a 32 bit int are numbered from 0 (least significative bit) to 31. A specific address ending in YY will be listened to if bit YY in the value is set to one. Examples: 0x00000000 : do not listen to any anycast address 0xFFFFFFFF : listen to every anycast address from :00 to :1F 0x00000013 : listen to anycast addresses :00, :01 and :04 Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 2fb3bd6a23e5d37889a78b6a13a124fa7c586009 Author: Dan Williams Date: Mon Jun 4 20:05:23 2007 -0400 [PATCH] libertas: actually send mesh frames to mesh netdev Found by Luis; got broken during module split. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit fff47f108d7bd9f80b223cd187e09dbb0cb89114 Author: Luis Carlos Cobo Rus Date: Wed May 30 12:16:13 2007 -0400 [PATCH] libertas: deauthenticate from AP in channel switch This avoids channel mismatch between driver and firmware in case we change channel while associated to an AP. Signed-off-by: Luis Carlos Cobo Rus Signed-off-by: John W. Linville commit b8bedefd8fe589ff87a681e20583c8317030491d Author: Luis Carlos Cobo Rus Date: Wed May 30 12:14:34 2007 -0400 [PATCH] libertas: pull current channel from firmware on mesh autostart Signed-off-by: Luis Carlos Cobo Rus Signed-off-by: John W. Linville commit 42c059ea2b0aac5f961253ba81c1b464d181a600 Author: Roland Dreier Date: Tue Jun 12 10:52:02 2007 -0700 IB/mlx4: Fix warning in rounding up queue sizes Doing max(1, foo) where foo is u32 generates a warning, because 1 is a signed constant. Fix this by using 1U instead. Signed-off-by: Roland Dreier commit 614c3c85b5b4c3776439d464939c123cce679dee Author: Roland Dreier Date: Tue Jun 12 10:50:42 2007 -0700 IB/mlx4: Fix handling of wq->tail for send completions Cast the increment added to wq->tail when send completions are processed to u16 to avoid using wrong values caused by standard integer promotions. The same bug was fixed in libmlx4 by Eli Cohen . Signed-off-by: Roland Dreier commit 462b529f91b618f4bd144bbc6184f616dfb58a1e Author: Grant Grundler Date: Sun Jun 10 16:31:41 2007 -0600 [PARISC] remove global_ack_eiem Kudos to Thibaut Varene for spotting the (mis)use of appropriately named global_ack_eiem. This took a long time to figure out and both insight from myself, Kyle McMartin, and James Bottomley were required to narrow down which bit of code could have this race condition. The symptom was interrupts stopped getting delivered while some workload was generating IO interrupts on two different CPUs. One of the interrupt sources would get masked off and stay unmasked. Problem was global_ack_eiem was accessed with read/modified/write sequence and not protected by a spinlock. PA-RISC doesn't need a global ack flag though. External Interrupts are _always_ delivered to a single CPU (except for "global broadcast interrupt" which AFAIK currently is not used.) So we don't have to worry about any given IRQ vector getting delivered to more than one CPU. Tested on a500 and rp34xx boxen. rsync to/from gsyprf11 (a500) would lock up the box since NIC (tg3) interrupt and SCSI (sym2) were on "opposite" CPUs (2 CPU system). Put them on the same CPU or apply this patch and 10GB of data would rsync completely. Please apply the following critical patch. thanks, grant Signed-off-by: Grant Grundler Acked-by: Thibaut VARENE Signed-off-by: Kyle McMartin commit 8c4df74e02b0853ad86d1595fb6065d6c26fb196 Author: Dmitry Torokhov Date: Tue Jun 12 00:33:32 2007 -0400 Input: i8042 - add ULI EV4873 to noloop list The box does not implement AUX LOOP command properly and so we can't test for AUX IRQ delivery so blacklist it via DMI and assume that AUX port is present. Signed-off-by: Dmitry Torokhov commit 90245c17d3170438a0445614cbc5f72c1717d583 Author: Dmitry Torokhov Date: Tue Jun 12 00:33:27 2007 -0400 Input: i8042 - add ASUS P65UP5 to the noloop list This board does not raise AUX IRQ in response to AUX LOOP command which interferes with our test for proper AUX IRQ wiring. Put it in the blacklist and assume mouse is present. Signed-off-by: Dmitry Torokhov commit c6f8d7066d18ac86ff88627d858b749d9ba168bc Author: Ondrej Zary Date: Tue Jun 12 00:33:13 2007 -0400 Input: usbtouchscreen - fix fallout caused by move from drivers/usb During the move from drivers/usb/input into drivers/input/touchscreen Kconfig variables were shuffled a bit to use a new namespace (CONFIG_TOUCHSCREEN) while usbtouchscreen was still using old ones. Also noticed by Robert P. J. Day Signed-off-by: Ondrej Zary Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 78bfd36169398bfc07bca218952a429bf301bc55 Author: Timothy Shimmin Date: Mon Jun 11 20:42:09 2007 -0700 [XFS] Update the MAINTAINERS file entry for XFS. Remove David Chatterton from XFS entry in MAINTAINERS file. Signed-off-by: Tim Shimmin commit 14042cbefce4af12f7ca35d2604686154d803291 Author: Mattias Nissler Date: Fri Jun 8 15:31:13 2007 +0200 [PATCH] mac80211: Don't stop tx queue on master device while scanning. mac80211 stops the tx queues during scans. This is wrong with respect to the master deivce tx queue, since stopping it prevents any probes from being sent during the scan. Instead, they accumulate in the queue and are only sent after the scan is finished, which is obviously wrong. Signed-off-by: Mattias Nissler Signed-off-by: John W. Linville commit 0107136c04290ddd765adc568fe7a335d355d17e Author: Johannes Berg Date: Mon Jun 11 08:07:13 2007 +0200 [PATCH] mac80211: fix debugfs tx power reduction output This patch fixes a typo in mac80211's debugfs.c. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit c9aca9da026036306aa00a928f6acb4b94eb3c33 Author: David Lamparter Date: Mon Jun 4 00:06:51 2007 +0200 [PATCH] cfg80211: fix signed macaddress in sysfs Fix signedness mixup making mac addresses show up strangely (like 00:11:22:33:44:ffffffaa) in /sys/class/ieee80211/*/macaddress. Signed-off-by: David Lamparter Acked-by: Johannes Berg Signed-off-by: John W. Linville commit 2648a53acf16a837e11836203aadb219bd951a1e Author: Sam Ravnborg Date: Mon Jun 11 21:52:04 2007 +0200 kbuild: fix sh64 section mismatch problems There's a special .cranges section that is almost always generated, with data being moved to the appropriate section by the linker at a later stage. To give a bit of background, sh64 has both a native SHmedia instruction set (32-bit instructions) and SHcompact (which is compatability with normal SH -- 16-bit, a massively reduced register set, etc.). code ranges are emitted when we're using the 32-bit ABI, but not the 64-bit one. It is a special staging section used solely by binutils where code with different flags get placed (more specifically differing flags for input and output sections), before being lazily merged by the linker. The closest I've been able to find to documentation is: http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/ld/emultempl/sh64elf.em?rev=1.10&content-type=text/x-cvsweb-markup&cvsroot=src It's an array of 8-byte Elf32_CRange structure given in http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-sh64.h?rev=1.4&content-type=text/x-cvsweb-markup&cvsroot=src that describes for which ISA a range is used. Silence the warnings by allowing references from .init.text to .cranges. The following warnings are fixed: WARNING: init/built-in.o(.cranges+0x0): Section mismatch: reference to .init.text: WARNING: init/built-in.o(.cranges+0xa): Section mismatch: reference to .init.text: WARNING: init/built-in.o(.cranges+0x14): Section mismatch: reference to .init.text: WARNING: init/built-in.o(.cranges+0x1e): Section mismatch: reference to .init.text: WARNING: init/built-in.o(.cranges+0x28): Section mismatch: reference to .init.text: WARNING: init/built-in.o(.cranges+0x32): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0x50): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0x5a): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0x64): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0xfa): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0x104): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0x10e): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0x154): Section mismatch: reference to .init.text: WARNING: kernel/built-in.o(.cranges+0x15e): Section mismatch: reference to .init.text: WARNING: mm/built-in.o(.cranges+0x6e): Section mismatch: reference to .init.text: WARNING: mm/built-in.o(.cranges+0x78): Section mismatch: reference to .init.text: WARNING: mm/built-in.o(.cranges+0x82): Section mismatch: reference to .init.text: WARNING: mm/built-in.o(.cranges+0xaa): Section mismatch: reference to .init.text: WARNING: fs/built-in.o(.cranges+0x136): Section mismatch: reference to .init.text: WARNING: fs/built-in.o(.cranges+0x140): Section mismatch: reference to .init.text: WARNING: fs/built-in.o(.cranges+0x14a): Section mismatch: reference to .init.text: WARNING: fs/built-in.o(.cranges+0x168): Section mismatch: reference to .init.text: WARNING: fs/built-in.o(.cranges+0x1f4): Section mismatch: reference to .init.text: WARNING: fs/built-in.o(.cranges+0x1fe): Section mismatch: reference to .init.text: WARNING: net/built-in.o(.cranges+0x302): Section mismatch: reference to .init.text: WARNING: net/built-in.o(.cranges+0x30c): Section mismatch: reference to .init.text: WARNING: net/built-in.o(.cranges+0x316): Section mismatch: reference to .init.text: WARNING: net/built-in.o(.cranges+0x3a2): Section mismatch: reference to .init.text: WARNING: net/built-in.o(.cranges+0x3ac): Section mismatch: reference to .init.text: WARNING: net/built-in.o(.cranges+0x4ce): Section mismatch: reference to .init.text: WARNING: net/built-in.o(.cranges+0x4d8): Section mismatch: reference to .init.text: Signed-off-by: Paul Mundt Cc: Kaz Kojima Signed-off-by: Sam Ravnborg commit 717c9339202a42ae7bec7d3c4b84deecdcae9f81 Author: Dan Williams Date: Tue May 29 00:03:31 2007 -0400 [PATCH] libertas: reduce SSID and BSSID mixed-case abuse Kill mixed case function names from scan.c/scan.h. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 8cf1dc098fda226a0c3baa27ec737ce041acbb46 Author: Dan Williams Date: Mon May 28 23:56:10 2007 -0400 [PATCH] libertas: remove WPA_SUPPLICANT structure Unused. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d8efea254887128d710cc1475505514da004932c Author: Dan Williams Date: Mon May 28 23:54:55 2007 -0400 [PATCH] libertas: remove structure WLAN_802_11_SSID and libertas_escape_essid Replace WLAN_802_11_SSID with direct 'ssid' and 'ssid_len' members like ieee80211. In the process, remove private libertas_escape_essid and depend on the ieee80211 implementation of escape_essid instead. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 785e8f2679ce9ae703f1c737aa4d48b315d511ca Author: Dan Williams Date: Fri May 25 23:51:12 2007 -0400 [PATCH] libertas: tweak association debug output Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 707985b3850f6ff168340e20b7f6b783782fb8ed Author: David Woodhouse Date: Fri May 25 23:41:16 2007 -0400 [PATCH] libertas: fix big-endian associate command. Byte-swapping length fields and then passing them to memcpy() considered harmful. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit e5b3d472ad4eaa9013fd9f67f7a1b132f3ec910c Author: David Woodhouse Date: Fri May 25 23:40:21 2007 -0400 [PATCH] libertas: don't byte-swap firmware version number. It's a byte array. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 86760088a7c51ccc263ec3b8039ec9a7400a6d70 Author: David Woodhouse Date: Fri May 25 23:39:34 2007 -0400 [PATCH] libertas: more endianness fixes, in tx.c this time Now we finally get connectivity. For a while, before something else dies... Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit bb793e2bfc25b8891b84b8fe3cb4b77cd4619814 Author: David Woodhouse Date: Fri May 25 23:38:14 2007 -0400 [PATCH] libertas: More endianness fixes. Now it at least manages to load the firmware. Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 981f187b7c4b237011d4175cae0120d5d203c0fd Author: David Woodhouse Date: Fri May 25 23:36:54 2007 -0400 [PATCH] libertas: first pass at fixing up endianness issues Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 123e0e044091ca35a4766b38ae15032f2d41bcd6 Author: Dan Williams Date: Fri May 25 23:23:43 2007 -0400 [PATCH] libertas: sparse fixes Fix various issues reported by sparse. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0e8a5bd9502f709ddd1ea441ef0362fad3e4a4a1 Author: David Woodhouse Date: Fri May 25 23:15:27 2007 -0400 [PATCH] libertas: fix character set in README Signed-off-by: David Woodhouse Signed-off-by: John W. Linville commit 7d8d28b31d16875f868889264efbba1f6c516860 Author: Luis Carlos Cobo Rus Date: Fri May 25 23:12:19 2007 -0400 [PATCH] libertas: support for mesh autostart on firmware 5.220.11 Signed-off-by: Luis Carlos Cobo Rus Signed-off-by: John W. Linville commit f5e05b697d2105e5c3f9d837046a8c33ee5b7e14 Author: Luis Carlos Cobo Rus Date: Fri May 25 23:08:34 2007 -0400 [PATCH] libertas: split wext for eth and msh Separate wireless handlers of mshX and ethX. ethX remains as before. For mshX, it has been disabled set/get essid, wap and set mode. Get mode always returns "Repeater" and by now we use the Nickname to show if the mesh is active ("Mesh") or not (empty). The rest remains as before. Signed-off-by: Luis Carlos Cobo Rus Signed-off-by: John W. Linville commit 0a0d08aca5d0a77da4b66de289acfd891a3e72e1 Author: Luis Carlos Cobo Rus Date: Fri May 25 23:05:27 2007 -0400 [PATCH] libertas: make mac address configuration work with mesh interface too Signed-off-by: Luis Carlos Cobo Rus Signed-off-by: John W. Linville commit a23c58a3ac4090a41e63ae5b69af87b409abe019 Author: Luis Carlos Cobo Rus Date: Fri May 25 23:04:13 2007 -0400 [PATCH] libertas: updated readme file Fix some wording and blinding table command options, clarify argument list for fwt_add and fwt_list, simplify fwt_list_route Signed-off-by: Luis Carlos Cobo Rus Signed-off-by: John W. Linville commit 90a42210f275e1f828eb6c08bf8252c2d6a774e0 Author: Dan Williams Date: Fri May 25 23:01:24 2007 -0400 [PATCH] libertas: Make WPA work through supplicant handshake Fix WPA so it works up through the supplicant 4-Way handshake process. Doesn't successfully pass traffic yet; may be problems installing the GTK to the firmware. - RSN needs to be enabled before the association command is sent - Use keys from the association request not the adapter structure - cmd_act_mac_strict_protection_enable != IW_AUTH_DROP_UNENCRYPTED - Fix network filtering logic in is_network_compatible() WPA helpers Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 45f43de829981e9b9de56d6098d00d511b4fb56c Author: Dan Williams Date: Fri May 25 22:58:55 2007 -0400 [PATCH] libertas: add more verbose debugging to libertas_cmd_80211_authenticate Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 57361c6edc5801636eeeef0100d3071ab0b5c573 Author: Dan Williams Date: Fri May 25 22:54:50 2007 -0400 [PATCH] libertas: debug print spacing fixes in assoc.c Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d9ad2f5df89c66b5eae6ac5aaabe62508baba4ef Author: Dan Williams Date: Fri May 25 22:38:41 2007 -0400 [PATCH] libertas: send SIOCGIWSCAN event after partial scans too Any time the driver gets new scan results, even from partial scans, it should send the scan event to userspace. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit aeea0ab45ae3d761064ca926863bb41f0ad167ce Author: Dan Williams Date: Fri May 25 22:30:48 2007 -0400 [PATCH] libertas: honor specific channel requests during association Previously if a fixed channel was specified along with an SSID, the channel request would be ignored during the association process. Instead, when searching for an adhoc or infrastructure network to join, allow filtering results based on channel so that the driver doesn't pick a BSS on a different channel than requested. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ac26f81ccecc23ad5d8c20ebe1dd482fa395298b Author: Dan Williams Date: Fri May 25 22:19:59 2007 -0400 [PATCH] libertas: fix default adhoc channel Inadvertently removed on a previous commit; causes the first adhoc start to fail if a channel has not been set or no other association has been made. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 80e78ef74dffb2195e2a1164c18579180a76fd5b Author: Dan Williams Date: Fri May 25 22:18:47 2007 -0400 [PATCH] libertas: fix deadlock SIOCGIWSCAN handler Update signal quality before the locked scan result translation loop, because calling libertas_prepare_and_send_command() with the 'waitforrsp' option grabs adapter->lock in the command return processing, leading to the deadlock. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 94b23855c034ffa50e1f94f43ef4500520e4c36e Author: Dan Williams Date: Fri May 25 21:59:29 2007 -0400 [PATCH] libertas: correct error report paths for wlan_fwt_list_ioctl Ensure the leave debug print gets triggered when necessary. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 6cfb00823872d0181c5c72c2d457de93518d96e7 Author: Dan Williams Date: Fri May 25 17:33:28 2007 -0400 [PATCH] libertas: correctly balance locking in libertas_process_rx_command adapter->lock should released after unlocking adapter->driver_lock to balance the order in which they were locked at the top of the function. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 24d443b5d568c6e11b07267e2d784f5f04aa5dac Author: Dan Williams Date: Fri May 25 17:29:34 2007 -0400 [PATCH] libertas: fix debug enter/leave prints for libertas_execute_next_command Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 3cf20931fa8ffd765a95f72d7539ab34770684d9 Author: Dan Williams Date: Fri May 25 17:28:30 2007 -0400 [PATCH] libertas: use compare_ether_addr() rather than memcmp() where appropriate Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 02eb229bbded41d189f1ec57dbd264f80c93b5c6 Author: Dan Williams Date: Fri May 25 17:27:31 2007 -0400 [PATCH] libertas: use MAC_FMT and MAC_ARG where appropriate Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit e76850d620a0a26fa807b4fa189c64a94789461e Author: Dan Williams Date: Fri May 25 17:09:41 2007 -0400 [PATCH] libertas: make association paths consistent The BSS to associate with (in either Infrastructure or IBSS join operations) is now stored in _one_ place in the association request (the bss member), not two places as before (pattemptedbss and curbssparams->bssdescriptor). Association requests are passed to the necessary association functions to (a) give them access to the bss member and (b) ensure that association/join/start setup uses settings from the request, not the current adapter settings (which may not be valid for the requested settings). Because the 'bss' member of the association request is used now, the command return functions from associate and adhoc join/start need access to the in-progress association request to update curbssparams when everything is done. The association worker moves the request from pending to in-progress for the duration of the association attempt. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit ef9a264b7a288a07c43ddb244c4f9ab0e8df90e4 Author: Dan Williams Date: Fri May 25 16:46:33 2007 -0400 [PATCH] libertas: move channel changing into association framework Handle channel changes through the deferred association framework rather than directly. Fixes errors when setting channels along with other parameters like mode and SSID. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d43fb8ee3dab261e475d4f5189cf86182139b7f4 Author: Marcelo Tosatti Date: Fri May 25 16:28:20 2007 -0400 [PATCH] libertas: fix oops on rmmod Use list_for_each_entry_safe, to protect against list_del(). Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit 0e37275e9af07be6aa796b3ee981054525980b74 Author: Luis Carlos Cobo Rus Date: Fri May 25 16:26:47 2007 -0400 [PATCH] libertas: cleanup of fwt_list_route processing Signed-off-by: Luis Carlos Cobo Rus Acked-by: Dan Williams Signed-off-by: John W. Linville commit eb8f7330e7edf655176c51a62cd2e34de91a1eba Author: Dan Williams Date: Fri May 25 16:25:21 2007 -0400 [PATCH] libertas: fix 'keep previous scan' behavior Do not clear the scan list except under specific conditions, such as when (a) user-requested, or (b) joining/starting an adhoc network. Furthermore, only clear entries which match the SSID or BSSID of the request, not the whole scan list. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit fcdb53dbc743f288bf72e485fefb3a967b733686 Author: Dan Williams Date: Fri May 25 16:15:56 2007 -0400 [PATCH] libertas: make scan result handling more flexible - use a linked list for scan results - age scan results - pass bss_descriptors around instead of indexes into the scan table - lock access to the scan results - stop returning EAGAIN from SIOCGIWSCAN handler Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 90e8eafc93ed159846bb7126af8502f2a8570a11 Author: Luis Carlos Cobo Date: Fri May 25 13:53:26 2007 -0400 [PATCH] libertas: updated mesh commands for 5.220.9.p11 Updated commands fwt_add and fwt_list, bt_list. New commands: bt_get_invert, bt_set_invert, to invert the blinding table, i.e., receive only frames from nodes listed in the BT. This patch needs/is needed for firmware 5.220.9.p11. Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 7db283c914457dbeb72878df0641f4a5e05d75fa Author: Luis Carlos Cobo Rus Date: Fri May 25 13:48:54 2007 -0400 [PATCH] libertas: version bump (321p0) and cmds update for new fw (5.220.10.p0) This patch along with the previous commands update one, is necessary for mesh and fwt ioctls to work properly with firmware version 5.220.10.p0 and later. Signed-off-by: Luis Carlos Cobo Rus Signed-off-by: John W. Linville commit 1db733eff6319cdf4199fc7d3a3554fef1361f1a Author: Dan Williams Date: Fri May 25 13:36:57 2007 -0400 [PATCH] libertas: don't tear down netdev in libertas_activate_card libertas_activate_card() doesn't create the netdev, and shouldn't free it on error. The caller of libertas_activate_card() is responsible for cleaning up errors from libertas_add_card(), not libertas_activate_card(). Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit c72368310d6799da92ec12192d8b15c2ae7ab0b5 Author: Dan Williams Date: Fri May 25 13:35:23 2007 -0400 [PATCH] libertas: correctly unregister mesh netdev on error Subject says it all. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 4ace1138767869547944798ba9f1fd6d1e048acb Author: Dan Williams Date: Fri May 25 13:16:38 2007 -0400 [PATCH] libertas: replace 'macaddress' with 'bssid' Start to normalize bss_descriptor with ieee80211_network so we can eventually replace bss_descriptor more easily. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 7732ca45c68f893689a8c0d8c6e2eb2bfefbc087 Author: Dan Williams Date: Fri May 25 13:13:25 2007 -0400 [PATCH] libertas: call SET_NETDEV_DEV from common code Move usage of SET_NETDEV_DEV into common code since it has nothing to do with bus-specific devices. Also fixes a bug where the mesh device was getting SET_NETDEV_DEV called after register_netdevice, resulting in no 'device' link in /sys/class/net/mshX/. Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit 0681f989357416d7ef28ebaea4151ce70a6ae21c Author: Luis Carlos Cobo Date: Fri May 25 13:11:13 2007 -0400 [PATCH] libertas: fixed kernel oops on module/card removal Fixed kernel oops on module/card removal (using dongles) Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit b46794dffab643e69d41c58a1a39c57b03826813 Author: Luis Carlos Cobo Date: Fri May 25 13:10:18 2007 -0400 [PATCH] libertas: add URB debug info Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 60045136ab5c4a431c05a93804cb8f054240b34e Author: Luis Carlos Cobo Date: Fri May 25 13:08:33 2007 -0400 [PATCH] libertas: fixed incorrect assigment of fcs errors to frag errors Signed-off-by: Luis Carlos Cobo Signed-off-by: John W. Linville commit 634b8f49c11f49272b09d13a34b22a17b8c3d419 Author: Holger Schurig Date: Fri May 25 13:05:16 2007 -0400 [PATCH] libertas: remove unused variables in wlan_dev_t Actually, this patch removev wlan_dev_t totally and puts the used variables of it directly into wlan_private. That reduces one level of indirection and looks a little bit simpler. It's now "priv->card" and not "priv->wlan_dev.card" and "priv->dev" instead of "priv->wlan_dev.netdev" Changed two occurences of "((wlan_private *) dev->priv)->wlan_dev.netdev" into "dev", because I didn't see the point in doing pointer-ping-pong. The variables "ioport", "upld_rcv" and "upld_type" where unused. They have been removed. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ec3eef28d9bc3fbcc5d3dd668dffcaa675015b11 Author: Holger Schurig Date: Fri May 25 12:49:10 2007 -0400 [PATCH] libertas: let DRV_NAME be overridable For now, it's "libertas" by default, but that is overwritten in if_usb.c/if_bootcmd.c and in if_cs.c. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 435a1acba23437a6c8462dd8437e48cdf09a2f71 Author: Holger Schurig Date: Fri May 25 12:41:52 2007 -0400 [PATCH] libertas: fix RESET logic at unload time Previously, we had a fixed array of 5 elements where we remembered all initialized devices. This has been changed to use a "struct list_head" organization, which is IMHO cleaner. Also renamed usb_cardp to cardp, as in the reset of the code. Renamed reset_device() to if_usb_reset_device() like many other functions. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 084708b61014776198c56d1606343d4f504c691e Author: Holger Schurig Date: Fri May 25 12:37:58 2007 -0400 [PATCH] libertas: split module into two (libertas.ko and usb8xxx.ko) * add CONFIG_LIBERTAS to Kconfig * remove global variable libertas_fw_name, the USB module might want to use a different default FW name than the CF module, so libertas_fw_name is now local to if_usb.c * exported some symbols as GPL Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ed457037c5e8287a3fd24408250fb396b57b9a1b Author: Holger Schurig Date: Fri May 25 12:18:36 2007 -0400 [PATCH] libertas: move contents of fw.h to decl.h Also removes some useless "extern" declarations from function declaration. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 208fdd2f447899164bd139452c291b155e53cee9 Author: Holger Schurig Date: Fri May 25 12:17:06 2007 -0400 [PATCH] libertas: indirect all hardware access via hw_XXXX functions This functions makes all libertas_sbi_XXX functions static to the if_usb.c file and renames them to if_usb_XXXX(). The get called from other places of the source code via priv->hw_XXXX(). Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 0583e8ef149700ede2aa181509e217c39e565f28 Author: Chris Ball Date: Fri May 25 12:13:24 2007 -0400 [PATCH] libertas: wakeup both mesh and normal wakeup when getting out of scan The previous patch wakes up the mesh device *instead* of the wlan device when coming out of scan. We need to wake up both of them. Signed-off-by: Chris Ball Signed-off-by: John W. Linville commit 0601e7ee463f2736586de9a24025f8791db7f5a8 Author: Javier Cardona Date: Fri May 25 12:12:06 2007 -0400 [PATCH] libertas: added transmission failures to mesh statistics Added transmission failures to mesh statistics. Removed whitespace before newlines. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 6a8121572e2f2d188f04673bfa460ccfcedeb008 Author: Marcelo Tosatti Date: Fri May 25 12:09:13 2007 -0400 [PATCH] libertas: fix error handling of card initialization Subject says it all. Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit 51d84f501684db22f5fcc30821cbbde2a0a2f264 Author: Javier Cardona Date: Fri May 25 12:06:56 2007 -0400 [PATCH] libertas: fixed transmission flow control on the mesh interface This patch implements proper transmission flow control on mshX. Signed-off-by: Javier Cardona Signed-off-by: John W. Linville commit 32a74b7c8f7b883b532e0e4333b7c3014d3d8fe8 Author: Holger Schurig Date: Fri May 25 12:04:31 2007 -0400 [PATCH] libertas: split wlan_add_card() Split wlan_add_card() into a part that just setups kernel parameters and into the function libertas_activate_card(), which will implizitly use hardware functions by the started thread. This allows us later to do something like this: priv = libertas_add_card(); priv->hw_command_to_host = if_usb_command_to_host; priv->hw_xxxx = if_usb_xxxx; priv->hw_yyyy = if_usb_yyyy; wlan_activate_card() and of course the CF driver can set it's own functions. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 3874d0fefd965eedfc7f8e0a5459ddf914eb4306 Author: Holger Schurig Date: Fri May 25 12:01:42 2007 -0400 [PATCH] libertas: move reset_device() code main.c to if_usb.c The reset_device() logic is only needed for USB devices, not for CF devices. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit fb3dddf22c63d7e0622d4819a87dbb8563f0e968 Author: Holger Schurig Date: Fri May 25 11:58:22 2007 -0400 [PATCH] libertas: changed some occurences of kmalloc() + memset(&a,0,sz) to kzalloc() The subject says it all. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 6df3073d2923c12b6f7524917a634e83de958dfe Author: Holger Schurig Date: Fri May 25 11:56:37 2007 -0400 [PATCH] libertas: fix SSID output * a newline was missing * changed %32s to '%s', no need to right justify the ESSID Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 1ac812f161801c276dd520def0e81b9938eb7761 Author: Holger Schurig Date: Fri May 25 11:55:19 2007 -0400 [PATCH] libertas: get rid of libertas_sbi_get_priv() It's not really needed, because we can call wlan_remove_card() with wlan_private* anyway. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit ed37b51610ff4e853893a92bb725bab99d17b236 Author: Holger Schurig Date: Fri May 25 11:52:42 2007 -0400 [PATCH] libertas: change debug output of libertas_interrupt() It used to be LBS_DEB_MAIN, now it's LBS_DEB_THREAD Also fixed a missing ":" in lbs_deb_enter() Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 78523daa86cf0b02c4d2f73b962c04ad565e9140 Author: Holger Schurig Date: Fri May 25 11:49:19 2007 -0400 [PATCH] libertas: single out mesh code This patches adds the two functions wlan_add_mesh() and wlan_remove_mesh(), which are responsible for the mshX interface. In a CF driver with a non- mesh-aware firmware you can omit the calls to this functions. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit a46c64108b06ec68337e62e7c2d4b3e8aed74b82 Author: Holger Schurig Date: Fri May 25 11:32:07 2007 -0400 [PATCH] libertas: tune debug code * renamed module parameter back to libertas_debug * change from bit shifts to constants, that way it's easier to look at the source and specify the libertas_debug=0xXXXX module parameter * moved module_param from fw.c to main.c, where it belongs better Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 9012b28a407511fb355f6d2176a12d4653489672 Author: Holger Schurig Date: Fri May 25 11:27:16 2007 -0400 [PATCH] libertas: make debug configurable The debug output of libertas was either not present or it was overwhelming. This patch adds the possibility to specify a bitmask for the area of interest. One should then only get the desired output. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 46868202b2dd22156460a220553a223f406f4f22 Author: Holger Schurig Date: Fri May 25 00:37:28 2007 -0400 [PATCH] libertas: exclude non-used code when PROC_DEBUG is not set This reduces usb8xxx.ko by 951 bytes (text) and 256 bytes (data) when PROC_DEBUG isn't defined. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 2be9219680e8abfa79da74e8d827ecf5c41be76d Author: Marcelo Tosatti Date: Fri May 25 00:33:28 2007 -0400 [PATCH] libertas: fix scanning from associate path The previous scan fix did not account for scan paths other than set_scan() that need to do a full scan at once. Add a "full_scan" parameter to wlan_scan_networks() to control such behaviour. Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit bf68dac89b6502f8577a8be1b4fc06cb641ae1f3 Author: Holger Schurig Date: Fri May 25 00:14:38 2007 -0400 [PATCH] libertas: make libertas_wlan_data_rates static Move libertas_wlan_data_rates into wext.c and make it static. wext.c is the only user of this array. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 66fcc559042d85d57d9856d2a7fbcaa3e827a58c Author: Holger Schurig Date: Fri May 25 00:11:58 2007 -0400 [PATCH] libertas: move vendor & product id's into if_usb.c For me it looks cleaner, because it removes one level of indirection. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 7b1d5c0b604df6cee31b2c0160ede3f1311fbb66 Author: Holger Schurig Date: Fri May 25 00:09:54 2007 -0400 [PATCH] libertas: remove unused/superfluous definitions of DEV_NAME_LEN DEV_NAME_LEN is already defined in defs.h and that is sufficient. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 42fff92aa53fd5903f318e16fbbcc9176403562c Author: Holger Schurig Date: Fri May 25 00:07:38 2007 -0400 [PATCH] libertas: remove __FILE__ from debug output Remove filename from debug output because it's way too long. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 5c20676fcda300c023d55ba1221b5ff4ab749537 Author: Marcelo Tosatti Date: Fri May 25 00:04:11 2007 -0400 [PATCH] libertas: remove deprecated pm_register and associated code Subject says it all. Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit 0b7db95602d0eb5339c7b7a9c7beff4b146bdeec Author: Holger Schurig Date: Thu May 24 23:47:34 2007 -0400 [PATCH] libertas: fix removal of all debugfs files rmmod did not remove /sys/kernel/debug/libertas_wireless/eth1/ subscribed_events/high_snr. After I fixed this, I noticed that it also didn't remove /sys/kernel/debug/libertas_wireless/eth1 as well. Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 604ba49150987e48a94f2a704ba4e44479901c5c Author: Holger Schurig Date: Thu May 24 23:42:42 2007 -0400 [PATCH] libertas: a debug output was missing a newline Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit eb3ce631f9abc45a98a12699d5a25742fd8421e7 Author: Holger Schurig Date: Thu May 24 23:41:15 2007 -0400 [PATCH] libertas: rename wlan_association_worker Renames wlan_association_worker into libertas_association_worker Signed-off-by: Holger Schurig Signed-off-by: John W. Linville commit 064827edf6901e5fcbd84fc258fb2326a530da9c Author: Marcelo Tosatti Date: Thu May 24 23:37:28 2007 -0400 [PATCH] libertas: scan two channels per scan command Scan two channels per each command on set_scan(), then bail out and let get_scan() continue the scanning work up to the last channel. This gives time to the firmware so it can go back to the association channel and keep the connection alive. Fixes http://dev.laptop.org/ticket/841 Signed-off-by: Marcelo Tosatti Signed-off-by: John W. Linville commit ff72b7a6188088976bf7d77d3309a9b2f1716071 Author: Ralf Baechle Date: Thu Jun 7 13:17:30 2007 +0100 [MIPS] Fix smp barriers in test_and_{change,clear,set}_bit Signed-off-by: Ralf Baechle commit e10e0cc8852ac846d5590188b935c98742e5cc43 Author: Atsushi Nemoto Date: Fri Jun 1 23:40:59 2007 +0900 [MIPS] Fix IP27 build IP27 does no longer have ZONE_DMA. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 4ebd5233f0420f1e383c38f962ec84c4d53fbbad Author: Ralf Baechle Date: Thu May 31 16:15:01 2007 +0100 [MIPS] Fix modpost warnings by making start_secondary __cpuinit WARNING: arch/mips/kernel/built-in.o(.text+0x9a58): Section mismatch: reference to .init.text:cpu_report (between 'start_secondary' and 'smp_prepare_boot_cpu') WARNING: arch/mips/kernel/built-in.o(.text+0x9a60): Section mismatch: reference to .init.text:per_cpu_trap_init (between 'start_secondary' and 'smp_prepare_boot_cpu') WARNING: arch/mips/kernel/built-in.o(.text+0x9adc): Section mismatch: reference to .init.text:cpu_probe (between 'start_secondary' and 'smp_prepare_boot_cpu') mipsel-linux-objcopy -S -O srec --remove-section=.reginfo --remove-section=.mdebug --remove-section=.comment --remove-section=.note --remove-section=.pdr --remove-section=.options --remove-section=.MIPS.options vmlinux arch/mips/boot/vmlinux.srec Signed-off-by: Ralf Baechle commit cf7578995398e20d3ab0748e6d5f83ea6c7a0035 Author: Chris Dearman Date: Tue May 29 20:01:55 2007 +0100 [MIPS] SMTC: Fix build error caused by nonsense code. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 6a05888d713dd915d3268000a479e38646aa423f Author: Ralf Baechle Date: Thu May 31 14:03:45 2007 +0100 [MIPS] SMTC: The MT ASE requires to initialize c0_pagemask and c0_wired. Signed-off-by: Ralf Baechle commit 8e8a52ed87e5b1fa60108b525774f2a28b4016d5 Author: Ralf Baechle Date: Thu May 31 14:00:19 2007 +0100 [MIPS] SMTC: Don't continue in set_vi_srs_handler on detected bad arguments. Signed-off-by: Ralf Baechle commit ef36fc3c5b37111d41827d00536364667a923235 Author: Ralf Baechle Date: Thu May 31 13:36:57 2007 +0100 [MIPS] SMTC: Fix warning. Signed-off-by: Ralf Baechle commit 7a6d4f38744e6453ec3bd359f751c34923207735 Author: Atsushi Nemoto Date: Tue May 29 23:29:40 2007 +0900 [MIPS] Wire up utimensat, signalfd, timerfd, eventfd Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d3a509118af28bac5b900aa4e642141853cdfd1c Author: Ralf Baechle Date: Fri May 25 15:46:38 2007 +0100 [MIPS] Atlas: Fix build. Signed-off-by: Ralf Baechle commit acaec427bc81199da41fb000ab1979041ebc3289 Author: Chris Dearman Date: Thu May 24 22:30:18 2007 +0100 [MIPS] Always install the DSP exception handler. Some non-DSP enabled cores 24K / 34K can generate a DSP exception where they are actually expected to produce a reserved instruction exception. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit da9bc7263dc7e32d52dd922fe3f46eb7107c0143 Author: Ralf Baechle Date: Thu May 24 14:56:58 2007 +0100 [MIPS] SMTC: Don't set and restore irqregs ptr from self_ipi. This did corrupt register s0 which the caller of self_ipi expects to be unchanged. This is a kernel bug which will only be triggered with the compilers which compile __smtc_ipi_replay to use s0 across the invocation of self_ipi. Gcc 4.1.2 does this, for example. Signed-off-by: Ralf Baechle commit fbf6ede2ce05592661cec04e04b88f6bab00eb09 Author: Maciej W. Rozycki Date: Mon May 21 13:47:22 2007 +0100 [MIPS] Fix KMODE for the R3000 This must be the oldest bug that we have got. Leaving interrupts "as they are" for the R3000 obviously means copying IEp to IEc. Since we have got STATMASK now, I took this opportunity to mask the status register "correctly" for the R3000 now too. Oh, and the R3000 hardly ever is 64-bit. Signed-off-by: Maciej W. Rozycki Signed-off-by: Ralf Baechle commit c5760abde715dcd9ead66769e45d1896332e9d9c Author: Jean-Christian de Rivaz Date: Mon Jun 11 17:44:14 2007 +0800 Blackfin SMC91X ethernet supporting driver: SMC91C111 LEDs are note drived in the kernel like in uboot Signed-off-by: Jean-Christian de Rivaz Signed-off-by: Bryan Wu commit d6fe89b0630080e2bd6ece20ff7b1b5c2647ed62 Author: Bryan Wu Date: Mon Jun 11 17:34:17 2007 +0800 Blackfin SPI driver: fix bug SPI DMA incomplete transmission SPI writes intermittently drop bytes at end of DMA transfer http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3205 http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2892 Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 6c1640d52b9b7355cd777c4f08bc930ac96d905b Author: Ben Dooks Date: Wed Jun 6 10:01:04 2007 +0100 [ARM] 4445/1: ANUBIS: Fix CPLD registers Update the ANUBIS register definitions inline with the specs and ensure they are registered correctly. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 5698bd28c67775c722dc1f4ab82e0041c1c740ea Author: Ben Dooks Date: Wed Jun 6 10:36:09 2007 +0100 [ARM] 4444/2: OSIRIS: CPLD suspend fix Ensure the CPLD 8bit settings are preserved over a suspend/resume cycle as the CPU sends a hard-reset at resume time. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 55ba86bc6c33ce8b690fdf20ab485ef94cccd423 Author: Ben Dooks Date: Wed Jun 6 09:53:00 2007 +0100 [ARM] 4443/1: OSIRIS: Add watchdog device to machine devices Add the watchdog timer to the list of devices the Osiris registers at startup. Signed-off-by: Ben Dooks Signed-off-by: Russell King commit c362aecdb51ecb364d427a9b947fd2dfbd4cb86a Author: Ben Dooks Date: Wed Jun 6 09:51:51 2007 +0100 [ARM] 4442/1: OSIRIS: Fix CPLD register definitions Fix the CPLD register definitions to correctly mirror the documentation Signed-off-by: Ben Dooks Signed-off-by: Russell King commit 27bb9e79bcfedc1888d23c3c212c189fa8534fe7 Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin SPI driver: tweak spi cleanup function to match newer kernel changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Cc: David Brownell commit 566da5b2666e62a7b061b42964658697183bef1c Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin RTC drivers: update MAINTAINERS information Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu Cc: Alessandro Zummo commit 19aa6382e3c927b8ec5caec7b74c3dc555101146 Author: Mike Frysinger Date: Mon Jun 11 16:16:45 2007 +0800 Blackfin serial driver: decouple PARODD and CMSPAR checking from PARENB as the termios info does not stipulate that the former are dependent on the latter Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit cf68676222e54cd0a31efd968da00e65f9a0963f Author: Mike Frysinger Date: Mon Jun 11 16:12:49 2007 +0800 Blackfin serial driver: actually implement the break_ctl() function Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 9808901b6c63a1c850b072e624c228901a9eaf10 Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin serial driver: ignore framing and parity errors if we get a break signal, we want to ignore framing and parity errors because those will always be set (by nature of the signal) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c16c3ca79abcb69a9e45f7c15f8358b3915c0e49 Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin serial driver: hook up our UARTs STP bit with userspaces CMSPAR so we can now do spaced/marked parity Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit df30b1171714bbf0e55ffe02138be4b8447e4235 Author: Mike Frysinger Date: Mon Jun 11 17:47:27 2007 +0800 Blackfin arch: move HI/LO macros into blackfin.h and punt the rest of macros.h as it includes VDSP macros we never use Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit de6a9520d4c799ce2079c59457b06251367e67b6 Author: Mike Frysinger Date: Mon Jun 11 17:27:05 2007 +0800 Blackfin arch: redo our linker script a bit - we can start taking advantages of defines in asm-generic/vmlinux.lds.h - move our L1 relocated sections into init so it gets freed after relocation Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 43a3188ea348c41a197a754164ff96cc48124d85 Author: Mike Frysinger Date: Thu Jun 14 13:33:37 2007 +0800 Blackfin arch: make sure we initialize our L1 Data B section properly based on the linked kernel Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 581d62ab304fb43d2ae4de06527676661b171cf6 Author: Michael Hennerich Date: Thu Jun 14 13:30:23 2007 +0800 Blackfin arch: fix bug can not wakeup from sleep via push buttons Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 5e10b4a653b9c7942fd1044fe5b592d544736897 Author: Mike Frysinger Date: Mon Jun 11 16:44:09 2007 +0800 Blackfin arch: add support for Alon Bar-Lev's dynamic kernel command-line Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fd92348e520af92ddd48b8100cd0ccb16a055ed3 Author: Michael Hennerich Date: Mon Jun 11 16:39:40 2007 +0800 Blackfin arch: add missing gpio.h header to fix compiling in some pm configurations Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit e7613aab91270a6c76c61d3a1c05eaaa882b1842 Author: Michael Hennerich Date: Mon Jun 11 16:37:57 2007 +0800 Blackfin arch: As Mike pointed out range goes form m..MAX_BLACKFIN_GPIO -1 Signed-off-by: Michael Hennerich Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 00163e869e44f5489c33cd3ec0e502c33a0d4ba7 Author: Mike Frysinger Date: Mon Jun 11 16:22:18 2007 +0800 Blackfin arch: fix spelling typo in output Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5af4c2b367c9c3dcc0cb02880df3a8581bb12a87 Author: Aubrey Li Date: Thu Jun 14 13:28:47 2007 +0800 Blackfin arch: try to split up functions like this into smaller units according to LKML review Signed-off-by: Aubrey Li Signed-off-by: Bryan Wu commit 51be24c351bc9ee4937121100adb098eeb1effdd Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: add proper ENDPROC() add proper ENDPROC() to close out assembly functions so size/type is set properly in the final ELF image Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 52a078120c33b06a9abb721357adaafc3b55b7c1 Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: move more of our startup code to .init so it can be freed once we are up and running Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 83a5c3e3218f138b1a99f787c76e380d6a6ecec9 Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: unify differences between our diff head.S files -- no functional changes Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 16983de0cec7b93cc2568f96909d4ea7c118bd8a Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: update defconfigs Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4dfefcf05417f98292a92f2face186d261867952 Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: scrub old console defines since they arent respected anymore (use console=) and just confuse people Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e3b2d3f33b3c1ef36b5c77ef581506915c73aad6 Author: Bryan Wu Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: fixup Blackfin MAINTIANERS team member list Signed-off-by: Bryan Wu commit bc61b4e69d26a1b9627d52ab45064eee9284aa72 Author: Mike Frysinger Date: Thu Jun 14 13:21:08 2007 +0800 Blackfin arch: implement a basic /proc/sram file for L1 allocation visibility implement a basic /proc/sram file for L1 allocation visibility until we can rewrite the entire L1 allocator (which would include a proper mechanism) Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 321f6e0f5183e489448ae61af79cca1b7fe43e88 Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: mark our memory init functions with __init so they get freed after init Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 5716e514ed526a819775c45a73f1c8b65309e9d3 Author: Robin Getz Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: all symbols were offset by 4k, since we didn't have the __text label. Bug tracker: http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3231 Singed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 75ed405c63b3fc2402fb8ff825b0ebffcff26b57 Author: Roy Huang Date: Thu Jun 14 12:54:44 2007 +0800 Blackfin arch: fix bug ad1836 fails to build properly for BF533-EZKIT bug log here: http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3166 Signed-off-by: Roy Huang Signed-off-by: Bryan Wu commit d2d50aa97d695d83ccb2341488d977e8cfe36555 Author: Simon Arlott Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: spelling fixes Signed-off-by: Simon Arlott Signed-off-by: Bryan Wu commit ac1bd53c067397947b5d805c631519282f5678fe Author: Aubrey Li Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: DMA code minor naming convention fix Signed-off-by: Aubrey Li Signed-off-by: Bryan Wu Cc: Pekka Enberg commit db94d9d24526f83c432f0e5620078f02f7ae76ca Author: Mike Frysinger Date: Mon Jun 11 15:31:30 2007 +0800 Blackfin arch: remove defconfig file Since we have board-specific defconfigs and the default is set to BF537-STAMP, we no longer need this one Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit e141d999b682cda9907179e3b843acb64c34a1d8 Author: Tejun Heo Date: Sun Jun 10 14:26:20 2007 +0900 libata: limit post SRST nsect/lbal wait to ~100ms After SRST, libata used to wait for nsect/lbal to be set to 1/1 for the slave device. However, some ATAPI devices don't set nsect/lbal after SRST and the wait itself isn't too useful as we're gonna wait for !BSY right after that anyway. Before reset-seq update, nsect/lbal wait failure used to be ignored and caused 30sec delay during detection. After reset-seq, all timeouts are considered error conditions making libata fail to detect such ATAPI devices. This patch limits nsect/lbal wait to around 100ms. This should give acceptable behavior to such ATAPI devices while not disturbing the heavily used code path too much. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5acd50f641e697cb42240f278350a4f8eac9b4f5 Author: Tejun Heo Date: Sun Jun 10 14:52:36 2007 +0900 libata: force PIO on IOMEGA ZIP 250 ATAPI IOMEGA ZIP 250 ATAPI claims MWDMA0 support but fails SETXFERMODE if asked to configure itself to MWDMA0. Force PIO. This fixes bugzilla bug#8497. Signed-off-by: Tejun Heo Cc: Calvin Walton Signed-off-by: Jeff Garzik commit 5d4cae5fe2ea1a0974962e2c49dca5c9c4b14cc0 Author: Russell King Date: Sun Jun 10 12:22:20 2007 +0100 [ARM] VFP: fix section mismatch error Fix a real section mismatch issue; the test code is thrown away after initialisation, but if we do not detect the VFP hardware, it is left hooked into the exception handler. Any VFP instructions which are subsequently executed risk calling the discarded exception handler. Introduce a new "null" handler which returns to the "unrecognised fault" return address. Signed-off-by: Russell King commit 9b01bd5b284bbf519b726b39f1352023cb5e9e69 Author: Dave Airlie Date: Sun Jun 10 16:00:27 2007 +1000 drm: fix radeon setparam on 32/64 bit systems. The alignment on 64-bit is different for 64-bit values. Signed-off-by: Dave Airlie commit dc7a93190c21edbf3ed23e678ad04f852b9cff28 Author: Wang Zhenyu Date: Sun Jun 10 15:58:19 2007 +1000 drm/i915: Add support for the G33, Q33, and Q35 chipsets. These require that the status page be referenced by a pointer in GTT, rather than phsyical memory. So, we have the X Server allocate that memory and tell us the address, instead. Signed-off-by: Dave Airlie commit 2f4042b186b9bfe82f48fe801619c6c285c16bef Author: Wang Zhenyu Date: Fri Jun 1 22:03:44 2007 +1000 i915: add new pciids for 945GME, 965GME/GLE Signed-off-by: Dave Airlie commit 2c3d2a46f1ccf591850b20f4fdde12bcf2bf3dfd Author: Albert Lee Date: Thu Jun 7 16:01:17 2007 +0800 libata passthru: update cached device paramters INIT_DEV_PARAMS and SET_MULTI_MODE change the device parameters cached by libata. Re-read IDENTIFY DEVICE info and update the cached device paramters when seeing these commands. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit fa4453c4c94a61bbefe470b16ddbb6218481c6dc Author: Albert Lee Date: Thu Jun 7 15:52:07 2007 +0800 libata passthru: always enforce correct DEV bit Always enforce correct DEV bit since we know which drive the command is targeted. SAT demands to ignore the DEV bit, too. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 23cb1d718ddbeb718ed7ca5be283dcbfb63993c3 Author: Albert Lee Date: Thu Jun 7 15:50:44 2007 +0800 libata passthru: map UDMA protocols Map the ATA passthru UDMA protocols to ATA_PROT_DMA. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 1dce589c38c36ae69614840ee230183f3a7d43c5 Author: Albert Lee Date: Thu Jun 7 15:49:22 2007 +0800 libata passthru: support PIO multi commands support the pass through of PIO multi commands. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit f93f1078d08e0f63a6a4bdaa154de3642fc03d5d Author: Albert Lee Date: Thu Jun 7 15:47:13 2007 +0800 libata passthru: update protocol numbers Update the ATA passthru protocol numbers according to the new spec. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 6070068b875f604ff3f62e6e342bbd4c1f34a895 Author: Alan Cox Date: Thu Jun 7 16:13:55 2007 +0100 libata: Correct abuse of language The controller is not reporting an unlawful type, it is reporting an invalid type. Illegal specifically means "prohibited by law" Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit d92e74d353345d19f762e9501a50b0a5f43f7ba8 Author: Alan Cox Date: Thu Jun 7 16:19:15 2007 +0100 libata-core/sff: Fix multiple assumptions about DMA The ata IRQ ack functions are only used when debugging. Unfortunately almost every controller that calls them can cause crashes in some configurations as there are missing checks for bmdma presence. In addition ata_port_start insists of installing DMA buffers and pad buffers for controllers regardless. The SFF controllers actually need to make that decision dynamically at controller setup time and all need the same helper - so we add ata_sff_port_start. Future patches will switch the SFF drivers to use this. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 0522b2869d89b095bf417c8cc6fa404842e91903 Author: Peer Chen Date: Thu Jun 7 18:05:12 2007 +0800 ahci: Add MCP73/MCP77 support to AHCI driver Add the MCP73/MCP77 support to ahci driver. Signed-off-by: Peer Chen Signed-off-by: Jeff Garzik commit afe3cc51ba4be6b25b721c40f178ea4157751161 Author: Tejun Heo Date: Wed Jun 6 16:35:55 2007 +0900 libata: fix hw_sata_spd_limit initialization hw_sata_spd_limit used to be incorrectly initialized to zero instead of UINT_MAX if SPD is zero in SControl register. This breaks PHY speed down. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit ef143d577ba98c8a53aee9aa60e7d1f07c32fd7a Author: Albert Lee Date: Tue Jun 5 13:01:33 2007 +0800 libata: print device model and firmware revision for ATAPI devices For ATA/CFA devices, libata prints out the device model and firmware revision. Do the same for ATAPI devices. Signed-off-by: Albert Lee Signed-off-by: Jeff Garzik commit 22888423b3b1b96573250671afb5b72ea4364902 Author: Olof Johansson Date: Sun Jun 3 18:35:10 2007 -0500 libata: fix probe time irq printouts Most drivers don't seem to fill out the host->irq field, resulting in the wrong (no) irq being reported at probe time. For example, sil24 on my system: ata1: SATA max UDMA/100 cmd 0xd00008009001f000 ctl 0x0000000000000000 bmdma 0x0000000000000000 irq 0 ata2: SATA max UDMA/100 cmd 0xd000080090021000 ctl 0x0000000000000000 bmdma 0x0000000000000000 irq 0 Since they're allocated and set up in ata_host_activate(), just save them away there. Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit bd9c5a39e4141678bd6242e5b74bfe39d8d0be35 Author: Tejun Heo Date: Fri Jun 8 22:20:59 2007 +0900 libata: disable NCQ for HITACHI HTS541680J9SA00/SB21C7EP HITACHI HTS541680J9SA00/SB21C7EP spuriously completes NCQ commands. Blacklist it for NCQ. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit c3a44a47e8f60e8e4ae58d3a024b9a7ab293e673 Author: Yoichi Yuasa Date: Tue Jun 5 22:33:29 2007 +0900 remove unused variable in pata_isapnp This patch has removed unused variable in pata_ispnp. Signed-off-by: Yoichi Yuasa Signed-off-by: Jeff Garzik commit c0811987c6909cd5463d107933217be113b75f4e Author: Sam Ravnborg Date: Sun Jun 10 00:50:51 2007 +0200 net: fix typo in drivers/net/usb/Kconfig Replace invisible character with a space. The diff looks like this on my terminal: - Choose this option if you're using a host-to-host cable - with one of these chips. + Choose this option if you're using a host-to-host cable + with one of these chips. Reported by: Massimo Maiurana Signed-off-by: Sam Ravnborg Cc: Massimo Maiurana Signed-off-by: Jeff Garzik commit 895ee682db14ed71860e22495280bdee4dae4738 Author: Kim Phillips Date: Tue Jun 5 18:46:47 2007 +0800 phylib: add RGMII-ID mode to the Marvell m88e1111 PHY to fix broken ucc_geth Support for configuring RGMII-ID (RGMII with internal delay) mode on the 88e1111 and 88e1145. Ucc_geth on MPC8360EMDS(the main user of ucc_geth) is broken after changed to use phylib. It is fixed by adding this internal delay. Also renamed 88e1111s -> 88e1111 (no references to an 88e1111s part were found), and fixed some whitespace. Signed-off-by: Kim Phillips Signed-off-by: Li Yang Signed-off-by: Jeff Garzik commit dec590c1bb05c1553b68cab7aa3ea36d77e7f9a3 Author: Thomas Klein Date: Wed Jun 6 20:53:16 2007 +0200 ehea: Fixed possible kernel panic on VLAN packet recv This patch fixes a possible kernel panic due to not checking the vlan group when processing received VLAN packets and a malfunction in VLAN/hypervisor registration. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit 0d04761d17976ce560a22d9a21af575cd0d1bc21 Author: Mithlesh Thukral Date: Thu Jun 7 04:36:36 2007 -0700 NetXen: Fix compile failure seen on PPC architecture NetXen: Add NETXEN prefixes to macros to clean them up. This is a cleanup patch which adds NETXEN prefix to some stand alone macro names. These posed compile errors when NetXen driver was backported to 2.6.9 on PPC architecture as macros like USER_START are defined in file arch/ppc64/mm/hash_utils.c Signed-off-by: Andy Gospodarek Signed-off by: Wen Xiong Acked-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit 3e2facef86a1665d64961b541aa0773f5ca22125 Author: Mithlesh Thukral Date: Thu Jun 7 04:33:02 2007 -0700 NetXen: Fix ping issue after reboot on Blades with 3.4.19 firmware NetXen: Fix initialization and subsequent ping issue on 3.4.19 firmware This patch fixes the ping problem seen X/PBlades after the adapter's firmware was moved to 3.4.19. After configured interface up, ping failed. NetXen adapter couldn't accept ARP broadcast packet. Manual addition of MAC address in the ARP table, made ping work. NetXen adapter should finish initilization after system boot. But looks NetXen adapter didn't initilization correctly after system boot up. So have to re-load the firmware again in probe routine. Also re-initilization netxen_config_0 and netxen_config_1 registers. Signed-off by: Wen Xiong Signed-off by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit b4fea61a193bdd75f6667a0db04eb74b9ccbe39c Author: Dave Jones Date: Wed Jun 6 03:07:52 2007 -0400 typo in via-velocity.c http://bugzilla.kernel.org/show_bug.cgi?id=8160 Signed-off-by: Dave Jones Signed-off-by: Jeff Garzik commit ce6eea58eb8f50f563663c6e723b4bbbe55b012e Author: Brian King Date: Fri Jun 8 14:05:17 2007 -0500 ibmveth: Automatically enable larger rx buffer pools for larger mtu Currently, ibmveth maintains several rx buffer pools, which can be modified through sysfs. By default, pools are not allocated by default such that jumbo frames cannot be supported without first activating larger rx buffer pools. This results in failures when attempting to change the mtu. This patch makes ibmveth automatically allocate these larger buffer pools when the mtu is changed. Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit 4aa9c93e1c7911866c546651a5efbbf62914092e Author: Brian King Date: Fri Jun 8 14:05:16 2007 -0500 ibmveth: Fix h_free_logical_lan error on pool resize When attempting to activate additional rx buffer pools on an ibmveth interface that was not yet up, the error below was seen. The patch fixes this by only closing and opening the interface to activate the resize if the interface is already opened. (drivers/net/ibmveth.c:597 ua:30000004) ERROR: h_free_logical_lan failed with fffffffffffffffc, continuing with close Unable to handle kernel paging request for data at address 0x00000ff8 Faulting instruction address: 0xd0000000002540e0 Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=128 NUMA PSERIES LPAR Modules linked in: ip6t_REJECT xt_tcpudp ipt_REJECT xt_state iptable_mangle ipta ble_nat ip_nat iptable_filter ip6table_mangle ip_conntrack nfnetlink ip_tables i p6table_filter ip6_tables x_tables ipv6 apparmor aamatch_pcre loop dm_mod ibmvet h sg ibmvscsic sd_mod scsi_mod NIP: D0000000002540E0 LR: D0000000002540D4 CTR: 80000000001AF404 REGS: c00000001cd27870 TRAP: 0300 Not tainted (2.6.16.46-0.4-ppc64) MSR: 8000000000009032 CR: 24242422 XER: 00000007 DAR: 0000000000000FF8, DSISR: 0000000040000000 TASK = c00000001ca7b4e0[1636] 'sh' THREAD: c00000001cd24000 CPU: 0 GPR00: D0000000002540D4 C00000001CD27AF0 D000000000265650 C00000001C936500 GPR04: 8000000000009032 FFFFFFFFFFFFFFFF 0000000000000007 000000000002C2EF GPR08: FFFFFFFFFFFFFFFF 0000000000000000 C000000000652A10 C000000000652AE0 GPR12: 0000000000004000 C0000000004A3300 00000000100A0000 0000000000000000 GPR16: 00000000100B8808 00000000100C0F60 0000000000000000 0000000010084878 GPR20: 0000000000000000 00000000100C0CB0 00000000100AF498 0000000000000002 GPR24: 00000000100BA488 C00000001C936760 D000000000258DD0 C00000001C936000 GPR28: 0000000000000000 C00000001C936500 D000000000265180 C00000001C936000 NIP [D0000000002540E0] .ibmveth_close+0xc8/0xf4 [ibmveth] LR [D0000000002540D4] .ibmveth_close+0xbc/0xf4 [ibmveth] Call Trace: [C00000001CD27AF0] [D0000000002540D4] .ibmveth_close+0xbc/0xf4 [ibmveth] (unreliable) [C00000001CD27B80] [D0000000002545FC] .veth_pool_store+0xd0/0x260 [ibmveth] [C00000001CD27C40] [C00000000012E0E8] .sysfs_write_file+0x118/0x198 [C00000001CD27CF0] [C0000000000CDAF0] .vfs_write+0x130/0x218 [C00000001CD27D90] [C0000000000CE52C] .sys_write+0x4c/0x8c [C00000001CD27E30] [C00000000000871C] syscall_exit+0x0/0x40 Instruction dump: 419affd8 2fa30000 419e0020 e93d0000 e89e8040 38a00255 e87e81b0 80c90018 48001531 e8410028 e93d00e0 7fa3eb78 f81d0430 4bfffdc9 38210090 Signed-off-by: Brian King Signed-off-by: Jeff Garzik commit b7e773b869f49bbd69e9dad76b34d3552627fac5 Author: G. Liakhovetski Date: Fri Jun 8 19:15:56 2007 -0700 [IrDA]: f-timer reloading when sending rejected frames. Jean II was right: you have to re-charge the final timer when resending rejected frames. Otherwise it triggers at a wrong time and can break the currently running communication. Reproducible under rt-preempt. Signed-off-by: G. Liakhovetski Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit c0cfe7faa12f189ef1024fce5a710791d0062355 Author: G. Liakhovetski Date: Fri Jun 8 19:15:17 2007 -0700 [IrDA]: Fix Rx/Tx path race. From: G. Liakhovetski We need to switch to NRM _before_ sending the final packet otherwise we might hit a race condition where we get the first packet from the peer while we're still in LAP_XMIT_P. Signed-off-by: Samuel Ortiz Signed-off-by: David S. Miller commit 217397d7d267f832081169016e1ab66691a13e08 Author: Robert P. J. Day Date: Fri Jun 8 13:47:07 2007 -0700 Protect from multiple inclusion Prevent from being included more than once, otherwise you get a redefinition error if you happen to include first. Signed-off-by: Robert P. J. Day Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00df344fd06fd6ac71d0665f1ce8cc6870e4f564 Author: Andy Whitcroft Date: Fri Jun 8 13:47:06 2007 -0700 update checkpatch.pl to version 0.04 This version brings a some new tests, and a host of changes to fix false positives, of particular note: - check for and report #if 0 - extend checking of line lengths and spacing for .pl, .sh etc - extends the pointer type checks to multiple levels - updates printk handling to track newlines - adds a wrapped patch detector - drops the leading component of the filenames - extends switch indent handling to switch statmentes rooted in the context - adds foo * bar single pointer checks This version of checkpatch.pl can be found at the following URL: http://www.shadowen.org/~apw/public/checkpatch/checkpatch.pl-0.04 Full Changelog: Andy Whitcroft (16): allow checking line lengths and spacing on other source files clean up that whitespace sanitise the input line standardising the content of quotes clean up pointer type * and space checks fix up the sanitiser so it maintains the line length apply the printk facility checks only to the first printk in a set switch/case indent checks may anchor in the context add a wrapped patch detector put the #ifdef in C file checks on ice asm volatile is acceptable check for and report #if 0 drop the leading component of the filename as patches are -p1 use the original line when reporting operator errors correct spelling of Joel's name Version: 0.04 add support for struct foo * bar checks Geert Uytterhoeven (1): Fix checkpatch.pl name in usage template Randy Dunlap (1): checkpatch: produce fewer lines of output Signed-off-by: Andy Whitcroft Cc: Randy Dunlap Cc: Joel Schopp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c7909234993973692414901055dfbebbca21e73f Author: Randy Dunlap Date: Fri Jun 8 13:47:04 2007 -0700 hexdump: more output formatting Add a prefix string parameter. Callers are responsible for any string length/alignment that they want to see in the output. I.e., callers should pad strings to achieve alignment if they want that. Add rowsize parameter. This is the number of raw data bytes to be printed per line. Must be 16 or 32. Add a groupsize parameter. This allows callers to dump values as 1-byte, 2-byte, 4-byte, or 8-byte numbers. Default is 1-byte numbers. If the total length is not an even multiple of groupsize, 1-byte numbers are printed. Add an "ascii" output parameter. This causes ASCII data output following the hex data output. Clean up some doc examples. Align the ASCII output on all lines that are produced by one call. Add a new interface, print_hex_dump_bytes(), that is a shortcut to print_hex_dump(), using default parameter values to print 16 bytes in byte-size chunks of hex + ASCII output, using printk level KERN_DEBUG. Signed-off-by: Randy Dunlap Cc: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit abb49202ff37bf2eca7296c62ad18c77f636ec8e Author: Alan Cox Date: Fri Jun 8 13:47:03 2007 -0700 MAINTAINERS: corrections The UFS entry was misformatted The NEC V850 links are all broken The Berkshire watchdog links are all broken Signed-off-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 389834b680c13f4727c14f70fa71c2c5678b6081 Author: Randy Dunlap Date: Fri Jun 8 13:47:03 2007 -0700 checkpatch: produce fewer lines of output Produce one less line of output per flagged incident. Change this: use tabs not spaces PATCH: /home/rddunlap/arcmsr1200014.patch4:756: FILE: b/drivers/scsi/arcmsr/arcmsr_hba.c:1843: + return PCI_ERS_RESULT_NEED_RESET;$ to this: use tabs not spaces #756: FILE: b/drivers/scsi/arcmsr/arcmsr_hba.c:1843: + return PCI_ERS_RESULT_NEED_RESET;$ Cc: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 76c4e5eafe93df0d03c9d1dc2e4e3efd344be34b Author: Jeff Mahoney Date: Fri Jun 8 13:47:02 2007 -0700 reiserfs: mailing list has moved This patch changes MAINTAINERS to reflect the new location of the reiserfs development mailing list. The old list forwards to the new one. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b39b70366c5be68affe9777de72846540d840464 Author: Andrew Morton Date: Fri Jun 8 13:47:01 2007 -0700 x86_64: oops_begin() fix We don't want to see this: > BUG: using smp_processor_id() in preemptible [00000001] code: bash/3857 > caller is oops_begin+0xb/0x6f > > Call Trace: > [] show_trace+0x34/0x4f > [] dump_stack+0x12/0x17 > [] debug_smp_processor_id+0xad/0xbc > [] oops_begin+0xb/0x6f > [] do_page_fault+0x66a/0x7c0 > [] error_exit+0x0/0x84 > coming out when the kernel is trying to oops. Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 12710a56cb56e81bd8f457cc2f50c2ebfc0cb390 Author: Bob Picco Date: Fri Jun 8 13:47:00 2007 -0700 fix sysrq-m oops We aren't sampling for holes in memory. Thus we encounter a section hole with empty section map pointer for SPARSEMEM and OOPs for show_mem. This issue has been seen in 2.6.21, current git and current mm. The patch below is for mainline and mm. It was boot tested for SPARSEMEM, current VMEMMAP of Andy's in mm ml and DISCONTIGMEM. A slightly different patch will be posted to stable for 2.6.21. Previous to commit f0a5a58aa812b31fd9f197c4ba48245942364eae memory_present was called for node_start_pfn to node_end_pfn. This would cover the hole(s) with reserved pages and valid sections. Most SPARSEMEM supported arches do a pfn_valid check in show_mem before computing the page structure address. This issue was brought to my attention on IRC by Arnaldo Carvalho de Melo. Thanks to Arnaldo for testing. Signed-off-by: Bob Picco Cc: Chuck Ebbert Cc: Andi Kleen Cc: Arnaldo Carvalho de Melo Acked-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 778e9a9c3e7193ea9f434f382947155ffb59c755 Author: Alexey Kuznetsov Date: Fri Jun 8 13:47:00 2007 -0700 pi-futex: fix exit races and locking problems 1. New entries can be added to tsk->pi_state_list after task completed exit_pi_state_list(). The result is memory leakage and deadlocks. 2. handle_mm_fault() is called under spinlock. The result is obvious. 3. results in self-inflicted deadlock inside glibc. Sometimes futex_lock_pi returns -ESRCH, when it is not expected and glibc enters to for(;;) sleep() to simulate deadlock. This problem is quite obvious and I think the patch is right. Though it looks like each "if" in futex_lock_pi() got some stupid special case "else if". :-) 4. sometimes futex_lock_pi() returns -EDEADLK, when nobody has the lock. The reason is also obvious (see comment in the patch), but correct fix is far beyond my comprehension. I guess someone already saw this, the chunk: if (rt_mutex_trylock(&q.pi_state->pi_mutex)) ret = 0; is obviously from the same opera. But it does not work, because the rtmutex is really taken at this point: wake_futex_pi() of previous owner reassigned it to us. My fix works. But it looks very stupid. I would think about removal of shift of ownership in wake_futex_pi() and making all the work in context of process taking lock. From: Thomas Gleixner Fix 1) Avoid the tasklist lock variant of the exit race fix by adding an additional state transition to the exit code. This fixes also the issue, when a task with recursive segfaults is not able to release the futexes. Fix 2) Cleanup the lookup_pi_state() failure path and solve the -ESRCH problem finally. Fix 3) Solve the fixup_pi_state_owner() problem which needs to do the fixup in the lock protected section by using the in_atomic userspace access functions. This removes also the ugly lock drop / unqueue inside of fixup_pi_state() Fix 4) Fix a stale lock in the error path of futex_wake_pi() Added some error checks for verification. The -EDEADLK problem is solved by the rtmutex fixups. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Steven Rostedt Cc: Ulrich Drepper Cc: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1a539a87280b3032fd12bc93a4a82f1d8aa97ca8 Author: Thomas Gleixner Date: Fri Jun 8 13:46:58 2007 -0700 rt-mutex: fix chain walk early wakeup bug Alexey Kuznetsov found some problems in the pi-futex code. One of the root causes is: When a wakeup happens, we do not to stop the chain walk so we follow a not longer relevant locking chain. Drop out when this happens. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Steven Rostedt Cc: Alexey Kuznetsov Cc: Ulrich Drepper Cc: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c0d1d2bf5a28f78def7b68ca1eb5ba31aafd43a1 Author: Thomas Gleixner Date: Fri Jun 8 13:46:57 2007 -0700 rt-mutex: fix stale return value Alexey Kuznetsov found some problems in the pi-futex code. The major problem is a stale return value in rt_mutex_slowlock(): When the pi chain walk returns -EDEADLK, but the waiter was woken up during the phases where the locks were dropped, the rtmutex could be acquired, but due to the stale return value -EDEADLK returned to the caller. Reset the return value in the retry path. Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Cc: Steven Rostedt Cc: Alexey Kuznetsov Cc: Ulrich Drepper Cc: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51b94d2a5a90d4800e74d7348bcde098a28f4fb3 Author: Tejun Heo Date: Fri Jun 8 13:46:55 2007 -0700 sata_promise: use TF interface for polling NODATA commands sata_promise uses two different command modes - packet and TF. Packet mode is intelligent low-overhead mode while TF is the same old taskfile interface. As with other advanced interface (ahci/sil24), ATA_TFLAG_POLLING has no effect in packet mode. However, PIO commands are issued using TF interface in polling mode, so pdc_interrupt() considers interrupts spurious if ATA_TFLAG_POLLING is set. This is broken for polling NODATA commands because command is issued using packet mode but the interrupt handler ignores it due to ATA_TFLAG_POLLING. Fix pdc_qc_issue_prot() such that ATA/ATAPI NODATA commands are issued using TF interface if ATA_TFLAG_POLLING is set. This patch fixes detection failure introduced by polling SETXFERMODE. Signed-off-by: Tejun Heo Acked-by: Mikael Pettersson Acked-by: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b4dc1fdb868089ab60c09531d476284b71373e3 Author: Randy Dunlap Date: Fri Jun 8 13:46:54 2007 -0700 isdn/diva: fix section mismatch __exit function is used by both init and exit routines, so it cannot be marked __init. (from allyesconfig) WARNING: drivers/built-in.o(.text+0x9b83cf): Section mismatch: reference to .exit.text: (between 'divasfunc_exit' and 'didd_callback') Signed-off-by: Randy Dunlap Cc: Karsten Keil Acked-by: Armin Schindler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e16f5350d4cf402cffd18898b07c3b72917db192 Author: Jeff Dike Date: Fri Jun 8 13:46:54 2007 -0700 uml: get declaration of simple_strtoul Include linux/kernel.h wherever simple_strtoul is used. This kills a compile warning in stderr_console.c and potential ones in the other files. This also fixes a bunch of style violations in exitcode.c. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49277b1c68f9bd22119a5174a68254ec1b39d8c2 Author: Jiri Slaby Date: Fri Jun 8 13:46:53 2007 -0700 Char: stallion, proper fail return values do not return 0 in one case and return proper values in other 2. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e415109f5a1ec9ca7dac4fad2b852113ce303c96 Author: Jiri Slaby Date: Fri Jun 8 13:46:52 2007 -0700 Char: stallion, alloc tty before pci devices init this causes oops, because pci probe function calls tty_register_device for each device found. Thanks to Ingo. Signed-off-by: Jiri Slaby Cc: "Ingo Korb" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 64834b226b237e654ab164d3af88ceaa65f10362 Author: Jiri Slaby Date: Fri Jun 8 13:46:52 2007 -0700 Char: stallion, don't fail with less than max panels Since it's not neccesary to have MAX_PANELS on the card, don't fail to let users use this card even in this case. Stop the testing for loop instead. Thanks to Ingo. Signed-off-by: Jiri Slaby Cc: "Ingo Korb" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 193faea9280a809cc30e81d7e503e01b1d7b7042 Author: Stephen Rothwell Date: Fri Jun 8 13:46:51 2007 -0700 Move three functions that are only needed for CONFIG_MEMORY_HOTPLUG into the appropriate #ifdef. Signed-off-by: Stephen Rothwell Cc: Yasunori Goto Cc: Andy Whitcroft Cc: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4249e08e92647b406422553bfb16276b2bf849aa Author: Ratnadeep Joshi Date: Fri Jun 8 13:46:50 2007 -0700 Documentation/atomic_ops.txt typo fix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e80ad9b651abb7229551339081d7e53097bf8ea7 Author: Jeff Dike Date: Fri Jun 8 13:46:49 2007 -0700 uml: fix kernel stack size on x86_64 Force KERNEL_STACK_ORDER to be at least 1 on UML/x86_64, to avoid overflows. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 272c1d21d6fe42979068e14c04fb60fb6045ad74 Author: Christoph Lameter Date: Fri Jun 8 13:46:49 2007 -0700 SLUB: return ZERO_SIZE_PTR for kmalloc(0) Instead of returning the smallest available object return ZERO_SIZE_PTR. A ZERO_SIZE_PTR can be legitimately used as an object pointer as long as it is not deferenced. The dereference of ZERO_SIZE_PTR causes a distinctive fault. kfree can handle a ZERO_SIZE_PTR in the same way as NULL. This enables functions to use zero sized object. e.g. n = number of objects. objects = kmalloc(n * sizeof(object)); for (i = 0; i < n; i++) objects[i].x = y; kfree(objects); Signed-off-by: Christoph Lameter Acked-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a17627ef8833ac30622a7b39b7be390e1b174405 Author: Yoann Padioleau Date: Fri Jun 8 13:46:48 2007 -0700 potential parse error in ifdef part 3 Fix various bits of obviously-busted code which we're not happening to compile, due to ifdefs. Signed-off-by: Yoann Padioleau Cc: Andi Kleen Cc: Paul Mackerras Acked-by: Paul Mundt Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cdc0ed0cea50ea08dd146c1bbc82b1bcc2e1b80 Author: Christoph Lameter Date: Fri Jun 8 13:46:46 2007 -0700 slab: fix alien cache handling cache_free_alien must be called regardless if we use alien caches or not. cache_free_alien() will do the right thing if there are no alien caches available. Signed-off-by: Christoph Lameter Cc: Paul Mundt Acked-by: Pekka J Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a210906c1b791af1434323f69427286039c9c8b9 Author: Hugh Dickins Date: Fri Jun 8 13:46:46 2007 -0700 mount -t tmpfs -o mpol=: check nodes online Randy Dunlap reports that a tmpfs, mounted with NUMA mpol= specifying an offline node, crashes as soon as data is allocated upon it. Now restrict it to online nodes, where before it restricted to MAX_NUMNODES. Signed-off-by: Hugh Dickins Cc: Robin Holt Cc: Christoph Lameter Cc: Andi Kleen Tested-and-acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9739ed1c8eafd554788d8e2ba09847b5718a34e7 Author: Andy Whitcroft Date: Fri Jun 8 13:46:45 2007 -0700 update feature-removal-schedule.txt to include deprecated functions Now that deprecated functions are detected out of Documentation/feature-removal-schedule.txt update this to include kernel_thread. Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0f44cd23a5a2e26191a28ab6e91bd0c7849c8e0f Author: Andrew Morton Date: Fri Jun 8 13:46:45 2007 -0700 document Acked-by: Explain what we use Acked-by: for, and how it differs from Signed-off-by: Acked-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a47653fc2643cf61bcabba8c9ff5c45517c089ba Author: Ken Chen Date: Fri Jun 8 13:46:44 2007 -0700 loop: preallocate eight loop devices The kernel on-demand loop device instantiation breaks several user space tools as the tools are not ready to cope with the "on-demand feature". Fix it by instantiate default 8 loop devices and also reinstate max_loop module parameter. Signed-off-by: Ken Chen Acked-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c287ef1ff9296ddf707af6f9d355e1c3ffc243dd Author: Greg Ungerer Date: Fri Jun 8 13:46:43 2007 -0700 nommu: report correct errno in message Report the correct errno for out of memory debug output in binfmt_flat.c Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4342f4ace2335d4fa9fe52b4cceca979413470b2 Author: Greg Ungerer Date: Fri Jun 8 13:46:39 2007 -0700 m68knommu: fix ColdFire timer off by 1 The coldfire timer runs from 0 to TRR included, then 0 again and so on. It counts thus actually TRR + 1 steps for 1 tick, not TRR. Fix that. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4a0df2ef4569ac57cb18cd97e34c0c4733e829d9 Author: Andy Whitcroft Date: Fri Jun 8 13:46:39 2007 -0700 update checkpatch.pl to version 0.03 This version brings a host of changes to cure false positives and bugs detected on patches submitted to lkml and -mm. It also brings a number of new tests in response to reviews, of particular note: - catch use of volatile - allow deprecated functions to be listed in feature-removal-schedule.txt - warn about #ifdef's in c files - check that spinlock_t and struct mutex use is commented - report on architecture specific defines being used - report memory barriers without an associated comment Full changelog: catch use of volatile convert other quoted string checks to common routine alloc deprecated functions to be listed in feature-removal-schedule.txt split out the line length and indent for each line improve switch block handling handle GNU diff context lines with no leading space warn about #ifdef's in c files tidy up tests for signed-off-by using raw mode check that spinlock_t and struct mutex use is commented syntax checks for open brace placement may drop off the bottom of hunk report memory barriers without an associated comment when a sign off is present but ugly do not report it missing do not mistake bitfield definitions for indented labels report on architecture specific defines being used major update to the operator checks prevent switch/if/while etc matching foo_switch generify assignement in condition error message introduce an operator context marker Version: 0.03 Signed-off-by: Andy Whitcroft Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6fd75b19483b2f6e6619602a535b4939e46921c1 Author: Alan Stern Date: Fri May 4 11:57:00 2007 -0400 OHCI: Fix machine check in ohci_hub_status_data This patch (as901) fixes an oversight in ohci-hcd. The hub_status_data routine must not try to access the controller's memory-mapped registers if the controller is in a low-power state; such attempts will cause a crash on some architectures (such as PPC). Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 615ae11b3b4af7a5adb0819ff11b3b764eb92268 Author: Alan Stern Date: Fri Jun 8 15:23:27 2007 -0400 USB: Fix up bogus bInterval values in endpoint descriptors This patch (as904) adds code to check for endpoint descriptor bInterval values outside the legal limits. Illegal values are set to 32 ms, which seems like a reasonable default. This fixes Bugzilla #8432. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit fd209e35b74110ee1f3371838b0782b5b02eaaba Author: Simon Arlott Date: Thu May 10 23:04:13 2007 -0700 USB: cxacru: ignore error trying to start ADSL in atm_start The sysfs adsl_status attribute ignores (aside from returning -EIO to the user) any error sending a START/STOP command to the device and there is at least one firmware which never sends a response but appears to work regardless. Therefore atm_start should also continue if an error is received so that such firmware is usable. The official Conexant driver doesn't expect a reply either but this is for another device (E2 router) and a commonly used firmware does respond. Also, there is no point in changing -ECONNRESET to -ETIMEDOUT since nothing ever checks for either of these values. Signed-off-by: Simon Arlott Cc: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit da1f82b5543738d4c127a449490bc0d55e121fe8 Author: Simon Arlott Date: Thu May 10 23:04:12 2007 -0700 USB: cxacru: create sysfs attributes in atm_start instead of bind Since usbatm doesn't set the usb_interface driver data until after calling bind and heavy_init, it would be NULL when the sysfs attributes are read. Reading the MAC address from atm_dev before atm_dev exists would have been be possible too. Calling create_device_file in atm_start will avoid this problem, and the data is useless until the first status poll runs. However, it must be ready before a status poll does a printk on line status change otherwise userspace could react before the files exist. For completeness I've moved remove_device_file to atm_stop so it's not called in unbind when it's not needed. There's no point starting ADSL if atm_start could still fail either. Signed-off-by: Simon Arlott Cc: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 64b85006f5d473fefc181dece9473710b55966e0 Author: Simon Arlott Date: Thu May 10 23:04:09 2007 -0700 USB: cxacru: add Documentation file The sysfs attributes for exposing cxacru statistics/status information with possible values is now explained in Documentation/networking/cxacru.txt including information on the writable adsl_state attribute's commands and a sample of the kernel log format. Signed-off-by: Simon Arlott Cc: Duncan Sands Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 67fa10627ec0d8aa16f1cf38cf527e67d8097d3c Author: Ben Collins Date: Sat May 26 03:06:32 2007 -0700 USB: UNUSUAL_DEV: Sync up some reported devices from Ubuntu UNUSUAL_DEV: Sync up some reported devices from Ubuntu Various unusual dev entries accumulated from Ubuntu bug reports. Signed-off-by: Ben Collins Cc: Alan Stern Signed-off-by: Phil Dibowitz commit 01ee7d7032204b383b2fba73021e7acbc776184b Author: David Brownell Date: Fri May 25 20:40:14 2007 -0700 USB: usb gadgets avoid le{16,32}_to_cpup() It turns out that le16_to_cpup() and le32_to_cpup() aren't always safe to call with pointers into packed structures, since those are inlined functions and GCC may lose the "packed" attribute. So those references can become unaligned kernel accesses, which are evil on some hardware. This patch updates uses of those routines in the gadget stack. The references into packed structures can just use leXX_to_cpu(*x), which in most cases is more natural. Some other uses in RNDIS, mostly in debug code, were wrong in the first place; those use get_unaligned(). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 97cb95d1c4b724bc3bedd16dd022fbd3c2d61283 Author: Pete Zaitcev Date: Thu May 24 21:59:19 2007 -0700 usblp: Don't let suspend to kill ->used Suspend destroys refcounting for open/release. Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman commit dda034bcb51a0a28318046d74d664e0fc5f7d1d4 Author: Kay Sievers Date: Sun May 27 17:04:58 2007 +0200 USB: set default y for CONFIG_USB_DEVICE_CLASS Signed-off-by: Kay Sievers Cc: bert hubert Signed-off-by: Greg Kroah-Hartman commit 50e5d35ce2c4190cead13a091ea1ceab47d29cc2 Author: Paul Moore Date: Thu Jun 7 18:38:14 2007 -0700 [CIPSO]: Fix several unaligned kernel accesses in the CIPSO engine. IPv4 options are not very well aligned within the packet and the format of a CIPSO option is even worse. The result is that the CIPSO engine in the kernel does a few unaligned accesses when parsing and validating incoming packets with CIPSO options attached which generate error messages on certain alignment sensitive platforms. This patch fixes this by marking these unaligned accesses with the get_unaliagned() macro. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit ba6ff9f2b5c6018b293bd21083ffaa5ad710e671 Author: Paul Moore Date: Thu Jun 7 18:37:15 2007 -0700 [NetLabel]: consolidate the struct socket/sock handling to just struct sock The current NetLabel code has some redundant APIs which allow both "struct socket" and "struct sock" types to be used; this may have made sense at some point but it is wasteful now. Remove the functions that operate on sockets and convert the callers. Not only does this make the code smaller and more consistent but it pushes the locking burden up to the caller which can be more intelligent about the locks. Also, perform the same conversion (socket to sock) on the SELinux/NetLabel glue code where it make sense. Signed-off-by: Paul Moore Acked-by: James Morris Signed-off-by: David S. Miller commit 6363097cc4d182f93788131b5d8f72aa91d950a0 Author: Herbert Xu Date: Thu Jun 7 18:35:38 2007 -0700 [IPV4]: Do not remove idev when addresses are cleared Now that we create idev before addresses are added, it no longer makes sense to remove them when addresses are all deleted. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 87d37a4f470834223fc8a243af002998bdb5b886 Author: Markus Rechberger Date: Mon Jun 4 18:45:44 2007 +0200 firmware: remove orphaned Email Manuel Estrada Sainz passed away on May 9th 2004, his email account got deactivated. He was in charge of the firmware_class code, and still got CC'ed in recent discussions about it. Signed-off-by: Markus Rechberger Signed-off-by: Greg Kroah-Hartman commit 5c73a3fba6dd2b410de378f648bc9851ffa7201a Author: Greg Kroah-Hartman Date: Thu Jun 7 15:05:15 2007 -0700 kobject: use the proper printk level for kobject error Thanks to Jean Delvare for pointing it out to me. Cc: Jean Delvare Signed-off-by: Greg Kroah-Hartman commit 475c5a1518477f0301fc50dc59e690032fad1fef Author: Stephen Hemminger Date: Tue May 8 13:41:49 2007 -0700 Driver core: kill unused code CC drivers/base/dd.o drivers/base/dd.c:211: warning: =E2=80=98device_probe_drivers=E2=80=99 defi= ned but not used Looks like the following is dead. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 2c7afd125cc482dbdf6b0a169c42337e7e76cda5 Author: Kay Sievers Date: Tue May 1 13:46:26 2007 +0200 Driver core: keep PHYSDEV for old struct class_device Class-devices created by "struct class_device" are going to be replaced by "struct device". Keep the deprecated PHYSDEV* variables for the already "deprecated" struct class_device" devices. Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit adfdebceaca988515ecdb557d600fd5ab9da913a Author: David Brownell Date: Thu May 10 22:36:14 2007 -0700 update Documentation/driver-model/platform.txt Make note of the legacy "probe-the-hardware" drivers, and some APIs that are mostly unused except by such drivers. We probably can't escape having legacy drivers for a while (e.g. old ISA drivers), but we can at least discourage this style code for new drivers, and unless it's unavoidable. Signed-off-by: David Brownell Cc: Andres Salomon Cc: Dmitry Torokhov Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 3ce53fc4c57603d99c330a6ee2fe96d94f2d350f Author: Steve French Date: Fri Jun 8 14:55:14 2007 +0000 [CIFS] CIFS should honour umask This patch makes CIFS honour a process' umask like other filesystems. Of course the server is still free to munge the permissions if it wants to; but the client will send the "right" permissions to begin with. A few caveats: 1) It only applies to filesystems that have CAP_UNIX (aka support unix extensions) 2) It applies the correct mode to the follow up CIFSSMBUnixSetPerms() after remote creation When mode to CIFS/NTFS ACL mapping is complete we can do the same thing for that case for servers which do not support the Unix Extensions. Signed-off-by: Matt Keenen Signed-off-by: Steve French commit c1183a3345f2e553fa0907a453cbb311c7e1698c Author: Peer Chen Date: Fri Jun 8 15:14:32 2007 +0200 ide: Add the MCP73/77 support to PATA driver Add the MCP73/MCP77 support to PATA driver. bart: Added amd74xx_chipsets[] and amd_pci_tbl[] entries. bart: Bumped driver version. Signed-off-by: Peer Chen Cc: Alan Cox , Cc: Andrew Morton Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 8da725dd94fda144802dc06b956c720eb77cfd75 Author: Peer Chen Date: Fri Jun 8 15:14:32 2007 +0200 Add the PATA controller device ID to pci_ids.h for MCP73/MCP77. Add the PATA controller device ID to pci_ids.h for MCP73/MCP77. Signed-off-by: Peer Chen Cc: Alan Cox , Cc: Andrew Morton Cc: Jeff Garzik Cc: Tejun Heo Signed-off-by: Bartlomiej Zolnierkiewicz commit 278978e953a35a2ddf27f197003b29da54e31908 Author: Sergei Shtylyov Date: Fri Jun 8 15:14:32 2007 +0200 hpt366: disallow Ultra133 for HPT374 Eliminate UltraATA/133 support for HPT374 -- the chip isn't capable of this mode according to the manual, and doesn't even seem to tolerate 66 MHz DPLL clock... Signed-off-by: Sergei Shtylyov Cc: Geller Sandor Signed-off-by: Bartlomiej Zolnierkiewicz commit ea30759643b423933ced48acdd78e5299f05295b Author: Jiri Slaby Date: Fri Jun 8 15:14:31 2007 +0200 ide: generic IDE PCI driver, add another device exception generic IDE PCI driver, add another device exception This device is char device and is grabbed by generic ide driver: 00:0b.0 Class ffff: National Semiconductor Corporation 87410 IDE (rev ff) (prog-if ff) Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Disallow generic IDE PCI driver to grab it by adding next condition. Also consolidate exceptions to one bigger 'switch (dev->vendor)'. Signed-off-by: Jiri Slaby Cc: Ingo Korb Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 0d2157f78d17fcee17791f54959e67cc0af0da74 Author: Lee Trager Date: Fri Jun 8 15:14:30 2007 +0200 ide: HPA detect from resume Currently when system which have HPA require HPA to be detected and disabled upon resume from RAM or disk. The current IDE drivers do not do this nor does libata (obviously it since it doesn't support HPA yet). I have implemented this into the current IDE drivers and it has been tested by many others since 7/15/2006 in bug number 6840: http://bugzilla.kernel.org/show_bug.cgi?id=6840 and it has been confirmed to work fine with no problems. bart: added drv != NULL check to generic_ide_suspend() From: Lee Trager Signed-off-by: Bartlomiej Zolnierkiewicz commit 0380dad45e4f5a606025cc4df2a2cd26af08796b Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 8 15:14:29 2007 +0200 it821x: RAID mode fixes The DMA support for RAID mode broke after: commit 71ef51cc1756d1c56b57c70e7cc27a3559c81ee6 Author: Jens Axboe Date:   Fri Jul 28 09:02:17 2006 +0200     [PATCH] it821x: fix ide dma setup bug     Only enable dma for a valid speed setting.     Signed-off-by: Jens Axboe commit 0a8348d08677ad77ee353f96eb8745c693a05a13 Author: Jens Axboe Date:   Fri Jul 28 08:58:26 2006 +0200     [PATCH] ide: if the id fields looks screwy, disable DMA     It's the safer choice. Originally due to a bug in itx821x, but a     generally sound thing to do.     Signed-off-by: Jens Axboe However it worked by pure luck before Jens' fixes: bogus ide_dma_enable() usage in it821x driver combined with loosy check in ide_dma_verbose() allowed the hardware to operate in DMA mode. When these problems were fixed the DMA support broke... The source root for the regression turned out to be that the it821x.c code was clearing too much of id->field_valid. The IDE core code was using the original value of id->field_valid to do the tuning but later DMA got disabled in ide_dma_verbose() because of the incorrect id->field_valid fixup. Fix it. While at it: * Do fixup() after probing the drives but before tuning them (which is also OK w.r.t. ide_undecoded_slave() fixup). This change fixes device IDENTIFY data to be consistent before/after the tuning and allows us to remove extra re-tuning of drives from it821x_fixups(). * Fake MWDMA0 enabled/supported bits in IDENTIFY data if the device has DMA capable bit set (this is just to tell the IDE core that DMA is supported since it821x firmware takes care of DMA mode programming). * Don't touch timing registers and don't program transfer modes on devices et all when in RAID mode - depend solely on firmware to do the tuning (as suggested by Alan Cox and done in libata pata_it821x driver). Thanks for testing the patch goes out to Thomas Kuther. Cc: Thomas Kuther Cc: Alan Cox Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 1abb8a8b841354e7a09ba2009376f0a6368b5cec Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 8 15:14:28 2007 +0200 serverworks: fix CSB6 tuning logic Problem noticed by Joe Zbiciak, see http://kerneltrap.org/node/8252 for details. On CSB6 the driver is using BIOS settings and not programming DMA/PIO timings itself. However the logic was completely broken and resulted in wrong timings being silently allowed (instead of being corrected by the driver). This bug would explain some data corruption/timeout issues with Serverworks MegaIDE in RAID mode that Alan Cox has fixed recently with: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2074a106f52b6371885afbd714e929d60d0e3f64 For 2.6.23 we may be better off with completely switching the driver to always programming timings (libata pata_serverworks.c driver is doing things this way and there were no problems reported so far) but for 2.6.22 lets fix the bug in the simplest and the least intrusive way. Cc: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit ed84fad5002c00dfb318f797dbf591320eebc1c0 Author: Bartlomiej Zolnierkiewicz Date: Fri Jun 8 15:14:27 2007 +0200 serverworks: remove crappy code Remove crappy code noticed by Linus, see http://lkml.org/lkml/2007/5/23/476 for details. While at it simplify logic a bit. There should be no functionality changes caused by this patch. Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit c43850981b5203e13747f8a696a762eb412d9394 Author: Hans Verkuil Date: Thu Jun 7 09:04:03 2007 -0300 V4L/DVB (5751): Ivtv: fix ia64 printk format warnings. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 72fb39ea58e7e2af93895fd12642b3fff2f76462 Author: Mauro Carvalho Chehab Date: Thu Jun 7 09:42:20 2007 -0300 V4L/DVB (5761): Fix broken b2c2 dependency on non x86 architectures This patch moves flexcop-dma (currently used only by flexcop-pci) to b2c2-flexcop-pci module, that is dependent on CONFIG_PCI, fixing the bug as reported by Geert Uytterhoeven : drivers/media/dvb/b2c2/flexcop-dma.c uses the PCI DMA API, but DVB_B2C2_FLEXCOP doesn't depend on PCI, causing the following problem on PCI-less systems: | linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent' | linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent' Apparently this is the flexcop DMA core, which is used by both DVB_B2C2_FLEXCOP_PCI and DVB_B2C2_FLEXCOP_USB. Signed-off-by: Mauro Carvalho Chehab commit f2100d82b858815848b661d57d7e166341c02e20 Author: Hans Verkuil Date: Thu May 17 08:08:45 2007 -0300 V4L/DVB (5673): Fix audio stuttering for saa711x/ivtv when in radio mode. Signed-off-by: Jose Alberto Reguero Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit b6cfe6af6bfb101212b217cba55012d1d35ab3a8 Author: Hans Verkuil Date: Mon Jun 4 04:55:36 2007 -0300 V4L/DVB (5736): Add V4L2_FBUF_CAP/FLAG_LOCAL/GLOBAL_INV_ALPHA Michael Schimek requested the addition of inverted alpha framebuffer caps/flags to support such hardware. 'Normal' alpha uses this formula to mix the framebuffer and video: output = fb pixel * fb alpha + video pixel * (1 - fb alpha) and the 'inverted' alpha uses this formula: output = fb pixel * (1 - fb alpha) + video pixel * fb alpha Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 987e00ba5cf667beed2b88bd1d01150334cdb6dc Author: Hans Verkuil Date: Tue May 29 13:03:27 2007 -0300 V4L/DVB (5732): Add ivtv CROPCAP support and fix ivtv S_CROP for video output. The VIDIOC_CROPCAP ioctl was missing in ivtv. The handling of output video cropping was wrong. This has now been fixed. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1f137600cacf9a2908529c7d544de82672226a98 Author: Hans Verkuil Date: Tue May 29 08:18:37 2007 -0300 V4L/DVB (5730): Remove unused V4L2_CAP_VIDEO_OUTPUT_POS V4L2_CAP_VIDEO_OUTPUT_POS was initially introduced for 2.6.22 but never actually used: remove it before the final 2.6.22 is made. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit fe818d1d9a50930aa7e1ce7169fb42e1e0c45882 Author: Thierry Merle Date: Sun May 27 17:21:17 2007 -0300 V4L/DVB (5720): Usbvision: fix urb allocation and submits - fixed the urb allocation part that was not taking into account the current alternate setting this fixes usb_submit_urb returning -90 errno in isocIrq. - fixed usb_submit_urb returning -1 errno in isocIrq (need to ignore usb urb with status==-ENOENT) Acked-by: Dwaine P. Garden Signed-off-by: Thierry Merle Signed-off-by: Mauro Carvalho Chehab commit c6604150ab04aaaf98baf1ddca2e9e4f7d3da4d3 Author: Oliver Endriss Date: Mon May 28 18:06:27 2007 -0300 V4L/DVB (5716): Tda10086,tda826x: fix tuning, STR/SNR values Several people reported unreliable reception with the current driver. Furthermore, STR and SNR values seem to be inverted. This fix is based on a patch posted by Hartmut Hackman. Thanks to Helmut Auer for testing and helping to optimize the patch. tda826x: - set baseband cut-off to 19 MHz tda10086: - change the parameters of the carrier recovery loop - toggle register 0x02 between 0x35 (tuning) and 0x00 (locked) - invert STR and SNR values Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit dc02d50a6d71cba2b2edb78377af5a5965879a49 Author: Hans Verkuil Date: Sat May 19 14:07:16 2007 -0300 V4L/DVB (5675): Move big PIO accesses from the interrupt handler to a workhandler Sliced VBI transfers use PIO instead of DMA. This was done inside the interrupt handler, but since PIO accesses are very slow this meant that a lot of time was spent inside the interrupt handler. All PIO copies are now moved to a workqueue. This should fix various issues with missing time ticks and remote key hits. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit ffeb9ec72e18e16d0b0835d959cdf01650758638 Author: Andrew Morton Date: Sat May 26 07:54:21 2007 -0300 V4L/DVB (5699): Cinergyt2: fix file release handler If this mutex_lock_interruptible() does fail due to signal_pending() then the state of the driver will get trashed in interesting ways, because userspace cannot and will not retry the close(). Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 624fc7f52b48f69fd9d1fe7a594c211762c89825 Author: Russell King Date: Sat May 26 07:55:32 2007 -0300 V4L/DVB (5700): Saa7111: fix picture settings cache bug If the SAA7111 device is powered down, and requires re-initialisation when the V4L device is opened (as on the NetWinder), the SAA7111 driver gets completely confused about the current settings. The problem is centred around the way the driver keeps _two_ cached copies of the current settings - one of the struct video_picture settings, and one of the registers. When the decoder is re-initailised, the cached register settings are overwritten, as are the values in the hardware registers. However, the cached video_picture settings are not. Resolve this by removing the useless and buggy second level of caching for video_picture. Instead, provide a function which updates register values if and only if the value we are going to write to the register has changed. Signed-off-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Mauro Carvalho Chehab commit 05f85839a2ffcaa75d505526ca8e74097be18d8c Author: Mauro Carvalho Chehab Date: Sat May 26 10:45:28 2007 -0300 V4L/DVB (5702): Fix Kconfig items to avoid linkedition errors The recent changes on Kconfig broke compilation when VIDEO_DEV is compiled as module. On some cases, drivers like VIDEO_BUF are compiled with 'y' option instead of 'm': ... Thanks to: Toralf Forster for pointing this issue. Signed-off-by: Mauro Carvalho Chehab commit 620a324b744a7d66c3c45a83042f8e7fc9fc5a04 Author: Jens Axboe Date: Thu Jun 7 09:39:42 2007 +0200 splice: __generic_file_splice_read: fix read/truncate race Original patch and description from Neil Brown , merged and adapted to splice branch by me. Neils text follows: __generic_file_splice_read() currently samples the i_size at the start and doesn't do so again unless it needs to call ->readpage to load a page. After ->readpage it has to re-sample i_size as a truncate may have caused that page to be filled with zeros, and the read() call should not see these. However there are other activities that might cause ->readpage to be called on a page between the time that __generic_file_splice_read() samples i_size and when it finds that it has an uptodate page. These include at least read-ahead and possibly another thread performing a read So we must sample i_size *after* it has an uptodate page. Thus the current sampling at the start and after a read can be replaced with a sampling before page addition into spd. Signed-off-by: Jens Axboe commit 475ecade683566b19ebb84972de864039ac5fce3 Author: Hugh Dickins Date: Thu Jun 7 09:36:00 2007 +0200 splice: __generic_file_splice_read: fix i_size_read() length checks __generic_file_splice_read's partial page check, at eof after readpage, not only got its calculations wrong, but also reused the loff variable: causing data corruption when splicing from a non-0 offset in the file's last page (revealed by ext2 -b 1024 testing on a loop of a tmpfs file). Signed-off-by: Hugh Dickins Signed-off-by: Jens Axboe commit 20d698db67059a63d217030dfd02872cb5f88dfb Author: Jens Axboe Date: Tue Jun 5 11:05:11 2007 +0200 splice: move balance_dirty_pages_ratelimited() outside of splice actor I've seen inode related deadlocks, so move this call outside of the actor itself, which may hold the inode lock. Signed-off-by: Jens Axboe commit 17374ff1aa9ce2a0597416a16729474b538af443 Author: Jens Axboe Date: Mon Jun 4 15:03:12 2007 +0200 pipe: move pipe_inode_info structure decleration up before it's used There's really no reason it's below the first use of the pointer type, and it'll fail compilation for the network addition (for good reason). So move it up a bit. Signed-off-by: Jens Axboe commit 267adc3e66c3d3c2edb89dac9eddc20ac94d646b Author: Jens Axboe Date: Fri Jun 8 08:33:41 2007 +0200 splice: remove do_splice_direct() symbol export It's only supposed to be used by do_sendfile(), which is never modular. So kill the export. Signed-off-by: Jens Axboe commit d366d39885b4a56eb90c7670deb46d82501579ad Author: Jens Axboe Date: Fri Jun 1 14:54:11 2007 +0200 splice: move inode size check into generic_file_splice_read() Signed-off-by: Jens Axboe commit a4cd7ed86ff511aebcc97675937039f2321d6987 Author: Roland Dreier Date: Thu Jun 7 23:24:39 2007 -0700 IB/mlx4: Make sure RQ allocation is always valid QPs attached to an SRQ must never have their own RQ, and QPs not attached to SRQs must have an RQ with at least 1 entry. Enforce all of this in set_rq_size(). Based on a patch by Eli Cohen . Signed-off-by: Roland Dreier commit bf2944bd56c7a48cc3962a860dbc4ceee6b1ace8 Author: Sean Hefty Date: Tue Jun 5 09:57:31 2007 -0700 RDMA/cma: Fix initialization of next_port next_port should be between sysctl_local_port_range[0] and [1]. However, it is initially set to a random value with get_random_bytes(). If the value is negative when treated as a signed integer, next_port can end up outside the expected range because of the result of the % operator being negative. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 57f01b53398baebd809e7efd49fc10c10174b46d Author: Jack Morgenstein Date: Wed Jun 6 19:35:04 2007 +0300 IB/mlx4: Fix zeroing of rnr_retry value in ib_modify_qp() The code in __mlx4_ib_modify_qp() overwrites context->params1 after the RNR retry parameter is ORed in, which results in the RNR retry parameter always being set to 0. Fix this by moving where we OR in the value to later in the function, after the initial assignment of context->params1. Found by the Mellanox firmware group. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit b2d9308ae43a9cfa56cc9682dc6ed63347a8d2bf Author: Jack Morgenstein Date: Thu Jun 7 23:24:38 2007 -0700 mlx4_core: Don't set MTT address in dMPT entries with PA set If a dMPT entry has the PA flag (direct physical address) set, then the (unused) MTT base address field has to be set to 0. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit fe40900f408642e772739088d30636e2f3f7d0d8 Author: Roland Dreier Date: Thu Jun 7 23:24:36 2007 -0700 mlx4_core: Check firmware command interface revision HCA firmware with incompatible changes to the FW commmand interface is coming soon. Add a check of the interface revision during initialization and bail out if the firmware advertises a revision that the driver doesn't know about. This will avoid strange failures later if the driver goes on using the wrong interface revision. Signed-off-by: Roland Dreier commit 8c2786cfa6d15c474ec7030e8161c88e9b5c597d Author: David S. Miller Date: Thu Jun 7 21:59:44 2007 -0700 [SPARC64]: Handle PCI bridges without 'ranges' property. This fixes the IDE controller not showing up on Netra-T1 systems. Just like Simba bridges, some PCI bridges can lack the 'ranges' OBP property. So we handle this similarly to the existing Simba code: 1) In of_device register address resolving, we push the translation to the parent. 2) In PCI device scanning, we interrogate the PCI config space registers of the PCI bus device in order to resolve the resources, just like the generic Linux PCI probing code does. With much help and testing from Fabio, who also reported the initial problem. Signed-off-by: David S. Miller Signed-off-by: Fabio Massimo Di Nitto commit ea1ff19ce0146a3982a6ded4274122e6d0a91bed Author: Robert P. J. Day Date: Thu Jun 7 20:24:50 2007 -0700 [SPARC64]: Include instead of . To be consistent with other architectures, include the generic version of rwsem.h. Signed-off-by: Robert P. J. Day Signed-off-by: David S. Miller commit 85f6038f2170e3335dda09c3dfb0f83110e87019 Author: Bryan Wu Date: Tue Jun 5 11:02:01 2007 +0800 RAMFS NOMMU: missed POSIX UID/GID inode attribute checking This bug was caught by LTP testcase fchmod06 on Blackfin platform. In the manpage of fchmod, "EPERM: The effective UID does not match the owner of the file, and the process is not privileged (Linux: it does not have the CAP_FOWNER capability)." But the ramfs nommu code missed the inode_change_ok POSIX UID/GID verification. This patch fixed this. Signed-off-by: Bryan Wu Cc: David Howells Signed-off-by: Linus Torvalds commit e5e3c84b70e58fc605635fd340fb8dba3cc59058 Author: Steven Rostedt Date: Wed Jun 6 23:34:04 2007 -0400 enable interrupts in user path of page fault. This is a minor fix, but what is currently there is essentially wrong. In do_page_fault, if the faulting address from user code happens to be in kernel address space (int *p = (int*)-1; p = 0xbed;) then the do_page_fault handler will jump over the local_irq_enable with the goto bad_area_nosemaphore; But the first line there sees this is user code and goes through the process of sending a signal to send SIGSEGV to the user task. This whole time interrupts are disabled and the task can not be preempted by a higher priority task. This patch always enables interrupts in the user path of the bad_area_nosemaphore. Signed-off-by: Steven Rostedt Signed-off-by: Linus Torvalds commit 2c750edd39a45402e355459194fe8804366bedd2 Author: Peter Zijlstra Date: Wed Jun 6 11:39:40 2007 +0200 frv: build fix In file included from /usr/src/linux-2.6-2/net/ipv4/ip_input.c:118: include2/asm/system.h:245: error: parse error before "__cmpxchg_32" include2/asm/system.h:245: error: parse error before '*' token include2/asm/system.h:245: warning: type defaults to `int' in declaration of `__cmpxchg_32' include2/asm/system.h:245: warning: function declaration isn't a prototype include2/asm/system.h:245: warning: data definition has no type or storage class Signed-off-by: Peter Zijlstra Acked-by: David Howells Signed-off-by: Linus Torvalds commit ec4d18f219e71ef682fe2d7b9a6d121617fef6d5 Author: David S. Miller Date: Thu Jun 7 16:58:22 2007 -0700 [SPARC64]: Fix SBUS IRQ regression caused by PCI-E driver. We used to access the 64-bit IRQ IMAP and ICLR registers of bus controllers 4-bytes in and as a 32-bit register word, since only the low 32-bits were relevant. This seemed like a good idea at the time. But the PCI-E controller requires full 8-byte 64-bit access to these registers, so we switched over to accessing them fully. SBUS was not adjusted properly, which broke interrupts completely. Signed-off-by: David S. Miller commit 321566c2504445160b18e1508a73081579923a6b Author: David S. Miller Date: Wed Jun 6 14:03:08 2007 -0700 [SPARC64]: Fix 2 bugs in PCI Sabre bus scanning. If we are on hummingbird, bus runs at 66MHZ. pbm->pci_bus should be setup with the result of pci_scan_one_pbm() or else we deref NULL pointers in the error interrupt handlers. Signed-off-by: David S. Miller commit 4aa2e62c45b5ca08be2d0d3c0744d7585b56e860 Author: Joy Latten Date: Mon Jun 4 19:05:57 2007 -0400 xfrm: Add security check before flushing SAD/SPD Currently we check for permission before deleting entries from SAD and SPD, (see security_xfrm_policy_delete() security_xfrm_state_delete()) However we are not checking for authorization when flushing the SPD and the SAD completely. It was perhaps missed in the original security hooks patch. This patch adds a security check when flushing entries from the SAD and SPD. It runs the entire database and checks each entry for a denial. If the process attempting the flush is unable to remove all of the entries a denial is logged the the flush function returns an error without removing anything. This is particularly useful when a process may need to create or delete its own xfrm entries used for things like labeled networking but that same process should not be able to delete other entries or flush the entire database. Signed-off-by: Joy Latten Signed-off-by: Eric Paris Signed-off-by: James Morris commit b00b4bf94edb42852d55619af453588b2de2dc5e Author: Patrick McHardy Date: Tue Jun 5 16:06:59 2007 -0700 [NET_SCHED]: Fix filter double free cbq and atm destroy their filters twice when destroying inner classes during qdisc destruction. Reported-and-tested-by: Strobl Anton Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 7c355f532dd43036622e1880c114773463bafd23 Author: Thomas Graf Date: Tue Jun 5 16:03:03 2007 -0700 [NET]: Avoid duplicate netlink notification when changing link state When changing the link state from userspace not affecting any other flags. Two duplicate notification are being sent, once as action in the NETDEV_UP/NETDEV_DOWN notification chain and a second time when comparing old and new device flags after the change has been completed. Although harmless, the duplicates should be avoided. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller commit df2bc459a3ad71f8b44c358bf7169acf9caf4acd Author: David S. Miller Date: Tue Jun 5 15:18:43 2007 -0700 [UDP]: Revert 2-pass hashing changes. This reverts changesets: 6aaf47fa48d3c44280810b1b470261d340e4ed87 b7b5f487ab39bc10ed0694af35651a03d9cb97ff de34ed91c4ffa4727964a832c46e624dd1495cf5 fc038410b4b1643766f8033f4940bcdb1dace633 There are still some correctness issues recently discovered which do not have a known fix that doesn't involve doing a full hash table scan on port bind. So revert for now. Signed-off-by: David S. Miller commit 3c0d2f3780fc94746c4842e965bd2570e2119bb6 Author: Miklos Szeredi Date: Tue Jun 5 13:10:29 2007 -0700 [AF_UNIX]: Fix stream recvmsg() race. A recv() on an AF_UNIX, SOCK_STREAM socket can race with a send()+close() on the peer, causing recv() to return zero, even though the sent data should be received. This happens if the send() and the close() is performed between skb_dequeue() and checking sk->sk_shutdown in unix_stream_recvmsg(): process A skb_dequeue() returns NULL, there's no data in the socket queue process B new data is inserted onto the queue by unix_stream_sendmsg() process B sk->sk_shutdown is set to SHUTDOWN_MASK by unix_release_sock() process A sk->sk_shutdown is checked, unix_release_sock() returns zero I'm surprised nobody noticed this, it's not hard to trigger. Maybe it's just (un)luck with the timing. It's possible to work around this bug in userspace, by retrying the recv() once in case of a zero return value. Signed-off-by: Miklos Szeredi Signed-off-by: David S. Miller commit c764c9ade6d9b710bad2b9c631ede9864333b98c Author: Akinobu Mita Date: Tue Jun 5 12:56:53 2007 -0700 [NETFILTER]: nf_conntrack_amanda: fix textsearch_prepare() error check The return value from textsearch_prepare() needs to be checked by IS_ERR(). Because it returns error code as a pointer. Cc: "Brian J. Murrell" Signed-off-by: Akinobu Mita Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4c1b52bc7a2f5ee01ea3fc248a8748a1c6843f7c Author: Dmitry Mishin Date: Tue Jun 5 12:56:09 2007 -0700 [NETFILTER]: ip_tables: fix compat related crash check_compat_entry_size_and_hooks iterates over the matches and calls compat_check_calc_match, which loads the match and calculates the compat offsets, but unlike the non-compat version, doesn't call ->checkentry yet. On error however it calls cleanup_matches, which in turn calls ->destroy, which can result in crashes if the destroy function (validly) expects to only get called after the checkentry function. Add a compat_release_match function that only drops the module reference on error and rename compat_check_calc_match to compat_find_calc_match to reflect the fact that it doesn't call the checkentry function. Reported by Jan Engelhardt Signed-off-by: Dmitry Mishin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3c158f7f57601bc27eab82f0dc4fd3fad314d845 Author: Patrick McHarrdy Date: Tue Jun 5 12:55:27 2007 -0700 [NETFILTER]: nf_conntrack: fix helper module unload races When a helper module is unloaded all conntracks refering to it have their helper pointer NULLed out, leading to lots of races. In most places this can be fixed by proper use of RCU (they do already check for != NULL, but in a racy way), additionally nf_conntrack_expect_related needs to bail out when no helper is present. Also remove two paranoid BUG_ONs in nf_conntrack_proto_gre that are racy and not worth fixing. Signed-off-by: Patrick McHarrdy Signed-off-by: David S. Miller commit 51055be81c3cb14d0165a7432b787098b817fd35 Author: Patrick McHardy Date: Tue Jun 5 12:40:01 2007 -0700 [RTNETLINK]: ifindex 0 does not exist ifindex == 0 does not exist and implies we should do a lookup by name if one was given. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ef7c79ed645f52bcbdd88f8d54a9702c4d3fd15d Author: Patrick McHardy Date: Tue Jun 5 12:38:30 2007 -0700 [NETLINK]: Mark netlink policies const Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 14a49e1fd2bb91ba2bf0e1f06711b6dbc21de02d Author: David S. Miller Date: Tue Jun 5 00:19:24 2007 -0700 [TCP] tcp_probe: Attach printf attribute properly to printl(). GCC doesn't like the way Stephen initially did it: net/ipv4/tcp_probe.c:83: warning: empty declaration Signed-off-by: David S. Miller commit 274707cff9810b784c548ed169298617a1bc3528 Author: Eric Dumazet Date: Tue Jun 5 00:16:12 2007 -0700 [TCP]: Use LIMIT_NETDEBUG in tcp_retransmit_timer(). LIMIT_NETDEBUG allows the admin to disable some warning messages (echo 0 >/proc/sys/net/core/warnings). The "TCP: Treason uncloaked!" message can use this facility. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit c4b1010f406d7c3f819c22a6323c46776d5b148c Author: Denis Cheng Date: Tue Jun 5 00:06:57 2007 -0700 [NET]: Merge dst_discard_in and dst_discard_out. Signed-off-by: Denis Cheng Signed-off-by: David S. Miller commit c36befb52350fa76bf3cb03d13ba2e17dbe8a508 Author: Ivo van Doorn Date: Tue Jun 5 00:04:46 2007 -0700 [RFKILL]: Make rfkill->name const The rfkill name can be made const safely, this makes the compiler happy when drivers make it point to some const string used elsewhere. Signed-off-by: Ivo van Doorn Signed-off-by: David S. Miller commit 71e27da9618b5f4d525ec821def83991da20429f Author: Herbert Xu Date: Mon Jun 4 23:36:06 2007 -0700 [IPV4]: Restore old behaviour of default config values Previously inet devices were only constructed when addresses are added (or rarely in ipmr). Therefore the default config values they get are the ones at the time of these operations. Now that we're creating inet devices earlier, this changes the behaviour of default config values in an incompatible way (see bug #8519). This patch creates a compromise by setting the default values at the same point as before but only for those that have not been explicitly set by the user since the inet device's creation. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 31be308541e990592a2d0a3e77e8e51bd0cea0e0 Author: Herbert Xu Date: Mon Jun 4 23:35:37 2007 -0700 [IPV4]: Add default config support after inetdev_init Previously once inetdev_init has been called on a device any changes made to ipv4_devconf_dflt would have no effect on that device's configuration. This creates a problem since we have moved the point where inetdev_init is called from when an address is added to where the device is registered. This patch is the first half of a set that tries to mimic the old behaviour while still calling inetdev_init. It propagates any changes to ipv4_devconf_dflt to those devices that have not had the corresponding attribute set. The next patch will forcibly set all values at the point where inetdev_init was previously called. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 42f811b8bcdf6695bf74de580b1daf53445e8949 Author: Herbert Xu Date: Mon Jun 4 23:34:44 2007 -0700 [IPV4]: Convert IPv4 devconf to an array This patch converts the ipv4_devconf config members (everything except sysctl) to an array. This allows easier manipulation which will be needed later on to provide better management of default config values. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 8d76527e728d00d1cf9d5dd663caffb2dcf05ae6 Author: Herbert Xu Date: Mon Jun 4 23:34:08 2007 -0700 [IPV4]: Only panic if inetdev_init fails for loopback When I made the inetdev_init call work on all devices I incorrectly left in the panic call as well. It is obviously undesirable to panic on an allocation failure for a normal network device. This patch moves the panic call under the loopback if clause. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f0e48dbfc5c74e967fea4c0fd0c5ad07557ae0c8 Author: Patrick McHardy Date: Mon Jun 4 21:32:46 2007 -0700 [TCP]: Honour sk_bound_dev_if in tcp_v4_send_ack A time_wait socket inherits sk_bound_dev_if from the original socket, but it is not used when sending ACK packets using ip_send_reply. Fix by passing the oif to ip_send_reply in struct ip_reply_arg and use it for output routing. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit b91b9fd11210a7023f37eaee1e977ad9ce532095 Author: Michael Chan Date: Mon Jun 4 21:24:42 2007 -0700 [BNX2]: Update version and reldate. Update to version 1.5.11. Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 02537b0676930b1bd9aff2139e0e645c79986931 Author: Michael Chan Date: Mon Jun 4 21:24:07 2007 -0700 [BNX2]: Fix occasional counter corruption on 5708. The statistics block DMA on 5708 can be messed up occasionally on the average of about once per hour. If the user is reading the counters within one second after the corruption, the counters will be all messed up. One second later, the counters will be ok again until the next corruption occurs. The workaround is to disable the periodic statistics DMA. Instead, we manually trigger the DMA once a second in bnx2_timer(). This manual trigger of the DMA avoids the problem. As a consequence, we can only allow 0 or 1 second settings for ethtool -C statistics block. Thanks to Jean-Daniel Pauget and CaT for reporting this rare problem. Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 0aa38df7cd5b6c5b89f5146f4a2286434bc4a8f3 Author: Michael Chan Date: Mon Jun 4 21:23:06 2007 -0700 [BNX2]: Enable DMA on 5709. Add missing code to enable DMA on 5709 A1. The bit is a no-op on A0 and therefore can be set on all 5709 chips. Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 641bdcd56c8bb2110a31da846b2752b11a644050 Author: Michael Chan Date: Mon Jun 4 21:22:24 2007 -0700 [BNX2]: Add missing wait in bnx2_init_5709_context(). For correctness, we need to wait for the MEM_INIT bit to be cleared in the BNX2_CTX_COMMAND register before proceeding. [Added return -EBUSY when the MEM_INIT bit doesn't clear, suggested by Jeff Garzik.] Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 7947b20ebae785ba25154aa1a9a00a98a22de75a Author: Michael Chan Date: Mon Jun 4 21:17:10 2007 -0700 [BNX2]: Fix netdev watchdog on 5708. There's a bug in the driver that only initializes half of the context memory on the 5708. Surprisingly, this works most of the time except for some occasional netdev watchdogs when sending a lot of 64-byte packets. The fix is to add the missing code to initialize the 2nd halves of all context memory. Signed-off-by: Michael Chan Acked-by: Jeff Garzik Signed-off-by: David S. Miller commit 3e1db334dca97df9034ebeec4657329a2b37a811 Author: Roland Dreier Date: Sun Jun 3 19:47:10 2007 -0700 IB/mthca, mlx4_core: Fix typo in comment s/signifant/significant/ Signed-off-by: Roland Dreier commit 2c5cb2355843f9958e19a4b243456be92f97c73b Author: Roland Dreier Date: Sat Jun 2 07:16:02 2007 -0700 mlx4_core: Free catastrophic error MSI-X interrupt with correct dev_id We need to pass the same dev_id to free_irq() and request_irq(). When using MSI-X, the MLX4_EQ_CATAS interrupt uses a different dev_id from the other interrupts. Signed-off-by: Roland Dreier commit b581401ed0cc83a4483ed39c00a14a60bacecc3a Author: Roland Dreier Date: Thu Jun 7 11:51:58 2007 -0700 mlx4_core: Initialize ctx_list and ctx_lock earlier We may call mlx4_dispatch_event() before mlx4_register_device() is called for a device, because for example a catastrophic error happens immediately after we enable interrupts. Therefore priv->ctx_list and priv->ctx_lock need to be initialized earlier. This bug was actually exposed by the MSI-X bug that returned IRQ numbers to drivers in reverse order, so that the first FW command interrupt looked to mlx4 like a catastrophic error. Signed-off-by: Roland Dreier commit 09360d5408cb641abff0f32a172a3332f02e8e88 Author: Eli Cohen Date: Wed May 30 13:14:31 2007 +0300 mlx4_core: Fix CQ context layout The reserved6 field should be 64 bits, not just 16 bits. Without this, the structure does not match the hardware layout on 32-bit architectures: the db_rec_addr field ends up at offset 52 instead of offset 56. The bug slipped by because the alignment of __be64 members ends up putting it in the right place on x86-64. Signed-off-by: Eli Cohen Signed-off-by: Roland Dreier commit b74d0deb968e1f85942f17080eace015ce3c332c Author: Roland McGrath Date: Wed Jun 6 03:59:00 2007 -0700 Restrict clearing TIF_SIGPENDING This patch should get a few birds. It prevents sigaction calls from clearing TIF_SIGPENDING in other threads, which could leak -ERESTART*. And It fixes ptrace_stop not to clear it, which done at the syscall exit stop could leak -ERESTART*. It probably removes the harm from signalfd, at least assuming it never calls dequeue_signal on kernel threads that might have used block_all_signals. Signed-off-by: Roland McGrath Cc: Andrew Morton Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Satoru Takeuchi Signed-off-by: Linus Torvalds commit 8381e04b90ce9e7669a2d20aa7aaff3be910e447 Author: Andy Whitcroft Date: Thu Jun 7 16:16:40 2007 +0100 checkpatch.pl: should be executable scripts/checkpatch.pl should be executable, make it so. Signed-off-by: Andy Whitcroft Acked-by: Andrew Morton Acked-by: Joel Schopp Signed-off-by: Linus Torvalds commit f40e524eaec9697d1515564fd5b961d839d2dc4f Author: Paul Mackerras Date: Thu Jun 7 22:21:31 2007 +1000 [POWERPC] Fix building of COFF zImages The COFF zImage (for booting oldworld powermacs) wasn't being built correctly because the procedure descriptor in crt0.S for the zImage entry point wasn't declared as .globl, and therefore wasn't getting pulled in from wrapper.a by the linker. This adds the necessary .globl statement. Signed-off-by: Paul Mackerras commit 3373c0ae6a51085b10a95fd9d2214a9995ef7563 Author: Pierre Ossman Date: Thu May 31 22:25:11 2007 +0200 mmc: don't call switch on old cards Make sure we don't call the switch function on cards too old to support it. They should just ignore it, but some have been reported to lock up instead. Signed-off-by: Pierre Ossman commit 71651297a448289353b2493c6c3c183f9be7be7c Author: Pierre Ossman Date: Wed Jun 6 20:23:25 2007 +0200 mmc: fix broken if clause Fix a broken if clause which was causing SD cards to go into 4-bit mode even if the host did not support it. (Reported by David Brownell and Marc Pignat) Signed-off-by: Pierre Ossman commit 60da8de671cc314c75118768052d04ea92eaed4d Author: Robert P. J. Day Date: Wed Jun 6 20:19:34 2007 +0200 au1xmmc: Replace C code with call to ARRAY_SIZE() macro. Signed-off-by: Robert P. J. Day Signed-off-by: Pierre Ossman commit b6cedb38613d41367839df9d2181df3c81fb25c4 Author: Marc Pignat Date: Wed Jun 6 20:27:59 2007 +0200 mmc-atmel: remove linux/mmc/protocol.h dependencies Fix compilation error by removing command decoding from at91_mci.c driver. Decoding commands in the host driver is the wrong way. Signed-off-by: Marc Pignat Signed-off-by: Pierre Ossman commit 87873c86802ba7ff9d9550d06459a6e99d72c5eb Author: Sebastian Siewior Date: Wed Jun 6 14:03:58 2007 +1000 [POWERPC] spufs: Fix error handling in spufs_fill_dir() The error path in spufs_fill_dir() is broken. If d_alloc_name() or spufs_new_file() fails, spufs_prune_dir() is getting called. At this time dir->inode is not set and a NULL pointer is dereferenced by mutex_lock(). This bugfix replaces spufs_prune_dir() with a shorter version that does not touch dir->inode but simply removes all children. Signed-off-by: Sebastian Siewior Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 5e1e9ba690a2e2135a8f997242f9c46d2b8ac033 Author: Stuart Yoder Date: Wed Jun 6 04:29:14 2007 +1000 [POWERPC] Add table of contents to booting-without-of.txt Add table of contents. Signed-off-by: Stuart Yoder Signed-off-by: Paul Mackerras commit e5c0b9ec538a86433ddd725f675e0a5a2117b9ed Author: Christoph Hellwig Date: Tue Jun 5 11:25:59 2007 +1000 [POWERPC] spufs: Don't yield nosched context Nosched context sould never be scheduled out, thus we must not deactivate them in spu_yield ever. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit d30ac1242bf842fe28501a78a460a43910ef2dba Author: Stuart Yoder Date: Tue Jun 5 07:16:15 2007 +1000 [POWERPC] Fix typo in booting-without-of-txt section numbering Fix typo in section numbering. Signed-off-by: Stuart Yoder Acked-by: David Gibson Signed-off-by: Paul Mackerras commit 6dcbf164dcf4042bcbe9f56d94f65acd10b0e1f6 Author: Christoph Hellwig Date: Tue Jun 5 04:14:41 2007 +1000 [POWERPC] scc_sio: Fix link failure scc_sio.o should only be built if the txx9 serial driver is actually built into the kernel. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann -- Signed-off-by: Paul Mackerras commit 1552cb923efcd0f5499104256010d2ace437581d Author: Thomas Renninger Date: Tue Jun 5 04:14:40 2007 +1000 [POWERPC] cbe_cpufreq: Limit frequency via cpufreq notifier chain ... and get rid of cpufreq_set_policy call that caused a build failure due interfering commits. Signed-off-by: Thomas Renninger Signed-off-by: Christian Krafft Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit e7c40012b84f670ba57fe4a3f453ddecc8813e9b Author: Arnd Bergmann Date: Tue Jun 5 04:14:39 2007 +1000 [POWERPC] Fix pci_setup_phb_io_dynamic for pci_iomap We had a problem on a system with only dynamically allocated PCI buses (using of_pci_phb_driver) in combination with libata. This setup ended up having no "primary" phb, which means that pci_io_base never got initialized and all IO port numbers are 64 bit numbers, which is larger than the PIO_MASK limit. Signed-off-by: Arnd Bergmann Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit bb5db29aa0379f0f3ef857a3a3715f17261c611b Author: Christoph Hellwig Date: Mon Jun 4 23:26:51 2007 +1000 [POWERPC] spufs scheduler: Fix wakeup races Fix the race between checking for contexts on the runqueue and actually waking them in spu_deactive and spu_yield. The guts of spu_reschedule are split into a new helper called grab_runnable_context which shows if there is a runnable thread below a specified priority and if yes removes if from the runqueue and uses it. This function is used by the new __spu_deactivate hepler shared by preemption and spu_yield to grab a new context before deactivating a specified priority and if yes removes if from the runqueue and uses it. This function is used by the new __spu_deactivate hepler shared by preemption and spu_yield to grab a new context before deactivating the old one. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 47d3a5faa3f72186f769ed9579c630afb8433f2b Author: Christoph Hellwig Date: Mon Jun 4 23:26:51 2007 +1000 [POWERPC] spufs: Synchronize pte invalidation vs ps close Make sure the mapping_lock also protects access to the various address_space pointers used for tearing down the ptes on a spu context switch. Because unmap_mapping_range can sleep we need to turn mapping_lock from a spinlock into a sleeping mutex. Signed-off-by: Christoph Hellwig Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 89df00855beabfa700f9a9ed52f0983bdc4b021d Author: Sebastian Siewior Date: Mon Jun 4 23:26:51 2007 +1000 [POWERPC] spufs: Free mm if spufs_fill_dir() failed In case spufs_fill_dir() fails only put_spu_context() gets called for cleanup and the acquired mm_struct never gets freed. Signed-off-by: Sebastian Siewior Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 877907d37da9694a34adc9dc3e2ce09400148cb5 Author: Jeremy Kerr Date: Mon Jun 4 23:26:51 2007 +1000 [POWERPC] spufs: Fix gang destroy leaks Previously, closing a SPE gang that still has contexts would trigger a WARN_ON, and leak the allocated gang. This change fixes the problem by using the gang's reference counts to destroy the gang instead. The gangs will persist until their last reference (be it context or open file handle) is gone. Also, avoid using statements with side-effects in a WARN_ON(). Signed-off-by: Jeremy Kerr Signed-off-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit ce92987baba60bc082b9eedddfaf4ae3f8435dac Author: Christoph Hellwig Date: Mon Jun 4 23:26:51 2007 +1000 [POWERPC] spufs: Hook up spufs_release_mem Currently spufs_mem_release and the mem file doesn't have any release method hooked up, leading to leaks everytime is used. Signed-off-by: Christoph Hellwig Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 8f18a158192ef6dc63a572bdbbdf5613cfbbe2e4 Author: Arnd Bergmann Date: Mon Jun 4 23:26:51 2007 +1000 [POWERPC] spufs: Refuse to load the module when not running on cell As noticed by David Woodhouse, it's currently possible to mount spufs on any machine, which means that it actually will get mounted by fedora. This refuses to load the module on platforms that have no support for SPUs. Cc: David Woodhouse Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr Signed-off-by: Paul Mackerras commit 6291ed3c04d5c83c26e77d4fa47e06d0416be81d Author: Olof Johansson Date: Mon Jun 4 10:49:05 2007 +1000 [POWERPC] pasemi: Fix iommu + 64K PAGE_SIZE bug The powerpc iommu code was refactored by Linas back in the 2.6.20 time frame to map 4K pages from the generic code, but I had forgotten to go back and fix my platform driver before submitting it. Signed-off-by: Olof Johansson Signed-off-by: Paul Mackerras commit eeb47d1234af1a9267836f680a8e114b2e88d0dc Author: Mark Fasheh Date: Wed Jun 6 16:15:24 2007 -0700 ocfs2: Fix invalid assertion during write on 64k pages The write path code intends to bug if a math error (or unhandled case) results in a write outside of the current cluster boundaries. The actual BUG_ON() statements however are incorrect, leading to a crash on kernels with 64k page size. Fix those by checking against the right variables. Also, move the assertions higher up within the functions so that they trip *before* the code starts to mark buffers. Signed-off-by: Mark Fasheh commit 59be7dc97bacc0fd8e22f0be6e2aebb5c9b4ff47 Author: Tiger Yang Date: Mon Jun 4 10:31:08 2007 +0800 ocfs2: Fix masklog breakage Some of the sysfs changes inadvertantly broke the simple runtime debug log filtering employed in ocfs2. Fix this by properly exporting the masklog category filter names. Signed-off-by: Tiger Yang Signed-off-by: Mark Fasheh commit 874808c6dd429f7431b906a32c7f78a68e7636af Author: Wang Zhenyu Date: Wed Jun 6 11:16:25 2007 +0800 [AGPGART] intel_agp: Add support for G33, Q33 and Q35 chipsets This patch adds pci ids for G33, Q33 and Q35 chips, and update with new GTT size and stolen mem size detect method on these chips. Signed-off-by: Wang Zhenyu Signed-off-by: Dave Jones commit df80b148869291621ddf51eb8716658d5bfba811 Author: Wang Zhenyu Date: Thu May 31 11:51:12 2007 +0800 [AGPGART] intel_agp: add support for 945GME Add pci id info for 945GME. Signed-off-by: Wang Zhenyu Signed-off-by: Dave Jones commit c8eebfd6807f37b9a8a7ce3a64b60429788dfb54 Author: Wang Zhenyu Date: Thu May 31 11:34:06 2007 +0800 [AGPGART] intel_agp: add support for 965GME/GLE Add pci id info for 965GME/GLE support. Signed-off-by: Wang Zhenyu Signed-off-by: Dave Jones commit 9614ece14f23f2ce54a076c471aec9c91e51e79c Author: Wang Zhenyu Date: Wed May 30 09:45:58 2007 +0800 [AGPGART] intel_agp: use table for device probe Fixed issues noted by Christoph Hellwig, and I changed device table scan a bit to allow the case that some models of graphics chips may have same host bridge type. This type of chip will be added in the future. This patch cleans up device probe function. Eric Anholt was the original author. Signed-off-by: Eric Anholt Signed-off-by: Wang Zhenyu Signed-off-by: Dave Jones commit c4ca881796b7e14120851ddf6e04845ef94a314a Author: Wang Zhenyu Date: Wed May 30 09:40:46 2007 +0800 [AGPGART] intel_agp: cleanup intel private data Remove volatile type declare for IO mem variables. A single private gart data is used by all drivers, this makes it clean. Eric Anholt wrote the original patch. Signed-off-by: Wang Zhenyu Signed-off-by: Dave Jones commit 6ba07e590d1f841a5d0539978399b852a015ab53 Author: Atsushi Nemoto Date: Mon May 21 23:45:38 2007 +0900 [MIPS] Fix warning by moving do_default_vi into CONFIG_CPU_MIPSR2_SRS This fixes the warning: arch/mips/kernel/traps.c:931: warning: 'do_default_vi' defined but not used Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 490dcc4d309141b622107ad5ad82674a01e089bc Author: Robert P. J. Day Date: Sun May 20 12:11:07 2007 -0400 [MIPS] Fix some minor typoes in arch/mips/Kconfig. Signed-off-by: Robert P. J. Day Signed-off-by: Ralf Baechle commit cc8f0b827fdd616a3358fc939a2811bc0d6c3f79 Author: Ralf Baechle Date: Sun May 20 22:29:01 2007 +0200 [MIPS] Remove prototype for deleted function qemu_handle_int Signed-off-by: Ralf Baechle commit 8676d2e0244cbef294c7d9ad6e50048f9dfba9e0 Author: Atsushi Nemoto Date: Fri May 18 00:46:13 2007 +0900 [MIPS] Fix some system calls with long long arguments * O32 fadvise64() pass long long arguments by register pairs. Add sys32 version for 64 bit kernel. * N32 readahead() can pass a long long argument by one register. No need to use sys32_readahead. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit fbd5604d56c4543457aeae6dda69c9b8a1405474 Author: Thomas Bogendoerfer Date: Fri May 18 14:32:36 2007 +0200 [MIPS] Make dma_map_sg handle sg elements which are longer than one page Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 1fe5f2c4503cf45806a47c608706fc7892649d4b Author: Atsushi Nemoto Date: Fri May 18 00:53:47 2007 +0900 [MIPS] Drop __ARCH_WANT_SYS_FADVISE64 sys_fadvise64() is not used on MIPS. The libc can implement both posix_fadvise() and posix_fadvise64() using sys_fadvise64_64(). Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 22df5bc591ea2d0dbe8240fe8af0816b8a6533b9 Author: Thomas Bogendoerfer Date: Thu May 17 14:53:12 2007 +0200 [MIPS] Fix VGA corruption on RM300C ... by setting DRAM config to 2MB (SNI always used that size). This also fixes video dram size detection in cirrusfb. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 0c2bf745f9bdef7243ef5f04e6b05f592abead06 Author: Thomas Bogendoerfer Date: Thu May 17 14:51:47 2007 +0200 [MIPS] RM300: Fix MMIO problems by marking the PCI INT ACK region busy Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit d73d420708f456a63d7db2c504c62cd713381d7d Author: Sergei Shtylyov Date: Wed May 16 20:35:13 2007 +0400 [MIPS] EMMA2RH: remove dead KGDB code Get rid of the cross-arch KGDB specific code which shouldn't have been there in the first place... Signed-off-by: Sergey Shtylyov Signed-off-by: Ralf Baechle commit f9509c84d8d9451ecd1731e922e7094b38ee336a Author: Chris Dearman Date: Thu May 17 21:36:55 2007 +0100 [MIPS] Remove duplicate fpu enable hazard code. Use common code from hazards.h instead. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle commit 79894c7b47f78decaa3511f1d6646aa06e2c6bed Author: Ralf Baechle Date: Wed May 16 17:54:08 2007 +0200 [MIPS] Atlas, Malta, SEAD: Remove scroll from interrupt handler. Aside of being handy for debugging this has never been a particularly good idea but is now getting in the way of dyntick / tickless kernels and general cleanups. Signed-off-by: Ralf Baechle commit 100c1ddc98e070c1b595d6bad329fb57bc57313c Author: Yehuda Sadeh Weinraub Date: Tue Jun 5 21:31:16 2007 +0000 [CIFS] Missing flag on negprot needed for some servers to force packet signing A related signature issue that I came across. There's a bug in win2k that when NT error codes are not negotiated, the server doesn't response that signatures are mandatory. Since there's (currently) no way turn on signatures in such case, I had to force NT error codes, so that this bug will not occur Signed-off-by: Yehuda Sadeh Weinraub Signed-off-by: Steve French commit 221601c3d1df8148525daf3143a7a22fba772566 Author: Steve French Date: Tue Jun 5 20:35:06 2007 +0000 [CIFS] whitespace cleanup part 2 Various coding style problems found by running the new checkpatch.pl script against fs/cifs. 3 more files fixed up. Signed-off-by: Steve French commit e7e8cc5ae63c39dbbbb5f14c5120bdf2d931fac9 Author: Antonino Daplas Date: Tue Jun 5 13:15:26 2007 -0700 [VIDEO] sunxvr500fb: Fix pseudo_palette array size - the pseudo_palette is only 16 elements long. - the pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: David S. Miller commit f2c138638687a7ffbf0d2a0e7addfec7bab9a765 Author: Antonino Daplas Date: Tue Jun 5 13:15:01 2007 -0700 [VIDEO] sunxvr2500fb: Fix pseudo_palette array size - the pseudo_palette is only 16 elements long. - the pseudo_palette has only 16 elements. Do not write if regno (the array index) is more than 15. Signed-off-by: Antonino Daplas Signed-off-by: David S. Miller commit c0f85a82484c25d23b44a87a35daddb2b276b4aa Author: Russell King Date: Tue Jun 5 21:14:40 2007 +0100 [ARM] pxa: fix pxa27x keyboard driver CKEN macro definitions no longer contains the bit number; remove it from usages in the pxa27x keyboard driver. Signed-off-by: Russell King commit d2fa9e05e3876198d8ab31624fe84512a0a44b45 Author: Antonino Daplas Date: Tue Jun 5 13:14:33 2007 -0700 [VIDEO] ffb: The pseudo_palette is only 16 elements long The pseudo_palette is only 16 elements long. Signed-off-by: Antonino Daplas Signed-off-by: David S. Miller commit db002b8597df84643e949cce793d0f696f100c9e Author: Russell King Date: Tue Jun 5 19:39:49 2007 +0100 [ARM] Fix 4417/1: Serial: Fix AMBA drivers locking 2389b272168ceec056ca1d8a870a97fa9c26e11a contains a merge bug; fix it. Signed-off-by: Russell King commit 5fdae1f681426d23eadcb99566030781ba8c65c9 Author: Steve French Date: Tue Jun 5 18:30:44 2007 +0000 [CIFS] whitespace cleanup Various coding style problems found by running fs/cifs against the new checkpatch.pl script. Since there were too many to fit in one patch. Updated the first four files. Signed-off-by: Steve French commit 29982e9acd3e81a289c73321401427d02eaa8adc Author: Doug Chapman Date: Mon May 7 15:59:46 2007 -0400 [SCSI] fusion: fix for BZ 8426 - massive slowdown on SCSI CD/DVD drive Patch for: http://bugzilla.kernel.org/show_bug.cgi?id=8426 A recent code cleanup that moved code from mptscsih to mptspi inadvertently change the order some code was called. This caused a massive slowdown (of 150x to 300x) on the CD/DVD drive on the high-end HP Integrity servers. Signed-off-by: Doug Chapman Acked-by: Eric Moore Signed-off-by: James Bottomley commit 353076fee81318d056c7a853b1bf6ad1f81d050d Author: Sam Ravnborg Date: Mon Jun 4 23:52:45 2007 -0700 [VIDEO]: Fix section mismatch warning in promcon. Fix the following warnings in promcon: WARNING: o-sparc64/drivers/video/console/built-in.o(.text+0x480): Section mismatch: reference to .init.data:promfont_unitable (between 'promcon_init_unimap' and 'promcon_init') WARNING: o-sparc64/drivers/video/console/built-in.o(.text+0x488): Section mismatch: reference to .init.data:promfont_unitable (between 'promcon_init_unimap' and 'promcon_init') WARNING: o-sparc64/drivers/video/console/built-in.o(.text+0x48c): Section mismatch: reference to .init.data:promfont_unicount (between 'promcon_init_unimap' and 'promcon_init') WARNING: o-sparc64/drivers/video/console/built-in.o(.text+0x490): Section mismatch: reference to .init.data:promfont_unicount (between 'promcon_init_unimap' and 'promcon_init') The warnings happens because the function: promcon_init_unimap() references promfont_unitable and promfont_unicount which are marked __initdata by the conmakehash command in the drivers/video/console/Makefile Fix the warning by removing the __initdata marker on the two variables. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 65d8bac3df9516adb17ce9df94a955d3c2c85a51 Author: David S. Miller Date: Mon Jun 4 23:33:04 2007 -0700 [ATA]: Back out bogus (SPARC64 && !PCI) Kconfig depends. Signed-off-by: David S. Miller commit f04dbac2623439e8e15abf55742769af0280c919 Author: David S. Miller Date: Mon Jun 4 23:32:23 2007 -0700 [SPARC64]: Fill in gaps in non-PCI dma_*() NOP implementation. Signed-off-by: David S. Miller commit a2f9f6bbb30e60ee9f9f83cede960123a65876a2 Author: David S. Miller Date: Mon Jun 4 21:48:33 2007 -0700 [SPARC64]: Fix {mc,smt}_capable(). It's not just sun4v hypervisor platforms that should return true for this, sun4u with UltraSPARC-IV should return true too. Signed-off-by: David S. Miller commit 5cd342df96e911fb8135fb3d58f33c2c5af9ffab Author: David S. Miller Date: Mon Jun 4 21:35:18 2007 -0700 [SPARC64]: Make core and sibling groups equal on UltraSPARC-IV. Signed-off-by: David S. Miller commit f78eae2e6f5d1eb05f76a45486286445b916bd92 Author: David S. Miller Date: Mon Jun 4 17:01:39 2007 -0700 [SPARC64]: Proper multi-core scheduling support. The scheduling domain hierarchy is: all cpus --> cpus that share an instruction cache --> cpus that share an integer execution unit Signed-off-by: David S. Miller commit d887ab3a9b1899f88b8cfba531e726b5fb2ebd14 Author: David Miller Date: Sun Jun 3 23:38:09 2007 -0700 [SPARC64]: Provide mmu statistics via sysfs. If the system supports hypervisor based statistics, allow them to be fetched, enabled, and disabled via sysfs. Enable and disable via the boolean: /sys/devices/systems/cpu/cpuN/mmustat_enable Statistic values are provided under: /sys/devices/systems/cpu/cpuN/mmu_status/ Signed-off-by: David S. Miller commit 48b67356400dd7866c035024aeaa2f804de7cead Author: David Miller Date: Sun Jun 3 19:07:32 2007 -0700 [SPARC64]: Fix service channel hypervisor function names. sed 's/scv/svc/' Signed-off-by: David S. Miller commit d1f253e60aefe4d3a3e708b3c2a082f3ec1be6f4 Author: David S. Miller Date: Sat Jun 2 20:46:36 2007 -0700 [SPARC64]: Export basic cpu properties via sysfs. Cache sizes, udelay_val, and clock_tick. Signed-off-by: David S. Miller commit eff3414b7277c4792debfa227f5408238d925f16 Author: David S. Miller Date: Sat Jun 2 14:41:44 2007 -0700 [SPARC64]: Move topology init code into new file, sysfs.c Also, use per-cpu data for struct cpu. Calling kmalloc for each cpu in topology_init() is just plain clumsy. Signed-off-by: David S. Miller commit 5ecd3100e695228ac5e0ce0e325e252c0f11806f Author: Linus Torvalds Date: Mon Jun 4 17:57:25 2007 -0700 Linux 2.6.22-rc4 commit 464cf177df7727efcc5506322fc5d0c8b896f545 Author: Tejun Heo Date: Sun May 27 15:10:40 2007 +0200 libata: always use polling SETXFER Several people have reported LITE-ON LTR-48246S detection failed because SETXFER fails. It seems the device raises IRQ too early after SETXFER. This is controller independent. The same problem has been reported for different controllers. So, now we have pata_via where the controller raises IRQ before it's ready after SETXFER and a device which does similar thing. This patch makes libata always execute SETXFER via polling. As this only happens during EH, performance impact is nil. Setting ATA_TFLAG_POLLING is also moved from issue hot path to ata_dev_set_xfermode() - the only place where SETXFER can be issued. Note that ATA_TFLAG_POLLING applies only to drivers which implement SFF TF interface and use libata HSM. More advanced controllers ignore the flag. This doesn't matter for this fix as SFF TF controllers are the problematic ones. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 78ae87c3cd723c8a8dcd67d4e4cbc6d63671c108 Author: Andrew Morton Date: Sun Jun 3 13:50:41 2007 -0700 vanishing ioctl handler debugging We've had several reoprts of the CPU jumping to 0x00000000 is do_ioctl(). I assume that there's a race and someone is zeroing out the ioctl handler while this CPU waits for the lock_kernel(). The patch adds code to detect this, then emits stuff which will hopefuly lead us to the culprit. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c738480d21a190e3d99c7ce985ab9484f373a3c Author: Andrew Morton Date: Sun Jun 3 13:50:40 2007 -0700 mtrr atomicity fix Rafael gets this on an SMP box with kernel preemption enabled, during hibernation and restore (100% of the time): Enabling non-boot CPUs ... BUG: using smp_processor_id() in preemptible [00000001] code: bash/4514 caller is mtrr_save_state+0x9/0x40 Cc: "Rafael J. Wysocki" Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e44a45ae7b7f7c7a4ebd6aa39b703bf2b97fe848 Author: David Brownell Date: Sun Jun 3 13:50:40 2007 -0700 SPI dynamic busid generation bugfix Fix SPI dynamic bus ID assignment to start at 2^15-1 rather than a negative number. Valid bus ids are supposed to be positive, and are (now) stored in an 's16' value. Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e6985c7f6842fa040d058640e363140ad1730dc5 Author: Akinobu Mita Date: Mon Jun 4 16:14:59 2007 +0000 [CIFS] fix mempool destroy done in wrong order in cifs error path Slab cache used as memory pool can not be destroyed before the memory pool destruction. Because the memory pool still holds some objects and kmem_cache_destroy() says "Can't free all objects". Signed-off-by: Akinobu Mita Signed-off-by: Steve French commit 3a2430708fb8f31c084503cb47240483ec2c2662 Author: David S. Miller Date: Sun Jun 3 17:56:04 2007 -0700 [SCSI] JAZZ ESP and SUN ESP need SPI_ATTRS Reported by Meelis Roos. Signed-off-by: David S. Miller Signed-off-by: James Bottomley commit 8ce7955aa52c37db1425ea4bd4edcfa67e253454 Author: Michael Schmitz Date: Sun Jun 3 12:55:04 2007 +0200 [SCSI] atari_NCR5380: update_timeout removal Atari SCSI driver fixes: remove update_timeout kludge Signed-off-by: Michael Schmitz Signed-off-by: Geert Uytterhoeven Acked-by: Christoph Hellwig Signed-off-by: James Bottomley commit c3d4ed4e3e5aa8d9e6b4b795f004a7028ce780e9 Author: Kyle McMartin Date: Mon Jun 4 02:26:52 2007 -0400 [PARISC] Fix kernel panic in check_ivt check_ivt had some seriously broken code wrt function pointers on parisc64. Instead of referencing the hpmc code via a function pointer, export symbols and reference it as a const array. Thanks to jda for pointing out the broken 64-bit func ptr handling. Signed-off-by: Kyle McMartin commit 1dfa2812404c37d7571622195f907cea3331616c Author: Dmitry Torokhov Date: Sun Jun 3 23:29:36 2007 -0400 Input: reduce raciness when input handlers disconnect There is a race between input handler's release() and disconnect() methods: when input handler disconnects it wakes up all regular users and then process to walk user list to wake up async. users. While disconnect() walks the list release() removes elements of the same list causing oopses. While this is not a substibute for proper locking we can reduce odds of getting an oops if we wake up normal readers after walking the list. Signed-off-by: Dmitry Torokhov commit 26be5a509af5f80c7012bd4f0478a94746c9c9d9 Author: Dmitry Torokhov Date: Fri May 11 01:16:12 2007 -0400 Input: ucb1x00 - do not access input_dev->private directly Use input_get_drvdata() and input_set_drvdata() helpers to do that. Signed-off-by: Dmitry Torokhov Acked-by: Pavel Machek commit 9a412847fbe396563acf2a78d5830c9c6c5a5d43 Author: Paul Mundt Date: Mon Jun 4 11:07:23 2007 +0900 sh: Fix se73180 platform device registration. Copy and paste error from se7343, fix it up. Signed-off-by: Paul Mundt commit 0fd14754141e3604529579232d34fcffd89c24b9 Author: Paul Mundt Date: Mon Jun 4 10:58:23 2007 +0900 sh: ioremap() through PMB needs asm/mmu.h. Signed-off-by: Paul Mundt commit 63dfc3c77b6a99cc618e0a11b7532a56e2699320 Author: Paul Mundt Date: Mon Jun 4 10:53:00 2007 +0900 sh: voyagergx: Fix build warnings. pr_debug() was using a %x on an unsigned long, which was making the build a bit noisy. Signed-off-by: Paul Mundt commit 907c9d70042e38efc6a981d425a3d8d98b089cba Author: Paul Mundt Date: Mon Jun 4 10:51:59 2007 +0900 sh: Fix SH4-202 clock fwk set_rate() mismatch. With the SH7722 changes, ->set_rate() also takes an algo_id, SH4-202 was overlooked when this change went in. Signed-off-by: Paul Mundt commit 8b19a7ce566007a8c45f9ba9d2b4a31bba20d62d Author: Paul Mundt Date: Mon Jun 4 10:50:42 2007 +0900 sh: microdev: Fix compile warnings. irq.c needs linux/interrupt.h. Signed-off-by: Paul Mundt commit c596b1a38085a041464b9b2c0c200e81ff695634 Author: Paul Mundt Date: Mon Jun 4 10:39:50 2007 +0900 sh: Fix in_nmi symbol build error. If CONFIG_KGDB_NMI is disabled, we're left with a stray in_nmi reference that can't be resolved. Move the symbol under the ifdef, too. Signed-off-by: Paul Mundt commit 899b69d079713d0f568fb2700b86987aa94f29b2 Author: David S. Miller Date: Sun Jun 3 17:39:56 2007 -0700 [ATA]: Don't allow to enable this for SPARC64 without PCI. Based upon a report from Meelis Roos. Signed-off-by: David S. Miller commit e11a6c236b3070ed05b079f91a9b3defa48b54d3 Author: David S. Miller Date: Sun Jun 3 17:35:24 2007 -0700 [VIDEO]: XVR500 and XVR2500 require FB=y Signed-off-by: David S. Miller commit 6e1d91039becc9d5bcd046d8c709dbaf471220e3 Author: Patrick McHardy Date: Fri Jun 1 11:45:04 2007 -0700 [ICMP]: Fix icmp_errors_use_inbound_ifaddr sysctl Currently when icmp_errors_use_inbound_ifaddr is set and an ICMP error is sent after the packet passed through ip_output(), an address from the outgoing interface is chosen as ICMP source address since skb->dev doesn't point to the incoming interface anymore. Fix this by doing an interface lookup on rt->dst.iif and using that device. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 584bdf8cbdf6f277c2a00e083257ee75687cf6f4 Author: Wei Dong Date: Thu May 31 22:49:28 2007 -0700 [IPV4]: Fix "ipOutNoRoutes" counter error for TCP and UDP Signed-off-by: Wei Dong Signed-off-by: David S. Miller commit 4fcd6b991685493185c2bb8a76b21aadb658bd76 Author: Herbert Xu Date: Thu May 31 22:15:50 2007 -0700 [NET] gso: Fix GSO feature mask in sk_setup_caps This isn't a bug just yet as only TCP uses sk_setup_caps for GSO. However, if and when UDP or something else starts using it this is likely to cause a problem if we forget to add software emulation for it at the same time. The problem is that right now we translate GSO emulation to the bitmask NETIF_F_GSO_MASK, which includes every protocol, even ones that we cannot emulate. This patch makes it provide only the ones that we can emulate. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 6418204f919c030ca0c943f6c77dc84aff2ec0d2 Author: Ilpo Järvinen Date: Thu May 31 21:37:55 2007 -0700 [TCP]: Fix GSO ignorance of pkts_acked arg (cong.cntrl modules) The code used to ignore GSO completely, passing either way too small or zero pkts_acked when GSO skb or part of it got ACKed. In addition, there is no need to calculate the value in the loop but simple arithmetics after the loop is sufficient. There is no need to handle SYN case specially because congestion control modules are not yet initialized when FLAG_SYN_ACKED is set. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 75202e76893c11ce7f8bcc9a07f994d71e3d5113 Author: Bill Nottingham Date: Thu May 31 21:33:35 2007 -0700 [NET]: Fix comparisons of unsigned < 0. Recent gcc versions emit warnings when unsigned variables are compared < 0 or >= 0. Signed-off-by: Bill Nottingham Signed-off-by: David S. Miller commit 60468d5b5b6931b4d4d704e26b5f17a6e476e6f8 Author: Venkatesh Pallipadi Date: Thu May 31 21:28:44 2007 -0700 [NET]: Make net watchdog timers 1 sec jiffy aligned. round_jiffies for net dev watchdog timer. Signed-off-by: Venkatesh Pallipadi Signed-off-by: David S. Miller commit b206a65d671d359d0947f0b6da9d418c49a9b28a Author: Jeff Garzik Date: Thu May 31 21:26:23 2007 -0700 [ATM]: Fix warning. The compiler warning drivers/atm/firestream.c: In function ‘top_off_fp’: drivers/atm/firestream.c:1505: warning: cast to pointer from integer of different size does indicate a bug, albeit a minor one. Fixed, by using a 32-bit temporary prior to the call to bus_to_virt(). The larger bug is still present: the entire driver assumes that machine pointers are 32-bit, as it stores pointers in 32-bit hardware registers. This is obvious to anyone who knows the driver well, but for the casual readers it is helpfully noted with FIXME. Signed-off-by: Jeff Garzik Signed-off-by: David S. Miller commit 3f196eb519a419bf83ecc22753943fd0a0de4f8f Author: Mark Glines Date: Thu May 31 15:44:48 2007 -0700 [TCP]: Use default 32768-61000 outgoing port range in all cases. This diff changes the default port range used for outgoing connections, from "use 32768-61000 in most cases, but use N-4999 on small boxes (where N is a multiple of 1024, depending on just *how* small the box is)" to just "use 32768-61000 in all cases". I don't believe there are any drawbacks to this change, and it keeps outgoing connection ports farther away from the mess of IANA-registered ports. Signed-off-by: Mark Glines Signed-off-by: David S. Miller commit 278a3de5abc7901805689a66340b5af9882b4f9a Author: David S. Miller Date: Thu May 31 15:19:20 2007 -0700 [AF_UNIX]: Fix datagram connect race causing an OOPS. Based upon an excellent bug report and initial patch by Frederik Deweerdt. The UNIX datagram connect code blindly dereferences other->sk_socket via the call down to the security_unix_may_send() function. Without locking 'other' that pointer can go NULL via unix_release_sock() which does sock_orphan() which also marks the socket SOCK_DEAD. So we have to lock both 'sk' and 'other' yet avoid all kinds of potential deadlocks (connect to self is OK for datagram sockets and it is possible for two datagram sockets to perform a simultaneous connect to each other). So what we do is have a "double lock" function similar to how we handle this situation in other areas of the kernel. We take the lock of the socket pointer with the smallest address first in order to avoid ABBA style deadlocks. Once we have them both locked, we check to see if SOCK_DEAD is set for 'other' and if so, drop everything and retry the lookup. Signed-off-by: David S. Miller commit 007a880d627aee0e854e793099bb33d0c1130678 Author: Michael Chan Date: Thu May 31 14:49:51 2007 -0700 [TG3]: Fix link problem on Dell's onboard 5906. The bug is caused by code that always set (TG3_FLAG_USE_MI_INTERRUPT | TG3_FLAG_USE_LINKCHG_REG) on all Dell's onboard devices. With these 2 flags set, the link status is polled by tg3_timer() and will only work when the PHY is set up to interrupt the MAC on link changes. This breaks 5906 because the 5906 PHY does not support TG3_FLAG_USE_MI_INTERRUPT the same as other PHYs. For correctness, only Dell's onboard 5701 needs these 2 flags to be set. This change will fix the 5906 problem and will change other Dell devices except 5700 and 5701 to use the more efficient interrupt-driven link changes. Update version to 3.77. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 1c92b4e50ef926d1e26fcc056a520e4a7d12478c Author: David S. Miller Date: Thu May 31 13:24:26 2007 -0700 [AF_UNIX]: Make socket locking much less confusing. The unix_state_*() locking macros imply that there is some rwlock kind of thing going on, but the implementation is actually a spinlock which makes the code more confusing than it needs to be. So use plain unix_state_lock and unix_state_unlock. Signed-off-by: David S. Miller commit 3bb457af4fa86dceef57d7c3e959aff162457fdc Author: Kyle McMartin Date: Sun Jun 3 17:47:00 2007 -0400 [PARISC] Fix bug when syscall nr is __NR_Linux_syscalls The bug was that we were comparing __NR_syscalls to be greater or equal to the syscall number stored in %r20. __NR_syscalls is one greater than the last syscall though, so we're loading one entry beyond the end of the syscall table, and trying to jump to it. Fix this by only checking that we're greater, alternatively, we could have compared to (__NR_Linux_syscalls - 1) Signed-off-by: Kyle McMartin commit 0e5f82dda5e60a21cf8ba4f77334d60290277d2c Author: Andrew Victor Date: Thu May 31 10:16:00 2007 +0100 [ARM] 4421/1: AT91: Value of _KEY fields. Use the actual value (0xA5) for the AT91_SHDW_KEY and AT91_WDT_KEY register fields instead of a bitmask. This is consistent with how AT91_RSTC_KEY is defined, and is easier to use in code. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit beaf53bff7985ad57b5b6983f3d6142380449370 Author: Li Yang Date: Fri May 25 13:54:02 2007 +0800 NET: add MAINTAINERS entry for ucc_geth driver Signed-off-by: Li Yang Acked-by: Kim Phillips Signed-off-by: Jeff Garzik commit 6ffdd071e0386645d539a7386f77669777412fea Author: Brice Goglin Date: Wed May 30 21:13:59 2007 +0200 myri10ge: report link up/down in standard ethtool way Report link up/down in standard ethtool way Signed-off-by: Brice Goglin Signed-off-by: Jeff Garzik commit 225c3837bb47d33357dcdad9f88321d75a3eb7fd Author: Mithlesh Thukral Date: Fri Jun 1 04:13:08 2007 -0700 NetXen: Removal of extra free_irq call NetXen: Removal of redundant free_irq This patch removes a redundant free_irq() call from remove() routine. This will also eliminate a warning during unload of driver. Signed-by: Mithlesh Thukral Signed-off-by: Jeff Garzik commit df31233ab95980d037d0304aaf44f9939fbaede5 Author: Valerie Henson Date: Wed May 30 06:08:54 2007 -0600 Update tulip maintainer email address I've quit Intel and gone into business as a Linux consultant. Update my email address in MAINTAINERS. Signed-off-by: Valerie Henson Signed-off-by: Jeff Garzik commit 6026ee67eda769122be535e8f05be438dfdcb29a Author: Paul Mundt Date: Fri Jun 1 17:36:48 2007 +0900 smc91x: sh solution engine fixes. The current smc91x I/O routines ifdef the solution engine subtypes individually, which is rather bogus, as they can simply use CONFIG_SOLUTION_ENGINE instead. This fixes it for some of the other solution engines that weren't included in the ifdef list (SH7206 specifically). There are also inb/outb definitions which are totally bogus (missing brackets in _both_ cases, SMC_CAN_USE_8BIT == 0, and even better, they try to use a 16-bit access to fake 8-bit access). Kill that nonsense off completely. Signed-off-by: Paul Mundt -- drivers/net/smc91x.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) Signed-off-by: Jeff Garzik commit 416b5d10afdc797c21c457ade3714e8f2f75edd9 Author: Auke Kok Date: Fri Jun 1 10:22:39 2007 -0700 e1000: disable polling before registering netdevice To assure the symmetry of poll enable/disable in up/down, we should initialize the netdevice to be poll_disabled at load time. Doing this after register_netdevice leaves us open to another race, so lets move all the netif_* calls above register_netdevice so the stack starts out how we expect it to be. Signed-off-by: Auke Kok Cc: Herbert Xu Cc: Doug Chapman Signed-off-by: Jeff Garzik commit 25805dcf9d83098cf5492117ad2669cd14cc9b24 Author: Stephen Hemminger Date: Fri Jun 1 09:44:01 2007 -0700 network drivers: eliminate unneeded kill_vid code Many drivers had code that did kill_vid, but they weren't doing vlan filtering. With new API the stub is unneeded unless device sets NETIF_F_HW_VLAN_FILTER. Bad habit: I couldn't resist fixing a couple of nearby style things in acenic, and forcedeth. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit cb434e380d58d3956c75dc5ead00eced599b9d16 Author: Stephen Hemminger Date: Fri Jun 1 09:44:00 2007 -0700 atl1: eliminate unneeded kill_vid code This driver has unneeded stubs for VLAN filtering. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 7b332244a63dc1f408fd2ebb2636d58ac69a4916 Author: Stephen Hemminger Date: Fri Jun 1 09:43:59 2007 -0700 8139cp: fix VLAN unregistration The 8139cp driver did VLAN unregistration incorrectly. It disables VLAN completely when the first VID is unregistered. It should instead disable VLAN when the group is unregistered by calling cp_vlan_rx_register with a NULL grp. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit 3d4e66f5cd217160da9c3a2e3ec27b22e743bd25 Author: Stephen Hemminger Date: Fri Jun 1 09:43:58 2007 -0700 sky2: Fix VLAN unregistration Fix sky2 disabling VLAN completely when the first vid is unregistered. sky2 disables VLAN completely when the first VID is unregistered. It should instead disable VLAN when the group is unregistered by calling sky2_vlan_rx_register with grp = NULL. Signed-off-by: Patrick McHardy Signed-off-by: Stephen Hemminger drivers/net/sky2.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) Signed-off-by: Jeff Garzik commit d2d1acdb6a632486be9a731f40c68980c09f0490 Author: Stephen Hemminger Date: Fri Jun 1 09:43:57 2007 -0700 VLAN: kill_vid is only useful for VLAN filtering devices The interface for network device VLAN extension was confusing. The kill_vid function is only really useful for devices that do hardware filtering. Devices that only do VLAN receiption without filtering were being forced to provide the hook, and there were bugs in those devices. Many drivers had kill_vid routine that called vlan_group_set_device, with NULL, but that is done already. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit e68a8c10c4c5daf363e946d10c1a5cba77d7f92c Author: Stephen Hemminger Date: Wed May 30 14:23:17 2007 -0700 qla3xxx: device doesnt do hardware checksumming. Reading the code for ql_hw_csum_setup(), it is obvious that this driver is broken for IPV6. The driver sets the NETIF_F_HW_SUM flag, but the code for checksum setup only deals with IPV4. Compile tested only, no hardware available. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f72267c30f5a08f9a77c97417ec120e6943195f8 Author: Russell King Date: Sat Jun 2 15:36:37 2007 +0100 [ARM] Solve buggy smp_processor_id() usage BUG: using smp_processor_id() in preemptible [00000001] code: opcontrol/427 Resolve this bug by ensuring that we're not using smp_processor_id() in a preemptable context (by disabling preemption.) Signed-off-by: Russell King commit 29c349d22ccda5678a7dfb732093dbd3befcefa3 Author: Bill Gatliff Date: Thu May 31 16:17:16 2007 +0100 [ARM] 4422/1: Fix default value handling in gpio_direction_output (PXA) The default value passed through to pxa_gpio_mode() is lost due to a missing GPIO_DFLT_HIGH mask for nonzero values. The enclosed patch fixes this programming error. Signed-off-by: Bill Gatliff Signed-off-by: Russell King commit b6b27ae5e85fb193c08448157943b187958b8ca2 Author: Andrew Victor Date: Thu May 31 09:34:53 2007 +0100 [ARM] 4419/1: AT91: SAM9 USB clocks check for suspending When suspending to slow-clock mode, at91_pm_verify_clocks() is called to ensure that all the clocks are disabled or in the correct state. This patch replaces the "#warning TODO" messages for the SAM9 processors with the correct code. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 1f4b49a4293ea7b0adeaeae37207b9c9fd2dd7c2 Author: Andrew Victor Date: Thu May 31 09:29:33 2007 +0100 [ARM] 4418/1: AT91: Number of programmable clocks differs The number of programmable clocks available on the AT91 processors can differ, therefore do not always display the contents of the PMC_PCKR(0) .. PMC_PCKR(3) registers (ie, assume there are 4 clocks). If CONFIG_AT91_PROGRAMMABLE_CLOCKS is enabled, the programmable clocks will be registered like the other system/peripheral clocks, and the state of the programmable clocks will be displayed like with the other clocks. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit c7341d436a7a89dc26706386de0a301fc9dbe49a Author: Catalin Marinas Date: Fri Jun 1 17:13:59 2007 +0100 [ARM] 4392/2: Do not corrupt the SP register in compressed/head.S ARMv7 support code requires a valid stack for saving/restoring registers as the whole D-cache flushing function is more complex. This patch ensures that the SP register is not corrupted. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 627aa944a17ba82ca3ba87dc1d6ee85bd314ec79 Author: Milton Miller Date: Thu May 31 01:29:01 2007 +1000 [POWERPC] Fix zImage.coff generation for 32-bit pmac Commit 9da82a6dee9db4cd5ae7a74ab4f51afb52b6efb9 inadvertently removed the platform override for zImage.coff to be generated with pmaccoff. Rather than add a special makefile rule, change the platform for which the wrapper platform uses the special rules. Signed-off-by: Milton Miller Signed-off-by: Paul Mackerras commit f48419666e645208c0156aecab1ee6157303da3c Author: Stefan Roese Date: Sat Jun 2 19:30:20 2007 +1000 [POWERPC] Fix compile breakage for IBM/AMCC 4xx arch/ppc platforms The IBM/AMCC 405 platforms don't compile anymore in the current kernel version. This fixes the compile breakage. Signed-off-by: Stefan Roese Signed-off-by: Paul Mackerras commit e358ae4dd4ca823abc5ee06c61e3915636e60191 Author: Johannes Berg Date: Sat Jun 2 19:13:44 2007 +1000 [POWERPC] Don't allow PMAC_APM_EMU for 64-bit In b302887854d6f0c6f9fc3f1080535e7c1bd53134 I switched the apm emulation code to use the generic code but accidentally dropped the PPC32 dependency from the configuration symbol. This adds it back. Signed-off-by: Johannes Berg Signed-off-by: Paul Mackerras commit f5921697cf5cae68dcbfa881d9e08f3cebef47eb Author: Michael Ellerman Date: Fri Jun 1 17:23:26 2007 +1000 [POWERPC] Compare irq numbers with NO_IRQ not IRQ_NONE There is a thinko in the irq code, it uses IRQ_NONE to indicate no irq, whereas it should be using NO_IRQ. IRQ_NONE is returned from irq handlers to say "not handled". As it happens they currently have the same value (0), so this is just for future proof-ness. Signed-off-by: Michael Ellerman Acked-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit a4c28ab7445f5ca60e56ffd90edb3e9fc1330b71 Author: Akinobu Mita Date: Tue May 29 20:46:51 2007 +1000 [POWERPC] Fix return from pte_alloc_one() in out-of-memory case pte_alloc_one() is expected to return NULL if out of memory. But it returns virt_to_page(NULL), which is not NULL. This fixes it. Cc: Paul Mackerras Signed-off-by: Akinobu Mita Signed-off-by: Paul Mackerras commit 66b30922c8a2c880fe61080c5bf87ae6615b9f64 Author: Michael Neuling Date: Tue May 29 17:01:52 2007 +1000 [POWERPC] Fix compile warning in pseries xics code In 616883df78bd4b3fcdb6ddc39bd3d4cb902bfa32 request_irq was marked as __must_check so we must... er... check it. Signed-off-by: Michael Neuling Signed-off-by: Paul Mackerras commit b610b9780bdb2750849f32c2eefef46af58c67f8 Author: David Gibson Date: Tue May 29 15:37:12 2007 +1000 [POWERPC] Don't use HOSTCFLAGS in BOOTCFLAGS In the bootwrapper code for powerpc, we include HOSTCFLAGS into the BOOTCFLAGS used for building the zImage wrapper code. Since the wrapper code is not host code, this makes no sense. This patch removes the use of HOSTCFLAGS here, instead including directly into BOOTCFLAGS those flags from the normal kernel CFLAGS which also make sense in the bootwrapper code. In particular, this makes the bootwrapper use -msoft-float, preventing the compiler from generating floating point instructions. Previously, under some circumstances the compiler could generate floating point instructions in the bootwrapper which would cause exceptions on embedded CPUS which don't have floating point support. Signed-off-by: David Gibson Acked-by: Josh Boyer Signed-off-by: Paul Mackerras commit 0570d4ed4325c0fb2ceb75f45a21d878b1741b61 Author: Stephen Rothwell Date: Mon May 28 16:12:59 2007 +1000 [POWERPC] Create a zImage for legacy iSeries This zImage is really just the stripped vmlinux, but it means that there is one less special case for iSeries and also that the zImages will be built for a combined kernel build that happens to include iSeries. This zImage boots fine on legacy iSeries. Signed-off-by: Stephen Rothwell Signed-off-by: Paul Mackerras commit 18456d015c50bc903fc66c65621170170190a1fd Author: Stephen Rothwell Date: Mon May 28 10:20:45 2007 +1000 [POWERPC] pasemi idle uses hard_smp_processor_id and so needs to include asm/smp.h so a UP build works. Signed-off-by: Stephen Rothwell Acked-by: Olof Johansson Signed-off-by: Paul Mackerras commit 42d284bc45a9d6625b30c3175563829847406e03 Author: Stephen Rothwell Date: Mon May 28 10:19:08 2007 +1000 [POWERPC] ps3/interrupt.c uses get_hard_smp_processor_id and so needs to include asm/smp.h for a UP build to work. Signed-off-by: Stephen Rothwell Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit 6ad8d010b2f364b739020e514e61b6a73444464b Author: Benjamin Herrenschmidt Date: Sun May 27 15:18:22 2007 +1000 [POWERPC] Fix possible access to free pages I think we have a subtle race on ppc64 with the tlb batching. The common code expects tlb_flush() to actually flush any pending TLB batch. It does that because it delays all page freeing until after tlb_flush() is called, in order to ensure no stale reference to those pages exist in any TLB, thus causing potential access to the freed pages. However, our tlb_flush only triggers the RCU for freeing page table pages, it does not currently trigger a flush of a pending TLB/hash batch, which is, I think, an error. This fixes it. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 988519acb3dbe7168276a36cbb8fd91fddbffaee Author: David Gibson Date: Fri May 25 13:19:17 2007 +1000 [POWERPC] Fix compiler/assembler flags for Ebony platform boot files The recent addition of assembler flags for 44x.c and ebony.c in the bootwrapper to make them compile on certain toolchains was not correct and could break other platforms. This patch switches to using a compiler flag instead, which implies the appropriate assembler flag, and also stops the compiler itself generating instructions which are invalid for the platform in question. Signed-off-by: David Gibson Acked-by: Segher Boessenkool Signed-off-by: Paul Mackerras commit 7d43e57764fe6922703c36d8d0d56a7ead21f03d Author: Benjamin Herrenschmidt Date: Thu May 24 15:41:04 2007 +1000 [POWERPC] Fix ppc32 single-stepping out of syscalls The ppc32 kernel didn't properly set/clear the TIF_SINGLESTEP flag, causing return from syscalls to not SIGTRAP, thus executing one more instruction before stopping again. This fixes it. The ptrace code is a bit of a mess, and is overdue for at least a -proper- 32/64 bits split and possibly more cleanups but this minimum fix should be ok for 2.6.22 Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Paul Mackerras commit 5169b8a1659fef9cc093ed3d889a854945a18177 Author: Michael Ellerman Date: Wed May 23 18:08:13 2007 +1000 [POWERPC] Update documentation for of_find_node_by_type() The documentation for of_find_node_by_type() incorrectly refers to the "name" parameter - it should be "type". Also the behaviour when from == NULL is not really documented, fix that. Signed-off-by: Michael Ellerman Signed-off-by: Paul Mackerras commit 6287ee32952b502c23d54f12895c3895ddbe5013 Author: Bob Moore Date: Tue Apr 3 19:59:37 2007 -0400 ACPICA: Support for external package objects as method arguments Implemented support to allow Package objects to be passed as method arguments to the acpi_evaluate_object interface. Previously, this would return an AE_NOT_IMPLEMENTED exception. Signed-off-by: Bob Moore Signed-off-by: Len Brown commit 8ff6f48d99a0351bcc9ceab422042ef9d3bad9aa Author: Luck, Tony Date: Thu May 24 13:57:40 2007 -0700 ACPI: Section mismatch ... acpi_map_pxm_to_node Last of the "Section mismatch" errors from ia64 builds! acpi_map_pxm_to_node() is defined with attribute __cpuinit, but is called by "normal" kernel functions acpi_getnode() and acpi_map_cpu2node(). Commit f363d16fbb9374c0bd7f2757d412c287169094c9 moved the data structures on which this routine operates from __cpuinitdata to regular memory, so this routine can also move out of init space. Signed-off-by: Tony Luck Signed-off-by: Len Brown commit 0477d24e2a87a9077b62298b01b031929f5cf2a2 Author: David Woodhouse Date: Fri Jun 1 20:04:43 2007 +0100 [JFFS2] Fix obsoletion of metadata nodes in jffs2_add_tn_to_tree() We should keep the mdata node with higher version number, not just the one we happen to find latest. Doh. Signed-off-by: David Woodhouse commit 718ea8361b15aec5f4cb559d63ba34bc5a58d8f9 Author: David Woodhouse Date: Fri Jun 1 19:21:59 2007 +0100 [MTD] Fix error checking after get_mtd_device() in get_sb_mtd functions It returns ERR_PTR(foo) on error, not just NULL. Signed-off-by: David Woodhouse commit 94774a3a8e01989960aaadaea6deff51a4e7deed Author: Salyzyn, Mark Date: Wed May 30 11:59:13 2007 -0400 [SCSI] aacraid: fix shutdown handler to also disable interrupts. Moves quiesce, thread and interrupt shutdown into aacraid drivers' .shutdown handler. This fix to the aac_shutdown handler will remove the superfluous reset of the adapter during a (clean) kexec. This fix may mitigate the active investigation 'kexec and aacraid broken' but it is unlikely to affect the root cause (issue likely present in both kexec and kdump). This patch reduces the chance the problem will occur with a kexec. The fix for root cause is currently expected to be the minimum value check to the aacraid.startup_timeout driver variable after an adapter reset within aacraid_commit_reset.patch submitted on 05/22/2007 and awaiting testing by Yinghai to confirm. Signed-off-by: Mark Salyzyn Signed-off-by: James Bottomley commit c1a834dc704763673df10282995257f2de93cbe9 Author: Ingo Molnar Date: Fri Jun 1 00:47:16 2007 -0700 timer stats: speedups Make timer-stats have almost zero overhead when enabled in the config but not used. (this way distros can enable it more easily) Also update the documentation about overhead of timer_stats - it was written for the first version which had a global lock and a linear list walk based lookup ;-) Signed-off-by: Ingo Molnar Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fcc15ec3c1c287a781a4620e52522b6186f26f6 Author: Bjorn Steinbrink Date: Fri Jun 1 00:47:15 2007 -0700 timer statistics: fix race Fix two races in the timer stats lookup code. One by ensuring that the initialization of a new entry is finished upon insertion of that entry. The other by cleaning up the hash table when the entries array is cleared, so that we don't have any "pre-inserted" entries. Thanks to Eric Dumazet for reminding me of the memory barriers. Signed-off-by: Bjorn Steinbrink Signed-off-by: Ian Kumlien Acked-by: Ingo Molnar Cc: Eric Dumazet Cc: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c79d9c9e9ace5eeae54f484f62fbd86bf27a344a Author: Sam Rav