Date: Sun, 10 Apr 2011 21:59:13 -0400 From: dieterbsd@engineer.com To: freebsd-hackers@freebsd.org, freebsd-drivers@freebsd.org Subject: Need an alternative to DELAY() Message-ID: <8CDC60330838A41-18FC-694F@web-mmc-m02.sysops.aol.com>
next in thread | raw e-mail | index | archive | help
FreeBSD 8.2 amd64 uniprocessor kernel: siisch1: DISCONNECT requested kernel: siisch1: SIIS reset... kernel: siisch1: siis_sata_connect() calling DELAY(1000) last message repeated 59 times kernel: siisch1: SATA connect time=3D60ms status=3D00000123 kernel: siisch1: SIIS reset done: devices=3D00000001 kernel: siisch1: DISCONNECT requested kernel: siisch1: SIIS reset... kernel: siisch1: siis_sata_connect() calling DELAY(1000) last message repeated 58 times kernel: siisch1: SATA connect time=3D59ms status=3D00000123 ... kernel: siisch0: siis_wait_ready() calling DELAY(1000) last message repeated 1300 times kernel: siisch0: port is not ready (timeout 10000ms) status =3D 001f2000 Meanwhile, *everything* comes to a screeching halt. Device drivers are locked out, and thus incoming data is lost. Losing incoming data is unacceptable. Need an alternative to DELAY() that does not lock out other device drivers. There must be a way to reset one bit of hardware without locking down the entire machine.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8CDC60330838A41-18FC-694F>