From: Zong-Zhe Yang The rx_status->band expects enum nl80211_band instead of enum rtw89_band. Convert band from enum rtw89_band to enum nl80211_band before assignment. Fortunately, this problematic code had previously produced valid values, but fixing it should be better. Fixes: e16acf907a3c ("wifi: rtw89: Parse channel from IE to correct invalid hardware reports during scanning") Signed-off-by: Zong-Zhe Yang Signed-off-by: Ping-Ke Shih --- drivers/net/wireless/realtek/rtw89/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index 1ef8cf5f2dfd..67e84bcdc631 100644 --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c @@ -3835,6 +3835,7 @@ static void rtw89_core_update_rx_freq_from_ie(struct rtw89_dev *rtwdev, { struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)skb->data; size_t hdr_len, ielen; + enum rtw89_band tmp; u8 *variable; int chan; @@ -3868,7 +3869,8 @@ static void rtw89_core_update_rx_freq_from_ie(struct rtw89_dev *rtwdev, if (chan == -1) return; - rx_status->band = chan > 14 ? RTW89_BAND_5G : RTW89_BAND_2G; + tmp = chan > 14 ? RTW89_BAND_5G : RTW89_BAND_2G; + rx_status->band = rtw89_hw_to_nl80211_band(tmp); rx_status->freq = ieee80211_channel_to_frequency(chan, rx_status->band); } -- 2.53.0