summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2018-06-01 10:32:55 +0200
committerLuca Coelho <luciano.coelho@intel.com>2018-09-28 08:57:28 +0300
commit0044f1716c4d943674684fd738c8f7aa9d05d248 (patch)
tree8efd4959dcee09081b9dfa6dea09b74fcd05a39b
parent5724d8b9e9723ba2816ab403939e64c792fd25cf (diff)
downloadlinux-0044f1716c4d943674684fd738c8f7aa9d05d248.tar.gz
linux-0044f1716c4d943674684fd738c8f7aa9d05d248.tar.bz2
linux-0044f1716c4d943674684fd738c8f7aa9d05d248.zip
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>
-rw-r--r--drivers/net/wireless/intel/iwlwifi/pcie/tx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
index 6b6b86458819..67820bfaba64 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
+++ b/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),