diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2011-05-16 06:44:35 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-05-17 13:36:50 -0700 |
commit | 31bceb845e0f5393db1d9bf033d365cff7132c93 (patch) | |
tree | eb9047d8a03734fd03da4a87f1019501056e5e12 /drivers/staging/hv | |
parent | 7e0b3bf3abec4cd30c58e6311f913759a9e324d7 (diff) | |
download | talos-op-linux-31bceb845e0f5393db1d9bf033d365cff7132c93.tar.gz talos-op-linux-31bceb845e0f5393db1d9bf033d365cff7132c93.zip |
Staging: hv: vmbus_drv: Introduce state in struct vmbus_channel to track util services
In preparation for getting rid of util channel synchronization based on
counting util channels, introduce state in struct vmbus_channel to
track util services.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/hv')
-rw-r--r-- | drivers/staging/hv/channel_mgmt.c | 2 | ||||
-rw-r--r-- | drivers/staging/hv/hyperv.h | 5 |
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/staging/hv/channel_mgmt.c b/drivers/staging/hv/channel_mgmt.c index e8c706c6c830..1021713ea4c0 100644 --- a/drivers/staging/hv/channel_mgmt.c +++ b/drivers/staging/hv/channel_mgmt.c @@ -419,6 +419,7 @@ static void vmbus_process_offer(struct work_struct *work) * can cleanup properly */ newchannel->state = CHANNEL_OPEN_STATE; + newchannel->util_index = -1; /* Invalid index */ /* Open IC channels */ for (cnt = 0; cnt < MAX_MSG_TYPES; cnt++) { @@ -430,6 +431,7 @@ static void vmbus_process_offer(struct work_struct *work) hv_cb_utils[cnt].callback, newchannel) == 0) { hv_cb_utils[cnt].channel = newchannel; + newchannel->util_index = cnt; pr_info("%s\n", hv_cb_utils[cnt].log_msg); diff --git a/drivers/staging/hv/hyperv.h b/drivers/staging/hv/hyperv.h index 56af1ecbf0e5..8b826a115443 100644 --- a/drivers/staging/hv/hyperv.h +++ b/drivers/staging/hv/hyperv.h @@ -532,6 +532,11 @@ struct vmbus_channel { struct work_struct work; enum vmbus_channel_state state; + /* + * For util channels, stash the + * the service index for easy access. + */ + s8 util_index; struct vmbus_channel_offer_channel offermsg; /* |