rk3399 linux4.19 ubuntu mpv播放概率性内核崩溃在vop_crtc_atomic_flush

现象:使用 mpv播放视频时,播放一段时间后内核core

rk3399 linux4.19 ubuntu mpv播放概率性内核崩溃在vop_crtc_atomic_flush_第1张图片

rk3399 linux4.19 ubuntu mpv播放概率性内核崩溃在vop_crtc_atomic_flush_第2张图片

环境:

linux sdk版本:4.19.172 ubuntu18系统

验证:

1. /etc/mpv/mpv.conf 默认配置vo=xv 播放一段时间后,内核core

2. /etc/mpv/mpv.conf vo=gpu播放稳定,不会出现dmp

初步怀疑时rk3399该版本的内核驱动存在缺陷导致的。反汇编崩溃在for_each_old_plane_int_state(old_state, plane, old_plane_state, i)位置,增加old_state == NULL,崩溃点转移

rk3399 linux4.19 ubuntu mpv播放概率性内核崩溃在vop_crtc_atomic_flush_第3张图片

在崩溃日志往前查找,发现崩溃前触发了几次WARN_ON

找供应商要了最新的SDK4.19.252比对了下相应的代码,确认最新的代码对该问题进行了修复,在commit_planes的时候增加锁操作。

    mutex_lock(&prv->ovl_lock);
    drm_atomic_helper_commit_planes(dev, state, true);
    mutex_unlock(&prv->ovl_lock);

你可能感兴趣的:(LINUX,ubuntu,linux,rk3399,drm)