OSDN Git Service

net: ipa: certain dropped packets aren't accounted for
authorAlex Elder <elder@linaro.org>
Thu, 12 May 2022 15:10:31 +0000 (10:10 -0500)
committerDavid S. Miller <davem@davemloft.net>
Fri, 13 May 2022 11:01:42 +0000 (12:01 +0100)
commit30b338ff7998b6ed7a90815870cd5db725f87168
tree1baeda68e490d3041294b03b4464a765e8fb5bbd
parentf3f19f939c11925dadd3f4776f99f8c278a7017b
net: ipa: certain dropped packets aren't accounted for

If an RX endpoint receives packets containing status headers, and a
packet in the buffer is not dropped, ipa_endpoint_skb_copy() is
responsible for wrapping the packet data in an SKB and forwarding it
to ipa_modem_skb_rx() for further processing.

If ipa_endpoint_skb_copy() gets a null pointer from build_skb(), it
just returns early.  But in the process it doesn't record that as a
dropped packet in the network device statistics.

Instead, call ipa_modem_skb_rx() whether or not the SKB pointer is
NULL; that function ensures the statistics are properly updated.

Fixes: 1b65bbcc9a710 ("net: ipa: skip SKB copy if no netdev")
Signed-off-by: Alex Elder <elder@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ipa/ipa_endpoint.c