greybus: don't use 0 as an operation id

Stop allowing 0x0000 to be used as an operation id.  That id will be
reserved for use by operations that will return no response message.

Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
diff --git a/drivers/staging/greybus/operation.c b/drivers/staging/greybus/operation.c
index b2ebbe4..c0e206d 100644
--- a/drivers/staging/greybus/operation.c
+++ b/drivers/staging/greybus/operation.c
@@ -151,10 +151,11 @@
 
 	/*
 	 * Assign the operation's id and move it into its
-	 * connection's pending list.
+	 * connection's pending list.  Zero is a reserved operation
+	 * id.
 	 */
 	spin_lock_irq(&gb_operations_lock);
-	operation->id = ++connection->op_cycle;
+	operation->id = ++connection->op_cycle % U16_MAX + 1;
 	list_move_tail(&operation->links, &connection->pending);
 	spin_unlock_irq(&gb_operations_lock);