From 5203433078993b142f5d4ec54cae9a9bc797a478 Mon Sep 17 00:00:00 2001 From: Florian Pose Date: Mon, 8 Mar 2010 07:40:54 +0100 Subject: [PATCH] Fixed frame statistics. --- master/device.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/master/device.c b/master/device.c index daf7cca1..5730a0e8 100644 --- a/master/device.c +++ b/master/device.c @@ -324,21 +324,20 @@ void ec_device_send( // frame statistics if (unlikely(jiffies - device->stats_jiffies >= HZ)) { unsigned int i; - unsigned int tx_rate = device->tx_count - device->last_tx_count; + unsigned int tx_rate = + (device->tx_count - device->last_tx_count) * 1000; int loss = device->tx_count - device->rx_count; int loss_rate = (loss - device->last_loss) * 1000; for (i = 0; i < EC_RATE_COUNT; i++) { unsigned int n = rate_intervals[i]; device->tx_rates[i] = - device->tx_rates[i] * (n - 1) + - tx_rate * n; + (device->tx_rates[i] * (n - 1) + tx_rate) / n; device->loss_rates[i] = - device->loss_rates[i] * (n - 1) + - loss_rate * n; + (device->loss_rates[i] * (n - 1) + loss_rate) / n; } device->last_tx_count = device->tx_count; device->last_loss = loss; - device->stats_jiffies += HZ; + device->stats_jiffies = jiffies; } if (unlikely(!device->link_state)) // Link down