11 Sep, 2007

29 commits

  • 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

    Daniel Walker
     
  • 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

    Andi Kleen
     
  • 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

    Stephane Eranian
     
  • 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

    Neil Brown
     
  • 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

    Neil Brown
     
  • 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

    Roland McGrath
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
    [MIPS] Ocelot: remove remaining bits
    [MIPS] TLB: Fix instruction bitmasks
    [MIPS] R10000: Fix wrong test in dma-default.c
    [MIPS] Provide empty irq_enable_hazard definition for legacy and R1 cores.
    [MIPS] Sibyte: Remove broken dependency on EXPERIMENTAL from SIBYTE_SB1xxx_SOC.
    [MIPS] Kconfig: whitespace cleanup.
    [MIPS] PCI: Set need_domain_info if controller domain index is non-zero.
    [MIPS] BCM1480: Fix computation of interrupt mask address register.
    [MIPS] i8259: Add disable method.
    [MIPS] tty: add the new ioctls and definitions.

    Linus Torvalds
     
  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
    i2c-algo-bit: Read block data bugfix
    i2c-pxa: Fix adapter number
    i2c-gpio: Fix adapter number

    Linus Torvalds
     
  • * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6:
    hwmon: End of I/O region off-by-one

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    [CRYPTO] blkcipher: Fix inverted test in blkcipher_get_spot
    [CRYPTO] blkcipher: Fix handling of kmalloc page straddling

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
    firewire: fw-ohci: ignore failure of pci_set_power_state (fix suspend regression)

    Linus Torvalds
     
  • * 'for-linus' of git://www.linux-m32r.org/git/takata/linux-2.6_dev:
    m32r: Rename STI/CLI macros
    m32r: build fix of entry.S
    m32r: Separate syscall table from entry.S
    m32r: Cosmetic updates of arch/m32r/kernel/entry.S
    m32r: Exit ei_handler directly for no IRQ case or IPI operations
    m32r: Simplify ei_handler code
    m32r: Define symbols to unify platform-dependent ICU checks
    m32r: Move dot.gdbinit files
    m32r: Rearrange platform-dependent codes
    m32r: Add defconfig file for the usrv platform.
    m32r: Update defconfig files for 2.6.23-rc1
    m32r: Move defconfig files to arch/m32r/configs/

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
    sched: fix ideal_runtime calculations for reniced tasks
    sched: improve prev_sum_exec_runtime setting
    sched: simplify __check_preempt_curr_fair()
    sched: fix xtensa build warning
    sched: debug: fix sum_exec_runtime clearing
    sched: debug: fix cfs_rq->wait_runtime accounting
    sched: fix niced_granularity() shift
    sched: fix MC/HT scheduler optimization, without breaking the FUZZ logic.

    Linus Torvalds
     
  • * 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6:
    [XFS] fix nasty quota hashtable allocation bug
    [XFS] fix sparse shadowed variable warnings
    [XFS] fix ASSERT and ASSERT_ALWAYS
    [XFS] Fix sparse warning in kmem_shake_allow
    [XFS] Fix sparse NULL vs 0 warnings
    [XFS] Set filestreams object timeout to something sane.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hpa/linux-2.6-x86setup:
    [x86 setup] Work around bug in Xen HVM

    Linus Torvalds
     
  • Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     
  • Signed-Off-By: Thiemo Seufer
    Signed-off-by: Ralf Baechle

    Thiemo Seufer
     
  • Signed-off-by: Maxime Bizon
    Signed-off-by: Ralf Baechle

    Maxime Bizon
     
  • 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

    Ralf Baechle
     
  • Otherwise Kconfig will produce a nonsenical .config for a kernel that is
    neither 32-bit nor 64-bit.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • 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

    Ralf Baechle
     
  • 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

    Ralf Baechle
     
  • 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

    Kyungmin Park
     
  • 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

    Alan Cox
     
  • 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

    Joachim Fenkes
     
  • 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

    Geert Uytterhoeven
     
  • 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

    Jeremy Kerr
     
  • 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

    Masato Noguchi
     

10 Sep, 2007

4 commits

  • 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

    Herbert Xu
     
  • 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

    David Brownell
     
  • 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

    Jean Delvare
     
  • 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

    David Brownell
     

09 Sep, 2007

2 commits

  • 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

    Jean Delvare
     
  • 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

    Herbert Xu
     

08 Sep, 2007

1 commit

  • 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

    Stefan Richter
     

06 Sep, 2007

2 commits

  • 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

    Hirokazu Takata
     
  • This patch fixes the following compile error:

    ...
    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

    Signed-off-by: Hirokazu Takata
    Cc: Adrian Bunk

    Hirokazu Takata
     

05 Sep, 2007

2 commits

  • 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

    Peter Zijlstra
     
  • 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

    Peter Zijlstra