mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 16:36:49 +07:00
rtlwifi: rtl8192ce: Fix driver problem when radio switch off at module load
If the radio enable switch is off when the driver is loaded, it is not possible to get radio output until the driver is unloaded and reloaded with the switch on. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
40d70dd122
commit
e6d8a817d0
@ -251,16 +251,14 @@ void rtl_init_rfkill(struct ieee80211_hw *hw)
|
||||
bool blocked;
|
||||
u8 valid = 0;
|
||||
|
||||
/*set init state to rf on */
|
||||
rtlpriv->rfkill.rfkill_state = 1;
|
||||
|
||||
radio_state = rtlpriv->cfg->ops->radio_onoff_checking(hw, &valid);
|
||||
|
||||
if (valid) {
|
||||
RT_TRACE(rtlpriv, COMP_RF, DBG_DMESG,
|
||||
(KERN_INFO "wireless switch is %s\n",
|
||||
rtlpriv->rfkill.rfkill_state ? "on" : "off"));
|
||||
/*set init state to that of switch */
|
||||
rtlpriv->rfkill.rfkill_state = radio_state;
|
||||
printk(KERN_INFO "rtlwifi: wireless switch is %s\n",
|
||||
rtlpriv->rfkill.rfkill_state ? "on" : "off");
|
||||
|
||||
if (valid) {
|
||||
rtlpriv->rfkill.rfkill_state = radio_state;
|
||||
|
||||
blocked = (rtlpriv->rfkill.rfkill_state == 1) ? 0 : 1;
|
||||
|
@ -962,17 +962,6 @@ int rtl92ce_hw_init(struct ieee80211_hw *hw)
|
||||
rtl_cam_reset_all_entry(hw);
|
||||
rtl92ce_enable_hw_security_config(hw);
|
||||
ppsc->rfpwr_state = ERFON;
|
||||
tmp_u1b = rtl_read_byte(rtlpriv, REG_MAC_PINMUX_CFG)&(~BIT(3));
|
||||
rtl_write_byte(rtlpriv, REG_MAC_PINMUX_CFG, tmp_u1b);
|
||||
tmp_u1b = rtl_read_byte(rtlpriv, REG_GPIO_IO_SEL);
|
||||
ppsc->rfoff_reason |= (tmp_u1b & BIT(3)) ? 0 : RF_CHANGE_BY_HW;
|
||||
if (ppsc->rfoff_reason > RF_CHANGE_BY_PS)
|
||||
rtl_ps_set_rf_state(hw, ERFOFF, ppsc->rfoff_reason, true);
|
||||
else {
|
||||
ppsc->rfpwr_state = ERFON;
|
||||
ppsc->rfoff_reason = 0;
|
||||
rtlpriv->cfg->ops->led_control(hw, LED_CTL_POWER_ON);
|
||||
}
|
||||
rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_ETHER_ADDR, mac->mac_addr);
|
||||
_rtl92ce_enable_aspm_back_door(hw);
|
||||
rtlpriv->intf_ops->enable_aspm(hw);
|
||||
|
Loading…
Reference in New Issue
Block a user