Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 121055

Summary: gentoo-sources ADI joystick patch request
Product: Gentoo Linux Reporter: Mike McQuaid <mike>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: VERIFIED UPSTREAM    
Severity: major    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: ADI joystick timing problem fix

Description Mike McQuaid 2006-01-31 07:30:48 UTC
I, and a lot of other people, seem to have had many problems with the adi logitech joystick module not correctly detecting the joystick. A little bit of debugging and after contacting the dev, I recieved the following email:

It's most likely the timing in adi_init_digital(). Try removing the line

        udelay(-seq[i]*14);     /* It looks like mdelay() is off by approx 1.4% */

it's quite likely it'll start working.
-- 
Vojtech Pavlik
SuSE Labs, SuSE CR

This problem seems to fix the recurring bug that I've had for about a year with this joystick, and as this line seems to be a hack, and not needed for this distro anyway, may I suggest it is removed.

This bug has been found on my Logitech Digital 3D, connected by the gameport, and over multiple gentoo-sources versions
Comment 1 Mike McQuaid 2006-01-31 07:36:08 UTC
Created attachment 78568 [details, diff]
ADI joystick timing problem fix
Comment 2 Daniel Drake (RETIRED) gentoo-dev 2006-02-10 09:05:26 UTC
Have you reported to Vojtech that the fix solves your problem? The patch is not yet in Linus' tree...
Comment 3 Mike McQuaid 2006-02-28 09:05:44 UTC
Here follows our email exchange. From people on the forums, it seems that this is needed for anyone to get results, on Gentoo, from this driver.
It may well be a distro-specific bug, in which case, I personally feel it makes sense to include it in gentoo-sources and other patchsets. 


On Tue, Jan 03, 2006 at 08:36:40PM +0000, Mike Arthur wrote:
> On Tuesday 03 January 2006 19:46, you wrote:
> > It's most likely the timing in adi_init_digital(). Try removing the line
> >
> >     udelay(-seq[i]*14);     /* It looks like mdelay() is off by approx 1.4% */
> >
> > it's quite likely it'll start working.
> 
> In the most professional way, I love you!
> I can now use my nice Wingman again!
> Is this a proper fix, or a bit of a hack? Is it ok to share the fix on the 
> gentoo forums? Should I post this to the LKML? 
 
It's removing a hack needed for some kernels. Removing it is correct,
and finding a real reason for it being necessary on some (quite a large
number of) kernel/hardware combinations is called for.

-- 
Vojtech Pavlik
SuSE Labs, SuSE CR
Comment 4 Daniel Drake (RETIRED) gentoo-dev 2006-03-02 04:52:50 UTC
It won't be a distro-specific thing (the kernel is very independant), it will probably depend on hardware and/or configuration.

We require upstream (i.e. Vojtech) to have accepted a patch before we include it. Please reopen this bug if a conclusion is reached.