This is the improvement of the old "lost irq patch".
This should make the old "lost irq patch" more stable. All three write functions in ci.c now work very similar. * The timeout for a detection of a lost IRQ for a write command now takes the CAN object timeout into account. * ci_write now waits if a previous write is not yet finished. This allows ci_write to be called after a ci_writelater which was previously not recommended. * All write functions now use function object_event in order to detect if the irq was executed. * Function handle_interrupt_missing has now more debug information. * A lost IRQ can now always be simulated by setting vcan_lcount or vcan4_lcount to a value different from 0. * The timeout in bosi_sem_wait_tm is now always greater or equal timeout parameter.