hifn(4) DMA fix for review
sam at errno.com
Mon May 10 15:35:45 UTC 2010
On May 9, 2010, at 3:16 PM, Patrick Lamaiziere wrote:
> Le Fri, 07 May 2010 12:13:20 -0700,
> Oleksandr Tymoshenko <gonzo at bluezbox.com> a écrit :
>> Proposed patch addresses hifn(4) problems on FreeBSD/mips.
>> Current implementation keeps some of the state information (indexes
>> buffers, etc) in DMA-mapped memory and bus_dma code invalidates them
>> during sync operations. This fix moves data that doesn't belong to
>> ring to softc structure.
> I do not have any comment but I will try on my Soekris (the next
> weekend) if it can help.
> I noticed several things in hifn, if you want to look:
> IMHO some locks are missing in the use of sc->sc_sessions (the array
> containing the sessions) : in hifn_newsession(), if there is no space
> left in sc->sc_sessions, a new array is allocated and the sessions are
> copied to it. Unfortunaly, sc->sc_sessions is used in hifn_process
> without any lock and we use some pointers on the array (my patch
> addresses this if I remember...).
Isn't this just the glx locking? (no offense intended) I've said
before I think we to move session management up into the crypto layer
since it's implemented in many drivers (usually w/ c&p of the same
code as you noted here sometimes a bit different).
More information about the freebsd-hackers