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 >