diff options
| -rw-r--r-- | kernel/rcutree_plugin.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h index 7f3244c0df01..b1b485111321 100644 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h | |||
| @@ -584,8 +584,11 @@ static int rcu_preempt_offline_tasks(struct rcu_state *rsp, | |||
| 584 | raw_spin_unlock(&rnp_root->lock); /* irqs still disabled */ | 584 | raw_spin_unlock(&rnp_root->lock); /* irqs still disabled */ |
| 585 | } | 585 | } |
| 586 | 586 | ||
| 587 | rnp->gp_tasks = NULL; | ||
| 588 | rnp->exp_tasks = NULL; | ||
| 587 | #ifdef CONFIG_RCU_BOOST | 589 | #ifdef CONFIG_RCU_BOOST |
| 588 | /* In case root is being boosted and leaf is not. */ | 590 | rnp->boost_tasks = NULL; |
| 591 | /* In case root is being boosted and leaf was not. */ | ||
| 589 | raw_spin_lock(&rnp_root->lock); /* irqs already disabled */ | 592 | raw_spin_lock(&rnp_root->lock); /* irqs already disabled */ |
| 590 | if (rnp_root->boost_tasks != NULL && | 593 | if (rnp_root->boost_tasks != NULL && |
| 591 | rnp_root->boost_tasks != rnp_root->gp_tasks) | 594 | rnp_root->boost_tasks != rnp_root->gp_tasks) |
| @@ -593,8 +596,6 @@ static int rcu_preempt_offline_tasks(struct rcu_state *rsp, | |||
| 593 | raw_spin_unlock(&rnp_root->lock); /* irqs still disabled */ | 596 | raw_spin_unlock(&rnp_root->lock); /* irqs still disabled */ |
| 594 | #endif /* #ifdef CONFIG_RCU_BOOST */ | 597 | #endif /* #ifdef CONFIG_RCU_BOOST */ |
| 595 | 598 | ||
| 596 | rnp->gp_tasks = NULL; | ||
| 597 | rnp->exp_tasks = NULL; | ||
| 598 | return retval; | 599 | return retval; |
| 599 | } | 600 | } |
| 600 | 601 | ||
