• Brian Norris's avatar
    mwifiex: set needed_headroom, not hard_header_len · 9454f7a8
    Brian Norris authored
    hard_header_len provides limitations for things like AF_PACKET, such
    that we don't allow transmitting packets smaller than this.
    
    needed_headroom provides a suggested minimum headroom for SKBs, so that
    we can trivally add our headers to the front.
    
    The latter is the correct field to use in this case, while the former
    mostly just prevents sending small AF_PACKET frames.
    
    In any case, mwifiex already does its own bounce buffering [1] if we
    don't have enough headroom, so hints (not hard limits) are all that are
    needed.
    
    This is the essentially the same bug (and fix) that brcmfmac had, fixed
    in commit cb39288f ("brcmfmac: use ndev->needed_headroom to reserve
    additional header space").
    
    [1] mwifiex_hard_start_xmit():
    	if (skb_headroom(skb) < MWIFIEX_MIN_DATA_HEADER_LEN) {
    	[...]
    		/* Insufficient skb headroom - allocate a new skb */
    
    Fixes: 5e6e3a92 ("wireless: mwifiex: initial commit for Marvell mwifiex driver")
    Signed-off-by: default avatarBrian Norris <briannorris@chromium.org>
    Acked-by: default avatarGanapathi Bhat <ganapathi.gbhat@nxp.com>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    9454f7a8
cfg80211.c 124 KB