aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211
diff options
context:
space:
mode:
authorArend van Spriel <arend@broadcom.com>2013-06-26 08:20:22 -0400
committerJohn W. Linville <linville@tuxdriver.com>2013-06-27 13:42:19 -0400
commitcc1b5463947a009d6303dc6dc436326f34617499 (patch)
treeeba7d7d789db2754f0f4e73d94adc0be941e0b48 /drivers/net/wireless/brcm80211
parentc6a681ab2c73c1296b4214307216dffeb52558df (diff)
brcmfmac: remove code and comment for older kernel support
In the code of the receive path some code was dealing with how things were done in older kernels. Not really needed for an upstream driver. Reviewed-by: Hante Meuleman <meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieterpg@broadcom.com> Signed-off-by: Arend van Spriel <arend@broadcom.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/brcm80211')
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c29
1 files changed, 2 insertions, 27 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
index 8c402e7b97eb..8e8975562ec3 100644
--- a/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
+++ b/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
@@ -281,8 +281,6 @@ void brcmf_txflowblock(struct device *dev, bool state)
281 281
282void brcmf_rx_frames(struct device *dev, struct sk_buff_head *skb_list) 282void brcmf_rx_frames(struct device *dev, struct sk_buff_head *skb_list)
283{ 283{
284 unsigned char *eth;
285 uint len;
286 struct sk_buff *skb, *pnext; 284 struct sk_buff *skb, *pnext;
287 struct brcmf_if *ifp; 285 struct brcmf_if *ifp;
288 struct brcmf_bus *bus_if = dev_get_drvdata(dev); 286 struct brcmf_bus *bus_if = dev_get_drvdata(dev);
@@ -306,33 +304,12 @@ void brcmf_rx_frames(struct device *dev, struct sk_buff_head *skb_list)
306 continue; 304 continue;
307 } 305 }
308 306
309 /* Get the protocol, maintain skb around eth_type_trans()
310 * The main reason for this hack is for the limitation of
311 * Linux 2.4 where 'eth_type_trans' uses the
312 * 'net->hard_header_len'
313 * to perform skb_pull inside vs ETH_HLEN. Since to avoid
314 * coping of the packet coming from the network stack to add
315 * BDC, Hardware header etc, during network interface
316 * registration
317 * we set the 'net->hard_header_len' to ETH_HLEN + extra space
318 * required
319 * for BDC, Hardware header etc. and not just the ETH_HLEN
320 */
321 eth = skb->data;
322 len = skb->len;
323
324 skb->dev = ifp->ndev; 307 skb->dev = ifp->ndev;
325 skb->protocol = eth_type_trans(skb, skb->dev); 308 skb->protocol = eth_type_trans(skb, skb->dev);
326 309
327 if (skb->pkt_type == PACKET_MULTICAST) 310 if (skb->pkt_type == PACKET_MULTICAST)
328 ifp->stats.multicast++; 311 ifp->stats.multicast++;
329 312
330 skb->data = eth;
331 skb->len = len;
332
333 /* Strip header, count, deliver upward */
334 skb_pull(skb, ETH_HLEN);
335
336 /* Process special event packets */ 313 /* Process special event packets */
337 brcmf_fweh_process_skb(drvr, skb); 314 brcmf_fweh_process_skb(drvr, skb);
338 315
@@ -348,10 +325,8 @@ void brcmf_rx_frames(struct device *dev, struct sk_buff_head *skb_list)
348 netif_rx(skb); 325 netif_rx(skb);
349 else 326 else
350 /* If the receive is not processed inside an ISR, 327 /* If the receive is not processed inside an ISR,
351 * the softirqd must be woken explicitly to service 328 * the softirqd must be woken explicitly to service the
352 * the NET_RX_SOFTIRQ. In 2.6 kernels, this is handled 329 * NET_RX_SOFTIRQ. This is handled by netif_rx_ni().
353 * by netif_rx_ni(), but in earlier kernels, we need
354 * to do it manually.
355 */ 330 */
356 netif_rx_ni(skb); 331 netif_rx_ni(skb);
357 } 332 }