public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-devel] [PATCH] NetworkPkg:Resolved Consecutive Pxe-Http Boot Issue
@ 2024-02-21 17:15 Santhosh Kumar V via groups.io
  2024-02-21 23:45 ` Laszlo Ersek
  0 siblings, 1 reply; 9+ messages in thread
From: Santhosh Kumar V via groups.io @ 2024-02-21 17:15 UTC (permalink / raw)
  To: devel@edk2.groups.io, Santhosh Kumar V
  Cc: Sivaraman Nainar, Raj V Akilan, Soundharia R, Saloni Kasbekar,
	Zachary Clark-williams

The customer has a server environment where PXE and HTTP service run in same Linux Server. In this environment a SUT trying to boot to SLES 15 OS via PXE from the Boot Menu. After PXE Boot file downloaded and grub Loaded without continuing for installation Exit is pressed and control back to Setup.
Now the HTTP boot to SLES 15 OS tried in the same environment and failed to download the file. If there is a reconnect -r performed before this HTTP Boot then boot file download and installation is getting success.
Root cause of the issue is, when Exit from grub performed, boot Loader Stops the SNP Driver and starts the same. During this process SNP is in Initialized State. When HTTP boot is performed immediately after PXE Failure, the MNP configure method initiates the SNP Start again. Since the SNP already started by grub it returns EFI_ALREADY_STARTED and none of the upper Layer drivers are getting started.
As a work around in MNPConfigure(), if the SNP Start failed with Already Started and in Initialized state we can return success so that rest of the drivers can be loaded and HTTP boot can work.


Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>

Signed-off-by: SanthoshKumar <santhoshkumarv@ami.com>
---
 NetworkPkg/MnpDxe/MnpConfig.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/NetworkPkg/MnpDxe/MnpConfig.c b/NetworkPkg/MnpDxe/MnpConfig.c
index 93587d53aa..0f2df28d73 100644
--- a/NetworkPkg/MnpDxe/MnpConfig.c
+++ b/NetworkPkg/MnpDxe/MnpConfig.c
@@ -1120,7 +1120,9 @@ MnpStartSnp (
   // Start the simple network.

   //

   Status = Snp->Start (Snp);

-

+  if ((Status == EFI_ALREADY_STARTED ) && (Snp->Mode->State == EfiSimpleNetworkInitialized)) {

+      return EFI_SUCCESS;

+  }

   if (!EFI_ERROR (Status)) {

     //

     // Initialize the simple network.

--
2.42.0.windows.2
-The information contained in this message may be confidential and proprietary to American Megatrends (AMI). This communication is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. Please promptly notify the sender by reply e-mail or by telephone at 770-246-8600, and then delete or destroy all copies of the transmission.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#115750): https://edk2.groups.io/g/devel/message/115750
Mute This Topic: https://groups.io/mt/104498511/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-03-25 10:54 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-21 17:15 [edk2-devel] [PATCH] NetworkPkg:Resolved Consecutive Pxe-Http Boot Issue Santhosh Kumar V via groups.io
2024-02-21 23:45 ` Laszlo Ersek
2024-02-22  2:03   ` Sivaraman Nainar via groups.io
     [not found]   ` <17B60D00FAC661AD.27859@groups.io>
2024-02-26 10:30     ` Sivaraman Nainar via groups.io
2024-02-27  4:49       ` Sivaraman Nainar via groups.io
2024-02-27 12:06         ` Laszlo Ersek
2024-03-19 11:32       ` Sivaraman Nainar via groups.io
2024-03-22 22:03         ` Saloni Kasbekar
2024-03-25 10:54           ` Sivaraman Nainar via groups.io

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox