diff options
author | smh <smh@FreeBSD.org> | 2014-12-21 03:06:11 +0000 |
---|---|---|
committer | smh <smh@FreeBSD.org> | 2014-12-21 03:06:11 +0000 |
commit | f73f068967977545d4d60b36864475974dca2613 (patch) | |
tree | 25e0e0aad4faf12d9100173a8b5cb4866ec97cdf /sys/dev/iir/iir.c | |
parent | 4ae371d305e8c60f2e534058d1727f819749b623 (diff) | |
download | FreeBSD-src-f73f068967977545d4d60b36864475974dca2613.zip FreeBSD-src-f73f068967977545d4d60b36864475974dca2613.tar.gz |
MFC r274819:
Prevent overflow issues in timeout processing
MFC r274852:
Fix build with asr driver
Sponsored by: Multiplay
Diffstat (limited to 'sys/dev/iir/iir.c')
-rw-r--r-- | sys/dev/iir/iir.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/iir/iir.c b/sys/dev/iir/iir.c index b2ebad8..27c5abb 100644 --- a/sys/dev/iir/iir.c +++ b/sys/dev/iir/iir.c @@ -267,7 +267,7 @@ iir_init(struct gdt_softc *gdt) &gccb->gc_dmamap) != 0) return(1); gccb->gc_map_flag = TRUE; - gccb->gc_scratch = &gdt->sc_gcscratch[GDT_SCRATCH_SZ * i]; + gccb->gc_scratch = &gdt->sc_gcscratch[GDT_SCRATCH_SZ * i]; gccb->gc_scratch_busbase = gdt->sc_gcscratch_busbase + GDT_SCRATCH_SZ * i; callout_init_mtx(&gccb->gc_timeout, &gdt->sc_lock, 0); SLIST_INSERT_HEAD(&gdt->sc_free_gccb, gccb, sle); @@ -1234,8 +1234,8 @@ gdtexecuteccb(void *arg, bus_dma_segment_t *dm_segs, int nseg, int error) ccb->ccb_h.status |= CAM_SIM_QUEUED; /* timeout handling */ - callout_reset(&gccb->gc_timeout, (ccb->ccb_h.timeout * hz) / 1000, - iir_timeout, gccb); + callout_reset_sbt(&gccb->gc_timeout, SBT_1MS * ccb->ccb_h.timeout, 0, + iir_timeout, (caddr_t)gccb, 0); gdt->sc_copy_cmd(gdt, gccb); } |