Messages in this thread | | | Date | Fri, 20 Oct 2023 15:56:03 +0200 | From | Miquel Raynal <> | Subject | Re: [PATCH v3 2/6] i3c: master: svc: fix wrong data return when IBI happen during start frame |
| |
Hi Frank,
Frank.Li@nxp.com wrote on Thu, 19 Oct 2023 18:27:21 -0400:
> ┌─────┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┏──┐ ┌───── > SCL: ┘ └─────┛ └──┛ └──┛ └──┛ └──┛ └──┛ └──┛ └──┛ └──┘ > ───┐ ┌─────┐ ┌─────┐ ┌───────────┐ > SDA: └───────────────────────┘ └─────┘ └─────┘ └───── > xxx╱ ╲╱ ╲╱ ╲╱ ╲╱ ╲ > : xxx╲IBI ╱╲ Addr(0x0a) ╱╲ RW ╱╲NACK╱╲ S ╱ > > If an In-Band Interrupt (IBI) occurs and IBI work thread is not immediately > scheduled, When svc_i3c_master_priv_xfers() initiates the I3C transfer and
nit: when
> attempts to send address 0x7e, the target interprets it as an > IBI handler and returns the target address 0x0a. > > However, svc_i3c_master_priv_xfers() does not handle this case and proceeds > with other transfers, resulting in incorrect data being returned. > > Add IBIWON check in svc_i3c_master_xfer(). In case this situation occurs, > return a failure to the driver. > > Fixes: dd3c52846d59 ("i3c: master: svc: Add Silvaco I3C master driver") > Cc: stable@vger.kernel.org > Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> > Signed-off-by: Frank Li <Frank.Li@nxp.com> > ---
Thanks, Miquèl
| |