wifi: iwlwifi: mvm: rs: print BAD_RATE for invalid HT/VHT index
authorJohannes Berg <johannes.berg@intel.com>
Tue, 14 Mar 2023 17:49:32 +0000 (19:49 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 15 Mar 2023 12:25:15 +0000 (13:25 +0100)
If there's a rate->index that maps inside the range but
to an uninitialized value, then that's also a bad rate,
avoid printing "(nil)" in that case and rather print the
"BAD_RATE" string instead as in the else branch.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230314194113.06b38d160fc5.I45a9254d3658b1ce796aa4c427193d3cbf638d7e@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/rs.c

index 7c976b7f1cd74d1dfa59f379e777efb5a8725847..bd135b7168cbc02d5a67f858e3549f2ee78c12d3 100644 (file)
@@ -512,10 +512,10 @@ static char *rs_pretty_rate(const struct rs_rate *rate)
                 (rate->index <= IWL_RATE_MCS_9_INDEX))
                rate_str = ht_vht_rates[rate->index];
        else
-               rate_str = "BAD_RATE";
+               rate_str = NULL;
 
        sprintf(buf, "(%s|%s|%s)", rs_pretty_lq_type(rate->type),
-               iwl_rs_pretty_ant(rate->ant), rate_str);
+               iwl_rs_pretty_ant(rate->ant), rate_str ?: "BAD_RATE");
        return buf;
 }