ath10k: htt_rx: fix signedness bug in ath10k_update_per_peer_tx_stats
authorGustavo A. R. Silva <gustavo@embeddedor.com>
Fri, 5 Oct 2018 18:42:45 +0000 (20:42 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 13 Oct 2018 17:23:05 +0000 (20:23 +0300)
Currently, the error handling for the call to function
ath10k_get_legacy_rate_idx() doesn't work because
*rate_idx* is of type u8 (8 bits, unsigned), which
makes it impossible for it to hold a value less
than 0.

Fix this by changing the type of variable *rate_idx*
to s8 (8 bits, signed).

Addresses-Coverity-ID: 1473914 ("Unsigned compared against 0")
Fixes: 0189dbd71cbd ("ath10k: get the legacy rate index to update the txrate table")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/htt_rx.c

index f2405258a6d39f8a7b40f87357a94cc5ab9d2d70..edd0e74b2732bfdc6693fd2c9cc39fe6c997a50b 100644 (file)
@@ -2753,7 +2753,8 @@ ath10k_update_per_peer_tx_stats(struct ath10k *ar,
                                struct ath10k_per_peer_tx_stats *peer_stats)
 {
        struct ath10k_sta *arsta = (struct ath10k_sta *)sta->drv_priv;
-       u8 rate = 0, rate_idx = 0, sgi;
+       u8 rate = 0, sgi;
+       s8 rate_idx = 0;
        struct rate_info txrate;
 
        lockdep_assert_held(&ar->data_lock);