diff mbox series

[v1,2/2] drivers: soc: qcom: rpmh-rsc: Correct check for slot number

Message ID 20190221124036.30535-3-rplsssn@codeaurora.org (mailing list archive)
State New, archived
Headers show
Series drivers: qcom: Fixes in RPMh driver | expand

Commit Message

Raju P.L.S.S.S.N Feb. 21, 2019, 12:40 p.m. UTC
From: Maulik Shah <mkshah@codeaurora.org>

The return index value from bitmap_find_next_zero_area can be higher
than available slot. So correct the check to return error in such case.

Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
---
 drivers/soc/qcom/rpmh-rsc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lina Iyer Feb. 21, 2019, 3:24 p.m. UTC | #1
On Thu, Feb 21 2019 at 05:42 -0700, Raju P.L.S.S.S.N wrote:
>From: Maulik Shah <mkshah@codeaurora.org>
>
>The return index value from bitmap_find_next_zero_area can be higher
>than available slot. So correct the check to return error in such case.
>
>Signed-off-by: Maulik Shah <mkshah@codeaurora.org>
>Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
Reviewed-by: Lina Iyer <ilina@codeaurora.org>
>---
> drivers/soc/qcom/rpmh-rsc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c
>index 10b3102298c7..3ff3bebd4d71 100644
>--- a/drivers/soc/qcom/rpmh-rsc.c
>+++ b/drivers/soc/qcom/rpmh-rsc.c
>@@ -491,7 +491,7 @@ static int find_slots(struct tcs_group *tcs, const struct tcs_request *msg,
> 	do {
> 		slot = bitmap_find_next_zero_area(tcs->slots, MAX_TCS_SLOTS,
> 						  i, msg->num_cmds, 0);
>-		if (slot == tcs->num_tcs * tcs->ncpt)
>+		if (slot >= tcs->num_tcs * tcs->ncpt)
> 			return -ENOMEM;
> 		i += tcs->ncpt;
> 	} while (slot + msg->num_cmds - 1 >= i);
>--
>QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
>of the Code Aurora Forum, hosted by The Linux Foundation.
>
diff mbox series

Patch

diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c
index 10b3102298c7..3ff3bebd4d71 100644
--- a/drivers/soc/qcom/rpmh-rsc.c
+++ b/drivers/soc/qcom/rpmh-rsc.c
@@ -491,7 +491,7 @@  static int find_slots(struct tcs_group *tcs, const struct tcs_request *msg,
 	do {
 		slot = bitmap_find_next_zero_area(tcs->slots, MAX_TCS_SLOTS,
 						  i, msg->num_cmds, 0);
-		if (slot == tcs->num_tcs * tcs->ncpt)
+		if (slot >= tcs->num_tcs * tcs->ncpt)
 			return -ENOMEM;
 		i += tcs->ncpt;
 	} while (slot + msg->num_cmds - 1 >= i);