Hello,
By looking at tty_io.c:_tty_make_name(), it seems that the TTY
subsystem in the Linux 2.4.x kernel series expects driver.name to be
in the form "ttyX%d", even if you're not using devfs. I say that
because as of now the definition in serial.c for this variable is:
#if defined(CONFIG_DEVFS_FS)
serial_driver.name = "tts/%d";
#else
serial_driver.name = "ttyS";
#endif
, when it seems it should be:
#if defined(CONFIG_DEVFS_FS)
serial_driver.name = "tts/%d";
#else
serial_driver.name = "ttyS%d";
#endif
to work properly with the _tty_make_name() function (otherwise, in
case you're not using devfs, it'll just print "ttyS" without any
reference to the port number the msg is referring to).
This was spotted by a Cyclades customer who was getting overrun msgs
as:
ttyC: 1 input overrun(s)
After he changed the driver.name to be "ttyC%d", he started to get
properly formatted msgs, such as:
ttyC39: 1 input overrun(s)
This problem would happen on any msg that used the function
tty_name() to get the TTY name, and after the change the problem
disappeared completely.
After checking the kernel code, I believe that he's found a bug that
should be fixed in all drivers that define driver.name.
Please advise so that we may change the Cyclades driver to behave
properly.
Regards,
-- Ivan Passos -o) Integration Manager, Cyclades - http://www.cyclades.com /\\ Project Leader, NetLinOS - http://www.netlinos.org _\_V -------------------------------------------------------------------- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/