]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
wifi: wlcore: improve code in wlcore_fw_status()
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Tue, 28 May 2024 09:17:52 +0000 (10:17 +0100)
committerKalle Valo <kvalo@kernel.org>
Tue, 18 Jun 2024 10:22:11 +0000 (13:22 +0300)
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@armlinux.org.uk>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/E1sBsxs-00E8vc-DD@rmk-PC.armlinux.org.uk
drivers/net/wireless/ti/wlcore/main.c

index ef12169f8044d442371b3855628332d8e6af18c2..a98b26dc3cb8ff15eaf433992d4b5d6baf1af358 100644 (file)
@@ -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;