]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/SnpDxe/Snp.c
MdeModulePkg: Refine SNP driver's media status check logic.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / SnpDxe / Snp.c
index 5ff294f8b59b47d503edbc49e3f819c6c605eeb2..9f61aee05773a8eb57b8f3776f410c727162e105 100644 (file)
@@ -554,12 +554,12 @@ SimpleNetworkDriverStart (
 \r
   switch (InitStatFlags & PXE_STATFLAGS_CABLE_DETECT_MASK) {\r
   case PXE_STATFLAGS_CABLE_DETECT_SUPPORTED:\r
-    Snp->Mode.MediaPresentSupported = TRUE;\r
+    Snp->CableDetectSupported = TRUE;\r
     break;\r
 \r
   case PXE_STATFLAGS_CABLE_DETECT_NOT_SUPPORTED:\r
   default:\r
-    Snp->Mode.MediaPresentSupported = FALSE;\r
+    Snp->CableDetectSupported = FALSE;\r
   }\r
 \r
   switch (InitStatFlags & PXE_STATFLAGS_GET_STATUS_NO_MEDIA_MASK) {\r
@@ -572,6 +572,10 @@ SimpleNetworkDriverStart (
     Snp->MediaStatusSupported = FALSE;\r
   }\r
 \r
+  if (Snp->CableDetectSupported || Snp->MediaStatusSupported) {\r
+    Snp->Mode.MediaPresentSupported = TRUE;\r
+  }\r
+\r
   if ((Pxe->hw.Implementation & PXE_ROMID_IMP_STATION_ADDR_SETTABLE) != 0) {\r
     Snp->Mode.MacAddressChangeable = TRUE;\r
   } else {\r