[PATCHv3-ath-resend 2/2] ath10k: add spectral scan feature

Michal Kazior michal.kazior at tieto.com
Thu Jul 24 02:40:39 PDT 2014


On 24 July 2014 11:36, Simon Wunderlich <sw at simonwunderlich.de> wrote:
>> > @@ -800,8 +800,6 @@ int ath10k_core_start(struct ath10k *ar)
>> >
>> >     else
>> >
>> >             ar->free_vdev_map = (1 << TARGET_NUM_VDEVS) - 1;
>> >
>> > -   INIT_LIST_HEAD(&ar->arvifs);
>> > -
>> >
>> >     if (!test_bit(ATH10K_FLAG_FIRST_BOOT_DONE, &ar->dev_flags)) {
>> >
>> >             ath10k_info("%s (0x%08x, 0x%08x) fw %s api %d htt %d.%d\n",
>> >
>> >                         ar->hw_params.name,
>> >
>> > @@ -1084,6 +1082,12 @@ struct ath10k *ath10k_core_create(void *hif_priv,
>> > struct device *dev,
>> >
>> >     INIT_WORK(&ar->register_work, ath10k_core_register_work);
>> >     INIT_WORK(&ar->restart_work, ath10k_core_restart);
>> >
>> > +   INIT_LIST_HEAD(&ar->arvifs);
>>
>> I'm a bit suspicious about this, why is it needed?
>
> ath10k_spectral_init() clears the spectral_enabled bit for each vif, and
> therefore needs the list to be initialized ... it is also called on firmware
> crash by ath10k_halt, where checking the list is more useful.

You don't really need to clear arvif->spectral_enabled on crash.
arvif's are re-inserted by mac80211 via ath10k_add_interface which
uses memset() to clear everything before adding to ar->arvifs.


Michał



More information about the ath10k mailing list