From e51e619ed77a75b0992197574a8e376f76357a7a Mon Sep 17 00:00:00 2001 From: xdu2 Date: Wed, 3 Feb 2010 04:37:29 +0000 Subject: [PATCH] For network dynamic media detect support: invoke Snp->GetStatus() before use Snp->Mode->MediaPresent. Upon successful return of Snp->GetStatus(), the Snp->Mode->MediaPresent will be updated to indicate the latest media status. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9918 6f19259b-4bc3-4df7-8a09-765794883524 --- IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c index 40984adb3a..59e3a6e20f 100644 --- a/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c +++ b/IntelFrameworkModulePkg/Library/GenericBdsLib/BdsBoot.c @@ -1576,6 +1576,7 @@ BdsLibNetworkBootWithMediaPresent ( EFI_HANDLE Handle; EFI_SIMPLE_NETWORK_PROTOCOL *Snp; BOOLEAN MediaPresent; + UINT32 InterruptStatus; MediaPresent = FALSE; @@ -1618,6 +1619,11 @@ BdsLibNetworkBootWithMediaPresent ( if (!EFI_ERROR (Status)) { if (Snp->Mode->MediaPresentSupported) { if (Snp->Mode->State == EfiSimpleNetworkInitialized) { + // + // Invoke Snp->GetStatus() to refresh the media status + // + Snp->GetStatus (Snp, &InterruptStatus, NULL); + // // In case some one else is using the SNP check to see if it's connected //