Merge tag 'master-2014-11-25' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
John W. Linville says: ==================== pull request: wireless 2014-11-26 Please pull this little batch of fixes intended for the 3.18 stream... For the iwlwifi one, Emmanuel says: "Not all the firmware know how to handle the HOT_SPOT_CMD. Make sure that the firmware will know this command before sending it. This avoids a firmware crash." Along with that, Larry sends a pair of rtlwifi fixes to address some discrepancies from moving drivers out of staging. Larry says: "These two patches are needed to fix a regression introduced when driver rtl8821ae was moved from staging to the regular wireless tree." Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
d1c637c51d
@ -155,6 +155,7 @@ enum iwl_ucode_tlv_api {
|
||||
* @IWL_UCODE_TLV_CAPA_QUIET_PERIOD_SUPPORT: supports Quiet Period requests
|
||||
* @IWL_UCODE_TLV_CAPA_DQA_SUPPORT: supports dynamic queue allocation (DQA),
|
||||
* which also implies support for the scheduler configuration command
|
||||
* @IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT: supports Hot Spot Command
|
||||
*/
|
||||
enum iwl_ucode_tlv_capa {
|
||||
IWL_UCODE_TLV_CAPA_D0I3_SUPPORT = BIT(0),
|
||||
@ -163,6 +164,7 @@ enum iwl_ucode_tlv_capa {
|
||||
IWL_UCODE_TLV_CAPA_WFA_TPC_REP_IE_SUPPORT = BIT(10),
|
||||
IWL_UCODE_TLV_CAPA_QUIET_PERIOD_SUPPORT = BIT(11),
|
||||
IWL_UCODE_TLV_CAPA_DQA_SUPPORT = BIT(12),
|
||||
IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT = BIT(18),
|
||||
};
|
||||
|
||||
/* The default calibrate table size if not specified by firmware file */
|
||||
|
@ -2448,9 +2448,15 @@ static int iwl_mvm_roc(struct ieee80211_hw *hw,
|
||||
|
||||
switch (vif->type) {
|
||||
case NL80211_IFTYPE_STATION:
|
||||
/* Use aux roc framework (HS20) */
|
||||
ret = iwl_mvm_send_aux_roc_cmd(mvm, channel,
|
||||
vif, duration);
|
||||
if (mvm->fw->ucode_capa.capa[0] &
|
||||
IWL_UCODE_TLV_CAPA_HOTSPOT_SUPPORT) {
|
||||
/* Use aux roc framework (HS20) */
|
||||
ret = iwl_mvm_send_aux_roc_cmd(mvm, channel,
|
||||
vif, duration);
|
||||
goto out_unlock;
|
||||
}
|
||||
IWL_ERR(mvm, "hotspot not supported\n");
|
||||
ret = -EINVAL;
|
||||
goto out_unlock;
|
||||
case NL80211_IFTYPE_P2P_DEVICE:
|
||||
/* handle below */
|
||||
|
@ -2249,6 +2249,16 @@ int rtl_pci_probe(struct pci_dev *pdev,
|
||||
/*like read eeprom and so on */
|
||||
rtlpriv->cfg->ops->read_eeprom_info(hw);
|
||||
|
||||
if (rtlpriv->cfg->ops->init_sw_vars(hw)) {
|
||||
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, "Can't init_sw_vars\n");
|
||||
err = -ENODEV;
|
||||
goto fail3;
|
||||
}
|
||||
rtlpriv->cfg->ops->init_sw_leds(hw);
|
||||
|
||||
/*aspm */
|
||||
rtl_pci_init_aspm(hw);
|
||||
|
||||
/* Init mac80211 sw */
|
||||
err = rtl_init_core(hw);
|
||||
if (err) {
|
||||
@ -2264,16 +2274,6 @@ int rtl_pci_probe(struct pci_dev *pdev,
|
||||
goto fail3;
|
||||
}
|
||||
|
||||
if (rtlpriv->cfg->ops->init_sw_vars(hw)) {
|
||||
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG, "Can't init_sw_vars\n");
|
||||
err = -ENODEV;
|
||||
goto fail3;
|
||||
}
|
||||
rtlpriv->cfg->ops->init_sw_leds(hw);
|
||||
|
||||
/*aspm */
|
||||
rtl_pci_init_aspm(hw);
|
||||
|
||||
err = ieee80211_register_hw(hw);
|
||||
if (err) {
|
||||
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
|
||||
|
@ -3672,8 +3672,9 @@ static void rtl8821ae_update_hal_rate_mask(struct ieee80211_hw *hw,
|
||||
mac->opmode == NL80211_IFTYPE_ADHOC)
|
||||
macid = sta->aid + 1;
|
||||
if (wirelessmode == WIRELESS_MODE_N_5G ||
|
||||
wirelessmode == WIRELESS_MODE_AC_5G)
|
||||
ratr_bitmap = sta->supp_rates[NL80211_BAND_5GHZ];
|
||||
wirelessmode == WIRELESS_MODE_AC_5G ||
|
||||
wirelessmode == WIRELESS_MODE_A)
|
||||
ratr_bitmap = sta->supp_rates[NL80211_BAND_5GHZ] << 4;
|
||||
else
|
||||
ratr_bitmap = sta->supp_rates[NL80211_BAND_2GHZ];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user