Hy! I try to use a proprietary program to transfer data over a modem line between two computers (no way using a different program). On a DOS/Win9x computer it's running perfectly well. But trying to use it on linux (kernel 2.0.36 p-133/64MB and PII-350/128MB) (dosemu 0.98.6 / 0.99.x) fails. After turning on the debug flags I get the error (warning?) "cancelled serial interrupt". Does that mean IIR is cleared before it can be processed by pic_serial_run? If so is there a way to lock the reading of IIR when do_irq hasn't finished? Enabling the $_ports-range and $_irqpassing brings dosemu to a standstill. Disabling $_com2 prevents the program from recognizing the port. Have I missed something? Anybody seen this before? Any help very much appreciated. uwe Part of output showing 'cancelled serial interrupt!': SER1: Transmit 0x26 SER1: Read IIR = 0x1 SER1: Func transmit_engine requesting TX_INTR (non fifo-mode) SER1: Func pic_request intlevel=11, int_requested=2 SER1: ---BEGIN INTERRUPT--- int_condition = 02 SER1: Read IIR = 0x2 (THRI now cleared) SER1: ---END INTERRUPT--- SER1: Read MSR = 0x10 SER1: Transmit 0x46 SER1: Read IIR = 0x1 SER1: Func transmit_engine requesting TX_INTR (non fifo-mode) SER1: Func pic_request intlevel=11, int_requested=2 SER1: ---BEGIN INTERRUPT--- int_condition = 02 SER1: Read IIR = 0x2 (THRI now cleared) SER1: ---END INTERRUPT--- SER1: Read MSR = 0x10 SER1: Transmit 0xd SER1: Func transmit_engine requesting TX_INTR (non fifo-mode) SER1: Func pic_request intlevel=11, int_requested=2 SER1: Read IIR = 0x2 (THRI now cleared) SER1: Read IIR = 0x1 SER1: ---BEGIN INTERRUPT--- int_condition = 00 SER1: Interrupt Error: cancelled serial interrupt! SER1: ---END INTERRUPT--- SER1: Read MSR = 0x10 ... (about 7000 times repeated) SER1: Read MSR = 0x10 SER1: Func uart_fill requesting RX_INTR (non fifo-mode)
