batman-adv: fix warning in function batadv_v_elp_get_throughput

When CONFIG_CFG80211 isn't enabled the compiler correcly warns about
'sinfo.pertid' may be unused. It can also happen for other error
conditions that it not warn about.

net/batman-adv/bat_v_elp.c: In function ‘batadv_v_elp_get_throughput.isra.0’:
include/net/cfg80211.h:6370:13: warning: ‘sinfo.pertid’ may be used
 uninitialized in this function [-Wmaybe-uninitialized]
  kfree(sinfo->pertid);
        ~~~~~^~~~~~~~

Rework so that we only release '&sinfo' if cfg80211_get_station returns
zero.

Fixes: 7d652669b6 ("batman-adv: release station info tidstats")
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
This commit is contained in:
Anders Roxell 2019-02-22 16:25:54 +01:00 committed by Simon Wunderlich
parent f131a56880
commit ca8c3b922e
1 changed files with 4 additions and 2 deletions

View File

@ -104,8 +104,10 @@ static u32 batadv_v_elp_get_throughput(struct batadv_hardif_neigh_node *neigh)
ret = cfg80211_get_station(real_netdev, neigh->addr, &sinfo); ret = cfg80211_get_station(real_netdev, neigh->addr, &sinfo);
/* free the TID stats immediately */ if (!ret) {
cfg80211_sinfo_release_content(&sinfo); /* free the TID stats immediately */
cfg80211_sinfo_release_content(&sinfo);
}
dev_put(real_netdev); dev_put(real_netdev);
if (ret == -ENOENT) { if (ret == -ENOENT) {