]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: ena: Change WARN_ON expression in ena_del_napi_in_range()
authorShay Agroskin <shayagr@amazon.com>
Wed, 19 Aug 2020 17:28:37 +0000 (20:28 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 26 Aug 2020 09:42:22 +0000 (11:42 +0200)
commit872fd9970352dc8acb36eb4a2ecea8f9adbfea59
tree88e91884dcf59f627e60bd3d103f0effe13aeb3a
parenta9ba2c12b07a3ecf95b620d422643b6de5cf78f9
net: ena: Change WARN_ON expression in ena_del_napi_in_range()

[ Upstream commit 8b147f6f3e7de4e51113e3e9ec44aa2debc02c58 ]

The ena_del_napi_in_range() function unregisters the napi handler for
rings in a given range.
This function had the following WARN_ON macro:

    WARN_ON(ENA_IS_XDP_INDEX(adapter, i) &&
    adapter->ena_napi[i].xdp_ring);

This macro prints the call stack if the expression inside of it is
true [1], but the expression inside of it is the wanted situation.
The expression checks whether the ring has an XDP queue and its index
corresponds to a XDP one.

This patch changes the expression to
    !ENA_IS_XDP_INDEX(adapter, i) && adapter->ena_napi[i].xdp_ring
which indicates an unwanted situation.

Also, change the structure of the function. The napi handler is
unregistered for all rings, and so there's no need to check whether the
index is an XDP index or not. By removing this check the code becomes
much more readable.

Fixes: 548c4940b9f1 ("net: ena: Implement XDP_TX action")
Signed-off-by: Shay Agroskin <shayagr@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/amazon/ena/ena_netdev.c