Showing error 1615

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: net/irda/irqueue.c
Line in file: 636
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-29 20:11:37 UTC


Source:

606                                }
607                        }
608                        entry = entry->q_next;
609                } while ( entry != hashbin->hb_queue[ bin ] );
610        }
611
612        /*
613         * If entry was found, dequeue it
614         */
615        if ( found ) {
616                dequeue_general( (irda_queue_t**) &hashbin->hb_queue[ bin ],
617                                 (irda_queue_t*) entry );
618                hashbin->hb_size--;
619
620                /*
621                 *  Check if this item is the currently selected item, and in
622                 *  that case we must reset hb_current
623                 */
624                if ( entry == hashbin->hb_current)
625                        hashbin->hb_current = NULL;
626        }
627
628        /* Release lock */
629        if ( hashbin->hb_type & HB_LOCK ) {
630                spin_unlock_irqrestore(&hashbin->hb_spinlock, flags);
631        } /* Default is no-lock  */
632
633
634        /* Return */
635        if ( found )
636                return entry;
637        else
638                return NULL;
639
640}
641EXPORT_SYMBOL(hashbin_remove);
642
643/*
644 *  Function hashbin_remove_this (hashbin, entry)
645 *
646 *    Remove entry with the given name
Show full sources