Found the crash on /dev/ttyS*. :)
In file drivers/char/cocd.c "cocd->open_count" was not save.
cocd_unit_task() exists the loop and free the struct cocd, before
cocd_open() complete fills the struct and incrase open_cont. The
interrupt handler access to free memory...
Now can use ttyS*. But have next problem: The console (fltk or nt)
hangs, if a serial device is open. Console gets keyboard interrupts,
but no screen outputs. After close serial devivce (ttyS0), then console
is full working again.
Branch: org.colinux.devel
Date: 2005-08-29T11:13:53
serial-daemon.patch:
* Bug: coserial-daemon should use SERIAL0 (instand of CONET0)
* Warn, if param for instance missing.
* This is just a quick hack to make coserial daemon to work.
Now is possible to login to colinux as /dev/ttyS0.
(idea from Nuno Lucas 20040822)
serial-kernel.patch:
* Bug: Crash at open /dev/ttyS*.
cocd_unit_task() must wait for open complete before enter the loop.
linux-2.6.11/drivers/char/cocd.c:
Complete file, including changes from serial-kernel.patch
It's more readable as the patch.
This file can also use in branch stable.
--
Henry Nestler