Re: [PATCH 4.9] brcmfmac: use correct skb freeing helper when deleting flowring

From: RafaÅ MiÅecki
Date: Tue Sep 27 2016 - 08:08:24 EST


On 27 September 2016 at 14:04, Arend Van Spriel
<arend.vanspriel@xxxxxxxxxxxx> wrote:
> On 27-9-2016 13:58, RafaÅ MiÅecki wrote:
>> On 27 September 2016 at 13:44, RafaÅ MiÅecki <zajec5@xxxxxxxxx> wrote:
>>> On 27 September 2016 at 13:27, Kalle Valo <kvalo@xxxxxxxxxxxxxx> wrote:
>>>> Arend Van Spriel <arend.vanspriel@xxxxxxxxxxxx> writes:
>>>>
>>>>> On 27-9-2016 11:14, RafaÅ MiÅecki wrote:
>>>>>> From: RafaÅ MiÅecki <rafal@xxxxxxxxxx>
>>>>>>
>>>>>> Flowrings contain skbs waiting for transmission that were passed to us
>>>>>> by netif. It means we checked every one of them looking for 802.1x
>>>>>> Ethernet type. When deleting flowring we have to use freeing function
>>>>>> that will check for 802.1x type as well.
>>>>>>
>>>>>> Freeing skbs without a proper check was leading to counter not being
>>>>>> properly decreased. This was triggering a WARNING every time
>>>>>> brcmf_netdev_wait_pend8021x was called.
>>>>>
>>>>> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx>
>>>>>> Signed-off-by: RafaÅ MiÅecki <rafal@xxxxxxxxxx>
>>>>>> ---
>>>>>> Kalle: this isn't important enough for 4.8 as it's too late for that.
>>>>>>
>>>>>> I'd like to get it for 4.9 however, as this fixes bug that could lead
>>>>>> to WARNING on every add_key/del_key call. We was struggling with these
>>>>>> WARNINGs for some time and this fixes one of two problems causing them.
>>>>
>>>> Ok, I'll queue this for 4.9.
>>>>
>>>>> Please mark it for stable as well.
>>>>
>>>> I can add that. Any ideas how old releases stable releases should this
>>>> go to?
>>>
>>> I was analyzing this.
>>> 1) This patch uses brcmf_get_ifp which is available in 4.4+ only.
>>> 2) It applies cleanly to 4.5+ only due to 32f90caa7debd ("brcmfmac:
>>> Increase nr of supported flowrings.")
>>> 3) 4.4 would also require applying to the patch without broadcom/ subdir
>>>
>>> That said I suggest 4.5+. Any objections?
>
> No objections. Just a tip. I tend to look at kernel.org main page to see
> the stable and long-term kernel listed. So 4.7+ and 4.5+ have same
> meaning as 4.5 and 4.6 are not stable/long-term kernels.

Some projects may work on their own stable kernels, e.g. Ubuntu, see:
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

That's why I don't always look strictly at upstream stable releases only.

--
RafaÅ