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.paracuel...@gmail.com>
---
 drivers/staging/ks7010/ks_wlan_net.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/drivers/staging/ks7010/ks_wlan_net.c 
b/drivers/staging/ks7010/ks_wlan_net.c
index a5401db..53288c8 100644
--- a/drivers/staging/ks7010/ks_wlan_net.c
+++ b/drivers/staging/ks7010/ks_wlan_net.c
@@ -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;
 }
 
-- 
2.7.4

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

Reply via email to