Browse Source

rtlwifi: rtl8192ce: Improve RF sleep routine

These changes match those of the latest vendor driver.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Larry Finger 11 years ago
parent
commit
99057920a2
1 changed files with 3 additions and 2 deletions
  1. 3 2
      drivers/net/wireless/rtlwifi/rtl8192ce/phy.c

+ 3 - 2
drivers/net/wireless/rtlwifi/rtl8192ce/phy.c

@@ -518,11 +518,12 @@ static bool _rtl92ce_phy_set_rf_power_state(struct ieee80211_hw *hw,
 		}
 		}
 	case ERFSLEEP:{
 	case ERFSLEEP:{
 			if (ppsc->rfpwr_state == ERFOFF)
 			if (ppsc->rfpwr_state == ERFOFF)
-				return false;
+				break;
 			for (queue_id = 0, i = 0;
 			for (queue_id = 0, i = 0;
 			     queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) {
 			     queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) {
 				ring = &pcipriv->dev.tx_ring[queue_id];
 				ring = &pcipriv->dev.tx_ring[queue_id];
-				if (skb_queue_len(&ring->queue) == 0) {
+				if (queue_id == BEACON_QUEUE ||
+				    skb_queue_len(&ring->queue) == 0) {
 					queue_id++;
 					queue_id++;
 					continue;
 					continue;
 				} else {
 				} else {