From LedHed's Wiki
Lirc_Serial
Many times when using the lirc_serial module, you have to use setserial to change the com port settings. Most kernels are compiled with serial support, which causes the lirc_serial module to fail when loading. This is because the kernel is using the Com ports IRQ and I/O.
To fix this run this command.
setserial /dev/ttyS0 uart none;
Note: on Ubuntu (and possibly other distros) you have to install the "setserial" package before running the above command.
You can add this line to your modprobe.conf or modprobe.d to prep the serial ports before the lirc_serial module loads.
# Lirc options lirc_serial irq=4 io=0x3f8 install lirc_serial /bin/setserial /dev/ttyS0 uart none ; /sbin/modprobe --ignore-install lirc_serial