From 40e04c8d0f2c53bafd530a399505389a8d0fffbe Mon Sep 17 00:00:00 2001 From: mjacob Date: Fri, 17 May 2002 01:33:51 +0000 Subject: keep up with the jones' (sync up with external source) --- sys/dev/ic/isp_target.c | 7 ++++++- sys/dev/ic/isp_target.h | 17 ++++++++++------- 2 files changed, 16 insertions(+), 8 deletions(-) (limited to 'sys') 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. * @@ -28,6 +28,10 @@ * SUCH DAMAGE. */ +/* + * Bug fixes gratefully acknowledged from: + * Oded Kedem + */ /* * 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 */ -- cgit v1.2.3