mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-29 21:56:39 +07:00
cfg80211: add debug prints for when we ignore regulatory hints
This can help with debugging issues. You will only see these with CONFIG_CFG80211_REG_DEBUG enabled. Cc: Easwar Krishnan <easwar.krishnan@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
ca4ffe8f28
commit
926a0a094d
@ -711,6 +711,25 @@ int freq_reg_info(struct wiphy *wiphy,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(freq_reg_info);
|
EXPORT_SYMBOL(freq_reg_info);
|
||||||
|
|
||||||
|
#ifdef CONFIG_CFG80211_REG_DEBUG
|
||||||
|
static const char *reg_initiator_name(enum nl80211_reg_initiator initiator)
|
||||||
|
{
|
||||||
|
switch (initiator) {
|
||||||
|
case NL80211_REGDOM_SET_BY_CORE:
|
||||||
|
return "Set by core";
|
||||||
|
case NL80211_REGDOM_SET_BY_USER:
|
||||||
|
return "Set by user";
|
||||||
|
case NL80211_REGDOM_SET_BY_DRIVER:
|
||||||
|
return "Set by driver";
|
||||||
|
case NL80211_REGDOM_SET_BY_COUNTRY_IE:
|
||||||
|
return "Set by country IE";
|
||||||
|
default:
|
||||||
|
WARN_ON(1);
|
||||||
|
return "Set by bug";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note that right now we assume the desired channel bandwidth
|
* Note that right now we assume the desired channel bandwidth
|
||||||
* is always 20 MHz for each individual channel (HT40 uses 20 MHz
|
* is always 20 MHz for each individual channel (HT40 uses 20 MHz
|
||||||
@ -821,19 +840,36 @@ static void handle_band(struct wiphy *wiphy,
|
|||||||
static bool ignore_reg_update(struct wiphy *wiphy,
|
static bool ignore_reg_update(struct wiphy *wiphy,
|
||||||
enum nl80211_reg_initiator initiator)
|
enum nl80211_reg_initiator initiator)
|
||||||
{
|
{
|
||||||
if (!last_request)
|
if (!last_request) {
|
||||||
|
REG_DBG_PRINT("cfg80211: Ignoring regulatory request %s since "
|
||||||
|
"last_request is not set\n",
|
||||||
|
reg_initiator_name(initiator));
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (initiator == NL80211_REGDOM_SET_BY_CORE &&
|
if (initiator == NL80211_REGDOM_SET_BY_CORE &&
|
||||||
wiphy->flags & WIPHY_FLAG_CUSTOM_REGULATORY)
|
wiphy->flags & WIPHY_FLAG_CUSTOM_REGULATORY) {
|
||||||
|
REG_DBG_PRINT("cfg80211: Ignoring regulatory request %s "
|
||||||
|
"since the driver uses its own custom "
|
||||||
|
"regulatory domain ",
|
||||||
|
reg_initiator_name(initiator));
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wiphy->regd will be set once the device has its own
|
* wiphy->regd will be set once the device has its own
|
||||||
* desired regulatory domain set
|
* desired regulatory domain set
|
||||||
*/
|
*/
|
||||||
if (wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY && !wiphy->regd &&
|
if (wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY && !wiphy->regd &&
|
||||||
initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE &&
|
initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE &&
|
||||||
!is_world_regdom(last_request->alpha2))
|
!is_world_regdom(last_request->alpha2)) {
|
||||||
|
REG_DBG_PRINT("cfg80211: Ignoring regulatory request %s "
|
||||||
|
"since the driver requires its own regulaotry "
|
||||||
|
"domain to be set first",
|
||||||
|
reg_initiator_name(initiator));
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user