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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:08:18 +0000 (09:08 +0200)
[ Upstream commit fa1321b11bd01752f5be2415e74a0e1a7c378262 ]

'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
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/powerpc/sysdev/fsl_gtm.c

index d902306f47183274c214db7d801037c5417fa80e..42fe959f6fc285445cc459007f4c0940bd71459e 100644 (file)
@@ -90,7 +90,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) {
@@ -107,7 +107,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);
 }