Безопасно ли вызывать send_sig_info () внутри процедуры завершения URB? - PullRequest
0 голосов
/ 22 сентября 2018

Как известно, обратный вызов завершения USB URB будет выполняться в контексте softIRQ.Позвольте мне объяснить фон, в котором я пытаюсь использовать send_sig_info ().В настоящее время я работаю в Совете по сбору данных.Для этого на стороне USB-устройства у меня есть два блока, FPGA и FX3 USB-чип.Для прошивки устройства FX3 выставлено 4 конечных точки.Из 4 EP 2 используются для чтения / записи регистров FPGA, 1 используется для захвата прерываний IN EP.

В моем проекте есть одно требование для захвата сигнала прерывания FPGA (FPGA доставляет прерывание на GPIOподключите к FX3, и в ответ FX3 вызовет фиктивные данные) при прерывании IN EP и после успешного приема сигнала прерывания внутри драйвера устройства считайте регистр состояния прерывания FPGA с помощью объемного urb.Так что в обратном вызове для завершения прерывания IN urb я планирую отправить массив urb для чтения регистра прерываний FPGA.

Теперь больше нет объяснений, переходя к основному вопросу.В вышеупомянутом обратном вызове завершения urb после успешного чтения значения регистра состояния прерывания FPGA мне нужно отправить это целочисленное значение в userapp с помощью сигнала.Так что механизм событий userapp выполнит правильное действие.

Так безопасно ли вызывать send_sig_info () внутри колбэка массового завершения urb для доставки данных в userapp?

...