s->callback->replace_cis(); 
s->callback->requery(s); 
static ssize_t pccard_store_cis(struct kobject *kobj, char *buf, loff_t off, size_t count){	struct pcmcia_socket *s = to_socket(container_of(kobj, struct class_device, kobj));	cisdump_t *cis;	ssize_t ret = count;	if (off)		return -EINVAL;	if (count >= 0x200)		return -EINVAL;	if (!(s->state & SOCKET_PRESENT))		return -ENODEV;	cis = kmalloc(sizeof(cisdump_t), GFP_KERNEL);	if (!cis)		return -ENOMEM;	memset(cis, 0, sizeof(cisdump_t));	cis->Length = count + 1;	memcpy(cis->Data, buf, count);	if (pcmcia_replace_cis(s, cis))		ret  = -EIO;	kfree(cis);	if (!ret) {		down(&s->skt_sem);		if ((s->callback) && (s->state & SOCKET_PRESENT) &&		    !(s->state & SOCKET_CARDBUS)) {			if (try_module_get(s->callback->owner)) {				s->callback->replace_cis();				module_put(s->callback->owner);			}		}		up(&s->skt_sem);	}	return (ret);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/e2f0b5344161dabfab102ac0a54f330f61477972/socket_sysfs.c/buggy/drivers/pcmcia/socket_sysfs.c