[PATCH v2 3/9] powerpc/powernv: opal_put_chars partial write fix
Benjamin Herrenschmidt
benh at kernel.crashing.org
Mon Apr 9 15:50:32 AEST 2018
On Mon, 2018-04-09 at 15:24 +1000, Nicholas Piggin wrote:
> The intention here is to consume and discard the remaining buffer
> upon error. This works if there has not been a previous partial write.
> If there has been, then total_len is no longer total number of bytes
> to copy. total_len is always "bytes left to copy", so it should be
> added to written bytes.
>
> This code may not be exercised any more if partial writes will not be
> hit, but this is a small bugfix before a larger change.
>
Reviewed-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
> ---
> arch/powerpc/platforms/powernv/opal.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
> index 516e23de5a3d..87d4c0aa7f64 100644
> --- a/arch/powerpc/platforms/powernv/opal.c
> +++ b/arch/powerpc/platforms/powernv/opal.c
> @@ -388,7 +388,7 @@ int opal_put_chars(uint32_t vtermno, const char *data, int total_len)
> /* Closed or other error drop */
> if (rc != OPAL_SUCCESS && rc != OPAL_BUSY &&
> rc != OPAL_BUSY_EVENT) {
> - written = total_len;
> + written += total_len;
> break;
> }
> if (rc == OPAL_SUCCESS) {
More information about the Linuxppc-dev
mailing list