OSDN Git Service

staging: ks7010: refactor ks_wlan_set_wap function
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Wed, 25 Apr 2018 14:01:49 +0000 (16:01 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Apr 2018 07:35:04 +0000 (09:35 +0200)
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.paracuellos@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ks7010/ks_wlan_net.c

index b4b38d8..f23838e 100644 (file)
@@ -316,18 +316,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 */