summaryrefslogtreecommitdiffstats
path: root/sys/dev/hyperv/utilities/hv_shutdown.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/hyperv/utilities/hv_shutdown.c')
-rw-r--r--sys/dev/hyperv/utilities/hv_shutdown.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/sys/dev/hyperv/utilities/hv_shutdown.c b/sys/dev/hyperv/utilities/hv_shutdown.c
index 352df91..e0eb25c 100644
--- a/sys/dev/hyperv/utilities/hv_shutdown.c
+++ b/sys/dev/hyperv/utilities/hv_shutdown.c
@@ -68,7 +68,7 @@ hv_shutdown_cb(struct vmbus_channel *channel, void *context)
softc = (hv_util_sc*)context;
buf = softc->receive_buffer;;
- recv_len = PAGE_SIZE;
+ recv_len = softc->ic_buflen;
ret = vmbus_chan_recv(channel, buf, &recv_len, &request_id);
KASSERT(ret != ENOBUFS, ("hvshutdown recvbuf is not large enough"));
/* XXX check recv_len to make sure that it contains enough data */
@@ -79,8 +79,7 @@ hv_shutdown_cb(struct vmbus_channel *channel, void *context)
&buf[sizeof(struct hv_vmbus_pipe_hdr)];
if (icmsghdrp->icmsgtype == HV_ICMSGTYPE_NEGOTIATE) {
- hv_negotiate_version(icmsghdrp, NULL, buf);
-
+ hv_negotiate_version(icmsghdrp, buf);
} else {
shutdown_msg =
(struct hv_vmbus_shutdown_msg_data *)
@@ -132,11 +131,7 @@ hv_shutdown_probe(device_t dev)
static int
hv_shutdown_attach(device_t dev)
{
- hv_util_sc *softc = (hv_util_sc*)device_get_softc(dev);
-
- softc->callback = hv_shutdown_cb;
-
- return hv_util_attach(dev);
+ return hv_util_attach(dev, hv_shutdown_cb);
}
static device_method_t shutdown_methods[] = {
OpenPOWER on IntegriCloud