Browse Source

[hyperv] Receive all VMBus messages in a poll

Allow for elision of transmitted TCP ACKs by handling all received
VMBus messages in each network device poll operation.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 10 years ago
parent
commit
4e6821662c
1 changed files with 3 additions and 1 deletions
  1. 3
    1
      src/drivers/net/netvsc.c

+ 3
- 1
src/drivers/net/netvsc.c View File

435
  */
435
  */
436
 static void netvsc_poll ( struct rndis_device *rndis ) {
436
 static void netvsc_poll ( struct rndis_device *rndis ) {
437
 	struct netvsc_device *netvsc = rndis->priv;
437
 	struct netvsc_device *netvsc = rndis->priv;
438
+	struct vmbus_device *vmdev = netvsc->vmdev;
438
 
439
 
439
 	/* Poll VMBus device */
440
 	/* Poll VMBus device */
440
-	vmbus_poll ( netvsc->vmdev );
441
+	while ( vmbus_has_data ( vmdev ) )
442
+		vmbus_poll ( vmdev );
441
 }
443
 }
442
 
444
 
443
 /**
445
 /**

Loading…
Cancel
Save