Skip to content

Commit

Permalink
staging: ks7010: fix multi-way decision
Browse files Browse the repository at this point in the history
Multi-way decision contains two anomalies.

Firstly, a local variable is defined to be the inverse truth variable
of a struct member. This local variable is used as the conditional to
the multi-way decision. This is unnecessary, the same logic can be
expressed using the struct member directly.

Secondly, there are four branches in the multi-way decision, two of
which can never be executed. This is dead code.

Remove unnecessary local variable. Remove two branches of multi-way
decision statement that can never be executed.

Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Tobin C. Harding authored and Greg Kroah-Hartman committed Apr 11, 2017
1 parent 2ab6fd5 commit dc59ef2
Showing 1 changed file with 2 additions and 12 deletions.
14 changes: 2 additions & 12 deletions drivers/staging/ks7010/ks_wlan_net.c
Original file line number Diff line number Diff line change
Expand Up @@ -1199,27 +1199,17 @@ static int ks_wlan_set_power(struct net_device *dev,
{
struct ks_wlan_private *priv =
(struct ks_wlan_private *)netdev_priv(dev);
short enabled;

if (priv->sleep_mode == SLP_SLEEP)
return -EPERM;

/* for SLEEP MODE */
enabled = vwrq->disabled ? 0 : 1;
if (enabled == 0) { /* 0 */
if (vwrq->disabled) {
priv->reg.powermgt = POWMGT_ACTIVE_MODE;
} else if (enabled) { /* 1 */
} else {
if (priv->reg.operation_mode == MODE_INFRASTRUCTURE)
priv->reg.powermgt = POWMGT_SAVE1_MODE;
else
return -EINVAL;
} else if (enabled) { /* 2 */
if (priv->reg.operation_mode == MODE_INFRASTRUCTURE)
priv->reg.powermgt = POWMGT_SAVE2_MODE;
else
return -EINVAL;
} else {
return -EINVAL;
}

hostif_sme_enqueue(priv, SME_POW_MNGMT_REQUEST);
Expand Down

0 comments on commit dc59ef2

Please sign in to comment.