Bug 71766

Summary: usb-ohci driver insufficient for Serverworks(tm) boards...
Product: [Retired] Red Hat Linux Reporter: Heinz-Peter Heidinger <hph>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED WORKSFORME QA Contact: Brian Brock <bbrock>
Severity: high Docs Contact:
Priority: high    
Version: 7.3   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-04-05 17:27:39 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:

Description Heinz-Peter Heidinger 2002-08-18 14:38:07 UTC
Description of Problem:
The usb-ohci driver fails badly on Serverworks(tm) boards 
(in my case an ASUS CURDLS).


Version-Release number of selected component (if applicable):
It happens (or I observed this) since kernel 7.2)


How Reproducible:
(Session excerpt) 
[root@hphs5 root]# modprobe usb-uhci
[root@hphs5 root]# cat /proc/interrupts 
           CPU0       CPU1       
  0:     152354     148909    IO-APIC-edge  timer
  1:              3              1    IO-APIC-edge  keyboard
  2:              0              0          XT-PIC  cascade
  8:              1              0    IO-APIC-edge  rtc
 12:             2            18    IO-APIC-edge  PS/2 Mouse
 14:      11300         7006    IO-APIC-edge  ide0
 17:          740           738   IO-APIC-level  eth1
 20:      23642       23726   IO-APIC-level  eth0
 22:      17750        15802   IO-APIC-level  gdth
 23:             7               7   IO-APIC-level  sym53c8xx
 24:      13797       13683   IO-APIC-level  sym53c8xx
 25:            25            23   IO-APIC-level  sym53c8xx
 38:             0               0            none  usb-ohci       <-- !!!!!
 ^^                                            ^^^^^^  ^^^^^^^
NMI:            0               0 
LOC:     301178     301124 
ERR:          0
MIS:          0



The log from /var/log/messages:
==========================
Aug 18 15:41:05 hphs5 kernel: usb.c: deregistering driver usb-storage
Aug 18 15:42:12 hphs5 kernel: usb-ohci.c: USB OHCI at membase 0xf8d5e000, IRQ
38Aug 18 15:42:12 hphs5 kernel: usb-ohci.c: usb-00:0f.2, ServerWorks OSB4/CSB5
OHCI USB Controller
Aug 18 15:42:12 hphs5 kernel: usb.c: new USB bus registered, assigned bus number
1
Aug 18 15:42:12 hphs5 kernel: hub.c: USB hub found
Aug 18 15:42:12 hphs5 kernel: hub.c: 4 ports detected
Aug 18 15:42:13 hphs5 kernel: hub.c: USB new device connect on bus1/4, assigned
device number 2
Aug 18 15:42:15 hphs5 /etc/hotplug/usb.agent: ... no modules for USB product
0/0/0
Aug 18 15:42:17 hphs5 kernel: usb_control/bulk_msg: timeout
Aug 18 15:42:17 hphs5 kernel: usb-ohci.c: unlink URB timeout
Aug 18 15:42:17 hphs5 kernel: usb.c: USB device not accepting new address=2
(error=-110)
Aug 18 15:42:17 hphs5 kernel: hub.c: USB new device connect on bus1/4, assigned
device number 3
Aug 18 15:42:21 hphs5 kernel: usb_control/bulk_msg: timeout
Aug 18 15:42:21 hphs5 kernel: usb-ohci.c: unlink URB timeout
Aug 18 15:42:21 hphs5 kernel: usb.c: USB device not accepting new address=3
(error=-110)

Steps to Reproduce:
1. Get a Serverworks(tm) board and check
2.  load the driver (or let the system do)
3.  driver should be fixed quickly

Actual Results:
* The driver works, if the system is booted from the Inst CD
  - The driver loads and gets assigned to IRQ 15 (shared with the 2
    on-board SCSI adapter)
  - a conncected ELSA USB modem gets power from the USB bus

* The driver fails (as explained above)
  - Serverworks(tm) boards provide far more than
    15 IRQs... thus the driver fails, since it doesn't
     handle this obviously
   




Expected Results:
A working usb-ohci driver on real server boards with
IRQs beyond 15 ...


Additional Information:
	
I can provide time and a box to check. The failing server is part of my
laboratory (see: http://hphcluster.dyndns.org) 

If you want/need access to that box, contact me under the reporters
email address: hph.de

Best regards,
Peter Heidinger
(ComServe -- IT Services, http://ComServe-EDV.de)

Comment 1 Arjan van de Ven 2002-08-18 14:57:06 UTC
can you check in the asus bios to see if there's a "mps1.4" or "mps1.1" setting?
If so, please try the other value for that setting....

Comment 2 Ville Steudle 2004-12-23 09:34:14 UTC
This is most likely a APIC or APIC routing table bug, which seems to 
be quite common with Serverworks P3 boards:

The APIC entry is not in line with the HW interrupt used.

One possible cure is to hardcore the usb interrupt in the APIC IRQ 
transform or in the USB driver.

Comment 3 Ville Steudle 2004-12-23 10:20:14 UTC
P.S.:

This is of course not limited to RH 7.3 but a kernel issue.

On the Serverworks P3 (Serverworks HE chipset on mine) boards in 
question, the same problem arises with all 2.4 and 2.6 kernels.