diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c index 905c6de9e20e..0841ab271496 100644 --- a/drivers/staging/greybus/operation.c +++ b/drivers/staging/greybus/operation.c @@ -368,20 +368,23 @@ int gb_operation_status_map(u8 status) switch (status) { case GB_OP_SUCCESS: return 0; - case GB_OP_INVALID: - return -EINVAL; - case GB_OP_NO_MEMORY: - return -ENOMEM; case GB_OP_INTERRUPTED: return -EINTR; - case GB_OP_RETRY: - return -EAGAIN; + case GB_OP_TIMEOUT: + return -ETIMEDOUT; + case GB_OP_NO_MEMORY: + return -ENOMEM; case GB_OP_PROTOCOL_BAD: return -EPROTONOSUPPORT; case GB_OP_OVERFLOW: return -EMSGSIZE; - case GB_OP_TIMEOUT: - return -ETIMEDOUT; + case GB_OP_INVALID: + return -EINVAL; + case GB_OP_RETRY: + return -EAGAIN; + case GB_OP_MALFUNCTION: + return -EILSEQ; + case GB_OP_UNKNOWN_ERROR: default: return -EIO; } diff --git a/drivers/staging/greybus/operation.h b/drivers/staging/greybus/operation.h index 7f835d2e8f35..feff8238f7cf 100644 --- a/drivers/staging/greybus/operation.h +++ b/drivers/staging/greybus/operation.h @@ -14,14 +14,16 @@ struct gb_operation; enum gb_operation_result { - GB_OP_SUCCESS = 0, - GB_OP_INVALID = 1, - GB_OP_NO_MEMORY = 2, - GB_OP_INTERRUPTED = 3, - GB_OP_RETRY = 4, - GB_OP_PROTOCOL_BAD = 5, - GB_OP_OVERFLOW = 6, - GB_OP_TIMEOUT = 0xff, + GB_OP_SUCCESS = 0x00, + GB_OP_INTERRUPTED = 0x01, + GB_OP_TIMEOUT = 0x02, + GB_OP_NO_MEMORY = 0x03, + GB_OP_PROTOCOL_BAD = 0x04, + GB_OP_OVERFLOW = 0x05, + GB_OP_INVALID = 0x06, + GB_OP_RETRY = 0x07, + GB_OP_UNKNOWN_ERROR = 0xfe, + GB_OP_MALFUNCTION = 0xff, }; struct gb_message {