]> rtime.felk.cvut.cz Git - hercules2020/nv-tegra/linux-4.4.git/blobdiff - drivers/net/wireless/bcmdhd/dhd_linux_platdev.c
net: wireless: bcmdhd: protect platform driver probe from IFUP
[hercules2020/nv-tegra/linux-4.4.git] / drivers / net / wireless / bcmdhd / dhd_linux_platdev.c
index 1e189e898cc150e6f0d264cc91e50668ab16920c..2acb94f40f222bd3c56ea0b16f28eac9663f51c8 100644 (file)
@@ -986,11 +986,15 @@ static int dhd_wifi_platform_load_usb(void)
        return 0;
 }
 
+/* net_if_lock lock protects platform driver probe from IFUP */
+DEFINE_MUTEX(net_if_lock);
+
 static int dhd_wifi_platform_load()
 {
        int err = 0;
 
-               wl_android_init();
+       mutex_lock(&net_if_lock);
+       wl_android_init();
 
        if ((err = dhd_wifi_platform_load_usb()))
                goto end;
@@ -1005,5 +1009,7 @@ end:
        else
                wl_android_post_init();
 
+       mutex_unlock(&net_if_lock);
+
        return err;
 }