From: Alex Deucher Date: Thu, 3 Jul 2014 15:17:55 +0000 (-0400) Subject: drm/radeon/dp: return -EIO for flags not zero case X-Git-Tag: v3.16-rc5~22^2^2~4 X-Git-Url: http://git.samba.org/samba.git/?a=commitdiff_plain;h=f6be5e64500abbba44e191e1ca0f3366c7d0291b;p=sfrench%2Fcifs-2.6.git drm/radeon/dp: return -EIO for flags not zero case 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 Cc: stable@vger.kernel.org --- diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c index 35f4182c63b6..b1e11f8434e2 100644 --- a/drivers/gpu/drm/radeon/atombios_dp.c +++ b/drivers/gpu/drm/radeon/atombios_dp.c @@ -127,7 +127,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"); - r = -EBUSY; + r = -EIO; goto done; }