]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
net: ena: update driver's rx drop statistics
authorNetanel Belgazal <netanel@amazon.com>
Fri, 23 Jun 2017 08:21:59 +0000 (11:21 +0300)
committerKamal Mostafa <kamal@canonical.com>
Mon, 10 Jul 2017 17:31:40 +0000 (10:31 -0700)
BugLink: http://bugs.launchpad.net/bugs/1701575
rx drop counter is reported by the device in the keep-alive
event.
update the driver's counter with the device counter.

Signed-off-by: Netanel Belgazal <netanel@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 11a9a460199f35f6cbd9d65516a262060cba4fec net-next)
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Acked-by: Brad Figg <brad.figg@canonical.com>
drivers/net/ethernet/amazon/ena/ena_netdev.c

index dea41e30f449e4c90556d6c10164d4c1e43dfff9..bccb99b5d2a2262f1539ad3613fd60d0cd137633 100644 (file)
@@ -3480,8 +3480,17 @@ static void ena_keep_alive_wd(void *adapter_data,
                              struct ena_admin_aenq_entry *aenq_e)
 {
        struct ena_adapter *adapter = (struct ena_adapter *)adapter_data;
+       struct ena_admin_aenq_keep_alive_desc *desc;
+       u64 rx_drops;
 
+       desc = (struct ena_admin_aenq_keep_alive_desc *)aenq_e;
        adapter->last_keep_alive_jiffies = jiffies;
+
+       rx_drops = ((u64)desc->rx_drops_high << 32) | desc->rx_drops_low;
+
+       u64_stats_update_begin(&adapter->syncp);
+       adapter->dev_stats.rx_drops = rx_drops;
+       u64_stats_update_end(&adapter->syncp);
 }
 
 static void ena_notification(void *adapter_data,