X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/9ae60d7db47fb42cb9e0a9a25e83711808936d7e..refs/tags/CLT_COMM_CAN-post_update-040903:/lincan/src/can_devrtl.c diff --git a/lincan/src/can_devrtl.c b/lincan/src/can_devrtl.c index 5db8b82..301c52c 100644 --- a/lincan/src/can_devrtl.c +++ b/lincan/src/can_devrtl.c @@ -132,8 +132,15 @@ void * can_chip_worker_thread(void *arg) /*re-enable chip IRQ, I am not sure, if this is required, but it seems to not work without that */ - if(chip->chip_irq>=0) - can_enable_irq(chip->chip_irq); + if(chip->chip_irq>=0) { + if ((chip->flags & CHIP_IRQ_VME) == 0) can_enable_irq(chip->chip_irq); + #ifdef CAN_ENABLE_VME_SUPPORT + else tundra_rtl_enable_pci_irq(); + /* FIXME: Bad practice. Doesn't work with more + * than one card. */ + #endif /*CAN_ENABLE_VME_SUPPORT*/ + + } RTL_MARK_SUSPENDED(pthread_self()); if(test_and_clear_bit(MSGOBJ_WORKER_WAKE_b,&chip->pend_flags)){