summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pccard/pccardd
diff options
context:
space:
mode:
authorsanpei <sanpei@FreeBSD.org>2000-10-01 12:36:14 +0000
committersanpei <sanpei@FreeBSD.org>2000-10-01 12:36:14 +0000
commit451ab629216e4ee9155a4ae865cbcb77daaf1f67 (patch)
treefe16e2159ff127d6bf8d07c5b3c7e8e34059685f /usr.sbin/pccard/pccardd
parent0d0ba5ba00d6c818730953c2d899eccfd95f3d82 (diff)
downloadFreeBSD-src-451ab629216e4ee9155a4ae865cbcb77daaf1f67.zip
FreeBSD-src-451ab629216e4ee9155a4ae865cbcb77daaf1f67.tar.gz
fix some minor problem in PIOCSRESOURCE ioctl.
- If resource which was allocated for pcic was requested via this ioctl, bus_alloc_resource would be succeeded and that resource was returned as free resource. So check whether requested resource was used for pcic or not before bus_alloc_resource test. - merge SYS_RES_IRQ routine into other SYS_RES_* routine and clean up. problem reported by: Yohei Terada <terada@jiro.c.u-tokyo.ac.jp>
Diffstat (limited to 'usr.sbin/pccard/pccardd')
-rw-r--r--usr.sbin/pccard/pccardd/cardd.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/usr.sbin/pccard/pccardd/cardd.c b/usr.sbin/pccard/pccardd/cardd.c
index 5d4f4e3..881cfe1 100644
--- a/usr.sbin/pccard/pccardd/cardd.c
+++ b/usr.sbin/pccard/pccardd/cardd.c
@@ -544,7 +544,7 @@ assign_card_index(struct cis * cis)
for (cio = cp->io; cio; cio = cio->next) {
resource.size = cio->size;
resource.min = cio->addr;
- resource.max = resource.min + cio->size;
+ resource.max = resource.min + cio->size - 1;
if (ioctl(fd, PIOCSRESOURCE, &resource) < 0) {
perror("ioctl (PIOCSRESOURCE)");
exit(1);
@@ -697,7 +697,7 @@ assign_io(struct slot *sp)
j = bit_fns(io_avail, IOPORTS, i,
sio->size, sio->size);
res.min = j;
- res.max = j + sio->size ;
+ res.max = j + sio->size - 1;
if (ioctl(fd, PIOCSRESOURCE, &res) < 0) {
perror("ioctl (PIOCSRESOURCE)");
exit(1);
OpenPOWER on IntegriCloud