Showing error 1233

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: arch/x86/kernel/smpboot.c
Line in file: 1415
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

1385        unsigned int i;
1386
1387        for (i = 0; i < 10; i++) {
1388                /* They ack this in play_dead by setting CPU_DEAD */
1389                if (per_cpu(cpu_state, cpu) == CPU_DEAD) {
1390                        printk(KERN_INFO "CPU %d is now offline\n", cpu);
1391                        if (1 == num_online_cpus())
1392                                alternatives_smp_switch(0);
1393                        return;
1394                }
1395                msleep(100);
1396        }
1397        printk(KERN_ERR "CPU %u didn't die...\n", cpu);
1398}
1399
1400void play_dead_common(void)
1401{
1402        idle_task_exit();
1403        reset_lazy_tlbstate();
1404        irq_ctx_exit(raw_smp_processor_id());
1405        c1e_remove_cpu(raw_smp_processor_id());
1406
1407        mb();
1408        /* Ack it */
1409        __get_cpu_var(cpu_state) = CPU_DEAD;
1410
1411        /*
1412         * With physical CPU hotplug, we should halt the cpu
1413         */
1414        local_irq_disable();
1415}
1416
1417void native_play_dead(void)
1418{
1419        play_dead_common();
1420        wbinvd_halt();
1421}
1422
1423#else /* ... !CONFIG_HOTPLUG_CPU */
1424int native_cpu_disable(void)
1425{
Show full sources