Re: [PATCH 06/10] wifi: ath12k: do not return invalid link id for scan link

Kalle Valo
2024-11-28T12:34:31Z

Baochen Qiang <quic_bqiang@quicinc.com> writes:

> On 11/27/2024 1:11 AM, Kalle Valo wrote:
>> From: Sriram R <quic_srirrama@quicinc.com>
>>
>> @@ -4317,14 +4327,14 @@ static void ath12k_mac_op_cancel_hw_scan(struct ieee80211_hw *hw,
>> struct ieee80211_vif *vif)
>> {
>> struct ath12k_vif *ahvif = ath12k_vif_to_ahvif(vif);
>> + u16 link_id = ahvif->last_scan_link;
>> struct ath12k_link_vif *arvif;
>> struct ath12k *ar;
>>
>> lockdep_assert_wiphy(hw->wiphy);
>>
>> - arvif = &ahvif->deflink;
>> -
>> - if (!arvif->is_created)
>> + arvif = wiphy_dereference(hw->wiphy, ahvif->link[link_id]);
>> + if (!arvif || arvif->is_created)
>
> s/arvif->is_created/!arvif->is_created/ ?

Another good catch! Fixed now.

>> @@ -7990,6 +8011,19 @@ static struct ath12k *ath12k_mac_assign_vif_to_vdev(struct ieee80211_hw *hw,
>> if (!ar)
>> return NULL;
>>
>> + /* cleanup the scan vdev if we are done scan on that ar
>> + * and now we want to create for actual usage.
>> + */
>> + if (vif->valid_links) {
>
> better to use ieee80211_vif_is_mld()?

Yup, fixed in the pending branch:

https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git/commit/?h=pending&id=54504518cb26fef3dbaf16457cde91a9fd7e9c3d

Thanks for the detailed review, very much appreciated.

--