]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
greybus: fix some error codes
authorAlex Elder <elder@linaro.org>
Tue, 25 Nov 2014 19:06:44 +0000 (13:06 -0600)
committerGreg Kroah-Hartman <greg@kroah.com>
Tue, 25 Nov 2014 21:21:14 +0000 (13:21 -0800)
Change the message result values used in two cases.

First, use -EMSGSIZE rather than -E2BIG to represent a message
that is larger than the buffer intended to hold it.  That is
the proper code for this situation.

Second, use -ECANCELED rather than -EINTR for an operation that
has been canceled.  The definition of that error is literally
"Operation Canceled" so it seems like the right thing to do.

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

index 82fd7e98074c6e34b49680a09c3aa6ed77769bc7..5e5c0977f35dbc9362287768d5bb3420f180e10c 100644 (file)
@@ -324,7 +324,7 @@ int gb_operation_status_map(u8 status)
        case GB_OP_PROTOCOL_BAD:
                return -EPROTONOSUPPORT;
        case GB_OP_OVERFLOW:
-               return -E2BIG;
+               return -EMSGSIZE;
        case GB_OP_TIMEOUT:
                return -ETIMEDOUT;
        default:
@@ -510,7 +510,7 @@ int gb_operation_request_send(struct gb_operation *operation,
        /* Cancel the operation if interrupted */
        ret = wait_for_completion_interruptible(&operation->completion);
        if (ret < 0)
-               gb_operation_cancel(operation, -EINTR);
+               gb_operation_cancel(operation, -ECANCELED);
 
        return gb_operation_result(operation);
 }
@@ -605,7 +605,7 @@ static void gb_connection_recv_response(struct gb_connection *connection,
                result = gb_operation_status_map(header->result);
        } else {
                gb_connection_err(connection, "recv buffer too small");
-               result = -E2BIG;
+               result = -EMSGSIZE;
        }
 
        /* We must ignore the payload if a bad status is returned */