linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/25] tty: serial: drop uart_port->lock before calling
@ 2013-08-16 11:43 Viresh Kumar
  2013-08-16 11:43 ` [PATCH 01/25] tty: serial: altera_jtag: drop uart_port->lock before calling tty_flip_buffer_push() Viresh Kumar
                   ` (26 more replies)
  0 siblings, 27 replies; 33+ messages in thread
From: Viresh Kumar @ 2013-08-16 11:43 UTC (permalink / raw)
  To: gregkh, jslaby
  Cc: linaro-kernel, patches, linux-serial, Viresh Kumar,
	Bryan Huntsman, Daniel Walker, David Brown, Stephen Warren,
	Tobias Klauser, Tony Prisk

The -rt patch triggers a lockdep warning for serial drivers if
tty_flip_buffer_push() is called with uart_port->lock locked. This never shows
up on UP kernels.

Release the port lock before calling tty_flip_buffer_push() and reacquire it
after the call.

Similar stuff was already done for few other drivers in the past, like:

commit 2389b272168ceec056ca1d8a870a97fa9c26e11a
Author: Thomas Gleixner <tglx@linutronix.de>
Date:   Tue May 29 21:53:50 2007 +0100

    [ARM] 4417/1: Serial: Fix AMBA drivers locking

This is neither tested nor compiled. I was working on Samsung's Arndale board
and so was required to samsung serial driver. Then thought why not others :)

Rebased over: v3.11-rc5

Cc: Bryan Huntsman <bryanh@codeaurora.org>
Cc: Daniel Walker <dwalker@fifo99.com>
Cc: David Brown <davidb@codeaurora.org>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Tobias Klauser <tklauser@distanz.ch>
Cc: Tony Prisk <linux@prisktech.co.nz>

Viresh Kumar (25):
  tty: serial: altera_jtag: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: altera: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: apbuart: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: ar933x: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: arc: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: bcm63xx: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: bfin_sport: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: efm32: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: icom: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: lpc32xx_hs: don't call tty_flip_buffer_push() twice
  tty: serial: lpc32xx_hs: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: m32r_sio: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: mcf: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: mfd: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: mpsc: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: msm: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: netx: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: nwpserial: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: pnx8xxx: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: rp2: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: sa1100: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: samsung: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: tegra: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: sirfsoc: drop uart_port->lock before calling
    tty_flip_buffer_push()
  tty: serial: vt8500: drop uart_port->lock before calling
    tty_flip_buffer_push()

 drivers/tty/serial/altera_jtaguart.c |  2 ++
 drivers/tty/serial/altera_uart.c     |  2 ++
 drivers/tty/serial/apbuart.c         |  2 ++
 drivers/tty/serial/ar933x_uart.c     |  2 ++
 drivers/tty/serial/arc_uart.c        |  2 ++
 drivers/tty/serial/bcm63xx_uart.c    |  2 ++
 drivers/tty/serial/bfin_sport_uart.c |  5 +++--
 drivers/tty/serial/efm32-uart.c      |  4 ++--
 drivers/tty/serial/icom.c            |  3 +++
 drivers/tty/serial/lpc32xx_hs.c      |  7 ++++---
 drivers/tty/serial/m32r_sio.c        |  3 +++
 drivers/tty/serial/mcf.c             |  2 ++
 drivers/tty/serial/mfd.c             | 14 ++++++++++----
 drivers/tty/serial/mpsc.c            | 11 ++++++++---
 drivers/tty/serial/msm_serial.c      |  5 +++++
 drivers/tty/serial/netx-serial.c     |  6 ++++--
 drivers/tty/serial/nwpserial.c       |  3 +++
 drivers/tty/serial/pnx8xxx_uart.c    |  3 +++
 drivers/tty/serial/rp2.c             |  2 ++
 drivers/tty/serial/sa1100.c          |  3 +++
 drivers/tty/serial/samsung.c         |  5 ++++-
 drivers/tty/serial/serial-tegra.c    | 10 ++++++++--
 drivers/tty/serial/sirfsoc_uart.c    |  3 +++
 drivers/tty/serial/vt8500_serial.c   |  2 ++
 24 files changed, 84 insertions(+), 19 deletions(-)

-- 
1.7.12.rc2.18.g61b472e


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

end of thread, other threads:[~2013-08-19 14:37 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-16 11:43 [PATCH 00/25] tty: serial: drop uart_port->lock before calling Viresh Kumar
2013-08-16 11:43 ` [PATCH 01/25] tty: serial: altera_jtag: drop uart_port->lock before calling tty_flip_buffer_push() Viresh Kumar
2013-08-16 11:43 ` [PATCH 02/25] tty: serial: altera: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 03/25] tty: serial: apbuart: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 04/25] tty: serial: ar933x: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 05/25] tty: serial: arc: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 06/25] tty: serial: bcm63xx: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 07/25] tty: serial: bfin_sport: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 08/25] tty: serial: efm32: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 09/25] tty: serial: icom: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 10/25] tty: serial: lpc32xx_hs: don't call tty_flip_buffer_push() twice Viresh Kumar
2013-08-16 11:43 ` [PATCH 11/25] tty: serial: lpc32xx_hs: drop uart_port->lock before calling tty_flip_buffer_push() Viresh Kumar
2013-08-16 11:43 ` [PATCH 12/25] tty: serial: m32r_sio: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 13/25] tty: serial: mcf: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 14/25] tty: serial: mfd: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 15/25] tty: serial: mpsc: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 16/25] tty: serial: msm: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 17/25] tty: serial: netx: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 18/25] tty: serial: nwpserial: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 19/25] tty: serial: pnx8xxx: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 20/25] tty: serial: rp2: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 21/25] tty: serial: sa1100: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 22/25] tty: serial: samsung: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 23/25] tty: serial: tegra: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 24/25] tty: serial: sirfsoc: " Viresh Kumar
2013-08-16 11:43 ` [PATCH 25/25] tty: serial: vt8500: " Viresh Kumar
2013-08-16 12:06 ` [PATCH 00/25] tty: serial: drop uart_port->lock before calling Peter Hurley
2013-08-16 16:59   ` Viresh Kumar
2013-08-16 12:27 ` Greg KH
2013-08-16 17:44   ` Viresh Kumar
2013-08-19 10:43     ` Viresh Kumar
2013-08-19 13:15       ` Peter Hurley
2013-08-19 14:37         ` Viresh Kumar

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).