diff options
author | Zong-Zhe Yang <kevin_yang@realtek.com> | 2023-06-02 18:05:49 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@kernel.org> | 2023-06-08 18:58:51 +0300 |
commit | b7d170d5a670de8d30d2db94179099f52f8df485 (patch) | |
tree | 30166779ecc3cbf4d543093460e4916f5bee7f95 | |
parent | 57369e2aa2eb9812368c6cf3c4378d1fbe9e8c8a (diff) | |
download | linux-b7d170d5a670de8d30d2db94179099f52f8df485.tar.xz |
wifi: rtw89: refine clearing supported bands to check 2/5 GHz first
We refine to check if supported bands of NL80211_BAND_2GHZ and
NL80211_BAND_5GHZ exist before freeing their iftype_data. For
now, it does not really encounter problems because all current
chips support both 2 GHz and 5 GHz. But, driver actually allows
chips to declare whether 2/5 GHz are supported or not. In case
some future chips really don't support them, we refine this code.
Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230602150556.36777-2-pkshih@realtek.com
-rw-r--r-- | drivers/net/wireless/realtek/rtw89/core.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index 5b5337890c76..33d47933eafc 100644 --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c @@ -3386,8 +3386,10 @@ static void rtw89_core_clr_supported_band(struct rtw89_dev *rtwdev) { struct ieee80211_hw *hw = rtwdev->hw; - kfree(hw->wiphy->bands[NL80211_BAND_2GHZ]->iftype_data); - kfree(hw->wiphy->bands[NL80211_BAND_5GHZ]->iftype_data); + if (hw->wiphy->bands[NL80211_BAND_2GHZ]) + kfree(hw->wiphy->bands[NL80211_BAND_2GHZ]->iftype_data); + if (hw->wiphy->bands[NL80211_BAND_5GHZ]) + kfree(hw->wiphy->bands[NL80211_BAND_5GHZ]->iftype_data); if (hw->wiphy->bands[NL80211_BAND_6GHZ]) kfree(hw->wiphy->bands[NL80211_BAND_6GHZ]->iftype_data); kfree(hw->wiphy->bands[NL80211_BAND_2GHZ]); |