9f68ef90aa
wait_for_completion_timeout return >= 0 but never negative so the check logic looks inconsistent. Further the return value of wait_for_completion_timeout was being passed up the call chain but the x call sites as drm_dp_i2c_do_msg()/drm_dp_dpcd_access() check for < 0 thus timeout was being treated as success case. <snip> drivers/gpu/drm/drm_dp_helper.c:drm_dp_i2c_do_msg() mutex_lock(&aux->hw_mutex); ret = aux->transfer(aux, msg); mutex_unlock(&aux->hw_mutex); if (ret < 0) { <snip> logic in edp_aux_transfer() seems incorrect as it could return 0 (timeout) but checks of <= 0 to indicate error so the return probably should be -ETIMEDOUT in case wait_for_completion_timeout returns 0 (timeout occurred). Signed-off-by: Nicholas Mc Guire <hofrat@osadl.org> Signed-off-by: Rob Clark <robdclark@gmail.com> |
||
---|---|---|
.. | ||
adreno | ||
dsi | ||
edp | ||
hdmi | ||
mdp | ||
Kconfig | ||
Makefile | ||
msm_atomic.c | ||
msm_drv.c | ||
msm_drv.h | ||
msm_fb.c | ||
msm_fbdev.c | ||
msm_gem_prime.c | ||
msm_gem_submit.c | ||
msm_gem.c | ||
msm_gem.h | ||
msm_gpu.c | ||
msm_gpu.h | ||
msm_iommu.c | ||
msm_kms.h | ||
msm_mmu.h | ||
msm_perf.c | ||
msm_rd.c | ||
msm_ringbuffer.c | ||
msm_ringbuffer.h | ||
NOTES |