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 wr