wifi: iwlwifi: mvm: Add NULL check before dereferencing the pointer

While vif pointers are protected by the corresponding "*active"
fields, static checkers can get confused sometimes. Add an explicit
check.

Signed-off-by: Mukesh Sisodiya <mukesh.sisodiya@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230614154951.78749ae91fb5.Id3c05d13eeee6638f0930f750e93fb928d5c9dee@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Mukesh Sisodiya 2023-06-14 15:50:08 +03:00 committed by Johannes Berg
parent edcda51d99
commit 7dd50fd547

View file

@ -647,30 +647,32 @@ static void iwl_mvm_power_set_pm(struct iwl_mvm *mvm,
return;
/* enable PM on bss if bss stand alone */
if (vifs->bss_active && !vifs->p2p_active && !vifs->ap_active) {
if (bss_mvmvif && vifs->bss_active && !vifs->p2p_active &&
!vifs->ap_active) {
bss_mvmvif->pm_enabled = true;
return;
}
/* enable PM on p2p if p2p stand alone */
if (vifs->p2p_active && !vifs->bss_active && !vifs->ap_active) {
if (p2p_mvmvif && vifs->p2p_active && !vifs->bss_active &&
!vifs->ap_active) {
p2p_mvmvif->pm_enabled = true;
return;
}
if (vifs->bss_active && vifs->p2p_active)
if (p2p_mvmvif && bss_mvmvif && vifs->bss_active && vifs->p2p_active)
client_same_channel =
iwl_mvm_have_links_same_channel(bss_mvmvif, p2p_mvmvif);
if (vifs->bss_active && vifs->ap_active)
if (bss_mvmvif && ap_mvmvif && vifs->bss_active && vifs->ap_active)
ap_same_channel =
iwl_mvm_have_links_same_channel(bss_mvmvif, ap_mvmvif);
/* clients are not stand alone: enable PM if DCM */
if (!(client_same_channel || ap_same_channel)) {
if (vifs->bss_active)
if (bss_mvmvif && vifs->bss_active)
bss_mvmvif->pm_enabled = true;
if (vifs->p2p_active)
if (p2p_mvmvif && vifs->p2p_active)
p2p_mvmvif->pm_enabled = true;
return;
}