--- /dev/null
+From: Wright Feng <wright.feng@broadcom.com>
+Date: Fri, 3 Jun 2016 23:31:09 +0200
+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 definition of
+LL_RESERVED_SPACE() and hard_header_len, we should use hard_header_len
+to reserve for L2 header, like ethernet header(ETH_HLEN) in our case and
+use needed_headroom for the additional headroom needed by hardware.
+
+Reviewed-by: Arend Van Spriel <arend@broadcom.com>
+Signed-off-by: Wright Feng <wright.feng@broadcom.com>
+Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
+Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
+---
+
+--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
+@@ -516,7 +516,7 @@ int brcmf_net_attach(struct brcmf_if *if
+ /* 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 +