After fixing getting PANEL's native mode I hit another bug, crasher
one this time.

Problem is we don't break loop list_for_each_entry in void
atombios_crtc_set_pll(...).

As a result *encoder points to encoder that we are not interested in.
In case of table version 3 we use this *encoder and that leads to
crash in radeon_get_connector_for_encoder (not
atombios_get_encoder_mode as log suggests).

Of course my patches may we wrong, please review it well :)

-- 
Rafał Miłecki
Console: switching to colour frame buffer device 200x56
[drm:drm_crtc_helper_set_config], 
[drm:drm_crtc_helper_set_config], crtc: ffff880136ccf800 3 fb: ffff8801371e9b00 connectors: ffff880136ccffb8 num_connectors: 1 (x, y) (0, 0)
[drm:drm_crtc_helper_set_config], crtc has no fb, full mode set
[drm:drm_crtc_helper_set_config], modes are different, full mode set
[drm_mode:drm_mode_debug_printmodeline], Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0x0
[drm_mode:drm_mode_debug_printmodeline], Modeline 13:"1600x900" 59954 88540 1600 1614 1626 1630 900 902 904 906 0x48 0x0
[drm:drm_crtc_helper_set_config], setting connector 8 crtc to ffff880136ccf800
[drm:drm_crtc_helper_set_config], attempting to set mode from userspace
[drm_mode:drm_mode_debug_printmodeline], Modeline 13:"1600x900" 59954 88540 1600 1614 1626 1630 900 902 904 906 0x48 0x0
[drm:radeon_compute_pll], PLL freq 88540 2 1023
BUG: unable to handle kernel NULL pointer dereference at 0000000000000473
IP: [<ffffffffa04a79fa>] atombios_get_encoder_mode+0xc/0xb7 [radeon]
PGD 0 
Oops: 0000 [#1] SMP 
last sysfs file: /sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_map
CPU 0 
Modules linked in: radeon(+) ttm drm i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect ip6t_LOG xt_tcpudp xt_pkttype ipt_LOG xt_limit xt_physdev sco bridge stp bnep snd_pcm_oss snd_mixer_oss rfcomm l2cap snd_seq binfmt_misc snd_seq_device af_packet ip6t_REJECT nf_conntrack_ipv6 ip6table_raw xt_NOTRACK ipt_REJECT xt_state iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ip_tables cpufreq_conservative cpufreq_userspace ip6table_filter cpufreq_powersave ip6_tables acpi_cpufreq x_tables ipv6 sr_mod cdrom fuse loop dm_mod snd_hda_codec_atihdmi snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwdep btusb snd_pcm sdhci_pci rtc_cmos snd_timer sdhci snd usb_storage video rtc_core ohci1394 soundcore bluetooth sony_laptop mmc_core iTCO_wdt i2c_i801 sky2 rtc_lib iTCO_vendor_support pcspkr ieee1394 serio_raw intel_agp sg joydev snd_page_alloc output led_class rfkill i2c_core button battery ac sd_mod crc_t10dif ehci_hcd uhci_hcd usbcore edd ext3 mbcache jbd fan ahci libata scsi_mod thermal processor thermal_sys hwmon
Pid: 3797, comm: work_for_cpu Not tainted 2.6.30-git #5 VGN-FW11S
RIP: 0010:[<ffffffffa04a79fa>]  [<ffffffffa04a79fa>] atombios_get_encoder_mode+0xc/0xb7 [radeon]
RSP: 0018:ffff88013a5614d0  EFLAGS: 00010282
RAX: 000000000000001f RBX: 0000000000000010 RCX: ffff88013a56153e
RDX: 0000000000000003 RSI: 000000000000a608 RDI: ffff88013684a480
RBP: ffff88013a5614e0 R08: ffff880137100000 R09: ffff88013a56153f
R10: 0000000000902d73 R11: 000000000001d4c0 R12: ffff88013684a480
R13: ffff8801381a7000 R14: ffff880136ccf800 R15: ffff8801388ff980
FS:  0000000000000000(0000) GS:ffff880028022000(0000) knlGS:0000000000000000
CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
CR2: 0000000000000473 CR3: 0000000001001000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process work_for_cpu (pid: 3797, threadinfo ffff88013a560000, task ffff880136944140)
Stack:
 ffff880136ccf800 0000000000000010 ffff88013a561570 ffffffffa0499d30
<0> ffff88013a561528 00ff000000000010 0000000600000010 ffff8801389557c0
<0> 000b01f9000e2295 0000000000001f00 0000000000000000 000000000000000b
Call Trace:
 [<ffffffffa0499d30>] atombios_crtc_set_pll+0x22b/0x28a [radeon]
 [<ffffffffa0499e98>] atombios_crtc_mode_set+0x109/0x2b5 [radeon]
 [<ffffffffa049fda3>] ? atom_execute_table+0x1c4/0x221 [radeon]
 [<ffffffffa04566c5>] drm_crtc_helper_set_mode+0x21b/0x346 [drm]
 [<ffffffffa0456d0e>] drm_crtc_helper_set_config+0x4a8/0x63b [drm]
 [<ffffffffa04ac6fa>] radeonfb_pan_display+0x97/0xf1 [radeon]
 [<ffffffff811a2f36>] fb_pan_display+0xb4/0xfb
 [<ffffffff811afaca>] bit_update_start+0x1b/0x3e
 [<ffffffff811acff5>] fbcon_switch+0x421/0x426
 [<ffffffff811f90f4>] redraw_screen+0x105/0x1e1
 [<ffffffff811f94b4>] bind_con_driver+0x2e4/0x318
 [<ffffffff811f9521>] take_over_console+0x39/0x48
 [<ffffffff811aee3d>] fbcon_takeover+0x59/0x8b
 [<ffffffff811af3ea>] fbcon_event_notify+0x20a/0x561
 [<ffffffff8118301e>] ? ida_get_new_above+0xf3/0x1b1
 [<ffffffff8112f9f4>] ? sysfs_ilookup_test+0x0/0x14
 [<ffffffff810d58f9>] ? cache_grow+0x208/0x266
 [<ffffffff812d8829>] notifier_call_chain+0x33/0x5b
 [<ffffffff81060f74>] __blocking_notifier_call_chain+0x4d/0x6a
 [<ffffffff81060fa0>] blocking_notifier_call_chain+0xf/0x11
 [<ffffffff811a2c22>] fb_notifier_call_chain+0x16/0x18
 [<ffffffff811a3c2f>] register_framebuffer+0x2e0/0x2fb
 [<ffffffffa04ad309>] radeonfb_probe+0x2c1/0x333 [radeon]
 [<ffffffffa04572c0>] drm_helper_initial_config+0x174/0x182 [drm]
 [<ffffffffa04aa812>] radeon_modeset_init+0x1ba/0x1cc [radeon]
 [<ffffffffa0497079>] radeon_device_init+0x449/0x4b4 [radeon]
 [<ffffffffa0497798>] radeon_driver_load_kms+0xef/0x11f [radeon]
 [<ffffffffa044f284>] drm_get_dev+0x377/0x463 [drm]
 [<ffffffff810595ed>] ? do_work_for_cpu+0x0/0x25
 [<ffffffffa04ba596>] radeon_pci_probe+0x10/0x263 [radeon]
 [<ffffffff811984c7>] local_pci_probe+0x12/0x16
 [<ffffffff81059600>] do_work_for_cpu+0x13/0x25
 [<ffffffff810595ed>] ? do_work_for_cpu+0x0/0x25
 [<ffffffff8105cfc2>] kthread+0x88/0x90
 [<ffffffff8100cd8a>] child_rip+0xa/0x20
 [<ffffffff81186809>] ? rb_insert_color+0x69/0xe6
 [<ffffffff8105cf3a>] ? kthread+0x0/0x90
 [<ffffffff8100cd80>] ? child_rip+0x0/0x20
Code: c0 44 89 fe 48 8b b8 80 02 00 00 e8 00 82 ff ff 48 83 c4 38 5b 41 5c 41 5d 41 5e 41 5f c9 c3 55 48 89 e5 53 48 83 ec 08 48 8b 17 <48> 8b 82 70 04 00 00 48 81 c2 70 04 00 00 48 8d 98 a0 fe ff ff 
RIP  [<ffffffffa04a79fa>] atombios_get_encoder_mode+0xc/0xb7 [radeon]
 RSP <ffff88013a5614d0>
CR2: 0000000000000473
---[ end trace 9074daeb95597fdc ]---
Console: switching to colour frame buffer device 200x56
[drm:drm_crtc_helper_set_config], 
[drm:drm_crtc_helper_set_config], crtc: ffff880137ca8800 3 fb: ffff880139d6b3c0 connectors: ffff880137ca8fb8 num_connectors: 1 (x, y) (0, 0)
[drm:drm_crtc_helper_set_config], crtc has no fb, full mode set
[drm:drm_crtc_helper_set_config], modes are different, full mode set
[drm_mode:drm_mode_debug_printmodeline], Modeline 0:"" 0 0 0 0 0 0 0 0 0 0 0x0 0x0
[drm_mode:drm_mode_debug_printmodeline], Modeline 13:"1600x900" 59954 88540 1600 1614 1626 1630 900 902 904 906 0x48 0x0
[drm:drm_crtc_helper_set_config], setting connector 8 crtc to ffff880137ca8800
[drm:drm_crtc_helper_set_config], attempting to set mode from userspace
[drm_mode:drm_mode_debug_printmodeline], Modeline 13:"1600x900" 59954 88540 1600 1614 1626 1630 900 902 904 906 0x48 0x0
[drm:radeon_compute_pll], PLL freq 88540 2 1023
executing set pll
executing set crtc timing
[drm] LVDS-7: set mode 1600x900 d
[drm:avivo_crtc_load_lut], 0
fb0: radeondrmfb frame buffer device
registered panic notifier
[drm] radeon: kernel modesetting successfully initialized.
[drm] Initialized radeon 2.0.0 20080528 for 0000:01:00.0 on minor 0

Attachment: 0002-drm-radeon-break-list_for_each_entry-loop-after-fin.patch
Description: Binary data

------------------------------------------------------------------------------
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to