summaryrefslogtreecommitdiffstats
path: root/sys/dev/siis
diff options
context:
space:
mode:
authorsmh <smh@FreeBSD.org>2014-12-21 03:06:11 +0000
committersmh <smh@FreeBSD.org>2014-12-21 03:06:11 +0000
commitf73f068967977545d4d60b36864475974dca2613 (patch)
tree25e0e0aad4faf12d9100173a8b5cb4866ec97cdf /sys/dev/siis
parent4ae371d305e8c60f2e534058d1727f819749b623 (diff)
downloadFreeBSD-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/siis')
-rw-r--r--sys/dev/siis/siis.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/dev/siis/siis.c b/sys/dev/siis/siis.c
index dd2bd70..d8a4098 100644
--- a/sys/dev/siis/siis.c
+++ b/sys/dev/siis/siis.c
@@ -1119,8 +1119,8 @@ siis_execute_transaction(struct siis_slot *slot)
ATA_OUTL(ch->r_mem, SIIS_P_CACTL(slot->slot), prb_bus);
ATA_OUTL(ch->r_mem, SIIS_P_CACTH(slot->slot), prb_bus >> 32);
/* Start command execution timeout */
- callout_reset(&slot->timeout, (int)ccb->ccb_h.timeout * hz / 1000,
- (timeout_t*)siis_timeout, slot);
+ callout_reset_sbt(&slot->timeout, SBT_1MS * ccb->ccb_h.timeout, 0,
+ (timeout_t*)siis_timeout, slot, 0);
return;
}
@@ -1161,9 +1161,9 @@ siis_rearm_timeout(device_t dev)
continue;
if ((ch->toslots & (1 << i)) == 0)
continue;
- callout_reset(&slot->timeout,
- (int)slot->ccb->ccb_h.timeout * hz / 1000,
- (timeout_t*)siis_timeout, slot);
+ callout_reset_sbt(&slot->timeout,
+ SBT_1MS * slot->ccb->ccb_h.timeout, 0,
+ (timeout_t*)siis_timeout, slot, 0);
}
}
OpenPOWER on IntegriCloud