X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/76d6542769a63f5779fe28f93d55d08535e649b8..f911e79d724fdac3af2847cec6383a71e907b00a:/lincan/src/setup.c diff --git a/lincan/src/setup.c b/lincan/src/setup.c index c77d03c..9c4af76 100644 --- a/lincan/src/setup.c +++ b/lincan/src/setup.c @@ -589,6 +589,8 @@ int can_chip_setup_irq(struct canchip_t *chip) return -1; if(!chip->chipspecops->irq_handler) return 0; + if(chip->flags & CHIP_IRQ_CUSTOM) + return 1; if ((chip->flags & CHIP_IRQ_VME) == 0) { if (request_irq(chip->chip_irq,can_default_irq_dispatch,SA_SHIRQ,DEVICE_NAME,chip)) @@ -620,6 +622,9 @@ int can_chip_setup_irq(struct canchip_t *chip) void can_chip_free_irq(struct canchip_t *chip) { if((chip->flags & CHIP_IRQ_SETUP) && (chip->chip_irq>=0)) { + if(chip->flags & CHIP_IRQ_CUSTOM) + return; + if ((chip->flags & CHIP_IRQ_VME) == 0) free_irq(chip->chip_irq, chip); else {