From 7adb32b429ce38bae39e277ae2cc37c93770104f Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Fri, 29 Apr 2016 17:08:37 +0200 Subject: [PATCH] greybus: operation: fix definition of the invalid type The invalid request type has been redefined as 0x7f. Also remove the redundant redefinition of the invalid type from the operation header. Note that operation type 0x00 has been repurposed for the new generic ping operation, which will be used to implement proper connection tear down. Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/greybus_protocols.h | 4 ++-- drivers/staging/greybus/operation.c | 12 +++++++----- drivers/staging/greybus/operation.h | 6 ------ 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/staging/greybus/greybus_protocols.h b/drivers/staging/greybus/greybus_protocols.h index 07988fb10e0d..f1e8b345a761 100644 --- a/drivers/staging/greybus/greybus_protocols.h +++ b/drivers/staging/greybus/greybus_protocols.h @@ -95,9 +95,9 @@ struct gb_operation_msg_hdr { } __packed; -/* Generic request numbers supported by all modules */ -#define GB_REQUEST_TYPE_INVALID 0x00 +/* Generic request types */ #define GB_REQUEST_TYPE_PROTOCOL_VERSION 0x01 +#define GB_REQUEST_TYPE_INVALID 0x7f struct gb_protocol_version_request { __u8 major; diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c index fcae74793740..e7e9b0e72269 100644 --- a/drivers/staging/greybus/operation.c +++ b/drivers/staging/greybus/operation.c @@ -282,10 +282,10 @@ static void gb_operation_message_init(struct gb_host_device *hd, /* * The type supplied for incoming message buffers will be - * 0x00. Such buffers will be overwritten by arriving data - * so there's no need to initialize the message header. + * GB_REQUEST_TYPE_INVALID. Such buffers will be overwritten by + * arriving data so there's no need to initialize the message header. */ - if (type != GB_OPERATION_TYPE_INVALID) { + if (type != GB_REQUEST_TYPE_INVALID) { u16 message_size = (u16)(sizeof(*header) + payload_size); /* @@ -536,7 +536,7 @@ gb_operation_create_flags(struct gb_connection *connection, size_t response_size, unsigned long flags, gfp_t gfp) { - if (WARN_ON_ONCE(type == GB_OPERATION_TYPE_INVALID)) + if (WARN_ON_ONCE(type == GB_REQUEST_TYPE_INVALID)) return NULL; if (WARN_ON_ONCE(type & GB_MESSAGE_TYPE_RESPONSE)) type &= ~GB_MESSAGE_TYPE_RESPONSE; @@ -573,7 +573,9 @@ gb_operation_create_incoming(struct gb_connection *connection, u16 id, flags |= GB_OPERATION_FLAG_UNIDIRECTIONAL; operation = gb_operation_create_common(connection, type, - request_size, 0, flags, GFP_ATOMIC); + request_size, + GB_REQUEST_TYPE_INVALID, + flags, GFP_ATOMIC); if (!operation) return NULL; diff --git a/drivers/staging/greybus/operation.h b/drivers/staging/greybus/operation.h index 8ef8f514dafa..117d7df2e0bd 100644 --- a/drivers/staging/greybus/operation.h +++ b/drivers/staging/greybus/operation.h @@ -17,12 +17,6 @@ struct gb_operation; /* The default amount of time a request is given to complete */ #define GB_OPERATION_TIMEOUT_DEFAULT 1000 /* milliseconds */ -/* - * No protocol may define an operation that has numeric value 0x00. - * It is reserved as an explicitly invalid value. - */ -#define GB_OPERATION_TYPE_INVALID ((u8)0x00) - /* * The top bit of the type in an operation message header indicates * whether the message is a request (bit clear) or response (bit set) -- 2.39.5