Make use of ether_addr_copy instead of memcpy for copying
ethernet address data in ks_wlan_set_wap function and avoid
an 'else' just changing if logic to check invalid values first.

Signed-off-by: Sergio Paracuellos <sergio.paracuel...@gmail.com>
---
 drivers/staging/ks7010/ks_wlan_net.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/ks7010/ks_wlan_net.c 
b/drivers/staging/ks7010/ks_wlan_net.c
index 2fd5b50..690e5c0 100644
--- a/drivers/staging/ks7010/ks_wlan_net.c
+++ b/drivers/staging/ks7010/ks_wlan_net.c
@@ -313,18 +313,16 @@ static int ks_wlan_set_wap(struct net_device *dev, struct 
iw_request_info *info,
                return -EPERM;
 
        /* for SLEEP MODE */
-       if (priv->reg.operation_mode == MODE_ADHOC ||
-           priv->reg.operation_mode == MODE_INFRASTRUCTURE) {
-               memcpy(priv->reg.bssid, &awrq->ap_addr.sa_data, ETH_ALEN);
-
-               if (is_valid_ether_addr((u8 *)priv->reg.bssid))
-                       priv->need_commit |= SME_MODE_SET;
-
-       } else {
+       if (priv->reg.operation_mode != MODE_ADHOC &&
+           priv->reg.operation_mode != MODE_INFRASTRUCTURE) {
                eth_zero_addr(priv->reg.bssid);
                return -EOPNOTSUPP;
        }
 
+       ether_addr_copy(priv->reg.bssid, awrq->ap_addr.sa_data);
+       if (is_valid_ether_addr((u8 *)priv->reg.bssid))
+               priv->need_commit |= SME_MODE_SET;
+
        netdev_dbg(dev, "bssid = %pM\n", priv->reg.bssid);
 
        /* Write it to the card */
-- 
2.7.4

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to