John Ogness <john.ogness@xxxxxxxxxxxxx> writes: > In your imx_uart_console_write_atomic() I see lots of register usage: > > ucr1, ucr2, ucr3, usr2, uts > > It is critical that _all_ usage of these registers throughout the driver > is protected, preferably protected by the port lock. Please go through > and verify that. If imx_uart_console_write_thread() is using even more > registers, you will need to check those as well. The _write_thread() uses only the same registers. > For the 8250 I went through all uses and found several problems [0]. The > imx driver may have similar issues. I have now gone through all usage of above mentioned registers in the driver. I found a single missing lock/unlock, but other than that the driver seems to be in good shape in this regards. In the _probe() function, the following registers are accessed unprotected: ucr1, ucr2, ucr3, uts. But I assume this should be safe, as the uart port is not registred yet, and interrupt handlers have not been registered. I will send out a v3 short, hoping we can get this in a shape where we can get it merged shortly after the 8250 driver nbcon patches. /Esben