X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/aadab734e26bcb93ac032e62b9c6245bb2bdc30f..2f13c6dc170fc5a887dcea791e73e1a695e9055d:/lincan/src/can_devrtl.c diff --git a/lincan/src/can_devrtl.c b/lincan/src/can_devrtl.c index 69a2e0f..c570f1b 100644 --- a/lincan/src/can_devrtl.c +++ b/lincan/src/can_devrtl.c @@ -132,8 +132,12 @@ 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 && (chip->flags & CHIP_IRQ_VME) == 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); + else tundra_rtl_enable_pci_irq(); + /* FIXME: Bad practice. Doesn't work with more + * than one card. */ + } RTL_MARK_SUSPENDED(pthread_self()); if(test_and_clear_bit(MSGOBJ_WORKER_WAKE_b,&chip->pend_flags)){