Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
46 / 13 / 3
Регистрация: 29.09.2013
Сообщений: 289
1

Request_irq возвращает -16

24.09.2020, 18:52. Показов 928. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Модуль request_irq.ko
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <linux/init.h>
#include <linux/module.h>
#include <linux/ioport.h>
#include <linux/slab.h>
#include <linux/irqreturn.h>
#include <linux/interrupt.h>
#include <linux/errno.h>
 
MODULE_LICENSE("Dual BSD/GPL");
 
unsigned long port = 0x378;
unsigned long range = 3;
unsigned int irq = 7;
unsigned long flags = 0;
 
int err, i;
 
static irqreturn_t handler(int irqn, void *dev)
{
    return IRQ_HANDLED;
}
 
static int request_irq_init(void)
{
    printk(KERN_ALERT "Hello, request IRQ!\n");
    
    for(i = 0; i < 65535; i++ )
        err = request_irq(irq, handler, flags, "parport0", (void*)i);
    
    printk(KERN_INFO "Function request_irq returned %d, i=%d\n", err, i);
    
    return 0;
}
 
 
static void request_irq_exit(void)
{
    if(err == 0)
        free_irq(irq, (void*)i);
 
 
    printk(KERN_ALERT "Goodbye, request IRQ.\n");
}
 
 
module_init(request_irq_init);
 
module_exit(request_irq_exit);
Компилируем, загружаем insmod request_irq.ko

В dmesg
Код
[ 8023.029538] genirq: Flags mismatch irq 7. 00000000 (parport0) vs. 00000000 (parport0)
[ 8023.029541] Function request_irq returned -16, i=65535
16 означает Busy?

Наверное с этого что-то нужно в чёрный список занести?
Код
# lsmod | grep parport
parport_pc             40960  1
parport                53248  3 parport_pc,lp,ppdev
Добавлено через 21 минуту
В функции request_irq последним параметром д.б. NULL, т.к. никто кроме моего обработчика это прерывание не будет использовать, как и параллельный порт. Если последним указываю NULL, то ошибка -22.

Добавлено через 6 минут
Код
# cat /proc/interrupts | grep parport
7:          0          0   IO-APIC   7-edge      parport0

# cat /proc/ioports | grep parport
0378-037a : parport0
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2020, 18:52
Ответы с готовыми решениями:

Создать функцию, которая возвращает массив в обратном порядке. Именно возвращает
Не могу никак создать функцию.

OpenEventLog возвращает 0, GetLastError возвращает 1314 (Недостаточно прав)
Добрый день! В программе используется OpenEventLog, она возвращает нулевой дескриптор, вызванная...

Метод без проблем возвращает строку, но не возвращает класс
Здравствуйте! Уже сутки бьюсь с проблемой и не пойму вообще почему она возникла. Есть WCF-сервер и...

Как вернуть в запросе значение по умолчанию, если SELECT возвращает NULL или ничего не возвращает?
Добрый день! Например я хочу чтобы донное выражение возвращало мне 0 или скажем 1, если...

2
590 / 413 / 135
Регистрация: 02.10.2008
Сообщений: 1,745
Записей в блоге: 1
26.09.2020, 21:55 2
Цитата Сообщение от Dexel Посмотреть сообщение
C
1
unsigned long port = 0x378;
Это LPT, значит, как минимум штатный /dev/parport в /etc/blacklist...

З.Ы. Зачем тем подымать? Это можно тупо проэкспериментировать - пару перезагрузок
0
46 / 13 / 3
Регистрация: 29.09.2013
Сообщений: 289
12.10.2020, 15:10  [ТС] 3
1. Зачем reboot если это модуль. Загружается и выгружается через insmod и rmmod.
2. Вопрос причина возврата ошибки -16. Много вариантов перебрал. Либо -22 либо 16.
0
12.10.2020, 15:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2020, 15:10
Помогаю со студенческими работами здесь

mysqli_insert_id не возвращает ID вставленной записи, постоянно возвращает "1".
Есть запрос такой расчитываю через insert_id получить id добавленной книги, но почему-то возвращает...

функция сравнивает две строки, и, если строки равны возвращает 0, если первая строка больше второй, то возвращает 1,
// 6. int mystrcmp (const char * str1, const char * str2) -функция сравнивает две строки, и, если...

Label.getHeight возвращает 0, а Label.getPrefHeight возвращает -1
Не могу получить высоту лейбла. Label label = new Label(&quot;message message message message...

Почему если я задаю IP 127.0.0.1 то bind возвращает 0, а если задаю IP в сети, то bind возвращает -1
IP узнаю через 2IP.ru вот и если задаю полученный IP, то программа вылатает когда выполняется...

Не возвращает ответ
Не возвращает ответ, как сделать? &lt;form method=&quot;post&quot; action=&quot;index.php&quot;&gt; Значение 1 &lt;input...

Не возвращает значение
Здравствуйте. Создал программу на вывод суммы всех трёхзначных чисел, которые делятся на 3 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru