]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OvmfPkg/VirtioNetDxe/SnpReceive.c
CorebootPayloadPkg: Fix build failure due to Tftp/Dp library removal
[mirror_edk2.git] / OvmfPkg / VirtioNetDxe / SnpReceive.c
index 99abd7ebe454dde610296f665b12cf3c7b1cd6a7..c42489636ea0b0d1c107c9e1c48fdaf127e2c511 100644 (file)
@@ -82,6 +82,7 @@ VirtioNetReceive (
   UINT8      *RxPtr;\r
   UINT16     AvailIdx;\r
   EFI_STATUS NotifyStatus;\r
+  UINTN      RxBufOffset;\r
 \r
   if (This == NULL || BufferSize == NULL || Buffer == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -143,7 +144,9 @@ VirtioNetReceive (
     *HeaderSize = Dev->Snm.MediaHeaderSize;\r
   }\r
 \r
-  RxPtr = (UINT8 *)(UINTN) Dev->RxRing.Desc[DescIdx + 1].Addr;\r
+  RxBufOffset = (UINTN)(Dev->RxRing.Desc[DescIdx + 1].Addr -\r
+                        Dev->RxBufDeviceBase);\r
+  RxPtr = Dev->RxBuf + RxBufOffset;\r
   CopyMem (Buffer, RxPtr, RxLen);\r
 \r
   if (DestAddr != NULL) {\r