Drivers: hv: vmbus: Fix a bug in vmbus_open()
authorK. Y. Srinivasan <kys@microsoft.com>
Wed, 27 Aug 2014 23:25:35 +0000 (16:25 -0700)
committerJiri Slaby <jslaby@suse.cz>
Fri, 31 Oct 2014 14:11:15 +0000 (15:11 +0100)
commit 45d727cee9e200f5b351528b9fb063b69cf702c8 upstream.

Fix a bug in vmbus_open() and properly propagate the error. I would
like to thank Dexuan Cui <decui@microsoft.com> for identifying the
issue.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Tested-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/hv/channel.c

index eb556cad5029b8af4ef21ea280f0438dfc5e3826..dea6613313511f38d880c4b6830a80f7fd3d847d 100644 (file)
@@ -208,8 +208,10 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
        ret = vmbus_post_msg(open_msg,
                               sizeof(struct vmbus_channel_open_channel));
 
-       if (ret != 0)
+       if (ret != 0) {
+               err = ret;
                goto error1;
+       }
 
        t = wait_for_completion_timeout(&open_info->waitevent, 5*HZ);
        if (t == 0) {