X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/76d6542769a63f5779fe28f93d55d08535e649b8..f911e79d724fdac3af2847cec6383a71e907b00a:/lincan/src/can_devrtl.c diff --git a/lincan/src/can_devrtl.c b/lincan/src/can_devrtl.c index 4557531..5bbc2c0 100644 --- a/lincan/src/can_devrtl.c +++ b/lincan/src/can_devrtl.c @@ -172,7 +172,7 @@ int can_chip_setup_irq(struct canchip_t *chip) attrib_p=&attrib; } - if(chip->chipspecops->irq_handler){ + if(chip->chipspecops->irq_handler && !(chip->flags & CHIP_IRQ_CUSTOM)){ int (*my_request_irq)(unsigned int vector, unsigned int (*rtl_handler)(unsigned int irq, struct pt_regs *regs)); #ifdef CAN_ENABLE_VME_SUPPORT if ((chip->flags & CHIP_IRQ_VME) != 0) @@ -199,7 +199,8 @@ void can_chip_free_irq(struct canchip_t *chip) { if(chip->worker_thread) pthread_delete_np(chip->worker_thread); - if((chip->flags & CHIP_IRQ_SETUP) && (chip->chip_irq>=0)) { + if((chip->flags & CHIP_IRQ_SETUP) && (chip->chip_irq>=0) + && !(chip->flags & CHIP_IRQ_CUSTOM)) { int (*my_free_irq)(unsigned int vector); #ifdef CAN_ENABLE_VME_SUPPORT if ((chip->flags & CHIP_IRQ_VME) != 0)