diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index ea934864293d969463b8ff53dae6ea8d6164aa04..3932a993ff5a8ad432e6927226f1e2fa1e5d8c78 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -726,6 +726,15 @@ struct vmbus_channel {
 	 * All Sub-channels of a primary channel are linked here.
 	 */
 	struct list_head sc_list;
+	/*
+	 * Current number of sub-channels.
+	 */
+	int num_sc;
+	/*
+	 * Number of a sub-channel (position within sc_list) which is supposed
+	 * to be used as the next outgoing channel.
+	 */
+	int next_oc;
 	/*
 	 * The primary channel this sub-channel belongs to.
 	 * This will be NULL for the primary channel.
@@ -740,9 +749,6 @@ struct vmbus_channel {
 	 * link up channels based on their CPU affinity.
 	 */
 	struct list_head percpu_list;
-
-	int num_sc;
-	int next_oc;
 };
 
 static inline void set_channel_read_state(struct vmbus_channel *c, bool state)