From: Ping-Ke Shih Date: Wed, 17 Jan 2018 06:15:22 +0000 (+0800) Subject: rtlwifi: fix scan channel 1 fail after IPS X-Git-Tag: rel_imx_4.19.35_1.1.0~10800^2~128^2~8 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=c8abbe79cce67f201bbbe8ce797476fdc96a80f4;p=linux.git rtlwifi: fix scan channel 1 fail after IPS If there is no connection, driver will enter IPS state. Meanwhile, it fails to scan channel 1 by the command 'iw dev wlan0 scan freq 2412', because hardware channel setting lose after IPS. Thus, restore channel setting from hw->conf.channel set by last rtl_op_config(). Signed-off-by: Tim Lee Signed-off-by: Ping-Ke Shih Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/realtek/rtlwifi/ps.c b/drivers/net/wireless/realtek/rtlwifi/ps.c index 6a4008845f49..71af24e2e051 100644 --- a/drivers/net/wireless/realtek/rtlwifi/ps.c +++ b/drivers/net/wireless/realtek/rtlwifi/ps.c @@ -51,6 +51,11 @@ bool rtl_ps_enable_nic(struct ieee80211_hw *hw) &rtlmac->retry_long); RT_CLEAR_PS_LEVEL(ppsc, RT_RF_OFF_LEVL_HALT_NIC); + rtlpriv->cfg->ops->switch_channel(hw); + rtlpriv->cfg->ops->set_channel_access(hw); + rtlpriv->cfg->ops->set_bw_mode(hw, + cfg80211_get_chandef_type(&hw->conf.chandef)); + /*<3> Enable Interrupt */ rtlpriv->cfg->ops->enable_interrupt(hw);