Re: [patch 03/12] can: c_can: Make it SMP safe

From: Marc Kleine-Budde
Date: Tue Mar 18 2014 - 14:46:55 EST


On 03/18/2014 06:19 PM, Thomas Gleixner wrote:
> The hardware has two message control interfaces, but the code only
> uses the first one. So on SMP the following can be observed:
>
> CPU0 CPU1
> rx_poll()
> write IF1 xmit()
> write IF1
> write IF1
>
> That results in corrupted message object configurations. The TX/RX is
> not globally serialized it's only serialized on a core.
>
> Simple solution: Let RX use IF1 and TX use IF2 and all is good.

Do both c_can and d_can have two control interfaces?

> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

Otherwise, looks good.

Tnx,
Marc

--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |

Attachment: signature.asc
Description: OpenPGP digital signature