staging: wilc1000: get mac address after setting drv handler
authorGlen Lee <glen.lee@atmel.com>
Thu, 4 Feb 2016 09:15:29 +0000 (18:15 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 8 Feb 2016 01:34:58 +0000 (17:34 -0800)
This patch moves wilc_get_mac_address and address memcpy function after
calling wilc_set_wif_drv_handler to get selected mac address.

Signed-off-by: Glen Lee <glen.lee@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/linux_wlan.c

index 2fafcc4..9de57ae 100644 (file)
@@ -1018,12 +1018,8 @@ int wilc_mac_open(struct net_device *ndev)
                return ret;
        }
 
-       wilc_get_mac_address(vif, mac_add);
-       PRINT_D(INIT_DBG, "Mac address: %pM\n", mac_add);
-
        for (i = 0; i < wl->vif_num; i++) {
                if (ndev == wl->vif[i]->ndev) {
-                       memcpy(wl->vif[i]->src_addr, mac_add, ETH_ALEN);
                        if (vif->iftype == AP_MODE) {
                                wilc_set_wfi_drv_handler(vif,
                                                         wilc_get_vif_idx(vif),
@@ -1044,6 +1040,11 @@ int wilc_mac_open(struct net_device *ndev)
                                                         1);
                        }
                        wilc_set_operation_mode(vif, vif->iftype);
+
+                       wilc_get_mac_address(vif, mac_add);
+                       netdev_dbg(ndev, "Mac address: %pM\n", mac_add);
+                       memcpy(wl->vif[i]->src_addr, mac_add, ETH_ALEN);
+
                        break;
                }
        }