aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/hptiop
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2013-09-25 17:16:21 +0000
committerScott Long <scottl@FreeBSD.org>2013-09-25 17:16:21 +0000
commiteb8a7632ba2a674b697cfedeba54ccb941a446b9 (patch)
treeebaa28f9cc2c11e9c0022f0db7fff2cc3e92b88c /sys/dev/hptiop
parentf564de00f794fb33bf22a8c4fba818a8bee8a71e (diff)
downloadsrc-eb8a7632ba2a674b697cfedeba54ccb941a446b9.tar.gz
src-eb8a7632ba2a674b697cfedeba54ccb941a446b9.zip
Re-do r255853. Along with adding back the API/ABI changes from the
original, this hides the contents of cam_compat.h from ktrace/kdump/truss, avoiding problems there. There are no user-servicable parts in there, so no need for those tools to be groping around in there. Approved by: re
Notes
Notes: svn path=/head/; revision=255871
Diffstat (limited to 'sys/dev/hptiop')
-rw-r--r--sys/dev/hptiop/hptiop.c5
-rw-r--r--sys/dev/hptiop/hptiop.h1
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/hptiop/hptiop.c b/sys/dev/hptiop/hptiop.c
index 50a9c43e7543..6b8377456df1 100644
--- a/sys/dev/hptiop/hptiop.c
+++ b/sys/dev/hptiop/hptiop.c
@@ -643,7 +643,7 @@ static void hptiop_request_callback_mvfrey(struct hpt_iop_hba * hba,
ccb = (union ccb *)srb->ccb;
- untimeout(hptiop_reset_adapter, hba, ccb->ccb_h.timeout_ch);
+ untimeout(hptiop_reset_adapter, hba, srb->timeout_ch);
if (ccb->ccb_h.flags & CAM_CDB_POINTER)
cdb = ccb->csio.cdb_io.cdb_ptr;
@@ -2629,7 +2629,7 @@ static void hptiop_post_req_mvfrey(struct hpt_iop_hba *hba,
BUS_SPACE_RD4_MVFREY2(inbound_write_ptr);
if (req->header.type == IOP_REQUEST_TYPE_SCSI_COMMAND) {
- ccb->ccb_h.timeout_ch = timeout(hptiop_reset_adapter, hba, 20*hz);
+ srb->timeout_ch = timeout(hptiop_reset_adapter, hba, 20*hz);
}
}
@@ -2741,6 +2741,7 @@ static void hptiop_map_srb(void *arg, bus_dma_segment_t *segs,
tmp_srb->phy_addr = phy_addr;
}
+ callout_handle_init(&tmp_srb->timeout_ch);
hptiop_free_srb(hba, tmp_srb);
hba->srb[i] = tmp_srb;
phy_addr += HPT_SRB_MAX_SIZE;
diff --git a/sys/dev/hptiop/hptiop.h b/sys/dev/hptiop/hptiop.h
index 8683620fa27b..67ff7fcd8646 100644
--- a/sys/dev/hptiop/hptiop.h
+++ b/sys/dev/hptiop/hptiop.h
@@ -460,6 +460,7 @@ struct hpt_iop_srb {
u_int64_t phy_addr;
u_int32_t srb_flag;
int index;
+ struct callout_handle timeout_ch;
};
#define hptiop_lock_adapter(hba) mtx_lock(&(hba)->lock)