From: Intiyaz Basha <intiyaz.ba...@cavium.com>

netdev->rx_dropped was including packets dropped by napi_gro_receive.
If a packet is dropped by network stack, it should not be counted under
driver Rx dropped.
    
Made necessary changes to not include network stack drops under
netdev->rx_dropped.

Signed-off-by: Intiyaz Basha <intiyaz.ba...@cavium.com>
Signed-off-by: Satanand Burla <satananda.bu...@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlu...@cavium.com>
---
 drivers/net/ethernet/cavium/liquidio/lio_core.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ethernet/cavium/liquidio/lio_core.c 
b/drivers/net/ethernet/cavium/liquidio/lio_core.c
index 89b7820..32ae63b 100644
--- a/drivers/net/ethernet/cavium/liquidio/lio_core.c
+++ b/drivers/net/ethernet/cavium/liquidio/lio_core.c
@@ -467,7 +467,6 @@ static int octeon_setup_droq(struct octeon_device *oct, int 
q_no, int num_descs,
        if (netdev) {
                struct lio *lio = GET_LIO(netdev);
                struct octeon_device *oct = lio->oct_dev;
-               int packet_was_received;
 
                /* Do not proceed if the interface is not in RUNNING state. */
                if (!ifstate_check(lio, LIO_IFSTATE_RUNNING)) {
@@ -570,18 +569,10 @@ static int octeon_setup_droq(struct octeon_device *oct, 
int q_no, int num_descs,
                        __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q), vtag);
                }
 
-               packet_was_received = (napi_gro_receive(napi, skb) != GRO_DROP);
-
-               if (packet_was_received) {
-                       droq->stats.rx_bytes_received += len;
-                       droq->stats.rx_pkts_received++;
-               } else {
-                       droq->stats.rx_dropped++;
-                       netif_info(lio, rx_err, lio->netdev,
-                                  "droq:%d  error rx_dropped:%llu\n",
-                                  droq->q_no, droq->stats.rx_dropped);
-               }
+               napi_gro_receive(napi, skb);
 
+               droq->stats.rx_bytes_received += len;
+               droq->stats.rx_pkts_received++;
        } else {
                recv_buffer_free(skb);
        }
-- 
1.8.3.1

Reply via email to