diff options
| author | Scott Long <scottl@FreeBSD.org> | 2013-09-25 17:16:21 +0000 |
|---|---|---|
| committer | Scott Long <scottl@FreeBSD.org> | 2013-09-25 17:16:21 +0000 |
| commit | eb8a7632ba2a674b697cfedeba54ccb941a446b9 (patch) | |
| tree | ebaa28f9cc2c11e9c0022f0db7fff2cc3e92b88c /sys/dev/iir | |
| parent | f564de00f794fb33bf22a8c4fba818a8bee8a71e (diff) | |
Notes
Diffstat (limited to 'sys/dev/iir')
| -rw-r--r-- | sys/dev/iir/iir.c | 5 | ||||
| -rw-r--r-- | sys/dev/iir/iir.h | 1 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/iir/iir.c b/sys/dev/iir/iir.c index 684fce3298e1..1090042ff511 100644 --- a/sys/dev/iir/iir.c +++ b/sys/dev/iir/iir.c @@ -270,6 +270,7 @@ iir_init(struct gdt_softc *gdt) gccb->gc_map_flag = TRUE; gccb->gc_scratch = &gdt->sc_gcscratch[GDT_SCRATCH_SZ * i]; gccb->gc_scratch_busbase = gdt->sc_gcscratch_busbase + GDT_SCRATCH_SZ * i; + callout_handle_init(&gccb->gc_timeout_ch); SLIST_INSERT_HEAD(&gdt->sc_free_gccb, gccb, sle); } gdt->sc_init_level++; @@ -1239,7 +1240,7 @@ gdtexecuteccb(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) ccb->ccb_h.status |= CAM_SIM_QUEUED; /* timeout handling */ - ccb->ccb_h.timeout_ch = + gccb->gc_timeout_ch = timeout(iir_timeout, (caddr_t)gccb, (ccb->ccb_h.timeout * hz) / 1000); @@ -1747,7 +1748,7 @@ gdt_sync_event(struct gdt_softc *gdt, int service, printf("\n"); return (0); } else { - untimeout(iir_timeout, gccb, ccb->ccb_h.timeout_ch); + untimeout(iir_timeout, gccb, gccb->gc_timeout_ch); if (gdt->sc_status == GDT_S_BSY) { GDT_DPRINTF(GDT_D_DEBUG, ("gdt_sync_event(%p) gccb %p busy\n", gdt, gccb)); diff --git a/sys/dev/iir/iir.h b/sys/dev/iir/iir.h index dbae7d2a80f5..de7b641257e9 100644 --- a/sys/dev/iir/iir.h +++ b/sys/dev/iir/iir.h @@ -684,6 +684,7 @@ struct gdt_ccb { union ccb *gc_ccb; gdt_ucmd_t *gc_ucmd; bus_dmamap_t gc_dmamap; + struct callout_handle gc_timeout_ch; int gc_map_flag; int gc_timeout; u_int8_t gc_service; |
