aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/batman-adv/bat_sysfs.c
diff options
context:
space:
mode:
authorMarek Lindner <lindner_marek@yahoo.de>2010-11-22 00:55:43 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-11-29 11:09:09 -0800
commitb4abfcd4c79ec12340b4c68e3a211badd3c90e20 (patch)
treee274c06838c22ceec632a352f1c81b80d23f5630 /drivers/staging/batman-adv/bat_sysfs.c
parentStaging: batman-adv: Don't remove interface with spinlock held (diff)
downloadlinux-dev-b4abfcd4c79ec12340b4c68e3a211badd3c90e20.tar.xz
linux-dev-b4abfcd4c79ec12340b4c68e3a211badd3c90e20.zip
Staging: batman-adv: convert batman_if custom refcounting to kref functions
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de> Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/batman-adv/bat_sysfs.c')
-rw-r--r--drivers/staging/batman-adv/bat_sysfs.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/staging/batman-adv/bat_sysfs.c b/drivers/staging/batman-adv/bat_sysfs.c
index bc17fb816300..536f65120edd 100644
--- a/drivers/staging/batman-adv/bat_sysfs.c
+++ b/drivers/staging/batman-adv/bat_sysfs.c
@@ -413,7 +413,7 @@ static ssize_t show_mesh_iface(struct kobject *kobj, struct attribute *attr,
length = sprintf(buff, "%s\n", batman_if->if_status == IF_NOT_IN_USE ?
"none" : batman_if->soft_iface->name);
- hardif_put(batman_if);
+ kref_put(&batman_if->refcount, hardif_free_ref);
return length;
}
@@ -436,7 +436,7 @@ static ssize_t store_mesh_iface(struct kobject *kobj, struct attribute *attr,
if (strlen(buff) >= IFNAMSIZ) {
pr_err("Invalid parameter for 'mesh_iface' setting received: "
"interface name too long '%s'\n", buff);
- hardif_put(batman_if);
+ kref_put(&batman_if->refcount, hardif_free_ref);
return -EINVAL;
}
@@ -447,7 +447,7 @@ static ssize_t store_mesh_iface(struct kobject *kobj, struct attribute *attr,
if ((batman_if->if_status == status_tmp) || ((batman_if->soft_iface) &&
(strncmp(batman_if->soft_iface->name, buff, IFNAMSIZ) == 0))) {
- hardif_put(batman_if);
+ kref_put(&batman_if->refcount, hardif_free_ref);
return count;
}
@@ -455,7 +455,7 @@ static ssize_t store_mesh_iface(struct kobject *kobj, struct attribute *attr,
rtnl_lock();
hardif_disable_interface(batman_if);
rtnl_unlock();
- hardif_put(batman_if);
+ kref_put(&batman_if->refcount, hardif_free_ref);
return count;
}
@@ -467,7 +467,7 @@ static ssize_t store_mesh_iface(struct kobject *kobj, struct attribute *attr,
}
ret = hardif_enable_interface(batman_if, buff);
- hardif_put(batman_if);
+ kref_put(&batman_if->refcount, hardif_free_ref);
return ret;
}
@@ -502,7 +502,7 @@ static ssize_t show_iface_status(struct kobject *kobj, struct attribute *attr,
break;
}
- hardif_put(batman_if);
+ kref_put(&batman_if->refcount, hardif_free_ref);
return length;
}