net: marvell: mvpp2: Fix the computation of shared CPUs
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Mon, 29 Nov 2021 21:53:27 +0000 (22:53 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 30 Nov 2021 12:05:16 +0000 (12:05 +0000)
'bitmap_fill()' fills a bitmap one 'long' at a time.
It is likely that an exact number of bits is expected.

Use 'bitmap_set()' instead in order not to set unexpected bits.

Fixes: e531f76757eb ("net: mvpp2: handle cases where more CPUs are available than s/w threads")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

index ce486e1..6480696 100644 (file)
@@ -7458,7 +7458,7 @@ static int mvpp2_probe(struct platform_device *pdev)
 
        shared = num_present_cpus() - priv->nthreads;
        if (shared > 0)
-               bitmap_fill(&priv->lock_map,
+               bitmap_set(&priv->lock_map, 0,
                            min_t(int, shared, MVPP2_MAX_THREADS));
 
        for (i = 0; i < MVPP2_MAX_THREADS; i++) {