greybus: fix op_cycle logic
The function that computes the operation id for a connection is
wrongly using MOD rather than AND. Fix that.
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
diff --git a/drivers/staging/greybus/connection.c b/drivers/staging/greybus/connection.c
index 7a86c7c..09fe25d 100644
--- a/drivers/staging/greybus/connection.c
+++ b/drivers/staging/greybus/connection.c
@@ -171,7 +171,7 @@
u16 gb_connection_operation_id(struct gb_connection *connection)
{
- return (u16)(atomic_inc_return(&connection->op_cycle) % U16_MAX);
+ return (u16)(atomic_inc_return(&connection->op_cycle) & (int)U16_MAX);
}
void gb_connection_err(struct gb_connection *connection, const char *fmt, ...)