Should I call tx_done() after tx_down() ?

I’ve written net filter (io-net/en_en0)
and sometimes (after sending data down, to ethernet card)
I have to wait long time for tx_done() callback;

Should I call ion->tx_done() after ion->tx_down() ?