Date: Wed, 21 May 1997 21:55:52 +1000 From: Bruce Evans <bde@zeta.org.au> To: ache@nagual.pp.ru, bde@zeta.org.au Cc: current@freebsd.org, phk@freebsd.org Subject: Re: What happens with sio? Message-ID: <199705211155.VAA21927@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>Now I always got this diagnostic at reboot stage after installing recent >-current... >May 20 23:21:43 nagual /kernel: sio1: 65 events for device with no tp The new fifo size detection code generates an interrupt although all device interrupts are masked. This happens because it doesn't preserve the MCR_IENABLE bit when enabling and disabling loopback mode. The IRQ usually floats high, causing an interrupt. The interrupt handler finds work to do because the new code is sloppy about cleaning up (65 + 64 + 1 = 1 output completion + 1 character received). The sloppyness is not a bug, it just makes detection of the problem easy by forcing some events which get reported by diagnostic code. There is no real problem in this case. Interrupts are masked in the ICU until the device is fully initialized. This prevents problems when the loopback mode is set. Resetting the mcr to 0 instead of restoring it to com->mcr_image is what leaves a hot interrupt. The mismatch between the mcr and its image is fixed up on first open by believing that the image is correct. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705211155.VAA21927>