Drivers: hv: vmbus: rename channel work queues
[deliverable/linux.git] / drivers / hv / channel_mgmt.c
index 3736f71bdec5ba3ea314fd2f0ae069dfb70133bf..ba4b25f0b2133797bed2553ac9e1d1d8ac486ae4 100644 (file)
@@ -139,19 +139,22 @@ EXPORT_SYMBOL_GPL(vmbus_prep_negotiate_resp);
  */
 static struct vmbus_channel *alloc_channel(void)
 {
+       static atomic_t chan_num = ATOMIC_INIT(0);
        struct vmbus_channel *channel;
 
        channel = kzalloc(sizeof(*channel), GFP_ATOMIC);
        if (!channel)
                return NULL;
 
+       channel->id = atomic_inc_return(&chan_num);
        spin_lock_init(&channel->inbound_lock);
        spin_lock_init(&channel->lock);
 
        INIT_LIST_HEAD(&channel->sc_list);
        INIT_LIST_HEAD(&channel->percpu_list);
 
-       channel->controlwq = create_workqueue("hv_vmbus_ctl");
+       channel->controlwq = alloc_workqueue("hv_vmbus_ctl/%d", WQ_MEM_RECLAIM,
+                                            1, channel->id);
        if (!channel->controlwq) {
                kfree(channel);
                return NULL;
This page took 0.028746 seconds and 5 git commands to generate.