Showing error 1512

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


Source:

1789                 * Deadlock. Guaranteed. - Jean II
1790                 */
1791        }
1792
1793        /* Reset lock */
1794        self->rx_queue_lock = 0;
1795}
1796
1797#ifdef CONFIG_PROC_FS
1798struct irttp_iter_state {
1799        int id;
1800};
1801
1802static void *irttp_seq_start(struct seq_file *seq, loff_t *pos)
1803{
1804        struct irttp_iter_state *iter = seq->private;
1805        struct tsap_cb *self;
1806
1807        /* Protect our access to the tsap list */
1808        spin_lock_irq(&irttp->tsaps->hb_spinlock);
1809        iter->id = 0;
1810
1811        for (self = (struct tsap_cb *) hashbin_get_first(irttp->tsaps);
1812             self != NULL;
1813             self = (struct tsap_cb *) hashbin_get_next(irttp->tsaps)) {
1814                if (iter->id == *pos)
1815                        break;
1816                ++iter->id;
1817        }
1818
1819        return self;
1820}
1821
1822static void *irttp_seq_next(struct seq_file *seq, void *v, loff_t *pos)
1823{
1824        struct irttp_iter_state *iter = seq->private;
1825
1826        ++*pos;
1827        ++iter->id;
1828        return (void *) hashbin_get_next(irttp->tsaps);
1829}
Show full sources