]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
net: mvpp2: fix interrupt mask/unmask skip condition
authorSasha Levin <sashal@kernel.org>
Wed, 31 Mar 2021 23:11:09 +0000 (19:11 -0400)
committerSeth Forshee <seth.forshee@canonical.com>
Thu, 8 Apr 2021 20:42:46 +0000 (15:42 -0500)
BugLink: https://bugs.launchpad.net/bugs/1923069
[ Upstream commit 7867299cde34e9c2d2c676f2a384a9d5853b914d ]

The condition should be skipped if CPU ID equal to nthreads.
The patch doesn't fix any actual issue since
nthreads = min_t(unsigned int, num_present_cpus(), MVPP2_MAX_THREADS).
On all current Armada platforms, the number of CPU's is
less than MVPP2_MAX_THREADS.

Fixes: e531f76757eb ("net: mvpp2: handle cases where more CPUs are available than s/w threads")
Reported-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Stefan Chulski <stefanc@marvell.com>
Reviewed-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

index 358119d98358200130bbe76d6507d1fe52a334a8..e6f9b5345b70b8771f35e6f52a1945d6e4722fa2 100644 (file)
@@ -1153,7 +1153,7 @@ static void mvpp2_interrupts_unmask(void *arg)
        u32 val;
 
        /* If the thread isn't used, don't do anything */
-       if (smp_processor_id() > port->priv->nthreads)
+       if (smp_processor_id() >= port->priv->nthreads)
                return;
 
        val = MVPP2_CAUSE_MISC_SUM_MASK |
@@ -2287,7 +2287,7 @@ static void mvpp2_txq_sent_counter_clear(void *arg)
        int queue;
 
        /* If the thread isn't used, don't do anything */
-       if (smp_processor_id() > port->priv->nthreads)
+       if (smp_processor_id() >= port->priv->nthreads)
                return;
 
        for (queue = 0; queue < port->ntxqs; queue++) {