We should've kept sp->srcu_gp_seq_needed_exp the furthest. But
it probably fails because of the incorrect condition. Fix it.

Signed-off-by: Byungchul Park <byungchul.p...@lge.com>
---
 kernel/rcu/srcutree.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index d5cea81..44bc0fa 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -626,7 +626,7 @@ static void srcu_funnel_exp_start(struct srcu_struct *sp, 
struct srcu_node *snp,
                spin_unlock_irqrestore_rcu_node(snp, flags);
        }
        spin_lock_irqsave_rcu_node(sp, flags);
-       if (!ULONG_CMP_LT(sp->srcu_gp_seq_needed_exp, s))
+       if (ULONG_CMP_LT(sp->srcu_gp_seq_needed_exp, s))
                sp->srcu_gp_seq_needed_exp = s;
        spin_unlock_irqrestore_rcu_node(sp, flags);
 }
-- 
1.9.1

Reply via email to