> … > > the close(x) seems to always take 30s now.. ttyS0 is fine.. > > > > why could that be? > > it might want to wait until the FIFO is empty again. No clue. Do you see > interrupts coming? By setting the IRQ number to 0 (or using the patch > attached) it would use timer-base polling instead waiting for the > interrupt. yes, after setting IRQ to 0 using setserial, it seems to return to normal.. but still it's a bug I guess? Also polling will consume some CPU time, especially with many serial devices? BR nik > > diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c > --- a/drivers/tty/serial/8250/8250_core.c > +++ b/drivers/tty/serial/8250/8250_core.c > @@ -335,7 +335,7 @@ static int univ8250_setup_irq(struct uart_8250_port *up) > * hardware interrupt, we use a timer-based system. The original > * driver used to do this with IRQ0. > */ > - if (!port->irq) { > + if (1) { > mod_timer(&up->timer, jiffies + uart_poll_timeout(port)); > } else > retval = serial_link_irq_chain(up); > @@ -349,7 +349,7 @@ static void univ8250_release_irq(struct uart_8250_port *up) > > del_timer_sync(&up->timer); > up->timer.function = serial8250_timeout; > - if (port->irq) > + if (0) > serial_unlink_irq_chain(up); > } > > > nik > > Sebastian > -- ------------------------------------- Ing. Nikola CIPRICH LinuxBox.cz, s.r.o. 28. rijna 168, 709 00 Ostrava tel.: +420 591 166 214 fax: +420 596 621 273 mobil: +420 777 093 799 www.linuxbox.cz mobil servis: +420 737 238 656 email servis: servis@xxxxxxxxxxx -------------------------------------
Attachment:
pgpq91LgAc2gL.pgp
Description: PGP signature