Duty cycle is nothing but percentage of one period in which a
signal is active. But it is wrongly interpreted as ratio of quiet
duration. So fix the quiet duration to the remaining percentage
of duty cycle (active ratio).

Signed-off-by: Rajkumar Manoharan <[email protected]>
---
 drivers/net/wireless/ath/ath10k/thermal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/thermal.c 
b/drivers/net/wireless/ath/ath10k/thermal.c
index aede750..0d89ab5 100644
--- a/drivers/net/wireless/ath/ath10k/thermal.c
+++ b/drivers/net/wireless/ath/ath10k/thermal.c
@@ -98,7 +98,7 @@ static int ath10k_thermal_set_cur_dutycycle(struct 
thermal_cooling_device *cdev,
        }
        period = max(ATH10K_QUIET_PERIOD_MIN,
                     (ATH10K_QUIET_PERIOD_DEFAULT / num_bss));
-       duration = (period * duty_cycle) / 100;
+       duration = (period * (100 - duty_cycle)) / 100;
        enabled = duration ? 1 : 0;
 
        ret = ath10k_wmi_pdev_set_quiet_mode(ar, period, duration,
-- 
2.3.0

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to