]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
greybus: uart: send_data should return size or error
authorBryan O'Donoghue <bryan.odonoghue@linaro.org>
Tue, 2 Jun 2015 12:40:48 +0000 (13:40 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 4 Jun 2015 05:08:22 +0000 (14:08 +0900)
gb_operation_sync returns 0 on success but the calling function
expects the number of bytes written on success or a negative errno

Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/uart.c

index c47667d0bec58cd52f671ad3b809a88bdff4a23d..928b83dbecf76ec760b96cdb823787a8f99d9155 100644 (file)
@@ -71,7 +71,7 @@ define_get_version(gb_tty, UART);
 static int send_data(struct gb_tty *tty, u16 size, const u8 *data)
 {
        struct gb_uart_send_data_request *request;
-       int retval;
+       int ret;
 
        if (!data || !size)
                return 0;
@@ -82,11 +82,13 @@ static int send_data(struct gb_tty *tty, u16 size, const u8 *data)
 
        request->size = cpu_to_le16(size);
        memcpy(&request->data[0], data, size);
-       retval = gb_operation_sync(tty->connection, GB_UART_TYPE_SEND_DATA,
-                                  request, sizeof(*request) + size, NULL, 0);
-
+       ret = gb_operation_sync(tty->connection, GB_UART_TYPE_SEND_DATA,
+                               request, sizeof(*request) + size, NULL, 0);
        kfree(request);
-       return retval;
+       if (ret)
+               return ret;
+       else
+               return size;
 }
 
 static int send_line_coding(struct gb_tty *tty)