]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/radeon/dp: return -EIO for flags not zero case
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 3 Jul 2014 15:17:55 +0000 (11:17 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 6 Aug 2014 17:07:37 +0000 (18:07 +0100)
commit f6be5e64500abbba44e191e1ca0f3366c7d0291b upstream.

If there are error flags in the aux transaction return
-EIO rather than -EBUSY.  -EIO restarts the whole transaction
while -EBUSY jus retries.  Fixes problematic aux transfers.

Bug:
https://bugs.freedesktop.org/show_bug.cgi?id=80684

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
[bwh: Backported to 3.2: error code is returned directly here]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/gpu/drm/radeon/atombios_dp.c

index 3254d51e55c972fcfc2f9844071cc2f4cb6ee905..e8a3c312205070205e4398bbcd3b1c14b07a8d76 100644 (file)
@@ -89,7 +89,7 @@ static int radeon_process_aux_ch(struct radeon_i2c_chan *chan,
        /* flags not zero */
        if (args.v1.ucReplyStatus == 2) {
                DRM_DEBUG_KMS("dp_aux_ch flags not zero\n");
-               return -EBUSY;
+               return -EIO;
        }
 
        /* error */