Patch/Disable 80211.h power management/tx power while client

I'm using a Ubiquiti Nanostation loco m2 XW in client mode to connect to a AP quite far away. Because of the 80211.h framework the Nanostation on client site thinks it can only use 20dbm and reduces the tx power of the wlan0 interface to 20dbm. Systemlog shows the well known output:

Limiting TX power to 20 (20 - 0) dBm as advertised by xx:xx:xx...

Sometimes - after a lot of changes of the tx power settings the device starts working with its full 22dbm and the signal is significant better so I started to find out how to stop the 80211h tx power mangement on client site.

I alread applied the following patch, no change. The tx power on client site is still getting reduced.

--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -61,7 +61,8 @@  bool __ieee80211_recalc_txpower(struct ieee80211_sub_if_data *sdata)
    if (sdata->user_power_level != IEEE80211_UNSET_POWER_LEVEL)
        power = min(power, sdata->user_power_level);

-   if (sdata->ap_power_level != IEEE80211_UNSET_POWER_LEVEL)
+   if (sdata->ap_power_level != IEEE80211_UNSET_POWER_LEVEL &&
+       sdata->vif.bss_conf.txpower_type != NL80211_TX_POWER_FIXED)
        power = min(power, sdata->ap_power_level);

    if (power != sdata->vif.bss_conf.txpower) {

Now I started to build a new patch for the net/mac80211/mlme.c file where the 80211.h magic is happening but I'm not very familiar with the openwrt code...

I tried to change the used AP power through this patch (not a general fix at this point) and the webgui and iw dev shows 22.00 dbm but watching the tx rates it looks like, that the real tx rate didn't change. So perhaps someone knows how to completly disable the 802.11h power management feature on a 2.4ghz station...

+++ b/net/mac80211/mlme.c
@@ -1540,8 +1540,8 @@ static u32 ieee80211_handle_pwr_constr(s
 		has_80211h_pwr = ieee80211_find_80211h_pwr_constr(
 			sdata, channel, country_ie, country_ie_len,
 			pwr_constr_ie, &chan_pwr, &pwr_reduction_80211h);
-		pwr_level_80211h =
-			max_t(int, 0, chan_pwr - pwr_reduction_80211h);
+			pwr_level_80211h = 
+				max_t(int, 0, chan_pwr + 2);

The patch is very basic at this point. I just removed the pwe_reduction because of 80211.h and added to 2dbm to reach the maximal allowed dbm/mw number in my country.

Perhaps someone knows how to patch the net/mac80211/mlme.c file or anything else to disable the function that the AP can send a wrong(!) tx power rate to the client. There is no access to the AP by the way.