Re: [PATCH] mwifiex: set needed_headroom, not hard_header_len

From: Kalle Valo
Date: Thu Mar 12 2020 - 09:42:34 EST


Brian Norris <briannorris@xxxxxxxxxxxx> wrote:

> 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 cb39288fd6bb ("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: 5e6e3a92b9a4 ("wireless: mwifiex: initial commit for Marvell mwifiex driver")
> Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> Acked-by: Ganapathi Bhat <ganapathi.gbhat@xxxxxxx>

Patch applied to wireless-drivers-next.git, thanks.

9454f7a895b8 mwifiex: set needed_headroom, not hard_header_len

--
https://patchwork.kernel.org/patch/11407493/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches