From: Johannes Berg <johannes.b...@intel.com>

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.b...@intel.com>
Signed-off-by: Luca Coelho <luciano.coe...@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/pcie/tx.c | 8 ++++++++
 1 file changed, 8 insertions(+)

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),
-- 
2.18.0

Reply via email to