status of serialio bug

Robert cole rkcole72984 at gmail.com
Tue Feb 28 14:06:35 EST 2012


I second Al's sentiments.

Although my programming experience is quite limited right now, I have 
been trying to look at source code for different programs which I use, 
and I am trying to learn. Maybe one day I can make contributions and hut 
down things which are causing issues as well. That is one goal of mine. 
Although I do not use, nor have I ever used a hardware synthesizer, I 
know that this could be very helpful to others who do.

Thanks for the time you're taking to track this down, John.

On 02/28/2012 09:21 AM, Albert Sten-Clanton wrote:
> 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
>
> _______________________________________________
> Speakup mailing list
> Speakup at braille.uwo.ca
> http://speech.braille.uwo.ca/mailman/listinfo/speakup




More information about the Speakup mailing list