diff options
author | Nicholas Mc Guire <hofrat@osadl.org> | 2015-04-04 05:39:07 +0300 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2015-06-11 20:11:02 +0300 |
commit | 9f68ef90aa383c01e143889989f20577605ca4f6 (patch) | |
tree | 7b100d0c81d3413334602ee16ddd981e8da8a1d5 /drivers/gpu/drm/msm/edp/edp.h | |
parent | e5989ee1342a686764934fff01e743aa06803d21 (diff) | |
download | linux-9f68ef90aa383c01e143889989f20577605ca4f6.tar.xz |
drm/msm: fixup wait_for_completion_timeout handling
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>
Diffstat (limited to 'drivers/gpu/drm/msm/edp/edp.h')
0 files changed, 0 insertions, 0 deletions