Добрый день, столкнулся вот с такой проблемой, и никак не могу её решить.
Мой модуль создаёт поток ядра, который как мне кажется работает корректно. Мне так кажется, изза того, что если его создать в функции инициализации модуля, то он работает корректно и никаких ошибок нет. И при окончании работы потока через do_exit(1) , поток завершает свою работу и всё хорошо.
А вот если в модуле создать ещё какую-то функцию, и уже в ней создать точно такойже поток ядра(который я описал выше) то поток создастся, и отработает корректно, да вот беда, в таком случаи..когда код дойдёт до do_exit(1) , произойдёт паника ядра, - просто система намертво повиснет.
В чём дело? куда смотреть? почему такое происходит?..может кто-то сталкивался с такойже проблемой.
Поток создаю через kernel_thread(tcp_cli, NULL, 0);