mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-30 08:02:30 +00:00
qtnfmac: do not initialize per-MAC data multiple times
Several members of pwr-MAC structure are re-initialized several times together with per-VIF initialization. Fix that and simplify the code. Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
92246b126e
commit
75001bbc07
1 changed files with 13 additions and 10 deletions
|
@ -370,6 +370,7 @@ static void qtnf_mac_scan_timeout(struct work_struct *work)
|
|||
static struct qtnf_wmac *qtnf_core_mac_alloc(struct qtnf_bus *bus,
|
||||
unsigned int macid)
|
||||
{
|
||||
struct qtnf_vif *vif;
|
||||
struct wiphy *wiphy;
|
||||
struct qtnf_wmac *mac;
|
||||
unsigned int i;
|
||||
|
@ -382,18 +383,20 @@ static struct qtnf_wmac *qtnf_core_mac_alloc(struct qtnf_bus *bus,
|
|||
|
||||
mac->macid = macid;
|
||||
mac->bus = bus;
|
||||
mutex_init(&mac->mac_lock);
|
||||
INIT_DELAYED_WORK(&mac->scan_timeout, qtnf_mac_scan_timeout);
|
||||
|
||||
for (i = 0; i < QTNF_MAX_INTF; i++) {
|
||||
memset(&mac->iflist[i], 0, sizeof(struct qtnf_vif));
|
||||
mac->iflist[i].wdev.iftype = NL80211_IFTYPE_UNSPECIFIED;
|
||||
mac->iflist[i].mac = mac;
|
||||
mac->iflist[i].vifid = i;
|
||||
qtnf_sta_list_init(&mac->iflist[i].sta_list);
|
||||
mutex_init(&mac->mac_lock);
|
||||
INIT_DELAYED_WORK(&mac->scan_timeout, qtnf_mac_scan_timeout);
|
||||
mac->iflist[i].stats64 =
|
||||
netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
|
||||
if (!mac->iflist[i].stats64)
|
||||
vif = &mac->iflist[i];
|
||||
|
||||
memset(vif, 0, sizeof(*vif));
|
||||
vif->wdev.iftype = NL80211_IFTYPE_UNSPECIFIED;
|
||||
vif->mac = mac;
|
||||
vif->vifid = i;
|
||||
qtnf_sta_list_init(&vif->sta_list);
|
||||
|
||||
vif->stats64 = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
|
||||
if (!vif->stats64)
|
||||
pr_warn("VIF%u.%u: per cpu stats allocation failed\n",
|
||||
macid, i);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue