На самом деле конечно код zaptel крайне сумбурный и в общем unmaintainable, к тому же многие могут не согласиться с решением поместить echo canceller в ядро, но при этом совершенно очевидно, что если zaptel не будет справляться с данными будучи вызванным из каждого прерывания то workqueue нам поможет ТОЛЬКО в случае с SMP.
Собственно заптел делает не так много - бьёт фрейм на каналы, и в некоторых каналах возможно обрабатывает hdlc.
Чтобы получить interrupt storm действительно нужно заблокировать ядро как минимум на полсекунды. На современном исправном железе это практически невозможно (если не трогать suspend ;)))