diff options
Diffstat (limited to 'drivers/net/wireless/rtlwifi/base.c')
| -rw-r--r-- | drivers/net/wireless/rtlwifi/base.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/wireless/rtlwifi/base.c b/drivers/net/wireless/rtlwifi/base.c index 4494d130b37..99c5cea3fe2 100644 --- a/drivers/net/wireless/rtlwifi/base.c +++ b/drivers/net/wireless/rtlwifi/base.c @@ -523,8 +523,8 @@ static void _rtl_query_shortgi(struct ieee80211_hw *hw,  	if (mac->opmode == NL80211_IFTYPE_STATION)  		bw_40 = mac->bw_40;  	else if (mac->opmode == NL80211_IFTYPE_AP || -		mac->opmode == NL80211_IFTYPE_ADHOC) -		bw_40 = sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40; +		 mac->opmode == NL80211_IFTYPE_ADHOC) +		bw_40 = sta->bandwidth >= IEEE80211_STA_RX_BW_40;  	if (bw_40 && sgi_40)  		tcb_desc->use_shortgi = true; @@ -634,8 +634,7 @@ static void _rtl_query_bandwidth_mode(struct ieee80211_hw *hw,  		return;  	if (mac->opmode == NL80211_IFTYPE_AP ||  	    mac->opmode == NL80211_IFTYPE_ADHOC) { -		if (!(sta->ht_cap.ht_supported) || -		    !(sta->ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)) +		if (sta->bandwidth == IEEE80211_STA_RX_BW_20)  			return;  	} else if (mac->opmode == NL80211_IFTYPE_STATION) {  		if (!mac->bw_40 || !(sta->ht_cap.ht_supported)) @@ -1004,7 +1003,8 @@ u8 rtl_is_special_data(struct ieee80211_hw *hw, struct sk_buff *skb, u8 is_tx)  					 is_tx ? "Tx" : "Rx");  				if (is_tx) { -					rtl_lps_leave(hw); +					schedule_work(&rtlpriv-> +						      works.lps_leave_work);  					ppsc->last_delaylps_stamp_jiffies =  					    jiffies;  				} @@ -1014,7 +1014,7 @@ u8 rtl_is_special_data(struct ieee80211_hw *hw, struct sk_buff *skb, u8 is_tx)  		}  	} else if (ETH_P_ARP == ether_type) {  		if (is_tx) { -			rtl_lps_leave(hw); +			schedule_work(&rtlpriv->works.lps_leave_work);  			ppsc->last_delaylps_stamp_jiffies = jiffies;  		} @@ -1024,7 +1024,7 @@ u8 rtl_is_special_data(struct ieee80211_hw *hw, struct sk_buff *skb, u8 is_tx)  			 "802.1X %s EAPOL pkt!!\n", is_tx ? "Tx" : "Rx");  		if (is_tx) { -			rtl_lps_leave(hw); +			schedule_work(&rtlpriv->works.lps_leave_work);  			ppsc->last_delaylps_stamp_jiffies = jiffies;  		}  |