From 6a900b6db571c6712631b2812f67aa079e634943 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 May 2016 17:26:31 +0100 Subject: [PATCH] brcmfmac: use ndev->needed_headroom to reserve additional header space When using nmap tool with FMAC, the nmap packets were be dropped by kernel because the size was too short. The kernel message showed like "nmap: packet size is too short (42 <= 50)". It is caused by the packet length is shorter than ndev->hard_header_len. According to LL_RESERVED_SPACE() and hard_header_len definition, we should use hard_header_len to reserve L2 header, like ethernet header(ETH_HLEN) in our case and use needed_headroom for the additional headroom needed by hardware. [ Patch from Broadcom ] See: https://github.com/raspberrypi/linux/issues/1357 Signed-off-by: Phil Elwell --- drivers/net/wireless/brcm80211/brcmfmac/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/brcm80211/brcmfmac/core.c b/drivers/net/wireless/brcm80211/brcmfmac/core.c index b5ab98ee14455a..842d0786b076ec 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/core.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/core.c @@ -696,7 +696,7 @@ int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked) /* set appropriate operations */ ndev->netdev_ops = &brcmf_netdev_ops_pri; - ndev->hard_header_len += drvr->hdrlen; + ndev->needed_headroom += drvr->hdrlen; ndev->ethtool_ops = &brcmf_ethtool_ops; drvr->rxsz = ndev->mtu + ndev->hard_header_len +