On Thu, 2025-02-13 at 22:46 +0530, Sarika Sharma wrote: > > + if (sinfo->filled & BIT_ULL(NL80211_STA_INFO_TX_BITRATE)) { > + if (!nl80211_put_sta_rate(msg, &sinfo->txrate, > + NL80211_STA_INFO_TX_BITRATE)) > + goto nla_put_failure; You don't need nested ifs where && will do just fine. > +static void cfg80211_sta_set_mld_rate_info(struct rate_info *sinfo_rate, > + struct rate_info *link_sinfo_rate) > +{ > + if (link_sinfo_rate->flags) > + sinfo_rate->flags = link_sinfo_rate->flags; > + if (link_sinfo_rate->legacy) > + sinfo_rate->legacy = link_sinfo_rate->legacy; > + if (link_sinfo_rate->mcs) > + sinfo_rate->mcs = link_sinfo_rate->mcs; > + if (link_sinfo_rate->nss) > + sinfo_rate->nss = link_sinfo_rate->nss; > + if (link_sinfo_rate->bw) > + sinfo_rate->bw = link_sinfo_rate->bw; > + if (link_sinfo_rate->he_gi) > + sinfo_rate->he_gi = link_sinfo_rate->he_gi; > + if (link_sinfo_rate->he_dcm) > + sinfo_rate->he_dcm = link_sinfo_rate->he_dcm; > + if (link_sinfo_rate->he_ru_alloc) > + sinfo_rate->he_ru_alloc = link_sinfo_rate->he_ru_alloc; > + if (link_sinfo_rate->n_bonded_ch) > + sinfo_rate->n_bonded_ch = link_sinfo_rate->n_bonded_ch; > + if (link_sinfo_rate->eht_gi) > + sinfo_rate->eht_gi = link_sinfo_rate->eht_gi; > + if (link_sinfo_rate->eht_ru_alloc) > + sinfo_rate->eht_ru_alloc = link_sinfo_rate->eht_ru_alloc; > +} I don't understand the if statements here. Many of these do not have a value of zero meaning "unknown"? johannes