Bug 27684 - usb-uhci driver doesn't work with slab poisoning
usb-uhci driver doesn't work with slab poisoning
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: kernel (Show other bugs)
7.1
i386 Linux
high Severity high
: ---
: ---
Assigned To: Pete Zaitcev
Brock Organ
:
: 27656 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-02-14 19:12 EST by Trond Eivind Glomsrxd
Modified: 2005-10-31 17:00 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-03-03 14:58:13 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
/proc contents and lsmod output (5.35 KB, text/plain)
2001-02-16 10:21 EST, David Sainty
no flags Details
linux-2.4.2-ac7-p3-usb-slab.diff (27.55 KB, patch)
2001-03-03 14:58 EST, Pete Zaitcev
no flags Details | Diff

  None (edit)
Description Trond Eivind Glomsrxd 2001-02-14 19:12:25 EST
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-14 19:16:10 EST
This defect is considered MUST-FIX for Florence Release-Candidate #1
Comment 2 David Sainty 2001-02-14 19:32:10 EST
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 10:19:26 EST
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 10:21:55 EST
Created attachment 10221 [details]
/proc contents and lsmod output
Comment 5 Michael K. Johnson 2001-02-16 10:32:30 EST
Try 0.1.9
Comment 6 David Sainty 2001-02-16 11:10:04 EST
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 11:58:40 EST
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 14:39:23 EST
*** Bug 27656 has been marked as a duplicate of this bug. ***
Comment 9 Pete Zaitcev 2001-03-03 14:56:56 EST
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 14:58:10 EST
Created attachment 11701 [details]
linux-2.4.2-ac7-p3-usb-slab.diff
Comment 11 Pete Zaitcev 2001-03-08 13:35:39 EST
It has been decided to go ahead with the fix.

Note You need to log in before you can comment on or make changes to this bug.