tty: usb-serial krefs - bad magic number for tty struct (188:0)

From: Sergio Luis
Date: Sat Oct 18 2008 - 12:16:01 EST


Hello,

commit 4a90f09b20f4622dcbff1f0e1e6bae1704f8ad8c

tty: usb-serial krefs

Use kref in the USB serial drivers so that we don't free tty structures
from under the URB receive handlers as has historically been the case if
you were unlucky. This also gives us a framework for general tty drivers to
use tty_port objects and refcount.

Contains two err->dev_err changes merged together to fix clashes in the
-next tree.

Signed-off-by: Alan Cox <alan@xxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

----

causes problems with my usb hsdpa modem. when I try to connect pppd
dies and I get these messages on dmesg:

[...]
usb-storage: device scan complete
PPP generic driver version 2.4.2
bad magic number for tty struct (188:0) in tty_ioctl
bad magic number for tty struct (188:0) in tty_ioctl
bad magic number for tty struct (188:0) in tty_release_dev
bad magic number for tty struct (188:0) in tty_poll
bad magic number for tty struct (188:0) in tty_poll
bad magic number for tty struct (188:0) in tty_write
bad magic number for tty struct (188:0) in tty_ioctl
bad magic number for tty struct (188:0) in tty_ioctl
bad magic number for tty struct (188:0) in tty_ioctl
bad magic number for tty struct (188:0) in tty_release_dev

---

drivers/usb/serial/ChangeLog.history has this:

(03/26/2002) gkh
removed the port->tty check from port_paranoia_check() due to serial
consoles not having a tty device assigned to them.

and this seems to be the problem here.
something in this commit seems to make it reach the tty_paranoia_check
in tty_ioctl() from drivers/char/tty_io.c, but I could be completely
wrong.

Sergio.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/