[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100518.140319.257494929.davem@davemloft.net>
Date: Tue, 18 May 2010 14:03:19 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: socketcan@...tkopp.net
Cc: wg@...ndegger.com, netdev@...r.kernel.org,
socketcan-core@...ts.berlios.de
Subject: Re: [PATCH v3] Fix SJA1000 command register writes on SMP systems
From: Oliver Hartkopp <socketcan@...tkopp.net>
Date: Tue, 18 May 2010 21:05:54 +0200
> The SJA1000 command register is concurrently written in the rx-path to free
> the receive buffer _and_ in the tx-path to start the transmission.
>
> The SJA1000 data sheet, 6.4.4 COMMAND REGISTER (CMR) states:
> "Between two commands at least one internal clock cycle is needed in
> order to proceed. The internal clock is half of the external oscillator
> frequency."
>
> On SMP systems the current implementation leads to a write stall in the
> tx-path, which can be solved by adding some general locking and some time
> to settle the write_reg() operation for the command register.
>
> Thanks to Klaus Hitschler for the original fix and detailed problem
> description.
>
> This patch applies on net-2.6 and (with some offsets) on net-next-2.6 .
>
> Signed-off-by: Oliver Hartkopp <socketcan@...tkopp.net>
> Acked-by: Wolfgang Grandegger <wg@...ndegger.com>
Applied, thanks.
--
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