From 03130a77d52bd738cdcee17627aa5e3d19fdbeeb Mon Sep 17 00:00:00 2001 From: Alex Elder Date: Mon, 20 Oct 2014 23:01:02 -0500 Subject: [PATCH] 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 Signed-off-by: Greg Kroah-Hartman --- drivers/staging/greybus/connection.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 @@ void gb_connection_destroy(struct gb_connection *connection) 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, ...) -- 2.7.4