if (error && (error != -EEXIST)) 
if (error && (error != -EEXIST)) { sysfs_put((*d)->d_fsdata); 
static int create_dir(struct kobject * k, struct dentry * p,		      const char * n, struct dentry ** d){	int error;	umode_t mode = S_IFDIR| S_IRWXU | S_IRUGO | S_IXUGO;	down(&p->d_inode->i_sem);	*d = sysfs_get_dentry(p,n);	if (!IS_ERR(*d)) {		error = sysfs_create(*d, mode, init_dir);		if (!error) {			error = sysfs_make_dirent(p->d_fsdata, *d, k, mode,						SYSFS_DIR);			if (!error) {				p->d_inode->i_nlink++;				(*d)->d_op = &sysfs_dentry_ops;				d_rehash(*d);			}		}		if (error && (error != -EEXIST))			d_drop(*d);		dput(*d);	} else		error = PTR_ERR(*d);	up(&p->d_inode->i_sem);	return error;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/6fa5c828c7fb6beef7035864bd2b18e7386fbdd5/dir.c/clean/fs/sysfs/dir.c