Bug 232053

Summary: keyspan USB serial converter fails to allocate URBs properly
Product: [Fedora] Fedora Reporter: Richard Stover <richard>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: medium    
Version: 6   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.6.20-1.2925.fc6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-15 17:57:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Difference file between original keyspan.c and my corrected version none

Description Richard Stover 2007-03-13 18:48:09 UTC
Description of problem:
Under FC6 Keyspan serial ports fail to read characters into the host.

Version-Release number of selected component (if applicable): keyspan.c
with last change 2003sep04. (this is the version distributed with
FC6 kernel-2.6.18).


How reproducible: Always


Steps to Reproduce:
1. Attach Keyspan serial port (I have a Keyspan USA-49WLC)
2. Attach some sort of serial device (believe it or not, for testing I still
have a VT100, if you are old enough to know what that is!)
3. Attempt to read characters (use minicom or any convenient software).
  
Actual results: Output works. Input fails.


Expected results: Both should work


Additional info:
The problem is that in keyspan.c ALL endpoints are being treated as BULK OUT.
This obviously can't be correct because at least some have to be IN. If one
looks at /proc/bus/usb/devices you will see that the IN endpoints are actually
INTERRUPT style endpoints. I have modified keyspan.c to take this into account.
My modified keyspan.c fixes the problem and both reading and writing of
characters works.

I have attempted to communicate via email with the apparent author, Hugh
Blemings, but have had no response. Perhaps Keyspan should be notified,
but I'm not sure how to do that.

I have attached a diff file to show the changes I have made.

Comment 1 Richard Stover 2007-03-13 18:48:10 UTC
Created attachment 149973 [details]
Difference file between original keyspan.c and my corrected version

Comment 2 Richard Stover 2007-03-13 19:06:43 UTC
I just noticed that I introduced a bug in my comments seen in the diff file.
It says the Keyspan has BULK IN and INTERRUPT OUT endpoints. It really has BULK
OUT and INTERRUPT IN endpoints, as the actual C code shows.

Comment 3 Chuck Ebbert 2007-03-14 21:45:01 UTC
This may have been fixed in kernel 2.6.20-1.2925.fc6. Please test.


Comment 4 Richard Stover 2007-03-15 17:34:52 UTC
I just tested kernel 2.6.20-1.2925.fc6. My Keyspan serial adapters seem to be
working OK.

Thanks.