[PATCH wireless-next 3/8] wifi: wlcore: improve code in wlcore_fw_status()

From: Russell King (Oracle)
Date: Tue May 28 2024 - 05:18:28 EST


Referring to status->counters.tx_lnk_free_pkts[i] multiple times leads
to less efficient code. Cache this value in a local variable. This
also makes the code clearer.

Signed-off-by: Russell King (Oracle) <rmk+kernel@xxxxxxxxxxxxxxx>
---
drivers/net/wireless/ti/wlcore/main.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c
index ef12169f8044..a98b26dc3cb8 100644
--- a/drivers/net/wireless/ti/wlcore/main.c
+++ b/drivers/net/wireless/ti/wlcore/main.c
@@ -412,18 +412,18 @@ static int wlcore_fw_status(struct wl1271 *wl, struct wl_fw_status *status)


for_each_set_bit(i, wl->links_map, wl->num_links) {
- u8 diff;
+ u8 diff, tx_lnk_free_pkts;
lnk = &wl->links[i];

/* prevent wrap-around in freed-packets counter */
- diff = (status->counters.tx_lnk_free_pkts[i] -
- lnk->prev_freed_pkts) & 0xff;
+ tx_lnk_free_pkts = status->counters.tx_lnk_free_pkts[i];
+ diff = (tx_lnk_free_pkts - lnk->prev_freed_pkts) & 0xff;

if (diff == 0)
continue;

lnk->allocated_pkts -= diff;
- lnk->prev_freed_pkts = status->counters.tx_lnk_free_pkts[i];
+ lnk->prev_freed_pkts = tx_lnk_free_pkts;

/* accumulate the prev_freed_pkts counter */
lnk->total_freed_pkts += diff;
--
2.30.2