> -----Original Message----- > From: Lucas Stach [mailto:l.stach@xxxxxxxxxxxxxx] > Sent: Tuesday, July 24, 2018 1:20 AM > To: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>; Shawn Guo > <shawnguo@xxxxxxxxxx>; Fabio Estevam <fabio.estevam@xxxxxxx>; Rob > Herring <robh+dt@xxxxxxxxxx>; Mark Rutland <mark.rutland@xxxxxxx>; A.s. > Dong <aisheng.dong@xxxxxxx>; Vladimir Zapolskiy > <vladimir_zapolskiy@xxxxxxxxxx> > Cc: dl-linux-imx <linux-imx@xxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; > kernel@xxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v6 5/5] mailbox: Add support for i.MX7D messaging unit > [...] > > +} > > + > > +static int imx_mu_send_data(struct mbox_chan *chan, void *data) { > > > + struct imx_mu_priv *priv = to_imx_mu_priv(chan->mbox); > > > + struct imx_mu_con_priv *cp = chan->con_priv; > > > + u32 *arg = data; > > + > > > + if (!imx_mu_last_tx_done(chan)) > > > + return -EBUSY; > > + > > > + imx_mu_write(priv, *arg, IMX_MU_xTRn(cp->idx)); > > + imx_mu_rmw(priv, IMX_MU_xCR, IMX_MU_xSR_TEn(cp->idx), 0); > > In multi-channel mode this RMW cycle needs some kind of locking. As this > register is also changed from the irq handler, this probably needs to be a > irqsave spinlock. > Good catch! They do need to be protected. Regards Dong Aisheng ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f