diff options
Diffstat (limited to 'drivers/net/hyperv/netvsc.c')
| -rw-r--r-- | drivers/net/hyperv/netvsc.c | 15 | 
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index 7bd935412853..396bc1c204e6 100644 --- a/drivers/net/hyperv/netvsc.c +++ b/drivers/net/hyperv/netvsc.c @@ -278,9 +278,9 @@ static void netvsc_teardown_recv_gpadl(struct hv_device *device,  {  	int ret; -	if (net_device->recv_buf_gpadl_handle) { +	if (net_device->recv_buf_gpadl_handle.gpadl_handle) {  		ret = vmbus_teardown_gpadl(device->channel, -					   net_device->recv_buf_gpadl_handle); +					   &net_device->recv_buf_gpadl_handle);  		/* If we failed here, we might as well return and have a leak  		 * rather than continue and a bugchk @@ -290,7 +290,6 @@ static void netvsc_teardown_recv_gpadl(struct hv_device *device,  				   "unable to teardown receive buffer's gpadl\n");  			return;  		} -		net_device->recv_buf_gpadl_handle = 0;  	}  } @@ -300,9 +299,9 @@ static void netvsc_teardown_send_gpadl(struct hv_device *device,  {  	int ret; -	if (net_device->send_buf_gpadl_handle) { +	if (net_device->send_buf_gpadl_handle.gpadl_handle) {  		ret = vmbus_teardown_gpadl(device->channel, -					   net_device->send_buf_gpadl_handle); +					   &net_device->send_buf_gpadl_handle);  		/* If we failed here, we might as well return and have a leak  		 * rather than continue and a bugchk @@ -312,7 +311,6 @@ static void netvsc_teardown_send_gpadl(struct hv_device *device,  				   "unable to teardown send buffer's gpadl\n");  			return;  		} -		net_device->send_buf_gpadl_handle = 0;  	}  } @@ -380,7 +378,7 @@ static int netvsc_init_buf(struct hv_device *device,  	memset(init_packet, 0, sizeof(struct nvsp_message));  	init_packet->hdr.msg_type = NVSP_MSG1_TYPE_SEND_RECV_BUF;  	init_packet->msg.v1_msg.send_recv_buf. -		gpadl_handle = net_device->recv_buf_gpadl_handle; +		gpadl_handle = net_device->recv_buf_gpadl_handle.gpadl_handle;  	init_packet->msg.v1_msg.  		send_recv_buf.id = NETVSC_RECEIVE_BUFFER_ID; @@ -463,6 +461,7 @@ static int netvsc_init_buf(struct hv_device *device,  		ret = -ENOMEM;  		goto cleanup;  	} +	net_device->send_buf_size = buf_size;  	/* Establish the gpadl handle for this buffer on this  	 * channel.  Note: This call uses the vmbus connection rather @@ -482,7 +481,7 @@ static int netvsc_init_buf(struct hv_device *device,  	memset(init_packet, 0, sizeof(struct nvsp_message));  	init_packet->hdr.msg_type = NVSP_MSG1_TYPE_SEND_SEND_BUF;  	init_packet->msg.v1_msg.send_send_buf.gpadl_handle = -		net_device->send_buf_gpadl_handle; +		net_device->send_buf_gpadl_handle.gpadl_handle;  	init_packet->msg.v1_msg.send_send_buf.id = NETVSC_SEND_BUFFER_ID;  	trace_nvsp_send(ndev, init_packet);  |