Pine64+ sun4i-drm Attempting to unwedge stuck i2c bus
Erico Nunes
nunes.erico at gmail.com
Mon Jun 10 17:27:53 UTC 2019
Hi,
updating my Pine64+ to the latest drm-misc-next today (427231bc6d5)
started giving me the BUG and Oops below. It's consistently
reproduceable. Without KASAN I still get the Oops.
I was able to bisect it to [50f9495efe308eb25fd921ea7c8c8143ddeeae30]
drm/bridge/synopsys: dw-hdmi: Add "unwedge" for ddc bus .
Reading the comments on that patch I'm not sure why it is even trying
to run this "unwedge" handler on the Pine64+.
Any clue?
Thanks
Erico
[ 11.295570] sun4i-drm display-engine: bound 1100000.mixer (ops
sun8i_mixer_ops [sun8i_mixer])
[ 11.311050] sun4i-drm display-engine: bound 1200000.mixer (ops
sun8i_mixer_ops [sun8i_mixer])
[ 11.323249] sun4i-drm display-engine: No panel or bridge found...
RGB output disabled
[ 11.331231] sun4i-drm display-engine: bound 1c0c000.lcd-controller
(ops sun4i_tcon_ops [sun4i_tcon])
[ 11.342553] sun4i-drm display-engine: bound 1c0d000.lcd-controller
(ops sun4i_tcon_ops [sun4i_tcon])
[ 11.356378] sun8i-dw-hdmi 1ee0000.hdmi: Detected HDMI TX controller
v1.32a with HDCP (sun8i_dw_hdmi_phy)
[ 11.369609] sun8i-dw-hdmi 1ee0000.hdmi: registered DesignWare HDMI
I2C bus driver
[ 11.382381] sun4i-drm display-engine: bound 1ee0000.hdmi (ops
sun8i_dw_hdmi_ops [sun8i_drm_hdmi])
[ 11.391385] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[ 11.398082] [drm] No driver support for vblank timestamp query.
[ 11.408146] [drm] Initialized sun4i-drm 1.0.0 20150629 for
display-engine on minor 0
[ 11.517050] sun8i-dw-hdmi 1ee0000.hdmi: Attempting to unwedge stuck i2c bus
[ 11.524067] ==================================================================
[ 11.531315] BUG: KASAN: null-ptr-deref in pinctrl_select_state+0x1c/0x50
[ 11.538023] Read of size 8 at addr 0000000000000015 by task udevd/213
[ 11.544462]
[ 11.545974] CPU: 1 PID: 213 Comm: udevd Not tainted 5.2.0-rc2 #5
[ 11.551984] Hardware name: Pine64+ (DT)
[ 11.555825] Call trace:
[ 11.558295] dump_backtrace+0x0/0x1d0
[ 11.561974] show_stack+0x14/0x20
[ 11.565309] dump_stack+0xc4/0xfc
[ 11.568640] __kasan_report+0x19c/0x1a0
[ 11.572487] kasan_report+0xc/0x20
[ 11.575903] __asan_load8+0x54/0xa0
[ 11.579404] pinctrl_select_state+0x1c/0x50
[ 11.583636] dw_hdmi_i2c_wait+0xcc/0x110 [dw_hdmi]
[ 11.588472] dw_hdmi_i2c_xfer+0x37c/0x6a0 [dw_hdmi]
[ 11.593376] __i2c_transfer+0x29c/0x550
[ 11.597233] i2c_transfer+0x100/0x190
[ 11.601594] drm_do_probe_ddc_edid+0x128/0x1d0 [drm]
[ 11.607254] drm_get_edid+0xa8/0x530 [drm]
[ 11.611410] dw_hdmi_connector_get_modes+0x28/0xb0 [dw_hdmi]
[ 11.617380] drm_helper_probe_single_connector_modes+0x290/0x9e0
[drm_kms_helper]
[ 11.625169] drm_setup_crtcs+0x274/0x15f0 [drm_kms_helper]
[ 11.630945] __drm_fb_helper_initial_config_and_unlock+0xb4/0x770
[drm_kms_helper]
[ 11.638769] drm_fbdev_client_hotplug+0x14c/0x230 [drm_kms_helper]
[ 11.645205] drm_fbdev_generic_setup+0xc8/0x190 [drm_kms_helper]
[ 11.651252] sun4i_drv_bind+0x1cc/0x240 [sun4i_drm]
[ 11.656153] try_to_bring_up_master+0x280/0x300
[ 11.660700] component_master_add_with_match+0x13c/0x180
[ 11.666049] sun4i_drv_probe+0x26c/0x2f0 [sun4i_drm]
[ 11.671027] platform_drv_probe+0x6c/0xd0
[ 11.675054] really_probe+0x144/0x3a0
[ 11.678733] driver_probe_device+0x74/0x130
[ 11.682932] device_driver_attach+0x94/0xa0
[ 11.687131] __driver_attach+0x70/0x110
[ 11.690982] bus_for_each_dev+0xe8/0x160
[ 11.694920] driver_attach+0x30/0x40
[ 11.698511] bus_add_driver+0x250/0x2b0
[ 11.702357] driver_register+0xbc/0x1d0
[ 11.706207] __platform_driver_register+0x7c/0x90
[ 11.710948] sun4i_drv_platform_driver_init+0x20/0x1000 [sun4i_drm]
[ 11.717229] do_one_initcall+0xd4/0x254
[ 11.721083] do_init_module+0xfc/0x360
[ 11.724845] load_module+0x2e6c/0x3580
[ 11.728609] __se_sys_finit_module+0x138/0x150
[ 11.733067] __arm64_sys_finit_module+0x40/0x50
[ 11.737617] el0_svc_common.constprop.0+0xc0/0x1c0
[ 11.742423] el0_svc_handler+0x34/0x90
[ 11.746185] el0_svc+0x8/0xc
[ 11.749065] ==================================================================
[ 11.756288] Disabling lock debugging due to kernel taint
[ 11.762018] Unable to handle kernel NULL pointer dereference at
virtual address 0000000000000015
[ 11.770983] Mem abort info:
[ 11.773930] ESR = 0x96000006
[ 11.777084] Exception class = DABT (current EL), IL = 32 bits
[ 11.783163] SET = 0, FnV = 0
[ 11.786314] EA = 0, S1PTW = 0
[ 11.789534] Data abort info:
[ 11.792454] ISV = 0, ISS = 0x00000006
[ 11.796412] CM = 0, WnR = 0
[ 11.799481] user pgtable: 4k pages, 48-bit VAs, pgdp=00000000a425e000
[ 11.806025] [0000000000000015] pgd=00000000a425f003,
pud=00000000a4260003, pmd=0000000000000000
[ 11.814881] Internal error: Oops: 96000006 [#1] PREEMPT SMP
[ 11.820469] Modules linked in: snd_soc_hdmi_codec(+)
dw_hdmi_i2s_audio sun4i_drm(+) sun4i_frontend sun4i_tcon sun8i_mixer
sun8i_drm_hdmi dw_hdmi sun8i_tcon_top drm_kms_helper gpu_sched drm
snd_soc_simple_card snd_soc_spdif_tx snd_soc_simple_card_utils
crct10dif_ce drm_panel_orientation_quirks
[ 11.846462] CPU: 1 PID: 213 Comm: udevd Tainted: G B
5.2.0-rc2 #5
[ 11.853863] Hardware name: Pine64+ (DT)
[ 11.857710] pstate: 60000005 (nZCv daif -PAN -UAO)
[ 11.862529] pc : pinctrl_select_state+0x1c/0x50
[ 11.867073] lr : pinctrl_select_state+0x1c/0x50
[ 11.871608] sp : ffff800063166940
[ 11.874929] x29: ffff800063166940 x28: ffff8000627f5100
[ 11.880256] x27: 0000000000000000 x26: 0000000000007e04
[ 11.885580] x25: ffff8000655e4010 x24: ffff800063166ce0
[ 11.890906] x23: ffff8000614b4c70 x22: ffffffffffffffed
[ 11.896231] x21: ffff8000655e4010 x20: 0000000000000000
[ 11.901554] x19: ffffffffffffffed x18: 0000000000000000
[ 11.906878] x17: 0000000000000001 x16: 0000000000000000
[ 11.912201] x15: 0000000000000000 x14: ffff2000110bab88
[ 11.917527] x13: ffff2000110cb0d4 x12: ffff10000c90caaa
[ 11.922853] x11: 1ffff0000c90caa9 x10: ffff10000c90caa9
[ 11.928178] x9 : 1ffff0000c90caa9 x8 : dfff200000000000
[ 11.933505] x7 : ffff10000c90caaa x6 : ffff80006486554f
[ 11.938829] x5 : ffff10000c90caaa x4 : dfff200000000000
[ 11.944154] x3 : ffff20001013bee8 x2 : 0000000000000007
[ 11.949479] x1 : 55fd5b60411d3400 x0 : 0000000000000000
[ 11.954802] Call trace:
[ 11.957267] pinctrl_select_state+0x1c/0x50
[ 11.961500] dw_hdmi_i2c_wait+0xcc/0x110 [dw_hdmi]
[ 11.966330] dw_hdmi_i2c_xfer+0x37c/0x6a0 [dw_hdmi]
[ 11.971225] __i2c_transfer+0x29c/0x550
[ 11.975073] i2c_transfer+0x100/0x190
[ 11.979410] drm_do_probe_ddc_edid+0x128/0x1d0 [drm]
[ 11.984979] drm_get_edid+0xa8/0x530 [drm]
[ 11.989119] dw_hdmi_connector_get_modes+0x28/0xb0 [dw_hdmi]
[ 11.995074] drm_helper_probe_single_connector_modes+0x290/0x9e0
[drm_kms_helper]
[ 12.002810] drm_setup_crtcs+0x274/0x15f0 [drm_kms_helper]
[ 12.008552] __drm_fb_helper_initial_config_and_unlock+0xb4/0x770
[drm_kms_helper]
[ 12.016373] drm_fbdev_client_hotplug+0x14c/0x230 [drm_kms_helper]
[ 12.022807] drm_fbdev_generic_setup+0xc8/0x190 [drm_kms_helper]
[ 12.028855] sun4i_drv_bind+0x1cc/0x240 [sun4i_drm]
[ 12.033753] try_to_bring_up_master+0x280/0x300
[ 12.038298] component_master_add_with_match+0x13c/0x180
[ 12.043646] sun4i_drv_probe+0x26c/0x2f0 [sun4i_drm]
[ 12.048624] platform_drv_probe+0x6c/0xd0
[ 12.052652] really_probe+0x144/0x3a0
[ 12.056332] driver_probe_device+0x74/0x130
[ 12.060532] device_driver_attach+0x94/0xa0
[ 12.064731] __driver_attach+0x70/0x110
[ 12.068582] bus_for_each_dev+0xe8/0x160
[ 12.072519] driver_attach+0x30/0x40
[ 12.076111] bus_add_driver+0x250/0x2b0
[ 12.079957] driver_register+0xbc/0x1d0
[ 12.083807] __platform_driver_register+0x7c/0x90
[ 12.088548] sun4i_drv_platform_driver_init+0x20/0x1000 [sun4i_drm]
[ 12.094828] do_one_initcall+0xd4/0x254
[ 12.098683] do_init_module+0xfc/0x360
[ 12.102446] load_module+0x2e6c/0x3580
[ 12.106209] __se_sys_finit_module+0x138/0x150
[ 12.110668] __arm64_sys_finit_module+0x40/0x50
[ 12.115217] el0_svc_common.constprop.0+0xc0/0x1c0
[ 12.120015] el0_svc_handler+0x34/0x90
[ 12.123776] el0_svc+0x8/0xc
[ 12.126679] Code: aa0003f3 aa0103f4 9100a000 97f1e48a (f9401660)
[ 12.132782] ---[ end trace 7836ff53dea05cfe ]---
More information about the dri-devel
mailing list