PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX
authorLeonard Crestez <leonard.crestez@nxp.com>
Tue, 26 Nov 2019 15:17:11 +0000 (17:17 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 29 Nov 2019 11:02:36 +0000 (12:02 +0100)
commitc6a3aea93571a5393602256d8f74772bd64c8225
tree0127aba8dccc3ec1c187192b27064875fdb5ab69
parent6e9f879684b46331f51d0c76ebee981c788417db
PM / QoS: Redefine FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX

QOS requests for DEFAULT_VALUE are supposed to be ignored but this is
not the case for FREQ_QOS_MAX. Adding one request for MAX_DEFAULT_VALUE
and one for a real value will cause freq_qos_read_value to unexpectedly
return MAX_DEFAULT_VALUE (-1).

This happens because freq_qos max value is aggregated with PM_QOS_MIN
but FREQ_QOS_MAX_DEFAULT_VALUE is (-1) so it's smaller than other
values.

Fix this by redefining FREQ_QOS_MAX_DEFAULT_VALUE to S32_MAX.

Looking at current users for freq_qos it seems that none of them create
requests for FREQ_QOS_MAX_DEFAULT_VALUE.

Fixes: 77751a466ebd ("PM: QoS: Introduce frequency QoS")
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Reported-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Cc: 5.4+ <stable@vger.kernel.org> # 5.4+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
include/linux/pm_qos.h