01 Jan, 2009

3 commits


30 Dec, 2008

1 commit


29 Dec, 2008

1 commit


16 Dec, 2008

1 commit


04 Dec, 2008

1 commit

  • The code used '&= 0x00002000' when it tried to set the TCO_EN bit, which
    obviously didn't set that bit at all, but instead just reset all the
    other bits in the SMI_EN register.

    This bug seemingly caused various random behavior, with Frans Pop
    reporting that X.org just silently hung at startup and Rafael Wysocki
    reports the fan spinning with full speed.

    See
    http://lkml.org/lkml/2008/12/3/178
    http://bugzilla.kernel.org/show_bug.cgi?id=12162

    The problem seems to have been triggered by "[WATCHDOG] iTCO_wdt :
    problem with rebooting on new ICH9 based motherboards" (commit
    7cd5b08be3c489df11b559fef210b81133764ad4), but the bogus code existed
    before that too (in the "supermicro_old_pre_stop()" function), it just
    apparently never showed up due to different logic.

    In that commit the broken code got moved around and now gets executed
    much more.

    Reported-by: Rafael J. Wysocki
    Tested-by: Frans Pop
    Cc: Wim Van Sebroeck
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

01 Dec, 2008

1 commit

  • When the "hpwdt" module is loaded (even if the /dev/watchdog device is not
    opened), then kdump does not work. The panic kernel either does not start at
    all or crash in various places.

    The problem is that hpwdt_pretimeout is registered with register_die_notifier()
    with the highest possible priority. Because it returns NOTIFY_STOP, the
    crash_nmi_callback which is also registered with register_die_notifier()
    is never executed. This causes the shutdown of other CPUs to fail.

    Reverting the order is no option: The crash_nmi_callback executes HLT
    and so never returns normally. Because of that, it must be executed as
    last notifier, which currently is done.

    So, that patch returns NOTIFY_OK to keep the crash_nmi_callback executed.

    Signed-off-by: Bernhard Walle
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Thomas Mingarelli
    Cc: Vivek Goyal

    Bernhard Walle
     

30 Nov, 2008

2 commits


21 Nov, 2008

5 commits

  • The address provided by the SMBIOS/DMI CRU information is mapped via
    ioremap() in the virtual address space. However, since the address is
    executed (i.e. call'd), we need to set that pages as executable.

    Without that, I get following oops on a HP ProLiant DL385 G2
    machine with BIOS from 05/29/2008 when I trigger crashdump:

    BUG: unable to handle kernel paging request at ffffc20011090c00
    IP: [] 0xffffc20011090c00
    PGD 12f813067 PUD 7fe6a067 PMD 7effe067 PTE 80000000fffd3173
    Oops: 0011 [1] SMP
    last sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map
    CPU 1
    Modules linked in: autofs4 ipv6 af_packet cpufreq_conservative cpufreq_userspace
    cpufreq_powersave powernow_k8 fuse loop dm_mod rtc_cmos ipmi_si sg rtc_core i2c
    _piix4 ipmi_msghandler bnx2 sr_mod container button i2c_core hpilo joydev pcspkr
    rtc_lib shpchp hpwdt cdrom pci_hotplug usbhid hid ff_memless ohci_hcd ehci_hcd
    uhci_hcd usbcore edd ext3 mbcache jbd fan ide_pci_generic serverworks ide_core p
    ata_serverworks pata_acpi cciss ata_generic libata scsi_mod dock thermal process
    or thermal_sys hwmon
    Supported: Yes
    Pid: 0, comm: swapper Not tainted 2.6.27.5-HEAD_20081111100657-default #1
    RIP: 0010:[] [] 0xffffc20011090c00
    RSP: 0018:ffff88012f6f9e68 EFLAGS: 00010046
    RAX: 0000000000000d02 RBX: 0000000000000000 RCX: 0000000000000000
    RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
    RBP: ffff88012f6f9e98 R08: 666666666666660a R09: ffffffffa1006fc0
    R10: 0000000000000000 R11: ffff88012f6f3ea8 R12: ffffc20011090c00
    R13: ffff88012f6f9ee8 R14: 000000000000000e R15: 0000000000000000
    FS: 00007ff70b29a6f0(0000) GS:ffff88012f6512c0(0000) knlGS:0000000000000000
    CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b
    CR2: ffffc20011090c00 CR3: 0000000000201000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process swapper (pid: 0, threadinfo ffff88012f6f2000, task ffff88007fa8a1c0)
    Stack: ffffffffa0f8502b 0000000000000002 ffffffff80738d50 0000000000000000
    0000000000000046 0000000000000046 00000000fffffffe ffffffffa0f852ec
    0000000000000000 ffffffff804ad9a6 0000000000000000 0000000000000000
    Call Trace:
    Inexact backtrace:

    [] ? asminline_call+0x2b/0x55 [hpwdt]
    [] hpwdt_pretimeout+0x3c/0xa0 [hpwdt]
    [] ? notifier_call_chain+0x29/0x4c
    [] ? notify_die+0x2d/0x32
    [] ? default_do_nmi+0x53/0x1d9
    [] ? do_nmi+0x2e/0x43
    [] ? nmi+0xa2/0xd0
    [] ? native_safe_halt+0x2/0x3
    <> [] ? default_idle+0x38/0x54
    [] ? c1e_idle+0x118/0x11c
    [] ? cpu_idle+0xa9/0xf1

    Code: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 50 e8 00 00 00 00 58 48 2d 07 10 40 00 48 8b e8 58 e9 68 02
    RIP [] 0xffffc20011090c00
    RSP
    CR2: ffffc20011090c00
    Kernel panic - not syncing: Fatal exception

    Signed-off-by: Bernhard Walle
    Signed-off-by: Wim Van Sebroeck
    Cc: Ingo Molnar
    Acked-by: "H. Peter Anvin"
    Signed-off-by: Thomas Mingarelli
    Cc: Alan Cox
    Signed-off-by: Andrew Morton

    Bernhard Walle
     
  • Add support for the following I/O controller hubs:
    ICH7DH, ICH9M, ICH9M-E, ICH10, ICH10R, ICH10D and ICH10DO.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • The iTCO_wdt code was not clearing the correct bits.
    It now clears the timeout status bit and then the
    SECOND_TO_STS bit and then the BOOT_STS bit.
    Note: we should first clear the SECOND_TO_STS bit
    before clearing the BOOT_STS bit.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • Bugzilla #9868: On Intel motherboards with the ICH9 based I/O controllers
    (Like DP35DP and DG33FB) the iTCO timer counts but it doesn't reboot the
    system after the counter expires.

    This patch fixes this by moving the enabling & disabling of the TCO_EN bit
    in the SMI_EN register into the start and stop code.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • Using spin_lock_irqsave with a local variable called flags without
    declaring is a bad idea, fix this by declaring it.

    Signed-off-by: Florian Fainelli
    Signed-off-by: Wim Van Sebroeck

    Florian Fainelli
     

12 Nov, 2008

1 commit

  • * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    powerpc: Update desktop/server defconfigs
    powerpc: Fix msr check in compat_sys_swapcontext
    powerpc: Repair device bindings documentation
    powerpc: Updated Freescale PPC related defconfigs
    powerpc: Update QE/CPM2 usb_ctlr structures for USB support
    powerpc/86xx: Correct SOC bus-frequency in GE Fanuc SBC610 DTS
    powerpc: Fix Book-E watchdog timer interval setting
    powerpc/fsl-booke: Fix synchronization bug w/local tlb invalidates

    Linus Torvalds
     

09 Nov, 2008

1 commit

  • This patch fixes the setting of the Book-E watchdog timer interval setup
    on initialization and by ioctl().

    On initialization the period bits have to be masked before setting
    a new period.

    In WDIOC_SETTIMEOUT ioctl we have to use the correct mask.

    Signed-off-by: Matthias Fuchs
    Acked-by: Timur Tabi
    Signed-off-by: Kumar Gala

    Matthias Fuchs
     

06 Nov, 2008

2 commits


03 Nov, 2008

1 commit


30 Oct, 2008

1 commit


29 Oct, 2008

1 commit


24 Oct, 2008

2 commits

  • Use the newly introduced pci_ioremap_bar() function in drivers/watchdog.
    pci_ioremap_bar() just takes a pci device and a bar number, with the goal
    of making it really hard to get wrong, while also having a central place
    to stick sanity checks.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Wim Van Sebroeck

    Arjan van de Ven
     
  • This seems to have popped up after the recent merges:

    drivers/watchdog/w83697ug_wdt.c: In function ‘w83697ug_select_wd_register’:
    drivers/watchdog/w83697ug_wdt.c:105: warning: ‘return’ with a value, in function returning void

    Signed-off-by: Alan Cox
    Acked-by: Wim Van Sebroeck
    Signed-off-by: Linus Torvalds

    Alan Cox
     

15 Oct, 2008

1 commit

  • This fixes Bug 11399:
    if ibwdt_set_heartbeat(int t) is called with value 30 then
    the check "if ((t < 0) || (t > 30))" in ibwdt_set_heartbeat
    is not going to fail because t == 30, but in the loop, the
    check wd_times[i] > t is never going to be true because
    none of the wd_times are greater than the value of t (i.e. 30).
    So we are exiting the loop with i == -1 and therefore setting
    wd_margin to -1 which is wrong.

    Reported-by: Zvonimir Rakamaric
    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     

13 Oct, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] orion5x_wdt.c: add spinlocking
    [WATCHDOG] Orion: add hardware watchdog support
    [WATCHDOG] omap_wdt.c: cleanup a bit omap_wdt.c
    [WATCHDOG] omap_wdt.c: another ioremap() fix
    [WATCHDOG] omap_wdt.c: sync linux-omap changes
    [WATCHDOG] Add AT91SAM9X watchdog
    [WATCHDOG] Add driver for winbond w83697ug/uf watchdog feature
    [WATCHDOG] add watchdog driver IT8716 IT8726 IT8712J/K

    Linus Torvalds
     

12 Oct, 2008

2 commits

  • Conflicts:

    sound/core/memalloc.c

    David S. Miller
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (236 commits)
    [ARM] 5300/1: fixup spitz reset during boot
    [ARM] 5295/1: make ZONE_DMA optional
    [ARM] 5239/1: Palm Zire 72 power management support
    [ARM] 5298/1: Drop desc_handle_irq()
    [ARM] 5297/1: [KS8695] Fix two compile-time warnings
    [ARM] 5296/1: [KS8695] Replace macro's with trailing underscores.
    [ARM] pxa: allow multi-machine PCMCIA builds
    [ARM] pxa: add preliminary CPUFREQ support for PXA3xx
    [ARM] pxa: add missing ACCR bit definitions to pxa3xx-regs.h
    [ARM] pxa: rename cpu-pxa.c to cpufreq-pxa2xx.c
    [ARM] pxa/zylonite: add support for USB OHCI
    [ARM] ohci-pxa27x: use ioremap() and offset for register access
    [ARM] ohci-pxa27x: introduce pxa27x_clear_otgph()
    [ARM] ohci-pxa27x: use platform_get_{irq,resource} for the resource
    [ARM] ohci-pxa27x: move OHCI controller specific registers into the driver
    [ARM] ohci-pxa27x: introduce flags to avoid direct access to OHCI registers
    [ARM] pxa: move I2S register and bit definitions into pxa2xx-i2s.c
    [ARM] pxa: simplify DMA register definitions
    [ARM] pxa: make additional DCSR bits valid for PXA3xx
    [ARM] pxa: move i2c register and bit definitions into i2c-pxa.c
    ...

    Fixed up conflicts in
    arch/arm/mach-versatile/core.c
    sound/soc/pxa/pxa2xx-ac97.c
    sound/soc/pxa/pxa2xx-i2s.c
    manually.

    Linus Torvalds
     

10 Oct, 2008

9 commits


23 Sep, 2008

3 commits

  • Fix some drivers so that they use the unlocked_ioctl call.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • The wdt285.c watchdog driver is producing a number of
    sparse errors due to missing __user attributes to calls
    to put_user and copy_to_user, as well as in the prototype
    of watchdog_write.

    wdt285.c:144:21: warning: incorrect type in argument 1 (different address spaces)
    wdt285.c:144:21: expected void [noderef] *to
    wdt285.c:144:21: got void *
    wdt285.c:150:9: warning: incorrect type in initializer (different address spaces)
    wdt285.c:150:9: expected int const [noderef] *register __p
    wdt285.c:150:9: got int *
    wdt285.c:159:9: warning: incorrect type in initializer (different address spaces)
    wdt285.c:159:9: expected int const [noderef] *register __p
    wdt285.c:159:9: got int *
    wdt285.c:174:9: warning: incorrect type in initializer (different address spaces)
    wdt285.c:174:9: expected int const [noderef] *register __p
    wdt285.c:174:9: got int *
    wdt285.c:183:12: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
    wdt285.c:183:12: expected int ( *write )( ... )
    wdt285.c:183:12: got int ( static [toplevel] * )( ... )

    Signed-off-by: Ben Dooks
    Signed-off-by: Wim Van Sebroeck
    Signed-off-by: Andrew Morton

    Ben Dooks
     
  • __asr_toggle() is always called with asr_lock held.
    But there is unnecessary spin_unlock() call in __asr_toggle().

    Signed-off-by: Akinobu Mita
    Signed-off-by: Wim Van Sebroeck
    Acked-by: Andrey Panin
    Signed-off-by: Andrew Morton

    Akinobu Mita