···784{785 struct xics_cppr *os_cppr = &__get_cpu_var(xics_cppr);786787- BUG_ON(os_cppr->index != 0);0000788789- os_cppr->stack[os_cppr->index] = cppr;790791 if (firmware_has_feature(FW_FEATURE_LPAR))792 lpar_cppr_info(cppr);···825826void xics_teardown_cpu(void)827{0828 int cpu = smp_processor_id();82900000830 xics_set_cpu_priority(0);831832 /* Clear any pending IPI request */
···784{785 struct xics_cppr *os_cppr = &__get_cpu_var(xics_cppr);786787+ /*788+ * we only really want to set the priority when there's789+ * just one cppr value on the stack790+ */791+ WARN_ON(os_cppr->index != 0);792793+ os_cppr->stack[0] = cppr;794795 if (firmware_has_feature(FW_FEATURE_LPAR))796 lpar_cppr_info(cppr);···821822void xics_teardown_cpu(void)823{824+ struct xics_cppr *os_cppr = &__get_cpu_var(xics_cppr);825 int cpu = smp_processor_id();826827+ /*828+ * we have to reset the cppr index to 0 because we're829+ * not going to return from the IPI830+ */831+ os_cppr->index = 0;832 xics_set_cpu_priority(0);833834 /* Clear any pending IPI request */