diff options
| author | DARAM SUDHA <dsudha@qti.qualcomm.com> | 2014-05-08 16:02:49 +0530 |
|---|---|---|
| committer | Pitani Venkata Rajesh Kumar <c_vpitan@qti.qualcomm.com> | 2014-05-13 11:55:37 +0530 |
| commit | 711ffcb643e0d286db6f7a646f34cd563195f66d (patch) | |
| tree | 88411882bd521e0c1b74f8f973fe194b52b22675 | |
| parent | 8e328f3ed0ec858250df13984d5a124a1d647124 (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.c | 2 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_softap_tx_rx.c | 20 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_tx_rx.c | 20 |
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; |
