On 18.02.20 08:17, gregkh@linuxfoundation.org wrote:
On Tue, Feb 18, 2020 at 08:03:10AM +0100, Uwe Kleine-König wrote:
On Tue, Feb 18, 2020 at 05:50:08AM +0100, gregkh@linuxfoundation.org wrote:
On Mon, Feb 17, 2020 at 02:08:00PM +0000, Schrempf Frieder wrote:
From: Frieder Schrempf frieder.schrempf@kontron.de
A customer of ours has problems with RS485 on i.MX6UL with the latest v4.14 kernel. They get an exception like below from time to time (the trace is from an older kernel, but the problem also exists in v4.14.170).
As the cpuidle state 2 causes large delays for the interrupt that controls the RS485 RTS signal (which can lead to collisions on the bus), cpuidle state 2 was disabled on this system. This aspect might cause the exception happening more often on this system than on other systems with default cpuidle settings.
Looking for solutions I found Uwe's patches that were applied in v4.17 being mentioned here [1] and here [2]. In [1] Uwe notes that backporting these fixes to v4.14 might not be trivial, but I tried and in my opinion found it not to be too problematic either.
With the backported patches applied, our customer reports that the exceptions stopped occuring. Given this and the fact that the problem seems to be known and quite common, it would be nice to get this into the v4.14 stable tree.
Thanks for the backports, both now queued up.
To complete these fixes you also want to backport
101aa46bd221 serial: imx: fix a race condition in receive path
If so, it needs to also go to 4.19.y, and someone needs to provide a working backport for both places :)
I can try to come up with something. But I don't have a system that is affected by this (only single core) to test.
Best regards, Frieder