commit 0d4cbb5e7f60b2f1a4d8b7f6ea4cc264262c7a01 Author: Linus Torvalds Date: Mon Sep 10 19:49:55 2007 -0700 Linux 2.6.23-rc6 commit 3dcc323fe8d7158bd662c04d41ba8b25fa3ce27b Author: Tejun Heo Date: Mon Sep 3 12:20:11 2007 +0900 libata clear horkage on ata_dev_init() dev->horkage should be cleared over device hotunplug/plug. Clear it in ata_dev_init(). Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit b311ec4ae82b1dc337689e966dcf9c5f6a53877e Author: Joseph Chan Date: Mon Sep 10 22:06:01 2007 -0400 [libata, IDE] add new VIA bridge to VIA PATA drivers Signed-off-by: Joseph Chan Signed-off-by: Jeff Garzik commit 980abe215b861891c39aba0936817c46f372143b Author: Jeff Dike Date: Mon Sep 10 11:55:46 2007 -0400 UML: Fix ELF_CORE_COPY_REGS build botch The earlier crash dump fix on x86_64 depended on patches in -mm which are intended for post-2.6.23. Without those, it broke the build when it went into 2.6.23-rc5. This changes the field references in ELF_CORE_COPY_REGS back to those still used in mainline. Signed-off-by: Jeff Dike Signed-off-by: Linus Torvalds commit d95865480de280b892e19fe90921601876da5775 Author: Daniel Walker Date: Thu Sep 6 16:59:54 2007 +0200 i386: fix a hang on stuck nmi watchdog In the case when an nmi gets stucks the endflag stays equal to zero. This causes the busy looping on other cpus to continue, even though the nmi test is done. On my machine with out the change below the system would hang right after check_nmi_watchdog(). The change below just sets endflag prior to checking if the test was successful or not. Signed-off-by: Daniel Walker Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit a534b679180025aa324ebd63c05516e478551cfd Author: Andi Kleen Date: Thu Sep 6 16:59:52 2007 +0200 x86_64: Remove CLFLUSH in text_poke() The CLFLUSH for the modified code line in text_poke was supposed to speed up CPU recovery. Unfortunately it seems to cause hangs on some VIA C3s (at least on VIA Esther Model 10 Stepping 9) Remove it. Thanks to Stefan Becker for reporting/testing. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit 23d5ea5d3edcfe899cd91fca87a4af799bcc5794 Author: Stephane Eranian Date: Thu Sep 6 16:59:51 2007 +0200 i386: Fix perfctr watchdog on core duo Fix the NMI watchdog on Intel CoreDuo processor where the kernel would get stuck during boot. The issue is related to errata AE49, where the PERFEVTSEL1 counter does not have a working enable bit. Thus it is not possible to use it for NMI. The patch creates a dedicated wd_ops for CoreDuo which falls back to using PERFEVTSEL0. The other Intel processors supporting the architectural PMU will keep on using PERFEVTSEL1 as this allows other subsystems, such as perfmon, to use PERFEVTSEL0 for PEBS monitoring in particular. Bug initially reported by Daniel Walker. AK: Added comments Signed-off-by: Stephane Eranian Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit b8da0d1c27f144bce999c653467106f3f0d5a308 Author: Neil Brown Date: Wed Sep 5 17:22:13 2007 -0400 knfsd: Validate filehandle type in fsid_source fsid_source decided where to get the 'fsid' number to return for a GETATTR based on the type of filehandle. It can be from the device, from the fsid, or from the UUID. It is possible for the filehandle to be inconsistent with the export information, so make sure the export information actually has the info implied by the value returned by fsid_source. Signed-off-by: Neil Brown Cc: "Luiz Fernando N. Capitulino" Signed-off-by: "J. Bruce Fields" Signed-off-by: Linus Torvalds commit a1033be72cdb053e182bb41e302a1c11e72b68bb Author: Neil Brown Date: Wed Sep 5 17:22:12 2007 -0400 knfsd: Fixed problem with NFS exporting directories which are mounted on. Recent changes in NFSd cause a directory which is mounted-on to not appear properly when the filesystem containing it is exported. *exp_get* now returns -ENOENT rather than NULL and when commit 5d3dbbeaf56d0365ac6b5c0a0da0bd31cc4781e1 removed the NULL checks, it didn't add a check for -ENOENT. Signed-off-by: Neil Brown Signed-off-by: J. Bruce Fields Signed-off-by: Linus Torvalds commit 7d94143291e4e625e2bc3b1ebdc7143ee7a9a2f1 Author: Roland McGrath Date: Wed Sep 5 03:05:56 2007 -0700 Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH When PTRACE_SYSCALL was used and then PTRACE_DETACH is used, the TIF_SYSCALL_TRACE flag is left set on the formerly-traced task. This means that when a new tracer comes along and does PTRACE_ATTACH, it's possible he gets a syscall tracing stop even though he's never used PTRACE_SYSCALL. This happens if the task was in the middle of a system call when the second PTRACE_ATTACH was done. The symptom is an unexpected SIGTRAP when the tracer thinks that only SIGSTOP should have been provoked by his ptrace calls so far. A few machines already fixed this in ptrace_disable (i386, ia64, m68k). But all other machines do not, and still have this bug. On x86_64, this constitutes a regression in IA32 compatibility support. Since all machines now use TIF_SYSCALL_TRACE for this, I put the clearing of TIF_SYSCALL_TRACE in the generic ptrace_detach code rather than adding it to every other machine's ptrace_disable. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit bce7d5e0e1fc0c1f1251b7f21a19cb48207408b6 Author: Jeff Norden Date: Tue Sep 4 11:07:20 2007 -0500 pata_it821x: fix lost interrupt with atapi devices Fix "lost" interrupt problem when using dma with CD/DVD drives in some configurations. This problem can make installing linux from media impossible for distro's that have switched to libata-only configurations. The simple fix is to eliminate the use of dma for reading drive status, etc, by checking the number of bytes to transferred. This change will only affect the behavior of atapi devices, not disks. There is more info at http://bugzilla.redhat.com/show_bug.cgi?id=242229 This patch is for 2.6.22.1 Signed-off-by: Jeff Norden Reviewed-by: Alan Cox Signed-off-by: Jeff Garzik commit 08ebd43d6b9b63de681b8f255c0fabae8033527c Author: Laurent Riffard Date: Sun Sep 2 21:01:32 2007 +0200 Fix broken pata_via cable detection via_do_set_mode overwrites 80-wire cable detection bits. Let's preserve them. Signed-off-by: Laurent Riffard Acked-by: Alan Cox Signed-off-by: Jeff Garzik commit 43863074659b71345b0047c2cf2ff8d8f7a4b4a1 Author: Yoichi Yuasa Date: Thu Sep 6 21:32:57 2007 +0900 [MIPS] Ocelot: remove remaining bits Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit 603c338bdd455952d768fc24bf2c754dd4229aed Author: Thiemo Seufer Date: Wed Sep 5 12:11:22 2007 +0100 [MIPS] TLB: Fix instruction bitmasks Signed-Off-By: Thiemo Seufer Signed-off-by: Ralf Baechle commit d344dd52e50f4440810b641077282bfa1fd65d88 Author: Maxime Bizon Date: Fri Aug 31 11:03:14 2007 +0200 [MIPS] R10000: Fix wrong test in dma-default.c Signed-off-by: Maxime Bizon Signed-off-by: Ralf Baechle commit 7b0fdaa6a193e0b07d9f72e942f51ce25d9e0387 Author: Ralf Baechle Date: Mon Sep 3 16:22:26 2007 +0200 [MIPS] Provide empty irq_enable_hazard definition for legacy and R1 cores. Following a strict interpretation the empty definition of irq_enable_hazard has always been a bug - but an intentional one because it didn't bite. This has now changed, for uniprocessor kernels mm/slab.c:do_drain() [...] on_each_cpu(do_drain, cachep, 1, 1); check_irq_on(); [...] may be compiled into a mtc0 c0_status; mfc0 c0_status sequence resulting in a back-to-back hazard. Signed-off-by: Ralf Baechle commit 2e4dafd5d169ea2d5b066e38b5f8f9e416dc9eaa Author: Ralf Baechle Date: Thu Aug 30 00:58:53 2007 +0100 [MIPS] Sibyte: Remove broken dependency on EXPERIMENTAL from SIBYTE_SB1xxx_SOC. Otherwise Kconfig will produce a nonsenical .config for a kernel that is neither 32-bit nor 64-bit. Signed-off-by: Ralf Baechle commit 9308816c9f10142f9d0d5b4d0fa41f3bac4f4fd8 Author: Ralf Baechle Date: Wed Aug 29 14:21:45 2007 +0100 [MIPS] Kconfig: whitespace cleanup. Signed-off-by: Ralf Baechle commit d4ef9dd33d0f513777409710fd99e016d46c3a85 Author: Ralf Baechle Date: Wed Aug 29 08:34:39 2007 +0100 [MIPS] PCI: Set need_domain_info if controller domain index is non-zero. This fixes this little funny: bigsur:/proc/bus/pci# ls -l total 0 dr-xr-xr-x 2 root root 0 Aug 28 19:31 00 dr-xr-xr-x 2 root root 0 Aug 28 19:31 00 dr-xr-xr-x 2 root root 0 Aug 28 19:31 01 dr-xr-xr-x 2 root root 0 Aug 28 19:31 03 -r--r--r-- 1 root root 0 Aug 28 19:31 devices Signed-off-by: Ralf Baechle commit fbd0ed37c894759a5868638c3f509e0de864aba5 Author: Ralf Baechle Date: Wed Aug 29 00:38:13 2007 +0100 [MIPS] BCM1480: Fix computation of interrupt mask address register. CC arch/mips/sibyte/bcm1480/irq.o arch/mips/sibyte/bcm1480/irq.c: In function 'bcm1480_mask_irq': arch/mips/sibyte/bcm1480/irq.c:112: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c:114: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c: In function 'bcm1480_unmask_irq': arch/mips/sibyte/bcm1480/irq.c:130: warning: cast to pointer from integer of different size arch/mips/sibyte/bcm1480/irq.c:132: warning: cast to pointer from integer of different size Signed-off-by: Ralf Baechle commit d77a283d9bc8c6327e9dd6059fe09104f3ad4bf9 Author: Kyungmin Park Date: Fri Aug 10 14:00:21 2007 -0700 [MIPS] i8259: Add disable method. After 76d2160147f43f982dfe881404cfde9fd0a9da21, the qemu NE2000 was frequently producing WATCHDOG timeouts. Signed-off-by: Kyungmin Park Cc: Ralf Baechle Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit 5a6e4e4207bc1b69dca540d759d9d176e5ce4ff1 Author: Alan Cox Date: Fri Aug 10 14:00:20 2007 -0700 [MIPS] tty: add the new ioctls and definitions. Same as all the others, just put in the constants for the existing kernel code and termios2 structure Signed-off-by: Alan Cox Acked-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Ralf Baechle commit d8612417b2f78767b96ca434b50d23e5cdfcde07 Author: Joachim Fenkes Date: Wed Aug 29 18:15:17 2007 +0200 [POWERPC] ibmebus: Prevent bus_id collisions Previously, ibmebus derived a device's bus_id from its location code. The location code is not guaranteed to be unique, so we might get bus_id collisions if two devices share the same location code. The OFDT full_name, however, is unique, so we use that instead (truncating it on the left if it is too long). Signed-off-by: Joachim Fenkes Signed-off-by: Paul Mackerras commit d51dd3de87026cb0ea1ea5f873f08e930053bfc5 Author: Geert Uytterhoeven Date: Thu Sep 6 18:14:57 2007 +0200 [POWERPC] cell/PS3: Ignore storage devices that are still being probed On PS3, A storage device may show up in the repository before the hypervisor has finished probing: - If its type is not yet known, it shows up as PS3_DEV_TYPE_STOR_DUMMY, - If its regions are being probed, it shows up as having zero regions. If any of these happen, consider the device not yet present. The storage probe thread will retry later. This fixes the timing-dependent problem where a kernel booted from FLASH ROM sometimes cannot find the hard disk. Signed-off-by: Geert Uytterhoeven Acked-by: Geoff Levand Signed-off-by: Paul Mackerras commit ef8034d01a080e81488e9cf74052acf1e2a37bd0 Author: Jeremy Kerr Date: Fri Sep 7 18:28:27 2007 +1000 [POWERPC] cell/PS3: Always set master run control bit in mfc_sr1_set At present, running any SPE program on the ps3 will trigger a BUG_ON when spufs_run_spu tries to clear the master run control bit, as lv1 does not make the master run control available to Linux. This change makes SPE apps work again by disabling changes to the master run control on PS3. Although we don't have the facility to disable a SPE with supervisor-level privileges, it's better than hitting the BUG_ON unconditionally. Signed-off-by: Jeremy Kerr Acked-by: Masato Noguchi Signed-off-by: Paul Mackerras commit b7f90a406ff72d6698b619210c205e3375dd099a Author: Masato Noguchi Date: Fri Sep 7 18:28:27 2007 +1000 [POWERPC] cell/PS3: Fix a bug that causes the PS3 to hang on the SPU Class 0 interrupt. The Cell BE Architecture spec states that the SPU MFC Class 0 interrupt is edge-triggered. The current spu interrupt handler assumes this behavior and does not clear the interrupt status. The PS3 hypervisor visualizes all SPU interrupts as level, and on return from the interrupt handler the hypervisor will deliver a new virtual interrupt for any unmasked interrupts which for which the status has not been cleared. This fix clears the interrupt status in the interrupt handler. Signed-off-by: Masato Noguchi Signed-off-by: Geoff Levand Signed-off-by: Jeremy Kerr Acked-by: Arnd Bergmann Signed-off-by: Paul Mackerras commit 32528d0fbda1093eeeaa7d0a2c498bbb5154099d Author: Herbert Xu Date: Mon Sep 10 15:51:11 2007 +0800 [CRYPTO] blkcipher: Fix inverted test in blkcipher_get_spot The previous patch had the conditional inverted. This patch fixes it so that we return the original position if it does not straddle a page. Thanks to Bob Gilligan for spotting this. Signed-off-by: Herbert Xu commit 939bc4943d0483961edc45b63a7d27b4ffe547e3 Author: David Brownell Date: Sun Sep 9 22:29:14 2007 +0200 i2c-algo-bit: Read block data bugfix This fixes a bug in the way i2c-algo-bit handles I2C_M_RECV_LEN, used to implement i2c_smbus_read_block_data(). Previously, in the absence of PEC (rarely used!) it would NAK the "length" byte: S addr Rd [A] [length] NA That prevents the subsequent data bytes from being read: S addr Rd [A] [length] { A [data] }* NA The primary fix just reorders two code blocks, so the length used in the "should I NAK now?" check incorporates the data which it just read from the slave device. However, that move also highlighted other fault handling glitches. This fixes those by abstracting the RX path ack/nak logic, so it can be used in more than one location. Also, a few CodingStyle issues were also resolved. Signed-off-by: David Brownell Signed-off-by: Jean Delvare commit 51e5709ad46127da9476f31336113b5401f94dba Author: Jean Delvare Date: Sun Sep 9 22:29:13 2007 +0200 i2c-pxa: Fix adapter number It turns out that platform_device.id is a "u32" so testing it for being nonnegative is useless when setting up an i2c adapte. Instead, do what the platform_bus code does and test it against the value "-1". Signed-off-by: Jean Delvare commit 9a3180e70e35ff69586ada5421b5e7bad52f60e4 Author: David Brownell Date: Sun Sep 9 22:29:13 2007 +0200 i2c-gpio: Fix adapter number It turns out that platform_device.id is a "u32" so testing it for being nonnegative is useless when setting up an i2c bitbang device. Instead, do what the platform_bus code does and test it against the value "-1". Signed-off-by: David Brownell Acked-by: Atsushi Nemoto Signed-off-by: Jean Delvare commit 15bde2f1a8e819213f54314505a5a0509673109b Author: Jean Delvare Date: Wed Aug 29 10:39:57 2007 +0200 hwmon: End of I/O region off-by-one Fix an off-by-one error in the I/O region declaration of two hardware monitoring drivers (lm78 and w83781d.) We were requesting one extra port at the end of the region. Signed-off-by: Jean Delvare Signed-off-by: Mark M. Hoffman commit e4630f9fd8cdc14eb1caa08dafe649eb5ae09985 Author: Herbert Xu Date: Sun Sep 9 08:45:21 2007 +0100 [CRYPTO] blkcipher: Fix handling of kmalloc page straddling The function blkcipher_get_spot tries to return a buffer of the specified length that does not straddle a page. It has an off-by-one bug so it may advance a page unnecessarily. What's worse, one of its callers doesn't provide a buffer that's sufficiently long for this operation. This patch fixes both problems. Thanks to Bob Gilligan for diagnosing this problem and providing a fix. Signed-off-by: Herbert Xu commit 5511142870046a7bed947d51ec9b320856ee120a Author: Stefan Richter Date: Thu Sep 6 09:50:30 2007 +0200 firewire: fw-ohci: ignore failure of pci_set_power_state (fix suspend regression) Fixes (papers over) "Sleep problems with kernels >= 2.6.21 on powerpc", http://lkml.org/lkml/2007/8/25/155. The issue is that the FireWire controller's pci_dev.current_state of iBook G3 and presumably older PowerBooks is still in PCI_UNKNOWN instead of PCI_D0 when the firewire driver's .suspend method is called. Like it was suggested earlier in http://lkml.org/lkml/2006/10/24/13, we do not fail .suspend anymore if pci_set_power_state failed. Signed-off-by: Stefan Richter commit 7071b2914a540b43dfcad17f6892a8c115799d50 Author: Hirokazu Takata Date: Mon Aug 20 20:53:50 2007 +0900 m32r: Rename STI/CLI macros The names of STI and CLI macros were derived from i386 arch historically, but their name are incomprehensible. So, for easy to understand, rename these macros to ENABLE_INTERRUPTS and DISABLE_INTERRUPTS, respectively. Signed-off-by: Hirokazu Takata commit 33205613cd603fa4d80bb81464e60b909b7047e1 Author: Hirokazu Takata Date: Tue Aug 21 12:04:29 2007 +0900 m32r: build fix of entry.S This patch fixes the following compile error: <-- snip --> ... AS arch/m32r/kernel/entry.o /home/bunk/linux/kernel-2.6/linux-2.6.23-rc3-mm1/arch/m32r/kernel/entry.S: Assembler messages: /home/bunk/linux/kernel-2.6/linux-2.6.23-rc3-mm1/arch/m32r/kernel/entry.S:358: Error: bad instruction `addi r0,#(((((0)+(64))+(32))+(32)))' make[2]: *** [arch/m32r/kernel/entry.o] Error 1 <-- snip --> Signed-off-by: Hirokazu Takata Cc: Adrian Bunk commit 1169783085adb9ac969d21103a6885e8435f7ed3 Author: Peter Zijlstra Date: Wed Sep 5 14:32:49 2007 +0200 sched: fix ideal_runtime calculations for reniced tasks fix ideal_runtime: - do not scale it using niced_granularity() it is against sum_exec_delta, so its wall-time, not fair-time. - move the whole check into __check_preempt_curr_fair() so that wakeup preemption can also benefit from the new logic. this also results in code size reduction: text data bss dec hex filename 13391 228 1204 14823 39e7 sched.o.before 13369 228 1204 14801 39d1 sched.o.after Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 4a55b45036a677fac43fe81ddf7fdcd007aaaee7 Author: Peter Zijlstra Date: Wed Sep 5 14:32:49 2007 +0200 sched: improve prev_sum_exec_runtime setting Second preparatory patch for fix-ideal runtime: Mark prev_sum_exec_runtime at the beginning of our run, the same spot that adds our wait period to wait_runtime. This seems a more natural location to do this, and it also reduces the code a bit: text data bss dec hex filename 13397 228 1204 14829 39ed sched.o.before 13391 228 1204 14823 39e7 sched.o.after Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 7c92e54f6f9601cfa9d8894ee248abcf62ed9a1c Author: Peter Zijlstra Date: Wed Sep 5 14:32:49 2007 +0200 sched: simplify __check_preempt_curr_fair() Preparatory patch for fix-ideal-runtime: simplify __check_preempt_curr_fair(): get rid of the integer return. text data bss dec hex filename 13404 228 1204 14836 39f4 sched.o.before 13393 228 1204 14825 39e9 sched.o.after functionality is unchanged. Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit cf2ab4696ee42f895eed88c2b6e432fe03dda0db Author: Ingo Molnar Date: Wed Sep 5 14:32:49 2007 +0200 sched: fix xtensa build warning rename RSR to SRR - 'RSR' is already defined on xtensa. found by Adrian Bunk. Signed-off-by: Ingo Molnar commit 2491b2b89d4646e02ab51c90ab7012d124924ddc Author: Ingo Molnar Date: Wed Sep 5 14:32:49 2007 +0200 sched: debug: fix sum_exec_runtime clearing when cleaning sched-stats also clear prev_sum_exec_runtime. Signed-off-by: Ingo Molnar commit a206c07213cf6372289f189c3774c4c3255a7ae1 Author: Ingo Molnar Date: Wed Sep 5 14:32:49 2007 +0200 sched: debug: fix cfs_rq->wait_runtime accounting the cfs_rq->wait_runtime debug/statistics counter was not maintained properly - fix this. this also removes some code: text data bss dec hex filename 13420 228 1204 14852 3a04 sched.o.before 13404 228 1204 14836 39f4 sched.o.after Signed-off-by: Ingo Molnar Signed-off-by: Peter Zijlstra commit a0dc72601d48b171b4870dfdd0824901a2b2b1a9 Author: Ingo Molnar Date: Wed Sep 5 14:32:49 2007 +0200 sched: fix niced_granularity() shift fix niced_granularity(). This resulted in under-scheduling for CPU-bound negative nice level tasks (and this in turn caused higher than necessary latencies in nice-0 tasks). Signed-off-by: Ingo Molnar commit 7fd0d2dde929ead79901e389e70dbfb3c6c06986 Author: Suresh Siddha Date: Wed Sep 5 14:32:48 2007 +0200 sched: fix MC/HT scheduler optimization, without breaking the FUZZ logic. First fix the check if (*imbalance + SCHED_LOAD_SCALE_FUZZ < busiest_load_per_task) with this if (*imbalance < busiest_load_per_task) As the current check is always false for nice 0 tasks (as SCHED_LOAD_SCALE_FUZZ is same as busiest_load_per_task for nice 0 tasks). With the above change, imbalance was getting reset to 0 in the corner case condition, making the FUZZ logic fail. Fix it by not corrupting the imbalance and change the imbalance, only when it finds that the HT/MC optimization is needed. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar commit 5995cb7d805496362e5af73235145667096fbc6f Author: Eric Sandeen Date: Thu Aug 16 16:49:11 2007 +1000 [XFS] fix nasty quota hashtable allocation bug This git mod: 77e4635ae191774526ed695482a151ac986f3806 converted to a "greedy" allocation interface, but for the quota hashtables it switched from allocating XFS_QM_HASHSIZE (nr of elements) xfs_dqhash_t's to allocating only XFS_QM_HASHSIZE *bytes* - quite a lot smaller! Then when we converted hsize "back" to nr of elements (the division line) hsize went to 0. This was leading to oopses when running any quota tests on the Fedora 8 test kernel, but the problem has been there for almost a year. SGI-PV: 968837 SGI-Modid: xfs-linux-melb:xfs-kern:29354a Signed-off-by: Eric Sandeen Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 265c1fac38e37e828df09965406e9cc20bfa3588 Author: Christoph Hellwig Date: Thu Aug 16 15:38:19 2007 +1000 [XFS] fix sparse shadowed variable warnings - in xfs_probe_cluster rename the inner len to pg_len. There's no harm here because the outer len isn't used after the inner len comes into existence but it keeps the code clean. - in xfs_da_do_buf remove the inner i because they don't overlap and they are both the same type. SGI-PV: 968555 SGI-Modid: xfs-linux-melb:xfs-kern:29311a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit ee5c80239d5f152d99f69165afbd115518353563 Author: Christoph Hellwig Date: Thu Aug 16 15:38:08 2007 +1000 [XFS] fix ASSERT and ASSERT_ALWAYS - remove the != 0 inside the unlikely in ASSERT_ALWAYS because sparse now complains about comparisons between pointers and 0 - add a standalone ASSERT implementation because defining it to ASSERT_ALWAYS means the string is expanded before the token passing stringification. This way we get the actual content of the assertion in the assfail message and don't overflow sparse's stringification buffer leading to sparse error messages. SGI-PV: 968555 SGI-Modid: xfs-linux-melb:xfs-kern:29310a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 34521c5e4971d01f6ef650fdee59e07be6c2c5e3 Author: Christoph Hellwig Date: Thu Aug 16 15:37:57 2007 +1000 [XFS] Fix sparse warning in kmem_shake_allow We can't return a masked result of a __bitwise type. Compare it to 0 first to keep the behaviour without the warning. SGI-PV: 968555 SGI-Modid: xfs-linux-melb:xfs-kern:29309a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 4b80916b29170744632356dd2e801f7c374676eb Author: Christoph Hellwig Date: Thu Aug 16 15:37:36 2007 +1000 [XFS] Fix sparse NULL vs 0 warnings Sparse now warns about comparing pointers to 0, so change all instance where that happens to NULL instead. SGI-PV: 968555 SGI-Modid: xfs-linux-melb:xfs-kern:29308a Signed-off-by: Christoph Hellwig Signed-off-by: David Chinner Signed-off-by: Tim Shimmin commit 8da22d7a3690818f6d340baa0ea585e71f0c506f Author: David Chinner Date: Thu Aug 16 15:20:56 2007 +1000 [XFS] Set filestreams object timeout to something sane. SGI-PV: 968554 SGI-Modid: xfs-linux-melb:xfs-kern:29303a Signed-off-by: David Chinner Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit ce29a1f8bd99aac409904b4ca4fd700e67802556 Author: Christian Ehrhardt Date: Mon Sep 3 20:32:38 2007 +0200 [x86 setup] Work around bug in Xen HVM Apparently XEN does not keep the contents of the 48-bit gdt_48 data structure that is passed to lgdt in the XEN machine state. Instead it appears to save the _address_ of the 48-bit descriptor somewhere. Unfortunately this data happens to reside on the stack and is probably no longer availiable at the time of the actual protected mode jump. This is Xen bug but given that there is a one-line patch to work around this problem, the linux kernel should probably do this. My fix is to make the gdt_48 description in setup_gdt static (in setup_idt this is already the case). This allows the kernel to boot under Xen HVM again. Signed-off-by: Christian Ehrhardt Signed-off-by: H. Peter Anvin commit 9990b48a403fa465b4ff600cd8a7b5108d1bc135 Author: Hirokazu Takata Date: Mon Aug 20 09:12:46 2007 +0900 m32r: Separate syscall table from entry.S - Separate sys_call_table from arch/m32r/kernel/entry.S and move it to arch/m32r/kernel/system_call.S. - Change sys_call_table section from .data to .rodata. Signed-off-by: Hirokazu Takata commit de2232edb8d82aca938570eb6f136e2d70a26418 Author: Hirokazu Takata Date: Sat Aug 18 00:10:18 2007 +0900 m32r: Cosmetic updates of arch/m32r/kernel/entry.S - Remove unused symbols *_MASK - Change indentation of comments, etc. Signed-off-by: Hirokazu Takata commit abd0a782359717ded8f663bc5b8e5e9e3cc4f5e7 Author: Hirokazu Takata Date: Fri Aug 17 23:40:37 2007 +0900 m32r: Exit ei_handler directly for no IRQ case or IPI operations If no IRQ request is found in the IRQ check of ei_handler, we can exit directly by jumping "restore_all", instead of via "ret_from_intr". This modification is also likely effective for IPI operations, because scheduler call never happen at the exit of IPIs. Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata commit 5171b100511513bc52875055f7d900fc3f7c922b Author: Hirokazu Takata Date: Fri Aug 17 18:11:37 2007 +0900 m32r: Simplify ei_handler code Simplify and clean up messy ei_handler code in arch/m32r/kernel/entry.S. - Remove ifdef's for CONFIG_CHIP_* configulations. - Rearrange the M32700 workaround code. - Remove the messy platform-dependent interrupt check routines and consolidate them to common INT0/INT1/INT2 check routines for all platforms with cascaded interrupt controllers. Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata commit e070fb743d9d13d9757e633d1bdd1f9c20b2d792 Author: Hirokazu Takata Date: Fri Aug 17 17:22:15 2007 +0900 m32r: Define symbols to unify platform-dependent ICU checks On some m32r platforms, cascaded ICUs are used. This patch is required to simplify ei_handler and consolidate platform- dependent ICU check routines. platform ICU/INT1 ICU/INT0 ICU/INT2 -------------- -------- -------- -------- m32104ut o - - m32700ut o o o opsput o o o usrv o - - (others) - - - Signed-off-by: Hitoshi Yamamoto Signed-off-by: Hirokazu Takata commit ef64cf605daa9c36d950ba94cc115b0aed130dbc Author: Hirokazu Takata Date: Wed Aug 1 21:10:11 2007 +0900 m32r: Move dot.gdbinit files Move dot.gdbinit files from arch/m32r/{platforms}/dot.gdbinit* to arch/m32r/platforms/{platform}/. Signed-off-by: Hirokazu Takata commit 3264f976d3188bea80819793c13a3220b8a4867c Author: Hirokazu Takata Date: Wed Aug 1 21:09:31 2007 +0900 m32r: Rearrange platform-dependent codes Rearrange platform-dependent codes from arch/m32r/kernel/*.c to arch/m32r/platforms/{platform}/. Signed-off-by: Hirokazu Takata commit e6a7ba7efddbb393b726453eae8601ef02b9a610 Author: Hirokazu Takata Date: Wed Aug 1 21:00:46 2007 +0900 m32r: Add defconfig file for the usrv platform. Add usrv_defcofig file for the usrv (M32R MicroServer) platform. platform defconfig Note ---------- ---------------------- --------------------------- usrv usrv_defconfig SMP Signed-off-by: Hirokazu Takata commit 9716e886aab47bc79fb3f9aad574d9d94662b6b0 Author: Hirokazu Takata Date: Wed Aug 1 20:59:20 2007 +0900 m32r: Update defconfig files for 2.6.23-rc1 Update defconfig files for 2.6.23-rc1 in arch/m32r/configs/. Signed-off-by: Hirokazu Takata commit 8ff262df2cf3f7878ba064a10f56c1b42fefa534 Author: Hirokazu Takata Date: Wed Aug 1 20:54:38 2007 +0900 m32r: Move defconfig files to arch/m32r/configs/ Change defconfig file's location from arch/m32r/{platform}/defconfig* to arch/m32r/configs/{platform}_defconfig. Applying this patch, we can use defconfig file for each m32r platform easily, like other architectures. ex. Setup defconfig for cross-building $ make ARCH=m32r CROSS_COMPILE=m32r-linux-gnu- {platform}_defconfig. platform defconfig Note ---------- ---------------------- --------------------------- m32104ut m32104ut_defconfig MMU-less m32700ut m32700ut.smp_defconfig SMP m32700ut m32700ut.up_defconfig UP mappi mappi.smp_defconfig SMP mappi mappi.up_defconfig UP mappi mappi.nommu_defconfig MMU-less mappi2 mappi2.opsp_defconfig FPGA env. (CPU Core: OPSP) mappi2 mappi2.vdec2_defconfig FPGA env. (CPU Core: VDEC2) mappi3 imappi3.smp_defconfig SMP oaks32r oaks32r_defconfig MMU-less opsput opsput_defconfig UP Signed-off-by: Hirokazu Takata commit 48440e893d700fb8f0de95fa7d748b711d290365 Author: David Howells Date: Thu Aug 30 17:21:19 2007 +0100 [MTD] Initialise s_flags in get_sb_mtd_aux() Initialise s_flags in get_sb_mtd_aux() from the flags parameter. Signed-off-by: David Howells Signed-off-by: David Woodhouse commit fc0e01974ccccc7530b7634a63ee3fcc57b845ea Author: Jason Lunz Date: Sat Sep 1 12:06:03 2007 -0700 [JFFS2] fix write deadlock regression I've bisected the deadlock when many small appends are done on jffs2 down to this commit: commit 6fe6900e1e5b6fa9e5c59aa5061f244fe3f467e2 Author: Nick Piggin Date: Sun May 6 14:49:04 2007 -0700 mm: make read_cache_page synchronous Ensure pages are uptodate after returning from read_cache_page, which allows us to cut out most of the filesystem-internal PageUptodate calls. I didn't have a great look down the call chains, but this appears to fixes 7 possible use-before uptodate in hfs, 2 in hfsplus, 1 in jfs, a few in ecryptfs, 1 in jffs2, and a possible cleared data overwritten with readpage in block2mtd. All depending on whether the filler is async and/or can return with a !uptodate page. It introduced a wait to read_cache_page, as well as a read_cache_page_async function equivalent to the old read_cache_page without any callers. Switching jffs2_gc_fetch_page to read_cache_page_async for the old behavior makes the deadlocks go away, but maybe reintroduces the use-before-uptodate problem? I don't understand the mm/fs interaction well enough to say. [It's fine. dwmw2.] Signed-off-by: Jason Lunz Signed-off-by: David Woodhouse commit 1b3b4a1a2deb7d3e5d66063bd76304d840c966b3 Author: Trond Myklebust Date: Tue Aug 28 10:29:36 2007 -0400 NFS: Fix a write request leak in nfs_invalidate_page() Ryusuke Konishi says: The recent truncate_complete_page() clears the dirty flag from a page before calling a_ops->invalidatepage(), ^^^^^^ static void truncate_complete_page(struct address_space *mapping, struct page *page) { ... cancel_dirty_page(page, PAGE_CACHE_SIZE); <--- Inserted here at kernel 2.6.20 if (PagePrivate(page)) do_invalidatepage(page, 0); ---> will call a_ops->invalidatepage() ... } and this is disturbing nfs_wb_page_priority() from calling nfs_writepage_locked() that is expected to handle the pending request (=nfs_page) associated with the page. int nfs_wb_page_priority(struct inode *inode, struct page *page, int how) { ... if (clear_page_dirty_for_io(page)) { ret = nfs_writepage_locked(page, &wbc); if (ret < 0) goto out; } ... } Since truncate_complete_page() will get rid of the page after a_ops->invalidatepage() returns, the request (=nfs_page) associated with the page becomes a garbage in nfs_inode->nfs_page_tree. ------------------------ Fix this by ensuring that nfs_wb_page_priority() recognises that it may also need to clear out non-dirty pages that have an nfs_page associated with them. Signed-off-by: Trond Myklebust commit 7d1cca72994c0e910ca443076dcfcfd473871dda Author: Chuck Lever Date: Wed Aug 29 17:59:03 2007 -0400 NFS: change NFS mount error return when hostname/pathname too long According to the mount(2) man page, the proper error return code for the mount(2) system call when the special device name or the mounted-on directory name is too long is ENAMETOOLONG. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit 350c73af6af51ae7654dad91874c0d30dd13bbbe Author: Chuck Lever Date: Wed Aug 29 17:59:01 2007 -0400 NFS: Off-by-one length error in string handling The hostname was getting truncated in the new text-based NFS mount API. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fdc6e2c8c0dc0ac702fca0b802f5d9ae99a54bb6 Author: Chuck Lever Date: Wed Aug 29 17:58:59 2007 -0400 NFS: Return a real error code from mount(2) Don't filter the return code from the in-kernel rpcbind or NFS mount clients. Return the real error code so that callers of the new NFS text-based mount API can apply a useful retry strategy. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit fdb66ff4ace3c4e18809b9b71dfcce1692143147 Author: Chuck Lever Date: Wed Aug 29 17:58:57 2007 -0400 NFS: mount option parser chokes on proto= The new text-based NFS mount option parsing logic doesn't recognize any valid transport protocols due to a silly mistake in the protocol token matching logic. This prevents basic mount requests such as: mount.nfs server:/export /mnt -o proto=tcp from working with the new text-based NFS mount API. Signed-off-by: Chuck Lever Signed-off-by: Trond Myklebust commit deee9369b993b52a8e2f25683b4a67be7a65e8ae Author: Trond Myklebust Date: Mon Aug 27 11:33:00 2007 -0400 NFSv4: Ensure that we pass the correct dentry to nfs4_intent_set_file This patch fixes an Oops that was reported by Gabriel Barazer. Signed-off-by: Trond Myklebust commit 65bbf6bdbba0f74e254f706bfb00fe533974f4f1 Author: Trond Myklebust Date: Mon Aug 27 09:57:46 2007 -0400 NFSv4: Fix a typo in _nfs4_do_open_reclaim This should fix the following Oops reported by Jeff Garzik: kernel BUG at fs/nfs/nfs4xdr.c:1040! invalid opcode: 0000 [1] SMP CPU 0 Modules linked in: nfs lockd sunrpc af_packet ipv6 cpufreq_ondemand acpi_cpufreq battery floppy nvram sg snd_hda_intel ata_generic snd_pcm_oss snd_mixer_oss snd_pcm i2c_i801 snd_page_alloc e1000 firewire_ohci ata_piix i2c_core sr_mod cdrom sata_sil ahci libata sd_mod scsi_mod ext3 jbd ehci_hcd uhci_hcd Pid: 16353, comm: 10.10.10.1-recl Not tainted 2.6.23-rc3 #1 RIP: 0010:[] [] :nfs:encode_open+0x1c0/0x330 RSP: 0018:ffff8100467c5c60 EFLAGS: 00010202 RAX: ffff81000f89b8b8 RBX: 00000000697a6f6d RCX: ffff81000f89b8b8 RDX: 0000000000000004 RSI: 0000000000000004 RDI: ffff8100467c5c80 RBP: ffff8100467c5c80 R08: ffff81000f89bc30 R09: ffff81000f89b83f R10: 0000000000000001 R11: ffffffff881e79e0 R12: ffff81003cbd1808 R13: ffff81000f89b860 R14: ffff81005fc984e0 R15: ffffffff88240af0 FS: 0000000000000000(0000) GS:ffffffff8052a000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: 00002adb9e51a030 CR3: 000000007ea7e000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process 10.10.10.1-recl (pid: 16353, threadinfo ffff8100467c4000, task ffff8100038ce780) Stack: ffff81004aeb6a40 ffff81003cbd1808 ffff81003cbd1808 ffffffff88240b5d ffff81000f89b8bc ffff81005fc984e8 ffff81000f89bc30 ffff81005fc984e8 0000000300000000 0000000000000000 0000000000000000 ffff81003cbd1800 Call Trace: [] :nfs:nfs4_xdr_enc_open_noattr+0x6d/0x90 [] :sunrpc:rpcauth_wrap_req+0x97/0xf0 [] :nfs:nfs4_xdr_enc_open_noattr+0x0/0x90 [] :sunrpc:call_transmit+0x18a/0x290 [] :sunrpc:__rpc_execute+0x6b/0x290 [] :sunrpc:rpc_do_run_task+0x76/0xd0 [] :nfs:_nfs4_proc_open+0x76/0x230 [] :nfs:nfs4_open_recover_helper+0x5e/0xc0 [] :nfs:nfs4_open_recover+0xe4/0x120 [] :nfs:nfs4_open_reclaim+0xa4/0xf0 [] :nfs:nfs4_reclaim_open_state+0x55/0x1b0 [] :nfs:reclaimer+0x2ca/0x390 [] :nfs:reclaimer+0x0/0x390 [] kthread+0x4b/0x80 [] child_rip+0xa/0x12 [] kthread+0x0/0x80 [] child_rip+0x0/0x12 Code: 0f 0b eb fe 48 89 ef c7 00 00 00 00 02 be 08 00 00 00 e8 79 RIP [] :nfs:encode_open+0x1c0/0x330 RSP Signed-off-by: Trond Myklebust commit 560aef74503e928f44ddbf481b8b02d9cef37dbf Author: Trond Myklebust Date: Mon Aug 27 09:14:56 2007 -0400 NFS: Fix use of cancel_delayed_work_sync in nfs_release_automount_timer Doh! We can't use cancel_delayed_work_sync because we may have been called from an unmount that was being performed by nfs_automount_task. Signed-off-by: Trond Myklebust commit b4154d4a01c6cc98b97dc239ca4302316c8f98da Author: Ondrej Zary Date: Sat Sep 1 00:55:21 2007 +0200 Fix sata_via write errors on PATA drive connected to VT6421 I think that I've found and fixed the problem. There is a copy/paste bug in vt6421_set_dma_mode() function which causes wrong values to be written to PATA_UDMA_TIMING register. This patch fixes a copy/paste bug that breaks DMA modes on VT6421 PATA port. Signed-off-by: Ondrej Zary Acked-by: Alan Cox Signed-off-by: Jeff Garzik commit 7d05154840db52201d8e719fd0f091b8381e362f Author: Jeff Garzik Date: Sat Sep 1 06:48:52 2007 -0400 [libata] ata_piix: properly terminate DMI system list If you don't terminate a list, bad things happen... Signed-off-by: Jeff Garzik commit 7b3166dbc3df5b72f2ba4ea130f4461e318a3838 Author: Peter Chubb Date: Tue Aug 21 13:57:01 2007 +1000 [IA64] Cleanup HPSIM code (was: Re: Enable early console for Ski simulator) After my last patch we have a new header file for HP simulator use. Here's code to use it for stuff that used to have `extern' statements inline in the code. Functionality should not change with this patch. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 8b713c67bccef7cabb0ee915f47eb33d82636af9 Author: Peter Chubb Date: Tue Aug 21 13:51:45 2007 +1000 [IA64] Enable early console for Ski simulator This patch cleans up the `enable early console for SKI' patch (471e7a44848f467c9b83adc3463d019d2fa8817f), and 1. potentially allows the gensparse_defconfig to work again. (there are other problems running a generic kernel on Ski) 2. fixes the `console registered twice' problem. 3. Cleans up the code by moving the `extern hpsim_cons' declaration to a new asm/hpsim.h file. Thanks to Jes for comments. Signed-off-by: Peter Chubb Signed-off-by: Tony Luck commit 99a19cf1c0eb22bad83fff060f08330ee9e029e2 Author: Prarit Bhargava Date: Wed Aug 22 14:34:38 2007 -0400 [IA64] Stop bogus NMI & softlockup warnings in ia64 show_mem When dumping memory via sysrq-m it is possible to take a bogus NMI watchdog or softlockup watchdog because the dump can take a long time on big memory systems. Occasionally tickle the watchdog when doing the dump. Signed-off-by: Prarit Bhargava Signed-off-by: Tony Luck commit 6e9de18120988388cdae5097c09e774416d58745 Author: John Keller Date: Wed Aug 22 19:32:06 2007 -0500 [IA64] SN: Add support for CPU disable Add additional support for CPU disable on SN platforms. Correctly setup the smp_affinity mask for I/O error IRQs. Restrict the use of the feature to Altix 4000 and 450 systems running with a CPU disable capable PROM, and do not allow disabling of CPU 0. Signed-off-by: John Keller Signed-off-by: Tony Luck commit 1aac0b5739ae192ee812eee09625ebfc08c2d760 Author: Jesper Juhl Date: Fri Aug 24 01:40:26 2007 +0200 [IA64] Remove unnecessary cast of allocation return value in sn_hwperf_enum_objects() vmalloc() returns a void pointer - no need to cast it. Signed-off-by: Jesper Juhl Signed-off-by: Tony Luck commit f82f3f9422d4da1eeec6f6cf3e64c6c34c4fe19b Author: Roman Zippel Date: Thu Aug 30 05:06:17 2007 +0200 kconfig: oldconfig shall not set symbols if it does not need to Avoid setting the value if the symbol doesn't need to be changed or can't be changed. Later choices may change the dependencies and thus the possible input range. make oldconfig from a 2.6.22 .config with CONFIG_HOTPLUG_CPU not set was in some configurations setting CONFIG_HOTPLUG_CPU=y without asking, even when there was no actual requirement for CONFIG_HOTPLUG_CPU. This was triggered by SUSPEND_SMP that does a select HOTPLUG_CPU. Signed-off-by: Roman Zippel Tested-by: Hugh Dickins Signed-off-by: Sam Ravnborg commit 5c127c58ae9bf196d787815b1bd6b0aec5aee816 Author: David S. Miller Date: Fri Aug 31 14:39:44 2007 -0700 [TCP]: 'dst' can be NULL in tcp_rto_min() Reported by Rick Jones. Signed-off-by: David S. Miller commit f740e6c9c55cac6ab0a7d44a464b54467cca4f4f Author: Kenji Kaneshige Date: Wed Aug 22 19:53:30 2007 +0900 [IA64] Clear pending interrupts at CPU boot up time The pending interrupts can be remaining at boot up time on some platform. This will cause spurious interrupts when interrupt is enabled for the first time. This patch clears IVR at the CPU initialization to eliminate such spurious interrupts. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 17764d2437b0c4440e0718205f2c26dbaa72bc27 Author: Kenji Kaneshige Date: Tue Aug 28 16:01:21 2007 -0700 [IA64] Fix unexpected interrupt vector handling Fix handling for spurious interrupts not being mapped to any IRQs. Currently, spurious interrupts that are not mapped to any IRQs are handled as IRQ 15 (== IA64_SPURIOUS_VECTOR). But it is not proper because vector != irq. We need special handlings for such spurious interrupts not being mapped to any IRQs. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck