Message ID | 20230830141727.3794152-1-Frank.Li@nxp.com (mailing list archive) |
---|---|
State | Rejected |
Headers | show |
Series | [v2,1/2] i3c: master: fixes i3c bus driver probe failure if no i3c device attached | expand |
Hi Frank, Frank.Li@nxp.com wrote on Wed, 30 Aug 2023 10:17:26 -0400: > In i3c_master_bus_init() > { ... > ret = i3c_master_rstdaa_locked(master, I3C_BROADCAST_ADDR); > if (ret && ret != I3C_ERROR_M2) > ^^^ // it is enum i3c_error_code > ... > } > > In dw-i3c-master.c implementation: > dw_i3c_ccc_set() > { ... > ret = xfer->ret; > if (xfer->cmds[0].error == RESPONSE_ERROR_IBA_NACK) > ccc->err = I3C_ERROR_M2; > > dw_i3c_master_free_xfer(xfer); > > return ret; > } > > Return enum i3c_error_code when error happen in i3c_master_rstdaa_locked(). I am sorry but the commit log needs to be worked on. > > Cc: stable@vger.kernel.org > Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure") > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > > Notes: > Change from v1 to v2: > - cc stable > > drivers/i3c/master.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > index 08aeb69a78003..00a82f3ab9ac0 100644 > --- a/drivers/i3c/master.c > +++ b/drivers/i3c/master.c > @@ -783,6 +783,9 @@ static int i3c_master_rstdaa_locked(struct i3c_master_controller *master, > ret = i3c_master_send_ccc_cmd_locked(master, &cmd); > i3c_ccc_cmd_dest_cleanup(&dest); > > + if (ret) > + ret = cmd.err; Shouldn't this happen in i3c_master_send_ccc_cmd_locked()? > + > return ret; > } > Thanks, Miquèl
On Wed, Aug 30, 2023 at 05:53:55PM +0200, Miquel Raynal wrote: > Hi Frank, > > Frank.Li@nxp.com wrote on Wed, 30 Aug 2023 10:17:26 -0400: > > > In i3c_master_bus_init() > > { ... > > ret = i3c_master_rstdaa_locked(master, I3C_BROADCAST_ADDR); > > if (ret && ret != I3C_ERROR_M2) > > ^^^ // it is enum i3c_error_code > > ... > > } > > > > In dw-i3c-master.c implementation: > > dw_i3c_ccc_set() > > { ... > > ret = xfer->ret; > > if (xfer->cmds[0].error == RESPONSE_ERROR_IBA_NACK) > > ccc->err = I3C_ERROR_M2; > > > > dw_i3c_master_free_xfer(xfer); > > > > return ret; > > } > > > > Return enum i3c_error_code when error happen in i3c_master_rstdaa_locked(). > > I am sorry but the commit log needs to be worked on. > > > > > Cc: stable@vger.kernel.org > > Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure") > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > > --- > > > > Notes: > > Change from v1 to v2: > > - cc stable > > > > drivers/i3c/master.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > > index 08aeb69a78003..00a82f3ab9ac0 100644 > > --- a/drivers/i3c/master.c > > +++ b/drivers/i3c/master.c > > @@ -783,6 +783,9 @@ static int i3c_master_rstdaa_locked(struct i3c_master_controller *master, > > ret = i3c_master_send_ccc_cmd_locked(master, &cmd); > > i3c_ccc_cmd_dest_cleanup(&dest); > > > > + if (ret) > > + ret = cmd.err; > > Shouldn't this happen in i3c_master_send_ccc_cmd_locked()? Sorry, This patch is not necesary at all. i3c_master_send_ccc_cmd_locked() already handled it. Only need second patch. You can discard this patch. Do you need me send 2nd patch only? Or you can just pick 2nd one? > > > + > > return ret; > > } > > > > > Thanks, > Miquèl
Hi Frank, Frank.li@nxp.com wrote on Wed, 30 Aug 2023 12:32:28 -0400: > On Wed, Aug 30, 2023 at 05:53:55PM +0200, Miquel Raynal wrote: > > Hi Frank, > > > > Frank.Li@nxp.com wrote on Wed, 30 Aug 2023 10:17:26 -0400: > > > > > In i3c_master_bus_init() > > > { ... > > > ret = i3c_master_rstdaa_locked(master, I3C_BROADCAST_ADDR); > > > if (ret && ret != I3C_ERROR_M2) > > > ^^^ // it is enum i3c_error_code > > > ... > > > } > > > > > > In dw-i3c-master.c implementation: > > > dw_i3c_ccc_set() > > > { ... > > > ret = xfer->ret; > > > if (xfer->cmds[0].error == RESPONSE_ERROR_IBA_NACK) > > > ccc->err = I3C_ERROR_M2; > > > > > > dw_i3c_master_free_xfer(xfer); > > > > > > return ret; > > > } > > > > > > Return enum i3c_error_code when error happen in i3c_master_rstdaa_locked(). > > > > I am sorry but the commit log needs to be worked on. > > > > > > > > Cc: stable@vger.kernel.org > > > Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure") > > > Signed-off-by: Frank Li <Frank.Li@nxp.com> > > > --- > > > > > > Notes: > > > Change from v1 to v2: > > > - cc stable > > > > > > drivers/i3c/master.c | 3 +++ > > > 1 file changed, 3 insertions(+) > > > > > > diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c > > > index 08aeb69a78003..00a82f3ab9ac0 100644 > > > --- a/drivers/i3c/master.c > > > +++ b/drivers/i3c/master.c > > > @@ -783,6 +783,9 @@ static int i3c_master_rstdaa_locked(struct i3c_master_controller *master, > > > ret = i3c_master_send_ccc_cmd_locked(master, &cmd); > > > i3c_ccc_cmd_dest_cleanup(&dest); > > > > > > + if (ret) > > > + ret = cmd.err; > > > > Shouldn't this happen in i3c_master_send_ccc_cmd_locked()? > > Sorry, This patch is not necesary at all. > i3c_master_send_ccc_cmd_locked() already handled it. > Only need second patch. You can discard this patch. > > Do you need me send 2nd patch only? Or you can just pick 2nd one? It is quite unclear what you are finally trying to do. Please send a proper v3, with a changelog. > > > > > > + > > > return ret; > > > } > > > > > > > > > Thanks, > > Miquèl Thanks, Miquèl
diff --git a/drivers/i3c/master.c b/drivers/i3c/master.c index 08aeb69a78003..00a82f3ab9ac0 100644 --- a/drivers/i3c/master.c +++ b/drivers/i3c/master.c @@ -783,6 +783,9 @@ static int i3c_master_rstdaa_locked(struct i3c_master_controller *master, ret = i3c_master_send_ccc_cmd_locked(master, &cmd); i3c_ccc_cmd_dest_cleanup(&dest); + if (ret) + ret = cmd.err; + return ret; }
In i3c_master_bus_init() { ... ret = i3c_master_rstdaa_locked(master, I3C_BROADCAST_ADDR); if (ret && ret != I3C_ERROR_M2) ^^^ // it is enum i3c_error_code ... } In dw-i3c-master.c implementation: dw_i3c_ccc_set() { ... ret = xfer->ret; if (xfer->cmds[0].error == RESPONSE_ERROR_IBA_NACK) ccc->err = I3C_ERROR_M2; dw_i3c_master_free_xfer(xfer); return ret; } Return enum i3c_error_code when error happen in i3c_master_rstdaa_locked(). Cc: stable@vger.kernel.org Fixes: 3a379bbcea0a ("i3c: Add core I3C infrastructure") Signed-off-by: Frank Li <Frank.Li@nxp.com> --- Notes: Change from v1 to v2: - cc stable drivers/i3c/master.c | 3 +++ 1 file changed, 3 insertions(+)