Message ID | f787c7ac5a4a82624b1711b9eba2a2a1d4cf5b58.1554828338.git.vitor.soares@synopsys.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 9752c37cc89f43675e70cf9acff23519fa84b48c |
Headers | show |
Series | i3c: Fix the verification of random PID | expand |
On Tue, 9 Apr 2019 18:59:59 +0200 Vitor Soares <vitor.soares@synopsys.com> wrote: > The validation of random PID should be done by checking the > boardinfo->pid instead of info.pid which is empty. > > Doing the change the info struture declaration is no longer necessary. > > Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure") > Signed-off-by: Vitor Soares <vitor.soares@synopsys.com> > Note for you future contributions: please don't add a blank line between Cc and SoB/Fixes lines. > Cc: Boris Brezillon <bbrezillon@kernel.org> > Cc: <stable@vger.kernel.org> > --- > drivers/i3c/master.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > index 569ea68..d23a57e 100644 > --- a/drivers/i3c/master.c > +++ b/drivers/i3c/master.c > @@ -2006,7 +2006,6 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master, > { > struct i3c_dev_boardinfo *boardinfo; > struct device *dev = &master->dev; > - struct i3c_device_info info = { }; > enum i3c_addr_slot_status addrstatus; > u32 init_dyn_addr = 0; > > @@ -2038,8 +2037,8 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master, > > boardinfo->pid = ((u64)reg[1] << 32) | reg[2]; > > - if ((info.pid & GENMASK_ULL(63, 48)) || > - I3C_PID_RND_LOWER_32BITS(info.pid)) > + if ((boardinfo->pid & GENMASK_ULL(63, 48)) || > + I3C_PID_RND_LOWER_32BITS(boardinfo->pid)) > return -EINVAL; > > boardinfo->init_dyn_addr = init_dyn_addr;
diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index 569ea68..d23a57e 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -2006,7 +2006,6 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master, { struct i3c_dev_boardinfo *boardinfo; struct device *dev = &master->dev; - struct i3c_device_info info = { }; enum i3c_addr_slot_status addrstatus; u32 init_dyn_addr = 0; @@ -2038,8 +2037,8 @@ of_i3c_master_add_i3c_boardinfo(struct i3c_master_controller *master, boardinfo->pid = ((u64)reg[1] << 32) | reg[2]; - if ((info.pid & GENMASK_ULL(63, 48)) || - I3C_PID_RND_LOWER_32BITS(info.pid)) + if ((boardinfo->pid & GENMASK_ULL(63, 48)) || + I3C_PID_RND_LOWER_32BITS(boardinfo->pid)) return -EINVAL; boardinfo->init_dyn_addr = init_dyn_addr;
The validation of random PID should be done by checking the boardinfo->pid instead of info.pid which is empty. Doing the change the info struture declaration is no longer necessary. Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure") Signed-off-by: Vitor Soares <vitor.soares@synopsys.com> Cc: Boris Brezillon <bbrezillon@kernel.org> Cc: <stable@vger.kernel.org> --- drivers/i3c/master.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-)