Here is a patch that applies to drivers/char/serial.c in kernel 2.4.17,
that automatically detects the clock frequency in a 16C950 chip and sets
baud_base accordingly.
There are two caveats:
1. The patch has been tested on i386 machines and it works. It gives wrong
results on ARM.
2. The patch sets baud_base if the serial chip is on a 16-bit PC card. If
it is on a PCI card (PCI slot or 32-bit CardBus card) the baud_base is
overwritten by the value in serial_pci_tbl[].
Fabrizio Gennari
Philips Research Monza
via G.Casati 23, 20052 Monza (MI), Italy
tel. +39 039 2037816, fax +39 039 2037800