diff mbox series

[edk2,edk2-platforms] Silicon/SynQuacerI2CDxe: add missing __FUNCTION__ argument to %a specifier

Message ID 20171204133308.32012-1-ard.biesheuvel@linaro.org
State New
Headers show
Series [edk2,edk2-platforms] Silicon/SynQuacerI2CDxe: add missing __FUNCTION__ argument to %a specifier | expand

Commit Message

Ard Biesheuvel Dec. 4, 2017, 1:33 p.m. UTC
The I2C driver prints a warning under DEBUG when a I2C transaction times
out. This will occur on the rev 0.1 DeveloperBox boards due to a board
level error in the I2C routing (unless the MCU has been lifted off the
bus).

Currently, this will trigger a crash due to a missing __FUNCTION__
argument to a %a specifier in a DEBUG string, because instead, the code
will attempt to dereference a EFI_STATUS variable as a char pointer.

So add the missing __FUNCTION__ argument.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

---
 Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.11.0

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

Comments

Leif Lindholm Dec. 4, 2017, 2:48 p.m. UTC | #1
On Mon, Dec 04, 2017 at 01:33:08PM +0000, Ard Biesheuvel wrote:
> The I2C driver prints a warning under DEBUG when a I2C transaction times

> out. This will occur on the rev 0.1 DeveloperBox boards due to a board

> level error in the I2C routing (unless the MCU has been lifted off the

> bus).

> 

> Currently, this will trigger a crash due to a missing __FUNCTION__

> argument to a %a specifier in a DEBUG string, because instead, the code

> will attempt to dereference a EFI_STATUS variable as a char pointer.

> 

> So add the missing __FUNCTION__ argument.

> 

> Contributed-under: TianoCore Contribution Agreement 1.1

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


Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>


> ---

>  Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c

> index fb404b17f93c..c3703dfb6c33 100644

> --- a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c

> +++ b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c

> @@ -330,7 +330,7 @@ SynQuacerI2cStartRequest (

>      Status = WaitForInterrupt (I2c);

>      if (EFI_ERROR (Status)) {

>          BOOTTIME_DEBUG ((DEBUG_WARN, "%a: Timeout waiting for interrupt - %r\n",

> -        Status));

> +          __FUNCTION__, Status));

>        break;

>      }

>  

> -- 

> 2.11.0

> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Dec. 4, 2017, 2:55 p.m. UTC | #2
On 4 December 2017 at 14:48, Leif Lindholm <leif.lindholm@linaro.org> wrote:
> On Mon, Dec 04, 2017 at 01:33:08PM +0000, Ard Biesheuvel wrote:

>> The I2C driver prints a warning under DEBUG when a I2C transaction times

>> out. This will occur on the rev 0.1 DeveloperBox boards due to a board

>> level error in the I2C routing (unless the MCU has been lifted off the

>> bus).

>>

>> Currently, this will trigger a crash due to a missing __FUNCTION__

>> argument to a %a specifier in a DEBUG string, because instead, the code

>> will attempt to dereference a EFI_STATUS variable as a char pointer.

>>

>> So add the missing __FUNCTION__ argument.

>>

>> Contributed-under: TianoCore Contribution Agreement 1.1

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

>

> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>

>


Thanks. Pushed as 7511d626b318ae068d7773159eedf3c9fc4c7a5a

>> ---

>>  Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c | 2 +-

>>  1 file changed, 1 insertion(+), 1 deletion(-)

>>

>> diff --git a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c

>> index fb404b17f93c..c3703dfb6c33 100644

>> --- a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c

>> +++ b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c

>> @@ -330,7 +330,7 @@ SynQuacerI2cStartRequest (

>>      Status = WaitForInterrupt (I2c);

>>      if (EFI_ERROR (Status)) {

>>          BOOTTIME_DEBUG ((DEBUG_WARN, "%a: Timeout waiting for interrupt - %r\n",

>> -        Status));

>> +          __FUNCTION__, Status));

>>        break;

>>      }

>>

>> --

>> 2.11.0

>>

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

Patch

diff --git a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c
index fb404b17f93c..c3703dfb6c33 100644
--- a/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c
+++ b/Silicon/Socionext/SynQuacer/Drivers/SynQuacerI2cDxe/SynQuacerI2cDxe.c
@@ -330,7 +330,7 @@  SynQuacerI2cStartRequest (
     Status = WaitForInterrupt (I2c);
     if (EFI_ERROR (Status)) {
         BOOTTIME_DEBUG ((DEBUG_WARN, "%a: Timeout waiting for interrupt - %r\n",
-        Status));
+          __FUNCTION__, Status));
       break;
     }