Date: Wed, 4 Apr 2012 13:00:17 GMT From: Marius Strobl <marius@alchemy.franken.de> To: freebsd-sparc64@FreeBSD.org Subject: Re: sparc64/141918: [ehci] ehci_interrupt: unrecoverable error, controller halted (sparc64) Message-ID: <201204041300.q34D0HmH087508@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR sparc64/141918; it has been noted by GNATS. From: Marius Strobl <marius@alchemy.franken.de> To: Manuel Tobias Schiller <mala@hinterbergen.de> Cc: bug-followup@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@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@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204041300.q34D0HmH087508>