Address only transactions without any data are valid and should not
be flagged as short transactions. Simply return the message size when
no transaction errors occured.

CC: sta...@vger.kernel.org
Signed-off-by: Lucas Stach <l.st...@pengutronix.de>
---
 drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c 
b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
index 6a4f20fccf84..7b0bc9704eac 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
@@ -1027,7 +1027,6 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device 
*dp,
        u32 status_reg;
        u8 *buffer = msg->buffer;
        unsigned int i;
-       int num_transferred = 0;
        int ret;
 
        /* Buffer size of AUX CH is 16 bytes */
@@ -1079,7 +1078,6 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device 
*dp,
                        reg = buffer[i];
                        writel(reg, dp->reg_base + ANALOGIX_DP_BUF_DATA_0 +
                               4 * i);
-                       num_transferred++;
                }
        }
 
@@ -1127,7 +1125,6 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device 
*dp,
                        reg = readl(dp->reg_base + ANALOGIX_DP_BUF_DATA_0 +
                                    4 * i);
                        buffer[i] = (unsigned char)reg;
-                       num_transferred++;
                }
        }
 
@@ -1144,7 +1141,7 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device 
*dp,
                 (msg->request & ~DP_AUX_I2C_MOT) == DP_AUX_NATIVE_READ)
                msg->reply = DP_AUX_NATIVE_REPLY_ACK;
 
-       return num_transferred > 0 ? num_transferred : -EBUSY;
+       return msg->size;
 
 aux_error:
        /* if aux err happen, reset aux */
-- 
2.39.2

Reply via email to