Two more fixes (in three patches):
* ath9k_htc doesn't like QoS NDP frames, use regular ones * hwsim: set up wmediumd for radios created later -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEH1e1rEeCd0AIMq6MB8qZga/fl8QFAlqySjUACgkQB8qZga/f l8RDig//bV/Fnwn7deyR7LJOi/g6HVyueCUi+cturTo9RQEQHnBtRVRu3c2Lnd+o 74f+2ofEWEFOYqTvZq5jUWjANOZ/ZGgA+fUw6tOfSmjkEPw9EkST8mQl7lKH0dSR DYrRLKCHwPof9MQQgXHLq44e/26yFCxYP+ADSn9Q6yqo84e/cxP76nqSwYGLforx By1zzkMXPKtfvXTZ41UZTfXRMml2LIxBbCoWTfScIZWvusQjCl653f3lBfR3fynj qwzJJfcjt1TnOQSgCLzk03xi+ci5o157//GmvjT2hrRjRL3i22e+cmFtnXGNCjtg avmc7HftV0sAY8gecqhCLOiWnCuxxjDz1KxZW3dccuJxh1/jfsGtby3H/6stkU4s EU7AU/QhXL7HPHop+fyI+DapFmry0/h1tdKqoSGffONF/qMJmbkXFUvG0kAMqoWh nb/LTlGaVqk8Bz7hNbzP6zkPgEep3i6dBC9iRdfK3gclcEALsh2Z0mx6+ae3FEX3 HHbfB9RTDYUT0Tk33cVFrjMsOpwdhcGsu1ncMJc/iuTOGI/AO6TVhgPEjEj/4xth FO7SzpIpRUe47yKqM0Ykvoz5EwE2IWUt0/eXj+1X2hPNGpcYEZ4bvHQGk8D2h7tA kwd0YqEXjiUw53cSnS4+A45ecOhErH/ZND/ULb65KMl/JDf5gOQ= =fs06 -----END PGP SIGNATURE----- Merge tag 'mac80211-for-davem-2018-03-21' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211 Johannes Berg says: ==================== Two more fixes (in three patches): * ath9k_htc doesn't like QoS NDP frames, use regular ones * hwsim: set up wmediumd for radios created later ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
e0645d9b96
@ -729,6 +729,7 @@ static void ath9k_set_hw_capab(struct ath9k_htc_priv *priv,
|
|||||||
ieee80211_hw_set(hw, SPECTRUM_MGMT);
|
ieee80211_hw_set(hw, SPECTRUM_MGMT);
|
||||||
ieee80211_hw_set(hw, SIGNAL_DBM);
|
ieee80211_hw_set(hw, SIGNAL_DBM);
|
||||||
ieee80211_hw_set(hw, AMPDU_AGGREGATION);
|
ieee80211_hw_set(hw, AMPDU_AGGREGATION);
|
||||||
|
ieee80211_hw_set(hw, DOESNT_SUPPORT_QOS_NDP);
|
||||||
|
|
||||||
if (ath9k_ps_enable)
|
if (ath9k_ps_enable)
|
||||||
ieee80211_hw_set(hw, SUPPORTS_PS);
|
ieee80211_hw_set(hw, SUPPORTS_PS);
|
||||||
|
@ -2727,6 +2727,7 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
|
|||||||
mutex_init(&data->mutex);
|
mutex_init(&data->mutex);
|
||||||
|
|
||||||
data->netgroup = hwsim_net_get_netgroup(net);
|
data->netgroup = hwsim_net_get_netgroup(net);
|
||||||
|
data->wmediumd = hwsim_net_get_wmediumd(net);
|
||||||
|
|
||||||
/* Enable frame retransmissions for lossy channels */
|
/* Enable frame retransmissions for lossy channels */
|
||||||
hw->max_rates = 4;
|
hw->max_rates = 4;
|
||||||
|
@ -2063,6 +2063,9 @@ struct ieee80211_txq {
|
|||||||
* @IEEE80211_HW_SUPPORTS_TDLS_BUFFER_STA: Hardware supports buffer STA on
|
* @IEEE80211_HW_SUPPORTS_TDLS_BUFFER_STA: Hardware supports buffer STA on
|
||||||
* TDLS links.
|
* TDLS links.
|
||||||
*
|
*
|
||||||
|
* @IEEE80211_HW_DOESNT_SUPPORT_QOS_NDP: The driver (or firmware) doesn't
|
||||||
|
* support QoS NDP for AP probing - that's most likely a driver bug.
|
||||||
|
*
|
||||||
* @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays
|
* @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays
|
||||||
*/
|
*/
|
||||||
enum ieee80211_hw_flags {
|
enum ieee80211_hw_flags {
|
||||||
@ -2106,6 +2109,7 @@ enum ieee80211_hw_flags {
|
|||||||
IEEE80211_HW_REPORTS_LOW_ACK,
|
IEEE80211_HW_REPORTS_LOW_ACK,
|
||||||
IEEE80211_HW_SUPPORTS_TX_FRAG,
|
IEEE80211_HW_SUPPORTS_TX_FRAG,
|
||||||
IEEE80211_HW_SUPPORTS_TDLS_BUFFER_STA,
|
IEEE80211_HW_SUPPORTS_TDLS_BUFFER_STA,
|
||||||
|
IEEE80211_HW_DOESNT_SUPPORT_QOS_NDP,
|
||||||
|
|
||||||
/* keep last, obviously */
|
/* keep last, obviously */
|
||||||
NUM_IEEE80211_HW_FLAGS
|
NUM_IEEE80211_HW_FLAGS
|
||||||
|
@ -212,6 +212,7 @@ static const char *hw_flag_names[] = {
|
|||||||
FLAG(REPORTS_LOW_ACK),
|
FLAG(REPORTS_LOW_ACK),
|
||||||
FLAG(SUPPORTS_TX_FRAG),
|
FLAG(SUPPORTS_TX_FRAG),
|
||||||
FLAG(SUPPORTS_TDLS_BUFFER_STA),
|
FLAG(SUPPORTS_TDLS_BUFFER_STA),
|
||||||
|
FLAG(DOESNT_SUPPORT_QOS_NDP),
|
||||||
#undef FLAG
|
#undef FLAG
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -896,7 +896,8 @@ void ieee80211_send_nullfunc(struct ieee80211_local *local,
|
|||||||
struct ieee80211_hdr_3addr *nullfunc;
|
struct ieee80211_hdr_3addr *nullfunc;
|
||||||
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
|
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
|
||||||
|
|
||||||
skb = ieee80211_nullfunc_get(&local->hw, &sdata->vif, true);
|
skb = ieee80211_nullfunc_get(&local->hw, &sdata->vif,
|
||||||
|
!ieee80211_hw_check(&local->hw, DOESNT_SUPPORT_QOS_NDP));
|
||||||
if (!skb)
|
if (!skb)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user