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/arcmsr | |
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/arcmsr')
-rw-r--r-- | sys/dev/arcmsr/arcmsr.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/arcmsr/arcmsr.c b/sys/dev/arcmsr/arcmsr.c index 727e0aa..5d46ad3 100644 --- a/sys/dev/arcmsr/arcmsr.c +++ b/sys/dev/arcmsr/arcmsr.c @@ -2703,7 +2703,9 @@ static void arcmsr_execute_srb(void *arg, bus_dma_segment_t *dm_segs, int nseg, if (pccb->ccb_h.timeout != CAM_TIME_INFINITY) { arcmsr_callout_init(&srb->ccb_callout); - callout_reset(&srb->ccb_callout, ((pccb->ccb_h.timeout + (ARCMSR_TIMEOUT_DELAY * 1000)) * hz) / 1000, arcmsr_srb_timeout, srb); + callout_reset_sbt(&srb->ccb_callout, SBT_1MS * + (pccb->ccb_h.timeout + (ARCMSR_TIMEOUT_DELAY * 1000)), 0, + arcmsr_srb_timeout, srb, 0); srb->srb_flags |= SRB_FLAG_TIMER_START; } } |