greybus: operation: make incomplete-message errors more informative
authorJohan Hovold <johan@hovoldconsulting.com>
Fri, 27 Mar 2015 11:41:20 +0000 (12:41 +0100)
committerGreg Kroah-Hartman <greg@kroah.com>
Mon, 30 Mar 2015 13:13:01 +0000 (15:13 +0200)
Include the operation id as well as the received and expected size
(from header) when reporting incomplete messages.

This information is useful when debugging communication errors.

Also invert the size test to match the error message and increase
readability.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
drivers/staging/greybus/operation.c

index 878bfdb..2b2b0d6 100644 (file)
@@ -899,8 +899,10 @@ void gb_connection_recv(struct gb_connection *connection,
 
        header = data;
        msg_size = le16_to_cpu(header->size);
-       if (msg_size > size) {
-               dev_err(&connection->dev, "incomplete message\n");
+       if (size < msg_size) {
+               dev_err(&connection->dev,
+                       "incomplete message received: 0x%04x (%zu < %zu)\n",
+                       le16_to_cpu(header->operation_id), size, msg_size);
                return;         /* XXX Should still complete operation */
        }