oxnas: sata_oxnas: use ata_link_err
[openwrt/staging/ldir.git] / target / linux / ipq806x / patches-5.15 / 122-01-clk-qcom-clk-krait-fix-wrong-div2-functions.patch
1 From 2acc3260050cf17d72ec5fb7a00cd91cf53ef5b6 Mon Sep 17 00:00:00 2001
2 From: Christian Marangi <ansuelsmth@gmail.com>
3 Date: Fri, 23 Sep 2022 18:42:29 +0200
4 Subject: [PATCH 1/4] clk: qcom: clk-krait: fix wrong div2 functions
5
6 Currently div2 value is applied to the wrong bits. This is caused by a
7 bug in the code where the shift is done only for lpl, for anything
8 else the mask is not shifted to the correct bits.
9
10 Fix this by correctly shift if lpl is not supported.
11
12 Fixes: 4d7dc77babfe ("clk: qcom: Add support for Krait clocks")
13 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
14 ---
15 drivers/clk/qcom/clk-krait.c | 2 ++
16 1 file changed, 2 insertions(+)
17
18 --- a/drivers/clk/qcom/clk-krait.c
19 +++ b/drivers/clk/qcom/clk-krait.c
20 @@ -114,6 +114,8 @@ static int krait_div2_set_rate(struct cl
21
22 if (d->lpl)
23 mask = mask << (d->shift + LPL_SHIFT) | mask << d->shift;
24 + else
25 + mask <<= d->shift;
26
27 spin_lock_irqsave(&krait_clock_reg_lock, flags);
28 val = krait_get_l2_indirect_reg(d->offset);