Re: USB and HPT366 don't like each other

From: Johannes Erdfelt (jerdfelt@sventech.com)
Date: Mon Jun 05 2000 - 15:51:29 EST


On Mon, Jun 05, 2000, Nils Rennebarth <nils@ipe.uni-stuttgart.de> wrote:
> On my Athlon (ABit K7A Board) system running linux-2.4.0test1-ac8,
> and the recently posted patch from Bartlomiej Zolnierkiewicz, strange things
> happen when I enable DMA on my IBM IDE disks attached to the addon
> HPT 366 controller:
>
> # hdparm -d1 -c1 -X66 /dev/hdg
> # hdparm -tT /dev/hdg
>
> and as soon as the -t Test of hdparm runs I get an endless flood of
>
> Jun 5 16:31:51 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:53 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:53 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:53 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:53 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 20, frame# 273
> Jun 5 16:31:54 obelix kernel: usb-uhci.c: interrupt, status 31, frame# 273
>
> until I reboot the computer.

I can't see how those error messages can happen.

status 20 = Host Controller Halted
status 31 = Host Controller Process Error + Interrupt due to IOC

What is the most interesting is the frame number. This increments by 1
every 1ms. It wraps at 2048. So it should wrap every 2 seconds. However,
we see the same frame number more than a couple of times a second. This
is bad.

The memory ranges don't overlap for the UHCI and HPT366 controllers do they?

If all else fails, try the other UHCI driver (the one I wrote) to see if
it doesn't have the same problem.

> Is the USB code unwilling to share it's interrupt?

No, the code is completely safe for that. I share UHCI + AIC7xxx + Tulip
on one interrupt fine.

JE

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Jun 07 2000 - 21:00:22 EST