|
@@ -389,6 +389,7 @@ void vmbus_free_channels(void)
|
|
|
{
|
|
|
struct vmbus_channel *channel, *tmp;
|
|
|
|
|
|
+ mutex_lock(&vmbus_connection.channel_mutex);
|
|
|
list_for_each_entry_safe(channel, tmp, &vmbus_connection.chn_list,
|
|
|
listentry) {
|
|
|
/* hv_process_channel_removal() needs this */
|
|
@@ -396,6 +397,7 @@ void vmbus_free_channels(void)
|
|
|
|
|
|
vmbus_device_unregister(channel->device_obj);
|
|
|
}
|
|
|
+ mutex_unlock(&vmbus_connection.channel_mutex);
|
|
|
}
|
|
|
|
|
|
/*
|