From 0fe665d42fd0844dbfb60f15b09d71fd0c409b00 Mon Sep 17 00:00:00 2001 From: Ioana Ciornei Date: Mon, 6 Jul 2020 17:55:54 +0300 Subject: [PATCH] dpaa2-eth: fix draining of S/G cache 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 Signed-off-by: Ioana Ciornei Signed-off-by: David S. Miller --- 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;