wifi: mac80211: ethtool: use deflink for now
authorJohannes Berg <johannes.berg@intel.com>
Tue, 14 Jun 2022 11:22:49 +0000 (13:22 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 20 Jun 2022 10:57:08 +0000 (12:57 +0200)
Hardcoding link[0] is more confusing than using deflink,
so use deflink for now, which requires making the macro
a bit safer.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ethtool.c

index 6aa02ef..c2b3837 100644 (file)
@@ -83,17 +83,17 @@ static void ieee80211_get_stats(struct net_device *dev,
 
 #define ADD_STA_STATS(sta)                                     \
        do {                                                    \
-               data[i++] += sta->rx_stats.packets;             \
-               data[i++] += sta->rx_stats.bytes;               \
-               data[i++] += sta->rx_stats.num_duplicates;      \
-               data[i++] += sta->rx_stats.fragments;           \
-               data[i++] += sta->rx_stats.dropped;             \
+               data[i++] += (sta)->rx_stats.packets;           \
+               data[i++] += (sta)->rx_stats.bytes;             \
+               data[i++] += (sta)->rx_stats.num_duplicates;    \
+               data[i++] += (sta)->rx_stats.fragments;         \
+               data[i++] += (sta)->rx_stats.dropped;           \
                                                                \
                data[i++] += sinfo.tx_packets;                  \
                data[i++] += sinfo.tx_bytes;                    \
-               data[i++] += sta->status_stats.filtered;        \
-               data[i++] += sta->status_stats.retry_failed;    \
-               data[i++] += sta->status_stats.retry_count;     \
+               data[i++] += (sta)->status_stats.filtered;      \
+               data[i++] += (sta)->status_stats.retry_failed;  \
+               data[i++] += (sta)->status_stats.retry_count;   \
        } while (0)
 
        /* For Managed stations, find the single station based on BSSID
@@ -114,7 +114,7 @@ static void ieee80211_get_stats(struct net_device *dev,
                sta_set_sinfo(sta, &sinfo, false);
 
                i = 0;
-               ADD_STA_STATS(sta->link[0]);
+               ADD_STA_STATS(&sta->deflink);
 
                data[i++] = sta->sta_state;
 
@@ -140,7 +140,7 @@ static void ieee80211_get_stats(struct net_device *dev,
                        memset(&sinfo, 0, sizeof(sinfo));
                        sta_set_sinfo(sta, &sinfo, false);
                        i = 0;
-                       ADD_STA_STATS(sta->link[0]);
+                       ADD_STA_STATS(&sta->deflink);
                }
        }