Browse Source

iwlwifi: pcie: support transmitting SKBs with fraglist

We want to be able to build A-MSDUs in higher layers, e.g. by
xmit_more, so support transmitting SKBs with fraglist to use
it for such.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Johannes Berg 7 years ago
parent
commit
0044f1716c
1 changed files with 8 additions and 0 deletions
  1. 8 0
      drivers/net/wireless/intel/iwlwifi/pcie/tx.c

+ 8 - 0
drivers/net/wireless/intel/iwlwifi/pcie/tx.c

@@ -2408,10 +2408,18 @@ int iwl_trans_pcie_tx(struct iwl_trans *trans, struct sk_buff *skb,
 						     tb1_len)))
 			goto out_err;
 	} else {
+		struct sk_buff *frag;
+
 		if (unlikely(iwl_fill_data_tbs(trans, skb, txq, hdr_len,
 					       out_meta)))
 			goto out_err;
 
+		skb_walk_frags(skb, frag) {
+			if (unlikely(iwl_fill_data_tbs(trans, frag, txq, 0,
+						       out_meta)))
+				goto out_err;
+		}
+
 		trace_iwlwifi_dev_tx(trans->dev, skb,
 				     iwl_pcie_get_tfd(trans, txq,
 						      txq->write_ptr),