I traced the bug in the speakup_ltlk module to a line in serialio.c in the spk_serial_init function. There is a line that calls __release_region and that is generating an error message in the system log, "Trying to free non-existent resource". Below are lines from my system log. I cut the date & hostname out of the lines so they'd be easier to listen to. kernel: [ 2868.171658] speakup_ltlk: module is from the staging directory, the quality is unknown, you have been warned. kernel: [ 2868.171766] synth probe kernel: [ 2868.171771] Ports not available, trying to steal them kernel: [ 2868.171774] Trying to free nonexistent resource <00000000000003f8-00000000000003ff> kernel: [ 2868.171777] Unable to allocate port at 3f8, errno -16 kernel: [ 2868.171778] LiteTalk: not found kernel: [ 2868.171779] ltlk: device probe failed That s__release_region function appears to be a linux kernel function so I doubt the bug is there. It must be getting passed bad parameters. But 3f8 is the correct address of ttyS0. So I'm not sure what's wrong.