From: Luca Coelho <luca@coelho.fi>
To: linux-wireless@vger.kernel.org
Cc: kvalo@codeaurora.org, luciano.coelho@intel.com,
Sara Sharon <sara.sharon@intel.com>
Subject: [PATCH 11/25] iwlwifi: mvm: change iwl_mvm_tx_csum to return value
Date: Tue, 24 Jan 2017 00:03:36 +0200 [thread overview]
Message-ID: <20170123220350.25305-12-luca@coelho.fi> (raw)
In-Reply-To: <20170123220350.25305-1-luca@coelho.fi>
From: Sara Sharon <sara.sharon@intel.com>
Currently the function changes the TX cmd itself.
Make it more generic by returning a value, as preperation
to the new TX cmd.
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
index 66957ac12ca4..7f2fe3ffe547 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
@@ -102,14 +102,13 @@ iwl_mvm_bar_check_trigger(struct iwl_mvm *mvm, const u8 *addr,
#define OPT_HDR(type, skb, off) \
(type *)(skb_network_header(skb) + (off))
-static void iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
- struct ieee80211_hdr *hdr,
- struct ieee80211_tx_info *info,
- struct iwl_tx_cmd *tx_cmd)
+static u16 iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
+ struct ieee80211_hdr *hdr,
+ struct ieee80211_tx_info *info)
{
#if IS_ENABLED(CONFIG_INET)
u16 mh_len = ieee80211_hdrlen(hdr->frame_control);
- u16 offload_assist = le16_to_cpu(tx_cmd->offload_assist);
+ u16 offload_assist = 0;
u8 protocol = 0;
/*
@@ -117,7 +116,7 @@ static void iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
* compute it
*/
if (skb->ip_summed != CHECKSUM_PARTIAL || IWL_MVM_SW_TX_CSUM_OFFLOAD)
- return;
+ goto out;
/* We do not expect to be requested to csum stuff we do not support */
if (WARN_ONCE(!(mvm->hw->netdev_features & IWL_TX_CSUM_NETIF_FLAGS) ||
@@ -125,7 +124,7 @@ static void iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
skb->protocol != htons(ETH_P_IPV6)),
"No support for requested checksum\n")) {
skb_checksum_help(skb);
- return;
+ goto out;
}
if (skb->protocol == htons(ETH_P_IP)) {
@@ -145,7 +144,7 @@ static void iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
protocol != NEXTHDR_HOP &&
protocol != NEXTHDR_DEST) {
skb_checksum_help(skb);
- return;
+ goto out;
}
hp = OPT_HDR(struct ipv6_opt_hdr, skb, off);
@@ -159,7 +158,7 @@ static void iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
if (protocol != IPPROTO_TCP && protocol != IPPROTO_UDP) {
WARN_ON_ONCE(1);
skb_checksum_help(skb);
- return;
+ goto out;
}
/* enable L4 csum */
@@ -191,7 +190,8 @@ static void iwl_mvm_tx_csum(struct iwl_mvm *mvm, struct sk_buff *skb,
mh_len /= 2;
offload_assist |= mh_len << TX_CMD_OFFLD_MH_SIZE;
- tx_cmd->offload_assist = cpu_to_le16(offload_assist);
+out:
+ return offload_assist;
#endif
}
@@ -295,7 +295,8 @@ void iwl_mvm_set_tx_cmd(struct iwl_mvm *mvm, struct sk_buff *skb,
!(tx_cmd->offload_assist & cpu_to_le16(BIT(TX_CMD_OFFLD_AMSDU))))
tx_cmd->offload_assist |= cpu_to_le16(BIT(TX_CMD_OFFLD_PAD));
- iwl_mvm_tx_csum(mvm, skb, hdr, info, tx_cmd);
+ tx_cmd->offload_assist |=
+ cpu_to_le16(iwl_mvm_tx_csum(mvm, skb, hdr, info));
}
/*
--
2.11.0
next prev parent reply other threads:[~2017-01-23 22:18 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-23 22:03 [PATCH 00/25] iwlwifi: updates intended for v4.11 2017-01-23 Luca Coelho
2017-01-23 22:03 ` [PATCH 01/25] iwlwifi: mvm: expose device timestamp in radiotap Luca Coelho
2017-01-23 22:03 ` [PATCH 02/25] iwlwifi: mvm: don't restart HW if suspend fails with unified image Luca Coelho
2017-01-23 22:03 ` [PATCH 03/25] iwlwifi: mvm: accept arbitrary memory dump TLVs Luca Coelho
2017-01-23 22:03 ` [PATCH 04/25] iwlwifi: mvm: make iwl_dump_prph() void Luca Coelho
2017-01-23 22:03 ` [PATCH 05/25] iwlwifi: allow memory debug TLV to specify the memory type Luca Coelho
2017-01-26 7:43 ` [PATCH v2] " Luca Coelho
2017-01-23 22:03 ` [PATCH 06/25] iwlwifi: mvm: properly check for transport data in dump Luca Coelho
2017-01-23 22:03 ` [PATCH 07/25] iwlwifi: mvm: bump max API to 28 Luca Coelho
2017-01-23 22:03 ` [PATCH 08/25] iwlwifi: mvm: simplify paging allocation code Luca Coelho
2017-01-23 22:03 ` [PATCH 09/25] iwlwifi: mvm: replace the number of blocks calculation Luca Coelho
2017-01-23 22:03 ` [PATCH 10/25] iwlwifi: enlarge number of ucode sections Luca Coelho
2017-01-23 22:03 ` Luca Coelho [this message]
2017-01-26 7:24 ` [PATCH v2] iwlwifi: mvm: change iwl_mvm_tx_csum to return value Luca Coelho
2017-01-23 22:03 ` [PATCH 12/25] iwlwifi: mvm: separate rate calculation to a new function Luca Coelho
2017-01-23 22:03 ` [PATCH 13/25] iwlwifi: mvm: support version 2 of stored beacon notification Luca Coelho
2017-01-23 22:03 ` [PATCH 14/25] iwlwifi: fix MODULE_FIRMWARE for 6030 Luca Coelho
2017-01-23 22:03 ` [PATCH 15/25] iwlwifi: mvm: remove unused variable in iwl_mvm_handle_statistics() Luca Coelho
2017-01-23 22:03 ` [PATCH 16/25] iwlwifi: mvm: rs: Remove unused 'mvmvif'/'mvmsta' variables Luca Coelho
2017-01-23 22:03 ` [PATCH 17/25] iwlwifi: mvm: rs: Remove unused 'mcs' variable Luca Coelho
2017-01-23 22:03 ` [PATCH 18/25] iwlwifi: pcie: trans: Remove unused 'shift_param' Luca Coelho
2017-01-23 22:03 ` [PATCH 19/25] iwlwifi: dvm: make rs_tl_get_load() return void Luca Coelho
2017-01-23 22:03 ` [PATCH 20/25] iwlwifi: pcie: cleanup rfkill checks Luca Coelho
2017-01-23 22:03 ` [PATCH 21/25] iwlwifi: mvm: remove unused sta_id variable in iwl_mvm_change_queue_owner() Luca Coelho
2017-01-23 22:03 ` [PATCH 22/25] iwlwifi: dvm: remove unused variable compiler warning in debugfs.c Luca Coelho
2017-01-23 22:03 ` [PATCH 23/25] iwlwifi: mvm: mark ret as maybe_unused in iwl_dbgfs_fw_restart_write() Luca Coelho
2017-01-23 22:03 ` [PATCH 24/25] iwlwifi: mvm: use mvm_disable_queue instead of sharing logic Luca Coelho
2017-01-26 7:34 ` [PATCH v2] " Luca Coelho
2017-01-23 22:03 ` [PATCH 25/25] iwlwifi: mvm: cleanup redundant assignment Luca Coelho
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170123220350.25305-12-luca@coelho.fi \
--to=luca@coelho.fi \
--cc=kvalo@codeaurora.org \
--cc=linux-wireless@vger.kernel.org \
--cc=luciano.coelho@intel.com \
--cc=sara.sharon@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox