startup() in the 2.4.14 dz.c appears to either not terminate or to
bring down the kernel on a DecStation 5000/200. The 2.4.5 dz.c when
put it in its place appears to work properly, modulo some strangeness
in terminal emulation at runtime.
Unfortunately, attempts to isolate what difference creates the problem
failed to reveal the true cause of this. The kernel appears to die
immediately after restore_flags(). This appears unusual to me as the
changes are largely cosmetic.
I also tried extending the extent of the code over which interrupts
are disabled, to no avail. After extending it to what apparently was
the entire extent of the driver's ->open code the kernel died somewhere
between enabling interrupts again and the printk immediately after
the return to tty_open(). It did not appear that the driver was
re-entered at this point, as printk's for the other entry points
failed to trigger.
I am interested in suggestions as to what code changes I should make
in order to bring this driver into a more robust state so that I myself
can repair the code for use on one of my own personal machines.