Geli with asynchronous chained crypto operations

I am writing a driver for PCI crypto card. The driver supports both synch and asynch mode.
Problem is when offloading auth+cipher(chained) operations to hardware with geli when driver is in asynch mode. Either writes or reads are always going bad.
newfs throws the error "newfs: can't read old UFS1 superblock".

When I turn driver in blocking mode, everything works perfectly. This is observed only in case of chained operations.

Has anyone clue about this? Is geli tested with asynch drivers before?
Any suggestions?