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: | 1380 |
Project: | Linux Kernel |
Project version: | 2.6.28 |
Tools: |
Stanse
(1.2)
|
Entered: | 2012-05-29 20:11:37 UTC |
1350 /* See the comment at the ssb_is_early_boot definition */ 1351 ssb_is_early_boot = 0; 1352 err = bus_register(&ssb_bustype); 1353 if (err) 1354 return err; 1355 1356 /* Maybe we already registered some buses at early boot. 1357 * Check for this and attach them 1358 */ 1359 ssb_buses_lock(); 1360 err = ssb_attach_queued_buses(); 1361 ssb_buses_unlock(); 1362 if (err) 1363 bus_unregister(&ssb_bustype); 1364 1365 err = b43_pci_ssb_bridge_init(); 1366 if (err) { 1367 ssb_printk(KERN_ERR "Broadcom 43xx PCI-SSB-bridge " 1368 "initialization failed\n"); 1369 /* don't fail SSB init because of this */ 1370 err = 0; 1371 } 1372 err = ssb_gige_init(); 1373 if (err) { 1374 ssb_printk(KERN_ERR "SSB Broadcom Gigabit Ethernet " 1375 "driver initialization failed\n"); 1376 /* don't fail SSB init because of this */ 1377 err = 0; 1378 } 1379 1380 return err; 1381} 1382/* ssb must be initialized after PCI but before the ssb drivers. 1383 * That means we must use some initcall between subsys_initcall 1384 * and device_initcall. */ 1385fs_initcall(ssb_modinit); 1386 1387static void __exit ssb_modexit(void) 1388{ 1389 ssb_gige_exit(); 1390 b43_pci_ssb_bridge_exit();