From: "K. Y. Srinivasan" <kys@microsoft.com>
To: gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
devel@linuxdriverproject.org, olaf@aepfle.de, apw@canonical.com,
vkuznets@redhat.com
Cc: Dexuan Cui <"[mailto:decui@microsoft.com]"@linuxonhyperv.com>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Dexuan Cui <decui@microsoft.com>
Subject: [PATCH 11/16] hv: vmbus_open(): reset the channel state on ENOMEM
Date: Tue, 3 Feb 2015 18:26:39 -0800 [thread overview]
Message-ID: <1423016804-22014-11-git-send-email-kys@microsoft.com> (raw)
In-Reply-To: <1423016804-22014-1-git-send-email-kys@microsoft.com>
From: Dexuan Cui <[mailto:decui@microsoft.com]>
Without this patch, the state is put to CHANNEL_OPENING_STATE, and when
the driver is loaded next time, vmbus_open() will fail immediately due to
newchannel->state != CHANNEL_OPEN_STATE.
CC: "K. Y. Srinivasan" <kys@microsoft.com>
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Reviewed-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
---
drivers/hv/channel.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index 2978f5e..26dcf26 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -89,9 +89,10 @@ int vmbus_open(struct vmbus_channel *newchannel, u32 send_ringbuffer_size,
out = (void *)__get_free_pages(GFP_KERNEL|__GFP_ZERO,
get_order(send_ringbuffer_size + recv_ringbuffer_size));
- if (!out)
- return -ENOMEM;
-
+ if (!out) {
+ err = -ENOMEM;
+ goto error0;
+ }
in = (void *)((unsigned long)out + send_ringbuffer_size);
@@ -199,6 +200,7 @@ error0:
free_pages((unsigned long)out,
get_order(send_ringbuffer_size + recv_ringbuffer_size));
kfree(open_info);
+ newchannel->state = CHANNEL_OPEN_STATE;
return err;
}
EXPORT_SYMBOL_GPL(vmbus_open);
--
1.7.4.1
next prev parent reply other threads:[~2015-02-04 1:16 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-04 2:26 [PATCH 00/16] Drivers: hv: vmbus: Miscellaneous fixes/enhancements K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 01/16] Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 02/16] Drivers: hv: vmbus: rename channel work queues K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 03/16] drivers:hv:vmbus drivers:hv:vmbus Allow for more than one MMIO range for children K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 04/16] Drivers: hv: vmbus: avoid double kfree for device_obj K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 05/16] Drivers: hv: vmbus: teardown hv_vmbus_con workqueue and vmbus_connection pages on shutdown K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 06/16] drivers: hv: vmbus: Teardown synthetic interrupt controllers on module unload K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 07/16] clockevents: export clockevents_unbind_device instead of clockevents_unbind K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 08/16] Drivers: hv: vmbus: Teardown clockevent devices on module unload K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 09/16] hv: hv_util: move vmbus_open() to a later place K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 10/16] hv: vmbus_post_msg: retry the hypercall on some transient errors K. Y. Srinivasan
2015-02-04 2:26 ` K. Y. Srinivasan [this message]
2015-02-04 2:26 ` [PATCH 12/16] hv: channel: match var type to return type of wait_for_completion K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 13/16] hv: channel_mgmt: " K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 14/16] hv: hv_balloon: " K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 15/16] Drivers: hv: vmbus: Fix a bug in the error path in vmbus_open() K. Y. Srinivasan
2015-02-04 2:26 ` [PATCH 16/16] Drivers: hv: vmbus: Add support for the NetworkDirect GUID K. Y. Srinivasan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1423016804-22014-11-git-send-email-kys@microsoft.com \
--to=kys@microsoft.com \
--cc="[mailto:decui@microsoft.com]"@linuxonhyperv.com \
--cc=apw@canonical.com \
--cc=decui@microsoft.com \
--cc=devel@linuxdriverproject.org \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=olaf@aepfle.de \
--cc=vkuznets@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.