]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
mailbox: arm_mhuv2: clean up loop in get_irq_chan_comb()
authorDan Carpenter <dan.carpenter@linaro.org>
Thu, 14 Nov 2024 09:00:12 +0000 (12:00 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:51:04 +0000 (19:51 +0100)
[ Upstream commit 192a16a3430ca459c4e986f3d10758c4d6b1aa29 ]

Both the inner and outer loops in this code use the "i" iterator.
The inner loop should really use a different iterator.

It doesn't affect things in practice because the data comes from the
device tree.  The "protocol" and "windows" variables are going to be
zero.  That means we're always going to hit the "return &chans[channel];"
statement and we're not going to want to iterate through the outer
loop again.

Still it's worth fixing this for future use cases.

Fixes: 5a6338cce9f4 ("mailbox: arm_mhuv2: Add driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Jassi Brar <jassisinghbrar@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mailbox/arm_mhuv2.c

index 68f766621b9b5e0079647db4aa8bc7a0c4c80a64..9785b2f8ed62f065711eed14a5a441f3ff1fe2f6 100644 (file)
@@ -499,7 +499,7 @@ static const struct mhuv2_protocol_ops mhuv2_data_transfer_ops = {
 static struct mbox_chan *get_irq_chan_comb(struct mhuv2 *mhu, u32 __iomem *reg)
 {
        struct mbox_chan *chans = mhu->mbox.chans;
-       int channel = 0, i, offset = 0, windows, protocol, ch_wn;
+       int channel = 0, i, j, offset = 0, windows, protocol, ch_wn;
        u32 stat;
 
        for (i = 0; i < MHUV2_CMB_INT_ST_REG_CNT; i++) {
@@ -509,9 +509,9 @@ static struct mbox_chan *get_irq_chan_comb(struct mhuv2 *mhu, u32 __iomem *reg)
 
                ch_wn = i * MHUV2_STAT_BITS + __builtin_ctz(stat);
 
-               for (i = 0; i < mhu->length; i += 2) {
-                       protocol = mhu->protocols[i];
-                       windows = mhu->protocols[i + 1];
+               for (j = 0; j < mhu->length; j += 2) {
+                       protocol = mhu->protocols[j];
+                       windows = mhu->protocols[j + 1];
 
                        if (ch_wn >= offset + windows) {
                                if (protocol == DOORBELL)