staging: ks7010: refactor ks_wlan_set_sleep_mode function
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Fri, 4 May 2018 04:16:41 +0000 (06:16 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 May 2018 01:58:40 +0000 (18:58 -0700)
This commit refactors ks_wlan_set_sleep_mode function
avoiding to use switch-case statement ans using simple
if logic to handle invalid values first. This simplifies
data paths as well as improves readability.

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 a5401db..53288c8 100644 (file)
@@ -2028,22 +2028,20 @@ static int ks_wlan_set_sleep_mode(struct net_device *dev,
 {
        struct ks_wlan_private *priv = netdev_priv(dev);
 
-       if (*uwrq == SLP_SLEEP) {
-               priv->sleep_mode = *uwrq;
-               netdev_info(dev, "SET_SLEEP_MODE %d\n", priv->sleep_mode);
-
-               hostif_sme_enqueue(priv, SME_STOP_REQUEST);
-               hostif_sme_enqueue(priv, SME_SLEEP_REQUEST);
-
-       } else if (*uwrq == SLP_ACTIVE) {
-               priv->sleep_mode = *uwrq;
-               netdev_info(dev, "SET_SLEEP_MODE %d\n", priv->sleep_mode);
-               hostif_sme_enqueue(priv, SME_SLEEP_REQUEST);
-       } else {
+       if (*uwrq != SLP_SLEEP &&
+           *uwrq != SLP_ACTIVE) {
                netdev_err(dev, "SET_SLEEP_MODE %d error\n", *uwrq);
                return -EINVAL;
        }
 
+       priv->sleep_mode = *uwrq;
+       netdev_info(dev, "SET_SLEEP_MODE %d\n", priv->sleep_mode);
+
+       if (*uwrq == SLP_SLEEP)
+               hostif_sme_enqueue(priv, SME_STOP_REQUEST);
+
+       hostif_sme_enqueue(priv, SME_SLEEP_REQUEST);
+
        return 0;
 }