Bug 27684

Summary: usb-uhci driver doesn't work with slab poisoning
Product: [Retired] Red Hat Linux Reporter: Trond Eivind Glomsrxd <teg>
Component: kernelAssignee: Pete Zaitcev <zaitcev>
Status: CLOSED RAWHIDE QA Contact: Brock Organ <borgan>
Severity: high Docs Contact:
Priority: high    
Version: 7.1CC: saint
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2001-03-03 19:58:13 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
/proc contents and lsmod output
none
linux-2.4.2-ac7-p3-usb-slab.diff none

Description Trond Eivind Glomsrxd 2001-02-15 00:12:25 UTC
The usb-uhci driver doesn't work in 2.4.1-0.1.8 - when inserting a USB mouse
(or just let it be there, the kernel on the installation disk works), this
happens:

hub.c: USB new device connect on bus1/2, assigned device number 2
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=2 (error=-110)
hub.c: USB new device connect on bus1/2, assigned device number 3
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=3 (error=-110)

Switching to the uhci driver works around the problem, but we need to
decide which one to stick with.

Comment 1 Glen Foster 2001-02-15 00:16:10 UTC
This defect is considered MUST-FIX for Florence Release-Candidate #1

Comment 2 David Sainty 2001-02-15 00:32:10 UTC
FYI, I upgraded Dell Latitude LS500 from fisher kernel to 2.4.1-0.1.8. As soon
as usb-uhci initializes, I get constant errors:

"usb-uhci.c: interrupt, status x, frame# 0"   where x = {10,20,30}

Comment 3 David Sainty 2001-02-16 15:19:26 UTC
New info from the LS500... I only seem to get this error when eth0, the inbuilt
3Com Ethernet, is _up_....  I will attach /proc entries and my lsmod output...


DS..

Comment 4 David Sainty 2001-02-16 15:21:55 UTC
Created attachment 10221 [details]
/proc contents and lsmod output

Comment 5 Michael K. Johnson 2001-02-16 15:32:30 UTC
Try 0.1.9

Comment 6 David Sainty 2001-02-16 16:10:04 UTC
0.1.9 looks good, i.e. error messages have gone. I haven't actually tried using USB.


Comment 7 Michael K. Johnson 2001-02-16 16:58:40 UTC
The problem is that slab poisoning appears to be catching a
bug in USB.  We turned slab poisoning off in 0.1.9.  I am not
marking this bug as fixed because we don't know why turning
off slab poisoning works around the bug.

Comment 8 Trond Eivind Glomsrxd 2001-02-19 19:39:23 UTC
*** Bug 27656 has been marked as a duplicate of this bug. ***

Comment 9 Pete Zaitcev 2001-03-03 19:56:56 UTC
The problem is identified as a violation of alignment restrictions
for the UHCI controller. If kmalloc or non-poisoned slab are used,
the 16 bytes alignment occurs naturally due to L1 cache alignment.
This is NOT guaranteed if slab is poisoned.

IMHO, the proper fix for this problem is to split decriptors into
hardware accessible, aligned, perhaps uncached, DMA-able part,
and regular software part. It comes out pretty big, so it needs
some testing. Works well on my machine so far.


Comment 10 Pete Zaitcev 2001-03-03 19:58:10 UTC
Created attachment 11701 [details]
linux-2.4.2-ac7-p3-usb-slab.diff

Comment 11 Pete Zaitcev 2001-03-08 18:35:39 UTC
It has been decided to go ahead with the fix.