diff options
Diffstat (limited to 'drivers/staging/hv/Channel.c')
-rw-r--r-- | drivers/staging/hv/Channel.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/staging/hv/Channel.c b/drivers/staging/hv/Channel.c index 3f48ac7cd11f..196c7a6e549e 100644 --- a/drivers/staging/hv/Channel.c +++ b/drivers/staging/hv/Channel.c @@ -686,6 +686,7 @@ VmbusChannelClose( int ret=0; VMBUS_CHANNEL_CLOSE_CHANNEL* msg; VMBUS_CHANNEL_MSGINFO* info; + unsigned long flags; DPRINT_ENTER(VMBUS); @@ -729,9 +730,9 @@ VmbusChannelClose( // since the caller will free the channel if (Channel->State == CHANNEL_OPEN_STATE) { - SpinlockAcquire(gVmbusConnection.ChannelLock); + spin_lock_irqsave(&gVmbusConnection.channel_lock, flags); REMOVE_ENTRY_LIST(&Channel->ListEntry); - SpinlockRelease(gVmbusConnection.ChannelLock); + spin_unlock_irqrestore(&gVmbusConnection.channel_lock, flags); FreeVmbusChannel(Channel); } |