diff options
Diffstat (limited to 'drivers/staging/rtl8192e/rtl8192e/rtl_ps.c')
-rw-r--r-- | drivers/staging/rtl8192e/rtl8192e/rtl_ps.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c index 5a1cd22f5e25..1c49d5da68eb 100644 --- a/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c +++ b/drivers/staging/rtl8192e/rtl8192e/rtl_ps.c @@ -118,7 +118,7 @@ void rtl92e_ips_enter(struct net_device *dev) rt_state = priv->rtllib->rf_power_state; if (rt_state == rf_on && !psc->bSwRfProcessing && - (priv->rtllib->state != RTLLIB_LINKED) && + (priv->rtllib->link_state != MAC80211_LINKED) && (priv->rtllib->iw_mode != IW_MODE_MASTER)) { psc->eInactivePowerState = rf_off; _rtl92e_ps_update_rf_state(dev); @@ -209,7 +209,7 @@ void rtl92e_leisure_ps_enter(struct net_device *dev) &priv->rtllib->pwr_save_ctrl; if (!((priv->rtllib->iw_mode == IW_MODE_INFRA) && - (priv->rtllib->state == RTLLIB_LINKED)) + (priv->rtllib->link_state == MAC80211_LINKED)) || (priv->rtllib->iw_mode == IW_MODE_ADHOC) || (priv->rtllib->iw_mode == IW_MODE_MASTER)) return; @@ -217,14 +217,11 @@ void rtl92e_leisure_ps_enter(struct net_device *dev) if (psc->bLeisurePs) { if (psc->LpsIdleCount >= RT_CHECK_FOR_HANG_PERIOD) { - if (priv->rtllib->ps == RTLLIB_PS_DISABLED) { - if (priv->rtllib->SetFwCmdHandler) - priv->rtllib->SetFwCmdHandler(dev, FW_CMD_LPS_ENTER); - _rtl92e_ps_set_mode(dev, RTLLIB_PS_MBCAST | - RTLLIB_PS_UNICAST); - } - } else + if (priv->rtllib->ps == RTLLIB_PS_DISABLED) + _rtl92e_ps_set_mode(dev, RTLLIB_PS_MBCAST | RTLLIB_PS_UNICAST); + } else { psc->LpsIdleCount++; + } } } @@ -235,10 +232,7 @@ void rtl92e_leisure_ps_leave(struct net_device *dev) &priv->rtllib->pwr_save_ctrl; if (psc->bLeisurePs) { - if (priv->rtllib->ps != RTLLIB_PS_DISABLED) { + if (priv->rtllib->ps != RTLLIB_PS_DISABLED) _rtl92e_ps_set_mode(dev, RTLLIB_PS_DISABLED); - if (priv->rtllib->SetFwCmdHandler) - priv->rtllib->SetFwCmdHandler(dev, FW_CMD_LPS_LEAVE); - } } } |