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
This commit is contained in:
xdu2 2010-02-03 04:37:29 +00:00
parent c5c3e7e25c
commit e51e619ed7
1 changed files with 6 additions and 0 deletions

View File

@ -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
//