|
@@ -311,6 +311,8 @@ static void _rtl_init_mac80211(struct ieee80211_hw *hw)
|
|
|
IEEE80211_HW_RX_INCLUDES_FCS |
|
|
|
IEEE80211_HW_BEACON_FILTER |
|
|
|
IEEE80211_HW_AMPDU_AGGREGATION |
|
|
|
+ IEEE80211_HW_CONNECTION_MONITOR |
|
|
|
+ /* IEEE80211_HW_SUPPORTS_CQM_RSSI | */
|
|
|
IEEE80211_HW_REPORTS_TX_ACK_STATUS | 0;
|
|
|
|
|
|
/* swlps or hwlps has been set in diff chip in init_sw_vars */
|
|
@@ -850,7 +852,7 @@ void rtl_get_tcb_desc(struct ieee80211_hw *hw,
|
|
|
*So tcb_desc->hw_rate is just used for
|
|
|
*special data and mgt frames
|
|
|
*/
|
|
|
- if (info->control.rates[0].idx == 0 &&
|
|
|
+ if (info->control.rates[0].idx == 0 ||
|
|
|
ieee80211_is_nullfunc(fc)) {
|
|
|
tcb_desc->use_driver_rate = true;
|
|
|
tcb_desc->ratr_index = RATR_INX_WIRELESS_MC;
|
|
@@ -1138,7 +1140,7 @@ void rtl_watchdog_wq_callback(void *data)
|
|
|
}
|
|
|
|
|
|
/*
|
|
|
- *<3> to check if traffic busy, if
|
|
|
+ *<2> to check if traffic busy, if
|
|
|
* busytraffic we don't change channel
|
|
|
*/
|
|
|
if (mac->link_state >= MAC80211_LINKED) {
|