Need an alternative to DELAY()
dieterbsd at engineer.com
dieterbsd at engineer.com
Mon Apr 11 01:59:27 UTC 2011
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=60ms status=00000123
kernel: siisch1: SIIS reset done: devices=00000001
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=59ms status=00000123
...
kernel: siisch0: siis_wait_ready() calling DELAY(1000)
last message repeated 1300 times
kernel: siisch0: port is not ready (timeout 10000ms) status = 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.
More information about the freebsd-hackers
mailing list