> -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Laszlo Ersek > Sent: Friday, January 15, 2016 9:22 AM > To: Ryan Harkin <ryan.har...@linaro.org>; Ard Biesheuvel > <ard.biesheu...@linaro.org> > Cc: edk2-de...@ml01.01.org; Zeng, Star <star.z...@intel.com>; Leif > Lindholm <leif.lindh...@linaro.org> > Subject: Re: [edk2] [PATCH] MdeModulePkg/SerialDxe: fix porting error from > EmbeddedPkg > > On 01/15/16 17:07, Ryan Harkin wrote: > > On 15 January 2016 at 15:42, Ard Biesheuvel <ard.biesheu...@linaro.org> > wrote: > >> SerialDxe was migrated to MdeModulePkg from EmbeddedPkg, and all > >> users of the latter were moved to the former. However, the new > >> version is not quite identical to the original, in ways that break > >> ARM platforms that use the PL011 driver. > >> > > > > The original patch should never have passed review. > > I agree it's unfortunate that the patch silently changed behavior in the > course of the conversion. Stuff like that is very hard to catch in > review; in my analysis that I posted a few minutes ago, I actually tried > to diff the two drivers against each other, and gave up. I had to review > both files in separate windows at the same time. > > Ard is right -- extreme discipline is required when converting things. > If the programmer notices a bug or non-conformance in the course of the > conversion, he should make a note somewhere, for later, but the > conversion *must* preserve the original bugs! Bugfixing is a separate > step. It can occur after conversion, as a separate patch. It can even > occur *before* the conversion (and then the corrected code will be > converted.) > Agree.
Isn't there a SVN->Move operation (and a GIT version) that should have been used and would inherently have maintained any and all behaviors? Then if there are name changes required for PCDs or the like they can be changed after the move in the patch series? We researched better move methods than "add then delete" after the move of libraries from ShellPkg to MdeModulePkg. Another major benefit was continuity of file history... -Jaben > > > > > >> In SerialReset(), the serial port is reset to its default values, > >> but the defaults used by the new version for ReceiveFifoDepth and > >> Timeout deviate from the original values. So put them back. > >> > >> Contributed-under: TianoCore Contribution Agreement 1.0 > >> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> > > Tested-by: Ryan Harkin <ryan.har...@linaro.org> > > Can you please test my proposal as well? > > Thanks > Laszlo > > > > > >> --- > >> MdeModulePkg/Universal/SerialDxe/SerialIo.c | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> > >> diff --git a/MdeModulePkg/Universal/SerialDxe/SerialIo.c > b/MdeModulePkg/Universal/SerialDxe/SerialIo.c > >> index de928d1719e9..9e9db28ce5cc 100644 > >> --- a/MdeModulePkg/Universal/SerialDxe/SerialIo.c > >> +++ b/MdeModulePkg/Universal/SerialDxe/SerialIo.c > >> @@ -233,8 +233,8 @@ SerialReset ( > >> // > >> // Set the Serial I/O mode > >> // > >> - This->Mode->ReceiveFifoDepth = 1; > >> - This->Mode->Timeout = 0; > >> + This->Mode->ReceiveFifoDepth = 0; > >> + This->Mode->Timeout = 1000000; > >> This->Mode->BaudRate = PcdGet64 (PcdUartDefaultBaudRate); > >> This->Mode->DataBits = (UINT32) PcdGet8 > >> (PcdUartDefaultDataBits); > >> This->Mode->Parity = (UINT32) PcdGet8 (PcdUartDefaultParity); > >> -- > >> 2.5.0 > >> > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > > > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel