From: Ioana Ciornei <ioana.ciornei@nxp.com>
Date: Mon, 6 Jul 2020 14:55:54 +0000 (+0300)
Subject: dpaa2-eth: fix draining of S/G cache
X-Git-Tag: x86-urgent-2020-08-15~21^2~327
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0fe665d42fd0844dbfb60f15b09d71fd0c409b00;p=users%2Fdwmw2%2Flinux.git

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 <kuba@kernel.org>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
index bc1f1e0117b6e..d0cc1dc49aaa9 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;