]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/SnpDxe/Receive.c
Update the copyright notice format
[mirror_edk2.git] / MdeModulePkg / Universal / Network / SnpDxe / Receive.c
index 92123b6c1fe76835bc5869a88fd88e008d4c82be..adc1fb2711926ec2513855186a6f599ed70ff9ee 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
-               Implementation of receiving a packet from a network interface.\r
+  Implementation of receiving a packet from a network interface.\r
 \r
-Copyright (c) 2004 - 2007, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials are licensed\r
+Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed\r
 and made available under the terms and conditions of the BSD License which\r
 accompanies this distribution. The full text of the license may be found at\r
 http://opensource.org/licenses/bsd-license.php\r
@@ -132,6 +132,16 @@ PxeReceive (
     *Protocol = (UINT16) PXE_SWAP_UINT16 (Db->Protocol);\r
   }\r
 \r
+  //\r
+  // We have received a packet from network interface, which implies that the\r
+  // network cable should be present. While, some UNDI driver may not report\r
+  // correct media status during Snp->Initialize(). So, we need ensure\r
+  // MediaPresent in SNP mode data is set to correct value.\r
+  //\r
+  if (Snp->Mode.MediaPresentSupported && !Snp->Mode.MediaPresent) {\r
+    Snp->Mode.MediaPresent = TRUE;\r
+  }\r
+\r
   return (*BufferSize <= BuffSize) ? EFI_SUCCESS : EFI_BUFFER_TOO_SMALL;\r
 }\r
 \r
@@ -225,7 +235,7 @@ SnpUndi32Receive (
     goto ON_EXIT;\r
   }\r
 \r
-  if (!Snp->Mode.ReceiveFilterSetting) {\r
+  if (Snp->Mode.ReceiveFilterSetting == 0) {\r
     Status = EFI_DEVICE_ERROR;\r
     goto ON_EXIT;\r
   }\r