qmi_wwan: Do not call netif_rx from rx_fixup
authorKristian Evensen <kristian.evensen@gmail.com>
Tue, 15 Jun 2021 10:01:51 +0000 (12:01 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Jun 2021 18:29:28 +0000 (11:29 -0700)
commit057d49334c02a79af81c30a8d240e641bd6f1741
tree851be480323e195c96f07e7d6128ddabe26e476f
parentc1a3d4067309451e68c33dbd356032549cc0bd8e
qmi_wwan: Do not call netif_rx from rx_fixup

When the QMI_WWAN_FLAG_PASS_THROUGH is set, netif_rx() is called from
qmi_wwan_rx_fixup(). When the call to netif_rx() is successful (which is
most of the time), usbnet_skb_return() is called (from rx_process()).
usbnet_skb_return() will then call netif_rx() a second time for the same
skb.

Simplify the code and avoid the redundant netif_rx() call by changing
qmi_wwan_rx_fixup() to always return 1 when QMI_WWAN_FLAG_PASS_THROUGH
is set. We then leave it up to the existing infrastructure to call
netif_rx().

Suggested-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Kristian Evensen <kristian.evensen@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/qmi_wwan.c