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