Commit 438b3d3f authored by Sven Eckelmann's avatar Sven Eckelmann Committed by Simon Wunderlich
Browse files

batman-adv: Fix genl notification for throughput_override



The throughput_override sysfs file is not below the meshif but below a
hardif. The kobj has therefore not a pointer which can be used to find the
batadv_priv data. The pointer stored in the hardif object must be used
instead to find the correct meshif private data.

Fixes: 7e6f461e ("batman-adv: Trigger genl notification on sysfs config change")
Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
parent ca8c3b92
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1116,9 +1116,9 @@ static ssize_t batadv_store_throughput_override(struct kobject *kobj,
						struct attribute *attr,
						char *buff, size_t count)
{
	struct batadv_priv *bat_priv = batadv_kobj_to_batpriv(kobj);
	struct net_device *net_dev = batadv_kobj_to_netdev(kobj);
	struct batadv_hard_iface *hard_iface;
	struct batadv_priv *bat_priv;
	u32 tp_override;
	u32 old_tp_override;
	bool ret;
@@ -1147,7 +1147,10 @@ static ssize_t batadv_store_throughput_override(struct kobject *kobj,

	atomic_set(&hard_iface->bat_v.throughput_override, tp_override);

	if (hard_iface->soft_iface) {
		bat_priv = netdev_priv(hard_iface->soft_iface);
		batadv_netlink_notify_hardif(bat_priv, hard_iface);
	}

out:
	batadv_hardif_put(hard_iface);