[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.02.1403182037580.18573@ionos.tec.linutronix.de>
Date: Tue, 18 Mar 2014 20:40:10 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Marc Kleine-Budde <mkl@...gutronix.de>
cc: LKML <linux-kernel@...r.kernel.org>,
Wolfgang Grandegger <wg@...ndegger.com>,
Markus Pargmann <mpa@...gutronix.de>,
Benedikt Spranger <b.spranger@...utronix.de>,
linux-can@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [patch 03/12] can: c_can: Make it SMP safe
On Tue, 18 Mar 2014, Marc Kleine-Budde wrote:
> 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?
According to the manual it has.
Thanks,
tglx
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists