if (s->features & SS_CAP_STATIC_MAP) { if (s->cis_virt) iounmap(s->cis_virt); s->cis_virt = ioremap(mem->static_start, s->map_size); } return s->cis_virt; 
if (!(s->features & SS_CAP_STATIC_MAP) && (!s->cis_virt)) s->cis_virt = ioremap(mem->res->start, s->map_size);  mem->card_start = card_offset; mem->flags = flags;  ret = s->ops->set_mem_map(s, mem); if (ret) { iounmap(s->cis_virt); s->cis_virt = NULL; return NULL; }  if (s->features & SS_CAP_STATIC_MAP) { if (s->cis_virt) iounmap(s->cis_virt); s->cis_virt = ioremap(mem->static_start, s->map_size); }  return s->cis_virt; 
set_cis_map(struct pcmcia_socket *s, unsigned int card_offset, unsigned int flags){    pccard_mem_map *mem = &s->cis_mem;    int ret;    if (!(s->features & SS_CAP_STATIC_MAP) && mem->res == NULL) {	mem->res = pcmcia_find_mem_region(0, s->map_size, s->map_size, 0, s);	if (mem->res == NULL) {	    printk(KERN_NOTICE "cs: unable to map card memory!\n");	    return NULL;	}	s->cis_virt = ioremap(mem->res->start, s->map_size);    }    mem->card_start = card_offset;    mem->flags = flags;    ret = s->ops->set_mem_map(s, mem);    if (ret) {	iounmap(s->cis_virt);	return NULL;    }    if (s->features & SS_CAP_STATIC_MAP) {	if (s->cis_virt)	    iounmap(s->cis_virt);	s->cis_virt = ioremap(mem->static_start, s->map_size);    }    return s->cis_virt;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2e5a3e79091615c5eae871ad9e794ed48753ae05/cistpl.c/buggy/drivers/pcmcia/cistpl.c