X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/95c031e101c74ae6472a7e538f3128f67a490082..a682f9de48bcce43fba6141fbdb4d451914e0bb4:/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)