瀏覽代碼

[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 9 年之前
父節點
當前提交
4e6821662c
共有 1 個檔案被更改,包括 3 行新增1 行删除
  1. 3
    1
      src/drivers/net/netvsc.c

+ 3
- 1
src/drivers/net/netvsc.c 查看文件

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…
取消
儲存