Mike,

I have one question, how do you find this issue?  Do you encounter one real 
issue on your platform or you find it by code review?

I agree TimeoutInSeconds is very confused in original code. 

Because this piece of code have been not changed in open source world for +7 
years.  I do not know why original author defined STALL_1_MSECOND here instead 
of STALL_1_SECOND. It maybe performance requirement or others.

If you have not real issue on this code, I suggest to keep the current delay 
time and rename parameter TimeoutInSeconds into TimeoutInMicroSeconds,  or 
simply rename it into Timeout to remove this confusion.

Thanks!
Jeff
-----Original Message-----
From: Mike Maslenkin [mailto:miha...@parallels.com] 
Sent: Wednesday, May 21, 2014 5:44 AM
To: edk2-devel@lists.sourceforge.net
Cc: Mike Maslenkin
Subject: [edk2] [PATCH 1/1] IsaFloppyDxe: fixed timeout

From: Konstantin Filatov <kfila...@parallels.com>

This timeout was wrong in 1000 times.
Delay is calculated using timeout value in seconds.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Konstantin Filatov <kfila...@parallels.com>
Signed-off-by: Mike Maslenkin <miha...@parallels.com>
---
 IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyCtrl.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyCtrl.c 
b/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyCtrl.c
index d8f181c2e25f..e1f48568b6f9 100644
--- a/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyCtrl.c
+++ b/IntelFrameworkModulePkg/Bus/Isa/IsaFloppyDxe/IsaFloppyCtrl.c
@@ -1112,7 +1112,7 @@ FddWaitForBSYClear (
   //
   Mask  = (UINT8) ((FdcDev->Disk == FdcDisk0 ? MSR_DAB : MSR_DBB) | MSR_CB);
 
-  Delay = ((TimeoutInSeconds * STALL_1_MSECOND) / 50) + 1;
+  Delay = ((TimeoutInSeconds * STALL_1_SECOND) / 50) + 1;
   do {
     StatusRegister = FdcReadPort (FdcDev, FDC_REGISTER_MSR);
     if ((StatusRegister & Mask) == 0x00) { @@ -1169,7 +1169,7 @@ FddDRQReady (
   //
   // in order to compare bit6
   //
-  Delay = ((TimeoutInSeconds * STALL_1_MSECOND) / 50) + 1;
+  Delay = ((TimeoutInSeconds * STALL_1_SECOND) / 50) + 1;
   do {
     StatusRegister = FdcReadPort (FdcDev, FDC_REGISTER_MSR);
     if ((StatusRegister & MSR_RQM) == MSR_RQM && (StatusRegister & MSR_DIO) == 
DataInOut) {
--
1.7.10.4


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to