Thomas Schaefer wrote:
> 
>> Does this help?
>>
>> --- include/asm-x86/wrappers_64.h    (revision 3719)
>> +++ include/asm-x86/wrappers_64.h    (revision 3720)
>> @@ -31,8 +31,8 @@
>>  #define rthal_irq_descp(irq)                (irq_desc + irq)
>>  #define rthal_irq_desc_status(irq)  (rthal_irq_descp(irq)->status)
>>
>> -#define rthal_irq_chip_enable(irq)   ({ rthal_irq_descp(irq)->chip-
>>> enable(irq); 0; })
>> -#define rthal_irq_chip_disable(irq)  ({ rthal_irq_descp(irq)->chip-
>>> disable(irq); 0; })
>> +#define rthal_irq_chip_enable(irq)   ({ rthal_irq_descp(irq)->chip-
>>> unmask(irq); 0; })
>> +#define rthal_irq_chip_disable(irq)  ({ rthal_irq_descp(irq)->chip-
>>> mask(irq); 0; })
>>  #define rthal_irq_chip_end(irq)      ({ rthal_irq_descp(irq)-
>>> ipipe_end(irq, rthal_irq_descp(irq));
>> 0; })
>>
>>  typedef irq_handler_t rthal_irq_host_handler_t;
> 
> We are using the current version from the SVN repository and those
> changes are already in there.
> 

Please send the output back:

--- ksrc/arch/x86/hal-common.c  (revision 3734)
+++ ksrc/arch/x86/hal-common.c  (working copy)
@@ -347,8 +347,20 @@
        if (irq >= NR_IRQS)
                return -EINVAL;

+       if (rthal_irq_descp(irq)->chip == NULL) {
+               printk(KERN_ERR "Xenomai: %s: no chip descriptor for irq %u\n", 
__FUNCTION__, irq);
+               return 0;
+       }
+
        rthal_irq_desc_status(irq) &= ~IRQ_DISABLED;

+       if (rthal_irq_descp(irq)->chip->unmask == NULL) {
+               printk(KERN_ERR "Xenomai: NULL unmask handler for irq %u, chip 
%s (->enable=%p)\n",
+                      irq, rthal_irq_descp(irq)->chip->name,
+                      rthal_irq_descp(irq)->chip->enable);
+               return 0;
+       }
+
        return rthal_irq_chip_enable(irq);
 }

@@ -358,8 +370,20 @@
        if (irq >= NR_IRQS)
                return -EINVAL;

+       if (rthal_irq_descp(irq)->chip == NULL) {
+               printk(KERN_ERR "Xenomai: %s: no chip descriptor for irq %u\n", 
__FUNCTION__, irq);
+               return 0;
+       }
+
        rthal_irq_desc_status(irq) |= IRQ_DISABLED;

+       if (rthal_irq_descp(irq)->chip->mask == NULL) {
+               printk(KERN_ERR "Xenomai: NULL mask handler for irq %u, chip %s 
(->disable=%p)\n",
+                      irq, rthal_irq_descp(irq)->chip->name,
+                      rthal_irq_descp(irq)->chip->disable);
+               return 0;
+       }
+
        return rthal_irq_chip_disable(irq);
 }

-- 
Philippe.

_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to