Showing error 1230

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/io_apic.c
Line in file: 1030
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-21 20:30:05 UTC


Source:

1000        }
1001
1002#ifdef CONFIG_X86_32
1003        /*
1004         * PCI IRQ command line redirection. Yes, limits are hardcoded.
1005         */
1006        if ((pin >= 16) && (pin <= 23)) {
1007                if (pirq_entries[pin-16] != -1) {
1008                        if (!pirq_entries[pin-16]) {
1009                                apic_printk(APIC_VERBOSE, KERN_DEBUG
1010                                                "disabling PIRQ%d\n", pin-16);
1011                        } else {
1012                                irq = pirq_entries[pin-16];
1013                                apic_printk(APIC_VERBOSE, KERN_DEBUG
1014                                                "using PIRQ%d -> IRQ %d\n",
1015                                                pin-16, irq);
1016                        }
1017                }
1018        }
1019#endif
1020
1021        return irq;
1022}
1023
1024void lock_vector_lock(void)
1025{
1026        /* Used to the online set of cpus does not change
1027         * during assign_irq_vector.
1028         */
1029        spin_lock(&vector_lock);
1030}
1031
1032void unlock_vector_lock(void)
1033{
1034        spin_unlock(&vector_lock);
1035}
1036
1037static int __assign_irq_vector(int irq, cpumask_t mask)
1038{
1039        /*
1040         * NOTE! The local APIC isn't very good at handling
Show full sources