12 Jun, 2008

1 commit


05 Jun, 2008

3 commits

  • fix:

    arch/x86/kernel/built-in.o: In function `proc_nmi_enabled':
    : undefined reference to `nmi_watchdog_default'
    arch/x86/kernel/built-in.o: In function `native_smp_prepare_cpus':
    : undefined reference to `nmi_watchdog_default'

    Signed-off-by: Ingo Molnar

    mingo@elte.hu
     
  • This patch does check if CPU is being recongnized
    before call the unreserve(). Since enable_lapic_nmi_watchdog()
    does have such a check the same is make sense here too
    in a sake of code consistency (but nothing more).

    Signed-off-by: Cyrill Gorcunov
    Cc: mingo@redhat.com
    Cc: hpa@zytor.com
    Cc: macro@linux-mips.org
    Signed-off-by: Thomas Gleixner

    Cyrill Gorcunov
     
  • 64bit mode bootstrap code does set nmi_watchdog to NMI_NONE
    by default and doing the same on 32bit mode is safe too.
    Such an action saves us from several #ifdef.

    Btw, my previous commit

    commit 19ec673ced067316b9732bc6d1c4ff4052e5f795
    Author: Cyrill Gorcunov
    Date: Wed May 28 23:00:47 2008 +0400

    x86: nmi - fix incorrect NMI watchdog used by default

    did not fix the problem completely, moreover it
    introduced additional bug - nmi_watchdog would be
    set to either NMI_LOCAL_APIC or NMI_IO_APIC
    _regardless_ to boot option if being enabled thru
    /proc/sys/kernel/nmi_watchdog. Sorry for that.
    Fix it too.

    Signed-off-by: Cyrill Gorcunov
    Cc: mingo@redhat.com
    Cc: hpa@zytor.com
    Cc: macro@linux-mips.org
    Signed-off-by: Thomas Gleixner

    Cyrill Gorcunov
     

02 Jun, 2008

2 commits


30 May, 2008

1 commit


29 May, 2008

1 commit

  • The commit

    commit 4b82b277707a39b97271439c475f186f63ec4692
    Author: Cyrill Gorcunov
    Date: Sat May 24 19:36:35 2008 +0400

    set nmi_watchdog to NMI_IO_APIC as by default. This causes hangs on some
    machines with buggy watchdogs. Fix it - i.e. restore old behaviour.

    Thanks to Sitsofe Wheeler and Adrian Bunk for catching the problem
    and Maciej W. Rozycki for explanation what is going on there.

    Signed-off-by: Cyrill Gorcunov
    CC: Maciej W. Rozycki
    Signed-off-by: Ingo Molnar

    Cyrill Gorcunov
     

26 May, 2008

11 commits


25 May, 2008

1 commit


13 May, 2008

2 commits


12 May, 2008

15 commits

  • Linus Torvalds
     
  • * 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
    i2c: Convert some more new-style drivers to use module aliasing
    i2c: Match dummy devices by type
    i2c-sibyte: Mark i2c_sibyte_add_bus() as static
    i2c-sibyte: Correct a comment about frequency
    i2c: Improve the functionality documentation
    i2c: Improve smbus-protocol documentation
    i2c-piix4: Blacklist two mainboards
    i2c-piix4: Increase the intitial delay for the ServerWorks CSB5
    i2c-mpc: Compare to NO_IRQ instead of zero

    Linus Torvalds
     
  • It acts exactly like a regular 'cond_resched()', but will not get
    optimized away when CONFIG_PREEMPT is set.

    Normal kernel code is already preemptable in the presense of
    CONFIG_PREEMPT, so cond_resched() is optimized away (see commit
    02b67cc3ba36bdba351d6c3a00593f4ec550d9d3 "sched: do not do
    cond_resched() when CONFIG_PREEMPT").

    But when wanting to conditionally reschedule while holding a lock, you
    need to use "cond_sched_lock(lock)", and the new function is the BKL
    equivalent of that.

    Also make fs/locks.c use it.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Update 3 more new-style i2c drivers to use standard module aliasing
    instead of the old driver_name/type driver matching scheme. These
    video drivers aren't used yet so converting them is trivial.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • As the old driver_name/type matching scheme is going away soon, change
    the dummy device mechanism to use the new matching scheme.

    This has the downside that dummy i2c clients can no longer choose
    their name, they'll all appear as "dummy" in sysfs and in log
    messages. I don't think it is a problem in practice though, as there
    is little reason to use these i2c clients to log messages.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • The i2c_sibyte_add_bus() function is not called, nor meant to, from
    outside, so mark it as static; fixing a sparse warning too.

    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Jean Delvare

    Maciej W. Rozycki
     
  • The frequency may have been once hardcoded to 100 kHz, but currently it is
    passed as an argument to i2c_sibyte_add_bus(), so update the comment to
    match code. While at it, reformat a nearby comment for consistency. No
    functional changes.

    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Jean Delvare

    Maciej W. Rozycki
     
  • Attempt to make the documentation about the I2C/SMBus functionality
    checking API clearer.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • Improve the smbus-protocol documentation file somewhat:

    - Use the names of the SMBus protocol operations (from the 2.0
    specification), not made-up-for-Linux names.

    - Add the name of the call used to execute each operation ... and
    point out that there are mismatches, where functions execute
    different protocol operations than their names specify.

    The most confusing examples are that "Read Byte" isn't executed by
    i2c_smbus_read_byte(), and that "Write Byte" isn't executed by
    i2c_smbus_write_byte(). When coding, that's not as bad as it may
    seem; but that case would seem to be worth fixing.

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • We had a report that running sensors-detect on a Sapphire AM2RD790
    motherbord killed the CPU. While the exact cause is still unknown,
    I'd rather play it safe and prevent any access to the SMBus on that
    machine by not letting the i2c-piix4 driver attach to the SMBus host
    device on that machine. Also blacklist a similar board made by DFI.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • Per the PIIX4 errata, there maybe a delay between setting the
    start bit in the Smbus Host Controller Register and the transaction
    actually starting. If the driver doesn't delay long enough, it
    may appear that the transaction is complete when actually it
    hasn't started, this may lead to bus collisions.

    While 1 ms appears to be enough for most chips, the ServerWorks CSB5
    wants 2 ms.

    Signed-off-by: David Milburn
    Signed-off-by: Jean Delvare

    David Milburn
     
  • Alter the mpc i2c driver to use the NO_IRQ symbol instead of the constant
    zero when checking for valid interrupts. NO_IRQ=-1 on ppc and NO_IRQ=0 on
    powerpc so the checks against zero are not correct.

    Signed-off-by: Jon Smirl
    Signed-off-by: Jean Delvare

    Jon Smirl
     
  • Add ThinkOptics WavIt to cp2101 device table

    Signed-off-by: Bernhard Beck
    Signed-off-by: Linus Torvalds

    Bernhard Beck
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc: Fix debugger syscall restart interactions.
    sparc: Fix ptrace() detach.
    sparc32: Don't twiddle PT_DTRACE in exec.
    sparc video: remove open boot prom code

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    [libata] revert new check-ready Status register logic

    Linus Torvalds
     

11 May, 2008

3 commits

  • So, forever, we've had this ptrace_signal_deliver implementation
    which tries to handle all of the nasties that can occur when the
    debugger looks at a process about to take a signal. It's meant
    to address all of these issues inside of the kernel so that the
    debugger need not be mindful of such things.

    Problem is, this doesn't work.

    The idea was that we should do the syscall restart business first, so
    that the debugger captures that state. Otherwise, if the debugger for
    example saves the child's state, makes the child execute something
    else, then restores the saved state, we won't handle the syscall
    restart properly because we lose the "we're in a syscall" state.

    The code here worked for most cases, but if the debugger actually
    passes the signal through to the child unaltered, it's possible that
    we would do a syscall restart when we shouldn't have.

    In particular this breaks the case of debugging a process under a gdb
    which is being debugged by yet another gdb. gdb uses sigsuspend
    to wait for SIGCHLD of the inferior, but if gdb itself is being
    debugged by a top-level gdb we get a ptrace_stop(). The top-level gdb
    does a PTRACE_CONT with SIGCHLD to let the inferior gdb see the
    signal. But ptrace_signal_deliver() assumed the debugger would cancel
    out the signal and therefore did a syscall restart, because the return
    error was ERESTARTNOHAND.

    Fix this by simply making ptrace_signal_deliver() a nop, and providing
    a way for the debugger to control system call restarting properly:

    1) Report a "in syscall" software bit in regs->{tstate,psr}.
    It is set early on in trap entry to a system call and is fully
    visible to the debugger via ptrace() and regsets.

    2) Test this bit right before doing a syscall restart. We have
    to do a final recheck right after get_signal_to_deliver() in
    case the debugger cleared the bit during ptrace_stop().

    3) Clear the bit in trap return so we don't accidently try to set
    that bit in the real register.

    As a result we also get a ptrace_{is,clear}_syscall() for sparc32 just
    like sparc64 has.

    M68K has this same exact bug, and is now the only other user of the
    ptrace_signal_deliver hook. It needs to be fixed in the same exact
    way as sparc.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Forever we had a PTRACE_SUNOS_DETACH which was unconditionally
    recognized, regardless of the personality of the process.

    Unfortunately, this value is what ended up in the GLIBC sys/ptrace.h
    header file on sparc as PTRACE_DETACH and PT_DETACH.

    So continue to recognize this old value. Luckily, it doesn't conflict
    with anything we actually care about.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] 5033/1: Unbreak corgi_ssp by registering ssp drivers earlier.
    [ARM] Orion: clean up addr-map.c after window setting code purge
    [ARM] Orion: pass proper t_clk into mv643xx_eth
    [ARM] Orion: use mv643xx_eth driver mbus window handling
    [ARM] pxa: Fix RCSR handling
    [ARM] lubbock: fix compilation
    [ARM] 5032/1: Added cpufreq support for pxa27x CPU
    [ARM] 5031/1: Indentation correction in cpu-pxa.c.
    [ARM] 5028/1: pxafb: fix broken "backward compatibility way" in framebuffer
    [ARM] 4882/2: Correction for S3C2410 clkout generation
    [ARM] 5027/1: Fixed random memory corruption on pxa suspend cycle.
    [ARM] 5024/1: Fix some minor clk issues in the MMCI PL18x driver
    [ARM] 5023/1: Fix broken gpio interrupts on ep93xx
    ns9xxx: fix sparse warning
    ns9xxx: check for irq lockups
    ns9xxx: fix handle_prio_irq to unmask irqs with lower priority

    Linus Torvalds