Commit d7b80052 authored by Igor Mitsyanko's avatar Igor Mitsyanko Committed by Kalle Valo

qtnfmac: get rid of QTNF_STATE_AP_START flag

QTNF_STATE_AP_START usage is redundant and imposes additional state
synchronization maintenance. We may as well leave state checking
to network card and upper layers (cfg80211, nl80211 and userspace).
Signed-off-by: default avatarIgor Mitsyanko <igor.mitsyanko.os@quantenna.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent 524522c4
...@@ -254,11 +254,6 @@ static int qtnf_change_beacon(struct wiphy *wiphy, struct net_device *dev, ...@@ -254,11 +254,6 @@ static int qtnf_change_beacon(struct wiphy *wiphy, struct net_device *dev,
{ {
struct qtnf_vif *vif = qtnf_netdev_get_priv(dev); struct qtnf_vif *vif = qtnf_netdev_get_priv(dev);
if (!(vif->bss_status & QTNF_STATE_AP_START)) {
pr_err("VIF%u.%u: not started\n", vif->mac->macid, vif->vifid);
return -EFAULT;
}
return qtnf_mgmt_set_appie(vif, info); return qtnf_mgmt_set_appie(vif, info);
} }
...@@ -283,17 +278,9 @@ static int qtnf_start_ap(struct wiphy *wiphy, struct net_device *dev, ...@@ -283,17 +278,9 @@ static int qtnf_start_ap(struct wiphy *wiphy, struct net_device *dev,
} }
ret = qtnf_cmd_send_start_ap(vif); ret = qtnf_cmd_send_start_ap(vif);
if (ret) { if (ret)
pr_err("VIF%u.%u: failed to start AP\n", vif->mac->macid, pr_err("VIF%u.%u: failed to start AP\n", vif->mac->macid,
vif->vifid); vif->vifid);
goto out;
}
if (!(vif->bss_status & QTNF_STATE_AP_START)) {
pr_err("VIF%u.%u: FW failed to start AP operation\n",
vif->mac->macid, vif->vifid);
ret = -EFAULT;
}
out: out:
return ret; return ret;
...@@ -308,7 +295,6 @@ static int qtnf_stop_ap(struct wiphy *wiphy, struct net_device *dev) ...@@ -308,7 +295,6 @@ static int qtnf_stop_ap(struct wiphy *wiphy, struct net_device *dev)
if (ret) { if (ret) {
pr_err("VIF%u.%u: failed to stop AP operation in FW\n", pr_err("VIF%u.%u: failed to stop AP operation in FW\n",
vif->mac->macid, vif->vifid); vif->mac->macid, vif->vifid);
vif->bss_status &= ~QTNF_STATE_AP_START;
netif_carrier_off(vif->netdev); netif_carrier_off(vif->netdev);
} }
...@@ -784,19 +770,6 @@ static int qtnf_channel_switch(struct wiphy *wiphy, struct net_device *dev, ...@@ -784,19 +770,6 @@ static int qtnf_channel_switch(struct wiphy *wiphy, struct net_device *dev,
params->chandef.chan->hw_value, params->count, params->chandef.chan->hw_value, params->count,
params->radar_required, params->block_tx); params->radar_required, params->block_tx);
switch (vif->wdev.iftype) {
case NL80211_IFTYPE_AP:
if (!(vif->bss_status & QTNF_STATE_AP_START)) {
pr_warn("AP not started on %s\n", dev->name);
return -ENOTCONN;
}
break;
default:
pr_err("unsupported vif type (%d) on %s\n",
vif->wdev.iftype, dev->name);
return -EOPNOTSUPP;
}
if (!cfg80211_chandef_valid(&params->chandef)) { if (!cfg80211_chandef_valid(&params->chandef)) {
pr_err("%s: invalid channel\n", dev->name); pr_err("%s: invalid channel\n", dev->name);
return -EINVAL; return -EINVAL;
......
...@@ -173,7 +173,6 @@ int qtnf_cmd_send_start_ap(struct qtnf_vif *vif) ...@@ -173,7 +173,6 @@ int qtnf_cmd_send_start_ap(struct qtnf_vif *vif)
goto out; goto out;
} }
vif->bss_status |= QTNF_STATE_AP_START;
netif_carrier_on(vif->netdev); netif_carrier_on(vif->netdev);
out: out:
...@@ -287,8 +286,6 @@ int qtnf_cmd_send_stop_ap(struct qtnf_vif *vif) ...@@ -287,8 +286,6 @@ int qtnf_cmd_send_stop_ap(struct qtnf_vif *vif)
goto out; goto out;
} }
vif->bss_status &= ~QTNF_STATE_AP_START;
netif_carrier_off(vif->netdev); netif_carrier_off(vif->netdev);
out: out:
......
...@@ -52,9 +52,8 @@ ...@@ -52,9 +52,8 @@
#define QTNF_DEF_WDOG_TIMEOUT 5 #define QTNF_DEF_WDOG_TIMEOUT 5
#define QTNF_TX_TIMEOUT_TRSHLD 100 #define QTNF_TX_TIMEOUT_TRSHLD 100
#define QTNF_STATE_AP_START BIT(1)
extern const struct net_device_ops qtnf_netdev_ops; extern const struct net_device_ops qtnf_netdev_ops;
struct qtnf_bus; struct qtnf_bus;
struct qtnf_vif; struct qtnf_vif;
......
...@@ -53,12 +53,6 @@ qtnf_event_handle_sta_assoc(struct qtnf_wmac *mac, struct qtnf_vif *vif, ...@@ -53,12 +53,6 @@ qtnf_event_handle_sta_assoc(struct qtnf_wmac *mac, struct qtnf_vif *vif,
return -EPROTO; return -EPROTO;
} }
if (!(vif->bss_status & QTNF_STATE_AP_START)) {
pr_err("VIF%u.%u: STA_ASSOC event when AP is not started\n",
mac->macid, vif->vifid);
return -EPROTO;
}
sta_addr = sta_assoc->sta_addr; sta_addr = sta_assoc->sta_addr;
frame_control = le16_to_cpu(sta_assoc->frame_control); frame_control = le16_to_cpu(sta_assoc->frame_control);
...@@ -127,12 +121,6 @@ qtnf_event_handle_sta_deauth(struct qtnf_wmac *mac, struct qtnf_vif *vif, ...@@ -127,12 +121,6 @@ qtnf_event_handle_sta_deauth(struct qtnf_wmac *mac, struct qtnf_vif *vif,
return -EPROTO; return -EPROTO;
} }
if (!(vif->bss_status & QTNF_STATE_AP_START)) {
pr_err("VIF%u.%u: STA_DEAUTH event when AP is not started\n",
mac->macid, vif->vifid);
return -EPROTO;
}
sta_addr = sta_deauth->sta_addr; sta_addr = sta_deauth->sta_addr;
reason = le16_to_cpu(sta_deauth->reason); reason = le16_to_cpu(sta_deauth->reason);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment