| From: Brian Norris <briannorris@chromium.org> |
| Date: Tue, 31 Mar 2020 16:05:06 -0700 |
| Subject: [PATCH] iw: 'phy <name> reg get' shouldn't dump all domains |
| |
| 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@chromium.org> |
| --- |
| Submitted upstream here: |
| https://patchwork.kernel.org/patch/11468473/ |
| https://lkml.kernel.org/linux-wireless/20200331232833.142026-1-briannorris@chromium.org/T/#u |
| |
| 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.292.g33ef6b2f38-goog |
| |