Maybe:
if ((Data32 & ((UINT32) 1 << MaxPortNumber)) != 0) {
instead of:
if ((Data32 & (UINT32) (1 << MaxPortNumber)) != 0) {to avoid possible undefined behavior for case like '1 << 31'? Best Regards, Hao Wu > -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of Star > Zeng > Sent: Monday, July 02, 2018 5:42 PM > To: [email protected] > Cc: Wu, Hao A; Bi, Dandan; Zeng, Star > Subject: [edk2] [PATCH] MdeModulePkg SataControllerDxe: Use compare logic > in if condition > > Use compare logic in if condition to fix ECC issue. > It is caused by aa4240edff41034d709938a15b42cf4fd3214386. > > Cc: Hao Wu <[email protected]> > Cc: Dandan Bi <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Star Zeng <[email protected]> > --- > MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c > b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c > index d47e918f5757..d3af4c626ef5 100644 > --- a/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c > +++ b/MdeModulePkg/Bus/Pci/SataControllerDxe/SataController.c > @@ -483,7 +483,7 @@ SataControllerStart ( > } > MaxPortNumber = 31; > while (MaxPortNumber > 0) { > - if (Data32 & (1 << MaxPortNumber)) { > + if ((Data32 & (UINT32) (1 << MaxPortNumber)) != 0) { > break; > } > MaxPortNumber--; > -- > 2.7.0.windows.1 > > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

