summaryrefslogtreecommitdiffstats
path: root/sys/dev/sio
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>2003-09-26 11:36:09 +0000
committerbde <bde@FreeBSD.org>2003-09-26 11:36:09 +0000
commit1a3e8e95912b75185dd024aa6bf9f758afecbc24 (patch)
tree1895eeaf91767ab9098943623587d97136e6c8a3 /sys/dev/sio
parentd4ad9d71e7c52c6c50c5c86b1eff92c452a79b63 (diff)
downloadFreeBSD-src-1a3e8e95912b75185dd024aa6bf9f758afecbc24.zip
FreeBSD-src-1a3e8e95912b75185dd024aa6bf9f758afecbc24.tar.gz
Use the correct speed in the delay for the transmission of a character
in the loopback test in the probe. The delay was too short for consoles at speeds lower than about 3200 bps. This shouldn't have caused many problems, since such low speeds are rare and the probe is forced to succeed for consoles.
Diffstat (limited to 'sys/dev/sio')
-rw-r--r--sys/dev/sio/sio.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c
index 7f8e586..63e4aae 100644
--- a/sys/dev/sio/sio.c
+++ b/sys/dev/sio/sio.c
@@ -694,7 +694,10 @@ sioprobe(dev, xrid, rclk, noprobe)
* it's unlikely to do more than allow the null byte out.
*/
sio_setreg(com, com_data, 0);
- DELAY((1 + 2) * 1000000 / (SIO_TEST_SPEED / 10));
+ if (iobase == siocniobase)
+ DELAY((1 + 2) * 1000000 / (comdefaultrate / 10));
+ else
+ DELAY((1 + 2) * 1000000 / (SIO_TEST_SPEED / 10));
/*
* Turn off loopback mode so that the interrupt gate works again
OpenPOWER on IntegriCloud