patch-2.4.13 linux/drivers/pcmcia/cs.c
Next file: linux/drivers/pcmcia/sa1100.h
Previous file: linux/drivers/pcmcia/Makefile
Back to the patch index
Back to the overall index
- Lines: 31
- Date:
Thu Oct 11 09:43:29 2001
- Orig file:
v2.4.12/linux/drivers/pcmcia/cs.c
- Orig date:
Tue Oct 9 17:06:52 2001
diff -u --recursive --new-file v2.4.12/linux/drivers/pcmcia/cs.c linux/drivers/pcmcia/cs.c
@@ -789,6 +789,10 @@
*base, align);
align = 0;
}
+ if ((s->cap.features & SS_CAP_STATIC_MAP) && s->cap.io_offset) {
+ *base = s->cap.io_offset | (*base & 0x0fff);
+ return 0;
+ }
/* Check for an already-allocated window that must conflict with
what was asked for. It is a hack because it does not catch all
potential conflicts, just the most obvious ones. */
@@ -833,7 +837,8 @@
ioaddr_t num)
{
int i;
- release_region(base, num);
+ if(!(s->cap.features & SS_CAP_STATIC_MAP))
+ release_region(base, num);
for (i = 0; i < MAX_IO_WIN; i++) {
if ((s->io[i].BasePort <= base) &&
(s->io[i].BasePort+s->io[i].NumPorts >= base+num)) {
@@ -1623,7 +1628,8 @@
s->state &= ~SOCKET_WIN_REQ(win->index);
/* Release system memory */
- release_mem_region(win->base, win->size);
+ if(!(s->cap.features & SS_CAP_STATIC_MAP))
+ release_mem_region(win->base, win->size);
win->handle->state &= ~CLIENT_WIN_REQ(win->index);
win->magic = 0;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)