diff options
| author | Warner Losh <imp@FreeBSD.org> | 2002-09-08 22:18:06 +0000 |
|---|---|---|
| committer | Warner Losh <imp@FreeBSD.org> | 2002-09-08 22:18:06 +0000 |
| commit | 223e8ce62da6c61568b87a5e023a5ed17d9d3fee (patch) | |
| tree | c81ed28cd23852cce6b01766295bb297a9a26759 /sys/pccard | |
| parent | aec0ec7779b32baff16928b3095ec7fdcd9024ac (diff) | |
Notes
Diffstat (limited to 'sys/pccard')
| -rw-r--r-- | sys/pccard/pccard.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/pccard/pccard.c b/sys/pccard/pccard.c index b145317833f5..5500f5e3517c 100644 --- a/sys/pccard/pccard.c +++ b/sys/pccard/pccard.c @@ -384,10 +384,10 @@ crdread(dev_t dev, struct uio *uio, int ioflag) return (ENXIO); if (pccard_mem == 0) return (ENOMEM); - for (win = 0; win < slt->ctrl->maxmem; win++) + for (win = slt->ctrl->maxmem - 1; win >= 0; win--) if ((slt->mem[win].flags & MDF_ACTIVE) == 0) break; - if (win >= slt->ctrl->maxmem) + if (win < 0) return (EBUSY); mp = &slt->mem[win]; oldmap = *mp; @@ -430,10 +430,10 @@ crdwrite(dev_t dev, struct uio *uio, int ioflag) return (ENXIO); if (pccard_mem == 0) return (ENOMEM); - for (win = 0; win < slt->ctrl->maxmem; win++) + for (win = slt->ctrl->maxmem - 1; win >= 0; win--) if ((slt->mem[win].flags & MDF_ACTIVE) == 0) break; - if (win >= slt->ctrl->maxmem) + if (win < 0) return (EBUSY); mp = &slt->mem[win]; oldmap = *mp; |
