Bug 610002

Summary: [PATCH] panic at boot with KMS on Intel 865 enabled
Product: Red Hat Enterprise Linux 6 Reporter: Jeff Layton <jlayton>
Component: kernelAssignee: Dave Airlie <airlied>
Status: CLOSED CURRENTRELEASE QA Contact: desktop-bugs <desktop-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.0CC: airlied, borgan, ddumas, jlaska, kem, lkundrak, steved
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.6.32-52.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-15 14:17:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
serial console log of boot attempt
none
A work-around
none
patch -- fix oops on single crtc devices none

Description Jeff Layton 2010-07-01 12:01:18 UTC
Created attachment 428365 [details]
serial console log of boot attempt

Installed RHEL6 on one of my older workstations. It has an integrated intel video chip. When I boot this machine without "nomodeset" it seems to panic. The screen never shows anything after it tries to switch the mode, and the caps lock and scroll lock lights blink. When I boot with nomodeset, it comes all the way up, but X won't start (unsurprisingly).

I hooked up a serial console to the box, but it never shows an actual oops. Full copy/paste of the screen console is attached. The machine is running kernel 2.6.32-37.el6.i686, but I got similar results with an earlier -33.el6 kernel.

lspci -vvv info for the video:

--------------------------------[snip]------------------------------------------
00:02.0 VGA compatible controller: Intel Corporation 82865G Integrated Graphics Controller (rev 02) (prog-if 00 [VGA controller])
	Subsystem: IBM Device 02d2
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at f0000000 (32-bit, prefetchable) [size=128M]
	Region 1: Memory at e8000000 (32-bit, non-prefetchable) [size=512K]
	Region 2: I/O ports at 1800 [size=8]
	Expansion ROM at <unassigned> [disabled]
	Capabilities: [d0] Power Management version 1
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel modules: i915
--------------------------------[snip]------------------------------------------

The machine is an IBM ThinkCentre, M/N is 8086-25U.

Comment 2 RHEL Program Management 2010-07-01 12:03:15 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux major release.  Product Management has requested further
review of this request by Red Hat Engineering, for potential inclusion in a Red
Hat Enterprise Linux Major release.  This request is not yet committed for
inclusion.

Comment 3 Lubomir Rintel 2010-07-06 08:21:58 UTC
crash> bt -lf
PID: 1655   TASK: f414fa90  CPU: 0   COMMAND: "modprobe"
 #0 [f42c39c8] crash_kexec at c04941b2
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/kernel/kexec.c: 1083
    [RA: c0819b17  SP: f42c39c8  FP: f42c3a1c  SIZE: 88]
    f42c39c8: 0000002c  00000000  00000000  00000001  
    f42c39d8: f410b280  00000000  f5d32a30  f5e9007b  
    f42c39e8: f5f4007b  f5f400d8  000000e0  ffffffff  
    f42c39f8: f7fa08ae  00000060  00010296  f42c3b20  
    f42c3a08: 00000068  00000246  00000009  f42c3ae4  
    f42c3a18: f414fa90  c0819b17  
 #1 [f42c3a1c] oops_end at c0819b12
    [RA: c04303f2  SP: f42c3a20  FP: f42c3a30  SIZE: 20]
    f42c3a20: f414fa90  f42c3ae4  000000f0  00000009  
    f42c3a30: c04303f2  
 #2 [f42c3a30] no_context at c04303ed
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/arch/x86/mm/fault.c: 676
    [RA: c043067b  SP: f42c3a34  FP: f42c3a54  SIZE: 36]
    f42c3a34: c0933870  000000f0  00000246  00030001  
    f42c3a44: f42c3ae4  00000000  000000f0  f5d9e280  
    f42c3a54: c043067b  
 #3 [f42c3a54] bad_area at c0430676
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/arch/x86/mm/fault.c: 764
    [RA: c081b283  SP: f42c3a58  FP: f42c3a68  SIZE: 20]
    f42c3a58: 00030001  f42c3ae4  f5f6e11c  c081ae10  
    f42c3a68: c081b283  
 #4 [f42c3a68] do_page_fault at c081b27e
    [RA: c0818f1b  SP: f42c3a6c  FP: f42c3ae0  SIZE: 120]
    f42c3a6c: f5f4e6ec  f41acee4  f7fa16be  f5f4e6e0  
    f42c3a7c: 000000f0  00000000  f414fa90  f5d9e2b8  
    f42c3a8c: f3062000  f7fa2c71  00000000  00000000  
    f42c3a9c: f7fa352a  f7fa3a14  00000004  f3062000  
    f42c3aac: f410b2f8  f4179c80  00000001  00000000  
    f42c3abc: 00000000  f41acee0  f93cb5c0  00000000  
    f42c3acc: f5f4e6d4  0000002c  00000001  c081ae10  
    f42c3adc: 00000000  c0818f1b  
 #5 [f42c3ae0] error_code (via page_fault) at c0818f19
    ../arch/i386/kernel/entry.S
    EAX: f5d32a30  EBX: 0000002c  ECX: 00000000  EDX: 00000000  EBP: 00000000 
    DS:  007b      ESI: 00000001  ES:  007b      EDI: f410b280  GS:  00e0
    CS:  0060      EIP: f7fa08ae  ERR: ffffffff  EFLAGS: 00010296 
    [RA: f7fa08ae  SP: f42c3ae4  FP: f42c3b14  SIZE: 52]
    f42c3ae4: 0000002c  00000000  00000000  00000001  
    f42c3af4: f410b280  00000000  f5d32a30  f5e9007b  
    f42c3b04: f5f4007b  f5f400d8  000000e0  ffffffff  
    f42c3b14: f7fa08ae  
 #6 [f42c3b14] drm_fb_helper_set_par at f7fa08ae
    /home/lkundrak/rpmbuild/BUILD/kernel-2.6.32/linux-2.6.32.i686/drivers/gpu/drm/drm_fb_helper.c: 697
    [RA: c061db93  SP: f42c3b18  FP: f42c3b3c  SIZE: 40]
    f42c3b18: 00000060  00010296  00000020  c0bc6760  
    f42c3b28: f5f4e688  f7013c00  f41ac800  f7013c00  
    f42c3b38: c0bc6760  c061db93  
 #7 [f42c3b3c] fbcon_init at c061db91
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/video/console/fbcon.c: 1114
    [RA: c067e89a  SP: f42c3b40  FP: f42c3b7c  SIZE: 64]
    f42c3b40: ffffff10  c067b9f0  00000060  f5df6a00  
    f42c3b50: 000000a0  00000000  00000001  00000001  
    f42c3b60: 00000040  00000019  00000050  f7013c00  
    f42c3b70: 00000000  00000000  00000000  c067e89a  
 #8 [f42c3b7c] visual_init at c067e897
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/char/vt.c: 736
    [RA: c067f0b7  SP: f42c3b80  FP: f42c3b9c  SIZE: 32]
    f42c3b80: f5dc2e80  c0a1d23e  f7013c00  f7013c00  
    f42c3b90: 00000001  00000000  ffffffff  c067f0b7  
 #9 [f42c3b9c] bind_con_driver at c067f0b2
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/char/vt.c: 3025
    [RA: c067f2d6  SP: f42c3ba0  FP: f42c3bec  SIZE: 80]
    f42c3ba0: c083f8c0  00000000  00000000  c0bd2a3c  
    f42c3bb0: c067ec07  c0bd2a3c  00000000  c096bdcc  
    f42c3bc0: c0bd2be0  c0bd14e0  00000000  0000003e  
    f42c3bd0: 00000000  00000000  c083f8c0  00000000  
    f42c3be0: 0000003e  00000000  c083f8c0  c067f2d6  
#10 [f42c3bec] take_over_console at c067f2d1
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/char/vt.c: 3518
    [RA: c061d30a  SP: f42c3bf0  FP: f42c3c04  SIZE: 24]
    f42c3bf0: 00000001  c0bc843f  00000000  00000000  
    f42c3c00: ffffffff  c061d30a  
#11 [f42c3c04] fbcon_takeover at c061d305
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/video/console/fbcon.c: 540
    [RA: c081b2d4  SP: f42c3c08  FP: f42c3c18  SIZE: 20]
    f42c3c08: 00000001  c0a17770  00000000  00000000  
    f42c3c18: c081b2d4  
#12 [f42c3c18] notifier_call_chain at c081b2d2
    [RA: c04752fa  SP: f42c3c1c  FP: f42c3c34  SIZE: 28]
    f42c3c1c: 00000005  f42c3cc0  c0a17480  c0a17490  
    f42c3c2c: 00000005  00000000  c04752fa  
#13 [f42c3c34] __blocking_notifier_call_chain at c04752f5
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/kernel/notifier.c: 314
    [RA: c0475337  SP: f42c3c38  FP: f42c3c54  SIZE: 32]
    f42c3c38: ffffffff  00000000  f42c3cc0  f41ac800  
    f42c3c48: 00000000  f41aca20  f42c3c88  c0475337  
#14 [f42c3c54] blocking_notifier_call_chain at c0475332
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/kernel/notifier.c: 325
    [RA: c06136d7  SP: f42c3c58  FP: f42c3c60  SIZE: 12]
    f42c3c58: ffffffff  00000000  c06136d7  
#15 [f42c3c60] register_framebuffer at c06136d2
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/video/fbmem.c: 1565
    [RA: f7fa0b28  SP: f42c3c64  FP: f42c3cd8  SIZE: 120]
    f42c3c64: 00002000  f710d060  01d00000  00000000  
    f42c3c74: c096bc94  00000000  f41ac808  f41ac8d0  
    f42c3c84: f41ac800  00000000  00000000  00000500  
    f42c3c94: 00000400  00000000  00000000  00000000  
    f42c3ca4: 00000000  00000000  00000000  00000000  
    f42c3cb4: 00000000  00000000  00000020  f41ac800  
    f42c3cc4: f42c8a40  f410b280  00000001  f41ac800  
    f42c3cd4: f410b2f8  f7fa0b28  
#16 [f42c3cd8] drm_fb_helper_single_fb_probe at f7fa0b23
    /home/lkundrak/rpmbuild/BUILD/kernel-2.6.32/linux-2.6.32.i686/drivers/gpu/drm/drm_fb_helper.c: 781
    [RA: f7fa0e76  SP: f42c3cdc  FP: f42c3d10  SIZE: 56]
    f42c3cdc: f7fa23fc  00000004  f7fa3b27  00000500  
    f42c3cec: 00000400  00000500  00000400  00000020  
    f42c3cfc: 00000018  f93cbe60  f410b280  00000001  
    f42c3d0c: 00000010  f7fa0e76  
#17 [f42c3d10] drm_fb_helper_initial_config at f7fa0e71
    /home/lkundrak/rpmbuild/BUILD/kernel-2.6.32/linux-2.6.32.i686/drivers/gpu/drm/drm_fb_helper.c: 968
    [RA: f7f637c5  SP: f42c3d14  FP: f42c3df0  SIZE: 224]
    f42c3d14: 00000246  c04270c5  00000000  f5cbcb00  
    f42c3d24: 00000092  c04aeadb  f5cbcb00  00024000  
    f42c3d34: c04ae97d  f5cbcb00  00000010  f5cbcb3c  
    f42c3d44: f410b000  00000800  00000800  f410b01c  
    f42c3d54: 00000000  f7009c00  00000246  f7002348  
    f42c3d64: f7002350  00000246  f410b280  f41acc00  
    f42c3d74: f41acc00  f7000080  f7fa0001  f5d32a00  
    f42c3d84: f7fa139f  f5f4e400  00000020  00000000  
    f42c3d94: f410b280  f5f4e400  00000100  f41b7000  
    f42c3da4: f93c3860  00000004  f93d277c  f5f4e400  
    f42c3db4: f7f6d771  00000000  00000000  f41b7000  
    f42c3dc4: f5f4e400  f93a0578  f939e150  00000007  
    f42c3dd4: f93cadd6  f93d280f  fffffff4  00000000  
    f42c3de4: 00000300  c0757e60  f710d800  f7f637c5  
#18 [f42c3df0] drm_sysfs_device_add at f7f637c0
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/gpu/drm/drm_sysfs.c: 507
    [RA: f7f614b7  SP: f42c3df4  FP: f42c3e40  SIZE: 80]
    f42c3df4: f5e30c0c  00080000  00000000  f41b7000  
    f42c3e04: 007df000  f5f4e414  f41b7000  00000044  
    f42c3e14: f41b7000  00000000  0000016b  80000000  
    f42c3e24: 00000000  00000000  00000000  f5f4e400  
    f42c3e34: 00000000  f710d000  f93d5620  f7f614b7  
#19 [f42c3e40] drm_get_dev at f7f614b5
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/gpu/drm/drm_stub.c: 433
    [RA: c05f6a3b  SP: f42c3e44  FP: f42c3e84  SIZE: 68]
    f42c3e44: 00000001  f7f6d831  f7f6ccb8  f7f6d835  
    f42c3e54: c0575adb  f4359cc4  f710b4b0  f4359c6c  
    f42c3e64: 00000000  f93ca6b0  f5f4e66c  c05f6b16  
    f42c3e74: f710d000  f93d575c  f93d578c  f42c3ec8  
    f42c3e84: c05f6a3b  
#20 [f42c3e84] local_pci_probe at c05f6a38
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/pci/pci-driver.c: 292
    [RA: c05f7841  SP: f42c3e88  FP: f42c3e88  SIZE: 4]
    f42c3e88: c05f7841  
#21 [f42c3e88] pci_device_probe at c05f783c
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/pci/pci-driver.c: 317
    [RA: c06a2d47  SP: f42c3e8c  FP: f42c3ea4  SIZE: 28]
    f42c3e8c: f93d575c  f710d000  f93ca6b0  f710d060  
    f42c3e9c: ffffffed  f93d578c  c06a2d47  
#22 [f42c3ea4] driver_probe_device at c06a2d45
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/base/dd.c: 125
    [RA: c06a2fc9  SP: f42c3ea8  FP: f42c3ecc  SIZE: 40]
    f42c3ea8: 00000000  c0a16b40  c05f6b16  f93d57c0  
    f42c3eb8: 00000282  f710d060  f93d578c  f710d094  
    f42c3ec8: 00000000  c06a2fc9  
#23 [f42c3ecc] __driver_attach at c06a2fc4
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/base/dd.c: 282
    [RA: c06a2142  SP: f42c3ed0  FP: f42c3edc  SIZE: 16]
    f42c3ed0: f42c3ee4  f93d578c  c06a2f50  c06a2142  
#24 [f42c3edc] bus_for_each_dev at c06a2140
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/base/bus.c: 298
    [RA: c06a2b36  SP: f42c3ee0  FP: f42c3efc  SIZE: 32]
    f42c3ee0: 00000000  f708fc3c  f71086b4  f93d578c  
    f42c3ef0: fffffff4  c0a16b40  f42c3f34  c06a2b36  
#25 [f42c3efc] driver_attach at c06a2b31
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/base/dd.c: 301
    [RA: c06a24ef  SP: f42c3f00  FP: f42c3f04  SIZE: 8]
    f42c3f00: c06a2f50  c06a24ef  
#26 [f42c3f04] bus_add_driver at c06a24ea
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/base/bus.c: 674
    [RA: c06a3253  SP: f42c3f08  FP: f42c3f38  SIZE: 52]
    f42c3f08: f435ab80  c0a234a8  00000000  c09302b1  
    f42c3f18: f93d277c  00000000  c05ded23  f435ab80  
    f42c3f28: 00000000  f93d578c  c05f7780  00000000  
    f42c3f38: c06a3253  
#27 [f42c3f38] driver_register at c06a324e
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/base/driver.c: 242
    [RA: c05f7a5d  SP: f42c3f3c  FP: f42c3f58  SIZE: 32]
    f42c3f3c: 00000000  fffffffc  f7f5c28d  f93d575c  
    f42c3f4c: f93d7ea0  f93d578c  f93e5000  c05f7a5d  
#28 [f42c3f58] __pci_register_driver at c05f7a58
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/drivers/pci/pci-driver.c: 985
    [RA: c040303f  SP: f42c3f5c  FP: f42c3f68  SIZE: 16]
    f42c3f5c: 00000000  f93d7ea0  0930fd38  c040303f  
#29 [f42c3f68] do_one_initcall at c040303d
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/init/main.c: 729
    [RA: c048b474  SP: f42c3f6c  FP: f42c3f90  SIZE: 40]
    f42c3f6c: 00000000  f93d7ea0  fffffffc  f93d7ea0  
    f42c3f7c: 0930fd38  fffffffc  f93d7ea0  0930fd38  
    f42c3f8c: f42c2000  c048b474  
#30 [f42c3f90] sys_init_module at c048b46f
    /usr/src/debug/kernel-2.6.32/linux-2.6.32.i686/kernel/module.c: 2621
    [RA: c04099dc  SP: f42c3f94  FP: f42c3fb0  SIZE: 32]
    f42c3f94: 0005a2f8  0930f3a8  0930fdb0  b7796008  
    f42c3fa4: 0930fdb0  b7796008  0930fdb0  c04099dc  
#31 [f42c3fb0] system_call at c04099d5
    /usr/src/debug////////kernel-2.6.32/linux-2.6.32.i686/arch/x86/kernel/entry_32.S: 529
    EAX: ffffffda  EBX: b7796008  ECX: 0005a2f8  EDX: 0930f3a8 
    DS:  007b      ESI: 0930fdb0  ES:  007b      EDI: 0930fd38
    SS:  007b      ESP: bfe8e23c  EBP: bfe8e2d8  GS:  0033
    CS:  0073      EIP: 009f6416  ERR: 00000080  EFLAGS: 00000246 
    [RA: 246  SP: f42c3fb4  FP: f42c3ffc  SIZE: 76]
    f42c3fb4: b7796008  0005a2f8  0930f3a8  0930fdb0  
    f42c3fc4: 0930fd38  bfe8e2d8  ffffffda  0000007b  
    f42c3fd4: 0000007b  00000000  00000033  00000080  
    f42c3fe4: 009f6416  00000073  00000246  bfe8e23c  
    f42c3ff4: 0000007b  00000000  00000000  
crash>

Comment 4 Lubomir Rintel 2010-07-06 08:59:50 UTC
Created attachment 429706 [details]
A work-around

A workaround that let me boot; drm_fb_helper_set_par() is probably really not a good place for a fix though.

Comment 5 Lubomir Rintel 2010-07-06 20:41:23 UTC
The following upstream commit fixes the issue:

commit 6349d7ca97b035c4363365b890ec1f39d41b7b51
Author: Dave Airlie <airlied>
Date:   Sun Jun 6 18:59:41 2010 +1000

    drm/i915: fix oops on single crtc devices.
    
    (regression fix since fbdev/kms rework).
    
    My fb rework didn't remember about the 84/65s.
    
    Reported-by: Ondrej Zary <linux>
    Tested-by: Ondrej Zary <linux>
    Signed-off-by: Dave Airlie <airlied>

Comment 6 Jeff Layton 2010-07-08 17:37:25 UTC
Created attachment 430432 [details]
patch -- fix oops on single crtc devices

Thanks Lubomir, this patch fixed the problem for me too. With this, the machine boots and X starts.

Comment 8 Dave Airlie 2010-07-16 00:45:18 UTC
posted patch to rhkernel-list

Comment 9 Aristeu Rozanski 2010-07-26 15:16:21 UTC
Patch(es) available on kernel-2.6.32-52.el6

Comment 12 Jeff Layton 2010-08-31 14:40:13 UTC
Confirmed -- recent kernels boot fine on this box.

Comment 14 releng-rhel@redhat.com 2010-11-15 14:17:02 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.