]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
drm/gma500: fix error check
authorTom Rix <trix@redhat.com>
Wed, 5 Aug 2020 20:59:11 +0000 (13:59 -0700)
committerPatrik Jakobsson <patrik.r.jakobsson@gmail.com>
Wed, 19 Aug 2020 13:49:10 +0000 (15:49 +0200)
Reviewing this block of code in cdv_intel_dp_init()

ret = cdv_intel_dp_aux_native_read(gma_encoder, DP_DPCD_REV, ...

cdv_intel_edp_panel_vdd_off(gma_encoder);
if (ret == 0) {
/* if this fails, presume the device is a ghost */
DRM_INFO("failed to retrieve link info, disabling eDP\n");
drm_encoder_cleanup(encoder);
cdv_intel_dp_destroy(connector);
goto err_priv;
} else {

The (ret == 0) is not strict enough.
cdv_intel_dp_aux_native_read() returns > 0 on success
otherwise it is failure.

So change to <=

Fixes: d112a8163f83 ("gma500/cdv: Add eDP support")
Signed-off-by: Tom Rix <trix@redhat.com>
Signed-off-by: Patrik Jakobsson <patrik.r.jakobsson@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200805205911.20927-1-trix@redhat.com
drivers/gpu/drm/gma500/cdv_intel_dp.c

index f41cbb753bb469ccc7dc10f4a4736f371f293004..720a767118c9cd31acd3cda5116e605862d7a74e 100644 (file)
@@ -2078,7 +2078,7 @@ cdv_intel_dp_init(struct drm_device *dev, struct psb_intel_mode_device *mode_dev
                                               intel_dp->dpcd,
                                               sizeof(intel_dp->dpcd));
                cdv_intel_edp_panel_vdd_off(gma_encoder);
-               if (ret == 0) {
+               if (ret <= 0) {
                        /* if this fails, presume the device is a ghost */
                        DRM_INFO("failed to retrieve link info, disabling eDP\n");
                        drm_encoder_cleanup(encoder);