sparc64/141918: [ehci] ehci_interrupt: unrecoverable error,
controller halted (sparc64)
Marius Strobl
marius at alchemy.franken.de
Wed Apr 4 13:00:20 UTC 2012
The following reply was made to PR sparc64/141918; it has been noted by GNATS.
From: Marius Strobl <marius at alchemy.franken.de>
To: Manuel Tobias Schiller <mala at hinterbergen.de>
Cc: bug-followup at FreeBSD.org
Subject: Re: sparc64/141918: [ehci] ehci_interrupt: unrecoverable error, controller halted (sparc64)
Date: Wed, 4 Apr 2012 14:59:46 +0200
On Wed, Apr 04, 2012 at 02:38:25PM +0200, Manuel Tobias Schiller wrote:
> On Tue, 3 Apr 2012 23:19:52 +0200
> Marius Strobl <marius at alchemy.franken.de> wrote:
>
> > On Mon, Apr 02, 2012 at 01:00:56AM +0200, Manuel Tobias Schiller wrote:
> > > On Sun, 1 Apr 2012 12:41:24 +0200
> > > Marius Strobl <marius at alchemy.franken.de> wrote:
> > >
> > > > Well, the individual patches shouldn't make things worse except for
> > > > the second one causing more memory to be used so I'd suggest to
> > > > combine them. If in the end things actually work we still can check
> > > > what changes are needed for that.
> > > > Looking at the Linux USB code, the FreeBSD one doesn't some to honor
> > > > some DMA constraints and at least for the alignment it's actually
> > > > hard to follow what value eventually is used. One thing that stands
> > > > out is that for EHCI, the boundary is 4096. This is most easily
> > > > fixed by defining USB_PAGE_SIZE to 4096 in sys/dev/usb/usb_busdma.h.
> > > >
> > > > Marius
> > >
> > > Ok, the second patch on its own doesn't appear to work either, so I'm
> > > trying the combination of patches now. By the way: defining
> > > USB_PAGE_SIZE to 4096 in sys/dev/usb/usb_busdma.h is a bad idea - the
> > > kernel panics with a backtrace pointing into the mmu-related code.
> > > Probably has to do with sparc64 mmu only supporting 8k pages, so I'm
> > > not terribly surprised...
> >
> > Okay, could you please give the following patch a try?
> > http://people.freebsd.org/~marius/usb_busdma.diff
> >
> > Marius
>
> Okay, I tried both my idea (which naturally did not work ;) and your patch
> (without my patch, so I don't screw up the results). Unfortunately, your
> patch does not seem to work either. From what I can tell from here at
> work, the machine is stuck in a reboot loop (I guess after trying to
> access the USB disks), but I'd like to be sure and watch the disk's LEDs
> for a bit when I get home tonight (to make sure that the reboot loop is
> really related to USB disk access).
>
Hrm, okay, would be interesting to know what the machine actually does.
Looking at the code I found another bug; the VIA-workaround currently
doesn't do anything:
http://people.freebsd.org/~marius/ehci_pci_fix_via_quirk.diff
This might apply for the insane I/O you've reported but I'm unsure
whether it makes a difference for the HSE interrupt.
Marius
More information about the freebsd-sparc64
mailing list