dev_info(&dev->dev, "Finished %s for sl=%p.\n", __func__, sl);  
static int w1_attach_slave_device(struct w1_master *dev, struct w1_reg_num *rn){	struct w1_slave *sl;	struct w1_family *f;	int err;	struct w1_netlink_msg msg;	sl = kmalloc(sizeof(struct w1_slave), GFP_KERNEL);	if (!sl) {		dev_err(&dev->dev,			 "%s: failed to allocate new slave device.\n",			 __func__);		return -ENOMEM;	}	memset(sl, 0, sizeof(*sl));	sl->owner = THIS_MODULE;	sl->master = dev;	set_bit(W1_SLAVE_ACTIVE, (long *)&sl->flags);	memcpy(&sl->reg_num, rn, sizeof(sl->reg_num));	atomic_set(&sl->refcnt, 0);	init_completion(&sl->released);	spin_lock(&w1_flock);	f = w1_family_registered(rn->family);	if (!f) {		f= &w1_default_family;		dev_info(&dev->dev, "Family %x for %02x.%012llx.%02x is not registered.\n",			  rn->family, rn->family,			  (unsigned long long)rn->id, rn->crc);	}	__w1_family_get(f);	spin_unlock(&w1_flock);	sl->family = f;	err = __w1_attach_slave_device(sl);	if (err < 0) {		dev_err(&dev->dev, "%s: Attaching %s failed.\n", __func__,			 sl->name);		w1_family_put(sl->family);		kfree(sl);		return err;	}	sl->ttl = dev->slave_ttl;	dev->slave_count++;	memcpy(&msg.id.id, rn, sizeof(msg.id.id));	msg.type = W1_SLAVE_ADD;	w1_netlink_send(dev, &msg);	dev_info(&dev->dev, "Finished %s for sl=%p.\n", __func__, sl);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/7c8f5703de91ade517d4fd6c3cc8e08dbba2b739/w1.c/buggy/drivers/w1/w1.c