Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+1 −28
Original line number Diff line number Diff line
@@ -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);

	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);
}

@@ -283,17 +278,9 @@ static int qtnf_start_ap(struct wiphy *wiphy, struct net_device *dev,
	}

	ret = qtnf_cmd_send_start_ap(vif);
	if (ret) {
	if (ret)
		pr_err("VIF%u.%u: failed to start AP\n", vif->mac->macid,
		       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:
	return ret;
@@ -308,7 +295,6 @@ static int qtnf_stop_ap(struct wiphy *wiphy, struct net_device *dev)
	if (ret) {
		pr_err("VIF%u.%u: failed to stop AP operation in FW\n",
		       vif->mac->macid, vif->vifid);
		vif->bss_status &= ~QTNF_STATE_AP_START;

		netif_carrier_off(vif->netdev);
	}
@@ -784,19 +770,6 @@ static int qtnf_channel_switch(struct wiphy *wiphy, struct net_device *dev,
		 params->chandef.chan->hw_value, params->count,
		 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)) {
		pr_err("%s: invalid channel\n", dev->name);
		return -EINVAL;
+0 −3
Original line number Diff line number Diff line
@@ -173,7 +173,6 @@ int qtnf_cmd_send_start_ap(struct qtnf_vif *vif)
		goto out;
	}

	vif->bss_status |= QTNF_STATE_AP_START;
	netif_carrier_on(vif->netdev);

out:
@@ -287,8 +286,6 @@ int qtnf_cmd_send_stop_ap(struct qtnf_vif *vif)
		goto out;
	}

	vif->bss_status &= ~QTNF_STATE_AP_START;

	netif_carrier_off(vif->netdev);

out:
+1 −2
Original line number Diff line number Diff line
@@ -52,9 +52,8 @@
#define QTNF_DEF_WDOG_TIMEOUT		5
#define QTNF_TX_TIMEOUT_TRSHLD		100

#define QTNF_STATE_AP_START		BIT(1)

extern const struct net_device_ops qtnf_netdev_ops;

struct qtnf_bus;
struct qtnf_vif;

+0 −12
Original line number Diff line number Diff line
@@ -53,12 +53,6 @@ qtnf_event_handle_sta_assoc(struct qtnf_wmac *mac, struct qtnf_vif *vif,
		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;
	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,
		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;
	reason = le16_to_cpu(sta_deauth->reason);