summaryrefslogtreecommitdiffstats
path: root/sys/dev/aha
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>1999-05-14 23:10:25 +0000
committerimp <imp@FreeBSD.org>1999-05-14 23:10:25 +0000
commitc0bdb16af0991ca8eae6bcf9edd0802e9507bf5a (patch)
tree2de66c056c592eabaf6b5a52fc7c588542efacd7 /sys/dev/aha
parente79d7db00beb4a2937430bdd6fc71ca1c91c6145 (diff)
downloadFreeBSD-src-c0bdb16af0991ca8eae6bcf9edd0802e9507bf5a.zip
FreeBSD-src-c0bdb16af0991ca8eae6bcf9edd0802e9507bf5a.tar.gz
Put a small delay in before sending the inquire_setup command. The
docs don't seem to shed light on why this is needed, but reports from the field indicate this helps prevent problems in this area. Ken's changes seem to have exposed this bug, rather than caused it, as far as I can tell. Thanks to Jack O'Neill for tracking this down. Submitted by: jack@germanium.xtalwind.net Very strong 3.2 merge candidate.
Diffstat (limited to 'sys/dev/aha')
-rw-r--r--sys/dev/aha/aha.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/dev/aha/aha.c b/sys/dev/aha/aha.c
index 9fea877..320c1ae 100644
--- a/sys/dev/aha/aha.c
+++ b/sys/dev/aha/aha.c
@@ -55,7 +55,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: aha.c,v 1.23 1999/05/06 22:18:21 peter Exp $
+ * $Id: aha.c,v 1.24 1999/05/11 08:12:11 imp Exp $
*/
#include "pnp.h"
@@ -1773,10 +1773,12 @@ ahafetchtransinfo(struct aha_softc *aha, struct ccb_trans_settings* cts)
targ_offset = (target & 0x7);
/*
- * Inquire Setup Information. This command retreives the
- * Wide negotiation status for recent adapters as well as
- * the sync info for older models.
+ * Inquire Setup Information. This command retreives
+ * the sync info for older models. We put a small delay here
+ * because that seems to help the stability. 10mS is known
+ * to work, but other values might also work.
*/
+ DELAY(10000);
param = sizeof(setup_info);
error = aha_cmd(aha, AOP_INQUIRE_SETUP_INFO, &param, /*paramlen*/1,
(u_int8_t*)&setup_info, sizeof(setup_info),
OpenPOWER on IntegriCloud