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 <k...@kernel.org>
Signed-off-by: Ioana Ciornei <ioana.cior...@nxp.com>
---
 drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c 
b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
index bc1f1e0117b6..d0cc1dc49aaa 100644
--- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
+++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
@@ -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;
 
-- 
2.25.1

Reply via email to