summaryrefslogtreecommitdiffstats
path: root/sys/dev/hptrr
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/hptrr')
-rw-r--r--sys/dev/hptrr/hptrr_osm_bsd.c5
-rw-r--r--sys/dev/hptrr/os_bsd.h1
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/hptrr/hptrr_osm_bsd.c b/sys/dev/hptrr/hptrr_osm_bsd.c
index 9af256e..3d83de6 100644
--- a/sys/dev/hptrr/hptrr_osm_bsd.c
+++ b/sys/dev/hptrr/hptrr_osm_bsd.c
@@ -440,7 +440,7 @@ static void os_cmddone(PCOMMAND pCmd)
KdPrint(("os_cmddone(%p, %d)", pCmd, pCmd->Result));
- untimeout(hpt_timeout, pCmd, ccb->ccb_h.timeout_ch);
+ untimeout(hpt_timeout, pCmd, ext->timeout_ch);
switch(pCmd->Result) {
case RETURN_SUCCESS:
@@ -519,7 +519,7 @@ static void hpt_io_dmamap_callback(void *arg, bus_dma_segment_t *segs, int nsegs
BUS_DMASYNC_PREWRITE);
}
}
- ext->ccb->ccb_h.timeout_ch = timeout(hpt_timeout, pCmd, HPT_OSM_TIMEOUT);
+ ext->timeout_ch = timeout(hpt_timeout, pCmd, HPT_OSM_TIMEOUT);
ldm_queue_cmd(pCmd);
}
@@ -1058,6 +1058,7 @@ static void hpt_final_init(void *dummy)
os_printk("Can't create dma map(%d)", i);
return ;
}
+ callout_handle_init(&ext->timeout_ch);
}
if ((devq = cam_simq_alloc(os_max_queue_comm)) == NULL) {
diff --git a/sys/dev/hptrr/os_bsd.h b/sys/dev/hptrr/os_bsd.h
index ec221f3..1c6760e 100644
--- a/sys/dev/hptrr/os_bsd.h
+++ b/sys/dev/hptrr/os_bsd.h
@@ -174,6 +174,7 @@ typedef struct _os_cmdext {
struct _os_cmdext *next;
union ccb *ccb;
bus_dmamap_t dma_map;
+ struct callout_handle timeout_ch;
SG psg[os_max_sg_descriptors];
}
OS_CMDEXT, *POS_CMDEXT;
OpenPOWER on IntegriCloud