TX_DESC1_BUF_SIZE_MASK is not added to bits that are cleared, before the TX buffer length is set. Failing to do so can cause the controller to drop dead i.e. all TX interrupts stop, resulting in complete communication failure.
Fixed in v3.17-rc5. See commit "net: moxa: clear DESC1 on ndo_start_xmit()" b853f31940c84cce6a3f5cb4f529b029906ee69c.