Отключение клавиатуры IRQ получает так много клавиш ввода - PullRequest
0 голосов
/ 26 декабря 2018

Я пытался написать пример кода для проверки disable_irq и enable_irq.Поскольку номер IRQ для клавиатуры равен 1, я написал следующий код:

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/delay.h>

MODULE_LICENSE("GPL");
static int test_interrupt_init(void)
{
    printk(KERN_INFO"%s: In init\n", __func__);
    disable_irq(1);
    msleep(5*1000);
    enable_irq(1);
    return 0;
}

static void test_interrupt_exit(void)
{
    printk(KERN_INFO"%s: In exit\n", __func__);
}

module_init(test_interrupt_init);
module_exit(test_interrupt_exit);

Поведение вывода странное, оно отключает клавиатуру, но автоматически нажимается множество клавиш ввода.Как происходит отправка ключей ввода в ядро ​​Linux

...