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