drivers: qcom: rpmh: fix unwanted error check for get_tcs_of_type()
authorRaju P.L.S.S.S.N <rplsssn@codeaurora.org>
Fri, 13 Jul 2018 13:45:46 +0000 (19:15 +0530)
committerAndy Gross <andy.gross@linaro.org>
Sat, 21 Jul 2018 18:47:22 +0000 (13:47 -0500)
The patch fixes the bug reported by Dan Carpenter.
It removes the unnecessary err check for ‘tcs’ reported by
static checker warning:

drivers/soc/qcom/rpmh-rsc.c:111 tcs_invalidate()
warn: 'tcs' isn't an ERR_PTR
See also:
drivers/soc/qcom/rpmh-rsc.c:178 get_tcs_for_msg() warn: 'tcs' isn't
an ERR_PTR
drivers/soc/qcom/rpmh-rsc.c:180 get_tcs_for_msg() warn: 'tcs' isn't
an ERR_PTR

https://www.spinics.net/lists/linux-soc/msg04624.html

Fixes: 9a3afcf ("drivers: qcom: rpmh-rsc: allow invalidation
of sleep/wake TCS")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Raju P.L.S.S.S.N <rplsssn@codeaurora.org>
Reviewed-by: Lina Iyer <ilina@codeaurora.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
drivers/soc/qcom/rpmh-rsc.c

index 8d9da6e..ee75da6 100644 (file)
@@ -108,8 +108,6 @@ static int tcs_invalidate(struct rsc_drv *drv, int type)
        struct tcs_group *tcs;
 
        tcs = get_tcs_of_type(drv, type);
-       if (IS_ERR(tcs))
-               return PTR_ERR(tcs);
 
        spin_lock(&tcs->lock);
        if (bitmap_empty(tcs->slots, MAX_TCS_SLOTS)) {
@@ -175,9 +173,9 @@ static struct tcs_group *get_tcs_for_msg(struct rsc_drv *drv,
         * TCSes before making an active state request.
         */
        tcs = get_tcs_of_type(drv, type);
-       if (msg->state == RPMH_ACTIVE_ONLY_STATE && IS_ERR(tcs)) {
+       if (msg->state == RPMH_ACTIVE_ONLY_STATE && !tcs->num_tcs) {
                tcs = get_tcs_of_type(drv, WAKE_TCS);
-               if (!IS_ERR(tcs)) {
+               if (tcs->num_tcs) {
                        ret = rpmh_rsc_invalidate(drv);
                        if (ret)
                                return ERR_PTR(ret);