kern/92716: [hifn] [hang] hifn driver hangs after a short
while when using GEOM_ELI
Patrick Lamaiziere
patfbsd at davenulle.org
Wed Feb 25 05:30:05 PST 2009
The following reply was made to PR kern/92716; it has been noted by GNATS.
From: "Patrick Lamaiziere" <patfbsd at davenulle.org>
To: "Oliver Peter" <lists at peter.de.com>
Cc: bug-followup at freebsd.org
Subject: Re: kern/92716: [hifn] [hang] hifn driver hangs after a short
while when using GEOM_ELI
Date: Wed, 25 Feb 2009 14:27:28 +0100 (CET)
>> Oliver, please could you try the patch in kern/130286 ?
>> http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/130286
>>
>> There is a problem in the locking of the sessions in hifn(4), that
>> could be the problem (not sure). But I'm not able to reproduce this
>> problem with geli on my hardware (a Soekris net5501/i386 - VPN1411)
>>
>> You can build hifn with the HIFN_DEBUG option, it may help.
>
> What I did:
> - applied your patch to my tree
> - switched back to GENERIC (including WITNESS option)
> - enabled HIFN_DEBUG in my config
>
> But no change at all. The dd command still hangs up after
> a couple of minutes and the only way out is to reboot.
So I don't know, sorry
> Also I don't see any debug output from the hifn driver.
You have to set the sysctl hw.hifn.debug to 1
There is an OpenBSD PR that could be related, NetBSD also has this change.
http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yes&numbers=3739
If hifn misses an interrupt, geli will hang.
You can test it
In hifn_crypto() at ligne 2053
http://fxr.watson.org/fxr/source/dev/hifn/hifn7751.c#L2053
- if (dma->cmdu > 1) {
- sc->sc_dmaier |= HIFN_DMAIER_C_WAIT;
- WRITE_REG_1(sc, HIFN_1_DMA_IER, sc->sc_dmaier);
- }
+ sc->sc_dmaier |= HIFN_DMAIER_C_WAIT;
+ WRITE_REG_1(sc, HIFN_1_DMA_IER, sc->sc_dmaier);
Regards.
More information about the freebsd-bugs
mailing list