On 4/23/2024 11:56 PM, Karthikeyan Periyasamy wrote: > Currently, in multi-wiphy models, the recovery handler access mac80211 > HW from the radio/link structure. This will be incorrect for single wiphy > model, as they will hold multiple link/radio structures. To fix this, > access mac80211 HW based on the number of hardware in the SoC/chip. This > approach makes the recovery handler compatible with both multi wiphy and > single wiphy models. > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@xxxxxxxxxxx> > Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx> [...] > @@ -1006,35 +1005,34 @@ static void ath12k_core_pre_reconfigure_recovery(struct ath12k_base *ab) > set_bit(ATH12K_FLAG_CRASH_FLUSH, &ab->dev_flags); > > for (i = 0; i < ab->num_hw; i++) { > - if (!ab->ah[i]) > + ah = ab->ah[i]; > + if (!ah) > continue; > > - ah = ab->ah[i]; > ieee80211_stop_queues(ah->hw); > - } > > - for (i = 0; i < ab->num_radios; i++) { > - pdev = &ab->pdevs[i]; > - ar = pdev->ar; > - if (!ar || ar->state == ATH12K_STATE_OFF) > - continue; > + for (j = 0; j < ah->num_radio; j++) { > + ar = &ah->radio[j]; > + if (!ar || ar->state == ATH12K_STATE_OFF) remove !ar test, result of & operation can't be NULL > + continue;