I was never able to use two serial ports for I/O on Linux that shared the same IRQ, although the serial driver has "IRQ sharing" enabled.
Some BIOS simply don't have enough IRQs to give to each port, and devices don't work (for more than simple output only communication) if the IRQ is shared. As an example, I now have a board with 8 serial ports (4 internal) and the BIOS only allows to assign 4 IRQs (and I need all ports).
It mostly works if one of the ports sharing the IRQ is not in use, but as soon as that port is put to use, both start behaving badly.
What could I be doing wrong? Is it even possible?