Skip to content

Commit e8857af

Browse files
lynxeye-devgregkh
authored andcommitted
drm/bridge: analogix_dp: properly handle zero sized AUX transactions
commit e82290a upstream. 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: stable@vger.kernel.org Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Robert Foss <rfoss@kernel.org> Signed-off-by: Robert Foss <rfoss@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240318203925.2837689-1-l.stach@pengutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent f70942b commit e8857af

1 file changed

Lines changed: 1 addition & 4 deletions

File tree

drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1027,7 +1027,6 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device *dp,
10271027
u32 status_reg;
10281028
u8 *buffer = msg->buffer;
10291029
unsigned int i;
1030-
int num_transferred = 0;
10311030
int ret;
10321031

10331032
/* Buffer size of AUX CH is 16 bytes */
@@ -1079,7 +1078,6 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device *dp,
10791078
reg = buffer[i];
10801079
writel(reg, dp->reg_base + ANALOGIX_DP_BUF_DATA_0 +
10811080
4 * i);
1082-
num_transferred++;
10831081
}
10841082
}
10851083

@@ -1127,7 +1125,6 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device *dp,
11271125
reg = readl(dp->reg_base + ANALOGIX_DP_BUF_DATA_0 +
11281126
4 * i);
11291127
buffer[i] = (unsigned char)reg;
1130-
num_transferred++;
11311128
}
11321129
}
11331130

@@ -1144,7 +1141,7 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device *dp,
11441141
(msg->request & ~DP_AUX_I2C_MOT) == DP_AUX_NATIVE_READ)
11451142
msg->reply = DP_AUX_NATIVE_REPLY_ACK;
11461143

1147-
return num_transferred > 0 ? num_transferred : -EBUSY;
1144+
return msg->size;
11481145

11491146
aux_error:
11501147
/* if aux err happen, reset aux */

0 commit comments

Comments
 (0)