diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2011-06-06 15:49:59 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-06-07 13:46:00 -0700 |
commit | e9a27a9f9ef18826030f6d50efde0dc68b7d1be2 (patch) | |
tree | b346cb8850ebbcce25ae116d49e76a91b8477e3c /drivers | |
parent | f9f1db832b6d04303f443a7f941367355844678a (diff) | |
download | linux-stable-e9a27a9f9ef18826030f6d50efde0dc68b7d1be2.tar.gz linux-stable-e9a27a9f9ef18826030f6d50efde0dc68b7d1be2.tar.bz2 linux-stable-e9a27a9f9ef18826030f6d50efde0dc68b7d1be2.zip |
Staging: hv: vmbus: Use the newly introduced state in closing the channel
Now, use the newly introduced state in closing the channel and eliminate a
potential failure condition (that currently was not being handled correctly).
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/hv/channel.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/staging/hv/channel.c b/drivers/staging/hv/channel.c index 043fe25ed4f3..5a2a947debd8 100644 --- a/drivers/staging/hv/channel.c +++ b/drivers/staging/hv/channel.c @@ -549,22 +549,15 @@ EXPORT_SYMBOL_GPL(vmbus_teardown_gpadl); void vmbus_close(struct vmbus_channel *channel) { struct vmbus_channel_close_channel *msg; - struct vmbus_channel_msginfo *info; int ret; /* Stop callback and cancel the timer asap */ channel->onchannel_callback = NULL; /* Send a closing message */ - info = kmalloc(sizeof(*info) + - sizeof(struct vmbus_channel_close_channel), GFP_KERNEL); - /* FIXME: can't do anything other than return here because the - * function is void */ - if (!info) - return; + msg = &channel->close_msg.msg; - msg = (struct vmbus_channel_close_channel *)info->msg; msg->header.msgtype = CHANNELMSG_CLOSECHANNEL; msg->child_relid = channel->offermsg.child_relid; @@ -583,7 +576,6 @@ void vmbus_close(struct vmbus_channel *channel) free_pages((unsigned long)channel->ringbuffer_pages, get_order(channel->ringbuffer_pagecount * PAGE_SIZE)); - kfree(info); } EXPORT_SYMBOL_GPL(vmbus_close); |