diff --git a/drivers/staging/hv/netvsc.c b/drivers/staging/hv/netvsc.c
index 8b73144e7c12213edacee10f8b81ce9b84530bbf..4c2632cb19e937359708c27408cc2e23c11544bb 100644
--- a/drivers/staging/hv/netvsc.c
+++ b/drivers/staging/hv/netvsc.c
@@ -717,12 +717,9 @@ static int NetVscOnDeviceAdd(struct hv_device *Device, void *AdditionalInfo)
 	}
 
 	/* Open the channel */
-	ret = Device->Driver->VmbusChannelInterface.Open(Device,
-						netDriver->RingBufferSize,
-						netDriver->RingBufferSize,
-						NULL, 0,
-						NetVscOnChannelCallback,
-						Device);
+	ret = vmbus_open(Device->channel, netDriver->RingBufferSize,
+			 netDriver->RingBufferSize, NULL, 0,
+			 NetVscOnChannelCallback, Device);
 
 	if (ret != 0) {
 		DPRINT_ERR(NETVSC, "unable to open channel: %d", ret);