linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATH RESEND v2 00/10] tty: xuartps: Fix lock ups
@ 2015-11-19 20:02 Soren Brinkmann
  2015-11-19 20:02 ` [PATH RESEND v2 01/10] tty: xuartps: Beautify read-modify writes Soren Brinkmann
                   ` (9 more replies)
  0 siblings, 10 replies; 22+ messages in thread
From: Soren Brinkmann @ 2015-11-19 20:02 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Jiri Slaby
  Cc: Michal Simek, linux-serial, linux-arm-kernel, linux-kernel,
	Soren Brinkmann

Hi,

I guess this series got probably lost during the merge window. Hence, I
resend the patches.

This is v2, hopefully without any build issues. The changes are the same
as before, just the warning reported by kbuild test robot about unused
variables have been fixed. And, I added one more patch with some
cleanup/refactoring.

I recently found my system locking up under some conditions. I dug
through the code a bit and the result is this collections of various
changes. Some of it may not be required and has just been created out of
half-baked theories and re-reading the documentation. The actual failing
scenarios seem to be:
 - RX IRQ conditions are handled while the receiver is disabled, leaving
   the driver in an infinite loop
 - console_put_char seems to be interrupted by uart_shutdown disabling
   the transmitter while/just before printing

I.e. overall I tried to serialize all operations using the port lock to
avoid such interaction.

	Thanks,
	Sören

Sören Brinkmann (10):
  tty: xuartps: Beautify read-modify writes
  tty: xuartps: Use spinlock to serialize HW access
  tty: xuartps: Always enable transmitter in start_tx
  tty: xuartps: Clear interrupt status register in shutdown
  tty: xuartps: Improve startup function
  tty: xuartps: Keep lock for whole ISR
  tty: xuartps: Acquire port lock for shutdown
  tty: xuartps: Move RX path into helper function
  tty: xuartps: Only handle RX IRQs when RX is enabled
  tty: xuartps: Cleanup: Reformat if-else

 drivers/tty/serial/xilinx_uartps.c | 247 ++++++++++++++++++++-----------------
 1 file changed, 136 insertions(+), 111 deletions(-)

-- 
2.6.3.3.g9bb996a


^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2015-11-24  7:41 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-19 20:02 [PATH RESEND v2 00/10] tty: xuartps: Fix lock ups Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 01/10] tty: xuartps: Beautify read-modify writes Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 02/10] tty: xuartps: Use spinlock to serialize HW access Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 03/10] tty: xuartps: Always enable transmitter in start_tx Soren Brinkmann
2015-11-20 12:13   ` Peter Hurley
2015-11-20 15:28     ` Sören Brinkmann
2015-11-20 16:30       ` Peter Hurley
2015-11-20 16:58         ` Sören Brinkmann
2015-11-20 17:16           ` Peter Hurley
2015-11-20 17:29             ` Sören Brinkmann
2015-11-23  7:05             ` Michal Simek
2015-11-23 20:00               ` Peter Hurley
2015-11-24  7:26                 ` Michal Simek
2015-11-20 17:05     ` Sören Brinkmann
2015-11-20 17:12       ` Peter Hurley
2015-11-19 20:02 ` [PATH RESEND v2 04/10] tty: xuartps: Clear interrupt status register in shutdown Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 05/10] tty: xuartps: Improve startup function Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 06/10] tty: xuartps: Keep lock for whole ISR Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 07/10] tty: xuartps: Acquire port lock for shutdown Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 08/10] tty: xuartps: Move RX path into helper function Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 09/10] tty: xuartps: Only handle RX IRQs when RX is enabled Soren Brinkmann
2015-11-19 20:02 ` [PATH RESEND v2 10/10] tty: xuartps: Cleanup: Reformat if-else Soren Brinkmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).