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

Commit 02dc84fe authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by John W. Linville
Browse files

iwlagn: set the sequence control from the transport layer



Since all the queue logic has been moved to the transport layer,
the sequence number is set in the transport layer.
While doing that I forgot that the mac header is copied to the
TB of the TX cmd in the upper layer before the call to the transport
layer. So basically we used the sequence number from mac80211...
This was fine for the first assocation but after the second, mac80211
resets its counters while we don't hence a shift that led to terrible
impact on performance.

Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b62ff718
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -327,9 +327,6 @@ int iwlagn_tx_skb(struct iwl_priv *priv, struct sk_buff *skb)
	memset(dev_cmd, 0, sizeof(*dev_cmd));
	memset(dev_cmd, 0, sizeof(*dev_cmd));
	tx_cmd = (struct iwl_tx_cmd *) dev_cmd->payload;
	tx_cmd = (struct iwl_tx_cmd *) dev_cmd->payload;


	/* Copy MAC header from skb into command buffer */
	memcpy(tx_cmd->hdr, hdr, hdr_len);

	/* Total # bytes to be transmitted */
	/* Total # bytes to be transmitted */
	len = (u16)skb->len;
	len = (u16)skb->len;
	tx_cmd->len = cpu_to_le16(len);
	tx_cmd->len = cpu_to_le16(len);
+3 −0
Original line number Original line Diff line number Diff line
@@ -1101,6 +1101,9 @@ static int iwl_trans_pcie_tx(struct iwl_trans *trans, struct sk_buff *skb,
		}
		}
	}
	}


	/* Copy MAC header from skb into command buffer */
	memcpy(tx_cmd->hdr, hdr, hdr_len);

	txq = &trans_pcie->txq[txq_id];
	txq = &trans_pcie->txq[txq_id];
	q = &txq->q;
	q = &txq->q;