status of serialio bug

Albert Sten-Clanton albert.e.sten_clanton at verizon.net
Tue Feb 28 12:21:38 EST 2012


John, sounds like you're doing a great job.  Wish I knew that stuff!

Al 

-----Original Message-----
From: speakup-bounces at braille.uwo.ca [mailto:speakup-bounces at braille.uwo.ca]
On Behalf Of John Heim
Sent: Tuesday, February 28, 2012 10:01 AM
To: Speakup is a screen review system for Linux.
Subject: status of serialio bug

I've been looking into the speakup bug that causes  you to get an error
message when loading some speakup modules for serial hardware synths. What
I've found is that the speakup code calls a function named request_resource.

That function is apparently part of the standard linux kernel code. The
source code module says its copyright Linux Torbalds. In case you're not
aware of it, Linus Torvalds is the guy who created linux.

Anyway, the request_resource function does nothing other than to add an item
to a linked list unless the item would overlap an item already in the list. 
I take this to mean that the linked list is nothing more than a list of
reserved resources and you're supposed to check the list before you use a
resource. But it doesn't actually prevent you from using the resource.

The problem is that the serial port space is definately already reserved
when speakup asks for it even if you have nothing using the serial port. I
added code to the speakup module to dump the linked list and it shows that
the entire range from 0x000 through 0xcf7 is taken by something named "PCI
Bus 0000:00". The serial port's address is 0x3f8 so that definately falls in
that range. Therefore, it will always fail when speakup calls
request_resource to reserve the serial port.

The only other possibility is that speakup is checking the wrong linked
list. It's checking a list named ioport_resource  which certainly sounds
like the right list.  And why would something called the PCI Bus have the
serial port address space reserved? That makes no sense to me either.

So my plan is to subscribe to the kernel coders email list and ask for
information on that function call.

_______________________________________________
Speakup mailing list
Speakup at braille.uwo.ca
http://speech.braille.uwo.ca/mailman/listinfo/speakup




More information about the Speakup mailing list