From f52a0928279a5ca61f267caa39142fe1e535e007 Mon Sep 17 00:00:00 2001 From: nakayama Date: Tue, 9 Jul 2019 10:07:11 +0000 Subject: Zero clear the allocated ring buffer for vmbus_channel. This change makes Hyper-V's vmbus devices work properly even after reboot. --- sys/dev/hyperv/vmbus.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sys/dev/hyperv') diff --git a/sys/dev/hyperv/vmbus.c b/sys/dev/hyperv/vmbus.c index 776aa7cea6c..7a91b79a923 100644 --- a/sys/dev/hyperv/vmbus.c +++ b/sys/dev/hyperv/vmbus.c @@ -1,4 +1,4 @@ -/* $NetBSD: vmbus.c,v 1.3 2019/05/24 14:28:48 nonaka Exp $ */ +/* $NetBSD: vmbus.c,v 1.4 2019/07/09 10:07:11 nakayama Exp $ */ /* $OpenBSD: hyperv.c,v 1.43 2017/06/27 13:56:15 mikeb Exp $ */ /*- @@ -35,7 +35,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: vmbus.c,v 1.3 2019/05/24 14:28:48 nonaka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vmbus.c,v 1.4 2019/07/09 10:07:11 nakayama Exp $"); #include #include @@ -1263,6 +1263,7 @@ vmbus_channel_ring_create(struct vmbus_channel *ch, uint32_t buflen) "failed to allocate channel ring\n"); return ENOMEM; } + memset(ch->ch_ring, 0, ch->ch_ring_size); memset(&ch->ch_wrd, 0, sizeof(ch->ch_wrd)); ch->ch_wrd.rd_ring = (struct vmbus_bufring *)ch->ch_ring; -- cgit