Re: [PATCH v2 3/6] can: c_can: fix control interface used by c_can_do_tx

From: Dario Binacchi
Date: Sun Feb 28 2021 - 05:38:09 EST


Hi Marc,

> Il 26/02/2021 09:44 Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> ha scritto:
>
>
> On 25.02.2021 22:51:52, Dario Binacchi wrote:
> > According to commit 640916db2bf7 ("can: c_can: Make it SMP safe") let RX use
> > IF1 (i.e. IF_RX) and TX use IF2 (i.e. IF_TX).
>
> Is this a fix?
>

I think that If I consider what is described in the 640916db2bf7 commit, using
the IF_RX interface in a tx routine is wrong.

Thanks and regards
Dario

> Marc
>
> >
> > Signed-off-by: Dario Binacchi <dariobin@xxxxxxxxx>
> > ---
> >
> > (no changes since v1)
> >
> > drivers/net/can/c_can/c_can.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/can/c_can/c_can.c b/drivers/net/can/c_can/c_can.c
> > index dbcc1c1c92d6..69526c3a671c 100644
> > --- a/drivers/net/can/c_can/c_can.c
> > +++ b/drivers/net/can/c_can/c_can.c
> > @@ -732,7 +732,7 @@ static void c_can_do_tx(struct net_device *dev)
> > idx--;
> > pend &= ~(1 << idx);
> > obj = idx + C_CAN_MSG_OBJ_TX_FIRST;
> > - c_can_inval_tx_object(dev, IF_RX, obj);
> > + c_can_inval_tx_object(dev, IF_TX, obj);
> > can_get_echo_skb(dev, idx, NULL);
> > bytes += priv->dlc[idx];
> > pkts++;
> > --
> > 2.17.1
> >
> >
>
> --
> Pengutronix e.K. | Marc Kleine-Budde |
> Embedded Linux | https://www.pengutronix.de |
> Vertretung West/Dortmund | Phone: +49-231-2826-924 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |