Page MenuHomeFreeBSD

D6706.id.diff
No OneTemporary

D6706.id.diff

Index: head/sys/dev/hyperv/vmbus/hv_connection.c
===================================================================
--- head/sys/dev/hyperv/vmbus/hv_connection.c
+++ head/sys/dev/hyperv/vmbus/hv_connection.c
@@ -373,8 +373,8 @@
* insufficient resources. 20 times should suffice in practice.
*/
for (retries = 0; retries < 20; retries++) {
- ret = hv_vmbus_post_msg_via_msg_ipc(connId, 1, buffer,
- bufferLen);
+ ret = hv_vmbus_post_msg_via_msg_ipc(connId,
+ VMBUS_MSGTYPE_CHANNEL, buffer, bufferLen);
if (ret == HV_STATUS_SUCCESS)
return (0);
Index: head/sys/dev/hyperv/vmbus/vmbus.c
===================================================================
--- head/sys/dev/hyperv/vmbus/vmbus.c
+++ head/sys/dev/hyperv/vmbus/vmbus.c
@@ -85,8 +85,13 @@
hv_vmbus_channel_msg_header *hdr;
hv_vmbus_channel_msg_type msg_type;
- if (msg->msg_type == VMBUS_MSGTYPE_NONE)
- break; /* no message */
+ if (msg->msg_type == VMBUS_MSGTYPE_NONE) {
+ /* No message */
+ break;
+ } else if (msg->msg_type != VMBUS_MSGTYPE_CHANNEL) {
+ /* Not a channel message */
+ goto handled;
+ }
/* XXX: update messageHandler interface */
hdr = __DEVOLATILE(hv_vmbus_channel_msg_header *,
Index: head/sys/dev/hyperv/vmbus/vmbus_reg.h
===================================================================
--- head/sys/dev/hyperv/vmbus/vmbus_reg.h
+++ head/sys/dev/hyperv/vmbus/vmbus_reg.h
@@ -49,6 +49,7 @@
CTASSERT(sizeof(struct vmbus_message) == VMBUS_MSG_SIZE);
#define VMBUS_MSGTYPE_NONE 0
+#define VMBUS_MSGTYPE_CHANNEL 1
#define VMBUS_MSGTYPE_TIMER_EXPIRED 0x80000010
#define VMBUS_MSGFLAG_PENDING 0x01

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 11, 1:46 AM (52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25132724
Default Alt Text
D6706.id.diff (1 KB)

Event Timeline