Thread (6 messages) 6 messages, 3 authors, 2018-02-08

Re: [PATCH v2 1/2] net, can, ifi: fix "write buffer full" error

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: 2018-02-08 14:47:12
Also in: linux-can, lkml

On 02/08/2018 07:47 AM, Heiko Schocher wrote:
the driver reads in the ISR first the IRQpending register,
and clears after that in a write *all* bits in it.

It could happen that the isr register raise bits between
this 2 register accesses, which leads in lost bits ...

In case it clears "TX message sent successfully", the driver
never sends any Tx data, and buffers to userspace run over.

Fixed this:
clear only the bits in the IRQpending register, the
driver had read.

Signed-off-by: Heiko Schocher <redacted>
Reviewed-by: Marek Vasut <marex@denx.de>
Applied both to linux-can.

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   |

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help