Bug 17241 - Enabling KMS on Radeon X300 gives NULL pointer dereference
Summary: Enabling KMS on Radeon X300 gives NULL pointer dereference
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: Video(DRI - non Intel) (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: drivers_video-dri
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-29 02:49 UTC by bugs
Modified: 2012-08-13 16:00 UTC (History)
2 users (show)

See Also:
Kernel Version: 2.6.35.2
Subsystem:
Regression: No
Bisected commit-id:


Attachments
bigger part of kern.log (13.12 KB, text/plain)
2010-08-29 02:49 UTC, bugs
Details
lspci -v output (5.96 KB, text/plain)
2010-08-29 02:52 UTC, bugs
Details
dmesg (51.65 KB, text/plain)
2010-08-29 02:52 UTC, bugs
Details
kernel config (61.56 KB, text/plain)
2010-08-29 02:53 UTC, bugs
Details
video bios (64.00 KB, application/octet-stream)
2010-08-31 23:43 UTC, bugs
Details

Description bugs 2010-08-29 02:49:55 UTC
Created attachment 28241 [details]
bigger part of kern.log

When I modprobe radeon with modeset=1 I just got a blank screen and had to restart.
While inspecting the logs, I runned into this:

Aug 29 03:44:31 kamca kernel: [ 2653.857884] [drm] Module unloaded
Aug 29 03:45:06 kamca kernel: [ 2688.601769] [drm] radeon kernel modesetting enabled.
Aug 29 03:45:06 kamca kernel: [ 2688.601900] radeon 0000:01:00.0: setting latency timer to 64
Aug 29 03:45:06 kamca kernel: [ 2688.606924] [drm] initializing kernel modesetting (RV380 0x1002:0x5460).
Aug 29 03:45:06 kamca kernel: [ 2688.607203] [drm] register mmio base: 0xB0100000
Aug 29 03:45:06 kamca kernel: [ 2688.607279] [drm] register mmio size: 65536
Aug 29 03:45:06 kamca kernel: [ 2688.607527] [drm] Generation 2 PCI interface, using max accessible memory
Aug 29 03:45:06 kamca kernel: [ 2688.607607] radeon 0000:01:00.0: VRAM: 64M 0xC0000000 - 0xC3FFFFFF (64M used)
Aug 29 03:45:06 kamca kernel: [ 2688.607685] radeon 0000:01:00.0: GTT: 512M 0xA0000000 - 0xBFFFFFFF
Aug 29 03:45:06 kamca kernel: [ 2688.607797] radeon 0000:01:00.0: irq 43 for MSI/MSI-X
Aug 29 03:45:06 kamca kernel: [ 2688.607802] [drm] radeon: using MSI.
Aug 29 03:45:06 kamca kernel: [ 2688.607891] [drm] radeon: irq initialized.
Aug 29 03:45:06 kamca kernel: [ 2688.608944] [drm] Detected VRAM RAM=64M, BAR=128M
Aug 29 03:45:06 kamca kernel: [ 2688.609074] [drm] RAM width 64bits DDR
Aug 29 03:45:06 kamca kernel: [ 2688.609202] [TTM] Zone  kernel: Available graphics memory: 447356 kiB.
Aug 29 03:45:06 kamca kernel: [ 2688.609280] [TTM] Zone highmem: Available graphics memory: 516416 kiB.
Aug 29 03:45:06 kamca kernel: [ 2688.609355] [TTM] Initializing pool allocator.
Aug 29 03:45:06 kamca kernel: [ 2688.609447] [drm] radeon: 64M of VRAM memory ready
Aug 29 03:45:06 kamca kernel: [ 2688.609520] [drm] radeon: 512M of GTT memory ready.
Aug 29 03:45:06 kamca kernel: [ 2688.609596] [drm] GART: num cpu pages 131072, num gpu pages 131072
Aug 29 03:45:06 kamca kernel: [ 2688.610647] [drm] radeon: 1 quad pipes, 1 Z pipes initialized.
Aug 29 03:45:06 kamca kernel: [ 2688.612289] [drm] PCIE GART of 512M enabled (table at 0xC0040000).
Aug 29 03:45:06 kamca kernel: [ 2688.612761] [drm] Loading R300 Microcode
Aug 29 03:45:06 kamca kernel: [ 2688.617641] [drm] radeon: ring at 0x00000000A0000000
Aug 29 03:45:06 kamca kernel: [ 2688.617740] [drm] ring test succeeded in 1 usecs
Aug 29 03:45:06 kamca kernel: [ 2688.617933] [drm] radeon: ib pool ready.
Aug 29 03:45:06 kamca kernel: [ 2688.619249] [drm] ib test succeeded in 0 usecs
Aug 29 03:45:06 kamca kernel: [ 2688.619678] [drm] DFP table revision: 4
Aug 29 03:45:06 kamca kernel: [ 2688.620044] [drm] Panel ID String: SXGA+ Single (85MHz)    
Aug 29 03:45:06 kamca kernel: [ 2688.620122] [drm] Panel Size 1400x1050
Aug 29 03:45:06 kamca kernel: [ 2688.620222] [drm] Default TV standard: NTSC
Aug 29 03:45:06 kamca kernel: [ 2688.620294] [drm] 27.000000000 MHz TV ref clk
Aug 29 03:45:06 kamca kernel: [ 2688.620382] BUG: unable to handle kernel NULL pointer dereference at 00000218
Aug 29 03:45:06 kamca kernel: [ 2688.620534] IP: [<f80d1deb>] drm_sysfs_connector_add+0x1b/0x210 [drm]
Aug 29 03:45:06 kamca kernel: [ 2688.620657] *pde = 00000000 
Aug 29 03:45:06 kamca kernel: [ 2688.620766] Oops: 0000 [#1] PREEMPT 
Aug 29 03:45:06 kamca kernel: [ 2688.620913] last sysfs file: /sys/devices/i2c-2/uevent
Aug 29 03:45:06 kamca kernel: [ 2688.620987] Modules linked in: radeon(+) uhci_hcd ehci_hcd lib80211_crypt_ccmp ttm drm_kms_helper drm agpgart i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect acpi_cpufreq mperf joydev hdaps uinput fuse nfsd exportfs nfs lockd fscache nfs_acl auth_rpcgss sunrpc snd_intel8x0 snd_ac97_codec ac97_bus snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq pcmcia snd_timer thinkpad_acpi ipw2200 led_class nvram snd_seq_device parport_pc snd libipw tg3 sg yenta_socket libphy lib80211 i2c_i801 snd_page_alloc psmouse usbcore evdev pcspkr [last unloaded: radeon]
Aug 29 03:45:06 kamca kernel: [ 2688.621006] 
Aug 29 03:45:06 kamca kernel: [ 2688.621006] Pid: 4466, comm: modprobe Not tainted 2.6.35.2-t43-kamca-3 #4 2668E16/2668E16
Aug 29 03:45:06 kamca kernel: [ 2688.621006] EIP: 0060:[<f80d1deb>] EFLAGS: 00010246 CPU: 0
Aug 29 03:45:06 kamca kernel: [ 2688.621006] EIP is at drm_sysfs_connector_add+0x1b/0x210 [drm]
Aug 29 03:45:06 kamca kernel: [ 2688.621006] EAX: 00000000 EBX: ecf6a800 ECX: 00000004 EDX: e8525d70
Aug 29 03:45:06 kamca kernel: [ 2688.621006] ESI: ee32b400 EDI: 00000000 EBP: e8525de4 ESP: e8525cbc
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
Aug 29 03:45:06 kamca kernel: [ 2688.621006] Process modprobe (pid: 4466, ti=e8524000 task=f659da80 task.ti=e8524000)
Aug 29 03:45:06 kamca kernel: [ 2688.621006] Stack:
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  f82062d7 ecf6a800 e864e800 00000006 00000004 e8525d70 00000007 ee316000
Aug 29 03:45:06 kamca kernel: [ 2688.621006] <0> ecf6a800 00000007 000000ff e8525de4 f81f57f1 00000006 e8525d70 00000007
Aug 29 03:45:06 kamca kernel: [ 2688.621006] <0> e8525dbc e8525d2e c1432b3e 00000a80 e8525d70 00000001 00000002 000008dd
Aug 29 03:45:06 kamca kernel: [ 2688.621006] Call Trace:
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f82062d7>] ? radeon_add_legacy_connector+0xa7/0x3d0 [radeon]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f81f57f1>] ? radeon_get_legacy_connector_info_from_bios+0x571/0xe30 [radeon]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f80d6428>] ? drm_mode_crtc_set_gamma_size+0x18/0x40 [drm]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f820aea2>] ? radeon_modeset_init+0x222/0x6f0 [radeon]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f81e9d1e>] ? radeon_device_init+0x28e/0x370 [radeon]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f81e8d70>] ? radeon_vga_set_decode+0x0/0x20 [radeon]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f81eb17d>] ? radeon_driver_load_kms+0x7d/0x150 [radeon]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f80cf94a>] ? drm_get_dev+0x28a/0x470 [drm]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c10e607c>] ? sysfs_add_one+0x1c/0xb0
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c10e5943>] ? sysfs_addrm_finish+0x13/0xb0
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c11c8d9b>] ? local_pci_probe+0xb/0x10
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c11ca259>] ? pci_device_probe+0x69/0x90
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c1232835>] ? driver_probe_device+0x85/0x1a0
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c10e622a>] ? sysfs_create_dir+0x6a/0xb0
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c12329c9>] ? __driver_attach+0x79/0x80
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c1232950>] ? __driver_attach+0x0/0x80
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c1231e52>] ? bus_for_each_dev+0x52/0x80
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c12326b6>] ? driver_attach+0x16/0x20
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c1232950>] ? __driver_attach+0x0/0x80
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c12320b2>] ? bus_add_driver+0xa2/0x260
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c11c8e00>] ? pci_device_shutdown+0x0/0x30
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c11c9c10>] ? pci_device_remove+0x0/0x40
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c1232c63>] ? driver_register+0x63/0x120
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f80ca7b0>] ? drm_init+0x30/0x100 [drm]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<f80b2000>] ? radeon_init+0x0/0xb0 [radeon]
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c11c9ca6>] ? __pci_register_driver+0x36/0xa0
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c100111f>] ? do_one_initcall+0x2f/0x190
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c1056731>] ? sys_init_module+0xa1/0x1e0
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c1098867>] ? sys_close+0x67/0xe0
Aug 29 03:45:06 kamca kernel: [ 2688.621006]  [<c1002d10>] ? sysenter_do_call+0x12/0x26
Aug 29 03:45:06 kamca kernel: [ 2688.621006] Code: e8 ab 2b 0e c9 83 c4 10 5b c3 8d b6 00 00 00 00 55 57 56 89 c6 53 83 ec 20 8b 38 0f b6 40 2c d0 e8 24 01 84 c0 0f 85 e7 01 00 00 <8b> 87 18 02 00 00 ba 40 1a 0d f8 bb 2e b6 0d f8 bd b6 ab 0d f8 
Aug 29 03:45:06 kamca kernel: [ 2688.621006] EIP: [<f80d1deb>] drm_sysfs_connector_add+0x1b/0x210 [drm] SS:ESP 0068:e8525cbc
Aug 29 03:45:06 kamca kernel: [ 2688.621006] CR2: 0000000000000218
Aug 29 03:45:06 kamca kernel: [ 2688.640635] ---[ end trace d49ccd528317b550 ]---

Running Debian testing on Thinkpad T43 with own kernel.
Comment 1 bugs 2010-08-29 02:52:14 UTC
Created attachment 28251 [details]
lspci -v output
Comment 2 bugs 2010-08-29 02:52:37 UTC
Created attachment 28261 [details]
dmesg
Comment 3 bugs 2010-08-29 02:53:00 UTC
Created attachment 28271 [details]
kernel config
Comment 4 Alex Deucher 2010-08-30 00:16:28 UTC
What kernel version has the issue?
Comment 5 Alex Deucher 2010-08-30 00:19:57 UTC
Also, does kms with with a newer or older kernel version?
Comment 6 bugs 2010-08-30 09:18:47 UTC
The affected version is 2.6.35.2, but it seems that I've missed release of .4 so I'll test it with new version and report...
Comment 7 bugs 2010-08-31 08:37:51 UTC
Ok, I've tested this kernel versions:
2.6.33
2.6.35.2
2.6.35.4
and all are affected.

Is there any other information I should provide to be more helpful?
Comment 8 Alex Deucher 2010-08-31 20:27:00 UTC
Can you attach a copy of your video bios?  As root:

cd /sys/bus/pci/devices/<pci bus id>
echo 1 > rom
cat rom > /tmp/x300.rom
echo 0 > rom
Comment 9 bugs 2010-08-31 23:43:47 UTC
Created attachment 28711 [details]
video bios

Just remembered - on 2.6.33 is one difference, after invoking modprobe radeon modeset=1 I got error, but the screen doesn't went blank.

Video bios attached.
Comment 10 Alex Deucher 2010-09-01 22:28:22 UTC
Are you loading radeon with the module parameter tv=0?  If so, remove that parameter or try this patch:
http://lists.freedesktop.org/archives/dri-devel/2010-September/003501.html
Comment 11 bugs 2010-09-05 13:38:53 UTC
Patched & tested on 2.6.35.2 -> working. Thanks! :)
(this is my first bug on kernel, am I supposed to change status to RESOLVED?)
Comment 12 Alex Deucher 2010-09-07 04:55:36 UTC
Dave has queued the patch and requested a pull from Linus:
http://git.kernel.org/?p=linux/kernel/git/airlied/drm-2.6.git;a=commitdiff;h=cf4c12f9a2289e3679722590e1226ae8deb14385

Note You need to log in before you can comment on or make changes to this bug.