diff options
| author | mjacob <mjacob@NetBSD.org> | 1999-10-28 02:50:34 +0000 |
|---|---|---|
| committer | mjacob <mjacob@NetBSD.org> | 1999-10-28 02:50:34 +0000 |
| commit | 7227a97ad0fe5720f5f0c375cf68c01df99cf00e (patch) | |
| tree | 0c376f1991a777e61c6276dfa80734ea6a7b2c29 /sys/dev | |
| parent | 3c606351d9e8663ad63ffd9e9720704c4afec5b2 (diff) | |
I was misinformed. I cannot get away from specifying tags for FC. Some devices
are happy w/o them- some are unhappy (IBM drives).
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ic/isp.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/dev/ic/isp.c b/sys/dev/ic/isp.c index 8d4ae824860..f0ea420f3e4 100644 --- a/sys/dev/ic/isp.c +++ b/sys/dev/ic/isp.c @@ -1,4 +1,4 @@ -/* $NetBSD: isp.c,v 1.41 1999/10/26 22:23:20 mjacob Exp $ */ +/* $NetBSD: isp.c,v 1.42 1999/10/28 02:50:34 mjacob Exp $ */ /* * Copyright (C) 1997, 1998, 1999 National Aeronautics & Space Administration * All rights reserved. @@ -1934,11 +1934,17 @@ ispscsicmd(xs) XS_RESID(xs) = 0; /* - * Fibre Channel always requires some kind of tag, but - * the firmware seems to be happy if we don't use a tag. + * Fibre Channel always requires some kind of tag. + * The Qlogic drivers seem be happy not to use a tag, + * but this breaks for some devices (IBM drives). */ if (XS_CANTAG(xs)) { t2reqp->req_flags = XS_KINDOF_TAG(xs); + } else { + if (XS_CDBP(xs)[0] == 0x3) /* REQUEST SENSE */ + t2reqp->req_flags = REQFLAG_HTAG; + else + t2reqp->req_flags = REQFLAG_OTAG; } } else { sdparam *sdp = (sdparam *)isp->isp_param; |
