[PATCH v2] ath10k: implement sta_rc_update()

Kalle Valo kvalo at qca.qualcomm.com
Fri Dec 20 05:21:11 EST 2013


Michal Kazior <michal.kazior at tieto.com> writes:

> This should fix possible connectivity issues upon
> changes of channel width, number of streams or
> SMPS on connected stations.
>
> An example trigger would be an action frame with
> operation mode change notification.
>
> Signed-off-by: Michal Kazior <michal.kazior at tieto.com>

[...]

> +static void ath10k_sta_rc_update(struct ieee80211_hw *hw,
> +				 struct ieee80211_vif *vif,
> +				 struct ieee80211_sta *sta,
> +				 u32 changed)
> +{
> +	struct ath10k *ar = hw->priv;
> +	struct ath10k_vif *arvif = ath10k_vif_to_arvif(vif);
> +	u32 chwidth, smps;
> +	int ret;
> +

[...]

> +		ret = ath10k_wmi_peer_set_param(ar, arvif->vdev_id, sta->addr,
> +						WMI_PEER_CHAN_WIDTH, chwidth);

Johannes pointed out (danke!) that sta_rc_update() must be atomic, but
all these WMI calls can sleep.

-- 
Kalle Valo



More information about the ath10k mailing list