staging: wilc1000: refactor wilc_wlan_set_bssid()
authorAjay Singh <ajay.kathat@microchip.com>
Thu, 17 Jan 2019 13:21:13 +0000 (13:21 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Jan 2019 09:39:15 +0000 (10:39 +0100)
Refactor code by making use of eth_zero_addr() to clear the mac address
value in wilc_wlan_set_bssid().

Signed-off-by: Ajay Singh <ajay.kathat@microchip.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/linux_wlan.c
drivers/staging/wilc1000/wilc_wfi_cfgoperations.c

index 721689048648e235925dd61b5d43beef5c4fbd4c..5b554c6d39a10dfbedd51fbb403df10079684b91 100644 (file)
@@ -198,7 +198,11 @@ void wilc_wlan_set_bssid(struct net_device *wilc_netdev, u8 *bssid, u8 mode)
 {
        struct wilc_vif *vif = netdev_priv(wilc_netdev);
 
-       memcpy(vif->bssid, bssid, 6);
+       if (bssid)
+               ether_addr_copy(vif->bssid, bssid);
+       else
+               eth_zero_addr(vif->bssid);
+
        vif->mode = mode;
 }
 
index ac47dda510e002656ccc706e19c247883cfeda7f..987e5ff0e44a069f15d5f261d28226cd635fd106 100644 (file)
@@ -390,7 +390,6 @@ static void cfg_connect_result(enum conn_event conn_disconn_evt,
        struct wilc_vif *vif = netdev_priv(dev);
        struct wilc *wl = vif->wilc;
        struct host_if_drv *wfi_drv = priv->hif_drv;
-       u8 null_bssid[ETH_ALEN] = {0};
 
        vif->connecting = false;
 
@@ -402,8 +401,7 @@ static void cfg_connect_result(enum conn_event conn_disconn_evt,
                if (mac_status == WILC_MAC_STATUS_DISCONNECTED &&
                    conn_info->status == WLAN_STATUS_SUCCESS) {
                        connect_status = WLAN_STATUS_UNSPECIFIED_FAILURE;
-                       wilc_wlan_set_bssid(priv->dev, null_bssid,
-                                           WILC_STATION_MODE);
+                       wilc_wlan_set_bssid(priv->dev, NULL, WILC_STATION_MODE);
 
                        if (!wfi_drv->p2p_connect)
                                wlan_channel = INVALID_CHANNEL;
@@ -445,7 +443,7 @@ static void cfg_connect_result(enum conn_event conn_disconn_evt,
                priv->p2p.recv_random = 0x00;
                priv->p2p.is_wilc_ie = false;
                eth_zero_addr(priv->associated_bss);
-               wilc_wlan_set_bssid(priv->dev, null_bssid, WILC_STATION_MODE);
+               wilc_wlan_set_bssid(priv->dev, NULL, WILC_STATION_MODE);
 
                if (!wfi_drv->p2p_connect)
                        wlan_channel = INVALID_CHANNEL;
@@ -720,13 +718,11 @@ static int connect(struct wiphy *wiphy, struct net_device *dev,
                                nw_info->ch,
                                nw_info->join_params);
        if (ret) {
-               u8 null_bssid[ETH_ALEN] = {0};
-
                netdev_err(dev, "wilc_set_join_req(): Error\n");
                ret = -ENOENT;
                if (!wfi_drv->p2p_connect)
                        wlan_channel = INVALID_CHANNEL;
-               wilc_wlan_set_bssid(dev, null_bssid, WILC_STATION_MODE);
+               wilc_wlan_set_bssid(dev, NULL, WILC_STATION_MODE);
                goto out_error;
        }
        return 0;
@@ -744,7 +740,6 @@ static int disconnect(struct wiphy *wiphy, struct net_device *dev,
        struct wilc *wilc = vif->wilc;
        struct host_if_drv *wfi_drv;
        int ret;
-       u8 null_bssid[ETH_ALEN] = {0};
 
        vif->connecting = false;
 
@@ -760,7 +755,7 @@ static int disconnect(struct wiphy *wiphy, struct net_device *dev,
        wfi_drv = (struct host_if_drv *)priv->hif_drv;
        if (!wfi_drv->p2p_connect)
                wlan_channel = INVALID_CHANNEL;
-       wilc_wlan_set_bssid(priv->dev, null_bssid, WILC_STATION_MODE);
+       wilc_wlan_set_bssid(priv->dev, NULL, WILC_STATION_MODE);
 
        priv->p2p.local_random = 0x01;
        priv->p2p.recv_random = 0x00;
@@ -1805,9 +1800,8 @@ static int stop_ap(struct wiphy *wiphy, struct net_device *dev)
        int ret;
        struct wilc_priv *priv = wiphy_priv(wiphy);
        struct wilc_vif *vif = netdev_priv(priv->dev);
-       u8 null_bssid[ETH_ALEN] = {0};
 
-       wilc_wlan_set_bssid(dev, null_bssid, WILC_AP_MODE);
+       wilc_wlan_set_bssid(dev, NULL, WILC_AP_MODE);
 
        ret = wilc_del_beacon(vif);