wlcore/wl12xx/wl18xx: make NVS file optional for wl18xx
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / net / wireless / ti / wlcore / main.c
index 176a311..1156e3f 100644 (file)
@@ -715,7 +715,7 @@ out:
        return ret;
 }
 
-static int wl1271_fetch_nvs(struct wl1271 *wl)
+static void wl1271_fetch_nvs(struct wl1271 *wl)
 {
        const struct firmware *fw;
        int ret;
@@ -723,16 +723,15 @@ static int wl1271_fetch_nvs(struct wl1271 *wl)
        ret = request_firmware(&fw, WL12XX_NVS_NAME, wl->dev);
 
        if (ret < 0) {
-               wl1271_error("could not get nvs file %s: %d", WL12XX_NVS_NAME,
-                            ret);
-               return ret;
+               wl1271_debug(DEBUG_BOOT, "could not get nvs file %s: %d",
+                            WL12XX_NVS_NAME, ret);
+               return;
        }
 
        wl->nvs = kmemdup(fw->data, fw->size, GFP_KERNEL);
 
        if (!wl->nvs) {
                wl1271_error("could not allocate memory for the nvs file");
-               ret = -ENOMEM;
                goto out;
        }
 
@@ -740,8 +739,6 @@ static int wl1271_fetch_nvs(struct wl1271 *wl)
 
 out:
        release_firmware(fw);
-
-       return ret;
 }
 
 void wl12xx_queue_recovery_work(struct wl1271 *wl)
@@ -989,13 +986,6 @@ static int wl12xx_chip_wakeup(struct wl1271 *wl, bool plt)
        if (ret < 0)
                goto out;
 
-       /* No NVS from netlink, try to get it from the filesystem */
-       if (wl->nvs == NULL) {
-               ret = wl1271_fetch_nvs(wl);
-               if (ret < 0)
-                       goto out;
-       }
-
 out:
        return ret;
 }
@@ -4937,8 +4927,8 @@ static int wl1271_register_hw(struct wl1271 *wl)
        if (wl->mac80211_registered)
                return 0;
 
-       ret = wl1271_fetch_nvs(wl);
-       if (ret == 0) {
+       wl1271_fetch_nvs(wl);
+       if (wl->nvs != NULL) {
                /* NOTE: The wl->nvs->nvs element must be first, in
                 * order to simplify the casting, we assume it is at
                 * the beginning of the wl->nvs structure.