summaryrefslogtreecommitdiff
path: root/drivers/staging/hv/ChannelMgmt.c
diff options
context:
space:
mode:
authorBill Pemberton <wfp5p@virginia.edu>2009-07-29 21:00:09 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2009-09-15 19:01:53 (GMT)
commitde65a38406bdf712abc2a845fe1f3db7d1a083ed (patch)
treecd4d9f38dd90c6bfc5a5667bc2c4fcc4481d2f8b /drivers/staging/hv/ChannelMgmt.c
parent949cadaa054588db0c4a3a0cfc3ac93f08fda913 (diff)
downloadlinux-fsl-qoriq-de65a38406bdf712abc2a845fe1f3db7d1a083ed.tar.xz
Staging: hv: rework use of workqueues in osd
Change the usage of workqueues to be consistant with other parts of the kernel. Signed-off-by: Bill Pemberton <wfp5p@virginia.edu> Cc: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/hv/ChannelMgmt.c')
-rw-r--r--drivers/staging/hv/ChannelMgmt.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/staging/hv/ChannelMgmt.c b/drivers/staging/hv/ChannelMgmt.c
index c5efc6e..2c4f4c8 100644
--- a/drivers/staging/hv/ChannelMgmt.c
+++ b/drivers/staging/hv/ChannelMgmt.c
@@ -149,7 +149,7 @@ static VMBUS_CHANNEL* AllocVmbusChannel(void)
}
/* channel->dataWorkQueue = WorkQueueCreate("data"); */
- channel->ControlWQ = WorkQueueCreate("control");
+ channel->ControlWQ = create_workqueue("hv_vmbus_ctl");
if (!channel->ControlWQ)
{
TimerClose(channel->PollTimer);
@@ -176,7 +176,7 @@ static inline void ReleaseVmbusChannel(void* Context)
DPRINT_ENTER(VMBUS);
DPRINT_DBG(VMBUS, "releasing channel (%p)", channel);
- WorkQueueClose(channel->ControlWQ);
+ destroy_workqueue(channel->ControlWQ);
DPRINT_DBG(VMBUS, "channel released (%p)", channel);
kfree(channel);
@@ -199,7 +199,8 @@ static void FreeVmbusChannel(VMBUS_CHANNEL* Channel)
/* We have to release the channel's workqueue/thread in the vmbus's workqueue/thread context */
/* ie we can't destroy ourselves. */
- WorkQueueQueueWorkItem(gVmbusConnection.WorkQueue, ReleaseVmbusChannel, (void*)Channel);
+ osd_schedule_callback(gVmbusConnection.WorkQueue, ReleaseVmbusChannel,
+ (void *)Channel);
}
@@ -389,7 +390,8 @@ VmbusChannelOnOffer(
newChannel->MonitorBit = (u8)offer->MonitorId % 32;
/* TODO: Make sure the offer comes from our parent partition */
- WorkQueueQueueWorkItem(newChannel->ControlWQ, VmbusChannelProcessOffer, newChannel);
+ osd_schedule_callback(newChannel->ControlWQ, VmbusChannelProcessOffer,
+ newChannel);
DPRINT_EXIT(VMBUS);
}
@@ -422,7 +424,9 @@ VmbusChannelOnOfferRescind(
return;
}
- WorkQueueQueueWorkItem(channel->ControlWQ, VmbusChannelProcessRescindOffer, channel);
+ osd_schedule_callback(channel->ControlWQ,
+ VmbusChannelProcessRescindOffer,
+ channel);
DPRINT_EXIT(VMBUS);
}