public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* new locking in change_termios breaks USB serial drivers
@ 2004-10-01 10:40 Al Borchers
  2004-10-01 11:36 ` Alan Cox
  0 siblings, 1 reply; 9+ messages in thread
From: Al Borchers @ 2004-10-01 10:40 UTC (permalink / raw)
  To: linux-usb-devel; +Cc: linux-kernel

2.6.9-rc3 changes the locking in the tty_ioctl.c function
change_termios().  It gets a spin_lock_irqsave(&tty_termios_lock,...)
before calling the tty driver's set_termios function.

This means that the drivers' set_termios functions cannot sleep.

Unfortunately, many USB serial drivers' set_termios functions
send an urb to change the termios settings and sleep waiting for
it to complete.

I just looked quickly, but it seems belkin_sa.c, digi_acceleport.c,
ftdi_sio.c, io_ti.c, kl5usb105.c, mct_u232.c, pl2303.c, and whiteheat.c
all sleep in their set_termios functions.

If this locking in change_termios() stays, we are going to have to
fix set_termios in all of these drivers.  I am updating io_ti.c right
now.

-- Al


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

end of thread, other threads:[~2004-10-02 17:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-01 10:40 new locking in change_termios breaks USB serial drivers Al Borchers
2004-10-01 11:36 ` Alan Cox
2004-10-01 16:24   ` Al Borchers
2004-10-01 15:49     ` Alan Cox
2004-10-01 18:14       ` [linux-usb-devel] " Al Borchers
2004-10-02 15:08         ` Alan Cox
2004-10-02 17:19           ` Al Borchers
2004-10-01 20:15     ` Stuart MacDonald
2004-10-01 17:42   ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox