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
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
