summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authormjacob <mjacob@cvs.openbsd.org>2002-05-17 01:33:51 +0000
committermjacob <mjacob@cvs.openbsd.org>2002-05-17 01:33:51 +0000
commit40e04c8d0f2c53bafd530a399505389a8d0fffbe (patch)
treea1896c7623b9f5112863e0daccbabc941e5776f8 /sys
parent29e5e837939264ec9cd1633686d5af6aa82c1bd4 (diff)
keep up with the jones' (sync up with external source)
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/ic/isp_target.c7
-rw-r--r--sys/dev/ic/isp_target.h17
2 files changed, 16 insertions, 8 deletions
diff --git a/sys/dev/ic/isp_target.c b/sys/dev/ic/isp_target.c
index 6277cd14c27..4c2868574ef 100644
--- a/sys/dev/ic/isp_target.c
+++ b/sys/dev/ic/isp_target.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: isp_target.c,v 1.7 2001/12/14 00:20:55 mjacob Exp $ */
+/* $OpenBSD: isp_target.c,v 1.8 2002/05/17 01:33:50 mjacob Exp $ */
/*
* Machine and OS Independent Target Mode Code for the Qlogic SCSI/FC adapters.
*
@@ -29,6 +29,10 @@
*/
/*
+ * Bug fixes gratefully acknowledged from:
+ * Oded Kedem <oded@kashya.com>
+ */
+/*
* Include header file appropriate for platform we're building on.
*/
@@ -678,6 +682,7 @@ isp_notify_ack(struct ispsoftc *isp, void *arg)
na->na_task_flags = inp->in_task_flags;
na->na_seqid = inp->in_seqid;
na->na_flags = NAFC_RCOUNT;
+ na->na_status = inp->in_status;
if (inp->in_status == IN_RESET) {
na->na_flags |= NAFC_RST_CLRD;
}
diff --git a/sys/dev/ic/isp_target.h b/sys/dev/ic/isp_target.h
index 8ace3c8af19..6f1a74f7e7f 100644
--- a/sys/dev/ic/isp_target.h
+++ b/sys/dev/ic/isp_target.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: isp_target.h,v 1.9 2001/12/14 00:20:55 mjacob Exp $ */
+/* $OpenBSD: isp_target.h,v 1.10 2002/05/17 01:33:50 mjacob Exp $ */
/* @(#)isp_target.h 1.3 */
/*
@@ -282,8 +282,9 @@ typedef struct {
u_int8_t at_execodes;
u_int8_t at_cdb[ATIO2_CDBLEN]; /* received CDB */
u_int32_t at_datalen; /* allocated data len */
- u_int16_t at_scclun; /* SCC Lun or reserved */
- u_int16_t at_reserved2[10];
+ u_int16_t at_scclun; /* SCC Lun or reserved */
+ u_int16_t at_wwpn[4]; /* WWPN of initiator */
+ u_int16_t at_reserved2[6];
u_int16_t at_oxid;
} at2_entry_t;
@@ -410,9 +411,9 @@ typedef struct {
isphdr_t ct_header;
u_int16_t ct_reserved;
u_int16_t ct_fwhandle; /* just to match CTIO */
- u_int8_t ct_lun; /* lun */
- u_int8_t ct_iid; /* initiator id */
- u_int16_t ct_rxid; /* response ID */
+ u_int8_t ct_lun; /* lun */
+ u_int8_t ct_iid; /* initiator id */
+ u_int16_t ct_rxid; /* response ID */
u_int16_t ct_flags;
u_int16_t ct_status; /* isp status */
u_int16_t ct_timeout;
@@ -550,8 +551,10 @@ int isp_endcmd(struct ispsoftc *, void *, u_int32_t, u_int16_t);
/*
* Handle an asynchronous event
+ *
+ * Return nonzero if the interrupt that generated this event has been dismissed.
*/
-void isp_target_async(struct ispsoftc *, int, int);
+int isp_target_async(struct ispsoftc *, int, int);
#endif
#endif /* _ISP_TARGET_H */