To avoid below call trace: [ 630.025726] WARNING: CPU: 6 PID: 342 at drivers/gpio/gpiolib.c:3051 gpiod_set_value+0x64/0xd4 [ 630.025799] CPU: 6 PID: 342 Comm: Xorg Tainted: G W 5.15.94-yocto-standard #1 [ 630.025804] Hardware name: Texas Instruments J784S4 EVM (DT) [ 630.025806] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 630.025811] pc : gpiod_set_value+0x64/0xd4 [ 630.025814] lr : ti_sn65dsi86_suspend+0x6c/0xc0 [ 630.025822] sp : fffffe001276f770 [ 630.025824] x29: fffffe001276f770 x28: fffffe0008f84ad8 x27: fffffc080d62e000 [ 630.025830] x26: fffffc0801835200 x25: 00000000000f4240 x24: fffffe0008098d80 [ 630.025836] x23: 0000000000000000 x22: fffffc080402e904 x21: 0000000000000000 [ 630.025841] x20: 0000000000000000 x19: fffffc0801a46050 x18: 0000000000000000 [ 630.025847] x17: 0000000000000001 x16: 0000000000000001 x15: 000a7362abf69530 [ 630.025852] x14: 0008a9a0b5cf2ce0 x13: fffffe0008ea1e28 x12: 00000000fa83b2da [ 630.025857] x11: 00000000000000aa x10: 0000000000000950 x9 : fffffe000889c4cc [ 630.025863] x8 : fffffe001276f6e0 x7 : 0000000000000000 x6 : 0000000000000000 [ 630.025868] x5 : 0000000000000000 x4 : 0000000000000000 x3 : fffffc0804185280 [ 630.025873] x2 : 0000000000000000 x1 : fffffc0804017220 x0 : 0000000000000001 [ 630.025879] Call trace: [ 630.025881] gpiod_set_value+0x64/0xd4 [ 630.025884] ti_sn65dsi86_suspend+0x6c/0xc0 [ 630.025888] __rpm_callback+0x50/0x150 [ 630.025894] rpm_callback+0x74/0x80 [ 630.025898] rpm_suspend+0x11c/0x700 [ 630.025903] rpm_idle+0x13c/0x440 [ 630.025907] __pm_runtime_idle+0x68/0x190 [ 630.025911] ti_sn_bridge_post_disable+0x74/0xdc [ 630.025915] drm_atomic_bridge_chain_post_disable+0x90/0xd0 [ 630.025921] disable_outputs+0x114/0x2c4 [ 630.025926] drm_atomic_helper_commit_modeset_disables+0x24/0x50 [ 630.025929] tidss_atomic_commit_tail+0x34/0x90 [ 630.025933] commit_tail+0xac/0x180 [ 630.025937] drm_atomic_helper_commit+0x154/0x180 [ 630.025940] drm_atomic_commit+0x54/0x6c [ 630.025944] drm_client_modeset_commit_atomic+0x214/0x254 [ 630.025949] drm_client_modeset_dpms+0x90/0x220 [ 630.025952] drm_fb_helper_blank+0x64/0x110 [ 630.025955] fb_blank+0x5c/0xb0 [ 630.025960] do_fb_ioctl+0x410/0x640 [ 630.025964] fb_ioctl+0x40/0x5c [ 630.025968] __arm64_sys_ioctl+0xb0/0xf4 [ 630.025974] invoke_syscall+0x5c/0x130 [ 630.025980] el0_svc_common.constprop.0+0x4c/0x100 [ 630.025983] do_el0_svc+0x4c/0xb4 [ 630.025987] el0_svc+0x28/0x80 [ 630.025992] el0t_64_sync_handler+0xa4/0x130 [ 630.025995] el0t_64_sync+0x1a0/0x1a4
Signed-off-by: Xulin Sun <[email protected]> --- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c index c5b28739cdb1..a4c618a0047c 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -311,7 +311,7 @@ static int __maybe_unused ti_sn65dsi86_resume(struct device *dev) /* td2: min 100 us after regulators before enabling the GPIO */ usleep_range(100, 110); - gpiod_set_value(pdata->enable_gpio, 1); + gpiod_set_value_cansleep(pdata->enable_gpio, 1); /* * If we have a reference clock we can enable communication w/ the @@ -334,7 +334,7 @@ static int __maybe_unused ti_sn65dsi86_suspend(struct device *dev) if (pdata->refclk) ti_sn65dsi86_disable_comms(pdata); - gpiod_set_value(pdata->enable_gpio, 0); + gpiod_set_value_cansleep(pdata->enable_gpio, 0); ret = regulator_bulk_disable(SN_REGULATOR_SUPPLY_NUM, pdata->supplies); if (ret) -- 2.36.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12182): https://lists.yoctoproject.org/g/linux-yocto/message/12182 Mute This Topic: https://lists.yoctoproject.org/mt/97262126/21656 Group Owner: [email protected] Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
