summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDARAM SUDHA <dsudha@qti.qualcomm.com>2014-05-08 16:02:49 +0530
committerPitani Venkata Rajesh Kumar <c_vpitan@qti.qualcomm.com>2014-05-13 11:55:37 +0530
commit711ffcb643e0d286db6f7a646f34cd563195f66d (patch)
tree88411882bd521e0c1b74f8f973fe194b52b22675
parent8e328f3ed0ec858250df13984d5a124a1d647124 (diff)
Remove unnecessary header room allocation during Tx.
clean up in code dealing with skb headroom during tx. the sanity check on skb headroom is unnecessary for QCA_WIFI_2_0 in wlan_hdd_softap_tx_rx.c and wlan_hdd_tx_rx.c. Driver does not need to request extra headroom during netdev registration by passing it in hard_header_len from hdd_alloc_station_adapter(). Change-Id: I27e5930afa59e3b37e681fa33a470ba82c0744d4 CRs-FIXED: 582501
-rw-r--r--CORE/HDD/src/wlan_hdd_main.c2
-rw-r--r--CORE/HDD/src/wlan_hdd_softap_tx_rx.c20
-rw-r--r--CORE/HDD/src/wlan_hdd_tx_rx.c20
3 files changed, 2 insertions, 40 deletions
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 05d605d14d66..114b19b10401 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -7462,7 +7462,9 @@ static hdd_adapter_t* hdd_alloc_station_adapter( hdd_context_t *pHddCtx, tSirMac
vos_mem_copy(pWlanDev->dev_addr, (void *)macAddr, sizeof(tSirMacAddr));
vos_mem_copy( pAdapter->macAddressCurrent.bytes, macAddr, sizeof(tSirMacAddr));
pWlanDev->watchdog_timeo = HDD_TX_TIMEOUT;
+#ifndef QCA_WIFI_2_0
pWlanDev->hard_header_len += LIBRA_HW_NEEDED_HEADROOM;
+#endif
#ifdef QCA_WIFI_2_0
if (pHddCtx->cfg_ini->enableIPChecksumOffload)
diff --git a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
index caa71576284b..8e6986f115bb 100644
--- a/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_softap_tx_rx.c
@@ -625,26 +625,6 @@ int hdd_softap_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
ac = hdd_QdiscAcToTlAC[skb->queue_mapping];
++pAdapter->hdd_stats.hddTxRxStats.txXmitClassifiedAC[ac];
-#if defined (IPA_OFFLOAD)
- if(!(NBUF_OWNER_ID(skb) == IPA_NBUF_OWNER_ID)) {
-#endif
- // Check if the buffer has enough header room
- skb = skb_unshare(skb, GFP_ATOMIC);
- if (!skb)
- goto drop_pkt;
-
- if (skb_headroom(skb) < dev->hard_header_len) {
- struct sk_buff *tmp;
- tmp = skb;
- skb = skb_realloc_headroom(tmp, dev->hard_header_len);
- dev_kfree_skb(tmp);
- if (!skb)
- goto drop_pkt;
- }
-#if defined (IPA_OFFLOAD)
- }
-#endif
-
#ifdef QCA_PKT_PROTO_TRACE
if ((hddCtxt->cfg_ini->gEnableDebugLog & VOS_PKT_TRAC_TYPE_EAPOL) ||
(hddCtxt->cfg_ini->gEnableDebugLog & VOS_PKT_TRAC_TYPE_DHCP))
diff --git a/CORE/HDD/src/wlan_hdd_tx_rx.c b/CORE/HDD/src/wlan_hdd_tx_rx.c
index 46f8c6a50068..0258a4d665f6 100644
--- a/CORE/HDD/src/wlan_hdd_tx_rx.c
+++ b/CORE/HDD/src/wlan_hdd_tx_rx.c
@@ -986,26 +986,6 @@ int hdd_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
//Get TL AC corresponding to Qdisc queue index/AC.
ac = hdd_QdiscAcToTlAC[skb->queue_mapping];
-#ifdef IPA_OFFLOAD
- if(!(NBUF_OWNER_ID(skb) == IPA_NBUF_OWNER_ID)) {
-#endif
-
- /* Check if the buffer has enough header room */
- skb = skb_unshare(skb, GFP_ATOMIC);
- if (!skb)
- goto drop_pkt;
-
- if (skb_headroom(skb) < dev->hard_header_len) {
- struct sk_buff *tmp;
- tmp = skb;
- skb = skb_realloc_headroom(tmp, dev->hard_header_len);
- dev_kfree_skb(tmp);
- if (!skb)
- goto drop_pkt;
- }
-#ifdef IPA_OFFLOAD
- }
-#endif
//user priority from IP header, which is already extracted and set from
//select_queue call back function
up = skb->priority;