powerpc/sysdev: fix incorrect use to determine if list is empty
authorJakob Koschel <jakobkoschel@gmail.com>
Mon, 28 Feb 2022 14:24:33 +0000 (15:24 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 7 Mar 2022 13:04:56 +0000 (00:04 +1100)
'gtm' will *always* be set by list_for_each_entry().
It is incorrect to assume that the iterator value will be NULL if the
list is empty.

Instead of checking the pointer it should be checked if
the list is empty.

Fixes: 83ff9dcf375c ("powerpc/sysdev: implement FSL GTM support")
Signed-off-by: Jakob Koschel <jakobkoschel@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220228142434.576226-1-jakobkoschel@gmail.com
arch/powerpc/sysdev/fsl_gtm.c

index 8963eaf..39186ad 100644 (file)
@@ -86,7 +86,7 @@ static LIST_HEAD(gtms);
  */
 struct gtm_timer *gtm_get_timer16(void)
 {
-       struct gtm *gtm = NULL;
+       struct gtm *gtm;
        int i;
 
        list_for_each_entry(gtm, &gtms, list_node) {
@@ -103,7 +103,7 @@ struct gtm_timer *gtm_get_timer16(void)
                spin_unlock_irq(&gtm->lock);
        }
 
-       if (gtm)
+       if (!list_empty(&gtms))
                return ERR_PTR(-EBUSY);
        return ERR_PTR(-ENODEV);
 }