The bug was because the DMA buffers were not allocated as such. Additionnaly, there may be a bug in the FreeBSD EHCI driver that my driver triggered in some way, but this is a bit off-topic here (see the freebsd-usb mailing list). Cheers Sebastien