There are bugs of acounting statistics in fjes_xmit_frame().
Accounting self stats is wrong. accounting stats of other
EPs to be transmitted  is right.
This patch fixes this bug.

Signed-off-by: Taku Izumi <izumi.t...@jp.fujitsu.com>
---
 drivers/net/fjes/fjes_main.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/fjes/fjes_main.c b/drivers/net/fjes/fjes_main.c
index 061b4af..05bdd8b 100644
--- a/drivers/net/fjes/fjes_main.c
+++ b/drivers/net/fjes/fjes_main.c
@@ -653,7 +653,7 @@ fjes_xmit_frame(struct sk_buff *skb, struct net_device 
*netdev)
                                &adapter->hw.ep_shm_info[dest_epid].rx, 0)) {
                        /* version is NOT 0 */
                        adapter->stats64.tx_carrier_errors += 1;
-                       hw->ep_shm_info[my_epid].net_stats
+                       hw->ep_shm_info[dest_epid].net_stats
                                                .tx_carrier_errors += 1;
 
                        ret = NETDEV_TX_OK;
@@ -661,9 +661,9 @@ fjes_xmit_frame(struct sk_buff *skb, struct net_device 
*netdev)
                                &adapter->hw.ep_shm_info[dest_epid].rx,
                                netdev->mtu)) {
                        adapter->stats64.tx_dropped += 1;
-                       hw->ep_shm_info[my_epid].net_stats.tx_dropped += 1;
+                       hw->ep_shm_info[dest_epid].net_stats.tx_dropped += 1;
                        adapter->stats64.tx_errors += 1;
-                       hw->ep_shm_info[my_epid].net_stats.tx_errors += 1;
+                       hw->ep_shm_info[dest_epid].net_stats.tx_errors += 1;
 
                        ret = NETDEV_TX_OK;
                } else if (vlan &&
@@ -694,10 +694,10 @@ fjes_xmit_frame(struct sk_buff *skb, struct net_device 
*netdev)
                                            (long)adapter->tx_start_jiffies) >=
                                            FJES_TX_RETRY_TIMEOUT) {
                                        adapter->stats64.tx_fifo_errors += 1;
-                                       hw->ep_shm_info[my_epid].net_stats
+                                       hw->ep_shm_info[dest_epid].net_stats
                                                                .tx_fifo_errors 
+= 1;
                                        adapter->stats64.tx_errors += 1;
-                                       hw->ep_shm_info[my_epid].net_stats
+                                       hw->ep_shm_info[dest_epid].net_stats
                                                                .tx_errors += 1;
 
                                        ret = NETDEV_TX_OK;
@@ -714,10 +714,10 @@ fjes_xmit_frame(struct sk_buff *skb, struct net_device 
*netdev)
                        } else {
                                if (!is_multi) {
                                        adapter->stats64.tx_packets += 1;
-                                       hw->ep_shm_info[my_epid].net_stats
+                                       hw->ep_shm_info[dest_epid].net_stats
                                                                .tx_packets += 
1;
                                        adapter->stats64.tx_bytes += len;
-                                       hw->ep_shm_info[my_epid].net_stats
+                                       hw->ep_shm_info[dest_epid].net_stats
                                                                .tx_bytes += 
len;
                                }
 
-- 
2.4.3

Reply via email to