Showing error 1581

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


Source:

 814        bus->bustype = SSB_BUSTYPE_PCMCIA;
 815        bus->host_pcmcia = pcmcia_dev;
 816        bus->ops = &ssb_pcmcia_ops;
 817
 818        err = ssb_bus_register(bus, ssb_pcmcia_get_invariants, baseaddr);
 819        if (!err) {
 820                ssb_printk(KERN_INFO PFX "Sonics Silicon Backplane found on "
 821                           "PCMCIA device %s\n", pcmcia_dev->devname);
 822        }
 823
 824        return err;
 825}
 826EXPORT_SYMBOL(ssb_bus_pcmciabus_register);
 827#endif /* CONFIG_SSB_PCMCIAHOST */
 828
 829int ssb_bus_ssbbus_register(struct ssb_bus *bus,
 830                            unsigned long baseaddr,
 831                            ssb_invariants_func_t get_invariants)
 832{
 833        int err;
 834
 835        bus->bustype = SSB_BUSTYPE_SSB;
 836        bus->ops = &ssb_ssb_ops;
 837
 838        err = ssb_bus_register(bus, get_invariants, baseaddr);
 839        if (!err) {
 840                ssb_printk(KERN_INFO PFX "Sonics Silicon Backplane found at "
 841                           "address 0x%08lX\n", baseaddr);
 842        }
 843
 844        return err;
 845}
 846
 847int __ssb_driver_register(struct ssb_driver *drv, struct module *owner)
 848{
 849        drv->drv.name = drv->name;
 850        drv->drv.bus = &ssb_bustype;
 851        drv->drv.owner = owner;
 852
 853        return driver_register(&drv->drv);
 854}
Show full sources