dpaa2-eth: fix draining of S/G cache
authorIoana Ciornei <ioana.ciornei@nxp.com>
Mon, 6 Jul 2020 14:55:54 +0000 (17:55 +0300)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Jul 2020 20:00:43 +0000 (13:00 -0700)
On link down, the draining of the S/G cache should be done on all
_possible_ CPUs not just the ones that are online in that moment.
Fix this by changing the iterator.

Fixes: d70446ee1f40 ("dpaa2-eth: send a scatter-gather FD instead of realloc-ing")
Reported-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c

index bc1f1e0..d0cc1dc 100644 (file)
@@ -1261,7 +1261,7 @@ static void dpaa2_eth_sgt_cache_drain(struct dpaa2_eth_priv *priv)
        u16 count;
        int k, i;
 
-       for_each_online_cpu(k) {
+       for_each_possible_cpu(k) {
                sgt_cache = per_cpu_ptr(priv->sgt_cache, k);
                count = sgt_cache->count;