# [SOLVED] kernel hangs >=gentoo-sources-2.6.19 on some laptop

## Atha

Hi!

My computer is an IBM Thinkpad R51 1830-DG4, Pentium-M (Banias) 1.7MHz, 1.5GB RAM, 100GB IDE-HDD, ATI Mobility Radeon 9000.

I have a problem with the new stable kernel 2.6.19-r5; I also tried 2.6.19-r6: different output, same result; and 2.6.20: same as 2.6.19-r6.

Symtom:

The kernel randomly hangs on boot-up. There is a 3/10 chance it will boot, otherwise it freezes completely: only a cold reset is possible then, as Ctrl-Alt-Del does not work.

Error messages:

With the gentoo-kernel 2.6.19-r5 I have an unidentified number of "pci_get_subsys() called while pci_devices is still empty" messages on the screen and then the system freezes (or continues 3/10 times). These error messages are not related to the kernel freeze though, but you can find a solution here: Bug #162034; it is fixed in 2.6.19-r6 (currently ~arch).

With all >2.6.18 kernels the last line seen on the screen is:

```
Setting up standard PCI resources
```

Update to the update:

In the meantime I found out that I'm not the only one. It is an upstream problem concerning the vanilla kernel, you can find kernel bug at http://bugzilla.kernel.org/show_bug.cgi?id=7839

A temporary solution:

My kernel command line normally looks like this (GRUB):

```
kernel (hd0,0)/boot/kernel-gentoo26 root=/dev/ram0 init=/linuxrc crypt_root=/dev/hda1 udev video=radeonfb:mtrr,ywrap,1400x1050-32 splash=off hda=12921,240,63 lapic hdc=ide-cd

initrd (hd0,0)/boot/initrd-gentoo26
```

The solution is to disable the NMI watchdog (see /usr/src/linux/Documentation/nmi_watchdog.txt for details on what that is) by adding the following to the kernel command line:

```
nmi_watchdog=0

So my new grub.conf includes this:

kernel (hd0,0)/boot/kernel-gentoo26 root=/dev/ram0 init=/linuxrc crypt_root=/dev/hda1 udev video=radeonfb:mtrr,ywrap,1400x1050-32 splash=off hda=12921,240,63 lapic hdc=ide-cd nmi_watchdog=0

initrd (hd0,0)/boot/initrd-gentoo26
```

This way the kernel boots like a charm, no more system freezes during boot.

NOTE: I'm not sure wheather this be a temporary workaround or a permanent solution, but it definitly does no harm to the system, so everything should be working okay.

SOLVED using "nmi_watchdog=0".

Thanks, Andi.Last edited by Atha on Sat Mar 03, 2007 11:55 am; edited 4 times in total

----------

## Atha

Yeah, well, I reverted to a previous 2.6.18 kernel which works...

No one has similar problems, ey?

Hopefully 2.6.20 will work on my Thinkpad or I'll be in trouble more seriously...

----------

## Atha

I tried 2.6.20-gentoo now with the same result. Kernel boots, or hangs. Randomly, with no indication what is going wrong. Update: The workaround is to use "nmi_watchdog=0" for the time being.

dmesg from a booting 2.6.20:

```

....

ailable (2264k kernel code, 17452k reserved, 690k data, 212k init, 654656k highmem)

virtual kernel memory layout:

    fixmap  : 0xfffaa000 - 0xfffff000   ( 340 kB)

    pkmap   : 0xff800000 - 0xffc00000   (4096 kB)

    vmalloc : 0xf8800000 - 0xff7fe000   ( 111 MB)

    lowmem  : 0xc0000000 - 0xf8000000   ( 896 MB)

      .init : 0xc03e6000 - 0xc041b000   ( 212 kB)

      .data : 0xc0336080 - 0xc03e2b94   ( 690 kB)

      .text : 0xc0100000 - 0xc0336080   (2264 kB)

Checking if this processor honours the WP bit even in supervisor mode... Ok.

Calibrating delay using timer specific routine.. 3390.09 BogoMIPS (lpj=1695048)

Security Framework v1.0.0 initialized

Capability LSM initialized

Mount-cache hash table entries: 512

CPU: After generic identify, caps: a7e9fbbf 00000000 00000000 00000000 00000180 00000000 00000000

CPU: L1 I cache: 32K, L1 D cache: 32K

CPU: L2 cache: 1024K

CPU: After all inits, caps: a7e9fbbf 00000000 00000000 00002040 00000180 00000000 00000000

Intel machine check architecture supported.

Intel machine check reporting enabled on CPU#0.

CPU: Intel(R) Pentium(R) M processor 1700MHz stepping 05

Checking 'hlt' instruction... OK.

ACPI: Core revision 20060707

ACPI: setting ELCR to 0200 (from 0e60)

Booting paravirtualized kernel on bare hardware

NET: Registered protocol family 16

ACPI: bus type pci registered

PCI: PCI BIOS revision 2.10 entry at 0xfd8d6, last bus=8

PCI: Using configuration type 1

Setting up standard PCI resources

```

The kernel hangs here or goes on. If it hangs, nothing but a hard reset helps, it takes no further input via the keyboard. If it doesn't hang, everything was running as it should be, no instability what so ever. I tested this actively working for several hours (X with KDE, console switching to vt1, vt2 and back to vt7). So the local APIC seems to be working after all, if past the kernel initialization phase...

```

ACPI: Interpreter enabled

ACPI: Using PIC for interrupt routing

ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 *9 10 11)

ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 *5 6 7 9 10 11)

ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 *10 11)

ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 9 10 *11)

ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.

ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.

ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.

ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 *6 7 9 10 11)

ACPI: PCI Root Bridge [PCI0] (0000:00)

PCI: Probing PCI hardware (bus 00)

PCI quirk: region 1000-107f claimed by ICH4 ACPI/GPIO/TCO

PCI quirk: region 1180-11bf claimed by ICH4 GPIO

Boot video device is 0000:01:00.0

PCI: Transparent bridge - 0000:00:1e.0

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]

ACPI: Power Resource [PUBS] (on)

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.AGP_._PRT]

ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1._PRT]

Linux Plug and Play Support v0.97 (c) Adam Belay

pnp: PnP ACPI init

pnp: PnP ACPI: found 12 devices

PnPBIOS: Disabled by ACPI PNP

PCI: Using ACPI for IRQ routing

PCI: If a device doesn't work, try "pci=routeirq".  If it helps, post a report

PCI: Bridge: 0000:00:01.0

  IO window: 3000-3fff

  MEM window: c0100000-c01fffff

  PREFETCH window: e0000000-e7ffffff

PCI: Bus 3, cardbus bridge: 0000:02:00.0

  IO window: 00004000-000040ff

  IO window: 00004400-000044ff

  PREFETCH window: e8000000-ebffffff

  MEM window: c4000000-c7ffffff

PCI: Bridge: 0000:00:1e.0

  IO window: 4000-8fff

  MEM window: c0200000-cfffffff

  PREFETCH window: e8000000-efffffff

PCI: Setting latency timer of device 0000:00:1e.0 to 64

ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 9

PCI: setting IRQ 9 as level-triggered

ACPI: PCI Interrupt 0000:02:00.0[A] -> Link [LNKA] -> GSI 9 (level, low) -> IRQ 9

NET: Registered protocol family 2

IP route cache hash table entries: 32768 (order: 5, 131072 bytes)

TCP established hash table entries: 131072 (order: 7, 524288 bytes)

TCP bind hash table entries: 65536 (order: 6, 262144 bytes)

TCP: Hash tables configured (established 131072 bind 65536)

TCP reno registered

checking if image is initramfs... it is

Freeing initrd memory: 901k freed

Simple Boot Flag at 0x35 set to 0x1

audit: initializing netlink socket (disabled)

audit(1171901361.561:1): initialized

highmem bounce pool size: 64 pages

io scheduler noop registered

io scheduler cfq registered (default)

Real Time Clock Driver v1.12ac

intel_rng: FWH not detected

Linux agpgart interface v0.101 (c) Dave Jones

agpgart: Detected an Intel 855PM Chipset.

agpgart: AGP aperture is 256M @ 0xd0000000

ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 9 (level, low) -> IRQ 9

radeonfb: Retrieved PLL infos from BIOS

radeonfb: Reference=27.00 MHz (RefDiv=12) Memory=252.00 Mhz, System=200.00 MHz

radeonfb: PLL min 20000 max 35000

i2c_adapter i2c-1: unable to read EDID block.

i2c_adapter i2c-1: unable to read EDID block.

i2c_adapter i2c-1: unable to read EDID block.

i2c_adapter i2c-3: unable to read EDID block.

i2c_adapter i2c-3: unable to read EDID block.

i2c_adapter i2c-3: unable to read EDID block.

Non-DDC laptop panel detected

i2c_adapter i2c-2: unable to read EDID block.

i2c_adapter i2c-2: unable to read EDID block.

i2c_adapter i2c-2: unable to read EDID block.

i2c_adapter i2c-3: unable to read EDID block.

i2c_adapter i2c-3: unable to read EDID block.

i2c_adapter i2c-3: unable to read EDID block.

radeonfb: Monitor 1 type LCD found

radeonfb: Monitor 2 type no found

radeonfb: panel ID string: Samsung LTN150P1-L02    

radeonfb: detected LVDS panel size from BIOS: 1400x1050

radeondb: BIOS provided dividers will be used

radeonfb: Dynamic Clock Power Management enabled

radeonfb: IBM Thinkpad R50/R51/T40/T41 detected, enabling workaround

Console: switching to colour frame buffer device 175x65

radeonfb (0000:01:00.0): ATI Radeon Lf 

ACPI: AC Adapter [AC] (on-line)

ACPI: Battery Slot [BAT0] (battery absent)

input: Power Button (FF) as /class/input/input0

ACPI: Power Button (FF) [PWRF]

input: Lid Switch as /class/input/input1

ACPI: Lid Switch [LID]

input: Sleep Button (CM) as /class/input/input2

ACPI: Sleep Button (CM) [SLPB]

ACPI: Video Device [VID] (multi-head: yes  rom: no  post: no)

ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3])

ACPI: Processor [CPU] (supports 8 throttling states)

ACPI: Thermal Zone [THM0] (33 C)

isapnp: Scanning for PnP cards...

isapnp: No Plug & Play device found

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

loop: loaded (max 8 devices)

PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12

serio: i8042 KBD port at 0x60,0x64 irq 1

serio: i8042 AUX port at 0x60,0x64 irq 12

mice: PS/2 mouse device common for all mice

input: AT Translated Set 2 keyboard as /class/input/input3

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

ICH4: IDE controller at PCI slot 0000:00:1f.1

PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)

ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 10

PCI: setting IRQ 10 as level-triggered

ACPI: PCI Interrupt 0000:00:1f.1[A] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10

ICH4: chipset revision 1

ICH4: not 100% native mode: will probe irqs later

    ide0: BM-DMA at 0x1860-0x1867, BIOS settings: hda:DMA, hdb:pio

    ide1: BM-DMA at 0x1868-0x186f, BIOS settings: hdc:DMA, hdd:pio

Probing IDE interface ide0...

hda: WDC WD1000VE-00KWT0, ATA DISK drive

Synaptics Touchpad, model: 1, fw: 5.9, id: 0x2c6ab1, caps: 0x884793/0x0

serio: Synaptics pass-through port at isa0060/serio1/input0

input: SynPS/2 Synaptics TouchPad as /class/input/input4

ide0 at 0x1f0-0x1f7,0x3f6 on irq 14

Probing IDE interface ide1...

hdc: MATSHITADVD-RAM UJ-811, ATAPI CD/DVD-ROM drive

ide1 at 0x170-0x177,0x376 on irq 15

hda: max request size: 512KiB

hda: 195371568 sectors (100030 MB) w/8192KiB Cache, CHS=12921/240/63, UDMA(100)

hda: cache flushes supported

 hda: hda1 hda2 hda3 < hda5 hda6 hda7 >

hdc: ATAPI 24X DVD-ROM DVD-R-RAM CD-R/RW drive, 2048kB Cache, UDMA(33)

Uniform CD-ROM driver Revision: 3.20

device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com

oprofile: using NMI interrupt.

TCP cubic registered

NET: Registered protocol family 1

NET: Registered protocol family 17

Testing NMI watchdog ... OK.

Using IPI Shortcut mode

ACPI: (supports S0 S3 S4 S5)

Time: tsc clocksource has been installed.

Time: acpi_pm clocksource has been installed.

Freeing unused kernel memory: 212k freed

IBM TrackPoint firmware: 0x0e, buttons: 3/3

input: TPPS/2 IBM TrackPoint as /class/input/input5

kjournald starting.  Commit interval 5 seconds

EXT3-fs: mounted filesystem with ordered data mode.

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

USB Universal Host Controller Interface driver v3.0

ACPI: PCI Interrupt 0000:00:1d.0[A] -> Link [LNKA] -> GSI 9 (level, low) -> IRQ 9

PCI: Setting latency timer of device 0000:00:1d.0 to 64

uhci_hcd 0000:00:1d.0: UHCI Host Controller

uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1

uhci_hcd 0000:00:1d.0: irq 9, io base 0x00001800

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 2 ports detected

ACPI: PCI Interrupt Link [LNKD] enabled at IRQ 11

PCI: setting IRQ 11 as level-triggered

ACPI: PCI Interrupt 0000:00:1d.1[B] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11

PCI: Setting latency timer of device 0000:00:1d.1 to 64

uhci_hcd 0000:00:1d.1: UHCI Host Controller

uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2

uhci_hcd 0000:00:1d.1: irq 11, io base 0x00001820

usb usb2: configuration #1 chosen from 1 choice

hub 2-0:1.0: USB hub found

hub 2-0:1.0: 2 ports detected

ACPI: PCI Interrupt 0000:00:1d.2[C] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10

PCI: Setting latency timer of device 0000:00:1d.2 to 64

uhci_hcd 0000:00:1d.2: UHCI Host Controller

uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3

uhci_hcd 0000:00:1d.2: irq 10, io base 0x00001840

usb usb3: configuration #1 chosen from 1 choice

hub 3-0:1.0: USB hub found

hub 3-0:1.0: 2 ports detected

input: PC Speaker as /class/input/input6

ACPI: PCI Interrupt Link [LNKH] enabled at IRQ 6

PCI: setting IRQ 6 as level-triggered

ACPI: PCI Interrupt 0000:00:1d.7[D] -> Link [LNKH] -> GSI 6 (level, low) -> IRQ 6

PCI: Setting latency timer of device 0000:00:1d.7 to 64

ehci_hcd 0000:00:1d.7: EHCI Host Controller

ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 4

ehci_hcd 0000:00:1d.7: debug port 1

PCI: cache line size of 32 is not supported by device 0000:00:1d.7

ehci_hcd 0000:00:1d.7: irq 6, io mem 0xc0000000

ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004

usb usb4: configuration #1 chosen from 1 choice

hub 4-0:1.0: USB hub found

hub 4-0:1.0: 6 ports detected

ACPI: PCI Interrupt Link [LNKB] enabled at IRQ 5

PCI: setting IRQ 5 as level-triggered

ACPI: PCI Interrupt 0000:00:1f.3[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5

Yenta: CardBus bridge found at 0000:02:00.0 [1014:0552]

Yenta: Using INTVAL to route CSC interrupts to PCI

Yenta: Routing CardBus interrupts to PCI

Yenta TI: socket 0000:02:00.0, mfunc 0x01d21b22, devctl 0x64

ieee1394: Initialized config rom entry `ip1394'

SCSI subsystem initialized

libata version 2.00 loaded.

Yenta: ISA IRQ mask 0x0098, PCI irq 9

Socket status: 30000086

pcmcia: parent PCI bridge I/O window: 0x4000 - 0x8fff

cs: IO port probe 0x4000-0x8fff: clean.

pcmcia: parent PCI bridge Memory window: 0xc0200000 - 0xcfffffff

pcmcia: parent PCI bridge Memory window: 0xe8000000 - 0xefffffff

ACPI: PCI Interrupt 0000:00:1f.5[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5

PCI: Setting latency timer of device 0000:00:1f.5 to 64

ieee80211_crypt: registered algorithm 'NULL'

ieee80211: 802.11 data/management/control stack, git-1.1.13

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.0kmprq

ipw2200: Copyright(c) 2003-2006 Intel Corporation

Intel(R) PRO/1000 Network Driver - version 7.3.15-k2-NAPI

Copyright (c) 1999-2006 Intel Corporation.

ALSA /var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2_p3234/work/alsa-driver-1.0.14rc2_p3234/pci/ac97/ac97_codec.c:2110: AC'97 0 analog subsections not ready

cs: IO port probe 0x100-0x3af: excluding 0x2f8-0x2ff

cs: IO port probe 0x3e0-0x4ff: excluding 0x3f8-0x3ff 0x4d0-0x4d7

cs: IO port probe 0x820-0x8ff: clean.

cs: IO port probe 0xc00-0xcf7: clean.

cs: IO port probe 0xa00-0xaff: clean.

intel8x0_measure_ac97_clock: measured 50362 usecs

intel8x0: clocking to 48000

ACPI: PCI Interrupt 0000:00:1f.6[B] -> Link [LNKB] -> GSI 5 (level, low) -> IRQ 5

PCI: Setting latency timer of device 0000:00:1f.6 to 64

ALSA /var/tmp/portage/media-sound/alsa-driver-1.0.14_rc2_p3234/work/alsa-driver-1.0.14rc2_p3234/pci/ac97/ac97_codec.c:2142: MC'97 1 converters and GPIO not ready (0xff00)

Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing enabled

serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a NS16550A

ACPI: PCI Interrupt 0000:02:00.2[C] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10

ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[10]  MMIO=[c0215000-c02157ff]  Max Packet=[2048]  IR/IT contexts=[4/8]

ACPI: PCI Interrupt 0000:02:02.0[A] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10

ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection

ipw2200: Radio disabled by module parameter.

ipw2200: Detected geography ZZR (14 802.11bg channels, 0 802.11a channels)

ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNKA] -> GSI 9 (level, low) -> IRQ 9

e1000: 0000:02:01.0: e1000_probe: (PCI:33MHz:32-bit) **:**:**:**:**:**

e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection

EXT3 FS on dm-0, internal journal

ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00061b032200dea8]

eth1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)

ibm_acpi: ThinkPad EC firmware 1RHT71WW-3.04

ibm_acpi: IBM ThinkPad ACPI Extras v0.13

ibm_acpi: http://ibm-acpi.sf.net/

thinkpad_ec: thinkpad_ec 0.30 loaded.

tp_smapi 0.30 loading...

tp_smapi successfully loaded (smapi_port=0xb2).

thinkpad: I have registered to handle major: 10 minor: 170.

smapi: 32-bit protected mode SMAPI BIOS found. :-)

hdaps: initial mode latch is 0x01

hdaps: setting ec_rate=250, filter_order=2

hdaps: fake_data_mode set to 0

hdaps: device successfully initialized.

input: hdaps as /class/input/input7

hdaps: driver successfully loaded.

fuse init (API version 7.8)

fuse distribution version: 2.6.3

kjournald starting.  Commit interval 5 seconds

EXT3 FS on dm-2, internal journal

EXT3-fs: mounted filesystem with ordered data mode.

Adding 1474160k swap on /dev/mapper/swap.  Priority:-1 extents:1 across:1474160k

usbcore: registered new interface driver snd-usb-audio

cdrom: This disc doesn't have any tracks I recognize!

pktcdvd: writer pktcdvd0 mapped to hdc

NET: Registered protocol family 10

lo: Disabled Privacy Extensions

ADDRCONF(NETDEV_UP): eth0: link is not ready

Mobile IPv6

smapi smapi: smapi_request: SMAPI error: Function is not supported by SMAPI BIOS (func=211a)

smapi smapi: __get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS

smapi smapi: set_real_thresh: set start to 9 for bat=0

smapi smapi: smapi_request: SMAPI error: Function is not supported by SMAPI BIOS (func=211a)

smapi smapi: __get_real_thresh: cannot get stop_thresh of bat=0: Function is not supported by SMAPI BIOS

[drm] Initialized drm 1.1.0 20060810

[drm] Initialized radeon 1.25.0 20060524 on minor 0

agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.

agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode

agpgart: Putting AGP V2 device at 0000:01:00.0 into 1x mode

[drm] Setting GART location based on new memory map

[drm] Loading R200 Microcode

[drm] writeback test succeeded in 2 usecs

```

----------

