aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKuan-Chung Chen <damon.chen@realtek.com>2023-01-06 20:15:16 +0800
committerKalle Valo <kvalo@kernel.org>2023-01-16 15:37:42 +0200
commit95dafeabe477d9692154e85140eda5124895ea4f (patch)
treed78bfc1836a275dd79e51da217577105721ab5a9
parentfbc2caf19914371973f14b6ac7ef525c49e4b1f1 (diff)
downloadiwlwifi-next-95dafeabe477d9692154e85140eda5124895ea4f.tar.gz
wifi: rtw89: fix null vif pointer when get management frame date rate
When transmitting a packet that gets from ieee80211_nullfunc_get(), the vif in tx_info->control was no assigned, which will cause dereferencing a null pointer. Signed-off-by: Kuan-Chung Chen <damon.chen@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/20230106121517.19841-1-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
index 2e4ba8e42d392..27f7a1860c9d0 100644
--- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/drivers/net/wireless/realtek/rtw89/core.c
@@ -498,7 +498,8 @@ static u16 rtw89_core_get_mgmt_rate(struct rtw89_dev *rtwdev,
const struct rtw89_chan *chan = rtw89_chan_get(rtwdev, RTW89_SUB_ENTITY_0);
u16 lowest_rate;
- if (tx_info->flags & IEEE80211_TX_CTL_NO_CCK_RATE || vif->p2p)
+ if (tx_info->flags & IEEE80211_TX_CTL_NO_CCK_RATE ||
+ (vif && vif->p2p))
lowest_rate = RTW89_HW_RATE_OFDM6;
else if (chan->band_type == RTW89_BAND_2G)
lowest_rate = RTW89_HW_RATE_CCK1;