Right now, 'iw phy ... reg get' gets translated to NLM_F_DUMP, which dumps all domains. But this command really is looking for non-DUMP semantics -- it only wants the domain for the specified wiphy, or (per the kernel's choice) the global, if the wiphy doesn't have its own. We can achieve this by skipping the handle_reg_get() -> "reg dump" indirection. [ with a wiphy-specific domain ] Before: # iw phy phy0 reg get global country XX: DFS-YYY [...] phy#0 country AA: DFS-BBB [...] After: # iw phy phy0 reg get phy#0 country AA: DFS-BBB [...] [ without a wiphy-specific domain ] Before and after (unchanged): # iw phy phy0 reg get global country XX: DFS-YYY [...] Signed-off-by: Brian Norris <briannorris@xxxxxxxxxxxx> --- reg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reg.c b/reg.c index db1b12906519..3dc4b0eec679 100644 --- a/reg.c +++ b/reg.c @@ -256,7 +256,7 @@ static int handle_reg_get(struct nl80211_state *state, } COMMAND(reg, get, NULL, NL80211_CMD_GET_REG, 0, CIB_NONE, handle_reg_get, "Print out the kernel's current regulatory domain information."); -COMMAND(reg, get, NULL, NL80211_CMD_GET_REG, 0, CIB_PHY, handle_reg_get, +COMMAND(reg, get, NULL, NL80211_CMD_GET_REG, 0, CIB_PHY, handle_reg_dump, "Print out the devices' current regulatory domain information."); HIDDEN(reg, dump, NULL, NL80211_CMD_GET_REG, NLM_F_DUMP, CIB_NONE, handle_reg_dump); -- 2.26.0.rc2.310.g2932bb562d-goog