summaryrefslogtreecommitdiff
path: root/sys/kern/subr_rman.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2004-04-12 23:02:21 +0000
committerWarner Losh <imp@FreeBSD.org>2004-04-12 23:02:21 +0000
commit5e1d0a23bcfaee91f2be78cfe02f2c23177dfb26 (patch)
treefd7a0874c0155cdc83ca24429a1cc54b7cbc61fd /sys/kern/subr_rman.c
parentbc20ced763f829c19b632580935e52750f2011d3 (diff)
Notes
Diffstat (limited to 'sys/kern/subr_rman.c')
-rw-r--r--sys/kern/subr_rman.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/subr_rman.c b/sys/kern/subr_rman.c
index b068af31687a..754695b5cb82 100644
--- a/sys/kern/subr_rman.c
+++ b/sys/kern/subr_rman.c
@@ -234,7 +234,7 @@ rman_reserve_resource_bound(struct rman *rm, u_long start, u_long end,
rstart += bound - (rstart & ~bmask);
} while ((rstart & amask) != 0 && rstart < end &&
rstart < s->r_end);
- rend = ulmin(s->r_end, ulmax(rstart + count, end));
+ rend = ulmin(s->r_end, ulmax(rstart + count - 1, end));
if (rstart > rend) {
DPRINTF(("adjusted start exceeds end\n"));
continue;
@@ -334,7 +334,7 @@ rman_reserve_resource_bound(struct rman *rm, u_long start, u_long end,
if ((s->r_flags & flags) != flags)
continue;
rstart = ulmax(s->r_start, start);
- rend = ulmin(s->r_end, ulmax(start + count, end));
+ rend = ulmin(s->r_end, ulmax(start + count - 1, end));
if (s->r_start >= start && s->r_end <= end
&& (s->r_end - s->r_start + 1) == count &&
(s->r_start & amask) == 0 &&