public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH V2 1/1] ShellPkg: Fix Ping GetTimerPeriod API failure
@ 2022-02-10  6:51 MohammedX Rehan
  2022-02-11  7:28 ` Ni, Ray
  0 siblings, 1 reply; 3+ messages in thread
From: MohammedX Rehan @ 2022-02-10  6:51 UTC (permalink / raw)
  To: devel, kathappan.esakkithevar, zhichao.gao, ray.ni,
	madhan.pethaiyan
  Cc: madhavix.thirupugal, MohammedX Rehan

[edk2-devel] [Patch V2 1/1]
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3819

Ping GetTimerPeriod API returns sometime zero value when
StallCounter has smaller value than RttTimerTick (divide by zero)
which results some failure at ping UEFI shell command

Signed-off-by: MohammedX Rehan <mohammedx.rehan@intel.com>
Change-Id: I4458577c921b3748102da385d2f48a21680f5687
Signed-off-by: MohammedX Rehan <mohammedx.rehan@intel.com>
---
 ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
index ec1e0a188b..6a002b15e5 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
@@ -259,9 +259,11 @@ GetTimerPeriod (
   EFI_EVENT   TimerEvent;
   UINT32      StallCounter;
   EFI_TPL     OldTpl;
+  UINT32      TimerPeriod;
 
   RttTimerTick = 0;
   StallCounter = 0;
+  TimerPeriod  = 0;
 
   Status = gBS->CreateEvent (
                   EVT_TIMER | EVT_NOTIFY_SIGNAL,
@@ -295,7 +297,12 @@ GetTimerPeriod (
   gBS->SetTimer (TimerEvent, TimerCancel, 0);
   gBS->CloseEvent (TimerEvent);
 
-  return StallCounter / RttTimerTick;
+  TimerPeriod = StallCounter / RttTimerTick;
+  if (TimerPeriod != 0) {
+    return TimerPeriod;
+  } else {
+    return 1;
+  }
 }
 
 /**
-- 
2.30.0.windows.2


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

* Re: [PATCH V2 1/1] ShellPkg: Fix Ping GetTimerPeriod API failure
  2022-02-10  6:51 [PATCH V2 1/1] ShellPkg: Fix Ping GetTimerPeriod API failure MohammedX Rehan
@ 2022-02-11  7:28 ` Ni, Ray
  2022-02-11  7:33   ` Gao, Zhichao
  0 siblings, 1 reply; 3+ messages in thread
From: Ni, Ray @ 2022-02-11  7:28 UTC (permalink / raw)
  To: Rehan, MohammedX, devel@edk2.groups.io, Esakkithevar, Kathappan,
	Gao, Zhichao, Pethaiyan, Madhan
  Cc: Thirupugal, MadhaviX

Reviewed-by: Ray Ni <ray.ni@intel.com>

-----Original Message-----
From: Rehan, MohammedX <mohammedx.rehan@intel.com> 
Sent: Thursday, February 10, 2022 2:51 PM
To: devel@edk2.groups.io; Esakkithevar, Kathappan <kathappan.esakkithevar@intel.com>; Gao, Zhichao <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Pethaiyan, Madhan <madhan.pethaiyan@intel.com>
Cc: Thirupugal, MadhaviX <madhavix.thirupugal@intel.com>; Rehan, MohammedX <mohammedx.rehan@intel.com>
Subject: [PATCH V2 1/1] ShellPkg: Fix Ping GetTimerPeriod API failure

[edk2-devel] [Patch V2 1/1]
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3819

Ping GetTimerPeriod API returns sometime zero value when
StallCounter has smaller value than RttTimerTick (divide by zero)
which results some failure at ping UEFI shell command

Signed-off-by: MohammedX Rehan <mohammedx.rehan@intel.com>
Change-Id: I4458577c921b3748102da385d2f48a21680f5687
Signed-off-by: MohammedX Rehan <mohammedx.rehan@intel.com>
---
 ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
index ec1e0a188b..6a002b15e5 100644
--- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
+++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
@@ -259,9 +259,11 @@ GetTimerPeriod (
   EFI_EVENT   TimerEvent;

   UINT32      StallCounter;

   EFI_TPL     OldTpl;

+  UINT32      TimerPeriod;

 

   RttTimerTick = 0;

   StallCounter = 0;

+  TimerPeriod  = 0;

 

   Status = gBS->CreateEvent (

                   EVT_TIMER | EVT_NOTIFY_SIGNAL,

@@ -295,7 +297,12 @@ GetTimerPeriod (
   gBS->SetTimer (TimerEvent, TimerCancel, 0);

   gBS->CloseEvent (TimerEvent);

 

-  return StallCounter / RttTimerTick;

+  TimerPeriod = StallCounter / RttTimerTick;

+  if (TimerPeriod != 0) {

+    return TimerPeriod;

+  } else {

+    return 1;

+  }

 }

 

 /**

-- 
2.30.0.windows.2


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

* Re: [PATCH V2 1/1] ShellPkg: Fix Ping GetTimerPeriod API failure
  2022-02-11  7:28 ` Ni, Ray
@ 2022-02-11  7:33   ` Gao, Zhichao
  0 siblings, 0 replies; 3+ messages in thread
From: Gao, Zhichao @ 2022-02-11  7:33 UTC (permalink / raw)
  To: Ni, Ray, Rehan, MohammedX, devel@edk2.groups.io,
	Esakkithevar, Kathappan, Pethaiyan, Madhan
  Cc: Thirupugal, MadhaviX



> -----Original Message-----
> From: Ni, Ray <ray.ni@intel.com>
> Sent: Friday, February 11, 2022 3:29 PM
> To: Rehan, MohammedX <mohammedx.rehan@intel.com>;
> devel@edk2.groups.io; Esakkithevar, Kathappan
> <kathappan.esakkithevar@intel.com>; Gao, Zhichao
> <zhichao.gao@intel.com>; Pethaiyan, Madhan
> <madhan.pethaiyan@intel.com>
> Cc: Thirupugal, MadhaviX <madhavix.thirupugal@intel.com>
> Subject: RE: [PATCH V2 1/1] ShellPkg: Fix Ping GetTimerPeriod API failure
> 
> Reviewed-by: Ray Ni <ray.ni@intel.com>
> 
> -----Original Message-----
> From: Rehan, MohammedX <mohammedx.rehan@intel.com>
> Sent: Thursday, February 10, 2022 2:51 PM
> To: devel@edk2.groups.io; Esakkithevar, Kathappan
> <kathappan.esakkithevar@intel.com>; Gao, Zhichao
> <zhichao.gao@intel.com>; Ni, Ray <ray.ni@intel.com>; Pethaiyan, Madhan
> <madhan.pethaiyan@intel.com>
> Cc: Thirupugal, MadhaviX <madhavix.thirupugal@intel.com>; Rehan,
> MohammedX <mohammedx.rehan@intel.com>
> Subject: [PATCH V2 1/1] ShellPkg: Fix Ping GetTimerPeriod API failure
> 
> [edk2-devel] [Patch V2 1/1]

Please remove the patch version info in the commit message.

> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3819
> 
> Ping GetTimerPeriod API returns sometime zero value when StallCounter has
> smaller value than RttTimerTick (divide by zero) which results some failure at
> ping UEFI shell command
> 
> Signed-off-by: MohammedX Rehan <mohammedx.rehan@intel.com>
> Change-Id: I4458577c921b3748102da385d2f48a21680f5687
> Signed-off-by: MohammedX Rehan <mohammedx.rehan@intel.com>

Please remove the Change-Id and duplicated Signed-off-by.

Others look OK to me.

Thanks,
Zhichao

> ---
>  ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
> b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
> index ec1e0a188b..6a002b15e5 100644
> --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
> +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c
> @@ -259,9 +259,11 @@ GetTimerPeriod (
>    EFI_EVENT   TimerEvent;
> 
>    UINT32      StallCounter;
> 
>    EFI_TPL     OldTpl;
> 
> +  UINT32      TimerPeriod;
> 
> 
> 
>    RttTimerTick = 0;
> 
>    StallCounter = 0;
> 
> +  TimerPeriod  = 0;
> 
> 
> 
>    Status = gBS->CreateEvent (
> 
>                    EVT_TIMER | EVT_NOTIFY_SIGNAL,
> 
> @@ -295,7 +297,12 @@ GetTimerPeriod (
>    gBS->SetTimer (TimerEvent, TimerCancel, 0);
> 
>    gBS->CloseEvent (TimerEvent);
> 
> 
> 
> -  return StallCounter / RttTimerTick;
> 
> +  TimerPeriod = StallCounter / RttTimerTick;
> 
> +  if (TimerPeriod != 0) {
> 
> +    return TimerPeriod;
> 
> +  } else {
> 
> +    return 1;
> 
> +  }
> 
>  }
> 
> 
> 
>  /**
> 
> --
> 2.30.0.windows.2


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

end of thread, other threads:[~2022-02-11  7:33 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-10  6:51 [PATCH V2 1/1] ShellPkg: Fix Ping GetTimerPeriod API failure MohammedX Rehan
2022-02-11  7:28 ` Ni, Ray
2022-02-11  7:33   ` Gao, Zhichao

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