> On 12 November 2014 07:26, David Ward <david.w...@ll.mit.edu> wrote:
> [...]
> > +static void iwlagn_mac_sta_rc_update(struct ieee80211_hw *hw,
> > + struct ieee80211_vif *vif,
> > + struct ieee80211_sta *sta, u32
> > +changed) {
> > + struct iwl_priv *priv = IWL_MAC80211_GET_DVM(hw);
> > +
> > + if (!(changed & IEEE80211_RC_SUPP_RATES_CHANGED))
> > + return;
> > +
> > + /* Update rate scaling */
> > + IWL_DEBUG_INFO(priv,
> > + "Updating rate scaling for station %pM\n",
> > + sta->addr);
> > + iwl_rs_rate_init(priv, sta, iwl_sta_id(sta));
>
> sta_rc_update() must be atomic. I'm not really familiar with iwl that much but
> it seems to me iwl_rs_rate_init() -> iwl_send_lq_cmd(..., 0,
> true) can sleep, no?
>
>
Yes - good point.
N�����r��y����b�X��ǧv�^�){.n�+����{��*ޕ�,�{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�m��������zZ+�����ݢj"��!�i