diff options
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; /* |