Skip to content

Commit 2327473

Browse files
cris-masudeep-holla
authored andcommitted
firmware: arm_scmi: Fix sorting of retrieved clock rates
During SCMI Clock protocol initialization, after having retrieved from the SCMI platform all the available discrete rates for a specific clock, the clock rates array is sorted, unfortunately using a pointer to its end as a base instead of its start, so that sorting does not work. Fix invocation of sort() passing as base a pointer to the start of the retrieved clock rates array. Link: https://lore.kernel.org/r/20220318092813.49283-1-cristian.marussi@arm.com Fixes: dccec73 ("firmware: arm_scmi: Keep the discrete clock rates sorted") Signed-off-by: Cristian Marussi <cristian.marussi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
1 parent 98f0d68 commit 2327473

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

drivers/firmware/arm_scmi/clock.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,8 @@ scmi_clock_describe_rates_get(const struct scmi_protocol_handle *ph, u32 clk_id,
210210

211211
if (rate_discrete && rate) {
212212
clk->list.num_rates = tot_rate_cnt;
213-
sort(rate, tot_rate_cnt, sizeof(*rate), rate_cmp_func, NULL);
213+
sort(clk->list.rates, tot_rate_cnt, sizeof(*rate),
214+
rate_cmp_func, NULL);
214215
}
215216

216217
clk->rate_discrete = rate_discrete;

0 commit comments

Comments
 (0)