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
*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