Bug 6487

Summary: intelfb console lockup
Product: Drivers Reporter: Knut Petersen (Knut_Petersen)
Component: Console/FramebuffersAssignee: Antonino Daplas (adaplas)
Status: CLOSED OBSOLETE    
Severity: high CC: airlied, akpm, alan, Knut_Petersen, protasnb
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.22 Subsystem:
Regression: No Bisected commit-id:

Description Knut Petersen 2006-05-03 04:55:16 UTC
Most recent kernel where this bug did not occur: None, afaik.   
  
Distribution: Once was a SuSE 9.2   
  
Hardware Environment: AOpen i915GMm-HFS, connected to Eizo L557 via DVI output,  
Pentium-M Dothan, 1GB DDR RAM,  lspci -n: 
 
0000:00:00.0 Class 0600: 8086:2590 (rev 04) 
0000:00:02.0 Class 0300: 8086:2592 (rev 04) 
0000:00:02.1 Class 0380: 8086:2792 (rev 04) 
0000:00:1c.0 Class 0604: 8086:2660 (rev 04) 
0000:00:1c.1 Class 0604: 8086:2662 (rev 04) 
0000:00:1c.2 Class 0604: 8086:2664 (rev 04) 
0000:00:1c.3 Class 0604: 8086:2666 (rev 04) 
0000:00:1d.0 Class 0c03: 8086:2658 (rev 04) 
0000:00:1d.1 Class 0c03: 8086:2659 (rev 04) 
0000:00:1d.2 Class 0c03: 8086:265a (rev 04) 
0000:00:1d.3 Class 0c03: 8086:265b (rev 04) 
0000:00:1d.7 Class 0c03: 8086:265c (rev 04) 
0000:00:1e.0 Class 0604: 8086:2448 (rev d4) 
0000:00:1f.0 Class 0601: 8086:2641 (rev 04) 
0000:00:1f.1 Class 0101: 8086:266f (rev 04) 
0000:00:1f.2 Class 0101: 8086:2653 (rev 04) 
0000:00:1f.3 Class 0c05: 8086:266a (rev 04) 
0000:02:00.0 Class 0200: 11ab:4362 (rev 19) 
0000:03:00.0 Class 0200: 11ab:4362 (rev 19) 
0000:04:00.0 Class 0104: 1095:3132 (rev 01) 
0000:05:03.0 Class 0c00: 11c1:5811 (rev 61) 
0000:05:05.0 Class 0401: 10ee:3fc3 (rev 04) 
 
Software Environment: All recent kernels, Xorg 6.9 and older  
  
Problem Description: Switching from X to intelfb console locks up the keyboard  
and switches the monitor off once in a while. System can be rebooted by 
pressing the acpi power switch. No entries in any log.  
 
Steps to reproduce:   
Create and run a script with several hundred lines like the following:  
chvt 7; echo -e "\a"; chvt 1; echo -e "\a" 
Wait. The probability to trigger the bug seems to be about 0.5% for every 
switch to the intelfb console.
Comment 1 Antonino Daplas 2006-05-03 14:27:10 UTC
Hi Dave,

Maybe you can help with this one?
Comment 2 Knut Petersen 2006-06-02 10:05:11 UTC
I found some time for investigations.

The bug still is present in the most recent mainline gits.

A script repeating chvt 1 and chvt 7 will lock the console
sooner or later. Locked means: Keyboard completely dead,
Monitor switches off because there is no signal.

Otherwise the machine is completely usable and stable. 
It
Comment 3 Knut Petersen 2006-06-04 05:04:34 UTC
The VT_RELDISP ioctl that
Comment 4 Antonino Daplas 2007-04-28 17:10:22 UTC
Hi, Knut.

There's a fix to intelfb's accelerator where it's possible for it to wait
indefinitely.  It's in the -mm tree, but it should go to mainline for 2.6.22. If
you can't test -mm trees, I'll just let you know if it went to mainline.
Comment 5 Antonino Daplas 2007-05-29 05:23:58 UTC
The patch is already in mainline. Does it help?
Comment 6 Natalie Protasevich 2007-07-04 11:03:41 UTC
Hi Knut,
Can you confirm that the problem was fixed in the latest kernel?
Thanks.
Comment 7 Knut Petersen 2007-07-25 10:26:02 UTC
Hi Natalie, hi Antonino!

Sorry for my late reply. I tried to reproduce the bug today. It´s still present. 

Linux: Kernel 2.6.22.1 on openSuSE 10.2 

X Window System Version 7.1.99.902 (7.2.0 RC 2)
Release Date: 13 November 2006
X Protocol Version 11, Revision 0, Release 7.1.99.902
Build Operating System: openSUSE SUSE LINUX
Current Operating System: Linux linux 2.6.22.1-kape #5 SMP Wed Jul 25 10:11:34 CEST 2007 i686
Build Date: 05 April 2007

dmesg | grep intelfb

Kernel command line: root=/dev/sda6 video=intelfb:vram=16 vmalloc=256M vga=0x307 
intelfb: intelfb_init
intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM chipsets
intelfb: Version 0.9.4
intelfb: intelfb_setup
intelfb: options: vram=16
intelfb: intelfb_pci_register
intelfb: fb aperture: 0xc0000000/0x10000000, MMIO region: 0xd2300000/0x80000
intelfb: 00:02.0: Intel(R) 915GM, aperture size 256MB, stolen memory 7932kB
intelfb: fb: 0xc3011000(+ 0x3011)/0x1000000 (0xf3a11000)
intelfb: MMIO: 0xd2300000/0x80000 (0xf7a80000)
intelfb: ring buffer: 0xc3001000/0x10000 (0xf3a01000)
intelfb: HW cursor: 0x0/0x0 (0x00000000) (offset 0x0) (phys 0x0)
intelfb: options: vram = 16, accel = 1, hwcursor = 0, fixed = 0, noinit = 0
intelfb: options: mode = ""
intelfb: Non-CRT device is enabled ( DVO port B ).  Disabling mode switching.
intelfb: get_initial_mode
intelfb: Initial info: FB is 0xc0000000/0x7b0000 (7872 kByte)
intelfb: Initial info: mode is 1280x1024-8 (1280)
intelfb: update_dinfo
intelfb: intelfb_var_to_depth: bpp: 8, green.length is 8
intelfb: intelfb_set_fbinfo
intelfb: intelfb_init_var
intelfb: Initial video mode is 1280x1024-8@60.
intelfb: Initial video mode is from 5.
intelfb: update_dinfo
intelfb: intelfb_var_to_depth: bpp: 8, green.length is 8
intelfb: I2C bus CRTDDC_A registered.
intelfb: I2C bus SDVOCTRL_E registered.
intelfb: intelfbhw_print_hw_state
intelfb: Changing the video mode is not supported.
intelfb: intelfb_check_var: accel_flags is 1
intelfb: Changing the video mode is not supported.
intelfb: ring buffer : space: 61712 wanted 65472
intelfb: lockup - turning off hardware acceleration
intelfb: intelfb_check_var: accel_flags is 1
intelfb: intelfb_check_var: accel_flags is 1
intelfb: intelfb_check_var: accel_flags is 1
[Quite a number of identical lines deleted]
intelfb: intelfb_check_var: accel_flags is 1

Monitor switched off, keyboard almost dead (ctrl-alt-del works, but nothing else), nothing unusual in the logs and in the dmesg output after console
lock.

cu,
 Knut