Воспроизвести ситуацию не получилось.
Предположительно такой эффект возникает из-за асинхронности путей приёма и передачи. И хотя в среднем темп приёма равен темпу передачи, но порядок этих событий все же мог меняться.
Для решения проблемы я добавил в czaptel.ko backlog-буфер по приёму, который складывает данные "про запас" по уведомления о transmit-событии.
Предположительно это должно помочь.