Fix wireless regulatory API misuse (#55)

Fix wireless regulatory API misuse
Port of 81f153faac
Co-authored-by: andrés ramírez <aramirez@users.noreply.github.com>
This commit is contained in:
Carlos Garcés
2021-02-28 22:24:51 +01:00
committed by Carlos
parent a57f698501
commit f7d9efd207
4 changed files with 12 additions and 28 deletions

View File

@@ -15094,7 +15094,9 @@ u8 set_chplan_hdl(_adapter *padapter, unsigned char *pbuf)
rtw_hal_set_odm_var(padapter,HAL_ODM_REGULATION,NULL,_TRUE);
#ifdef CONFIG_IOCTL_CFG80211
rtw_reg_notify_by_driver(padapter);
if (padapter->rtw_wdev != NULL) {
rtw_reg_notify_by_driver(padapter->rtw_wdev->wiphy);
}
#endif //CONFIG_IOCTL_CFG80211
return H2C_SUCCESS;

View File

@@ -26,8 +26,8 @@ enum country_code_type_t {
COUNTRY_CODE_MAX
};
int rtw_regd_init(_adapter *padapter);
void rtw_reg_notify_by_driver(_adapter *adapter);
void rtw_regd_init(struct wiphy *wiphy);
void rtw_reg_notify_by_driver(struct wiphy *wiphy);
#endif /* __RTW_WIFI_REGD_H__ */

View File

@@ -6314,8 +6314,6 @@ void rtw_cfg80211_init_wiphy(_adapter *padapter)
rtw_cfg80211_init_ht_capab(padapter, &bands->ht_cap, IEEE80211_BAND_5GHZ, rf_type);
}
#endif
/* init regulary domain */
rtw_regd_init(padapter);
/* copy mac_addr to wiphy */
_rtw_memcpy(wiphy->perm_addr, adapter_mac_addr(padapter), ETH_ALEN);
@@ -6545,6 +6543,9 @@ struct wiphy *rtw_wiphy_alloc(_adapter *padapter, struct device *dev)
rtw_cfg80211_preinit_wiphy(padapter, wiphy);
/* init regulary domain */
rtw_regd_init(wiphy);
DBG_871X(FUNC_WIPHY_FMT"\n", FUNC_WIPHY_ARG(wiphy));
exit:

View File

@@ -476,12 +476,12 @@ void rtw_reg_notifier(struct wiphy *wiphy, struct regulatory_request *request)
#endif
}
void rtw_reg_notify_by_driver(_adapter *adapter)
void rtw_reg_notify_by_driver(struct wiphy *wiphy)
{
if ((adapter->rtw_wdev != NULL) && (adapter->rtw_wdev->wiphy)) {
if (wiphy) {
struct regulatory_request request;
request.initiator = NL80211_REGDOM_SET_BY_DRIVER;
rtw_reg_notifier(adapter->rtw_wdev->wiphy, &request);
rtw_reg_notifier(wiphy, &request);
}
}
@@ -521,28 +521,9 @@ static struct country_code_to_enum_rd *_rtw_regd_find_country(u16 countrycode)
return NULL;
}
int rtw_regd_init(_adapter * padapter)
void rtw_regd_init(struct wiphy *wiphy)
{
struct wiphy *wiphy = padapter->rtw_wdev->wiphy;
#if 0
if (rtw_regd == NULL) {
rtw_regd = (struct rtw_regulatory *)
rtw_malloc(sizeof(struct rtw_regulatory));
rtw_regd->alpha2[0] = '9';
rtw_regd->alpha2[1] = '9';
rtw_regd->country_code = COUNTRY_CODE_USER;
}
DBG_8192C("%s: Country alpha2 being used: %c%c\n",
__func__, rtw_regd->alpha2[0], rtw_regd->alpha2[1]);
#endif
_rtw_regd_init_wiphy(NULL, wiphy);
return 0;
}
#endif //CONFIG_IOCTL_CFG80211