[PATCH] mpx5200_uart: drop port lock across tty_flip_buffer() call

Thomas Gleixner tglx at linutronix.de
Thu Jul 26 05:47:18 EST 2007


On Wed, 2007-07-25 at 13:42 -0600, Grant Likely wrote:
> On 7/25/07, Thomas Gleixner <tglx at linutronix.de> wrote:
> > The port lock needs to be dropped across the tty_flip_buffer call, as it
> > would lead to a deadlock with the spin_lock(&port->lock) in uart_start()
> >
> > Uncovered by lockdep / preempt-rt
> >
> > Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> 
> Instead of dropping the lock and reclaiming it, would it be better for
> me to rework the driver to only grab the lock in the 'meat' of
> mpc52xx_uart_int_rx_chars() and mpc52xx_uart_int_tx_chars()?   (As
> opposed to holding the lock for the entirety of mpc52xx_uart_int())

No, it's not worth the trouble. You need to protect the hardware access.

> What convention is used in other drivers?

The same.

	tglx




More information about the Linuxppc-embedded mailing list