1. 01 Dec, 2008 1 commit
    • Bernhard Walle's avatar
      [WATCHDOG] hpwdt: Fix kdump when using hpwdt · 290172e7
      Bernhard Walle authored
      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: default avatarBernhard Walle <bwalle@suse.de>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      Signed-off-by: default avatarThomas Mingarelli <thomas.mingarelli@hp.com>
      Cc: Vivek Goyal <vgoyal@redhat.com>
      290172e7
  2. 21 Nov, 2008 6 commits
    • Bernhard Walle's avatar
      [WATCHDOG] hpwdt: set the mapped BIOS address space as executable · 06026413
      Bernhard Walle authored
      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: [<ffffc20011090c00>] 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:[<ffffc20011090c00>]  [<ffffc20011090c00>] 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:
      
           <NMI>  [<ffffffffa0f8502b>] ? asminline_call+0x2b/0x55 [hpwdt]
           [<ffffffffa0f852ec>] hpwdt_pretimeout+0x3c/0xa0 [hpwdt]
           [<ffffffff804ad9a6>] ? notifier_call_chain+0x29/0x4c
           [<ffffffff802587e4>] ? notify_die+0x2d/0x32
           [<ffffffff804abbdc>] ? default_do_nmi+0x53/0x1d9
           [<ffffffff804abd90>] ? do_nmi+0x2e/0x43
           [<ffffffff804ab552>] ? nmi+0xa2/0xd0
           [<ffffffff80221ef9>] ? native_safe_halt+0x2/0x3
           <<EOE>>  [<ffffffff8021345d>] ? default_idle+0x38/0x54
           [<ffffffff8021359a>] ? c1e_idle+0x118/0x11c
           [<ffffffff8020b3b5>] ? 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 <55> 50 e8 00 00 00 00 58 48 2d 07 10 40 00 48 8b e8 58 e9 68 02
          RIP  [<ffffc20011090c00>] 0xffffc20011090c00
           RSP <ffff88012f6f9e68>
          CR2: ffffc20011090c00
          Kernel panic - not syncing: Fatal exception
      Signed-off-by: default avatarBernhard Walle <bwalle@suse.de>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      Cc: Ingo Molnar <mingo@elte.hu>
      Acked-by: default avatar"H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarThomas Mingarelli <Thomas.Mingarelli@hp.com>
      Cc: Alan Cox <alan@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      06026413
    • Wim Van Sebroeck's avatar
      [WATCHDOG] iTCO_wdt: add PCI ID's for ICH9 & ICH10 chipsets · 28d41f53
      Wim Van Sebroeck authored
      Add support for the following I/O controller hubs:
      ICH7DH, ICH9M, ICH9M-E, ICH10, ICH10R, ICH10D and ICH10DO.
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      28d41f53
    • Wim Van Sebroeck's avatar
      [WATCHDOG] iTCO_wdt : correct status clearing · c6904ddb
      Wim Van Sebroeck authored
      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: default avatarWim Van Sebroeck <wim@iguana.be>
      c6904ddb
    • Wim Van Sebroeck's avatar
      [WATCHDOG] iTCO_wdt : problem with rebooting on new ICH9 based motherboards · 7cd5b08b
      Wim Van Sebroeck authored
      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: default avatarWim Van Sebroeck <wim@iguana.be>
      7cd5b08b
    • Florian Fainelli's avatar
      [WATCHDOG] fix mtx1_wdt compilation failure · f80e919b
      Florian Fainelli authored
      Using spin_lock_irqsave with a local variable called flags without
      declaring is a bad idea, fix this by declaring it.
      Signed-off-by: default avatarFlorian Fainelli <florian@openwrt.org>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      f80e919b
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · ed313489
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] 5330/1: mach-pxa: Fixup reset for systems using reboot=cold or other strings
        [ARM] pxa: fix incorrect PCMCIA PSKTSEL pin configuration for spitz
        [ARM] pxa: fix I2C controller device being registered twice on Akita
        pxafb: only initialize the smart panel thread when dealing with a smartpanel
        pxafb: introduce LCD_TYPE_MASK and use it.
      ed313489
  3. 20 Nov, 2008 33 commits