summaryrefslogtreecommitdiffstats
path: root/drivers/ssb
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2009-09-05 11:18:47 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-09-08 22:31:08 +0200
commite6c463e3a3d067f5da2c79d5acdb2f626754cdb3 (patch)
treec469a4411d61f47b4b24387a9d3d87c68648ecd6 /drivers/ssb
parentb43: remove SHM spinlock (diff)
downloadlinux-e6c463e3a3d067f5da2c79d5acdb2f626754cdb3.tar.xz
linux-e6c463e3a3d067f5da2c79d5acdb2f626754cdb3.zip
ssb: Fail ssb modinit, if attach of the buses failed.
SSB modinit should not succeed, if busattach failed. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/ssb')
-rw-r--r--drivers/ssb/main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/ssb/main.c b/drivers/ssb/main.c
index 65a1ed951a1d..8d16cb258ccf 100644
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
@@ -1358,8 +1358,10 @@ static int __init ssb_modinit(void)
ssb_buses_lock();
err = ssb_attach_queued_buses();
ssb_buses_unlock();
- if (err)
+ if (err) {
bus_unregister(&ssb_bustype);
+ goto out;
+ }
err = b43_pci_ssb_bridge_init();
if (err) {
@@ -1375,7 +1377,7 @@ static int __init ssb_modinit(void)
/* don't fail SSB init because of this */
err = 0;
}
-
+out:
return err;
}
/* ssb must be initialized after PCI but before the ssb drivers.