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

Commit e1f4d69b authored by Nishant Sarmukadam's avatar Nishant Sarmukadam Committed by John W. Linville
Browse files

mwl8k: Do not expire eapol frames



This can cause issues when clients try to connect when the
traffic is heavy

Signed-off-by: default avatarNishant Sarmukadam <nishants@marvell.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent ff7aa96f
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -1851,6 +1851,7 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw,
	bool start_ba_session = false;
	bool mgmtframe = false;
	struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)skb->data;
	bool eapol_frame = false;

	wh = (struct ieee80211_hdr *)skb->data;
	if (ieee80211_is_data_qos(wh->frame_control))
@@ -1858,6 +1859,9 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw,
	else
		qos = 0;

	if (skb->protocol == cpu_to_be16(ETH_P_PAE))
		eapol_frame = true;

	if (ieee80211_is_mgmt(wh->frame_control))
		mgmtframe = true;

@@ -1916,9 +1920,8 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw,

	txpriority = index;

	if (priv->ap_fw && sta && sta->ht_cap.ht_supported
			&& skb->protocol != cpu_to_be16(ETH_P_PAE)
			&& ieee80211_is_data_qos(wh->frame_control)) {
	if (priv->ap_fw && sta && sta->ht_cap.ht_supported && !eapol_frame &&
	    ieee80211_is_data_qos(wh->frame_control)) {
		tid = qos & 0xf;
		mwl8k_tx_count_packet(sta, tid);
		spin_lock(&priv->stream_lock);
@@ -2027,7 +2030,7 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw,
	else
		tx->peer_id = 0;

	if (priv->ap_fw)
	if (priv->ap_fw && ieee80211_is_data(wh->frame_control) && !eapol_frame)
		tx->timestamp = cpu_to_le32(ioread32(priv->regs +
						MWL8K_HW_TIMER_REGISTER));