From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web08.7078.1644912451911117398 for ; Tue, 15 Feb 2022 00:07:32 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=aFjP2D0v; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: mohammedx.rehan@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644912452; x=1676448452; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=QGm35ud3jd9+ozhhC1vHGsi4liO8Ms6m8f40laJJSdc=; b=aFjP2D0v12bHA5IT2Eqj9yYxXQ6rqurzIVptS9VE3iHZubpGgTptf6/q wt3GNXs0PPAmaFBMOTOPTKUJqz0l0rXRhUIEzgREQwZd3VqdorfLnosO8 ynKVwXx5o6BZ8+JqSdk9TA6gWT8glrLKJhaPad9fmUyZyM6q6x1b4ndHl R+AUxFIbkNovmSCE7Y6sJ3A/k65f5sDhTtPrNJXEFP5ICb520bdTLP3ny ORBglq/P8laKozq2O0XJFJVcG5cHgiOfBa9hY7JI9jzuWbnLkBTfhr+/c NCP1Bqe6S0hsqcXN0b10JALrwgQVp/r5ahItQRJZkNF5rsQAwYdEoycv+ A==; X-IronPort-AV: E=McAfee;i="6200,9189,10258"; a="250482770" X-IronPort-AV: E=Sophos;i="5.88,370,1635231600"; d="scan'208";a="250482770" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Feb 2022 00:07:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,370,1635231600"; d="scan'208";a="632608860" Received: from babios003.gar.corp.intel.com ([10.66.244.222]) by fmsmga002.fm.intel.com with ESMTP; 15 Feb 2022 00:07:06 -0800 From: "MohammedX Rehan" To: devel@edk2.groups.io, kathappan.esakkithevar@intel.com, zhichao.gao@intel.com, ray.ni@intel.com, madhan.pethaiyan@intel.com Cc: madhavix.thirupugal@intel.com, MohammedX Rehan Subject: [PATCH] ShellPkg: Fix Ping GetTimerPeriod API failure Date: Tue, 15 Feb 2022 13:37:03 +0530 Message-Id: X-Mailer: git-send-email 2.30.0.windows.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3819 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 --- ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ping.c b/ShellPk= g/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;=0D UINT32 StallCounter;=0D EFI_TPL OldTpl;=0D + UINT32 TimerPeriod;=0D =0D RttTimerTick =3D 0;=0D StallCounter =3D 0;=0D + TimerPeriod =3D 0;=0D =0D Status =3D gBS->CreateEvent (=0D EVT_TIMER | EVT_NOTIFY_SIGNAL,=0D @@ -295,7 +297,12 @@ GetTimerPeriod ( gBS->SetTimer (TimerEvent, TimerCancel, 0);=0D gBS->CloseEvent (TimerEvent);=0D =0D - return StallCounter / RttTimerTick;=0D + TimerPeriod =3D StallCounter / RttTimerTick;=0D + if (TimerPeriod !=3D 0) {=0D + return TimerPeriod;=0D + } else {=0D + return 1;=0D + }=0D }=0D =0D /**=0D --=20 2.30.0.windows.2