rtlwifi: rtl8192ce: Improve RF sleep routine
[cascardo/linux.git] / drivers / net / wireless / rtlwifi / rtl8192ce / phy.c
index bc5ca98..1ee5a6a 100644 (file)
@@ -518,11 +518,12 @@ static bool _rtl92ce_phy_set_rf_power_state(struct ieee80211_hw *hw,
                }
        case ERFSLEEP:{
                        if (ppsc->rfpwr_state == ERFOFF)
-                               return false;
+                               break;
                        for (queue_id = 0, i = 0;
                             queue_id < RTL_PCI_MAX_TX_QUEUE_COUNT;) {
                                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++;
                                        continue;
                                } else {