[pso] [Tema2][Linux]Eroare request_irq

Andrei Voinescu voinescu.andrei at gmail.com
Sun Apr 18 20:07:18 EEST 2010


M-am mai uitat un pic prin codul request_irq, există o situație de
EINVAL netrivială

if ((irqflags & IRQF_SHARED) && !dev_id)
            return -EINVAL;

restul sunt normale,
* handler != NULL
* irq-ul trebuie să fie bun

Andrei


2010/4/18 Andrei Voinescu <voinescu.andrei at gmail.com>:
> Poate că e ceva simplu:
>
> * verifică COM1_IRQ
> * signatura handler-ului
> * asigură-te că request_irq este cel care dă EINVAL
>
> Andrei
>
> 2010/4/18 Alexandru Juncu <alexandrujuncu at gmail.com>:
>> 2010/4/18 Andrei Voinescu <voinescu.andrei at gmail.com>:
>>> Poate ești în conflict cu modulul soluție?
>>
>> nu are treabă... nu îl încarc pe el...
>>
>>>
>>> 2010/4/18 Alexandru Juncu <alexandrujuncu at gmail.com>:
>>>> 2010/4/18 Andrei Voinescu <voinescu.andrei at gmail.com>:
>>>>> Încearcă cu alt flag, de exemplu IRQF_DISABLED.
>>>>
>>>> same thingh...
>>>>
>>>>>
>>>>> Andrei
>>>>>
>>>>> 2010/4/18 Alexandru Juncu <alexandrujuncu at gmail.com>:
>>>>>> Salut.
>>>>>>
>>>>>> Am problemă ciudată (pentru mine cel puțin...).
>>>>>>
>>>>>> Apelez request_irq pentru a înregistra un handler. Apelul arată cam așa:
>>>>>>   request_irq(COM1_IRQ, my_interrupt_handle, IRQF_SHARED,
>>>>>> MODULE_NAME, &uart[0])
>>>>>>
>>>>>> Întotdeauna, funcția îmi returneaza -EINVAL. Dar, întreruperea este
>>>>>> înregistrară în /proc/intrerrupts.
>>>>>> Am încercat să rulez checker-ul și _câteodată_ handlerul este apelat,
>>>>>> alteori nu...
>>>>>>
>>>>>> Any clues on debugging this?
>>>>>>
>>>>>> --
>>>>>> Alex Juncu
>>>>>> 342C1
>> _______________________________________________
>> pso mailing list
>> pso at cursuri.cs.pub.ro
>> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>>
>


More information about the pso mailing list