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

From: Kurt Van Dijck
Date: Tue Mar 02 2021 - 17:37:52 EST


On Sun, 28 Feb 2021 11:38:52 +0100, 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).
>
> 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);

Right. I had a similar effort last year to increase the reception
throughput, but I ended with some sporadic strange tx echo problems.
This fix may have fixed my problem as wel.

> can_get_echo_skb(dev, idx, NULL);
> bytes += priv->dlc[idx];
> pkts++;
> --
> 2.17.1
>