diff mbox

[edk2,15/19] ArmVirtPkg/FdtPciPcdProducerLib: eliminate unchecked PcdSetXX() calls

Message ID 20161021212737.15974-16-lersek@redhat.com
State Accepted
Commit 5d1546b439b305785fc14456cdb2e2e9f96bf5ae
Headers show

Commit Message

Laszlo Ersek Oct. 21, 2016, 9:27 p.m. UTC
These are deprecated / disabled under the
DISABLE_NEW_DEPRECATED_INTERFACES feature test macro.

Introduce a variable called PcdStatus, and use it to assert the success of
these operations (there is no reason for them to fail here).

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=165
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>

---
 ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

-- 
2.9.2


_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Ard Biesheuvel Oct. 24, 2016, 7:59 a.m. UTC | #1
On 21 October 2016 at 22:27, Laszlo Ersek <lersek@redhat.com> wrote:
> These are deprecated / disabled under the

> DISABLE_NEW_DEPRECATED_INTERFACES feature test macro.

>

> Introduce a variable called PcdStatus, and use it to assert the success of

> these operations (there is no reason for them to fail here).

>

> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=165

> Contributed-under: TianoCore Contribution Agreement 1.0

> Signed-off-by: Laszlo Ersek <lersek@redhat.com>


Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>


> ---

>  ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c | 10 +++++++---

>  1 file changed, 7 insertions(+), 3 deletions(-)

>

> diff --git a/ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c b/ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c

> index ea27cda7b77c..072f54ef7d9e 100644

> --- a/ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c

> +++ b/ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c

> @@ -98,6 +98,7 @@ FdtPciPcdProducerLibConstructor (

>    INT32               Node;

>    RETURN_STATUS       RetStatus;

>    UINT64              IoTranslation;

> +  RETURN_STATUS       PcdStatus;

>

>    PciExpressBaseAddress = PcdGet64 (PcdPciExpressBaseAddress);

>    if (PciExpressBaseAddress != MAX_UINT64) {

> @@ -126,12 +127,14 @@ FdtPciPcdProducerLibConstructor (

>      if (!EFI_ERROR (Status) && RegSize == 2 * sizeof (UINT64)) {

>        PciExpressBaseAddress = SwapBytes64 (*Reg);

>

> -      PcdSetBool (PcdPciDisableBusEnumeration, FALSE);

> +      PcdStatus = PcdSetBoolS (PcdPciDisableBusEnumeration, FALSE);

> +      ASSERT_RETURN_ERROR (PcdStatus);

>

>        IoTranslation = 0;

>        RetStatus = GetPciIoTranslation (FdtClient, Node, &IoTranslation);

>        if (!RETURN_ERROR (RetStatus)) {

> -          PcdSet64 (PcdPciIoTranslation, IoTranslation);

> +          PcdStatus = PcdSet64S (PcdPciIoTranslation, IoTranslation);

> +          ASSERT_RETURN_ERROR (PcdStatus);

>        } else {

>          //

>          // Support for I/O BARs is not mandatory, and so it does not make sense

> @@ -145,7 +148,8 @@ FdtPciPcdProducerLibConstructor (

>      }

>    }

>

> -  PcdSet64 (PcdPciExpressBaseAddress, PciExpressBaseAddress);

> +  PcdStatus = PcdSet64S (PcdPciExpressBaseAddress, PciExpressBaseAddress);

> +  ASSERT_RETURN_ERROR (PcdStatus);

>

>    return RETURN_SUCCESS;

>  }

> --

> 2.9.2

>

>

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
diff mbox

Patch

diff --git a/ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c b/ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c
index ea27cda7b77c..072f54ef7d9e 100644
--- a/ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c
+++ b/ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c
@@ -98,6 +98,7 @@  FdtPciPcdProducerLibConstructor (
   INT32               Node;
   RETURN_STATUS       RetStatus;
   UINT64              IoTranslation;
+  RETURN_STATUS       PcdStatus;
 
   PciExpressBaseAddress = PcdGet64 (PcdPciExpressBaseAddress);
   if (PciExpressBaseAddress != MAX_UINT64) {
@@ -126,12 +127,14 @@  FdtPciPcdProducerLibConstructor (
     if (!EFI_ERROR (Status) && RegSize == 2 * sizeof (UINT64)) {
       PciExpressBaseAddress = SwapBytes64 (*Reg);
 
-      PcdSetBool (PcdPciDisableBusEnumeration, FALSE);
+      PcdStatus = PcdSetBoolS (PcdPciDisableBusEnumeration, FALSE);
+      ASSERT_RETURN_ERROR (PcdStatus);
 
       IoTranslation = 0;
       RetStatus = GetPciIoTranslation (FdtClient, Node, &IoTranslation);
       if (!RETURN_ERROR (RetStatus)) {
-          PcdSet64 (PcdPciIoTranslation, IoTranslation);
+          PcdStatus = PcdSet64S (PcdPciIoTranslation, IoTranslation);
+          ASSERT_RETURN_ERROR (PcdStatus);
       } else {
         //
         // Support for I/O BARs is not mandatory, and so it does not make sense
@@ -145,7 +148,8 @@  FdtPciPcdProducerLibConstructor (
     }
   }
 
-  PcdSet64 (PcdPciExpressBaseAddress, PciExpressBaseAddress);
+  PcdStatus = PcdSet64S (PcdPciExpressBaseAddress, PciExpressBaseAddress);
+  ASSERT_RETURN_ERROR (PcdStatus);
 
   return RETURN_SUCCESS;
 }