rtlwifi: Implement a common rtl_phy_scan_operation_backup() routine
Several of the drivers supported by rtlwifi individually implement the same routine that supports scans. As a first step, create this routine in driver rtlwifi. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
c6d3729984
commit
4f4826da8c
|
@ -1613,6 +1613,35 @@ err_free:
|
|||
}
|
||||
EXPORT_SYMBOL(rtl_send_smps_action);
|
||||
|
||||
void rtl_phy_scan_operation_backup(struct ieee80211_hw *hw, u8 operation)
|
||||
{
|
||||
struct rtl_priv *rtlpriv = rtl_priv(hw);
|
||||
struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw));
|
||||
enum io_type iotype;
|
||||
|
||||
if (!is_hal_stop(rtlhal)) {
|
||||
switch (operation) {
|
||||
case SCAN_OPT_BACKUP:
|
||||
iotype = IO_CMD_PAUSE_DM_BY_SCAN;
|
||||
rtlpriv->cfg->ops->set_hw_reg(hw,
|
||||
HW_VAR_IO_CMD,
|
||||
(u8 *)&iotype);
|
||||
break;
|
||||
case SCAN_OPT_RESTORE:
|
||||
iotype = IO_CMD_RESUME_DM_BY_SCAN;
|
||||
rtlpriv->cfg->ops->set_hw_reg(hw,
|
||||
HW_VAR_IO_CMD,
|
||||
(u8 *)&iotype);
|
||||
break;
|
||||
default:
|
||||
RT_TRACE(rtlpriv, COMP_ERR, DBG_EMERG,
|
||||
"Unknown Scan Backup operation.\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(rtl_phy_scan_operation_backup);
|
||||
|
||||
/* There seem to be issues in mac80211 regarding when del ba frames can be
|
||||
* received. As a work around, we make a fake del_ba if we receive a ba_req;
|
||||
* however, rx_agg was opened to let mac80211 release some ba related
|
||||
|
|
|
@ -152,5 +152,6 @@ int rtlwifi_rate_mapping(struct ieee80211_hw *hw,
|
|||
bool rtl_tx_mgmt_proc(struct ieee80211_hw *hw, struct sk_buff *skb);
|
||||
struct sk_buff *rtl_make_del_ba(struct ieee80211_hw *hw,
|
||||
u8 *sa, u8 *bssid, u16 tid);
|
||||
void rtl_phy_scan_operation_backup(struct ieee80211_hw *hw, u8 operation);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue