mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
bf6f7cf29b
The removed patches were applied upstream. Remove the 300-mac80211-optimize-skb-resizing.patch. This patch was not applied upstream, but it conflicts with upstream changes and needs bigger changes. It was applied with Felix to remove this patch for now. It should be reworked and then send upstream later. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
50 lines
2.1 KiB
Diff
50 lines
2.1 KiB
Diff
From: Sven Eckelmann <seckelmann@datto.com>
|
|
Date: Tue, 11 Jun 2019 13:58:35 +0200
|
|
Subject: ath10k: fix max antenna gain unit
|
|
|
|
Most of the txpower for the ath10k firmware is stored as twicepower (0.5 dB
|
|
steps). This isn't the case for max_antenna_gain - which is still expected
|
|
by the firmware as dB.
|
|
|
|
The firmware is converting it from dB to the internal (twicepower)
|
|
representation when it calculates the limits of a channel. This can be seen
|
|
in tpc_stats when configuring "12" as max_antenna_gain. Instead of the
|
|
expected 12 (6 dB), the tpc_stats shows 24 (12 dB).
|
|
|
|
Tested on QCA9888 and IPQ4019 with firmware 10.4-3.5.3-00057.
|
|
|
|
Fixes: 02256930d9b8 ("ath10k: use proper tx power unit")
|
|
Signed-off-by: Sven Eckelmann <seckelmann@datto.com>
|
|
|
|
Forwarded: https://patchwork.kernel.org/patch/10986723/
|
|
|
|
--- a/drivers/net/wireless/ath/ath10k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath10k/mac.c
|
|
@@ -1038,7 +1038,7 @@ static int ath10k_monitor_vdev_start(str
|
|
arg.channel.min_power = 0;
|
|
arg.channel.max_power = channel->max_power * 2;
|
|
arg.channel.max_reg_power = channel->max_reg_power * 2;
|
|
- arg.channel.max_antenna_gain = channel->max_antenna_gain * 2;
|
|
+ arg.channel.max_antenna_gain = channel->max_antenna_gain;
|
|
|
|
reinit_completion(&ar->vdev_setup_done);
|
|
reinit_completion(&ar->vdev_delete_done);
|
|
@@ -1484,7 +1484,7 @@ static int ath10k_vdev_start_restart(str
|
|
arg.channel.min_power = 0;
|
|
arg.channel.max_power = chandef->chan->max_power * 2;
|
|
arg.channel.max_reg_power = chandef->chan->max_reg_power * 2;
|
|
- arg.channel.max_antenna_gain = chandef->chan->max_antenna_gain * 2;
|
|
+ arg.channel.max_antenna_gain = chandef->chan->max_antenna_gain;
|
|
|
|
if (arvif->vdev_type == WMI_VDEV_TYPE_AP) {
|
|
arg.ssid = arvif->u.ap.ssid;
|
|
@@ -3189,7 +3189,7 @@ static int ath10k_update_channel_list(st
|
|
ch->min_power = 0;
|
|
ch->max_power = channel->max_power * 2;
|
|
ch->max_reg_power = channel->max_reg_power * 2;
|
|
- ch->max_antenna_gain = channel->max_antenna_gain * 2;
|
|
+ ch->max_antenna_gain = channel->max_antenna_gain;
|
|
ch->reg_class_id = 0; /* FIXME */
|
|
|
|
/* FIXME: why use only legacy modes, why not any
|