|
@@ -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
|