On Sat, May 02, 2020 at 09:40:31PM +0530, pbhagavat...@marvell.com wrote:
> From: Pavan Nikhilesh <pbhagavat...@marvell.com>
> 
> GCC 9.1 fixes a bug with passing bitfields as pass by value in function
> parameters and generates a warning for the same as below:
> 
> drivers/common/octeontx/octeontx_mbox.c:282:1: note: parameter passing
> for argument of type ‘struct mbox_intf_ver’ changed in GCC 9.1
> 
> Fix the warning generated by passing bitfield as pass by reference.
> 
> Fixes: b4134b2d31cc ("common/octeontx: update mbox to version 1.1.3")
> Cc: sta...@dpdk.org
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com>

Acked-by: Harman Kalra <hka...@marvell.com>

> ---
> More info on GCC bug
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88469
> https://gcc.gnu.org/git/?p=gcc.git&a=commit;h=c590597c45948c6e6fa282878198fd226da95998
> 
>  drivers/common/octeontx/octeontx_mbox.c | 17 +++++++++--------
>  1 file changed, 9 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/common/octeontx/octeontx_mbox.c 
> b/drivers/common/octeontx/octeontx_mbox.c
> index 2fd253107..effe0b267 100644
> --- a/drivers/common/octeontx/octeontx_mbox.c
> +++ b/drivers/common/octeontx/octeontx_mbox.c
> @@ -279,7 +279,7 @@ octeontx_start_domain(void)
>  }
> 
>  static int
> -octeontx_check_mbox_version(struct mbox_intf_ver app_intf_ver,
> +octeontx_check_mbox_version(struct mbox_intf_ver *app_intf_ver,
>                           struct mbox_intf_ver *intf_ver)
>  {
>       struct mbox_intf_ver kernel_intf_ver = {0};
> @@ -290,8 +290,9 @@ octeontx_check_mbox_version(struct mbox_intf_ver 
> app_intf_ver,
>       hdr.coproc = NO_COPROC;
>       hdr.msg = RM_INTERFACE_VERSION;
> 
> -     result = octeontx_mbox_send(&hdr, &app_intf_ver, sizeof(app_intf_ver),
> -                     &kernel_intf_ver, sizeof(kernel_intf_ver));
> +     result = octeontx_mbox_send(&hdr, app_intf_ver,
> +                                 sizeof(struct mbox_intf_ver),
> +                                 &kernel_intf_ver, sizeof(kernel_intf_ver));
>       if (result != sizeof(kernel_intf_ver)) {
>               mbox_log_err("Could not send interface version. Err=%d. 
> FuncErr=%d\n",
>                            result, hdr.res_code);
> @@ -301,9 +302,9 @@ octeontx_check_mbox_version(struct mbox_intf_ver 
> app_intf_ver,
>       if (intf_ver)
>               *intf_ver = kernel_intf_ver;
> 
> -     if (app_intf_ver.platform != kernel_intf_ver.platform ||
> -                     app_intf_ver.major != kernel_intf_ver.major ||
> -                     app_intf_ver.minor != kernel_intf_ver.minor)
> +     if (app_intf_ver->platform != kernel_intf_ver.platform ||
> +                     app_intf_ver->major != kernel_intf_ver.major ||
> +                     app_intf_ver->minor != kernel_intf_ver.minor)
>               result = -EINVAL;
> 
>       return result;
> @@ -312,7 +313,7 @@ octeontx_check_mbox_version(struct mbox_intf_ver 
> app_intf_ver,
>  int
>  octeontx_mbox_init(void)
>  {
> -     const struct mbox_intf_ver MBOX_INTERFACE_VERSION = {
> +     struct mbox_intf_ver MBOX_INTERFACE_VERSION = {
>               .platform = 0x01,
>               .major = 0x01,
>               .minor = 0x03
> @@ -330,7 +331,7 @@ octeontx_mbox_init(void)
>               return ret;
>       }
> 
> -     ret = octeontx_check_mbox_version(MBOX_INTERFACE_VERSION,
> +     ret = octeontx_check_mbox_version(&MBOX_INTERFACE_VERSION,
>                                         &rm_intf_ver);
>       if (ret < 0) {
>               mbox_log_err("MBOX version: Kernel(%d.%d.%d) != DPDK(%d.%d.%d)",
> --
> 2.26.2
> 

Reply via email to